diff options
| author | Jeff Garzik <jeff@garzik.org> | 2006-05-02 14:33:57 -0400 | 
|---|---|---|
| committer | Jeff Garzik <jeff@garzik.org> | 2006-05-02 14:33:57 -0400 | 
| commit | 1fb5fef9b80d9a3b5368e22031627afd1585487b (patch) | |
| tree | 54f07a532b5b2622b8642156bbcaeca637fcdb8f | |
| parent | 1a2e8a6f8ec0a068911a882a19e0912a0c89be6e (diff) | |
| parent | 330ab71619bacc4d4494227a6cfc9b7f5500403d (diff) | |
Merge branch 'master' into upstream
364 files changed, 7508 insertions, 5609 deletions
diff --git a/Documentation/HOWTO b/Documentation/HOWTO index 6c9e746267da..915ae8c986c6 100644 --- a/Documentation/HOWTO +++ b/Documentation/HOWTO  | |||
| @@ -603,7 +603,8 @@ start exactly where you are now. | |||
| 603 | 603 | ||
| 604 | 604 | ||
| 605 | ---------- | 605 | ---------- | 
| 606 | Thanks to Paolo Ciarrocchi who allowed the "Development Process" section | 606 | Thanks to Paolo Ciarrocchi who allowed the "Development Process" | 
| 607 | (http://linux.tar.bz/articles/2.6-development_process) section | ||
| 607 | to be based on text he had written, and to Randy Dunlap and Gerrit | 608 | 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 | 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 | Also thanks to Pat Mochel, Hanna Linder, Randy Dunlap, Kay Sievers, | 
diff --git a/Documentation/pci.txt b/Documentation/pci.txt index 711210b38f5f..66bbbf1d1ef6 100644 --- a/Documentation/pci.txt +++ b/Documentation/pci.txt  | |||
| @@ -259,7 +259,17 @@ on the bus need to be capable of doing it, so this is something which needs | |||
| 259 | to be handled by platform and generic code, not individual drivers. | 259 | to be handled by platform and generic code, not individual drivers. | 
| 260 | 260 | ||
| 261 | 261 | ||
| 262 | 8. Obsolete functions | 262 | 8. Vendor and device identifications | 
| 263 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
| 264 | For the future, let's avoid adding device ids to include/linux/pci_ids.h. | ||
| 265 | |||
| 266 | PCI_VENDOR_ID_xxx for vendors, and a hex constant for device ids. | ||
| 267 | |||
| 268 | Rationale: PCI_VENDOR_ID_xxx constants are re-used, but device ids are not. | ||
| 269 | Further, device ids are arbitrary hex numbers, normally used only in a | ||
| 270 | single location, the pci_device_id table. | ||
| 271 | |||
| 272 | 9. Obsolete functions | ||
| 263 | ~~~~~~~~~~~~~~~~~~~~~ | 273 | ~~~~~~~~~~~~~~~~~~~~~ | 
| 264 | There are several functions which you might come across when trying to | 274 | There are several functions which you might come across when trying to | 
| 265 | port an old driver to the new PCI interface. They are no longer present | 275 | port an old driver to the new PCI interface. They are no longer present | 
diff --git a/Documentation/power/video.txt b/Documentation/power/video.txt index d18a57d1a531..43a889f8f08d 100644 --- a/Documentation/power/video.txt +++ b/Documentation/power/video.txt  | |||
| @@ -140,7 +140,7 @@ IBM TP T41p s3_bios (2), switch to X after resume | |||
| 140 | IBM TP T42 s3_bios (2) | 140 | IBM TP T42 s3_bios (2) | 
| 141 | IBM ThinkPad T42p (2373-GTG) s3_bios (2) | 141 | IBM ThinkPad T42p (2373-GTG) s3_bios (2) | 
| 142 | IBM TP X20 ??? (*) | 142 | IBM TP X20 ??? (*) | 
| 143 | IBM TP X30 s3_bios (2) | 143 | IBM TP X30 s3_bios, s3_mode (4) | 
| 144 | IBM TP X31 / Type 2672-XXH none (1), use radeontool (http://fdd.com/software/radeon/) to turn off backlight. | 144 | IBM TP X31 / Type 2672-XXH none (1), use radeontool (http://fdd.com/software/radeon/) to turn off backlight. | 
| 145 | IBM TP X32 none (1), but backlight is on and video is trashed after long suspend. s3_bios,s3_mode (4) works too. Perhaps that gets better results? | 145 | IBM TP X32 none (1), but backlight is on and video is trashed after long suspend. s3_bios,s3_mode (4) works too. Perhaps that gets better results? | 
| 146 | IBM Thinkpad X40 Type 2371-7JG s3_bios,s3_mode (4) | 146 | IBM Thinkpad X40 Type 2371-7JG s3_bios,s3_mode (4) | 
diff --git a/Documentation/sound/alsa/Audiophile-Usb.txt b/Documentation/sound/alsa/Audiophile-Usb.txt index 4692c8e77dc1..b535c2a198f8 100644 --- a/Documentation/sound/alsa/Audiophile-Usb.txt +++ b/Documentation/sound/alsa/Audiophile-Usb.txt  | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | Guide to using M-Audio Audiophile USB with ALSA and Jack v1.2 | 1 | Guide to using M-Audio Audiophile USB with ALSA and Jack v1.3 | 
| 2 | ======================================================== | 2 | ======================================================== | 
| 3 | 3 | ||
| 4 | Thibault Le Meur <Thibault.LeMeur@supelec.fr> | 4 | Thibault Le Meur <Thibault.LeMeur@supelec.fr> | 
| @@ -22,16 +22,16 @@ The device has 4 audio interfaces, and 2 MIDI ports: | |||
| 22 | * Midi In (Mi) | 22 | * Midi In (Mi) | 
| 23 | * Midi Out (Mo) | 23 | * Midi Out (Mo) | 
| 24 | 24 | ||
| 25 | The internal DAC/ADC has the following caracteristics: | 25 | The internal DAC/ADC has the following characteristics: | 
| 26 | * sample depth of 16 or 24 bits | 26 | * sample depth of 16 or 24 bits | 
| 27 | * sample rate from 8kHz to 96kHz | 27 | * sample rate from 8kHz to 96kHz | 
| 28 | * Two ports can't use different sample depths at the same time.Moreover, the | 28 | * Two ports can't use different sample depths at the same time. Moreover, the | 
| 29 | Audiophile USB documentation gives the following Warning: "Please exit any | 29 | Audiophile USB documentation gives the following Warning: "Please exit any | 
| 30 | audio application running before switching between bit depths" | 30 | audio application running before switching between bit depths" | 
| 31 | 31 | ||
| 32 | Due to the USB 1.1 bandwidth limitation, a limited number of interfaces can be | 32 | Due to the USB 1.1 bandwidth limitation, a limited number of interfaces can be | 
| 33 | activated at the same time depending on the audio mode selected: | 33 | activated at the same time depending on the audio mode selected: | 
| 34 | * 16-bit/48kHz ==> 4 channels in/ 4 channels out | 34 | * 16-bit/48kHz ==> 4 channels in/4 channels out | 
| 35 | - Ai+Ao+Di+Do | 35 | - Ai+Ao+Di+Do | 
| 36 | * 24-bit/48kHz ==> 4 channels in/2 channels out, | 36 | * 24-bit/48kHz ==> 4 channels in/2 channels out, | 
| 37 | or 2 channels in/4 channels out | 37 | or 2 channels in/4 channels out | 
| @@ -41,8 +41,8 @@ activated at the same time depending on the audio mode selected: | |||
| 41 | 41 | ||
| 42 | Important facts about the Digital interface: | 42 | Important facts about the Digital interface: | 
| 43 | -------------------------------------------- | 43 | -------------------------------------------- | 
| 44 | * The Do port additionnaly supports surround-encoded AC-3 and DTS passthrough, | 44 | * The Do port additionally supports surround-encoded AC-3 and DTS passthrough, | 
| 45 | though I haven't tested it under linux | 45 | though I haven't tested it under Linux | 
| 46 | - Note that in this setup only the Do interface can be enabled | 46 | - Note that in this setup only the Do interface can be enabled | 
| 47 | * Apart from recording an audio digital stream, enabling the Di port is a way | 47 | * Apart from recording an audio digital stream, enabling the Di port is a way | 
| 48 | to synchronize the device to an external sample clock | 48 | to synchronize the device to an external sample clock | 
| @@ -60,24 +60,23 @@ synchronization error (for instance sound played at an odd sample rate) | |||
| 60 | The Audiophile USB MIDI ports will be automatically supported once the | 60 | The Audiophile USB MIDI ports will be automatically supported once the | 
| 61 | following modules have been loaded: | 61 | following modules have been loaded: | 
| 62 | * snd-usb-audio | 62 | * snd-usb-audio | 
| 63 | * snd-seq | ||
| 64 | * snd-seq-midi | 63 | * snd-seq-midi | 
| 65 | 64 | ||
| 66 | No additionnal setting is required. | 65 | No additional setting is required. | 
| 67 | 66 | ||
| 68 | 2.2 - Audio ports | 67 | 2.2 - Audio ports | 
| 69 | ----------------- | 68 | ----------------- | 
| 70 | 69 | ||
| 71 | Audio functions of the Audiophile USB device are handled by the snd-usb-audio | 70 | Audio functions of the Audiophile USB device are handled by the snd-usb-audio | 
| 72 | module. This module can work in a default mode (without any device-specific | 71 | module. This module can work in a default mode (without any device-specific | 
| 73 | parameter), or in an advanced mode with the device-specific parameter called | 72 | parameter), or in an "advanced" mode with the device-specific parameter called | 
| 74 | "device_setup". | 73 | "device_setup". | 
| 75 | 74 | ||
| 76 | 2.2.1 - Default Alsa driver mode | 75 | 2.2.1 - Default Alsa driver mode | 
| 77 | 76 | ||
| 78 | The default behaviour of the snd-usb-audio driver is to parse the device | 77 | The default behavior of the snd-usb-audio driver is to parse the device | 
| 79 | capabilities at startup and enable all functions inside the device (including | 78 | capabilities at startup and enable all functions inside the device (including | 
| 80 | all ports at any sample rates and any sample depths supported). This approach | 79 | all ports at any supported sample rates and sample depths). This approach | 
| 81 | has the advantage to let the driver easily switch from sample rates/depths | 80 | has the advantage to let the driver easily switch from sample rates/depths | 
| 82 | automatically according to the need of the application claiming the device. | 81 | automatically according to the need of the application claiming the device. | 
| 83 | 82 | ||
| @@ -114,9 +113,9 @@ gain). | |||
| 114 | For people having this problem, the snd-usb-audio module has a new module | 113 | For people having this problem, the snd-usb-audio module has a new module | 
| 115 | parameter called "device_setup". | 114 | parameter called "device_setup". | 
| 116 | 115 | ||
| 117 | 2.2.2.1 - Initializing the working mode of the Audiohile USB | 116 | 2.2.2.1 - Initializing the working mode of the Audiophile USB | 
| 118 | 117 | ||
| 119 | As far as the Audiohile USB device is concerned, this value let the user | 118 | As far as the Audiophile USB device is concerned, this value let the user | 
| 120 | specify: | 119 | specify: | 
| 121 | * the sample depth | 120 | * the sample depth | 
| 122 | * the sample rate | 121 | * the sample rate | 
| @@ -174,20 +173,20 @@ The parameter can be given: | |||
| 174 | 173 | ||
| 175 | IMPORTANT NOTE WHEN SWITCHING CONFIGURATION: | 174 | IMPORTANT NOTE WHEN SWITCHING CONFIGURATION: | 
| 176 | ------------------------------------------- | 175 | ------------------------------------------- | 
| 177 | * You may need to _first_ intialize the module with the correct device_setup | 176 | * You may need to _first_ initialize the module with the correct device_setup | 
| 178 | parameter and _only_after_ turn on the Audiophile USB device | 177 | parameter and _only_after_ turn on the Audiophile USB device | 
| 179 | * This is especially true when switching the sample depth: | 178 | * This is especially true when switching the sample depth: | 
| 180 | - first trun off the device | 179 | - first turn off the device | 
| 181 | - de-register the snd-usb-audio module | 180 | - de-register the snd-usb-audio module (modprobe -r) | 
| 182 | - change the device_setup parameter (by either manually reprobing the module | 181 | - change the device_setup parameter by changing the device_setup | 
| 183 | or changing modprobe.conf) | 182 | option in /etc/modprobe.conf | 
| 184 | - turn on the device | 183 | - turn on the device | 
| 185 | 184 | ||
| 186 | 2.2.2.3 - Audiophile USB's device_setup structure | 185 | 2.2.2.3 - Audiophile USB's device_setup structure | 
| 187 | 186 | ||
| 188 | If you want to understand the device_setup magic numbers for the Audiophile | 187 | If you want to understand the device_setup magic numbers for the Audiophile | 
| 189 | USB, you need some very basic understanding of binary computation. However, | 188 | USB, you need some very basic understanding of binary computation. However, | 
| 190 | this is not required to use the parameter and you may skip thi section. | 189 | this is not required to use the parameter and you may skip this section. | 
| 191 | 190 | ||
| 192 | The device_setup is one byte long and its structure is the following: | 191 | The device_setup is one byte long and its structure is the following: | 
| 193 | 192 | ||
| @@ -231,11 +230,11 @@ Caution: | |||
| 231 | 230 | ||
| 232 | 2.2.3 - USB implementation details for this device | 231 | 2.2.3 - USB implementation details for this device | 
| 233 | 232 | ||
| 234 | You may safely skip this section if you're not interrested in driver | 233 | You may safely skip this section if you're not interested in driver | 
| 235 | development. | 234 | development. | 
| 236 | 235 | ||
| 237 | This section describes some internals aspect of the device and summarize the | 236 | This section describes some internal aspects of the device and summarize the | 
| 238 | data I got by usb-snooping the windows and linux drivers. | 237 | data I got by usb-snooping the windows and Linux drivers. | 
| 239 | 238 | ||
| 240 | The M-Audio Audiophile USB has 7 USB Interfaces: | 239 | The M-Audio Audiophile USB has 7 USB Interfaces: | 
| 241 | a "USB interface": | 240 | a "USB interface": | 
| @@ -277,9 +276,9 @@ Here is a short description of the AltSettings capabilities: | |||
| 277 | - 16-bit depth, 8-48kHz sample mode | 276 | - 16-bit depth, 8-48kHz sample mode | 
| 278 | - Synch playback (Do), audio format type III IEC1937_AC-3 | 277 | - Synch playback (Do), audio format type III IEC1937_AC-3 | 
| 279 | 278 | ||
| 280 | In order to ensure a correct intialization of the device, the driver | 279 | In order to ensure a correct initialization of the device, the driver | 
| 281 | _must_know_ how the device will be used: | 280 | _must_know_ how the device will be used: | 
| 282 | * if DTS is choosen, only Interface 2 with AltSet nb.6 must be | 281 | * if DTS is chosen, only Interface 2 with AltSet nb.6 must be | 
| 283 | registered | 282 | registered | 
| 284 | * if 96KHz only AltSets nb.1 of each interface must be selected | 283 | * if 96KHz only AltSets nb.1 of each interface must be selected | 
| 285 | * if samples are using 24bits/48KHz then AltSet 2 must me used if | 284 | * if samples are using 24bits/48KHz then AltSet 2 must me used if | 
| @@ -290,7 +289,7 @@ _must_know_ how the device will be used: | |||
| 290 | is not connected | 289 | is not connected | 
| 291 | 290 | ||
| 292 | When device_setup is given as a parameter to the snd-usb-audio module, the | 291 | When device_setup is given as a parameter to the snd-usb-audio module, the | 
| 293 | parse_audio_enpoint function uses a quirk called | 292 | parse_audio_endpoints function uses a quirk called | 
| 294 | "audiophile_skip_setting_quirk" in order to prevent AltSettings not | 293 | "audiophile_skip_setting_quirk" in order to prevent AltSettings not | 
| 295 | corresponding to device_setup from being registered in the driver. | 294 | corresponding to device_setup from being registered in the driver. | 
| 296 | 295 | ||
| @@ -317,9 +316,8 @@ However you may see the following warning message: | |||
| 317 | using the "default" ALSA device. This is less efficient than it could be. | 316 | using the "default" ALSA device. This is less efficient than it could be. | 
| 318 | Consider using a hardware device instead rather than using the plug layer." | 317 | Consider using a hardware device instead rather than using the plug layer." | 
| 319 | 318 | ||
| 320 | |||
| 321 | 3.2 - Patching alsa to use direct pcm device | 319 | 3.2 - Patching alsa to use direct pcm device | 
| 322 | ------------------------------------------- | 320 | -------------------------------------------- | 
| 323 | A patch for Jack by Andreas Steinmetz adds support for Big Endian devices. | 321 | A patch for Jack by Andreas Steinmetz adds support for Big Endian devices. | 
| 324 | However it has not been included in the CVS tree. | 322 | However it has not been included in the CVS tree. | 
| 325 | 323 | ||
| @@ -331,3 +329,32 @@ After having applied the patch you can run jackd with the following command | |||
| 331 | line: | 329 | line: | 
| 332 | % jackd -R -dalsa -Phw:1,0 -r48000 -p128 -n2 -D -Chw:1,1 | 330 | % jackd -R -dalsa -Phw:1,0 -r48000 -p128 -n2 -D -Chw:1,1 | 
| 333 | 331 | ||
| 332 | 3.2 - Getting 2 input and/or output interfaces in Jack | ||
| 333 | ------------------------------------------------------ | ||
| 334 | |||
| 335 | As you can see, starting the Jack server this way will only enable 1 stereo | ||
| 336 | input (Di or Ai) and 1 stereo output (Ao or Do). | ||
| 337 | |||
| 338 | This is due to the following restrictions: | ||
| 339 | * Jack can only open one capture device and one playback device at a time | ||
| 340 | * The Audiophile USB is seen as 2 (or three) Alsa devices: hw:1,0, hw:1,1 | ||
| 341 | (and optionally hw:1,2) | ||
| 342 | If you want to get Ai+Di and/or Ao+Do support with Jack, you would need to | ||
| 343 | combine the Alsa devices into one logical "complex" device. | ||
| 344 | |||
| 345 | If you want to give it a try, I recommend reading the information from | ||
| 346 | this page: http://www.sound-man.co.uk/linuxaudio/ice1712multi.html | ||
| 347 | It is related to another device (ice1712) but can be adapted to suit | ||
| 348 | the Audiophile USB. | ||
| 349 | |||
| 350 | Enabling multiple Audiophile USB interfaces for Jackd will certainly require: | ||
| 351 | * patching Jack with the previously mentioned "Big Endian" patch | ||
| 352 | * patching Jackd with the MMAP_COMPLEX patch (see the ice1712 page) | ||
| 353 | * patching the alsa-lib/src/pcm/pcm_multi.c file (see the ice1712 page) | ||
| 354 | * define a multi device (combination of hw:1,0 and hw:1,1) in your .asoundrc | ||
| 355 | file | ||
| 356 | * start jackd with this device | ||
| 357 | |||
| 358 | I had no success in testing this for now, but this may be due to my OS | ||
| 359 | configuration. If you have any success with this kind of setup, please | ||
| 360 | drop me an email. | ||
diff --git a/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl b/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl index 68eeebc17ff4..1faf76383bab 100644 --- a/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl +++ b/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl  | |||
| @@ -1172,7 +1172,7 @@ | |||
| 1172 | } | 1172 | } | 
| 1173 | 1173 | ||
| 1174 | /* PCI IDs */ | 1174 | /* PCI IDs */ | 
| 1175 | static struct pci_device_id snd_mychip_ids[] = { | 1175 | static struct pci_device_id snd_mychip_ids[] __devinitdata = { | 
| 1176 | { PCI_VENDOR_ID_FOO, PCI_DEVICE_ID_BAR, | 1176 | { PCI_VENDOR_ID_FOO, PCI_DEVICE_ID_BAR, | 
| 1177 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, | 1177 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, | 
| 1178 | .... | 1178 | .... | 
| @@ -1565,7 +1565,7 @@ | |||
| 1565 | <informalexample> | 1565 | <informalexample> | 
| 1566 | <programlisting> | 1566 | <programlisting> | 
| 1567 | <![CDATA[ | 1567 | <![CDATA[ | 
| 1568 | static struct pci_device_id snd_mychip_ids[] = { | 1568 | static struct pci_device_id snd_mychip_ids[] __devinitdata = { | 
| 1569 | { PCI_VENDOR_ID_FOO, PCI_DEVICE_ID_BAR, | 1569 | { PCI_VENDOR_ID_FOO, PCI_DEVICE_ID_BAR, | 
| 1570 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, | 1570 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, | 
| 1571 | .... | 1571 | .... | 
diff --git a/arch/i386/Kconfig b/arch/i386/Kconfig index 18ec9fe6deb6..c6fe99e57a05 100644 --- a/arch/i386/Kconfig +++ b/arch/i386/Kconfig  | |||
| @@ -467,7 +467,7 @@ endchoice | |||
| 467 | 467 | ||
| 468 | choice | 468 | choice | 
| 469 | depends on EXPERIMENTAL && !X86_PAE | 469 | depends on EXPERIMENTAL && !X86_PAE | 
| 470 | prompt "Memory split" | 470 | prompt "Memory split" if EMBEDDED | 
| 471 | default VMSPLIT_3G | 471 | default VMSPLIT_3G | 
| 472 | help | 472 | help | 
| 473 | Select the desired split between kernel and user memory. | 473 | Select the desired split between kernel and user memory. | 
| @@ -756,7 +756,7 @@ config PHYSICAL_START | |||
| 756 | 756 | ||
| 757 | config HOTPLUG_CPU | 757 | config HOTPLUG_CPU | 
| 758 | bool "Support for hot-pluggable CPUs (EXPERIMENTAL)" | 758 | bool "Support for hot-pluggable CPUs (EXPERIMENTAL)" | 
| 759 | depends on SMP && HOTPLUG && EXPERIMENTAL && !X86_VOYAGER && !X86_PC | 759 | depends on SMP && HOTPLUG && EXPERIMENTAL && !X86_VOYAGER | 
| 760 | ---help--- | 760 | ---help--- | 
| 761 | Say Y here to experiment with turning CPUs off and on. CPUs | 761 | Say Y here to experiment with turning CPUs off and on. CPUs | 
| 762 | can be controlled through /sys/devices/system/cpu. | 762 | can be controlled through /sys/devices/system/cpu. | 
diff --git a/arch/i386/kernel/acpi/boot.c b/arch/i386/kernel/acpi/boot.c index 049a25583793..4c785a67d585 100644 --- a/arch/i386/kernel/acpi/boot.c +++ b/arch/i386/kernel/acpi/boot.c  | |||
| @@ -215,7 +215,7 @@ static int __init acpi_parse_madt(unsigned long phys_addr, unsigned long size) | |||
| 215 | { | 215 | { | 
| 216 | struct acpi_table_madt *madt = NULL; | 216 | struct acpi_table_madt *madt = NULL; | 
| 217 | 217 | ||
| 218 | if (!phys_addr || !size || !cpu_has_apic) | 218 | if (!phys_addr || !size) | 
| 219 | return -EINVAL; | 219 | return -EINVAL; | 
| 220 | 220 | ||
| 221 | madt = (struct acpi_table_madt *)__acpi_map_table(phys_addr, size); | 221 | madt = (struct acpi_table_madt *)__acpi_map_table(phys_addr, size); | 
| @@ -1151,6 +1151,9 @@ int __init acpi_boot_init(void) | |||
| 1151 | 1151 | ||
| 1152 | acpi_table_parse(ACPI_BOOT, acpi_parse_sbf); | 1152 | acpi_table_parse(ACPI_BOOT, acpi_parse_sbf); | 
| 1153 | 1153 | ||
| 1154 | if (!cpu_has_apic) | ||
| 1155 | return -ENODEV; | ||
| 1156 | |||
| 1154 | /* | 1157 | /* | 
| 1155 | * set sci_int and PM timer address | 1158 | * set sci_int and PM timer address | 
| 1156 | */ | 1159 | */ | 
diff --git a/arch/i386/kernel/apic.c b/arch/i386/kernel/apic.c index 254cee9f0b7b..013b85df18c6 100644 --- a/arch/i386/kernel/apic.c +++ b/arch/i386/kernel/apic.c  | |||
| @@ -757,10 +757,6 @@ static int __init apic_set_verbosity(char *str) | |||
| 757 | apic_verbosity = APIC_DEBUG; | 757 | apic_verbosity = APIC_DEBUG; | 
| 758 | else if (strcmp("verbose", str) == 0) | 758 | else if (strcmp("verbose", str) == 0) | 
| 759 | apic_verbosity = APIC_VERBOSE; | 759 | apic_verbosity = APIC_VERBOSE; | 
| 760 | else | ||
| 761 | printk(KERN_WARNING "APIC Verbosity level %s not recognised" | ||
| 762 | " use apic=verbose or apic=debug\n", str); | ||
| 763 | |||
| 764 | return 1; | 760 | return 1; | 
| 765 | } | 761 | } | 
| 766 | 762 | ||
diff --git a/arch/i386/kernel/kprobes.c b/arch/i386/kernel/kprobes.c index 043f5292e70a..38806f427849 100644 --- a/arch/i386/kernel/kprobes.c +++ b/arch/i386/kernel/kprobes.c  | |||
| @@ -242,10 +242,6 @@ static int __kprobes kprobe_handler(struct pt_regs *regs) | |||
| 242 | kcb->kprobe_status = KPROBE_REENTER; | 242 | kcb->kprobe_status = KPROBE_REENTER; | 
| 243 | return 1; | 243 | return 1; | 
| 244 | } else { | 244 | } else { | 
| 245 | if (regs->eflags & VM_MASK) { | ||
| 246 | /* We are in virtual-8086 mode. Return 0 */ | ||
| 247 | goto no_kprobe; | ||
| 248 | } | ||
| 249 | if (*addr != BREAKPOINT_INSTRUCTION) { | 245 | if (*addr != BREAKPOINT_INSTRUCTION) { | 
| 250 | /* The breakpoint instruction was removed by | 246 | /* The breakpoint instruction was removed by | 
| 251 | * another cpu right after we hit, no further | 247 | * another cpu right after we hit, no further | 
| @@ -265,11 +261,6 @@ static int __kprobes kprobe_handler(struct pt_regs *regs) | |||
| 265 | 261 | ||
| 266 | p = get_kprobe(addr); | 262 | p = get_kprobe(addr); | 
| 267 | if (!p) { | 263 | if (!p) { | 
| 268 | if (regs->eflags & VM_MASK) { | ||
| 269 | /* We are in virtual-8086 mode. Return 0 */ | ||
| 270 | goto no_kprobe; | ||
| 271 | } | ||
| 272 | |||
| 273 | if (*addr != BREAKPOINT_INSTRUCTION) { | 264 | if (*addr != BREAKPOINT_INSTRUCTION) { | 
| 274 | /* | 265 | /* | 
| 275 | * The breakpoint instruction was removed right | 266 | * The breakpoint instruction was removed right | 
| @@ -452,10 +443,11 @@ static void __kprobes resume_execution(struct kprobe *p, | |||
| 452 | *tos &= ~(TF_MASK | IF_MASK); | 443 | *tos &= ~(TF_MASK | IF_MASK); | 
| 453 | *tos |= kcb->kprobe_old_eflags; | 444 | *tos |= kcb->kprobe_old_eflags; | 
| 454 | break; | 445 | break; | 
| 455 | case 0xc3: /* ret/lret */ | 446 | case 0xc2: /* iret/ret/lret */ | 
| 456 | case 0xcb: | 447 | case 0xc3: | 
| 457 | case 0xc2: | ||
| 458 | case 0xca: | 448 | case 0xca: | 
| 449 | case 0xcb: | ||
| 450 | case 0xcf: | ||
| 459 | case 0xea: /* jmp absolute -- eip is correct */ | 451 | case 0xea: /* jmp absolute -- eip is correct */ | 
| 460 | /* eip is already adjusted, no more changes required */ | 452 | /* eip is already adjusted, no more changes required */ | 
| 461 | p->ainsn.boostable = 1; | 453 | p->ainsn.boostable = 1; | 
| @@ -463,10 +455,13 @@ static void __kprobes resume_execution(struct kprobe *p, | |||
| 463 | case 0xe8: /* call relative - Fix return addr */ | 455 | case 0xe8: /* call relative - Fix return addr */ | 
| 464 | *tos = orig_eip + (*tos - copy_eip); | 456 | *tos = orig_eip + (*tos - copy_eip); | 
| 465 | break; | 457 | break; | 
| 458 | case 0x9a: /* call absolute -- same as call absolute, indirect */ | ||
| 459 | *tos = orig_eip + (*tos - copy_eip); | ||
| 460 | goto no_change; | ||
| 466 | case 0xff: | 461 | case 0xff: | 
| 467 | if ((p->ainsn.insn[1] & 0x30) == 0x10) { | 462 | if ((p->ainsn.insn[1] & 0x30) == 0x10) { | 
| 468 | /* call absolute, indirect */ | ||
| 469 | /* | 463 | /* | 
| 464 | * call absolute, indirect | ||
| 470 | * Fix return addr; eip is correct. | 465 | * Fix return addr; eip is correct. | 
| 471 | * But this is not boostable | 466 | * But this is not boostable | 
| 472 | */ | 467 | */ | 
diff --git a/arch/i386/kernel/ptrace.c b/arch/i386/kernel/ptrace.c index 506462ef36a0..fd7eaf7866e0 100644 --- a/arch/i386/kernel/ptrace.c +++ b/arch/i386/kernel/ptrace.c  | |||
| @@ -671,7 +671,7 @@ int do_syscall_trace(struct pt_regs *regs, int entryexit) | |||
| 671 | 671 | ||
| 672 | if (unlikely(current->audit_context)) { | 672 | if (unlikely(current->audit_context)) { | 
| 673 | if (entryexit) | 673 | if (entryexit) | 
| 674 | audit_syscall_exit(current, AUDITSC_RESULT(regs->eax), | 674 | audit_syscall_exit(AUDITSC_RESULT(regs->eax), | 
| 675 | regs->eax); | 675 | regs->eax); | 
| 676 | /* Debug traps, when using PTRACE_SINGLESTEP, must be sent only | 676 | /* Debug traps, when using PTRACE_SINGLESTEP, must be sent only | 
| 677 | * on the syscall exit path. Normally, when TIF_SYSCALL_AUDIT is | 677 | * on the syscall exit path. Normally, when TIF_SYSCALL_AUDIT is | 
| @@ -720,14 +720,13 @@ int do_syscall_trace(struct pt_regs *regs, int entryexit) | |||
| 720 | ret = is_sysemu; | 720 | ret = is_sysemu; | 
| 721 | out: | 721 | out: | 
| 722 | if (unlikely(current->audit_context) && !entryexit) | 722 | if (unlikely(current->audit_context) && !entryexit) | 
| 723 | audit_syscall_entry(current, AUDIT_ARCH_I386, regs->orig_eax, | 723 | audit_syscall_entry(AUDIT_ARCH_I386, regs->orig_eax, | 
| 724 | regs->ebx, regs->ecx, regs->edx, regs->esi); | 724 | regs->ebx, regs->ecx, regs->edx, regs->esi); | 
| 725 | if (ret == 0) | 725 | if (ret == 0) | 
| 726 | return 0; | 726 | return 0; | 
| 727 | 727 | ||
| 728 | regs->orig_eax = -1; /* force skip of syscall restarting */ | 728 | regs->orig_eax = -1; /* force skip of syscall restarting */ | 
| 729 | if (unlikely(current->audit_context)) | 729 | if (unlikely(current->audit_context)) | 
| 730 | audit_syscall_exit(current, AUDITSC_RESULT(regs->eax), | 730 | audit_syscall_exit(AUDITSC_RESULT(regs->eax), regs->eax); | 
| 731 | regs->eax); | ||
| 732 | return 1; | 731 | return 1; | 
| 733 | } | 732 | } | 
diff --git a/arch/i386/kernel/setup.c b/arch/i386/kernel/setup.c index 80cb3b2d0997..d77e89ac0d54 100644 --- a/arch/i386/kernel/setup.c +++ b/arch/i386/kernel/setup.c  | |||
| @@ -970,8 +970,10 @@ efi_memory_present_wrapper(unsigned long start, unsigned long end, void *arg) | |||
| 970 | * not-overlapping, which is the case | 970 | * not-overlapping, which is the case | 
| 971 | */ | 971 | */ | 
| 972 | int __init | 972 | int __init | 
| 973 | e820_all_mapped(unsigned long start, unsigned long end, unsigned type) | 973 | e820_all_mapped(unsigned long s, unsigned long e, unsigned type) | 
| 974 | { | 974 | { | 
| 975 | u64 start = s; | ||
| 976 | u64 end = e; | ||
| 975 | int i; | 977 | int i; | 
| 976 | for (i = 0; i < e820.nr_map; i++) { | 978 | for (i = 0; i < e820.nr_map; i++) { | 
| 977 | struct e820entry *ei = &e820.map[i]; | 979 | struct e820entry *ei = &e820.map[i]; | 
diff --git a/arch/i386/kernel/smpboot.c b/arch/i386/kernel/smpboot.c index a6969903f2d6..825b2b4ca721 100644 --- a/arch/i386/kernel/smpboot.c +++ b/arch/i386/kernel/smpboot.c  | |||
| @@ -313,7 +313,9 @@ static void __init synchronize_tsc_bp (void) | |||
| 313 | if (tsc_values[i] < avg) | 313 | if (tsc_values[i] < avg) | 
| 314 | realdelta = -realdelta; | 314 | realdelta = -realdelta; | 
| 315 | 315 | ||
| 316 | printk(KERN_INFO "CPU#%d had %ld usecs TSC skew, fixed it up.\n", i, realdelta); | 316 | if (realdelta > 0) | 
| 317 | printk(KERN_INFO "CPU#%d had %ld usecs TSC " | ||
| 318 | "skew, fixed it up.\n", i, realdelta); | ||
| 317 | } | 319 | } | 
| 318 | 320 | ||
| 319 | sum += delta; | 321 | sum += delta; | 
diff --git a/arch/i386/kernel/timers/timer_tsc.c b/arch/i386/kernel/timers/timer_tsc.c index 5e41ee29c8cf..f1187ddb0d0f 100644 --- a/arch/i386/kernel/timers/timer_tsc.c +++ b/arch/i386/kernel/timers/timer_tsc.c  | |||
| @@ -279,7 +279,7 @@ time_cpufreq_notifier(struct notifier_block *nb, unsigned long val, | |||
| 279 | { | 279 | { | 
| 280 | struct cpufreq_freqs *freq = data; | 280 | struct cpufreq_freqs *freq = data; | 
| 281 | 281 | ||
| 282 | if (val != CPUFREQ_RESUMECHANGE) | 282 | if (val != CPUFREQ_RESUMECHANGE && val != CPUFREQ_SUSPENDCHANGE) | 
| 283 | write_seqlock_irq(&xtime_lock); | 283 | write_seqlock_irq(&xtime_lock); | 
| 284 | if (!ref_freq) { | 284 | if (!ref_freq) { | 
| 285 | if (!freq->old){ | 285 | if (!freq->old){ | 
| @@ -312,7 +312,7 @@ time_cpufreq_notifier(struct notifier_block *nb, unsigned long val, | |||
| 312 | } | 312 | } | 
| 313 | 313 | ||
| 314 | end: | 314 | end: | 
| 315 | if (val != CPUFREQ_RESUMECHANGE) | 315 | if (val != CPUFREQ_RESUMECHANGE && val != CPUFREQ_SUSPENDCHANGE) | 
| 316 | write_sequnlock_irq(&xtime_lock); | 316 | write_sequnlock_irq(&xtime_lock); | 
| 317 | 317 | ||
| 318 | return 0; | 318 | return 0; | 
diff --git a/arch/i386/kernel/vm86.c b/arch/i386/kernel/vm86.c index aee14fafd13d..00e0118e717c 100644 --- a/arch/i386/kernel/vm86.c +++ b/arch/i386/kernel/vm86.c  | |||
| @@ -312,7 +312,7 @@ static void do_sys_vm86(struct kernel_vm86_struct *info, struct task_struct *tsk | |||
| 312 | 312 | ||
| 313 | /*call audit_syscall_exit since we do not exit via the normal paths */ | 313 | /*call audit_syscall_exit since we do not exit via the normal paths */ | 
| 314 | if (unlikely(current->audit_context)) | 314 | if (unlikely(current->audit_context)) | 
| 315 | audit_syscall_exit(current, AUDITSC_RESULT(eax), eax); | 315 | audit_syscall_exit(AUDITSC_RESULT(eax), eax); | 
| 316 | 316 | ||
| 317 | __asm__ __volatile__( | 317 | __asm__ __volatile__( | 
| 318 | "movl %0,%%esp\n\t" | 318 | "movl %0,%%esp\n\t" | 
diff --git a/arch/i386/pci/irq.c b/arch/i386/pci/irq.c index 73235443fda7..06dab00aaadc 100644 --- a/arch/i386/pci/irq.c +++ b/arch/i386/pci/irq.c  | |||
| @@ -591,7 +591,6 @@ static __init int via_router_probe(struct irq_router *r, | |||
| 591 | case PCI_DEVICE_ID_VIA_8233A: | 591 | case PCI_DEVICE_ID_VIA_8233A: | 
| 592 | case PCI_DEVICE_ID_VIA_8235: | 592 | case PCI_DEVICE_ID_VIA_8235: | 
| 593 | case PCI_DEVICE_ID_VIA_8237: | 593 | case PCI_DEVICE_ID_VIA_8237: | 
| 594 | case PCI_DEVICE_ID_VIA_8237_SATA: | ||
| 595 | /* FIXME: add new ones for 8233/5 */ | 594 | /* FIXME: add new ones for 8233/5 */ | 
| 596 | r->name = "VIA"; | 595 | r->name = "VIA"; | 
| 597 | r->get = pirq_via_get; | 596 | r->get = pirq_via_get; | 
diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig index 9f40eeff0b5c..0f3076a820c3 100644 --- a/arch/ia64/Kconfig +++ b/arch/ia64/Kconfig  | |||
| @@ -413,6 +413,8 @@ config IA64_PALINFO | |||
| 413 | config SGI_SN | 413 | config SGI_SN | 
| 414 | def_bool y if (IA64_SGI_SN2 || IA64_GENERIC) | 414 | def_bool y if (IA64_SGI_SN2 || IA64_GENERIC) | 
| 415 | 415 | ||
| 416 | source "drivers/sn/Kconfig" | ||
| 417 | |||
| 416 | source "drivers/firmware/Kconfig" | 418 | source "drivers/firmware/Kconfig" | 
| 417 | 419 | ||
| 418 | source "fs/Kconfig.binfmt" | 420 | source "fs/Kconfig.binfmt" | 
diff --git a/arch/ia64/configs/sn2_defconfig b/arch/ia64/configs/sn2_defconfig index a718034d68d0..f6a8853cd1b4 100644 --- a/arch/ia64/configs/sn2_defconfig +++ b/arch/ia64/configs/sn2_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.16-rc5 | 3 | # Linux kernel version: 2.6.17-rc3 | 
| 4 | # Mon Feb 27 16:06:38 2006 | 4 | # Thu Apr 27 11:48:23 2006 | 
| 5 | # | 5 | # | 
| 6 | 6 | ||
| 7 | # | 7 | # | 
| @@ -24,6 +24,7 @@ CONFIG_SYSCTL=y | |||
| 24 | # CONFIG_AUDIT is not set | 24 | # CONFIG_AUDIT is not set | 
| 25 | # CONFIG_IKCONFIG is not set | 25 | # CONFIG_IKCONFIG is not set | 
| 26 | CONFIG_CPUSETS=y | 26 | CONFIG_CPUSETS=y | 
| 27 | CONFIG_RELAY=y | ||
| 27 | CONFIG_INITRAMFS_SOURCE="" | 28 | CONFIG_INITRAMFS_SOURCE="" | 
| 28 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 29 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 
| 29 | # CONFIG_EMBEDDED is not set | 30 | # CONFIG_EMBEDDED is not set | 
| @@ -38,10 +39,6 @@ CONFIG_BASE_FULL=y | |||
| 38 | CONFIG_FUTEX=y | 39 | CONFIG_FUTEX=y | 
| 39 | CONFIG_EPOLL=y | 40 | CONFIG_EPOLL=y | 
| 40 | CONFIG_SHMEM=y | 41 | CONFIG_SHMEM=y | 
| 41 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
| 42 | CONFIG_CC_ALIGN_LABELS=0 | ||
| 43 | CONFIG_CC_ALIGN_LOOPS=0 | ||
| 44 | CONFIG_CC_ALIGN_JUMPS=0 | ||
| 45 | CONFIG_SLAB=y | 42 | CONFIG_SLAB=y | 
| 46 | # CONFIG_TINY_SHMEM is not set | 43 | # CONFIG_TINY_SHMEM is not set | 
| 47 | CONFIG_BASE_SMALL=0 | 44 | CONFIG_BASE_SMALL=0 | 
| @@ -53,7 +50,6 @@ CONFIG_BASE_SMALL=0 | |||
| 53 | CONFIG_MODULES=y | 50 | CONFIG_MODULES=y | 
| 54 | CONFIG_MODULE_UNLOAD=y | 51 | CONFIG_MODULE_UNLOAD=y | 
| 55 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 52 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 
| 56 | CONFIG_OBSOLETE_MODPARM=y | ||
| 57 | # CONFIG_MODVERSIONS is not set | 53 | # CONFIG_MODVERSIONS is not set | 
| 58 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 54 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 
| 59 | CONFIG_KMOD=y | 55 | CONFIG_KMOD=y | 
| @@ -62,6 +58,7 @@ CONFIG_STOP_MACHINE=y | |||
| 62 | # | 58 | # | 
| 63 | # Block layer | 59 | # Block layer | 
| 64 | # | 60 | # | 
| 61 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 65 | 62 | ||
| 66 | # | 63 | # | 
| 67 | # IO Schedulers | 64 | # IO Schedulers | 
| @@ -84,8 +81,10 @@ CONFIG_64BIT=y | |||
| 84 | CONFIG_MMU=y | 81 | CONFIG_MMU=y | 
| 85 | CONFIG_SWIOTLB=y | 82 | CONFIG_SWIOTLB=y | 
| 86 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | 83 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | 
| 84 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
| 87 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 85 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 
| 88 | CONFIG_TIME_INTERPOLATION=y | 86 | CONFIG_TIME_INTERPOLATION=y | 
| 87 | CONFIG_DMI=y | ||
| 89 | CONFIG_EFI=y | 88 | CONFIG_EFI=y | 
| 90 | CONFIG_GENERIC_IOMAP=y | 89 | CONFIG_GENERIC_IOMAP=y | 
| 91 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | 90 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | 
| @@ -116,7 +115,6 @@ CONFIG_IA64_SGI_SN_XP=m | |||
| 116 | CONFIG_FORCE_MAX_ZONEORDER=17 | 115 | CONFIG_FORCE_MAX_ZONEORDER=17 | 
| 117 | CONFIG_SMP=y | 116 | CONFIG_SMP=y | 
| 118 | CONFIG_NR_CPUS=1024 | 117 | CONFIG_NR_CPUS=1024 | 
| 119 | CONFIG_IA64_NR_NODES=256 | ||
| 120 | # CONFIG_HOTPLUG_CPU is not set | 118 | # CONFIG_HOTPLUG_CPU is not set | 
| 121 | CONFIG_SCHED_SMT=y | 119 | CONFIG_SCHED_SMT=y | 
| 122 | CONFIG_PREEMPT=y | 120 | CONFIG_PREEMPT=y | 
| @@ -136,6 +134,7 @@ CONFIG_ARCH_FLATMEM_ENABLE=y | |||
| 136 | CONFIG_ARCH_SPARSEMEM_ENABLE=y | 134 | CONFIG_ARCH_SPARSEMEM_ENABLE=y | 
| 137 | CONFIG_ARCH_DISCONTIGMEM_DEFAULT=y | 135 | CONFIG_ARCH_DISCONTIGMEM_DEFAULT=y | 
| 138 | CONFIG_NUMA=y | 136 | CONFIG_NUMA=y | 
| 137 | CONFIG_NODES_SHIFT=8 | ||
| 139 | CONFIG_VIRTUAL_MEM_MAP=y | 138 | CONFIG_VIRTUAL_MEM_MAP=y | 
| 140 | CONFIG_HOLES_IN_ZONE=y | 139 | CONFIG_HOLES_IN_ZONE=y | 
| 141 | CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID=y | 140 | CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID=y | 
| @@ -187,7 +186,6 @@ CONFIG_ACPI_SYSTEM=y | |||
| 187 | CONFIG_PCI=y | 186 | CONFIG_PCI=y | 
| 188 | CONFIG_PCI_DOMAINS=y | 187 | CONFIG_PCI_DOMAINS=y | 
| 189 | # CONFIG_PCI_MSI is not set | 188 | # CONFIG_PCI_MSI is not set | 
| 190 | CONFIG_PCI_LEGACY_PROC=y | ||
| 191 | # CONFIG_PCI_DEBUG is not set | 189 | # CONFIG_PCI_DEBUG is not set | 
| 192 | 190 | ||
| 193 | # | 191 | # | 
| @@ -231,6 +229,7 @@ CONFIG_SYN_COOKIES=y | |||
| 231 | # CONFIG_INET_AH is not set | 229 | # CONFIG_INET_AH is not set | 
| 232 | # CONFIG_INET_ESP is not set | 230 | # CONFIG_INET_ESP is not set | 
| 233 | # CONFIG_INET_IPCOMP is not set | 231 | # CONFIG_INET_IPCOMP is not set | 
| 232 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
| 234 | # CONFIG_INET_TUNNEL is not set | 233 | # CONFIG_INET_TUNNEL is not set | 
| 235 | CONFIG_INET_DIAG=m | 234 | CONFIG_INET_DIAG=m | 
| 236 | CONFIG_INET_TCP_DIAG=m | 235 | CONFIG_INET_TCP_DIAG=m | 
| @@ -238,9 +237,11 @@ CONFIG_INET_TCP_DIAG=m | |||
| 238 | CONFIG_TCP_CONG_BIC=y | 237 | CONFIG_TCP_CONG_BIC=y | 
| 239 | CONFIG_IPV6=m | 238 | CONFIG_IPV6=m | 
| 240 | # CONFIG_IPV6_PRIVACY is not set | 239 | # CONFIG_IPV6_PRIVACY is not set | 
| 240 | # CONFIG_IPV6_ROUTER_PREF is not set | ||
| 241 | # CONFIG_INET6_AH is not set | 241 | # CONFIG_INET6_AH is not set | 
| 242 | # CONFIG_INET6_ESP is not set | 242 | # CONFIG_INET6_ESP is not set | 
| 243 | # CONFIG_INET6_IPCOMP is not set | 243 | # CONFIG_INET6_IPCOMP is not set | 
| 244 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
| 244 | # CONFIG_INET6_TUNNEL is not set | 245 | # CONFIG_INET6_TUNNEL is not set | 
| 245 | # CONFIG_IPV6_TUNNEL is not set | 246 | # CONFIG_IPV6_TUNNEL is not set | 
| 246 | # CONFIG_NETFILTER is not set | 247 | # CONFIG_NETFILTER is not set | 
| @@ -468,9 +469,14 @@ CONFIG_SCSI_SATA_VITESSE=y | |||
| 468 | # CONFIG_SCSI_INIA100 is not set | 469 | # CONFIG_SCSI_INIA100 is not set | 
| 469 | # CONFIG_SCSI_SYM53C8XX_2 is not set | 470 | # CONFIG_SCSI_SYM53C8XX_2 is not set | 
| 470 | # CONFIG_SCSI_IPR is not set | 471 | # CONFIG_SCSI_IPR is not set | 
| 471 | # CONFIG_SCSI_QLOGIC_FC is not set | ||
| 472 | CONFIG_SCSI_QLOGIC_1280=y | 472 | CONFIG_SCSI_QLOGIC_1280=y | 
| 473 | # CONFIG_SCSI_QLA_FC is not set | 473 | CONFIG_SCSI_QLA_FC=y | 
| 474 | CONFIG_SCSI_QLA2XXX_EMBEDDED_FIRMWARE=y | ||
| 475 | # CONFIG_SCSI_QLA21XX is not set | ||
| 476 | CONFIG_SCSI_QLA22XX=y | ||
| 477 | CONFIG_SCSI_QLA2300=y | ||
| 478 | CONFIG_SCSI_QLA2322=y | ||
| 479 | # CONFIG_SCSI_QLA24XX is not set | ||
| 474 | # CONFIG_SCSI_LPFC is not set | 480 | # CONFIG_SCSI_LPFC is not set | 
| 475 | # CONFIG_SCSI_DC395x is not set | 481 | # CONFIG_SCSI_DC395x is not set | 
| 476 | # CONFIG_SCSI_DC390T is not set | 482 | # CONFIG_SCSI_DC390T is not set | 
| @@ -486,6 +492,7 @@ CONFIG_MD_RAID0=y | |||
| 486 | CONFIG_MD_RAID1=y | 492 | CONFIG_MD_RAID1=y | 
| 487 | # CONFIG_MD_RAID10 is not set | 493 | # CONFIG_MD_RAID10 is not set | 
| 488 | CONFIG_MD_RAID5=y | 494 | CONFIG_MD_RAID5=y | 
| 495 | # CONFIG_MD_RAID5_RESHAPE is not set | ||
| 489 | # CONFIG_MD_RAID6 is not set | 496 | # CONFIG_MD_RAID6 is not set | 
| 490 | CONFIG_MD_MULTIPATH=y | 497 | CONFIG_MD_MULTIPATH=y | 
| 491 | # CONFIG_MD_FAULTY is not set | 498 | # CONFIG_MD_FAULTY is not set | 
| @@ -694,6 +701,7 @@ CONFIG_EFI_RTC=y | |||
| 694 | # Ftape, the floppy tape device driver | 701 | # Ftape, the floppy tape device driver | 
| 695 | # | 702 | # | 
| 696 | CONFIG_AGP=y | 703 | CONFIG_AGP=y | 
| 704 | # CONFIG_AGP_VIA is not set | ||
| 697 | CONFIG_AGP_SGI_TIOCA=y | 705 | CONFIG_AGP_SGI_TIOCA=y | 
| 698 | # CONFIG_DRM is not set | 706 | # CONFIG_DRM is not set | 
| 699 | CONFIG_RAW_DRIVER=m | 707 | CONFIG_RAW_DRIVER=m | 
| @@ -735,10 +743,6 @@ CONFIG_MMTIMER=y | |||
| 735 | # | 743 | # | 
| 736 | 744 | ||
| 737 | # | 745 | # | 
| 738 | # Multimedia Capabilities Port drivers | ||
| 739 | # | ||
| 740 | |||
| 741 | # | ||
| 742 | # Multimedia devices | 746 | # Multimedia devices | 
| 743 | # | 747 | # | 
| 744 | # CONFIG_VIDEO_DEV is not set | 748 | # CONFIG_VIDEO_DEV is not set | 
| @@ -747,6 +751,7 @@ CONFIG_MMTIMER=y | |||
| 747 | # Digital Video Broadcasting Devices | 751 | # Digital Video Broadcasting Devices | 
| 748 | # | 752 | # | 
| 749 | # CONFIG_DVB is not set | 753 | # CONFIG_DVB is not set | 
| 754 | # CONFIG_USB_DABUSB is not set | ||
| 750 | 755 | ||
| 751 | # | 756 | # | 
| 752 | # Graphics support | 757 | # Graphics support | 
| @@ -757,6 +762,7 @@ CONFIG_MMTIMER=y | |||
| 757 | # Console display driver support | 762 | # Console display driver support | 
| 758 | # | 763 | # | 
| 759 | CONFIG_VGA_CONSOLE=y | 764 | CONFIG_VGA_CONSOLE=y | 
| 765 | # CONFIG_VGACON_SOFT_SCROLLBACK is not set | ||
| 760 | CONFIG_DUMMY_CONSOLE=y | 766 | CONFIG_DUMMY_CONSOLE=y | 
| 761 | 767 | ||
| 762 | # | 768 | # | 
| @@ -769,6 +775,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
| 769 | # | 775 | # | 
| 770 | CONFIG_USB_ARCH_HAS_HCD=y | 776 | CONFIG_USB_ARCH_HAS_HCD=y | 
| 771 | CONFIG_USB_ARCH_HAS_OHCI=y | 777 | CONFIG_USB_ARCH_HAS_OHCI=y | 
| 778 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
| 772 | CONFIG_USB=m | 779 | CONFIG_USB=m | 
| 773 | # CONFIG_USB_DEBUG is not set | 780 | # CONFIG_USB_DEBUG is not set | 
| 774 | 781 | ||
| @@ -829,9 +836,7 @@ CONFIG_USB_HIDINPUT=y | |||
| 829 | # CONFIG_USB_ACECAD is not set | 836 | # CONFIG_USB_ACECAD is not set | 
| 830 | # CONFIG_USB_KBTAB is not set | 837 | # CONFIG_USB_KBTAB is not set | 
| 831 | # CONFIG_USB_POWERMATE is not set | 838 | # CONFIG_USB_POWERMATE is not set | 
| 832 | # CONFIG_USB_MTOUCH is not set | 839 | # CONFIG_USB_TOUCHSCREEN is not set | 
| 833 | # CONFIG_USB_ITMTOUCH is not set | ||
| 834 | # CONFIG_USB_EGALAX is not set | ||
| 835 | # CONFIG_USB_YEALINK is not set | 840 | # CONFIG_USB_YEALINK is not set | 
| 836 | # CONFIG_USB_XPAD is not set | 841 | # CONFIG_USB_XPAD is not set | 
| 837 | # CONFIG_USB_ATI_REMOTE is not set | 842 | # CONFIG_USB_ATI_REMOTE is not set | 
| @@ -846,15 +851,6 @@ CONFIG_USB_HIDINPUT=y | |||
| 846 | # CONFIG_USB_MICROTEK is not set | 851 | # CONFIG_USB_MICROTEK is not set | 
| 847 | 852 | ||
| 848 | # | 853 | # | 
| 849 | # USB Multimedia devices | ||
| 850 | # | ||
| 851 | # CONFIG_USB_DABUSB is not set | ||
| 852 | |||
| 853 | # | ||
| 854 | # Video4Linux support is needed for USB Multimedia device support | ||
| 855 | # | ||
| 856 | |||
| 857 | # | ||
| 858 | # USB Network Adapters | 854 | # USB Network Adapters | 
| 859 | # | 855 | # | 
| 860 | # CONFIG_USB_CATC is not set | 856 | # CONFIG_USB_CATC is not set | 
| @@ -905,15 +901,29 @@ CONFIG_USB_MON=y | |||
| 905 | # CONFIG_MMC is not set | 901 | # CONFIG_MMC is not set | 
| 906 | 902 | ||
| 907 | # | 903 | # | 
| 904 | # LED devices | ||
| 905 | # | ||
| 906 | # CONFIG_NEW_LEDS is not set | ||
| 907 | |||
| 908 | # | ||
| 909 | # LED drivers | ||
| 910 | # | ||
| 911 | |||
| 912 | # | ||
| 913 | # LED Triggers | ||
| 914 | # | ||
| 915 | |||
| 916 | # | ||
| 908 | # InfiniBand support | 917 | # InfiniBand support | 
| 909 | # | 918 | # | 
| 910 | CONFIG_INFINIBAND=m | 919 | CONFIG_INFINIBAND=m | 
| 911 | # CONFIG_INFINIBAND_USER_MAD is not set | 920 | # CONFIG_INFINIBAND_USER_MAD is not set | 
| 912 | CONFIG_INFINIBAND_USER_ACCESS=m | 921 | CONFIG_INFINIBAND_USER_ACCESS=m | 
| 913 | CONFIG_INFINIBAND_MTHCA=m | 922 | CONFIG_INFINIBAND_MTHCA=m | 
| 914 | # CONFIG_INFINIBAND_MTHCA_DEBUG is not set | 923 | CONFIG_INFINIBAND_MTHCA_DEBUG=y | 
| 915 | CONFIG_INFINIBAND_IPOIB=m | 924 | CONFIG_INFINIBAND_IPOIB=m | 
| 916 | # CONFIG_INFINIBAND_IPOIB_DEBUG is not set | 925 | CONFIG_INFINIBAND_IPOIB_DEBUG=y | 
| 926 | # CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set | ||
| 917 | CONFIG_INFINIBAND_SRP=m | 927 | CONFIG_INFINIBAND_SRP=m | 
| 918 | 928 | ||
| 919 | # | 929 | # | 
| @@ -923,8 +933,13 @@ CONFIG_SGI_IOC4=y | |||
| 923 | CONFIG_SGI_IOC3=y | 933 | CONFIG_SGI_IOC3=y | 
| 924 | 934 | ||
| 925 | # | 935 | # | 
| 926 | # EDAC - error detection and reporting (RAS) | 936 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | 
| 937 | # | ||
| 938 | |||
| 939 | # | ||
| 940 | # Real Time Clock | ||
| 927 | # | 941 | # | 
| 942 | # CONFIG_RTC_CLASS is not set | ||
| 928 | 943 | ||
| 929 | # | 944 | # | 
| 930 | # File systems | 945 | # File systems | 
| @@ -997,7 +1012,6 @@ CONFIG_TMPFS=y | |||
| 997 | CONFIG_HUGETLBFS=y | 1012 | CONFIG_HUGETLBFS=y | 
| 998 | CONFIG_HUGETLB_PAGE=y | 1013 | CONFIG_HUGETLB_PAGE=y | 
| 999 | CONFIG_RAMFS=y | 1014 | CONFIG_RAMFS=y | 
| 1000 | CONFIG_RELAYFS_FS=m | ||
| 1001 | # CONFIG_CONFIGFS_FS is not set | 1015 | # CONFIG_CONFIGFS_FS is not set | 
| 1002 | 1016 | ||
| 1003 | # | 1017 | # | 
diff --git a/arch/ia64/ia32/binfmt_elf32.c b/arch/ia64/ia32/binfmt_elf32.c index 4e7a6a1ec6c7..da03c06744f1 100644 --- a/arch/ia64/ia32/binfmt_elf32.c +++ b/arch/ia64/ia32/binfmt_elf32.c  | |||
| @@ -35,6 +35,9 @@ extern void ia64_elf32_init (struct pt_regs *regs); | |||
| 35 | 35 | ||
| 36 | static void elf32_set_personality (void); | 36 | static void elf32_set_personality (void); | 
| 37 | 37 | ||
| 38 | static unsigned long __attribute ((unused)) | ||
| 39 | randomize_stack_top(unsigned long stack_top); | ||
| 40 | |||
| 38 | #define setup_arg_pages(bprm,tos,exec) ia32_setup_arg_pages(bprm,exec) | 41 | #define setup_arg_pages(bprm,tos,exec) ia32_setup_arg_pages(bprm,exec) | 
| 39 | #define elf_map elf32_map | 42 | #define elf_map elf32_map | 
| 40 | 43 | ||
diff --git a/arch/ia64/ia32/ia32_entry.S b/arch/ia64/ia32/ia32_entry.S index 95fe04400f6b..a32cd59b81ed 100644 --- a/arch/ia64/ia32/ia32_entry.S +++ b/arch/ia64/ia32/ia32_entry.S  | |||
| @@ -334,7 +334,7 @@ ia32_syscall_table: | |||
| 334 | data8 sys_setdomainname | 334 | data8 sys_setdomainname | 
| 335 | data8 sys32_newuname | 335 | data8 sys32_newuname | 
| 336 | data8 sys32_modify_ldt | 336 | data8 sys32_modify_ldt | 
| 337 | data8 sys_ni_syscall /* adjtimex */ | 337 | data8 compat_sys_adjtimex | 
| 338 | data8 sys32_mprotect /* 125 */ | 338 | data8 sys32_mprotect /* 125 */ | 
| 339 | data8 compat_sys_sigprocmask | 339 | data8 compat_sys_sigprocmask | 
| 340 | data8 sys_ni_syscall /* create_module */ | 340 | data8 sys_ni_syscall /* create_module */ | 
diff --git a/arch/ia64/kernel/mca_drv.c b/arch/ia64/kernel/mca_drv.c index 37c88eb55873..ca6666b51ccb 100644 --- a/arch/ia64/kernel/mca_drv.c +++ b/arch/ia64/kernel/mca_drv.c  | |||
| @@ -62,6 +62,11 @@ typedef enum { | |||
| 62 | ISOLATE_NONE | 62 | ISOLATE_NONE | 
| 63 | } isolate_status_t; | 63 | } isolate_status_t; | 
| 64 | 64 | ||
| 65 | typedef enum { | ||
| 66 | MCA_NOT_RECOVERED = 0, | ||
| 67 | MCA_RECOVERED = 1 | ||
| 68 | } recovery_status_t; | ||
| 69 | |||
| 65 | /* | 70 | /* | 
| 66 | * This pool keeps pointers to the section part of SAL error record | 71 | * This pool keeps pointers to the section part of SAL error record | 
| 67 | */ | 72 | */ | 
| @@ -71,6 +76,18 @@ static struct { | |||
| 71 | int max_idx; /* Maximum index of section pointer list pool */ | 76 | int max_idx; /* Maximum index of section pointer list pool */ | 
| 72 | } slidx_pool; | 77 | } slidx_pool; | 
| 73 | 78 | ||
| 79 | static int | ||
| 80 | fatal_mca(const char *fmt, ...) | ||
| 81 | { | ||
| 82 | va_list args; | ||
| 83 | |||
| 84 | va_start(args, fmt); | ||
| 85 | vprintk(fmt, args); | ||
| 86 | va_end(args); | ||
| 87 | |||
| 88 | return MCA_NOT_RECOVERED; | ||
| 89 | } | ||
| 90 | |||
| 74 | /** | 91 | /** | 
| 75 | * mca_page_isolate - isolate a poisoned page in order not to use it later | 92 | * mca_page_isolate - isolate a poisoned page in order not to use it later | 
| 76 | * @paddr: poisoned memory location | 93 | * @paddr: poisoned memory location | 
| @@ -424,7 +441,7 @@ recover_from_read_error(slidx_table_t *slidx, | |||
| 424 | 441 | ||
| 425 | /* Is target address valid? */ | 442 | /* Is target address valid? */ | 
| 426 | if (!pbci->tv) | 443 | if (!pbci->tv) | 
| 427 | return 0; | 444 | return fatal_mca(KERN_ALERT "MCA: target address not valid\n"); | 
| 428 | 445 | ||
| 429 | /* | 446 | /* | 
| 430 | * cpu read or memory-mapped io read | 447 | * cpu read or memory-mapped io read | 
| @@ -442,7 +459,7 @@ recover_from_read_error(slidx_table_t *slidx, | |||
| 442 | 459 | ||
| 443 | /* Is minstate valid? */ | 460 | /* Is minstate valid? */ | 
| 444 | if (!peidx_bottom(peidx) || !(peidx_bottom(peidx)->valid.minstate)) | 461 | if (!peidx_bottom(peidx) || !(peidx_bottom(peidx)->valid.minstate)) | 
| 445 | return 0; | 462 | return fatal_mca(KERN_ALERT "MCA: minstate not valid\n"); | 
| 446 | psr1 =(struct ia64_psr *)&(peidx_minstate_area(peidx)->pmsa_ipsr); | 463 | psr1 =(struct ia64_psr *)&(peidx_minstate_area(peidx)->pmsa_ipsr); | 
| 447 | psr2 =(struct ia64_psr *)&(peidx_minstate_area(peidx)->pmsa_xpsr); | 464 | psr2 =(struct ia64_psr *)&(peidx_minstate_area(peidx)->pmsa_xpsr); | 
| 448 | 465 | ||
| @@ -476,12 +493,13 @@ recover_from_read_error(slidx_table_t *slidx, | |||
| 476 | psr2->bn = 1; | 493 | psr2->bn = 1; | 
| 477 | psr2->i = 0; | 494 | psr2->i = 0; | 
| 478 | 495 | ||
| 479 | return 1; | 496 | return MCA_RECOVERED; | 
| 480 | } | 497 | } | 
| 481 | 498 | ||
| 482 | } | 499 | } | 
| 483 | 500 | ||
| 484 | return 0; | 501 | return fatal_mca(KERN_ALERT "MCA: kernel context not recovered," | 
| 502 | " iip 0x%lx\n", pmsa->pmsa_iip); | ||
| 485 | } | 503 | } | 
| 486 | 504 | ||
| 487 | /** | 505 | /** | 
| @@ -567,13 +585,13 @@ recover_from_processor_error(int platform, slidx_table_t *slidx, | |||
| 567 | * The machine check is corrected. | 585 | * The machine check is corrected. | 
| 568 | */ | 586 | */ | 
| 569 | if (psp->cm == 1) | 587 | if (psp->cm == 1) | 
| 570 | return 1; | 588 | return MCA_RECOVERED; | 
| 571 | 589 | ||
| 572 | /* | 590 | /* | 
| 573 | * The error was not contained. Software must be reset. | 591 | * The error was not contained. Software must be reset. | 
| 574 | */ | 592 | */ | 
| 575 | if (psp->us || psp->ci == 0) | 593 | if (psp->us || psp->ci == 0) | 
| 576 | return 0; | 594 | return fatal_mca(KERN_ALERT "MCA: error not contained\n"); | 
| 577 | 595 | ||
| 578 | /* | 596 | /* | 
| 579 | * The cache check and bus check bits have four possible states | 597 | * The cache check and bus check bits have four possible states | 
| @@ -584,20 +602,22 @@ recover_from_processor_error(int platform, slidx_table_t *slidx, | |||
| 584 | * 1 1 Memory error, attempt recovery | 602 | * 1 1 Memory error, attempt recovery | 
| 585 | */ | 603 | */ | 
| 586 | if (psp->bc == 0 || pbci == NULL) | 604 | if (psp->bc == 0 || pbci == NULL) | 
| 587 | return 0; | 605 | return fatal_mca(KERN_ALERT "MCA: No bus check\n"); | 
| 588 | 606 | ||
| 589 | /* | 607 | /* | 
| 590 | * Sorry, we cannot handle so many. | 608 | * Sorry, we cannot handle so many. | 
| 591 | */ | 609 | */ | 
| 592 | if (peidx_bus_check_num(peidx) > 1) | 610 | if (peidx_bus_check_num(peidx) > 1) | 
| 593 | return 0; | 611 | return fatal_mca(KERN_ALERT "MCA: Too many bus checks\n"); | 
| 594 | /* | 612 | /* | 
| 595 | * Well, here is only one bus error. | 613 | * Well, here is only one bus error. | 
| 596 | */ | 614 | */ | 
| 597 | if (pbci->ib || pbci->cc) | 615 | if (pbci->ib) | 
| 598 | return 0; | 616 | return fatal_mca(KERN_ALERT "MCA: Internal Bus error\n"); | 
| 617 | if (pbci->cc) | ||
| 618 | return fatal_mca(KERN_ALERT "MCA: Cache-cache error\n"); | ||
| 599 | if (pbci->eb && pbci->bsi > 0) | 619 | if (pbci->eb && pbci->bsi > 0) | 
| 600 | return 0; | 620 | return fatal_mca(KERN_ALERT "MCA: External bus check fatal status\n"); | 
| 601 | 621 | ||
| 602 | /* | 622 | /* | 
| 603 | * This is a local MCA and estimated as recoverble external bus error. | 623 | * This is a local MCA and estimated as recoverble external bus error. | 
| @@ -609,7 +629,7 @@ recover_from_processor_error(int platform, slidx_table_t *slidx, | |||
| 609 | /* | 629 | /* | 
| 610 | * On account of strange SAL error record, we cannot recover. | 630 | * On account of strange SAL error record, we cannot recover. | 
| 611 | */ | 631 | */ | 
| 612 | return 0; | 632 | return fatal_mca(KERN_ALERT "MCA: Strange SAL record\n"); | 
| 613 | } | 633 | } | 
| 614 | 634 | ||
| 615 | /** | 635 | /** | 
| @@ -638,12 +658,10 @@ mca_try_to_recover(void *rec, struct ia64_sal_os_state *sos) | |||
| 638 | 658 | ||
| 639 | /* Now, OS can recover when there is one processor error section */ | 659 | /* Now, OS can recover when there is one processor error section */ | 
| 640 | if (n_proc_err > 1) | 660 | if (n_proc_err > 1) | 
| 641 | return 0; | 661 | return fatal_mca(KERN_ALERT "MCA: Too Many Errors\n"); | 
| 642 | else if (n_proc_err == 0) { | 662 | else if (n_proc_err == 0) | 
| 643 | /* Weird SAL record ... We need not to recover */ | 663 | /* Weird SAL record ... We need not to recover */ | 
| 644 | 664 | return fatal_mca(KERN_ALERT "MCA: Weird SAL record\n"); | |
| 645 | return 1; | ||
| 646 | } | ||
| 647 | 665 | ||
| 648 | /* Make index of processor error section */ | 666 | /* Make index of processor error section */ | 
| 649 | mca_make_peidx((sal_log_processor_info_t*) | 667 | mca_make_peidx((sal_log_processor_info_t*) | 
| @@ -654,7 +672,7 @@ mca_try_to_recover(void *rec, struct ia64_sal_os_state *sos) | |||
| 654 | 672 | ||
| 655 | /* Check whether MCA is global or not */ | 673 | /* Check whether MCA is global or not */ | 
| 656 | if (is_mca_global(&peidx, &pbci, sos)) | 674 | if (is_mca_global(&peidx, &pbci, sos)) | 
| 657 | return 0; | 675 | return fatal_mca(KERN_ALERT "MCA: global MCA\n"); | 
| 658 | 676 | ||
| 659 | /* Try to recover a processor error */ | 677 | /* Try to recover a processor error */ | 
| 660 | return recover_from_processor_error(platform_err, &slidx, &peidx, | 678 | return recover_from_processor_error(platform_err, &slidx, &peidx, | 
diff --git a/arch/ia64/kernel/ptrace.c b/arch/ia64/kernel/ptrace.c index 9887c8787e7a..e61e15e28d8b 100644 --- a/arch/ia64/kernel/ptrace.c +++ b/arch/ia64/kernel/ptrace.c  | |||
| @@ -1644,7 +1644,7 @@ syscall_trace_enter (long arg0, long arg1, long arg2, long arg3, | |||
| 1644 | arch = AUDIT_ARCH_IA64; | 1644 | arch = AUDIT_ARCH_IA64; | 
| 1645 | } | 1645 | } | 
| 1646 | 1646 | ||
| 1647 | audit_syscall_entry(current, arch, syscall, arg0, arg1, arg2, arg3); | 1647 | audit_syscall_entry(arch, syscall, arg0, arg1, arg2, arg3); | 
| 1648 | } | 1648 | } | 
| 1649 | 1649 | ||
| 1650 | } | 1650 | } | 
| @@ -1662,7 +1662,7 @@ syscall_trace_leave (long arg0, long arg1, long arg2, long arg3, | |||
| 1662 | 1662 | ||
| 1663 | if (success != AUDITSC_SUCCESS) | 1663 | if (success != AUDITSC_SUCCESS) | 
| 1664 | result = -result; | 1664 | result = -result; | 
| 1665 | audit_syscall_exit(current, success, result); | 1665 | audit_syscall_exit(success, result); | 
| 1666 | } | 1666 | } | 
| 1667 | 1667 | ||
| 1668 | if (test_thread_flag(TIF_SYSCALL_TRACE) | 1668 | if (test_thread_flag(TIF_SYSCALL_TRACE) | 
diff --git a/arch/ia64/kernel/topology.c b/arch/ia64/kernel/topology.c index 7da4739f536e..4f3a16b37f8f 100644 --- a/arch/ia64/kernel/topology.c +++ b/arch/ia64/kernel/topology.c  | |||
| @@ -305,13 +305,10 @@ static struct kobj_type cache_ktype_percpu_entry = { | |||
| 305 | 305 | ||
| 306 | static void __cpuinit cpu_cache_sysfs_exit(unsigned int cpu) | 306 | static void __cpuinit cpu_cache_sysfs_exit(unsigned int cpu) | 
| 307 | { | 307 | { | 
| 308 | if (all_cpu_cache_info[cpu].cache_leaves) { | 308 | kfree(all_cpu_cache_info[cpu].cache_leaves); | 
| 309 | kfree(all_cpu_cache_info[cpu].cache_leaves); | 309 | all_cpu_cache_info[cpu].cache_leaves = NULL; | 
| 310 | all_cpu_cache_info[cpu].cache_leaves = NULL; | ||
| 311 | } | ||
| 312 | all_cpu_cache_info[cpu].num_cache_leaves = 0; | 310 | all_cpu_cache_info[cpu].num_cache_leaves = 0; | 
| 313 | memset(&all_cpu_cache_info[cpu].kobj, 0, sizeof(struct kobject)); | 311 | memset(&all_cpu_cache_info[cpu].kobj, 0, sizeof(struct kobject)); | 
| 314 | |||
| 315 | return; | 312 | return; | 
| 316 | } | 313 | } | 
| 317 | 314 | ||
diff --git a/arch/ia64/pci/pci.c b/arch/ia64/pci/pci.c index 9ba32b2d96d0..ab829a22f8a4 100644 --- a/arch/ia64/pci/pci.c +++ b/arch/ia64/pci/pci.c  | |||
| @@ -31,7 +31,6 @@ | |||
| 31 | #include <asm/irq.h> | 31 | #include <asm/irq.h> | 
| 32 | #include <asm/hw_irq.h> | 32 | #include <asm/hw_irq.h> | 
| 33 | 33 | ||
| 34 | |||
| 35 | /* | 34 | /* | 
| 36 | * Low-level SAL-based PCI configuration access functions. Note that SAL | 35 | * Low-level SAL-based PCI configuration access functions. Note that SAL | 
| 37 | * calls are already serialized (via sal_lock), so we don't need another | 36 | * calls are already serialized (via sal_lock), so we don't need another | 
| @@ -707,7 +706,7 @@ int ia64_pci_legacy_read(struct pci_bus *bus, u16 port, u32 *val, u8 size) | |||
| 707 | * | 706 | * | 
| 708 | * Simply writes @size bytes of @val to @port. | 707 | * Simply writes @size bytes of @val to @port. | 
| 709 | */ | 708 | */ | 
| 710 | int ia64_pci_legacy_write(struct pci_dev *bus, u16 port, u32 val, u8 size) | 709 | int ia64_pci_legacy_write(struct pci_bus *bus, u16 port, u32 val, u8 size) | 
| 711 | { | 710 | { | 
| 712 | int ret = size; | 711 | int ret = size; | 
| 713 | 712 | ||
diff --git a/arch/ia64/sn/kernel/sn2/sn_hwperf.c b/arch/ia64/sn/kernel/sn2/sn_hwperf.c index d917afa30b27..739c948dc504 100644 --- a/arch/ia64/sn/kernel/sn2/sn_hwperf.c +++ b/arch/ia64/sn/kernel/sn2/sn_hwperf.c  | |||
| @@ -284,6 +284,8 @@ static int sn_hwperf_get_nearest_node_objdata(struct sn_hwperf_object_info *objb | |||
| 284 | /* find nearest node with cpus and nearest memory */ | 284 | /* find nearest node with cpus and nearest memory */ | 
| 285 | for (router=NULL, j=0; j < op->ports; j++) { | 285 | for (router=NULL, j=0; j < op->ports; j++) { | 
| 286 | dest = sn_hwperf_findobj_id(objbuf, nobj, ptdata[j].conn_id); | 286 | dest = sn_hwperf_findobj_id(objbuf, nobj, ptdata[j].conn_id); | 
| 287 | if (dest && SN_HWPERF_IS_ROUTER(dest)) | ||
| 288 | router = dest; | ||
| 287 | if (!dest || SN_HWPERF_FOREIGN(dest) || | 289 | if (!dest || SN_HWPERF_FOREIGN(dest) || | 
| 288 | !SN_HWPERF_IS_NODE(dest) || SN_HWPERF_IS_IONODE(dest)) { | 290 | !SN_HWPERF_IS_NODE(dest) || SN_HWPERF_IS_IONODE(dest)) { | 
| 289 | continue; | 291 | continue; | 
| @@ -299,8 +301,6 @@ static int sn_hwperf_get_nearest_node_objdata(struct sn_hwperf_object_info *objb | |||
| 299 | *near_mem_node = c; | 301 | *near_mem_node = c; | 
| 300 | found_mem++; | 302 | found_mem++; | 
| 301 | } | 303 | } | 
| 302 | if (SN_HWPERF_IS_ROUTER(dest)) | ||
| 303 | router = dest; | ||
| 304 | } | 304 | } | 
| 305 | 305 | ||
| 306 | if (router && (!found_cpu || !found_mem)) { | 306 | if (router && (!found_cpu || !found_mem)) { | 
| @@ -493,7 +493,7 @@ static int sn_topology_show(struct seq_file *s, void *d) | |||
| 493 | * numalink ports | 493 | * numalink ports | 
| 494 | */ | 494 | */ | 
| 495 | sz = obj->ports * sizeof(struct sn_hwperf_port_info); | 495 | sz = obj->ports * sizeof(struct sn_hwperf_port_info); | 
| 496 | if ((ptdata = vmalloc(sz)) == NULL) | 496 | if ((ptdata = kmalloc(sz, GFP_KERNEL)) == NULL) | 
| 497 | return -ENOMEM; | 497 | return -ENOMEM; | 
| 498 | e = ia64_sn_hwperf_op(sn_hwperf_master_nasid, | 498 | e = ia64_sn_hwperf_op(sn_hwperf_master_nasid, | 
| 499 | SN_HWPERF_ENUM_PORTS, obj->id, sz, | 499 | SN_HWPERF_ENUM_PORTS, obj->id, sz, | 
| @@ -541,7 +541,7 @@ static int sn_topology_show(struct seq_file *s, void *d) | |||
| 541 | (SN_HWPERF_IS_NL3ROUTER(obj) || | 541 | (SN_HWPERF_IS_NL3ROUTER(obj) || | 
| 542 | SN_HWPERF_IS_NL3ROUTER(p)) ? "LLP3" : "LLP4"); | 542 | SN_HWPERF_IS_NL3ROUTER(p)) ? "LLP3" : "LLP4"); | 
| 543 | } | 543 | } | 
| 544 | vfree(ptdata); | 544 | kfree(ptdata); | 
| 545 | } | 545 | } | 
| 546 | 546 | ||
| 547 | return 0; | 547 | return 0; | 
diff --git a/arch/ia64/sn/kernel/xpc_partition.c b/arch/ia64/sn/kernel/xpc_partition.c index 94211429fd0c..2a89cfce4954 100644 --- a/arch/ia64/sn/kernel/xpc_partition.c +++ b/arch/ia64/sn/kernel/xpc_partition.c  | |||
| @@ -136,9 +136,7 @@ xpc_get_rsvd_page_pa(int nasid) | |||
| 136 | } | 136 | } | 
| 137 | 137 | ||
| 138 | if (L1_CACHE_ALIGN(len) > buf_len) { | 138 | if (L1_CACHE_ALIGN(len) > buf_len) { | 
| 139 | if (buf_base != NULL) { | 139 | kfree(buf_base); | 
| 140 | kfree(buf_base); | ||
| 141 | } | ||
| 142 | buf_len = L1_CACHE_ALIGN(len); | 140 | buf_len = L1_CACHE_ALIGN(len); | 
| 143 | buf = (u64) xpc_kmalloc_cacheline_aligned(buf_len, | 141 | buf = (u64) xpc_kmalloc_cacheline_aligned(buf_len, | 
| 144 | GFP_KERNEL, &buf_base); | 142 | GFP_KERNEL, &buf_base); | 
| @@ -159,9 +157,7 @@ xpc_get_rsvd_page_pa(int nasid) | |||
| 159 | } | 157 | } | 
| 160 | } | 158 | } | 
| 161 | 159 | ||
| 162 | if (buf_base != NULL) { | 160 | kfree(buf_base); | 
| 163 | kfree(buf_base); | ||
| 164 | } | ||
| 165 | 161 | ||
| 166 | if (status != SALRET_OK) { | 162 | if (status != SALRET_OK) { | 
| 167 | rp_pa = 0; | 163 | rp_pa = 0; | 
diff --git a/arch/ia64/sn/pci/tioce_provider.c b/arch/ia64/sn/pci/tioce_provider.c index fa073cc4b565..833295624e5d 100644 --- a/arch/ia64/sn/pci/tioce_provider.c +++ b/arch/ia64/sn/pci/tioce_provider.c  | |||
| @@ -682,9 +682,6 @@ tioce_reserve_m32(struct tioce_kernel *ce_kern, u64 base, u64 limit) | |||
| 682 | int ate_index, last_ate, ps; | 682 | int ate_index, last_ate, ps; | 
| 683 | struct tioce *ce_mmr; | 683 | struct tioce *ce_mmr; | 
| 684 | 684 | ||
| 685 | if (!TIOCE_M32_ADDR(base)) | ||
| 686 | return; | ||
| 687 | |||
| 688 | ce_mmr = (struct tioce *)ce_kern->ce_common->ce_pcibus.bs_base; | 685 | ce_mmr = (struct tioce *)ce_kern->ce_common->ce_pcibus.bs_base; | 
| 689 | ps = ce_kern->ce_ate3240_pagesize; | 686 | ps = ce_kern->ce_ate3240_pagesize; | 
| 690 | ate_index = ATE_PAGE(base, ps); | 687 | ate_index = ATE_PAGE(base, ps); | 
| @@ -693,6 +690,9 @@ tioce_reserve_m32(struct tioce_kernel *ce_kern, u64 base, u64 limit) | |||
| 693 | if (ate_index < 64) | 690 | if (ate_index < 64) | 
| 694 | ate_index = 64; | 691 | ate_index = 64; | 
| 695 | 692 | ||
| 693 | if (last_ate >= TIOCE_NUM_M3240_ATES) | ||
| 694 | last_ate = TIOCE_NUM_M3240_ATES - 1; | ||
| 695 | |||
| 696 | while (ate_index <= last_ate) { | 696 | while (ate_index <= last_ate) { | 
| 697 | u64 ate; | 697 | u64 ate; | 
| 698 | 698 | ||
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index 87f0b79c6b15..ee5fbb02b28f 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig  | |||
| @@ -1067,6 +1067,7 @@ choice | |||
| 1067 | config CPU_MIPS32_R1 | 1067 | config CPU_MIPS32_R1 | 
| 1068 | bool "MIPS32 Release 1" | 1068 | bool "MIPS32 Release 1" | 
| 1069 | depends on SYS_HAS_CPU_MIPS32_R1 | 1069 | depends on SYS_HAS_CPU_MIPS32_R1 | 
| 1070 | select CPU_HAS_LLSC | ||
| 1070 | select CPU_HAS_PREFETCH | 1071 | select CPU_HAS_PREFETCH | 
| 1071 | select CPU_SUPPORTS_32BIT_KERNEL | 1072 | select CPU_SUPPORTS_32BIT_KERNEL | 
| 1072 | select CPU_SUPPORTS_HIGHMEM | 1073 | select CPU_SUPPORTS_HIGHMEM | 
| @@ -1084,6 +1085,7 @@ config CPU_MIPS32_R1 | |||
| 1084 | config CPU_MIPS32_R2 | 1085 | config CPU_MIPS32_R2 | 
| 1085 | bool "MIPS32 Release 2" | 1086 | bool "MIPS32 Release 2" | 
| 1086 | depends on SYS_HAS_CPU_MIPS32_R2 | 1087 | depends on SYS_HAS_CPU_MIPS32_R2 | 
| 1088 | select CPU_HAS_LLSC | ||
| 1087 | select CPU_HAS_PREFETCH | 1089 | select CPU_HAS_PREFETCH | 
| 1088 | select CPU_SUPPORTS_32BIT_KERNEL | 1090 | select CPU_SUPPORTS_32BIT_KERNEL | 
| 1089 | select CPU_SUPPORTS_HIGHMEM | 1091 | select CPU_SUPPORTS_HIGHMEM | 
| @@ -1097,6 +1099,7 @@ config CPU_MIPS32_R2 | |||
| 1097 | config CPU_MIPS64_R1 | 1099 | config CPU_MIPS64_R1 | 
| 1098 | bool "MIPS64 Release 1" | 1100 | bool "MIPS64 Release 1" | 
| 1099 | depends on SYS_HAS_CPU_MIPS64_R1 | 1101 | depends on SYS_HAS_CPU_MIPS64_R1 | 
| 1102 | select CPU_HAS_LLSC | ||
| 1100 | select CPU_HAS_PREFETCH | 1103 | select CPU_HAS_PREFETCH | 
| 1101 | select CPU_SUPPORTS_32BIT_KERNEL | 1104 | select CPU_SUPPORTS_32BIT_KERNEL | 
| 1102 | select CPU_SUPPORTS_64BIT_KERNEL | 1105 | select CPU_SUPPORTS_64BIT_KERNEL | 
| @@ -1115,6 +1118,7 @@ config CPU_MIPS64_R1 | |||
| 1115 | config CPU_MIPS64_R2 | 1118 | config CPU_MIPS64_R2 | 
| 1116 | bool "MIPS64 Release 2" | 1119 | bool "MIPS64 Release 2" | 
| 1117 | depends on SYS_HAS_CPU_MIPS64_R2 | 1120 | depends on SYS_HAS_CPU_MIPS64_R2 | 
| 1121 | select CPU_HAS_LLSC | ||
| 1118 | select CPU_HAS_PREFETCH | 1122 | select CPU_HAS_PREFETCH | 
| 1119 | select CPU_SUPPORTS_32BIT_KERNEL | 1123 | select CPU_SUPPORTS_32BIT_KERNEL | 
| 1120 | select CPU_SUPPORTS_64BIT_KERNEL | 1124 | select CPU_SUPPORTS_64BIT_KERNEL | 
| @@ -1129,6 +1133,7 @@ config CPU_MIPS64_R2 | |||
| 1129 | config CPU_R3000 | 1133 | config CPU_R3000 | 
| 1130 | bool "R3000" | 1134 | bool "R3000" | 
| 1131 | depends on SYS_HAS_CPU_R3000 | 1135 | depends on SYS_HAS_CPU_R3000 | 
| 1136 | select CPU_HAS_WB | ||
| 1132 | select CPU_SUPPORTS_32BIT_KERNEL | 1137 | select CPU_SUPPORTS_32BIT_KERNEL | 
| 1133 | select CPU_SUPPORTS_HIGHMEM | 1138 | select CPU_SUPPORTS_HIGHMEM | 
| 1134 | help | 1139 | help | 
| @@ -1158,6 +1163,7 @@ config CPU_VR41XX | |||
| 1158 | config CPU_R4300 | 1163 | config CPU_R4300 | 
| 1159 | bool "R4300" | 1164 | bool "R4300" | 
| 1160 | depends on SYS_HAS_CPU_R4300 | 1165 | depends on SYS_HAS_CPU_R4300 | 
| 1166 | select CPU_HAS_LLSC | ||
| 1161 | select CPU_SUPPORTS_32BIT_KERNEL | 1167 | select CPU_SUPPORTS_32BIT_KERNEL | 
| 1162 | select CPU_SUPPORTS_64BIT_KERNEL | 1168 | select CPU_SUPPORTS_64BIT_KERNEL | 
| 1163 | help | 1169 | help | 
| @@ -1166,6 +1172,7 @@ config CPU_R4300 | |||
| 1166 | config CPU_R4X00 | 1172 | config CPU_R4X00 | 
| 1167 | bool "R4x00" | 1173 | bool "R4x00" | 
| 1168 | depends on SYS_HAS_CPU_R4X00 | 1174 | depends on SYS_HAS_CPU_R4X00 | 
| 1175 | select CPU_HAS_LLSC | ||
| 1169 | select CPU_SUPPORTS_32BIT_KERNEL | 1176 | select CPU_SUPPORTS_32BIT_KERNEL | 
| 1170 | select CPU_SUPPORTS_64BIT_KERNEL | 1177 | select CPU_SUPPORTS_64BIT_KERNEL | 
| 1171 | help | 1178 | help | 
| @@ -1175,6 +1182,7 @@ config CPU_R4X00 | |||
| 1175 | config CPU_TX49XX | 1182 | config CPU_TX49XX | 
| 1176 | bool "R49XX" | 1183 | bool "R49XX" | 
| 1177 | depends on SYS_HAS_CPU_TX49XX | 1184 | depends on SYS_HAS_CPU_TX49XX | 
| 1185 | select CPU_HAS_LLSC | ||
| 1178 | select CPU_HAS_PREFETCH | 1186 | select CPU_HAS_PREFETCH | 
| 1179 | select CPU_SUPPORTS_32BIT_KERNEL | 1187 | select CPU_SUPPORTS_32BIT_KERNEL | 
| 1180 | select CPU_SUPPORTS_64BIT_KERNEL | 1188 | select CPU_SUPPORTS_64BIT_KERNEL | 
| @@ -1182,6 +1190,7 @@ config CPU_TX49XX | |||
| 1182 | config CPU_R5000 | 1190 | config CPU_R5000 | 
| 1183 | bool "R5000" | 1191 | bool "R5000" | 
| 1184 | depends on SYS_HAS_CPU_R5000 | 1192 | depends on SYS_HAS_CPU_R5000 | 
| 1193 | select CPU_HAS_LLSC | ||
| 1185 | select CPU_SUPPORTS_32BIT_KERNEL | 1194 | select CPU_SUPPORTS_32BIT_KERNEL | 
| 1186 | select CPU_SUPPORTS_64BIT_KERNEL | 1195 | select CPU_SUPPORTS_64BIT_KERNEL | 
| 1187 | help | 1196 | help | 
| @@ -1190,12 +1199,14 @@ config CPU_R5000 | |||
| 1190 | config CPU_R5432 | 1199 | config CPU_R5432 | 
| 1191 | bool "R5432" | 1200 | bool "R5432" | 
| 1192 | depends on SYS_HAS_CPU_R5432 | 1201 | depends on SYS_HAS_CPU_R5432 | 
| 1202 | select CPU_HAS_LLSC | ||
| 1193 | select CPU_SUPPORTS_32BIT_KERNEL | 1203 | select CPU_SUPPORTS_32BIT_KERNEL | 
| 1194 | select CPU_SUPPORTS_64BIT_KERNEL | 1204 | select CPU_SUPPORTS_64BIT_KERNEL | 
| 1195 | 1205 | ||
| 1196 | config CPU_R6000 | 1206 | config CPU_R6000 | 
| 1197 | bool "R6000" | 1207 | bool "R6000" | 
| 1198 | depends on EXPERIMENTAL | 1208 | depends on EXPERIMENTAL | 
| 1209 | select CPU_HAS_LLSC | ||
| 1199 | depends on SYS_HAS_CPU_R6000 | 1210 | depends on SYS_HAS_CPU_R6000 | 
| 1200 | select CPU_SUPPORTS_32BIT_KERNEL | 1211 | select CPU_SUPPORTS_32BIT_KERNEL | 
| 1201 | help | 1212 | help | 
| @@ -1205,6 +1216,7 @@ config CPU_R6000 | |||
| 1205 | config CPU_NEVADA | 1216 | config CPU_NEVADA | 
| 1206 | bool "RM52xx" | 1217 | bool "RM52xx" | 
| 1207 | depends on SYS_HAS_CPU_NEVADA | 1218 | depends on SYS_HAS_CPU_NEVADA | 
| 1219 | select CPU_HAS_LLSC | ||
| 1208 | select CPU_SUPPORTS_32BIT_KERNEL | 1220 | select CPU_SUPPORTS_32BIT_KERNEL | 
| 1209 | select CPU_SUPPORTS_64BIT_KERNEL | 1221 | select CPU_SUPPORTS_64BIT_KERNEL | 
| 1210 | help | 1222 | help | 
| @@ -1214,6 +1226,7 @@ config CPU_R8000 | |||
| 1214 | bool "R8000" | 1226 | bool "R8000" | 
| 1215 | depends on EXPERIMENTAL | 1227 | depends on EXPERIMENTAL | 
| 1216 | depends on SYS_HAS_CPU_R8000 | 1228 | depends on SYS_HAS_CPU_R8000 | 
| 1229 | select CPU_HAS_LLSC | ||
| 1217 | select CPU_HAS_PREFETCH | 1230 | select CPU_HAS_PREFETCH | 
| 1218 | select CPU_SUPPORTS_64BIT_KERNEL | 1231 | select CPU_SUPPORTS_64BIT_KERNEL | 
| 1219 | help | 1232 | help | 
| @@ -1223,6 +1236,7 @@ config CPU_R8000 | |||
| 1223 | config CPU_R10000 | 1236 | config CPU_R10000 | 
| 1224 | bool "R10000" | 1237 | bool "R10000" | 
| 1225 | depends on SYS_HAS_CPU_R10000 | 1238 | depends on SYS_HAS_CPU_R10000 | 
| 1239 | select CPU_HAS_LLSC | ||
| 1226 | select CPU_HAS_PREFETCH | 1240 | select CPU_HAS_PREFETCH | 
| 1227 | select CPU_SUPPORTS_32BIT_KERNEL | 1241 | select CPU_SUPPORTS_32BIT_KERNEL | 
| 1228 | select CPU_SUPPORTS_64BIT_KERNEL | 1242 | select CPU_SUPPORTS_64BIT_KERNEL | 
| @@ -1233,6 +1247,7 @@ config CPU_R10000 | |||
| 1233 | config CPU_RM7000 | 1247 | config CPU_RM7000 | 
| 1234 | bool "RM7000" | 1248 | bool "RM7000" | 
| 1235 | depends on SYS_HAS_CPU_RM7000 | 1249 | depends on SYS_HAS_CPU_RM7000 | 
| 1250 | select CPU_HAS_LLSC | ||
| 1236 | select CPU_HAS_PREFETCH | 1251 | select CPU_HAS_PREFETCH | 
| 1237 | select CPU_SUPPORTS_32BIT_KERNEL | 1252 | select CPU_SUPPORTS_32BIT_KERNEL | 
| 1238 | select CPU_SUPPORTS_64BIT_KERNEL | 1253 | select CPU_SUPPORTS_64BIT_KERNEL | 
| @@ -1241,6 +1256,7 @@ config CPU_RM7000 | |||
| 1241 | config CPU_RM9000 | 1256 | config CPU_RM9000 | 
| 1242 | bool "RM9000" | 1257 | bool "RM9000" | 
| 1243 | depends on SYS_HAS_CPU_RM9000 | 1258 | depends on SYS_HAS_CPU_RM9000 | 
| 1259 | select CPU_HAS_LLSC | ||
| 1244 | select CPU_HAS_PREFETCH | 1260 | select CPU_HAS_PREFETCH | 
| 1245 | select CPU_SUPPORTS_32BIT_KERNEL | 1261 | select CPU_SUPPORTS_32BIT_KERNEL | 
| 1246 | select CPU_SUPPORTS_64BIT_KERNEL | 1262 | select CPU_SUPPORTS_64BIT_KERNEL | 
| @@ -1249,6 +1265,7 @@ config CPU_RM9000 | |||
| 1249 | config CPU_SB1 | 1265 | config CPU_SB1 | 
| 1250 | bool "SB1" | 1266 | bool "SB1" | 
| 1251 | depends on SYS_HAS_CPU_SB1 | 1267 | depends on SYS_HAS_CPU_SB1 | 
| 1268 | select CPU_HAS_LLSC | ||
| 1252 | select CPU_SUPPORTS_32BIT_KERNEL | 1269 | select CPU_SUPPORTS_32BIT_KERNEL | 
| 1253 | select CPU_SUPPORTS_64BIT_KERNEL | 1270 | select CPU_SUPPORTS_64BIT_KERNEL | 
| 1254 | select CPU_SUPPORTS_HIGHMEM | 1271 | select CPU_SUPPORTS_HIGHMEM | 
| @@ -1449,6 +1466,8 @@ choice | |||
| 1449 | 1466 | ||
| 1450 | config MIPS_MT_SMTC | 1467 | config MIPS_MT_SMTC | 
| 1451 | bool "SMTC: Use all TCs on all VPEs for SMP" | 1468 | bool "SMTC: Use all TCs on all VPEs for SMP" | 
| 1469 | select CPU_MIPSR2_IRQ_VI | ||
| 1470 | select CPU_MIPSR2_SRS | ||
| 1452 | select SMP | 1471 | select SMP | 
| 1453 | 1472 | ||
| 1454 | config MIPS_MT_SMP | 1473 | config MIPS_MT_SMP | 
| @@ -1514,38 +1533,15 @@ config 64BIT_PHYS_ADDR | |||
| 1514 | bool "Support for 64-bit physical address space" | 1533 | bool "Support for 64-bit physical address space" | 
| 1515 | depends on (CPU_R4X00 || CPU_R5000 || CPU_RM7000 || CPU_RM9000 || CPU_R10000 || CPU_SB1 || CPU_MIPS32 || CPU_MIPS64) && 32BIT | 1534 | depends on (CPU_R4X00 || CPU_R5000 || CPU_RM7000 || CPU_RM9000 || CPU_R10000 || CPU_SB1 || CPU_MIPS32 || CPU_MIPS64) && 32BIT | 
| 1516 | 1535 | ||
| 1517 | config CPU_ADVANCED | ||
| 1518 | bool "Override CPU Options" | ||
| 1519 | depends on 32BIT | ||
| 1520 | help | ||
| 1521 | Saying yes here allows you to select support for various features | ||
| 1522 | your CPU may or may not have. Most people should say N here. | ||
| 1523 | |||
| 1524 | config CPU_HAS_LLSC | 1536 | config CPU_HAS_LLSC | 
| 1525 | bool "ll/sc Instructions available" if CPU_ADVANCED | 1537 | bool | 
| 1526 | default y if !CPU_ADVANCED && !CPU_R3000 && !CPU_VR41XX && !CPU_TX39XX | ||
| 1527 | help | ||
| 1528 | MIPS R4000 series and later provide the Load Linked (ll) | ||
| 1529 | and Store Conditional (sc) instructions. More information is | ||
| 1530 | available at <http://www.go-ecs.com/mips/miptek1.htm>. | ||
| 1531 | |||
| 1532 | Say Y here if your CPU has the ll and sc instructions. Say Y here | ||
| 1533 | for better performance, N if you don't know. You must say Y here | ||
| 1534 | for multiprocessor machines. | ||
| 1535 | 1538 | ||
| 1536 | config CPU_HAS_WB | 1539 | config CPU_HAS_WB | 
| 1537 | bool "Writeback Buffer available" if CPU_ADVANCED | 1540 | bool | 
| 1538 | default y if !CPU_ADVANCED && CPU_R3000 && MACH_DECSTATION | ||
| 1539 | help | ||
| 1540 | Say N here for slightly better performance. You must say Y here for | ||
| 1541 | machines which require flushing of write buffers in software. Saying | ||
| 1542 | Y is the safe option; N may result in kernel malfunction and crashes. | ||
| 1543 | |||
| 1544 | menu "MIPSR2 Interrupt handling" | ||
| 1545 | depends on CPU_MIPSR2 && CPU_ADVANCED | ||
| 1546 | 1541 | ||
| 1547 | config CPU_MIPSR2_IRQ_VI | 1542 | config CPU_MIPSR2_IRQ_VI | 
| 1548 | bool "Vectored interrupt mode" | 1543 | bool "Vectored interrupt mode" | 
| 1544 | depends on CPU_MIPSR2 | ||
| 1549 | help | 1545 | help | 
| 1550 | Vectored interrupt mode allowing faster dispatching of interrupts. | 1546 | Vectored interrupt mode allowing faster dispatching of interrupts. | 
| 1551 | The board support code needs to be written to take advantage of this | 1547 | The board support code needs to be written to take advantage of this | 
| @@ -1555,6 +1551,7 @@ config CPU_MIPSR2_IRQ_VI | |||
| 1555 | 1551 | ||
| 1556 | config CPU_MIPSR2_IRQ_EI | 1552 | config CPU_MIPSR2_IRQ_EI | 
| 1557 | bool "External interrupt controller mode" | 1553 | bool "External interrupt controller mode" | 
| 1554 | depends on CPU_MIPSR2 | ||
| 1558 | help | 1555 | help | 
| 1559 | Extended interrupt mode takes advantage of an external interrupt | 1556 | Extended interrupt mode takes advantage of an external interrupt | 
| 1560 | controller to allow fast dispatching from many possible interrupt | 1557 | controller to allow fast dispatching from many possible interrupt | 
| @@ -1568,7 +1565,6 @@ config CPU_MIPSR2_SRS | |||
| 1568 | Allow the kernel to use shadow register sets for fast interrupts. | 1565 | Allow the kernel to use shadow register sets for fast interrupts. | 
| 1569 | Interrupt handlers must be specially written to use shadow sets. | 1566 | Interrupt handlers must be specially written to use shadow sets. | 
| 1570 | Say N unless you know that shadow register set upport is needed. | 1567 | Say N unless you know that shadow register set upport is needed. | 
| 1571 | endmenu | ||
| 1572 | 1568 | ||
| 1573 | config CPU_HAS_SYNC | 1569 | config CPU_HAS_SYNC | 
| 1574 | bool | 1570 | bool | 
diff --git a/arch/mips/Kconfig.debug b/arch/mips/Kconfig.debug index d3c5cc3b9c9d..515f9e611307 100644 --- a/arch/mips/Kconfig.debug +++ b/arch/mips/Kconfig.debug  | |||
| @@ -6,7 +6,13 @@ config CROSSCOMPILE | |||
| 6 | bool "Are you using a crosscompiler" | 6 | bool "Are you using a crosscompiler" | 
| 7 | help | 7 | help | 
| 8 | Say Y here if you are compiling the kernel on a different | 8 | Say Y here if you are compiling the kernel on a different | 
| 9 | architecture than the one it is intended to run on. | 9 | architecture than the one it is intended to run on. This is just a | 
| 10 | convenience option which will select the appropriate value for | ||
| 11 | the CROSS_COMPILE make variable which otherwise has to be passed on | ||
| 12 | the command line from mips-linux-, mipsel-linux-, mips64-linux- and | ||
| 13 | mips64el-linux- as appropriate for a particular kernel configuration. | ||
| 14 | You will have to pass the value for CROSS_COMPILE manually if the | ||
| 15 | name prefix for your tools is different. | ||
| 10 | 16 | ||
| 11 | config CMDLINE | 17 | config CMDLINE | 
| 12 | string "Default kernel command string" | 18 | string "Default kernel command string" | 
diff --git a/arch/mips/Makefile b/arch/mips/Makefile index 69b9c1b8fafc..133900aca992 100644 --- a/arch/mips/Makefile +++ b/arch/mips/Makefile  | |||
| @@ -615,7 +615,10 @@ LDFLAGS += -m $(ld-emul) | |||
| 615 | ifdef CONFIG_MIPS | 615 | ifdef CONFIG_MIPS | 
| 616 | CHECKFLAGS += $(shell $(CC) $(CFLAGS) -dM -E -xc /dev/null | \ | 616 | CHECKFLAGS += $(shell $(CC) $(CFLAGS) -dM -E -xc /dev/null | \ | 
| 617 | egrep -vw '__GNUC_(MAJOR|MINOR|PATCHLEVEL)__' | \ | 617 | egrep -vw '__GNUC_(MAJOR|MINOR|PATCHLEVEL)__' | \ | 
| 618 | sed -e 's/^\#define /-D/' -e 's/ /="/' -e 's/$$/"/') | 618 | sed -e 's/^\#define /-D/' -e "s/ /='/" -e "s/$$/'/") | 
| 619 | ifdef CONFIG_64BIT | ||
| 620 | CHECKFLAGS += -m64 | ||
| 621 | endif | ||
| 619 | endif | 622 | endif | 
| 620 | 623 | ||
| 621 | OBJCOPYFLAGS += --remove-section=.reginfo | 624 | OBJCOPYFLAGS += --remove-section=.reginfo | 
diff --git a/arch/mips/configs/atlas_defconfig b/arch/mips/configs/atlas_defconfig index 9e1ae953e966..4b080bcb258f 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.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 | 
| 4 | # Fri Jan 27 15:39:52 2006 | 4 | # Mon Apr 24 14:50:55 2006 | 
| 5 | # | 5 | # | 
| 6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y | 
| 7 | 7 | ||
| @@ -64,6 +64,8 @@ CONFIG_MIPS_ATLAS=y | |||
| 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 
| 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 
| 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 
| 67 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
| 68 | CONFIG_GENERIC_HWEIGHT=y | ||
| 67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 69 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 
| 68 | CONFIG_DMA_NONCOHERENT=y | 70 | CONFIG_DMA_NONCOHERENT=y | 
| 69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 71 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 
| @@ -127,11 +129,11 @@ CONFIG_RM7000_CPU_SCACHE=y | |||
| 127 | CONFIG_CPU_HAS_PREFETCH=y | 129 | CONFIG_CPU_HAS_PREFETCH=y | 
| 128 | # CONFIG_MIPS_MT is not set | 130 | # CONFIG_MIPS_MT is not set | 
| 129 | # CONFIG_64BIT_PHYS_ADDR is not set | 131 | # CONFIG_64BIT_PHYS_ADDR is not set | 
| 130 | # CONFIG_CPU_ADVANCED is not set | ||
| 131 | CONFIG_CPU_HAS_LLSC=y | 132 | CONFIG_CPU_HAS_LLSC=y | 
| 132 | CONFIG_CPU_HAS_SYNC=y | 133 | CONFIG_CPU_HAS_SYNC=y | 
| 133 | CONFIG_GENERIC_HARDIRQS=y | 134 | CONFIG_GENERIC_HARDIRQS=y | 
| 134 | CONFIG_GENERIC_IRQ_PROBE=y | 135 | CONFIG_GENERIC_IRQ_PROBE=y | 
| 136 | CONFIG_CPU_SUPPORTS_HIGHMEM=y | ||
| 135 | CONFIG_ARCH_FLATMEM_ENABLE=y | 137 | CONFIG_ARCH_FLATMEM_ENABLE=y | 
| 136 | CONFIG_SELECT_MEMORY_MODEL=y | 138 | CONFIG_SELECT_MEMORY_MODEL=y | 
| 137 | CONFIG_FLATMEM_MANUAL=y | 139 | CONFIG_FLATMEM_MANUAL=y | 
| @@ -149,7 +151,6 @@ CONFIG_PREEMPT_NONE=y | |||
| 149 | # Code maturity level options | 151 | # Code maturity level options | 
| 150 | # | 152 | # | 
| 151 | CONFIG_EXPERIMENTAL=y | 153 | CONFIG_EXPERIMENTAL=y | 
| 152 | CONFIG_CLEAN_COMPILE=y | ||
| 153 | CONFIG_BROKEN_ON_SMP=y | 154 | CONFIG_BROKEN_ON_SMP=y | 
| 154 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 155 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 
| 155 | 156 | ||
| @@ -165,6 +166,7 @@ CONFIG_SYSVIPC=y | |||
| 165 | CONFIG_SYSCTL=y | 166 | CONFIG_SYSCTL=y | 
| 166 | # CONFIG_AUDIT is not set | 167 | # CONFIG_AUDIT is not set | 
| 167 | # CONFIG_IKCONFIG is not set | 168 | # CONFIG_IKCONFIG is not set | 
| 169 | CONFIG_RELAY=y | ||
| 168 | CONFIG_INITRAMFS_SOURCE="" | 170 | CONFIG_INITRAMFS_SOURCE="" | 
| 169 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 171 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 
| 170 | CONFIG_EMBEDDED=y | 172 | CONFIG_EMBEDDED=y | 
| @@ -178,10 +180,6 @@ CONFIG_BASE_FULL=y | |||
| 178 | CONFIG_FUTEX=y | 180 | CONFIG_FUTEX=y | 
| 179 | CONFIG_EPOLL=y | 181 | CONFIG_EPOLL=y | 
| 180 | CONFIG_SHMEM=y | 182 | CONFIG_SHMEM=y | 
| 181 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
| 182 | CONFIG_CC_ALIGN_LABELS=0 | ||
| 183 | CONFIG_CC_ALIGN_LOOPS=0 | ||
| 184 | CONFIG_CC_ALIGN_JUMPS=0 | ||
| 185 | CONFIG_SLAB=y | 183 | CONFIG_SLAB=y | 
| 186 | # CONFIG_TINY_SHMEM is not set | 184 | # CONFIG_TINY_SHMEM is not set | 
| 187 | CONFIG_BASE_SMALL=0 | 185 | CONFIG_BASE_SMALL=0 | 
| @@ -193,7 +191,6 @@ CONFIG_BASE_SMALL=0 | |||
| 193 | CONFIG_MODULES=y | 191 | CONFIG_MODULES=y | 
| 194 | CONFIG_MODULE_UNLOAD=y | 192 | CONFIG_MODULE_UNLOAD=y | 
| 195 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 193 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 
| 196 | CONFIG_OBSOLETE_MODPARM=y | ||
| 197 | CONFIG_MODVERSIONS=y | 194 | CONFIG_MODVERSIONS=y | 
| 198 | CONFIG_MODULE_SRCVERSION_ALL=y | 195 | CONFIG_MODULE_SRCVERSION_ALL=y | 
| 199 | CONFIG_KMOD=y | 196 | CONFIG_KMOD=y | 
| @@ -202,6 +199,8 @@ CONFIG_KMOD=y | |||
| 202 | # Block layer | 199 | # Block layer | 
| 203 | # | 200 | # | 
| 204 | # CONFIG_LBD is not set | 201 | # CONFIG_LBD is not set | 
| 202 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 203 | # CONFIG_LSF is not set | ||
| 205 | 204 | ||
| 206 | # | 205 | # | 
| 207 | # IO Schedulers | 206 | # IO Schedulers | 
| @@ -221,7 +220,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
| 221 | # | 220 | # | 
| 222 | CONFIG_HW_HAS_PCI=y | 221 | CONFIG_HW_HAS_PCI=y | 
| 223 | CONFIG_PCI=y | 222 | CONFIG_PCI=y | 
| 224 | CONFIG_PCI_LEGACY_PROC=y | ||
| 225 | CONFIG_MMU=y | 223 | CONFIG_MMU=y | 
| 226 | 224 | ||
| 227 | # | 225 | # | 
| @@ -249,6 +247,7 @@ CONFIG_NET=y | |||
| 249 | # | 247 | # | 
| 250 | # Networking options | 248 | # Networking options | 
| 251 | # | 249 | # | 
| 250 | # CONFIG_NETDEBUG is not set | ||
| 252 | CONFIG_PACKET=y | 251 | CONFIG_PACKET=y | 
| 253 | CONFIG_PACKET_MMAP=y | 252 | CONFIG_PACKET_MMAP=y | 
| 254 | CONFIG_UNIX=y | 253 | CONFIG_UNIX=y | 
| @@ -281,6 +280,7 @@ CONFIG_SYN_COOKIES=y | |||
| 281 | CONFIG_INET_AH=m | 280 | CONFIG_INET_AH=m | 
| 282 | CONFIG_INET_ESP=m | 281 | CONFIG_INET_ESP=m | 
| 283 | CONFIG_INET_IPCOMP=m | 282 | CONFIG_INET_IPCOMP=m | 
| 283 | CONFIG_INET_XFRM_TUNNEL=m | ||
| 284 | CONFIG_INET_TUNNEL=m | 284 | CONFIG_INET_TUNNEL=m | 
| 285 | CONFIG_INET_DIAG=y | 285 | CONFIG_INET_DIAG=y | 
| 286 | CONFIG_INET_TCP_DIAG=y | 286 | CONFIG_INET_TCP_DIAG=y | 
| @@ -322,9 +322,12 @@ CONFIG_IP_VS_NQ=m | |||
| 322 | CONFIG_IP_VS_FTP=m | 322 | CONFIG_IP_VS_FTP=m | 
| 323 | CONFIG_IPV6=m | 323 | CONFIG_IPV6=m | 
| 324 | CONFIG_IPV6_PRIVACY=y | 324 | CONFIG_IPV6_PRIVACY=y | 
| 325 | CONFIG_IPV6_ROUTER_PREF=y | ||
| 326 | CONFIG_IPV6_ROUTE_INFO=y | ||
| 325 | CONFIG_INET6_AH=m | 327 | CONFIG_INET6_AH=m | 
| 326 | CONFIG_INET6_ESP=m | 328 | CONFIG_INET6_ESP=m | 
| 327 | CONFIG_INET6_IPCOMP=m | 329 | CONFIG_INET6_IPCOMP=m | 
| 330 | CONFIG_INET6_XFRM_TUNNEL=m | ||
| 328 | CONFIG_INET6_TUNNEL=m | 331 | CONFIG_INET6_TUNNEL=m | 
| 329 | CONFIG_IPV6_TUNNEL=m | 332 | CONFIG_IPV6_TUNNEL=m | 
| 330 | CONFIG_NETFILTER=y | 333 | CONFIG_NETFILTER=y | 
| @@ -348,11 +351,14 @@ CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m | |||
| 348 | CONFIG_NETFILTER_XT_MATCH_CONNMARK=m | 351 | CONFIG_NETFILTER_XT_MATCH_CONNMARK=m | 
| 349 | CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m | 352 | CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m | 
| 350 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 353 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 
| 354 | CONFIG_NETFILTER_XT_MATCH_ESP=m | ||
| 351 | CONFIG_NETFILTER_XT_MATCH_HELPER=m | 355 | CONFIG_NETFILTER_XT_MATCH_HELPER=m | 
| 352 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | 356 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | 
| 353 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | 357 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | 
| 354 | CONFIG_NETFILTER_XT_MATCH_MAC=m | 358 | CONFIG_NETFILTER_XT_MATCH_MAC=m | 
| 355 | CONFIG_NETFILTER_XT_MATCH_MARK=m | 359 | CONFIG_NETFILTER_XT_MATCH_MARK=m | 
| 360 | CONFIG_NETFILTER_XT_MATCH_POLICY=m | ||
| 361 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m | ||
| 356 | CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m | 362 | CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m | 
| 357 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 363 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 
| 358 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 364 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 
| @@ -376,20 +382,19 @@ CONFIG_IP_NF_IRC=m | |||
| 376 | CONFIG_IP_NF_TFTP=m | 382 | CONFIG_IP_NF_TFTP=m | 
| 377 | CONFIG_IP_NF_AMANDA=m | 383 | CONFIG_IP_NF_AMANDA=m | 
| 378 | CONFIG_IP_NF_PPTP=m | 384 | CONFIG_IP_NF_PPTP=m | 
| 385 | CONFIG_IP_NF_H323=m | ||
| 379 | CONFIG_IP_NF_QUEUE=m | 386 | CONFIG_IP_NF_QUEUE=m | 
| 380 | CONFIG_IP_NF_IPTABLES=m | 387 | CONFIG_IP_NF_IPTABLES=m | 
| 381 | CONFIG_IP_NF_MATCH_IPRANGE=m | 388 | CONFIG_IP_NF_MATCH_IPRANGE=m | 
| 382 | CONFIG_IP_NF_MATCH_MULTIPORT=m | ||
| 383 | CONFIG_IP_NF_MATCH_TOS=m | 389 | CONFIG_IP_NF_MATCH_TOS=m | 
| 384 | CONFIG_IP_NF_MATCH_RECENT=m | 390 | CONFIG_IP_NF_MATCH_RECENT=m | 
| 385 | CONFIG_IP_NF_MATCH_ECN=m | 391 | CONFIG_IP_NF_MATCH_ECN=m | 
| 386 | CONFIG_IP_NF_MATCH_DSCP=m | 392 | CONFIG_IP_NF_MATCH_DSCP=m | 
| 387 | CONFIG_IP_NF_MATCH_AH_ESP=m | 393 | CONFIG_IP_NF_MATCH_AH=m | 
| 388 | CONFIG_IP_NF_MATCH_TTL=m | 394 | CONFIG_IP_NF_MATCH_TTL=m | 
| 389 | CONFIG_IP_NF_MATCH_OWNER=m | 395 | CONFIG_IP_NF_MATCH_OWNER=m | 
| 390 | CONFIG_IP_NF_MATCH_ADDRTYPE=m | 396 | CONFIG_IP_NF_MATCH_ADDRTYPE=m | 
| 391 | CONFIG_IP_NF_MATCH_HASHLIMIT=m | 397 | CONFIG_IP_NF_MATCH_HASHLIMIT=m | 
| 392 | CONFIG_IP_NF_MATCH_POLICY=m | ||
| 393 | CONFIG_IP_NF_FILTER=m | 398 | CONFIG_IP_NF_FILTER=m | 
| 394 | CONFIG_IP_NF_TARGET_REJECT=m | 399 | CONFIG_IP_NF_TARGET_REJECT=m | 
| 395 | CONFIG_IP_NF_TARGET_LOG=m | 400 | CONFIG_IP_NF_TARGET_LOG=m | 
| @@ -407,6 +412,7 @@ CONFIG_IP_NF_NAT_FTP=m | |||
| 407 | CONFIG_IP_NF_NAT_TFTP=m | 412 | CONFIG_IP_NF_NAT_TFTP=m | 
| 408 | CONFIG_IP_NF_NAT_AMANDA=m | 413 | CONFIG_IP_NF_NAT_AMANDA=m | 
| 409 | CONFIG_IP_NF_NAT_PPTP=m | 414 | CONFIG_IP_NF_NAT_PPTP=m | 
| 415 | CONFIG_IP_NF_NAT_H323=m | ||
| 410 | CONFIG_IP_NF_MANGLE=m | 416 | CONFIG_IP_NF_MANGLE=m | 
| 411 | CONFIG_IP_NF_TARGET_TOS=m | 417 | CONFIG_IP_NF_TARGET_TOS=m | 
| 412 | CONFIG_IP_NF_TARGET_ECN=m | 418 | CONFIG_IP_NF_TARGET_ECN=m | 
| @@ -427,12 +433,10 @@ CONFIG_IP6_NF_MATCH_RT=m | |||
| 427 | CONFIG_IP6_NF_MATCH_OPTS=m | 433 | CONFIG_IP6_NF_MATCH_OPTS=m | 
| 428 | CONFIG_IP6_NF_MATCH_FRAG=m | 434 | CONFIG_IP6_NF_MATCH_FRAG=m | 
| 429 | CONFIG_IP6_NF_MATCH_HL=m | 435 | CONFIG_IP6_NF_MATCH_HL=m | 
| 430 | CONFIG_IP6_NF_MATCH_MULTIPORT=m | ||
| 431 | CONFIG_IP6_NF_MATCH_OWNER=m | 436 | CONFIG_IP6_NF_MATCH_OWNER=m | 
| 432 | CONFIG_IP6_NF_MATCH_IPV6HEADER=m | 437 | CONFIG_IP6_NF_MATCH_IPV6HEADER=m | 
| 433 | CONFIG_IP6_NF_MATCH_AHESP=m | 438 | CONFIG_IP6_NF_MATCH_AH=m | 
| 434 | CONFIG_IP6_NF_MATCH_EUI64=m | 439 | CONFIG_IP6_NF_MATCH_EUI64=m | 
| 435 | CONFIG_IP6_NF_MATCH_POLICY=m | ||
| 436 | CONFIG_IP6_NF_FILTER=m | 440 | CONFIG_IP6_NF_FILTER=m | 
| 437 | CONFIG_IP6_NF_TARGET_LOG=m | 441 | CONFIG_IP6_NF_TARGET_LOG=m | 
| 438 | CONFIG_IP6_NF_TARGET_REJECT=m | 442 | CONFIG_IP6_NF_TARGET_REJECT=m | 
| @@ -478,6 +482,11 @@ CONFIG_IP_SCTP=m | |||
| 478 | # CONFIG_SCTP_HMAC_NONE is not set | 482 | # CONFIG_SCTP_HMAC_NONE is not set | 
| 479 | # CONFIG_SCTP_HMAC_SHA1 is not set | 483 | # CONFIG_SCTP_HMAC_SHA1 is not set | 
| 480 | CONFIG_SCTP_HMAC_MD5=y | 484 | CONFIG_SCTP_HMAC_MD5=y | 
| 485 | |||
| 486 | # | ||
| 487 | # TIPC Configuration (EXPERIMENTAL) | ||
| 488 | # | ||
| 489 | # CONFIG_TIPC is not set | ||
| 481 | # CONFIG_ATM is not set | 490 | # CONFIG_ATM is not set | 
| 482 | CONFIG_BRIDGE=m | 491 | CONFIG_BRIDGE=m | 
| 483 | CONFIG_VLAN_8021Q=m | 492 | CONFIG_VLAN_8021Q=m | 
| @@ -492,11 +501,6 @@ CONFIG_IPDDP_ENCAP=y | |||
| 492 | CONFIG_IPDDP_DECAP=y | 501 | CONFIG_IPDDP_DECAP=y | 
| 493 | # CONFIG_X25 is not set | 502 | # CONFIG_X25 is not set | 
| 494 | # CONFIG_LAPB is not set | 503 | # CONFIG_LAPB is not set | 
| 495 | |||
| 496 | # | ||
| 497 | # TIPC Configuration (EXPERIMENTAL) | ||
| 498 | # | ||
| 499 | # CONFIG_TIPC is not set | ||
| 500 | CONFIG_NET_DIVERT=y | 504 | CONFIG_NET_DIVERT=y | 
| 501 | # CONFIG_ECONET is not set | 505 | # CONFIG_ECONET is not set | 
| 502 | # CONFIG_WAN_ROUTER is not set | 506 | # CONFIG_WAN_ROUTER is not set | 
| @@ -556,6 +560,9 @@ CONFIG_IEEE80211=m | |||
| 556 | # CONFIG_IEEE80211_DEBUG is not set | 560 | # CONFIG_IEEE80211_DEBUG is not set | 
| 557 | CONFIG_IEEE80211_CRYPT_WEP=m | 561 | CONFIG_IEEE80211_CRYPT_WEP=m | 
| 558 | CONFIG_IEEE80211_CRYPT_CCMP=m | 562 | CONFIG_IEEE80211_CRYPT_CCMP=m | 
| 563 | CONFIG_IEEE80211_SOFTMAC=m | ||
| 564 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
| 565 | CONFIG_WIRELESS_EXT=y | ||
| 559 | 566 | ||
| 560 | # | 567 | # | 
| 561 | # Device Drivers | 568 | # Device Drivers | 
| @@ -694,9 +701,8 @@ CONFIG_SCSI_SYM53C8XX_2=y | |||
| 694 | CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=0 | 701 | CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=0 | 
| 695 | CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 | 702 | CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 | 
| 696 | CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 | 703 | CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 | 
| 697 | # CONFIG_SCSI_SYM53C8XX_IOMAPPED is not set | 704 | CONFIG_SCSI_SYM53C8XX_MMIO=y | 
| 698 | # CONFIG_SCSI_IPR is not set | 705 | # CONFIG_SCSI_IPR is not set | 
| 699 | # CONFIG_SCSI_QLOGIC_FC is not set | ||
| 700 | # CONFIG_SCSI_QLOGIC_1280 is not set | 706 | # CONFIG_SCSI_QLOGIC_1280 is not set | 
| 701 | # CONFIG_SCSI_QLA_FC is not set | 707 | # CONFIG_SCSI_QLA_FC is not set | 
| 702 | # CONFIG_SCSI_LPFC is not set | 708 | # CONFIG_SCSI_LPFC is not set | 
| @@ -715,6 +721,7 @@ CONFIG_MD_RAID0=m | |||
| 715 | CONFIG_MD_RAID1=m | 721 | CONFIG_MD_RAID1=m | 
| 716 | CONFIG_MD_RAID10=m | 722 | CONFIG_MD_RAID10=m | 
| 717 | CONFIG_MD_RAID5=m | 723 | CONFIG_MD_RAID5=m | 
| 724 | CONFIG_MD_RAID5_RESHAPE=y | ||
| 718 | CONFIG_MD_RAID6=m | 725 | CONFIG_MD_RAID6=m | 
| 719 | CONFIG_MD_MULTIPATH=m | 726 | CONFIG_MD_MULTIPATH=m | 
| 720 | CONFIG_MD_FAULTY=m | 727 | CONFIG_MD_FAULTY=m | 
| @@ -921,6 +928,7 @@ CONFIG_HW_CONSOLE=y | |||
| 921 | # | 928 | # | 
| 922 | CONFIG_SERIAL_8250=y | 929 | CONFIG_SERIAL_8250=y | 
| 923 | CONFIG_SERIAL_8250_CONSOLE=y | 930 | CONFIG_SERIAL_8250_CONSOLE=y | 
| 931 | CONFIG_SERIAL_8250_PCI=m | ||
| 924 | CONFIG_SERIAL_8250_NR_UARTS=4 | 932 | CONFIG_SERIAL_8250_NR_UARTS=4 | 
| 925 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 933 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 
| 926 | # CONFIG_SERIAL_8250_EXTENDED is not set | 934 | # CONFIG_SERIAL_8250_EXTENDED is not set | 
| @@ -930,6 +938,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | |||
| 930 | # | 938 | # | 
| 931 | CONFIG_SERIAL_CORE=y | 939 | CONFIG_SERIAL_CORE=y | 
| 932 | CONFIG_SERIAL_CORE_CONSOLE=y | 940 | CONFIG_SERIAL_CORE_CONSOLE=y | 
| 941 | # CONFIG_SERIAL_JSM is not set | ||
| 933 | CONFIG_UNIX98_PTYS=y | 942 | CONFIG_UNIX98_PTYS=y | 
| 934 | CONFIG_LEGACY_PTYS=y | 943 | CONFIG_LEGACY_PTYS=y | 
| 935 | CONFIG_LEGACY_PTY_COUNT=256 | 944 | CONFIG_LEGACY_PTY_COUNT=256 | 
| @@ -988,10 +997,6 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
| 988 | # | 997 | # | 
| 989 | 998 | ||
| 990 | # | 999 | # | 
| 991 | # Multimedia Capabilities Port drivers | ||
| 992 | # | ||
| 993 | |||
| 994 | # | ||
| 995 | # Multimedia devices | 1000 | # Multimedia devices | 
| 996 | # | 1001 | # | 
| 997 | # CONFIG_VIDEO_DEV is not set | 1002 | # CONFIG_VIDEO_DEV is not set | 
| @@ -1022,6 +1027,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
| 1022 | # | 1027 | # | 
| 1023 | CONFIG_USB_ARCH_HAS_HCD=y | 1028 | CONFIG_USB_ARCH_HAS_HCD=y | 
| 1024 | CONFIG_USB_ARCH_HAS_OHCI=y | 1029 | CONFIG_USB_ARCH_HAS_OHCI=y | 
| 1030 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
| 1025 | # CONFIG_USB is not set | 1031 | # CONFIG_USB is not set | 
| 1026 | 1032 | ||
| 1027 | # | 1033 | # | 
| @@ -1039,13 +1045,31 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
| 1039 | # CONFIG_MMC is not set | 1045 | # CONFIG_MMC is not set | 
| 1040 | 1046 | ||
| 1041 | # | 1047 | # | 
| 1048 | # LED devices | ||
| 1049 | # | ||
| 1050 | # CONFIG_NEW_LEDS is not set | ||
| 1051 | |||
| 1052 | # | ||
| 1053 | # LED drivers | ||
| 1054 | # | ||
| 1055 | |||
| 1056 | # | ||
| 1057 | # LED Triggers | ||
| 1058 | # | ||
| 1059 | |||
| 1060 | # | ||
| 1042 | # InfiniBand support | 1061 | # InfiniBand support | 
| 1043 | # | 1062 | # | 
| 1044 | # CONFIG_INFINIBAND is not set | 1063 | # CONFIG_INFINIBAND is not set | 
| 1045 | 1064 | ||
| 1046 | # | 1065 | # | 
| 1047 | # SN Devices | 1066 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | 
| 1067 | # | ||
| 1068 | |||
| 1069 | # | ||
| 1070 | # Real Time Clock | ||
| 1048 | # | 1071 | # | 
| 1072 | # CONFIG_RTC_CLASS is not set | ||
| 1049 | 1073 | ||
| 1050 | # | 1074 | # | 
| 1051 | # File systems | 1075 | # File systems | 
| @@ -1120,7 +1144,6 @@ CONFIG_SYSFS=y | |||
| 1120 | # CONFIG_TMPFS is not set | 1144 | # CONFIG_TMPFS is not set | 
| 1121 | # CONFIG_HUGETLB_PAGE is not set | 1145 | # CONFIG_HUGETLB_PAGE is not set | 
| 1122 | CONFIG_RAMFS=y | 1146 | CONFIG_RAMFS=y | 
| 1123 | CONFIG_RELAYFS_FS=m | ||
| 1124 | # CONFIG_CONFIGFS_FS is not set | 1147 | # CONFIG_CONFIGFS_FS is not set | 
| 1125 | 1148 | ||
| 1126 | # | 1149 | # | 
| @@ -1140,7 +1163,6 @@ CONFIG_VXFS_FS=m | |||
| 1140 | # CONFIG_QNX4FS_FS is not set | 1163 | # CONFIG_QNX4FS_FS is not set | 
| 1141 | CONFIG_SYSV_FS=m | 1164 | CONFIG_SYSV_FS=m | 
| 1142 | CONFIG_UFS_FS=m | 1165 | CONFIG_UFS_FS=m | 
| 1143 | # CONFIG_UFS_FS_WRITE is not set | ||
| 1144 | 1166 | ||
| 1145 | # | 1167 | # | 
| 1146 | # Network File Systems | 1168 | # Network File Systems | 
| @@ -1232,6 +1254,7 @@ CONFIG_NLS_UTF8=m | |||
| 1232 | # CONFIG_MAGIC_SYSRQ is not set | 1254 | # CONFIG_MAGIC_SYSRQ is not set | 
| 1233 | # CONFIG_DEBUG_KERNEL is not set | 1255 | # CONFIG_DEBUG_KERNEL is not set | 
| 1234 | CONFIG_LOG_BUF_SHIFT=14 | 1256 | CONFIG_LOG_BUF_SHIFT=14 | 
| 1257 | # CONFIG_DEBUG_FS is not set | ||
| 1235 | CONFIG_CROSSCOMPILE=y | 1258 | CONFIG_CROSSCOMPILE=y | 
| 1236 | CONFIG_CMDLINE="" | 1259 | CONFIG_CMDLINE="" | 
| 1237 | 1260 | ||
diff --git a/arch/mips/configs/bigsur_defconfig b/arch/mips/configs/bigsur_defconfig index 32984100a75e..d85cda58d650 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.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 | 
| 4 | # Fri Jan 27 15:39:53 2006 | 4 | # Mon Apr 24 14:50:55 2006 | 
| 5 | # | 5 | # | 
| 6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y | 
| 7 | 7 | ||
| @@ -80,6 +80,8 @@ CONFIG_SIBYTE_CFE=y | |||
| 80 | # CONFIG_SIBYTE_SB1250_PROF is not set | 80 | # CONFIG_SIBYTE_SB1250_PROF is not set | 
| 81 | # CONFIG_SIBYTE_TBPROF is not set | 81 | # CONFIG_SIBYTE_TBPROF is not set | 
| 82 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 82 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 
| 83 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
| 84 | CONFIG_GENERIC_HWEIGHT=y | ||
| 83 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 85 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 
| 84 | CONFIG_DMA_COHERENT=y | 86 | CONFIG_DMA_COHERENT=y | 
| 85 | CONFIG_CPU_BIG_ENDIAN=y | 87 | CONFIG_CPU_BIG_ENDIAN=y | 
| @@ -154,7 +156,6 @@ CONFIG_PREEMPT_NONE=y | |||
| 154 | # Code maturity level options | 156 | # Code maturity level options | 
| 155 | # | 157 | # | 
| 156 | CONFIG_EXPERIMENTAL=y | 158 | CONFIG_EXPERIMENTAL=y | 
| 157 | CONFIG_CLEAN_COMPILE=y | ||
| 158 | CONFIG_LOCK_KERNEL=y | 159 | CONFIG_LOCK_KERNEL=y | 
| 159 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 160 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 
| 160 | 161 | ||
| @@ -172,6 +173,7 @@ CONFIG_SYSCTL=y | |||
| 172 | CONFIG_IKCONFIG=y | 173 | CONFIG_IKCONFIG=y | 
| 173 | CONFIG_IKCONFIG_PROC=y | 174 | CONFIG_IKCONFIG_PROC=y | 
| 174 | # CONFIG_CPUSETS is not set | 175 | # CONFIG_CPUSETS is not set | 
| 176 | # CONFIG_RELAY is not set | ||
| 175 | CONFIG_INITRAMFS_SOURCE="" | 177 | CONFIG_INITRAMFS_SOURCE="" | 
| 176 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 178 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 
| 177 | CONFIG_EMBEDDED=y | 179 | CONFIG_EMBEDDED=y | 
| @@ -186,10 +188,6 @@ CONFIG_BASE_FULL=y | |||
| 186 | CONFIG_FUTEX=y | 188 | CONFIG_FUTEX=y | 
| 187 | CONFIG_EPOLL=y | 189 | CONFIG_EPOLL=y | 
| 188 | CONFIG_SHMEM=y | 190 | CONFIG_SHMEM=y | 
| 189 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
| 190 | CONFIG_CC_ALIGN_LABELS=0 | ||
| 191 | CONFIG_CC_ALIGN_LOOPS=0 | ||
| 192 | CONFIG_CC_ALIGN_JUMPS=0 | ||
| 193 | CONFIG_SLAB=y | 191 | CONFIG_SLAB=y | 
| 194 | # CONFIG_TINY_SHMEM is not set | 192 | # CONFIG_TINY_SHMEM is not set | 
| 195 | CONFIG_BASE_SMALL=0 | 193 | CONFIG_BASE_SMALL=0 | 
| @@ -201,7 +199,6 @@ CONFIG_BASE_SMALL=0 | |||
| 201 | CONFIG_MODULES=y | 199 | CONFIG_MODULES=y | 
| 202 | CONFIG_MODULE_UNLOAD=y | 200 | CONFIG_MODULE_UNLOAD=y | 
| 203 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 201 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 
| 204 | CONFIG_OBSOLETE_MODPARM=y | ||
| 205 | CONFIG_MODVERSIONS=y | 202 | CONFIG_MODVERSIONS=y | 
| 206 | CONFIG_MODULE_SRCVERSION_ALL=y | 203 | CONFIG_MODULE_SRCVERSION_ALL=y | 
| 207 | CONFIG_KMOD=y | 204 | CONFIG_KMOD=y | 
| @@ -210,6 +207,7 @@ CONFIG_STOP_MACHINE=y | |||
| 210 | # | 207 | # | 
| 211 | # Block layer | 208 | # Block layer | 
| 212 | # | 209 | # | 
| 210 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 213 | 211 | ||
| 214 | # | 212 | # | 
| 215 | # IO Schedulers | 213 | # IO Schedulers | 
| @@ -230,7 +228,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
| 230 | CONFIG_HW_HAS_PCI=y | 228 | CONFIG_HW_HAS_PCI=y | 
| 231 | CONFIG_PCI=y | 229 | CONFIG_PCI=y | 
| 232 | CONFIG_PCI_DOMAINS=y | 230 | CONFIG_PCI_DOMAINS=y | 
| 233 | CONFIG_PCI_LEGACY_PROC=y | ||
| 234 | CONFIG_PCI_DEBUG=y | 231 | CONFIG_PCI_DEBUG=y | 
| 235 | CONFIG_MMU=y | 232 | CONFIG_MMU=y | 
| 236 | 233 | ||
| @@ -249,6 +246,7 @@ CONFIG_MMU=y | |||
| 249 | # | 246 | # | 
| 250 | CONFIG_BINFMT_ELF=y | 247 | CONFIG_BINFMT_ELF=y | 
| 251 | # CONFIG_BINFMT_MISC is not set | 248 | # CONFIG_BINFMT_MISC is not set | 
| 249 | CONFIG_BUILD_ELF64=y | ||
| 252 | CONFIG_MIPS32_COMPAT=y | 250 | CONFIG_MIPS32_COMPAT=y | 
| 253 | CONFIG_COMPAT=y | 251 | CONFIG_COMPAT=y | 
| 254 | CONFIG_MIPS32_O32=y | 252 | CONFIG_MIPS32_O32=y | 
| @@ -263,6 +261,7 @@ CONFIG_NET=y | |||
| 263 | # | 261 | # | 
| 264 | # Networking options | 262 | # Networking options | 
| 265 | # | 263 | # | 
| 264 | # CONFIG_NETDEBUG is not set | ||
| 266 | CONFIG_PACKET=y | 265 | CONFIG_PACKET=y | 
| 267 | CONFIG_PACKET_MMAP=y | 266 | CONFIG_PACKET_MMAP=y | 
| 268 | CONFIG_UNIX=y | 267 | CONFIG_UNIX=y | 
| @@ -284,12 +283,15 @@ CONFIG_IP_PNP_BOOTP=y | |||
| 284 | # CONFIG_INET_AH is not set | 283 | # CONFIG_INET_AH is not set | 
| 285 | # CONFIG_INET_ESP is not set | 284 | # CONFIG_INET_ESP is not set | 
| 286 | # CONFIG_INET_IPCOMP is not set | 285 | # CONFIG_INET_IPCOMP is not set | 
| 287 | CONFIG_INET_TUNNEL=m | 286 | # CONFIG_INET_XFRM_TUNNEL is not set | 
| 287 | # CONFIG_INET_TUNNEL is not set | ||
| 288 | CONFIG_INET_DIAG=y | 288 | CONFIG_INET_DIAG=y | 
| 289 | CONFIG_INET_TCP_DIAG=y | 289 | CONFIG_INET_TCP_DIAG=y | 
| 290 | # CONFIG_TCP_CONG_ADVANCED is not set | 290 | # CONFIG_TCP_CONG_ADVANCED is not set | 
| 291 | CONFIG_TCP_CONG_BIC=y | 291 | CONFIG_TCP_CONG_BIC=y | 
| 292 | # CONFIG_IPV6 is not set | 292 | # CONFIG_IPV6 is not set | 
| 293 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
| 294 | # CONFIG_INET6_TUNNEL is not set | ||
| 293 | # CONFIG_NETFILTER is not set | 295 | # CONFIG_NETFILTER is not set | 
| 294 | 296 | ||
| 295 | # | 297 | # | 
| @@ -301,6 +303,11 @@ CONFIG_TCP_CONG_BIC=y | |||
| 301 | # SCTP Configuration (EXPERIMENTAL) | 303 | # SCTP Configuration (EXPERIMENTAL) | 
| 302 | # | 304 | # | 
| 303 | # CONFIG_IP_SCTP is not set | 305 | # CONFIG_IP_SCTP is not set | 
| 306 | |||
| 307 | # | ||
| 308 | # TIPC Configuration (EXPERIMENTAL) | ||
| 309 | # | ||
| 310 | # CONFIG_TIPC is not set | ||
| 304 | # CONFIG_ATM is not set | 311 | # CONFIG_ATM is not set | 
| 305 | # CONFIG_BRIDGE is not set | 312 | # CONFIG_BRIDGE is not set | 
| 306 | # CONFIG_VLAN_8021Q is not set | 313 | # CONFIG_VLAN_8021Q is not set | 
| @@ -310,11 +317,6 @@ CONFIG_TCP_CONG_BIC=y | |||
| 310 | # CONFIG_ATALK is not set | 317 | # CONFIG_ATALK is not set | 
| 311 | # CONFIG_X25 is not set | 318 | # CONFIG_X25 is not set | 
| 312 | # CONFIG_LAPB is not set | 319 | # CONFIG_LAPB is not set | 
| 313 | |||
| 314 | # | ||
| 315 | # TIPC Configuration (EXPERIMENTAL) | ||
| 316 | # | ||
| 317 | # CONFIG_TIPC is not set | ||
| 318 | # CONFIG_NET_DIVERT is not set | 320 | # CONFIG_NET_DIVERT is not set | 
| 319 | # CONFIG_ECONET is not set | 321 | # CONFIG_ECONET is not set | 
| 320 | # CONFIG_WAN_ROUTER is not set | 322 | # CONFIG_WAN_ROUTER is not set | 
| @@ -377,7 +379,7 @@ CONFIG_BLK_DEV_LOOP=m | |||
| 377 | CONFIG_BLK_DEV_NBD=m | 379 | CONFIG_BLK_DEV_NBD=m | 
| 378 | # CONFIG_BLK_DEV_SX8 is not set | 380 | # CONFIG_BLK_DEV_SX8 is not set | 
| 379 | # CONFIG_BLK_DEV_RAM is not set | 381 | # CONFIG_BLK_DEV_RAM is not set | 
| 380 | CONFIG_BLK_DEV_RAM_COUNT=16 | 382 | # CONFIG_BLK_DEV_INITRD is not set | 
| 381 | # CONFIG_CDROM_PKTCDVD is not set | 383 | # CONFIG_CDROM_PKTCDVD is not set | 
| 382 | # CONFIG_ATA_OVER_ETH is not set | 384 | # CONFIG_ATA_OVER_ETH is not set | 
| 383 | 385 | ||
| @@ -575,6 +577,7 @@ CONFIG_SIBYTE_SB1250_DUART_CONSOLE=y | |||
| 575 | # | 577 | # | 
| 576 | # Non-8250 serial port support | 578 | # Non-8250 serial port support | 
| 577 | # | 579 | # | 
| 580 | # CONFIG_SERIAL_JSM is not set | ||
| 578 | CONFIG_UNIX98_PTYS=y | 581 | CONFIG_UNIX98_PTYS=y | 
| 579 | CONFIG_LEGACY_PTYS=y | 582 | CONFIG_LEGACY_PTYS=y | 
| 580 | CONFIG_LEGACY_PTY_COUNT=256 | 583 | CONFIG_LEGACY_PTY_COUNT=256 | 
| @@ -637,7 +640,6 @@ CONFIG_I2C_ALGO_SIBYTE=y | |||
| 637 | # CONFIG_I2C_PROSAVAGE is not set | 640 | # CONFIG_I2C_PROSAVAGE is not set | 
| 638 | # CONFIG_I2C_SAVAGE4 is not set | 641 | # CONFIG_I2C_SAVAGE4 is not set | 
| 639 | CONFIG_I2C_SIBYTE=y | 642 | CONFIG_I2C_SIBYTE=y | 
| 640 | # CONFIG_SCx200_ACB is not set | ||
| 641 | # CONFIG_I2C_SIS5595 is not set | 643 | # CONFIG_I2C_SIS5595 is not set | 
| 642 | # CONFIG_I2C_SIS630 is not set | 644 | # CONFIG_I2C_SIS630 is not set | 
| 643 | # CONFIG_I2C_SIS96X is not set | 645 | # CONFIG_I2C_SIS96X is not set | 
| @@ -656,9 +658,7 @@ CONFIG_SENSORS_EEPROM=y | |||
| 656 | CONFIG_SENSORS_PCF8574=y | 658 | CONFIG_SENSORS_PCF8574=y | 
| 657 | CONFIG_SENSORS_PCA9539=y | 659 | CONFIG_SENSORS_PCA9539=y | 
| 658 | CONFIG_SENSORS_PCF8591=y | 660 | CONFIG_SENSORS_PCF8591=y | 
| 659 | CONFIG_SENSORS_RTC8564=y | ||
| 660 | CONFIG_SENSORS_MAX6875=y | 661 | CONFIG_SENSORS_MAX6875=y | 
| 661 | # CONFIG_RTC_X1205_I2C is not set | ||
| 662 | CONFIG_I2C_DEBUG_CORE=y | 662 | CONFIG_I2C_DEBUG_CORE=y | 
| 663 | CONFIG_I2C_DEBUG_ALGO=y | 663 | CONFIG_I2C_DEBUG_ALGO=y | 
| 664 | CONFIG_I2C_DEBUG_BUS=y | 664 | CONFIG_I2C_DEBUG_BUS=y | 
| @@ -686,10 +686,6 @@ CONFIG_I2C_DEBUG_CHIP=y | |||
| 686 | # | 686 | # | 
| 687 | 687 | ||
| 688 | # | 688 | # | 
| 689 | # Multimedia Capabilities Port drivers | ||
| 690 | # | ||
| 691 | |||
| 692 | # | ||
| 693 | # Multimedia devices | 689 | # Multimedia devices | 
| 694 | # | 690 | # | 
| 695 | # CONFIG_VIDEO_DEV is not set | 691 | # CONFIG_VIDEO_DEV is not set | 
| @@ -714,6 +710,7 @@ CONFIG_I2C_DEBUG_CHIP=y | |||
| 714 | # | 710 | # | 
| 715 | CONFIG_USB_ARCH_HAS_HCD=y | 711 | CONFIG_USB_ARCH_HAS_HCD=y | 
| 716 | CONFIG_USB_ARCH_HAS_OHCI=y | 712 | CONFIG_USB_ARCH_HAS_OHCI=y | 
| 713 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
| 717 | # CONFIG_USB is not set | 714 | # CONFIG_USB is not set | 
| 718 | 715 | ||
| 719 | # | 716 | # | 
| @@ -731,13 +728,31 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
| 731 | # CONFIG_MMC is not set | 728 | # CONFIG_MMC is not set | 
| 732 | 729 | ||
| 733 | # | 730 | # | 
| 731 | # LED devices | ||
| 732 | # | ||
| 733 | # CONFIG_NEW_LEDS is not set | ||
| 734 | |||
| 735 | # | ||
| 736 | # LED drivers | ||
| 737 | # | ||
| 738 | |||
| 739 | # | ||
| 740 | # LED Triggers | ||
| 741 | # | ||
| 742 | |||
| 743 | # | ||
| 734 | # InfiniBand support | 744 | # InfiniBand support | 
| 735 | # | 745 | # | 
| 736 | # CONFIG_INFINIBAND is not set | 746 | # CONFIG_INFINIBAND is not set | 
| 737 | 747 | ||
| 738 | # | 748 | # | 
| 739 | # SN Devices | 749 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | 
| 750 | # | ||
| 751 | |||
| 752 | # | ||
| 753 | # Real Time Clock | ||
| 740 | # | 754 | # | 
| 755 | # CONFIG_RTC_CLASS is not set | ||
| 741 | 756 | ||
| 742 | # | 757 | # | 
| 743 | # File systems | 758 | # File systems | 
| @@ -785,7 +800,6 @@ CONFIG_SYSFS=y | |||
| 785 | # CONFIG_TMPFS is not set | 800 | # CONFIG_TMPFS is not set | 
| 786 | # CONFIG_HUGETLB_PAGE is not set | 801 | # CONFIG_HUGETLB_PAGE is not set | 
| 787 | CONFIG_RAMFS=y | 802 | CONFIG_RAMFS=y | 
| 788 | # CONFIG_RELAYFS_FS is not set | ||
| 789 | # CONFIG_CONFIGFS_FS is not set | 803 | # CONFIG_CONFIGFS_FS is not set | 
| 790 | 804 | ||
| 791 | # | 805 | # | 
diff --git a/arch/mips/configs/capcella_defconfig b/arch/mips/configs/capcella_defconfig index 6c2961affbd6..ca0af1683a00 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.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 | 
| 4 | # Fri Jan 27 15:39:54 2006 | 4 | # Tue Apr 25 00:08:06 2006 | 
| 5 | # | 5 | # | 
| 6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y | 
| 7 | 7 | ||
| @@ -72,6 +72,8 @@ CONFIG_ZAO_CAPCELLA=y | |||
| 72 | CONFIG_PCI_VR41XX=y | 72 | CONFIG_PCI_VR41XX=y | 
| 73 | # CONFIG_VRC4173 is not set | 73 | # CONFIG_VRC4173 is not set | 
| 74 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 74 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 
| 75 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
| 76 | CONFIG_GENERIC_HWEIGHT=y | ||
| 75 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 77 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 
| 76 | CONFIG_DMA_NONCOHERENT=y | 78 | CONFIG_DMA_NONCOHERENT=y | 
| 77 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 79 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 
| @@ -90,7 +92,7 @@ CONFIG_MIPS_L1_CACHE_SHIFT=5 | |||
| 90 | # CONFIG_CPU_MIPS64_R2 is not set | 92 | # CONFIG_CPU_MIPS64_R2 is not set | 
| 91 | # CONFIG_CPU_R3000 is not set | 93 | # CONFIG_CPU_R3000 is not set | 
| 92 | # CONFIG_CPU_TX39XX is not set | 94 | # CONFIG_CPU_TX39XX is not set | 
| 93 | # CONFIG_CPU_VR41XX is not set | 95 | CONFIG_CPU_VR41XX=y | 
| 94 | # CONFIG_CPU_R4300 is not set | 96 | # CONFIG_CPU_R4300 is not set | 
| 95 | # CONFIG_CPU_R4X00 is not set | 97 | # CONFIG_CPU_R4X00 is not set | 
| 96 | # CONFIG_CPU_TX49XX is not set | 98 | # CONFIG_CPU_TX49XX is not set | 
| @@ -103,18 +105,21 @@ CONFIG_MIPS_L1_CACHE_SHIFT=5 | |||
| 103 | # CONFIG_CPU_RM7000 is not set | 105 | # CONFIG_CPU_RM7000 is not set | 
| 104 | # CONFIG_CPU_RM9000 is not set | 106 | # CONFIG_CPU_RM9000 is not set | 
| 105 | # CONFIG_CPU_SB1 is not set | 107 | # CONFIG_CPU_SB1 is not set | 
| 108 | CONFIG_SYS_HAS_CPU_VR41XX=y | ||
| 109 | CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y | ||
| 110 | CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y | ||
| 111 | CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y | ||
| 106 | 112 | ||
| 107 | # | 113 | # | 
| 108 | # Kernel type | 114 | # Kernel type | 
| 109 | # | 115 | # | 
| 110 | # CONFIG_32BIT is not set | 116 | CONFIG_32BIT=y | 
| 111 | # CONFIG_64BIT is not set | 117 | # CONFIG_64BIT is not set | 
| 112 | CONFIG_PAGE_SIZE_4KB=y | 118 | CONFIG_PAGE_SIZE_4KB=y | 
| 113 | # CONFIG_PAGE_SIZE_8KB is not set | 119 | # CONFIG_PAGE_SIZE_8KB is not set | 
| 114 | # CONFIG_PAGE_SIZE_16KB is not set | 120 | # CONFIG_PAGE_SIZE_16KB is not set | 
| 115 | # CONFIG_PAGE_SIZE_64KB is not set | 121 | # CONFIG_PAGE_SIZE_64KB is not set | 
| 116 | # CONFIG_MIPS_MT is not set | 122 | # CONFIG_MIPS_MT is not set | 
| 117 | CONFIG_CPU_HAS_LLSC=y | ||
| 118 | CONFIG_CPU_HAS_SYNC=y | 123 | CONFIG_CPU_HAS_SYNC=y | 
| 119 | CONFIG_GENERIC_HARDIRQS=y | 124 | CONFIG_GENERIC_HARDIRQS=y | 
| 120 | CONFIG_GENERIC_IRQ_PROBE=y | 125 | CONFIG_GENERIC_IRQ_PROBE=y | 
| @@ -135,7 +140,6 @@ CONFIG_PREEMPT_NONE=y | |||
| 135 | # Code maturity level options | 140 | # Code maturity level options | 
| 136 | # | 141 | # | 
| 137 | CONFIG_EXPERIMENTAL=y | 142 | CONFIG_EXPERIMENTAL=y | 
| 138 | CONFIG_CLEAN_COMPILE=y | ||
| 139 | CONFIG_BROKEN_ON_SMP=y | 143 | CONFIG_BROKEN_ON_SMP=y | 
| 140 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 144 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 
| 141 | 145 | ||
| @@ -151,6 +155,7 @@ CONFIG_SYSVIPC=y | |||
| 151 | CONFIG_SYSCTL=y | 155 | CONFIG_SYSCTL=y | 
| 152 | # CONFIG_AUDIT is not set | 156 | # CONFIG_AUDIT is not set | 
| 153 | # CONFIG_IKCONFIG is not set | 157 | # CONFIG_IKCONFIG is not set | 
| 158 | # CONFIG_RELAY is not set | ||
| 154 | CONFIG_INITRAMFS_SOURCE="" | 159 | CONFIG_INITRAMFS_SOURCE="" | 
| 155 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 160 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 
| 156 | CONFIG_EMBEDDED=y | 161 | CONFIG_EMBEDDED=y | 
| @@ -164,10 +169,6 @@ CONFIG_BASE_FULL=y | |||
| 164 | CONFIG_FUTEX=y | 169 | CONFIG_FUTEX=y | 
| 165 | CONFIG_EPOLL=y | 170 | CONFIG_EPOLL=y | 
| 166 | CONFIG_SHMEM=y | 171 | CONFIG_SHMEM=y | 
| 167 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
| 168 | CONFIG_CC_ALIGN_LABELS=0 | ||
| 169 | CONFIG_CC_ALIGN_LOOPS=0 | ||
| 170 | CONFIG_CC_ALIGN_JUMPS=0 | ||
| 171 | CONFIG_SLAB=y | 172 | CONFIG_SLAB=y | 
| 172 | # CONFIG_TINY_SHMEM is not set | 173 | # CONFIG_TINY_SHMEM is not set | 
| 173 | CONFIG_BASE_SMALL=0 | 174 | CONFIG_BASE_SMALL=0 | 
| @@ -179,7 +180,6 @@ CONFIG_BASE_SMALL=0 | |||
| 179 | CONFIG_MODULES=y | 180 | CONFIG_MODULES=y | 
| 180 | CONFIG_MODULE_UNLOAD=y | 181 | CONFIG_MODULE_UNLOAD=y | 
| 181 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 182 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 
| 182 | CONFIG_OBSOLETE_MODPARM=y | ||
| 183 | CONFIG_MODVERSIONS=y | 183 | CONFIG_MODVERSIONS=y | 
| 184 | CONFIG_MODULE_SRCVERSION_ALL=y | 184 | CONFIG_MODULE_SRCVERSION_ALL=y | 
| 185 | CONFIG_KMOD=y | 185 | CONFIG_KMOD=y | 
| @@ -187,6 +187,9 @@ CONFIG_KMOD=y | |||
| 187 | # | 187 | # | 
| 188 | # Block layer | 188 | # Block layer | 
| 189 | # | 189 | # | 
| 190 | # CONFIG_LBD is not set | ||
| 191 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 192 | # CONFIG_LSF is not set | ||
| 190 | 193 | ||
| 191 | # | 194 | # | 
| 192 | # IO Schedulers | 195 | # IO Schedulers | 
| @@ -206,7 +209,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
| 206 | # | 209 | # | 
| 207 | CONFIG_HW_HAS_PCI=y | 210 | CONFIG_HW_HAS_PCI=y | 
| 208 | CONFIG_PCI=y | 211 | CONFIG_PCI=y | 
| 209 | CONFIG_PCI_LEGACY_PROC=y | ||
| 210 | CONFIG_MMU=y | 212 | CONFIG_MMU=y | 
| 211 | 213 | ||
| 212 | # | 214 | # | 
| @@ -224,6 +226,7 @@ CONFIG_MMU=y | |||
| 224 | # | 226 | # | 
| 225 | CONFIG_BINFMT_ELF=y | 227 | CONFIG_BINFMT_ELF=y | 
| 226 | # CONFIG_BINFMT_MISC is not set | 228 | # CONFIG_BINFMT_MISC is not set | 
| 229 | CONFIG_TRAD_SIGNALS=y | ||
| 227 | 230 | ||
| 228 | # | 231 | # | 
| 229 | # Networking | 232 | # Networking | 
| @@ -233,6 +236,7 @@ CONFIG_NET=y | |||
| 233 | # | 236 | # | 
| 234 | # Networking options | 237 | # Networking options | 
| 235 | # | 238 | # | 
| 239 | # CONFIG_NETDEBUG is not set | ||
| 236 | CONFIG_PACKET=y | 240 | CONFIG_PACKET=y | 
| 237 | CONFIG_PACKET_MMAP=y | 241 | CONFIG_PACKET_MMAP=y | 
| 238 | CONFIG_UNIX=y | 242 | CONFIG_UNIX=y | 
| @@ -255,12 +259,15 @@ CONFIG_IP_PNP_BOOTP=y | |||
| 255 | # CONFIG_INET_AH is not set | 259 | # CONFIG_INET_AH is not set | 
| 256 | # CONFIG_INET_ESP is not set | 260 | # CONFIG_INET_ESP is not set | 
| 257 | # CONFIG_INET_IPCOMP is not set | 261 | # CONFIG_INET_IPCOMP is not set | 
| 258 | CONFIG_INET_TUNNEL=m | 262 | # CONFIG_INET_XFRM_TUNNEL is not set | 
| 263 | # CONFIG_INET_TUNNEL is not set | ||
| 259 | CONFIG_INET_DIAG=y | 264 | CONFIG_INET_DIAG=y | 
| 260 | CONFIG_INET_TCP_DIAG=y | 265 | CONFIG_INET_TCP_DIAG=y | 
| 261 | # CONFIG_TCP_CONG_ADVANCED is not set | 266 | # CONFIG_TCP_CONG_ADVANCED is not set | 
| 262 | CONFIG_TCP_CONG_BIC=y | 267 | CONFIG_TCP_CONG_BIC=y | 
| 263 | # CONFIG_IPV6 is not set | 268 | # CONFIG_IPV6 is not set | 
| 269 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
| 270 | # CONFIG_INET6_TUNNEL is not set | ||
| 264 | # CONFIG_NETFILTER is not set | 271 | # CONFIG_NETFILTER is not set | 
| 265 | 272 | ||
| 266 | # | 273 | # | 
| @@ -272,6 +279,11 @@ CONFIG_TCP_CONG_BIC=y | |||
| 272 | # SCTP Configuration (EXPERIMENTAL) | 279 | # SCTP Configuration (EXPERIMENTAL) | 
| 273 | # | 280 | # | 
| 274 | # CONFIG_IP_SCTP is not set | 281 | # CONFIG_IP_SCTP is not set | 
| 282 | |||
| 283 | # | ||
| 284 | # TIPC Configuration (EXPERIMENTAL) | ||
| 285 | # | ||
| 286 | # CONFIG_TIPC is not set | ||
| 275 | # CONFIG_ATM is not set | 287 | # CONFIG_ATM is not set | 
| 276 | # CONFIG_BRIDGE is not set | 288 | # CONFIG_BRIDGE is not set | 
| 277 | # CONFIG_VLAN_8021Q is not set | 289 | # CONFIG_VLAN_8021Q is not set | 
| @@ -281,11 +293,6 @@ CONFIG_TCP_CONG_BIC=y | |||
| 281 | # CONFIG_ATALK is not set | 293 | # CONFIG_ATALK is not set | 
| 282 | # CONFIG_X25 is not set | 294 | # CONFIG_X25 is not set | 
| 283 | # CONFIG_LAPB is not set | 295 | # CONFIG_LAPB is not set | 
| 284 | |||
| 285 | # | ||
| 286 | # TIPC Configuration (EXPERIMENTAL) | ||
| 287 | # | ||
| 288 | # CONFIG_TIPC is not set | ||
| 289 | # CONFIG_NET_DIVERT is not set | 296 | # CONFIG_NET_DIVERT is not set | 
| 290 | # CONFIG_ECONET is not set | 297 | # CONFIG_ECONET is not set | 
| 291 | # CONFIG_WAN_ROUTER is not set | 298 | # CONFIG_WAN_ROUTER is not set | 
| @@ -302,10 +309,7 @@ CONFIG_TCP_CONG_BIC=y | |||
| 302 | # CONFIG_HAMRADIO is not set | 309 | # CONFIG_HAMRADIO is not set | 
| 303 | # CONFIG_IRDA is not set | 310 | # CONFIG_IRDA is not set | 
| 304 | # CONFIG_BT is not set | 311 | # CONFIG_BT is not set | 
| 305 | CONFIG_IEEE80211=m | 312 | # CONFIG_IEEE80211 is not set | 
| 306 | # CONFIG_IEEE80211_DEBUG is not set | ||
| 307 | CONFIG_IEEE80211_CRYPT_WEP=m | ||
| 308 | CONFIG_IEEE80211_CRYPT_CCMP=m | ||
| 309 | 313 | ||
| 310 | # | 314 | # | 
| 311 | # Device Drivers | 315 | # Device Drivers | 
| @@ -348,10 +352,12 @@ CONFIG_CONNECTOR=m | |||
| 348 | # CONFIG_BLK_DEV_LOOP is not set | 352 | # CONFIG_BLK_DEV_LOOP is not set | 
| 349 | # CONFIG_BLK_DEV_NBD is not set | 353 | # CONFIG_BLK_DEV_NBD is not set | 
| 350 | # CONFIG_BLK_DEV_SX8 is not set | 354 | # CONFIG_BLK_DEV_SX8 is not set | 
| 351 | # CONFIG_BLK_DEV_RAM is not set | 355 | CONFIG_BLK_DEV_RAM=y | 
| 352 | CONFIG_BLK_DEV_RAM_COUNT=16 | 356 | CONFIG_BLK_DEV_RAM_COUNT=16 | 
| 357 | CONFIG_BLK_DEV_RAM_SIZE=4096 | ||
| 358 | # CONFIG_BLK_DEV_INITRD is not set | ||
| 353 | # CONFIG_CDROM_PKTCDVD is not set | 359 | # CONFIG_CDROM_PKTCDVD is not set | 
| 354 | CONFIG_ATA_OVER_ETH=m | 360 | # CONFIG_ATA_OVER_ETH is not set | 
| 355 | 361 | ||
| 356 | # | 362 | # | 
| 357 | # ATA/ATAPI/MFM/RLL support | 363 | # ATA/ATAPI/MFM/RLL support | 
| @@ -578,6 +584,11 @@ CONFIG_HW_CONSOLE=y | |||
| 578 | # | 584 | # | 
| 579 | # Non-8250 serial port support | 585 | # Non-8250 serial port support | 
| 580 | # | 586 | # | 
| 587 | CONFIG_SERIAL_CORE=y | ||
| 588 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
| 589 | CONFIG_SERIAL_VR41XX=y | ||
| 590 | CONFIG_SERIAL_VR41XX_CONSOLE=y | ||
| 591 | # CONFIG_SERIAL_JSM is not set | ||
| 581 | CONFIG_UNIX98_PTYS=y | 592 | CONFIG_UNIX98_PTYS=y | 
| 582 | CONFIG_LEGACY_PTYS=y | 593 | CONFIG_LEGACY_PTYS=y | 
| 583 | CONFIG_LEGACY_PTY_COUNT=256 | 594 | CONFIG_LEGACY_PTY_COUNT=256 | 
| @@ -601,6 +612,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
| 601 | # Ftape, the floppy tape device driver | 612 | # Ftape, the floppy tape device driver | 
| 602 | # | 613 | # | 
| 603 | # CONFIG_DRM is not set | 614 | # CONFIG_DRM is not set | 
| 615 | CONFIG_GPIO_VR41XX=y | ||
| 604 | # CONFIG_RAW_DRIVER is not set | 616 | # CONFIG_RAW_DRIVER is not set | 
| 605 | 617 | ||
| 606 | # | 618 | # | 
| @@ -636,10 +648,6 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
| 636 | # | 648 | # | 
| 637 | 649 | ||
| 638 | # | 650 | # | 
| 639 | # Multimedia Capabilities Port drivers | ||
| 640 | # | ||
| 641 | |||
| 642 | # | ||
| 643 | # Multimedia devices | 651 | # Multimedia devices | 
| 644 | # | 652 | # | 
| 645 | # CONFIG_VIDEO_DEV is not set | 653 | # CONFIG_VIDEO_DEV is not set | 
| @@ -670,6 +678,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
| 670 | # | 678 | # | 
| 671 | CONFIG_USB_ARCH_HAS_HCD=y | 679 | CONFIG_USB_ARCH_HAS_HCD=y | 
| 672 | CONFIG_USB_ARCH_HAS_OHCI=y | 680 | CONFIG_USB_ARCH_HAS_OHCI=y | 
| 681 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
| 673 | # CONFIG_USB is not set | 682 | # CONFIG_USB is not set | 
| 674 | 683 | ||
| 675 | # | 684 | # | 
| @@ -687,13 +696,48 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
| 687 | # CONFIG_MMC is not set | 696 | # CONFIG_MMC is not set | 
| 688 | 697 | ||
| 689 | # | 698 | # | 
| 699 | # LED devices | ||
| 700 | # | ||
| 701 | # CONFIG_NEW_LEDS is not set | ||
| 702 | |||
| 703 | # | ||
| 704 | # LED drivers | ||
| 705 | # | ||
| 706 | |||
| 707 | # | ||
| 708 | # LED Triggers | ||
| 709 | # | ||
| 710 | |||
| 711 | # | ||
| 690 | # InfiniBand support | 712 | # InfiniBand support | 
| 691 | # | 713 | # | 
| 692 | # CONFIG_INFINIBAND is not set | 714 | # CONFIG_INFINIBAND is not set | 
| 693 | 715 | ||
| 694 | # | 716 | # | 
| 695 | # SN Devices | 717 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | 
| 718 | # | ||
| 719 | |||
| 720 | # | ||
| 721 | # Real Time Clock | ||
| 722 | # | ||
| 723 | CONFIG_RTC_LIB=y | ||
| 724 | CONFIG_RTC_CLASS=y | ||
| 725 | CONFIG_RTC_HCTOSYS=y | ||
| 726 | CONFIG_RTC_HCTOSYS_DEVICE="rtc0" | ||
| 727 | |||
| 728 | # | ||
| 729 | # RTC interfaces | ||
| 730 | # | ||
| 731 | CONFIG_RTC_INTF_SYSFS=y | ||
| 732 | CONFIG_RTC_INTF_PROC=y | ||
| 733 | CONFIG_RTC_INTF_DEV=y | ||
| 734 | |||
| 735 | # | ||
| 736 | # RTC drivers | ||
| 696 | # | 737 | # | 
| 738 | # CONFIG_RTC_DRV_M48T86 is not set | ||
| 739 | CONFIG_RTC_DRV_VR41XX=y | ||
| 740 | # CONFIG_RTC_DRV_TEST is not set | ||
| 697 | 741 | ||
| 698 | # | 742 | # | 
| 699 | # File systems | 743 | # File systems | 
| @@ -712,7 +756,7 @@ CONFIG_EXT2_FS=y | |||
| 712 | CONFIG_INOTIFY=y | 756 | CONFIG_INOTIFY=y | 
| 713 | # CONFIG_QUOTA is not set | 757 | # CONFIG_QUOTA is not set | 
| 714 | CONFIG_DNOTIFY=y | 758 | CONFIG_DNOTIFY=y | 
| 715 | CONFIG_AUTOFS_FS=y | 759 | # CONFIG_AUTOFS_FS is not set | 
| 716 | CONFIG_AUTOFS4_FS=y | 760 | CONFIG_AUTOFS4_FS=y | 
| 717 | CONFIG_FUSE_FS=m | 761 | CONFIG_FUSE_FS=m | 
| 718 | 762 | ||
| @@ -735,10 +779,9 @@ CONFIG_FUSE_FS=m | |||
| 735 | CONFIG_PROC_FS=y | 779 | CONFIG_PROC_FS=y | 
| 736 | CONFIG_PROC_KCORE=y | 780 | CONFIG_PROC_KCORE=y | 
| 737 | CONFIG_SYSFS=y | 781 | CONFIG_SYSFS=y | 
| 738 | # CONFIG_TMPFS is not set | 782 | CONFIG_TMPFS=y | 
| 739 | # CONFIG_HUGETLB_PAGE is not set | 783 | # CONFIG_HUGETLB_PAGE is not set | 
| 740 | CONFIG_RAMFS=y | 784 | CONFIG_RAMFS=y | 
| 741 | CONFIG_RELAYFS_FS=m | ||
| 742 | # CONFIG_CONFIGFS_FS is not set | 785 | # CONFIG_CONFIGFS_FS is not set | 
| 743 | 786 | ||
| 744 | # | 787 | # | 
| @@ -805,44 +848,20 @@ CONFIG_MSDOS_PARTITION=y | |||
| 805 | # CONFIG_MAGIC_SYSRQ is not set | 848 | # CONFIG_MAGIC_SYSRQ is not set | 
| 806 | # CONFIG_DEBUG_KERNEL is not set | 849 | # CONFIG_DEBUG_KERNEL is not set | 
| 807 | CONFIG_LOG_BUF_SHIFT=14 | 850 | CONFIG_LOG_BUF_SHIFT=14 | 
| 851 | # CONFIG_DEBUG_FS is not set | ||
| 808 | CONFIG_CROSSCOMPILE=y | 852 | CONFIG_CROSSCOMPILE=y | 
| 809 | CONFIG_CMDLINE="mem=32M console=ttyVR0,38400" | 853 | CONFIG_CMDLINE="mem=32M console=ttyVR0,38400" | 
| 810 | 854 | ||
| 811 | # | 855 | # | 
| 812 | # Security options | 856 | # Security options | 
| 813 | # | 857 | # | 
| 814 | CONFIG_KEYS=y | 858 | # CONFIG_KEYS is not set | 
| 815 | CONFIG_KEYS_DEBUG_PROC_KEYS=y | ||
| 816 | # CONFIG_SECURITY is not set | 859 | # CONFIG_SECURITY is not set | 
| 817 | 860 | ||
| 818 | # | 861 | # | 
| 819 | # Cryptographic options | 862 | # Cryptographic options | 
| 820 | # | 863 | # | 
| 821 | CONFIG_CRYPTO=y | 864 | # CONFIG_CRYPTO is not set | 
| 822 | CONFIG_CRYPTO_HMAC=y | ||
| 823 | CONFIG_CRYPTO_NULL=m | ||
| 824 | CONFIG_CRYPTO_MD4=m | ||
| 825 | CONFIG_CRYPTO_MD5=m | ||
| 826 | CONFIG_CRYPTO_SHA1=m | ||
| 827 | CONFIG_CRYPTO_SHA256=m | ||
| 828 | CONFIG_CRYPTO_SHA512=m | ||
| 829 | CONFIG_CRYPTO_WP512=m | ||
| 830 | CONFIG_CRYPTO_TGR192=m | ||
| 831 | CONFIG_CRYPTO_DES=m | ||
| 832 | CONFIG_CRYPTO_BLOWFISH=m | ||
| 833 | CONFIG_CRYPTO_TWOFISH=m | ||
| 834 | CONFIG_CRYPTO_SERPENT=m | ||
| 835 | CONFIG_CRYPTO_AES=m | ||
| 836 | CONFIG_CRYPTO_CAST5=m | ||
| 837 | CONFIG_CRYPTO_CAST6=m | ||
| 838 | CONFIG_CRYPTO_TEA=m | ||
| 839 | CONFIG_CRYPTO_ARC4=m | ||
| 840 | CONFIG_CRYPTO_KHAZAD=m | ||
| 841 | CONFIG_CRYPTO_ANUBIS=m | ||
| 842 | CONFIG_CRYPTO_DEFLATE=m | ||
| 843 | CONFIG_CRYPTO_MICHAEL_MIC=m | ||
| 844 | CONFIG_CRYPTO_CRC32C=m | ||
| 845 | # CONFIG_CRYPTO_TEST is not set | ||
| 846 | 865 | ||
| 847 | # | 866 | # | 
| 848 | # Hardware crypto devices | 867 | # Hardware crypto devices | 
| @@ -852,8 +871,6 @@ CONFIG_CRYPTO_CRC32C=m | |||
| 852 | # Library routines | 871 | # Library routines | 
| 853 | # | 872 | # | 
| 854 | # CONFIG_CRC_CCITT is not set | 873 | # CONFIG_CRC_CCITT is not set | 
| 855 | CONFIG_CRC16=m | 874 | # CONFIG_CRC16 is not set | 
| 856 | CONFIG_CRC32=y | 875 | CONFIG_CRC32=y | 
| 857 | CONFIG_LIBCRC32C=m | 876 | # CONFIG_LIBCRC32C is not set | 
| 858 | CONFIG_ZLIB_INFLATE=m | ||
| 859 | CONFIG_ZLIB_DEFLATE=m | ||
diff --git a/arch/mips/configs/cobalt_defconfig b/arch/mips/configs/cobalt_defconfig index 8336b21d3db2..7d269e609282 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.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 | 
| 4 | # Fri Jan 27 15:39:55 2006 | 4 | # Mon Apr 24 14:50:57 2006 | 
| 5 | # | 5 | # | 
| 6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y | 
| 7 | 7 | ||
| @@ -63,7 +63,10 @@ CONFIG_MIPS_COBALT=y | |||
| 63 | # CONFIG_TOSHIBA_JMR3927 is not set | 63 | # CONFIG_TOSHIBA_JMR3927 is not set | 
| 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 
| 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 
| 66 | CONFIG_EARLY_PRINTK=y | ||
| 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 67 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 
| 68 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
| 69 | CONFIG_GENERIC_HWEIGHT=y | ||
| 67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 70 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 
| 68 | CONFIG_DMA_NONCOHERENT=y | 71 | CONFIG_DMA_NONCOHERENT=y | 
| 69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 72 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 
| @@ -113,7 +116,6 @@ CONFIG_PAGE_SIZE_4KB=y | |||
| 113 | # CONFIG_PAGE_SIZE_16KB is not set | 116 | # CONFIG_PAGE_SIZE_16KB is not set | 
| 114 | # CONFIG_PAGE_SIZE_64KB is not set | 117 | # CONFIG_PAGE_SIZE_64KB is not set | 
| 115 | # CONFIG_MIPS_MT is not set | 118 | # CONFIG_MIPS_MT is not set | 
| 116 | # CONFIG_CPU_ADVANCED is not set | ||
| 117 | CONFIG_CPU_HAS_LLSC=y | 119 | CONFIG_CPU_HAS_LLSC=y | 
| 118 | CONFIG_CPU_HAS_SYNC=y | 120 | CONFIG_CPU_HAS_SYNC=y | 
| 119 | CONFIG_GENERIC_HARDIRQS=y | 121 | CONFIG_GENERIC_HARDIRQS=y | 
| @@ -135,7 +137,6 @@ CONFIG_PREEMPT_NONE=y | |||
| 135 | # Code maturity level options | 137 | # Code maturity level options | 
| 136 | # | 138 | # | 
| 137 | CONFIG_EXPERIMENTAL=y | 139 | CONFIG_EXPERIMENTAL=y | 
| 138 | CONFIG_CLEAN_COMPILE=y | ||
| 139 | CONFIG_BROKEN_ON_SMP=y | 140 | CONFIG_BROKEN_ON_SMP=y | 
| 140 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 141 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 
| 141 | 142 | ||
| @@ -151,6 +152,7 @@ CONFIG_SYSVIPC=y | |||
| 151 | CONFIG_SYSCTL=y | 152 | CONFIG_SYSCTL=y | 
| 152 | # CONFIG_AUDIT is not set | 153 | # CONFIG_AUDIT is not set | 
| 153 | # CONFIG_IKCONFIG is not set | 154 | # CONFIG_IKCONFIG is not set | 
| 155 | CONFIG_RELAY=y | ||
| 154 | CONFIG_INITRAMFS_SOURCE="" | 156 | CONFIG_INITRAMFS_SOURCE="" | 
| 155 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 157 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 
| 156 | CONFIG_EMBEDDED=y | 158 | CONFIG_EMBEDDED=y | 
| @@ -164,10 +166,6 @@ CONFIG_BASE_FULL=y | |||
| 164 | CONFIG_FUTEX=y | 166 | CONFIG_FUTEX=y | 
| 165 | CONFIG_EPOLL=y | 167 | CONFIG_EPOLL=y | 
| 166 | CONFIG_SHMEM=y | 168 | CONFIG_SHMEM=y | 
| 167 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
| 168 | CONFIG_CC_ALIGN_LABELS=0 | ||
| 169 | CONFIG_CC_ALIGN_LOOPS=0 | ||
| 170 | CONFIG_CC_ALIGN_JUMPS=0 | ||
| 171 | CONFIG_SLAB=y | 169 | CONFIG_SLAB=y | 
| 172 | # CONFIG_TINY_SHMEM is not set | 170 | # CONFIG_TINY_SHMEM is not set | 
| 173 | CONFIG_BASE_SMALL=0 | 171 | CONFIG_BASE_SMALL=0 | 
| @@ -182,6 +180,8 @@ CONFIG_BASE_SMALL=0 | |||
| 182 | # Block layer | 180 | # Block layer | 
| 183 | # | 181 | # | 
| 184 | # CONFIG_LBD is not set | 182 | # CONFIG_LBD is not set | 
| 183 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 184 | # CONFIG_LSF is not set | ||
| 185 | 185 | ||
| 186 | # | 186 | # | 
| 187 | # IO Schedulers | 187 | # IO Schedulers | 
| @@ -201,7 +201,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
| 201 | # | 201 | # | 
| 202 | CONFIG_HW_HAS_PCI=y | 202 | CONFIG_HW_HAS_PCI=y | 
| 203 | CONFIG_PCI=y | 203 | CONFIG_PCI=y | 
| 204 | CONFIG_PCI_LEGACY_PROC=y | ||
| 205 | CONFIG_MMU=y | 204 | CONFIG_MMU=y | 
| 206 | 205 | ||
| 207 | # | 206 | # | 
| @@ -229,6 +228,7 @@ CONFIG_NET=y | |||
| 229 | # | 228 | # | 
| 230 | # Networking options | 229 | # Networking options | 
| 231 | # | 230 | # | 
| 231 | # CONFIG_NETDEBUG is not set | ||
| 232 | CONFIG_PACKET=y | 232 | CONFIG_PACKET=y | 
| 233 | # CONFIG_PACKET_MMAP is not set | 233 | # CONFIG_PACKET_MMAP is not set | 
| 234 | CONFIG_UNIX=y | 234 | CONFIG_UNIX=y | 
| @@ -247,12 +247,15 @@ CONFIG_IP_FIB_HASH=y | |||
| 247 | # CONFIG_INET_AH is not set | 247 | # CONFIG_INET_AH is not set | 
| 248 | # CONFIG_INET_ESP is not set | 248 | # CONFIG_INET_ESP is not set | 
| 249 | # CONFIG_INET_IPCOMP is not set | 249 | # CONFIG_INET_IPCOMP is not set | 
| 250 | CONFIG_INET_TUNNEL=y | 250 | # CONFIG_INET_XFRM_TUNNEL is not set | 
| 251 | # CONFIG_INET_TUNNEL is not set | ||
| 251 | CONFIG_INET_DIAG=y | 252 | CONFIG_INET_DIAG=y | 
| 252 | CONFIG_INET_TCP_DIAG=y | 253 | CONFIG_INET_TCP_DIAG=y | 
| 253 | # CONFIG_TCP_CONG_ADVANCED is not set | 254 | # CONFIG_TCP_CONG_ADVANCED is not set | 
| 254 | CONFIG_TCP_CONG_BIC=y | 255 | CONFIG_TCP_CONG_BIC=y | 
| 255 | # CONFIG_IPV6 is not set | 256 | # CONFIG_IPV6 is not set | 
| 257 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
| 258 | # CONFIG_INET6_TUNNEL is not set | ||
| 256 | # CONFIG_NETFILTER is not set | 259 | # CONFIG_NETFILTER is not set | 
| 257 | 260 | ||
| 258 | # | 261 | # | 
| @@ -264,6 +267,11 @@ CONFIG_TCP_CONG_BIC=y | |||
| 264 | # SCTP Configuration (EXPERIMENTAL) | 267 | # SCTP Configuration (EXPERIMENTAL) | 
| 265 | # | 268 | # | 
| 266 | # CONFIG_IP_SCTP is not set | 269 | # CONFIG_IP_SCTP is not set | 
| 270 | |||
| 271 | # | ||
| 272 | # TIPC Configuration (EXPERIMENTAL) | ||
| 273 | # | ||
| 274 | # CONFIG_TIPC is not set | ||
| 267 | # CONFIG_ATM is not set | 275 | # CONFIG_ATM is not set | 
| 268 | # CONFIG_BRIDGE is not set | 276 | # CONFIG_BRIDGE is not set | 
| 269 | # CONFIG_VLAN_8021Q is not set | 277 | # CONFIG_VLAN_8021Q is not set | 
| @@ -273,11 +281,6 @@ CONFIG_TCP_CONG_BIC=y | |||
| 273 | # CONFIG_ATALK is not set | 281 | # CONFIG_ATALK is not set | 
| 274 | # CONFIG_X25 is not set | 282 | # CONFIG_X25 is not set | 
| 275 | # CONFIG_LAPB is not set | 283 | # CONFIG_LAPB is not set | 
| 276 | |||
| 277 | # | ||
| 278 | # TIPC Configuration (EXPERIMENTAL) | ||
| 279 | # | ||
| 280 | # CONFIG_TIPC is not set | ||
| 281 | # CONFIG_NET_DIVERT is not set | 284 | # CONFIG_NET_DIVERT is not set | 
| 282 | # CONFIG_ECONET is not set | 285 | # CONFIG_ECONET is not set | 
| 283 | # CONFIG_WAN_ROUTER is not set | 286 | # CONFIG_WAN_ROUTER is not set | 
| @@ -298,6 +301,9 @@ CONFIG_IEEE80211=y | |||
| 298 | # CONFIG_IEEE80211_DEBUG is not set | 301 | # CONFIG_IEEE80211_DEBUG is not set | 
| 299 | CONFIG_IEEE80211_CRYPT_WEP=y | 302 | CONFIG_IEEE80211_CRYPT_WEP=y | 
| 300 | CONFIG_IEEE80211_CRYPT_CCMP=y | 303 | CONFIG_IEEE80211_CRYPT_CCMP=y | 
| 304 | CONFIG_IEEE80211_SOFTMAC=y | ||
| 305 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
| 306 | CONFIG_WIRELESS_EXT=y | ||
| 301 | 307 | ||
| 302 | # | 308 | # | 
| 303 | # Device Drivers | 309 | # Device Drivers | 
| @@ -343,7 +349,7 @@ CONFIG_BLK_DEV_LOOP=y | |||
| 343 | # CONFIG_BLK_DEV_NBD is not set | 349 | # CONFIG_BLK_DEV_NBD is not set | 
| 344 | # CONFIG_BLK_DEV_SX8 is not set | 350 | # CONFIG_BLK_DEV_SX8 is not set | 
| 345 | # CONFIG_BLK_DEV_RAM is not set | 351 | # CONFIG_BLK_DEV_RAM is not set | 
| 346 | CONFIG_BLK_DEV_RAM_COUNT=16 | 352 | # CONFIG_BLK_DEV_INITRD is not set | 
| 347 | CONFIG_CDROM_PKTCDVD=y | 353 | CONFIG_CDROM_PKTCDVD=y | 
| 348 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 354 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 
| 349 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 355 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 
| @@ -593,6 +599,7 @@ CONFIG_HW_CONSOLE=y | |||
| 593 | # | 599 | # | 
| 594 | CONFIG_SERIAL_8250=y | 600 | CONFIG_SERIAL_8250=y | 
| 595 | CONFIG_SERIAL_8250_CONSOLE=y | 601 | CONFIG_SERIAL_8250_CONSOLE=y | 
| 602 | CONFIG_SERIAL_8250_PCI=y | ||
| 596 | CONFIG_SERIAL_8250_NR_UARTS=4 | 603 | CONFIG_SERIAL_8250_NR_UARTS=4 | 
| 597 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 604 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 
| 598 | # CONFIG_SERIAL_8250_EXTENDED is not set | 605 | # CONFIG_SERIAL_8250_EXTENDED is not set | 
| @@ -602,6 +609,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | |||
| 602 | # | 609 | # | 
| 603 | CONFIG_SERIAL_CORE=y | 610 | CONFIG_SERIAL_CORE=y | 
| 604 | CONFIG_SERIAL_CORE_CONSOLE=y | 611 | CONFIG_SERIAL_CORE_CONSOLE=y | 
| 612 | # CONFIG_SERIAL_JSM is not set | ||
| 605 | CONFIG_UNIX98_PTYS=y | 613 | CONFIG_UNIX98_PTYS=y | 
| 606 | CONFIG_LEGACY_PTYS=y | 614 | CONFIG_LEGACY_PTYS=y | 
| 607 | CONFIG_LEGACY_PTY_COUNT=256 | 615 | CONFIG_LEGACY_PTY_COUNT=256 | 
| @@ -660,10 +668,6 @@ CONFIG_COBALT_LCD=y | |||
| 660 | # | 668 | # | 
| 661 | 669 | ||
| 662 | # | 670 | # | 
| 663 | # Multimedia Capabilities Port drivers | ||
| 664 | # | ||
| 665 | |||
| 666 | # | ||
| 667 | # Multimedia devices | 671 | # Multimedia devices | 
| 668 | # | 672 | # | 
| 669 | # CONFIG_VIDEO_DEV is not set | 673 | # CONFIG_VIDEO_DEV is not set | 
| @@ -694,6 +698,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
| 694 | # | 698 | # | 
| 695 | CONFIG_USB_ARCH_HAS_HCD=y | 699 | CONFIG_USB_ARCH_HAS_HCD=y | 
| 696 | CONFIG_USB_ARCH_HAS_OHCI=y | 700 | CONFIG_USB_ARCH_HAS_OHCI=y | 
| 701 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
| 697 | # CONFIG_USB is not set | 702 | # CONFIG_USB is not set | 
| 698 | 703 | ||
| 699 | # | 704 | # | 
| @@ -711,13 +716,31 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
| 711 | # CONFIG_MMC is not set | 716 | # CONFIG_MMC is not set | 
| 712 | 717 | ||
| 713 | # | 718 | # | 
| 719 | # LED devices | ||
| 720 | # | ||
| 721 | # CONFIG_NEW_LEDS is not set | ||
| 722 | |||
| 723 | # | ||
| 724 | # LED drivers | ||
| 725 | # | ||
| 726 | |||
| 727 | # | ||
| 728 | # LED Triggers | ||
| 729 | # | ||
| 730 | |||
| 731 | # | ||
| 714 | # InfiniBand support | 732 | # InfiniBand support | 
| 715 | # | 733 | # | 
| 716 | # CONFIG_INFINIBAND is not set | 734 | # CONFIG_INFINIBAND is not set | 
| 717 | 735 | ||
| 718 | # | 736 | # | 
| 719 | # SN Devices | 737 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | 
| 738 | # | ||
| 739 | |||
| 740 | # | ||
| 741 | # Real Time Clock | ||
| 720 | # | 742 | # | 
| 743 | # CONFIG_RTC_CLASS is not set | ||
| 721 | 744 | ||
| 722 | # | 745 | # | 
| 723 | # File systems | 746 | # File systems | 
| @@ -765,7 +788,6 @@ CONFIG_SYSFS=y | |||
| 765 | # CONFIG_TMPFS is not set | 788 | # CONFIG_TMPFS is not set | 
| 766 | # CONFIG_HUGETLB_PAGE is not set | 789 | # CONFIG_HUGETLB_PAGE is not set | 
| 767 | CONFIG_RAMFS=y | 790 | CONFIG_RAMFS=y | 
| 768 | CONFIG_RELAYFS_FS=y | ||
| 769 | # CONFIG_CONFIGFS_FS is not set | 791 | # CONFIG_CONFIGFS_FS is not set | 
| 770 | 792 | ||
| 771 | # | 793 | # | 
| @@ -828,6 +850,8 @@ CONFIG_MSDOS_PARTITION=y | |||
| 828 | # CONFIG_MAGIC_SYSRQ is not set | 850 | # CONFIG_MAGIC_SYSRQ is not set | 
| 829 | # CONFIG_DEBUG_KERNEL is not set | 851 | # CONFIG_DEBUG_KERNEL is not set | 
| 830 | CONFIG_LOG_BUF_SHIFT=14 | 852 | CONFIG_LOG_BUF_SHIFT=14 | 
| 853 | # CONFIG_DEBUG_FS is not set | ||
| 854 | # CONFIG_UNWIND_INFO is not set | ||
| 831 | CONFIG_CROSSCOMPILE=y | 855 | CONFIG_CROSSCOMPILE=y | 
| 832 | CONFIG_CMDLINE="" | 856 | CONFIG_CMDLINE="" | 
| 833 | 857 | ||
diff --git a/arch/mips/configs/db1000_defconfig b/arch/mips/configs/db1000_defconfig index 7f071403c8e3..579b665e3339 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.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 | 
| 4 | # Fri Jan 27 15:39:56 2006 | 4 | # Mon Apr 24 14:50:57 2006 | 
| 5 | # | 5 | # | 
| 6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y | 
| 7 | 7 | ||
| @@ -64,6 +64,8 @@ CONFIG_MIPS_DB1000=y | |||
| 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 
| 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 
| 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 
| 67 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
| 68 | CONFIG_GENERIC_HWEIGHT=y | ||
| 67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 69 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 
| 68 | CONFIG_DMA_NONCOHERENT=y | 70 | CONFIG_DMA_NONCOHERENT=y | 
| 69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 71 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 
| @@ -114,11 +116,11 @@ CONFIG_PAGE_SIZE_4KB=y | |||
| 114 | CONFIG_CPU_HAS_PREFETCH=y | 116 | CONFIG_CPU_HAS_PREFETCH=y | 
| 115 | # CONFIG_MIPS_MT is not set | 117 | # CONFIG_MIPS_MT is not set | 
| 116 | CONFIG_64BIT_PHYS_ADDR=y | 118 | CONFIG_64BIT_PHYS_ADDR=y | 
| 117 | # CONFIG_CPU_ADVANCED is not set | ||
| 118 | CONFIG_CPU_HAS_LLSC=y | 119 | CONFIG_CPU_HAS_LLSC=y | 
| 119 | CONFIG_CPU_HAS_SYNC=y | 120 | CONFIG_CPU_HAS_SYNC=y | 
| 120 | CONFIG_GENERIC_HARDIRQS=y | 121 | CONFIG_GENERIC_HARDIRQS=y | 
| 121 | CONFIG_GENERIC_IRQ_PROBE=y | 122 | CONFIG_GENERIC_IRQ_PROBE=y | 
| 123 | CONFIG_CPU_SUPPORTS_HIGHMEM=y | ||
| 122 | CONFIG_ARCH_FLATMEM_ENABLE=y | 124 | CONFIG_ARCH_FLATMEM_ENABLE=y | 
| 123 | CONFIG_SELECT_MEMORY_MODEL=y | 125 | CONFIG_SELECT_MEMORY_MODEL=y | 
| 124 | CONFIG_FLATMEM_MANUAL=y | 126 | CONFIG_FLATMEM_MANUAL=y | 
| @@ -136,7 +138,6 @@ CONFIG_PREEMPT_NONE=y | |||
| 136 | # Code maturity level options | 138 | # Code maturity level options | 
| 137 | # | 139 | # | 
| 138 | CONFIG_EXPERIMENTAL=y | 140 | CONFIG_EXPERIMENTAL=y | 
| 139 | CONFIG_CLEAN_COMPILE=y | ||
| 140 | CONFIG_BROKEN_ON_SMP=y | 141 | CONFIG_BROKEN_ON_SMP=y | 
| 141 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 142 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 
| 142 | 143 | ||
| @@ -152,6 +153,7 @@ CONFIG_SYSVIPC=y | |||
| 152 | CONFIG_SYSCTL=y | 153 | CONFIG_SYSCTL=y | 
| 153 | # CONFIG_AUDIT is not set | 154 | # CONFIG_AUDIT is not set | 
| 154 | # CONFIG_IKCONFIG is not set | 155 | # CONFIG_IKCONFIG is not set | 
| 156 | CONFIG_RELAY=y | ||
| 155 | CONFIG_INITRAMFS_SOURCE="" | 157 | CONFIG_INITRAMFS_SOURCE="" | 
| 156 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 158 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 
| 157 | CONFIG_EMBEDDED=y | 159 | CONFIG_EMBEDDED=y | 
| @@ -165,10 +167,6 @@ CONFIG_BASE_FULL=y | |||
| 165 | CONFIG_FUTEX=y | 167 | CONFIG_FUTEX=y | 
| 166 | CONFIG_EPOLL=y | 168 | CONFIG_EPOLL=y | 
| 167 | CONFIG_SHMEM=y | 169 | CONFIG_SHMEM=y | 
| 168 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
| 169 | CONFIG_CC_ALIGN_LABELS=0 | ||
| 170 | CONFIG_CC_ALIGN_LOOPS=0 | ||
| 171 | CONFIG_CC_ALIGN_JUMPS=0 | ||
| 172 | CONFIG_SLAB=y | 170 | CONFIG_SLAB=y | 
| 173 | # CONFIG_TINY_SHMEM is not set | 171 | # CONFIG_TINY_SHMEM is not set | 
| 174 | CONFIG_BASE_SMALL=0 | 172 | CONFIG_BASE_SMALL=0 | 
| @@ -181,7 +179,6 @@ CONFIG_OBSOLETE_INTERMODULE=y | |||
| 181 | CONFIG_MODULES=y | 179 | CONFIG_MODULES=y | 
| 182 | CONFIG_MODULE_UNLOAD=y | 180 | CONFIG_MODULE_UNLOAD=y | 
| 183 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 181 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 
| 184 | CONFIG_OBSOLETE_MODPARM=y | ||
| 185 | CONFIG_MODVERSIONS=y | 182 | CONFIG_MODVERSIONS=y | 
| 186 | CONFIG_MODULE_SRCVERSION_ALL=y | 183 | CONFIG_MODULE_SRCVERSION_ALL=y | 
| 187 | CONFIG_KMOD=y | 184 | CONFIG_KMOD=y | 
| @@ -190,6 +187,8 @@ CONFIG_KMOD=y | |||
| 190 | # Block layer | 187 | # Block layer | 
| 191 | # | 188 | # | 
| 192 | # CONFIG_LBD is not set | 189 | # CONFIG_LBD is not set | 
| 190 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 191 | # CONFIG_LSF is not set | ||
| 193 | 192 | ||
| 194 | # | 193 | # | 
| 195 | # IO Schedulers | 194 | # IO Schedulers | 
| @@ -245,6 +244,7 @@ CONFIG_NET=y | |||
| 245 | # | 244 | # | 
| 246 | # Networking options | 245 | # Networking options | 
| 247 | # | 246 | # | 
| 247 | # CONFIG_NETDEBUG is not set | ||
| 248 | CONFIG_PACKET=y | 248 | CONFIG_PACKET=y | 
| 249 | # CONFIG_PACKET_MMAP is not set | 249 | # CONFIG_PACKET_MMAP is not set | 
| 250 | CONFIG_UNIX=y | 250 | CONFIG_UNIX=y | 
| @@ -267,7 +267,8 @@ CONFIG_IP_PNP_BOOTP=y | |||
| 267 | # CONFIG_INET_AH is not set | 267 | # CONFIG_INET_AH is not set | 
| 268 | # CONFIG_INET_ESP is not set | 268 | # CONFIG_INET_ESP is not set | 
| 269 | # CONFIG_INET_IPCOMP is not set | 269 | # CONFIG_INET_IPCOMP is not set | 
| 270 | CONFIG_INET_TUNNEL=m | 270 | # CONFIG_INET_XFRM_TUNNEL is not set | 
| 271 | # CONFIG_INET_TUNNEL is not set | ||
| 271 | CONFIG_INET_DIAG=y | 272 | CONFIG_INET_DIAG=y | 
| 272 | CONFIG_INET_TCP_DIAG=y | 273 | CONFIG_INET_TCP_DIAG=y | 
| 273 | # CONFIG_TCP_CONG_ADVANCED is not set | 274 | # CONFIG_TCP_CONG_ADVANCED is not set | 
| @@ -278,6 +279,8 @@ CONFIG_TCP_CONG_BIC=y | |||
| 278 | # | 279 | # | 
| 279 | # CONFIG_IP_VS is not set | 280 | # CONFIG_IP_VS is not set | 
| 280 | # CONFIG_IPV6 is not set | 281 | # CONFIG_IPV6 is not set | 
| 282 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
| 283 | # CONFIG_INET6_TUNNEL is not set | ||
| 281 | CONFIG_NETFILTER=y | 284 | CONFIG_NETFILTER=y | 
| 282 | # CONFIG_NETFILTER_DEBUG is not set | 285 | # CONFIG_NETFILTER_DEBUG is not set | 
| 283 | 286 | ||
| @@ -294,10 +297,13 @@ CONFIG_NETFILTER_XT_TARGET_MARK=m | |||
| 294 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | 297 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | 
| 295 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | 298 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | 
| 296 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 299 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 
| 300 | CONFIG_NETFILTER_XT_MATCH_ESP=m | ||
| 297 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | 301 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | 
| 298 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | 302 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | 
| 299 | CONFIG_NETFILTER_XT_MATCH_MAC=m | 303 | CONFIG_NETFILTER_XT_MATCH_MAC=m | 
| 300 | CONFIG_NETFILTER_XT_MATCH_MARK=m | 304 | CONFIG_NETFILTER_XT_MATCH_MARK=m | 
| 305 | CONFIG_NETFILTER_XT_MATCH_POLICY=m | ||
| 306 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m | ||
| 301 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 307 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 
| 302 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 308 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 
| 303 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | 309 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | 
| @@ -321,6 +327,11 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | |||
| 321 | # SCTP Configuration (EXPERIMENTAL) | 327 | # SCTP Configuration (EXPERIMENTAL) | 
| 322 | # | 328 | # | 
| 323 | # CONFIG_IP_SCTP is not set | 329 | # CONFIG_IP_SCTP is not set | 
| 330 | |||
| 331 | # | ||
| 332 | # TIPC Configuration (EXPERIMENTAL) | ||
| 333 | # | ||
| 334 | # CONFIG_TIPC is not set | ||
| 324 | # CONFIG_ATM is not set | 335 | # CONFIG_ATM is not set | 
| 325 | # CONFIG_BRIDGE is not set | 336 | # CONFIG_BRIDGE is not set | 
| 326 | # CONFIG_VLAN_8021Q is not set | 337 | # CONFIG_VLAN_8021Q is not set | 
| @@ -330,11 +341,6 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | |||
| 330 | # CONFIG_ATALK is not set | 341 | # CONFIG_ATALK is not set | 
| 331 | # CONFIG_X25 is not set | 342 | # CONFIG_X25 is not set | 
| 332 | # CONFIG_LAPB is not set | 343 | # CONFIG_LAPB is not set | 
| 333 | |||
| 334 | # | ||
| 335 | # TIPC Configuration (EXPERIMENTAL) | ||
| 336 | # | ||
| 337 | # CONFIG_TIPC is not set | ||
| 338 | # CONFIG_NET_DIVERT is not set | 344 | # CONFIG_NET_DIVERT is not set | 
| 339 | # CONFIG_ECONET is not set | 345 | # CONFIG_ECONET is not set | 
| 340 | # CONFIG_WAN_ROUTER is not set | 346 | # CONFIG_WAN_ROUTER is not set | 
| @@ -356,6 +362,9 @@ CONFIG_IEEE80211=m | |||
| 356 | # CONFIG_IEEE80211_DEBUG is not set | 362 | # CONFIG_IEEE80211_DEBUG is not set | 
| 357 | CONFIG_IEEE80211_CRYPT_WEP=m | 363 | CONFIG_IEEE80211_CRYPT_WEP=m | 
| 358 | CONFIG_IEEE80211_CRYPT_CCMP=m | 364 | CONFIG_IEEE80211_CRYPT_CCMP=m | 
| 365 | CONFIG_IEEE80211_SOFTMAC=m | ||
| 366 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
| 367 | CONFIG_WIRELESS_EXT=y | ||
| 359 | 368 | ||
| 360 | # | 369 | # | 
| 361 | # Device Drivers | 370 | # Device Drivers | 
| @@ -412,7 +421,6 @@ CONFIG_MTD_CFI_I2=y | |||
| 412 | # CONFIG_MTD_CFI_I8 is not set | 421 | # CONFIG_MTD_CFI_I8 is not set | 
| 413 | # CONFIG_MTD_CFI_INTELEXT is not set | 422 | # CONFIG_MTD_CFI_INTELEXT is not set | 
| 414 | CONFIG_MTD_CFI_AMDSTD=y | 423 | CONFIG_MTD_CFI_AMDSTD=y | 
| 415 | CONFIG_MTD_CFI_AMDSTD_RETRY=0 | ||
| 416 | # CONFIG_MTD_CFI_STAA is not set | 424 | # CONFIG_MTD_CFI_STAA is not set | 
| 417 | CONFIG_MTD_CFI_UTIL=y | 425 | CONFIG_MTD_CFI_UTIL=y | 
| 418 | # CONFIG_MTD_RAM is not set | 426 | # CONFIG_MTD_RAM is not set | 
| @@ -434,7 +442,6 @@ CONFIG_MTD_ALCHEMY=y | |||
| 434 | # CONFIG_MTD_SLRAM is not set | 442 | # CONFIG_MTD_SLRAM is not set | 
| 435 | # CONFIG_MTD_PHRAM is not set | 443 | # CONFIG_MTD_PHRAM is not set | 
| 436 | # CONFIG_MTD_MTDRAM is not set | 444 | # CONFIG_MTD_MTDRAM is not set | 
| 437 | # CONFIG_MTD_BLKMTD is not set | ||
| 438 | # CONFIG_MTD_BLOCK2MTD is not set | 445 | # CONFIG_MTD_BLOCK2MTD is not set | 
| 439 | 446 | ||
| 440 | # | 447 | # | 
| @@ -471,7 +478,7 @@ CONFIG_BLK_DEV_LOOP=y | |||
| 471 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | 478 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | 
| 472 | # CONFIG_BLK_DEV_NBD is not set | 479 | # CONFIG_BLK_DEV_NBD is not set | 
| 473 | # CONFIG_BLK_DEV_RAM is not set | 480 | # CONFIG_BLK_DEV_RAM is not set | 
| 474 | CONFIG_BLK_DEV_RAM_COUNT=16 | 481 | # CONFIG_BLK_DEV_INITRD is not set | 
| 475 | CONFIG_CDROM_PKTCDVD=m | 482 | CONFIG_CDROM_PKTCDVD=m | 
| 476 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 483 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 
| 477 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 484 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 
| @@ -722,10 +729,6 @@ CONFIG_SYNCLINK_CS=m | |||
| 722 | # | 729 | # | 
| 723 | 730 | ||
| 724 | # | 731 | # | 
| 725 | # Multimedia Capabilities Port drivers | ||
| 726 | # | ||
| 727 | |||
| 728 | # | ||
| 729 | # Multimedia devices | 732 | # Multimedia devices | 
| 730 | # | 733 | # | 
| 731 | # CONFIG_VIDEO_DEV is not set | 734 | # CONFIG_VIDEO_DEV is not set | 
| @@ -756,6 +759,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
| 756 | # | 759 | # | 
| 757 | CONFIG_USB_ARCH_HAS_HCD=y | 760 | CONFIG_USB_ARCH_HAS_HCD=y | 
| 758 | CONFIG_USB_ARCH_HAS_OHCI=y | 761 | CONFIG_USB_ARCH_HAS_OHCI=y | 
| 762 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
| 759 | # CONFIG_USB is not set | 763 | # CONFIG_USB is not set | 
| 760 | 764 | ||
| 761 | # | 765 | # | 
| @@ -773,12 +777,30 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
| 773 | # CONFIG_MMC is not set | 777 | # CONFIG_MMC is not set | 
| 774 | 778 | ||
| 775 | # | 779 | # | 
| 780 | # LED devices | ||
| 781 | # | ||
| 782 | # CONFIG_NEW_LEDS is not set | ||
| 783 | |||
| 784 | # | ||
| 785 | # LED drivers | ||
| 786 | # | ||
| 787 | |||
| 788 | # | ||
| 789 | # LED Triggers | ||
| 790 | # | ||
| 791 | |||
| 792 | # | ||
| 776 | # InfiniBand support | 793 | # InfiniBand support | 
| 777 | # | 794 | # | 
| 778 | 795 | ||
| 779 | # | 796 | # | 
| 780 | # SN Devices | 797 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | 
| 798 | # | ||
| 799 | |||
| 800 | # | ||
| 801 | # Real Time Clock | ||
| 781 | # | 802 | # | 
| 803 | # CONFIG_RTC_CLASS is not set | ||
| 782 | 804 | ||
| 783 | # | 805 | # | 
| 784 | # File systems | 806 | # File systems | 
| @@ -836,7 +858,6 @@ CONFIG_SYSFS=y | |||
| 836 | CONFIG_TMPFS=y | 858 | CONFIG_TMPFS=y | 
| 837 | # CONFIG_HUGETLB_PAGE is not set | 859 | # CONFIG_HUGETLB_PAGE is not set | 
| 838 | CONFIG_RAMFS=y | 860 | CONFIG_RAMFS=y | 
| 839 | CONFIG_RELAYFS_FS=m | ||
| 840 | # CONFIG_CONFIGFS_FS is not set | 861 | # CONFIG_CONFIGFS_FS is not set | 
| 841 | 862 | ||
| 842 | # | 863 | # | 
| @@ -945,6 +966,7 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
| 945 | # CONFIG_MAGIC_SYSRQ is not set | 966 | # CONFIG_MAGIC_SYSRQ is not set | 
| 946 | # CONFIG_DEBUG_KERNEL is not set | 967 | # CONFIG_DEBUG_KERNEL is not set | 
| 947 | CONFIG_LOG_BUF_SHIFT=14 | 968 | CONFIG_LOG_BUF_SHIFT=14 | 
| 969 | # CONFIG_DEBUG_FS is not set | ||
| 948 | CONFIG_CROSSCOMPILE=y | 970 | CONFIG_CROSSCOMPILE=y | 
| 949 | CONFIG_CMDLINE="" | 971 | CONFIG_CMDLINE="" | 
| 950 | 972 | ||
diff --git a/arch/mips/configs/db1100_defconfig b/arch/mips/configs/db1100_defconfig index 98590cac1ec5..e5eb53867422 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.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 | 
| 4 | # Fri Jan 27 15:39:57 2006 | 4 | # Mon Apr 24 14:50:58 2006 | 
| 5 | # | 5 | # | 
| 6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y | 
| 7 | 7 | ||
| @@ -64,6 +64,8 @@ CONFIG_MIPS_DB1100=y | |||
| 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 
| 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 
| 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 
| 67 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
| 68 | CONFIG_GENERIC_HWEIGHT=y | ||
| 67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 69 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 
| 68 | CONFIG_DMA_NONCOHERENT=y | 70 | CONFIG_DMA_NONCOHERENT=y | 
| 69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 71 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 
| @@ -114,11 +116,11 @@ CONFIG_PAGE_SIZE_4KB=y | |||
| 114 | CONFIG_CPU_HAS_PREFETCH=y | 116 | CONFIG_CPU_HAS_PREFETCH=y | 
| 115 | # CONFIG_MIPS_MT is not set | 117 | # CONFIG_MIPS_MT is not set | 
| 116 | CONFIG_64BIT_PHYS_ADDR=y | 118 | CONFIG_64BIT_PHYS_ADDR=y | 
| 117 | # CONFIG_CPU_ADVANCED is not set | ||
| 118 | CONFIG_CPU_HAS_LLSC=y | 119 | CONFIG_CPU_HAS_LLSC=y | 
| 119 | CONFIG_CPU_HAS_SYNC=y | 120 | CONFIG_CPU_HAS_SYNC=y | 
| 120 | CONFIG_GENERIC_HARDIRQS=y | 121 | CONFIG_GENERIC_HARDIRQS=y | 
| 121 | CONFIG_GENERIC_IRQ_PROBE=y | 122 | CONFIG_GENERIC_IRQ_PROBE=y | 
| 123 | CONFIG_CPU_SUPPORTS_HIGHMEM=y | ||
| 122 | CONFIG_ARCH_FLATMEM_ENABLE=y | 124 | CONFIG_ARCH_FLATMEM_ENABLE=y | 
| 123 | CONFIG_SELECT_MEMORY_MODEL=y | 125 | CONFIG_SELECT_MEMORY_MODEL=y | 
| 124 | CONFIG_FLATMEM_MANUAL=y | 126 | CONFIG_FLATMEM_MANUAL=y | 
| @@ -136,7 +138,6 @@ CONFIG_PREEMPT_NONE=y | |||
| 136 | # Code maturity level options | 138 | # Code maturity level options | 
| 137 | # | 139 | # | 
| 138 | CONFIG_EXPERIMENTAL=y | 140 | CONFIG_EXPERIMENTAL=y | 
| 139 | CONFIG_CLEAN_COMPILE=y | ||
| 140 | CONFIG_BROKEN_ON_SMP=y | 141 | CONFIG_BROKEN_ON_SMP=y | 
| 141 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 142 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 
| 142 | 143 | ||
| @@ -152,6 +153,7 @@ CONFIG_SYSVIPC=y | |||
| 152 | CONFIG_SYSCTL=y | 153 | CONFIG_SYSCTL=y | 
| 153 | # CONFIG_AUDIT is not set | 154 | # CONFIG_AUDIT is not set | 
| 154 | # CONFIG_IKCONFIG is not set | 155 | # CONFIG_IKCONFIG is not set | 
| 156 | CONFIG_RELAY=y | ||
| 155 | CONFIG_INITRAMFS_SOURCE="" | 157 | CONFIG_INITRAMFS_SOURCE="" | 
| 156 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 158 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 
| 157 | CONFIG_EMBEDDED=y | 159 | CONFIG_EMBEDDED=y | 
| @@ -165,10 +167,6 @@ CONFIG_BASE_FULL=y | |||
| 165 | CONFIG_FUTEX=y | 167 | CONFIG_FUTEX=y | 
| 166 | CONFIG_EPOLL=y | 168 | CONFIG_EPOLL=y | 
| 167 | CONFIG_SHMEM=y | 169 | CONFIG_SHMEM=y | 
| 168 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
| 169 | CONFIG_CC_ALIGN_LABELS=0 | ||
| 170 | CONFIG_CC_ALIGN_LOOPS=0 | ||
| 171 | CONFIG_CC_ALIGN_JUMPS=0 | ||
| 172 | CONFIG_SLAB=y | 170 | CONFIG_SLAB=y | 
| 173 | # CONFIG_TINY_SHMEM is not set | 171 | # CONFIG_TINY_SHMEM is not set | 
| 174 | CONFIG_BASE_SMALL=0 | 172 | CONFIG_BASE_SMALL=0 | 
| @@ -181,7 +179,6 @@ CONFIG_OBSOLETE_INTERMODULE=y | |||
| 181 | CONFIG_MODULES=y | 179 | CONFIG_MODULES=y | 
| 182 | CONFIG_MODULE_UNLOAD=y | 180 | CONFIG_MODULE_UNLOAD=y | 
| 183 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 181 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 
| 184 | CONFIG_OBSOLETE_MODPARM=y | ||
| 185 | CONFIG_MODVERSIONS=y | 182 | CONFIG_MODVERSIONS=y | 
| 186 | CONFIG_MODULE_SRCVERSION_ALL=y | 183 | CONFIG_MODULE_SRCVERSION_ALL=y | 
| 187 | CONFIG_KMOD=y | 184 | CONFIG_KMOD=y | 
| @@ -190,6 +187,8 @@ CONFIG_KMOD=y | |||
| 190 | # Block layer | 187 | # Block layer | 
| 191 | # | 188 | # | 
| 192 | # CONFIG_LBD is not set | 189 | # CONFIG_LBD is not set | 
| 190 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 191 | # CONFIG_LSF is not set | ||
| 193 | 192 | ||
| 194 | # | 193 | # | 
| 195 | # IO Schedulers | 194 | # IO Schedulers | 
| @@ -234,6 +233,7 @@ CONFIG_NET=y | |||
| 234 | # | 233 | # | 
| 235 | # Networking options | 234 | # Networking options | 
| 236 | # | 235 | # | 
| 236 | # CONFIG_NETDEBUG is not set | ||
| 237 | CONFIG_PACKET=y | 237 | CONFIG_PACKET=y | 
| 238 | # CONFIG_PACKET_MMAP is not set | 238 | # CONFIG_PACKET_MMAP is not set | 
| 239 | CONFIG_UNIX=y | 239 | CONFIG_UNIX=y | 
| @@ -256,7 +256,8 @@ CONFIG_IP_PNP_BOOTP=y | |||
| 256 | # CONFIG_INET_AH is not set | 256 | # CONFIG_INET_AH is not set | 
| 257 | # CONFIG_INET_ESP is not set | 257 | # CONFIG_INET_ESP is not set | 
| 258 | # CONFIG_INET_IPCOMP is not set | 258 | # CONFIG_INET_IPCOMP is not set | 
| 259 | CONFIG_INET_TUNNEL=m | 259 | # CONFIG_INET_XFRM_TUNNEL is not set | 
| 260 | # CONFIG_INET_TUNNEL is not set | ||
| 260 | CONFIG_INET_DIAG=y | 261 | CONFIG_INET_DIAG=y | 
| 261 | CONFIG_INET_TCP_DIAG=y | 262 | CONFIG_INET_TCP_DIAG=y | 
| 262 | # CONFIG_TCP_CONG_ADVANCED is not set | 263 | # CONFIG_TCP_CONG_ADVANCED is not set | 
| @@ -267,6 +268,8 @@ CONFIG_TCP_CONG_BIC=y | |||
| 267 | # | 268 | # | 
| 268 | # CONFIG_IP_VS is not set | 269 | # CONFIG_IP_VS is not set | 
| 269 | # CONFIG_IPV6 is not set | 270 | # CONFIG_IPV6 is not set | 
| 271 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
| 272 | # CONFIG_INET6_TUNNEL is not set | ||
| 270 | CONFIG_NETFILTER=y | 273 | CONFIG_NETFILTER=y | 
| 271 | # CONFIG_NETFILTER_DEBUG is not set | 274 | # CONFIG_NETFILTER_DEBUG is not set | 
| 272 | 275 | ||
| @@ -283,10 +286,13 @@ CONFIG_NETFILTER_XT_TARGET_MARK=m | |||
| 283 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | 286 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | 
| 284 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | 287 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | 
| 285 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 288 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 
| 289 | CONFIG_NETFILTER_XT_MATCH_ESP=m | ||
| 286 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | 290 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | 
| 287 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | 291 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | 
| 288 | CONFIG_NETFILTER_XT_MATCH_MAC=m | 292 | CONFIG_NETFILTER_XT_MATCH_MAC=m | 
| 289 | CONFIG_NETFILTER_XT_MATCH_MARK=m | 293 | CONFIG_NETFILTER_XT_MATCH_MARK=m | 
| 294 | CONFIG_NETFILTER_XT_MATCH_POLICY=m | ||
| 295 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m | ||
| 290 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 296 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 
| 291 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 297 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 
| 292 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | 298 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | 
| @@ -310,6 +316,11 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | |||
| 310 | # SCTP Configuration (EXPERIMENTAL) | 316 | # SCTP Configuration (EXPERIMENTAL) | 
| 311 | # | 317 | # | 
| 312 | # CONFIG_IP_SCTP is not set | 318 | # CONFIG_IP_SCTP is not set | 
| 319 | |||
| 320 | # | ||
| 321 | # TIPC Configuration (EXPERIMENTAL) | ||
| 322 | # | ||
| 323 | # CONFIG_TIPC is not set | ||
| 313 | # CONFIG_ATM is not set | 324 | # CONFIG_ATM is not set | 
| 314 | # CONFIG_BRIDGE is not set | 325 | # CONFIG_BRIDGE is not set | 
| 315 | # CONFIG_VLAN_8021Q is not set | 326 | # CONFIG_VLAN_8021Q is not set | 
| @@ -319,11 +330,6 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | |||
| 319 | # CONFIG_ATALK is not set | 330 | # CONFIG_ATALK is not set | 
| 320 | # CONFIG_X25 is not set | 331 | # CONFIG_X25 is not set | 
| 321 | # CONFIG_LAPB is not set | 332 | # CONFIG_LAPB is not set | 
| 322 | |||
| 323 | # | ||
| 324 | # TIPC Configuration (EXPERIMENTAL) | ||
| 325 | # | ||
| 326 | # CONFIG_TIPC is not set | ||
| 327 | # CONFIG_NET_DIVERT is not set | 333 | # CONFIG_NET_DIVERT is not set | 
| 328 | # CONFIG_ECONET is not set | 334 | # CONFIG_ECONET is not set | 
| 329 | # CONFIG_WAN_ROUTER is not set | 335 | # CONFIG_WAN_ROUTER is not set | 
| @@ -345,6 +351,9 @@ CONFIG_IEEE80211=m | |||
| 345 | # CONFIG_IEEE80211_DEBUG is not set | 351 | # CONFIG_IEEE80211_DEBUG is not set | 
| 346 | CONFIG_IEEE80211_CRYPT_WEP=m | 352 | CONFIG_IEEE80211_CRYPT_WEP=m | 
| 347 | CONFIG_IEEE80211_CRYPT_CCMP=m | 353 | CONFIG_IEEE80211_CRYPT_CCMP=m | 
| 354 | CONFIG_IEEE80211_SOFTMAC=m | ||
| 355 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
| 356 | CONFIG_WIRELESS_EXT=y | ||
| 348 | 357 | ||
| 349 | # | 358 | # | 
| 350 | # Device Drivers | 359 | # Device Drivers | 
| @@ -401,7 +410,6 @@ CONFIG_MTD_CFI_I2=y | |||
| 401 | # CONFIG_MTD_CFI_I8 is not set | 410 | # CONFIG_MTD_CFI_I8 is not set | 
| 402 | # CONFIG_MTD_CFI_INTELEXT is not set | 411 | # CONFIG_MTD_CFI_INTELEXT is not set | 
| 403 | CONFIG_MTD_CFI_AMDSTD=y | 412 | CONFIG_MTD_CFI_AMDSTD=y | 
| 404 | CONFIG_MTD_CFI_AMDSTD_RETRY=0 | ||
| 405 | # CONFIG_MTD_CFI_STAA is not set | 413 | # CONFIG_MTD_CFI_STAA is not set | 
| 406 | CONFIG_MTD_CFI_UTIL=y | 414 | CONFIG_MTD_CFI_UTIL=y | 
| 407 | # CONFIG_MTD_RAM is not set | 415 | # CONFIG_MTD_RAM is not set | 
| @@ -423,7 +431,6 @@ CONFIG_MTD_ALCHEMY=y | |||
| 423 | # CONFIG_MTD_SLRAM is not set | 431 | # CONFIG_MTD_SLRAM is not set | 
| 424 | # CONFIG_MTD_PHRAM is not set | 432 | # CONFIG_MTD_PHRAM is not set | 
| 425 | # CONFIG_MTD_MTDRAM is not set | 433 | # CONFIG_MTD_MTDRAM is not set | 
| 426 | # CONFIG_MTD_BLKMTD is not set | ||
| 427 | # CONFIG_MTD_BLOCK2MTD is not set | 434 | # CONFIG_MTD_BLOCK2MTD is not set | 
| 428 | 435 | ||
| 429 | # | 436 | # | 
| @@ -460,7 +467,7 @@ CONFIG_BLK_DEV_LOOP=y | |||
| 460 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | 467 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | 
| 461 | # CONFIG_BLK_DEV_NBD is not set | 468 | # CONFIG_BLK_DEV_NBD is not set | 
| 462 | # CONFIG_BLK_DEV_RAM is not set | 469 | # CONFIG_BLK_DEV_RAM is not set | 
| 463 | CONFIG_BLK_DEV_RAM_COUNT=16 | 470 | # CONFIG_BLK_DEV_INITRD is not set | 
| 464 | CONFIG_CDROM_PKTCDVD=m | 471 | CONFIG_CDROM_PKTCDVD=m | 
| 465 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 472 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 
| 466 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 473 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 
| @@ -690,10 +697,6 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
| 690 | # | 697 | # | 
| 691 | 698 | ||
| 692 | # | 699 | # | 
| 693 | # Multimedia Capabilities Port drivers | ||
| 694 | # | ||
| 695 | |||
| 696 | # | ||
| 697 | # Multimedia devices | 700 | # Multimedia devices | 
| 698 | # | 701 | # | 
| 699 | # CONFIG_VIDEO_DEV is not set | 702 | # CONFIG_VIDEO_DEV is not set | 
| @@ -711,6 +714,7 @@ CONFIG_FB_CFB_FILLRECT=y | |||
| 711 | CONFIG_FB_CFB_COPYAREA=y | 714 | CONFIG_FB_CFB_COPYAREA=y | 
| 712 | CONFIG_FB_CFB_IMAGEBLIT=y | 715 | CONFIG_FB_CFB_IMAGEBLIT=y | 
| 713 | # CONFIG_FB_MACMODES is not set | 716 | # CONFIG_FB_MACMODES is not set | 
| 717 | CONFIG_FB_FIRMWARE_EDID=y | ||
| 714 | # CONFIG_FB_MODE_HELPERS is not set | 718 | # CONFIG_FB_MODE_HELPERS is not set | 
| 715 | # CONFIG_FB_TILEBLITTING is not set | 719 | # CONFIG_FB_TILEBLITTING is not set | 
| 716 | # CONFIG_FB_S1D13XXX is not set | 720 | # CONFIG_FB_S1D13XXX is not set | 
| @@ -755,6 +759,7 @@ CONFIG_LOGO_LINUX_CLUT224=y | |||
| 755 | # | 759 | # | 
| 756 | CONFIG_USB_ARCH_HAS_HCD=y | 760 | CONFIG_USB_ARCH_HAS_HCD=y | 
| 757 | CONFIG_USB_ARCH_HAS_OHCI=y | 761 | CONFIG_USB_ARCH_HAS_OHCI=y | 
| 762 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
| 758 | # CONFIG_USB is not set | 763 | # CONFIG_USB is not set | 
| 759 | 764 | ||
| 760 | # | 765 | # | 
| @@ -772,12 +777,30 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
| 772 | # CONFIG_MMC is not set | 777 | # CONFIG_MMC is not set | 
| 773 | 778 | ||
| 774 | # | 779 | # | 
| 780 | # LED devices | ||
| 781 | # | ||
| 782 | # CONFIG_NEW_LEDS is not set | ||
| 783 | |||
| 784 | # | ||
| 785 | # LED drivers | ||
| 786 | # | ||
| 787 | |||
| 788 | # | ||
| 789 | # LED Triggers | ||
| 790 | # | ||
| 791 | |||
| 792 | # | ||
| 775 | # InfiniBand support | 793 | # InfiniBand support | 
| 776 | # | 794 | # | 
| 777 | 795 | ||
| 778 | # | 796 | # | 
| 779 | # SN Devices | 797 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | 
| 798 | # | ||
| 799 | |||
| 800 | # | ||
| 801 | # Real Time Clock | ||
| 780 | # | 802 | # | 
| 803 | # CONFIG_RTC_CLASS is not set | ||
| 781 | 804 | ||
| 782 | # | 805 | # | 
| 783 | # File systems | 806 | # File systems | 
| @@ -835,7 +858,6 @@ CONFIG_SYSFS=y | |||
| 835 | CONFIG_TMPFS=y | 858 | CONFIG_TMPFS=y | 
| 836 | # CONFIG_HUGETLB_PAGE is not set | 859 | # CONFIG_HUGETLB_PAGE is not set | 
| 837 | CONFIG_RAMFS=y | 860 | CONFIG_RAMFS=y | 
| 838 | CONFIG_RELAYFS_FS=m | ||
| 839 | # CONFIG_CONFIGFS_FS is not set | 861 | # CONFIG_CONFIGFS_FS is not set | 
| 840 | 862 | ||
| 841 | # | 863 | # | 
| @@ -944,6 +966,7 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
| 944 | # CONFIG_MAGIC_SYSRQ is not set | 966 | # CONFIG_MAGIC_SYSRQ is not set | 
| 945 | # CONFIG_DEBUG_KERNEL is not set | 967 | # CONFIG_DEBUG_KERNEL is not set | 
| 946 | CONFIG_LOG_BUF_SHIFT=14 | 968 | CONFIG_LOG_BUF_SHIFT=14 | 
| 969 | # CONFIG_DEBUG_FS is not set | ||
| 947 | CONFIG_CROSSCOMPILE=y | 970 | CONFIG_CROSSCOMPILE=y | 
| 948 | CONFIG_CMDLINE="" | 971 | CONFIG_CMDLINE="" | 
| 949 | 972 | ||
diff --git a/arch/mips/configs/db1200_defconfig b/arch/mips/configs/db1200_defconfig index 92888472dca0..a43fb2329fd5 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.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 | 
| 4 | # Fri Jan 27 15:39:58 2006 | 4 | # Mon Apr 24 14:50:58 2006 | 
| 5 | # | 5 | # | 
| 6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y | 
| 7 | 7 | ||
| @@ -64,6 +64,8 @@ CONFIG_MIPS_DB1200=y | |||
| 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 
| 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 
| 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 
| 67 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
| 68 | CONFIG_GENERIC_HWEIGHT=y | ||
| 67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 69 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 
| 68 | CONFIG_DMA_COHERENT=y | 70 | CONFIG_DMA_COHERENT=y | 
| 69 | CONFIG_MIPS_DISABLE_OBSOLETE_IDE=y | 71 | CONFIG_MIPS_DISABLE_OBSOLETE_IDE=y | 
| @@ -114,11 +116,11 @@ CONFIG_PAGE_SIZE_4KB=y | |||
| 114 | CONFIG_CPU_HAS_PREFETCH=y | 116 | CONFIG_CPU_HAS_PREFETCH=y | 
| 115 | # CONFIG_MIPS_MT is not set | 117 | # CONFIG_MIPS_MT is not set | 
| 116 | CONFIG_64BIT_PHYS_ADDR=y | 118 | CONFIG_64BIT_PHYS_ADDR=y | 
| 117 | # CONFIG_CPU_ADVANCED is not set | ||
| 118 | CONFIG_CPU_HAS_LLSC=y | 119 | CONFIG_CPU_HAS_LLSC=y | 
| 119 | CONFIG_CPU_HAS_SYNC=y | 120 | CONFIG_CPU_HAS_SYNC=y | 
| 120 | CONFIG_GENERIC_HARDIRQS=y | 121 | CONFIG_GENERIC_HARDIRQS=y | 
| 121 | CONFIG_GENERIC_IRQ_PROBE=y | 122 | CONFIG_GENERIC_IRQ_PROBE=y | 
| 123 | CONFIG_CPU_SUPPORTS_HIGHMEM=y | ||
| 122 | CONFIG_ARCH_FLATMEM_ENABLE=y | 124 | CONFIG_ARCH_FLATMEM_ENABLE=y | 
| 123 | CONFIG_SELECT_MEMORY_MODEL=y | 125 | CONFIG_SELECT_MEMORY_MODEL=y | 
| 124 | CONFIG_FLATMEM_MANUAL=y | 126 | CONFIG_FLATMEM_MANUAL=y | 
| @@ -136,7 +138,6 @@ CONFIG_PREEMPT_NONE=y | |||
| 136 | # Code maturity level options | 138 | # Code maturity level options | 
| 137 | # | 139 | # | 
| 138 | CONFIG_EXPERIMENTAL=y | 140 | CONFIG_EXPERIMENTAL=y | 
| 139 | CONFIG_CLEAN_COMPILE=y | ||
| 140 | CONFIG_BROKEN_ON_SMP=y | 141 | CONFIG_BROKEN_ON_SMP=y | 
| 141 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 142 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 
| 142 | 143 | ||
| @@ -153,6 +154,7 @@ CONFIG_SYSCTL=y | |||
| 153 | # CONFIG_AUDIT is not set | 154 | # CONFIG_AUDIT is not set | 
| 154 | CONFIG_IKCONFIG=y | 155 | CONFIG_IKCONFIG=y | 
| 155 | CONFIG_IKCONFIG_PROC=y | 156 | CONFIG_IKCONFIG_PROC=y | 
| 157 | # CONFIG_RELAY is not set | ||
| 156 | CONFIG_INITRAMFS_SOURCE="" | 158 | CONFIG_INITRAMFS_SOURCE="" | 
| 157 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 159 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 
| 158 | CONFIG_EMBEDDED=y | 160 | CONFIG_EMBEDDED=y | 
| @@ -166,10 +168,6 @@ CONFIG_BASE_FULL=y | |||
| 166 | CONFIG_FUTEX=y | 168 | CONFIG_FUTEX=y | 
| 167 | CONFIG_EPOLL=y | 169 | CONFIG_EPOLL=y | 
| 168 | CONFIG_SHMEM=y | 170 | CONFIG_SHMEM=y | 
| 169 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
| 170 | CONFIG_CC_ALIGN_LABELS=0 | ||
| 171 | CONFIG_CC_ALIGN_LOOPS=0 | ||
| 172 | CONFIG_CC_ALIGN_JUMPS=0 | ||
| 173 | CONFIG_SLAB=y | 171 | CONFIG_SLAB=y | 
| 174 | # CONFIG_TINY_SHMEM is not set | 172 | # CONFIG_TINY_SHMEM is not set | 
| 175 | CONFIG_BASE_SMALL=0 | 173 | CONFIG_BASE_SMALL=0 | 
| @@ -182,7 +180,6 @@ CONFIG_OBSOLETE_INTERMODULE=y | |||
| 182 | CONFIG_MODULES=y | 180 | CONFIG_MODULES=y | 
| 183 | CONFIG_MODULE_UNLOAD=y | 181 | CONFIG_MODULE_UNLOAD=y | 
| 184 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 182 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 
| 185 | CONFIG_OBSOLETE_MODPARM=y | ||
| 186 | CONFIG_MODVERSIONS=y | 183 | CONFIG_MODVERSIONS=y | 
| 187 | CONFIG_MODULE_SRCVERSION_ALL=y | 184 | CONFIG_MODULE_SRCVERSION_ALL=y | 
| 188 | CONFIG_KMOD=y | 185 | CONFIG_KMOD=y | 
| @@ -191,6 +188,8 @@ CONFIG_KMOD=y | |||
| 191 | # Block layer | 188 | # Block layer | 
| 192 | # | 189 | # | 
| 193 | # CONFIG_LBD is not set | 190 | # CONFIG_LBD is not set | 
| 191 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 192 | # CONFIG_LSF is not set | ||
| 194 | 193 | ||
| 195 | # | 194 | # | 
| 196 | # IO Schedulers | 195 | # IO Schedulers | 
| @@ -244,6 +243,7 @@ CONFIG_NET=y | |||
| 244 | # | 243 | # | 
| 245 | # Networking options | 244 | # Networking options | 
| 246 | # | 245 | # | 
| 246 | # CONFIG_NETDEBUG is not set | ||
| 247 | CONFIG_PACKET=y | 247 | CONFIG_PACKET=y | 
| 248 | # CONFIG_PACKET_MMAP is not set | 248 | # CONFIG_PACKET_MMAP is not set | 
| 249 | CONFIG_UNIX=y | 249 | CONFIG_UNIX=y | 
| @@ -263,7 +263,8 @@ CONFIG_IP_FIB_HASH=y | |||
| 263 | # CONFIG_INET_AH is not set | 263 | # CONFIG_INET_AH is not set | 
| 264 | # CONFIG_INET_ESP is not set | 264 | # CONFIG_INET_ESP is not set | 
| 265 | # CONFIG_INET_IPCOMP is not set | 265 | # CONFIG_INET_IPCOMP is not set | 
| 266 | CONFIG_INET_TUNNEL=m | 266 | # CONFIG_INET_XFRM_TUNNEL is not set | 
| 267 | # CONFIG_INET_TUNNEL is not set | ||
| 267 | CONFIG_INET_DIAG=y | 268 | CONFIG_INET_DIAG=y | 
| 268 | CONFIG_INET_TCP_DIAG=y | 269 | CONFIG_INET_TCP_DIAG=y | 
| 269 | # CONFIG_TCP_CONG_ADVANCED is not set | 270 | # CONFIG_TCP_CONG_ADVANCED is not set | 
| @@ -274,6 +275,8 @@ CONFIG_TCP_CONG_BIC=y | |||
| 274 | # | 275 | # | 
| 275 | # CONFIG_IP_VS is not set | 276 | # CONFIG_IP_VS is not set | 
| 276 | # CONFIG_IPV6 is not set | 277 | # CONFIG_IPV6 is not set | 
| 278 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
| 279 | # CONFIG_INET6_TUNNEL is not set | ||
| 277 | CONFIG_NETFILTER=y | 280 | CONFIG_NETFILTER=y | 
| 278 | # CONFIG_NETFILTER_DEBUG is not set | 281 | # CONFIG_NETFILTER_DEBUG is not set | 
| 279 | 282 | ||
| @@ -288,10 +291,13 @@ CONFIG_NETFILTER_XT_TARGET_MARK=m | |||
| 288 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | 291 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | 
| 289 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | 292 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | 
| 290 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 293 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 
| 294 | CONFIG_NETFILTER_XT_MATCH_ESP=m | ||
| 291 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | 295 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | 
| 292 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | 296 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | 
| 293 | CONFIG_NETFILTER_XT_MATCH_MAC=m | 297 | CONFIG_NETFILTER_XT_MATCH_MAC=m | 
| 294 | CONFIG_NETFILTER_XT_MATCH_MARK=m | 298 | CONFIG_NETFILTER_XT_MATCH_MARK=m | 
| 299 | CONFIG_NETFILTER_XT_MATCH_POLICY=m | ||
| 300 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m | ||
| 295 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 301 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 
| 296 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 302 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 
| 297 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | 303 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | 
| @@ -315,6 +321,11 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | |||
| 315 | # SCTP Configuration (EXPERIMENTAL) | 321 | # SCTP Configuration (EXPERIMENTAL) | 
| 316 | # | 322 | # | 
| 317 | # CONFIG_IP_SCTP is not set | 323 | # CONFIG_IP_SCTP is not set | 
| 324 | |||
| 325 | # | ||
| 326 | # TIPC Configuration (EXPERIMENTAL) | ||
| 327 | # | ||
| 328 | # CONFIG_TIPC is not set | ||
| 318 | # CONFIG_ATM is not set | 329 | # CONFIG_ATM is not set | 
| 319 | # CONFIG_BRIDGE is not set | 330 | # CONFIG_BRIDGE is not set | 
| 320 | # CONFIG_VLAN_8021Q is not set | 331 | # CONFIG_VLAN_8021Q is not set | 
| @@ -324,11 +335,6 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | |||
| 324 | # CONFIG_ATALK is not set | 335 | # CONFIG_ATALK is not set | 
| 325 | # CONFIG_X25 is not set | 336 | # CONFIG_X25 is not set | 
| 326 | # CONFIG_LAPB is not set | 337 | # CONFIG_LAPB is not set | 
| 327 | |||
| 328 | # | ||
| 329 | # TIPC Configuration (EXPERIMENTAL) | ||
| 330 | # | ||
| 331 | # CONFIG_TIPC is not set | ||
| 332 | # CONFIG_NET_DIVERT is not set | 338 | # CONFIG_NET_DIVERT is not set | 
| 333 | # CONFIG_ECONET is not set | 339 | # CONFIG_ECONET is not set | 
| 334 | # CONFIG_WAN_ROUTER is not set | 340 | # CONFIG_WAN_ROUTER is not set | 
| @@ -403,7 +409,6 @@ CONFIG_MTD_CFI_I2=y | |||
| 403 | # CONFIG_MTD_CFI_I8 is not set | 409 | # CONFIG_MTD_CFI_I8 is not set | 
| 404 | # CONFIG_MTD_CFI_INTELEXT is not set | 410 | # CONFIG_MTD_CFI_INTELEXT is not set | 
| 405 | CONFIG_MTD_CFI_AMDSTD=y | 411 | CONFIG_MTD_CFI_AMDSTD=y | 
| 406 | CONFIG_MTD_CFI_AMDSTD_RETRY=0 | ||
| 407 | # CONFIG_MTD_CFI_STAA is not set | 412 | # CONFIG_MTD_CFI_STAA is not set | 
| 408 | CONFIG_MTD_CFI_UTIL=y | 413 | CONFIG_MTD_CFI_UTIL=y | 
| 409 | # CONFIG_MTD_RAM is not set | 414 | # CONFIG_MTD_RAM is not set | 
| @@ -425,7 +430,6 @@ CONFIG_MTD_ALCHEMY=y | |||
| 425 | # CONFIG_MTD_SLRAM is not set | 430 | # CONFIG_MTD_SLRAM is not set | 
| 426 | # CONFIG_MTD_PHRAM is not set | 431 | # CONFIG_MTD_PHRAM is not set | 
| 427 | # CONFIG_MTD_MTDRAM is not set | 432 | # CONFIG_MTD_MTDRAM is not set | 
| 428 | # CONFIG_MTD_BLKMTD is not set | ||
| 429 | # CONFIG_MTD_BLOCK2MTD is not set | 433 | # CONFIG_MTD_BLOCK2MTD is not set | 
| 430 | 434 | ||
| 431 | # | 435 | # | 
| @@ -763,10 +767,6 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
| 763 | # | 767 | # | 
| 764 | 768 | ||
| 765 | # | 769 | # | 
| 766 | # Multimedia Capabilities Port drivers | ||
| 767 | # | ||
| 768 | |||
| 769 | # | ||
| 770 | # Multimedia devices | 770 | # Multimedia devices | 
| 771 | # | 771 | # | 
| 772 | # CONFIG_VIDEO_DEV is not set | 772 | # CONFIG_VIDEO_DEV is not set | 
| @@ -784,6 +784,7 @@ CONFIG_FB_CFB_FILLRECT=y | |||
| 784 | CONFIG_FB_CFB_COPYAREA=y | 784 | CONFIG_FB_CFB_COPYAREA=y | 
| 785 | CONFIG_FB_CFB_IMAGEBLIT=y | 785 | CONFIG_FB_CFB_IMAGEBLIT=y | 
| 786 | # CONFIG_FB_MACMODES is not set | 786 | # CONFIG_FB_MACMODES is not set | 
| 787 | CONFIG_FB_FIRMWARE_EDID=y | ||
| 787 | # CONFIG_FB_MODE_HELPERS is not set | 788 | # CONFIG_FB_MODE_HELPERS is not set | 
| 788 | # CONFIG_FB_TILEBLITTING is not set | 789 | # CONFIG_FB_TILEBLITTING is not set | 
| 789 | # CONFIG_FB_S1D13XXX is not set | 790 | # CONFIG_FB_S1D13XXX is not set | 
| @@ -794,6 +795,7 @@ CONFIG_FB_AU1200=y | |||
| 794 | # Console display driver support | 795 | # Console display driver support | 
| 795 | # | 796 | # | 
| 796 | CONFIG_VGA_CONSOLE=y | 797 | CONFIG_VGA_CONSOLE=y | 
| 798 | # CONFIG_VGACON_SOFT_SCROLLBACK is not set | ||
| 797 | CONFIG_DUMMY_CONSOLE=y | 799 | CONFIG_DUMMY_CONSOLE=y | 
| 798 | # CONFIG_FRAMEBUFFER_CONSOLE is not set | 800 | # CONFIG_FRAMEBUFFER_CONSOLE is not set | 
| 799 | 801 | ||
| @@ -816,6 +818,7 @@ CONFIG_LOGO_LINUX_CLUT224=y | |||
| 816 | # | 818 | # | 
| 817 | CONFIG_USB_ARCH_HAS_HCD=y | 819 | CONFIG_USB_ARCH_HAS_HCD=y | 
| 818 | CONFIG_USB_ARCH_HAS_OHCI=y | 820 | CONFIG_USB_ARCH_HAS_OHCI=y | 
| 821 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
| 819 | # CONFIG_USB is not set | 822 | # CONFIG_USB is not set | 
| 820 | 823 | ||
| 821 | # | 824 | # | 
| @@ -832,6 +835,7 @@ CONFIG_USB_GADGET=m | |||
| 832 | # CONFIG_USB_GADGET_GOKU is not set | 835 | # CONFIG_USB_GADGET_GOKU is not set | 
| 833 | # CONFIG_USB_GADGET_LH7A40X is not set | 836 | # CONFIG_USB_GADGET_LH7A40X is not set | 
| 834 | # CONFIG_USB_GADGET_OMAP is not set | 837 | # CONFIG_USB_GADGET_OMAP is not set | 
| 838 | # CONFIG_USB_GADGET_AT91 is not set | ||
| 835 | # CONFIG_USB_GADGET_DUMMY_HCD is not set | 839 | # CONFIG_USB_GADGET_DUMMY_HCD is not set | 
| 836 | # CONFIG_USB_GADGET_DUALSPEED is not set | 840 | # CONFIG_USB_GADGET_DUALSPEED is not set | 
| 837 | 841 | ||
| @@ -844,12 +848,30 @@ CONFIG_MMC_BLOCK=y | |||
| 844 | CONFIG_MMC_AU1X=y | 848 | CONFIG_MMC_AU1X=y | 
| 845 | 849 | ||
| 846 | # | 850 | # | 
| 851 | # LED devices | ||
| 852 | # | ||
| 853 | # CONFIG_NEW_LEDS is not set | ||
| 854 | |||
| 855 | # | ||
| 856 | # LED drivers | ||
| 857 | # | ||
| 858 | |||
| 859 | # | ||
| 860 | # LED Triggers | ||
| 861 | # | ||
| 862 | |||
| 863 | # | ||
| 847 | # InfiniBand support | 864 | # InfiniBand support | 
| 848 | # | 865 | # | 
| 849 | 866 | ||
| 850 | # | 867 | # | 
| 851 | # SN Devices | 868 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | 
| 869 | # | ||
| 870 | |||
| 871 | # | ||
| 872 | # Real Time Clock | ||
| 852 | # | 873 | # | 
| 874 | # CONFIG_RTC_CLASS is not set | ||
| 853 | 875 | ||
| 854 | # | 876 | # | 
| 855 | # File systems | 877 | # File systems | 
| @@ -913,7 +935,6 @@ CONFIG_SYSFS=y | |||
| 913 | CONFIG_TMPFS=y | 935 | CONFIG_TMPFS=y | 
| 914 | # CONFIG_HUGETLB_PAGE is not set | 936 | # CONFIG_HUGETLB_PAGE is not set | 
| 915 | CONFIG_RAMFS=y | 937 | CONFIG_RAMFS=y | 
| 916 | # CONFIG_RELAYFS_FS is not set | ||
| 917 | # CONFIG_CONFIGFS_FS is not set | 938 | # CONFIG_CONFIGFS_FS is not set | 
| 918 | 939 | ||
| 919 | # | 940 | # | 
| @@ -1027,6 +1048,7 @@ CONFIG_NLS_UTF8=m | |||
| 1027 | # CONFIG_MAGIC_SYSRQ is not set | 1048 | # CONFIG_MAGIC_SYSRQ is not set | 
| 1028 | # CONFIG_DEBUG_KERNEL is not set | 1049 | # CONFIG_DEBUG_KERNEL is not set | 
| 1029 | CONFIG_LOG_BUF_SHIFT=14 | 1050 | CONFIG_LOG_BUF_SHIFT=14 | 
| 1051 | # CONFIG_DEBUG_FS is not set | ||
| 1030 | CONFIG_CROSSCOMPILE=y | 1052 | CONFIG_CROSSCOMPILE=y | 
| 1031 | CONFIG_CMDLINE="mem=48M" | 1053 | CONFIG_CMDLINE="mem=48M" | 
| 1032 | 1054 | ||
diff --git a/arch/mips/configs/db1500_defconfig b/arch/mips/configs/db1500_defconfig index 5a415b1d4af0..ad632d87c4ef 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.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 | 
| 4 | # Fri Jan 27 15:39:59 2006 | 4 | # Mon Apr 24 14:50:59 2006 | 
| 5 | # | 5 | # | 
| 6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y | 
| 7 | 7 | ||
| @@ -64,6 +64,8 @@ CONFIG_MIPS_DB1500=y | |||
| 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 
| 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 
| 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 
| 67 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
| 68 | CONFIG_GENERIC_HWEIGHT=y | ||
| 67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 69 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 
| 68 | CONFIG_DMA_NONCOHERENT=y | 70 | CONFIG_DMA_NONCOHERENT=y | 
| 69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 71 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 
| @@ -116,11 +118,11 @@ CONFIG_PAGE_SIZE_4KB=y | |||
| 116 | CONFIG_CPU_HAS_PREFETCH=y | 118 | CONFIG_CPU_HAS_PREFETCH=y | 
| 117 | # CONFIG_MIPS_MT is not set | 119 | # CONFIG_MIPS_MT is not set | 
| 118 | CONFIG_64BIT_PHYS_ADDR=y | 120 | CONFIG_64BIT_PHYS_ADDR=y | 
| 119 | # CONFIG_CPU_ADVANCED is not set | ||
| 120 | CONFIG_CPU_HAS_LLSC=y | 121 | CONFIG_CPU_HAS_LLSC=y | 
| 121 | CONFIG_CPU_HAS_SYNC=y | 122 | CONFIG_CPU_HAS_SYNC=y | 
| 122 | CONFIG_GENERIC_HARDIRQS=y | 123 | CONFIG_GENERIC_HARDIRQS=y | 
| 123 | CONFIG_GENERIC_IRQ_PROBE=y | 124 | CONFIG_GENERIC_IRQ_PROBE=y | 
| 125 | CONFIG_CPU_SUPPORTS_HIGHMEM=y | ||
| 124 | CONFIG_ARCH_FLATMEM_ENABLE=y | 126 | CONFIG_ARCH_FLATMEM_ENABLE=y | 
| 125 | CONFIG_SELECT_MEMORY_MODEL=y | 127 | CONFIG_SELECT_MEMORY_MODEL=y | 
| 126 | CONFIG_FLATMEM_MANUAL=y | 128 | CONFIG_FLATMEM_MANUAL=y | 
| @@ -138,7 +140,6 @@ CONFIG_PREEMPT_NONE=y | |||
| 138 | # Code maturity level options | 140 | # Code maturity level options | 
| 139 | # | 141 | # | 
| 140 | CONFIG_EXPERIMENTAL=y | 142 | CONFIG_EXPERIMENTAL=y | 
| 141 | CONFIG_CLEAN_COMPILE=y | ||
| 142 | CONFIG_BROKEN_ON_SMP=y | 143 | CONFIG_BROKEN_ON_SMP=y | 
| 143 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 144 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 
| 144 | 145 | ||
| @@ -154,6 +155,7 @@ CONFIG_SYSVIPC=y | |||
| 154 | CONFIG_SYSCTL=y | 155 | CONFIG_SYSCTL=y | 
| 155 | # CONFIG_AUDIT is not set | 156 | # CONFIG_AUDIT is not set | 
| 156 | # CONFIG_IKCONFIG is not set | 157 | # CONFIG_IKCONFIG is not set | 
| 158 | CONFIG_RELAY=y | ||
| 157 | CONFIG_INITRAMFS_SOURCE="" | 159 | CONFIG_INITRAMFS_SOURCE="" | 
| 158 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 160 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 
| 159 | CONFIG_EMBEDDED=y | 161 | CONFIG_EMBEDDED=y | 
| @@ -167,10 +169,6 @@ CONFIG_BASE_FULL=y | |||
| 167 | CONFIG_FUTEX=y | 169 | CONFIG_FUTEX=y | 
| 168 | CONFIG_EPOLL=y | 170 | CONFIG_EPOLL=y | 
| 169 | CONFIG_SHMEM=y | 171 | CONFIG_SHMEM=y | 
| 170 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
| 171 | CONFIG_CC_ALIGN_LABELS=0 | ||
| 172 | CONFIG_CC_ALIGN_LOOPS=0 | ||
| 173 | CONFIG_CC_ALIGN_JUMPS=0 | ||
| 174 | CONFIG_SLAB=y | 172 | CONFIG_SLAB=y | 
| 175 | # CONFIG_TINY_SHMEM is not set | 173 | # CONFIG_TINY_SHMEM is not set | 
| 176 | CONFIG_BASE_SMALL=0 | 174 | CONFIG_BASE_SMALL=0 | 
| @@ -183,7 +181,6 @@ CONFIG_OBSOLETE_INTERMODULE=y | |||
| 183 | CONFIG_MODULES=y | 181 | CONFIG_MODULES=y | 
| 184 | CONFIG_MODULE_UNLOAD=y | 182 | CONFIG_MODULE_UNLOAD=y | 
| 185 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 183 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 
| 186 | CONFIG_OBSOLETE_MODPARM=y | ||
| 187 | CONFIG_MODVERSIONS=y | 184 | CONFIG_MODVERSIONS=y | 
| 188 | CONFIG_MODULE_SRCVERSION_ALL=y | 185 | CONFIG_MODULE_SRCVERSION_ALL=y | 
| 189 | CONFIG_KMOD=y | 186 | CONFIG_KMOD=y | 
| @@ -192,6 +189,8 @@ CONFIG_KMOD=y | |||
| 192 | # Block layer | 189 | # Block layer | 
| 193 | # | 190 | # | 
| 194 | # CONFIG_LBD is not set | 191 | # CONFIG_LBD is not set | 
| 192 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 193 | # CONFIG_LSF is not set | ||
| 195 | 194 | ||
| 196 | # | 195 | # | 
| 197 | # IO Schedulers | 196 | # IO Schedulers | 
| @@ -211,7 +210,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
| 211 | # | 210 | # | 
| 212 | CONFIG_HW_HAS_PCI=y | 211 | CONFIG_HW_HAS_PCI=y | 
| 213 | CONFIG_PCI=y | 212 | CONFIG_PCI=y | 
| 214 | CONFIG_PCI_LEGACY_PROC=y | ||
| 215 | CONFIG_MMU=y | 213 | CONFIG_MMU=y | 
| 216 | 214 | ||
| 217 | # | 215 | # | 
| @@ -253,6 +251,7 @@ CONFIG_NET=y | |||
| 253 | # | 251 | # | 
| 254 | # Networking options | 252 | # Networking options | 
| 255 | # | 253 | # | 
| 254 | # CONFIG_NETDEBUG is not set | ||
| 256 | CONFIG_PACKET=y | 255 | CONFIG_PACKET=y | 
| 257 | # CONFIG_PACKET_MMAP is not set | 256 | # CONFIG_PACKET_MMAP is not set | 
| 258 | CONFIG_UNIX=y | 257 | CONFIG_UNIX=y | 
| @@ -275,7 +274,8 @@ CONFIG_IP_PNP_BOOTP=y | |||
| 275 | # CONFIG_INET_AH is not set | 274 | # CONFIG_INET_AH is not set | 
| 276 | # CONFIG_INET_ESP is not set | 275 | # CONFIG_INET_ESP is not set | 
| 277 | # CONFIG_INET_IPCOMP is not set | 276 | # CONFIG_INET_IPCOMP is not set | 
| 278 | CONFIG_INET_TUNNEL=m | 277 | # CONFIG_INET_XFRM_TUNNEL is not set | 
| 278 | # CONFIG_INET_TUNNEL is not set | ||
| 279 | CONFIG_INET_DIAG=y | 279 | CONFIG_INET_DIAG=y | 
| 280 | CONFIG_INET_TCP_DIAG=y | 280 | CONFIG_INET_TCP_DIAG=y | 
| 281 | # CONFIG_TCP_CONG_ADVANCED is not set | 281 | # CONFIG_TCP_CONG_ADVANCED is not set | 
| @@ -286,6 +286,8 @@ CONFIG_TCP_CONG_BIC=y | |||
| 286 | # | 286 | # | 
| 287 | # CONFIG_IP_VS is not set | 287 | # CONFIG_IP_VS is not set | 
| 288 | # CONFIG_IPV6 is not set | 288 | # CONFIG_IPV6 is not set | 
| 289 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
| 290 | # CONFIG_INET6_TUNNEL is not set | ||
| 289 | CONFIG_NETFILTER=y | 291 | CONFIG_NETFILTER=y | 
| 290 | # CONFIG_NETFILTER_DEBUG is not set | 292 | # CONFIG_NETFILTER_DEBUG is not set | 
| 291 | 293 | ||
| @@ -302,10 +304,13 @@ CONFIG_NETFILTER_XT_TARGET_MARK=m | |||
| 302 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | 304 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | 
| 303 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | 305 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | 
| 304 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 306 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 
| 307 | CONFIG_NETFILTER_XT_MATCH_ESP=m | ||
| 305 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | 308 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | 
| 306 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | 309 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | 
| 307 | CONFIG_NETFILTER_XT_MATCH_MAC=m | 310 | CONFIG_NETFILTER_XT_MATCH_MAC=m | 
| 308 | CONFIG_NETFILTER_XT_MATCH_MARK=m | 311 | CONFIG_NETFILTER_XT_MATCH_MARK=m | 
| 312 | CONFIG_NETFILTER_XT_MATCH_POLICY=m | ||
| 313 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m | ||
| 309 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 314 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 
| 310 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 315 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 
| 311 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | 316 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | 
| @@ -329,6 +334,11 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | |||
| 329 | # SCTP Configuration (EXPERIMENTAL) | 334 | # SCTP Configuration (EXPERIMENTAL) | 
| 330 | # | 335 | # | 
| 331 | # CONFIG_IP_SCTP is not set | 336 | # CONFIG_IP_SCTP is not set | 
| 337 | |||
| 338 | # | ||
| 339 | # TIPC Configuration (EXPERIMENTAL) | ||
| 340 | # | ||
| 341 | # CONFIG_TIPC is not set | ||
| 332 | # CONFIG_ATM is not set | 342 | # CONFIG_ATM is not set | 
| 333 | # CONFIG_BRIDGE is not set | 343 | # CONFIG_BRIDGE is not set | 
| 334 | # CONFIG_VLAN_8021Q is not set | 344 | # CONFIG_VLAN_8021Q is not set | 
| @@ -338,11 +348,6 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | |||
| 338 | # CONFIG_ATALK is not set | 348 | # CONFIG_ATALK is not set | 
| 339 | # CONFIG_X25 is not set | 349 | # CONFIG_X25 is not set | 
| 340 | # CONFIG_LAPB is not set | 350 | # CONFIG_LAPB is not set | 
| 341 | |||
| 342 | # | ||
| 343 | # TIPC Configuration (EXPERIMENTAL) | ||
| 344 | # | ||
| 345 | # CONFIG_TIPC is not set | ||
| 346 | # CONFIG_NET_DIVERT is not set | 351 | # CONFIG_NET_DIVERT is not set | 
| 347 | # CONFIG_ECONET is not set | 352 | # CONFIG_ECONET is not set | 
| 348 | # CONFIG_WAN_ROUTER is not set | 353 | # CONFIG_WAN_ROUTER is not set | 
| @@ -364,6 +369,9 @@ CONFIG_IEEE80211=m | |||
| 364 | # CONFIG_IEEE80211_DEBUG is not set | 369 | # CONFIG_IEEE80211_DEBUG is not set | 
| 365 | CONFIG_IEEE80211_CRYPT_WEP=m | 370 | CONFIG_IEEE80211_CRYPT_WEP=m | 
| 366 | CONFIG_IEEE80211_CRYPT_CCMP=m | 371 | CONFIG_IEEE80211_CRYPT_CCMP=m | 
| 372 | CONFIG_IEEE80211_SOFTMAC=m | ||
| 373 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
| 374 | CONFIG_WIRELESS_EXT=y | ||
| 367 | 375 | ||
| 368 | # | 376 | # | 
| 369 | # Device Drivers | 377 | # Device Drivers | 
| @@ -420,7 +428,6 @@ CONFIG_MTD_CFI_I2=y | |||
| 420 | # CONFIG_MTD_CFI_I8 is not set | 428 | # CONFIG_MTD_CFI_I8 is not set | 
| 421 | CONFIG_MTD_CFI_INTELEXT=y | 429 | CONFIG_MTD_CFI_INTELEXT=y | 
| 422 | CONFIG_MTD_CFI_AMDSTD=y | 430 | CONFIG_MTD_CFI_AMDSTD=y | 
| 423 | CONFIG_MTD_CFI_AMDSTD_RETRY=0 | ||
| 424 | # CONFIG_MTD_CFI_STAA is not set | 431 | # CONFIG_MTD_CFI_STAA is not set | 
| 425 | CONFIG_MTD_CFI_UTIL=y | 432 | CONFIG_MTD_CFI_UTIL=y | 
| 426 | # CONFIG_MTD_RAM is not set | 433 | # CONFIG_MTD_RAM is not set | 
| @@ -443,7 +450,6 @@ CONFIG_MTD_ALCHEMY=y | |||
| 443 | # CONFIG_MTD_SLRAM is not set | 450 | # CONFIG_MTD_SLRAM is not set | 
| 444 | # CONFIG_MTD_PHRAM is not set | 451 | # CONFIG_MTD_PHRAM is not set | 
| 445 | # CONFIG_MTD_MTDRAM is not set | 452 | # CONFIG_MTD_MTDRAM is not set | 
| 446 | # CONFIG_MTD_BLKMTD is not set | ||
| 447 | # CONFIG_MTD_BLOCK2MTD is not set | 453 | # CONFIG_MTD_BLOCK2MTD is not set | 
| 448 | 454 | ||
| 449 | # | 455 | # | 
| @@ -486,7 +492,7 @@ CONFIG_BLK_DEV_LOOP=y | |||
| 486 | # CONFIG_BLK_DEV_SX8 is not set | 492 | # CONFIG_BLK_DEV_SX8 is not set | 
| 487 | # CONFIG_BLK_DEV_UB is not set | 493 | # CONFIG_BLK_DEV_UB is not set | 
| 488 | # CONFIG_BLK_DEV_RAM is not set | 494 | # CONFIG_BLK_DEV_RAM is not set | 
| 489 | CONFIG_BLK_DEV_RAM_COUNT=16 | 495 | # CONFIG_BLK_DEV_INITRD is not set | 
| 490 | CONFIG_CDROM_PKTCDVD=m | 496 | CONFIG_CDROM_PKTCDVD=m | 
| 491 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 497 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 
| 492 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 498 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 
| @@ -714,6 +720,7 @@ CONFIG_SERIO_RAW=m | |||
| 714 | # | 720 | # | 
| 715 | CONFIG_SERIAL_8250=y | 721 | CONFIG_SERIAL_8250=y | 
| 716 | CONFIG_SERIAL_8250_CONSOLE=y | 722 | CONFIG_SERIAL_8250_CONSOLE=y | 
| 723 | CONFIG_SERIAL_8250_PCI=y | ||
| 717 | # CONFIG_SERIAL_8250_CS is not set | 724 | # CONFIG_SERIAL_8250_CS is not set | 
| 718 | CONFIG_SERIAL_8250_NR_UARTS=4 | 725 | CONFIG_SERIAL_8250_NR_UARTS=4 | 
| 719 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 726 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 
| @@ -725,6 +732,7 @@ CONFIG_SERIAL_8250_AU1X00=y | |||
| 725 | # | 732 | # | 
| 726 | CONFIG_SERIAL_CORE=y | 733 | CONFIG_SERIAL_CORE=y | 
| 727 | CONFIG_SERIAL_CORE_CONSOLE=y | 734 | CONFIG_SERIAL_CORE_CONSOLE=y | 
| 735 | # CONFIG_SERIAL_JSM is not set | ||
| 728 | CONFIG_UNIX98_PTYS=y | 736 | CONFIG_UNIX98_PTYS=y | 
| 729 | CONFIG_LEGACY_PTYS=y | 737 | CONFIG_LEGACY_PTYS=y | 
| 730 | CONFIG_LEGACY_PTY_COUNT=256 | 738 | CONFIG_LEGACY_PTY_COUNT=256 | 
| @@ -790,10 +798,6 @@ CONFIG_SYNCLINK_CS=m | |||
| 790 | # | 798 | # | 
| 791 | 799 | ||
| 792 | # | 800 | # | 
| 793 | # Multimedia Capabilities Port drivers | ||
| 794 | # | ||
| 795 | |||
| 796 | # | ||
| 797 | # Multimedia devices | 801 | # Multimedia devices | 
| 798 | # | 802 | # | 
| 799 | # CONFIG_VIDEO_DEV is not set | 803 | # CONFIG_VIDEO_DEV is not set | 
| @@ -802,6 +806,7 @@ CONFIG_SYNCLINK_CS=m | |||
| 802 | # Digital Video Broadcasting Devices | 806 | # Digital Video Broadcasting Devices | 
| 803 | # | 807 | # | 
| 804 | # CONFIG_DVB is not set | 808 | # CONFIG_DVB is not set | 
| 809 | # CONFIG_USB_DABUSB is not set | ||
| 805 | 810 | ||
| 806 | # | 811 | # | 
| 807 | # Graphics support | 812 | # Graphics support | 
| @@ -825,9 +830,11 @@ CONFIG_SND_SEQ_DUMMY=m | |||
| 825 | CONFIG_SND_OSSEMUL=y | 830 | CONFIG_SND_OSSEMUL=y | 
| 826 | CONFIG_SND_MIXER_OSS=m | 831 | CONFIG_SND_MIXER_OSS=m | 
| 827 | CONFIG_SND_PCM_OSS=m | 832 | CONFIG_SND_PCM_OSS=m | 
| 833 | CONFIG_SND_PCM_OSS_PLUGINS=y | ||
| 828 | CONFIG_SND_SEQUENCER_OSS=y | 834 | CONFIG_SND_SEQUENCER_OSS=y | 
| 829 | # CONFIG_SND_DYNAMIC_MINORS is not set | 835 | # CONFIG_SND_DYNAMIC_MINORS is not set | 
| 830 | CONFIG_SND_SUPPORT_OLD_API=y | 836 | CONFIG_SND_SUPPORT_OLD_API=y | 
| 837 | CONFIG_SND_VERBOSE_PROCFS=y | ||
| 831 | # CONFIG_SND_VERBOSE_PRINTK is not set | 838 | # CONFIG_SND_VERBOSE_PRINTK is not set | 
| 832 | # CONFIG_SND_DEBUG is not set | 839 | # CONFIG_SND_DEBUG is not set | 
| 833 | 840 | ||
| @@ -846,6 +853,7 @@ CONFIG_SND_MTPAV=m | |||
| 846 | # PCI devices | 853 | # PCI devices | 
| 847 | # | 854 | # | 
| 848 | # CONFIG_SND_AD1889 is not set | 855 | # CONFIG_SND_AD1889 is not set | 
| 856 | # CONFIG_SND_ALS300 is not set | ||
| 849 | # CONFIG_SND_ALI5451 is not set | 857 | # CONFIG_SND_ALI5451 is not set | 
| 850 | # CONFIG_SND_ATIIXP is not set | 858 | # CONFIG_SND_ATIIXP is not set | 
| 851 | # CONFIG_SND_ATIIXP_MODEM is not set | 859 | # CONFIG_SND_ATIIXP_MODEM is not set | 
| @@ -877,6 +885,7 @@ CONFIG_SND_MTPAV=m | |||
| 877 | # CONFIG_SND_MIXART is not set | 885 | # CONFIG_SND_MIXART is not set | 
| 878 | # CONFIG_SND_NM256 is not set | 886 | # CONFIG_SND_NM256 is not set | 
| 879 | # CONFIG_SND_PCXHR is not set | 887 | # CONFIG_SND_PCXHR is not set | 
| 888 | # CONFIG_SND_RIPTIDE is not set | ||
| 880 | # CONFIG_SND_RME32 is not set | 889 | # CONFIG_SND_RME32 is not set | 
| 881 | # CONFIG_SND_RME96 is not set | 890 | # CONFIG_SND_RME96 is not set | 
| 882 | # CONFIG_SND_RME9652 is not set | 891 | # CONFIG_SND_RME9652 is not set | 
| @@ -905,34 +914,22 @@ CONFIG_SND_AU1X00=m | |||
| 905 | # Open Sound System | 914 | # Open Sound System | 
| 906 | # | 915 | # | 
| 907 | CONFIG_SOUND_PRIME=y | 916 | CONFIG_SOUND_PRIME=y | 
| 908 | CONFIG_OBSOLETE_OSS_DRIVER=y | ||
| 909 | # CONFIG_SOUND_BT878 is not set | 917 | # CONFIG_SOUND_BT878 is not set | 
| 910 | # CONFIG_SOUND_CMPCI is not set | ||
| 911 | # CONFIG_SOUND_EMU10K1 is not set | 918 | # CONFIG_SOUND_EMU10K1 is not set | 
| 912 | # CONFIG_SOUND_FUSION is not set | 919 | # CONFIG_SOUND_FUSION is not set | 
| 913 | # CONFIG_SOUND_CS4281 is not set | ||
| 914 | # CONFIG_SOUND_ES1370 is not set | ||
| 915 | # CONFIG_SOUND_ES1371 is not set | 920 | # CONFIG_SOUND_ES1371 is not set | 
| 916 | # CONFIG_SOUND_ESSSOLO1 is not set | ||
| 917 | # CONFIG_SOUND_MAESTRO is not set | ||
| 918 | # CONFIG_SOUND_MAESTRO3 is not set | ||
| 919 | # CONFIG_SOUND_ICH is not set | 921 | # CONFIG_SOUND_ICH is not set | 
| 920 | # CONFIG_SOUND_SONICVIBES is not set | ||
| 921 | # CONFIG_SOUND_AU1000 is not set | ||
| 922 | # CONFIG_SOUND_TRIDENT is not set | 922 | # CONFIG_SOUND_TRIDENT is not set | 
| 923 | # CONFIG_SOUND_MSNDCLAS is not set | 923 | # CONFIG_SOUND_MSNDCLAS is not set | 
| 924 | # CONFIG_SOUND_MSNDPIN is not set | 924 | # CONFIG_SOUND_MSNDPIN is not set | 
| 925 | # CONFIG_SOUND_VIA82CXXX is not set | 925 | # CONFIG_SOUND_VIA82CXXX is not set | 
| 926 | # CONFIG_SOUND_ALI5455 is not set | ||
| 927 | # CONFIG_SOUND_FORTE is not set | ||
| 928 | # CONFIG_SOUND_RME96XX is not set | ||
| 929 | # CONFIG_SOUND_AD1980 is not set | ||
| 930 | 926 | ||
| 931 | # | 927 | # | 
| 932 | # USB support | 928 | # USB support | 
| 933 | # | 929 | # | 
| 934 | CONFIG_USB_ARCH_HAS_HCD=y | 930 | CONFIG_USB_ARCH_HAS_HCD=y | 
| 935 | CONFIG_USB_ARCH_HAS_OHCI=y | 931 | CONFIG_USB_ARCH_HAS_OHCI=y | 
| 932 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
| 936 | CONFIG_USB=y | 933 | CONFIG_USB=y | 
| 937 | # CONFIG_USB_DEBUG is not set | 934 | # CONFIG_USB_DEBUG is not set | 
| 938 | 935 | ||
| @@ -958,7 +955,6 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y | |||
| 958 | # | 955 | # | 
| 959 | # USB Device Class drivers | 956 | # USB Device Class drivers | 
| 960 | # | 957 | # | 
| 961 | # CONFIG_OBSOLETE_OSS_USB_DRIVER is not set | ||
| 962 | # CONFIG_USB_ACM is not set | 958 | # CONFIG_USB_ACM is not set | 
| 963 | # CONFIG_USB_PRINTER is not set | 959 | # CONFIG_USB_PRINTER is not set | 
| 964 | 960 | ||
| @@ -985,9 +981,7 @@ CONFIG_USB_HIDINPUT=y | |||
| 985 | # CONFIG_USB_ACECAD is not set | 981 | # CONFIG_USB_ACECAD is not set | 
| 986 | # CONFIG_USB_KBTAB is not set | 982 | # CONFIG_USB_KBTAB is not set | 
| 987 | # CONFIG_USB_POWERMATE is not set | 983 | # CONFIG_USB_POWERMATE is not set | 
| 988 | # CONFIG_USB_MTOUCH is not set | 984 | # CONFIG_USB_TOUCHSCREEN is not set | 
| 989 | # CONFIG_USB_ITMTOUCH is not set | ||
| 990 | # CONFIG_USB_EGALAX is not set | ||
| 991 | CONFIG_USB_YEALINK=m | 985 | CONFIG_USB_YEALINK=m | 
| 992 | # CONFIG_USB_XPAD is not set | 986 | # CONFIG_USB_XPAD is not set | 
| 993 | # CONFIG_USB_ATI_REMOTE is not set | 987 | # CONFIG_USB_ATI_REMOTE is not set | 
| @@ -1001,15 +995,6 @@ CONFIG_USB_YEALINK=m | |||
| 1001 | # CONFIG_USB_MDC800 is not set | 995 | # CONFIG_USB_MDC800 is not set | 
| 1002 | 996 | ||
| 1003 | # | 997 | # | 
| 1004 | # USB Multimedia devices | ||
| 1005 | # | ||
| 1006 | # CONFIG_USB_DABUSB is not set | ||
| 1007 | |||
| 1008 | # | ||
| 1009 | # Video4Linux support is needed for USB Multimedia device support | ||
| 1010 | # | ||
| 1011 | |||
| 1012 | # | ||
| 1013 | # USB Network Adapters | 998 | # USB Network Adapters | 
| 1014 | # | 999 | # | 
| 1015 | # CONFIG_USB_CATC is not set | 1000 | # CONFIG_USB_CATC is not set | 
| @@ -1059,13 +1044,31 @@ CONFIG_USB_LD=m | |||
| 1059 | # CONFIG_MMC is not set | 1044 | # CONFIG_MMC is not set | 
| 1060 | 1045 | ||
| 1061 | # | 1046 | # | 
| 1047 | # LED devices | ||
| 1048 | # | ||
| 1049 | # CONFIG_NEW_LEDS is not set | ||
| 1050 | |||
| 1051 | # | ||
| 1052 | # LED drivers | ||
| 1053 | # | ||
| 1054 | |||
| 1055 | # | ||
| 1056 | # LED Triggers | ||
| 1057 | # | ||
| 1058 | |||
| 1059 | # | ||
| 1062 | # InfiniBand support | 1060 | # InfiniBand support | 
| 1063 | # | 1061 | # | 
| 1064 | # CONFIG_INFINIBAND is not set | 1062 | # CONFIG_INFINIBAND is not set | 
| 1065 | 1063 | ||
| 1066 | # | 1064 | # | 
| 1067 | # SN Devices | 1065 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | 
| 1066 | # | ||
| 1067 | |||
| 1068 | # | ||
| 1069 | # Real Time Clock | ||
| 1068 | # | 1070 | # | 
| 1071 | # CONFIG_RTC_CLASS is not set | ||
| 1069 | 1072 | ||
| 1070 | # | 1073 | # | 
| 1071 | # File systems | 1074 | # File systems | 
| @@ -1123,7 +1126,6 @@ CONFIG_SYSFS=y | |||
| 1123 | CONFIG_TMPFS=y | 1126 | CONFIG_TMPFS=y | 
| 1124 | # CONFIG_HUGETLB_PAGE is not set | 1127 | # CONFIG_HUGETLB_PAGE is not set | 
| 1125 | CONFIG_RAMFS=y | 1128 | CONFIG_RAMFS=y | 
| 1126 | CONFIG_RELAYFS_FS=m | ||
| 1127 | # CONFIG_CONFIGFS_FS is not set | 1129 | # CONFIG_CONFIGFS_FS is not set | 
| 1128 | 1130 | ||
| 1129 | # | 1131 | # | 
| @@ -1232,6 +1234,7 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
| 1232 | # CONFIG_MAGIC_SYSRQ is not set | 1234 | # CONFIG_MAGIC_SYSRQ is not set | 
| 1233 | # CONFIG_DEBUG_KERNEL is not set | 1235 | # CONFIG_DEBUG_KERNEL is not set | 
| 1234 | CONFIG_LOG_BUF_SHIFT=14 | 1236 | CONFIG_LOG_BUF_SHIFT=14 | 
| 1237 | # CONFIG_DEBUG_FS is not set | ||
| 1235 | CONFIG_CROSSCOMPILE=y | 1238 | CONFIG_CROSSCOMPILE=y | 
| 1236 | CONFIG_CMDLINE="" | 1239 | CONFIG_CMDLINE="" | 
| 1237 | 1240 | ||
diff --git a/arch/mips/configs/db1550_defconfig b/arch/mips/configs/db1550_defconfig index 8dc1f18badfe..8130e23dc255 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.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 | 
| 4 | # Fri Jan 27 15:40:00 2006 | 4 | # Mon Apr 24 14:51:00 2006 | 
| 5 | # | 5 | # | 
| 6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y | 
| 7 | 7 | ||
| @@ -64,6 +64,8 @@ CONFIG_MIPS_DB1550=y | |||
| 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 
| 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 
| 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 
| 67 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
| 68 | CONFIG_GENERIC_HWEIGHT=y | ||
| 67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 69 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 
| 68 | CONFIG_DMA_NONCOHERENT=y | 70 | CONFIG_DMA_NONCOHERENT=y | 
| 69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 71 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 
| @@ -115,11 +117,11 @@ CONFIG_PAGE_SIZE_4KB=y | |||
| 115 | CONFIG_CPU_HAS_PREFETCH=y | 117 | CONFIG_CPU_HAS_PREFETCH=y | 
| 116 | # CONFIG_MIPS_MT is not set | 118 | # CONFIG_MIPS_MT is not set | 
| 117 | CONFIG_64BIT_PHYS_ADDR=y | 119 | CONFIG_64BIT_PHYS_ADDR=y | 
| 118 | # CONFIG_CPU_ADVANCED is not set | ||
| 119 | CONFIG_CPU_HAS_LLSC=y | 120 | CONFIG_CPU_HAS_LLSC=y | 
| 120 | CONFIG_CPU_HAS_SYNC=y | 121 | CONFIG_CPU_HAS_SYNC=y | 
| 121 | CONFIG_GENERIC_HARDIRQS=y | 122 | CONFIG_GENERIC_HARDIRQS=y | 
| 122 | CONFIG_GENERIC_IRQ_PROBE=y | 123 | CONFIG_GENERIC_IRQ_PROBE=y | 
| 124 | CONFIG_CPU_SUPPORTS_HIGHMEM=y | ||
| 123 | CONFIG_ARCH_FLATMEM_ENABLE=y | 125 | CONFIG_ARCH_FLATMEM_ENABLE=y | 
| 124 | CONFIG_SELECT_MEMORY_MODEL=y | 126 | CONFIG_SELECT_MEMORY_MODEL=y | 
| 125 | CONFIG_FLATMEM_MANUAL=y | 127 | CONFIG_FLATMEM_MANUAL=y | 
| @@ -137,7 +139,6 @@ CONFIG_PREEMPT_NONE=y | |||
| 137 | # Code maturity level options | 139 | # Code maturity level options | 
| 138 | # | 140 | # | 
| 139 | CONFIG_EXPERIMENTAL=y | 141 | CONFIG_EXPERIMENTAL=y | 
| 140 | CONFIG_CLEAN_COMPILE=y | ||
| 141 | CONFIG_BROKEN_ON_SMP=y | 142 | CONFIG_BROKEN_ON_SMP=y | 
| 142 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 143 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 
| 143 | 144 | ||
| @@ -153,6 +154,7 @@ CONFIG_SYSVIPC=y | |||
| 153 | CONFIG_SYSCTL=y | 154 | CONFIG_SYSCTL=y | 
| 154 | # CONFIG_AUDIT is not set | 155 | # CONFIG_AUDIT is not set | 
| 155 | # CONFIG_IKCONFIG is not set | 156 | # CONFIG_IKCONFIG is not set | 
| 157 | CONFIG_RELAY=y | ||
| 156 | CONFIG_INITRAMFS_SOURCE="" | 158 | CONFIG_INITRAMFS_SOURCE="" | 
| 157 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 159 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 
| 158 | CONFIG_EMBEDDED=y | 160 | CONFIG_EMBEDDED=y | 
| @@ -166,10 +168,6 @@ CONFIG_BASE_FULL=y | |||
| 166 | CONFIG_FUTEX=y | 168 | CONFIG_FUTEX=y | 
| 167 | CONFIG_EPOLL=y | 169 | CONFIG_EPOLL=y | 
| 168 | CONFIG_SHMEM=y | 170 | CONFIG_SHMEM=y | 
| 169 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
| 170 | CONFIG_CC_ALIGN_LABELS=0 | ||
| 171 | CONFIG_CC_ALIGN_LOOPS=0 | ||
| 172 | CONFIG_CC_ALIGN_JUMPS=0 | ||
| 173 | CONFIG_SLAB=y | 171 | CONFIG_SLAB=y | 
| 174 | # CONFIG_TINY_SHMEM is not set | 172 | # CONFIG_TINY_SHMEM is not set | 
| 175 | CONFIG_BASE_SMALL=0 | 173 | CONFIG_BASE_SMALL=0 | 
| @@ -182,7 +180,6 @@ CONFIG_OBSOLETE_INTERMODULE=y | |||
| 182 | CONFIG_MODULES=y | 180 | CONFIG_MODULES=y | 
| 183 | CONFIG_MODULE_UNLOAD=y | 181 | CONFIG_MODULE_UNLOAD=y | 
| 184 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 182 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 
| 185 | CONFIG_OBSOLETE_MODPARM=y | ||
| 186 | CONFIG_MODVERSIONS=y | 183 | CONFIG_MODVERSIONS=y | 
| 187 | CONFIG_MODULE_SRCVERSION_ALL=y | 184 | CONFIG_MODULE_SRCVERSION_ALL=y | 
| 188 | CONFIG_KMOD=y | 185 | CONFIG_KMOD=y | 
| @@ -191,6 +188,8 @@ CONFIG_KMOD=y | |||
| 191 | # Block layer | 188 | # Block layer | 
| 192 | # | 189 | # | 
| 193 | # CONFIG_LBD is not set | 190 | # CONFIG_LBD is not set | 
| 191 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 192 | # CONFIG_LSF is not set | ||
| 194 | 193 | ||
| 195 | # | 194 | # | 
| 196 | # IO Schedulers | 195 | # IO Schedulers | 
| @@ -210,7 +209,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
| 210 | # | 209 | # | 
| 211 | CONFIG_HW_HAS_PCI=y | 210 | CONFIG_HW_HAS_PCI=y | 
| 212 | CONFIG_PCI=y | 211 | CONFIG_PCI=y | 
| 213 | CONFIG_PCI_LEGACY_PROC=y | ||
| 214 | CONFIG_MMU=y | 212 | CONFIG_MMU=y | 
| 215 | 213 | ||
| 216 | # | 214 | # | 
| @@ -252,6 +250,7 @@ CONFIG_NET=y | |||
| 252 | # | 250 | # | 
| 253 | # Networking options | 251 | # Networking options | 
| 254 | # | 252 | # | 
| 253 | # CONFIG_NETDEBUG is not set | ||
| 255 | CONFIG_PACKET=y | 254 | CONFIG_PACKET=y | 
| 256 | # CONFIG_PACKET_MMAP is not set | 255 | # CONFIG_PACKET_MMAP is not set | 
| 257 | CONFIG_UNIX=y | 256 | CONFIG_UNIX=y | 
| @@ -274,7 +273,8 @@ CONFIG_IP_PNP_BOOTP=y | |||
| 274 | # CONFIG_INET_AH is not set | 273 | # CONFIG_INET_AH is not set | 
| 275 | # CONFIG_INET_ESP is not set | 274 | # CONFIG_INET_ESP is not set | 
| 276 | # CONFIG_INET_IPCOMP is not set | 275 | # CONFIG_INET_IPCOMP is not set | 
| 277 | CONFIG_INET_TUNNEL=m | 276 | # CONFIG_INET_XFRM_TUNNEL is not set | 
| 277 | # CONFIG_INET_TUNNEL is not set | ||
| 278 | CONFIG_INET_DIAG=y | 278 | CONFIG_INET_DIAG=y | 
| 279 | CONFIG_INET_TCP_DIAG=y | 279 | CONFIG_INET_TCP_DIAG=y | 
| 280 | # CONFIG_TCP_CONG_ADVANCED is not set | 280 | # CONFIG_TCP_CONG_ADVANCED is not set | 
| @@ -285,6 +285,8 @@ CONFIG_TCP_CONG_BIC=y | |||
| 285 | # | 285 | # | 
| 286 | # CONFIG_IP_VS is not set | 286 | # CONFIG_IP_VS is not set | 
| 287 | # CONFIG_IPV6 is not set | 287 | # CONFIG_IPV6 is not set | 
| 288 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
| 289 | # CONFIG_INET6_TUNNEL is not set | ||
| 288 | CONFIG_NETFILTER=y | 290 | CONFIG_NETFILTER=y | 
| 289 | # CONFIG_NETFILTER_DEBUG is not set | 291 | # CONFIG_NETFILTER_DEBUG is not set | 
| 290 | 292 | ||
| @@ -301,10 +303,13 @@ CONFIG_NETFILTER_XT_TARGET_MARK=m | |||
| 301 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | 303 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | 
| 302 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | 304 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | 
| 303 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 305 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 
| 306 | CONFIG_NETFILTER_XT_MATCH_ESP=m | ||
| 304 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | 307 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | 
| 305 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | 308 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | 
| 306 | CONFIG_NETFILTER_XT_MATCH_MAC=m | 309 | CONFIG_NETFILTER_XT_MATCH_MAC=m | 
| 307 | CONFIG_NETFILTER_XT_MATCH_MARK=m | 310 | CONFIG_NETFILTER_XT_MATCH_MARK=m | 
| 311 | CONFIG_NETFILTER_XT_MATCH_POLICY=m | ||
| 312 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m | ||
| 308 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 313 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 
| 309 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 314 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 
| 310 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | 315 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | 
| @@ -328,6 +333,11 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | |||
| 328 | # SCTP Configuration (EXPERIMENTAL) | 333 | # SCTP Configuration (EXPERIMENTAL) | 
| 329 | # | 334 | # | 
| 330 | # CONFIG_IP_SCTP is not set | 335 | # CONFIG_IP_SCTP is not set | 
| 336 | |||
| 337 | # | ||
| 338 | # TIPC Configuration (EXPERIMENTAL) | ||
| 339 | # | ||
| 340 | # CONFIG_TIPC is not set | ||
| 331 | # CONFIG_ATM is not set | 341 | # CONFIG_ATM is not set | 
| 332 | # CONFIG_BRIDGE is not set | 342 | # CONFIG_BRIDGE is not set | 
| 333 | # CONFIG_VLAN_8021Q is not set | 343 | # CONFIG_VLAN_8021Q is not set | 
| @@ -337,11 +347,6 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | |||
| 337 | # CONFIG_ATALK is not set | 347 | # CONFIG_ATALK is not set | 
| 338 | # CONFIG_X25 is not set | 348 | # CONFIG_X25 is not set | 
| 339 | # CONFIG_LAPB is not set | 349 | # CONFIG_LAPB is not set | 
| 340 | |||
| 341 | # | ||
| 342 | # TIPC Configuration (EXPERIMENTAL) | ||
| 343 | # | ||
| 344 | # CONFIG_TIPC is not set | ||
| 345 | # CONFIG_NET_DIVERT is not set | 350 | # CONFIG_NET_DIVERT is not set | 
| 346 | # CONFIG_ECONET is not set | 351 | # CONFIG_ECONET is not set | 
| 347 | # CONFIG_WAN_ROUTER is not set | 352 | # CONFIG_WAN_ROUTER is not set | 
| @@ -363,6 +368,9 @@ CONFIG_IEEE80211=m | |||
| 363 | # CONFIG_IEEE80211_DEBUG is not set | 368 | # CONFIG_IEEE80211_DEBUG is not set | 
| 364 | CONFIG_IEEE80211_CRYPT_WEP=m | 369 | CONFIG_IEEE80211_CRYPT_WEP=m | 
| 365 | CONFIG_IEEE80211_CRYPT_CCMP=m | 370 | CONFIG_IEEE80211_CRYPT_CCMP=m | 
| 371 | CONFIG_IEEE80211_SOFTMAC=m | ||
| 372 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
| 373 | CONFIG_WIRELESS_EXT=y | ||
| 366 | 374 | ||
| 367 | # | 375 | # | 
| 368 | # Device Drivers | 376 | # Device Drivers | 
| @@ -419,7 +427,6 @@ CONFIG_MTD_CFI_I2=y | |||
| 419 | # CONFIG_MTD_CFI_I8 is not set | 427 | # CONFIG_MTD_CFI_I8 is not set | 
| 420 | # CONFIG_MTD_CFI_INTELEXT is not set | 428 | # CONFIG_MTD_CFI_INTELEXT is not set | 
| 421 | CONFIG_MTD_CFI_AMDSTD=y | 429 | CONFIG_MTD_CFI_AMDSTD=y | 
| 422 | CONFIG_MTD_CFI_AMDSTD_RETRY=0 | ||
| 423 | # CONFIG_MTD_CFI_STAA is not set | 430 | # CONFIG_MTD_CFI_STAA is not set | 
| 424 | CONFIG_MTD_CFI_UTIL=y | 431 | CONFIG_MTD_CFI_UTIL=y | 
| 425 | # CONFIG_MTD_RAM is not set | 432 | # CONFIG_MTD_RAM is not set | 
| @@ -442,7 +449,6 @@ CONFIG_MTD_ALCHEMY=y | |||
| 442 | # CONFIG_MTD_SLRAM is not set | 449 | # CONFIG_MTD_SLRAM is not set | 
| 443 | # CONFIG_MTD_PHRAM is not set | 450 | # CONFIG_MTD_PHRAM is not set | 
| 444 | # CONFIG_MTD_MTDRAM is not set | 451 | # CONFIG_MTD_MTDRAM is not set | 
| 445 | # CONFIG_MTD_BLKMTD is not set | ||
| 446 | # CONFIG_MTD_BLOCK2MTD is not set | 452 | # CONFIG_MTD_BLOCK2MTD is not set | 
| 447 | 453 | ||
| 448 | # | 454 | # | 
| @@ -489,7 +495,7 @@ CONFIG_BLK_DEV_LOOP=y | |||
| 489 | # CONFIG_BLK_DEV_NBD is not set | 495 | # CONFIG_BLK_DEV_NBD is not set | 
| 490 | # CONFIG_BLK_DEV_SX8 is not set | 496 | # CONFIG_BLK_DEV_SX8 is not set | 
| 491 | # CONFIG_BLK_DEV_RAM is not set | 497 | # CONFIG_BLK_DEV_RAM is not set | 
| 492 | CONFIG_BLK_DEV_RAM_COUNT=16 | 498 | # CONFIG_BLK_DEV_INITRD is not set | 
| 493 | CONFIG_CDROM_PKTCDVD=m | 499 | CONFIG_CDROM_PKTCDVD=m | 
| 494 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 500 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 
| 495 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 501 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 
| @@ -754,6 +760,7 @@ CONFIG_SERIO_RAW=m | |||
| 754 | # | 760 | # | 
| 755 | CONFIG_SERIAL_8250=y | 761 | CONFIG_SERIAL_8250=y | 
| 756 | CONFIG_SERIAL_8250_CONSOLE=y | 762 | CONFIG_SERIAL_8250_CONSOLE=y | 
| 763 | CONFIG_SERIAL_8250_PCI=y | ||
| 757 | # CONFIG_SERIAL_8250_CS is not set | 764 | # CONFIG_SERIAL_8250_CS is not set | 
| 758 | CONFIG_SERIAL_8250_NR_UARTS=4 | 765 | CONFIG_SERIAL_8250_NR_UARTS=4 | 
| 759 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 766 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 
| @@ -765,6 +772,7 @@ CONFIG_SERIAL_8250_AU1X00=y | |||
| 765 | # | 772 | # | 
| 766 | CONFIG_SERIAL_CORE=y | 773 | CONFIG_SERIAL_CORE=y | 
| 767 | CONFIG_SERIAL_CORE_CONSOLE=y | 774 | CONFIG_SERIAL_CORE_CONSOLE=y | 
| 775 | # CONFIG_SERIAL_JSM is not set | ||
| 768 | CONFIG_UNIX98_PTYS=y | 776 | CONFIG_UNIX98_PTYS=y | 
| 769 | CONFIG_LEGACY_PTYS=y | 777 | CONFIG_LEGACY_PTYS=y | 
| 770 | CONFIG_LEGACY_PTY_COUNT=256 | 778 | CONFIG_LEGACY_PTY_COUNT=256 | 
| @@ -830,10 +838,6 @@ CONFIG_SYNCLINK_CS=m | |||
| 830 | # | 838 | # | 
| 831 | 839 | ||
| 832 | # | 840 | # | 
| 833 | # Multimedia Capabilities Port drivers | ||
| 834 | # | ||
| 835 | |||
| 836 | # | ||
| 837 | # Multimedia devices | 841 | # Multimedia devices | 
| 838 | # | 842 | # | 
| 839 | # CONFIG_VIDEO_DEV is not set | 843 | # CONFIG_VIDEO_DEV is not set | 
| @@ -858,6 +862,7 @@ CONFIG_SYNCLINK_CS=m | |||
| 858 | # | 862 | # | 
| 859 | CONFIG_USB_ARCH_HAS_HCD=y | 863 | CONFIG_USB_ARCH_HAS_HCD=y | 
| 860 | CONFIG_USB_ARCH_HAS_OHCI=y | 864 | CONFIG_USB_ARCH_HAS_OHCI=y | 
| 865 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
| 861 | # CONFIG_USB is not set | 866 | # CONFIG_USB is not set | 
| 862 | 867 | ||
| 863 | # | 868 | # | 
| @@ -875,13 +880,31 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
| 875 | # CONFIG_MMC is not set | 880 | # CONFIG_MMC is not set | 
| 876 | 881 | ||
| 877 | # | 882 | # | 
| 883 | # LED devices | ||
| 884 | # | ||
| 885 | # CONFIG_NEW_LEDS is not set | ||
| 886 | |||
| 887 | # | ||
| 888 | # LED drivers | ||
| 889 | # | ||
| 890 | |||
| 891 | # | ||
| 892 | # LED Triggers | ||
| 893 | # | ||
| 894 | |||
| 895 | # | ||
| 878 | # InfiniBand support | 896 | # InfiniBand support | 
| 879 | # | 897 | # | 
| 880 | # CONFIG_INFINIBAND is not set | 898 | # CONFIG_INFINIBAND is not set | 
| 881 | 899 | ||
| 882 | # | 900 | # | 
| 883 | # SN Devices | 901 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | 
| 902 | # | ||
| 903 | |||
| 904 | # | ||
| 905 | # Real Time Clock | ||
| 884 | # | 906 | # | 
| 907 | # CONFIG_RTC_CLASS is not set | ||
| 885 | 908 | ||
| 886 | # | 909 | # | 
| 887 | # File systems | 910 | # File systems | 
| @@ -939,7 +962,6 @@ CONFIG_SYSFS=y | |||
| 939 | CONFIG_TMPFS=y | 962 | CONFIG_TMPFS=y | 
| 940 | # CONFIG_HUGETLB_PAGE is not set | 963 | # CONFIG_HUGETLB_PAGE is not set | 
| 941 | CONFIG_RAMFS=y | 964 | CONFIG_RAMFS=y | 
| 942 | CONFIG_RELAYFS_FS=m | ||
| 943 | # CONFIG_CONFIGFS_FS is not set | 965 | # CONFIG_CONFIGFS_FS is not set | 
| 944 | 966 | ||
| 945 | # | 967 | # | 
| @@ -1048,6 +1070,7 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
| 1048 | # CONFIG_MAGIC_SYSRQ is not set | 1070 | # CONFIG_MAGIC_SYSRQ is not set | 
| 1049 | # CONFIG_DEBUG_KERNEL is not set | 1071 | # CONFIG_DEBUG_KERNEL is not set | 
| 1050 | CONFIG_LOG_BUF_SHIFT=14 | 1072 | CONFIG_LOG_BUF_SHIFT=14 | 
| 1073 | # CONFIG_DEBUG_FS is not set | ||
| 1051 | CONFIG_CROSSCOMPILE=y | 1074 | CONFIG_CROSSCOMPILE=y | 
| 1052 | CONFIG_CMDLINE="" | 1075 | CONFIG_CMDLINE="" | 
| 1053 | 1076 | ||
diff --git a/arch/mips/configs/ddb5476_defconfig b/arch/mips/configs/ddb5476_defconfig index 8fae63e47e5e..8d88ac1bbfeb 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.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 | 
| 4 | # Fri Jan 27 15:40:02 2006 | 4 | # Mon Apr 24 14:51:00 2006 | 
| 5 | # | 5 | # | 
| 6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y | 
| 7 | 7 | ||
| @@ -64,6 +64,8 @@ CONFIG_DDB5476=y | |||
| 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 
| 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 
| 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 
| 67 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
| 68 | CONFIG_GENERIC_HWEIGHT=y | ||
| 67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 69 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 
| 68 | CONFIG_DMA_NONCOHERENT=y | 70 | CONFIG_DMA_NONCOHERENT=y | 
| 69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 71 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 
| @@ -114,7 +116,6 @@ CONFIG_PAGE_SIZE_4KB=y | |||
| 114 | # CONFIG_PAGE_SIZE_16KB is not set | 116 | # CONFIG_PAGE_SIZE_16KB is not set | 
| 115 | # CONFIG_PAGE_SIZE_64KB is not set | 117 | # CONFIG_PAGE_SIZE_64KB is not set | 
| 116 | # CONFIG_MIPS_MT is not set | 118 | # CONFIG_MIPS_MT is not set | 
| 117 | # CONFIG_CPU_ADVANCED is not set | ||
| 118 | CONFIG_CPU_HAS_LLSC=y | 119 | CONFIG_CPU_HAS_LLSC=y | 
| 119 | CONFIG_CPU_HAS_SYNC=y | 120 | CONFIG_CPU_HAS_SYNC=y | 
| 120 | CONFIG_GENERIC_HARDIRQS=y | 121 | CONFIG_GENERIC_HARDIRQS=y | 
| @@ -136,7 +137,6 @@ CONFIG_PREEMPT_NONE=y | |||
| 136 | # Code maturity level options | 137 | # Code maturity level options | 
| 137 | # | 138 | # | 
| 138 | CONFIG_EXPERIMENTAL=y | 139 | CONFIG_EXPERIMENTAL=y | 
| 139 | CONFIG_CLEAN_COMPILE=y | ||
| 140 | CONFIG_BROKEN_ON_SMP=y | 140 | CONFIG_BROKEN_ON_SMP=y | 
| 141 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 141 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 
| 142 | 142 | ||
| @@ -152,6 +152,7 @@ CONFIG_SYSVIPC=y | |||
| 152 | CONFIG_SYSCTL=y | 152 | CONFIG_SYSCTL=y | 
| 153 | # CONFIG_AUDIT is not set | 153 | # CONFIG_AUDIT is not set | 
| 154 | # CONFIG_IKCONFIG is not set | 154 | # CONFIG_IKCONFIG is not set | 
| 155 | CONFIG_RELAY=y | ||
| 155 | CONFIG_INITRAMFS_SOURCE="" | 156 | CONFIG_INITRAMFS_SOURCE="" | 
| 156 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 157 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 
| 157 | CONFIG_EMBEDDED=y | 158 | CONFIG_EMBEDDED=y | 
| @@ -165,10 +166,6 @@ CONFIG_BASE_FULL=y | |||
| 165 | CONFIG_FUTEX=y | 166 | CONFIG_FUTEX=y | 
| 166 | CONFIG_EPOLL=y | 167 | CONFIG_EPOLL=y | 
| 167 | CONFIG_SHMEM=y | 168 | CONFIG_SHMEM=y | 
| 168 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
| 169 | CONFIG_CC_ALIGN_LABELS=0 | ||
| 170 | CONFIG_CC_ALIGN_LOOPS=0 | ||
| 171 | CONFIG_CC_ALIGN_JUMPS=0 | ||
| 172 | CONFIG_SLAB=y | 169 | CONFIG_SLAB=y | 
| 173 | # CONFIG_TINY_SHMEM is not set | 170 | # CONFIG_TINY_SHMEM is not set | 
| 174 | CONFIG_BASE_SMALL=0 | 171 | CONFIG_BASE_SMALL=0 | 
| @@ -183,6 +180,8 @@ CONFIG_BASE_SMALL=0 | |||
| 183 | # Block layer | 180 | # Block layer | 
| 184 | # | 181 | # | 
| 185 | # CONFIG_LBD is not set | 182 | # CONFIG_LBD is not set | 
| 183 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 184 | # CONFIG_LSF is not set | ||
| 186 | 185 | ||
| 187 | # | 186 | # | 
| 188 | # IO Schedulers | 187 | # IO Schedulers | 
| @@ -202,7 +201,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
| 202 | # | 201 | # | 
| 203 | CONFIG_HW_HAS_PCI=y | 202 | CONFIG_HW_HAS_PCI=y | 
| 204 | CONFIG_PCI=y | 203 | CONFIG_PCI=y | 
| 205 | CONFIG_PCI_LEGACY_PROC=y | ||
| 206 | CONFIG_ISA=y | 204 | CONFIG_ISA=y | 
| 207 | CONFIG_MMU=y | 205 | CONFIG_MMU=y | 
| 208 | 206 | ||
| @@ -231,6 +229,7 @@ CONFIG_NET=y | |||
| 231 | # | 229 | # | 
| 232 | # Networking options | 230 | # Networking options | 
| 233 | # | 231 | # | 
| 232 | # CONFIG_NETDEBUG is not set | ||
| 234 | CONFIG_PACKET=y | 233 | CONFIG_PACKET=y | 
| 235 | # CONFIG_PACKET_MMAP is not set | 234 | # CONFIG_PACKET_MMAP is not set | 
| 236 | CONFIG_UNIX=y | 235 | CONFIG_UNIX=y | 
| @@ -252,12 +251,15 @@ CONFIG_IP_PNP_BOOTP=y | |||
| 252 | # CONFIG_INET_AH is not set | 251 | # CONFIG_INET_AH is not set | 
| 253 | # CONFIG_INET_ESP is not set | 252 | # CONFIG_INET_ESP is not set | 
| 254 | # CONFIG_INET_IPCOMP is not set | 253 | # CONFIG_INET_IPCOMP is not set | 
| 255 | CONFIG_INET_TUNNEL=y | 254 | # CONFIG_INET_XFRM_TUNNEL is not set | 
| 255 | # CONFIG_INET_TUNNEL is not set | ||
| 256 | CONFIG_INET_DIAG=y | 256 | CONFIG_INET_DIAG=y | 
| 257 | CONFIG_INET_TCP_DIAG=y | 257 | CONFIG_INET_TCP_DIAG=y | 
| 258 | # CONFIG_TCP_CONG_ADVANCED is not set | 258 | # CONFIG_TCP_CONG_ADVANCED is not set | 
| 259 | CONFIG_TCP_CONG_BIC=y | 259 | CONFIG_TCP_CONG_BIC=y | 
| 260 | # CONFIG_IPV6 is not set | 260 | # CONFIG_IPV6 is not set | 
| 261 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
| 262 | # CONFIG_INET6_TUNNEL is not set | ||
| 261 | # CONFIG_NETFILTER is not set | 263 | # CONFIG_NETFILTER is not set | 
| 262 | 264 | ||
| 263 | # | 265 | # | 
| @@ -269,6 +271,11 @@ CONFIG_TCP_CONG_BIC=y | |||
| 269 | # SCTP Configuration (EXPERIMENTAL) | 271 | # SCTP Configuration (EXPERIMENTAL) | 
| 270 | # | 272 | # | 
| 271 | # CONFIG_IP_SCTP is not set | 273 | # CONFIG_IP_SCTP is not set | 
| 274 | |||
| 275 | # | ||
| 276 | # TIPC Configuration (EXPERIMENTAL) | ||
| 277 | # | ||
| 278 | # CONFIG_TIPC is not set | ||
| 272 | # CONFIG_ATM is not set | 279 | # CONFIG_ATM is not set | 
| 273 | # CONFIG_BRIDGE is not set | 280 | # CONFIG_BRIDGE is not set | 
| 274 | # CONFIG_VLAN_8021Q is not set | 281 | # CONFIG_VLAN_8021Q is not set | 
| @@ -278,11 +285,6 @@ CONFIG_TCP_CONG_BIC=y | |||
| 278 | # CONFIG_ATALK is not set | 285 | # CONFIG_ATALK is not set | 
| 279 | # CONFIG_X25 is not set | 286 | # CONFIG_X25 is not set | 
| 280 | # CONFIG_LAPB is not set | 287 | # CONFIG_LAPB is not set | 
| 281 | |||
| 282 | # | ||
| 283 | # TIPC Configuration (EXPERIMENTAL) | ||
| 284 | # | ||
| 285 | # CONFIG_TIPC is not set | ||
| 286 | # CONFIG_NET_DIVERT is not set | 288 | # CONFIG_NET_DIVERT is not set | 
| 287 | # CONFIG_ECONET is not set | 289 | # CONFIG_ECONET is not set | 
| 288 | # CONFIG_WAN_ROUTER is not set | 290 | # CONFIG_WAN_ROUTER is not set | 
| @@ -303,6 +305,9 @@ CONFIG_IEEE80211=y | |||
| 303 | # CONFIG_IEEE80211_DEBUG is not set | 305 | # CONFIG_IEEE80211_DEBUG is not set | 
| 304 | CONFIG_IEEE80211_CRYPT_WEP=y | 306 | CONFIG_IEEE80211_CRYPT_WEP=y | 
| 305 | CONFIG_IEEE80211_CRYPT_CCMP=y | 307 | CONFIG_IEEE80211_CRYPT_CCMP=y | 
| 308 | CONFIG_IEEE80211_SOFTMAC=y | ||
| 309 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
| 310 | CONFIG_WIRELESS_EXT=y | ||
| 306 | 311 | ||
| 307 | # | 312 | # | 
| 308 | # Device Drivers | 313 | # Device Drivers | 
| @@ -348,7 +353,7 @@ CONFIG_PROC_EVENTS=y | |||
| 348 | # CONFIG_BLK_DEV_NBD is not set | 353 | # CONFIG_BLK_DEV_NBD is not set | 
| 349 | # CONFIG_BLK_DEV_SX8 is not set | 354 | # CONFIG_BLK_DEV_SX8 is not set | 
| 350 | # CONFIG_BLK_DEV_RAM is not set | 355 | # CONFIG_BLK_DEV_RAM is not set | 
| 351 | CONFIG_BLK_DEV_RAM_COUNT=16 | 356 | # CONFIG_BLK_DEV_INITRD is not set | 
| 352 | CONFIG_CDROM_PKTCDVD=y | 357 | CONFIG_CDROM_PKTCDVD=y | 
| 353 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 358 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 
| 354 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 359 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 
| @@ -571,6 +576,7 @@ CONFIG_HW_CONSOLE=y | |||
| 571 | # | 576 | # | 
| 572 | CONFIG_SERIAL_8250=y | 577 | CONFIG_SERIAL_8250=y | 
| 573 | CONFIG_SERIAL_8250_CONSOLE=y | 578 | CONFIG_SERIAL_8250_CONSOLE=y | 
| 579 | CONFIG_SERIAL_8250_PCI=y | ||
| 574 | CONFIG_SERIAL_8250_NR_UARTS=4 | 580 | CONFIG_SERIAL_8250_NR_UARTS=4 | 
| 575 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 581 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 
| 576 | # CONFIG_SERIAL_8250_EXTENDED is not set | 582 | # CONFIG_SERIAL_8250_EXTENDED is not set | 
| @@ -580,6 +586,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | |||
| 580 | # | 586 | # | 
| 581 | CONFIG_SERIAL_CORE=y | 587 | CONFIG_SERIAL_CORE=y | 
| 582 | CONFIG_SERIAL_CORE_CONSOLE=y | 588 | CONFIG_SERIAL_CORE_CONSOLE=y | 
| 589 | # CONFIG_SERIAL_JSM is not set | ||
| 583 | CONFIG_UNIX98_PTYS=y | 590 | CONFIG_UNIX98_PTYS=y | 
| 584 | CONFIG_LEGACY_PTYS=y | 591 | CONFIG_LEGACY_PTYS=y | 
| 585 | CONFIG_LEGACY_PTY_COUNT=256 | 592 | CONFIG_LEGACY_PTY_COUNT=256 | 
| @@ -638,10 +645,6 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
| 638 | # | 645 | # | 
| 639 | 646 | ||
| 640 | # | 647 | # | 
| 641 | # Multimedia Capabilities Port drivers | ||
| 642 | # | ||
| 643 | |||
| 644 | # | ||
| 645 | # Multimedia devices | 648 | # Multimedia devices | 
| 646 | # | 649 | # | 
| 647 | # CONFIG_VIDEO_DEV is not set | 650 | # CONFIG_VIDEO_DEV is not set | 
| @@ -659,6 +662,7 @@ CONFIG_FB=y | |||
| 659 | # CONFIG_FB_CFB_COPYAREA is not set | 662 | # CONFIG_FB_CFB_COPYAREA is not set | 
| 660 | # CONFIG_FB_CFB_IMAGEBLIT is not set | 663 | # CONFIG_FB_CFB_IMAGEBLIT is not set | 
| 661 | # CONFIG_FB_MACMODES is not set | 664 | # CONFIG_FB_MACMODES is not set | 
| 665 | CONFIG_FB_FIRMWARE_EDID=y | ||
| 662 | # CONFIG_FB_MODE_HELPERS is not set | 666 | # CONFIG_FB_MODE_HELPERS is not set | 
| 663 | # CONFIG_FB_TILEBLITTING is not set | 667 | # CONFIG_FB_TILEBLITTING is not set | 
| 664 | # CONFIG_FB_CIRRUS is not set | 668 | # CONFIG_FB_CIRRUS is not set | 
| @@ -670,7 +674,6 @@ CONFIG_FB=y | |||
| 670 | # CONFIG_FB_NVIDIA is not set | 674 | # CONFIG_FB_NVIDIA is not set | 
| 671 | # CONFIG_FB_RIVA is not set | 675 | # CONFIG_FB_RIVA is not set | 
| 672 | # CONFIG_FB_MATROX is not set | 676 | # CONFIG_FB_MATROX is not set | 
| 673 | # CONFIG_FB_RADEON_OLD is not set | ||
| 674 | # CONFIG_FB_RADEON is not set | 677 | # CONFIG_FB_RADEON is not set | 
| 675 | # CONFIG_FB_ATY128 is not set | 678 | # CONFIG_FB_ATY128 is not set | 
| 676 | # CONFIG_FB_ATY is not set | 679 | # CONFIG_FB_ATY is not set | 
| @@ -708,6 +711,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
| 708 | # | 711 | # | 
| 709 | CONFIG_USB_ARCH_HAS_HCD=y | 712 | CONFIG_USB_ARCH_HAS_HCD=y | 
| 710 | CONFIG_USB_ARCH_HAS_OHCI=y | 713 | CONFIG_USB_ARCH_HAS_OHCI=y | 
| 714 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
| 711 | # CONFIG_USB is not set | 715 | # CONFIG_USB is not set | 
| 712 | 716 | ||
| 713 | # | 717 | # | 
| @@ -725,13 +729,31 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
| 725 | # CONFIG_MMC is not set | 729 | # CONFIG_MMC is not set | 
| 726 | 730 | ||
| 727 | # | 731 | # | 
| 732 | # LED devices | ||
| 733 | # | ||
| 734 | # CONFIG_NEW_LEDS is not set | ||
| 735 | |||
| 736 | # | ||
| 737 | # LED drivers | ||
| 738 | # | ||
| 739 | |||
| 740 | # | ||
| 741 | # LED Triggers | ||
| 742 | # | ||
| 743 | |||
| 744 | # | ||
| 728 | # InfiniBand support | 745 | # InfiniBand support | 
| 729 | # | 746 | # | 
| 730 | # CONFIG_INFINIBAND is not set | 747 | # CONFIG_INFINIBAND is not set | 
| 731 | 748 | ||
| 732 | # | 749 | # | 
| 733 | # SN Devices | 750 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | 
| 751 | # | ||
| 752 | |||
| 753 | # | ||
| 754 | # Real Time Clock | ||
| 734 | # | 755 | # | 
| 756 | # CONFIG_RTC_CLASS is not set | ||
| 735 | 757 | ||
| 736 | # | 758 | # | 
| 737 | # File systems | 759 | # File systems | 
| @@ -776,7 +798,6 @@ CONFIG_SYSFS=y | |||
| 776 | # CONFIG_TMPFS is not set | 798 | # CONFIG_TMPFS is not set | 
| 777 | # CONFIG_HUGETLB_PAGE is not set | 799 | # CONFIG_HUGETLB_PAGE is not set | 
| 778 | CONFIG_RAMFS=y | 800 | CONFIG_RAMFS=y | 
| 779 | CONFIG_RELAYFS_FS=y | ||
| 780 | # CONFIG_CONFIGFS_FS is not set | 801 | # CONFIG_CONFIGFS_FS is not set | 
| 781 | 802 | ||
| 782 | # | 803 | # | 
| @@ -840,6 +861,8 @@ CONFIG_MSDOS_PARTITION=y | |||
| 840 | # CONFIG_MAGIC_SYSRQ is not set | 861 | # CONFIG_MAGIC_SYSRQ is not set | 
| 841 | # CONFIG_DEBUG_KERNEL is not set | 862 | # CONFIG_DEBUG_KERNEL is not set | 
| 842 | CONFIG_LOG_BUF_SHIFT=14 | 863 | CONFIG_LOG_BUF_SHIFT=14 | 
| 864 | # CONFIG_DEBUG_FS is not set | ||
| 865 | # CONFIG_UNWIND_INFO is not set | ||
| 843 | CONFIG_CROSSCOMPILE=y | 866 | CONFIG_CROSSCOMPILE=y | 
| 844 | CONFIG_CMDLINE="ip=any" | 867 | CONFIG_CMDLINE="ip=any" | 
| 845 | 868 | ||
diff --git a/arch/mips/configs/ddb5477_defconfig b/arch/mips/configs/ddb5477_defconfig index a0fcd44e7709..8c911b671415 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.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 | 
| 4 | # Fri Jan 27 15:40:02 2006 | 4 | # Mon Apr 24 14:51:01 2006 | 
| 5 | # | 5 | # | 
| 6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y | 
| 7 | 7 | ||
| @@ -65,6 +65,8 @@ CONFIG_DDB5477=y | |||
| 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 
| 66 | CONFIG_DDB5477_BUS_FREQUENCY=0 | 66 | CONFIG_DDB5477_BUS_FREQUENCY=0 | 
| 67 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 67 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 
| 68 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
| 69 | CONFIG_GENERIC_HWEIGHT=y | ||
| 68 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 70 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 
| 69 | CONFIG_DMA_NONCOHERENT=y | 71 | CONFIG_DMA_NONCOHERENT=y | 
| 70 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 72 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 
| @@ -114,7 +116,6 @@ CONFIG_PAGE_SIZE_4KB=y | |||
| 114 | # CONFIG_PAGE_SIZE_16KB is not set | 116 | # CONFIG_PAGE_SIZE_16KB is not set | 
| 115 | # CONFIG_PAGE_SIZE_64KB is not set | 117 | # CONFIG_PAGE_SIZE_64KB is not set | 
| 116 | # CONFIG_MIPS_MT is not set | 118 | # CONFIG_MIPS_MT is not set | 
| 117 | # CONFIG_CPU_ADVANCED is not set | ||
| 118 | CONFIG_CPU_HAS_LLSC=y | 119 | CONFIG_CPU_HAS_LLSC=y | 
| 119 | CONFIG_CPU_HAS_SYNC=y | 120 | CONFIG_CPU_HAS_SYNC=y | 
| 120 | CONFIG_GENERIC_HARDIRQS=y | 121 | CONFIG_GENERIC_HARDIRQS=y | 
| @@ -136,7 +137,6 @@ CONFIG_PREEMPT_NONE=y | |||
| 136 | # Code maturity level options | 137 | # Code maturity level options | 
| 137 | # | 138 | # | 
| 138 | CONFIG_EXPERIMENTAL=y | 139 | CONFIG_EXPERIMENTAL=y | 
| 139 | CONFIG_CLEAN_COMPILE=y | ||
| 140 | CONFIG_BROKEN_ON_SMP=y | 140 | CONFIG_BROKEN_ON_SMP=y | 
| 141 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 141 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 
| 142 | 142 | ||
| @@ -152,6 +152,7 @@ CONFIG_SYSVIPC=y | |||
| 152 | CONFIG_SYSCTL=y | 152 | CONFIG_SYSCTL=y | 
| 153 | # CONFIG_AUDIT is not set | 153 | # CONFIG_AUDIT is not set | 
| 154 | # CONFIG_IKCONFIG is not set | 154 | # CONFIG_IKCONFIG is not set | 
| 155 | CONFIG_RELAY=y | ||
| 155 | CONFIG_INITRAMFS_SOURCE="" | 156 | CONFIG_INITRAMFS_SOURCE="" | 
| 156 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 157 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 
| 157 | CONFIG_EMBEDDED=y | 158 | CONFIG_EMBEDDED=y | 
| @@ -165,10 +166,6 @@ CONFIG_BASE_FULL=y | |||
| 165 | CONFIG_FUTEX=y | 166 | CONFIG_FUTEX=y | 
| 166 | CONFIG_EPOLL=y | 167 | CONFIG_EPOLL=y | 
| 167 | CONFIG_SHMEM=y | 168 | CONFIG_SHMEM=y | 
| 168 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
| 169 | CONFIG_CC_ALIGN_LABELS=0 | ||
| 170 | CONFIG_CC_ALIGN_LOOPS=0 | ||
| 171 | CONFIG_CC_ALIGN_JUMPS=0 | ||
| 172 | CONFIG_SLAB=y | 169 | CONFIG_SLAB=y | 
| 173 | # CONFIG_TINY_SHMEM is not set | 170 | # CONFIG_TINY_SHMEM is not set | 
| 174 | CONFIG_BASE_SMALL=0 | 171 | CONFIG_BASE_SMALL=0 | 
| @@ -183,6 +180,8 @@ CONFIG_BASE_SMALL=0 | |||
| 183 | # Block layer | 180 | # Block layer | 
| 184 | # | 181 | # | 
| 185 | # CONFIG_LBD is not set | 182 | # CONFIG_LBD is not set | 
| 183 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 184 | # CONFIG_LSF is not set | ||
| 186 | 185 | ||
| 187 | # | 186 | # | 
| 188 | # IO Schedulers | 187 | # IO Schedulers | 
| @@ -202,7 +201,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
| 202 | # | 201 | # | 
| 203 | CONFIG_HW_HAS_PCI=y | 202 | CONFIG_HW_HAS_PCI=y | 
| 204 | CONFIG_PCI=y | 203 | CONFIG_PCI=y | 
| 205 | CONFIG_PCI_LEGACY_PROC=y | ||
| 206 | CONFIG_MMU=y | 204 | CONFIG_MMU=y | 
| 207 | 205 | ||
| 208 | # | 206 | # | 
| @@ -230,6 +228,7 @@ CONFIG_NET=y | |||
| 230 | # | 228 | # | 
| 231 | # Networking options | 229 | # Networking options | 
| 232 | # | 230 | # | 
| 231 | # CONFIG_NETDEBUG is not set | ||
| 233 | CONFIG_PACKET=y | 232 | CONFIG_PACKET=y | 
| 234 | # CONFIG_PACKET_MMAP is not set | 233 | # CONFIG_PACKET_MMAP is not set | 
| 235 | CONFIG_UNIX=y | 234 | CONFIG_UNIX=y | 
| @@ -251,12 +250,15 @@ CONFIG_IP_PNP_BOOTP=y | |||
| 251 | # CONFIG_INET_AH is not set | 250 | # CONFIG_INET_AH is not set | 
| 252 | # CONFIG_INET_ESP is not set | 251 | # CONFIG_INET_ESP is not set | 
| 253 | # CONFIG_INET_IPCOMP is not set | 252 | # CONFIG_INET_IPCOMP is not set | 
| 254 | CONFIG_INET_TUNNEL=y | 253 | # CONFIG_INET_XFRM_TUNNEL is not set | 
| 254 | # CONFIG_INET_TUNNEL is not set | ||
| 255 | CONFIG_INET_DIAG=y | 255 | CONFIG_INET_DIAG=y | 
| 256 | CONFIG_INET_TCP_DIAG=y | 256 | CONFIG_INET_TCP_DIAG=y | 
| 257 | # CONFIG_TCP_CONG_ADVANCED is not set | 257 | # CONFIG_TCP_CONG_ADVANCED is not set | 
| 258 | CONFIG_TCP_CONG_BIC=y | 258 | CONFIG_TCP_CONG_BIC=y | 
| 259 | # CONFIG_IPV6 is not set | 259 | # CONFIG_IPV6 is not set | 
| 260 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
| 261 | # CONFIG_INET6_TUNNEL is not set | ||
| 260 | # CONFIG_NETFILTER is not set | 262 | # CONFIG_NETFILTER is not set | 
| 261 | 263 | ||
| 262 | # | 264 | # | 
| @@ -268,6 +270,11 @@ CONFIG_TCP_CONG_BIC=y | |||
| 268 | # SCTP Configuration (EXPERIMENTAL) | 270 | # SCTP Configuration (EXPERIMENTAL) | 
| 269 | # | 271 | # | 
| 270 | # CONFIG_IP_SCTP is not set | 272 | # CONFIG_IP_SCTP is not set | 
| 273 | |||
| 274 | # | ||
| 275 | # TIPC Configuration (EXPERIMENTAL) | ||
| 276 | # | ||
| 277 | # CONFIG_TIPC is not set | ||
| 271 | # CONFIG_ATM is not set | 278 | # CONFIG_ATM is not set | 
| 272 | # CONFIG_BRIDGE is not set | 279 | # CONFIG_BRIDGE is not set | 
| 273 | # CONFIG_VLAN_8021Q is not set | 280 | # CONFIG_VLAN_8021Q is not set | 
| @@ -277,11 +284,6 @@ CONFIG_TCP_CONG_BIC=y | |||
| 277 | # CONFIG_ATALK is not set | 284 | # CONFIG_ATALK is not set | 
| 278 | # CONFIG_X25 is not set | 285 | # CONFIG_X25 is not set | 
| 279 | # CONFIG_LAPB is not set | 286 | # CONFIG_LAPB is not set | 
| 280 | |||
| 281 | # | ||
| 282 | # TIPC Configuration (EXPERIMENTAL) | ||
| 283 | # | ||
| 284 | # CONFIG_TIPC is not set | ||
| 285 | # CONFIG_NET_DIVERT is not set | 287 | # CONFIG_NET_DIVERT is not set | 
| 286 | # CONFIG_ECONET is not set | 288 | # CONFIG_ECONET is not set | 
| 287 | # CONFIG_WAN_ROUTER is not set | 289 | # CONFIG_WAN_ROUTER is not set | 
| @@ -302,6 +304,9 @@ CONFIG_IEEE80211=y | |||
| 302 | # CONFIG_IEEE80211_DEBUG is not set | 304 | # CONFIG_IEEE80211_DEBUG is not set | 
| 303 | CONFIG_IEEE80211_CRYPT_WEP=y | 305 | CONFIG_IEEE80211_CRYPT_WEP=y | 
| 304 | CONFIG_IEEE80211_CRYPT_CCMP=y | 306 | CONFIG_IEEE80211_CRYPT_CCMP=y | 
| 307 | CONFIG_IEEE80211_SOFTMAC=y | ||
| 308 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
| 309 | CONFIG_WIRELESS_EXT=y | ||
| 305 | 310 | ||
| 306 | # | 311 | # | 
| 307 | # Device Drivers | 312 | # Device Drivers | 
| @@ -346,7 +351,7 @@ CONFIG_PROC_EVENTS=y | |||
| 346 | # CONFIG_BLK_DEV_NBD is not set | 351 | # CONFIG_BLK_DEV_NBD is not set | 
| 347 | # CONFIG_BLK_DEV_SX8 is not set | 352 | # CONFIG_BLK_DEV_SX8 is not set | 
| 348 | # CONFIG_BLK_DEV_RAM is not set | 353 | # CONFIG_BLK_DEV_RAM is not set | 
| 349 | CONFIG_BLK_DEV_RAM_COUNT=16 | 354 | # CONFIG_BLK_DEV_INITRD is not set | 
| 350 | CONFIG_CDROM_PKTCDVD=y | 355 | CONFIG_CDROM_PKTCDVD=y | 
| 351 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 356 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 
| 352 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 357 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 
| @@ -556,6 +561,7 @@ CONFIG_HW_CONSOLE=y | |||
| 556 | # | 561 | # | 
| 557 | CONFIG_SERIAL_8250=y | 562 | CONFIG_SERIAL_8250=y | 
| 558 | CONFIG_SERIAL_8250_CONSOLE=y | 563 | CONFIG_SERIAL_8250_CONSOLE=y | 
| 564 | CONFIG_SERIAL_8250_PCI=y | ||
| 559 | CONFIG_SERIAL_8250_NR_UARTS=4 | 565 | CONFIG_SERIAL_8250_NR_UARTS=4 | 
| 560 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 566 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 
| 561 | # CONFIG_SERIAL_8250_EXTENDED is not set | 567 | # CONFIG_SERIAL_8250_EXTENDED is not set | 
| @@ -565,6 +571,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | |||
| 565 | # | 571 | # | 
| 566 | CONFIG_SERIAL_CORE=y | 572 | CONFIG_SERIAL_CORE=y | 
| 567 | CONFIG_SERIAL_CORE_CONSOLE=y | 573 | CONFIG_SERIAL_CORE_CONSOLE=y | 
| 574 | # CONFIG_SERIAL_JSM is not set | ||
| 568 | CONFIG_UNIX98_PTYS=y | 575 | CONFIG_UNIX98_PTYS=y | 
| 569 | CONFIG_LEGACY_PTYS=y | 576 | CONFIG_LEGACY_PTYS=y | 
| 570 | CONFIG_LEGACY_PTY_COUNT=256 | 577 | CONFIG_LEGACY_PTY_COUNT=256 | 
| @@ -623,10 +630,6 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
| 623 | # | 630 | # | 
| 624 | 631 | ||
| 625 | # | 632 | # | 
| 626 | # Multimedia Capabilities Port drivers | ||
| 627 | # | ||
| 628 | |||
| 629 | # | ||
| 630 | # Multimedia devices | 633 | # Multimedia devices | 
| 631 | # | 634 | # | 
| 632 | # CONFIG_VIDEO_DEV is not set | 635 | # CONFIG_VIDEO_DEV is not set | 
| @@ -657,6 +660,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
| 657 | # | 660 | # | 
| 658 | CONFIG_USB_ARCH_HAS_HCD=y | 661 | CONFIG_USB_ARCH_HAS_HCD=y | 
| 659 | CONFIG_USB_ARCH_HAS_OHCI=y | 662 | CONFIG_USB_ARCH_HAS_OHCI=y | 
| 663 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
| 660 | # CONFIG_USB is not set | 664 | # CONFIG_USB is not set | 
| 661 | 665 | ||
| 662 | # | 666 | # | 
| @@ -674,13 +678,31 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
| 674 | # CONFIG_MMC is not set | 678 | # CONFIG_MMC is not set | 
| 675 | 679 | ||
| 676 | # | 680 | # | 
| 681 | # LED devices | ||
| 682 | # | ||
| 683 | # CONFIG_NEW_LEDS is not set | ||
| 684 | |||
| 685 | # | ||
| 686 | # LED drivers | ||
| 687 | # | ||
| 688 | |||
| 689 | # | ||
| 690 | # LED Triggers | ||
| 691 | # | ||
| 692 | |||
| 693 | # | ||
| 677 | # InfiniBand support | 694 | # InfiniBand support | 
| 678 | # | 695 | # | 
| 679 | # CONFIG_INFINIBAND is not set | 696 | # CONFIG_INFINIBAND is not set | 
| 680 | 697 | ||
| 681 | # | 698 | # | 
| 682 | # SN Devices | 699 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | 
| 700 | # | ||
| 701 | |||
| 702 | # | ||
| 703 | # Real Time Clock | ||
| 683 | # | 704 | # | 
| 705 | # CONFIG_RTC_CLASS is not set | ||
| 684 | 706 | ||
| 685 | # | 707 | # | 
| 686 | # File systems | 708 | # File systems | 
| @@ -725,7 +747,6 @@ CONFIG_SYSFS=y | |||
| 725 | # CONFIG_TMPFS is not set | 747 | # CONFIG_TMPFS is not set | 
| 726 | # CONFIG_HUGETLB_PAGE is not set | 748 | # CONFIG_HUGETLB_PAGE is not set | 
| 727 | CONFIG_RAMFS=y | 749 | CONFIG_RAMFS=y | 
| 728 | CONFIG_RELAYFS_FS=y | ||
| 729 | # CONFIG_CONFIGFS_FS is not set | 750 | # CONFIG_CONFIGFS_FS is not set | 
| 730 | 751 | ||
| 731 | # | 752 | # | 
| @@ -792,6 +813,8 @@ CONFIG_MSDOS_PARTITION=y | |||
| 792 | # CONFIG_MAGIC_SYSRQ is not set | 813 | # CONFIG_MAGIC_SYSRQ is not set | 
| 793 | # CONFIG_DEBUG_KERNEL is not set | 814 | # CONFIG_DEBUG_KERNEL is not set | 
| 794 | CONFIG_LOG_BUF_SHIFT=14 | 815 | CONFIG_LOG_BUF_SHIFT=14 | 
| 816 | # CONFIG_DEBUG_FS is not set | ||
| 817 | # CONFIG_UNWIND_INFO is not set | ||
| 795 | CONFIG_CROSSCOMPILE=y | 818 | CONFIG_CROSSCOMPILE=y | 
| 796 | CONFIG_CMDLINE="ip=any" | 819 | CONFIG_CMDLINE="ip=any" | 
| 797 | 820 | ||
diff --git a/arch/mips/configs/decstation_defconfig b/arch/mips/configs/decstation_defconfig index 5a181eadd437..d838496e114f 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.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 | 
| 4 | # Fri Jan 27 15:40:03 2006 | 4 | # Mon Apr 24 14:51:01 2006 | 
| 5 | # | 5 | # | 
| 6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y | 
| 7 | 7 | ||
| @@ -63,11 +63,13 @@ CONFIG_MACH_DECSTATION=y | |||
| 63 | # CONFIG_TOSHIBA_JMR3927 is not set | 63 | # CONFIG_TOSHIBA_JMR3927 is not set | 
| 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 
| 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 
| 66 | CONFIG_EARLY_PRINTK=y | ||
| 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 67 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 
| 68 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
| 69 | CONFIG_GENERIC_HWEIGHT=y | ||
| 67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 70 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 
| 68 | CONFIG_DMA_NONCOHERENT=y | 71 | CONFIG_DMA_NONCOHERENT=y | 
| 69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 72 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 
| 70 | CONFIG_EARLY_PRINTK=y | ||
| 71 | # CONFIG_CPU_BIG_ENDIAN is not set | 73 | # CONFIG_CPU_BIG_ENDIAN is not set | 
| 72 | CONFIG_CPU_LITTLE_ENDIAN=y | 74 | CONFIG_CPU_LITTLE_ENDIAN=y | 
| 73 | CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y | 75 | CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y | 
| @@ -113,7 +115,6 @@ CONFIG_PAGE_SIZE_4KB=y | |||
| 113 | # CONFIG_PAGE_SIZE_16KB is not set | 115 | # CONFIG_PAGE_SIZE_16KB is not set | 
| 114 | # CONFIG_PAGE_SIZE_64KB is not set | 116 | # CONFIG_PAGE_SIZE_64KB is not set | 
| 115 | # CONFIG_MIPS_MT is not set | 117 | # CONFIG_MIPS_MT is not set | 
| 116 | # CONFIG_CPU_ADVANCED is not set | ||
| 117 | CONFIG_CPU_HAS_WB=y | 118 | CONFIG_CPU_HAS_WB=y | 
| 118 | CONFIG_GENERIC_HARDIRQS=y | 119 | CONFIG_GENERIC_HARDIRQS=y | 
| 119 | CONFIG_GENERIC_IRQ_PROBE=y | 120 | CONFIG_GENERIC_IRQ_PROBE=y | 
| @@ -135,7 +136,6 @@ CONFIG_PREEMPT_NONE=y | |||
| 135 | # Code maturity level options | 136 | # Code maturity level options | 
| 136 | # | 137 | # | 
| 137 | CONFIG_EXPERIMENTAL=y | 138 | CONFIG_EXPERIMENTAL=y | 
| 138 | CONFIG_CLEAN_COMPILE=y | ||
| 139 | CONFIG_BROKEN_ON_SMP=y | 139 | CONFIG_BROKEN_ON_SMP=y | 
| 140 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 140 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 
| 141 | 141 | ||
| @@ -151,6 +151,7 @@ CONFIG_SYSVIPC=y | |||
| 151 | CONFIG_SYSCTL=y | 151 | CONFIG_SYSCTL=y | 
| 152 | # CONFIG_AUDIT is not set | 152 | # CONFIG_AUDIT is not set | 
| 153 | # CONFIG_IKCONFIG is not set | 153 | # CONFIG_IKCONFIG is not set | 
| 154 | CONFIG_RELAY=y | ||
| 154 | CONFIG_INITRAMFS_SOURCE="" | 155 | CONFIG_INITRAMFS_SOURCE="" | 
| 155 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 156 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 
| 156 | CONFIG_EMBEDDED=y | 157 | CONFIG_EMBEDDED=y | 
| @@ -165,10 +166,6 @@ CONFIG_BASE_FULL=y | |||
| 165 | CONFIG_FUTEX=y | 166 | CONFIG_FUTEX=y | 
| 166 | CONFIG_EPOLL=y | 167 | CONFIG_EPOLL=y | 
| 167 | CONFIG_SHMEM=y | 168 | CONFIG_SHMEM=y | 
| 168 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
| 169 | CONFIG_CC_ALIGN_LABELS=0 | ||
| 170 | CONFIG_CC_ALIGN_LOOPS=0 | ||
| 171 | CONFIG_CC_ALIGN_JUMPS=0 | ||
| 172 | CONFIG_SLAB=y | 169 | CONFIG_SLAB=y | 
| 173 | # CONFIG_TINY_SHMEM is not set | 170 | # CONFIG_TINY_SHMEM is not set | 
| 174 | CONFIG_BASE_SMALL=0 | 171 | CONFIG_BASE_SMALL=0 | 
| @@ -180,7 +177,6 @@ CONFIG_BASE_SMALL=0 | |||
| 180 | CONFIG_MODULES=y | 177 | CONFIG_MODULES=y | 
| 181 | CONFIG_MODULE_UNLOAD=y | 178 | CONFIG_MODULE_UNLOAD=y | 
| 182 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 179 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 
| 183 | CONFIG_OBSOLETE_MODPARM=y | ||
| 184 | # CONFIG_MODVERSIONS is not set | 180 | # CONFIG_MODVERSIONS is not set | 
| 185 | CONFIG_MODULE_SRCVERSION_ALL=y | 181 | CONFIG_MODULE_SRCVERSION_ALL=y | 
| 186 | CONFIG_KMOD=y | 182 | CONFIG_KMOD=y | 
| @@ -189,6 +185,8 @@ CONFIG_KMOD=y | |||
| 189 | # Block layer | 185 | # Block layer | 
| 190 | # | 186 | # | 
| 191 | # CONFIG_LBD is not set | 187 | # CONFIG_LBD is not set | 
| 188 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 189 | # CONFIG_LSF is not set | ||
| 192 | 190 | ||
| 193 | # | 191 | # | 
| 194 | # IO Schedulers | 192 | # IO Schedulers | 
| @@ -233,11 +231,10 @@ CONFIG_NET=y | |||
| 233 | # | 231 | # | 
| 234 | # Networking options | 232 | # Networking options | 
| 235 | # | 233 | # | 
| 234 | # CONFIG_NETDEBUG is not set | ||
| 236 | CONFIG_PACKET=y | 235 | CONFIG_PACKET=y | 
| 237 | CONFIG_PACKET_MMAP=y | 236 | CONFIG_PACKET_MMAP=y | 
| 238 | CONFIG_UNIX=y | 237 | CONFIG_UNIX=y | 
| 239 | CONFIG_XFRM=y | ||
| 240 | CONFIG_XFRM_USER=m | ||
| 241 | # CONFIG_NET_KEY is not set | 238 | # CONFIG_NET_KEY is not set | 
| 242 | CONFIG_INET=y | 239 | CONFIG_INET=y | 
| 243 | # CONFIG_IP_MULTICAST is not set | 240 | # CONFIG_IP_MULTICAST is not set | 
| @@ -254,12 +251,15 @@ CONFIG_IP_PNP_BOOTP=y | |||
| 254 | # CONFIG_INET_AH is not set | 251 | # CONFIG_INET_AH is not set | 
| 255 | # CONFIG_INET_ESP is not set | 252 | # CONFIG_INET_ESP is not set | 
| 256 | # CONFIG_INET_IPCOMP is not set | 253 | # CONFIG_INET_IPCOMP is not set | 
| 257 | CONFIG_INET_TUNNEL=m | 254 | # CONFIG_INET_XFRM_TUNNEL is not set | 
| 255 | # CONFIG_INET_TUNNEL is not set | ||
| 258 | CONFIG_INET_DIAG=y | 256 | CONFIG_INET_DIAG=y | 
| 259 | CONFIG_INET_TCP_DIAG=y | 257 | CONFIG_INET_TCP_DIAG=y | 
| 260 | # CONFIG_TCP_CONG_ADVANCED is not set | 258 | # CONFIG_TCP_CONG_ADVANCED is not set | 
| 261 | CONFIG_TCP_CONG_BIC=y | 259 | CONFIG_TCP_CONG_BIC=y | 
| 262 | # CONFIG_IPV6 is not set | 260 | # CONFIG_IPV6 is not set | 
| 261 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
| 262 | # CONFIG_INET6_TUNNEL is not set | ||
| 263 | # CONFIG_NETFILTER is not set | 263 | # CONFIG_NETFILTER is not set | 
| 264 | 264 | ||
| 265 | # | 265 | # | 
| @@ -271,6 +271,11 @@ CONFIG_TCP_CONG_BIC=y | |||
| 271 | # SCTP Configuration (EXPERIMENTAL) | 271 | # SCTP Configuration (EXPERIMENTAL) | 
| 272 | # | 272 | # | 
| 273 | # CONFIG_IP_SCTP is not set | 273 | # CONFIG_IP_SCTP is not set | 
| 274 | |||
| 275 | # | ||
| 276 | # TIPC Configuration (EXPERIMENTAL) | ||
| 277 | # | ||
| 278 | # CONFIG_TIPC is not set | ||
| 274 | # CONFIG_ATM is not set | 279 | # CONFIG_ATM is not set | 
| 275 | # CONFIG_BRIDGE is not set | 280 | # CONFIG_BRIDGE is not set | 
| 276 | # CONFIG_VLAN_8021Q is not set | 281 | # CONFIG_VLAN_8021Q is not set | 
| @@ -280,11 +285,6 @@ CONFIG_TCP_CONG_BIC=y | |||
| 280 | # CONFIG_ATALK is not set | 285 | # CONFIG_ATALK is not set | 
| 281 | # CONFIG_X25 is not set | 286 | # CONFIG_X25 is not set | 
| 282 | # CONFIG_LAPB is not set | 287 | # CONFIG_LAPB is not set | 
| 283 | |||
| 284 | # | ||
| 285 | # TIPC Configuration (EXPERIMENTAL) | ||
| 286 | # | ||
| 287 | # CONFIG_TIPC is not set | ||
| 288 | # CONFIG_NET_DIVERT is not set | 288 | # CONFIG_NET_DIVERT is not set | 
| 289 | # CONFIG_ECONET is not set | 289 | # CONFIG_ECONET is not set | 
| 290 | # CONFIG_WAN_ROUTER is not set | 290 | # CONFIG_WAN_ROUTER is not set | 
| @@ -305,6 +305,9 @@ CONFIG_IEEE80211=m | |||
| 305 | # CONFIG_IEEE80211_DEBUG is not set | 305 | # CONFIG_IEEE80211_DEBUG is not set | 
| 306 | CONFIG_IEEE80211_CRYPT_WEP=m | 306 | CONFIG_IEEE80211_CRYPT_WEP=m | 
| 307 | CONFIG_IEEE80211_CRYPT_CCMP=m | 307 | CONFIG_IEEE80211_CRYPT_CCMP=m | 
| 308 | CONFIG_IEEE80211_SOFTMAC=m | ||
| 309 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
| 310 | CONFIG_WIRELESS_EXT=y | ||
| 308 | 311 | ||
| 309 | # | 312 | # | 
| 310 | # Device Drivers | 313 | # Device Drivers | 
| @@ -345,7 +348,7 @@ CONFIG_BLK_DEV_LOOP=m | |||
| 345 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | 348 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | 
| 346 | # CONFIG_BLK_DEV_NBD is not set | 349 | # CONFIG_BLK_DEV_NBD is not set | 
| 347 | # CONFIG_BLK_DEV_RAM is not set | 350 | # CONFIG_BLK_DEV_RAM is not set | 
| 348 | CONFIG_BLK_DEV_RAM_COUNT=16 | 351 | # CONFIG_BLK_DEV_INITRD is not set | 
| 349 | # CONFIG_CDROM_PKTCDVD is not set | 352 | # CONFIG_CDROM_PKTCDVD is not set | 
| 350 | # CONFIG_ATA_OVER_ETH is not set | 353 | # CONFIG_ATA_OVER_ETH is not set | 
| 351 | 354 | ||
| @@ -567,10 +570,6 @@ CONFIG_RTC=y | |||
| 567 | # | 570 | # | 
| 568 | 571 | ||
| 569 | # | 572 | # | 
| 570 | # Multimedia Capabilities Port drivers | ||
| 571 | # | ||
| 572 | |||
| 573 | # | ||
| 574 | # Multimedia devices | 573 | # Multimedia devices | 
| 575 | # | 574 | # | 
| 576 | # CONFIG_VIDEO_DEV is not set | 575 | # CONFIG_VIDEO_DEV is not set | 
| @@ -588,6 +587,7 @@ CONFIG_FB_CFB_FILLRECT=y | |||
| 588 | CONFIG_FB_CFB_COPYAREA=y | 587 | CONFIG_FB_CFB_COPYAREA=y | 
| 589 | CONFIG_FB_CFB_IMAGEBLIT=y | 588 | CONFIG_FB_CFB_IMAGEBLIT=y | 
| 590 | # CONFIG_FB_MACMODES is not set | 589 | # CONFIG_FB_MACMODES is not set | 
| 590 | CONFIG_FB_FIRMWARE_EDID=y | ||
| 591 | # CONFIG_FB_MODE_HELPERS is not set | 591 | # CONFIG_FB_MODE_HELPERS is not set | 
| 592 | # CONFIG_FB_TILEBLITTING is not set | 592 | # CONFIG_FB_TILEBLITTING is not set | 
| 593 | # CONFIG_FB_S1D13XXX is not set | 593 | # CONFIG_FB_S1D13XXX is not set | 
| @@ -617,6 +617,7 @@ CONFIG_LOGO_DEC_CLUT224=y | |||
| 617 | # | 617 | # | 
| 618 | # CONFIG_USB_ARCH_HAS_HCD is not set | 618 | # CONFIG_USB_ARCH_HAS_HCD is not set | 
| 619 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 619 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 
| 620 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
| 620 | 621 | ||
| 621 | # | 622 | # | 
| 622 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 623 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 
| @@ -633,12 +634,30 @@ CONFIG_LOGO_DEC_CLUT224=y | |||
| 633 | # CONFIG_MMC is not set | 634 | # CONFIG_MMC is not set | 
| 634 | 635 | ||
| 635 | # | 636 | # | 
| 637 | # LED devices | ||
| 638 | # | ||
| 639 | # CONFIG_NEW_LEDS is not set | ||
| 640 | |||
| 641 | # | ||
| 642 | # LED drivers | ||
| 643 | # | ||
| 644 | |||
| 645 | # | ||
| 646 | # LED Triggers | ||
| 647 | # | ||
| 648 | |||
| 649 | # | ||
| 636 | # InfiniBand support | 650 | # InfiniBand support | 
| 637 | # | 651 | # | 
| 638 | 652 | ||
| 639 | # | 653 | # | 
| 640 | # SN Devices | 654 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | 
| 655 | # | ||
| 656 | |||
| 657 | # | ||
| 658 | # Real Time Clock | ||
| 641 | # | 659 | # | 
| 660 | # CONFIG_RTC_CLASS is not set | ||
| 642 | 661 | ||
| 643 | # | 662 | # | 
| 644 | # File systems | 663 | # File systems | 
| @@ -686,7 +705,6 @@ CONFIG_SYSFS=y | |||
| 686 | CONFIG_TMPFS=y | 705 | CONFIG_TMPFS=y | 
| 687 | # CONFIG_HUGETLB_PAGE is not set | 706 | # CONFIG_HUGETLB_PAGE is not set | 
| 688 | CONFIG_RAMFS=y | 707 | CONFIG_RAMFS=y | 
| 689 | CONFIG_RELAYFS_FS=m | ||
| 690 | # CONFIG_CONFIGFS_FS is not set | 708 | # CONFIG_CONFIGFS_FS is not set | 
| 691 | 709 | ||
| 692 | # | 710 | # | 
| @@ -705,7 +723,6 @@ CONFIG_RELAYFS_FS=m | |||
| 705 | # CONFIG_QNX4FS_FS is not set | 723 | # CONFIG_QNX4FS_FS is not set | 
| 706 | # CONFIG_SYSV_FS is not set | 724 | # CONFIG_SYSV_FS is not set | 
| 707 | CONFIG_UFS_FS=y | 725 | CONFIG_UFS_FS=y | 
| 708 | CONFIG_UFS_FS_WRITE=y | ||
| 709 | 726 | ||
| 710 | # | 727 | # | 
| 711 | # Network File Systems | 728 | # Network File Systems | 
diff --git a/arch/mips/configs/e55_defconfig b/arch/mips/configs/e55_defconfig index 8fbfc06a6a2a..0760f4318910 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.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 | 
| 4 | # Fri Jan 27 15:40:04 2006 | 4 | # Tue Apr 25 00:08:20 2006 | 
| 5 | # | 5 | # | 
| 6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y | 
| 7 | 7 | ||
| @@ -70,6 +70,8 @@ CONFIG_CASIO_E55=y | |||
| 70 | # CONFIG_VICTOR_MPC30X is not set | 70 | # CONFIG_VICTOR_MPC30X is not set | 
| 71 | # CONFIG_ZAO_CAPCELLA is not set | 71 | # CONFIG_ZAO_CAPCELLA is not set | 
| 72 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 72 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 
| 73 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
| 74 | CONFIG_GENERIC_HWEIGHT=y | ||
| 73 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 75 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 
| 74 | CONFIG_DMA_NONCOHERENT=y | 76 | CONFIG_DMA_NONCOHERENT=y | 
| 75 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 77 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 
| @@ -88,7 +90,7 @@ CONFIG_MIPS_L1_CACHE_SHIFT=5 | |||
| 88 | # CONFIG_CPU_MIPS64_R2 is not set | 90 | # CONFIG_CPU_MIPS64_R2 is not set | 
| 89 | # CONFIG_CPU_R3000 is not set | 91 | # CONFIG_CPU_R3000 is not set | 
| 90 | # CONFIG_CPU_TX39XX is not set | 92 | # CONFIG_CPU_TX39XX is not set | 
| 91 | # CONFIG_CPU_VR41XX is not set | 93 | CONFIG_CPU_VR41XX=y | 
| 92 | # CONFIG_CPU_R4300 is not set | 94 | # CONFIG_CPU_R4300 is not set | 
| 93 | # CONFIG_CPU_R4X00 is not set | 95 | # CONFIG_CPU_R4X00 is not set | 
| 94 | # CONFIG_CPU_TX49XX is not set | 96 | # CONFIG_CPU_TX49XX is not set | 
| @@ -101,18 +103,21 @@ CONFIG_MIPS_L1_CACHE_SHIFT=5 | |||
| 101 | # CONFIG_CPU_RM7000 is not set | 103 | # CONFIG_CPU_RM7000 is not set | 
| 102 | # CONFIG_CPU_RM9000 is not set | 104 | # CONFIG_CPU_RM9000 is not set | 
| 103 | # CONFIG_CPU_SB1 is not set | 105 | # CONFIG_CPU_SB1 is not set | 
| 106 | CONFIG_SYS_HAS_CPU_VR41XX=y | ||
| 107 | CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y | ||
| 108 | CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y | ||
| 109 | CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y | ||
| 104 | 110 | ||
| 105 | # | 111 | # | 
| 106 | # Kernel type | 112 | # Kernel type | 
| 107 | # | 113 | # | 
| 108 | # CONFIG_32BIT is not set | 114 | CONFIG_32BIT=y | 
| 109 | # CONFIG_64BIT is not set | 115 | # CONFIG_64BIT is not set | 
| 110 | CONFIG_PAGE_SIZE_4KB=y | 116 | CONFIG_PAGE_SIZE_4KB=y | 
| 111 | # CONFIG_PAGE_SIZE_8KB is not set | 117 | # CONFIG_PAGE_SIZE_8KB is not set | 
| 112 | # CONFIG_PAGE_SIZE_16KB is not set | 118 | # CONFIG_PAGE_SIZE_16KB is not set | 
| 113 | # CONFIG_PAGE_SIZE_64KB is not set | 119 | # CONFIG_PAGE_SIZE_64KB is not set | 
| 114 | # CONFIG_MIPS_MT is not set | 120 | # CONFIG_MIPS_MT is not set | 
| 115 | CONFIG_CPU_HAS_LLSC=y | ||
| 116 | CONFIG_CPU_HAS_SYNC=y | 121 | CONFIG_CPU_HAS_SYNC=y | 
| 117 | CONFIG_GENERIC_HARDIRQS=y | 122 | CONFIG_GENERIC_HARDIRQS=y | 
| 118 | CONFIG_GENERIC_IRQ_PROBE=y | 123 | CONFIG_GENERIC_IRQ_PROBE=y | 
| @@ -133,7 +138,6 @@ CONFIG_PREEMPT_NONE=y | |||
| 133 | # Code maturity level options | 138 | # Code maturity level options | 
| 134 | # | 139 | # | 
| 135 | CONFIG_EXPERIMENTAL=y | 140 | CONFIG_EXPERIMENTAL=y | 
| 136 | CONFIG_CLEAN_COMPILE=y | ||
| 137 | CONFIG_BROKEN_ON_SMP=y | 141 | CONFIG_BROKEN_ON_SMP=y | 
| 138 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 142 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 
| 139 | 143 | ||
| @@ -144,11 +148,10 @@ CONFIG_LOCALVERSION="" | |||
| 144 | CONFIG_LOCALVERSION_AUTO=y | 148 | CONFIG_LOCALVERSION_AUTO=y | 
| 145 | CONFIG_SWAP=y | 149 | CONFIG_SWAP=y | 
| 146 | CONFIG_SYSVIPC=y | 150 | CONFIG_SYSVIPC=y | 
| 147 | # CONFIG_POSIX_MQUEUE is not set | ||
| 148 | # CONFIG_BSD_PROCESS_ACCT is not set | 151 | # CONFIG_BSD_PROCESS_ACCT is not set | 
| 149 | CONFIG_SYSCTL=y | 152 | CONFIG_SYSCTL=y | 
| 150 | # CONFIG_AUDIT is not set | ||
| 151 | # CONFIG_IKCONFIG is not set | 153 | # CONFIG_IKCONFIG is not set | 
| 154 | # CONFIG_RELAY is not set | ||
| 152 | CONFIG_INITRAMFS_SOURCE="" | 155 | CONFIG_INITRAMFS_SOURCE="" | 
| 153 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 156 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 
| 154 | CONFIG_EMBEDDED=y | 157 | CONFIG_EMBEDDED=y | 
| @@ -162,10 +165,6 @@ CONFIG_BASE_FULL=y | |||
| 162 | CONFIG_FUTEX=y | 165 | CONFIG_FUTEX=y | 
| 163 | CONFIG_EPOLL=y | 166 | CONFIG_EPOLL=y | 
| 164 | CONFIG_SHMEM=y | 167 | CONFIG_SHMEM=y | 
| 165 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
| 166 | CONFIG_CC_ALIGN_LABELS=0 | ||
| 167 | CONFIG_CC_ALIGN_LOOPS=0 | ||
| 168 | CONFIG_CC_ALIGN_JUMPS=0 | ||
| 169 | CONFIG_SLAB=y | 168 | CONFIG_SLAB=y | 
| 170 | # CONFIG_TINY_SHMEM is not set | 169 | # CONFIG_TINY_SHMEM is not set | 
| 171 | CONFIG_BASE_SMALL=0 | 170 | CONFIG_BASE_SMALL=0 | 
| @@ -177,7 +176,6 @@ CONFIG_BASE_SMALL=0 | |||
| 177 | CONFIG_MODULES=y | 176 | CONFIG_MODULES=y | 
| 178 | CONFIG_MODULE_UNLOAD=y | 177 | CONFIG_MODULE_UNLOAD=y | 
| 179 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 178 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 
| 180 | CONFIG_OBSOLETE_MODPARM=y | ||
| 181 | CONFIG_MODVERSIONS=y | 179 | CONFIG_MODVERSIONS=y | 
| 182 | CONFIG_MODULE_SRCVERSION_ALL=y | 180 | CONFIG_MODULE_SRCVERSION_ALL=y | 
| 183 | CONFIG_KMOD=y | 181 | CONFIG_KMOD=y | 
| @@ -185,6 +183,9 @@ CONFIG_KMOD=y | |||
| 185 | # | 183 | # | 
| 186 | # Block layer | 184 | # Block layer | 
| 187 | # | 185 | # | 
| 186 | # CONFIG_LBD is not set | ||
| 187 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 188 | # CONFIG_LSF is not set | ||
| 188 | 189 | ||
| 189 | # | 190 | # | 
| 190 | # IO Schedulers | 191 | # IO Schedulers | 
| @@ -219,85 +220,12 @@ CONFIG_MMU=y | |||
| 219 | # | 220 | # | 
| 220 | CONFIG_BINFMT_ELF=y | 221 | CONFIG_BINFMT_ELF=y | 
| 221 | # CONFIG_BINFMT_MISC is not set | 222 | # CONFIG_BINFMT_MISC is not set | 
| 223 | CONFIG_TRAD_SIGNALS=y | ||
| 222 | 224 | ||
| 223 | # | 225 | # | 
| 224 | # Networking | 226 | # Networking | 
| 225 | # | 227 | # | 
| 226 | CONFIG_NET=y | 228 | # CONFIG_NET is not set | 
| 227 | |||
| 228 | # | ||
| 229 | # Networking options | ||
| 230 | # | ||
| 231 | CONFIG_PACKET=y | ||
| 232 | CONFIG_PACKET_MMAP=y | ||
| 233 | CONFIG_UNIX=y | ||
| 234 | CONFIG_XFRM=y | ||
| 235 | CONFIG_XFRM_USER=m | ||
| 236 | CONFIG_NET_KEY=y | ||
| 237 | CONFIG_INET=y | ||
| 238 | CONFIG_IP_MULTICAST=y | ||
| 239 | # CONFIG_IP_ADVANCED_ROUTER is not set | ||
| 240 | CONFIG_IP_FIB_HASH=y | ||
| 241 | # CONFIG_IP_PNP is not set | ||
| 242 | # CONFIG_NET_IPIP is not set | ||
| 243 | # CONFIG_NET_IPGRE is not set | ||
| 244 | # CONFIG_IP_MROUTE is not set | ||
| 245 | # CONFIG_ARPD is not set | ||
| 246 | # CONFIG_SYN_COOKIES is not set | ||
| 247 | # CONFIG_INET_AH is not set | ||
| 248 | # CONFIG_INET_ESP is not set | ||
| 249 | # CONFIG_INET_IPCOMP is not set | ||
| 250 | CONFIG_INET_TUNNEL=m | ||
| 251 | CONFIG_INET_DIAG=y | ||
| 252 | CONFIG_INET_TCP_DIAG=y | ||
| 253 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
| 254 | CONFIG_TCP_CONG_BIC=y | ||
| 255 | # CONFIG_IPV6 is not set | ||
| 256 | # CONFIG_NETFILTER is not set | ||
| 257 | |||
| 258 | # | ||
| 259 | # DCCP Configuration (EXPERIMENTAL) | ||
| 260 | # | ||
| 261 | # CONFIG_IP_DCCP is not set | ||
| 262 | |||
| 263 | # | ||
| 264 | # SCTP Configuration (EXPERIMENTAL) | ||
| 265 | # | ||
| 266 | # CONFIG_IP_SCTP is not set | ||
| 267 | # CONFIG_ATM is not set | ||
| 268 | # CONFIG_BRIDGE is not set | ||
| 269 | # CONFIG_VLAN_8021Q is not set | ||
| 270 | # CONFIG_DECNET is not set | ||
| 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 | |||
| 277 | # | ||
| 278 | # TIPC Configuration (EXPERIMENTAL) | ||
| 279 | # | ||
| 280 | # CONFIG_TIPC is not set | ||
| 281 | # CONFIG_NET_DIVERT is not set | ||
| 282 | # CONFIG_ECONET is not set | ||
| 283 | # CONFIG_WAN_ROUTER is not set | ||
| 284 | |||
| 285 | # | ||
| 286 | # QoS and/or fair queueing | ||
| 287 | # | ||
| 288 | # CONFIG_NET_SCHED is not set | ||
| 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=m | ||
| 298 | # CONFIG_IEEE80211_DEBUG is not set | ||
| 299 | CONFIG_IEEE80211_CRYPT_WEP=m | ||
| 300 | CONFIG_IEEE80211_CRYPT_CCMP=m | ||
| 301 | 229 | ||
| 302 | # | 230 | # | 
| 303 | # Device Drivers | 231 | # Device Drivers | 
| @@ -313,7 +241,6 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y | |||
| 313 | # | 241 | # | 
| 314 | # Connector - unified userspace <-> kernelspace linker | 242 | # Connector - unified userspace <-> kernelspace linker | 
| 315 | # | 243 | # | 
| 316 | CONFIG_CONNECTOR=m | ||
| 317 | 244 | ||
| 318 | # | 245 | # | 
| 319 | # Memory Technology Devices (MTD) | 246 | # Memory Technology Devices (MTD) | 
| @@ -335,11 +262,11 @@ CONFIG_CONNECTOR=m | |||
| 335 | # | 262 | # | 
| 336 | # CONFIG_BLK_DEV_COW_COMMON is not set | 263 | # CONFIG_BLK_DEV_COW_COMMON is not set | 
| 337 | # CONFIG_BLK_DEV_LOOP is not set | 264 | # CONFIG_BLK_DEV_LOOP is not set | 
| 338 | # CONFIG_BLK_DEV_NBD is not set | 265 | CONFIG_BLK_DEV_RAM=m | 
| 339 | # CONFIG_BLK_DEV_RAM is not set | ||
| 340 | CONFIG_BLK_DEV_RAM_COUNT=16 | 266 | CONFIG_BLK_DEV_RAM_COUNT=16 | 
| 267 | CONFIG_BLK_DEV_RAM_SIZE=4096 | ||
| 268 | # CONFIG_BLK_DEV_INITRD is not set | ||
| 341 | # CONFIG_CDROM_PKTCDVD is not set | 269 | # CONFIG_CDROM_PKTCDVD is not set | 
| 342 | # CONFIG_ATA_OVER_ETH is not set | ||
| 343 | 270 | ||
| 344 | # | 271 | # | 
| 345 | # ATA/ATAPI/MFM/RLL support | 272 | # ATA/ATAPI/MFM/RLL support | 
| @@ -398,81 +325,8 @@ CONFIG_IDE_GENERIC=y | |||
| 398 | # | 325 | # | 
| 399 | 326 | ||
| 400 | # | 327 | # | 
| 401 | # Network device support | ||
| 402 | # | ||
| 403 | CONFIG_NETDEVICES=y | ||
| 404 | # CONFIG_DUMMY is not set | ||
| 405 | # CONFIG_BONDING is not set | ||
| 406 | # CONFIG_EQUALIZER is not set | ||
| 407 | # CONFIG_TUN is not set | ||
| 408 | |||
| 409 | # | ||
| 410 | # ARCnet devices | ||
| 411 | # | ||
| 412 | # CONFIG_ARCNET is not set | ||
| 413 | |||
| 414 | # | ||
| 415 | # PHY device support | ||
| 416 | # | ||
| 417 | CONFIG_PHYLIB=m | ||
| 418 | |||
| 419 | # | ||
| 420 | # MII PHY device drivers | ||
| 421 | # | ||
| 422 | CONFIG_MARVELL_PHY=m | ||
| 423 | CONFIG_DAVICOM_PHY=m | ||
| 424 | CONFIG_QSEMI_PHY=m | ||
| 425 | CONFIG_LXT_PHY=m | ||
| 426 | CONFIG_CICADA_PHY=m | ||
| 427 | |||
| 428 | # | ||
| 429 | # Ethernet (10 or 100Mbit) | ||
| 430 | # | ||
| 431 | CONFIG_NET_ETHERNET=y | ||
| 432 | # CONFIG_MII is not set | ||
| 433 | # CONFIG_NET_VENDOR_3COM is not set | ||
| 434 | # CONFIG_NET_VENDOR_SMC is not set | ||
| 435 | # CONFIG_DM9000 is not set | ||
| 436 | # CONFIG_NET_VENDOR_RACAL is not set | ||
| 437 | # CONFIG_AT1700 is not set | ||
| 438 | # CONFIG_DEPCA is not set | ||
| 439 | # CONFIG_HP100 is not set | ||
| 440 | # CONFIG_NET_ISA is not set | ||
| 441 | # CONFIG_NET_PCI is not set | ||
| 442 | |||
| 443 | # | ||
| 444 | # Ethernet (1000 Mbit) | ||
| 445 | # | ||
| 446 | |||
| 447 | # | ||
| 448 | # Ethernet (10000 Mbit) | ||
| 449 | # | ||
| 450 | |||
| 451 | # | ||
| 452 | # Token Ring devices | ||
| 453 | # | ||
| 454 | # CONFIG_TR is not set | ||
| 455 | |||
| 456 | # | ||
| 457 | # Wireless LAN (non-hamradio) | ||
| 458 | # | ||
| 459 | # CONFIG_NET_RADIO is not set | ||
| 460 | |||
| 461 | # | ||
| 462 | # Wan interfaces | ||
| 463 | # | ||
| 464 | # CONFIG_WAN is not set | ||
| 465 | # CONFIG_PPP is not set | ||
| 466 | # CONFIG_SLIP is not set | ||
| 467 | # CONFIG_SHAPER is not set | ||
| 468 | # CONFIG_NETCONSOLE is not set | ||
| 469 | # CONFIG_NETPOLL is not set | ||
| 470 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
| 471 | |||
| 472 | # | ||
| 473 | # ISDN subsystem | 328 | # ISDN subsystem | 
| 474 | # | 329 | # | 
| 475 | # CONFIG_ISDN is not set | ||
| 476 | 330 | ||
| 477 | # | 331 | # | 
| 478 | # Telephony Support | 332 | # Telephony Support | 
| @@ -508,11 +362,7 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=240 | |||
| 508 | # | 362 | # | 
| 509 | # Hardware I/O ports | 363 | # Hardware I/O ports | 
| 510 | # | 364 | # | 
| 511 | CONFIG_SERIO=y | 365 | # CONFIG_SERIO is not set | 
| 512 | # CONFIG_SERIO_I8042 is not set | ||
| 513 | CONFIG_SERIO_SERPORT=y | ||
| 514 | # CONFIG_SERIO_LIBPS2 is not set | ||
| 515 | CONFIG_SERIO_RAW=m | ||
| 516 | # CONFIG_GAMEPORT is not set | 366 | # CONFIG_GAMEPORT is not set | 
| 517 | 367 | ||
| 518 | # | 368 | # | 
| @@ -531,6 +381,10 @@ CONFIG_HW_CONSOLE=y | |||
| 531 | # | 381 | # | 
| 532 | # Non-8250 serial port support | 382 | # Non-8250 serial port support | 
| 533 | # | 383 | # | 
| 384 | CONFIG_SERIAL_CORE=y | ||
| 385 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
| 386 | CONFIG_SERIAL_VR41XX=y | ||
| 387 | CONFIG_SERIAL_VR41XX_CONSOLE=y | ||
| 534 | CONFIG_UNIX98_PTYS=y | 388 | CONFIG_UNIX98_PTYS=y | 
| 535 | CONFIG_LEGACY_PTYS=y | 389 | CONFIG_LEGACY_PTYS=y | 
| 536 | CONFIG_LEGACY_PTY_COUNT=256 | 390 | CONFIG_LEGACY_PTY_COUNT=256 | 
| @@ -565,6 +419,7 @@ CONFIG_WATCHDOG=y | |||
| 565 | # | 419 | # | 
| 566 | # Ftape, the floppy tape device driver | 420 | # Ftape, the floppy tape device driver | 
| 567 | # | 421 | # | 
| 422 | CONFIG_GPIO_VR41XX=y | ||
| 568 | # CONFIG_RAW_DRIVER is not set | 423 | # CONFIG_RAW_DRIVER is not set | 
| 569 | 424 | ||
| 570 | # | 425 | # | 
| @@ -600,10 +455,6 @@ CONFIG_WATCHDOG=y | |||
| 600 | # | 455 | # | 
| 601 | 456 | ||
| 602 | # | 457 | # | 
| 603 | # Multimedia Capabilities Port drivers | ||
| 604 | # | ||
| 605 | |||
| 606 | # | ||
| 607 | # Multimedia devices | 458 | # Multimedia devices | 
| 608 | # | 459 | # | 
| 609 | # CONFIG_VIDEO_DEV is not set | 460 | # CONFIG_VIDEO_DEV is not set | 
| @@ -611,7 +462,6 @@ CONFIG_WATCHDOG=y | |||
| 611 | # | 462 | # | 
| 612 | # Digital Video Broadcasting Devices | 463 | # Digital Video Broadcasting Devices | 
| 613 | # | 464 | # | 
| 614 | # CONFIG_DVB is not set | ||
| 615 | 465 | ||
| 616 | # | 466 | # | 
| 617 | # Graphics support | 467 | # Graphics support | 
| @@ -635,6 +485,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
| 635 | # | 485 | # | 
| 636 | # CONFIG_USB_ARCH_HAS_HCD is not set | 486 | # CONFIG_USB_ARCH_HAS_HCD is not set | 
| 637 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 487 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 
| 488 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
| 638 | 489 | ||
| 639 | # | 490 | # | 
| 640 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 491 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 
| @@ -651,12 +502,30 @@ CONFIG_DUMMY_CONSOLE=y | |||
| 651 | # CONFIG_MMC is not set | 502 | # CONFIG_MMC is not set | 
| 652 | 503 | ||
| 653 | # | 504 | # | 
| 505 | # LED devices | ||
| 506 | # | ||
| 507 | # CONFIG_NEW_LEDS is not set | ||
| 508 | |||
| 509 | # | ||
| 510 | # LED drivers | ||
| 511 | # | ||
| 512 | |||
| 513 | # | ||
| 514 | # LED Triggers | ||
| 515 | # | ||
| 516 | |||
| 517 | # | ||
| 654 | # InfiniBand support | 518 | # InfiniBand support | 
| 655 | # | 519 | # | 
| 656 | 520 | ||
| 657 | # | 521 | # | 
| 658 | # SN Devices | 522 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | 
| 523 | # | ||
| 524 | |||
| 525 | # | ||
| 526 | # Real Time Clock | ||
| 659 | # | 527 | # | 
| 528 | # CONFIG_RTC_CLASS is not set | ||
| 660 | 529 | ||
| 661 | # | 530 | # | 
| 662 | # File systems | 531 | # File systems | 
| @@ -669,13 +538,12 @@ CONFIG_EXT2_FS=y | |||
| 669 | # CONFIG_JFS_FS is not set | 538 | # CONFIG_JFS_FS is not set | 
| 670 | # CONFIG_FS_POSIX_ACL is not set | 539 | # CONFIG_FS_POSIX_ACL is not set | 
| 671 | # CONFIG_XFS_FS is not set | 540 | # CONFIG_XFS_FS is not set | 
| 672 | # CONFIG_OCFS2_FS is not set | ||
| 673 | # CONFIG_MINIX_FS is not set | 541 | # CONFIG_MINIX_FS is not set | 
| 674 | # CONFIG_ROMFS_FS is not set | 542 | # CONFIG_ROMFS_FS is not set | 
| 675 | CONFIG_INOTIFY=y | 543 | CONFIG_INOTIFY=y | 
| 676 | # CONFIG_QUOTA is not set | 544 | # CONFIG_QUOTA is not set | 
| 677 | CONFIG_DNOTIFY=y | 545 | CONFIG_DNOTIFY=y | 
| 678 | CONFIG_AUTOFS_FS=y | 546 | # CONFIG_AUTOFS_FS is not set | 
| 679 | CONFIG_AUTOFS4_FS=y | 547 | CONFIG_AUTOFS4_FS=y | 
| 680 | CONFIG_FUSE_FS=m | 548 | CONFIG_FUSE_FS=m | 
| 681 | 549 | ||
| @@ -698,10 +566,9 @@ CONFIG_FUSE_FS=m | |||
| 698 | CONFIG_PROC_FS=y | 566 | CONFIG_PROC_FS=y | 
| 699 | CONFIG_PROC_KCORE=y | 567 | CONFIG_PROC_KCORE=y | 
| 700 | CONFIG_SYSFS=y | 568 | CONFIG_SYSFS=y | 
| 701 | # CONFIG_TMPFS is not set | 569 | CONFIG_TMPFS=y | 
| 702 | # CONFIG_HUGETLB_PAGE is not set | 570 | # CONFIG_HUGETLB_PAGE is not set | 
| 703 | CONFIG_RAMFS=y | 571 | CONFIG_RAMFS=y | 
| 704 | CONFIG_RELAYFS_FS=m | ||
| 705 | # CONFIG_CONFIGFS_FS is not set | 572 | # CONFIG_CONFIGFS_FS is not set | 
| 706 | 573 | ||
| 707 | # | 574 | # | 
| @@ -722,29 +589,6 @@ CONFIG_RELAYFS_FS=m | |||
| 722 | # CONFIG_UFS_FS is not set | 589 | # CONFIG_UFS_FS is not set | 
| 723 | 590 | ||
| 724 | # | 591 | # | 
| 725 | # Network File Systems | ||
| 726 | # | ||
| 727 | CONFIG_NFS_FS=m | ||
| 728 | # CONFIG_NFS_V3 is not set | ||
| 729 | # CONFIG_NFS_V4 is not set | ||
| 730 | # CONFIG_NFS_DIRECTIO is not set | ||
| 731 | CONFIG_NFSD=m | ||
| 732 | # CONFIG_NFSD_V3 is not set | ||
| 733 | # CONFIG_NFSD_TCP is not set | ||
| 734 | CONFIG_LOCKD=m | ||
| 735 | CONFIG_EXPORTFS=m | ||
| 736 | CONFIG_NFS_COMMON=y | ||
| 737 | CONFIG_SUNRPC=m | ||
| 738 | # CONFIG_RPCSEC_GSS_KRB5 is not set | ||
| 739 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | ||
| 740 | # CONFIG_SMB_FS is not set | ||
| 741 | # CONFIG_CIFS is not set | ||
| 742 | # CONFIG_NCP_FS is not set | ||
| 743 | # CONFIG_CODA_FS is not set | ||
| 744 | # CONFIG_AFS_FS is not set | ||
| 745 | # CONFIG_9P_FS is not set | ||
| 746 | |||
| 747 | # | ||
| 748 | # Partition Types | 592 | # Partition Types | 
| 749 | # | 593 | # | 
| 750 | # CONFIG_PARTITION_ADVANCED is not set | 594 | # CONFIG_PARTITION_ADVANCED is not set | 
| @@ -767,44 +611,20 @@ CONFIG_MSDOS_PARTITION=y | |||
| 767 | # CONFIG_MAGIC_SYSRQ is not set | 611 | # CONFIG_MAGIC_SYSRQ is not set | 
| 768 | # CONFIG_DEBUG_KERNEL is not set | 612 | # CONFIG_DEBUG_KERNEL is not set | 
| 769 | CONFIG_LOG_BUF_SHIFT=14 | 613 | CONFIG_LOG_BUF_SHIFT=14 | 
| 614 | # CONFIG_DEBUG_FS is not set | ||
| 770 | CONFIG_CROSSCOMPILE=y | 615 | CONFIG_CROSSCOMPILE=y | 
| 771 | CONFIG_CMDLINE="console=ttyVR0,19200 mem=8M" | 616 | CONFIG_CMDLINE="console=ttyVR0,19200 mem=8M" | 
| 772 | 617 | ||
| 773 | # | 618 | # | 
| 774 | # Security options | 619 | # Security options | 
| 775 | # | 620 | # | 
| 776 | CONFIG_KEYS=y | 621 | # CONFIG_KEYS is not set | 
| 777 | CONFIG_KEYS_DEBUG_PROC_KEYS=y | ||
| 778 | # CONFIG_SECURITY is not set | 622 | # CONFIG_SECURITY is not set | 
| 779 | 623 | ||
| 780 | # | 624 | # | 
| 781 | # Cryptographic options | 625 | # Cryptographic options | 
| 782 | # | 626 | # | 
| 783 | CONFIG_CRYPTO=y | 627 | # CONFIG_CRYPTO is not set | 
| 784 | CONFIG_CRYPTO_HMAC=y | ||
| 785 | CONFIG_CRYPTO_NULL=m | ||
| 786 | CONFIG_CRYPTO_MD4=m | ||
| 787 | CONFIG_CRYPTO_MD5=m | ||
| 788 | CONFIG_CRYPTO_SHA1=m | ||
| 789 | CONFIG_CRYPTO_SHA256=m | ||
| 790 | CONFIG_CRYPTO_SHA512=m | ||
| 791 | CONFIG_CRYPTO_WP512=m | ||
| 792 | CONFIG_CRYPTO_TGR192=m | ||
| 793 | CONFIG_CRYPTO_DES=m | ||
| 794 | CONFIG_CRYPTO_BLOWFISH=m | ||
| 795 | CONFIG_CRYPTO_TWOFISH=m | ||
| 796 | CONFIG_CRYPTO_SERPENT=m | ||
| 797 | CONFIG_CRYPTO_AES=m | ||
| 798 | CONFIG_CRYPTO_CAST5=m | ||
| 799 | CONFIG_CRYPTO_CAST6=m | ||
| 800 | CONFIG_CRYPTO_TEA=m | ||
| 801 | CONFIG_CRYPTO_ARC4=m | ||
| 802 | CONFIG_CRYPTO_KHAZAD=m | ||
| 803 | CONFIG_CRYPTO_ANUBIS=m | ||
| 804 | CONFIG_CRYPTO_DEFLATE=m | ||
| 805 | CONFIG_CRYPTO_MICHAEL_MIC=m | ||
| 806 | CONFIG_CRYPTO_CRC32C=m | ||
| 807 | # CONFIG_CRYPTO_TEST is not set | ||
| 808 | 628 | ||
| 809 | # | 629 | # | 
| 810 | # Hardware crypto devices | 630 | # Hardware crypto devices | 
| @@ -814,8 +634,6 @@ CONFIG_CRYPTO_CRC32C=m | |||
| 814 | # Library routines | 634 | # Library routines | 
| 815 | # | 635 | # | 
| 816 | # CONFIG_CRC_CCITT is not set | 636 | # CONFIG_CRC_CCITT is not set | 
| 817 | CONFIG_CRC16=m | 637 | # CONFIG_CRC16 is not set | 
| 818 | CONFIG_CRC32=m | 638 | # CONFIG_CRC32 is not set | 
| 819 | CONFIG_LIBCRC32C=m | 639 | # CONFIG_LIBCRC32C is not set | 
| 820 | CONFIG_ZLIB_INFLATE=m | ||
| 821 | CONFIG_ZLIB_DEFLATE=m | ||
diff --git a/arch/mips/configs/ev64120_defconfig b/arch/mips/configs/ev64120_defconfig index f2d43be69007..7067f608b22c 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.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 | 
| 4 | # Fri Jan 27 15:40:05 2006 | 4 | # Mon Apr 24 14:51:02 2006 | 
| 5 | # | 5 | # | 
| 6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y | 
| 7 | 7 | ||
| @@ -65,6 +65,8 @@ CONFIG_MIPS_EV64120=y | |||
| 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 
| 66 | # CONFIG_EVB_PCI1 is not set | 66 | # CONFIG_EVB_PCI1 is not set | 
| 67 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 67 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 
| 68 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
| 69 | CONFIG_GENERIC_HWEIGHT=y | ||
| 68 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 70 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 
| 69 | CONFIG_DMA_NONCOHERENT=y | 71 | CONFIG_DMA_NONCOHERENT=y | 
| 70 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 72 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 
| @@ -116,7 +118,6 @@ CONFIG_PAGE_SIZE_4KB=y | |||
| 116 | # CONFIG_PAGE_SIZE_64KB is not set | 118 | # CONFIG_PAGE_SIZE_64KB is not set | 
| 117 | # CONFIG_MIPS_MT is not set | 119 | # CONFIG_MIPS_MT is not set | 
| 118 | # CONFIG_64BIT_PHYS_ADDR is not set | 120 | # CONFIG_64BIT_PHYS_ADDR is not set | 
| 119 | # CONFIG_CPU_ADVANCED is not set | ||
| 120 | CONFIG_CPU_HAS_LLSC=y | 121 | CONFIG_CPU_HAS_LLSC=y | 
| 121 | CONFIG_CPU_HAS_SYNC=y | 122 | CONFIG_CPU_HAS_SYNC=y | 
| 122 | CONFIG_GENERIC_HARDIRQS=y | 123 | CONFIG_GENERIC_HARDIRQS=y | 
| @@ -138,7 +139,6 @@ CONFIG_PREEMPT_NONE=y | |||
| 138 | # Code maturity level options | 139 | # Code maturity level options | 
| 139 | # | 140 | # | 
| 140 | CONFIG_EXPERIMENTAL=y | 141 | CONFIG_EXPERIMENTAL=y | 
| 141 | CONFIG_CLEAN_COMPILE=y | ||
| 142 | CONFIG_BROKEN_ON_SMP=y | 142 | CONFIG_BROKEN_ON_SMP=y | 
| 143 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 143 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 
| 144 | 144 | ||
| @@ -154,6 +154,7 @@ CONFIG_SYSVIPC=y | |||
| 154 | CONFIG_SYSCTL=y | 154 | CONFIG_SYSCTL=y | 
| 155 | # CONFIG_AUDIT is not set | 155 | # CONFIG_AUDIT is not set | 
| 156 | # CONFIG_IKCONFIG is not set | 156 | # CONFIG_IKCONFIG is not set | 
| 157 | CONFIG_RELAY=y | ||
| 157 | CONFIG_INITRAMFS_SOURCE="" | 158 | CONFIG_INITRAMFS_SOURCE="" | 
| 158 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 159 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 
| 159 | CONFIG_EMBEDDED=y | 160 | CONFIG_EMBEDDED=y | 
| @@ -167,10 +168,6 @@ CONFIG_BASE_FULL=y | |||
| 167 | CONFIG_FUTEX=y | 168 | CONFIG_FUTEX=y | 
| 168 | CONFIG_EPOLL=y | 169 | CONFIG_EPOLL=y | 
| 169 | CONFIG_SHMEM=y | 170 | CONFIG_SHMEM=y | 
| 170 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
| 171 | CONFIG_CC_ALIGN_LABELS=0 | ||
| 172 | CONFIG_CC_ALIGN_LOOPS=0 | ||
| 173 | CONFIG_CC_ALIGN_JUMPS=0 | ||
| 174 | CONFIG_SLAB=y | 171 | CONFIG_SLAB=y | 
| 175 | # CONFIG_TINY_SHMEM is not set | 172 | # CONFIG_TINY_SHMEM is not set | 
| 176 | CONFIG_BASE_SMALL=0 | 173 | CONFIG_BASE_SMALL=0 | 
| @@ -182,7 +179,6 @@ CONFIG_BASE_SMALL=0 | |||
| 182 | CONFIG_MODULES=y | 179 | CONFIG_MODULES=y | 
| 183 | CONFIG_MODULE_UNLOAD=y | 180 | CONFIG_MODULE_UNLOAD=y | 
| 184 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 181 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 
| 185 | CONFIG_OBSOLETE_MODPARM=y | ||
| 186 | CONFIG_MODVERSIONS=y | 182 | CONFIG_MODVERSIONS=y | 
| 187 | CONFIG_MODULE_SRCVERSION_ALL=y | 183 | CONFIG_MODULE_SRCVERSION_ALL=y | 
| 188 | # CONFIG_KMOD is not set | 184 | # CONFIG_KMOD is not set | 
| @@ -191,6 +187,8 @@ CONFIG_MODULE_SRCVERSION_ALL=y | |||
| 191 | # Block layer | 187 | # Block layer | 
| 192 | # | 188 | # | 
| 193 | # CONFIG_LBD is not set | 189 | # CONFIG_LBD is not set | 
| 190 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 191 | # CONFIG_LSF is not set | ||
| 194 | 192 | ||
| 195 | # | 193 | # | 
| 196 | # IO Schedulers | 194 | # IO Schedulers | 
| @@ -210,7 +208,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
| 210 | # | 208 | # | 
| 211 | CONFIG_HW_HAS_PCI=y | 209 | CONFIG_HW_HAS_PCI=y | 
| 212 | CONFIG_PCI=y | 210 | CONFIG_PCI=y | 
| 213 | CONFIG_PCI_LEGACY_PROC=y | ||
| 214 | CONFIG_MMU=y | 211 | CONFIG_MMU=y | 
| 215 | 212 | ||
| 216 | # | 213 | # | 
| @@ -238,6 +235,7 @@ CONFIG_NET=y | |||
| 238 | # | 235 | # | 
| 239 | # Networking options | 236 | # Networking options | 
| 240 | # | 237 | # | 
| 238 | # CONFIG_NETDEBUG is not set | ||
| 241 | # CONFIG_PACKET is not set | 239 | # CONFIG_PACKET is not set | 
| 242 | CONFIG_UNIX=y | 240 | CONFIG_UNIX=y | 
| 243 | CONFIG_XFRM=y | 241 | CONFIG_XFRM=y | 
| @@ -258,12 +256,15 @@ CONFIG_IP_PNP=y | |||
| 258 | # CONFIG_INET_AH is not set | 256 | # CONFIG_INET_AH is not set | 
| 259 | # CONFIG_INET_ESP is not set | 257 | # CONFIG_INET_ESP is not set | 
| 260 | # CONFIG_INET_IPCOMP is not set | 258 | # CONFIG_INET_IPCOMP is not set | 
| 261 | CONFIG_INET_TUNNEL=m | 259 | # CONFIG_INET_XFRM_TUNNEL is not set | 
| 260 | # CONFIG_INET_TUNNEL is not set | ||
| 262 | CONFIG_INET_DIAG=y | 261 | CONFIG_INET_DIAG=y | 
| 263 | CONFIG_INET_TCP_DIAG=y | 262 | CONFIG_INET_TCP_DIAG=y | 
| 264 | # CONFIG_TCP_CONG_ADVANCED is not set | 263 | # CONFIG_TCP_CONG_ADVANCED is not set | 
| 265 | CONFIG_TCP_CONG_BIC=y | 264 | CONFIG_TCP_CONG_BIC=y | 
| 266 | # CONFIG_IPV6 is not set | 265 | # CONFIG_IPV6 is not set | 
| 266 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
| 267 | # CONFIG_INET6_TUNNEL is not set | ||
| 267 | # CONFIG_NETFILTER is not set | 268 | # CONFIG_NETFILTER is not set | 
| 268 | 269 | ||
| 269 | # | 270 | # | 
| @@ -275,6 +276,11 @@ CONFIG_TCP_CONG_BIC=y | |||
| 275 | # SCTP Configuration (EXPERIMENTAL) | 276 | # SCTP Configuration (EXPERIMENTAL) | 
| 276 | # | 277 | # | 
| 277 | # CONFIG_IP_SCTP is not set | 278 | # CONFIG_IP_SCTP is not set | 
| 279 | |||
| 280 | # | ||
| 281 | # TIPC Configuration (EXPERIMENTAL) | ||
| 282 | # | ||
| 283 | # CONFIG_TIPC is not set | ||
| 278 | # CONFIG_ATM is not set | 284 | # CONFIG_ATM is not set | 
| 279 | # CONFIG_BRIDGE is not set | 285 | # CONFIG_BRIDGE is not set | 
| 280 | # CONFIG_VLAN_8021Q is not set | 286 | # CONFIG_VLAN_8021Q is not set | 
| @@ -284,11 +290,6 @@ CONFIG_TCP_CONG_BIC=y | |||
| 284 | # CONFIG_ATALK is not set | 290 | # CONFIG_ATALK is not set | 
| 285 | # CONFIG_X25 is not set | 291 | # CONFIG_X25 is not set | 
| 286 | # CONFIG_LAPB is not set | 292 | # CONFIG_LAPB is not set | 
| 287 | |||
| 288 | # | ||
| 289 | # TIPC Configuration (EXPERIMENTAL) | ||
| 290 | # | ||
| 291 | # CONFIG_TIPC is not set | ||
| 292 | # CONFIG_NET_DIVERT is not set | 293 | # CONFIG_NET_DIVERT is not set | 
| 293 | # CONFIG_ECONET is not set | 294 | # CONFIG_ECONET is not set | 
| 294 | # CONFIG_WAN_ROUTER is not set | 295 | # CONFIG_WAN_ROUTER is not set | 
| @@ -309,6 +310,9 @@ CONFIG_IEEE80211=m | |||
| 309 | # CONFIG_IEEE80211_DEBUG is not set | 310 | # CONFIG_IEEE80211_DEBUG is not set | 
| 310 | CONFIG_IEEE80211_CRYPT_WEP=m | 311 | CONFIG_IEEE80211_CRYPT_WEP=m | 
| 311 | CONFIG_IEEE80211_CRYPT_CCMP=m | 312 | CONFIG_IEEE80211_CRYPT_CCMP=m | 
| 313 | CONFIG_IEEE80211_SOFTMAC=m | ||
| 314 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
| 315 | CONFIG_WIRELESS_EXT=y | ||
| 312 | 316 | ||
| 313 | # | 317 | # | 
| 314 | # Device Drivers | 318 | # Device Drivers | 
| @@ -352,7 +356,7 @@ CONFIG_CONNECTOR=m | |||
| 352 | # CONFIG_BLK_DEV_NBD is not set | 356 | # CONFIG_BLK_DEV_NBD is not set | 
| 353 | # CONFIG_BLK_DEV_SX8 is not set | 357 | # CONFIG_BLK_DEV_SX8 is not set | 
| 354 | # CONFIG_BLK_DEV_RAM is not set | 358 | # CONFIG_BLK_DEV_RAM is not set | 
| 355 | CONFIG_BLK_DEV_RAM_COUNT=16 | 359 | # CONFIG_BLK_DEV_INITRD is not set | 
| 356 | CONFIG_CDROM_PKTCDVD=m | 360 | CONFIG_CDROM_PKTCDVD=m | 
| 357 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 361 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 
| 358 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 362 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 
| @@ -550,6 +554,7 @@ CONFIG_HW_CONSOLE=y | |||
| 550 | # | 554 | # | 
| 551 | CONFIG_SERIAL_8250=y | 555 | CONFIG_SERIAL_8250=y | 
| 552 | CONFIG_SERIAL_8250_CONSOLE=y | 556 | CONFIG_SERIAL_8250_CONSOLE=y | 
| 557 | CONFIG_SERIAL_8250_PCI=y | ||
| 553 | CONFIG_SERIAL_8250_NR_UARTS=4 | 558 | CONFIG_SERIAL_8250_NR_UARTS=4 | 
| 554 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 559 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 
| 555 | # CONFIG_SERIAL_8250_EXTENDED is not set | 560 | # CONFIG_SERIAL_8250_EXTENDED is not set | 
| @@ -559,6 +564,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | |||
| 559 | # | 564 | # | 
| 560 | CONFIG_SERIAL_CORE=y | 565 | CONFIG_SERIAL_CORE=y | 
| 561 | CONFIG_SERIAL_CORE_CONSOLE=y | 566 | CONFIG_SERIAL_CORE_CONSOLE=y | 
| 567 | # CONFIG_SERIAL_JSM is not set | ||
| 562 | CONFIG_UNIX98_PTYS=y | 568 | CONFIG_UNIX98_PTYS=y | 
| 563 | CONFIG_LEGACY_PTYS=y | 569 | CONFIG_LEGACY_PTYS=y | 
| 564 | CONFIG_LEGACY_PTY_COUNT=256 | 570 | CONFIG_LEGACY_PTY_COUNT=256 | 
| @@ -617,10 +623,6 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
| 617 | # | 623 | # | 
| 618 | 624 | ||
| 619 | # | 625 | # | 
| 620 | # Multimedia Capabilities Port drivers | ||
| 621 | # | ||
| 622 | |||
| 623 | # | ||
| 624 | # Multimedia devices | 626 | # Multimedia devices | 
| 625 | # | 627 | # | 
| 626 | # CONFIG_VIDEO_DEV is not set | 628 | # CONFIG_VIDEO_DEV is not set | 
| @@ -651,6 +653,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
| 651 | # | 653 | # | 
| 652 | CONFIG_USB_ARCH_HAS_HCD=y | 654 | CONFIG_USB_ARCH_HAS_HCD=y | 
| 653 | CONFIG_USB_ARCH_HAS_OHCI=y | 655 | CONFIG_USB_ARCH_HAS_OHCI=y | 
| 656 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
| 654 | # CONFIG_USB is not set | 657 | # CONFIG_USB is not set | 
| 655 | 658 | ||
| 656 | # | 659 | # | 
| @@ -668,13 +671,31 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
| 668 | # CONFIG_MMC is not set | 671 | # CONFIG_MMC is not set | 
| 669 | 672 | ||
| 670 | # | 673 | # | 
| 674 | # LED devices | ||
| 675 | # | ||
| 676 | # CONFIG_NEW_LEDS is not set | ||
| 677 | |||
| 678 | # | ||
| 679 | # LED drivers | ||
| 680 | # | ||
| 681 | |||
| 682 | # | ||
| 683 | # LED Triggers | ||
| 684 | # | ||
| 685 | |||
| 686 | # | ||
| 671 | # InfiniBand support | 687 | # InfiniBand support | 
| 672 | # | 688 | # | 
| 673 | # CONFIG_INFINIBAND is not set | 689 | # CONFIG_INFINIBAND is not set | 
| 674 | 690 | ||
| 675 | # | 691 | # | 
| 676 | # SN Devices | 692 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | 
| 693 | # | ||
| 694 | |||
| 695 | # | ||
| 696 | # Real Time Clock | ||
| 677 | # | 697 | # | 
| 698 | # CONFIG_RTC_CLASS is not set | ||
| 678 | 699 | ||
| 679 | # | 700 | # | 
| 680 | # File systems | 701 | # File systems | 
| @@ -719,7 +740,6 @@ CONFIG_SYSFS=y | |||
| 719 | # CONFIG_TMPFS is not set | 740 | # CONFIG_TMPFS is not set | 
| 720 | # CONFIG_HUGETLB_PAGE is not set | 741 | # CONFIG_HUGETLB_PAGE is not set | 
| 721 | CONFIG_RAMFS=y | 742 | CONFIG_RAMFS=y | 
| 722 | CONFIG_RELAYFS_FS=m | ||
| 723 | # CONFIG_CONFIGFS_FS is not set | 743 | # CONFIG_CONFIGFS_FS is not set | 
| 724 | 744 | ||
| 725 | # | 745 | # | 
| @@ -783,6 +803,7 @@ CONFIG_MSDOS_PARTITION=y | |||
| 783 | # CONFIG_MAGIC_SYSRQ is not set | 803 | # CONFIG_MAGIC_SYSRQ is not set | 
| 784 | # CONFIG_DEBUG_KERNEL is not set | 804 | # CONFIG_DEBUG_KERNEL is not set | 
| 785 | CONFIG_LOG_BUF_SHIFT=14 | 805 | CONFIG_LOG_BUF_SHIFT=14 | 
| 806 | # CONFIG_DEBUG_FS is not set | ||
| 786 | CONFIG_CROSSCOMPILE=y | 807 | CONFIG_CROSSCOMPILE=y | 
| 787 | CONFIG_CMDLINE="console=ttyS0,115200 root=/dev/nfs rw nfsroot=192.168.1.1:/mnt/disk2/fs.gal ip=192.168.1.211:192.168.1.1:::gt::" | 808 | CONFIG_CMDLINE="console=ttyS0,115200 root=/dev/nfs rw nfsroot=192.168.1.1:/mnt/disk2/fs.gal ip=192.168.1.211:192.168.1.1:::gt::" | 
| 788 | 809 | ||
diff --git a/arch/mips/configs/ev96100_defconfig b/arch/mips/configs/ev96100_defconfig index ac5841c4b698..00b56ed0e638 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.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 | 
| 4 | # Fri Jan 27 15:40:06 2006 | 4 | # Mon Apr 24 14:51:03 2006 | 
| 5 | # | 5 | # | 
| 6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y | 
| 7 | 7 | ||
| @@ -64,6 +64,8 @@ CONFIG_MIPS_EV96100=y | |||
| 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 
| 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 
| 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 
| 67 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
| 68 | CONFIG_GENERIC_HWEIGHT=y | ||
| 67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 69 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 
| 68 | CONFIG_DMA_NONCOHERENT=y | 70 | CONFIG_DMA_NONCOHERENT=y | 
| 69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 71 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 
| @@ -119,7 +121,6 @@ CONFIG_RM7000_CPU_SCACHE=y | |||
| 119 | CONFIG_CPU_HAS_PREFETCH=y | 121 | CONFIG_CPU_HAS_PREFETCH=y | 
| 120 | # CONFIG_MIPS_MT is not set | 122 | # CONFIG_MIPS_MT is not set | 
| 121 | # CONFIG_64BIT_PHYS_ADDR is not set | 123 | # CONFIG_64BIT_PHYS_ADDR is not set | 
| 122 | # CONFIG_CPU_ADVANCED is not set | ||
| 123 | CONFIG_CPU_HAS_LLSC=y | 124 | CONFIG_CPU_HAS_LLSC=y | 
| 124 | CONFIG_CPU_HAS_SYNC=y | 125 | CONFIG_CPU_HAS_SYNC=y | 
| 125 | CONFIG_GENERIC_HARDIRQS=y | 126 | CONFIG_GENERIC_HARDIRQS=y | 
| @@ -142,7 +143,6 @@ CONFIG_PREEMPT_NONE=y | |||
| 142 | # Code maturity level options | 143 | # Code maturity level options | 
| 143 | # | 144 | # | 
| 144 | CONFIG_EXPERIMENTAL=y | 145 | CONFIG_EXPERIMENTAL=y | 
| 145 | CONFIG_CLEAN_COMPILE=y | ||
| 146 | CONFIG_BROKEN_ON_SMP=y | 146 | CONFIG_BROKEN_ON_SMP=y | 
| 147 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 147 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 
| 148 | 148 | ||
| @@ -158,6 +158,7 @@ CONFIG_SYSVIPC=y | |||
| 158 | CONFIG_SYSCTL=y | 158 | CONFIG_SYSCTL=y | 
| 159 | # CONFIG_AUDIT is not set | 159 | # CONFIG_AUDIT is not set | 
| 160 | # CONFIG_IKCONFIG is not set | 160 | # CONFIG_IKCONFIG is not set | 
| 161 | CONFIG_RELAY=y | ||
| 161 | CONFIG_INITRAMFS_SOURCE="" | 162 | CONFIG_INITRAMFS_SOURCE="" | 
| 162 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 163 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 
| 163 | CONFIG_EMBEDDED=y | 164 | CONFIG_EMBEDDED=y | 
| @@ -171,10 +172,6 @@ CONFIG_BASE_FULL=y | |||
| 171 | CONFIG_FUTEX=y | 172 | CONFIG_FUTEX=y | 
| 172 | CONFIG_EPOLL=y | 173 | CONFIG_EPOLL=y | 
| 173 | CONFIG_SHMEM=y | 174 | CONFIG_SHMEM=y | 
| 174 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
| 175 | CONFIG_CC_ALIGN_LABELS=0 | ||
| 176 | CONFIG_CC_ALIGN_LOOPS=0 | ||
| 177 | CONFIG_CC_ALIGN_JUMPS=0 | ||
| 178 | CONFIG_SLAB=y | 175 | CONFIG_SLAB=y | 
| 179 | # CONFIG_TINY_SHMEM is not set | 176 | # CONFIG_TINY_SHMEM is not set | 
| 180 | CONFIG_BASE_SMALL=0 | 177 | CONFIG_BASE_SMALL=0 | 
| @@ -186,7 +183,6 @@ CONFIG_BASE_SMALL=0 | |||
| 186 | CONFIG_MODULES=y | 183 | CONFIG_MODULES=y | 
| 187 | CONFIG_MODULE_UNLOAD=y | 184 | CONFIG_MODULE_UNLOAD=y | 
| 188 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 185 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 
| 189 | CONFIG_OBSOLETE_MODPARM=y | ||
| 190 | CONFIG_MODVERSIONS=y | 186 | CONFIG_MODVERSIONS=y | 
| 191 | CONFIG_MODULE_SRCVERSION_ALL=y | 187 | CONFIG_MODULE_SRCVERSION_ALL=y | 
| 192 | # CONFIG_KMOD is not set | 188 | # CONFIG_KMOD is not set | 
| @@ -195,6 +191,8 @@ CONFIG_MODULE_SRCVERSION_ALL=y | |||
| 195 | # Block layer | 191 | # Block layer | 
| 196 | # | 192 | # | 
| 197 | # CONFIG_LBD is not set | 193 | # CONFIG_LBD is not set | 
| 194 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 195 | # CONFIG_LSF is not set | ||
| 198 | 196 | ||
| 199 | # | 197 | # | 
| 200 | # IO Schedulers | 198 | # IO Schedulers | 
| @@ -240,6 +238,7 @@ CONFIG_NET=y | |||
| 240 | # | 238 | # | 
| 241 | # Networking options | 239 | # Networking options | 
| 242 | # | 240 | # | 
| 241 | # CONFIG_NETDEBUG is not set | ||
| 243 | # CONFIG_PACKET is not set | 242 | # CONFIG_PACKET is not set | 
| 244 | CONFIG_UNIX=y | 243 | CONFIG_UNIX=y | 
| 245 | CONFIG_XFRM=y | 244 | CONFIG_XFRM=y | 
| @@ -260,12 +259,15 @@ CONFIG_IP_PNP_BOOTP=y | |||
| 260 | # CONFIG_INET_AH is not set | 259 | # CONFIG_INET_AH is not set | 
| 261 | # CONFIG_INET_ESP is not set | 260 | # CONFIG_INET_ESP is not set | 
| 262 | # CONFIG_INET_IPCOMP is not set | 261 | # CONFIG_INET_IPCOMP is not set | 
| 263 | CONFIG_INET_TUNNEL=m | 262 | # CONFIG_INET_XFRM_TUNNEL is not set | 
| 263 | # CONFIG_INET_TUNNEL is not set | ||
| 264 | CONFIG_INET_DIAG=y | 264 | CONFIG_INET_DIAG=y | 
| 265 | CONFIG_INET_TCP_DIAG=y | 265 | CONFIG_INET_TCP_DIAG=y | 
| 266 | # CONFIG_TCP_CONG_ADVANCED is not set | 266 | # CONFIG_TCP_CONG_ADVANCED is not set | 
| 267 | CONFIG_TCP_CONG_BIC=y | 267 | CONFIG_TCP_CONG_BIC=y | 
| 268 | # CONFIG_IPV6 is not set | 268 | # CONFIG_IPV6 is not set | 
| 269 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
| 270 | # CONFIG_INET6_TUNNEL is not set | ||
| 269 | # CONFIG_NETFILTER is not set | 271 | # CONFIG_NETFILTER is not set | 
| 270 | 272 | ||
| 271 | # | 273 | # | 
| @@ -277,6 +279,11 @@ CONFIG_TCP_CONG_BIC=y | |||
| 277 | # SCTP Configuration (EXPERIMENTAL) | 279 | # SCTP Configuration (EXPERIMENTAL) | 
| 278 | # | 280 | # | 
| 279 | # CONFIG_IP_SCTP is not set | 281 | # CONFIG_IP_SCTP is not set | 
| 282 | |||
| 283 | # | ||
| 284 | # TIPC Configuration (EXPERIMENTAL) | ||
| 285 | # | ||
| 286 | # CONFIG_TIPC is not set | ||
| 280 | # CONFIG_ATM is not set | 287 | # CONFIG_ATM is not set | 
| 281 | # CONFIG_BRIDGE is not set | 288 | # CONFIG_BRIDGE is not set | 
| 282 | # CONFIG_VLAN_8021Q is not set | 289 | # CONFIG_VLAN_8021Q is not set | 
| @@ -286,11 +293,6 @@ CONFIG_TCP_CONG_BIC=y | |||
| 286 | # CONFIG_ATALK is not set | 293 | # CONFIG_ATALK is not set | 
| 287 | # CONFIG_X25 is not set | 294 | # CONFIG_X25 is not set | 
| 288 | # CONFIG_LAPB is not set | 295 | # CONFIG_LAPB is not set | 
| 289 | |||
| 290 | # | ||
| 291 | # TIPC Configuration (EXPERIMENTAL) | ||
| 292 | # | ||
| 293 | # CONFIG_TIPC is not set | ||
| 294 | # CONFIG_NET_DIVERT is not set | 296 | # CONFIG_NET_DIVERT is not set | 
| 295 | # CONFIG_ECONET is not set | 297 | # CONFIG_ECONET is not set | 
| 296 | # CONFIG_WAN_ROUTER is not set | 298 | # CONFIG_WAN_ROUTER is not set | 
| @@ -311,6 +313,9 @@ CONFIG_IEEE80211=m | |||
| 311 | # CONFIG_IEEE80211_DEBUG is not set | 313 | # CONFIG_IEEE80211_DEBUG is not set | 
| 312 | CONFIG_IEEE80211_CRYPT_WEP=m | 314 | CONFIG_IEEE80211_CRYPT_WEP=m | 
| 313 | CONFIG_IEEE80211_CRYPT_CCMP=m | 315 | CONFIG_IEEE80211_CRYPT_CCMP=m | 
| 316 | CONFIG_IEEE80211_SOFTMAC=m | ||
| 317 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
| 318 | CONFIG_WIRELESS_EXT=y | ||
| 314 | 319 | ||
| 315 | # | 320 | # | 
| 316 | # Device Drivers | 321 | # Device Drivers | 
| @@ -349,7 +354,7 @@ CONFIG_CONNECTOR=m | |||
| 349 | # CONFIG_BLK_DEV_LOOP is not set | 354 | # CONFIG_BLK_DEV_LOOP is not set | 
| 350 | # CONFIG_BLK_DEV_NBD is not set | 355 | # CONFIG_BLK_DEV_NBD is not set | 
| 351 | # CONFIG_BLK_DEV_RAM is not set | 356 | # CONFIG_BLK_DEV_RAM is not set | 
| 352 | CONFIG_BLK_DEV_RAM_COUNT=16 | 357 | # CONFIG_BLK_DEV_INITRD is not set | 
| 353 | CONFIG_CDROM_PKTCDVD=m | 358 | CONFIG_CDROM_PKTCDVD=m | 
| 354 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 359 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 
| 355 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 360 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 
| @@ -567,10 +572,6 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
| 567 | # | 572 | # | 
| 568 | 573 | ||
| 569 | # | 574 | # | 
| 570 | # Multimedia Capabilities Port drivers | ||
| 571 | # | ||
| 572 | |||
| 573 | # | ||
| 574 | # Multimedia devices | 575 | # Multimedia devices | 
| 575 | # | 576 | # | 
| 576 | # CONFIG_VIDEO_DEV is not set | 577 | # CONFIG_VIDEO_DEV is not set | 
| @@ -601,6 +602,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
| 601 | # | 602 | # | 
| 602 | # CONFIG_USB_ARCH_HAS_HCD is not set | 603 | # CONFIG_USB_ARCH_HAS_HCD is not set | 
| 603 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 604 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 
| 605 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
| 604 | 606 | ||
| 605 | # | 607 | # | 
| 606 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 608 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 
| @@ -617,12 +619,30 @@ CONFIG_DUMMY_CONSOLE=y | |||
| 617 | # CONFIG_MMC is not set | 619 | # CONFIG_MMC is not set | 
| 618 | 620 | ||
| 619 | # | 621 | # | 
| 622 | # LED devices | ||
| 623 | # | ||
| 624 | # CONFIG_NEW_LEDS is not set | ||
| 625 | |||
| 626 | # | ||
| 627 | # LED drivers | ||
| 628 | # | ||
| 629 | |||
| 630 | # | ||
| 631 | # LED Triggers | ||
| 632 | # | ||
| 633 | |||
| 634 | # | ||
| 620 | # InfiniBand support | 635 | # InfiniBand support | 
| 621 | # | 636 | # | 
| 622 | 637 | ||
| 623 | # | 638 | # | 
| 624 | # SN Devices | 639 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | 
| 640 | # | ||
| 641 | |||
| 642 | # | ||
| 643 | # Real Time Clock | ||
| 625 | # | 644 | # | 
| 645 | # CONFIG_RTC_CLASS is not set | ||
| 626 | 646 | ||
| 627 | # | 647 | # | 
| 628 | # File systems | 648 | # File systems | 
| @@ -667,7 +687,6 @@ CONFIG_SYSFS=y | |||
| 667 | # CONFIG_TMPFS is not set | 687 | # CONFIG_TMPFS is not set | 
| 668 | # CONFIG_HUGETLB_PAGE is not set | 688 | # CONFIG_HUGETLB_PAGE is not set | 
| 669 | CONFIG_RAMFS=y | 689 | CONFIG_RAMFS=y | 
| 670 | CONFIG_RELAYFS_FS=m | ||
| 671 | # CONFIG_CONFIGFS_FS is not set | 690 | # CONFIG_CONFIGFS_FS is not set | 
| 672 | 691 | ||
| 673 | # | 692 | # | 
| @@ -731,6 +750,7 @@ CONFIG_MSDOS_PARTITION=y | |||
| 731 | # CONFIG_MAGIC_SYSRQ is not set | 750 | # CONFIG_MAGIC_SYSRQ is not set | 
| 732 | # CONFIG_DEBUG_KERNEL is not set | 751 | # CONFIG_DEBUG_KERNEL is not set | 
| 733 | CONFIG_LOG_BUF_SHIFT=14 | 752 | CONFIG_LOG_BUF_SHIFT=14 | 
| 753 | # CONFIG_DEBUG_FS is not set | ||
| 734 | CONFIG_CROSSCOMPILE=y | 754 | CONFIG_CROSSCOMPILE=y | 
| 735 | CONFIG_CMDLINE="" | 755 | CONFIG_CMDLINE="" | 
| 736 | 756 | ||
diff --git a/arch/mips/configs/ip22_defconfig b/arch/mips/configs/ip22_defconfig index 42d5cd7927cb..607e2985ffe3 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.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 | 
| 4 | # Fri Jan 27 15:39:51 2006 | 4 | # Mon Apr 24 14:50:54 2006 | 
| 5 | # | 5 | # | 
| 6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y | 
| 7 | 7 | ||
| @@ -64,6 +64,8 @@ CONFIG_SGI_IP22=y | |||
| 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 
| 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 
| 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 
| 67 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
| 68 | CONFIG_GENERIC_HWEIGHT=y | ||
| 67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 69 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 
| 68 | CONFIG_ARC=y | 70 | CONFIG_ARC=y | 
| 69 | CONFIG_DMA_NONCOHERENT=y | 71 | CONFIG_DMA_NONCOHERENT=y | 
| @@ -121,7 +123,6 @@ CONFIG_BOARD_SCACHE=y | |||
| 121 | CONFIG_IP22_CPU_SCACHE=y | 123 | CONFIG_IP22_CPU_SCACHE=y | 
| 122 | # CONFIG_MIPS_MT is not set | 124 | # CONFIG_MIPS_MT is not set | 
| 123 | # CONFIG_64BIT_PHYS_ADDR is not set | 125 | # CONFIG_64BIT_PHYS_ADDR is not set | 
| 124 | # CONFIG_CPU_ADVANCED is not set | ||
| 125 | CONFIG_CPU_HAS_LLSC=y | 126 | CONFIG_CPU_HAS_LLSC=y | 
| 126 | CONFIG_CPU_HAS_SYNC=y | 127 | CONFIG_CPU_HAS_SYNC=y | 
| 127 | CONFIG_GENERIC_HARDIRQS=y | 128 | CONFIG_GENERIC_HARDIRQS=y | 
| @@ -143,7 +144,6 @@ CONFIG_PREEMPT_VOLUNTARY=y | |||
| 143 | # Code maturity level options | 144 | # Code maturity level options | 
| 144 | # | 145 | # | 
| 145 | CONFIG_EXPERIMENTAL=y | 146 | CONFIG_EXPERIMENTAL=y | 
| 146 | CONFIG_CLEAN_COMPILE=y | ||
| 147 | CONFIG_BROKEN_ON_SMP=y | 147 | CONFIG_BROKEN_ON_SMP=y | 
| 148 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 148 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 
| 149 | 149 | ||
| @@ -160,6 +160,7 @@ CONFIG_SYSCTL=y | |||
| 160 | # CONFIG_AUDIT is not set | 160 | # CONFIG_AUDIT is not set | 
| 161 | CONFIG_IKCONFIG=y | 161 | CONFIG_IKCONFIG=y | 
| 162 | CONFIG_IKCONFIG_PROC=y | 162 | CONFIG_IKCONFIG_PROC=y | 
| 163 | CONFIG_RELAY=y | ||
| 163 | CONFIG_INITRAMFS_SOURCE="" | 164 | CONFIG_INITRAMFS_SOURCE="" | 
| 164 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 165 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 
| 165 | CONFIG_EMBEDDED=y | 166 | CONFIG_EMBEDDED=y | 
| @@ -173,10 +174,6 @@ CONFIG_BASE_FULL=y | |||
| 173 | CONFIG_FUTEX=y | 174 | CONFIG_FUTEX=y | 
| 174 | CONFIG_EPOLL=y | 175 | CONFIG_EPOLL=y | 
| 175 | CONFIG_SHMEM=y | 176 | CONFIG_SHMEM=y | 
| 176 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
| 177 | CONFIG_CC_ALIGN_LABELS=0 | ||
| 178 | CONFIG_CC_ALIGN_LOOPS=0 | ||
| 179 | CONFIG_CC_ALIGN_JUMPS=0 | ||
| 180 | CONFIG_SLAB=y | 177 | CONFIG_SLAB=y | 
| 181 | # CONFIG_TINY_SHMEM is not set | 178 | # CONFIG_TINY_SHMEM is not set | 
| 182 | CONFIG_BASE_SMALL=0 | 179 | CONFIG_BASE_SMALL=0 | 
| @@ -188,7 +185,6 @@ CONFIG_BASE_SMALL=0 | |||
| 188 | CONFIG_MODULES=y | 185 | CONFIG_MODULES=y | 
| 189 | CONFIG_MODULE_UNLOAD=y | 186 | CONFIG_MODULE_UNLOAD=y | 
| 190 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 187 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 
| 191 | CONFIG_OBSOLETE_MODPARM=y | ||
| 192 | CONFIG_MODVERSIONS=y | 188 | CONFIG_MODVERSIONS=y | 
| 193 | CONFIG_MODULE_SRCVERSION_ALL=y | 189 | CONFIG_MODULE_SRCVERSION_ALL=y | 
| 194 | CONFIG_KMOD=y | 190 | CONFIG_KMOD=y | 
| @@ -197,6 +193,8 @@ CONFIG_KMOD=y | |||
| 197 | # Block layer | 193 | # Block layer | 
| 198 | # | 194 | # | 
| 199 | # CONFIG_LBD is not set | 195 | # CONFIG_LBD is not set | 
| 196 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 197 | # CONFIG_LSF is not set | ||
| 200 | 198 | ||
| 201 | # | 199 | # | 
| 202 | # IO Schedulers | 200 | # IO Schedulers | 
| @@ -242,6 +240,7 @@ CONFIG_NET=y | |||
| 242 | # | 240 | # | 
| 243 | # Networking options | 241 | # Networking options | 
| 244 | # | 242 | # | 
| 243 | # CONFIG_NETDEBUG is not set | ||
| 245 | CONFIG_PACKET=y | 244 | CONFIG_PACKET=y | 
| 246 | CONFIG_PACKET_MMAP=y | 245 | CONFIG_PACKET_MMAP=y | 
| 247 | CONFIG_UNIX=y | 246 | CONFIG_UNIX=y | 
| @@ -264,6 +263,7 @@ CONFIG_IP_PNP_BOOTP=y | |||
| 264 | CONFIG_INET_AH=m | 263 | CONFIG_INET_AH=m | 
| 265 | CONFIG_INET_ESP=m | 264 | CONFIG_INET_ESP=m | 
| 266 | CONFIG_INET_IPCOMP=m | 265 | CONFIG_INET_IPCOMP=m | 
| 266 | CONFIG_INET_XFRM_TUNNEL=m | ||
| 267 | CONFIG_INET_TUNNEL=m | 267 | CONFIG_INET_TUNNEL=m | 
| 268 | CONFIG_INET_DIAG=y | 268 | CONFIG_INET_DIAG=y | 
| 269 | CONFIG_INET_TCP_DIAG=y | 269 | CONFIG_INET_TCP_DIAG=y | 
| @@ -305,9 +305,12 @@ CONFIG_IP_VS_NQ=m | |||
| 305 | CONFIG_IP_VS_FTP=m | 305 | CONFIG_IP_VS_FTP=m | 
| 306 | CONFIG_IPV6=m | 306 | CONFIG_IPV6=m | 
| 307 | CONFIG_IPV6_PRIVACY=y | 307 | CONFIG_IPV6_PRIVACY=y | 
| 308 | CONFIG_IPV6_ROUTER_PREF=y | ||
| 309 | CONFIG_IPV6_ROUTE_INFO=y | ||
| 308 | CONFIG_INET6_AH=m | 310 | CONFIG_INET6_AH=m | 
| 309 | CONFIG_INET6_ESP=m | 311 | CONFIG_INET6_ESP=m | 
| 310 | CONFIG_INET6_IPCOMP=m | 312 | CONFIG_INET6_IPCOMP=m | 
| 313 | CONFIG_INET6_XFRM_TUNNEL=m | ||
| 311 | CONFIG_INET6_TUNNEL=m | 314 | CONFIG_INET6_TUNNEL=m | 
| 312 | CONFIG_IPV6_TUNNEL=m | 315 | CONFIG_IPV6_TUNNEL=m | 
| 313 | CONFIG_NETFILTER=y | 316 | CONFIG_NETFILTER=y | 
| @@ -330,11 +333,14 @@ CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m | |||
| 330 | CONFIG_NETFILTER_XT_MATCH_CONNMARK=m | 333 | CONFIG_NETFILTER_XT_MATCH_CONNMARK=m | 
| 331 | CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m | 334 | CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m | 
| 332 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 335 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 
| 336 | CONFIG_NETFILTER_XT_MATCH_ESP=m | ||
| 333 | CONFIG_NETFILTER_XT_MATCH_HELPER=m | 337 | CONFIG_NETFILTER_XT_MATCH_HELPER=m | 
| 334 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | 338 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | 
| 335 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | 339 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | 
| 336 | CONFIG_NETFILTER_XT_MATCH_MAC=m | 340 | CONFIG_NETFILTER_XT_MATCH_MAC=m | 
| 337 | CONFIG_NETFILTER_XT_MATCH_MARK=m | 341 | CONFIG_NETFILTER_XT_MATCH_MARK=m | 
| 342 | CONFIG_NETFILTER_XT_MATCH_POLICY=m | ||
| 343 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m | ||
| 338 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 344 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 
| 339 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 345 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 
| 340 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | 346 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | 
| @@ -357,20 +363,19 @@ CONFIG_IP_NF_IRC=m | |||
| 357 | CONFIG_IP_NF_TFTP=m | 363 | CONFIG_IP_NF_TFTP=m | 
| 358 | CONFIG_IP_NF_AMANDA=m | 364 | CONFIG_IP_NF_AMANDA=m | 
| 359 | CONFIG_IP_NF_PPTP=m | 365 | CONFIG_IP_NF_PPTP=m | 
| 366 | CONFIG_IP_NF_H323=m | ||
| 360 | CONFIG_IP_NF_QUEUE=m | 367 | CONFIG_IP_NF_QUEUE=m | 
| 361 | CONFIG_IP_NF_IPTABLES=m | 368 | CONFIG_IP_NF_IPTABLES=m | 
| 362 | CONFIG_IP_NF_MATCH_IPRANGE=m | 369 | CONFIG_IP_NF_MATCH_IPRANGE=m | 
| 363 | CONFIG_IP_NF_MATCH_MULTIPORT=m | ||
| 364 | CONFIG_IP_NF_MATCH_TOS=m | 370 | CONFIG_IP_NF_MATCH_TOS=m | 
| 365 | CONFIG_IP_NF_MATCH_RECENT=m | 371 | CONFIG_IP_NF_MATCH_RECENT=m | 
| 366 | CONFIG_IP_NF_MATCH_ECN=m | 372 | CONFIG_IP_NF_MATCH_ECN=m | 
| 367 | CONFIG_IP_NF_MATCH_DSCP=m | 373 | CONFIG_IP_NF_MATCH_DSCP=m | 
| 368 | CONFIG_IP_NF_MATCH_AH_ESP=m | 374 | CONFIG_IP_NF_MATCH_AH=m | 
| 369 | CONFIG_IP_NF_MATCH_TTL=m | 375 | CONFIG_IP_NF_MATCH_TTL=m | 
| 370 | CONFIG_IP_NF_MATCH_OWNER=m | 376 | CONFIG_IP_NF_MATCH_OWNER=m | 
| 371 | CONFIG_IP_NF_MATCH_ADDRTYPE=m | 377 | CONFIG_IP_NF_MATCH_ADDRTYPE=m | 
| 372 | CONFIG_IP_NF_MATCH_HASHLIMIT=m | 378 | CONFIG_IP_NF_MATCH_HASHLIMIT=m | 
| 373 | CONFIG_IP_NF_MATCH_POLICY=m | ||
| 374 | CONFIG_IP_NF_FILTER=m | 379 | CONFIG_IP_NF_FILTER=m | 
| 375 | CONFIG_IP_NF_TARGET_REJECT=m | 380 | CONFIG_IP_NF_TARGET_REJECT=m | 
| 376 | CONFIG_IP_NF_TARGET_LOG=m | 381 | CONFIG_IP_NF_TARGET_LOG=m | 
| @@ -388,6 +393,7 @@ CONFIG_IP_NF_NAT_FTP=m | |||
| 388 | CONFIG_IP_NF_NAT_TFTP=m | 393 | CONFIG_IP_NF_NAT_TFTP=m | 
| 389 | CONFIG_IP_NF_NAT_AMANDA=m | 394 | CONFIG_IP_NF_NAT_AMANDA=m | 
| 390 | CONFIG_IP_NF_NAT_PPTP=m | 395 | CONFIG_IP_NF_NAT_PPTP=m | 
| 396 | CONFIG_IP_NF_NAT_H323=m | ||
| 391 | CONFIG_IP_NF_MANGLE=m | 397 | CONFIG_IP_NF_MANGLE=m | 
| 392 | CONFIG_IP_NF_TARGET_TOS=m | 398 | CONFIG_IP_NF_TARGET_TOS=m | 
| 393 | CONFIG_IP_NF_TARGET_ECN=m | 399 | CONFIG_IP_NF_TARGET_ECN=m | 
| @@ -408,12 +414,10 @@ CONFIG_IP6_NF_MATCH_RT=m | |||
| 408 | CONFIG_IP6_NF_MATCH_OPTS=m | 414 | CONFIG_IP6_NF_MATCH_OPTS=m | 
| 409 | CONFIG_IP6_NF_MATCH_FRAG=m | 415 | CONFIG_IP6_NF_MATCH_FRAG=m | 
| 410 | CONFIG_IP6_NF_MATCH_HL=m | 416 | CONFIG_IP6_NF_MATCH_HL=m | 
| 411 | CONFIG_IP6_NF_MATCH_MULTIPORT=m | ||
| 412 | CONFIG_IP6_NF_MATCH_OWNER=m | 417 | CONFIG_IP6_NF_MATCH_OWNER=m | 
| 413 | CONFIG_IP6_NF_MATCH_IPV6HEADER=m | 418 | CONFIG_IP6_NF_MATCH_IPV6HEADER=m | 
| 414 | CONFIG_IP6_NF_MATCH_AHESP=m | 419 | CONFIG_IP6_NF_MATCH_AH=m | 
| 415 | CONFIG_IP6_NF_MATCH_EUI64=m | 420 | CONFIG_IP6_NF_MATCH_EUI64=m | 
| 416 | CONFIG_IP6_NF_MATCH_POLICY=m | ||
| 417 | CONFIG_IP6_NF_FILTER=m | 421 | CONFIG_IP6_NF_FILTER=m | 
| 418 | CONFIG_IP6_NF_TARGET_LOG=m | 422 | CONFIG_IP6_NF_TARGET_LOG=m | 
| 419 | CONFIG_IP6_NF_TARGET_REJECT=m | 423 | CONFIG_IP6_NF_TARGET_REJECT=m | 
| @@ -435,6 +439,11 @@ CONFIG_IP_SCTP=m | |||
| 435 | # CONFIG_SCTP_HMAC_NONE is not set | 439 | # CONFIG_SCTP_HMAC_NONE is not set | 
| 436 | # CONFIG_SCTP_HMAC_SHA1 is not set | 440 | # CONFIG_SCTP_HMAC_SHA1 is not set | 
| 437 | CONFIG_SCTP_HMAC_MD5=y | 441 | CONFIG_SCTP_HMAC_MD5=y | 
| 442 | |||
| 443 | # | ||
| 444 | # TIPC Configuration (EXPERIMENTAL) | ||
| 445 | # | ||
| 446 | # CONFIG_TIPC is not set | ||
| 438 | # CONFIG_ATM is not set | 447 | # CONFIG_ATM is not set | 
| 439 | # CONFIG_BRIDGE is not set | 448 | # CONFIG_BRIDGE is not set | 
| 440 | # CONFIG_VLAN_8021Q is not set | 449 | # CONFIG_VLAN_8021Q is not set | 
| @@ -444,11 +453,6 @@ CONFIG_SCTP_HMAC_MD5=y | |||
| 444 | # CONFIG_ATALK is not set | 453 | # CONFIG_ATALK is not set | 
| 445 | # CONFIG_X25 is not set | 454 | # CONFIG_X25 is not set | 
| 446 | # CONFIG_LAPB is not set | 455 | # CONFIG_LAPB is not set | 
| 447 | |||
| 448 | # | ||
| 449 | # TIPC Configuration (EXPERIMENTAL) | ||
| 450 | # | ||
| 451 | # CONFIG_TIPC is not set | ||
| 452 | CONFIG_NET_DIVERT=y | 456 | CONFIG_NET_DIVERT=y | 
| 453 | # CONFIG_ECONET is not set | 457 | # CONFIG_ECONET is not set | 
| 454 | # CONFIG_WAN_ROUTER is not set | 458 | # CONFIG_WAN_ROUTER is not set | 
| @@ -508,6 +512,9 @@ CONFIG_IEEE80211=m | |||
| 508 | # CONFIG_IEEE80211_DEBUG is not set | 512 | # CONFIG_IEEE80211_DEBUG is not set | 
| 509 | CONFIG_IEEE80211_CRYPT_WEP=m | 513 | CONFIG_IEEE80211_CRYPT_WEP=m | 
| 510 | CONFIG_IEEE80211_CRYPT_CCMP=m | 514 | CONFIG_IEEE80211_CRYPT_CCMP=m | 
| 515 | CONFIG_IEEE80211_SOFTMAC=m | ||
| 516 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
| 517 | CONFIG_WIRELESS_EXT=y | ||
| 511 | 518 | ||
| 512 | # | 519 | # | 
| 513 | # Device Drivers | 520 | # Device Drivers | 
| @@ -546,7 +553,7 @@ CONFIG_CONNECTOR=m | |||
| 546 | # CONFIG_BLK_DEV_LOOP is not set | 553 | # CONFIG_BLK_DEV_LOOP is not set | 
| 547 | # CONFIG_BLK_DEV_NBD is not set | 554 | # CONFIG_BLK_DEV_NBD is not set | 
| 548 | # CONFIG_BLK_DEV_RAM is not set | 555 | # CONFIG_BLK_DEV_RAM is not set | 
| 549 | CONFIG_BLK_DEV_RAM_COUNT=16 | 556 | # CONFIG_BLK_DEV_INITRD is not set | 
| 550 | CONFIG_CDROM_PKTCDVD=m | 557 | CONFIG_CDROM_PKTCDVD=m | 
| 551 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 558 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 
| 552 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 559 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 
| @@ -812,10 +819,6 @@ CONFIG_MAX_RAW_DEVS=256 | |||
| 812 | # | 819 | # | 
| 813 | 820 | ||
| 814 | # | 821 | # | 
| 815 | # Multimedia Capabilities Port drivers | ||
| 816 | # | ||
| 817 | |||
| 818 | # | ||
| 819 | # Multimedia devices | 822 | # Multimedia devices | 
| 820 | # | 823 | # | 
| 821 | # CONFIG_VIDEO_DEV is not set | 824 | # CONFIG_VIDEO_DEV is not set | 
| @@ -857,6 +860,7 @@ CONFIG_LOGO_SGI_CLUT224=y | |||
| 857 | # | 860 | # | 
| 858 | # CONFIG_USB_ARCH_HAS_HCD is not set | 861 | # CONFIG_USB_ARCH_HAS_HCD is not set | 
| 859 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 862 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 
| 863 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
| 860 | 864 | ||
| 861 | # | 865 | # | 
| 862 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 866 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 
| @@ -873,12 +877,30 @@ CONFIG_LOGO_SGI_CLUT224=y | |||
| 873 | # CONFIG_MMC is not set | 877 | # CONFIG_MMC is not set | 
| 874 | 878 | ||
| 875 | # | 879 | # | 
| 880 | # LED devices | ||
| 881 | # | ||
| 882 | # CONFIG_NEW_LEDS is not set | ||
| 883 | |||
| 884 | # | ||
| 885 | # LED drivers | ||
| 886 | # | ||
| 887 | |||
| 888 | # | ||
| 889 | # LED Triggers | ||
| 890 | # | ||
| 891 | |||
| 892 | # | ||
| 876 | # InfiniBand support | 893 | # InfiniBand support | 
| 877 | # | 894 | # | 
| 878 | 895 | ||
| 879 | # | 896 | # | 
| 880 | # SN Devices | 897 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | 
| 898 | # | ||
| 899 | |||
| 900 | # | ||
| 901 | # Real Time Clock | ||
| 881 | # | 902 | # | 
| 903 | # CONFIG_RTC_CLASS is not set | ||
| 882 | 904 | ||
| 883 | # | 905 | # | 
| 884 | # File systems | 906 | # File systems | 
| @@ -944,7 +966,6 @@ CONFIG_SYSFS=y | |||
| 944 | # CONFIG_TMPFS is not set | 966 | # CONFIG_TMPFS is not set | 
| 945 | # CONFIG_HUGETLB_PAGE is not set | 967 | # CONFIG_HUGETLB_PAGE is not set | 
| 946 | CONFIG_RAMFS=y | 968 | CONFIG_RAMFS=y | 
| 947 | CONFIG_RELAYFS_FS=m | ||
| 948 | # CONFIG_CONFIGFS_FS is not set | 969 | # CONFIG_CONFIGFS_FS is not set | 
| 949 | 970 | ||
| 950 | # | 971 | # | 
| @@ -963,7 +984,6 @@ CONFIG_EFS_FS=m | |||
| 963 | # CONFIG_QNX4FS_FS is not set | 984 | # CONFIG_QNX4FS_FS is not set | 
| 964 | # CONFIG_SYSV_FS is not set | 985 | # CONFIG_SYSV_FS is not set | 
| 965 | CONFIG_UFS_FS=m | 986 | CONFIG_UFS_FS=m | 
| 966 | # CONFIG_UFS_FS_WRITE is not set | ||
| 967 | 987 | ||
| 968 | # | 988 | # | 
| 969 | # Network File Systems | 989 | # Network File Systems | 
| @@ -1078,6 +1098,7 @@ CONFIG_NLS_UTF8=m | |||
| 1078 | # CONFIG_MAGIC_SYSRQ is not set | 1098 | # CONFIG_MAGIC_SYSRQ is not set | 
| 1079 | # CONFIG_DEBUG_KERNEL is not set | 1099 | # CONFIG_DEBUG_KERNEL is not set | 
| 1080 | CONFIG_LOG_BUF_SHIFT=14 | 1100 | CONFIG_LOG_BUF_SHIFT=14 | 
| 1101 | # CONFIG_DEBUG_FS is not set | ||
| 1081 | CONFIG_CROSSCOMPILE=y | 1102 | CONFIG_CROSSCOMPILE=y | 
| 1082 | CONFIG_CMDLINE="" | 1103 | CONFIG_CMDLINE="" | 
| 1083 | 1104 | ||
diff --git a/arch/mips/configs/ip27_defconfig b/arch/mips/configs/ip27_defconfig index 8c40590737e1..f724b4b2ecf2 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.16-rc4 | 3 | # Linux kernel version: 2.6.17-rc2 | 
| 4 | # Tue Feb 21 13:44:31 2006 | 4 | # Mon Apr 24 14:51:04 2006 | 
| 5 | # | 5 | # | 
| 6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y | 
| 7 | 7 | ||
| @@ -70,6 +70,8 @@ CONFIG_NUMA=y | |||
| 70 | # CONFIG_REPLICATE_KTEXT is not set | 70 | # CONFIG_REPLICATE_KTEXT is not set | 
| 71 | # CONFIG_REPLICATE_EXHANDLERS is not set | 71 | # CONFIG_REPLICATE_EXHANDLERS is not set | 
| 72 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 72 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 
| 73 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
| 74 | CONFIG_GENERIC_HWEIGHT=y | ||
| 73 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 75 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 
| 74 | CONFIG_ARC=y | 76 | CONFIG_ARC=y | 
| 75 | CONFIG_DMA_IP27=y | 77 | CONFIG_DMA_IP27=y | 
| @@ -123,6 +125,7 @@ CONFIG_CPU_HAS_SYNC=y | |||
| 123 | CONFIG_GENERIC_HARDIRQS=y | 125 | CONFIG_GENERIC_HARDIRQS=y | 
| 124 | CONFIG_GENERIC_IRQ_PROBE=y | 126 | CONFIG_GENERIC_IRQ_PROBE=y | 
| 125 | CONFIG_CPU_SUPPORTS_HIGHMEM=y | 127 | CONFIG_CPU_SUPPORTS_HIGHMEM=y | 
| 128 | CONFIG_NODES_SHIFT=6 | ||
| 126 | CONFIG_SELECT_MEMORY_MODEL=y | 129 | CONFIG_SELECT_MEMORY_MODEL=y | 
| 127 | # CONFIG_FLATMEM_MANUAL is not set | 130 | # CONFIG_FLATMEM_MANUAL is not set | 
| 128 | CONFIG_DISCONTIGMEM_MANUAL=y | 131 | CONFIG_DISCONTIGMEM_MANUAL=y | 
| @@ -162,6 +165,7 @@ CONFIG_SYSCTL=y | |||
| 162 | CONFIG_IKCONFIG=y | 165 | CONFIG_IKCONFIG=y | 
| 163 | CONFIG_IKCONFIG_PROC=y | 166 | CONFIG_IKCONFIG_PROC=y | 
| 164 | CONFIG_CPUSETS=y | 167 | CONFIG_CPUSETS=y | 
| 168 | CONFIG_RELAY=y | ||
| 165 | CONFIG_INITRAMFS_SOURCE="" | 169 | CONFIG_INITRAMFS_SOURCE="" | 
| 166 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 170 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 
| 167 | CONFIG_EMBEDDED=y | 171 | CONFIG_EMBEDDED=y | 
| @@ -175,10 +179,6 @@ CONFIG_BASE_FULL=y | |||
| 175 | CONFIG_FUTEX=y | 179 | CONFIG_FUTEX=y | 
| 176 | CONFIG_EPOLL=y | 180 | CONFIG_EPOLL=y | 
| 177 | CONFIG_SHMEM=y | 181 | CONFIG_SHMEM=y | 
| 178 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
| 179 | CONFIG_CC_ALIGN_LABELS=0 | ||
| 180 | CONFIG_CC_ALIGN_LOOPS=0 | ||
| 181 | CONFIG_CC_ALIGN_JUMPS=0 | ||
| 182 | CONFIG_SLAB=y | 182 | CONFIG_SLAB=y | 
| 183 | # CONFIG_TINY_SHMEM is not set | 183 | # CONFIG_TINY_SHMEM is not set | 
| 184 | CONFIG_BASE_SMALL=0 | 184 | CONFIG_BASE_SMALL=0 | 
| @@ -190,7 +190,6 @@ CONFIG_BASE_SMALL=0 | |||
| 190 | CONFIG_MODULES=y | 190 | CONFIG_MODULES=y | 
| 191 | CONFIG_MODULE_UNLOAD=y | 191 | CONFIG_MODULE_UNLOAD=y | 
| 192 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 192 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 
| 193 | CONFIG_OBSOLETE_MODPARM=y | ||
| 194 | # CONFIG_MODVERSIONS is not set | 193 | # CONFIG_MODVERSIONS is not set | 
| 195 | CONFIG_MODULE_SRCVERSION_ALL=y | 194 | CONFIG_MODULE_SRCVERSION_ALL=y | 
| 196 | CONFIG_KMOD=y | 195 | CONFIG_KMOD=y | 
| @@ -199,6 +198,7 @@ CONFIG_STOP_MACHINE=y | |||
| 199 | # | 198 | # | 
| 200 | # Block layer | 199 | # Block layer | 
| 201 | # | 200 | # | 
| 201 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 202 | 202 | ||
| 203 | # | 203 | # | 
| 204 | # IO Schedulers | 204 | # IO Schedulers | 
| @@ -219,7 +219,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
| 219 | CONFIG_HW_HAS_PCI=y | 219 | CONFIG_HW_HAS_PCI=y | 
| 220 | CONFIG_PCI=y | 220 | CONFIG_PCI=y | 
| 221 | CONFIG_PCI_DOMAINS=y | 221 | CONFIG_PCI_DOMAINS=y | 
| 222 | CONFIG_PCI_LEGACY_PROC=y | ||
| 223 | CONFIG_MMU=y | 222 | CONFIG_MMU=y | 
| 224 | 223 | ||
| 225 | # | 224 | # | 
| @@ -237,6 +236,7 @@ CONFIG_MMU=y | |||
| 237 | # | 236 | # | 
| 238 | CONFIG_BINFMT_ELF=y | 237 | CONFIG_BINFMT_ELF=y | 
| 239 | # CONFIG_BINFMT_MISC is not set | 238 | # CONFIG_BINFMT_MISC is not set | 
| 239 | # CONFIG_BUILD_ELF64 is not set | ||
| 240 | CONFIG_MIPS32_COMPAT=y | 240 | CONFIG_MIPS32_COMPAT=y | 
| 241 | CONFIG_COMPAT=y | 241 | CONFIG_COMPAT=y | 
| 242 | CONFIG_MIPS32_O32=y | 242 | CONFIG_MIPS32_O32=y | 
| @@ -274,12 +274,15 @@ CONFIG_IP_PNP=y | |||
| 274 | # CONFIG_INET_AH is not set | 274 | # CONFIG_INET_AH is not set | 
| 275 | # CONFIG_INET_ESP is not set | 275 | # CONFIG_INET_ESP is not set | 
| 276 | # CONFIG_INET_IPCOMP is not set | 276 | # CONFIG_INET_IPCOMP is not set | 
| 277 | CONFIG_INET_TUNNEL=m | 277 | # CONFIG_INET_XFRM_TUNNEL is not set | 
| 278 | # CONFIG_INET_TUNNEL is not set | ||
| 278 | CONFIG_INET_DIAG=y | 279 | CONFIG_INET_DIAG=y | 
| 279 | CONFIG_INET_TCP_DIAG=y | 280 | CONFIG_INET_TCP_DIAG=y | 
| 280 | # CONFIG_TCP_CONG_ADVANCED is not set | 281 | # CONFIG_TCP_CONG_ADVANCED is not set | 
| 281 | CONFIG_TCP_CONG_BIC=y | 282 | CONFIG_TCP_CONG_BIC=y | 
| 282 | # CONFIG_IPV6 is not set | 283 | # CONFIG_IPV6 is not set | 
| 284 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
| 285 | # CONFIG_INET6_TUNNEL is not set | ||
| 283 | # CONFIG_NETFILTER is not set | 286 | # CONFIG_NETFILTER is not set | 
| 284 | 287 | ||
| 285 | # | 288 | # | 
| @@ -363,6 +366,9 @@ CONFIG_IEEE80211=m | |||
| 363 | # CONFIG_IEEE80211_DEBUG is not set | 366 | # CONFIG_IEEE80211_DEBUG is not set | 
| 364 | CONFIG_IEEE80211_CRYPT_WEP=m | 367 | CONFIG_IEEE80211_CRYPT_WEP=m | 
| 365 | CONFIG_IEEE80211_CRYPT_CCMP=m | 368 | CONFIG_IEEE80211_CRYPT_CCMP=m | 
| 369 | CONFIG_IEEE80211_SOFTMAC=m | ||
| 370 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
| 371 | CONFIG_WIRELESS_EXT=y | ||
| 366 | 372 | ||
| 367 | # | 373 | # | 
| 368 | # Device Drivers | 374 | # Device Drivers | 
| @@ -407,7 +413,7 @@ CONFIG_BLK_DEV_CRYPTOLOOP=m | |||
| 407 | # CONFIG_BLK_DEV_NBD is not set | 413 | # CONFIG_BLK_DEV_NBD is not set | 
| 408 | # CONFIG_BLK_DEV_SX8 is not set | 414 | # CONFIG_BLK_DEV_SX8 is not set | 
| 409 | # CONFIG_BLK_DEV_RAM is not set | 415 | # CONFIG_BLK_DEV_RAM is not set | 
| 410 | CONFIG_BLK_DEV_RAM_COUNT=16 | 416 | # CONFIG_BLK_DEV_INITRD is not set | 
| 411 | CONFIG_CDROM_PKTCDVD=m | 417 | CONFIG_CDROM_PKTCDVD=m | 
| 412 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 418 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 
| 413 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 419 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 
| @@ -473,7 +479,6 @@ CONFIG_SCSI_SAS_ATTRS=m | |||
| 473 | # CONFIG_SCSI_INIA100 is not set | 479 | # CONFIG_SCSI_INIA100 is not set | 
| 474 | # CONFIG_SCSI_SYM53C8XX_2 is not set | 480 | # CONFIG_SCSI_SYM53C8XX_2 is not set | 
| 475 | # CONFIG_SCSI_IPR is not set | 481 | # CONFIG_SCSI_IPR is not set | 
| 476 | # CONFIG_SCSI_QLOGIC_FC is not set | ||
| 477 | CONFIG_SCSI_QLOGIC_1280=y | 482 | CONFIG_SCSI_QLOGIC_1280=y | 
| 478 | # CONFIG_SCSI_QLA_FC is not set | 483 | # CONFIG_SCSI_QLA_FC is not set | 
| 479 | # CONFIG_SCSI_LPFC is not set | 484 | # CONFIG_SCSI_LPFC is not set | 
| @@ -491,6 +496,7 @@ CONFIG_MD_RAID0=y | |||
| 491 | CONFIG_MD_RAID1=y | 496 | CONFIG_MD_RAID1=y | 
| 492 | CONFIG_MD_RAID10=m | 497 | CONFIG_MD_RAID10=m | 
| 493 | CONFIG_MD_RAID5=y | 498 | CONFIG_MD_RAID5=y | 
| 499 | CONFIG_MD_RAID5_RESHAPE=y | ||
| 494 | CONFIG_MD_RAID6=m | 500 | CONFIG_MD_RAID6=m | 
| 495 | CONFIG_MD_MULTIPATH=m | 501 | CONFIG_MD_MULTIPATH=m | 
| 496 | CONFIG_MD_FAULTY=m | 502 | CONFIG_MD_FAULTY=m | 
| @@ -654,6 +660,7 @@ CONFIG_SERIO_RAW=m | |||
| 654 | # | 660 | # | 
| 655 | CONFIG_SERIAL_8250=y | 661 | CONFIG_SERIAL_8250=y | 
| 656 | CONFIG_SERIAL_8250_CONSOLE=y | 662 | CONFIG_SERIAL_8250_CONSOLE=y | 
| 663 | CONFIG_SERIAL_8250_PCI=y | ||
| 657 | CONFIG_SERIAL_8250_NR_UARTS=4 | 664 | CONFIG_SERIAL_8250_NR_UARTS=4 | 
| 658 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 665 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 
| 659 | CONFIG_SERIAL_8250_EXTENDED=y | 666 | CONFIG_SERIAL_8250_EXTENDED=y | 
| @@ -727,10 +734,6 @@ CONFIG_SGI_IP27_RTC=y | |||
| 727 | # | 734 | # | 
| 728 | 735 | ||
| 729 | # | 736 | # | 
| 730 | # Multimedia Capabilities Port drivers | ||
| 731 | # | ||
| 732 | |||
| 733 | # | ||
| 734 | # Multimedia devices | 737 | # Multimedia devices | 
| 735 | # | 738 | # | 
| 736 | # CONFIG_VIDEO_DEV is not set | 739 | # CONFIG_VIDEO_DEV is not set | 
| @@ -755,6 +758,7 @@ CONFIG_SGI_IP27_RTC=y | |||
| 755 | # | 758 | # | 
| 756 | CONFIG_USB_ARCH_HAS_HCD=y | 759 | CONFIG_USB_ARCH_HAS_HCD=y | 
| 757 | CONFIG_USB_ARCH_HAS_OHCI=y | 760 | CONFIG_USB_ARCH_HAS_OHCI=y | 
| 761 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
| 758 | # CONFIG_USB is not set | 762 | # CONFIG_USB is not set | 
| 759 | 763 | ||
| 760 | # | 764 | # | 
| @@ -772,17 +776,31 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
| 772 | # CONFIG_MMC is not set | 776 | # CONFIG_MMC is not set | 
| 773 | 777 | ||
| 774 | # | 778 | # | 
| 779 | # LED devices | ||
| 780 | # | ||
| 781 | # CONFIG_NEW_LEDS is not set | ||
| 782 | |||
| 783 | # | ||
| 784 | # LED drivers | ||
| 785 | # | ||
| 786 | |||
| 787 | # | ||
| 788 | # LED Triggers | ||
| 789 | # | ||
| 790 | |||
| 791 | # | ||
| 775 | # InfiniBand support | 792 | # InfiniBand support | 
| 776 | # | 793 | # | 
| 777 | # CONFIG_INFINIBAND is not set | 794 | # CONFIG_INFINIBAND is not set | 
| 778 | 795 | ||
| 779 | # | 796 | # | 
| 780 | # SN Devices | 797 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | 
| 781 | # | 798 | # | 
| 782 | 799 | ||
| 783 | # | 800 | # | 
| 784 | # EDAC - error detection and reporting (RAS) | 801 | # Real Time Clock | 
| 785 | # | 802 | # | 
| 803 | # CONFIG_RTC_CLASS is not set | ||
| 786 | 804 | ||
| 787 | # | 805 | # | 
| 788 | # File systems | 806 | # File systems | 
| @@ -840,7 +858,6 @@ CONFIG_SYSFS=y | |||
| 840 | # CONFIG_TMPFS is not set | 858 | # CONFIG_TMPFS is not set | 
| 841 | # CONFIG_HUGETLB_PAGE is not set | 859 | # CONFIG_HUGETLB_PAGE is not set | 
| 842 | CONFIG_RAMFS=y | 860 | CONFIG_RAMFS=y | 
| 843 | CONFIG_RELAYFS_FS=m | ||
| 844 | # CONFIG_CONFIGFS_FS is not set | 861 | # CONFIG_CONFIGFS_FS is not set | 
| 845 | 862 | ||
| 846 | # | 863 | # | 
| @@ -922,6 +939,7 @@ CONFIG_SGI_PARTITION=y | |||
| 922 | # CONFIG_MAGIC_SYSRQ is not set | 939 | # CONFIG_MAGIC_SYSRQ is not set | 
| 923 | # CONFIG_DEBUG_KERNEL is not set | 940 | # CONFIG_DEBUG_KERNEL is not set | 
| 924 | CONFIG_LOG_BUF_SHIFT=15 | 941 | CONFIG_LOG_BUF_SHIFT=15 | 
| 942 | # CONFIG_DEBUG_FS is not set | ||
| 925 | CONFIG_CROSSCOMPILE=y | 943 | CONFIG_CROSSCOMPILE=y | 
| 926 | CONFIG_CMDLINE="" | 944 | CONFIG_CMDLINE="" | 
| 927 | 945 | ||
diff --git a/arch/mips/configs/ip32_defconfig b/arch/mips/configs/ip32_defconfig index 7fdcaf51face..8f11d3565b2d 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.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 | 
| 4 | # Fri Jan 27 15:40:09 2006 | 4 | # Mon Apr 24 14:51:05 2006 | 
| 5 | # | 5 | # | 
| 6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y | 
| 7 | 7 | ||
| @@ -64,6 +64,8 @@ CONFIG_SGI_IP32=y | |||
| 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 
| 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 
| 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 
| 67 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
| 68 | CONFIG_GENERIC_HWEIGHT=y | ||
| 67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 69 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 
| 68 | CONFIG_ARC=y | 70 | CONFIG_ARC=y | 
| 69 | CONFIG_DMA_IP32=y | 71 | CONFIG_DMA_IP32=y | 
| @@ -142,7 +144,6 @@ CONFIG_PREEMPT_VOLUNTARY=y | |||
| 142 | # Code maturity level options | 144 | # Code maturity level options | 
| 143 | # | 145 | # | 
| 144 | CONFIG_EXPERIMENTAL=y | 146 | CONFIG_EXPERIMENTAL=y | 
| 145 | CONFIG_CLEAN_COMPILE=y | ||
| 146 | CONFIG_BROKEN_ON_SMP=y | 147 | CONFIG_BROKEN_ON_SMP=y | 
| 147 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 148 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 
| 148 | 149 | ||
| @@ -159,6 +160,7 @@ CONFIG_BSD_PROCESS_ACCT=y | |||
| 159 | CONFIG_SYSCTL=y | 160 | CONFIG_SYSCTL=y | 
| 160 | # CONFIG_AUDIT is not set | 161 | # CONFIG_AUDIT is not set | 
| 161 | # CONFIG_IKCONFIG is not set | 162 | # CONFIG_IKCONFIG is not set | 
| 163 | CONFIG_RELAY=y | ||
| 162 | CONFIG_INITRAMFS_SOURCE="" | 164 | CONFIG_INITRAMFS_SOURCE="" | 
| 163 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 165 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 
| 164 | CONFIG_EMBEDDED=y | 166 | CONFIG_EMBEDDED=y | 
| @@ -172,10 +174,6 @@ CONFIG_BASE_FULL=y | |||
| 172 | CONFIG_FUTEX=y | 174 | CONFIG_FUTEX=y | 
| 173 | CONFIG_EPOLL=y | 175 | CONFIG_EPOLL=y | 
| 174 | CONFIG_SHMEM=y | 176 | CONFIG_SHMEM=y | 
| 175 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
| 176 | CONFIG_CC_ALIGN_LABELS=0 | ||
| 177 | CONFIG_CC_ALIGN_LOOPS=0 | ||
| 178 | CONFIG_CC_ALIGN_JUMPS=0 | ||
| 179 | CONFIG_SLAB=y | 177 | CONFIG_SLAB=y | 
| 180 | # CONFIG_TINY_SHMEM is not set | 178 | # CONFIG_TINY_SHMEM is not set | 
| 181 | CONFIG_BASE_SMALL=0 | 179 | CONFIG_BASE_SMALL=0 | 
| @@ -189,6 +187,7 @@ CONFIG_BASE_SMALL=0 | |||
| 189 | # | 187 | # | 
| 190 | # Block layer | 188 | # Block layer | 
| 191 | # | 189 | # | 
| 190 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 192 | 191 | ||
| 193 | # | 192 | # | 
| 194 | # IO Schedulers | 193 | # IO Schedulers | 
| @@ -208,7 +207,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
| 208 | # | 207 | # | 
| 209 | CONFIG_HW_HAS_PCI=y | 208 | CONFIG_HW_HAS_PCI=y | 
| 210 | CONFIG_PCI=y | 209 | CONFIG_PCI=y | 
| 211 | CONFIG_PCI_LEGACY_PROC=y | ||
| 212 | CONFIG_MMU=y | 210 | CONFIG_MMU=y | 
| 213 | 211 | ||
| 214 | # | 212 | # | 
| @@ -226,6 +224,7 @@ CONFIG_MMU=y | |||
| 226 | # | 224 | # | 
| 227 | CONFIG_BINFMT_ELF=y | 225 | CONFIG_BINFMT_ELF=y | 
| 228 | CONFIG_BINFMT_MISC=y | 226 | CONFIG_BINFMT_MISC=y | 
| 227 | # CONFIG_BUILD_ELF64 is not set | ||
| 229 | CONFIG_MIPS32_COMPAT=y | 228 | CONFIG_MIPS32_COMPAT=y | 
| 230 | CONFIG_COMPAT=y | 229 | CONFIG_COMPAT=y | 
| 231 | CONFIG_MIPS32_O32=y | 230 | CONFIG_MIPS32_O32=y | 
| @@ -240,6 +239,7 @@ CONFIG_NET=y | |||
| 240 | # | 239 | # | 
| 241 | # Networking options | 240 | # Networking options | 
| 242 | # | 241 | # | 
| 242 | # CONFIG_NETDEBUG is not set | ||
| 243 | CONFIG_PACKET=y | 243 | CONFIG_PACKET=y | 
| 244 | CONFIG_PACKET_MMAP=y | 244 | CONFIG_PACKET_MMAP=y | 
| 245 | CONFIG_UNIX=y | 245 | CONFIG_UNIX=y | 
| @@ -261,12 +261,15 @@ CONFIG_IP_PNP_BOOTP=y | |||
| 261 | # CONFIG_INET_AH is not set | 261 | # CONFIG_INET_AH is not set | 
| 262 | # CONFIG_INET_ESP is not set | 262 | # CONFIG_INET_ESP is not set | 
| 263 | # CONFIG_INET_IPCOMP is not set | 263 | # CONFIG_INET_IPCOMP is not set | 
| 264 | CONFIG_INET_TUNNEL=y | 264 | # CONFIG_INET_XFRM_TUNNEL is not set | 
| 265 | # CONFIG_INET_TUNNEL is not set | ||
| 265 | CONFIG_INET_DIAG=y | 266 | CONFIG_INET_DIAG=y | 
| 266 | CONFIG_INET_TCP_DIAG=y | 267 | CONFIG_INET_TCP_DIAG=y | 
| 267 | # CONFIG_TCP_CONG_ADVANCED is not set | 268 | # CONFIG_TCP_CONG_ADVANCED is not set | 
| 268 | CONFIG_TCP_CONG_BIC=y | 269 | CONFIG_TCP_CONG_BIC=y | 
| 269 | # CONFIG_IPV6 is not set | 270 | # CONFIG_IPV6 is not set | 
| 271 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
| 272 | # CONFIG_INET6_TUNNEL is not set | ||
| 270 | # CONFIG_NETFILTER is not set | 273 | # CONFIG_NETFILTER is not set | 
| 271 | 274 | ||
| 272 | # | 275 | # | 
| @@ -278,6 +281,11 @@ CONFIG_TCP_CONG_BIC=y | |||
| 278 | # SCTP Configuration (EXPERIMENTAL) | 281 | # SCTP Configuration (EXPERIMENTAL) | 
| 279 | # | 282 | # | 
| 280 | # CONFIG_IP_SCTP is not set | 283 | # CONFIG_IP_SCTP is not set | 
| 284 | |||
| 285 | # | ||
| 286 | # TIPC Configuration (EXPERIMENTAL) | ||
| 287 | # | ||
| 288 | # CONFIG_TIPC is not set | ||
| 281 | # CONFIG_ATM is not set | 289 | # CONFIG_ATM is not set | 
| 282 | # CONFIG_BRIDGE is not set | 290 | # CONFIG_BRIDGE is not set | 
| 283 | # CONFIG_VLAN_8021Q is not set | 291 | # CONFIG_VLAN_8021Q is not set | 
| @@ -287,11 +295,6 @@ CONFIG_TCP_CONG_BIC=y | |||
| 287 | # CONFIG_ATALK is not set | 295 | # CONFIG_ATALK is not set | 
| 288 | # CONFIG_X25 is not set | 296 | # CONFIG_X25 is not set | 
| 289 | # CONFIG_LAPB is not set | 297 | # CONFIG_LAPB is not set | 
| 290 | |||
| 291 | # | ||
| 292 | # TIPC Configuration (EXPERIMENTAL) | ||
| 293 | # | ||
| 294 | # CONFIG_TIPC is not set | ||
| 295 | # CONFIG_NET_DIVERT is not set | 298 | # CONFIG_NET_DIVERT is not set | 
| 296 | # CONFIG_ECONET is not set | 299 | # CONFIG_ECONET is not set | 
| 297 | # CONFIG_WAN_ROUTER is not set | 300 | # CONFIG_WAN_ROUTER is not set | 
| @@ -312,6 +315,9 @@ CONFIG_IEEE80211=y | |||
| 312 | # CONFIG_IEEE80211_DEBUG is not set | 315 | # CONFIG_IEEE80211_DEBUG is not set | 
| 313 | CONFIG_IEEE80211_CRYPT_WEP=y | 316 | CONFIG_IEEE80211_CRYPT_WEP=y | 
| 314 | CONFIG_IEEE80211_CRYPT_CCMP=y | 317 | CONFIG_IEEE80211_CRYPT_CCMP=y | 
| 318 | CONFIG_IEEE80211_SOFTMAC=y | ||
| 319 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
| 320 | CONFIG_WIRELESS_EXT=y | ||
| 315 | 321 | ||
| 316 | # | 322 | # | 
| 317 | # Device Drivers | 323 | # Device Drivers | 
| @@ -357,7 +363,7 @@ CONFIG_BLK_DEV_LOOP=y | |||
| 357 | # CONFIG_BLK_DEV_NBD is not set | 363 | # CONFIG_BLK_DEV_NBD is not set | 
| 358 | # CONFIG_BLK_DEV_SX8 is not set | 364 | # CONFIG_BLK_DEV_SX8 is not set | 
| 359 | # CONFIG_BLK_DEV_RAM is not set | 365 | # CONFIG_BLK_DEV_RAM is not set | 
| 360 | CONFIG_BLK_DEV_RAM_COUNT=16 | 366 | # CONFIG_BLK_DEV_INITRD is not set | 
| 361 | CONFIG_CDROM_PKTCDVD=y | 367 | CONFIG_CDROM_PKTCDVD=y | 
| 362 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 368 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 
| 363 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 369 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 
| @@ -428,7 +434,6 @@ CONFIG_AIC7XXX_REG_PRETTY_PRINT=y | |||
| 428 | # CONFIG_SCSI_INIA100 is not set | 434 | # CONFIG_SCSI_INIA100 is not set | 
| 429 | # CONFIG_SCSI_SYM53C8XX_2 is not set | 435 | # CONFIG_SCSI_SYM53C8XX_2 is not set | 
| 430 | # CONFIG_SCSI_IPR is not set | 436 | # CONFIG_SCSI_IPR is not set | 
| 431 | # CONFIG_SCSI_QLOGIC_FC is not set | ||
| 432 | # CONFIG_SCSI_QLOGIC_1280 is not set | 437 | # CONFIG_SCSI_QLOGIC_1280 is not set | 
| 433 | # CONFIG_SCSI_QLA_FC is not set | 438 | # CONFIG_SCSI_QLA_FC is not set | 
| 434 | # CONFIG_SCSI_LPFC is not set | 439 | # CONFIG_SCSI_LPFC is not set | 
| @@ -615,6 +620,7 @@ CONFIG_HW_CONSOLE=y | |||
| 615 | # | 620 | # | 
| 616 | CONFIG_SERIAL_8250=y | 621 | CONFIG_SERIAL_8250=y | 
| 617 | CONFIG_SERIAL_8250_CONSOLE=y | 622 | CONFIG_SERIAL_8250_CONSOLE=y | 
| 623 | CONFIG_SERIAL_8250_PCI=y | ||
| 618 | CONFIG_SERIAL_8250_NR_UARTS=4 | 624 | CONFIG_SERIAL_8250_NR_UARTS=4 | 
| 619 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 625 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 
| 620 | # CONFIG_SERIAL_8250_EXTENDED is not set | 626 | # CONFIG_SERIAL_8250_EXTENDED is not set | 
| @@ -624,6 +630,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | |||
| 624 | # | 630 | # | 
| 625 | CONFIG_SERIAL_CORE=y | 631 | CONFIG_SERIAL_CORE=y | 
| 626 | CONFIG_SERIAL_CORE_CONSOLE=y | 632 | CONFIG_SERIAL_CORE_CONSOLE=y | 
| 633 | # CONFIG_SERIAL_JSM is not set | ||
| 627 | CONFIG_UNIX98_PTYS=y | 634 | CONFIG_UNIX98_PTYS=y | 
| 628 | CONFIG_LEGACY_PTYS=y | 635 | CONFIG_LEGACY_PTYS=y | 
| 629 | CONFIG_LEGACY_PTY_COUNT=256 | 636 | CONFIG_LEGACY_PTY_COUNT=256 | 
| @@ -682,10 +689,6 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
| 682 | # | 689 | # | 
| 683 | 690 | ||
| 684 | # | 691 | # | 
| 685 | # Multimedia Capabilities Port drivers | ||
| 686 | # | ||
| 687 | |||
| 688 | # | ||
| 689 | # Multimedia devices | 692 | # Multimedia devices | 
| 690 | # | 693 | # | 
| 691 | # CONFIG_VIDEO_DEV is not set | 694 | # CONFIG_VIDEO_DEV is not set | 
| @@ -716,6 +719,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
| 716 | # | 719 | # | 
| 717 | CONFIG_USB_ARCH_HAS_HCD=y | 720 | CONFIG_USB_ARCH_HAS_HCD=y | 
| 718 | CONFIG_USB_ARCH_HAS_OHCI=y | 721 | CONFIG_USB_ARCH_HAS_OHCI=y | 
| 722 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
| 719 | # CONFIG_USB is not set | 723 | # CONFIG_USB is not set | 
| 720 | 724 | ||
| 721 | # | 725 | # | 
| @@ -733,13 +737,31 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
| 733 | # CONFIG_MMC is not set | 737 | # CONFIG_MMC is not set | 
| 734 | 738 | ||
| 735 | # | 739 | # | 
| 740 | # LED devices | ||
| 741 | # | ||
| 742 | # CONFIG_NEW_LEDS is not set | ||
| 743 | |||
| 744 | # | ||
| 745 | # LED drivers | ||
| 746 | # | ||
| 747 | |||
| 748 | # | ||
| 749 | # LED Triggers | ||
| 750 | # | ||
| 751 | |||
| 752 | # | ||
| 736 | # InfiniBand support | 753 | # InfiniBand support | 
| 737 | # | 754 | # | 
| 738 | # CONFIG_INFINIBAND is not set | 755 | # CONFIG_INFINIBAND is not set | 
| 739 | 756 | ||
| 740 | # | 757 | # | 
| 741 | # SN Devices | 758 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | 
| 759 | # | ||
| 760 | |||
| 761 | # | ||
| 762 | # Real Time Clock | ||
| 742 | # | 763 | # | 
| 764 | # CONFIG_RTC_CLASS is not set | ||
| 743 | 765 | ||
| 744 | # | 766 | # | 
| 745 | # File systems | 767 | # File systems | 
| @@ -784,7 +806,6 @@ CONFIG_SYSFS=y | |||
| 784 | CONFIG_TMPFS=y | 806 | CONFIG_TMPFS=y | 
| 785 | # CONFIG_HUGETLB_PAGE is not set | 807 | # CONFIG_HUGETLB_PAGE is not set | 
| 786 | CONFIG_RAMFS=y | 808 | CONFIG_RAMFS=y | 
| 787 | CONFIG_RELAYFS_FS=y | ||
| 788 | # CONFIG_CONFIGFS_FS is not set | 809 | # CONFIG_CONFIGFS_FS is not set | 
| 789 | 810 | ||
| 790 | # | 811 | # | 
| @@ -861,6 +882,8 @@ CONFIG_SGI_PARTITION=y | |||
| 861 | # CONFIG_MAGIC_SYSRQ is not set | 882 | # CONFIG_MAGIC_SYSRQ is not set | 
| 862 | # CONFIG_DEBUG_KERNEL is not set | 883 | # CONFIG_DEBUG_KERNEL is not set | 
| 863 | CONFIG_LOG_BUF_SHIFT=14 | 884 | CONFIG_LOG_BUF_SHIFT=14 | 
| 885 | # CONFIG_DEBUG_FS is not set | ||
| 886 | # CONFIG_UNWIND_INFO is not set | ||
| 864 | CONFIG_CROSSCOMPILE=y | 887 | CONFIG_CROSSCOMPILE=y | 
| 865 | CONFIG_CMDLINE="" | 888 | CONFIG_CMDLINE="" | 
| 866 | 889 | ||
diff --git a/arch/mips/configs/it8172_defconfig b/arch/mips/configs/it8172_defconfig index c716996d9eca..757adf23853d 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.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 | 
| 4 | # Fri Jan 27 15:40:10 2006 | 4 | # Mon Apr 24 14:51:05 2006 | 
| 5 | # | 5 | # | 
| 6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y | 
| 7 | 7 | ||
| @@ -65,6 +65,8 @@ CONFIG_MIPS_ITE8172=y | |||
| 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 
| 66 | # CONFIG_IT8172_REVC is not set | 66 | # CONFIG_IT8172_REVC is not set | 
| 67 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 67 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 
| 68 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
| 69 | CONFIG_GENERIC_HWEIGHT=y | ||
| 68 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 70 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 
| 69 | CONFIG_DMA_NONCOHERENT=y | 71 | CONFIG_DMA_NONCOHERENT=y | 
| 70 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 72 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 
| @@ -115,7 +117,6 @@ CONFIG_PAGE_SIZE_4KB=y | |||
| 115 | # CONFIG_PAGE_SIZE_16KB is not set | 117 | # CONFIG_PAGE_SIZE_16KB is not set | 
| 116 | # CONFIG_PAGE_SIZE_64KB is not set | 118 | # CONFIG_PAGE_SIZE_64KB is not set | 
| 117 | # CONFIG_MIPS_MT is not set | 119 | # CONFIG_MIPS_MT is not set | 
| 118 | # CONFIG_CPU_ADVANCED is not set | ||
| 119 | CONFIG_CPU_HAS_LLSC=y | 120 | CONFIG_CPU_HAS_LLSC=y | 
| 120 | CONFIG_CPU_HAS_SYNC=y | 121 | CONFIG_CPU_HAS_SYNC=y | 
| 121 | CONFIG_GENERIC_HARDIRQS=y | 122 | CONFIG_GENERIC_HARDIRQS=y | 
| @@ -137,7 +138,6 @@ CONFIG_PREEMPT_NONE=y | |||
| 137 | # Code maturity level options | 138 | # Code maturity level options | 
| 138 | # | 139 | # | 
| 139 | CONFIG_EXPERIMENTAL=y | 140 | CONFIG_EXPERIMENTAL=y | 
| 140 | CONFIG_CLEAN_COMPILE=y | ||
| 141 | CONFIG_BROKEN_ON_SMP=y | 141 | CONFIG_BROKEN_ON_SMP=y | 
| 142 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 142 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 
| 143 | 143 | ||
| @@ -154,6 +154,7 @@ CONFIG_BSD_PROCESS_ACCT=y | |||
| 154 | CONFIG_SYSCTL=y | 154 | CONFIG_SYSCTL=y | 
| 155 | # CONFIG_AUDIT is not set | 155 | # CONFIG_AUDIT is not set | 
| 156 | # CONFIG_IKCONFIG is not set | 156 | # CONFIG_IKCONFIG is not set | 
| 157 | CONFIG_RELAY=y | ||
| 157 | CONFIG_INITRAMFS_SOURCE="" | 158 | CONFIG_INITRAMFS_SOURCE="" | 
| 158 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 159 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 
| 159 | CONFIG_EMBEDDED=y | 160 | CONFIG_EMBEDDED=y | 
| @@ -167,10 +168,6 @@ CONFIG_BASE_FULL=y | |||
| 167 | CONFIG_FUTEX=y | 168 | CONFIG_FUTEX=y | 
| 168 | CONFIG_EPOLL=y | 169 | CONFIG_EPOLL=y | 
| 169 | CONFIG_SHMEM=y | 170 | CONFIG_SHMEM=y | 
| 170 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
| 171 | CONFIG_CC_ALIGN_LABELS=0 | ||
| 172 | CONFIG_CC_ALIGN_LOOPS=0 | ||
| 173 | CONFIG_CC_ALIGN_JUMPS=0 | ||
| 174 | CONFIG_SLAB=y | 171 | CONFIG_SLAB=y | 
| 175 | # CONFIG_TINY_SHMEM is not set | 172 | # CONFIG_TINY_SHMEM is not set | 
| 176 | CONFIG_BASE_SMALL=0 | 173 | CONFIG_BASE_SMALL=0 | 
| @@ -183,7 +180,6 @@ CONFIG_OBSOLETE_INTERMODULE=y | |||
| 183 | CONFIG_MODULES=y | 180 | CONFIG_MODULES=y | 
| 184 | CONFIG_MODULE_UNLOAD=y | 181 | CONFIG_MODULE_UNLOAD=y | 
| 185 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 182 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 
| 186 | CONFIG_OBSOLETE_MODPARM=y | ||
| 187 | CONFIG_MODVERSIONS=y | 183 | CONFIG_MODVERSIONS=y | 
| 188 | CONFIG_MODULE_SRCVERSION_ALL=y | 184 | CONFIG_MODULE_SRCVERSION_ALL=y | 
| 189 | CONFIG_KMOD=y | 185 | CONFIG_KMOD=y | 
| @@ -192,6 +188,8 @@ CONFIG_KMOD=y | |||
| 192 | # Block layer | 188 | # Block layer | 
| 193 | # | 189 | # | 
| 194 | # CONFIG_LBD is not set | 190 | # CONFIG_LBD is not set | 
| 191 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 192 | # CONFIG_LSF is not set | ||
| 195 | 193 | ||
| 196 | # | 194 | # | 
| 197 | # IO Schedulers | 195 | # IO Schedulers | 
| @@ -237,6 +235,7 @@ CONFIG_NET=y | |||
| 237 | # | 235 | # | 
| 238 | # Networking options | 236 | # Networking options | 
| 239 | # | 237 | # | 
| 238 | # CONFIG_NETDEBUG is not set | ||
| 240 | CONFIG_PACKET=y | 239 | CONFIG_PACKET=y | 
| 241 | CONFIG_PACKET_MMAP=y | 240 | CONFIG_PACKET_MMAP=y | 
| 242 | CONFIG_UNIX=y | 241 | CONFIG_UNIX=y | 
| @@ -258,12 +257,15 @@ CONFIG_IP_PNP_BOOTP=y | |||
| 258 | # CONFIG_INET_AH is not set | 257 | # CONFIG_INET_AH is not set | 
| 259 | # CONFIG_INET_ESP is not set | 258 | # CONFIG_INET_ESP is not set | 
| 260 | # CONFIG_INET_IPCOMP is not set | 259 | # CONFIG_INET_IPCOMP is not set | 
| 261 | CONFIG_INET_TUNNEL=m | 260 | # CONFIG_INET_XFRM_TUNNEL is not set | 
| 261 | # CONFIG_INET_TUNNEL is not set | ||
| 262 | CONFIG_INET_DIAG=y | 262 | CONFIG_INET_DIAG=y | 
| 263 | CONFIG_INET_TCP_DIAG=y | 263 | CONFIG_INET_TCP_DIAG=y | 
| 264 | # CONFIG_TCP_CONG_ADVANCED is not set | 264 | # CONFIG_TCP_CONG_ADVANCED is not set | 
| 265 | CONFIG_TCP_CONG_BIC=y | 265 | CONFIG_TCP_CONG_BIC=y | 
| 266 | # CONFIG_IPV6 is not set | 266 | # CONFIG_IPV6 is not set | 
| 267 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
| 268 | # CONFIG_INET6_TUNNEL is not set | ||
| 267 | # CONFIG_NETFILTER is not set | 269 | # CONFIG_NETFILTER is not set | 
| 268 | 270 | ||
| 269 | # | 271 | # | 
| @@ -275,6 +277,11 @@ CONFIG_TCP_CONG_BIC=y | |||
| 275 | # SCTP Configuration (EXPERIMENTAL) | 277 | # SCTP Configuration (EXPERIMENTAL) | 
| 276 | # | 278 | # | 
| 277 | # CONFIG_IP_SCTP is not set | 279 | # CONFIG_IP_SCTP is not set | 
| 280 | |||
| 281 | # | ||
| 282 | # TIPC Configuration (EXPERIMENTAL) | ||
| 283 | # | ||
| 284 | # CONFIG_TIPC is not set | ||
| 278 | # CONFIG_ATM is not set | 285 | # CONFIG_ATM is not set | 
| 279 | # CONFIG_BRIDGE is not set | 286 | # CONFIG_BRIDGE is not set | 
| 280 | # CONFIG_VLAN_8021Q is not set | 287 | # CONFIG_VLAN_8021Q is not set | 
| @@ -284,11 +291,6 @@ CONFIG_TCP_CONG_BIC=y | |||
| 284 | # CONFIG_ATALK is not set | 291 | # CONFIG_ATALK is not set | 
| 285 | # CONFIG_X25 is not set | 292 | # CONFIG_X25 is not set | 
| 286 | # CONFIG_LAPB is not set | 293 | # CONFIG_LAPB is not set | 
| 287 | |||
| 288 | # | ||
| 289 | # TIPC Configuration (EXPERIMENTAL) | ||
| 290 | # | ||
| 291 | # CONFIG_TIPC is not set | ||
| 292 | # CONFIG_NET_DIVERT is not set | 294 | # CONFIG_NET_DIVERT is not set | 
| 293 | # CONFIG_ECONET is not set | 295 | # CONFIG_ECONET is not set | 
| 294 | # CONFIG_WAN_ROUTER is not set | 296 | # CONFIG_WAN_ROUTER is not set | 
| @@ -309,6 +311,9 @@ CONFIG_IEEE80211=m | |||
| 309 | # CONFIG_IEEE80211_DEBUG is not set | 311 | # CONFIG_IEEE80211_DEBUG is not set | 
| 310 | CONFIG_IEEE80211_CRYPT_WEP=m | 312 | CONFIG_IEEE80211_CRYPT_WEP=m | 
| 311 | CONFIG_IEEE80211_CRYPT_CCMP=m | 313 | CONFIG_IEEE80211_CRYPT_CCMP=m | 
| 314 | CONFIG_IEEE80211_SOFTMAC=m | ||
| 315 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
| 316 | CONFIG_WIRELESS_EXT=y | ||
| 312 | 317 | ||
| 313 | # | 318 | # | 
| 314 | # Device Drivers | 319 | # Device Drivers | 
| @@ -387,7 +392,6 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=2 | |||
| 387 | # CONFIG_MTD_SLRAM is not set | 392 | # CONFIG_MTD_SLRAM is not set | 
| 388 | # CONFIG_MTD_PHRAM is not set | 393 | # CONFIG_MTD_PHRAM is not set | 
| 389 | # CONFIG_MTD_MTDRAM is not set | 394 | # CONFIG_MTD_MTDRAM is not set | 
| 390 | # CONFIG_MTD_BLKMTD is not set | ||
| 391 | # CONFIG_MTD_BLOCK2MTD is not set | 395 | # CONFIG_MTD_BLOCK2MTD is not set | 
| 392 | 396 | ||
| 393 | # | 397 | # | 
| @@ -424,7 +428,7 @@ CONFIG_BLK_DEV_LOOP=y | |||
| 424 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | 428 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | 
| 425 | # CONFIG_BLK_DEV_NBD is not set | 429 | # CONFIG_BLK_DEV_NBD is not set | 
| 426 | # CONFIG_BLK_DEV_RAM is not set | 430 | # CONFIG_BLK_DEV_RAM is not set | 
| 427 | CONFIG_BLK_DEV_RAM_COUNT=16 | 431 | # CONFIG_BLK_DEV_INITRD is not set | 
| 428 | CONFIG_CDROM_PKTCDVD=m | 432 | CONFIG_CDROM_PKTCDVD=m | 
| 429 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 433 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 
| 430 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 434 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 
| @@ -666,10 +670,6 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
| 666 | # | 670 | # | 
| 667 | 671 | ||
| 668 | # | 672 | # | 
| 669 | # Multimedia Capabilities Port drivers | ||
| 670 | # | ||
| 671 | |||
| 672 | # | ||
| 673 | # Multimedia devices | 673 | # Multimedia devices | 
| 674 | # | 674 | # | 
| 675 | # CONFIG_VIDEO_DEV is not set | 675 | # CONFIG_VIDEO_DEV is not set | 
| @@ -704,7 +704,6 @@ CONFIG_SOUND=y | |||
| 704 | # Open Sound System | 704 | # Open Sound System | 
| 705 | # | 705 | # | 
| 706 | CONFIG_SOUND_PRIME=y | 706 | CONFIG_SOUND_PRIME=y | 
| 707 | # CONFIG_OBSOLETE_OSS_DRIVER is not set | ||
| 708 | CONFIG_SOUND_IT8172=y | 707 | CONFIG_SOUND_IT8172=y | 
| 709 | # CONFIG_SOUND_MSNDCLAS is not set | 708 | # CONFIG_SOUND_MSNDCLAS is not set | 
| 710 | # CONFIG_SOUND_MSNDPIN is not set | 709 | # CONFIG_SOUND_MSNDPIN is not set | 
| @@ -714,6 +713,7 @@ CONFIG_SOUND_IT8172=y | |||
| 714 | # | 713 | # | 
| 715 | # CONFIG_USB_ARCH_HAS_HCD is not set | 714 | # CONFIG_USB_ARCH_HAS_HCD is not set | 
| 716 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 715 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 
| 716 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
| 717 | 717 | ||
| 718 | # | 718 | # | 
| 719 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 719 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 
| @@ -730,12 +730,30 @@ CONFIG_SOUND_IT8172=y | |||
| 730 | # CONFIG_MMC is not set | 730 | # CONFIG_MMC is not set | 
| 731 | 731 | ||
| 732 | # | 732 | # | 
| 733 | # LED devices | ||
| 734 | # | ||
| 735 | # CONFIG_NEW_LEDS is not set | ||
| 736 | |||
| 737 | # | ||
| 738 | # LED drivers | ||
| 739 | # | ||
| 740 | |||
| 741 | # | ||
| 742 | # LED Triggers | ||
| 743 | # | ||
| 744 | |||
| 745 | # | ||
| 733 | # InfiniBand support | 746 | # InfiniBand support | 
| 734 | # | 747 | # | 
| 735 | 748 | ||
| 736 | # | 749 | # | 
| 737 | # SN Devices | 750 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | 
| 751 | # | ||
| 752 | |||
| 753 | # | ||
| 754 | # Real Time Clock | ||
| 738 | # | 755 | # | 
| 756 | # CONFIG_RTC_CLASS is not set | ||
| 739 | 757 | ||
| 740 | # | 758 | # | 
| 741 | # File systems | 759 | # File systems | 
| @@ -780,7 +798,6 @@ CONFIG_SYSFS=y | |||
| 780 | # CONFIG_TMPFS is not set | 798 | # CONFIG_TMPFS is not set | 
| 781 | # CONFIG_HUGETLB_PAGE is not set | 799 | # CONFIG_HUGETLB_PAGE is not set | 
| 782 | CONFIG_RAMFS=y | 800 | CONFIG_RAMFS=y | 
| 783 | CONFIG_RELAYFS_FS=m | ||
| 784 | # CONFIG_CONFIGFS_FS is not set | 801 | # CONFIG_CONFIGFS_FS is not set | 
| 785 | 802 | ||
| 786 | # | 803 | # | 
| @@ -846,6 +863,7 @@ CONFIG_MSDOS_PARTITION=y | |||
| 846 | # CONFIG_MAGIC_SYSRQ is not set | 863 | # CONFIG_MAGIC_SYSRQ is not set | 
| 847 | # CONFIG_DEBUG_KERNEL is not set | 864 | # CONFIG_DEBUG_KERNEL is not set | 
| 848 | CONFIG_LOG_BUF_SHIFT=14 | 865 | CONFIG_LOG_BUF_SHIFT=14 | 
| 866 | # CONFIG_DEBUG_FS is not set | ||
| 849 | CONFIG_CROSSCOMPILE=y | 867 | CONFIG_CROSSCOMPILE=y | 
| 850 | CONFIG_CMDLINE="" | 868 | CONFIG_CMDLINE="" | 
| 851 | 869 | ||
diff --git a/arch/mips/configs/ivr_defconfig b/arch/mips/configs/ivr_defconfig index a8376d125e11..021761a8a237 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.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 | 
| 4 | # Fri Jan 27 15:40:11 2006 | 4 | # Mon Apr 24 14:51:06 2006 | 
| 5 | # | 5 | # | 
| 6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y | 
| 7 | 7 | ||
| @@ -64,6 +64,8 @@ CONFIG_MIPS_IVR=y | |||
| 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 
| 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 
| 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 
| 67 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
| 68 | CONFIG_GENERIC_HWEIGHT=y | ||
| 67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 69 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 
| 68 | CONFIG_DMA_NONCOHERENT=y | 70 | CONFIG_DMA_NONCOHERENT=y | 
| 69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 71 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 
| @@ -112,7 +114,6 @@ CONFIG_PAGE_SIZE_4KB=y | |||
| 112 | # CONFIG_PAGE_SIZE_16KB is not set | 114 | # CONFIG_PAGE_SIZE_16KB is not set | 
| 113 | # CONFIG_PAGE_SIZE_64KB is not set | 115 | # CONFIG_PAGE_SIZE_64KB is not set | 
| 114 | # CONFIG_MIPS_MT is not set | 116 | # CONFIG_MIPS_MT is not set | 
| 115 | # CONFIG_CPU_ADVANCED is not set | ||
| 116 | CONFIG_CPU_HAS_LLSC=y | 117 | CONFIG_CPU_HAS_LLSC=y | 
| 117 | CONFIG_CPU_HAS_SYNC=y | 118 | CONFIG_CPU_HAS_SYNC=y | 
| 118 | CONFIG_GENERIC_HARDIRQS=y | 119 | CONFIG_GENERIC_HARDIRQS=y | 
| @@ -134,7 +135,6 @@ CONFIG_PREEMPT_NONE=y | |||
| 134 | # Code maturity level options | 135 | # Code maturity level options | 
| 135 | # | 136 | # | 
| 136 | CONFIG_EXPERIMENTAL=y | 137 | CONFIG_EXPERIMENTAL=y | 
| 137 | CONFIG_CLEAN_COMPILE=y | ||
| 138 | CONFIG_BROKEN_ON_SMP=y | 138 | CONFIG_BROKEN_ON_SMP=y | 
| 139 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 139 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 
| 140 | 140 | ||
| @@ -151,6 +151,7 @@ CONFIG_BSD_PROCESS_ACCT=y | |||
| 151 | CONFIG_SYSCTL=y | 151 | CONFIG_SYSCTL=y | 
| 152 | # CONFIG_AUDIT is not set | 152 | # CONFIG_AUDIT is not set | 
| 153 | # CONFIG_IKCONFIG is not set | 153 | # CONFIG_IKCONFIG is not set | 
| 154 | CONFIG_RELAY=y | ||
| 154 | CONFIG_INITRAMFS_SOURCE="" | 155 | CONFIG_INITRAMFS_SOURCE="" | 
| 155 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 156 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 
| 156 | CONFIG_EMBEDDED=y | 157 | CONFIG_EMBEDDED=y | 
| @@ -164,10 +165,6 @@ CONFIG_BASE_FULL=y | |||
| 164 | CONFIG_FUTEX=y | 165 | CONFIG_FUTEX=y | 
| 165 | CONFIG_EPOLL=y | 166 | CONFIG_EPOLL=y | 
| 166 | CONFIG_SHMEM=y | 167 | CONFIG_SHMEM=y | 
| 167 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
| 168 | CONFIG_CC_ALIGN_LABELS=0 | ||
| 169 | CONFIG_CC_ALIGN_LOOPS=0 | ||
| 170 | CONFIG_CC_ALIGN_JUMPS=0 | ||
| 171 | CONFIG_SLAB=y | 168 | CONFIG_SLAB=y | 
| 172 | # CONFIG_TINY_SHMEM is not set | 169 | # CONFIG_TINY_SHMEM is not set | 
| 173 | CONFIG_BASE_SMALL=0 | 170 | CONFIG_BASE_SMALL=0 | 
| @@ -179,7 +176,6 @@ CONFIG_BASE_SMALL=0 | |||
| 179 | CONFIG_MODULES=y | 176 | CONFIG_MODULES=y | 
| 180 | CONFIG_MODULE_UNLOAD=y | 177 | CONFIG_MODULE_UNLOAD=y | 
| 181 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 178 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 
| 182 | CONFIG_OBSOLETE_MODPARM=y | ||
| 183 | CONFIG_MODVERSIONS=y | 179 | CONFIG_MODVERSIONS=y | 
| 184 | CONFIG_MODULE_SRCVERSION_ALL=y | 180 | CONFIG_MODULE_SRCVERSION_ALL=y | 
| 185 | CONFIG_KMOD=y | 181 | CONFIG_KMOD=y | 
| @@ -188,6 +184,8 @@ CONFIG_KMOD=y | |||
| 188 | # Block layer | 184 | # Block layer | 
| 189 | # | 185 | # | 
| 190 | # CONFIG_LBD is not set | 186 | # CONFIG_LBD is not set | 
| 187 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 188 | # CONFIG_LSF is not set | ||
| 191 | 189 | ||
| 192 | # | 190 | # | 
| 193 | # IO Schedulers | 191 | # IO Schedulers | 
| @@ -207,7 +205,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
| 207 | # | 205 | # | 
| 208 | CONFIG_HW_HAS_PCI=y | 206 | CONFIG_HW_HAS_PCI=y | 
| 209 | CONFIG_PCI=y | 207 | CONFIG_PCI=y | 
| 210 | CONFIG_PCI_LEGACY_PROC=y | ||
| 211 | CONFIG_MMU=y | 208 | CONFIG_MMU=y | 
| 212 | 209 | ||
| 213 | # | 210 | # | 
| @@ -235,6 +232,7 @@ CONFIG_NET=y | |||
| 235 | # | 232 | # | 
| 236 | # Networking options | 233 | # Networking options | 
| 237 | # | 234 | # | 
| 235 | # CONFIG_NETDEBUG is not set | ||
| 238 | CONFIG_PACKET=y | 236 | CONFIG_PACKET=y | 
| 239 | CONFIG_PACKET_MMAP=y | 237 | CONFIG_PACKET_MMAP=y | 
| 240 | CONFIG_UNIX=y | 238 | CONFIG_UNIX=y | 
| @@ -256,12 +254,15 @@ CONFIG_IP_PNP_BOOTP=y | |||
| 256 | # CONFIG_INET_AH is not set | 254 | # CONFIG_INET_AH is not set | 
| 257 | # CONFIG_INET_ESP is not set | 255 | # CONFIG_INET_ESP is not set | 
| 258 | # CONFIG_INET_IPCOMP is not set | 256 | # CONFIG_INET_IPCOMP is not set | 
| 259 | CONFIG_INET_TUNNEL=m | 257 | # CONFIG_INET_XFRM_TUNNEL is not set | 
| 258 | # CONFIG_INET_TUNNEL is not set | ||
| 260 | CONFIG_INET_DIAG=y | 259 | CONFIG_INET_DIAG=y | 
| 261 | CONFIG_INET_TCP_DIAG=y | 260 | CONFIG_INET_TCP_DIAG=y | 
| 262 | # CONFIG_TCP_CONG_ADVANCED is not set | 261 | # CONFIG_TCP_CONG_ADVANCED is not set | 
| 263 | CONFIG_TCP_CONG_BIC=y | 262 | CONFIG_TCP_CONG_BIC=y | 
| 264 | # CONFIG_IPV6 is not set | 263 | # CONFIG_IPV6 is not set | 
| 264 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
| 265 | # CONFIG_INET6_TUNNEL is not set | ||
| 265 | # CONFIG_NETFILTER is not set | 266 | # CONFIG_NETFILTER is not set | 
| 266 | 267 | ||
| 267 | # | 268 | # | 
| @@ -273,6 +274,11 @@ CONFIG_TCP_CONG_BIC=y | |||
| 273 | # SCTP Configuration (EXPERIMENTAL) | 274 | # SCTP Configuration (EXPERIMENTAL) | 
| 274 | # | 275 | # | 
| 275 | # CONFIG_IP_SCTP is not set | 276 | # CONFIG_IP_SCTP is not set | 
| 277 | |||
| 278 | # | ||
| 279 | # TIPC Configuration (EXPERIMENTAL) | ||
| 280 | # | ||
| 281 | # CONFIG_TIPC is not set | ||
| 276 | # CONFIG_ATM is not set | 282 | # CONFIG_ATM is not set | 
| 277 | # CONFIG_BRIDGE is not set | 283 | # CONFIG_BRIDGE is not set | 
| 278 | # CONFIG_VLAN_8021Q is not set | 284 | # CONFIG_VLAN_8021Q is not set | 
| @@ -282,11 +288,6 @@ CONFIG_TCP_CONG_BIC=y | |||
| 282 | # CONFIG_ATALK is not set | 288 | # CONFIG_ATALK is not set | 
| 283 | # CONFIG_X25 is not set | 289 | # CONFIG_X25 is not set | 
| 284 | # CONFIG_LAPB is not set | 290 | # CONFIG_LAPB is not set | 
| 285 | |||
| 286 | # | ||
| 287 | # TIPC Configuration (EXPERIMENTAL) | ||
| 288 | # | ||
| 289 | # CONFIG_TIPC is not set | ||
| 290 | # CONFIG_NET_DIVERT is not set | 291 | # CONFIG_NET_DIVERT is not set | 
| 291 | # CONFIG_ECONET is not set | 292 | # CONFIG_ECONET is not set | 
| 292 | # CONFIG_WAN_ROUTER is not set | 293 | # CONFIG_WAN_ROUTER is not set | 
| @@ -307,6 +308,9 @@ CONFIG_IEEE80211=m | |||
| 307 | # CONFIG_IEEE80211_DEBUG is not set | 308 | # CONFIG_IEEE80211_DEBUG is not set | 
| 308 | CONFIG_IEEE80211_CRYPT_WEP=m | 309 | CONFIG_IEEE80211_CRYPT_WEP=m | 
| 309 | CONFIG_IEEE80211_CRYPT_CCMP=m | 310 | CONFIG_IEEE80211_CRYPT_CCMP=m | 
| 311 | CONFIG_IEEE80211_SOFTMAC=m | ||
| 312 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
| 313 | CONFIG_WIRELESS_EXT=y | ||
| 310 | 314 | ||
| 311 | # | 315 | # | 
| 312 | # Device Drivers | 316 | # Device Drivers | 
| @@ -350,7 +354,7 @@ CONFIG_CONNECTOR=m | |||
| 350 | # CONFIG_BLK_DEV_NBD is not set | 354 | # CONFIG_BLK_DEV_NBD is not set | 
| 351 | # CONFIG_BLK_DEV_SX8 is not set | 355 | # CONFIG_BLK_DEV_SX8 is not set | 
| 352 | # CONFIG_BLK_DEV_RAM is not set | 356 | # CONFIG_BLK_DEV_RAM is not set | 
| 353 | CONFIG_BLK_DEV_RAM_COUNT=16 | 357 | # CONFIG_BLK_DEV_INITRD is not set | 
| 354 | CONFIG_CDROM_PKTCDVD=m | 358 | CONFIG_CDROM_PKTCDVD=m | 
| 355 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 359 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 
| 356 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 360 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 
| @@ -565,6 +569,7 @@ CONFIG_IT8172_SCR1=y | |||
| 565 | # | 569 | # | 
| 566 | CONFIG_SERIAL_8250=y | 570 | CONFIG_SERIAL_8250=y | 
| 567 | CONFIG_SERIAL_8250_CONSOLE=y | 571 | CONFIG_SERIAL_8250_CONSOLE=y | 
| 572 | CONFIG_SERIAL_8250_PCI=y | ||
| 568 | CONFIG_SERIAL_8250_NR_UARTS=4 | 573 | CONFIG_SERIAL_8250_NR_UARTS=4 | 
| 569 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 574 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 
| 570 | # CONFIG_SERIAL_8250_EXTENDED is not set | 575 | # CONFIG_SERIAL_8250_EXTENDED is not set | 
| @@ -574,6 +579,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | |||
| 574 | # | 579 | # | 
| 575 | CONFIG_SERIAL_CORE=y | 580 | CONFIG_SERIAL_CORE=y | 
| 576 | CONFIG_SERIAL_CORE_CONSOLE=y | 581 | CONFIG_SERIAL_CORE_CONSOLE=y | 
| 582 | # CONFIG_SERIAL_JSM is not set | ||
| 577 | CONFIG_UNIX98_PTYS=y | 583 | CONFIG_UNIX98_PTYS=y | 
| 578 | CONFIG_LEGACY_PTYS=y | 584 | CONFIG_LEGACY_PTYS=y | 
| 579 | CONFIG_LEGACY_PTY_COUNT=256 | 585 | CONFIG_LEGACY_PTY_COUNT=256 | 
| @@ -631,10 +637,6 @@ CONFIG_RTC=y | |||
| 631 | # | 637 | # | 
| 632 | 638 | ||
| 633 | # | 639 | # | 
| 634 | # Multimedia Capabilities Port drivers | ||
| 635 | # | ||
| 636 | |||
| 637 | # | ||
| 638 | # Multimedia devices | 640 | # Multimedia devices | 
| 639 | # | 641 | # | 
| 640 | # CONFIG_VIDEO_DEV is not set | 642 | # CONFIG_VIDEO_DEV is not set | 
| @@ -665,6 +667,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
| 665 | # | 667 | # | 
| 666 | CONFIG_USB_ARCH_HAS_HCD=y | 668 | CONFIG_USB_ARCH_HAS_HCD=y | 
| 667 | CONFIG_USB_ARCH_HAS_OHCI=y | 669 | CONFIG_USB_ARCH_HAS_OHCI=y | 
| 670 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
| 668 | # CONFIG_USB is not set | 671 | # CONFIG_USB is not set | 
| 669 | 672 | ||
| 670 | # | 673 | # | 
| @@ -682,13 +685,31 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
| 682 | # CONFIG_MMC is not set | 685 | # CONFIG_MMC is not set | 
| 683 | 686 | ||
| 684 | # | 687 | # | 
| 688 | # LED devices | ||
| 689 | # | ||
| 690 | # CONFIG_NEW_LEDS is not set | ||
| 691 | |||
| 692 | # | ||
| 693 | # LED drivers | ||
| 694 | # | ||
| 695 | |||
| 696 | # | ||
| 697 | # LED Triggers | ||
| 698 | # | ||
| 699 | |||
| 700 | # | ||
| 685 | # InfiniBand support | 701 | # InfiniBand support | 
| 686 | # | 702 | # | 
| 687 | # CONFIG_INFINIBAND is not set | 703 | # CONFIG_INFINIBAND is not set | 
| 688 | 704 | ||
| 689 | # | 705 | # | 
| 690 | # SN Devices | 706 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | 
| 707 | # | ||
| 708 | |||
| 709 | # | ||
| 710 | # Real Time Clock | ||
| 691 | # | 711 | # | 
| 712 | # CONFIG_RTC_CLASS is not set | ||
| 692 | 713 | ||
| 693 | # | 714 | # | 
| 694 | # File systems | 715 | # File systems | 
| @@ -733,7 +754,6 @@ CONFIG_SYSFS=y | |||
| 733 | # CONFIG_TMPFS is not set | 754 | # CONFIG_TMPFS is not set | 
| 734 | # CONFIG_HUGETLB_PAGE is not set | 755 | # CONFIG_HUGETLB_PAGE is not set | 
| 735 | CONFIG_RAMFS=y | 756 | CONFIG_RAMFS=y | 
| 736 | CONFIG_RELAYFS_FS=m | ||
| 737 | # CONFIG_CONFIGFS_FS is not set | 757 | # CONFIG_CONFIGFS_FS is not set | 
| 738 | 758 | ||
| 739 | # | 759 | # | 
| @@ -797,6 +817,7 @@ CONFIG_MSDOS_PARTITION=y | |||
| 797 | # CONFIG_MAGIC_SYSRQ is not set | 817 | # CONFIG_MAGIC_SYSRQ is not set | 
| 798 | # CONFIG_DEBUG_KERNEL is not set | 818 | # CONFIG_DEBUG_KERNEL is not set | 
| 799 | CONFIG_LOG_BUF_SHIFT=14 | 819 | CONFIG_LOG_BUF_SHIFT=14 | 
| 820 | # CONFIG_DEBUG_FS is not set | ||
| 800 | CONFIG_CROSSCOMPILE=y | 821 | CONFIG_CROSSCOMPILE=y | 
| 801 | CONFIG_CMDLINE="" | 822 | CONFIG_CMDLINE="" | 
| 802 | 823 | ||
diff --git a/arch/mips/configs/jaguar-atx_defconfig b/arch/mips/configs/jaguar-atx_defconfig index 316015379dbc..08f6c30b0abc 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.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 | 
| 4 | # Fri Jan 27 15:40:12 2006 | 4 | # Mon Apr 24 14:51:06 2006 | 
| 5 | # | 5 | # | 
| 6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y | 
| 7 | 7 | ||
| @@ -65,6 +65,8 @@ CONFIG_MOMENCO_JAGUAR_ATX=y | |||
| 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 
| 66 | CONFIG_JAGUAR_DMALOW=y | 66 | CONFIG_JAGUAR_DMALOW=y | 
| 67 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 67 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 
| 68 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
| 69 | CONFIG_GENERIC_HWEIGHT=y | ||
| 68 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 70 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 
| 69 | CONFIG_DMA_NONCOHERENT=y | 71 | CONFIG_DMA_NONCOHERENT=y | 
| 70 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 72 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 
| @@ -122,7 +124,6 @@ CONFIG_RM7000_CPU_SCACHE=y | |||
| 122 | CONFIG_CPU_HAS_PREFETCH=y | 124 | CONFIG_CPU_HAS_PREFETCH=y | 
| 123 | # CONFIG_MIPS_MT is not set | 125 | # CONFIG_MIPS_MT is not set | 
| 124 | # CONFIG_64BIT_PHYS_ADDR is not set | 126 | # CONFIG_64BIT_PHYS_ADDR is not set | 
| 125 | # CONFIG_CPU_ADVANCED is not set | ||
| 126 | CONFIG_CPU_HAS_LLSC=y | 127 | CONFIG_CPU_HAS_LLSC=y | 
| 127 | CONFIG_CPU_HAS_SYNC=y | 128 | CONFIG_CPU_HAS_SYNC=y | 
| 128 | CONFIG_GENERIC_HARDIRQS=y | 129 | CONFIG_GENERIC_HARDIRQS=y | 
| @@ -144,7 +145,6 @@ CONFIG_PREEMPT_NONE=y | |||
| 144 | # Code maturity level options | 145 | # Code maturity level options | 
| 145 | # | 146 | # | 
| 146 | # CONFIG_EXPERIMENTAL is not set | 147 | # CONFIG_EXPERIMENTAL is not set | 
| 147 | CONFIG_CLEAN_COMPILE=y | ||
| 148 | CONFIG_BROKEN_ON_SMP=y | 148 | CONFIG_BROKEN_ON_SMP=y | 
| 149 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 149 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 
| 150 | 150 | ||
| @@ -160,6 +160,7 @@ CONFIG_SYSCTL=y | |||
| 160 | # CONFIG_AUDIT is not set | 160 | # CONFIG_AUDIT is not set | 
| 161 | CONFIG_IKCONFIG=y | 161 | CONFIG_IKCONFIG=y | 
| 162 | CONFIG_IKCONFIG_PROC=y | 162 | CONFIG_IKCONFIG_PROC=y | 
| 163 | CONFIG_RELAY=y | ||
| 163 | CONFIG_INITRAMFS_SOURCE="" | 164 | CONFIG_INITRAMFS_SOURCE="" | 
| 164 | CONFIG_EMBEDDED=y | 165 | CONFIG_EMBEDDED=y | 
| 165 | CONFIG_KALLSYMS=y | 166 | CONFIG_KALLSYMS=y | 
| @@ -172,10 +173,6 @@ CONFIG_BASE_FULL=y | |||
| 172 | CONFIG_FUTEX=y | 173 | CONFIG_FUTEX=y | 
| 173 | CONFIG_EPOLL=y | 174 | CONFIG_EPOLL=y | 
| 174 | CONFIG_SHMEM=y | 175 | CONFIG_SHMEM=y | 
| 175 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
| 176 | CONFIG_CC_ALIGN_LABELS=0 | ||
| 177 | CONFIG_CC_ALIGN_LOOPS=0 | ||
| 178 | CONFIG_CC_ALIGN_JUMPS=0 | ||
| 179 | CONFIG_SLAB=y | 176 | CONFIG_SLAB=y | 
| 180 | # CONFIG_TINY_SHMEM is not set | 177 | # CONFIG_TINY_SHMEM is not set | 
| 181 | CONFIG_BASE_SMALL=0 | 178 | CONFIG_BASE_SMALL=0 | 
| @@ -186,7 +183,6 @@ CONFIG_BASE_SMALL=0 | |||
| 186 | # | 183 | # | 
| 187 | CONFIG_MODULES=y | 184 | CONFIG_MODULES=y | 
| 188 | CONFIG_MODULE_UNLOAD=y | 185 | CONFIG_MODULE_UNLOAD=y | 
| 189 | CONFIG_OBSOLETE_MODPARM=y | ||
| 190 | # CONFIG_MODVERSIONS is not set | 186 | # CONFIG_MODVERSIONS is not set | 
| 191 | CONFIG_MODULE_SRCVERSION_ALL=y | 187 | CONFIG_MODULE_SRCVERSION_ALL=y | 
| 192 | CONFIG_KMOD=y | 188 | CONFIG_KMOD=y | 
| @@ -195,6 +191,8 @@ CONFIG_KMOD=y | |||
| 195 | # Block layer | 191 | # Block layer | 
| 196 | # | 192 | # | 
| 197 | # CONFIG_LBD is not set | 193 | # CONFIG_LBD is not set | 
| 194 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 195 | # CONFIG_LSF is not set | ||
| 198 | 196 | ||
| 199 | # | 197 | # | 
| 200 | # IO Schedulers | 198 | # IO Schedulers | 
| @@ -214,7 +212,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
| 214 | # | 212 | # | 
| 215 | CONFIG_HW_HAS_PCI=y | 213 | CONFIG_HW_HAS_PCI=y | 
| 216 | CONFIG_PCI=y | 214 | CONFIG_PCI=y | 
| 217 | CONFIG_PCI_LEGACY_PROC=y | ||
| 218 | CONFIG_MMU=y | 215 | CONFIG_MMU=y | 
| 219 | 216 | ||
| 220 | # | 217 | # | 
| @@ -241,6 +238,7 @@ CONFIG_NET=y | |||
| 241 | # | 238 | # | 
| 242 | # Networking options | 239 | # Networking options | 
| 243 | # | 240 | # | 
| 241 | # CONFIG_NETDEBUG is not set | ||
| 244 | # CONFIG_PACKET is not set | 242 | # CONFIG_PACKET is not set | 
| 245 | CONFIG_UNIX=y | 243 | CONFIG_UNIX=y | 
| 246 | CONFIG_XFRM=y | 244 | CONFIG_XFRM=y | 
| @@ -260,16 +258,19 @@ CONFIG_IP_PNP_BOOTP=y | |||
| 260 | # CONFIG_INET_AH is not set | 258 | # CONFIG_INET_AH is not set | 
| 261 | # CONFIG_INET_ESP is not set | 259 | # CONFIG_INET_ESP is not set | 
| 262 | # CONFIG_INET_IPCOMP is not set | 260 | # CONFIG_INET_IPCOMP is not set | 
| 263 | CONFIG_INET_TUNNEL=m | 261 | # CONFIG_INET_XFRM_TUNNEL is not set | 
| 262 | # CONFIG_INET_TUNNEL is not set | ||
| 264 | CONFIG_INET_DIAG=y | 263 | CONFIG_INET_DIAG=y | 
| 265 | CONFIG_INET_TCP_DIAG=y | 264 | CONFIG_INET_TCP_DIAG=y | 
| 266 | # CONFIG_TCP_CONG_ADVANCED is not set | 265 | # CONFIG_TCP_CONG_ADVANCED is not set | 
| 267 | CONFIG_TCP_CONG_BIC=y | 266 | CONFIG_TCP_CONG_BIC=y | 
| 268 | CONFIG_IPV6=m | 267 | CONFIG_IPV6=m | 
| 269 | CONFIG_IPV6_PRIVACY=y | 268 | CONFIG_IPV6_PRIVACY=y | 
| 269 | CONFIG_IPV6_ROUTER_PREF=y | ||
| 270 | CONFIG_INET6_AH=m | 270 | CONFIG_INET6_AH=m | 
| 271 | CONFIG_INET6_ESP=m | 271 | CONFIG_INET6_ESP=m | 
| 272 | CONFIG_INET6_IPCOMP=m | 272 | CONFIG_INET6_IPCOMP=m | 
| 273 | CONFIG_INET6_XFRM_TUNNEL=m | ||
| 273 | CONFIG_INET6_TUNNEL=m | 274 | CONFIG_INET6_TUNNEL=m | 
| 274 | CONFIG_IPV6_TUNNEL=m | 275 | CONFIG_IPV6_TUNNEL=m | 
| 275 | # CONFIG_NETFILTER is not set | 276 | # CONFIG_NETFILTER is not set | 
| @@ -338,10 +339,9 @@ CONFIG_CONNECTOR=m | |||
| 338 | # CONFIG_BLK_DEV_NBD is not set | 339 | # CONFIG_BLK_DEV_NBD is not set | 
| 339 | # CONFIG_BLK_DEV_SX8 is not set | 340 | # CONFIG_BLK_DEV_SX8 is not set | 
| 340 | # CONFIG_BLK_DEV_RAM is not set | 341 | # CONFIG_BLK_DEV_RAM is not set | 
| 341 | CONFIG_BLK_DEV_RAM_COUNT=16 | 342 | # CONFIG_BLK_DEV_INITRD is not set | 
| 342 | CONFIG_CDROM_PKTCDVD=m | 343 | CONFIG_CDROM_PKTCDVD=m | 
| 343 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 344 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 
| 344 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | ||
| 345 | CONFIG_ATA_OVER_ETH=m | 345 | CONFIG_ATA_OVER_ETH=m | 
| 346 | 346 | ||
| 347 | # | 347 | # | 
| @@ -423,6 +423,7 @@ CONFIG_NET_PCI=y | |||
| 423 | # CONFIG_PCNET32 is not set | 423 | # CONFIG_PCNET32 is not set | 
| 424 | # CONFIG_AMD8111_ETH is not set | 424 | # CONFIG_AMD8111_ETH is not set | 
| 425 | # CONFIG_ADAPTEC_STARFIRE is not set | 425 | # CONFIG_ADAPTEC_STARFIRE is not set | 
| 426 | # CONFIG_FORCEDETH is not set | ||
| 426 | # CONFIG_DGRS is not set | 427 | # CONFIG_DGRS is not set | 
| 427 | CONFIG_EEPRO100=y | 428 | CONFIG_EEPRO100=y | 
| 428 | # CONFIG_E100 is not set | 429 | # CONFIG_E100 is not set | 
| @@ -446,6 +447,7 @@ CONFIG_EEPRO100=y | |||
| 446 | # CONFIG_HAMACHI is not set | 447 | # CONFIG_HAMACHI is not set | 
| 447 | # CONFIG_R8169 is not set | 448 | # CONFIG_R8169 is not set | 
| 448 | # CONFIG_SIS190 is not set | 449 | # CONFIG_SIS190 is not set | 
| 450 | # CONFIG_SKGE is not set | ||
| 449 | # CONFIG_SK98LIN is not set | 451 | # CONFIG_SK98LIN is not set | 
| 450 | # CONFIG_VIA_VELOCITY is not set | 452 | # CONFIG_VIA_VELOCITY is not set | 
| 451 | # CONFIG_TIGON3 is not set | 453 | # CONFIG_TIGON3 is not set | 
| @@ -514,6 +516,7 @@ CONFIG_MV643XX_ETH_2=y | |||
| 514 | # | 516 | # | 
| 515 | CONFIG_SERIAL_8250=y | 517 | CONFIG_SERIAL_8250=y | 
| 516 | CONFIG_SERIAL_8250_CONSOLE=y | 518 | CONFIG_SERIAL_8250_CONSOLE=y | 
| 519 | CONFIG_SERIAL_8250_PCI=y | ||
| 517 | CONFIG_SERIAL_8250_NR_UARTS=4 | 520 | CONFIG_SERIAL_8250_NR_UARTS=4 | 
| 518 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 521 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 
| 519 | # CONFIG_SERIAL_8250_EXTENDED is not set | 522 | # CONFIG_SERIAL_8250_EXTENDED is not set | 
| @@ -523,6 +526,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | |||
| 523 | # | 526 | # | 
| 524 | CONFIG_SERIAL_CORE=y | 527 | CONFIG_SERIAL_CORE=y | 
| 525 | CONFIG_SERIAL_CORE_CONSOLE=y | 528 | CONFIG_SERIAL_CORE_CONSOLE=y | 
| 529 | # CONFIG_SERIAL_JSM is not set | ||
| 526 | CONFIG_UNIX98_PTYS=y | 530 | CONFIG_UNIX98_PTYS=y | 
| 527 | CONFIG_LEGACY_PTYS=y | 531 | CONFIG_LEGACY_PTYS=y | 
| 528 | CONFIG_LEGACY_PTY_COUNT=256 | 532 | CONFIG_LEGACY_PTY_COUNT=256 | 
| @@ -579,10 +583,6 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
| 579 | # | 583 | # | 
| 580 | 584 | ||
| 581 | # | 585 | # | 
| 582 | # Multimedia Capabilities Port drivers | ||
| 583 | # | ||
| 584 | |||
| 585 | # | ||
| 586 | # Multimedia devices | 586 | # Multimedia devices | 
| 587 | # | 587 | # | 
| 588 | # CONFIG_VIDEO_DEV is not set | 588 | # CONFIG_VIDEO_DEV is not set | 
| @@ -607,6 +607,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
| 607 | # | 607 | # | 
| 608 | CONFIG_USB_ARCH_HAS_HCD=y | 608 | CONFIG_USB_ARCH_HAS_HCD=y | 
| 609 | CONFIG_USB_ARCH_HAS_OHCI=y | 609 | CONFIG_USB_ARCH_HAS_OHCI=y | 
| 610 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
| 610 | # CONFIG_USB is not set | 611 | # CONFIG_USB is not set | 
| 611 | 612 | ||
| 612 | # | 613 | # | 
| @@ -624,12 +625,29 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
| 624 | # CONFIG_MMC is not set | 625 | # CONFIG_MMC is not set | 
| 625 | 626 | ||
| 626 | # | 627 | # | 
| 628 | # LED devices | ||
| 629 | # | ||
| 630 | # CONFIG_NEW_LEDS is not set | ||
| 631 | |||
| 632 | # | ||
| 633 | # LED drivers | ||
| 634 | # | ||
| 635 | |||
| 636 | # | ||
| 637 | # LED Triggers | ||
| 638 | # | ||
| 639 | |||
| 640 | # | ||
| 627 | # InfiniBand support | 641 | # InfiniBand support | 
| 628 | # | 642 | # | 
| 629 | # CONFIG_INFINIBAND is not set | 643 | # CONFIG_INFINIBAND is not set | 
| 630 | 644 | ||
| 631 | # | 645 | # | 
| 632 | # SN Devices | 646 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | 
| 647 | # | ||
| 648 | |||
| 649 | # | ||
| 650 | # Real Time Clock | ||
| 633 | # | 651 | # | 
| 634 | 652 | ||
| 635 | # | 653 | # | 
| @@ -672,7 +690,6 @@ CONFIG_SYSFS=y | |||
| 672 | # CONFIG_TMPFS is not set | 690 | # CONFIG_TMPFS is not set | 
| 673 | # CONFIG_HUGETLB_PAGE is not set | 691 | # CONFIG_HUGETLB_PAGE is not set | 
| 674 | CONFIG_RAMFS=y | 692 | CONFIG_RAMFS=y | 
| 675 | CONFIG_RELAYFS_FS=m | ||
| 676 | 693 | ||
| 677 | # | 694 | # | 
| 678 | # Miscellaneous filesystems | 695 | # Miscellaneous filesystems | 
| @@ -718,6 +735,7 @@ CONFIG_MSDOS_PARTITION=y | |||
| 718 | # CONFIG_MAGIC_SYSRQ is not set | 735 | # CONFIG_MAGIC_SYSRQ is not set | 
| 719 | # CONFIG_DEBUG_KERNEL is not set | 736 | # CONFIG_DEBUG_KERNEL is not set | 
| 720 | CONFIG_LOG_BUF_SHIFT=14 | 737 | CONFIG_LOG_BUF_SHIFT=14 | 
| 738 | # CONFIG_DEBUG_FS is not set | ||
| 721 | CONFIG_CROSSCOMPILE=y | 739 | CONFIG_CROSSCOMPILE=y | 
| 722 | CONFIG_CMDLINE="" | 740 | CONFIG_CMDLINE="" | 
| 723 | 741 | ||
diff --git a/arch/mips/configs/jmr3927_defconfig b/arch/mips/configs/jmr3927_defconfig index 53fbef1ac25d..38b1e026e10d 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.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 | 
| 4 | # Fri Jan 27 15:40:13 2006 | 4 | # Mon Apr 24 14:51:07 2006 | 
| 5 | # | 5 | # | 
| 6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y | 
| 7 | 7 | ||
| @@ -64,6 +64,8 @@ CONFIG_TOSHIBA_JMR3927=y | |||
| 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 
| 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 
| 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 
| 67 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
| 68 | CONFIG_GENERIC_HWEIGHT=y | ||
| 67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 69 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 
| 68 | CONFIG_DMA_NONCOHERENT=y | 70 | CONFIG_DMA_NONCOHERENT=y | 
| 69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 71 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 
| @@ -111,7 +113,6 @@ CONFIG_PAGE_SIZE_4KB=y | |||
| 111 | # CONFIG_PAGE_SIZE_16KB is not set | 113 | # CONFIG_PAGE_SIZE_16KB is not set | 
| 112 | # CONFIG_PAGE_SIZE_64KB is not set | 114 | # CONFIG_PAGE_SIZE_64KB is not set | 
| 113 | # CONFIG_MIPS_MT is not set | 115 | # CONFIG_MIPS_MT is not set | 
| 114 | # CONFIG_CPU_ADVANCED is not set | ||
| 115 | CONFIG_CPU_HAS_SYNC=y | 116 | CONFIG_CPU_HAS_SYNC=y | 
| 116 | CONFIG_GENERIC_HARDIRQS=y | 117 | CONFIG_GENERIC_HARDIRQS=y | 
| 117 | CONFIG_GENERIC_IRQ_PROBE=y | 118 | CONFIG_GENERIC_IRQ_PROBE=y | 
| @@ -133,7 +134,6 @@ CONFIG_RTC_DS1742=y | |||
| 133 | # Code maturity level options | 134 | # Code maturity level options | 
| 134 | # | 135 | # | 
| 135 | CONFIG_EXPERIMENTAL=y | 136 | CONFIG_EXPERIMENTAL=y | 
| 136 | CONFIG_CLEAN_COMPILE=y | ||
| 137 | CONFIG_BROKEN_ON_SMP=y | 137 | CONFIG_BROKEN_ON_SMP=y | 
| 138 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 138 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 
| 139 | 139 | ||
| @@ -149,6 +149,7 @@ CONFIG_SYSVIPC=y | |||
| 149 | CONFIG_SYSCTL=y | 149 | CONFIG_SYSCTL=y | 
| 150 | # CONFIG_AUDIT is not set | 150 | # CONFIG_AUDIT is not set | 
| 151 | # CONFIG_IKCONFIG is not set | 151 | # CONFIG_IKCONFIG is not set | 
| 152 | CONFIG_RELAY=y | ||
| 152 | CONFIG_INITRAMFS_SOURCE="" | 153 | CONFIG_INITRAMFS_SOURCE="" | 
| 153 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 154 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 
| 154 | CONFIG_EMBEDDED=y | 155 | CONFIG_EMBEDDED=y | 
| @@ -162,10 +163,6 @@ CONFIG_BASE_FULL=y | |||
| 162 | CONFIG_FUTEX=y | 163 | CONFIG_FUTEX=y | 
| 163 | CONFIG_EPOLL=y | 164 | CONFIG_EPOLL=y | 
| 164 | CONFIG_SHMEM=y | 165 | CONFIG_SHMEM=y | 
| 165 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
| 166 | CONFIG_CC_ALIGN_LABELS=0 | ||
| 167 | CONFIG_CC_ALIGN_LOOPS=0 | ||
| 168 | CONFIG_CC_ALIGN_JUMPS=0 | ||
| 169 | CONFIG_SLAB=y | 166 | CONFIG_SLAB=y | 
| 170 | # CONFIG_TINY_SHMEM is not set | 167 | # CONFIG_TINY_SHMEM is not set | 
| 171 | CONFIG_BASE_SMALL=0 | 168 | CONFIG_BASE_SMALL=0 | 
| @@ -180,6 +177,8 @@ CONFIG_BASE_SMALL=0 | |||
| 180 | # Block layer | 177 | # Block layer | 
| 181 | # | 178 | # | 
| 182 | # CONFIG_LBD is not set | 179 | # CONFIG_LBD is not set | 
| 180 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 181 | # CONFIG_LSF is not set | ||
| 183 | 182 | ||
| 184 | # | 183 | # | 
| 185 | # IO Schedulers | 184 | # IO Schedulers | 
| @@ -199,7 +198,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
| 199 | # | 198 | # | 
| 200 | CONFIG_HW_HAS_PCI=y | 199 | CONFIG_HW_HAS_PCI=y | 
| 201 | CONFIG_PCI=y | 200 | CONFIG_PCI=y | 
| 202 | CONFIG_PCI_LEGACY_PROC=y | ||
| 203 | CONFIG_MMU=y | 201 | CONFIG_MMU=y | 
| 204 | 202 | ||
| 205 | # | 203 | # | 
| @@ -227,6 +225,7 @@ CONFIG_NET=y | |||
| 227 | # | 225 | # | 
| 228 | # Networking options | 226 | # Networking options | 
| 229 | # | 227 | # | 
| 228 | # CONFIG_NETDEBUG is not set | ||
| 230 | CONFIG_PACKET=y | 229 | CONFIG_PACKET=y | 
| 231 | # CONFIG_PACKET_MMAP is not set | 230 | # CONFIG_PACKET_MMAP is not set | 
| 232 | CONFIG_UNIX=y | 231 | CONFIG_UNIX=y | 
| @@ -248,12 +247,15 @@ CONFIG_IP_PNP_BOOTP=y | |||
| 248 | # CONFIG_INET_AH is not set | 247 | # CONFIG_INET_AH is not set | 
| 249 | # CONFIG_INET_ESP is not set | 248 | # CONFIG_INET_ESP is not set | 
| 250 | # CONFIG_INET_IPCOMP is not set | 249 | # CONFIG_INET_IPCOMP is not set | 
| 251 | CONFIG_INET_TUNNEL=y | 250 | # CONFIG_INET_XFRM_TUNNEL is not set | 
| 251 | # CONFIG_INET_TUNNEL is not set | ||
| 252 | CONFIG_INET_DIAG=y | 252 | CONFIG_INET_DIAG=y | 
| 253 | CONFIG_INET_TCP_DIAG=y | 253 | CONFIG_INET_TCP_DIAG=y | 
| 254 | # CONFIG_TCP_CONG_ADVANCED is not set | 254 | # CONFIG_TCP_CONG_ADVANCED is not set | 
| 255 | CONFIG_TCP_CONG_BIC=y | 255 | CONFIG_TCP_CONG_BIC=y | 
| 256 | # CONFIG_IPV6 is not set | 256 | # CONFIG_IPV6 is not set | 
| 257 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
| 258 | # CONFIG_INET6_TUNNEL is not set | ||
| 257 | # CONFIG_NETFILTER is not set | 259 | # CONFIG_NETFILTER is not set | 
| 258 | 260 | ||
| 259 | # | 261 | # | 
| @@ -265,6 +267,11 @@ CONFIG_TCP_CONG_BIC=y | |||
| 265 | # SCTP Configuration (EXPERIMENTAL) | 267 | # SCTP Configuration (EXPERIMENTAL) | 
| 266 | # | 268 | # | 
| 267 | # CONFIG_IP_SCTP is not set | 269 | # CONFIG_IP_SCTP is not set | 
| 270 | |||
| 271 | # | ||
| 272 | # TIPC Configuration (EXPERIMENTAL) | ||
| 273 | # | ||
| 274 | # CONFIG_TIPC is not set | ||
| 268 | # CONFIG_ATM is not set | 275 | # CONFIG_ATM is not set | 
| 269 | # CONFIG_BRIDGE is not set | 276 | # CONFIG_BRIDGE is not set | 
| 270 | # CONFIG_VLAN_8021Q is not set | 277 | # CONFIG_VLAN_8021Q is not set | 
| @@ -274,11 +281,6 @@ CONFIG_TCP_CONG_BIC=y | |||
| 274 | # CONFIG_ATALK is not set | 281 | # CONFIG_ATALK is not set | 
| 275 | # CONFIG_X25 is not set | 282 | # CONFIG_X25 is not set | 
| 276 | # CONFIG_LAPB is not set | 283 | # CONFIG_LAPB is not set | 
| 277 | |||
| 278 | # | ||
| 279 | # TIPC Configuration (EXPERIMENTAL) | ||
| 280 | # | ||
| 281 | # CONFIG_TIPC is not set | ||
| 282 | # CONFIG_NET_DIVERT is not set | 284 | # CONFIG_NET_DIVERT is not set | 
| 283 | # CONFIG_ECONET is not set | 285 | # CONFIG_ECONET is not set | 
| 284 | # CONFIG_WAN_ROUTER is not set | 286 | # CONFIG_WAN_ROUTER is not set | 
| @@ -299,6 +301,9 @@ CONFIG_IEEE80211=y | |||
| 299 | # CONFIG_IEEE80211_DEBUG is not set | 301 | # CONFIG_IEEE80211_DEBUG is not set | 
| 300 | CONFIG_IEEE80211_CRYPT_WEP=y | 302 | CONFIG_IEEE80211_CRYPT_WEP=y | 
| 301 | CONFIG_IEEE80211_CRYPT_CCMP=y | 303 | CONFIG_IEEE80211_CRYPT_CCMP=y | 
| 304 | CONFIG_IEEE80211_SOFTMAC=y | ||
| 305 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
| 306 | CONFIG_WIRELESS_EXT=y | ||
| 302 | 307 | ||
| 303 | # | 308 | # | 
| 304 | # Device Drivers | 309 | # Device Drivers | 
| @@ -343,7 +348,7 @@ CONFIG_PROC_EVENTS=y | |||
| 343 | # CONFIG_BLK_DEV_NBD is not set | 348 | # CONFIG_BLK_DEV_NBD is not set | 
| 344 | # CONFIG_BLK_DEV_SX8 is not set | 349 | # CONFIG_BLK_DEV_SX8 is not set | 
| 345 | # CONFIG_BLK_DEV_RAM is not set | 350 | # CONFIG_BLK_DEV_RAM is not set | 
| 346 | CONFIG_BLK_DEV_RAM_COUNT=16 | 351 | # CONFIG_BLK_DEV_INITRD is not set | 
| 347 | CONFIG_CDROM_PKTCDVD=y | 352 | CONFIG_CDROM_PKTCDVD=y | 
| 348 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 353 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 
| 349 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 354 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 
| @@ -551,7 +556,12 @@ CONFIG_SERIAL_NONSTANDARD=y | |||
| 551 | # | 556 | # | 
| 552 | # Non-8250 serial port support | 557 | # Non-8250 serial port support | 
| 553 | # | 558 | # | 
| 559 | CONFIG_SERIAL_CORE=y | ||
| 560 | CONFIG_SERIAL_TXX9=y | ||
| 554 | CONFIG_HAS_TXX9_SERIAL=y | 561 | CONFIG_HAS_TXX9_SERIAL=y | 
| 562 | # CONFIG_SERIAL_TXX9_CONSOLE is not set | ||
| 563 | # CONFIG_SERIAL_TXX9_STDSERIAL is not set | ||
| 564 | # CONFIG_SERIAL_JSM is not set | ||
| 555 | # CONFIG_UNIX98_PTYS is not set | 565 | # CONFIG_UNIX98_PTYS is not set | 
| 556 | CONFIG_LEGACY_PTYS=y | 566 | CONFIG_LEGACY_PTYS=y | 
| 557 | CONFIG_LEGACY_PTY_COUNT=256 | 567 | CONFIG_LEGACY_PTY_COUNT=256 | 
| @@ -610,10 +620,6 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
| 610 | # | 620 | # | 
| 611 | 621 | ||
| 612 | # | 622 | # | 
| 613 | # Multimedia Capabilities Port drivers | ||
| 614 | # | ||
| 615 | |||
| 616 | # | ||
| 617 | # Multimedia devices | 623 | # Multimedia devices | 
| 618 | # | 624 | # | 
| 619 | # CONFIG_VIDEO_DEV is not set | 625 | # CONFIG_VIDEO_DEV is not set | 
| @@ -631,6 +637,7 @@ CONFIG_FB=y | |||
| 631 | # CONFIG_FB_CFB_COPYAREA is not set | 637 | # CONFIG_FB_CFB_COPYAREA is not set | 
| 632 | # CONFIG_FB_CFB_IMAGEBLIT is not set | 638 | # CONFIG_FB_CFB_IMAGEBLIT is not set | 
| 633 | # CONFIG_FB_MACMODES is not set | 639 | # CONFIG_FB_MACMODES is not set | 
| 640 | CONFIG_FB_FIRMWARE_EDID=y | ||
| 634 | # CONFIG_FB_MODE_HELPERS is not set | 641 | # CONFIG_FB_MODE_HELPERS is not set | 
| 635 | # CONFIG_FB_TILEBLITTING is not set | 642 | # CONFIG_FB_TILEBLITTING is not set | 
| 636 | # CONFIG_FB_CIRRUS is not set | 643 | # CONFIG_FB_CIRRUS is not set | 
| @@ -642,7 +649,6 @@ CONFIG_FB=y | |||
| 642 | # CONFIG_FB_NVIDIA is not set | 649 | # CONFIG_FB_NVIDIA is not set | 
| 643 | # CONFIG_FB_RIVA is not set | 650 | # CONFIG_FB_RIVA is not set | 
| 644 | # CONFIG_FB_MATROX is not set | 651 | # CONFIG_FB_MATROX is not set | 
| 645 | # CONFIG_FB_RADEON_OLD is not set | ||
| 646 | # CONFIG_FB_RADEON is not set | 652 | # CONFIG_FB_RADEON is not set | 
| 647 | # CONFIG_FB_ATY128 is not set | 653 | # CONFIG_FB_ATY128 is not set | 
| 648 | # CONFIG_FB_ATY is not set | 654 | # CONFIG_FB_ATY is not set | 
| @@ -679,6 +685,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
| 679 | # | 685 | # | 
| 680 | CONFIG_USB_ARCH_HAS_HCD=y | 686 | CONFIG_USB_ARCH_HAS_HCD=y | 
| 681 | CONFIG_USB_ARCH_HAS_OHCI=y | 687 | CONFIG_USB_ARCH_HAS_OHCI=y | 
| 688 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
| 682 | # CONFIG_USB is not set | 689 | # CONFIG_USB is not set | 
| 683 | 690 | ||
| 684 | # | 691 | # | 
| @@ -696,13 +703,31 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
| 696 | # CONFIG_MMC is not set | 703 | # CONFIG_MMC is not set | 
| 697 | 704 | ||
| 698 | # | 705 | # | 
| 706 | # LED devices | ||
| 707 | # | ||
| 708 | # CONFIG_NEW_LEDS is not set | ||
| 709 | |||
| 710 | # | ||
| 711 | # LED drivers | ||
| 712 | # | ||
| 713 | |||
| 714 | # | ||
| 715 | # LED Triggers | ||
| 716 | # | ||
| 717 | |||
| 718 | # | ||
| 699 | # InfiniBand support | 719 | # InfiniBand support | 
| 700 | # | 720 | # | 
| 701 | # CONFIG_INFINIBAND is not set | 721 | # CONFIG_INFINIBAND is not set | 
| 702 | 722 | ||
| 703 | # | 723 | # | 
| 704 | # SN Devices | 724 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | 
| 725 | # | ||
| 726 | |||
| 727 | # | ||
| 728 | # Real Time Clock | ||
| 705 | # | 729 | # | 
| 730 | # CONFIG_RTC_CLASS is not set | ||
| 706 | 731 | ||
| 707 | # | 732 | # | 
| 708 | # File systems | 733 | # File systems | 
| @@ -745,7 +770,6 @@ CONFIG_SYSFS=y | |||
| 745 | # CONFIG_TMPFS is not set | 770 | # CONFIG_TMPFS is not set | 
| 746 | # CONFIG_HUGETLB_PAGE is not set | 771 | # CONFIG_HUGETLB_PAGE is not set | 
| 747 | CONFIG_RAMFS=y | 772 | CONFIG_RAMFS=y | 
| 748 | CONFIG_RELAYFS_FS=y | ||
| 749 | # CONFIG_CONFIGFS_FS is not set | 773 | # CONFIG_CONFIGFS_FS is not set | 
| 750 | 774 | ||
| 751 | # | 775 | # | 
| @@ -809,6 +833,8 @@ CONFIG_MSDOS_PARTITION=y | |||
| 809 | # CONFIG_MAGIC_SYSRQ is not set | 833 | # CONFIG_MAGIC_SYSRQ is not set | 
| 810 | # CONFIG_DEBUG_KERNEL is not set | 834 | # CONFIG_DEBUG_KERNEL is not set | 
| 811 | CONFIG_LOG_BUF_SHIFT=14 | 835 | CONFIG_LOG_BUF_SHIFT=14 | 
| 836 | # CONFIG_DEBUG_FS is not set | ||
| 837 | # CONFIG_UNWIND_INFO is not set | ||
| 812 | CONFIG_CROSSCOMPILE=y | 838 | CONFIG_CROSSCOMPILE=y | 
| 813 | CONFIG_CMDLINE="" | 839 | CONFIG_CMDLINE="" | 
| 814 | 840 | ||
diff --git a/arch/mips/configs/lasat200_defconfig b/arch/mips/configs/lasat200_defconfig index ef0fa9fc79d6..4d25990a0a05 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.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 | 
| 4 | # Fri Jan 27 15:40:14 2006 | 4 | # Mon Apr 24 14:51:07 2006 | 
| 5 | # | 5 | # | 
| 6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y | 
| 7 | 7 | ||
| @@ -68,6 +68,8 @@ CONFIG_PICVUE_PROC=y | |||
| 68 | CONFIG_DS1603=y | 68 | CONFIG_DS1603=y | 
| 69 | CONFIG_LASAT_SYSCTL=y | 69 | CONFIG_LASAT_SYSCTL=y | 
| 70 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 70 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 
| 71 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
| 72 | CONFIG_GENERIC_HWEIGHT=y | ||
| 71 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 73 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 
| 72 | CONFIG_DMA_NONCOHERENT=y | 74 | CONFIG_DMA_NONCOHERENT=y | 
| 73 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 75 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 
| @@ -119,7 +121,6 @@ CONFIG_BOARD_SCACHE=y | |||
| 119 | CONFIG_R5000_CPU_SCACHE=y | 121 | CONFIG_R5000_CPU_SCACHE=y | 
| 120 | # CONFIG_MIPS_MT is not set | 122 | # CONFIG_MIPS_MT is not set | 
| 121 | # CONFIG_64BIT_PHYS_ADDR is not set | 123 | # CONFIG_64BIT_PHYS_ADDR is not set | 
| 122 | # CONFIG_CPU_ADVANCED is not set | ||
| 123 | CONFIG_CPU_HAS_LLSC=y | 124 | CONFIG_CPU_HAS_LLSC=y | 
| 124 | CONFIG_CPU_HAS_SYNC=y | 125 | CONFIG_CPU_HAS_SYNC=y | 
| 125 | CONFIG_GENERIC_HARDIRQS=y | 126 | CONFIG_GENERIC_HARDIRQS=y | 
| @@ -141,7 +142,6 @@ CONFIG_PREEMPT_NONE=y | |||
| 141 | # Code maturity level options | 142 | # Code maturity level options | 
| 142 | # | 143 | # | 
| 143 | CONFIG_EXPERIMENTAL=y | 144 | CONFIG_EXPERIMENTAL=y | 
| 144 | CONFIG_CLEAN_COMPILE=y | ||
| 145 | CONFIG_BROKEN_ON_SMP=y | 145 | CONFIG_BROKEN_ON_SMP=y | 
| 146 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 146 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 
| 147 | 147 | ||
| @@ -157,6 +157,7 @@ CONFIG_SYSVIPC=y | |||
| 157 | CONFIG_SYSCTL=y | 157 | CONFIG_SYSCTL=y | 
| 158 | # CONFIG_AUDIT is not set | 158 | # CONFIG_AUDIT is not set | 
| 159 | # CONFIG_IKCONFIG is not set | 159 | # CONFIG_IKCONFIG is not set | 
| 160 | CONFIG_RELAY=y | ||
| 160 | CONFIG_INITRAMFS_SOURCE="" | 161 | CONFIG_INITRAMFS_SOURCE="" | 
| 161 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 162 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 
| 162 | CONFIG_EMBEDDED=y | 163 | CONFIG_EMBEDDED=y | 
| @@ -170,10 +171,6 @@ CONFIG_BASE_FULL=y | |||
| 170 | CONFIG_FUTEX=y | 171 | CONFIG_FUTEX=y | 
| 171 | CONFIG_EPOLL=y | 172 | CONFIG_EPOLL=y | 
| 172 | CONFIG_SHMEM=y | 173 | CONFIG_SHMEM=y | 
| 173 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
| 174 | CONFIG_CC_ALIGN_LABELS=0 | ||
| 175 | CONFIG_CC_ALIGN_LOOPS=0 | ||
| 176 | CONFIG_CC_ALIGN_JUMPS=0 | ||
| 177 | CONFIG_SLAB=y | 174 | CONFIG_SLAB=y | 
| 178 | # CONFIG_TINY_SHMEM is not set | 175 | # CONFIG_TINY_SHMEM is not set | 
| 179 | CONFIG_BASE_SMALL=0 | 176 | CONFIG_BASE_SMALL=0 | 
| @@ -186,7 +183,6 @@ CONFIG_OBSOLETE_INTERMODULE=y | |||
| 186 | CONFIG_MODULES=y | 183 | CONFIG_MODULES=y | 
| 187 | CONFIG_MODULE_UNLOAD=y | 184 | CONFIG_MODULE_UNLOAD=y | 
| 188 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 185 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 
| 189 | CONFIG_OBSOLETE_MODPARM=y | ||
| 190 | CONFIG_MODVERSIONS=y | 186 | CONFIG_MODVERSIONS=y | 
| 191 | CONFIG_MODULE_SRCVERSION_ALL=y | 187 | CONFIG_MODULE_SRCVERSION_ALL=y | 
| 192 | CONFIG_KMOD=y | 188 | CONFIG_KMOD=y | 
| @@ -195,6 +191,8 @@ CONFIG_KMOD=y | |||
| 195 | # Block layer | 191 | # Block layer | 
| 196 | # | 192 | # | 
| 197 | # CONFIG_LBD is not set | 193 | # CONFIG_LBD is not set | 
| 194 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 195 | # CONFIG_LSF is not set | ||
| 198 | 196 | ||
| 199 | # | 197 | # | 
| 200 | # IO Schedulers | 198 | # IO Schedulers | 
| @@ -214,7 +212,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
| 214 | # | 212 | # | 
| 215 | CONFIG_HW_HAS_PCI=y | 213 | CONFIG_HW_HAS_PCI=y | 
| 216 | CONFIG_PCI=y | 214 | CONFIG_PCI=y | 
| 217 | CONFIG_PCI_LEGACY_PROC=y | ||
| 218 | CONFIG_MMU=y | 215 | CONFIG_MMU=y | 
| 219 | 216 | ||
| 220 | # | 217 | # | 
| @@ -242,6 +239,7 @@ CONFIG_NET=y | |||
| 242 | # | 239 | # | 
| 243 | # Networking options | 240 | # Networking options | 
| 244 | # | 241 | # | 
| 242 | # CONFIG_NETDEBUG is not set | ||
| 245 | # CONFIG_PACKET is not set | 243 | # CONFIG_PACKET is not set | 
| 246 | CONFIG_UNIX=y | 244 | CONFIG_UNIX=y | 
| 247 | CONFIG_XFRM=y | 245 | CONFIG_XFRM=y | 
| @@ -259,12 +257,15 @@ CONFIG_IP_FIB_HASH=y | |||
| 259 | # CONFIG_INET_AH is not set | 257 | # CONFIG_INET_AH is not set | 
| 260 | # CONFIG_INET_ESP is not set | 258 | # CONFIG_INET_ESP is not set | 
| 261 | # CONFIG_INET_IPCOMP is not set | 259 | # CONFIG_INET_IPCOMP is not set | 
| 262 | CONFIG_INET_TUNNEL=m | 260 | # CONFIG_INET_XFRM_TUNNEL is not set | 
| 261 | # CONFIG_INET_TUNNEL is not set | ||
| 263 | CONFIG_INET_DIAG=y | 262 | CONFIG_INET_DIAG=y | 
| 264 | CONFIG_INET_TCP_DIAG=y | 263 | CONFIG_INET_TCP_DIAG=y | 
| 265 | # CONFIG_TCP_CONG_ADVANCED is not set | 264 | # CONFIG_TCP_CONG_ADVANCED is not set | 
| 266 | CONFIG_TCP_CONG_BIC=y | 265 | CONFIG_TCP_CONG_BIC=y | 
| 267 | # CONFIG_IPV6 is not set | 266 | # CONFIG_IPV6 is not set | 
| 267 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
| 268 | # CONFIG_INET6_TUNNEL is not set | ||
| 268 | # CONFIG_NETFILTER is not set | 269 | # CONFIG_NETFILTER is not set | 
| 269 | 270 | ||
| 270 | # | 271 | # | 
| @@ -276,6 +277,11 @@ CONFIG_TCP_CONG_BIC=y | |||
| 276 | # SCTP Configuration (EXPERIMENTAL) | 277 | # SCTP Configuration (EXPERIMENTAL) | 
| 277 | # | 278 | # | 
| 278 | # CONFIG_IP_SCTP is not set | 279 | # CONFIG_IP_SCTP is not set | 
| 280 | |||
| 281 | # | ||
| 282 | # TIPC Configuration (EXPERIMENTAL) | ||
| 283 | # | ||
| 284 | # CONFIG_TIPC is not set | ||
| 279 | # CONFIG_ATM is not set | 285 | # CONFIG_ATM is not set | 
| 280 | # CONFIG_BRIDGE is not set | 286 | # CONFIG_BRIDGE is not set | 
| 281 | # CONFIG_VLAN_8021Q is not set | 287 | # CONFIG_VLAN_8021Q is not set | 
| @@ -285,11 +291,6 @@ CONFIG_TCP_CONG_BIC=y | |||
| 285 | # CONFIG_ATALK is not set | 291 | # CONFIG_ATALK is not set | 
| 286 | # CONFIG_X25 is not set | 292 | # CONFIG_X25 is not set | 
| 287 | # CONFIG_LAPB is not set | 293 | # CONFIG_LAPB is not set | 
| 288 | |||
| 289 | # | ||
| 290 | # TIPC Configuration (EXPERIMENTAL) | ||
| 291 | # | ||
| 292 | # CONFIG_TIPC is not set | ||
| 293 | # CONFIG_NET_DIVERT is not set | 294 | # CONFIG_NET_DIVERT is not set | 
| 294 | # CONFIG_ECONET is not set | 295 | # CONFIG_ECONET is not set | 
| 295 | # CONFIG_WAN_ROUTER is not set | 296 | # CONFIG_WAN_ROUTER is not set | 
| @@ -310,6 +311,9 @@ CONFIG_IEEE80211=m | |||
| 310 | # CONFIG_IEEE80211_DEBUG is not set | 311 | # CONFIG_IEEE80211_DEBUG is not set | 
| 311 | CONFIG_IEEE80211_CRYPT_WEP=m | 312 | CONFIG_IEEE80211_CRYPT_WEP=m | 
| 312 | CONFIG_IEEE80211_CRYPT_CCMP=m | 313 | CONFIG_IEEE80211_CRYPT_CCMP=m | 
| 314 | CONFIG_IEEE80211_SOFTMAC=m | ||
| 315 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
| 316 | CONFIG_WIRELESS_EXT=y | ||
| 313 | 317 | ||
| 314 | # | 318 | # | 
| 315 | # Device Drivers | 319 | # Device Drivers | 
| @@ -366,7 +370,6 @@ CONFIG_MTD_CFI_I2=y | |||
| 366 | # CONFIG_MTD_CFI_I8 is not set | 370 | # CONFIG_MTD_CFI_I8 is not set | 
| 367 | # CONFIG_MTD_CFI_INTELEXT is not set | 371 | # CONFIG_MTD_CFI_INTELEXT is not set | 
| 368 | CONFIG_MTD_CFI_AMDSTD=y | 372 | CONFIG_MTD_CFI_AMDSTD=y | 
| 369 | CONFIG_MTD_CFI_AMDSTD_RETRY=0 | ||
| 370 | # CONFIG_MTD_CFI_STAA is not set | 373 | # CONFIG_MTD_CFI_STAA is not set | 
| 371 | CONFIG_MTD_CFI_UTIL=y | 374 | CONFIG_MTD_CFI_UTIL=y | 
| 372 | # CONFIG_MTD_RAM is not set | 375 | # CONFIG_MTD_RAM is not set | 
| @@ -389,7 +392,6 @@ CONFIG_MTD_LASAT=y | |||
| 389 | # CONFIG_MTD_SLRAM is not set | 392 | # CONFIG_MTD_SLRAM is not set | 
| 390 | # CONFIG_MTD_PHRAM is not set | 393 | # CONFIG_MTD_PHRAM is not set | 
| 391 | # CONFIG_MTD_MTDRAM is not set | 394 | # CONFIG_MTD_MTDRAM is not set | 
| 392 | # CONFIG_MTD_BLKMTD is not set | ||
| 393 | # CONFIG_MTD_BLOCK2MTD is not set | 395 | # CONFIG_MTD_BLOCK2MTD is not set | 
| 394 | 396 | ||
| 395 | # | 397 | # | 
| @@ -430,7 +432,7 @@ CONFIG_MTD_LASAT=y | |||
| 430 | # CONFIG_BLK_DEV_NBD is not set | 432 | # CONFIG_BLK_DEV_NBD is not set | 
| 431 | # CONFIG_BLK_DEV_SX8 is not set | 433 | # CONFIG_BLK_DEV_SX8 is not set | 
| 432 | # CONFIG_BLK_DEV_RAM is not set | 434 | # CONFIG_BLK_DEV_RAM is not set | 
| 433 | CONFIG_BLK_DEV_RAM_COUNT=16 | 435 | # CONFIG_BLK_DEV_INITRD is not set | 
| 434 | CONFIG_CDROM_PKTCDVD=m | 436 | CONFIG_CDROM_PKTCDVD=m | 
| 435 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 437 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 
| 436 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 438 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 
| @@ -672,6 +674,7 @@ CONFIG_HW_CONSOLE=y | |||
| 672 | # | 674 | # | 
| 673 | CONFIG_SERIAL_8250=y | 675 | CONFIG_SERIAL_8250=y | 
| 674 | CONFIG_SERIAL_8250_CONSOLE=y | 676 | CONFIG_SERIAL_8250_CONSOLE=y | 
| 677 | CONFIG_SERIAL_8250_PCI=y | ||
| 675 | CONFIG_SERIAL_8250_NR_UARTS=4 | 678 | CONFIG_SERIAL_8250_NR_UARTS=4 | 
| 676 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 679 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 
| 677 | # CONFIG_SERIAL_8250_EXTENDED is not set | 680 | # CONFIG_SERIAL_8250_EXTENDED is not set | 
| @@ -681,6 +684,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | |||
| 681 | # | 684 | # | 
| 682 | CONFIG_SERIAL_CORE=y | 685 | CONFIG_SERIAL_CORE=y | 
| 683 | CONFIG_SERIAL_CORE_CONSOLE=y | 686 | CONFIG_SERIAL_CORE_CONSOLE=y | 
| 687 | # CONFIG_SERIAL_JSM is not set | ||
| 684 | CONFIG_UNIX98_PTYS=y | 688 | CONFIG_UNIX98_PTYS=y | 
| 685 | CONFIG_LEGACY_PTYS=y | 689 | CONFIG_LEGACY_PTYS=y | 
| 686 | CONFIG_LEGACY_PTY_COUNT=256 | 690 | CONFIG_LEGACY_PTY_COUNT=256 | 
| @@ -739,10 +743,6 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
| 739 | # | 743 | # | 
| 740 | 744 | ||
| 741 | # | 745 | # | 
| 742 | # Multimedia Capabilities Port drivers | ||
| 743 | # | ||
| 744 | |||
| 745 | # | ||
| 746 | # Multimedia devices | 746 | # Multimedia devices | 
| 747 | # | 747 | # | 
| 748 | # CONFIG_VIDEO_DEV is not set | 748 | # CONFIG_VIDEO_DEV is not set | 
| @@ -773,6 +773,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
| 773 | # | 773 | # | 
| 774 | CONFIG_USB_ARCH_HAS_HCD=y | 774 | CONFIG_USB_ARCH_HAS_HCD=y | 
| 775 | CONFIG_USB_ARCH_HAS_OHCI=y | 775 | CONFIG_USB_ARCH_HAS_OHCI=y | 
| 776 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
| 776 | # CONFIG_USB is not set | 777 | # CONFIG_USB is not set | 
| 777 | 778 | ||
| 778 | # | 779 | # | 
| @@ -790,13 +791,31 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
| 790 | # CONFIG_MMC is not set | 791 | # CONFIG_MMC is not set | 
| 791 | 792 | ||
| 792 | # | 793 | # | 
| 794 | # LED devices | ||
| 795 | # | ||
| 796 | # CONFIG_NEW_LEDS is not set | ||
| 797 | |||
| 798 | # | ||
| 799 | # LED drivers | ||
| 800 | # | ||
| 801 | |||
| 802 | # | ||
| 803 | # LED Triggers | ||
| 804 | # | ||
| 805 | |||
| 806 | # | ||
| 793 | # InfiniBand support | 807 | # InfiniBand support | 
| 794 | # | 808 | # | 
| 795 | # CONFIG_INFINIBAND is not set | 809 | # CONFIG_INFINIBAND is not set | 
| 796 | 810 | ||
| 797 | # | 811 | # | 
| 798 | # SN Devices | 812 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | 
| 813 | # | ||
| 814 | |||
| 815 | # | ||
| 816 | # Real Time Clock | ||
| 799 | # | 817 | # | 
| 818 | # CONFIG_RTC_CLASS is not set | ||
| 800 | 819 | ||
| 801 | # | 820 | # | 
| 802 | # File systems | 821 | # File systems | 
| @@ -847,7 +866,6 @@ CONFIG_SYSFS=y | |||
| 847 | # CONFIG_TMPFS is not set | 866 | # CONFIG_TMPFS is not set | 
| 848 | # CONFIG_HUGETLB_PAGE is not set | 867 | # CONFIG_HUGETLB_PAGE is not set | 
| 849 | CONFIG_RAMFS=y | 868 | CONFIG_RAMFS=y | 
| 850 | CONFIG_RELAYFS_FS=m | ||
| 851 | # CONFIG_CONFIGFS_FS is not set | 869 | # CONFIG_CONFIGFS_FS is not set | 
| 852 | 870 | ||
| 853 | # | 871 | # | 
| @@ -914,6 +932,7 @@ CONFIG_MSDOS_PARTITION=y | |||
| 914 | # CONFIG_MAGIC_SYSRQ is not set | 932 | # CONFIG_MAGIC_SYSRQ is not set | 
| 915 | # CONFIG_DEBUG_KERNEL is not set | 933 | # CONFIG_DEBUG_KERNEL is not set | 
| 916 | CONFIG_LOG_BUF_SHIFT=14 | 934 | CONFIG_LOG_BUF_SHIFT=14 | 
| 935 | # CONFIG_DEBUG_FS is not set | ||
| 917 | CONFIG_CROSSCOMPILE=y | 936 | CONFIG_CROSSCOMPILE=y | 
| 918 | CONFIG_CMDLINE="" | 937 | CONFIG_CMDLINE="" | 
| 919 | 938 | ||
diff --git a/arch/mips/configs/malta_defconfig b/arch/mips/configs/malta_defconfig index 367d279efdd9..977f52be51dc 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.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 | 
| 4 | # Fri Jan 27 15:40:15 2006 | 4 | # Mon Apr 24 14:51:08 2006 | 
| 5 | # | 5 | # | 
| 6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y | 
| 7 | 7 | ||
| @@ -64,6 +64,8 @@ CONFIG_MIPS_MALTA=y | |||
| 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 
| 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 
| 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 
| 67 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
| 68 | CONFIG_GENERIC_HWEIGHT=y | ||
| 67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 69 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 
| 68 | CONFIG_ARCH_MAY_HAVE_PC_FDC=y | 70 | CONFIG_ARCH_MAY_HAVE_PC_FDC=y | 
| 69 | CONFIG_DMA_NONCOHERENT=y | 71 | CONFIG_DMA_NONCOHERENT=y | 
| @@ -128,16 +130,21 @@ CONFIG_PAGE_SIZE_4KB=y | |||
| 128 | # CONFIG_PAGE_SIZE_64KB is not set | 130 | # CONFIG_PAGE_SIZE_64KB is not set | 
| 129 | CONFIG_CPU_HAS_PREFETCH=y | 131 | CONFIG_CPU_HAS_PREFETCH=y | 
| 130 | CONFIG_MIPS_MT=y | 132 | CONFIG_MIPS_MT=y | 
| 133 | # CONFIG_MIPS_MT_SMTC is not set | ||
| 131 | # CONFIG_MIPS_MT_SMP is not set | 134 | # CONFIG_MIPS_MT_SMP is not set | 
| 132 | CONFIG_MIPS_VPE_LOADER=y | 135 | CONFIG_MIPS_VPE_LOADER=y | 
| 136 | CONFIG_MIPS_MT_FPAFF=y | ||
| 133 | CONFIG_MIPS_VPE_LOADER_TOM=y | 137 | CONFIG_MIPS_VPE_LOADER_TOM=y | 
| 134 | CONFIG_MIPS_VPE_APSP_API=y | 138 | CONFIG_MIPS_VPE_APSP_API=y | 
| 139 | CONFIG_MIPS_APSP_KSPD=y | ||
| 135 | # CONFIG_64BIT_PHYS_ADDR is not set | 140 | # CONFIG_64BIT_PHYS_ADDR is not set | 
| 136 | # CONFIG_CPU_ADVANCED is not set | ||
| 137 | CONFIG_CPU_HAS_LLSC=y | 141 | CONFIG_CPU_HAS_LLSC=y | 
| 142 | # CONFIG_CPU_MIPSR2_IRQ_VI is not set | ||
| 143 | # CONFIG_CPU_MIPSR2_IRQ_EI is not set | ||
| 138 | CONFIG_CPU_HAS_SYNC=y | 144 | CONFIG_CPU_HAS_SYNC=y | 
| 139 | CONFIG_GENERIC_HARDIRQS=y | 145 | CONFIG_GENERIC_HARDIRQS=y | 
| 140 | CONFIG_GENERIC_IRQ_PROBE=y | 146 | CONFIG_GENERIC_IRQ_PROBE=y | 
| 147 | CONFIG_CPU_SUPPORTS_HIGHMEM=y | ||
| 141 | CONFIG_ARCH_FLATMEM_ENABLE=y | 148 | CONFIG_ARCH_FLATMEM_ENABLE=y | 
| 142 | CONFIG_SELECT_MEMORY_MODEL=y | 149 | CONFIG_SELECT_MEMORY_MODEL=y | 
| 143 | CONFIG_FLATMEM_MANUAL=y | 150 | CONFIG_FLATMEM_MANUAL=y | 
| @@ -155,7 +162,6 @@ CONFIG_PREEMPT_NONE=y | |||
| 155 | # Code maturity level options | 162 | # Code maturity level options | 
| 156 | # | 163 | # | 
| 157 | CONFIG_EXPERIMENTAL=y | 164 | CONFIG_EXPERIMENTAL=y | 
| 158 | CONFIG_CLEAN_COMPILE=y | ||
| 159 | CONFIG_BROKEN_ON_SMP=y | 165 | CONFIG_BROKEN_ON_SMP=y | 
| 160 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 166 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 
| 161 | 167 | ||
| @@ -171,6 +177,7 @@ CONFIG_SYSVIPC=y | |||
| 171 | CONFIG_SYSCTL=y | 177 | CONFIG_SYSCTL=y | 
| 172 | # CONFIG_AUDIT is not set | 178 | # CONFIG_AUDIT is not set | 
| 173 | # CONFIG_IKCONFIG is not set | 179 | # CONFIG_IKCONFIG is not set | 
| 180 | CONFIG_RELAY=y | ||
| 174 | CONFIG_INITRAMFS_SOURCE="" | 181 | CONFIG_INITRAMFS_SOURCE="" | 
| 175 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 182 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 
| 176 | CONFIG_EMBEDDED=y | 183 | CONFIG_EMBEDDED=y | 
| @@ -184,10 +191,6 @@ CONFIG_BASE_FULL=y | |||
| 184 | CONFIG_FUTEX=y | 191 | CONFIG_FUTEX=y | 
| 185 | CONFIG_EPOLL=y | 192 | CONFIG_EPOLL=y | 
| 186 | CONFIG_SHMEM=y | 193 | CONFIG_SHMEM=y | 
| 187 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
| 188 | CONFIG_CC_ALIGN_LABELS=0 | ||
| 189 | CONFIG_CC_ALIGN_LOOPS=0 | ||
| 190 | CONFIG_CC_ALIGN_JUMPS=0 | ||
| 191 | CONFIG_SLAB=y | 194 | CONFIG_SLAB=y | 
| 192 | # CONFIG_TINY_SHMEM is not set | 195 | # CONFIG_TINY_SHMEM is not set | 
| 193 | CONFIG_BASE_SMALL=0 | 196 | CONFIG_BASE_SMALL=0 | 
| @@ -199,7 +202,6 @@ CONFIG_BASE_SMALL=0 | |||
| 199 | CONFIG_MODULES=y | 202 | CONFIG_MODULES=y | 
| 200 | CONFIG_MODULE_UNLOAD=y | 203 | CONFIG_MODULE_UNLOAD=y | 
| 201 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 204 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 
| 202 | CONFIG_OBSOLETE_MODPARM=y | ||
| 203 | CONFIG_MODVERSIONS=y | 205 | CONFIG_MODVERSIONS=y | 
| 204 | CONFIG_MODULE_SRCVERSION_ALL=y | 206 | CONFIG_MODULE_SRCVERSION_ALL=y | 
| 205 | CONFIG_KMOD=y | 207 | CONFIG_KMOD=y | 
| @@ -208,6 +210,8 @@ CONFIG_KMOD=y | |||
| 208 | # Block layer | 210 | # Block layer | 
| 209 | # | 211 | # | 
| 210 | # CONFIG_LBD is not set | 212 | # CONFIG_LBD is not set | 
| 213 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 214 | # CONFIG_LSF is not set | ||
| 211 | 215 | ||
| 212 | # | 216 | # | 
| 213 | # IO Schedulers | 217 | # IO Schedulers | 
| @@ -227,7 +231,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
| 227 | # | 231 | # | 
| 228 | CONFIG_HW_HAS_PCI=y | 232 | CONFIG_HW_HAS_PCI=y | 
| 229 | CONFIG_PCI=y | 233 | CONFIG_PCI=y | 
| 230 | CONFIG_PCI_LEGACY_PROC=y | ||
| 231 | CONFIG_MMU=y | 234 | CONFIG_MMU=y | 
| 232 | 235 | ||
| 233 | # | 236 | # | 
| @@ -255,6 +258,7 @@ CONFIG_NET=y | |||
| 255 | # | 258 | # | 
| 256 | # Networking options | 259 | # Networking options | 
| 257 | # | 260 | # | 
| 261 | # CONFIG_NETDEBUG is not set | ||
| 258 | CONFIG_PACKET=y | 262 | CONFIG_PACKET=y | 
| 259 | CONFIG_PACKET_MMAP=y | 263 | CONFIG_PACKET_MMAP=y | 
| 260 | CONFIG_UNIX=y | 264 | CONFIG_UNIX=y | 
| @@ -287,6 +291,7 @@ CONFIG_SYN_COOKIES=y | |||
| 287 | CONFIG_INET_AH=m | 291 | CONFIG_INET_AH=m | 
| 288 | CONFIG_INET_ESP=m | 292 | CONFIG_INET_ESP=m | 
| 289 | CONFIG_INET_IPCOMP=m | 293 | CONFIG_INET_IPCOMP=m | 
| 294 | CONFIG_INET_XFRM_TUNNEL=m | ||
| 290 | CONFIG_INET_TUNNEL=m | 295 | CONFIG_INET_TUNNEL=m | 
| 291 | CONFIG_INET_DIAG=y | 296 | CONFIG_INET_DIAG=y | 
| 292 | CONFIG_INET_TCP_DIAG=y | 297 | CONFIG_INET_TCP_DIAG=y | 
| @@ -328,9 +333,12 @@ CONFIG_IP_VS_NQ=m | |||
| 328 | CONFIG_IP_VS_FTP=m | 333 | CONFIG_IP_VS_FTP=m | 
| 329 | CONFIG_IPV6=m | 334 | CONFIG_IPV6=m | 
| 330 | CONFIG_IPV6_PRIVACY=y | 335 | CONFIG_IPV6_PRIVACY=y | 
| 336 | CONFIG_IPV6_ROUTER_PREF=y | ||
| 337 | CONFIG_IPV6_ROUTE_INFO=y | ||
| 331 | CONFIG_INET6_AH=m | 338 | CONFIG_INET6_AH=m | 
| 332 | CONFIG_INET6_ESP=m | 339 | CONFIG_INET6_ESP=m | 
| 333 | CONFIG_INET6_IPCOMP=m | 340 | CONFIG_INET6_IPCOMP=m | 
| 341 | CONFIG_INET6_XFRM_TUNNEL=m | ||
| 334 | CONFIG_INET6_TUNNEL=m | 342 | CONFIG_INET6_TUNNEL=m | 
| 335 | CONFIG_IPV6_TUNNEL=m | 343 | CONFIG_IPV6_TUNNEL=m | 
| 336 | CONFIG_NETFILTER=y | 344 | CONFIG_NETFILTER=y | 
| @@ -354,11 +362,14 @@ CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m | |||
| 354 | CONFIG_NETFILTER_XT_MATCH_CONNMARK=m | 362 | CONFIG_NETFILTER_XT_MATCH_CONNMARK=m | 
| 355 | CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m | 363 | CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m | 
| 356 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 364 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 
| 365 | CONFIG_NETFILTER_XT_MATCH_ESP=m | ||
| 357 | CONFIG_NETFILTER_XT_MATCH_HELPER=m | 366 | CONFIG_NETFILTER_XT_MATCH_HELPER=m | 
| 358 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | 367 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | 
| 359 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | 368 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | 
| 360 | CONFIG_NETFILTER_XT_MATCH_MAC=m | 369 | CONFIG_NETFILTER_XT_MATCH_MAC=m | 
| 361 | CONFIG_NETFILTER_XT_MATCH_MARK=m | 370 | CONFIG_NETFILTER_XT_MATCH_MARK=m | 
| 371 | CONFIG_NETFILTER_XT_MATCH_POLICY=m | ||
| 372 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m | ||
| 362 | # CONFIG_NETFILTER_XT_MATCH_PHYSDEV is not set | 373 | # CONFIG_NETFILTER_XT_MATCH_PHYSDEV is not set | 
| 363 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 374 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 
| 364 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 375 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 
| @@ -382,20 +393,19 @@ CONFIG_IP_NF_IRC=m | |||
| 382 | CONFIG_IP_NF_TFTP=m | 393 | CONFIG_IP_NF_TFTP=m | 
| 383 | CONFIG_IP_NF_AMANDA=m | 394 | CONFIG_IP_NF_AMANDA=m | 
| 384 | CONFIG_IP_NF_PPTP=m | 395 | CONFIG_IP_NF_PPTP=m | 
| 396 | CONFIG_IP_NF_H323=m | ||
| 385 | CONFIG_IP_NF_QUEUE=m | 397 | CONFIG_IP_NF_QUEUE=m | 
| 386 | CONFIG_IP_NF_IPTABLES=m | 398 | CONFIG_IP_NF_IPTABLES=m | 
| 387 | CONFIG_IP_NF_MATCH_IPRANGE=m | 399 | CONFIG_IP_NF_MATCH_IPRANGE=m | 
| 388 | CONFIG_IP_NF_MATCH_MULTIPORT=m | ||
| 389 | CONFIG_IP_NF_MATCH_TOS=m | 400 | CONFIG_IP_NF_MATCH_TOS=m | 
| 390 | CONFIG_IP_NF_MATCH_RECENT=m | 401 | CONFIG_IP_NF_MATCH_RECENT=m | 
| 391 | CONFIG_IP_NF_MATCH_ECN=m | 402 | CONFIG_IP_NF_MATCH_ECN=m | 
| 392 | CONFIG_IP_NF_MATCH_DSCP=m | 403 | CONFIG_IP_NF_MATCH_DSCP=m | 
| 393 | CONFIG_IP_NF_MATCH_AH_ESP=m | 404 | CONFIG_IP_NF_MATCH_AH=m | 
| 394 | CONFIG_IP_NF_MATCH_TTL=m | 405 | CONFIG_IP_NF_MATCH_TTL=m | 
| 395 | CONFIG_IP_NF_MATCH_OWNER=m | 406 | CONFIG_IP_NF_MATCH_OWNER=m | 
| 396 | CONFIG_IP_NF_MATCH_ADDRTYPE=m | 407 | CONFIG_IP_NF_MATCH_ADDRTYPE=m | 
| 397 | CONFIG_IP_NF_MATCH_HASHLIMIT=m | 408 | CONFIG_IP_NF_MATCH_HASHLIMIT=m | 
| 398 | CONFIG_IP_NF_MATCH_POLICY=m | ||
| 399 | CONFIG_IP_NF_FILTER=m | 409 | CONFIG_IP_NF_FILTER=m | 
| 400 | CONFIG_IP_NF_TARGET_REJECT=m | 410 | CONFIG_IP_NF_TARGET_REJECT=m | 
| 401 | CONFIG_IP_NF_TARGET_LOG=m | 411 | CONFIG_IP_NF_TARGET_LOG=m | 
| @@ -413,6 +423,7 @@ CONFIG_IP_NF_NAT_FTP=m | |||
| 413 | CONFIG_IP_NF_NAT_TFTP=m | 423 | CONFIG_IP_NF_NAT_TFTP=m | 
| 414 | CONFIG_IP_NF_NAT_AMANDA=m | 424 | CONFIG_IP_NF_NAT_AMANDA=m | 
| 415 | CONFIG_IP_NF_NAT_PPTP=m | 425 | CONFIG_IP_NF_NAT_PPTP=m | 
| 426 | CONFIG_IP_NF_NAT_H323=m | ||
| 416 | CONFIG_IP_NF_MANGLE=m | 427 | CONFIG_IP_NF_MANGLE=m | 
| 417 | CONFIG_IP_NF_TARGET_TOS=m | 428 | CONFIG_IP_NF_TARGET_TOS=m | 
| 418 | CONFIG_IP_NF_TARGET_ECN=m | 429 | CONFIG_IP_NF_TARGET_ECN=m | 
| @@ -433,12 +444,10 @@ CONFIG_IP6_NF_MATCH_RT=m | |||
| 433 | CONFIG_IP6_NF_MATCH_OPTS=m | 444 | CONFIG_IP6_NF_MATCH_OPTS=m | 
| 434 | CONFIG_IP6_NF_MATCH_FRAG=m | 445 | CONFIG_IP6_NF_MATCH_FRAG=m | 
| 435 | CONFIG_IP6_NF_MATCH_HL=m | 446 | CONFIG_IP6_NF_MATCH_HL=m | 
| 436 | CONFIG_IP6_NF_MATCH_MULTIPORT=m | ||
| 437 | CONFIG_IP6_NF_MATCH_OWNER=m | 447 | CONFIG_IP6_NF_MATCH_OWNER=m | 
| 438 | CONFIG_IP6_NF_MATCH_IPV6HEADER=m | 448 | CONFIG_IP6_NF_MATCH_IPV6HEADER=m | 
| 439 | CONFIG_IP6_NF_MATCH_AHESP=m | 449 | CONFIG_IP6_NF_MATCH_AH=m | 
| 440 | CONFIG_IP6_NF_MATCH_EUI64=m | 450 | CONFIG_IP6_NF_MATCH_EUI64=m | 
| 441 | CONFIG_IP6_NF_MATCH_POLICY=m | ||
| 442 | CONFIG_IP6_NF_FILTER=m | 451 | CONFIG_IP6_NF_FILTER=m | 
| 443 | CONFIG_IP6_NF_TARGET_LOG=m | 452 | CONFIG_IP6_NF_TARGET_LOG=m | 
| 444 | CONFIG_IP6_NF_TARGET_REJECT=m | 453 | CONFIG_IP6_NF_TARGET_REJECT=m | 
| @@ -484,6 +493,11 @@ CONFIG_IP_SCTP=m | |||
| 484 | # CONFIG_SCTP_HMAC_NONE is not set | 493 | # CONFIG_SCTP_HMAC_NONE is not set | 
| 485 | # CONFIG_SCTP_HMAC_SHA1 is not set | 494 | # CONFIG_SCTP_HMAC_SHA1 is not set | 
| 486 | CONFIG_SCTP_HMAC_MD5=y | 495 | CONFIG_SCTP_HMAC_MD5=y | 
| 496 | |||
| 497 | # | ||
| 498 | # TIPC Configuration (EXPERIMENTAL) | ||
| 499 | # | ||
| 500 | # CONFIG_TIPC is not set | ||
| 487 | # CONFIG_ATM is not set | 501 | # CONFIG_ATM is not set | 
| 488 | CONFIG_BRIDGE=m | 502 | CONFIG_BRIDGE=m | 
| 489 | CONFIG_VLAN_8021Q=m | 503 | CONFIG_VLAN_8021Q=m | 
| @@ -498,11 +512,6 @@ CONFIG_IPDDP_ENCAP=y | |||
| 498 | CONFIG_IPDDP_DECAP=y | 512 | CONFIG_IPDDP_DECAP=y | 
| 499 | # CONFIG_X25 is not set | 513 | # CONFIG_X25 is not set | 
| 500 | # CONFIG_LAPB is not set | 514 | # CONFIG_LAPB is not set | 
| 501 | |||
| 502 | # | ||
| 503 | # TIPC Configuration (EXPERIMENTAL) | ||
| 504 | # | ||
| 505 | # CONFIG_TIPC is not set | ||
| 506 | CONFIG_NET_DIVERT=y | 515 | CONFIG_NET_DIVERT=y | 
| 507 | # CONFIG_ECONET is not set | 516 | # CONFIG_ECONET is not set | 
| 508 | # CONFIG_WAN_ROUTER is not set | 517 | # CONFIG_WAN_ROUTER is not set | 
| @@ -562,6 +571,9 @@ CONFIG_IEEE80211=m | |||
| 562 | # CONFIG_IEEE80211_DEBUG is not set | 571 | # CONFIG_IEEE80211_DEBUG is not set | 
| 563 | CONFIG_IEEE80211_CRYPT_WEP=m | 572 | CONFIG_IEEE80211_CRYPT_WEP=m | 
| 564 | CONFIG_IEEE80211_CRYPT_CCMP=m | 573 | CONFIG_IEEE80211_CRYPT_CCMP=m | 
| 574 | CONFIG_IEEE80211_SOFTMAC=m | ||
| 575 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
| 576 | CONFIG_WIRELESS_EXT=y | ||
| 565 | 577 | ||
| 566 | # | 578 | # | 
| 567 | # Device Drivers | 579 | # Device Drivers | 
| @@ -734,7 +746,6 @@ CONFIG_AIC7XXX_REG_PRETTY_PRINT=y | |||
| 734 | # CONFIG_SCSI_INIA100 is not set | 746 | # CONFIG_SCSI_INIA100 is not set | 
| 735 | # CONFIG_SCSI_SYM53C8XX_2 is not set | 747 | # CONFIG_SCSI_SYM53C8XX_2 is not set | 
| 736 | # CONFIG_SCSI_IPR is not set | 748 | # CONFIG_SCSI_IPR is not set | 
| 737 | # CONFIG_SCSI_QLOGIC_FC is not set | ||
| 738 | # CONFIG_SCSI_QLOGIC_1280 is not set | 749 | # CONFIG_SCSI_QLOGIC_1280 is not set | 
| 739 | # CONFIG_SCSI_QLA_FC is not set | 750 | # CONFIG_SCSI_QLA_FC is not set | 
| 740 | # CONFIG_SCSI_LPFC is not set | 751 | # CONFIG_SCSI_LPFC is not set | 
| @@ -753,6 +764,7 @@ CONFIG_MD_RAID0=m | |||
| 753 | CONFIG_MD_RAID1=m | 764 | CONFIG_MD_RAID1=m | 
| 754 | CONFIG_MD_RAID10=m | 765 | CONFIG_MD_RAID10=m | 
| 755 | CONFIG_MD_RAID5=m | 766 | CONFIG_MD_RAID5=m | 
| 767 | CONFIG_MD_RAID5_RESHAPE=y | ||
| 756 | CONFIG_MD_RAID6=m | 768 | CONFIG_MD_RAID6=m | 
| 757 | CONFIG_MD_MULTIPATH=m | 769 | CONFIG_MD_MULTIPATH=m | 
| 758 | CONFIG_MD_FAULTY=m | 770 | CONFIG_MD_FAULTY=m | 
| @@ -956,6 +968,7 @@ CONFIG_HW_CONSOLE=y | |||
| 956 | # | 968 | # | 
| 957 | CONFIG_SERIAL_8250=y | 969 | CONFIG_SERIAL_8250=y | 
| 958 | CONFIG_SERIAL_8250_CONSOLE=y | 970 | CONFIG_SERIAL_8250_CONSOLE=y | 
| 971 | CONFIG_SERIAL_8250_PCI=y | ||
| 959 | CONFIG_SERIAL_8250_NR_UARTS=4 | 972 | CONFIG_SERIAL_8250_NR_UARTS=4 | 
| 960 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 973 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 
| 961 | # CONFIG_SERIAL_8250_EXTENDED is not set | 974 | # CONFIG_SERIAL_8250_EXTENDED is not set | 
| @@ -965,6 +978,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | |||
| 965 | # | 978 | # | 
| 966 | CONFIG_SERIAL_CORE=y | 979 | CONFIG_SERIAL_CORE=y | 
| 967 | CONFIG_SERIAL_CORE_CONSOLE=y | 980 | CONFIG_SERIAL_CORE_CONSOLE=y | 
| 981 | # CONFIG_SERIAL_JSM is not set | ||
| 968 | CONFIG_UNIX98_PTYS=y | 982 | CONFIG_UNIX98_PTYS=y | 
| 969 | CONFIG_LEGACY_PTYS=y | 983 | CONFIG_LEGACY_PTYS=y | 
| 970 | CONFIG_LEGACY_PTY_COUNT=256 | 984 | CONFIG_LEGACY_PTY_COUNT=256 | 
| @@ -1022,10 +1036,6 @@ CONFIG_RTC=y | |||
| 1022 | # | 1036 | # | 
| 1023 | 1037 | ||
| 1024 | # | 1038 | # | 
| 1025 | # Multimedia Capabilities Port drivers | ||
| 1026 | # | ||
| 1027 | |||
| 1028 | # | ||
| 1029 | # Multimedia devices | 1039 | # Multimedia devices | 
| 1030 | # | 1040 | # | 
| 1031 | # CONFIG_VIDEO_DEV is not set | 1041 | # CONFIG_VIDEO_DEV is not set | 
| @@ -1056,6 +1066,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
| 1056 | # | 1066 | # | 
| 1057 | CONFIG_USB_ARCH_HAS_HCD=y | 1067 | CONFIG_USB_ARCH_HAS_HCD=y | 
| 1058 | CONFIG_USB_ARCH_HAS_OHCI=y | 1068 | CONFIG_USB_ARCH_HAS_OHCI=y | 
| 1069 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
| 1059 | # CONFIG_USB is not set | 1070 | # CONFIG_USB is not set | 
| 1060 | 1071 | ||
| 1061 | # | 1072 | # | 
| @@ -1073,13 +1084,31 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
| 1073 | # CONFIG_MMC is not set | 1084 | # CONFIG_MMC is not set | 
| 1074 | 1085 | ||
| 1075 | # | 1086 | # | 
| 1087 | # LED devices | ||
| 1088 | # | ||
| 1089 | # CONFIG_NEW_LEDS is not set | ||
| 1090 | |||
| 1091 | # | ||
| 1092 | # LED drivers | ||
| 1093 | # | ||
| 1094 | |||
| 1095 | # | ||
| 1096 | # LED Triggers | ||
| 1097 | # | ||
| 1098 | |||
| 1099 | # | ||
| 1076 | # InfiniBand support | 1100 | # InfiniBand support | 
| 1077 | # | 1101 | # | 
| 1078 | # CONFIG_INFINIBAND is not set | 1102 | # CONFIG_INFINIBAND is not set | 
| 1079 | 1103 | ||
| 1080 | # | 1104 | # | 
| 1081 | # SN Devices | 1105 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | 
| 1106 | # | ||
| 1107 | |||
| 1108 | # | ||
| 1109 | # Real Time Clock | ||
| 1082 | # | 1110 | # | 
| 1111 | # CONFIG_RTC_CLASS is not set | ||
| 1083 | 1112 | ||
| 1084 | # | 1113 | # | 
| 1085 | # File systems | 1114 | # File systems | 
| @@ -1154,7 +1183,6 @@ CONFIG_SYSFS=y | |||
| 1154 | # CONFIG_TMPFS is not set | 1183 | # CONFIG_TMPFS is not set | 
| 1155 | # CONFIG_HUGETLB_PAGE is not set | 1184 | # CONFIG_HUGETLB_PAGE is not set | 
| 1156 | CONFIG_RAMFS=y | 1185 | CONFIG_RAMFS=y | 
| 1157 | CONFIG_RELAYFS_FS=m | ||
| 1158 | # CONFIG_CONFIGFS_FS is not set | 1186 | # CONFIG_CONFIGFS_FS is not set | 
| 1159 | 1187 | ||
| 1160 | # | 1188 | # | 
| @@ -1174,7 +1202,6 @@ CONFIG_VXFS_FS=m | |||
| 1174 | # CONFIG_QNX4FS_FS is not set | 1202 | # CONFIG_QNX4FS_FS is not set | 
| 1175 | CONFIG_SYSV_FS=m | 1203 | CONFIG_SYSV_FS=m | 
| 1176 | CONFIG_UFS_FS=m | 1204 | CONFIG_UFS_FS=m | 
| 1177 | # CONFIG_UFS_FS_WRITE is not set | ||
| 1178 | 1205 | ||
| 1179 | # | 1206 | # | 
| 1180 | # Network File Systems | 1207 | # Network File Systems | 
| @@ -1266,6 +1293,7 @@ CONFIG_NLS_UTF8=m | |||
| 1266 | # CONFIG_MAGIC_SYSRQ is not set | 1293 | # CONFIG_MAGIC_SYSRQ is not set | 
| 1267 | # CONFIG_DEBUG_KERNEL is not set | 1294 | # CONFIG_DEBUG_KERNEL is not set | 
| 1268 | CONFIG_LOG_BUF_SHIFT=14 | 1295 | CONFIG_LOG_BUF_SHIFT=14 | 
| 1296 | # CONFIG_DEBUG_FS is not set | ||
| 1269 | CONFIG_CROSSCOMPILE=y | 1297 | CONFIG_CROSSCOMPILE=y | 
| 1270 | CONFIG_CMDLINE="" | 1298 | CONFIG_CMDLINE="" | 
| 1271 | 1299 | ||
diff --git a/arch/mips/configs/mipssim_defconfig b/arch/mips/configs/mipssim_defconfig index fe78961762b8..00560e0143f1 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.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 | 
| 4 | # Fri Jan 27 15:40:16 2006 | 4 | # Mon Apr 24 14:51:09 2006 | 
| 5 | # | 5 | # | 
| 6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y | 
| 7 | 7 | ||
| @@ -64,6 +64,8 @@ CONFIG_MIPS_SIM=y | |||
| 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 
| 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 
| 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 
| 67 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
| 68 | CONFIG_GENERIC_HWEIGHT=y | ||
| 67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 69 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 
| 68 | CONFIG_DMA_NONCOHERENT=y | 70 | CONFIG_DMA_NONCOHERENT=y | 
| 69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 71 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 
| @@ -114,16 +116,19 @@ CONFIG_PAGE_SIZE_4KB=y | |||
| 114 | # CONFIG_PAGE_SIZE_64KB is not set | 116 | # CONFIG_PAGE_SIZE_64KB is not set | 
| 115 | CONFIG_CPU_HAS_PREFETCH=y | 117 | CONFIG_CPU_HAS_PREFETCH=y | 
| 116 | CONFIG_MIPS_MT=y | 118 | CONFIG_MIPS_MT=y | 
| 119 | # CONFIG_MIPS_MT_SMTC is not set | ||
| 117 | # CONFIG_MIPS_MT_SMP is not set | 120 | # CONFIG_MIPS_MT_SMP is not set | 
| 118 | CONFIG_MIPS_VPE_LOADER=y | 121 | CONFIG_MIPS_VPE_LOADER=y | 
| 122 | CONFIG_MIPS_MT_FPAFF=y | ||
| 119 | CONFIG_MIPS_VPE_LOADER_TOM=y | 123 | CONFIG_MIPS_VPE_LOADER_TOM=y | 
| 120 | CONFIG_MIPS_VPE_APSP_API=y | 124 | CONFIG_MIPS_VPE_APSP_API=y | 
| 125 | CONFIG_MIPS_APSP_KSPD=y | ||
| 121 | # CONFIG_64BIT_PHYS_ADDR is not set | 126 | # CONFIG_64BIT_PHYS_ADDR is not set | 
| 122 | # CONFIG_CPU_ADVANCED is not set | ||
| 123 | CONFIG_CPU_HAS_LLSC=y | 127 | CONFIG_CPU_HAS_LLSC=y | 
| 124 | CONFIG_CPU_HAS_SYNC=y | 128 | CONFIG_CPU_HAS_SYNC=y | 
| 125 | CONFIG_GENERIC_HARDIRQS=y | 129 | CONFIG_GENERIC_HARDIRQS=y | 
| 126 | CONFIG_GENERIC_IRQ_PROBE=y | 130 | CONFIG_GENERIC_IRQ_PROBE=y | 
| 131 | CONFIG_CPU_SUPPORTS_HIGHMEM=y | ||
| 127 | CONFIG_ARCH_FLATMEM_ENABLE=y | 132 | CONFIG_ARCH_FLATMEM_ENABLE=y | 
| 128 | CONFIG_SELECT_MEMORY_MODEL=y | 133 | CONFIG_SELECT_MEMORY_MODEL=y | 
| 129 | CONFIG_FLATMEM_MANUAL=y | 134 | CONFIG_FLATMEM_MANUAL=y | 
| @@ -141,7 +146,6 @@ CONFIG_PREEMPT_NONE=y | |||
| 141 | # Code maturity level options | 146 | # Code maturity level options | 
| 142 | # | 147 | # | 
| 143 | CONFIG_EXPERIMENTAL=y | 148 | CONFIG_EXPERIMENTAL=y | 
| 144 | CONFIG_CLEAN_COMPILE=y | ||
| 145 | CONFIG_BROKEN_ON_SMP=y | 149 | CONFIG_BROKEN_ON_SMP=y | 
| 146 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 150 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 
| 147 | 151 | ||
| @@ -157,6 +161,7 @@ CONFIG_SYSVIPC=y | |||
| 157 | CONFIG_SYSCTL=y | 161 | CONFIG_SYSCTL=y | 
| 158 | # CONFIG_AUDIT is not set | 162 | # CONFIG_AUDIT is not set | 
| 159 | # CONFIG_IKCONFIG is not set | 163 | # CONFIG_IKCONFIG is not set | 
| 164 | # CONFIG_RELAY is not set | ||
| 160 | CONFIG_INITRAMFS_SOURCE="" | 165 | CONFIG_INITRAMFS_SOURCE="" | 
| 161 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 166 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 
| 162 | CONFIG_EMBEDDED=y | 167 | CONFIG_EMBEDDED=y | 
| @@ -171,10 +176,6 @@ CONFIG_BASE_FULL=y | |||
| 171 | CONFIG_FUTEX=y | 176 | CONFIG_FUTEX=y | 
| 172 | CONFIG_EPOLL=y | 177 | CONFIG_EPOLL=y | 
| 173 | CONFIG_SHMEM=y | 178 | CONFIG_SHMEM=y | 
| 174 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
| 175 | CONFIG_CC_ALIGN_LABELS=0 | ||
| 176 | CONFIG_CC_ALIGN_LOOPS=0 | ||
| 177 | CONFIG_CC_ALIGN_JUMPS=0 | ||
| 178 | CONFIG_SLAB=y | 179 | CONFIG_SLAB=y | 
| 179 | # CONFIG_TINY_SHMEM is not set | 180 | # CONFIG_TINY_SHMEM is not set | 
| 180 | CONFIG_BASE_SMALL=0 | 181 | CONFIG_BASE_SMALL=0 | 
| @@ -186,7 +187,6 @@ CONFIG_BASE_SMALL=0 | |||
| 186 | CONFIG_MODULES=y | 187 | CONFIG_MODULES=y | 
| 187 | CONFIG_MODULE_UNLOAD=y | 188 | CONFIG_MODULE_UNLOAD=y | 
| 188 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 189 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 
| 189 | CONFIG_OBSOLETE_MODPARM=y | ||
| 190 | CONFIG_MODVERSIONS=y | 190 | CONFIG_MODVERSIONS=y | 
| 191 | CONFIG_MODULE_SRCVERSION_ALL=y | 191 | CONFIG_MODULE_SRCVERSION_ALL=y | 
| 192 | CONFIG_KMOD=y | 192 | CONFIG_KMOD=y | 
| @@ -195,6 +195,7 @@ CONFIG_KMOD=y | |||
| 195 | # Block layer | 195 | # Block layer | 
| 196 | # | 196 | # | 
| 197 | # CONFIG_LBD is not set | 197 | # CONFIG_LBD is not set | 
| 198 | # CONFIG_LSF is not set | ||
| 198 | 199 | ||
| 199 | # | 200 | # | 
| 200 | # IO Schedulers | 201 | # IO Schedulers | 
| @@ -238,6 +239,7 @@ CONFIG_NET=y | |||
| 238 | # | 239 | # | 
| 239 | # Networking options | 240 | # Networking options | 
| 240 | # | 241 | # | 
| 242 | # CONFIG_NETDEBUG is not set | ||
| 241 | CONFIG_PACKET=y | 243 | CONFIG_PACKET=y | 
| 242 | CONFIG_PACKET_MMAP=y | 244 | CONFIG_PACKET_MMAP=y | 
| 243 | CONFIG_UNIX=y | 245 | CONFIG_UNIX=y | 
| @@ -268,12 +270,15 @@ CONFIG_SYN_COOKIES=y | |||
| 268 | # CONFIG_INET_AH is not set | 270 | # CONFIG_INET_AH is not set | 
| 269 | # CONFIG_INET_ESP is not set | 271 | # CONFIG_INET_ESP is not set | 
| 270 | # CONFIG_INET_IPCOMP is not set | 272 | # CONFIG_INET_IPCOMP is not set | 
| 273 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
| 271 | # CONFIG_INET_TUNNEL is not set | 274 | # CONFIG_INET_TUNNEL is not set | 
| 272 | CONFIG_INET_DIAG=y | 275 | CONFIG_INET_DIAG=y | 
| 273 | CONFIG_INET_TCP_DIAG=y | 276 | CONFIG_INET_TCP_DIAG=y | 
| 274 | # CONFIG_TCP_CONG_ADVANCED is not set | 277 | # CONFIG_TCP_CONG_ADVANCED is not set | 
| 275 | CONFIG_TCP_CONG_BIC=y | 278 | CONFIG_TCP_CONG_BIC=y | 
| 276 | # CONFIG_IPV6 is not set | 279 | # CONFIG_IPV6 is not set | 
| 280 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
| 281 | # CONFIG_INET6_TUNNEL is not set | ||
| 277 | # CONFIG_NETFILTER is not set | 282 | # CONFIG_NETFILTER is not set | 
| 278 | 283 | ||
| 279 | # | 284 | # | 
| @@ -290,6 +295,11 @@ CONFIG_IP_SCTP=m | |||
| 290 | # CONFIG_SCTP_HMAC_NONE is not set | 295 | # CONFIG_SCTP_HMAC_NONE is not set | 
| 291 | # CONFIG_SCTP_HMAC_SHA1 is not set | 296 | # CONFIG_SCTP_HMAC_SHA1 is not set | 
| 292 | CONFIG_SCTP_HMAC_MD5=y | 297 | CONFIG_SCTP_HMAC_MD5=y | 
| 298 | |||
| 299 | # | ||
| 300 | # TIPC Configuration (EXPERIMENTAL) | ||
| 301 | # | ||
| 302 | # CONFIG_TIPC is not set | ||
| 293 | # CONFIG_ATM is not set | 303 | # CONFIG_ATM is not set | 
| 294 | # CONFIG_BRIDGE is not set | 304 | # CONFIG_BRIDGE is not set | 
| 295 | # CONFIG_VLAN_8021Q is not set | 305 | # CONFIG_VLAN_8021Q is not set | 
| @@ -299,11 +309,6 @@ CONFIG_SCTP_HMAC_MD5=y | |||
| 299 | # CONFIG_ATALK is not set | 309 | # CONFIG_ATALK is not set | 
| 300 | # CONFIG_X25 is not set | 310 | # CONFIG_X25 is not set | 
| 301 | # CONFIG_LAPB is not set | 311 | # CONFIG_LAPB is not set | 
| 302 | |||
| 303 | # | ||
| 304 | # TIPC Configuration (EXPERIMENTAL) | ||
| 305 | # | ||
| 306 | # CONFIG_TIPC is not set | ||
| 307 | CONFIG_NET_DIVERT=y | 312 | CONFIG_NET_DIVERT=y | 
| 308 | # CONFIG_ECONET is not set | 313 | # CONFIG_ECONET is not set | 
| 309 | # CONFIG_WAN_ROUTER is not set | 314 | # CONFIG_WAN_ROUTER is not set | 
| @@ -397,7 +402,7 @@ CONFIG_BLK_DEV_LOOP=y | |||
| 397 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | 402 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | 
| 398 | CONFIG_BLK_DEV_NBD=y | 403 | CONFIG_BLK_DEV_NBD=y | 
| 399 | # CONFIG_BLK_DEV_RAM is not set | 404 | # CONFIG_BLK_DEV_RAM is not set | 
| 400 | CONFIG_BLK_DEV_RAM_COUNT=16 | 405 | # CONFIG_BLK_DEV_INITRD is not set | 
| 401 | # CONFIG_CDROM_PKTCDVD is not set | 406 | # CONFIG_CDROM_PKTCDVD is not set | 
| 402 | # CONFIG_ATA_OVER_ETH is not set | 407 | # CONFIG_ATA_OVER_ETH is not set | 
| 403 | 408 | ||
| @@ -532,7 +537,7 @@ CONFIG_SERIO_SERPORT=y | |||
| 532 | CONFIG_SERIAL_8250=y | 537 | CONFIG_SERIAL_8250=y | 
| 533 | CONFIG_SERIAL_8250_CONSOLE=y | 538 | CONFIG_SERIAL_8250_CONSOLE=y | 
| 534 | CONFIG_SERIAL_8250_NR_UARTS=1 | 539 | CONFIG_SERIAL_8250_NR_UARTS=1 | 
| 535 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 540 | CONFIG_SERIAL_8250_RUNTIME_UARTS=1 | 
| 536 | # CONFIG_SERIAL_8250_EXTENDED is not set | 541 | # CONFIG_SERIAL_8250_EXTENDED is not set | 
| 537 | 542 | ||
| 538 | # | 543 | # | 
| @@ -596,10 +601,6 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
| 596 | # | 601 | # | 
| 597 | 602 | ||
| 598 | # | 603 | # | 
| 599 | # Multimedia Capabilities Port drivers | ||
| 600 | # | ||
| 601 | |||
| 602 | # | ||
| 603 | # Multimedia devices | 604 | # Multimedia devices | 
| 604 | # | 605 | # | 
| 605 | # CONFIG_VIDEO_DEV is not set | 606 | # CONFIG_VIDEO_DEV is not set | 
| @@ -624,6 +625,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
| 624 | # | 625 | # | 
| 625 | # CONFIG_USB_ARCH_HAS_HCD is not set | 626 | # CONFIG_USB_ARCH_HAS_HCD is not set | 
| 626 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 627 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 
| 628 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
| 627 | 629 | ||
| 628 | # | 630 | # | 
| 629 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 631 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 
| @@ -640,12 +642,30 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
| 640 | # CONFIG_MMC is not set | 642 | # CONFIG_MMC is not set | 
| 641 | 643 | ||
| 642 | # | 644 | # | 
| 645 | # LED devices | ||
| 646 | # | ||
| 647 | # CONFIG_NEW_LEDS is not set | ||
| 648 | |||
| 649 | # | ||
| 650 | # LED drivers | ||
| 651 | # | ||
| 652 | |||
| 653 | # | ||
| 654 | # LED Triggers | ||
| 655 | # | ||
| 656 | |||
| 657 | # | ||
| 643 | # InfiniBand support | 658 | # InfiniBand support | 
| 644 | # | 659 | # | 
| 645 | 660 | ||
| 646 | # | 661 | # | 
| 647 | # SN Devices | 662 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | 
| 663 | # | ||
| 664 | |||
| 665 | # | ||
| 666 | # Real Time Clock | ||
| 648 | # | 667 | # | 
| 668 | # CONFIG_RTC_CLASS is not set | ||
| 649 | 669 | ||
| 650 | # | 670 | # | 
| 651 | # File systems | 671 | # File systems | 
| @@ -690,8 +710,6 @@ CONFIG_PROC_FS=y | |||
| 690 | # CONFIG_TMPFS is not set | 710 | # CONFIG_TMPFS is not set | 
| 691 | # CONFIG_HUGETLB_PAGE is not set | 711 | # CONFIG_HUGETLB_PAGE is not set | 
| 692 | CONFIG_RAMFS=y | 712 | CONFIG_RAMFS=y | 
| 693 | # CONFIG_RELAYFS_FS is not set | ||
| 694 | # CONFIG_CONFIGFS_FS is not set | ||
| 695 | 713 | ||
| 696 | # | 714 | # | 
| 697 | # Miscellaneous filesystems | 715 | # Miscellaneous filesystems | 
diff --git a/arch/mips/configs/mpc30x_defconfig b/arch/mips/configs/mpc30x_defconfig index e4620e7f0a5e..286a018375b2 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.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 | 
| 4 | # Fri Jan 27 15:40:17 2006 | 4 | # Mon Apr 24 14:51:09 2006 | 
| 5 | # | 5 | # | 
| 6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y | 
| 7 | 7 | ||
| @@ -72,6 +72,8 @@ CONFIG_VICTOR_MPC30X=y | |||
| 72 | CONFIG_PCI_VR41XX=y | 72 | CONFIG_PCI_VR41XX=y | 
| 73 | CONFIG_VRC4173=y | 73 | CONFIG_VRC4173=y | 
| 74 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 74 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 
| 75 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
| 76 | CONFIG_GENERIC_HWEIGHT=y | ||
| 75 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 77 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 
| 76 | CONFIG_DMA_NONCOHERENT=y | 78 | CONFIG_DMA_NONCOHERENT=y | 
| 77 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 79 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 
| @@ -90,7 +92,7 @@ CONFIG_MIPS_L1_CACHE_SHIFT=5 | |||
| 90 | # CONFIG_CPU_MIPS64_R2 is not set | 92 | # CONFIG_CPU_MIPS64_R2 is not set | 
| 91 | # CONFIG_CPU_R3000 is not set | 93 | # CONFIG_CPU_R3000 is not set | 
| 92 | # CONFIG_CPU_TX39XX is not set | 94 | # CONFIG_CPU_TX39XX is not set | 
| 93 | # CONFIG_CPU_VR41XX is not set | 95 | CONFIG_CPU_VR41XX=y | 
| 94 | # CONFIG_CPU_R4300 is not set | 96 | # CONFIG_CPU_R4300 is not set | 
| 95 | # CONFIG_CPU_R4X00 is not set | 97 | # CONFIG_CPU_R4X00 is not set | 
| 96 | # CONFIG_CPU_TX49XX is not set | 98 | # CONFIG_CPU_TX49XX is not set | 
| @@ -103,18 +105,21 @@ CONFIG_MIPS_L1_CACHE_SHIFT=5 | |||
| 103 | # CONFIG_CPU_RM7000 is not set | 105 | # CONFIG_CPU_RM7000 is not set | 
| 104 | # CONFIG_CPU_RM9000 is not set | 106 | # CONFIG_CPU_RM9000 is not set | 
| 105 | # CONFIG_CPU_SB1 is not set | 107 | # CONFIG_CPU_SB1 is not set | 
| 108 | CONFIG_SYS_HAS_CPU_VR41XX=y | ||
| 109 | CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y | ||
| 110 | CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y | ||
| 111 | CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y | ||
| 106 | 112 | ||
| 107 | # | 113 | # | 
| 108 | # Kernel type | 114 | # Kernel type | 
| 109 | # | 115 | # | 
| 110 | # CONFIG_32BIT is not set | 116 | CONFIG_32BIT=y | 
| 111 | # CONFIG_64BIT is not set | 117 | # CONFIG_64BIT is not set | 
| 112 | CONFIG_PAGE_SIZE_4KB=y | 118 | CONFIG_PAGE_SIZE_4KB=y | 
| 113 | # CONFIG_PAGE_SIZE_8KB is not set | 119 | # CONFIG_PAGE_SIZE_8KB is not set | 
| 114 | # CONFIG_PAGE_SIZE_16KB is not set | 120 | # CONFIG_PAGE_SIZE_16KB is not set | 
| 115 | # CONFIG_PAGE_SIZE_64KB is not set | 121 | # CONFIG_PAGE_SIZE_64KB is not set | 
| 116 | # CONFIG_MIPS_MT is not set | 122 | # CONFIG_MIPS_MT is not set | 
| 117 | CONFIG_CPU_HAS_LLSC=y | ||
| 118 | CONFIG_CPU_HAS_SYNC=y | 123 | CONFIG_CPU_HAS_SYNC=y | 
| 119 | CONFIG_GENERIC_HARDIRQS=y | 124 | CONFIG_GENERIC_HARDIRQS=y | 
| 120 | CONFIG_GENERIC_IRQ_PROBE=y | 125 | CONFIG_GENERIC_IRQ_PROBE=y | 
| @@ -135,7 +140,6 @@ CONFIG_PREEMPT_NONE=y | |||
| 135 | # Code maturity level options | 140 | # Code maturity level options | 
| 136 | # | 141 | # | 
| 137 | CONFIG_EXPERIMENTAL=y | 142 | CONFIG_EXPERIMENTAL=y | 
| 138 | CONFIG_CLEAN_COMPILE=y | ||
| 139 | CONFIG_BROKEN_ON_SMP=y | 143 | CONFIG_BROKEN_ON_SMP=y | 
| 140 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 144 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 
| 141 | 145 | ||
| @@ -151,6 +155,7 @@ CONFIG_SYSVIPC=y | |||
| 151 | CONFIG_SYSCTL=y | 155 | CONFIG_SYSCTL=y | 
| 152 | # CONFIG_AUDIT is not set | 156 | # CONFIG_AUDIT is not set | 
| 153 | # CONFIG_IKCONFIG is not set | 157 | # CONFIG_IKCONFIG is not set | 
| 158 | CONFIG_RELAY=y | ||
| 154 | CONFIG_INITRAMFS_SOURCE="" | 159 | CONFIG_INITRAMFS_SOURCE="" | 
| 155 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 160 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 
| 156 | CONFIG_EMBEDDED=y | 161 | CONFIG_EMBEDDED=y | 
| @@ -164,10 +169,6 @@ CONFIG_BASE_FULL=y | |||
| 164 | CONFIG_FUTEX=y | 169 | CONFIG_FUTEX=y | 
| 165 | CONFIG_EPOLL=y | 170 | CONFIG_EPOLL=y | 
| 166 | CONFIG_SHMEM=y | 171 | CONFIG_SHMEM=y | 
| 167 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
| 168 | CONFIG_CC_ALIGN_LABELS=0 | ||
| 169 | CONFIG_CC_ALIGN_LOOPS=0 | ||
| 170 | CONFIG_CC_ALIGN_JUMPS=0 | ||
| 171 | CONFIG_SLAB=y | 172 | CONFIG_SLAB=y | 
| 172 | # CONFIG_TINY_SHMEM is not set | 173 | # CONFIG_TINY_SHMEM is not set | 
| 173 | CONFIG_BASE_SMALL=0 | 174 | CONFIG_BASE_SMALL=0 | 
| @@ -179,7 +180,6 @@ CONFIG_BASE_SMALL=0 | |||
| 179 | CONFIG_MODULES=y | 180 | CONFIG_MODULES=y | 
| 180 | CONFIG_MODULE_UNLOAD=y | 181 | CONFIG_MODULE_UNLOAD=y | 
| 181 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 182 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 
| 182 | CONFIG_OBSOLETE_MODPARM=y | ||
| 183 | CONFIG_MODVERSIONS=y | 183 | CONFIG_MODVERSIONS=y | 
| 184 | CONFIG_MODULE_SRCVERSION_ALL=y | 184 | CONFIG_MODULE_SRCVERSION_ALL=y | 
| 185 | CONFIG_KMOD=y | 185 | CONFIG_KMOD=y | 
| @@ -187,6 +187,9 @@ CONFIG_KMOD=y | |||
| 187 | # | 187 | # | 
| 188 | # Block layer | 188 | # Block layer | 
| 189 | # | 189 | # | 
| 190 | # CONFIG_LBD is not set | ||
| 191 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 192 | # CONFIG_LSF is not set | ||
| 190 | 193 | ||
| 191 | # | 194 | # | 
| 192 | # IO Schedulers | 195 | # IO Schedulers | 
| @@ -206,7 +209,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
| 206 | # | 209 | # | 
| 207 | CONFIG_HW_HAS_PCI=y | 210 | CONFIG_HW_HAS_PCI=y | 
| 208 | CONFIG_PCI=y | 211 | CONFIG_PCI=y | 
| 209 | CONFIG_PCI_LEGACY_PROC=y | ||
| 210 | CONFIG_MMU=y | 212 | CONFIG_MMU=y | 
| 211 | 213 | ||
| 212 | # | 214 | # | 
| @@ -225,6 +227,7 @@ CONFIG_PCMCIA_IOCTL=y | |||
| 225 | # CONFIG_YENTA is not set | 227 | # CONFIG_YENTA is not set | 
| 226 | # CONFIG_PD6729 is not set | 228 | # CONFIG_PD6729 is not set | 
| 227 | # CONFIG_I82092 is not set | 229 | # CONFIG_I82092 is not set | 
| 230 | # CONFIG_PCMCIA_VRC4173 is not set | ||
| 228 | 231 | ||
| 229 | # | 232 | # | 
| 230 | # PCI Hotplug Support | 233 | # PCI Hotplug Support | 
| @@ -236,6 +239,7 @@ CONFIG_PCMCIA_IOCTL=y | |||
| 236 | # | 239 | # | 
| 237 | CONFIG_BINFMT_ELF=y | 240 | CONFIG_BINFMT_ELF=y | 
| 238 | # CONFIG_BINFMT_MISC is not set | 241 | # CONFIG_BINFMT_MISC is not set | 
| 242 | CONFIG_TRAD_SIGNALS=y | ||
| 239 | 243 | ||
| 240 | # | 244 | # | 
| 241 | # Networking | 245 | # Networking | 
| @@ -245,6 +249,7 @@ CONFIG_NET=y | |||
| 245 | # | 249 | # | 
| 246 | # Networking options | 250 | # Networking options | 
| 247 | # | 251 | # | 
| 252 | # CONFIG_NETDEBUG is not set | ||
| 248 | CONFIG_PACKET=y | 253 | CONFIG_PACKET=y | 
| 249 | CONFIG_PACKET_MMAP=y | 254 | CONFIG_PACKET_MMAP=y | 
| 250 | CONFIG_UNIX=y | 255 | CONFIG_UNIX=y | 
| @@ -264,12 +269,15 @@ CONFIG_IP_FIB_HASH=y | |||
| 264 | # CONFIG_INET_AH is not set | 269 | # CONFIG_INET_AH is not set | 
| 265 | # CONFIG_INET_ESP is not set | 270 | # CONFIG_INET_ESP is not set | 
| 266 | # CONFIG_INET_IPCOMP is not set | 271 | # CONFIG_INET_IPCOMP is not set | 
| 267 | CONFIG_INET_TUNNEL=m | 272 | # CONFIG_INET_XFRM_TUNNEL is not set | 
| 273 | # CONFIG_INET_TUNNEL is not set | ||
| 268 | CONFIG_INET_DIAG=y | 274 | CONFIG_INET_DIAG=y | 
| 269 | CONFIG_INET_TCP_DIAG=y | 275 | CONFIG_INET_TCP_DIAG=y | 
| 270 | # CONFIG_TCP_CONG_ADVANCED is not set | 276 | # CONFIG_TCP_CONG_ADVANCED is not set | 
| 271 | CONFIG_TCP_CONG_BIC=y | 277 | CONFIG_TCP_CONG_BIC=y | 
| 272 | # CONFIG_IPV6 is not set | 278 | # CONFIG_IPV6 is not set | 
| 279 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
| 280 | # CONFIG_INET6_TUNNEL is not set | ||
| 273 | # CONFIG_NETFILTER is not set | 281 | # CONFIG_NETFILTER is not set | 
| 274 | 282 | ||
| 275 | # | 283 | # | 
| @@ -281,6 +289,11 @@ CONFIG_TCP_CONG_BIC=y | |||
| 281 | # SCTP Configuration (EXPERIMENTAL) | 289 | # SCTP Configuration (EXPERIMENTAL) | 
| 282 | # | 290 | # | 
| 283 | # CONFIG_IP_SCTP is not set | 291 | # CONFIG_IP_SCTP is not set | 
| 292 | |||
| 293 | # | ||
| 294 | # TIPC Configuration (EXPERIMENTAL) | ||
| 295 | # | ||
| 296 | # CONFIG_TIPC is not set | ||
| 284 | # CONFIG_ATM is not set | 297 | # CONFIG_ATM is not set | 
| 285 | # CONFIG_BRIDGE is not set | 298 | # CONFIG_BRIDGE is not set | 
| 286 | # CONFIG_VLAN_8021Q is not set | 299 | # CONFIG_VLAN_8021Q is not set | 
| @@ -290,11 +303,6 @@ CONFIG_TCP_CONG_BIC=y | |||
| 290 | # CONFIG_ATALK is not set | 303 | # CONFIG_ATALK is not set | 
| 291 | # CONFIG_X25 is not set | 304 | # CONFIG_X25 is not set | 
| 292 | # CONFIG_LAPB is not set | 305 | # CONFIG_LAPB is not set | 
| 293 | |||
| 294 | # | ||
| 295 | # TIPC Configuration (EXPERIMENTAL) | ||
| 296 | # | ||
| 297 | # CONFIG_TIPC is not set | ||
| 298 | # CONFIG_NET_DIVERT is not set | 306 | # CONFIG_NET_DIVERT is not set | 
| 299 | # CONFIG_ECONET is not set | 307 | # CONFIG_ECONET is not set | 
| 300 | # CONFIG_WAN_ROUTER is not set | 308 | # CONFIG_WAN_ROUTER is not set | 
| @@ -316,6 +324,9 @@ CONFIG_IEEE80211=m | |||
| 316 | CONFIG_IEEE80211_CRYPT_WEP=m | 324 | CONFIG_IEEE80211_CRYPT_WEP=m | 
| 317 | CONFIG_IEEE80211_CRYPT_CCMP=m | 325 | CONFIG_IEEE80211_CRYPT_CCMP=m | 
| 318 | CONFIG_IEEE80211_CRYPT_TKIP=m | 326 | CONFIG_IEEE80211_CRYPT_TKIP=m | 
| 327 | CONFIG_IEEE80211_SOFTMAC=m | ||
| 328 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
| 329 | CONFIG_WIRELESS_EXT=y | ||
| 319 | 330 | ||
| 320 | # | 331 | # | 
| 321 | # Device Drivers | 332 | # Device Drivers | 
| @@ -360,7 +371,7 @@ CONFIG_CONNECTOR=m | |||
| 360 | # CONFIG_BLK_DEV_SX8 is not set | 371 | # CONFIG_BLK_DEV_SX8 is not set | 
| 361 | # CONFIG_BLK_DEV_UB is not set | 372 | # CONFIG_BLK_DEV_UB is not set | 
| 362 | # CONFIG_BLK_DEV_RAM is not set | 373 | # CONFIG_BLK_DEV_RAM is not set | 
| 363 | CONFIG_BLK_DEV_RAM_COUNT=16 | 374 | # CONFIG_BLK_DEV_INITRD is not set | 
| 364 | # CONFIG_CDROM_PKTCDVD is not set | 375 | # CONFIG_CDROM_PKTCDVD is not set | 
| 365 | CONFIG_ATA_OVER_ETH=m | 376 | CONFIG_ATA_OVER_ETH=m | 
| 366 | 377 | ||
| @@ -475,6 +486,7 @@ CONFIG_MII=m | |||
| 475 | # Wireless LAN (non-hamradio) | 486 | # Wireless LAN (non-hamradio) | 
| 476 | # | 487 | # | 
| 477 | CONFIG_NET_RADIO=y | 488 | CONFIG_NET_RADIO=y | 
| 489 | # CONFIG_NET_WIRELESS_RTNETLINK is not set | ||
| 478 | 490 | ||
| 479 | # | 491 | # | 
| 480 | # Obsolete Wireless cards support (pre-802.11) | 492 | # Obsolete Wireless cards support (pre-802.11) | 
| @@ -513,6 +525,7 @@ CONFIG_PCMCIA_HERMES=m | |||
| 513 | # | 525 | # | 
| 514 | # CONFIG_PRISM54 is not set | 526 | # CONFIG_PRISM54 is not set | 
| 515 | # CONFIG_HOSTAP is not set | 527 | # CONFIG_HOSTAP is not set | 
| 528 | # CONFIG_BCM43XX is not set | ||
| 516 | CONFIG_NET_WIRELESS=y | 529 | CONFIG_NET_WIRELESS=y | 
| 517 | 530 | ||
| 518 | # | 531 | # | 
| @@ -604,6 +617,8 @@ CONFIG_HW_CONSOLE=y | |||
| 604 | # | 617 | # | 
| 605 | # Non-8250 serial port support | 618 | # Non-8250 serial port support | 
| 606 | # | 619 | # | 
| 620 | # CONFIG_SERIAL_VR41XX is not set | ||
| 621 | # CONFIG_SERIAL_JSM is not set | ||
| 607 | CONFIG_UNIX98_PTYS=y | 622 | CONFIG_UNIX98_PTYS=y | 
| 608 | CONFIG_LEGACY_PTYS=y | 623 | CONFIG_LEGACY_PTYS=y | 
| 609 | CONFIG_LEGACY_PTY_COUNT=256 | 624 | CONFIG_LEGACY_PTY_COUNT=256 | 
| @@ -634,6 +649,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
| 634 | # CONFIG_SYNCLINK_CS is not set | 649 | # CONFIG_SYNCLINK_CS is not set | 
| 635 | # CONFIG_CARDMAN_4000 is not set | 650 | # CONFIG_CARDMAN_4000 is not set | 
| 636 | # CONFIG_CARDMAN_4040 is not set | 651 | # CONFIG_CARDMAN_4040 is not set | 
| 652 | # CONFIG_GPIO_VR41XX is not set | ||
| 637 | # CONFIG_RAW_DRIVER is not set | 653 | # CONFIG_RAW_DRIVER is not set | 
| 638 | 654 | ||
| 639 | # | 655 | # | 
| @@ -669,10 +685,6 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
| 669 | # | 685 | # | 
| 670 | 686 | ||
| 671 | # | 687 | # | 
| 672 | # Multimedia Capabilities Port drivers | ||
| 673 | # | ||
| 674 | |||
| 675 | # | ||
| 676 | # Multimedia devices | 688 | # Multimedia devices | 
| 677 | # | 689 | # | 
| 678 | # CONFIG_VIDEO_DEV is not set | 690 | # CONFIG_VIDEO_DEV is not set | 
| @@ -681,6 +693,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
| 681 | # Digital Video Broadcasting Devices | 693 | # Digital Video Broadcasting Devices | 
| 682 | # | 694 | # | 
| 683 | # CONFIG_DVB is not set | 695 | # CONFIG_DVB is not set | 
| 696 | # CONFIG_USB_DABUSB is not set | ||
| 684 | 697 | ||
| 685 | # | 698 | # | 
| 686 | # Graphics support | 699 | # Graphics support | 
| @@ -703,6 +716,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
| 703 | # | 716 | # | 
| 704 | CONFIG_USB_ARCH_HAS_HCD=y | 717 | CONFIG_USB_ARCH_HAS_HCD=y | 
| 705 | CONFIG_USB_ARCH_HAS_OHCI=y | 718 | CONFIG_USB_ARCH_HAS_OHCI=y | 
| 719 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
| 706 | CONFIG_USB=m | 720 | CONFIG_USB=m | 
| 707 | # CONFIG_USB_DEBUG is not set | 721 | # CONFIG_USB_DEBUG is not set | 
| 708 | 722 | ||
| @@ -756,9 +770,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y | |||
| 756 | # CONFIG_USB_ACECAD is not set | 770 | # CONFIG_USB_ACECAD is not set | 
| 757 | # CONFIG_USB_KBTAB is not set | 771 | # CONFIG_USB_KBTAB is not set | 
| 758 | # CONFIG_USB_POWERMATE is not set | 772 | # CONFIG_USB_POWERMATE is not set | 
| 759 | # CONFIG_USB_MTOUCH is not set | 773 | # CONFIG_USB_TOUCHSCREEN is not set | 
| 760 | # CONFIG_USB_ITMTOUCH is not set | ||
| 761 | # CONFIG_USB_EGALAX is not set | ||
| 762 | # CONFIG_USB_YEALINK is not set | 774 | # CONFIG_USB_YEALINK is not set | 
| 763 | # CONFIG_USB_XPAD is not set | 775 | # CONFIG_USB_XPAD is not set | 
| 764 | # CONFIG_USB_ATI_REMOTE is not set | 776 | # CONFIG_USB_ATI_REMOTE is not set | 
| @@ -772,15 +784,6 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y | |||
| 772 | # CONFIG_USB_MDC800 is not set | 784 | # CONFIG_USB_MDC800 is not set | 
| 773 | 785 | ||
| 774 | # | 786 | # | 
| 775 | # USB Multimedia devices | ||
| 776 | # | ||
| 777 | # CONFIG_USB_DABUSB is not set | ||
| 778 | |||
| 779 | # | ||
| 780 | # Video4Linux support is needed for USB Multimedia device support | ||
| 781 | # | ||
| 782 | |||
| 783 | # | ||
| 784 | # USB Network Adapters | 787 | # USB Network Adapters | 
| 785 | # | 788 | # | 
| 786 | # CONFIG_USB_CATC is not set | 789 | # CONFIG_USB_CATC is not set | 
| @@ -832,13 +835,31 @@ CONFIG_USB_PEGASUS=m | |||
| 832 | # CONFIG_MMC is not set | 835 | # CONFIG_MMC is not set | 
| 833 | 836 | ||
| 834 | # | 837 | # | 
| 838 | # LED devices | ||
| 839 | # | ||
| 840 | # CONFIG_NEW_LEDS is not set | ||
| 841 | |||
| 842 | # | ||
| 843 | # LED drivers | ||
| 844 | # | ||
| 845 | |||
| 846 | # | ||
| 847 | # LED Triggers | ||
| 848 | # | ||
| 849 | |||
| 850 | # | ||
| 835 | # InfiniBand support | 851 | # InfiniBand support | 
| 836 | # | 852 | # | 
| 837 | # CONFIG_INFINIBAND is not set | 853 | # CONFIG_INFINIBAND is not set | 
| 838 | 854 | ||
| 839 | # | 855 | # | 
| 840 | # SN Devices | 856 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | 
| 857 | # | ||
| 858 | |||
| 859 | # | ||
| 860 | # Real Time Clock | ||
| 841 | # | 861 | # | 
| 862 | # CONFIG_RTC_CLASS is not set | ||
| 842 | 863 | ||
| 843 | # | 864 | # | 
| 844 | # File systems | 865 | # File systems | 
| @@ -883,7 +904,6 @@ CONFIG_SYSFS=y | |||
| 883 | # CONFIG_TMPFS is not set | 904 | # CONFIG_TMPFS is not set | 
| 884 | # CONFIG_HUGETLB_PAGE is not set | 905 | # CONFIG_HUGETLB_PAGE is not set | 
| 885 | CONFIG_RAMFS=y | 906 | CONFIG_RAMFS=y | 
| 886 | CONFIG_RELAYFS_FS=m | ||
| 887 | # CONFIG_CONFIGFS_FS is not set | 907 | # CONFIG_CONFIGFS_FS is not set | 
| 888 | 908 | ||
| 889 | # | 909 | # | 
| @@ -946,6 +966,7 @@ CONFIG_MSDOS_PARTITION=y | |||
| 946 | # CONFIG_MAGIC_SYSRQ is not set | 966 | # CONFIG_MAGIC_SYSRQ is not set | 
| 947 | # CONFIG_DEBUG_KERNEL is not set | 967 | # CONFIG_DEBUG_KERNEL is not set | 
| 948 | CONFIG_LOG_BUF_SHIFT=14 | 968 | CONFIG_LOG_BUF_SHIFT=14 | 
| 969 | # CONFIG_DEBUG_FS is not set | ||
| 949 | CONFIG_CROSSCOMPILE=y | 970 | CONFIG_CROSSCOMPILE=y | 
| 950 | CONFIG_CMDLINE="mem=32M console=ttyVR0,19200" | 971 | CONFIG_CMDLINE="mem=32M console=ttyVR0,19200" | 
| 951 | 972 | ||
diff --git a/arch/mips/configs/ocelot_3_defconfig b/arch/mips/configs/ocelot_3_defconfig index 925d8adef88d..1ce4310fd92a 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.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 | 
| 4 | # Fri Jan 27 15:40:18 2006 | 4 | # Mon Apr 24 14:51:10 2006 | 
| 5 | # | 5 | # | 
| 6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y | 
| 7 | 7 | ||
| @@ -64,6 +64,8 @@ CONFIG_MOMENCO_OCELOT_3=y | |||
| 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 
| 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 
| 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 
| 67 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
| 68 | CONFIG_GENERIC_HWEIGHT=y | ||
| 67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 69 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 
| 68 | CONFIG_DMA_NONCOHERENT=y | 70 | CONFIG_DMA_NONCOHERENT=y | 
| 69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 71 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 
| @@ -120,7 +122,6 @@ CONFIG_RM7000_CPU_SCACHE=y | |||
| 120 | CONFIG_CPU_HAS_PREFETCH=y | 122 | CONFIG_CPU_HAS_PREFETCH=y | 
| 121 | # CONFIG_MIPS_MT is not set | 123 | # CONFIG_MIPS_MT is not set | 
| 122 | # CONFIG_64BIT_PHYS_ADDR is not set | 124 | # CONFIG_64BIT_PHYS_ADDR is not set | 
| 123 | # CONFIG_CPU_ADVANCED is not set | ||
| 124 | CONFIG_CPU_HAS_LLSC=y | 125 | CONFIG_CPU_HAS_LLSC=y | 
| 125 | CONFIG_CPU_HAS_SYNC=y | 126 | CONFIG_CPU_HAS_SYNC=y | 
| 126 | CONFIG_GENERIC_HARDIRQS=y | 127 | CONFIG_GENERIC_HARDIRQS=y | 
| @@ -144,7 +145,6 @@ CONFIG_PREEMPT_NONE=y | |||
| 144 | # Code maturity level options | 145 | # Code maturity level options | 
| 145 | # | 146 | # | 
| 146 | CONFIG_EXPERIMENTAL=y | 147 | CONFIG_EXPERIMENTAL=y | 
| 147 | CONFIG_CLEAN_COMPILE=y | ||
| 148 | CONFIG_BROKEN_ON_SMP=y | 148 | CONFIG_BROKEN_ON_SMP=y | 
| 149 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 149 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 
| 150 | 150 | ||
| @@ -161,6 +161,7 @@ CONFIG_SYSCTL=y | |||
| 161 | # CONFIG_AUDIT is not set | 161 | # CONFIG_AUDIT is not set | 
| 162 | CONFIG_IKCONFIG=y | 162 | CONFIG_IKCONFIG=y | 
| 163 | CONFIG_IKCONFIG_PROC=y | 163 | CONFIG_IKCONFIG_PROC=y | 
| 164 | CONFIG_RELAY=y | ||
| 164 | CONFIG_INITRAMFS_SOURCE="" | 165 | CONFIG_INITRAMFS_SOURCE="" | 
| 165 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 166 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 
| 166 | CONFIG_EMBEDDED=y | 167 | CONFIG_EMBEDDED=y | 
| @@ -174,10 +175,6 @@ CONFIG_BASE_FULL=y | |||
| 174 | CONFIG_FUTEX=y | 175 | CONFIG_FUTEX=y | 
| 175 | CONFIG_EPOLL=y | 176 | CONFIG_EPOLL=y | 
| 176 | CONFIG_SHMEM=y | 177 | CONFIG_SHMEM=y | 
| 177 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
| 178 | CONFIG_CC_ALIGN_LABELS=0 | ||
| 179 | CONFIG_CC_ALIGN_LOOPS=0 | ||
| 180 | CONFIG_CC_ALIGN_JUMPS=0 | ||
| 181 | CONFIG_SLAB=y | 178 | CONFIG_SLAB=y | 
| 182 | # CONFIG_TINY_SHMEM is not set | 179 | # CONFIG_TINY_SHMEM is not set | 
| 183 | CONFIG_BASE_SMALL=0 | 180 | CONFIG_BASE_SMALL=0 | 
| @@ -189,7 +186,6 @@ CONFIG_BASE_SMALL=0 | |||
| 189 | CONFIG_MODULES=y | 186 | CONFIG_MODULES=y | 
| 190 | CONFIG_MODULE_UNLOAD=y | 187 | CONFIG_MODULE_UNLOAD=y | 
| 191 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 188 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 
| 192 | CONFIG_OBSOLETE_MODPARM=y | ||
| 193 | CONFIG_MODVERSIONS=y | 189 | CONFIG_MODVERSIONS=y | 
| 194 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 190 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 
| 195 | CONFIG_KMOD=y | 191 | CONFIG_KMOD=y | 
| @@ -198,6 +194,8 @@ CONFIG_KMOD=y | |||
| 198 | # Block layer | 194 | # Block layer | 
| 199 | # | 195 | # | 
| 200 | # CONFIG_LBD is not set | 196 | # CONFIG_LBD is not set | 
| 197 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 198 | # CONFIG_LSF is not set | ||
| 201 | 199 | ||
| 202 | # | 200 | # | 
| 203 | # IO Schedulers | 201 | # IO Schedulers | 
| @@ -217,7 +215,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
| 217 | # | 215 | # | 
| 218 | CONFIG_HW_HAS_PCI=y | 216 | CONFIG_HW_HAS_PCI=y | 
| 219 | CONFIG_PCI=y | 217 | CONFIG_PCI=y | 
| 220 | CONFIG_PCI_LEGACY_PROC=y | ||
| 221 | CONFIG_MMU=y | 218 | CONFIG_MMU=y | 
| 222 | 219 | ||
| 223 | # | 220 | # | 
| @@ -245,6 +242,7 @@ CONFIG_NET=y | |||
| 245 | # | 242 | # | 
| 246 | # Networking options | 243 | # Networking options | 
| 247 | # | 244 | # | 
| 245 | # CONFIG_NETDEBUG is not set | ||
| 248 | CONFIG_PACKET=y | 246 | CONFIG_PACKET=y | 
| 249 | # CONFIG_PACKET_MMAP is not set | 247 | # CONFIG_PACKET_MMAP is not set | 
| 250 | CONFIG_UNIX=y | 248 | CONFIG_UNIX=y | 
| @@ -266,6 +264,7 @@ CONFIG_IP_PNP_BOOTP=y | |||
| 266 | # CONFIG_INET_AH is not set | 264 | # CONFIG_INET_AH is not set | 
| 267 | # CONFIG_INET_ESP is not set | 265 | # CONFIG_INET_ESP is not set | 
| 268 | # CONFIG_INET_IPCOMP is not set | 266 | # CONFIG_INET_IPCOMP is not set | 
| 267 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
| 269 | # CONFIG_INET_TUNNEL is not set | 268 | # CONFIG_INET_TUNNEL is not set | 
| 270 | CONFIG_INET_DIAG=y | 269 | CONFIG_INET_DIAG=y | 
| 271 | CONFIG_INET_TCP_DIAG=y | 270 | CONFIG_INET_TCP_DIAG=y | 
| @@ -278,9 +277,12 @@ CONFIG_TCP_CONG_BIC=y | |||
| 278 | # CONFIG_IP_VS is not set | 277 | # CONFIG_IP_VS is not set | 
| 279 | CONFIG_IPV6=m | 278 | CONFIG_IPV6=m | 
| 280 | # CONFIG_IPV6_PRIVACY is not set | 279 | # CONFIG_IPV6_PRIVACY is not set | 
| 280 | CONFIG_IPV6_ROUTER_PREF=y | ||
| 281 | CONFIG_IPV6_ROUTE_INFO=y | ||
| 281 | # CONFIG_INET6_AH is not set | 282 | # CONFIG_INET6_AH is not set | 
| 282 | # CONFIG_INET6_ESP is not set | 283 | # CONFIG_INET6_ESP is not set | 
| 283 | # CONFIG_INET6_IPCOMP is not set | 284 | # CONFIG_INET6_IPCOMP is not set | 
| 285 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
| 284 | # CONFIG_INET6_TUNNEL is not set | 286 | # CONFIG_INET6_TUNNEL is not set | 
| 285 | # CONFIG_IPV6_TUNNEL is not set | 287 | # CONFIG_IPV6_TUNNEL is not set | 
| 286 | CONFIG_NETFILTER=y | 288 | CONFIG_NETFILTER=y | 
| @@ -299,10 +301,13 @@ CONFIG_NETFILTER_XT_TARGET_MARK=m | |||
| 299 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | 301 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | 
| 300 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | 302 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | 
| 301 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 303 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 
| 304 | CONFIG_NETFILTER_XT_MATCH_ESP=m | ||
| 302 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | 305 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | 
| 303 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | 306 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | 
| 304 | CONFIG_NETFILTER_XT_MATCH_MAC=m | 307 | CONFIG_NETFILTER_XT_MATCH_MAC=m | 
| 305 | CONFIG_NETFILTER_XT_MATCH_MARK=m | 308 | CONFIG_NETFILTER_XT_MATCH_MARK=m | 
| 309 | CONFIG_NETFILTER_XT_MATCH_POLICY=m | ||
| 310 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m | ||
| 306 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 311 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 
| 307 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 312 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 
| 308 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | 313 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | 
| @@ -332,6 +337,11 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | |||
| 332 | # SCTP Configuration (EXPERIMENTAL) | 337 | # SCTP Configuration (EXPERIMENTAL) | 
| 333 | # | 338 | # | 
| 334 | # CONFIG_IP_SCTP is not set | 339 | # CONFIG_IP_SCTP is not set | 
| 340 | |||
| 341 | # | ||
| 342 | # TIPC Configuration (EXPERIMENTAL) | ||
| 343 | # | ||
| 344 | # CONFIG_TIPC is not set | ||
| 335 | # CONFIG_ATM is not set | 345 | # CONFIG_ATM is not set | 
| 336 | # CONFIG_BRIDGE is not set | 346 | # CONFIG_BRIDGE is not set | 
| 337 | # CONFIG_VLAN_8021Q is not set | 347 | # CONFIG_VLAN_8021Q is not set | 
| @@ -341,11 +351,6 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | |||
| 341 | # CONFIG_ATALK is not set | 351 | # CONFIG_ATALK is not set | 
| 342 | # CONFIG_X25 is not set | 352 | # CONFIG_X25 is not set | 
| 343 | # CONFIG_LAPB is not set | 353 | # CONFIG_LAPB is not set | 
| 344 | |||
| 345 | # | ||
| 346 | # TIPC Configuration (EXPERIMENTAL) | ||
| 347 | # | ||
| 348 | # CONFIG_TIPC is not set | ||
| 349 | # CONFIG_NET_DIVERT is not set | 354 | # CONFIG_NET_DIVERT is not set | 
| 350 | # CONFIG_ECONET is not set | 355 | # CONFIG_ECONET is not set | 
| 351 | # CONFIG_WAN_ROUTER is not set | 356 | # CONFIG_WAN_ROUTER is not set | 
| @@ -367,6 +372,9 @@ CONFIG_IEEE80211=m | |||
| 367 | # CONFIG_IEEE80211_DEBUG is not set | 372 | # CONFIG_IEEE80211_DEBUG is not set | 
| 368 | CONFIG_IEEE80211_CRYPT_WEP=m | 373 | CONFIG_IEEE80211_CRYPT_WEP=m | 
| 369 | CONFIG_IEEE80211_CRYPT_CCMP=m | 374 | CONFIG_IEEE80211_CRYPT_CCMP=m | 
| 375 | CONFIG_IEEE80211_SOFTMAC=m | ||
| 376 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
| 377 | CONFIG_WIRELESS_EXT=y | ||
| 370 | 378 | ||
| 371 | # | 379 | # | 
| 372 | # Device Drivers | 380 | # Device Drivers | 
| @@ -411,7 +419,7 @@ CONFIG_BLK_DEV_LOOP=y | |||
| 411 | # CONFIG_BLK_DEV_NBD is not set | 419 | # CONFIG_BLK_DEV_NBD is not set | 
| 412 | # CONFIG_BLK_DEV_SX8 is not set | 420 | # CONFIG_BLK_DEV_SX8 is not set | 
| 413 | # CONFIG_BLK_DEV_RAM is not set | 421 | # CONFIG_BLK_DEV_RAM is not set | 
| 414 | CONFIG_BLK_DEV_RAM_COUNT=16 | 422 | # CONFIG_BLK_DEV_INITRD is not set | 
| 415 | # CONFIG_CDROM_PKTCDVD is not set | 423 | # CONFIG_CDROM_PKTCDVD is not set | 
| 416 | CONFIG_ATA_OVER_ETH=m | 424 | CONFIG_ATA_OVER_ETH=m | 
| 417 | 425 | ||
| @@ -475,7 +483,6 @@ CONFIG_ISCSI_TCP=m | |||
| 475 | # CONFIG_SCSI_INIA100 is not set | 483 | # CONFIG_SCSI_INIA100 is not set | 
| 476 | # CONFIG_SCSI_SYM53C8XX_2 is not set | 484 | # CONFIG_SCSI_SYM53C8XX_2 is not set | 
| 477 | # CONFIG_SCSI_IPR is not set | 485 | # CONFIG_SCSI_IPR is not set | 
| 478 | # CONFIG_SCSI_QLOGIC_FC is not set | ||
| 479 | # CONFIG_SCSI_QLOGIC_1280 is not set | 486 | # CONFIG_SCSI_QLOGIC_1280 is not set | 
| 480 | # CONFIG_SCSI_QLA_FC is not set | 487 | # CONFIG_SCSI_QLA_FC is not set | 
| 481 | # CONFIG_SCSI_LPFC is not set | 488 | # CONFIG_SCSI_LPFC is not set | 
| @@ -690,6 +697,7 @@ CONFIG_HW_CONSOLE=y | |||
| 690 | # | 697 | # | 
| 691 | CONFIG_SERIAL_8250=y | 698 | CONFIG_SERIAL_8250=y | 
| 692 | CONFIG_SERIAL_8250_CONSOLE=y | 699 | CONFIG_SERIAL_8250_CONSOLE=y | 
| 700 | CONFIG_SERIAL_8250_PCI=y | ||
| 693 | CONFIG_SERIAL_8250_NR_UARTS=4 | 701 | CONFIG_SERIAL_8250_NR_UARTS=4 | 
| 694 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 702 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 
| 695 | # CONFIG_SERIAL_8250_EXTENDED is not set | 703 | # CONFIG_SERIAL_8250_EXTENDED is not set | 
| @@ -699,6 +707,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | |||
| 699 | # | 707 | # | 
| 700 | CONFIG_SERIAL_CORE=y | 708 | CONFIG_SERIAL_CORE=y | 
| 701 | CONFIG_SERIAL_CORE_CONSOLE=y | 709 | CONFIG_SERIAL_CORE_CONSOLE=y | 
| 710 | # CONFIG_SERIAL_JSM is not set | ||
| 702 | CONFIG_UNIX98_PTYS=y | 711 | CONFIG_UNIX98_PTYS=y | 
| 703 | CONFIG_LEGACY_PTYS=y | 712 | CONFIG_LEGACY_PTYS=y | 
| 704 | CONFIG_LEGACY_PTY_COUNT=256 | 713 | CONFIG_LEGACY_PTY_COUNT=256 | 
| @@ -756,10 +765,6 @@ CONFIG_RTC=y | |||
| 756 | # | 765 | # | 
| 757 | 766 | ||
| 758 | # | 767 | # | 
| 759 | # Multimedia Capabilities Port drivers | ||
| 760 | # | ||
| 761 | |||
| 762 | # | ||
| 763 | # Multimedia devices | 768 | # Multimedia devices | 
| 764 | # | 769 | # | 
| 765 | # CONFIG_VIDEO_DEV is not set | 770 | # CONFIG_VIDEO_DEV is not set | 
| @@ -777,6 +782,7 @@ CONFIG_FB=y | |||
| 777 | # CONFIG_FB_CFB_COPYAREA is not set | 782 | # CONFIG_FB_CFB_COPYAREA is not set | 
| 778 | # CONFIG_FB_CFB_IMAGEBLIT is not set | 783 | # CONFIG_FB_CFB_IMAGEBLIT is not set | 
| 779 | # CONFIG_FB_MACMODES is not set | 784 | # CONFIG_FB_MACMODES is not set | 
| 785 | CONFIG_FB_FIRMWARE_EDID=y | ||
| 780 | CONFIG_FB_MODE_HELPERS=y | 786 | CONFIG_FB_MODE_HELPERS=y | 
| 781 | # CONFIG_FB_TILEBLITTING is not set | 787 | # CONFIG_FB_TILEBLITTING is not set | 
| 782 | # CONFIG_FB_CIRRUS is not set | 788 | # CONFIG_FB_CIRRUS is not set | 
| @@ -788,7 +794,6 @@ CONFIG_FB_MODE_HELPERS=y | |||
| 788 | # CONFIG_FB_NVIDIA is not set | 794 | # CONFIG_FB_NVIDIA is not set | 
| 789 | # CONFIG_FB_RIVA is not set | 795 | # CONFIG_FB_RIVA is not set | 
| 790 | # CONFIG_FB_MATROX is not set | 796 | # CONFIG_FB_MATROX is not set | 
| 791 | # CONFIG_FB_RADEON_OLD is not set | ||
| 792 | # CONFIG_FB_RADEON is not set | 797 | # CONFIG_FB_RADEON is not set | 
| 793 | # CONFIG_FB_ATY128 is not set | 798 | # CONFIG_FB_ATY128 is not set | 
| 794 | # CONFIG_FB_ATY is not set | 799 | # CONFIG_FB_ATY is not set | 
| @@ -832,6 +837,7 @@ CONFIG_LOGO_LINUX_CLUT224=y | |||
| 832 | # | 837 | # | 
| 833 | CONFIG_USB_ARCH_HAS_HCD=y | 838 | CONFIG_USB_ARCH_HAS_HCD=y | 
| 834 | CONFIG_USB_ARCH_HAS_OHCI=y | 839 | CONFIG_USB_ARCH_HAS_OHCI=y | 
| 840 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
| 835 | # CONFIG_USB is not set | 841 | # CONFIG_USB is not set | 
| 836 | 842 | ||
| 837 | # | 843 | # | 
| @@ -849,13 +855,31 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
| 849 | # CONFIG_MMC is not set | 855 | # CONFIG_MMC is not set | 
| 850 | 856 | ||
| 851 | # | 857 | # | 
| 858 | # LED devices | ||
| 859 | # | ||
| 860 | # CONFIG_NEW_LEDS is not set | ||
| 861 | |||
| 862 | # | ||
| 863 | # LED drivers | ||
| 864 | # | ||
| 865 | |||
| 866 | # | ||
| 867 | # LED Triggers | ||
| 868 | # | ||
| 869 | |||
| 870 | # | ||
| 852 | # InfiniBand support | 871 | # InfiniBand support | 
| 853 | # | 872 | # | 
| 854 | # CONFIG_INFINIBAND is not set | 873 | # CONFIG_INFINIBAND is not set | 
| 855 | 874 | ||
| 856 | # | 875 | # | 
| 857 | # SN Devices | 876 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | 
| 877 | # | ||
| 878 | |||
| 879 | # | ||
| 880 | # Real Time Clock | ||
| 858 | # | 881 | # | 
| 882 | # CONFIG_RTC_CLASS is not set | ||
| 859 | 883 | ||
| 860 | # | 884 | # | 
| 861 | # File systems | 885 | # File systems | 
| @@ -914,7 +938,6 @@ CONFIG_SYSFS=y | |||
| 914 | CONFIG_TMPFS=y | 938 | CONFIG_TMPFS=y | 
| 915 | # CONFIG_HUGETLB_PAGE is not set | 939 | # CONFIG_HUGETLB_PAGE is not set | 
| 916 | CONFIG_RAMFS=y | 940 | CONFIG_RAMFS=y | 
| 917 | CONFIG_RELAYFS_FS=m | ||
| 918 | # CONFIG_CONFIGFS_FS is not set | 941 | # CONFIG_CONFIGFS_FS is not set | 
| 919 | 942 | ||
| 920 | # | 943 | # | 
| @@ -1025,6 +1048,7 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
| 1025 | # CONFIG_MAGIC_SYSRQ is not set | 1048 | # CONFIG_MAGIC_SYSRQ is not set | 
| 1026 | # CONFIG_DEBUG_KERNEL is not set | 1049 | # CONFIG_DEBUG_KERNEL is not set | 
| 1027 | CONFIG_LOG_BUF_SHIFT=14 | 1050 | CONFIG_LOG_BUF_SHIFT=14 | 
| 1051 | # CONFIG_DEBUG_FS is not set | ||
| 1028 | CONFIG_CROSSCOMPILE=y | 1052 | CONFIG_CROSSCOMPILE=y | 
| 1029 | CONFIG_CMDLINE="ip=any root=nfs" | 1053 | CONFIG_CMDLINE="ip=any root=nfs" | 
| 1030 | 1054 | ||
diff --git a/arch/mips/configs/ocelot_c_defconfig b/arch/mips/configs/ocelot_c_defconfig index ee1cf9b9eb9a..8a6aa5012f89 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.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 | 
| 4 | # Fri Jan 27 15:40:19 2006 | 4 | # Mon Apr 24 14:51:10 2006 | 
| 5 | # | 5 | # | 
| 6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y | 
| 7 | 7 | ||
| @@ -64,6 +64,8 @@ CONFIG_MOMENCO_OCELOT_C=y | |||
| 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 
| 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 
| 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 
| 67 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
| 68 | CONFIG_GENERIC_HWEIGHT=y | ||
| 67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 69 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 
| 68 | CONFIG_DMA_NONCOHERENT=y | 70 | CONFIG_DMA_NONCOHERENT=y | 
| 69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 71 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 
| @@ -139,7 +141,6 @@ CONFIG_PREEMPT_NONE=y | |||
| 139 | # Code maturity level options | 141 | # Code maturity level options | 
| 140 | # | 142 | # | 
| 141 | CONFIG_EXPERIMENTAL=y | 143 | CONFIG_EXPERIMENTAL=y | 
| 142 | CONFIG_CLEAN_COMPILE=y | ||
| 143 | CONFIG_BROKEN_ON_SMP=y | 144 | CONFIG_BROKEN_ON_SMP=y | 
| 144 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 145 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 
| 145 | 146 | ||
| @@ -155,6 +156,7 @@ CONFIG_SYSVIPC=y | |||
| 155 | CONFIG_SYSCTL=y | 156 | CONFIG_SYSCTL=y | 
| 156 | # CONFIG_AUDIT is not set | 157 | # CONFIG_AUDIT is not set | 
| 157 | # CONFIG_IKCONFIG is not set | 158 | # CONFIG_IKCONFIG is not set | 
| 159 | CONFIG_RELAY=y | ||
| 158 | CONFIG_INITRAMFS_SOURCE="" | 160 | CONFIG_INITRAMFS_SOURCE="" | 
| 159 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 161 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 
| 160 | CONFIG_EMBEDDED=y | 162 | CONFIG_EMBEDDED=y | 
| @@ -168,10 +170,6 @@ CONFIG_BASE_FULL=y | |||
| 168 | CONFIG_FUTEX=y | 170 | CONFIG_FUTEX=y | 
| 169 | CONFIG_EPOLL=y | 171 | CONFIG_EPOLL=y | 
| 170 | CONFIG_SHMEM=y | 172 | CONFIG_SHMEM=y | 
| 171 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
| 172 | CONFIG_CC_ALIGN_LABELS=0 | ||
| 173 | CONFIG_CC_ALIGN_LOOPS=0 | ||
| 174 | CONFIG_CC_ALIGN_JUMPS=0 | ||
| 175 | CONFIG_SLAB=y | 173 | CONFIG_SLAB=y | 
| 176 | # CONFIG_TINY_SHMEM is not set | 174 | # CONFIG_TINY_SHMEM is not set | 
| 177 | CONFIG_BASE_SMALL=0 | 175 | CONFIG_BASE_SMALL=0 | 
| @@ -185,6 +183,7 @@ CONFIG_BASE_SMALL=0 | |||
| 185 | # | 183 | # | 
| 186 | # Block layer | 184 | # Block layer | 
| 187 | # | 185 | # | 
| 186 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 188 | 187 | ||
| 189 | # | 188 | # | 
| 190 | # IO Schedulers | 189 | # IO Schedulers | 
| @@ -204,7 +203,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
| 204 | # | 203 | # | 
| 205 | CONFIG_HW_HAS_PCI=y | 204 | CONFIG_HW_HAS_PCI=y | 
| 206 | CONFIG_PCI=y | 205 | CONFIG_PCI=y | 
| 207 | CONFIG_PCI_LEGACY_PROC=y | ||
| 208 | CONFIG_MMU=y | 206 | CONFIG_MMU=y | 
| 209 | 207 | ||
| 210 | # | 208 | # | 
| @@ -222,6 +220,7 @@ CONFIG_MMU=y | |||
| 222 | # | 220 | # | 
| 223 | CONFIG_BINFMT_ELF=y | 221 | CONFIG_BINFMT_ELF=y | 
| 224 | # CONFIG_BINFMT_MISC is not set | 222 | # CONFIG_BINFMT_MISC is not set | 
| 223 | # CONFIG_BUILD_ELF64 is not set | ||
| 225 | CONFIG_MIPS32_COMPAT=y | 224 | CONFIG_MIPS32_COMPAT=y | 
| 226 | CONFIG_COMPAT=y | 225 | CONFIG_COMPAT=y | 
| 227 | CONFIG_MIPS32_O32=y | 226 | CONFIG_MIPS32_O32=y | 
| @@ -236,6 +235,7 @@ CONFIG_NET=y | |||
| 236 | # | 235 | # | 
| 237 | # Networking options | 236 | # Networking options | 
| 238 | # | 237 | # | 
| 238 | # CONFIG_NETDEBUG is not set | ||
| 239 | # CONFIG_PACKET is not set | 239 | # CONFIG_PACKET is not set | 
| 240 | CONFIG_UNIX=y | 240 | CONFIG_UNIX=y | 
| 241 | CONFIG_XFRM=y | 241 | CONFIG_XFRM=y | 
| @@ -256,12 +256,15 @@ CONFIG_IP_PNP_DHCP=y | |||
| 256 | # CONFIG_INET_AH is not set | 256 | # CONFIG_INET_AH is not set | 
| 257 | # CONFIG_INET_ESP is not set | 257 | # CONFIG_INET_ESP is not set | 
| 258 | # CONFIG_INET_IPCOMP is not set | 258 | # CONFIG_INET_IPCOMP is not set | 
| 259 | CONFIG_INET_TUNNEL=y | 259 | # CONFIG_INET_XFRM_TUNNEL is not set | 
| 260 | # CONFIG_INET_TUNNEL is not set | ||
| 260 | CONFIG_INET_DIAG=y | 261 | CONFIG_INET_DIAG=y | 
| 261 | CONFIG_INET_TCP_DIAG=y | 262 | CONFIG_INET_TCP_DIAG=y | 
| 262 | # CONFIG_TCP_CONG_ADVANCED is not set | 263 | # CONFIG_TCP_CONG_ADVANCED is not set | 
| 263 | CONFIG_TCP_CONG_BIC=y | 264 | CONFIG_TCP_CONG_BIC=y | 
| 264 | # CONFIG_IPV6 is not set | 265 | # CONFIG_IPV6 is not set | 
| 266 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
| 267 | # CONFIG_INET6_TUNNEL is not set | ||
| 265 | # CONFIG_NETFILTER is not set | 268 | # CONFIG_NETFILTER is not set | 
| 266 | 269 | ||
| 267 | # | 270 | # | 
| @@ -273,6 +276,11 @@ CONFIG_TCP_CONG_BIC=y | |||
| 273 | # SCTP Configuration (EXPERIMENTAL) | 276 | # SCTP Configuration (EXPERIMENTAL) | 
| 274 | # | 277 | # | 
| 275 | # CONFIG_IP_SCTP is not set | 278 | # CONFIG_IP_SCTP is not set | 
| 279 | |||
| 280 | # | ||
| 281 | # TIPC Configuration (EXPERIMENTAL) | ||
| 282 | # | ||
| 283 | # CONFIG_TIPC is not set | ||
| 276 | # CONFIG_ATM is not set | 284 | # CONFIG_ATM is not set | 
| 277 | # CONFIG_BRIDGE is not set | 285 | # CONFIG_BRIDGE is not set | 
| 278 | # CONFIG_VLAN_8021Q is not set | 286 | # CONFIG_VLAN_8021Q is not set | 
| @@ -282,11 +290,6 @@ CONFIG_TCP_CONG_BIC=y | |||
| 282 | # CONFIG_ATALK is not set | 290 | # CONFIG_ATALK is not set | 
| 283 | # CONFIG_X25 is not set | 291 | # CONFIG_X25 is not set | 
| 284 | # CONFIG_LAPB is not set | 292 | # CONFIG_LAPB is not set | 
| 285 | |||
| 286 | # | ||
| 287 | # TIPC Configuration (EXPERIMENTAL) | ||
| 288 | # | ||
| 289 | # CONFIG_TIPC is not set | ||
| 290 | # CONFIG_NET_DIVERT is not set | 293 | # CONFIG_NET_DIVERT is not set | 
| 291 | # CONFIG_ECONET is not set | 294 | # CONFIG_ECONET is not set | 
| 292 | # CONFIG_WAN_ROUTER is not set | 295 | # CONFIG_WAN_ROUTER is not set | 
| @@ -307,6 +310,9 @@ CONFIG_IEEE80211=y | |||
| 307 | # CONFIG_IEEE80211_DEBUG is not set | 310 | # CONFIG_IEEE80211_DEBUG is not set | 
| 308 | CONFIG_IEEE80211_CRYPT_WEP=y | 311 | CONFIG_IEEE80211_CRYPT_WEP=y | 
| 309 | CONFIG_IEEE80211_CRYPT_CCMP=y | 312 | CONFIG_IEEE80211_CRYPT_CCMP=y | 
| 313 | CONFIG_IEEE80211_SOFTMAC=y | ||
| 314 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
| 315 | CONFIG_WIRELESS_EXT=y | ||
| 310 | 316 | ||
| 311 | # | 317 | # | 
| 312 | # Device Drivers | 318 | # Device Drivers | 
| @@ -351,7 +357,7 @@ CONFIG_PROC_EVENTS=y | |||
| 351 | # CONFIG_BLK_DEV_NBD is not set | 357 | # CONFIG_BLK_DEV_NBD is not set | 
| 352 | # CONFIG_BLK_DEV_SX8 is not set | 358 | # CONFIG_BLK_DEV_SX8 is not set | 
| 353 | # CONFIG_BLK_DEV_RAM is not set | 359 | # CONFIG_BLK_DEV_RAM is not set | 
| 354 | CONFIG_BLK_DEV_RAM_COUNT=16 | 360 | # CONFIG_BLK_DEV_INITRD is not set | 
| 355 | CONFIG_CDROM_PKTCDVD=y | 361 | CONFIG_CDROM_PKTCDVD=y | 
| 356 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 362 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 
| 357 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 363 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 
| @@ -542,6 +548,7 @@ CONFIG_HW_CONSOLE=y | |||
| 542 | # | 548 | # | 
| 543 | CONFIG_SERIAL_8250=y | 549 | CONFIG_SERIAL_8250=y | 
| 544 | CONFIG_SERIAL_8250_CONSOLE=y | 550 | CONFIG_SERIAL_8250_CONSOLE=y | 
| 551 | CONFIG_SERIAL_8250_PCI=y | ||
| 545 | CONFIG_SERIAL_8250_NR_UARTS=4 | 552 | CONFIG_SERIAL_8250_NR_UARTS=4 | 
| 546 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 553 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 
| 547 | # CONFIG_SERIAL_8250_EXTENDED is not set | 554 | # CONFIG_SERIAL_8250_EXTENDED is not set | 
| @@ -551,6 +558,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | |||
| 551 | # | 558 | # | 
| 552 | CONFIG_SERIAL_CORE=y | 559 | CONFIG_SERIAL_CORE=y | 
| 553 | CONFIG_SERIAL_CORE_CONSOLE=y | 560 | CONFIG_SERIAL_CORE_CONSOLE=y | 
| 561 | # CONFIG_SERIAL_JSM is not set | ||
| 554 | CONFIG_UNIX98_PTYS=y | 562 | CONFIG_UNIX98_PTYS=y | 
| 555 | CONFIG_LEGACY_PTYS=y | 563 | CONFIG_LEGACY_PTYS=y | 
| 556 | CONFIG_LEGACY_PTY_COUNT=256 | 564 | CONFIG_LEGACY_PTY_COUNT=256 | 
| @@ -609,10 +617,6 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
| 609 | # | 617 | # | 
| 610 | 618 | ||
| 611 | # | 619 | # | 
| 612 | # Multimedia Capabilities Port drivers | ||
| 613 | # | ||
| 614 | |||
| 615 | # | ||
| 616 | # Multimedia devices | 620 | # Multimedia devices | 
| 617 | # | 621 | # | 
| 618 | # CONFIG_VIDEO_DEV is not set | 622 | # CONFIG_VIDEO_DEV is not set | 
| @@ -643,6 +647,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
| 643 | # | 647 | # | 
| 644 | CONFIG_USB_ARCH_HAS_HCD=y | 648 | CONFIG_USB_ARCH_HAS_HCD=y | 
| 645 | CONFIG_USB_ARCH_HAS_OHCI=y | 649 | CONFIG_USB_ARCH_HAS_OHCI=y | 
| 650 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
| 646 | # CONFIG_USB is not set | 651 | # CONFIG_USB is not set | 
| 647 | 652 | ||
| 648 | # | 653 | # | 
| @@ -660,13 +665,31 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
| 660 | # CONFIG_MMC is not set | 665 | # CONFIG_MMC is not set | 
| 661 | 666 | ||
| 662 | # | 667 | # | 
| 668 | # LED devices | ||
| 669 | # | ||
| 670 | # CONFIG_NEW_LEDS is not set | ||
| 671 | |||
| 672 | # | ||
| 673 | # LED drivers | ||
| 674 | # | ||
| 675 | |||
| 676 | # | ||
| 677 | # LED Triggers | ||
| 678 | # | ||
| 679 | |||
| 680 | # | ||
| 663 | # InfiniBand support | 681 | # InfiniBand support | 
| 664 | # | 682 | # | 
| 665 | # CONFIG_INFINIBAND is not set | 683 | # CONFIG_INFINIBAND is not set | 
| 666 | 684 | ||
| 667 | # | 685 | # | 
| 668 | # SN Devices | 686 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | 
| 687 | # | ||
| 688 | |||
| 689 | # | ||
| 690 | # Real Time Clock | ||
| 669 | # | 691 | # | 
| 692 | # CONFIG_RTC_CLASS is not set | ||
| 670 | 693 | ||
| 671 | # | 694 | # | 
| 672 | # File systems | 695 | # File systems | 
| @@ -711,7 +734,6 @@ CONFIG_SYSFS=y | |||
| 711 | # CONFIG_TMPFS is not set | 734 | # CONFIG_TMPFS is not set | 
| 712 | # CONFIG_HUGETLB_PAGE is not set | 735 | # CONFIG_HUGETLB_PAGE is not set | 
| 713 | CONFIG_RAMFS=y | 736 | CONFIG_RAMFS=y | 
| 714 | CONFIG_RELAYFS_FS=y | ||
| 715 | # CONFIG_CONFIGFS_FS is not set | 737 | # CONFIG_CONFIGFS_FS is not set | 
| 716 | 738 | ||
| 717 | # | 739 | # | 
| @@ -778,6 +800,8 @@ CONFIG_MSDOS_PARTITION=y | |||
| 778 | # CONFIG_MAGIC_SYSRQ is not set | 800 | # CONFIG_MAGIC_SYSRQ is not set | 
| 779 | # CONFIG_DEBUG_KERNEL is not set | 801 | # CONFIG_DEBUG_KERNEL is not set | 
| 780 | CONFIG_LOG_BUF_SHIFT=14 | 802 | CONFIG_LOG_BUF_SHIFT=14 | 
| 803 | # CONFIG_DEBUG_FS is not set | ||
| 804 | # CONFIG_UNWIND_INFO is not set | ||
| 781 | CONFIG_CROSSCOMPILE=y | 805 | CONFIG_CROSSCOMPILE=y | 
| 782 | CONFIG_CMDLINE="" | 806 | CONFIG_CMDLINE="" | 
| 783 | 807 | ||
diff --git a/arch/mips/configs/ocelot_defconfig b/arch/mips/configs/ocelot_defconfig index d80ff278f2af..f9ee35eeb762 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.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 | 
| 4 | # Fri Jan 27 15:40:20 2006 | 4 | # Mon Apr 24 14:51:11 2006 | 
| 5 | # | 5 | # | 
| 6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y | 
| 7 | 7 | ||
| @@ -64,6 +64,8 @@ CONFIG_MOMENCO_OCELOT=y | |||
| 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 
| 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 
| 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 
| 67 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
| 68 | CONFIG_GENERIC_HWEIGHT=y | ||
| 67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 69 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 
| 68 | CONFIG_DMA_NONCOHERENT=y | 70 | CONFIG_DMA_NONCOHERENT=y | 
| 69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 71 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 
| @@ -121,7 +123,6 @@ CONFIG_RM7000_CPU_SCACHE=y | |||
| 121 | CONFIG_CPU_HAS_PREFETCH=y | 123 | CONFIG_CPU_HAS_PREFETCH=y | 
| 122 | # CONFIG_MIPS_MT is not set | 124 | # CONFIG_MIPS_MT is not set | 
| 123 | # CONFIG_64BIT_PHYS_ADDR is not set | 125 | # CONFIG_64BIT_PHYS_ADDR is not set | 
| 124 | # CONFIG_CPU_ADVANCED is not set | ||
| 125 | CONFIG_CPU_HAS_LLSC=y | 126 | CONFIG_CPU_HAS_LLSC=y | 
| 126 | CONFIG_CPU_HAS_SYNC=y | 127 | CONFIG_CPU_HAS_SYNC=y | 
| 127 | CONFIG_GENERIC_HARDIRQS=y | 128 | CONFIG_GENERIC_HARDIRQS=y | 
| @@ -144,7 +145,6 @@ CONFIG_PREEMPT_NONE=y | |||
| 144 | # Code maturity level options | 145 | # Code maturity level options | 
| 145 | # | 146 | # | 
| 146 | CONFIG_EXPERIMENTAL=y | 147 | CONFIG_EXPERIMENTAL=y | 
| 147 | CONFIG_CLEAN_COMPILE=y | ||
| 148 | CONFIG_BROKEN_ON_SMP=y | 148 | CONFIG_BROKEN_ON_SMP=y | 
| 149 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 149 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 
| 150 | 150 | ||
| @@ -160,6 +160,7 @@ CONFIG_SYSVIPC=y | |||
| 160 | CONFIG_SYSCTL=y | 160 | CONFIG_SYSCTL=y | 
| 161 | # CONFIG_AUDIT is not set | 161 | # CONFIG_AUDIT is not set | 
| 162 | # CONFIG_IKCONFIG is not set | 162 | # CONFIG_IKCONFIG is not set | 
| 163 | CONFIG_RELAY=y | ||
| 163 | CONFIG_INITRAMFS_SOURCE="" | 164 | CONFIG_INITRAMFS_SOURCE="" | 
| 164 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 165 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 
| 165 | CONFIG_EMBEDDED=y | 166 | CONFIG_EMBEDDED=y | 
| @@ -173,10 +174,6 @@ CONFIG_BASE_FULL=y | |||
| 173 | CONFIG_FUTEX=y | 174 | CONFIG_FUTEX=y | 
| 174 | CONFIG_EPOLL=y | 175 | CONFIG_EPOLL=y | 
| 175 | CONFIG_SHMEM=y | 176 | CONFIG_SHMEM=y | 
| 176 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
| 177 | CONFIG_CC_ALIGN_LABELS=0 | ||
| 178 | CONFIG_CC_ALIGN_LOOPS=0 | ||
| 179 | CONFIG_CC_ALIGN_JUMPS=0 | ||
| 180 | CONFIG_SLAB=y | 177 | CONFIG_SLAB=y | 
| 181 | # CONFIG_TINY_SHMEM is not set | 178 | # CONFIG_TINY_SHMEM is not set | 
| 182 | CONFIG_BASE_SMALL=0 | 179 | CONFIG_BASE_SMALL=0 | 
| @@ -191,6 +188,8 @@ CONFIG_BASE_SMALL=0 | |||
| 191 | # Block layer | 188 | # Block layer | 
| 192 | # | 189 | # | 
| 193 | # CONFIG_LBD is not set | 190 | # CONFIG_LBD is not set | 
| 191 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 192 | # CONFIG_LSF is not set | ||
| 194 | 193 | ||
| 195 | # | 194 | # | 
| 196 | # IO Schedulers | 195 | # IO Schedulers | 
| @@ -236,6 +235,7 @@ CONFIG_NET=y | |||
| 236 | # | 235 | # | 
| 237 | # Networking options | 236 | # Networking options | 
| 238 | # | 237 | # | 
| 238 | # CONFIG_NETDEBUG is not set | ||
| 239 | # CONFIG_PACKET is not set | 239 | # CONFIG_PACKET is not set | 
| 240 | CONFIG_UNIX=y | 240 | CONFIG_UNIX=y | 
| 241 | CONFIG_XFRM=y | 241 | CONFIG_XFRM=y | 
| @@ -256,12 +256,15 @@ CONFIG_IP_PNP_BOOTP=y | |||
| 256 | # CONFIG_INET_AH is not set | 256 | # CONFIG_INET_AH is not set | 
| 257 | # CONFIG_INET_ESP is not set | 257 | # CONFIG_INET_ESP is not set | 
| 258 | # CONFIG_INET_IPCOMP is not set | 258 | # CONFIG_INET_IPCOMP is not set | 
| 259 | CONFIG_INET_TUNNEL=y | 259 | # CONFIG_INET_XFRM_TUNNEL is not set | 
| 260 | # CONFIG_INET_TUNNEL is not set | ||
| 260 | CONFIG_INET_DIAG=y | 261 | CONFIG_INET_DIAG=y | 
| 261 | CONFIG_INET_TCP_DIAG=y | 262 | CONFIG_INET_TCP_DIAG=y | 
| 262 | # CONFIG_TCP_CONG_ADVANCED is not set | 263 | # CONFIG_TCP_CONG_ADVANCED is not set | 
| 263 | CONFIG_TCP_CONG_BIC=y | 264 | CONFIG_TCP_CONG_BIC=y | 
| 264 | # CONFIG_IPV6 is not set | 265 | # CONFIG_IPV6 is not set | 
| 266 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
| 267 | # CONFIG_INET6_TUNNEL is not set | ||
| 265 | # CONFIG_NETFILTER is not set | 268 | # CONFIG_NETFILTER is not set | 
| 266 | 269 | ||
| 267 | # | 270 | # | 
| @@ -273,6 +276,11 @@ CONFIG_TCP_CONG_BIC=y | |||
| 273 | # SCTP Configuration (EXPERIMENTAL) | 276 | # SCTP Configuration (EXPERIMENTAL) | 
| 274 | # | 277 | # | 
| 275 | # CONFIG_IP_SCTP is not set | 278 | # CONFIG_IP_SCTP is not set | 
| 279 | |||
| 280 | # | ||
| 281 | # TIPC Configuration (EXPERIMENTAL) | ||
| 282 | # | ||
| 283 | # CONFIG_TIPC is not set | ||
| 276 | # CONFIG_ATM is not set | 284 | # CONFIG_ATM is not set | 
| 277 | # CONFIG_BRIDGE is not set | 285 | # CONFIG_BRIDGE is not set | 
| 278 | # CONFIG_VLAN_8021Q is not set | 286 | # CONFIG_VLAN_8021Q is not set | 
| @@ -282,11 +290,6 @@ CONFIG_TCP_CONG_BIC=y | |||
| 282 | # CONFIG_ATALK is not set | 290 | # CONFIG_ATALK is not set | 
| 283 | # CONFIG_X25 is not set | 291 | # CONFIG_X25 is not set | 
| 284 | # CONFIG_LAPB is not set | 292 | # CONFIG_LAPB is not set | 
| 285 | |||
| 286 | # | ||
| 287 | # TIPC Configuration (EXPERIMENTAL) | ||
| 288 | # | ||
| 289 | # CONFIG_TIPC is not set | ||
| 290 | # CONFIG_NET_DIVERT is not set | 293 | # CONFIG_NET_DIVERT is not set | 
| 291 | # CONFIG_ECONET is not set | 294 | # CONFIG_ECONET is not set | 
| 292 | # CONFIG_WAN_ROUTER is not set | 295 | # CONFIG_WAN_ROUTER is not set | 
| @@ -307,6 +310,9 @@ CONFIG_IEEE80211=y | |||
| 307 | # CONFIG_IEEE80211_DEBUG is not set | 310 | # CONFIG_IEEE80211_DEBUG is not set | 
| 308 | CONFIG_IEEE80211_CRYPT_WEP=y | 311 | CONFIG_IEEE80211_CRYPT_WEP=y | 
| 309 | CONFIG_IEEE80211_CRYPT_CCMP=y | 312 | CONFIG_IEEE80211_CRYPT_CCMP=y | 
| 313 | CONFIG_IEEE80211_SOFTMAC=y | ||
| 314 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
| 315 | CONFIG_WIRELESS_EXT=y | ||
| 310 | 316 | ||
| 311 | # | 317 | # | 
| 312 | # Device Drivers | 318 | # Device Drivers | 
| @@ -346,7 +352,7 @@ CONFIG_PROC_EVENTS=y | |||
| 346 | # CONFIG_BLK_DEV_LOOP is not set | 352 | # CONFIG_BLK_DEV_LOOP is not set | 
| 347 | # CONFIG_BLK_DEV_NBD is not set | 353 | # CONFIG_BLK_DEV_NBD is not set | 
| 348 | # CONFIG_BLK_DEV_RAM is not set | 354 | # CONFIG_BLK_DEV_RAM is not set | 
| 349 | CONFIG_BLK_DEV_RAM_COUNT=16 | 355 | # CONFIG_BLK_DEV_INITRD is not set | 
| 350 | CONFIG_CDROM_PKTCDVD=y | 356 | CONFIG_CDROM_PKTCDVD=y | 
| 351 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 357 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 
| 352 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 358 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 
| @@ -563,10 +569,6 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
| 563 | # | 569 | # | 
| 564 | 570 | ||
| 565 | # | 571 | # | 
| 566 | # Multimedia Capabilities Port drivers | ||
| 567 | # | ||
| 568 | |||
| 569 | # | ||
| 570 | # Multimedia devices | 572 | # Multimedia devices | 
| 571 | # | 573 | # | 
| 572 | # CONFIG_VIDEO_DEV is not set | 574 | # CONFIG_VIDEO_DEV is not set | 
| @@ -597,6 +599,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
| 597 | # | 599 | # | 
| 598 | # CONFIG_USB_ARCH_HAS_HCD is not set | 600 | # CONFIG_USB_ARCH_HAS_HCD is not set | 
| 599 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 601 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 
| 602 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
| 600 | 603 | ||
| 601 | # | 604 | # | 
| 602 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 605 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 
| @@ -613,12 +616,30 @@ CONFIG_DUMMY_CONSOLE=y | |||
| 613 | # CONFIG_MMC is not set | 616 | # CONFIG_MMC is not set | 
| 614 | 617 | ||
| 615 | # | 618 | # | 
| 619 | # LED devices | ||
| 620 | # | ||
| 621 | # CONFIG_NEW_LEDS is not set | ||
| 622 | |||
| 623 | # | ||
| 624 | # LED drivers | ||
| 625 | # | ||
| 626 | |||
| 627 | # | ||
| 628 | # LED Triggers | ||
| 629 | # | ||
| 630 | |||
| 631 | # | ||
| 616 | # InfiniBand support | 632 | # InfiniBand support | 
| 617 | # | 633 | # | 
| 618 | 634 | ||
| 619 | # | 635 | # | 
| 620 | # SN Devices | 636 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | 
| 637 | # | ||
| 638 | |||
| 639 | # | ||
| 640 | # Real Time Clock | ||
| 621 | # | 641 | # | 
| 642 | # CONFIG_RTC_CLASS is not set | ||
| 622 | 643 | ||
| 623 | # | 644 | # | 
| 624 | # File systems | 645 | # File systems | 
| @@ -663,7 +684,6 @@ CONFIG_SYSFS=y | |||
| 663 | # CONFIG_TMPFS is not set | 684 | # CONFIG_TMPFS is not set | 
| 664 | # CONFIG_HUGETLB_PAGE is not set | 685 | # CONFIG_HUGETLB_PAGE is not set | 
| 665 | CONFIG_RAMFS=y | 686 | CONFIG_RAMFS=y | 
| 666 | CONFIG_RELAYFS_FS=y | ||
| 667 | # CONFIG_CONFIGFS_FS is not set | 687 | # CONFIG_CONFIGFS_FS is not set | 
| 668 | 688 | ||
| 669 | # | 689 | # | 
| @@ -730,6 +750,8 @@ CONFIG_MSDOS_PARTITION=y | |||
| 730 | # CONFIG_MAGIC_SYSRQ is not set | 750 | # CONFIG_MAGIC_SYSRQ is not set | 
| 731 | # CONFIG_DEBUG_KERNEL is not set | 751 | # CONFIG_DEBUG_KERNEL is not set | 
| 732 | CONFIG_LOG_BUF_SHIFT=14 | 752 | CONFIG_LOG_BUF_SHIFT=14 | 
| 753 | # CONFIG_DEBUG_FS is not set | ||
| 754 | # CONFIG_UNWIND_INFO is not set | ||
| 733 | CONFIG_CROSSCOMPILE=y | 755 | CONFIG_CROSSCOMPILE=y | 
| 734 | CONFIG_CMDLINE="" | 756 | CONFIG_CMDLINE="" | 
| 735 | 757 | ||
diff --git a/arch/mips/configs/ocelot_g_defconfig b/arch/mips/configs/ocelot_g_defconfig index c0f508d180c4..b48bdee2411f 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.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 | 
| 4 | # Fri Jan 27 15:40:21 2006 | 4 | # Mon Apr 24 14:51:11 2006 | 
| 5 | # | 5 | # | 
| 6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y | 
| 7 | 7 | ||
| @@ -64,6 +64,8 @@ CONFIG_MOMENCO_OCELOT_G=y | |||
| 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 
| 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 
| 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 
| 67 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
| 68 | CONFIG_GENERIC_HWEIGHT=y | ||
| 67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 69 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 
| 68 | CONFIG_DMA_NONCOHERENT=y | 70 | CONFIG_DMA_NONCOHERENT=y | 
| 69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 71 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 
| @@ -142,7 +144,6 @@ CONFIG_PREEMPT_NONE=y | |||
| 142 | # Code maturity level options | 144 | # Code maturity level options | 
| 143 | # | 145 | # | 
| 144 | CONFIG_EXPERIMENTAL=y | 146 | CONFIG_EXPERIMENTAL=y | 
| 145 | CONFIG_CLEAN_COMPILE=y | ||
| 146 | CONFIG_BROKEN_ON_SMP=y | 147 | CONFIG_BROKEN_ON_SMP=y | 
| 147 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 148 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 
| 148 | 149 | ||
| @@ -158,6 +159,7 @@ CONFIG_SYSVIPC=y | |||
| 158 | CONFIG_SYSCTL=y | 159 | CONFIG_SYSCTL=y | 
| 159 | # CONFIG_AUDIT is not set | 160 | # CONFIG_AUDIT is not set | 
| 160 | # CONFIG_IKCONFIG is not set | 161 | # CONFIG_IKCONFIG is not set | 
| 162 | CONFIG_RELAY=y | ||
| 161 | CONFIG_INITRAMFS_SOURCE="" | 163 | CONFIG_INITRAMFS_SOURCE="" | 
| 162 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 164 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 
| 163 | CONFIG_EMBEDDED=y | 165 | CONFIG_EMBEDDED=y | 
| @@ -171,10 +173,6 @@ CONFIG_BASE_FULL=y | |||
| 171 | CONFIG_FUTEX=y | 173 | CONFIG_FUTEX=y | 
| 172 | CONFIG_EPOLL=y | 174 | CONFIG_EPOLL=y | 
| 173 | CONFIG_SHMEM=y | 175 | CONFIG_SHMEM=y | 
| 174 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
| 175 | CONFIG_CC_ALIGN_LABELS=0 | ||
| 176 | CONFIG_CC_ALIGN_LOOPS=0 | ||
| 177 | CONFIG_CC_ALIGN_JUMPS=0 | ||
| 178 | CONFIG_SLAB=y | 176 | CONFIG_SLAB=y | 
| 179 | # CONFIG_TINY_SHMEM is not set | 177 | # CONFIG_TINY_SHMEM is not set | 
| 180 | CONFIG_BASE_SMALL=0 | 178 | CONFIG_BASE_SMALL=0 | 
| @@ -188,6 +186,7 @@ CONFIG_BASE_SMALL=0 | |||
| 188 | # | 186 | # | 
| 189 | # Block layer | 187 | # Block layer | 
| 190 | # | 188 | # | 
| 189 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 191 | 190 | ||
| 192 | # | 191 | # | 
| 193 | # IO Schedulers | 192 | # IO Schedulers | 
| @@ -207,7 +206,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
| 207 | # | 206 | # | 
| 208 | CONFIG_HW_HAS_PCI=y | 207 | CONFIG_HW_HAS_PCI=y | 
| 209 | CONFIG_PCI=y | 208 | CONFIG_PCI=y | 
| 210 | CONFIG_PCI_LEGACY_PROC=y | ||
| 211 | CONFIG_MMU=y | 209 | CONFIG_MMU=y | 
| 212 | 210 | ||
| 213 | # | 211 | # | 
| @@ -225,6 +223,7 @@ CONFIG_MMU=y | |||
| 225 | # | 223 | # | 
| 226 | CONFIG_BINFMT_ELF=y | 224 | CONFIG_BINFMT_ELF=y | 
| 227 | # CONFIG_BINFMT_MISC is not set | 225 | # CONFIG_BINFMT_MISC is not set | 
| 226 | # CONFIG_BUILD_ELF64 is not set | ||
| 228 | CONFIG_MIPS32_COMPAT=y | 227 | CONFIG_MIPS32_COMPAT=y | 
| 229 | CONFIG_COMPAT=y | 228 | CONFIG_COMPAT=y | 
| 230 | CONFIG_MIPS32_O32=y | 229 | CONFIG_MIPS32_O32=y | 
| @@ -239,6 +238,7 @@ CONFIG_NET=y | |||
| 239 | # | 238 | # | 
| 240 | # Networking options | 239 | # Networking options | 
| 241 | # | 240 | # | 
| 241 | # CONFIG_NETDEBUG is not set | ||
| 242 | # CONFIG_PACKET is not set | 242 | # CONFIG_PACKET is not set | 
| 243 | CONFIG_UNIX=y | 243 | CONFIG_UNIX=y | 
| 244 | CONFIG_XFRM=y | 244 | CONFIG_XFRM=y | 
| @@ -259,12 +259,15 @@ CONFIG_IP_PNP_DHCP=y | |||
| 259 | # CONFIG_INET_AH is not set | 259 | # CONFIG_INET_AH is not set | 
| 260 | # CONFIG_INET_ESP is not set | 260 | # CONFIG_INET_ESP is not set | 
| 261 | # CONFIG_INET_IPCOMP is not set | 261 | # CONFIG_INET_IPCOMP is not set | 
| 262 | CONFIG_INET_TUNNEL=y | 262 | # CONFIG_INET_XFRM_TUNNEL is not set | 
| 263 | # CONFIG_INET_TUNNEL is not set | ||
| 263 | CONFIG_INET_DIAG=y | 264 | CONFIG_INET_DIAG=y | 
| 264 | CONFIG_INET_TCP_DIAG=y | 265 | CONFIG_INET_TCP_DIAG=y | 
| 265 | # CONFIG_TCP_CONG_ADVANCED is not set | 266 | # CONFIG_TCP_CONG_ADVANCED is not set | 
| 266 | CONFIG_TCP_CONG_BIC=y | 267 | CONFIG_TCP_CONG_BIC=y | 
| 267 | # CONFIG_IPV6 is not set | 268 | # CONFIG_IPV6 is not set | 
| 269 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
| 270 | # CONFIG_INET6_TUNNEL is not set | ||
| 268 | # CONFIG_NETFILTER is not set | 271 | # CONFIG_NETFILTER is not set | 
| 269 | 272 | ||
| 270 | # | 273 | # | 
| @@ -276,6 +279,11 @@ CONFIG_TCP_CONG_BIC=y | |||
| 276 | # SCTP Configuration (EXPERIMENTAL) | 279 | # SCTP Configuration (EXPERIMENTAL) | 
| 277 | # | 280 | # | 
| 278 | # CONFIG_IP_SCTP is not set | 281 | # CONFIG_IP_SCTP is not set | 
| 282 | |||
| 283 | # | ||
| 284 | # TIPC Configuration (EXPERIMENTAL) | ||
| 285 | # | ||
| 286 | # CONFIG_TIPC is not set | ||
| 279 | # CONFIG_ATM is not set | 287 | # CONFIG_ATM is not set | 
| 280 | # CONFIG_BRIDGE is not set | 288 | # CONFIG_BRIDGE is not set | 
| 281 | # CONFIG_VLAN_8021Q is not set | 289 | # CONFIG_VLAN_8021Q is not set | 
| @@ -285,11 +293,6 @@ CONFIG_TCP_CONG_BIC=y | |||
| 285 | # CONFIG_ATALK is not set | 293 | # CONFIG_ATALK is not set | 
| 286 | # CONFIG_X25 is not set | 294 | # CONFIG_X25 is not set | 
| 287 | # CONFIG_LAPB is not set | 295 | # CONFIG_LAPB is not set | 
| 288 | |||
| 289 | # | ||
| 290 | # TIPC Configuration (EXPERIMENTAL) | ||
| 291 | # | ||
| 292 | # CONFIG_TIPC is not set | ||
| 293 | # CONFIG_NET_DIVERT is not set | 296 | # CONFIG_NET_DIVERT is not set | 
| 294 | # CONFIG_ECONET is not set | 297 | # CONFIG_ECONET is not set | 
| 295 | # CONFIG_WAN_ROUTER is not set | 298 | # CONFIG_WAN_ROUTER is not set | 
| @@ -310,6 +313,9 @@ CONFIG_IEEE80211=y | |||
| 310 | # CONFIG_IEEE80211_DEBUG is not set | 313 | # CONFIG_IEEE80211_DEBUG is not set | 
| 311 | CONFIG_IEEE80211_CRYPT_WEP=y | 314 | CONFIG_IEEE80211_CRYPT_WEP=y | 
| 312 | CONFIG_IEEE80211_CRYPT_CCMP=y | 315 | CONFIG_IEEE80211_CRYPT_CCMP=y | 
| 316 | CONFIG_IEEE80211_SOFTMAC=y | ||
| 317 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
| 318 | CONFIG_WIRELESS_EXT=y | ||
| 313 | 319 | ||
| 314 | # | 320 | # | 
| 315 | # Device Drivers | 321 | # Device Drivers | 
| @@ -354,7 +360,7 @@ CONFIG_PROC_EVENTS=y | |||
| 354 | # CONFIG_BLK_DEV_NBD is not set | 360 | # CONFIG_BLK_DEV_NBD is not set | 
| 355 | # CONFIG_BLK_DEV_SX8 is not set | 361 | # CONFIG_BLK_DEV_SX8 is not set | 
| 356 | # CONFIG_BLK_DEV_RAM is not set | 362 | # CONFIG_BLK_DEV_RAM is not set | 
| 357 | CONFIG_BLK_DEV_RAM_COUNT=16 | 363 | # CONFIG_BLK_DEV_INITRD is not set | 
| 358 | CONFIG_CDROM_PKTCDVD=y | 364 | CONFIG_CDROM_PKTCDVD=y | 
| 359 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 365 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 
| 360 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 366 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 
| @@ -545,6 +551,7 @@ CONFIG_HW_CONSOLE=y | |||
| 545 | # | 551 | # | 
| 546 | CONFIG_SERIAL_8250=y | 552 | CONFIG_SERIAL_8250=y | 
| 547 | CONFIG_SERIAL_8250_CONSOLE=y | 553 | CONFIG_SERIAL_8250_CONSOLE=y | 
| 554 | CONFIG_SERIAL_8250_PCI=y | ||
| 548 | CONFIG_SERIAL_8250_NR_UARTS=4 | 555 | CONFIG_SERIAL_8250_NR_UARTS=4 | 
| 549 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 556 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 
| 550 | # CONFIG_SERIAL_8250_EXTENDED is not set | 557 | # CONFIG_SERIAL_8250_EXTENDED is not set | 
| @@ -554,6 +561,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | |||
| 554 | # | 561 | # | 
| 555 | CONFIG_SERIAL_CORE=y | 562 | CONFIG_SERIAL_CORE=y | 
| 556 | CONFIG_SERIAL_CORE_CONSOLE=y | 563 | CONFIG_SERIAL_CORE_CONSOLE=y | 
| 564 | # CONFIG_SERIAL_JSM is not set | ||
| 557 | CONFIG_UNIX98_PTYS=y | 565 | CONFIG_UNIX98_PTYS=y | 
| 558 | CONFIG_LEGACY_PTYS=y | 566 | CONFIG_LEGACY_PTYS=y | 
| 559 | CONFIG_LEGACY_PTY_COUNT=256 | 567 | CONFIG_LEGACY_PTY_COUNT=256 | 
| @@ -612,10 +620,6 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
| 612 | # | 620 | # | 
| 613 | 621 | ||
| 614 | # | 622 | # | 
| 615 | # Multimedia Capabilities Port drivers | ||
| 616 | # | ||
| 617 | |||
| 618 | # | ||
| 619 | # Multimedia devices | 623 | # Multimedia devices | 
| 620 | # | 624 | # | 
| 621 | # CONFIG_VIDEO_DEV is not set | 625 | # CONFIG_VIDEO_DEV is not set | 
| @@ -646,6 +650,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
| 646 | # | 650 | # | 
| 647 | CONFIG_USB_ARCH_HAS_HCD=y | 651 | CONFIG_USB_ARCH_HAS_HCD=y | 
| 648 | CONFIG_USB_ARCH_HAS_OHCI=y | 652 | CONFIG_USB_ARCH_HAS_OHCI=y | 
| 653 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
| 649 | # CONFIG_USB is not set | 654 | # CONFIG_USB is not set | 
| 650 | 655 | ||
| 651 | # | 656 | # | 
| @@ -663,13 +668,31 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
| 663 | # CONFIG_MMC is not set | 668 | # CONFIG_MMC is not set | 
| 664 | 669 | ||
| 665 | # | 670 | # | 
| 671 | # LED devices | ||
| 672 | # | ||
| 673 | # CONFIG_NEW_LEDS is not set | ||
| 674 | |||
| 675 | # | ||
| 676 | # LED drivers | ||
| 677 | # | ||
| 678 | |||
| 679 | # | ||
| 680 | # LED Triggers | ||
| 681 | # | ||
| 682 | |||
| 683 | # | ||
| 666 | # InfiniBand support | 684 | # InfiniBand support | 
| 667 | # | 685 | # | 
| 668 | # CONFIG_INFINIBAND is not set | 686 | # CONFIG_INFINIBAND is not set | 
| 669 | 687 | ||
| 670 | # | 688 | # | 
| 671 | # SN Devices | 689 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | 
| 690 | # | ||
| 691 | |||
| 692 | # | ||
| 693 | # Real Time Clock | ||
| 672 | # | 694 | # | 
| 695 | # CONFIG_RTC_CLASS is not set | ||
| 673 | 696 | ||
| 674 | # | 697 | # | 
| 675 | # File systems | 698 | # File systems | 
| @@ -714,7 +737,6 @@ CONFIG_SYSFS=y | |||
| 714 | # CONFIG_TMPFS is not set | 737 | # CONFIG_TMPFS is not set | 
| 715 | # CONFIG_HUGETLB_PAGE is not set | 738 | # CONFIG_HUGETLB_PAGE is not set | 
| 716 | CONFIG_RAMFS=y | 739 | CONFIG_RAMFS=y | 
| 717 | CONFIG_RELAYFS_FS=y | ||
| 718 | # CONFIG_CONFIGFS_FS is not set | 740 | # CONFIG_CONFIGFS_FS is not set | 
| 719 | 741 | ||
| 720 | # | 742 | # | 
| @@ -781,6 +803,8 @@ CONFIG_MSDOS_PARTITION=y | |||
| 781 | # CONFIG_MAGIC_SYSRQ is not set | 803 | # CONFIG_MAGIC_SYSRQ is not set | 
| 782 | # CONFIG_DEBUG_KERNEL is not set | 804 | # CONFIG_DEBUG_KERNEL is not set | 
| 783 | CONFIG_LOG_BUF_SHIFT=14 | 805 | CONFIG_LOG_BUF_SHIFT=14 | 
| 806 | # CONFIG_DEBUG_FS is not set | ||
| 807 | # CONFIG_UNWIND_INFO is not set | ||
| 784 | CONFIG_CROSSCOMPILE=y | 808 | CONFIG_CROSSCOMPILE=y | 
| 785 | CONFIG_CMDLINE="" | 809 | CONFIG_CMDLINE="" | 
| 786 | 810 | ||
diff --git a/arch/mips/configs/pb1100_defconfig b/arch/mips/configs/pb1100_defconfig index 194b3c772bb7..01aac40634b4 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.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 | 
| 4 | # Fri Jan 27 15:40:22 2006 | 4 | # Mon Apr 24 14:51:12 2006 | 
| 5 | # | 5 | # | 
| 6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y | 
| 7 | 7 | ||
| @@ -64,6 +64,8 @@ CONFIG_MIPS_PB1100=y | |||
| 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 
| 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 
| 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 
| 67 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
| 68 | CONFIG_GENERIC_HWEIGHT=y | ||
| 67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 69 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 
| 68 | CONFIG_DMA_NONCOHERENT=y | 70 | CONFIG_DMA_NONCOHERENT=y | 
| 69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 71 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 
| @@ -116,11 +118,11 @@ CONFIG_PAGE_SIZE_4KB=y | |||
| 116 | CONFIG_CPU_HAS_PREFETCH=y | 118 | CONFIG_CPU_HAS_PREFETCH=y | 
| 117 | # CONFIG_MIPS_MT is not set | 119 | # CONFIG_MIPS_MT is not set | 
| 118 | CONFIG_64BIT_PHYS_ADDR=y | 120 | CONFIG_64BIT_PHYS_ADDR=y | 
| 119 | # CONFIG_CPU_ADVANCED is not set | ||
| 120 | CONFIG_CPU_HAS_LLSC=y | 121 | CONFIG_CPU_HAS_LLSC=y | 
| 121 | CONFIG_CPU_HAS_SYNC=y | 122 | CONFIG_CPU_HAS_SYNC=y | 
| 122 | CONFIG_GENERIC_HARDIRQS=y | 123 | CONFIG_GENERIC_HARDIRQS=y | 
| 123 | CONFIG_GENERIC_IRQ_PROBE=y | 124 | CONFIG_GENERIC_IRQ_PROBE=y | 
| 125 | CONFIG_CPU_SUPPORTS_HIGHMEM=y | ||
| 124 | CONFIG_ARCH_FLATMEM_ENABLE=y | 126 | CONFIG_ARCH_FLATMEM_ENABLE=y | 
| 125 | CONFIG_SELECT_MEMORY_MODEL=y | 127 | CONFIG_SELECT_MEMORY_MODEL=y | 
| 126 | CONFIG_FLATMEM_MANUAL=y | 128 | CONFIG_FLATMEM_MANUAL=y | 
| @@ -138,7 +140,6 @@ CONFIG_PREEMPT_NONE=y | |||
| 138 | # Code maturity level options | 140 | # Code maturity level options | 
| 139 | # | 141 | # | 
| 140 | CONFIG_EXPERIMENTAL=y | 142 | CONFIG_EXPERIMENTAL=y | 
| 141 | CONFIG_CLEAN_COMPILE=y | ||
| 142 | CONFIG_BROKEN_ON_SMP=y | 143 | CONFIG_BROKEN_ON_SMP=y | 
| 143 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 144 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 
| 144 | 145 | ||
| @@ -154,6 +155,7 @@ CONFIG_SYSVIPC=y | |||
| 154 | CONFIG_SYSCTL=y | 155 | CONFIG_SYSCTL=y | 
| 155 | # CONFIG_AUDIT is not set | 156 | # CONFIG_AUDIT is not set | 
| 156 | # CONFIG_IKCONFIG is not set | 157 | # CONFIG_IKCONFIG is not set | 
| 158 | CONFIG_RELAY=y | ||
| 157 | CONFIG_INITRAMFS_SOURCE="" | 159 | CONFIG_INITRAMFS_SOURCE="" | 
| 158 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 160 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 
| 159 | CONFIG_EMBEDDED=y | 161 | CONFIG_EMBEDDED=y | 
| @@ -167,10 +169,6 @@ CONFIG_BASE_FULL=y | |||
| 167 | CONFIG_FUTEX=y | 169 | CONFIG_FUTEX=y | 
| 168 | CONFIG_EPOLL=y | 170 | CONFIG_EPOLL=y | 
| 169 | CONFIG_SHMEM=y | 171 | CONFIG_SHMEM=y | 
| 170 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
| 171 | CONFIG_CC_ALIGN_LABELS=0 | ||
| 172 | CONFIG_CC_ALIGN_LOOPS=0 | ||
| 173 | CONFIG_CC_ALIGN_JUMPS=0 | ||
| 174 | CONFIG_SLAB=y | 172 | CONFIG_SLAB=y | 
| 175 | # CONFIG_TINY_SHMEM is not set | 173 | # CONFIG_TINY_SHMEM is not set | 
| 176 | CONFIG_BASE_SMALL=0 | 174 | CONFIG_BASE_SMALL=0 | 
| @@ -183,7 +181,6 @@ CONFIG_OBSOLETE_INTERMODULE=y | |||
| 183 | CONFIG_MODULES=y | 181 | CONFIG_MODULES=y | 
| 184 | CONFIG_MODULE_UNLOAD=y | 182 | CONFIG_MODULE_UNLOAD=y | 
| 185 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 183 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 
| 186 | CONFIG_OBSOLETE_MODPARM=y | ||
| 187 | CONFIG_MODVERSIONS=y | 184 | CONFIG_MODVERSIONS=y | 
| 188 | CONFIG_MODULE_SRCVERSION_ALL=y | 185 | CONFIG_MODULE_SRCVERSION_ALL=y | 
| 189 | CONFIG_KMOD=y | 186 | CONFIG_KMOD=y | 
| @@ -192,6 +189,8 @@ CONFIG_KMOD=y | |||
| 192 | # Block layer | 189 | # Block layer | 
| 193 | # | 190 | # | 
| 194 | # CONFIG_LBD is not set | 191 | # CONFIG_LBD is not set | 
| 192 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 193 | # CONFIG_LSF is not set | ||
| 195 | 194 | ||
| 196 | # | 195 | # | 
| 197 | # IO Schedulers | 196 | # IO Schedulers | 
| @@ -247,6 +246,7 @@ CONFIG_NET=y | |||
| 247 | # | 246 | # | 
| 248 | # Networking options | 247 | # Networking options | 
| 249 | # | 248 | # | 
| 249 | # CONFIG_NETDEBUG is not set | ||
| 250 | CONFIG_PACKET=y | 250 | CONFIG_PACKET=y | 
| 251 | # CONFIG_PACKET_MMAP is not set | 251 | # CONFIG_PACKET_MMAP is not set | 
| 252 | CONFIG_UNIX=y | 252 | CONFIG_UNIX=y | 
| @@ -269,7 +269,8 @@ CONFIG_IP_PNP_BOOTP=y | |||
| 269 | # CONFIG_INET_AH is not set | 269 | # CONFIG_INET_AH is not set | 
| 270 | # CONFIG_INET_ESP is not set | 270 | # CONFIG_INET_ESP is not set | 
| 271 | # CONFIG_INET_IPCOMP is not set | 271 | # CONFIG_INET_IPCOMP is not set | 
| 272 | CONFIG_INET_TUNNEL=m | 272 | # CONFIG_INET_XFRM_TUNNEL is not set | 
| 273 | # CONFIG_INET_TUNNEL is not set | ||
| 273 | CONFIG_INET_DIAG=y | 274 | CONFIG_INET_DIAG=y | 
| 274 | CONFIG_INET_TCP_DIAG=y | 275 | CONFIG_INET_TCP_DIAG=y | 
| 275 | # CONFIG_TCP_CONG_ADVANCED is not set | 276 | # CONFIG_TCP_CONG_ADVANCED is not set | 
| @@ -280,6 +281,8 @@ CONFIG_TCP_CONG_BIC=y | |||
| 280 | # | 281 | # | 
| 281 | # CONFIG_IP_VS is not set | 282 | # CONFIG_IP_VS is not set | 
| 282 | # CONFIG_IPV6 is not set | 283 | # CONFIG_IPV6 is not set | 
| 284 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
| 285 | # CONFIG_INET6_TUNNEL is not set | ||
| 283 | CONFIG_NETFILTER=y | 286 | CONFIG_NETFILTER=y | 
| 284 | # CONFIG_NETFILTER_DEBUG is not set | 287 | # CONFIG_NETFILTER_DEBUG is not set | 
| 285 | 288 | ||
| @@ -296,10 +299,13 @@ CONFIG_NETFILTER_XT_TARGET_MARK=m | |||
| 296 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | 299 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | 
| 297 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | 300 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | 
| 298 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 301 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 
| 302 | CONFIG_NETFILTER_XT_MATCH_ESP=m | ||
| 299 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | 303 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | 
| 300 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | 304 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | 
| 301 | CONFIG_NETFILTER_XT_MATCH_MAC=m | 305 | CONFIG_NETFILTER_XT_MATCH_MAC=m | 
| 302 | CONFIG_NETFILTER_XT_MATCH_MARK=m | 306 | CONFIG_NETFILTER_XT_MATCH_MARK=m | 
| 307 | CONFIG_NETFILTER_XT_MATCH_POLICY=m | ||
| 308 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m | ||
| 303 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 309 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 
| 304 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 310 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 
| 305 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | 311 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | 
| @@ -323,6 +329,11 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | |||
| 323 | # SCTP Configuration (EXPERIMENTAL) | 329 | # SCTP Configuration (EXPERIMENTAL) | 
| 324 | # | 330 | # | 
| 325 | # CONFIG_IP_SCTP is not set | 331 | # CONFIG_IP_SCTP is not set | 
| 332 | |||
| 333 | # | ||
| 334 | # TIPC Configuration (EXPERIMENTAL) | ||
| 335 | # | ||
| 336 | # CONFIG_TIPC is not set | ||
| 326 | # CONFIG_ATM is not set | 337 | # CONFIG_ATM is not set | 
| 327 | # CONFIG_BRIDGE is not set | 338 | # CONFIG_BRIDGE is not set | 
| 328 | # CONFIG_VLAN_8021Q is not set | 339 | # CONFIG_VLAN_8021Q is not set | 
| @@ -332,11 +343,6 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | |||
| 332 | # CONFIG_ATALK is not set | 343 | # CONFIG_ATALK is not set | 
| 333 | # CONFIG_X25 is not set | 344 | # CONFIG_X25 is not set | 
| 334 | # CONFIG_LAPB is not set | 345 | # CONFIG_LAPB is not set | 
| 335 | |||
| 336 | # | ||
| 337 | # TIPC Configuration (EXPERIMENTAL) | ||
| 338 | # | ||
| 339 | # CONFIG_TIPC is not set | ||
| 340 | # CONFIG_NET_DIVERT is not set | 346 | # CONFIG_NET_DIVERT is not set | 
| 341 | # CONFIG_ECONET is not set | 347 | # CONFIG_ECONET is not set | 
| 342 | # CONFIG_WAN_ROUTER is not set | 348 | # CONFIG_WAN_ROUTER is not set | 
| @@ -358,6 +364,9 @@ CONFIG_IEEE80211=m | |||
| 358 | # CONFIG_IEEE80211_DEBUG is not set | 364 | # CONFIG_IEEE80211_DEBUG is not set | 
| 359 | CONFIG_IEEE80211_CRYPT_WEP=m | 365 | CONFIG_IEEE80211_CRYPT_WEP=m | 
| 360 | CONFIG_IEEE80211_CRYPT_CCMP=m | 366 | CONFIG_IEEE80211_CRYPT_CCMP=m | 
| 367 | CONFIG_IEEE80211_SOFTMAC=m | ||
| 368 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
| 369 | CONFIG_WIRELESS_EXT=y | ||
| 361 | 370 | ||
| 362 | # | 371 | # | 
| 363 | # Device Drivers | 372 | # Device Drivers | 
| @@ -414,7 +423,6 @@ CONFIG_MTD_CFI_I2=y | |||
| 414 | # CONFIG_MTD_CFI_I8 is not set | 423 | # CONFIG_MTD_CFI_I8 is not set | 
| 415 | # CONFIG_MTD_CFI_INTELEXT is not set | 424 | # CONFIG_MTD_CFI_INTELEXT is not set | 
| 416 | CONFIG_MTD_CFI_AMDSTD=y | 425 | CONFIG_MTD_CFI_AMDSTD=y | 
| 417 | CONFIG_MTD_CFI_AMDSTD_RETRY=0 | ||
| 418 | # CONFIG_MTD_CFI_STAA is not set | 426 | # CONFIG_MTD_CFI_STAA is not set | 
| 419 | CONFIG_MTD_CFI_UTIL=y | 427 | CONFIG_MTD_CFI_UTIL=y | 
| 420 | # CONFIG_MTD_RAM is not set | 428 | # CONFIG_MTD_RAM is not set | 
| @@ -436,7 +444,6 @@ CONFIG_MTD_ALCHEMY=y | |||
| 436 | # CONFIG_MTD_SLRAM is not set | 444 | # CONFIG_MTD_SLRAM is not set | 
| 437 | # CONFIG_MTD_PHRAM is not set | 445 | # CONFIG_MTD_PHRAM is not set | 
| 438 | # CONFIG_MTD_MTDRAM is not set | 446 | # CONFIG_MTD_MTDRAM is not set | 
| 439 | # CONFIG_MTD_BLKMTD is not set | ||
| 440 | # CONFIG_MTD_BLOCK2MTD is not set | 447 | # CONFIG_MTD_BLOCK2MTD is not set | 
| 441 | 448 | ||
| 442 | # | 449 | # | 
| @@ -473,7 +480,7 @@ CONFIG_BLK_DEV_LOOP=y | |||
| 473 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | 480 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | 
| 474 | # CONFIG_BLK_DEV_NBD is not set | 481 | # CONFIG_BLK_DEV_NBD is not set | 
| 475 | # CONFIG_BLK_DEV_RAM is not set | 482 | # CONFIG_BLK_DEV_RAM is not set | 
| 476 | CONFIG_BLK_DEV_RAM_COUNT=16 | 483 | # CONFIG_BLK_DEV_INITRD is not set | 
| 477 | CONFIG_CDROM_PKTCDVD=m | 484 | CONFIG_CDROM_PKTCDVD=m | 
| 478 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 485 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 
| 479 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 486 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 
| @@ -716,10 +723,6 @@ CONFIG_SYNCLINK_CS=m | |||
| 716 | # | 723 | # | 
| 717 | 724 | ||
| 718 | # | 725 | # | 
| 719 | # Multimedia Capabilities Port drivers | ||
| 720 | # | ||
| 721 | |||
| 722 | # | ||
| 723 | # Multimedia devices | 726 | # Multimedia devices | 
| 724 | # | 727 | # | 
| 725 | # CONFIG_VIDEO_DEV is not set | 728 | # CONFIG_VIDEO_DEV is not set | 
| @@ -750,6 +753,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
| 750 | # | 753 | # | 
| 751 | CONFIG_USB_ARCH_HAS_HCD=y | 754 | CONFIG_USB_ARCH_HAS_HCD=y | 
| 752 | CONFIG_USB_ARCH_HAS_OHCI=y | 755 | CONFIG_USB_ARCH_HAS_OHCI=y | 
| 756 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
| 753 | # CONFIG_USB is not set | 757 | # CONFIG_USB is not set | 
| 754 | 758 | ||
| 755 | # | 759 | # | 
| @@ -767,12 +771,30 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
| 767 | # CONFIG_MMC is not set | 771 | # CONFIG_MMC is not set | 
| 768 | 772 | ||
| 769 | # | 773 | # | 
| 774 | # LED devices | ||
| 775 | # | ||
| 776 | # CONFIG_NEW_LEDS is not set | ||
| 777 | |||
| 778 | # | ||
| 779 | # LED drivers | ||
| 780 | # | ||
| 781 | |||
| 782 | # | ||
| 783 | # LED Triggers | ||
| 784 | # | ||
| 785 | |||
| 786 | # | ||
| 770 | # InfiniBand support | 787 | # InfiniBand support | 
| 771 | # | 788 | # | 
| 772 | 789 | ||
| 773 | # | 790 | # | 
| 774 | # SN Devices | 791 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | 
| 792 | # | ||
| 793 | |||
| 794 | # | ||
| 795 | # Real Time Clock | ||
| 775 | # | 796 | # | 
| 797 | # CONFIG_RTC_CLASS is not set | ||
| 776 | 798 | ||
| 777 | # | 799 | # | 
| 778 | # File systems | 800 | # File systems | 
| @@ -830,7 +852,6 @@ CONFIG_SYSFS=y | |||
| 830 | CONFIG_TMPFS=y | 852 | CONFIG_TMPFS=y | 
| 831 | # CONFIG_HUGETLB_PAGE is not set | 853 | # CONFIG_HUGETLB_PAGE is not set | 
| 832 | CONFIG_RAMFS=y | 854 | CONFIG_RAMFS=y | 
| 833 | CONFIG_RELAYFS_FS=m | ||
| 834 | # CONFIG_CONFIGFS_FS is not set | 855 | # CONFIG_CONFIGFS_FS is not set | 
| 835 | 856 | ||
| 836 | # | 857 | # | 
| @@ -939,6 +960,7 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
| 939 | # CONFIG_MAGIC_SYSRQ is not set | 960 | # CONFIG_MAGIC_SYSRQ is not set | 
| 940 | # CONFIG_DEBUG_KERNEL is not set | 961 | # CONFIG_DEBUG_KERNEL is not set | 
| 941 | CONFIG_LOG_BUF_SHIFT=14 | 962 | CONFIG_LOG_BUF_SHIFT=14 | 
| 963 | # CONFIG_DEBUG_FS is not set | ||
| 942 | CONFIG_CROSSCOMPILE=y | 964 | CONFIG_CROSSCOMPILE=y | 
| 943 | CONFIG_CMDLINE="" | 965 | CONFIG_CMDLINE="" | 
| 944 | 966 | ||
diff --git a/arch/mips/configs/pb1500_defconfig b/arch/mips/configs/pb1500_defconfig index 8985725e6a98..398c3c265b9f 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.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 | 
| 4 | # Fri Jan 27 15:40:24 2006 | 4 | # Mon Apr 24 14:51:13 2006 | 
| 5 | # | 5 | # | 
| 6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y | 
| 7 | 7 | ||
| @@ -64,6 +64,8 @@ CONFIG_MIPS_PB1500=y | |||
| 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 
| 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 
| 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 
| 67 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
| 68 | CONFIG_GENERIC_HWEIGHT=y | ||
| 67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 69 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 
| 68 | CONFIG_DMA_NONCOHERENT=y | 70 | CONFIG_DMA_NONCOHERENT=y | 
| 69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 71 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 
| @@ -115,11 +117,11 @@ CONFIG_PAGE_SIZE_4KB=y | |||
| 115 | CONFIG_CPU_HAS_PREFETCH=y | 117 | CONFIG_CPU_HAS_PREFETCH=y | 
| 116 | # CONFIG_MIPS_MT is not set | 118 | # CONFIG_MIPS_MT is not set | 
| 117 | CONFIG_64BIT_PHYS_ADDR=y | 119 | CONFIG_64BIT_PHYS_ADDR=y | 
| 118 | # CONFIG_CPU_ADVANCED is not set | ||
| 119 | CONFIG_CPU_HAS_LLSC=y | 120 | CONFIG_CPU_HAS_LLSC=y | 
| 120 | CONFIG_CPU_HAS_SYNC=y | 121 | CONFIG_CPU_HAS_SYNC=y | 
| 121 | CONFIG_GENERIC_HARDIRQS=y | 122 | CONFIG_GENERIC_HARDIRQS=y | 
| 122 | CONFIG_GENERIC_IRQ_PROBE=y | 123 | CONFIG_GENERIC_IRQ_PROBE=y | 
| 124 | CONFIG_CPU_SUPPORTS_HIGHMEM=y | ||
| 123 | CONFIG_ARCH_FLATMEM_ENABLE=y | 125 | CONFIG_ARCH_FLATMEM_ENABLE=y | 
| 124 | CONFIG_SELECT_MEMORY_MODEL=y | 126 | CONFIG_SELECT_MEMORY_MODEL=y | 
| 125 | CONFIG_FLATMEM_MANUAL=y | 127 | CONFIG_FLATMEM_MANUAL=y | 
| @@ -137,7 +139,6 @@ CONFIG_PREEMPT_NONE=y | |||
| 137 | # Code maturity level options | 139 | # Code maturity level options | 
| 138 | # | 140 | # | 
| 139 | CONFIG_EXPERIMENTAL=y | 141 | CONFIG_EXPERIMENTAL=y | 
| 140 | CONFIG_CLEAN_COMPILE=y | ||
| 141 | CONFIG_BROKEN_ON_SMP=y | 142 | CONFIG_BROKEN_ON_SMP=y | 
| 142 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 143 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 
| 143 | 144 | ||
| @@ -153,6 +154,7 @@ CONFIG_SYSVIPC=y | |||
| 153 | CONFIG_SYSCTL=y | 154 | CONFIG_SYSCTL=y | 
| 154 | # CONFIG_AUDIT is not set | 155 | # CONFIG_AUDIT is not set | 
| 155 | # CONFIG_IKCONFIG is not set | 156 | # CONFIG_IKCONFIG is not set | 
| 157 | CONFIG_RELAY=y | ||
| 156 | CONFIG_INITRAMFS_SOURCE="" | 158 | CONFIG_INITRAMFS_SOURCE="" | 
| 157 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 159 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 
| 158 | CONFIG_EMBEDDED=y | 160 | CONFIG_EMBEDDED=y | 
| @@ -166,10 +168,6 @@ CONFIG_BASE_FULL=y | |||
| 166 | CONFIG_FUTEX=y | 168 | CONFIG_FUTEX=y | 
| 167 | CONFIG_EPOLL=y | 169 | CONFIG_EPOLL=y | 
| 168 | CONFIG_SHMEM=y | 170 | CONFIG_SHMEM=y | 
| 169 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
| 170 | CONFIG_CC_ALIGN_LABELS=0 | ||
| 171 | CONFIG_CC_ALIGN_LOOPS=0 | ||
| 172 | CONFIG_CC_ALIGN_JUMPS=0 | ||
| 173 | CONFIG_SLAB=y | 171 | CONFIG_SLAB=y | 
| 174 | # CONFIG_TINY_SHMEM is not set | 172 | # CONFIG_TINY_SHMEM is not set | 
| 175 | CONFIG_BASE_SMALL=0 | 173 | CONFIG_BASE_SMALL=0 | 
| @@ -182,7 +180,6 @@ CONFIG_OBSOLETE_INTERMODULE=y | |||
| 182 | CONFIG_MODULES=y | 180 | CONFIG_MODULES=y | 
| 183 | CONFIG_MODULE_UNLOAD=y | 181 | CONFIG_MODULE_UNLOAD=y | 
| 184 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 182 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 
| 185 | CONFIG_OBSOLETE_MODPARM=y | ||
| 186 | CONFIG_MODVERSIONS=y | 183 | CONFIG_MODVERSIONS=y | 
| 187 | CONFIG_MODULE_SRCVERSION_ALL=y | 184 | CONFIG_MODULE_SRCVERSION_ALL=y | 
| 188 | CONFIG_KMOD=y | 185 | CONFIG_KMOD=y | 
| @@ -191,6 +188,8 @@ CONFIG_KMOD=y | |||
| 191 | # Block layer | 188 | # Block layer | 
| 192 | # | 189 | # | 
| 193 | # CONFIG_LBD is not set | 190 | # CONFIG_LBD is not set | 
| 191 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 192 | # CONFIG_LSF is not set | ||
| 194 | 193 | ||
| 195 | # | 194 | # | 
| 196 | # IO Schedulers | 195 | # IO Schedulers | 
| @@ -210,7 +209,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
| 210 | # | 209 | # | 
| 211 | CONFIG_HW_HAS_PCI=y | 210 | CONFIG_HW_HAS_PCI=y | 
| 212 | CONFIG_PCI=y | 211 | CONFIG_PCI=y | 
| 213 | CONFIG_PCI_LEGACY_PROC=y | ||
| 214 | CONFIG_MMU=y | 212 | CONFIG_MMU=y | 
| 215 | 213 | ||
| 216 | # | 214 | # | 
| @@ -253,6 +251,7 @@ CONFIG_NET=y | |||
| 253 | # | 251 | # | 
| 254 | # Networking options | 252 | # Networking options | 
| 255 | # | 253 | # | 
| 254 | # CONFIG_NETDEBUG is not set | ||
| 256 | CONFIG_PACKET=y | 255 | CONFIG_PACKET=y | 
| 257 | # CONFIG_PACKET_MMAP is not set | 256 | # CONFIG_PACKET_MMAP is not set | 
| 258 | CONFIG_UNIX=y | 257 | CONFIG_UNIX=y | 
| @@ -275,7 +274,8 @@ CONFIG_IP_PNP_BOOTP=y | |||
| 275 | # CONFIG_INET_AH is not set | 274 | # CONFIG_INET_AH is not set | 
| 276 | # CONFIG_INET_ESP is not set | 275 | # CONFIG_INET_ESP is not set | 
| 277 | # CONFIG_INET_IPCOMP is not set | 276 | # CONFIG_INET_IPCOMP is not set | 
| 278 | CONFIG_INET_TUNNEL=m | 277 | # CONFIG_INET_XFRM_TUNNEL is not set | 
| 278 | # CONFIG_INET_TUNNEL is not set | ||
| 279 | CONFIG_INET_DIAG=y | 279 | CONFIG_INET_DIAG=y | 
| 280 | CONFIG_INET_TCP_DIAG=y | 280 | CONFIG_INET_TCP_DIAG=y | 
| 281 | # CONFIG_TCP_CONG_ADVANCED is not set | 281 | # CONFIG_TCP_CONG_ADVANCED is not set | 
| @@ -286,6 +286,8 @@ CONFIG_TCP_CONG_BIC=y | |||
| 286 | # | 286 | # | 
| 287 | # CONFIG_IP_VS is not set | 287 | # CONFIG_IP_VS is not set | 
| 288 | # CONFIG_IPV6 is not set | 288 | # CONFIG_IPV6 is not set | 
| 289 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
| 290 | # CONFIG_INET6_TUNNEL is not set | ||
| 289 | CONFIG_NETFILTER=y | 291 | CONFIG_NETFILTER=y | 
| 290 | # CONFIG_NETFILTER_DEBUG is not set | 292 | # CONFIG_NETFILTER_DEBUG is not set | 
| 291 | 293 | ||
| @@ -302,10 +304,13 @@ CONFIG_NETFILTER_XT_TARGET_MARK=m | |||
| 302 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | 304 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | 
| 303 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | 305 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | 
| 304 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 306 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 
| 307 | CONFIG_NETFILTER_XT_MATCH_ESP=m | ||
| 305 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | 308 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | 
| 306 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | 309 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | 
| 307 | CONFIG_NETFILTER_XT_MATCH_MAC=m | 310 | CONFIG_NETFILTER_XT_MATCH_MAC=m | 
| 308 | CONFIG_NETFILTER_XT_MATCH_MARK=m | 311 | CONFIG_NETFILTER_XT_MATCH_MARK=m | 
| 312 | CONFIG_NETFILTER_XT_MATCH_POLICY=m | ||
| 313 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m | ||
| 309 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 314 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 
| 310 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 315 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 
| 311 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | 316 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | 
| @@ -329,6 +334,11 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | |||
| 329 | # SCTP Configuration (EXPERIMENTAL) | 334 | # SCTP Configuration (EXPERIMENTAL) | 
| 330 | # | 335 | # | 
| 331 | # CONFIG_IP_SCTP is not set | 336 | # CONFIG_IP_SCTP is not set | 
| 337 | |||
| 338 | # | ||
| 339 | # TIPC Configuration (EXPERIMENTAL) | ||
| 340 | # | ||
| 341 | # CONFIG_TIPC is not set | ||
| 332 | # CONFIG_ATM is not set | 342 | # CONFIG_ATM is not set | 
| 333 | # CONFIG_BRIDGE is not set | 343 | # CONFIG_BRIDGE is not set | 
| 334 | # CONFIG_VLAN_8021Q is not set | 344 | # CONFIG_VLAN_8021Q is not set | 
| @@ -338,11 +348,6 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | |||
| 338 | # CONFIG_ATALK is not set | 348 | # CONFIG_ATALK is not set | 
| 339 | # CONFIG_X25 is not set | 349 | # CONFIG_X25 is not set | 
| 340 | # CONFIG_LAPB is not set | 350 | # CONFIG_LAPB is not set | 
| 341 | |||
| 342 | # | ||
| 343 | # TIPC Configuration (EXPERIMENTAL) | ||
| 344 | # | ||
| 345 | # CONFIG_TIPC is not set | ||
| 346 | # CONFIG_NET_DIVERT is not set | 351 | # CONFIG_NET_DIVERT is not set | 
| 347 | # CONFIG_ECONET is not set | 352 | # CONFIG_ECONET is not set | 
| 348 | # CONFIG_WAN_ROUTER is not set | 353 | # CONFIG_WAN_ROUTER is not set | 
| @@ -364,6 +369,9 @@ CONFIG_IEEE80211=m | |||
| 364 | # CONFIG_IEEE80211_DEBUG is not set | 369 | # CONFIG_IEEE80211_DEBUG is not set | 
| 365 | CONFIG_IEEE80211_CRYPT_WEP=m | 370 | CONFIG_IEEE80211_CRYPT_WEP=m | 
| 366 | CONFIG_IEEE80211_CRYPT_CCMP=m | 371 | CONFIG_IEEE80211_CRYPT_CCMP=m | 
| 372 | CONFIG_IEEE80211_SOFTMAC=m | ||
| 373 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
| 374 | CONFIG_WIRELESS_EXT=y | ||
| 367 | 375 | ||
| 368 | # | 376 | # | 
| 369 | # Device Drivers | 377 | # Device Drivers | 
| @@ -420,7 +428,6 @@ CONFIG_MTD_CFI_I2=y | |||
| 420 | # CONFIG_MTD_CFI_I8 is not set | 428 | # CONFIG_MTD_CFI_I8 is not set | 
| 421 | # CONFIG_MTD_CFI_INTELEXT is not set | 429 | # CONFIG_MTD_CFI_INTELEXT is not set | 
| 422 | CONFIG_MTD_CFI_AMDSTD=y | 430 | CONFIG_MTD_CFI_AMDSTD=y | 
| 423 | CONFIG_MTD_CFI_AMDSTD_RETRY=0 | ||
| 424 | # CONFIG_MTD_CFI_STAA is not set | 431 | # CONFIG_MTD_CFI_STAA is not set | 
| 425 | CONFIG_MTD_CFI_UTIL=y | 432 | CONFIG_MTD_CFI_UTIL=y | 
| 426 | # CONFIG_MTD_RAM is not set | 433 | # CONFIG_MTD_RAM is not set | 
| @@ -443,7 +450,6 @@ CONFIG_MTD_ALCHEMY=y | |||
| 443 | # CONFIG_MTD_SLRAM is not set | 450 | # CONFIG_MTD_SLRAM is not set | 
| 444 | # CONFIG_MTD_PHRAM is not set | 451 | # CONFIG_MTD_PHRAM is not set | 
| 445 | # CONFIG_MTD_MTDRAM is not set | 452 | # CONFIG_MTD_MTDRAM is not set | 
| 446 | # CONFIG_MTD_BLKMTD is not set | ||
| 447 | # CONFIG_MTD_BLOCK2MTD is not set | 453 | # CONFIG_MTD_BLOCK2MTD is not set | 
| 448 | 454 | ||
| 449 | # | 455 | # | 
| @@ -485,7 +491,7 @@ CONFIG_BLK_DEV_LOOP=y | |||
| 485 | # CONFIG_BLK_DEV_NBD is not set | 491 | # CONFIG_BLK_DEV_NBD is not set | 
| 486 | # CONFIG_BLK_DEV_SX8 is not set | 492 | # CONFIG_BLK_DEV_SX8 is not set | 
| 487 | # CONFIG_BLK_DEV_RAM is not set | 493 | # CONFIG_BLK_DEV_RAM is not set | 
| 488 | CONFIG_BLK_DEV_RAM_COUNT=16 | 494 | # CONFIG_BLK_DEV_INITRD is not set | 
| 489 | CONFIG_CDROM_PKTCDVD=m | 495 | CONFIG_CDROM_PKTCDVD=m | 
| 490 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 496 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 
| 491 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 497 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 
| @@ -750,6 +756,7 @@ CONFIG_SERIO_RAW=m | |||
| 750 | # | 756 | # | 
| 751 | CONFIG_SERIAL_8250=y | 757 | CONFIG_SERIAL_8250=y | 
| 752 | CONFIG_SERIAL_8250_CONSOLE=y | 758 | CONFIG_SERIAL_8250_CONSOLE=y | 
| 759 | CONFIG_SERIAL_8250_PCI=y | ||
| 753 | # CONFIG_SERIAL_8250_CS is not set | 760 | # CONFIG_SERIAL_8250_CS is not set | 
| 754 | CONFIG_SERIAL_8250_NR_UARTS=4 | 761 | CONFIG_SERIAL_8250_NR_UARTS=4 | 
| 755 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 762 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 
| @@ -761,6 +768,7 @@ CONFIG_SERIAL_8250_AU1X00=y | |||
| 761 | # | 768 | # | 
| 762 | CONFIG_SERIAL_CORE=y | 769 | CONFIG_SERIAL_CORE=y | 
| 763 | CONFIG_SERIAL_CORE_CONSOLE=y | 770 | CONFIG_SERIAL_CORE_CONSOLE=y | 
| 771 | # CONFIG_SERIAL_JSM is not set | ||
| 764 | CONFIG_UNIX98_PTYS=y | 772 | CONFIG_UNIX98_PTYS=y | 
| 765 | CONFIG_LEGACY_PTYS=y | 773 | CONFIG_LEGACY_PTYS=y | 
| 766 | CONFIG_LEGACY_PTY_COUNT=256 | 774 | CONFIG_LEGACY_PTY_COUNT=256 | 
| @@ -826,10 +834,6 @@ CONFIG_SYNCLINK_CS=m | |||
| 826 | # | 834 | # | 
| 827 | 835 | ||
| 828 | # | 836 | # | 
| 829 | # Multimedia Capabilities Port drivers | ||
| 830 | # | ||
| 831 | |||
| 832 | # | ||
| 833 | # Multimedia devices | 837 | # Multimedia devices | 
| 834 | # | 838 | # | 
| 835 | # CONFIG_VIDEO_DEV is not set | 839 | # CONFIG_VIDEO_DEV is not set | 
| @@ -854,6 +858,7 @@ CONFIG_SYNCLINK_CS=m | |||
| 854 | # | 858 | # | 
| 855 | CONFIG_USB_ARCH_HAS_HCD=y | 859 | CONFIG_USB_ARCH_HAS_HCD=y | 
| 856 | CONFIG_USB_ARCH_HAS_OHCI=y | 860 | CONFIG_USB_ARCH_HAS_OHCI=y | 
| 861 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
| 857 | # CONFIG_USB is not set | 862 | # CONFIG_USB is not set | 
| 858 | 863 | ||
| 859 | # | 864 | # | 
| @@ -871,13 +876,31 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
| 871 | # CONFIG_MMC is not set | 876 | # CONFIG_MMC is not set | 
| 872 | 877 | ||
| 873 | # | 878 | # | 
| 879 | # LED devices | ||
| 880 | # | ||
| 881 | # CONFIG_NEW_LEDS is not set | ||
| 882 | |||
| 883 | # | ||
| 884 | # LED drivers | ||
| 885 | # | ||
| 886 | |||
| 887 | # | ||
| 888 | # LED Triggers | ||
| 889 | # | ||
| 890 | |||
| 891 | # | ||
| 874 | # InfiniBand support | 892 | # InfiniBand support | 
| 875 | # | 893 | # | 
| 876 | # CONFIG_INFINIBAND is not set | 894 | # CONFIG_INFINIBAND is not set | 
| 877 | 895 | ||
| 878 | # | 896 | # | 
| 879 | # SN Devices | 897 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | 
| 898 | # | ||
| 899 | |||
| 900 | # | ||
| 901 | # Real Time Clock | ||
| 880 | # | 902 | # | 
| 903 | # CONFIG_RTC_CLASS is not set | ||
| 881 | 904 | ||
| 882 | # | 905 | # | 
| 883 | # File systems | 906 | # File systems | 
| @@ -935,7 +958,6 @@ CONFIG_SYSFS=y | |||
| 935 | CONFIG_TMPFS=y | 958 | CONFIG_TMPFS=y | 
| 936 | # CONFIG_HUGETLB_PAGE is not set | 959 | # CONFIG_HUGETLB_PAGE is not set | 
| 937 | CONFIG_RAMFS=y | 960 | CONFIG_RAMFS=y | 
| 938 | CONFIG_RELAYFS_FS=m | ||
| 939 | # CONFIG_CONFIGFS_FS is not set | 961 | # CONFIG_CONFIGFS_FS is not set | 
| 940 | 962 | ||
| 941 | # | 963 | # | 
| @@ -1044,6 +1066,7 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
| 1044 | # CONFIG_MAGIC_SYSRQ is not set | 1066 | # CONFIG_MAGIC_SYSRQ is not set | 
| 1045 | # CONFIG_DEBUG_KERNEL is not set | 1067 | # CONFIG_DEBUG_KERNEL is not set | 
| 1046 | CONFIG_LOG_BUF_SHIFT=14 | 1068 | CONFIG_LOG_BUF_SHIFT=14 | 
| 1069 | # CONFIG_DEBUG_FS is not set | ||
| 1047 | CONFIG_CROSSCOMPILE=y | 1070 | CONFIG_CROSSCOMPILE=y | 
| 1048 | CONFIG_CMDLINE="" | 1071 | CONFIG_CMDLINE="" | 
| 1049 | 1072 | ||
diff --git a/arch/mips/configs/pb1550_defconfig b/arch/mips/configs/pb1550_defconfig index adbf997b540e..ea282a53bb66 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.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 | 
| 4 | # Fri Jan 27 15:40:25 2006 | 4 | # Mon Apr 24 14:51:13 2006 | 
| 5 | # | 5 | # | 
| 6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y | 
| 7 | 7 | ||
| @@ -64,6 +64,8 @@ CONFIG_MIPS_PB1550=y | |||
| 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 
| 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 
| 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 
| 67 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
| 68 | CONFIG_GENERIC_HWEIGHT=y | ||
| 67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 69 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 
| 68 | CONFIG_DMA_NONCOHERENT=y | 70 | CONFIG_DMA_NONCOHERENT=y | 
| 69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 71 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 
| @@ -115,11 +117,11 @@ CONFIG_PAGE_SIZE_4KB=y | |||
| 115 | CONFIG_CPU_HAS_PREFETCH=y | 117 | CONFIG_CPU_HAS_PREFETCH=y | 
| 116 | # CONFIG_MIPS_MT is not set | 118 | # CONFIG_MIPS_MT is not set | 
| 117 | CONFIG_64BIT_PHYS_ADDR=y | 119 | CONFIG_64BIT_PHYS_ADDR=y | 
| 118 | # CONFIG_CPU_ADVANCED is not set | ||
| 119 | CONFIG_CPU_HAS_LLSC=y | 120 | CONFIG_CPU_HAS_LLSC=y | 
| 120 | CONFIG_CPU_HAS_SYNC=y | 121 | CONFIG_CPU_HAS_SYNC=y | 
| 121 | CONFIG_GENERIC_HARDIRQS=y | 122 | CONFIG_GENERIC_HARDIRQS=y | 
| 122 | CONFIG_GENERIC_IRQ_PROBE=y | 123 | CONFIG_GENERIC_IRQ_PROBE=y | 
| 124 | CONFIG_CPU_SUPPORTS_HIGHMEM=y | ||
| 123 | CONFIG_ARCH_FLATMEM_ENABLE=y | 125 | CONFIG_ARCH_FLATMEM_ENABLE=y | 
| 124 | CONFIG_SELECT_MEMORY_MODEL=y | 126 | CONFIG_SELECT_MEMORY_MODEL=y | 
| 125 | CONFIG_FLATMEM_MANUAL=y | 127 | CONFIG_FLATMEM_MANUAL=y | 
| @@ -137,7 +139,6 @@ CONFIG_PREEMPT_NONE=y | |||
| 137 | # Code maturity level options | 139 | # Code maturity level options | 
| 138 | # | 140 | # | 
| 139 | CONFIG_EXPERIMENTAL=y | 141 | CONFIG_EXPERIMENTAL=y | 
| 140 | CONFIG_CLEAN_COMPILE=y | ||
| 141 | CONFIG_BROKEN_ON_SMP=y | 142 | CONFIG_BROKEN_ON_SMP=y | 
| 142 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 143 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 
| 143 | 144 | ||
| @@ -153,6 +154,7 @@ CONFIG_SYSVIPC=y | |||
| 153 | CONFIG_SYSCTL=y | 154 | CONFIG_SYSCTL=y | 
| 154 | # CONFIG_AUDIT is not set | 155 | # CONFIG_AUDIT is not set | 
| 155 | # CONFIG_IKCONFIG is not set | 156 | # CONFIG_IKCONFIG is not set | 
| 157 | CONFIG_RELAY=y | ||
| 156 | CONFIG_INITRAMFS_SOURCE="" | 158 | CONFIG_INITRAMFS_SOURCE="" | 
| 157 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 159 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 
| 158 | CONFIG_EMBEDDED=y | 160 | CONFIG_EMBEDDED=y | 
| @@ -166,10 +168,6 @@ CONFIG_BASE_FULL=y | |||
| 166 | CONFIG_FUTEX=y | 168 | CONFIG_FUTEX=y | 
| 167 | CONFIG_EPOLL=y | 169 | CONFIG_EPOLL=y | 
| 168 | CONFIG_SHMEM=y | 170 | CONFIG_SHMEM=y | 
| 169 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
| 170 | CONFIG_CC_ALIGN_LABELS=0 | ||
| 171 | CONFIG_CC_ALIGN_LOOPS=0 | ||
| 172 | CONFIG_CC_ALIGN_JUMPS=0 | ||
| 173 | CONFIG_SLAB=y | 171 | CONFIG_SLAB=y | 
| 174 | # CONFIG_TINY_SHMEM is not set | 172 | # CONFIG_TINY_SHMEM is not set | 
| 175 | CONFIG_BASE_SMALL=0 | 173 | CONFIG_BASE_SMALL=0 | 
| @@ -182,7 +180,6 @@ CONFIG_OBSOLETE_INTERMODULE=y | |||
| 182 | CONFIG_MODULES=y | 180 | CONFIG_MODULES=y | 
| 183 | CONFIG_MODULE_UNLOAD=y | 181 | CONFIG_MODULE_UNLOAD=y | 
| 184 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 182 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 
| 185 | CONFIG_OBSOLETE_MODPARM=y | ||
| 186 | CONFIG_MODVERSIONS=y | 183 | CONFIG_MODVERSIONS=y | 
| 187 | CONFIG_MODULE_SRCVERSION_ALL=y | 184 | CONFIG_MODULE_SRCVERSION_ALL=y | 
| 188 | CONFIG_KMOD=y | 185 | CONFIG_KMOD=y | 
| @@ -191,6 +188,8 @@ CONFIG_KMOD=y | |||
| 191 | # Block layer | 188 | # Block layer | 
| 192 | # | 189 | # | 
| 193 | # CONFIG_LBD is not set | 190 | # CONFIG_LBD is not set | 
| 191 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 192 | # CONFIG_LSF is not set | ||
| 194 | 193 | ||
| 195 | # | 194 | # | 
| 196 | # IO Schedulers | 195 | # IO Schedulers | 
| @@ -210,7 +209,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
| 210 | # | 209 | # | 
| 211 | CONFIG_HW_HAS_PCI=y | 210 | CONFIG_HW_HAS_PCI=y | 
| 212 | CONFIG_PCI=y | 211 | CONFIG_PCI=y | 
| 213 | CONFIG_PCI_LEGACY_PROC=y | ||
| 214 | CONFIG_MMU=y | 212 | CONFIG_MMU=y | 
| 215 | 213 | ||
| 216 | # | 214 | # | 
| @@ -253,6 +251,7 @@ CONFIG_NET=y | |||
| 253 | # | 251 | # | 
| 254 | # Networking options | 252 | # Networking options | 
| 255 | # | 253 | # | 
| 254 | # CONFIG_NETDEBUG is not set | ||
| 256 | CONFIG_PACKET=y | 255 | CONFIG_PACKET=y | 
| 257 | # CONFIG_PACKET_MMAP is not set | 256 | # CONFIG_PACKET_MMAP is not set | 
| 258 | CONFIG_UNIX=y | 257 | CONFIG_UNIX=y | 
| @@ -275,7 +274,8 @@ CONFIG_IP_PNP_BOOTP=y | |||
| 275 | # CONFIG_INET_AH is not set | 274 | # CONFIG_INET_AH is not set | 
| 276 | # CONFIG_INET_ESP is not set | 275 | # CONFIG_INET_ESP is not set | 
| 277 | # CONFIG_INET_IPCOMP is not set | 276 | # CONFIG_INET_IPCOMP is not set | 
| 278 | CONFIG_INET_TUNNEL=m | 277 | # CONFIG_INET_XFRM_TUNNEL is not set | 
| 278 | # CONFIG_INET_TUNNEL is not set | ||
| 279 | CONFIG_INET_DIAG=y | 279 | CONFIG_INET_DIAG=y | 
| 280 | CONFIG_INET_TCP_DIAG=y | 280 | CONFIG_INET_TCP_DIAG=y | 
| 281 | # CONFIG_TCP_CONG_ADVANCED is not set | 281 | # CONFIG_TCP_CONG_ADVANCED is not set | 
| @@ -286,6 +286,8 @@ CONFIG_TCP_CONG_BIC=y | |||
| 286 | # | 286 | # | 
| 287 | # CONFIG_IP_VS is not set | 287 | # CONFIG_IP_VS is not set | 
| 288 | # CONFIG_IPV6 is not set | 288 | # CONFIG_IPV6 is not set | 
| 289 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
| 290 | # CONFIG_INET6_TUNNEL is not set | ||
| 289 | CONFIG_NETFILTER=y | 291 | CONFIG_NETFILTER=y | 
| 290 | # CONFIG_NETFILTER_DEBUG is not set | 292 | # CONFIG_NETFILTER_DEBUG is not set | 
| 291 | 293 | ||
| @@ -302,10 +304,13 @@ CONFIG_NETFILTER_XT_TARGET_MARK=m | |||
| 302 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | 304 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | 
| 303 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | 305 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | 
| 304 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 306 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 
| 307 | CONFIG_NETFILTER_XT_MATCH_ESP=m | ||
| 305 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | 308 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | 
| 306 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | 309 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | 
| 307 | CONFIG_NETFILTER_XT_MATCH_MAC=m | 310 | CONFIG_NETFILTER_XT_MATCH_MAC=m | 
| 308 | CONFIG_NETFILTER_XT_MATCH_MARK=m | 311 | CONFIG_NETFILTER_XT_MATCH_MARK=m | 
| 312 | CONFIG_NETFILTER_XT_MATCH_POLICY=m | ||
| 313 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m | ||
| 309 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 314 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 
| 310 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 315 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 
| 311 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | 316 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | 
| @@ -329,6 +334,11 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | |||
| 329 | # SCTP Configuration (EXPERIMENTAL) | 334 | # SCTP Configuration (EXPERIMENTAL) | 
| 330 | # | 335 | # | 
| 331 | # CONFIG_IP_SCTP is not set | 336 | # CONFIG_IP_SCTP is not set | 
| 337 | |||
| 338 | # | ||
| 339 | # TIPC Configuration (EXPERIMENTAL) | ||
| 340 | # | ||
| 341 | # CONFIG_TIPC is not set | ||
| 332 | # CONFIG_ATM is not set | 342 | # CONFIG_ATM is not set | 
| 333 | # CONFIG_BRIDGE is not set | 343 | # CONFIG_BRIDGE is not set | 
| 334 | # CONFIG_VLAN_8021Q is not set | 344 | # CONFIG_VLAN_8021Q is not set | 
| @@ -338,11 +348,6 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | |||
| 338 | # CONFIG_ATALK is not set | 348 | # CONFIG_ATALK is not set | 
| 339 | # CONFIG_X25 is not set | 349 | # CONFIG_X25 is not set | 
| 340 | # CONFIG_LAPB is not set | 350 | # CONFIG_LAPB is not set | 
| 341 | |||
| 342 | # | ||
| 343 | # TIPC Configuration (EXPERIMENTAL) | ||
| 344 | # | ||
| 345 | # CONFIG_TIPC is not set | ||
| 346 | # CONFIG_NET_DIVERT is not set | 351 | # CONFIG_NET_DIVERT is not set | 
| 347 | # CONFIG_ECONET is not set | 352 | # CONFIG_ECONET is not set | 
| 348 | # CONFIG_WAN_ROUTER is not set | 353 | # CONFIG_WAN_ROUTER is not set | 
| @@ -364,6 +369,9 @@ CONFIG_IEEE80211=m | |||
| 364 | # CONFIG_IEEE80211_DEBUG is not set | 369 | # CONFIG_IEEE80211_DEBUG is not set | 
| 365 | CONFIG_IEEE80211_CRYPT_WEP=m | 370 | CONFIG_IEEE80211_CRYPT_WEP=m | 
| 366 | CONFIG_IEEE80211_CRYPT_CCMP=m | 371 | CONFIG_IEEE80211_CRYPT_CCMP=m | 
| 372 | CONFIG_IEEE80211_SOFTMAC=m | ||
| 373 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
| 374 | CONFIG_WIRELESS_EXT=y | ||
| 367 | 375 | ||
| 368 | # | 376 | # | 
| 369 | # Device Drivers | 377 | # Device Drivers | 
| @@ -420,7 +428,6 @@ CONFIG_MTD_CFI_I2=y | |||
| 420 | # CONFIG_MTD_CFI_I8 is not set | 428 | # CONFIG_MTD_CFI_I8 is not set | 
| 421 | # CONFIG_MTD_CFI_INTELEXT is not set | 429 | # CONFIG_MTD_CFI_INTELEXT is not set | 
| 422 | CONFIG_MTD_CFI_AMDSTD=y | 430 | CONFIG_MTD_CFI_AMDSTD=y | 
| 423 | CONFIG_MTD_CFI_AMDSTD_RETRY=0 | ||
| 424 | # CONFIG_MTD_CFI_STAA is not set | 431 | # CONFIG_MTD_CFI_STAA is not set | 
| 425 | CONFIG_MTD_CFI_UTIL=y | 432 | CONFIG_MTD_CFI_UTIL=y | 
| 426 | # CONFIG_MTD_RAM is not set | 433 | # CONFIG_MTD_RAM is not set | 
| @@ -443,7 +450,6 @@ CONFIG_MTD_ALCHEMY=y | |||
| 443 | # CONFIG_MTD_SLRAM is not set | 450 | # CONFIG_MTD_SLRAM is not set | 
| 444 | # CONFIG_MTD_PHRAM is not set | 451 | # CONFIG_MTD_PHRAM is not set | 
| 445 | # CONFIG_MTD_MTDRAM is not set | 452 | # CONFIG_MTD_MTDRAM is not set | 
| 446 | # CONFIG_MTD_BLKMTD is not set | ||
| 447 | # CONFIG_MTD_BLOCK2MTD is not set | 453 | # CONFIG_MTD_BLOCK2MTD is not set | 
| 448 | 454 | ||
| 449 | # | 455 | # | 
| @@ -485,7 +491,7 @@ CONFIG_BLK_DEV_LOOP=y | |||
| 485 | # CONFIG_BLK_DEV_NBD is not set | 491 | # CONFIG_BLK_DEV_NBD is not set | 
| 486 | # CONFIG_BLK_DEV_SX8 is not set | 492 | # CONFIG_BLK_DEV_SX8 is not set | 
| 487 | # CONFIG_BLK_DEV_RAM is not set | 493 | # CONFIG_BLK_DEV_RAM is not set | 
| 488 | CONFIG_BLK_DEV_RAM_COUNT=16 | 494 | # CONFIG_BLK_DEV_INITRD is not set | 
| 489 | CONFIG_CDROM_PKTCDVD=m | 495 | CONFIG_CDROM_PKTCDVD=m | 
| 490 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 496 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 
| 491 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 497 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 
| @@ -742,6 +748,7 @@ CONFIG_SERIO_RAW=m | |||
| 742 | # | 748 | # | 
| 743 | CONFIG_SERIAL_8250=y | 749 | CONFIG_SERIAL_8250=y | 
| 744 | CONFIG_SERIAL_8250_CONSOLE=y | 750 | CONFIG_SERIAL_8250_CONSOLE=y | 
| 751 | CONFIG_SERIAL_8250_PCI=y | ||
| 745 | # CONFIG_SERIAL_8250_CS is not set | 752 | # CONFIG_SERIAL_8250_CS is not set | 
| 746 | CONFIG_SERIAL_8250_NR_UARTS=4 | 753 | CONFIG_SERIAL_8250_NR_UARTS=4 | 
| 747 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 754 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 
| @@ -753,6 +760,7 @@ CONFIG_SERIAL_8250_AU1X00=y | |||
| 753 | # | 760 | # | 
| 754 | CONFIG_SERIAL_CORE=y | 761 | CONFIG_SERIAL_CORE=y | 
| 755 | CONFIG_SERIAL_CORE_CONSOLE=y | 762 | CONFIG_SERIAL_CORE_CONSOLE=y | 
| 763 | # CONFIG_SERIAL_JSM is not set | ||
| 756 | CONFIG_UNIX98_PTYS=y | 764 | CONFIG_UNIX98_PTYS=y | 
| 757 | CONFIG_LEGACY_PTYS=y | 765 | CONFIG_LEGACY_PTYS=y | 
| 758 | CONFIG_LEGACY_PTY_COUNT=256 | 766 | CONFIG_LEGACY_PTY_COUNT=256 | 
| @@ -818,10 +826,6 @@ CONFIG_SYNCLINK_CS=m | |||
| 818 | # | 826 | # | 
| 819 | 827 | ||
| 820 | # | 828 | # | 
| 821 | # Multimedia Capabilities Port drivers | ||
| 822 | # | ||
| 823 | |||
| 824 | # | ||
| 825 | # Multimedia devices | 829 | # Multimedia devices | 
| 826 | # | 830 | # | 
| 827 | # CONFIG_VIDEO_DEV is not set | 831 | # CONFIG_VIDEO_DEV is not set | 
| @@ -846,6 +850,7 @@ CONFIG_SYNCLINK_CS=m | |||
| 846 | # | 850 | # | 
| 847 | CONFIG_USB_ARCH_HAS_HCD=y | 851 | CONFIG_USB_ARCH_HAS_HCD=y | 
| 848 | CONFIG_USB_ARCH_HAS_OHCI=y | 852 | CONFIG_USB_ARCH_HAS_OHCI=y | 
| 853 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
| 849 | # CONFIG_USB is not set | 854 | # CONFIG_USB is not set | 
| 850 | 855 | ||
| 851 | # | 856 | # | 
| @@ -863,13 +868,31 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
| 863 | # CONFIG_MMC is not set | 868 | # CONFIG_MMC is not set | 
| 864 | 869 | ||
| 865 | # | 870 | # | 
| 871 | # LED devices | ||
| 872 | # | ||
| 873 | # CONFIG_NEW_LEDS is not set | ||
| 874 | |||
| 875 | # | ||
| 876 | # LED drivers | ||
| 877 | # | ||
| 878 | |||
| 879 | # | ||
| 880 | # LED Triggers | ||
| 881 | # | ||
| 882 | |||
| 883 | # | ||
| 866 | # InfiniBand support | 884 | # InfiniBand support | 
| 867 | # | 885 | # | 
| 868 | # CONFIG_INFINIBAND is not set | 886 | # CONFIG_INFINIBAND is not set | 
| 869 | 887 | ||
| 870 | # | 888 | # | 
| 871 | # SN Devices | 889 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | 
| 890 | # | ||
| 891 | |||
| 892 | # | ||
| 893 | # Real Time Clock | ||
| 872 | # | 894 | # | 
| 895 | # CONFIG_RTC_CLASS is not set | ||
| 873 | 896 | ||
| 874 | # | 897 | # | 
| 875 | # File systems | 898 | # File systems | 
| @@ -927,7 +950,6 @@ CONFIG_SYSFS=y | |||
| 927 | CONFIG_TMPFS=y | 950 | CONFIG_TMPFS=y | 
| 928 | # CONFIG_HUGETLB_PAGE is not set | 951 | # CONFIG_HUGETLB_PAGE is not set | 
| 929 | CONFIG_RAMFS=y | 952 | CONFIG_RAMFS=y | 
| 930 | CONFIG_RELAYFS_FS=m | ||
| 931 | # CONFIG_CONFIGFS_FS is not set | 953 | # CONFIG_CONFIGFS_FS is not set | 
| 932 | 954 | ||
| 933 | # | 955 | # | 
| @@ -1036,6 +1058,7 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
| 1036 | # CONFIG_MAGIC_SYSRQ is not set | 1058 | # CONFIG_MAGIC_SYSRQ is not set | 
| 1037 | # CONFIG_DEBUG_KERNEL is not set | 1059 | # CONFIG_DEBUG_KERNEL is not set | 
| 1038 | CONFIG_LOG_BUF_SHIFT=14 | 1060 | CONFIG_LOG_BUF_SHIFT=14 | 
| 1061 | # CONFIG_DEBUG_FS is not set | ||
| 1039 | CONFIG_CROSSCOMPILE=y | 1062 | CONFIG_CROSSCOMPILE=y | 
| 1040 | CONFIG_CMDLINE="" | 1063 | CONFIG_CMDLINE="" | 
| 1041 | 1064 | ||
diff --git a/arch/mips/configs/pnx8550-jbs_defconfig b/arch/mips/configs/pnx8550-jbs_defconfig index b5db700450ba..4c57e564db0b 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.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 | 
| 4 | # Fri Jan 27 15:40:26 2006 | 4 | # Mon Apr 24 14:51:14 2006 | 
| 5 | # | 5 | # | 
| 6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y | 
| 7 | 7 | ||
| @@ -64,6 +64,8 @@ CONFIG_PNX8550_JBS=y | |||
| 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 
| 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 
| 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 
| 67 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
| 68 | CONFIG_GENERIC_HWEIGHT=y | ||
| 67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 69 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 
| 68 | CONFIG_DMA_NONCOHERENT=y | 70 | CONFIG_DMA_NONCOHERENT=y | 
| 69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 71 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 
| @@ -114,11 +116,11 @@ CONFIG_PAGE_SIZE_4KB=y | |||
| 114 | CONFIG_CPU_HAS_PREFETCH=y | 116 | CONFIG_CPU_HAS_PREFETCH=y | 
| 115 | # CONFIG_MIPS_MT is not set | 117 | # CONFIG_MIPS_MT is not set | 
| 116 | # CONFIG_64BIT_PHYS_ADDR is not set | 118 | # CONFIG_64BIT_PHYS_ADDR is not set | 
| 117 | # CONFIG_CPU_ADVANCED is not set | ||
| 118 | CONFIG_CPU_HAS_LLSC=y | 119 | CONFIG_CPU_HAS_LLSC=y | 
| 119 | CONFIG_CPU_HAS_SYNC=y | 120 | CONFIG_CPU_HAS_SYNC=y | 
| 120 | CONFIG_GENERIC_HARDIRQS=y | 121 | CONFIG_GENERIC_HARDIRQS=y | 
| 121 | CONFIG_GENERIC_IRQ_PROBE=y | 122 | CONFIG_GENERIC_IRQ_PROBE=y | 
| 123 | CONFIG_CPU_SUPPORTS_HIGHMEM=y | ||
| 122 | CONFIG_ARCH_FLATMEM_ENABLE=y | 124 | CONFIG_ARCH_FLATMEM_ENABLE=y | 
| 123 | CONFIG_SELECT_MEMORY_MODEL=y | 125 | CONFIG_SELECT_MEMORY_MODEL=y | 
| 124 | CONFIG_FLATMEM_MANUAL=y | 126 | CONFIG_FLATMEM_MANUAL=y | 
| @@ -136,7 +138,6 @@ CONFIG_PREEMPT_NONE=y | |||
| 136 | # Code maturity level options | 138 | # Code maturity level options | 
| 137 | # | 139 | # | 
| 138 | CONFIG_EXPERIMENTAL=y | 140 | CONFIG_EXPERIMENTAL=y | 
| 139 | CONFIG_CLEAN_COMPILE=y | ||
| 140 | CONFIG_BROKEN_ON_SMP=y | 141 | CONFIG_BROKEN_ON_SMP=y | 
| 141 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 142 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 
| 142 | 143 | ||
| @@ -153,6 +154,7 @@ CONFIG_SYSCTL=y | |||
| 153 | # CONFIG_AUDIT is not set | 154 | # CONFIG_AUDIT is not set | 
| 154 | CONFIG_IKCONFIG=y | 155 | CONFIG_IKCONFIG=y | 
| 155 | CONFIG_IKCONFIG_PROC=y | 156 | CONFIG_IKCONFIG_PROC=y | 
| 157 | # CONFIG_RELAY is not set | ||
| 156 | CONFIG_INITRAMFS_SOURCE="" | 158 | CONFIG_INITRAMFS_SOURCE="" | 
| 157 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 159 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 
| 158 | CONFIG_EMBEDDED=y | 160 | CONFIG_EMBEDDED=y | 
| @@ -167,10 +169,6 @@ CONFIG_BASE_FULL=y | |||
| 167 | CONFIG_FUTEX=y | 169 | CONFIG_FUTEX=y | 
| 168 | CONFIG_EPOLL=y | 170 | CONFIG_EPOLL=y | 
| 169 | CONFIG_SHMEM=y | 171 | CONFIG_SHMEM=y | 
| 170 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
| 171 | CONFIG_CC_ALIGN_LABELS=0 | ||
| 172 | CONFIG_CC_ALIGN_LOOPS=0 | ||
| 173 | CONFIG_CC_ALIGN_JUMPS=0 | ||
| 174 | CONFIG_SLAB=y | 172 | CONFIG_SLAB=y | 
| 175 | # CONFIG_TINY_SHMEM is not set | 173 | # CONFIG_TINY_SHMEM is not set | 
| 176 | CONFIG_BASE_SMALL=0 | 174 | CONFIG_BASE_SMALL=0 | 
| @@ -181,7 +179,6 @@ CONFIG_BASE_SMALL=0 | |||
| 181 | # | 179 | # | 
| 182 | CONFIG_MODULES=y | 180 | CONFIG_MODULES=y | 
| 183 | # CONFIG_MODULE_UNLOAD is not set | 181 | # CONFIG_MODULE_UNLOAD is not set | 
| 184 | CONFIG_OBSOLETE_MODPARM=y | ||
| 185 | # CONFIG_MODVERSIONS is not set | 182 | # CONFIG_MODVERSIONS is not set | 
| 186 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 183 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 
| 187 | CONFIG_KMOD=y | 184 | CONFIG_KMOD=y | 
| @@ -190,6 +187,8 @@ CONFIG_KMOD=y | |||
| 190 | # Block layer | 187 | # Block layer | 
| 191 | # | 188 | # | 
| 192 | # CONFIG_LBD is not set | 189 | # CONFIG_LBD is not set | 
| 190 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 191 | # CONFIG_LSF is not set | ||
| 193 | 192 | ||
| 194 | # | 193 | # | 
| 195 | # IO Schedulers | 194 | # IO Schedulers | 
| @@ -209,7 +208,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
| 209 | # | 208 | # | 
| 210 | CONFIG_HW_HAS_PCI=y | 209 | CONFIG_HW_HAS_PCI=y | 
| 211 | CONFIG_PCI=y | 210 | CONFIG_PCI=y | 
| 212 | # CONFIG_PCI_LEGACY_PROC is not set | ||
| 213 | # CONFIG_PCI_DEBUG is not set | 211 | # CONFIG_PCI_DEBUG is not set | 
| 214 | CONFIG_MMU=y | 212 | CONFIG_MMU=y | 
| 215 | 213 | ||
| @@ -238,6 +236,7 @@ CONFIG_NET=y | |||
| 238 | # | 236 | # | 
| 239 | # Networking options | 237 | # Networking options | 
| 240 | # | 238 | # | 
| 239 | # CONFIG_NETDEBUG is not set | ||
| 241 | CONFIG_PACKET=y | 240 | CONFIG_PACKET=y | 
| 242 | # CONFIG_PACKET_MMAP is not set | 241 | # CONFIG_PACKET_MMAP is not set | 
| 243 | CONFIG_UNIX=y | 242 | CONFIG_UNIX=y | 
| @@ -257,12 +256,15 @@ CONFIG_IP_PNP_BOOTP=y | |||
| 257 | # CONFIG_INET_AH is not set | 256 | # CONFIG_INET_AH is not set | 
| 258 | # CONFIG_INET_ESP is not set | 257 | # CONFIG_INET_ESP is not set | 
| 259 | # CONFIG_INET_IPCOMP is not set | 258 | # CONFIG_INET_IPCOMP is not set | 
| 259 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
| 260 | # CONFIG_INET_TUNNEL is not set | 260 | # CONFIG_INET_TUNNEL is not set | 
| 261 | CONFIG_INET_DIAG=y | 261 | CONFIG_INET_DIAG=y | 
| 262 | CONFIG_INET_TCP_DIAG=y | 262 | CONFIG_INET_TCP_DIAG=y | 
| 263 | # CONFIG_TCP_CONG_ADVANCED is not set | 263 | # CONFIG_TCP_CONG_ADVANCED is not set | 
| 264 | CONFIG_TCP_CONG_BIC=y | 264 | CONFIG_TCP_CONG_BIC=y | 
| 265 | # CONFIG_IPV6 is not set | 265 | # CONFIG_IPV6 is not set | 
| 266 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
| 267 | # CONFIG_INET6_TUNNEL is not set | ||
| 266 | # CONFIG_NETFILTER is not set | 268 | # CONFIG_NETFILTER is not set | 
| 267 | 269 | ||
| 268 | # | 270 | # | 
| @@ -274,6 +276,11 @@ CONFIG_TCP_CONG_BIC=y | |||
| 274 | # SCTP Configuration (EXPERIMENTAL) | 276 | # SCTP Configuration (EXPERIMENTAL) | 
| 275 | # | 277 | # | 
| 276 | # CONFIG_IP_SCTP is not set | 278 | # CONFIG_IP_SCTP is not set | 
| 279 | |||
| 280 | # | ||
| 281 | # TIPC Configuration (EXPERIMENTAL) | ||
| 282 | # | ||
| 283 | # CONFIG_TIPC is not set | ||
| 277 | # CONFIG_ATM is not set | 284 | # CONFIG_ATM is not set | 
| 278 | # CONFIG_BRIDGE is not set | 285 | # CONFIG_BRIDGE is not set | 
| 279 | # CONFIG_VLAN_8021Q is not set | 286 | # CONFIG_VLAN_8021Q is not set | 
| @@ -283,11 +290,6 @@ CONFIG_TCP_CONG_BIC=y | |||
| 283 | # CONFIG_ATALK is not set | 290 | # CONFIG_ATALK is not set | 
| 284 | # CONFIG_X25 is not set | 291 | # CONFIG_X25 is not set | 
| 285 | # CONFIG_LAPB is not set | 292 | # CONFIG_LAPB is not set | 
| 286 | |||
| 287 | # | ||
| 288 | # TIPC Configuration (EXPERIMENTAL) | ||
| 289 | # | ||
| 290 | # CONFIG_TIPC is not set | ||
| 291 | # CONFIG_NET_DIVERT is not set | 293 | # CONFIG_NET_DIVERT is not set | 
| 292 | # CONFIG_ECONET is not set | 294 | # CONFIG_ECONET is not set | 
| 293 | # CONFIG_WAN_ROUTER is not set | 295 | # CONFIG_WAN_ROUTER is not set | 
| @@ -469,7 +471,6 @@ CONFIG_ISCSI_TCP=m | |||
| 469 | # CONFIG_SCSI_INIA100 is not set | 471 | # CONFIG_SCSI_INIA100 is not set | 
| 470 | # CONFIG_SCSI_SYM53C8XX_2 is not set | 472 | # CONFIG_SCSI_SYM53C8XX_2 is not set | 
| 471 | # CONFIG_SCSI_IPR is not set | 473 | # CONFIG_SCSI_IPR is not set | 
| 472 | # CONFIG_SCSI_QLOGIC_FC is not set | ||
| 473 | # CONFIG_SCSI_QLOGIC_1280 is not set | 474 | # CONFIG_SCSI_QLOGIC_1280 is not set | 
| 474 | # CONFIG_SCSI_QLA_FC is not set | 475 | # CONFIG_SCSI_QLA_FC is not set | 
| 475 | # CONFIG_SCSI_LPFC is not set | 476 | # CONFIG_SCSI_LPFC is not set | 
| @@ -671,6 +672,7 @@ CONFIG_HW_CONSOLE=y | |||
| 671 | # Non-8250 serial port support | 672 | # Non-8250 serial port support | 
| 672 | # | 673 | # | 
| 673 | # CONFIG_SERIAL_IP3106 is not set | 674 | # CONFIG_SERIAL_IP3106 is not set | 
| 675 | # CONFIG_SERIAL_JSM is not set | ||
| 674 | CONFIG_UNIX98_PTYS=y | 676 | CONFIG_UNIX98_PTYS=y | 
| 675 | CONFIG_LEGACY_PTYS=y | 677 | CONFIG_LEGACY_PTYS=y | 
| 676 | CONFIG_LEGACY_PTY_COUNT=256 | 678 | CONFIG_LEGACY_PTY_COUNT=256 | 
| @@ -723,6 +725,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
| 723 | # | 725 | # | 
| 724 | CONFIG_HWMON=y | 726 | CONFIG_HWMON=y | 
| 725 | # CONFIG_HWMON_VID is not set | 727 | # CONFIG_HWMON_VID is not set | 
| 728 | # CONFIG_SENSORS_F71805F is not set | ||
| 726 | # CONFIG_HWMON_DEBUG_CHIP is not set | 729 | # CONFIG_HWMON_DEBUG_CHIP is not set | 
| 727 | 730 | ||
| 728 | # | 731 | # | 
| @@ -730,10 +733,6 @@ CONFIG_HWMON=y | |||
| 730 | # | 733 | # | 
| 731 | 734 | ||
| 732 | # | 735 | # | 
| 733 | # Multimedia Capabilities Port drivers | ||
| 734 | # | ||
| 735 | |||
| 736 | # | ||
| 737 | # Multimedia devices | 736 | # Multimedia devices | 
| 738 | # | 737 | # | 
| 739 | # CONFIG_VIDEO_DEV is not set | 738 | # CONFIG_VIDEO_DEV is not set | 
| @@ -742,6 +741,7 @@ CONFIG_HWMON=y | |||
| 742 | # Digital Video Broadcasting Devices | 741 | # Digital Video Broadcasting Devices | 
| 743 | # | 742 | # | 
| 744 | # CONFIG_DVB is not set | 743 | # CONFIG_DVB is not set | 
| 744 | # CONFIG_USB_DABUSB is not set | ||
| 745 | 745 | ||
| 746 | # | 746 | # | 
| 747 | # Graphics support | 747 | # Graphics support | 
| @@ -764,6 +764,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
| 764 | # | 764 | # | 
| 765 | CONFIG_USB_ARCH_HAS_HCD=y | 765 | CONFIG_USB_ARCH_HAS_HCD=y | 
| 766 | CONFIG_USB_ARCH_HAS_OHCI=y | 766 | CONFIG_USB_ARCH_HAS_OHCI=y | 
| 767 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
| 767 | CONFIG_USB=y | 768 | CONFIG_USB=y | 
| 768 | # CONFIG_USB_DEBUG is not set | 769 | # CONFIG_USB_DEBUG is not set | 
| 769 | 770 | ||
| @@ -827,9 +828,7 @@ CONFIG_USB_STORAGE_JUMPSHOT=y | |||
| 827 | # CONFIG_USB_ACECAD is not set | 828 | # CONFIG_USB_ACECAD is not set | 
| 828 | # CONFIG_USB_KBTAB is not set | 829 | # CONFIG_USB_KBTAB is not set | 
| 829 | # CONFIG_USB_POWERMATE is not set | 830 | # CONFIG_USB_POWERMATE is not set | 
| 830 | # CONFIG_USB_MTOUCH is not set | 831 | # CONFIG_USB_TOUCHSCREEN is not set | 
| 831 | # CONFIG_USB_ITMTOUCH is not set | ||
| 832 | # CONFIG_USB_EGALAX is not set | ||
| 833 | # CONFIG_USB_YEALINK is not set | 832 | # CONFIG_USB_YEALINK is not set | 
| 834 | # CONFIG_USB_XPAD is not set | 833 | # CONFIG_USB_XPAD is not set | 
| 835 | # CONFIG_USB_ATI_REMOTE is not set | 834 | # CONFIG_USB_ATI_REMOTE is not set | 
| @@ -844,15 +843,6 @@ CONFIG_USB_STORAGE_JUMPSHOT=y | |||
| 844 | # CONFIG_USB_MICROTEK is not set | 843 | # CONFIG_USB_MICROTEK is not set | 
| 845 | 844 | ||
| 846 | # | 845 | # | 
| 847 | # USB Multimedia devices | ||
| 848 | # | ||
| 849 | # CONFIG_USB_DABUSB is not set | ||
| 850 | |||
| 851 | # | ||
| 852 | # Video4Linux support is needed for USB Multimedia device support | ||
| 853 | # | ||
| 854 | |||
| 855 | # | ||
| 856 | # USB Network Adapters | 846 | # USB Network Adapters | 
| 857 | # | 847 | # | 
| 858 | # CONFIG_USB_CATC is not set | 848 | # CONFIG_USB_CATC is not set | 
| @@ -902,13 +892,31 @@ CONFIG_USB_MON=y | |||
| 902 | # CONFIG_MMC is not set | 892 | # CONFIG_MMC is not set | 
| 903 | 893 | ||
| 904 | # | 894 | # | 
| 895 | # LED devices | ||
| 896 | # | ||
| 897 | # CONFIG_NEW_LEDS is not set | ||
| 898 | |||
| 899 | # | ||
| 900 | # LED drivers | ||
| 901 | # | ||
| 902 | |||
| 903 | # | ||
| 904 | # LED Triggers | ||
| 905 | # | ||
| 906 | |||
| 907 | # | ||
| 905 | # InfiniBand support | 908 | # InfiniBand support | 
| 906 | # | 909 | # | 
| 907 | # CONFIG_INFINIBAND is not set | 910 | # CONFIG_INFINIBAND is not set | 
| 908 | 911 | ||
| 909 | # | 912 | # | 
| 910 | # SN Devices | 913 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | 
| 914 | # | ||
| 915 | |||
| 916 | # | ||
| 917 | # Real Time Clock | ||
| 911 | # | 918 | # | 
| 919 | # CONFIG_RTC_CLASS is not set | ||
| 912 | 920 | ||
| 913 | # | 921 | # | 
| 914 | # File systems | 922 | # File systems | 
| @@ -956,7 +964,6 @@ CONFIG_SYSFS=y | |||
| 956 | CONFIG_TMPFS=y | 964 | CONFIG_TMPFS=y | 
| 957 | # CONFIG_HUGETLB_PAGE is not set | 965 | # CONFIG_HUGETLB_PAGE is not set | 
| 958 | CONFIG_RAMFS=y | 966 | CONFIG_RAMFS=y | 
| 959 | # CONFIG_RELAYFS_FS is not set | ||
| 960 | # CONFIG_CONFIGFS_FS is not set | 967 | # CONFIG_CONFIGFS_FS is not set | 
| 961 | 968 | ||
| 962 | # | 969 | # | 
| @@ -1067,6 +1074,7 @@ CONFIG_LOG_BUF_SHIFT=14 | |||
| 1067 | CONFIG_DETECT_SOFTLOCKUP=y | 1074 | CONFIG_DETECT_SOFTLOCKUP=y | 
| 1068 | # CONFIG_SCHEDSTATS is not set | 1075 | # CONFIG_SCHEDSTATS is not set | 
| 1069 | CONFIG_DEBUG_SLAB=y | 1076 | CONFIG_DEBUG_SLAB=y | 
| 1077 | # CONFIG_DEBUG_SLAB_LEAK is not set | ||
| 1070 | CONFIG_DEBUG_MUTEXES=y | 1078 | CONFIG_DEBUG_MUTEXES=y | 
| 1071 | # CONFIG_DEBUG_SPINLOCK is not set | 1079 | # CONFIG_DEBUG_SPINLOCK is not set | 
| 1072 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | 1080 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | 
diff --git a/arch/mips/configs/pnx8550-v2pci_defconfig b/arch/mips/configs/pnx8550-v2pci_defconfig index 4187287f0763..3c8f35162fec 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.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 | 
| 4 | # Fri Jan 27 15:40:28 2006 | 4 | # Mon Apr 24 14:51:14 2006 | 
| 5 | # | 5 | # | 
| 6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y | 
| 7 | 7 | ||
| @@ -64,6 +64,8 @@ CONFIG_PNX8550_V2PCI=y | |||
| 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 
| 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 
| 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 
| 67 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
| 68 | CONFIG_GENERIC_HWEIGHT=y | ||
| 67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 69 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 
| 68 | CONFIG_DMA_NONCOHERENT=y | 70 | CONFIG_DMA_NONCOHERENT=y | 
| 69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 71 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 
| @@ -114,12 +116,11 @@ CONFIG_PAGE_SIZE_4KB=y | |||
| 114 | CONFIG_CPU_HAS_PREFETCH=y | 116 | CONFIG_CPU_HAS_PREFETCH=y | 
| 115 | # CONFIG_MIPS_MT is not set | 117 | # CONFIG_MIPS_MT is not set | 
| 116 | # CONFIG_64BIT_PHYS_ADDR is not set | 118 | # CONFIG_64BIT_PHYS_ADDR is not set | 
| 117 | CONFIG_CPU_ADVANCED=y | ||
| 118 | CONFIG_CPU_HAS_LLSC=y | 119 | CONFIG_CPU_HAS_LLSC=y | 
| 119 | # CONFIG_CPU_HAS_WB is not set | ||
| 120 | CONFIG_CPU_HAS_SYNC=y | 120 | CONFIG_CPU_HAS_SYNC=y | 
| 121 | CONFIG_GENERIC_HARDIRQS=y | 121 | CONFIG_GENERIC_HARDIRQS=y | 
| 122 | CONFIG_GENERIC_IRQ_PROBE=y | 122 | CONFIG_GENERIC_IRQ_PROBE=y | 
| 123 | CONFIG_CPU_SUPPORTS_HIGHMEM=y | ||
| 123 | CONFIG_ARCH_FLATMEM_ENABLE=y | 124 | CONFIG_ARCH_FLATMEM_ENABLE=y | 
| 124 | CONFIG_SELECT_MEMORY_MODEL=y | 125 | CONFIG_SELECT_MEMORY_MODEL=y | 
| 125 | CONFIG_FLATMEM_MANUAL=y | 126 | CONFIG_FLATMEM_MANUAL=y | 
| @@ -137,7 +138,6 @@ CONFIG_PREEMPT_NONE=y | |||
| 137 | # Code maturity level options | 138 | # Code maturity level options | 
| 138 | # | 139 | # | 
| 139 | CONFIG_EXPERIMENTAL=y | 140 | CONFIG_EXPERIMENTAL=y | 
| 140 | CONFIG_CLEAN_COMPILE=y | ||
| 141 | CONFIG_BROKEN_ON_SMP=y | 141 | CONFIG_BROKEN_ON_SMP=y | 
| 142 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 142 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 
| 143 | 143 | ||
| @@ -154,6 +154,7 @@ CONFIG_SYSCTL=y | |||
| 154 | # CONFIG_AUDIT is not set | 154 | # CONFIG_AUDIT is not set | 
| 155 | CONFIG_IKCONFIG=y | 155 | CONFIG_IKCONFIG=y | 
| 156 | CONFIG_IKCONFIG_PROC=y | 156 | CONFIG_IKCONFIG_PROC=y | 
| 157 | # CONFIG_RELAY is not set | ||
| 157 | CONFIG_INITRAMFS_SOURCE="" | 158 | CONFIG_INITRAMFS_SOURCE="" | 
| 158 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 159 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 
| 159 | CONFIG_EMBEDDED=y | 160 | CONFIG_EMBEDDED=y | 
| @@ -167,10 +168,6 @@ CONFIG_BASE_FULL=y | |||
| 167 | CONFIG_FUTEX=y | 168 | CONFIG_FUTEX=y | 
| 168 | CONFIG_EPOLL=y | 169 | CONFIG_EPOLL=y | 
| 169 | CONFIG_SHMEM=y | 170 | CONFIG_SHMEM=y | 
| 170 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
| 171 | CONFIG_CC_ALIGN_LABELS=0 | ||
| 172 | CONFIG_CC_ALIGN_LOOPS=0 | ||
| 173 | CONFIG_CC_ALIGN_JUMPS=0 | ||
| 174 | CONFIG_SLAB=y | 171 | CONFIG_SLAB=y | 
| 175 | # CONFIG_TINY_SHMEM is not set | 172 | # CONFIG_TINY_SHMEM is not set | 
| 176 | CONFIG_BASE_SMALL=0 | 173 | CONFIG_BASE_SMALL=0 | 
| @@ -181,7 +178,6 @@ CONFIG_BASE_SMALL=0 | |||
| 181 | # | 178 | # | 
| 182 | CONFIG_MODULES=y | 179 | CONFIG_MODULES=y | 
| 183 | # CONFIG_MODULE_UNLOAD is not set | 180 | # CONFIG_MODULE_UNLOAD is not set | 
| 184 | CONFIG_OBSOLETE_MODPARM=y | ||
| 185 | # CONFIG_MODVERSIONS is not set | 181 | # CONFIG_MODVERSIONS is not set | 
| 186 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 182 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 
| 187 | CONFIG_KMOD=y | 183 | CONFIG_KMOD=y | 
| @@ -190,6 +186,8 @@ CONFIG_KMOD=y | |||
| 190 | # Block layer | 186 | # Block layer | 
| 191 | # | 187 | # | 
| 192 | # CONFIG_LBD is not set | 188 | # CONFIG_LBD is not set | 
| 189 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 190 | # CONFIG_LSF is not set | ||
| 193 | 191 | ||
| 194 | # | 192 | # | 
| 195 | # IO Schedulers | 193 | # IO Schedulers | 
| @@ -209,7 +207,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
| 209 | # | 207 | # | 
| 210 | CONFIG_HW_HAS_PCI=y | 208 | CONFIG_HW_HAS_PCI=y | 
| 211 | CONFIG_PCI=y | 209 | CONFIG_PCI=y | 
| 212 | # CONFIG_PCI_LEGACY_PROC is not set | ||
| 213 | CONFIG_MMU=y | 210 | CONFIG_MMU=y | 
| 214 | 211 | ||
| 215 | # | 212 | # | 
| @@ -237,6 +234,7 @@ CONFIG_NET=y | |||
| 237 | # | 234 | # | 
| 238 | # Networking options | 235 | # Networking options | 
| 239 | # | 236 | # | 
| 237 | # CONFIG_NETDEBUG is not set | ||
| 240 | CONFIG_PACKET=y | 238 | CONFIG_PACKET=y | 
| 241 | # CONFIG_PACKET_MMAP is not set | 239 | # CONFIG_PACKET_MMAP is not set | 
| 242 | CONFIG_UNIX=y | 240 | CONFIG_UNIX=y | 
| @@ -256,6 +254,7 @@ CONFIG_IP_PNP=y | |||
| 256 | # CONFIG_INET_AH is not set | 254 | # CONFIG_INET_AH is not set | 
| 257 | # CONFIG_INET_ESP is not set | 255 | # CONFIG_INET_ESP is not set | 
| 258 | # CONFIG_INET_IPCOMP is not set | 256 | # CONFIG_INET_IPCOMP is not set | 
| 257 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
| 259 | # CONFIG_INET_TUNNEL is not set | 258 | # CONFIG_INET_TUNNEL is not set | 
| 260 | CONFIG_INET_DIAG=y | 259 | CONFIG_INET_DIAG=y | 
| 261 | CONFIG_INET_TCP_DIAG=y | 260 | CONFIG_INET_TCP_DIAG=y | 
| @@ -268,9 +267,12 @@ CONFIG_TCP_CONG_BIC=y | |||
| 268 | # CONFIG_IP_VS is not set | 267 | # CONFIG_IP_VS is not set | 
| 269 | CONFIG_IPV6=m | 268 | CONFIG_IPV6=m | 
| 270 | # CONFIG_IPV6_PRIVACY is not set | 269 | # CONFIG_IPV6_PRIVACY is not set | 
| 270 | CONFIG_IPV6_ROUTER_PREF=y | ||
| 271 | CONFIG_IPV6_ROUTE_INFO=y | ||
| 271 | # CONFIG_INET6_AH is not set | 272 | # CONFIG_INET6_AH is not set | 
| 272 | # CONFIG_INET6_ESP is not set | 273 | # CONFIG_INET6_ESP is not set | 
| 273 | # CONFIG_INET6_IPCOMP is not set | 274 | # CONFIG_INET6_IPCOMP is not set | 
| 275 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
| 274 | # CONFIG_INET6_TUNNEL is not set | 276 | # CONFIG_INET6_TUNNEL is not set | 
| 275 | # CONFIG_IPV6_TUNNEL is not set | 277 | # CONFIG_IPV6_TUNNEL is not set | 
| 276 | CONFIG_NETFILTER=y | 278 | CONFIG_NETFILTER=y | 
| @@ -287,10 +289,12 @@ CONFIG_NETFILTER_XT_TARGET_MARK=m | |||
| 287 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | 289 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | 
| 288 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | 290 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | 
| 289 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 291 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 
| 292 | CONFIG_NETFILTER_XT_MATCH_ESP=m | ||
| 290 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | 293 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | 
| 291 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | 294 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | 
| 292 | CONFIG_NETFILTER_XT_MATCH_MAC=m | 295 | CONFIG_NETFILTER_XT_MATCH_MAC=m | 
| 293 | CONFIG_NETFILTER_XT_MATCH_MARK=m | 296 | CONFIG_NETFILTER_XT_MATCH_MARK=m | 
| 297 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m | ||
| 294 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 298 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 
| 295 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 299 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 
| 296 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | 300 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | 
| @@ -320,6 +324,11 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | |||
| 320 | # SCTP Configuration (EXPERIMENTAL) | 324 | # SCTP Configuration (EXPERIMENTAL) | 
| 321 | # | 325 | # | 
| 322 | # CONFIG_IP_SCTP is not set | 326 | # CONFIG_IP_SCTP is not set | 
| 327 | |||
| 328 | # | ||
| 329 | # TIPC Configuration (EXPERIMENTAL) | ||
| 330 | # | ||
| 331 | # CONFIG_TIPC is not set | ||
| 323 | # CONFIG_ATM is not set | 332 | # CONFIG_ATM is not set | 
| 324 | # CONFIG_BRIDGE is not set | 333 | # CONFIG_BRIDGE is not set | 
| 325 | # CONFIG_VLAN_8021Q is not set | 334 | # CONFIG_VLAN_8021Q is not set | 
| @@ -329,11 +338,6 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | |||
| 329 | # CONFIG_ATALK is not set | 338 | # CONFIG_ATALK is not set | 
| 330 | # CONFIG_X25 is not set | 339 | # CONFIG_X25 is not set | 
| 331 | # CONFIG_LAPB is not set | 340 | # CONFIG_LAPB is not set | 
| 332 | |||
| 333 | # | ||
| 334 | # TIPC Configuration (EXPERIMENTAL) | ||
| 335 | # | ||
| 336 | # CONFIG_TIPC is not set | ||
| 337 | # CONFIG_NET_DIVERT is not set | 341 | # CONFIG_NET_DIVERT is not set | 
| 338 | # CONFIG_ECONET is not set | 342 | # CONFIG_ECONET is not set | 
| 339 | # CONFIG_WAN_ROUTER is not set | 343 | # CONFIG_WAN_ROUTER is not set | 
| @@ -521,7 +525,6 @@ CONFIG_AIC7XXX_DEBUG_MASK=0 | |||
| 521 | # CONFIG_SCSI_INIA100 is not set | 525 | # CONFIG_SCSI_INIA100 is not set | 
| 522 | # CONFIG_SCSI_SYM53C8XX_2 is not set | 526 | # CONFIG_SCSI_SYM53C8XX_2 is not set | 
| 523 | # CONFIG_SCSI_IPR is not set | 527 | # CONFIG_SCSI_IPR is not set | 
| 524 | # CONFIG_SCSI_QLOGIC_FC is not set | ||
| 525 | # CONFIG_SCSI_QLOGIC_1280 is not set | 528 | # CONFIG_SCSI_QLOGIC_1280 is not set | 
| 526 | # CONFIG_SCSI_QLA_FC is not set | 529 | # CONFIG_SCSI_QLA_FC is not set | 
| 527 | # CONFIG_SCSI_LPFC is not set | 530 | # CONFIG_SCSI_LPFC is not set | 
| @@ -757,6 +760,7 @@ CONFIG_SERIAL_NONSTANDARD=y | |||
| 757 | # Non-8250 serial port support | 760 | # Non-8250 serial port support | 
| 758 | # | 761 | # | 
| 759 | # CONFIG_SERIAL_IP3106 is not set | 762 | # CONFIG_SERIAL_IP3106 is not set | 
| 763 | # CONFIG_SERIAL_JSM is not set | ||
| 760 | CONFIG_UNIX98_PTYS=y | 764 | CONFIG_UNIX98_PTYS=y | 
| 761 | CONFIG_LEGACY_PTYS=y | 765 | CONFIG_LEGACY_PTYS=y | 
| 762 | CONFIG_LEGACY_PTY_COUNT=256 | 766 | CONFIG_LEGACY_PTY_COUNT=256 | 
| @@ -816,7 +820,6 @@ CONFIG_I2C_ALGOBIT=m | |||
| 816 | # CONFIG_I2C_PARPORT_LIGHT is not set | 820 | # CONFIG_I2C_PARPORT_LIGHT is not set | 
| 817 | # CONFIG_I2C_PROSAVAGE is not set | 821 | # CONFIG_I2C_PROSAVAGE is not set | 
| 818 | # CONFIG_I2C_SAVAGE4 is not set | 822 | # CONFIG_I2C_SAVAGE4 is not set | 
| 819 | # CONFIG_SCx200_ACB is not set | ||
| 820 | # CONFIG_I2C_SIS5595 is not set | 823 | # CONFIG_I2C_SIS5595 is not set | 
| 821 | # CONFIG_I2C_SIS630 is not set | 824 | # CONFIG_I2C_SIS630 is not set | 
| 822 | # CONFIG_I2C_SIS96X is not set | 825 | # CONFIG_I2C_SIS96X is not set | 
| @@ -835,9 +838,7 @@ CONFIG_I2C_ALGOBIT=m | |||
| 835 | # CONFIG_SENSORS_PCF8574 is not set | 838 | # CONFIG_SENSORS_PCF8574 is not set | 
| 836 | # CONFIG_SENSORS_PCA9539 is not set | 839 | # CONFIG_SENSORS_PCA9539 is not set | 
| 837 | # CONFIG_SENSORS_PCF8591 is not set | 840 | # CONFIG_SENSORS_PCF8591 is not set | 
| 838 | # CONFIG_SENSORS_RTC8564 is not set | ||
| 839 | # CONFIG_SENSORS_MAX6875 is not set | 841 | # CONFIG_SENSORS_MAX6875 is not set | 
| 840 | # CONFIG_RTC_X1205_I2C is not set | ||
| 841 | # CONFIG_I2C_DEBUG_CORE is not set | 842 | # CONFIG_I2C_DEBUG_CORE is not set | 
| 842 | # CONFIG_I2C_DEBUG_ALGO is not set | 843 | # CONFIG_I2C_DEBUG_ALGO is not set | 
| 843 | # CONFIG_I2C_DEBUG_BUS is not set | 844 | # CONFIG_I2C_DEBUG_BUS is not set | 
| @@ -867,6 +868,7 @@ CONFIG_HWMON=y | |||
| 867 | # CONFIG_SENSORS_ASB100 is not set | 868 | # CONFIG_SENSORS_ASB100 is not set | 
| 868 | # CONFIG_SENSORS_ATXP1 is not set | 869 | # CONFIG_SENSORS_ATXP1 is not set | 
| 869 | # CONFIG_SENSORS_DS1621 is not set | 870 | # CONFIG_SENSORS_DS1621 is not set | 
| 871 | # CONFIG_SENSORS_F71805F is not set | ||
| 870 | # CONFIG_SENSORS_FSCHER is not set | 872 | # CONFIG_SENSORS_FSCHER is not set | 
| 871 | # CONFIG_SENSORS_FSCPOS is not set | 873 | # CONFIG_SENSORS_FSCPOS is not set | 
| 872 | # CONFIG_SENSORS_GL518SM is not set | 874 | # CONFIG_SENSORS_GL518SM is not set | 
| @@ -901,10 +903,6 @@ CONFIG_HWMON=y | |||
| 901 | # | 903 | # | 
| 902 | 904 | ||
| 903 | # | 905 | # | 
| 904 | # Multimedia Capabilities Port drivers | ||
| 905 | # | ||
| 906 | |||
| 907 | # | ||
| 908 | # Multimedia devices | 906 | # Multimedia devices | 
| 909 | # | 907 | # | 
| 910 | # CONFIG_VIDEO_DEV is not set | 908 | # CONFIG_VIDEO_DEV is not set | 
| @@ -913,6 +911,7 @@ CONFIG_HWMON=y | |||
| 913 | # Digital Video Broadcasting Devices | 911 | # Digital Video Broadcasting Devices | 
| 914 | # | 912 | # | 
| 915 | # CONFIG_DVB is not set | 913 | # CONFIG_DVB is not set | 
| 914 | # CONFIG_USB_DABUSB is not set | ||
| 916 | 915 | ||
| 917 | # | 916 | # | 
| 918 | # Graphics support | 917 | # Graphics support | 
| @@ -922,6 +921,7 @@ CONFIG_FB=y | |||
| 922 | # CONFIG_FB_CFB_COPYAREA is not set | 921 | # CONFIG_FB_CFB_COPYAREA is not set | 
| 923 | # CONFIG_FB_CFB_IMAGEBLIT is not set | 922 | # CONFIG_FB_CFB_IMAGEBLIT is not set | 
| 924 | # CONFIG_FB_MACMODES is not set | 923 | # CONFIG_FB_MACMODES is not set | 
| 924 | CONFIG_FB_FIRMWARE_EDID=y | ||
| 925 | # CONFIG_FB_MODE_HELPERS is not set | 925 | # CONFIG_FB_MODE_HELPERS is not set | 
| 926 | # CONFIG_FB_TILEBLITTING is not set | 926 | # CONFIG_FB_TILEBLITTING is not set | 
| 927 | # CONFIG_FB_CIRRUS is not set | 927 | # CONFIG_FB_CIRRUS is not set | 
| @@ -933,7 +933,6 @@ CONFIG_FB=y | |||
| 933 | # CONFIG_FB_NVIDIA is not set | 933 | # CONFIG_FB_NVIDIA is not set | 
| 934 | # CONFIG_FB_RIVA is not set | 934 | # CONFIG_FB_RIVA is not set | 
| 935 | # CONFIG_FB_MATROX is not set | 935 | # CONFIG_FB_MATROX is not set | 
| 936 | # CONFIG_FB_RADEON_OLD is not set | ||
| 937 | # CONFIG_FB_RADEON is not set | 936 | # CONFIG_FB_RADEON is not set | 
| 938 | # CONFIG_FB_ATY128 is not set | 937 | # CONFIG_FB_ATY128 is not set | 
| 939 | # CONFIG_FB_ATY is not set | 938 | # CONFIG_FB_ATY is not set | 
| @@ -970,6 +969,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
| 970 | # | 969 | # | 
| 971 | CONFIG_USB_ARCH_HAS_HCD=y | 970 | CONFIG_USB_ARCH_HAS_HCD=y | 
| 972 | CONFIG_USB_ARCH_HAS_OHCI=y | 971 | CONFIG_USB_ARCH_HAS_OHCI=y | 
| 972 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
| 973 | CONFIG_USB=y | 973 | CONFIG_USB=y | 
| 974 | # CONFIG_USB_DEBUG is not set | 974 | # CONFIG_USB_DEBUG is not set | 
| 975 | 975 | ||
| @@ -1030,9 +1030,7 @@ CONFIG_USB_HIDDEV=y | |||
| 1030 | # CONFIG_USB_ACECAD is not set | 1030 | # CONFIG_USB_ACECAD is not set | 
| 1031 | # CONFIG_USB_KBTAB is not set | 1031 | # CONFIG_USB_KBTAB is not set | 
| 1032 | # CONFIG_USB_POWERMATE is not set | 1032 | # CONFIG_USB_POWERMATE is not set | 
| 1033 | # CONFIG_USB_MTOUCH is not set | 1033 | # CONFIG_USB_TOUCHSCREEN is not set | 
| 1034 | # CONFIG_USB_ITMTOUCH is not set | ||
| 1035 | # CONFIG_USB_EGALAX is not set | ||
| 1036 | # CONFIG_USB_YEALINK is not set | 1034 | # CONFIG_USB_YEALINK is not set | 
| 1037 | # CONFIG_USB_XPAD is not set | 1035 | # CONFIG_USB_XPAD is not set | 
| 1038 | # CONFIG_USB_ATI_REMOTE is not set | 1036 | # CONFIG_USB_ATI_REMOTE is not set | 
| @@ -1047,15 +1045,6 @@ CONFIG_USB_HIDDEV=y | |||
| 1047 | # CONFIG_USB_MICROTEK is not set | 1045 | # CONFIG_USB_MICROTEK is not set | 
| 1048 | 1046 | ||
| 1049 | # | 1047 | # | 
| 1050 | # USB Multimedia devices | ||
| 1051 | # | ||
| 1052 | # CONFIG_USB_DABUSB is not set | ||
| 1053 | |||
| 1054 | # | ||
| 1055 | # Video4Linux support is needed for USB Multimedia device support | ||
| 1056 | # | ||
| 1057 | |||
| 1058 | # | ||
| 1059 | # USB Network Adapters | 1048 | # USB Network Adapters | 
| 1060 | # | 1049 | # | 
| 1061 | # CONFIG_USB_CATC is not set | 1050 | # CONFIG_USB_CATC is not set | 
| @@ -1106,13 +1095,31 @@ CONFIG_USB_MON=y | |||
| 1106 | # CONFIG_MMC is not set | 1095 | # CONFIG_MMC is not set | 
| 1107 | 1096 | ||
| 1108 | # | 1097 | # | 
| 1098 | # LED devices | ||
| 1099 | # | ||
| 1100 | # CONFIG_NEW_LEDS is not set | ||
| 1101 | |||
| 1102 | # | ||
| 1103 | # LED drivers | ||
| 1104 | # | ||
| 1105 | |||
| 1106 | # | ||
| 1107 | # LED Triggers | ||
| 1108 | # | ||
| 1109 | |||
| 1110 | # | ||
| 1109 | # InfiniBand support | 1111 | # InfiniBand support | 
| 1110 | # | 1112 | # | 
| 1111 | # CONFIG_INFINIBAND is not set | 1113 | # CONFIG_INFINIBAND is not set | 
| 1112 | 1114 | ||
| 1113 | # | 1115 | # | 
| 1114 | # SN Devices | 1116 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | 
| 1117 | # | ||
| 1118 | |||
| 1119 | # | ||
| 1120 | # Real Time Clock | ||
| 1115 | # | 1121 | # | 
| 1122 | # CONFIG_RTC_CLASS is not set | ||
| 1116 | 1123 | ||
| 1117 | # | 1124 | # | 
| 1118 | # File systems | 1125 | # File systems | 
| @@ -1171,7 +1178,6 @@ CONFIG_SYSFS=y | |||
| 1171 | CONFIG_TMPFS=y | 1178 | CONFIG_TMPFS=y | 
| 1172 | # CONFIG_HUGETLB_PAGE is not set | 1179 | # CONFIG_HUGETLB_PAGE is not set | 
| 1173 | CONFIG_RAMFS=y | 1180 | CONFIG_RAMFS=y | 
| 1174 | # CONFIG_RELAYFS_FS is not set | ||
| 1175 | # CONFIG_CONFIGFS_FS is not set | 1181 | # CONFIG_CONFIGFS_FS is not set | 
| 1176 | 1182 | ||
| 1177 | # | 1183 | # | 
| @@ -1280,6 +1286,7 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
| 1280 | # CONFIG_MAGIC_SYSRQ is not set | 1286 | # CONFIG_MAGIC_SYSRQ is not set | 
| 1281 | # CONFIG_DEBUG_KERNEL is not set | 1287 | # CONFIG_DEBUG_KERNEL is not set | 
| 1282 | CONFIG_LOG_BUF_SHIFT=14 | 1288 | CONFIG_LOG_BUF_SHIFT=14 | 
| 1289 | # CONFIG_DEBUG_FS is not set | ||
| 1283 | CONFIG_CROSSCOMPILE=y | 1290 | CONFIG_CROSSCOMPILE=y | 
| 1284 | CONFIG_CMDLINE="" | 1291 | CONFIG_CMDLINE="" | 
| 1285 | 1292 | ||
diff --git a/arch/mips/configs/qemu_defconfig b/arch/mips/configs/qemu_defconfig index 31f5afabafa8..4bcc01dea041 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.16-rc2 | 3 | # Linux kernel version: 2.6.17-rc2 | 
| 4 | # Sun Feb 12 19:18:55 2006 | 4 | # Mon Apr 24 14:51:15 2006 | 
| 5 | # | 5 | # | 
| 6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y | 
| 7 | 7 | ||
| @@ -64,6 +64,8 @@ CONFIG_QEMU=y | |||
| 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 
| 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 
| 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 
| 67 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
| 68 | CONFIG_GENERIC_HWEIGHT=y | ||
| 67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 69 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 
| 68 | CONFIG_DMA_COHERENT=y | 70 | CONFIG_DMA_COHERENT=y | 
| 69 | CONFIG_GENERIC_ISA_DMA=y | 71 | CONFIG_GENERIC_ISA_DMA=y | 
| @@ -115,16 +117,17 @@ CONFIG_PAGE_SIZE_4KB=y | |||
| 115 | CONFIG_CPU_HAS_PREFETCH=y | 117 | CONFIG_CPU_HAS_PREFETCH=y | 
| 116 | # CONFIG_MIPS_MT is not set | 118 | # CONFIG_MIPS_MT is not set | 
| 117 | # CONFIG_64BIT_PHYS_ADDR is not set | 119 | # CONFIG_64BIT_PHYS_ADDR is not set | 
| 118 | # CONFIG_CPU_ADVANCED is not set | ||
| 119 | CONFIG_CPU_HAS_LLSC=y | 120 | CONFIG_CPU_HAS_LLSC=y | 
| 120 | CONFIG_CPU_HAS_SYNC=y | 121 | CONFIG_CPU_HAS_SYNC=y | 
| 121 | CONFIG_GENERIC_HARDIRQS=y | 122 | CONFIG_GENERIC_HARDIRQS=y | 
| 122 | CONFIG_GENERIC_IRQ_PROBE=y | 123 | CONFIG_GENERIC_IRQ_PROBE=y | 
| 124 | CONFIG_CPU_SUPPORTS_HIGHMEM=y | ||
| 123 | CONFIG_ARCH_FLATMEM_ENABLE=y | 125 | CONFIG_ARCH_FLATMEM_ENABLE=y | 
| 124 | CONFIG_FLATMEM=y | 126 | CONFIG_FLATMEM=y | 
| 125 | CONFIG_FLAT_NODE_MEM_MAP=y | 127 | CONFIG_FLAT_NODE_MEM_MAP=y | 
| 126 | # CONFIG_SPARSEMEM_STATIC is not set | 128 | # CONFIG_SPARSEMEM_STATIC is not set | 
| 127 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 129 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 
| 130 | # CONFIG_SMP is not set | ||
| 128 | CONFIG_PREEMPT_NONE=y | 131 | CONFIG_PREEMPT_NONE=y | 
| 129 | # CONFIG_PREEMPT_VOLUNTARY is not set | 132 | # CONFIG_PREEMPT_VOLUNTARY is not set | 
| 130 | # CONFIG_PREEMPT is not set | 133 | # CONFIG_PREEMPT is not set | 
| @@ -147,6 +150,7 @@ CONFIG_LOCALVERSION_AUTO=y | |||
| 147 | CONFIG_SYSCTL=y | 150 | CONFIG_SYSCTL=y | 
| 148 | # CONFIG_AUDIT is not set | 151 | # CONFIG_AUDIT is not set | 
| 149 | # CONFIG_IKCONFIG is not set | 152 | # CONFIG_IKCONFIG is not set | 
| 153 | CONFIG_RELAY=y | ||
| 150 | CONFIG_INITRAMFS_SOURCE="" | 154 | CONFIG_INITRAMFS_SOURCE="" | 
| 151 | CONFIG_EMBEDDED=y | 155 | CONFIG_EMBEDDED=y | 
| 152 | CONFIG_KALLSYMS=y | 156 | CONFIG_KALLSYMS=y | 
| @@ -159,10 +163,6 @@ CONFIG_ELF_CORE=y | |||
| 159 | # CONFIG_FUTEX is not set | 163 | # CONFIG_FUTEX is not set | 
| 160 | # CONFIG_EPOLL is not set | 164 | # CONFIG_EPOLL is not set | 
| 161 | # CONFIG_SHMEM is not set | 165 | # CONFIG_SHMEM is not set | 
| 162 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
| 163 | CONFIG_CC_ALIGN_LABELS=0 | ||
| 164 | CONFIG_CC_ALIGN_LOOPS=0 | ||
| 165 | CONFIG_CC_ALIGN_JUMPS=0 | ||
| 166 | CONFIG_SLAB=y | 166 | CONFIG_SLAB=y | 
| 167 | CONFIG_TINY_SHMEM=y | 167 | CONFIG_TINY_SHMEM=y | 
| 168 | CONFIG_BASE_SMALL=1 | 168 | CONFIG_BASE_SMALL=1 | 
| @@ -177,6 +177,8 @@ CONFIG_BASE_SMALL=1 | |||
| 177 | # Block layer | 177 | # Block layer | 
| 178 | # | 178 | # | 
| 179 | # CONFIG_LBD is not set | 179 | # CONFIG_LBD is not set | 
| 180 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 181 | # CONFIG_LSF is not set | ||
| 180 | 182 | ||
| 181 | # | 183 | # | 
| 182 | # IO Schedulers | 184 | # IO Schedulers | 
| @@ -196,6 +198,7 @@ CONFIG_DEFAULT_IOSCHED="noop" | |||
| 196 | # | 198 | # | 
| 197 | CONFIG_ISA=y | 199 | CONFIG_ISA=y | 
| 198 | CONFIG_MMU=y | 200 | CONFIG_MMU=y | 
| 201 | CONFIG_I8253=y | ||
| 199 | 202 | ||
| 200 | # | 203 | # | 
| 201 | # PCCARD (PCMCIA/CardBus) support | 204 | # PCCARD (PCMCIA/CardBus) support | 
| @@ -241,12 +244,15 @@ CONFIG_IP_PNP_BOOTP=y | |||
| 241 | # CONFIG_INET_AH is not set | 244 | # CONFIG_INET_AH is not set | 
| 242 | # CONFIG_INET_ESP is not set | 245 | # CONFIG_INET_ESP is not set | 
| 243 | # CONFIG_INET_IPCOMP is not set | 246 | # CONFIG_INET_IPCOMP is not set | 
| 247 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
| 244 | # CONFIG_INET_TUNNEL is not set | 248 | # CONFIG_INET_TUNNEL is not set | 
| 245 | CONFIG_INET_DIAG=y | 249 | CONFIG_INET_DIAG=y | 
| 246 | CONFIG_INET_TCP_DIAG=y | 250 | CONFIG_INET_TCP_DIAG=y | 
| 247 | # CONFIG_TCP_CONG_ADVANCED is not set | 251 | # CONFIG_TCP_CONG_ADVANCED is not set | 
| 248 | CONFIG_TCP_CONG_BIC=y | 252 | CONFIG_TCP_CONG_BIC=y | 
| 249 | # CONFIG_IPV6 is not set | 253 | # CONFIG_IPV6 is not set | 
| 254 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
| 255 | # CONFIG_INET6_TUNNEL is not set | ||
| 250 | # CONFIG_NETFILTER is not set | 256 | # CONFIG_NETFILTER is not set | 
| 251 | # CONFIG_BRIDGE is not set | 257 | # CONFIG_BRIDGE is not set | 
| 252 | # CONFIG_VLAN_8021Q is not set | 258 | # CONFIG_VLAN_8021Q is not set | 
| @@ -308,7 +314,7 @@ CONFIG_PROC_EVENTS=y | |||
| 308 | # CONFIG_BLK_DEV_LOOP is not set | 314 | # CONFIG_BLK_DEV_LOOP is not set | 
| 309 | # CONFIG_BLK_DEV_NBD is not set | 315 | # CONFIG_BLK_DEV_NBD is not set | 
| 310 | # CONFIG_BLK_DEV_RAM is not set | 316 | # CONFIG_BLK_DEV_RAM is not set | 
| 311 | CONFIG_BLK_DEV_RAM_COUNT=16 | 317 | # CONFIG_BLK_DEV_INITRD is not set | 
| 312 | # CONFIG_CDROM_PKTCDVD is not set | 318 | # CONFIG_CDROM_PKTCDVD is not set | 
| 313 | # CONFIG_ATA_OVER_ETH is not set | 319 | # CONFIG_ATA_OVER_ETH is not set | 
| 314 | 320 | ||
| @@ -530,10 +536,6 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
| 530 | # | 536 | # | 
| 531 | 537 | ||
| 532 | # | 538 | # | 
| 533 | # Multimedia Capabilities Port drivers | ||
| 534 | # | ||
| 535 | |||
| 536 | # | ||
| 537 | # Multimedia devices | 539 | # Multimedia devices | 
| 538 | # | 540 | # | 
| 539 | # CONFIG_VIDEO_DEV is not set | 541 | # CONFIG_VIDEO_DEV is not set | 
| @@ -552,6 +554,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
| 552 | # Console display driver support | 554 | # Console display driver support | 
| 553 | # | 555 | # | 
| 554 | CONFIG_VGA_CONSOLE=y | 556 | CONFIG_VGA_CONSOLE=y | 
| 557 | # CONFIG_VGACON_SOFT_SCROLLBACK is not set | ||
| 555 | # CONFIG_MDA_CONSOLE is not set | 558 | # CONFIG_MDA_CONSOLE is not set | 
| 556 | CONFIG_DUMMY_CONSOLE=y | 559 | CONFIG_DUMMY_CONSOLE=y | 
| 557 | 560 | ||
| @@ -565,6 +568,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
| 565 | # | 568 | # | 
| 566 | # CONFIG_USB_ARCH_HAS_HCD is not set | 569 | # CONFIG_USB_ARCH_HAS_HCD is not set | 
| 567 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 570 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 
| 571 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
| 568 | 572 | ||
| 569 | # | 573 | # | 
| 570 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 574 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 
| @@ -581,15 +585,28 @@ CONFIG_DUMMY_CONSOLE=y | |||
| 581 | # CONFIG_MMC is not set | 585 | # CONFIG_MMC is not set | 
| 582 | 586 | ||
| 583 | # | 587 | # | 
| 588 | # LED devices | ||
| 589 | # | ||
| 590 | # CONFIG_NEW_LEDS is not set | ||
| 591 | |||
| 592 | # | ||
| 593 | # LED drivers | ||
| 594 | # | ||
| 595 | |||
| 596 | # | ||
| 597 | # LED Triggers | ||
| 598 | # | ||
| 599 | |||
| 600 | # | ||
| 584 | # InfiniBand support | 601 | # InfiniBand support | 
| 585 | # | 602 | # | 
| 586 | 603 | ||
| 587 | # | 604 | # | 
| 588 | # SN Devices | 605 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | 
| 589 | # | 606 | # | 
| 590 | 607 | ||
| 591 | # | 608 | # | 
| 592 | # EDAC - error detection and reporting (RAS) | 609 | # Real Time Clock | 
| 593 | # | 610 | # | 
| 594 | 611 | ||
| 595 | # | 612 | # | 
| @@ -632,7 +649,6 @@ CONFIG_SYSFS=y | |||
| 632 | # CONFIG_TMPFS is not set | 649 | # CONFIG_TMPFS is not set | 
| 633 | # CONFIG_HUGETLB_PAGE is not set | 650 | # CONFIG_HUGETLB_PAGE is not set | 
| 634 | CONFIG_RAMFS=y | 651 | CONFIG_RAMFS=y | 
| 635 | CONFIG_RELAYFS_FS=y | ||
| 636 | 652 | ||
| 637 | # | 653 | # | 
| 638 | # Miscellaneous filesystems | 654 | # Miscellaneous filesystems | 
| @@ -680,6 +696,8 @@ CONFIG_MSDOS_PARTITION=y | |||
| 680 | # CONFIG_MAGIC_SYSRQ is not set | 696 | # CONFIG_MAGIC_SYSRQ is not set | 
| 681 | # CONFIG_DEBUG_KERNEL is not set | 697 | # CONFIG_DEBUG_KERNEL is not set | 
| 682 | CONFIG_LOG_BUF_SHIFT=14 | 698 | CONFIG_LOG_BUF_SHIFT=14 | 
| 699 | # CONFIG_DEBUG_FS is not set | ||
| 700 | # CONFIG_UNWIND_INFO is not set | ||
| 683 | CONFIG_CROSSCOMPILE=y | 701 | CONFIG_CROSSCOMPILE=y | 
| 684 | CONFIG_CMDLINE="" | 702 | CONFIG_CMDLINE="" | 
| 685 | 703 | ||
diff --git a/arch/mips/configs/rbhma4500_defconfig b/arch/mips/configs/rbhma4500_defconfig index b126f763cf51..3d441932e43a 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.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 | 
| 4 | # Fri Jan 27 15:40:30 2006 | 4 | # Mon Apr 24 14:51:16 2006 | 
| 5 | # | 5 | # | 
| 6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y | 
| 7 | 7 | ||
| @@ -71,6 +71,8 @@ CONFIG_TOSHIBA_RBTX4938_MPLEX_PIO58_61=y | |||
| 71 | # CONFIG_TOSHIBA_RBTX4938_MPLEX_NAND is not set | 71 | # CONFIG_TOSHIBA_RBTX4938_MPLEX_NAND is not set | 
| 72 | # CONFIG_TOSHIBA_RBTX4938_MPLEX_ATA is not set | 72 | # CONFIG_TOSHIBA_RBTX4938_MPLEX_ATA is not set | 
| 73 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 73 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 
| 74 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
| 75 | CONFIG_GENERIC_HWEIGHT=y | ||
| 74 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 76 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 
| 75 | CONFIG_DMA_NONCOHERENT=y | 77 | CONFIG_DMA_NONCOHERENT=y | 
| 76 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 78 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 
| @@ -121,10 +123,9 @@ CONFIG_PAGE_SIZE_4KB=y | |||
| 121 | # CONFIG_PAGE_SIZE_8KB is not set | 123 | # CONFIG_PAGE_SIZE_8KB is not set | 
| 122 | # CONFIG_PAGE_SIZE_16KB is not set | 124 | # CONFIG_PAGE_SIZE_16KB is not set | 
| 123 | # CONFIG_PAGE_SIZE_64KB is not set | 125 | # CONFIG_PAGE_SIZE_64KB is not set | 
| 126 | CONFIG_CPU_HAS_PREFETCH=y | ||
| 124 | # CONFIG_MIPS_MT is not set | 127 | # CONFIG_MIPS_MT is not set | 
| 125 | CONFIG_CPU_ADVANCED=y | ||
| 126 | CONFIG_CPU_HAS_LLSC=y | 128 | CONFIG_CPU_HAS_LLSC=y | 
| 127 | CONFIG_CPU_HAS_WB=y | ||
| 128 | CONFIG_CPU_HAS_SYNC=y | 129 | CONFIG_CPU_HAS_SYNC=y | 
| 129 | CONFIG_GENERIC_HARDIRQS=y | 130 | CONFIG_GENERIC_HARDIRQS=y | 
| 130 | CONFIG_GENERIC_IRQ_PROBE=y | 131 | CONFIG_GENERIC_IRQ_PROBE=y | 
| @@ -145,7 +146,6 @@ CONFIG_PREEMPT_NONE=y | |||
| 145 | # Code maturity level options | 146 | # Code maturity level options | 
| 146 | # | 147 | # | 
| 147 | CONFIG_EXPERIMENTAL=y | 148 | CONFIG_EXPERIMENTAL=y | 
| 148 | CONFIG_CLEAN_COMPILE=y | ||
| 149 | CONFIG_BROKEN_ON_SMP=y | 149 | CONFIG_BROKEN_ON_SMP=y | 
| 150 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 150 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 
| 151 | 151 | ||
| @@ -162,6 +162,7 @@ CONFIG_SYSCTL=y | |||
| 162 | # CONFIG_AUDIT is not set | 162 | # CONFIG_AUDIT is not set | 
| 163 | CONFIG_IKCONFIG=y | 163 | CONFIG_IKCONFIG=y | 
| 164 | CONFIG_IKCONFIG_PROC=y | 164 | CONFIG_IKCONFIG_PROC=y | 
| 165 | CONFIG_RELAY=y | ||
| 165 | CONFIG_INITRAMFS_SOURCE="" | 166 | CONFIG_INITRAMFS_SOURCE="" | 
| 166 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 167 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 
| 167 | CONFIG_EMBEDDED=y | 168 | CONFIG_EMBEDDED=y | 
| @@ -175,10 +176,6 @@ CONFIG_BASE_FULL=y | |||
| 175 | # CONFIG_FUTEX is not set | 176 | # CONFIG_FUTEX is not set | 
| 176 | # CONFIG_EPOLL is not set | 177 | # CONFIG_EPOLL is not set | 
| 177 | CONFIG_SHMEM=y | 178 | CONFIG_SHMEM=y | 
| 178 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
| 179 | CONFIG_CC_ALIGN_LABELS=0 | ||
| 180 | CONFIG_CC_ALIGN_LOOPS=0 | ||
| 181 | CONFIG_CC_ALIGN_JUMPS=0 | ||
| 182 | CONFIG_SLAB=y | 179 | CONFIG_SLAB=y | 
| 183 | # CONFIG_TINY_SHMEM is not set | 180 | # CONFIG_TINY_SHMEM is not set | 
| 184 | CONFIG_BASE_SMALL=0 | 181 | CONFIG_BASE_SMALL=0 | 
| @@ -190,7 +187,6 @@ CONFIG_OBSOLETE_INTERMODULE=y | |||
| 190 | # | 187 | # | 
| 191 | CONFIG_MODULES=y | 188 | CONFIG_MODULES=y | 
| 192 | # CONFIG_MODULE_UNLOAD is not set | 189 | # CONFIG_MODULE_UNLOAD is not set | 
| 193 | CONFIG_OBSOLETE_MODPARM=y | ||
| 194 | # CONFIG_MODVERSIONS is not set | 190 | # CONFIG_MODVERSIONS is not set | 
| 195 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 191 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 
| 196 | CONFIG_KMOD=y | 192 | CONFIG_KMOD=y | 
| @@ -199,6 +195,8 @@ CONFIG_KMOD=y | |||
| 199 | # Block layer | 195 | # Block layer | 
| 200 | # | 196 | # | 
| 201 | # CONFIG_LBD is not set | 197 | # CONFIG_LBD is not set | 
| 198 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 199 | # CONFIG_LSF is not set | ||
| 202 | 200 | ||
| 203 | # | 201 | # | 
| 204 | # IO Schedulers | 202 | # IO Schedulers | 
| @@ -218,7 +216,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
| 218 | # | 216 | # | 
| 219 | CONFIG_HW_HAS_PCI=y | 217 | CONFIG_HW_HAS_PCI=y | 
| 220 | CONFIG_PCI=y | 218 | CONFIG_PCI=y | 
| 221 | # CONFIG_PCI_LEGACY_PROC is not set | ||
| 222 | CONFIG_ISA=y | 219 | CONFIG_ISA=y | 
| 223 | CONFIG_MMU=y | 220 | CONFIG_MMU=y | 
| 224 | 221 | ||
| @@ -247,6 +244,7 @@ CONFIG_NET=y | |||
| 247 | # | 244 | # | 
| 248 | # Networking options | 245 | # Networking options | 
| 249 | # | 246 | # | 
| 247 | # CONFIG_NETDEBUG is not set | ||
| 250 | CONFIG_PACKET=y | 248 | CONFIG_PACKET=y | 
| 251 | # CONFIG_PACKET_MMAP is not set | 249 | # CONFIG_PACKET_MMAP is not set | 
| 252 | CONFIG_UNIX=y | 250 | CONFIG_UNIX=y | 
| @@ -267,6 +265,7 @@ CONFIG_IP_PNP_BOOTP=y | |||
| 267 | # CONFIG_INET_AH is not set | 265 | # CONFIG_INET_AH is not set | 
| 268 | # CONFIG_INET_ESP is not set | 266 | # CONFIG_INET_ESP is not set | 
| 269 | # CONFIG_INET_IPCOMP is not set | 267 | # CONFIG_INET_IPCOMP is not set | 
| 268 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
| 270 | # CONFIG_INET_TUNNEL is not set | 269 | # CONFIG_INET_TUNNEL is not set | 
| 271 | CONFIG_INET_DIAG=y | 270 | CONFIG_INET_DIAG=y | 
| 272 | CONFIG_INET_TCP_DIAG=y | 271 | CONFIG_INET_TCP_DIAG=y | 
| @@ -279,9 +278,12 @@ CONFIG_TCP_CONG_BIC=y | |||
| 279 | # CONFIG_IP_VS is not set | 278 | # CONFIG_IP_VS is not set | 
| 280 | CONFIG_IPV6=m | 279 | CONFIG_IPV6=m | 
| 281 | # CONFIG_IPV6_PRIVACY is not set | 280 | # CONFIG_IPV6_PRIVACY is not set | 
| 281 | CONFIG_IPV6_ROUTER_PREF=y | ||
| 282 | CONFIG_IPV6_ROUTE_INFO=y | ||
| 282 | # CONFIG_INET6_AH is not set | 283 | # CONFIG_INET6_AH is not set | 
| 283 | # CONFIG_INET6_ESP is not set | 284 | # CONFIG_INET6_ESP is not set | 
| 284 | # CONFIG_INET6_IPCOMP is not set | 285 | # CONFIG_INET6_IPCOMP is not set | 
| 286 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
| 285 | # CONFIG_INET6_TUNNEL is not set | 287 | # CONFIG_INET6_TUNNEL is not set | 
| 286 | # CONFIG_IPV6_TUNNEL is not set | 288 | # CONFIG_IPV6_TUNNEL is not set | 
| 287 | CONFIG_NETFILTER=y | 289 | CONFIG_NETFILTER=y | 
| @@ -300,10 +302,12 @@ CONFIG_NETFILTER_XT_TARGET_MARK=m | |||
| 300 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | 302 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | 
| 301 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | 303 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | 
| 302 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 304 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 
| 305 | CONFIG_NETFILTER_XT_MATCH_ESP=m | ||
| 303 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | 306 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | 
| 304 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | 307 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | 
| 305 | CONFIG_NETFILTER_XT_MATCH_MAC=m | 308 | CONFIG_NETFILTER_XT_MATCH_MAC=m | 
| 306 | CONFIG_NETFILTER_XT_MATCH_MARK=m | 309 | CONFIG_NETFILTER_XT_MATCH_MARK=m | 
| 310 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m | ||
| 307 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 311 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 
| 308 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 312 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 
| 309 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | 313 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | 
| @@ -333,6 +337,11 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | |||
| 333 | # SCTP Configuration (EXPERIMENTAL) | 337 | # SCTP Configuration (EXPERIMENTAL) | 
| 334 | # | 338 | # | 
| 335 | # CONFIG_IP_SCTP is not set | 339 | # CONFIG_IP_SCTP is not set | 
| 340 | |||
| 341 | # | ||
| 342 | # TIPC Configuration (EXPERIMENTAL) | ||
| 343 | # | ||
| 344 | # CONFIG_TIPC is not set | ||
| 336 | # CONFIG_ATM is not set | 345 | # CONFIG_ATM is not set | 
| 337 | # CONFIG_BRIDGE is not set | 346 | # CONFIG_BRIDGE is not set | 
| 338 | # CONFIG_VLAN_8021Q is not set | 347 | # CONFIG_VLAN_8021Q is not set | 
| @@ -342,11 +351,6 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | |||
| 342 | # CONFIG_ATALK is not set | 351 | # CONFIG_ATALK is not set | 
| 343 | # CONFIG_X25 is not set | 352 | # CONFIG_X25 is not set | 
| 344 | # CONFIG_LAPB is not set | 353 | # CONFIG_LAPB is not set | 
| 345 | |||
| 346 | # | ||
| 347 | # TIPC Configuration (EXPERIMENTAL) | ||
| 348 | # | ||
| 349 | # CONFIG_TIPC is not set | ||
| 350 | # CONFIG_NET_DIVERT is not set | 354 | # CONFIG_NET_DIVERT is not set | 
| 351 | # CONFIG_ECONET is not set | 355 | # CONFIG_ECONET is not set | 
| 352 | # CONFIG_WAN_ROUTER is not set | 356 | # CONFIG_WAN_ROUTER is not set | 
| @@ -369,6 +373,9 @@ CONFIG_IEEE80211=m | |||
| 369 | CONFIG_IEEE80211_CRYPT_WEP=m | 373 | CONFIG_IEEE80211_CRYPT_WEP=m | 
| 370 | CONFIG_IEEE80211_CRYPT_CCMP=m | 374 | CONFIG_IEEE80211_CRYPT_CCMP=m | 
| 371 | CONFIG_IEEE80211_CRYPT_TKIP=m | 375 | CONFIG_IEEE80211_CRYPT_TKIP=m | 
| 376 | CONFIG_IEEE80211_SOFTMAC=m | ||
| 377 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
| 378 | CONFIG_WIRELESS_EXT=y | ||
| 372 | 379 | ||
| 373 | # | 380 | # | 
| 374 | # Device Drivers | 381 | # Device Drivers | 
| @@ -425,7 +432,6 @@ CONFIG_MTD_CFI_I2=y | |||
| 425 | # CONFIG_MTD_CFI_I8 is not set | 432 | # CONFIG_MTD_CFI_I8 is not set | 
| 426 | CONFIG_MTD_CFI_INTELEXT=y | 433 | CONFIG_MTD_CFI_INTELEXT=y | 
| 427 | CONFIG_MTD_CFI_AMDSTD=y | 434 | CONFIG_MTD_CFI_AMDSTD=y | 
| 428 | CONFIG_MTD_CFI_AMDSTD_RETRY=0 | ||
| 429 | # CONFIG_MTD_CFI_STAA is not set | 435 | # CONFIG_MTD_CFI_STAA is not set | 
| 430 | CONFIG_MTD_CFI_UTIL=y | 436 | CONFIG_MTD_CFI_UTIL=y | 
| 431 | # CONFIG_MTD_RAM is not set | 437 | # CONFIG_MTD_RAM is not set | 
| @@ -447,7 +453,6 @@ CONFIG_MTD_CFI_UTIL=y | |||
| 447 | # CONFIG_MTD_SLRAM is not set | 453 | # CONFIG_MTD_SLRAM is not set | 
| 448 | # CONFIG_MTD_PHRAM is not set | 454 | # CONFIG_MTD_PHRAM is not set | 
| 449 | # CONFIG_MTD_MTDRAM is not set | 455 | # CONFIG_MTD_MTDRAM is not set | 
| 450 | # CONFIG_MTD_BLKMTD is not set | ||
| 451 | # CONFIG_MTD_BLOCK2MTD is not set | 456 | # CONFIG_MTD_BLOCK2MTD is not set | 
| 452 | 457 | ||
| 453 | # | 458 | # | 
| @@ -702,6 +707,7 @@ CONFIG_NET_PCI=y | |||
| 702 | # Wireless LAN (non-hamradio) | 707 | # Wireless LAN (non-hamradio) | 
| 703 | # | 708 | # | 
| 704 | CONFIG_NET_RADIO=y | 709 | CONFIG_NET_RADIO=y | 
| 710 | # CONFIG_NET_WIRELESS_RTNETLINK is not set | ||
| 705 | 711 | ||
| 706 | # | 712 | # | 
| 707 | # Obsolete Wireless cards support (pre-802.11) | 713 | # Obsolete Wireless cards support (pre-802.11) | 
| @@ -715,6 +721,8 @@ CONFIG_NET_RADIO=y | |||
| 715 | # | 721 | # | 
| 716 | # CONFIG_IPW2100 is not set | 722 | # CONFIG_IPW2100 is not set | 
| 717 | CONFIG_IPW2200=m | 723 | CONFIG_IPW2200=m | 
| 724 | # CONFIG_IPW2200_MONITOR is not set | ||
| 725 | # CONFIG_IPW_QOS is not set | ||
| 718 | # CONFIG_IPW2200_DEBUG is not set | 726 | # CONFIG_IPW2200_DEBUG is not set | 
| 719 | # CONFIG_HERMES is not set | 727 | # CONFIG_HERMES is not set | 
| 720 | # CONFIG_ATMEL is not set | 728 | # CONFIG_ATMEL is not set | 
| @@ -724,6 +732,7 @@ CONFIG_IPW2200=m | |||
| 724 | # | 732 | # | 
| 725 | # CONFIG_PRISM54 is not set | 733 | # CONFIG_PRISM54 is not set | 
| 726 | # CONFIG_HOSTAP is not set | 734 | # CONFIG_HOSTAP is not set | 
| 735 | # CONFIG_BCM43XX is not set | ||
| 727 | CONFIG_NET_WIRELESS=y | 736 | CONFIG_NET_WIRELESS=y | 
| 728 | 737 | ||
| 729 | # | 738 | # | 
| @@ -821,7 +830,12 @@ CONFIG_HW_CONSOLE=y | |||
| 821 | # | 830 | # | 
| 822 | # Non-8250 serial port support | 831 | # Non-8250 serial port support | 
| 823 | # | 832 | # | 
| 833 | CONFIG_SERIAL_CORE=y | ||
| 834 | CONFIG_SERIAL_TXX9=y | ||
| 824 | CONFIG_HAS_TXX9_SERIAL=y | 835 | CONFIG_HAS_TXX9_SERIAL=y | 
| 836 | # CONFIG_SERIAL_TXX9_CONSOLE is not set | ||
| 837 | # CONFIG_SERIAL_TXX9_STDSERIAL is not set | ||
| 838 | # CONFIG_SERIAL_JSM is not set | ||
| 825 | CONFIG_UNIX98_PTYS=y | 839 | CONFIG_UNIX98_PTYS=y | 
| 826 | CONFIG_LEGACY_PTYS=y | 840 | CONFIG_LEGACY_PTYS=y | 
| 827 | CONFIG_LEGACY_PTY_COUNT=256 | 841 | CONFIG_LEGACY_PTY_COUNT=256 | 
| @@ -874,6 +888,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
| 874 | # | 888 | # | 
| 875 | CONFIG_HWMON=y | 889 | CONFIG_HWMON=y | 
| 876 | # CONFIG_HWMON_VID is not set | 890 | # CONFIG_HWMON_VID is not set | 
| 891 | # CONFIG_SENSORS_F71805F is not set | ||
| 877 | # CONFIG_HWMON_DEBUG_CHIP is not set | 892 | # CONFIG_HWMON_DEBUG_CHIP is not set | 
| 878 | 893 | ||
| 879 | # | 894 | # | 
| @@ -881,10 +896,6 @@ CONFIG_HWMON=y | |||
| 881 | # | 896 | # | 
| 882 | 897 | ||
| 883 | # | 898 | # | 
| 884 | # Multimedia Capabilities Port drivers | ||
| 885 | # | ||
| 886 | |||
| 887 | # | ||
| 888 | # Multimedia devices | 899 | # Multimedia devices | 
| 889 | # | 900 | # | 
| 890 | # CONFIG_VIDEO_DEV is not set | 901 | # CONFIG_VIDEO_DEV is not set | 
| @@ -893,6 +904,7 @@ CONFIG_HWMON=y | |||
| 893 | # Digital Video Broadcasting Devices | 904 | # Digital Video Broadcasting Devices | 
| 894 | # | 905 | # | 
| 895 | # CONFIG_DVB is not set | 906 | # CONFIG_DVB is not set | 
| 907 | # CONFIG_USB_DABUSB is not set | ||
| 896 | 908 | ||
| 897 | # | 909 | # | 
| 898 | # Graphics support | 910 | # Graphics support | 
| @@ -902,6 +914,7 @@ CONFIG_FB_CFB_FILLRECT=y | |||
| 902 | CONFIG_FB_CFB_COPYAREA=y | 914 | CONFIG_FB_CFB_COPYAREA=y | 
| 903 | CONFIG_FB_CFB_IMAGEBLIT=y | 915 | CONFIG_FB_CFB_IMAGEBLIT=y | 
| 904 | # CONFIG_FB_MACMODES is not set | 916 | # CONFIG_FB_MACMODES is not set | 
| 917 | CONFIG_FB_FIRMWARE_EDID=y | ||
| 905 | # CONFIG_FB_MODE_HELPERS is not set | 918 | # CONFIG_FB_MODE_HELPERS is not set | 
| 906 | # CONFIG_FB_TILEBLITTING is not set | 919 | # CONFIG_FB_TILEBLITTING is not set | 
| 907 | # CONFIG_FB_CIRRUS is not set | 920 | # CONFIG_FB_CIRRUS is not set | 
| @@ -913,7 +926,6 @@ CONFIG_FB_CFB_IMAGEBLIT=y | |||
| 913 | # CONFIG_FB_NVIDIA is not set | 926 | # CONFIG_FB_NVIDIA is not set | 
| 914 | # CONFIG_FB_RIVA is not set | 927 | # CONFIG_FB_RIVA is not set | 
| 915 | # CONFIG_FB_MATROX is not set | 928 | # CONFIG_FB_MATROX is not set | 
| 916 | # CONFIG_FB_RADEON_OLD is not set | ||
| 917 | # CONFIG_FB_RADEON is not set | 929 | # CONFIG_FB_RADEON is not set | 
| 918 | # CONFIG_FB_ATY128 is not set | 930 | # CONFIG_FB_ATY128 is not set | 
| 919 | CONFIG_FB_ATY=y | 931 | CONFIG_FB_ATY=y | 
| @@ -934,6 +946,7 @@ CONFIG_FB_ATY_CT=y | |||
| 934 | # Console display driver support | 946 | # Console display driver support | 
| 935 | # | 947 | # | 
| 936 | CONFIG_VGA_CONSOLE=y | 948 | CONFIG_VGA_CONSOLE=y | 
| 949 | # CONFIG_VGACON_SOFT_SCROLLBACK is not set | ||
| 937 | # CONFIG_MDA_CONSOLE is not set | 950 | # CONFIG_MDA_CONSOLE is not set | 
| 938 | CONFIG_DUMMY_CONSOLE=y | 951 | CONFIG_DUMMY_CONSOLE=y | 
| 939 | # CONFIG_FRAMEBUFFER_CONSOLE is not set | 952 | # CONFIG_FRAMEBUFFER_CONSOLE is not set | 
| @@ -954,6 +967,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
| 954 | # | 967 | # | 
| 955 | CONFIG_USB_ARCH_HAS_HCD=y | 968 | CONFIG_USB_ARCH_HAS_HCD=y | 
| 956 | CONFIG_USB_ARCH_HAS_OHCI=y | 969 | CONFIG_USB_ARCH_HAS_OHCI=y | 
| 970 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
| 957 | CONFIG_USB=y | 971 | CONFIG_USB=y | 
| 958 | # CONFIG_USB_DEBUG is not set | 972 | # CONFIG_USB_DEBUG is not set | 
| 959 | 973 | ||
| @@ -1003,9 +1017,7 @@ CONFIG_USB_HIDDEV=y | |||
| 1003 | # CONFIG_USB_ACECAD is not set | 1017 | # CONFIG_USB_ACECAD is not set | 
| 1004 | # CONFIG_USB_KBTAB is not set | 1018 | # CONFIG_USB_KBTAB is not set | 
| 1005 | # CONFIG_USB_POWERMATE is not set | 1019 | # CONFIG_USB_POWERMATE is not set | 
| 1006 | # CONFIG_USB_MTOUCH is not set | 1020 | # CONFIG_USB_TOUCHSCREEN is not set | 
| 1007 | # CONFIG_USB_ITMTOUCH is not set | ||
| 1008 | # CONFIG_USB_EGALAX is not set | ||
| 1009 | CONFIG_USB_YEALINK=m | 1021 | CONFIG_USB_YEALINK=m | 
| 1010 | # CONFIG_USB_XPAD is not set | 1022 | # CONFIG_USB_XPAD is not set | 
| 1011 | # CONFIG_USB_ATI_REMOTE is not set | 1023 | # CONFIG_USB_ATI_REMOTE is not set | 
| @@ -1019,15 +1031,6 @@ CONFIG_USB_YEALINK=m | |||
| 1019 | # CONFIG_USB_MDC800 is not set | 1031 | # CONFIG_USB_MDC800 is not set | 
| 1020 | 1032 | ||
| 1021 | # | 1033 | # | 
| 1022 | # USB Multimedia devices | ||
| 1023 | # | ||
| 1024 | # CONFIG_USB_DABUSB is not set | ||
| 1025 | |||
| 1026 | # | ||
| 1027 | # Video4Linux support is needed for USB Multimedia device support | ||
| 1028 | # | ||
| 1029 | |||
| 1030 | # | ||
| 1031 | # USB Network Adapters | 1034 | # USB Network Adapters | 
| 1032 | # | 1035 | # | 
| 1033 | # CONFIG_USB_CATC is not set | 1036 | # CONFIG_USB_CATC is not set | 
| @@ -1078,13 +1081,31 @@ CONFIG_USB_MON=y | |||
| 1078 | # CONFIG_MMC is not set | 1081 | # CONFIG_MMC is not set | 
| 1079 | 1082 | ||
| 1080 | # | 1083 | # | 
| 1084 | # LED devices | ||
| 1085 | # | ||
| 1086 | # CONFIG_NEW_LEDS is not set | ||
| 1087 | |||
| 1088 | # | ||
| 1089 | # LED drivers | ||
| 1090 | # | ||
| 1091 | |||
| 1092 | # | ||
| 1093 | # LED Triggers | ||
| 1094 | # | ||
| 1095 | |||
| 1096 | # | ||
| 1081 | # InfiniBand support | 1097 | # InfiniBand support | 
| 1082 | # | 1098 | # | 
| 1083 | # CONFIG_INFINIBAND is not set | 1099 | # CONFIG_INFINIBAND is not set | 
| 1084 | 1100 | ||
| 1085 | # | 1101 | # | 
| 1086 | # SN Devices | 1102 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | 
| 1103 | # | ||
| 1104 | |||
| 1105 | # | ||
| 1106 | # Real Time Clock | ||
| 1087 | # | 1107 | # | 
| 1108 | # CONFIG_RTC_CLASS is not set | ||
| 1088 | 1109 | ||
| 1089 | # | 1110 | # | 
| 1090 | # File systems | 1111 | # File systems | 
| @@ -1148,7 +1169,6 @@ CONFIG_SYSFS=y | |||
| 1148 | CONFIG_TMPFS=y | 1169 | CONFIG_TMPFS=y | 
| 1149 | # CONFIG_HUGETLB_PAGE is not set | 1170 | # CONFIG_HUGETLB_PAGE is not set | 
| 1150 | CONFIG_RAMFS=y | 1171 | CONFIG_RAMFS=y | 
| 1151 | CONFIG_RELAYFS_FS=m | ||
| 1152 | # CONFIG_CONFIGFS_FS is not set | 1172 | # CONFIG_CONFIGFS_FS is not set | 
| 1153 | 1173 | ||
| 1154 | # | 1174 | # | 
| @@ -1266,6 +1286,7 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
| 1266 | # CONFIG_MAGIC_SYSRQ is not set | 1286 | # CONFIG_MAGIC_SYSRQ is not set | 
| 1267 | # CONFIG_DEBUG_KERNEL is not set | 1287 | # CONFIG_DEBUG_KERNEL is not set | 
| 1268 | CONFIG_LOG_BUF_SHIFT=14 | 1288 | CONFIG_LOG_BUF_SHIFT=14 | 
| 1289 | # CONFIG_DEBUG_FS is not set | ||
| 1269 | CONFIG_CROSSCOMPILE=y | 1290 | CONFIG_CROSSCOMPILE=y | 
| 1270 | CONFIG_CMDLINE="" | 1291 | CONFIG_CMDLINE="" | 
| 1271 | 1292 | ||
diff --git a/arch/mips/configs/rm200_defconfig b/arch/mips/configs/rm200_defconfig index 463ed3dbf6ae..edfb9679a25a 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.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 | 
| 4 | # Fri Jan 27 15:40:31 2006 | 4 | # Mon Apr 24 14:51:16 2006 | 
| 5 | # | 5 | # | 
| 6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y | 
| 7 | 7 | ||
| @@ -64,6 +64,8 @@ CONFIG_SNI_RM200_PCI=y | |||
| 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 
| 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 
| 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 
| 67 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
| 68 | CONFIG_GENERIC_HWEIGHT=y | ||
| 67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 69 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 
| 68 | CONFIG_ARC=y | 70 | CONFIG_ARC=y | 
| 69 | CONFIG_ARCH_MAY_HAVE_PC_FDC=y | 71 | CONFIG_ARCH_MAY_HAVE_PC_FDC=y | 
| @@ -122,7 +124,6 @@ CONFIG_PAGE_SIZE_4KB=y | |||
| 122 | # CONFIG_PAGE_SIZE_64KB is not set | 124 | # CONFIG_PAGE_SIZE_64KB is not set | 
| 123 | # CONFIG_MIPS_MT is not set | 125 | # CONFIG_MIPS_MT is not set | 
| 124 | # CONFIG_64BIT_PHYS_ADDR is not set | 126 | # CONFIG_64BIT_PHYS_ADDR is not set | 
| 125 | # CONFIG_CPU_ADVANCED is not set | ||
| 126 | CONFIG_CPU_HAS_LLSC=y | 127 | CONFIG_CPU_HAS_LLSC=y | 
| 127 | CONFIG_CPU_HAS_SYNC=y | 128 | CONFIG_CPU_HAS_SYNC=y | 
| 128 | CONFIG_GENERIC_HARDIRQS=y | 129 | CONFIG_GENERIC_HARDIRQS=y | 
| @@ -145,7 +146,6 @@ CONFIG_PREEMPT_VOLUNTARY=y | |||
| 145 | # Code maturity level options | 146 | # Code maturity level options | 
| 146 | # | 147 | # | 
| 147 | CONFIG_EXPERIMENTAL=y | 148 | CONFIG_EXPERIMENTAL=y | 
| 148 | CONFIG_CLEAN_COMPILE=y | ||
| 149 | CONFIG_BROKEN_ON_SMP=y | 149 | CONFIG_BROKEN_ON_SMP=y | 
| 150 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 150 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 
| 151 | 151 | ||
| @@ -163,6 +163,7 @@ CONFIG_SYSCTL=y | |||
| 163 | # CONFIG_AUDIT is not set | 163 | # CONFIG_AUDIT is not set | 
| 164 | CONFIG_IKCONFIG=y | 164 | CONFIG_IKCONFIG=y | 
| 165 | CONFIG_IKCONFIG_PROC=y | 165 | CONFIG_IKCONFIG_PROC=y | 
| 166 | CONFIG_RELAY=y | ||
| 166 | CONFIG_INITRAMFS_SOURCE="" | 167 | CONFIG_INITRAMFS_SOURCE="" | 
| 167 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 168 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 
| 168 | CONFIG_EMBEDDED=y | 169 | CONFIG_EMBEDDED=y | 
| @@ -176,10 +177,6 @@ CONFIG_BASE_FULL=y | |||
| 176 | CONFIG_FUTEX=y | 177 | CONFIG_FUTEX=y | 
| 177 | CONFIG_EPOLL=y | 178 | CONFIG_EPOLL=y | 
| 178 | CONFIG_SHMEM=y | 179 | CONFIG_SHMEM=y | 
| 179 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
| 180 | CONFIG_CC_ALIGN_LABELS=0 | ||
| 181 | CONFIG_CC_ALIGN_LOOPS=0 | ||
| 182 | CONFIG_CC_ALIGN_JUMPS=0 | ||
| 183 | CONFIG_SLAB=y | 180 | CONFIG_SLAB=y | 
| 184 | # CONFIG_TINY_SHMEM is not set | 181 | # CONFIG_TINY_SHMEM is not set | 
| 185 | CONFIG_BASE_SMALL=0 | 182 | CONFIG_BASE_SMALL=0 | 
| @@ -191,7 +188,6 @@ CONFIG_BASE_SMALL=0 | |||
| 191 | CONFIG_MODULES=y | 188 | CONFIG_MODULES=y | 
| 192 | CONFIG_MODULE_UNLOAD=y | 189 | CONFIG_MODULE_UNLOAD=y | 
| 193 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 190 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 
| 194 | CONFIG_OBSOLETE_MODPARM=y | ||
| 195 | CONFIG_MODVERSIONS=y | 191 | CONFIG_MODVERSIONS=y | 
| 196 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 192 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 
| 197 | CONFIG_KMOD=y | 193 | CONFIG_KMOD=y | 
| @@ -200,6 +196,8 @@ CONFIG_KMOD=y | |||
| 200 | # Block layer | 196 | # Block layer | 
| 201 | # | 197 | # | 
| 202 | # CONFIG_LBD is not set | 198 | # CONFIG_LBD is not set | 
| 199 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 200 | # CONFIG_LSF is not set | ||
| 203 | 201 | ||
| 204 | # | 202 | # | 
| 205 | # IO Schedulers | 203 | # IO Schedulers | 
| @@ -220,10 +218,10 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
| 220 | CONFIG_HW_HAS_EISA=y | 218 | CONFIG_HW_HAS_EISA=y | 
| 221 | CONFIG_HW_HAS_PCI=y | 219 | CONFIG_HW_HAS_PCI=y | 
| 222 | CONFIG_PCI=y | 220 | CONFIG_PCI=y | 
| 223 | CONFIG_PCI_LEGACY_PROC=y | ||
| 224 | CONFIG_ISA=y | 221 | CONFIG_ISA=y | 
| 225 | # CONFIG_EISA is not set | 222 | # CONFIG_EISA is not set | 
| 226 | CONFIG_MMU=y | 223 | CONFIG_MMU=y | 
| 224 | CONFIG_I8253=y | ||
| 227 | 225 | ||
| 228 | # | 226 | # | 
| 229 | # PCCARD (PCMCIA/CardBus) support | 227 | # PCCARD (PCMCIA/CardBus) support | 
| @@ -250,6 +248,7 @@ CONFIG_NET=y | |||
| 250 | # | 248 | # | 
| 251 | # Networking options | 249 | # Networking options | 
| 252 | # | 250 | # | 
| 251 | # CONFIG_NETDEBUG is not set | ||
| 253 | CONFIG_PACKET=m | 252 | CONFIG_PACKET=m | 
| 254 | CONFIG_PACKET_MMAP=y | 253 | CONFIG_PACKET_MMAP=y | 
| 255 | CONFIG_UNIX=y | 254 | CONFIG_UNIX=y | 
| @@ -272,6 +271,7 @@ CONFIG_IP_PIMSM_V2=y | |||
| 272 | # CONFIG_INET_AH is not set | 271 | # CONFIG_INET_AH is not set | 
| 273 | # CONFIG_INET_ESP is not set | 272 | # CONFIG_INET_ESP is not set | 
| 274 | # CONFIG_INET_IPCOMP is not set | 273 | # CONFIG_INET_IPCOMP is not set | 
| 274 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
| 275 | CONFIG_INET_TUNNEL=m | 275 | CONFIG_INET_TUNNEL=m | 
| 276 | CONFIG_INET_DIAG=y | 276 | CONFIG_INET_DIAG=y | 
| 277 | CONFIG_INET_TCP_DIAG=y | 277 | CONFIG_INET_TCP_DIAG=y | 
| @@ -284,9 +284,12 @@ CONFIG_TCP_CONG_BIC=y | |||
| 284 | # CONFIG_IP_VS is not set | 284 | # CONFIG_IP_VS is not set | 
| 285 | CONFIG_IPV6=m | 285 | CONFIG_IPV6=m | 
| 286 | CONFIG_IPV6_PRIVACY=y | 286 | CONFIG_IPV6_PRIVACY=y | 
| 287 | CONFIG_IPV6_ROUTER_PREF=y | ||
| 288 | CONFIG_IPV6_ROUTE_INFO=y | ||
| 287 | CONFIG_INET6_AH=m | 289 | CONFIG_INET6_AH=m | 
| 288 | CONFIG_INET6_ESP=m | 290 | CONFIG_INET6_ESP=m | 
| 289 | CONFIG_INET6_IPCOMP=m | 291 | CONFIG_INET6_IPCOMP=m | 
| 292 | CONFIG_INET6_XFRM_TUNNEL=m | ||
| 290 | CONFIG_INET6_TUNNEL=m | 293 | CONFIG_INET6_TUNNEL=m | 
| 291 | CONFIG_IPV6_TUNNEL=m | 294 | CONFIG_IPV6_TUNNEL=m | 
| 292 | CONFIG_NETFILTER=y | 295 | CONFIG_NETFILTER=y | 
| @@ -309,11 +312,14 @@ CONFIG_NETFILTER_XT_MATCH_COMMENT=m | |||
| 309 | CONFIG_NETFILTER_XT_MATCH_CONNMARK=m | 312 | CONFIG_NETFILTER_XT_MATCH_CONNMARK=m | 
| 310 | CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m | 313 | CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m | 
| 311 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 314 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 
| 315 | CONFIG_NETFILTER_XT_MATCH_ESP=m | ||
| 312 | CONFIG_NETFILTER_XT_MATCH_HELPER=m | 316 | CONFIG_NETFILTER_XT_MATCH_HELPER=m | 
| 313 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | 317 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | 
| 314 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | 318 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | 
| 315 | CONFIG_NETFILTER_XT_MATCH_MAC=m | 319 | CONFIG_NETFILTER_XT_MATCH_MAC=m | 
| 316 | CONFIG_NETFILTER_XT_MATCH_MARK=m | 320 | CONFIG_NETFILTER_XT_MATCH_MARK=m | 
| 321 | CONFIG_NETFILTER_XT_MATCH_POLICY=m | ||
| 322 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m | ||
| 317 | CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m | 323 | CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m | 
| 318 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 324 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 
| 319 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 325 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 
| @@ -337,20 +343,19 @@ CONFIG_IP_NF_IRC=m | |||
| 337 | CONFIG_IP_NF_TFTP=m | 343 | CONFIG_IP_NF_TFTP=m | 
| 338 | CONFIG_IP_NF_AMANDA=m | 344 | CONFIG_IP_NF_AMANDA=m | 
| 339 | CONFIG_IP_NF_PPTP=m | 345 | CONFIG_IP_NF_PPTP=m | 
| 346 | CONFIG_IP_NF_H323=m | ||
| 340 | CONFIG_IP_NF_QUEUE=m | 347 | CONFIG_IP_NF_QUEUE=m | 
| 341 | CONFIG_IP_NF_IPTABLES=m | 348 | CONFIG_IP_NF_IPTABLES=m | 
| 342 | CONFIG_IP_NF_MATCH_IPRANGE=m | 349 | CONFIG_IP_NF_MATCH_IPRANGE=m | 
| 343 | CONFIG_IP_NF_MATCH_MULTIPORT=m | ||
| 344 | CONFIG_IP_NF_MATCH_TOS=m | 350 | CONFIG_IP_NF_MATCH_TOS=m | 
| 345 | CONFIG_IP_NF_MATCH_RECENT=m | 351 | CONFIG_IP_NF_MATCH_RECENT=m | 
| 346 | CONFIG_IP_NF_MATCH_ECN=m | 352 | CONFIG_IP_NF_MATCH_ECN=m | 
| 347 | CONFIG_IP_NF_MATCH_DSCP=m | 353 | CONFIG_IP_NF_MATCH_DSCP=m | 
| 348 | CONFIG_IP_NF_MATCH_AH_ESP=m | 354 | CONFIG_IP_NF_MATCH_AH=m | 
| 349 | CONFIG_IP_NF_MATCH_TTL=m | 355 | CONFIG_IP_NF_MATCH_TTL=m | 
| 350 | CONFIG_IP_NF_MATCH_OWNER=m | 356 | CONFIG_IP_NF_MATCH_OWNER=m | 
| 351 | CONFIG_IP_NF_MATCH_ADDRTYPE=m | 357 | CONFIG_IP_NF_MATCH_ADDRTYPE=m | 
| 352 | CONFIG_IP_NF_MATCH_HASHLIMIT=m | 358 | CONFIG_IP_NF_MATCH_HASHLIMIT=m | 
| 353 | CONFIG_IP_NF_MATCH_POLICY=m | ||
| 354 | CONFIG_IP_NF_FILTER=m | 359 | CONFIG_IP_NF_FILTER=m | 
| 355 | CONFIG_IP_NF_TARGET_REJECT=m | 360 | CONFIG_IP_NF_TARGET_REJECT=m | 
| 356 | CONFIG_IP_NF_TARGET_LOG=m | 361 | CONFIG_IP_NF_TARGET_LOG=m | 
| @@ -368,6 +373,7 @@ CONFIG_IP_NF_NAT_FTP=m | |||
| 368 | CONFIG_IP_NF_NAT_TFTP=m | 373 | CONFIG_IP_NF_NAT_TFTP=m | 
| 369 | CONFIG_IP_NF_NAT_AMANDA=m | 374 | CONFIG_IP_NF_NAT_AMANDA=m | 
| 370 | CONFIG_IP_NF_NAT_PPTP=m | 375 | CONFIG_IP_NF_NAT_PPTP=m | 
| 376 | CONFIG_IP_NF_NAT_H323=m | ||
| 371 | CONFIG_IP_NF_MANGLE=m | 377 | CONFIG_IP_NF_MANGLE=m | 
| 372 | CONFIG_IP_NF_TARGET_TOS=m | 378 | CONFIG_IP_NF_TARGET_TOS=m | 
| 373 | CONFIG_IP_NF_TARGET_ECN=m | 379 | CONFIG_IP_NF_TARGET_ECN=m | 
| @@ -388,12 +394,10 @@ CONFIG_IP6_NF_MATCH_RT=m | |||
| 388 | CONFIG_IP6_NF_MATCH_OPTS=m | 394 | CONFIG_IP6_NF_MATCH_OPTS=m | 
| 389 | CONFIG_IP6_NF_MATCH_FRAG=m | 395 | CONFIG_IP6_NF_MATCH_FRAG=m | 
| 390 | CONFIG_IP6_NF_MATCH_HL=m | 396 | CONFIG_IP6_NF_MATCH_HL=m | 
| 391 | CONFIG_IP6_NF_MATCH_MULTIPORT=m | ||
| 392 | CONFIG_IP6_NF_MATCH_OWNER=m | 397 | CONFIG_IP6_NF_MATCH_OWNER=m | 
| 393 | CONFIG_IP6_NF_MATCH_IPV6HEADER=m | 398 | CONFIG_IP6_NF_MATCH_IPV6HEADER=m | 
| 394 | CONFIG_IP6_NF_MATCH_AHESP=m | 399 | CONFIG_IP6_NF_MATCH_AH=m | 
| 395 | CONFIG_IP6_NF_MATCH_EUI64=m | 400 | CONFIG_IP6_NF_MATCH_EUI64=m | 
| 396 | CONFIG_IP6_NF_MATCH_POLICY=m | ||
| 397 | CONFIG_IP6_NF_FILTER=m | 401 | CONFIG_IP6_NF_FILTER=m | 
| 398 | CONFIG_IP6_NF_TARGET_LOG=m | 402 | CONFIG_IP6_NF_TARGET_LOG=m | 
| 399 | CONFIG_IP6_NF_TARGET_REJECT=m | 403 | CONFIG_IP6_NF_TARGET_REJECT=m | 
| @@ -439,21 +443,22 @@ CONFIG_BRIDGE_EBT_ULOG=m | |||
| 439 | # SCTP Configuration (EXPERIMENTAL) | 443 | # SCTP Configuration (EXPERIMENTAL) | 
| 440 | # | 444 | # | 
| 441 | # CONFIG_IP_SCTP is not set | 445 | # CONFIG_IP_SCTP is not set | 
| 446 | |||
| 447 | # | ||
| 448 | # TIPC Configuration (EXPERIMENTAL) | ||
| 449 | # | ||
| 450 | # CONFIG_TIPC is not set | ||
| 442 | # CONFIG_ATM is not set | 451 | # CONFIG_ATM is not set | 
| 443 | CONFIG_BRIDGE=m | 452 | CONFIG_BRIDGE=m | 
| 444 | # CONFIG_VLAN_8021Q is not set | 453 | # CONFIG_VLAN_8021Q is not set | 
| 445 | CONFIG_DECNET=m | 454 | CONFIG_DECNET=m | 
| 446 | # CONFIG_DECNET_ROUTER is not set | 455 | # CONFIG_DECNET_ROUTER is not set | 
| 456 | CONFIG_LLC=m | ||
| 447 | # CONFIG_LLC2 is not set | 457 | # CONFIG_LLC2 is not set | 
| 448 | # CONFIG_IPX is not set | 458 | # CONFIG_IPX is not set | 
| 449 | # CONFIG_ATALK is not set | 459 | # CONFIG_ATALK is not set | 
| 450 | # CONFIG_X25 is not set | 460 | # CONFIG_X25 is not set | 
| 451 | # CONFIG_LAPB is not set | 461 | # CONFIG_LAPB is not set | 
| 452 | |||
| 453 | # | ||
| 454 | # TIPC Configuration (EXPERIMENTAL) | ||
| 455 | # | ||
| 456 | # CONFIG_TIPC is not set | ||
| 457 | # CONFIG_NET_DIVERT is not set | 462 | # CONFIG_NET_DIVERT is not set | 
| 458 | # CONFIG_ECONET is not set | 463 | # CONFIG_ECONET is not set | 
| 459 | # CONFIG_WAN_ROUTER is not set | 464 | # CONFIG_WAN_ROUTER is not set | 
| @@ -533,6 +538,9 @@ CONFIG_IEEE80211=m | |||
| 533 | # CONFIG_IEEE80211_DEBUG is not set | 538 | # CONFIG_IEEE80211_DEBUG is not set | 
| 534 | CONFIG_IEEE80211_CRYPT_WEP=m | 539 | CONFIG_IEEE80211_CRYPT_WEP=m | 
| 535 | CONFIG_IEEE80211_CRYPT_CCMP=m | 540 | CONFIG_IEEE80211_CRYPT_CCMP=m | 
| 541 | CONFIG_IEEE80211_SOFTMAC=m | ||
| 542 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
| 543 | CONFIG_WIRELESS_EXT=y | ||
| 536 | 544 | ||
| 537 | # | 545 | # | 
| 538 | # Device Drivers | 546 | # Device Drivers | 
| @@ -620,6 +628,7 @@ CONFIG_BLK_DEV_UB=m | |||
| 620 | CONFIG_BLK_DEV_RAM=m | 628 | CONFIG_BLK_DEV_RAM=m | 
| 621 | CONFIG_BLK_DEV_RAM_COUNT=16 | 629 | CONFIG_BLK_DEV_RAM_COUNT=16 | 
| 622 | CONFIG_BLK_DEV_RAM_SIZE=4096 | 630 | CONFIG_BLK_DEV_RAM_SIZE=4096 | 
| 631 | # CONFIG_BLK_DEV_INITRD is not set | ||
| 623 | CONFIG_CDROM_PKTCDVD=m | 632 | CONFIG_CDROM_PKTCDVD=m | 
| 624 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 633 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 
| 625 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 634 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 
| @@ -700,12 +709,11 @@ CONFIG_SCSI_SYM53C8XX_2=y | |||
| 700 | CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1 | 709 | CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1 | 
| 701 | CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 | 710 | CONFIG_SCSI_SYM53C8XX_DEFAULT_TAGS=16 | 
| 702 | CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 | 711 | CONFIG_SCSI_SYM53C8XX_MAX_TAGS=64 | 
| 703 | # CONFIG_SCSI_SYM53C8XX_IOMAPPED is not set | 712 | CONFIG_SCSI_SYM53C8XX_MMIO=y | 
| 704 | # CONFIG_SCSI_IPR is not set | 713 | # CONFIG_SCSI_IPR is not set | 
| 705 | # CONFIG_SCSI_PAS16 is not set | 714 | # CONFIG_SCSI_PAS16 is not set | 
| 706 | # CONFIG_SCSI_PSI240I is not set | 715 | # CONFIG_SCSI_PSI240I is not set | 
| 707 | # CONFIG_SCSI_QLOGIC_FAS is not set | 716 | # CONFIG_SCSI_QLOGIC_FAS is not set | 
| 708 | # CONFIG_SCSI_QLOGIC_FC is not set | ||
| 709 | # CONFIG_SCSI_QLOGIC_1280 is not set | 717 | # CONFIG_SCSI_QLOGIC_1280 is not set | 
| 710 | # CONFIG_SCSI_QLA_FC is not set | 718 | # CONFIG_SCSI_QLA_FC is not set | 
| 711 | # CONFIG_SCSI_LPFC is not set | 719 | # CONFIG_SCSI_LPFC is not set | 
| @@ -731,6 +739,7 @@ CONFIG_MD_RAID0=m | |||
| 731 | CONFIG_MD_RAID1=m | 739 | CONFIG_MD_RAID1=m | 
| 732 | CONFIG_MD_RAID10=m | 740 | CONFIG_MD_RAID10=m | 
| 733 | CONFIG_MD_RAID5=m | 741 | CONFIG_MD_RAID5=m | 
| 742 | CONFIG_MD_RAID5_RESHAPE=y | ||
| 734 | # CONFIG_MD_RAID6 is not set | 743 | # CONFIG_MD_RAID6 is not set | 
| 735 | CONFIG_MD_MULTIPATH=m | 744 | CONFIG_MD_MULTIPATH=m | 
| 736 | CONFIG_MD_FAULTY=m | 745 | CONFIG_MD_FAULTY=m | 
| @@ -965,6 +974,7 @@ CONFIG_HW_CONSOLE=y | |||
| 965 | # Serial drivers | 974 | # Serial drivers | 
| 966 | # | 975 | # | 
| 967 | CONFIG_SERIAL_8250=m | 976 | CONFIG_SERIAL_8250=m | 
| 977 | CONFIG_SERIAL_8250_PCI=m | ||
| 968 | CONFIG_SERIAL_8250_NR_UARTS=4 | 978 | CONFIG_SERIAL_8250_NR_UARTS=4 | 
| 969 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 979 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 
| 970 | CONFIG_SERIAL_8250_EXTENDED=y | 980 | CONFIG_SERIAL_8250_EXTENDED=y | 
| @@ -977,6 +987,7 @@ CONFIG_SERIAL_8250_RSA=y | |||
| 977 | # Non-8250 serial port support | 987 | # Non-8250 serial port support | 
| 978 | # | 988 | # | 
| 979 | CONFIG_SERIAL_CORE=m | 989 | CONFIG_SERIAL_CORE=m | 
| 990 | # CONFIG_SERIAL_JSM is not set | ||
| 980 | CONFIG_UNIX98_PTYS=y | 991 | CONFIG_UNIX98_PTYS=y | 
| 981 | CONFIG_LEGACY_PTYS=y | 992 | CONFIG_LEGACY_PTYS=y | 
| 982 | CONFIG_LEGACY_PTY_COUNT=256 | 993 | CONFIG_LEGACY_PTY_COUNT=256 | 
| @@ -1027,12 +1038,19 @@ CONFIG_RTC=m | |||
| 1027 | # Dallas's 1-wire bus | 1038 | # Dallas's 1-wire bus | 
| 1028 | # | 1039 | # | 
| 1029 | CONFIG_W1=m | 1040 | CONFIG_W1=m | 
| 1030 | CONFIG_W1_MATROX=m | 1041 | |
| 1031 | CONFIG_W1_DS9490=m | 1042 | # | 
| 1032 | # CONFIG_W1_DS9490_BRIDGE is not set | 1043 | # 1-wire Bus Masters | 
| 1033 | CONFIG_W1_THERM=m | 1044 | # | 
| 1034 | CONFIG_W1_SMEM=m | 1045 | # CONFIG_W1_MASTER_MATROX is not set | 
| 1035 | # CONFIG_W1_DS2433 is not set | 1046 | # CONFIG_W1_MASTER_DS9490 is not set | 
| 1047 | |||
| 1048 | # | ||
| 1049 | # 1-wire Slaves | ||
| 1050 | # | ||
| 1051 | # CONFIG_W1_SLAVE_THERM is not set | ||
| 1052 | # CONFIG_W1_SLAVE_SMEM is not set | ||
| 1053 | # CONFIG_W1_SLAVE_DS2433 is not set | ||
| 1036 | 1054 | ||
| 1037 | # | 1055 | # | 
| 1038 | # Hardware Monitoring support | 1056 | # Hardware Monitoring support | 
| @@ -1045,10 +1063,6 @@ CONFIG_W1_SMEM=m | |||
| 1045 | # | 1063 | # | 
| 1046 | 1064 | ||
| 1047 | # | 1065 | # | 
| 1048 | # Multimedia Capabilities Port drivers | ||
| 1049 | # | ||
| 1050 | |||
| 1051 | # | ||
| 1052 | # Multimedia devices | 1066 | # Multimedia devices | 
| 1053 | # | 1067 | # | 
| 1054 | # CONFIG_VIDEO_DEV is not set | 1068 | # CONFIG_VIDEO_DEV is not set | 
| @@ -1057,6 +1071,7 @@ CONFIG_W1_SMEM=m | |||
| 1057 | # Digital Video Broadcasting Devices | 1071 | # Digital Video Broadcasting Devices | 
| 1058 | # | 1072 | # | 
| 1059 | # CONFIG_DVB is not set | 1073 | # CONFIG_DVB is not set | 
| 1074 | CONFIG_USB_DABUSB=m | ||
| 1060 | 1075 | ||
| 1061 | # | 1076 | # | 
| 1062 | # Graphics support | 1077 | # Graphics support | 
| @@ -1067,6 +1082,7 @@ CONFIG_W1_SMEM=m | |||
| 1067 | # Console display driver support | 1082 | # Console display driver support | 
| 1068 | # | 1083 | # | 
| 1069 | CONFIG_VGA_CONSOLE=y | 1084 | CONFIG_VGA_CONSOLE=y | 
| 1085 | # CONFIG_VGACON_SOFT_SCROLLBACK is not set | ||
| 1070 | # CONFIG_MDA_CONSOLE is not set | 1086 | # CONFIG_MDA_CONSOLE is not set | 
| 1071 | CONFIG_DUMMY_CONSOLE=y | 1087 | CONFIG_DUMMY_CONSOLE=y | 
| 1072 | 1088 | ||
| @@ -1080,6 +1096,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
| 1080 | # | 1096 | # | 
| 1081 | CONFIG_USB_ARCH_HAS_HCD=y | 1097 | CONFIG_USB_ARCH_HAS_HCD=y | 
| 1082 | CONFIG_USB_ARCH_HAS_OHCI=y | 1098 | CONFIG_USB_ARCH_HAS_OHCI=y | 
| 1099 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
| 1083 | CONFIG_USB=m | 1100 | CONFIG_USB=m | 
| 1084 | # CONFIG_USB_DEBUG is not set | 1101 | # CONFIG_USB_DEBUG is not set | 
| 1085 | 1102 | ||
| @@ -1151,9 +1168,7 @@ CONFIG_USB_WACOM=m | |||
| 1151 | # CONFIG_USB_ACECAD is not set | 1168 | # CONFIG_USB_ACECAD is not set | 
| 1152 | CONFIG_USB_KBTAB=m | 1169 | CONFIG_USB_KBTAB=m | 
| 1153 | CONFIG_USB_POWERMATE=m | 1170 | CONFIG_USB_POWERMATE=m | 
| 1154 | # CONFIG_USB_MTOUCH is not set | 1171 | # CONFIG_USB_TOUCHSCREEN is not set | 
| 1155 | # CONFIG_USB_ITMTOUCH is not set | ||
| 1156 | CONFIG_USB_EGALAX=m | ||
| 1157 | CONFIG_USB_YEALINK=m | 1172 | CONFIG_USB_YEALINK=m | 
| 1158 | CONFIG_USB_XPAD=m | 1173 | CONFIG_USB_XPAD=m | 
| 1159 | # CONFIG_USB_ATI_REMOTE is not set | 1174 | # CONFIG_USB_ATI_REMOTE is not set | 
| @@ -1168,15 +1183,6 @@ CONFIG_USB_MDC800=m | |||
| 1168 | CONFIG_USB_MICROTEK=m | 1183 | CONFIG_USB_MICROTEK=m | 
| 1169 | 1184 | ||
| 1170 | # | 1185 | # | 
| 1171 | # USB Multimedia devices | ||
| 1172 | # | ||
| 1173 | CONFIG_USB_DABUSB=m | ||
| 1174 | |||
| 1175 | # | ||
| 1176 | # Video4Linux support is needed for USB Multimedia device support | ||
| 1177 | # | ||
| 1178 | |||
| 1179 | # | ||
| 1180 | # USB Network Adapters | 1186 | # USB Network Adapters | 
| 1181 | # | 1187 | # | 
| 1182 | CONFIG_USB_CATC=m | 1188 | CONFIG_USB_CATC=m | 
| @@ -1213,6 +1219,7 @@ CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m | |||
| 1213 | CONFIG_USB_SERIAL_CYPRESS_M8=m | 1219 | CONFIG_USB_SERIAL_CYPRESS_M8=m | 
| 1214 | CONFIG_USB_SERIAL_EMPEG=m | 1220 | CONFIG_USB_SERIAL_EMPEG=m | 
| 1215 | CONFIG_USB_SERIAL_FTDI_SIO=m | 1221 | CONFIG_USB_SERIAL_FTDI_SIO=m | 
| 1222 | # CONFIG_USB_SERIAL_FUNSOFT is not set | ||
| 1216 | CONFIG_USB_SERIAL_VISOR=m | 1223 | CONFIG_USB_SERIAL_VISOR=m | 
| 1217 | CONFIG_USB_SERIAL_IPAQ=m | 1224 | CONFIG_USB_SERIAL_IPAQ=m | 
| 1218 | CONFIG_USB_SERIAL_IR=m | 1225 | CONFIG_USB_SERIAL_IR=m | 
| @@ -1237,6 +1244,7 @@ CONFIG_USB_SERIAL_KEYSPAN_USA49WLC=y | |||
| 1237 | CONFIG_USB_SERIAL_KLSI=m | 1244 | CONFIG_USB_SERIAL_KLSI=m | 
| 1238 | CONFIG_USB_SERIAL_KOBIL_SCT=m | 1245 | CONFIG_USB_SERIAL_KOBIL_SCT=m | 
| 1239 | CONFIG_USB_SERIAL_MCT_U232=m | 1246 | CONFIG_USB_SERIAL_MCT_U232=m | 
| 1247 | # CONFIG_USB_SERIAL_NAVMAN is not set | ||
| 1240 | CONFIG_USB_SERIAL_PL2303=m | 1248 | CONFIG_USB_SERIAL_PL2303=m | 
| 1241 | CONFIG_USB_SERIAL_HP4X=m | 1249 | CONFIG_USB_SERIAL_HP4X=m | 
| 1242 | CONFIG_USB_SERIAL_SAFE=m | 1250 | CONFIG_USB_SERIAL_SAFE=m | 
| @@ -1281,13 +1289,31 @@ CONFIG_USB_TEST=m | |||
| 1281 | # CONFIG_MMC is not set | 1289 | # CONFIG_MMC is not set | 
| 1282 | 1290 | ||
| 1283 | # | 1291 | # | 
| 1292 | # LED devices | ||
| 1293 | # | ||
| 1294 | # CONFIG_NEW_LEDS is not set | ||
| 1295 | |||
| 1296 | # | ||
| 1297 | # LED drivers | ||
| 1298 | # | ||
| 1299 | |||
| 1300 | # | ||
| 1301 | # LED Triggers | ||
| 1302 | # | ||
| 1303 | |||
| 1304 | # | ||
| 1284 | # InfiniBand support | 1305 | # InfiniBand support | 
| 1285 | # | 1306 | # | 
| 1286 | # CONFIG_INFINIBAND is not set | 1307 | # CONFIG_INFINIBAND is not set | 
| 1287 | 1308 | ||
| 1288 | # | 1309 | # | 
| 1289 | # SN Devices | 1310 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | 
| 1311 | # | ||
| 1312 | |||
| 1313 | # | ||
| 1314 | # Real Time Clock | ||
| 1290 | # | 1315 | # | 
| 1316 | # CONFIG_RTC_CLASS is not set | ||
| 1291 | 1317 | ||
| 1292 | # | 1318 | # | 
| 1293 | # File systems | 1319 | # File systems | 
| @@ -1358,7 +1384,6 @@ CONFIG_SYSFS=y | |||
| 1358 | # CONFIG_TMPFS is not set | 1384 | # CONFIG_TMPFS is not set | 
| 1359 | # CONFIG_HUGETLB_PAGE is not set | 1385 | # CONFIG_HUGETLB_PAGE is not set | 
| 1360 | CONFIG_RAMFS=y | 1386 | CONFIG_RAMFS=y | 
| 1361 | CONFIG_RELAYFS_FS=m | ||
| 1362 | # CONFIG_CONFIGFS_FS is not set | 1387 | # CONFIG_CONFIGFS_FS is not set | 
| 1363 | 1388 | ||
| 1364 | # | 1389 | # | 
| @@ -1379,7 +1404,6 @@ CONFIG_HPFS_FS=m | |||
| 1379 | CONFIG_QNX4FS_FS=m | 1404 | CONFIG_QNX4FS_FS=m | 
| 1380 | CONFIG_SYSV_FS=m | 1405 | CONFIG_SYSV_FS=m | 
| 1381 | CONFIG_UFS_FS=m | 1406 | CONFIG_UFS_FS=m | 
| 1382 | # CONFIG_UFS_FS_WRITE is not set | ||
| 1383 | 1407 | ||
| 1384 | # | 1408 | # | 
| 1385 | # Network File Systems | 1409 | # Network File Systems | 
| @@ -1500,6 +1524,7 @@ CONFIG_NLS_UTF8=m | |||
| 1500 | # CONFIG_MAGIC_SYSRQ is not set | 1524 | # CONFIG_MAGIC_SYSRQ is not set | 
| 1501 | # CONFIG_DEBUG_KERNEL is not set | 1525 | # CONFIG_DEBUG_KERNEL is not set | 
| 1502 | CONFIG_LOG_BUF_SHIFT=14 | 1526 | CONFIG_LOG_BUF_SHIFT=14 | 
| 1527 | # CONFIG_DEBUG_FS is not set | ||
| 1503 | CONFIG_CROSSCOMPILE=y | 1528 | CONFIG_CROSSCOMPILE=y | 
| 1504 | CONFIG_CMDLINE="" | 1529 | CONFIG_CMDLINE="" | 
| 1505 | 1530 | ||
diff --git a/arch/mips/configs/sb1250-swarm_defconfig b/arch/mips/configs/sb1250-swarm_defconfig index da68c3f72050..e388a3dae0a9 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.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 | 
| 4 | # Fri Jan 27 15:40:32 2006 | 4 | # Mon Apr 24 14:51:17 2006 | 
| 5 | # | 5 | # | 
| 6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y | 
| 7 | 7 | ||
| @@ -81,6 +81,8 @@ CONFIG_SIBYTE_CFE=y | |||
| 81 | # CONFIG_SIBYTE_SB1250_PROF is not set | 81 | # CONFIG_SIBYTE_SB1250_PROF is not set | 
| 82 | # CONFIG_SIBYTE_TBPROF is not set | 82 | # CONFIG_SIBYTE_TBPROF is not set | 
| 83 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 83 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 
| 84 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
| 85 | CONFIG_GENERIC_HWEIGHT=y | ||
| 84 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 86 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 
| 85 | CONFIG_DMA_COHERENT=y | 87 | CONFIG_DMA_COHERENT=y | 
| 86 | CONFIG_CPU_BIG_ENDIAN=y | 88 | CONFIG_CPU_BIG_ENDIAN=y | 
| @@ -158,7 +160,6 @@ CONFIG_PREEMPT_BKL=y | |||
| 158 | # Code maturity level options | 160 | # Code maturity level options | 
| 159 | # | 161 | # | 
| 160 | CONFIG_EXPERIMENTAL=y | 162 | CONFIG_EXPERIMENTAL=y | 
| 161 | CONFIG_CLEAN_COMPILE=y | ||
| 162 | CONFIG_LOCK_KERNEL=y | 163 | CONFIG_LOCK_KERNEL=y | 
| 163 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 164 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 
| 164 | 165 | ||
| @@ -175,6 +176,7 @@ CONFIG_SYSCTL=y | |||
| 175 | # CONFIG_AUDIT is not set | 176 | # CONFIG_AUDIT is not set | 
| 176 | # CONFIG_IKCONFIG is not set | 177 | # CONFIG_IKCONFIG is not set | 
| 177 | CONFIG_CPUSETS=y | 178 | CONFIG_CPUSETS=y | 
| 179 | CONFIG_RELAY=y | ||
| 178 | CONFIG_INITRAMFS_SOURCE="" | 180 | CONFIG_INITRAMFS_SOURCE="" | 
| 179 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 181 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 
| 180 | CONFIG_EMBEDDED=y | 182 | CONFIG_EMBEDDED=y | 
| @@ -188,10 +190,6 @@ CONFIG_BASE_FULL=y | |||
| 188 | CONFIG_FUTEX=y | 190 | CONFIG_FUTEX=y | 
| 189 | CONFIG_EPOLL=y | 191 | CONFIG_EPOLL=y | 
| 190 | CONFIG_SHMEM=y | 192 | CONFIG_SHMEM=y | 
| 191 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
| 192 | CONFIG_CC_ALIGN_LABELS=0 | ||
| 193 | CONFIG_CC_ALIGN_LOOPS=0 | ||
| 194 | CONFIG_CC_ALIGN_JUMPS=0 | ||
| 195 | CONFIG_SLAB=y | 193 | CONFIG_SLAB=y | 
| 196 | # CONFIG_TINY_SHMEM is not set | 194 | # CONFIG_TINY_SHMEM is not set | 
| 197 | CONFIG_BASE_SMALL=0 | 195 | CONFIG_BASE_SMALL=0 | 
| @@ -203,7 +201,6 @@ CONFIG_BASE_SMALL=0 | |||
| 203 | CONFIG_MODULES=y | 201 | CONFIG_MODULES=y | 
| 204 | CONFIG_MODULE_UNLOAD=y | 202 | CONFIG_MODULE_UNLOAD=y | 
| 205 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 203 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 
| 206 | CONFIG_OBSOLETE_MODPARM=y | ||
| 207 | CONFIG_MODVERSIONS=y | 204 | CONFIG_MODVERSIONS=y | 
| 208 | CONFIG_MODULE_SRCVERSION_ALL=y | 205 | CONFIG_MODULE_SRCVERSION_ALL=y | 
| 209 | CONFIG_KMOD=y | 206 | CONFIG_KMOD=y | 
| @@ -212,6 +209,7 @@ CONFIG_STOP_MACHINE=y | |||
| 212 | # | 209 | # | 
| 213 | # Block layer | 210 | # Block layer | 
| 214 | # | 211 | # | 
| 212 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 215 | 213 | ||
| 216 | # | 214 | # | 
| 217 | # IO Schedulers | 215 | # IO Schedulers | 
| @@ -231,7 +229,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
| 231 | # | 229 | # | 
| 232 | CONFIG_HW_HAS_PCI=y | 230 | CONFIG_HW_HAS_PCI=y | 
| 233 | CONFIG_PCI=y | 231 | CONFIG_PCI=y | 
| 234 | CONFIG_PCI_LEGACY_PROC=y | ||
| 235 | CONFIG_MMU=y | 232 | CONFIG_MMU=y | 
| 236 | 233 | ||
| 237 | # | 234 | # | 
| @@ -249,6 +246,7 @@ CONFIG_MMU=y | |||
| 249 | # | 246 | # | 
| 250 | CONFIG_BINFMT_ELF=y | 247 | CONFIG_BINFMT_ELF=y | 
| 251 | # CONFIG_BINFMT_MISC is not set | 248 | # CONFIG_BINFMT_MISC is not set | 
| 249 | # CONFIG_BUILD_ELF64 is not set | ||
| 252 | CONFIG_MIPS32_COMPAT=y | 250 | CONFIG_MIPS32_COMPAT=y | 
| 253 | CONFIG_COMPAT=y | 251 | CONFIG_COMPAT=y | 
| 254 | CONFIG_MIPS32_O32=y | 252 | CONFIG_MIPS32_O32=y | 
| @@ -263,6 +261,7 @@ CONFIG_NET=y | |||
| 263 | # | 261 | # | 
| 264 | # Networking options | 262 | # Networking options | 
| 265 | # | 263 | # | 
| 264 | # CONFIG_NETDEBUG is not set | ||
| 266 | CONFIG_PACKET=y | 265 | CONFIG_PACKET=y | 
| 267 | CONFIG_PACKET_MMAP=y | 266 | CONFIG_PACKET_MMAP=y | 
| 268 | CONFIG_UNIX=y | 267 | CONFIG_UNIX=y | 
| @@ -284,12 +283,15 @@ CONFIG_IP_PNP_BOOTP=y | |||
| 284 | # CONFIG_INET_AH is not set | 283 | # CONFIG_INET_AH is not set | 
| 285 | # CONFIG_INET_ESP is not set | 284 | # CONFIG_INET_ESP is not set | 
| 286 | # CONFIG_INET_IPCOMP is not set | 285 | # CONFIG_INET_IPCOMP is not set | 
| 287 | CONFIG_INET_TUNNEL=m | 286 | # CONFIG_INET_XFRM_TUNNEL is not set | 
| 287 | # CONFIG_INET_TUNNEL is not set | ||
| 288 | CONFIG_INET_DIAG=y | 288 | CONFIG_INET_DIAG=y | 
| 289 | CONFIG_INET_TCP_DIAG=y | 289 | CONFIG_INET_TCP_DIAG=y | 
| 290 | # CONFIG_TCP_CONG_ADVANCED is not set | 290 | # CONFIG_TCP_CONG_ADVANCED is not set | 
| 291 | CONFIG_TCP_CONG_BIC=y | 291 | CONFIG_TCP_CONG_BIC=y | 
| 292 | # CONFIG_IPV6 is not set | 292 | # CONFIG_IPV6 is not set | 
| 293 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
| 294 | # CONFIG_INET6_TUNNEL is not set | ||
| 293 | # CONFIG_NETFILTER is not set | 295 | # CONFIG_NETFILTER is not set | 
| 294 | 296 | ||
| 295 | # | 297 | # | 
| @@ -301,6 +303,11 @@ CONFIG_TCP_CONG_BIC=y | |||
| 301 | # SCTP Configuration (EXPERIMENTAL) | 303 | # SCTP Configuration (EXPERIMENTAL) | 
| 302 | # | 304 | # | 
| 303 | # CONFIG_IP_SCTP is not set | 305 | # CONFIG_IP_SCTP is not set | 
| 306 | |||
| 307 | # | ||
| 308 | # TIPC Configuration (EXPERIMENTAL) | ||
| 309 | # | ||
| 310 | # CONFIG_TIPC is not set | ||
| 304 | # CONFIG_ATM is not set | 311 | # CONFIG_ATM is not set | 
| 305 | # CONFIG_BRIDGE is not set | 312 | # CONFIG_BRIDGE is not set | 
| 306 | # CONFIG_VLAN_8021Q is not set | 313 | # CONFIG_VLAN_8021Q is not set | 
| @@ -310,11 +317,6 @@ CONFIG_TCP_CONG_BIC=y | |||
| 310 | # CONFIG_ATALK is not set | 317 | # CONFIG_ATALK is not set | 
| 311 | # CONFIG_X25 is not set | 318 | # CONFIG_X25 is not set | 
| 312 | # CONFIG_LAPB is not set | 319 | # CONFIG_LAPB is not set | 
| 313 | |||
| 314 | # | ||
| 315 | # TIPC Configuration (EXPERIMENTAL) | ||
| 316 | # | ||
| 317 | # CONFIG_TIPC is not set | ||
| 318 | # CONFIG_NET_DIVERT is not set | 320 | # CONFIG_NET_DIVERT is not set | 
| 319 | # CONFIG_ECONET is not set | 321 | # CONFIG_ECONET is not set | 
| 320 | # CONFIG_WAN_ROUTER is not set | 322 | # CONFIG_WAN_ROUTER is not set | 
| @@ -335,6 +337,9 @@ CONFIG_IEEE80211=m | |||
| 335 | # CONFIG_IEEE80211_DEBUG is not set | 337 | # CONFIG_IEEE80211_DEBUG is not set | 
| 336 | CONFIG_IEEE80211_CRYPT_WEP=m | 338 | CONFIG_IEEE80211_CRYPT_WEP=m | 
| 337 | CONFIG_IEEE80211_CRYPT_CCMP=m | 339 | CONFIG_IEEE80211_CRYPT_CCMP=m | 
| 340 | CONFIG_IEEE80211_SOFTMAC=m | ||
| 341 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
| 342 | CONFIG_WIRELESS_EXT=y | ||
| 338 | 343 | ||
| 339 | # | 344 | # | 
| 340 | # Device Drivers | 345 | # Device Drivers | 
| @@ -589,6 +594,7 @@ CONFIG_SIBYTE_SB1250_DUART_CONSOLE=y | |||
| 589 | # | 594 | # | 
| 590 | # Non-8250 serial port support | 595 | # Non-8250 serial port support | 
| 591 | # | 596 | # | 
| 597 | # CONFIG_SERIAL_JSM is not set | ||
| 592 | CONFIG_UNIX98_PTYS=y | 598 | CONFIG_UNIX98_PTYS=y | 
| 593 | CONFIG_LEGACY_PTYS=y | 599 | CONFIG_LEGACY_PTYS=y | 
| 594 | CONFIG_LEGACY_PTY_COUNT=256 | 600 | CONFIG_LEGACY_PTY_COUNT=256 | 
| @@ -647,10 +653,6 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
| 647 | # | 653 | # | 
| 648 | 654 | ||
| 649 | # | 655 | # | 
| 650 | # Multimedia Capabilities Port drivers | ||
| 651 | # | ||
| 652 | |||
| 653 | # | ||
| 654 | # Multimedia devices | 656 | # Multimedia devices | 
| 655 | # | 657 | # | 
| 656 | # CONFIG_VIDEO_DEV is not set | 658 | # CONFIG_VIDEO_DEV is not set | 
| @@ -675,6 +677,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
| 675 | # | 677 | # | 
| 676 | CONFIG_USB_ARCH_HAS_HCD=y | 678 | CONFIG_USB_ARCH_HAS_HCD=y | 
| 677 | CONFIG_USB_ARCH_HAS_OHCI=y | 679 | CONFIG_USB_ARCH_HAS_OHCI=y | 
| 680 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
| 678 | # CONFIG_USB is not set | 681 | # CONFIG_USB is not set | 
| 679 | 682 | ||
| 680 | # | 683 | # | 
| @@ -692,13 +695,31 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
| 692 | # CONFIG_MMC is not set | 695 | # CONFIG_MMC is not set | 
| 693 | 696 | ||
| 694 | # | 697 | # | 
| 698 | # LED devices | ||
| 699 | # | ||
| 700 | # CONFIG_NEW_LEDS is not set | ||
| 701 | |||
| 702 | # | ||
| 703 | # LED drivers | ||
| 704 | # | ||
| 705 | |||
| 706 | # | ||
| 707 | # LED Triggers | ||
| 708 | # | ||
| 709 | |||
| 710 | # | ||
| 695 | # InfiniBand support | 711 | # InfiniBand support | 
| 696 | # | 712 | # | 
| 697 | # CONFIG_INFINIBAND is not set | 713 | # CONFIG_INFINIBAND is not set | 
| 698 | 714 | ||
| 699 | # | 715 | # | 
| 700 | # SN Devices | 716 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | 
| 717 | # | ||
| 718 | |||
| 719 | # | ||
| 720 | # Real Time Clock | ||
| 701 | # | 721 | # | 
| 722 | # CONFIG_RTC_CLASS is not set | ||
| 702 | 723 | ||
| 703 | # | 724 | # | 
| 704 | # File systems | 725 | # File systems | 
| @@ -746,7 +767,6 @@ CONFIG_SYSFS=y | |||
| 746 | # CONFIG_TMPFS is not set | 767 | # CONFIG_TMPFS is not set | 
| 747 | # CONFIG_HUGETLB_PAGE is not set | 768 | # CONFIG_HUGETLB_PAGE is not set | 
| 748 | CONFIG_RAMFS=y | 769 | CONFIG_RAMFS=y | 
| 749 | CONFIG_RELAYFS_FS=m | ||
| 750 | # CONFIG_CONFIGFS_FS is not set | 770 | # CONFIG_CONFIGFS_FS is not set | 
| 751 | 771 | ||
| 752 | # | 772 | # | 
| @@ -812,6 +832,7 @@ CONFIG_MSDOS_PARTITION=y | |||
| 812 | # CONFIG_MAGIC_SYSRQ is not set | 832 | # CONFIG_MAGIC_SYSRQ is not set | 
| 813 | # CONFIG_DEBUG_KERNEL is not set | 833 | # CONFIG_DEBUG_KERNEL is not set | 
| 814 | CONFIG_LOG_BUF_SHIFT=15 | 834 | CONFIG_LOG_BUF_SHIFT=15 | 
| 835 | # CONFIG_DEBUG_FS is not set | ||
| 815 | CONFIG_CROSSCOMPILE=y | 836 | CONFIG_CROSSCOMPILE=y | 
| 816 | CONFIG_CMDLINE="" | 837 | CONFIG_CMDLINE="" | 
| 817 | # CONFIG_SB1XXX_CORELIS is not set | 838 | # CONFIG_SB1XXX_CORELIS is not set | 
diff --git a/arch/mips/configs/sead_defconfig b/arch/mips/configs/sead_defconfig index 9a936d7b7c0c..6b8a6a416a25 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.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 | 
| 4 | # Fri Jan 27 15:40:33 2006 | 4 | # Mon Apr 24 14:51:17 2006 | 
| 5 | # | 5 | # | 
| 6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y | 
| 7 | 7 | ||
| @@ -64,6 +64,8 @@ CONFIG_MIPS_SEAD=y | |||
| 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 
| 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 
| 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 
| 67 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
| 68 | CONFIG_GENERIC_HWEIGHT=y | ||
| 67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 69 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 
| 68 | CONFIG_DMA_NONCOHERENT=y | 70 | CONFIG_DMA_NONCOHERENT=y | 
| 69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 71 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 
| @@ -118,11 +120,11 @@ CONFIG_PAGE_SIZE_4KB=y | |||
| 118 | CONFIG_CPU_HAS_PREFETCH=y | 120 | CONFIG_CPU_HAS_PREFETCH=y | 
| 119 | # CONFIG_MIPS_MT is not set | 121 | # CONFIG_MIPS_MT is not set | 
| 120 | # CONFIG_64BIT_PHYS_ADDR is not set | 122 | # CONFIG_64BIT_PHYS_ADDR is not set | 
| 121 | # CONFIG_CPU_ADVANCED is not set | ||
| 122 | CONFIG_CPU_HAS_LLSC=y | 123 | CONFIG_CPU_HAS_LLSC=y | 
| 123 | CONFIG_CPU_HAS_SYNC=y | 124 | CONFIG_CPU_HAS_SYNC=y | 
| 124 | CONFIG_GENERIC_HARDIRQS=y | 125 | CONFIG_GENERIC_HARDIRQS=y | 
| 125 | CONFIG_GENERIC_IRQ_PROBE=y | 126 | CONFIG_GENERIC_IRQ_PROBE=y | 
| 127 | CONFIG_CPU_SUPPORTS_HIGHMEM=y | ||
| 126 | CONFIG_ARCH_FLATMEM_ENABLE=y | 128 | CONFIG_ARCH_FLATMEM_ENABLE=y | 
| 127 | CONFIG_SELECT_MEMORY_MODEL=y | 129 | CONFIG_SELECT_MEMORY_MODEL=y | 
| 128 | CONFIG_FLATMEM_MANUAL=y | 130 | CONFIG_FLATMEM_MANUAL=y | 
| @@ -140,7 +142,6 @@ CONFIG_PREEMPT_NONE=y | |||
| 140 | # Code maturity level options | 142 | # Code maturity level options | 
| 141 | # | 143 | # | 
| 142 | CONFIG_EXPERIMENTAL=y | 144 | CONFIG_EXPERIMENTAL=y | 
| 143 | CONFIG_CLEAN_COMPILE=y | ||
| 144 | CONFIG_BROKEN_ON_SMP=y | 145 | CONFIG_BROKEN_ON_SMP=y | 
| 145 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 146 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 
| 146 | 147 | ||
| @@ -154,6 +155,7 @@ CONFIG_SYSVIPC=y | |||
| 154 | # CONFIG_BSD_PROCESS_ACCT is not set | 155 | # CONFIG_BSD_PROCESS_ACCT is not set | 
| 155 | CONFIG_SYSCTL=y | 156 | CONFIG_SYSCTL=y | 
| 156 | # CONFIG_IKCONFIG is not set | 157 | # CONFIG_IKCONFIG is not set | 
| 158 | CONFIG_RELAY=y | ||
| 157 | CONFIG_INITRAMFS_SOURCE="" | 159 | CONFIG_INITRAMFS_SOURCE="" | 
| 158 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 160 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 
| 159 | CONFIG_EMBEDDED=y | 161 | CONFIG_EMBEDDED=y | 
| @@ -167,10 +169,6 @@ CONFIG_BASE_FULL=y | |||
| 167 | CONFIG_FUTEX=y | 169 | CONFIG_FUTEX=y | 
| 168 | CONFIG_EPOLL=y | 170 | CONFIG_EPOLL=y | 
| 169 | CONFIG_SHMEM=y | 171 | CONFIG_SHMEM=y | 
| 170 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
| 171 | CONFIG_CC_ALIGN_LABELS=0 | ||
| 172 | CONFIG_CC_ALIGN_LOOPS=0 | ||
| 173 | CONFIG_CC_ALIGN_JUMPS=0 | ||
| 174 | CONFIG_SLAB=y | 172 | CONFIG_SLAB=y | 
| 175 | # CONFIG_TINY_SHMEM is not set | 173 | # CONFIG_TINY_SHMEM is not set | 
| 176 | CONFIG_BASE_SMALL=0 | 174 | CONFIG_BASE_SMALL=0 | 
| @@ -185,6 +183,8 @@ CONFIG_BASE_SMALL=0 | |||
| 185 | # Block layer | 183 | # Block layer | 
| 186 | # | 184 | # | 
| 187 | # CONFIG_LBD is not set | 185 | # CONFIG_LBD is not set | 
| 186 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 187 | # CONFIG_LSF is not set | ||
| 188 | 188 | ||
| 189 | # | 189 | # | 
| 190 | # IO Schedulers | 190 | # IO Schedulers | 
| @@ -296,12 +296,6 @@ CONFIG_RAID_ATTRS=y | |||
| 296 | # | 296 | # | 
| 297 | 297 | ||
| 298 | # | 298 | # | 
| 299 | # Network device support | ||
| 300 | # | ||
| 301 | # CONFIG_NETPOLL is not set | ||
| 302 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
| 303 | |||
| 304 | # | ||
| 305 | # ISDN subsystem | 299 | # ISDN subsystem | 
| 306 | # | 300 | # | 
| 307 | 301 | ||
| @@ -397,10 +391,6 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
| 397 | # | 391 | # | 
| 398 | 392 | ||
| 399 | # | 393 | # | 
| 400 | # Multimedia Capabilities Port drivers | ||
| 401 | # | ||
| 402 | |||
| 403 | # | ||
| 404 | # Multimedia devices | 394 | # Multimedia devices | 
| 405 | # | 395 | # | 
| 406 | # CONFIG_VIDEO_DEV is not set | 396 | # CONFIG_VIDEO_DEV is not set | 
| @@ -424,6 +414,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
| 424 | # | 414 | # | 
| 425 | # CONFIG_USB_ARCH_HAS_HCD is not set | 415 | # CONFIG_USB_ARCH_HAS_HCD is not set | 
| 426 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 416 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 
| 417 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
| 427 | 418 | ||
| 428 | # | 419 | # | 
| 429 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 420 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 
| @@ -440,12 +431,30 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
| 440 | # CONFIG_MMC is not set | 431 | # CONFIG_MMC is not set | 
| 441 | 432 | ||
| 442 | # | 433 | # | 
| 434 | # LED devices | ||
| 435 | # | ||
| 436 | # CONFIG_NEW_LEDS is not set | ||
| 437 | |||
| 438 | # | ||
| 439 | # LED drivers | ||
| 440 | # | ||
| 441 | |||
| 442 | # | ||
| 443 | # LED Triggers | ||
| 444 | # | ||
| 445 | |||
| 446 | # | ||
| 443 | # InfiniBand support | 447 | # InfiniBand support | 
| 444 | # | 448 | # | 
| 445 | 449 | ||
| 446 | # | 450 | # | 
| 447 | # SN Devices | 451 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | 
| 452 | # | ||
| 453 | |||
| 454 | # | ||
| 455 | # Real Time Clock | ||
| 448 | # | 456 | # | 
| 457 | # CONFIG_RTC_CLASS is not set | ||
| 449 | 458 | ||
| 450 | # | 459 | # | 
| 451 | # File systems | 460 | # File systems | 
| @@ -489,7 +498,6 @@ CONFIG_SYSFS=y | |||
| 489 | # CONFIG_TMPFS is not set | 498 | # CONFIG_TMPFS is not set | 
| 490 | # CONFIG_HUGETLB_PAGE is not set | 499 | # CONFIG_HUGETLB_PAGE is not set | 
| 491 | CONFIG_RAMFS=y | 500 | CONFIG_RAMFS=y | 
| 492 | CONFIG_RELAYFS_FS=y | ||
| 493 | # CONFIG_CONFIGFS_FS is not set | 501 | # CONFIG_CONFIGFS_FS is not set | 
| 494 | 502 | ||
| 495 | # | 503 | # | 
| @@ -543,6 +551,8 @@ CONFIG_PARTITION_ADVANCED=y | |||
| 543 | # CONFIG_MAGIC_SYSRQ is not set | 551 | # CONFIG_MAGIC_SYSRQ is not set | 
| 544 | # CONFIG_DEBUG_KERNEL is not set | 552 | # CONFIG_DEBUG_KERNEL is not set | 
| 545 | CONFIG_LOG_BUF_SHIFT=14 | 553 | CONFIG_LOG_BUF_SHIFT=14 | 
| 554 | # CONFIG_DEBUG_FS is not set | ||
| 555 | # CONFIG_UNWIND_INFO is not set | ||
| 546 | CONFIG_CROSSCOMPILE=y | 556 | CONFIG_CROSSCOMPILE=y | 
| 547 | CONFIG_CMDLINE="" | 557 | CONFIG_CMDLINE="" | 
| 548 | 558 | ||
diff --git a/arch/mips/configs/tb0226_defconfig b/arch/mips/configs/tb0226_defconfig index c2dee0d1c72c..dba0bdcdcf29 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.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 | 
| 4 | # Fri Jan 27 15:40:34 2006 | 4 | # Tue Apr 25 00:08:41 2006 | 
| 5 | # | 5 | # | 
| 6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y | 
| 7 | 7 | ||
| @@ -68,12 +68,14 @@ CONFIG_MACH_VR41XX=y | |||
| 68 | # CONFIG_NEC_CMBVR4133 is not set | 68 | # CONFIG_NEC_CMBVR4133 is not set | 
| 69 | CONFIG_TANBAC_TB022X=y | 69 | CONFIG_TANBAC_TB022X=y | 
| 70 | CONFIG_TANBAC_TB0226=y | 70 | CONFIG_TANBAC_TB0226=y | 
| 71 | CONFIG_TANBAC_TB0287=y | 71 | # CONFIG_TANBAC_TB0287 is not set | 
| 72 | # CONFIG_VICTOR_MPC30X is not set | 72 | # CONFIG_VICTOR_MPC30X is not set | 
| 73 | # CONFIG_ZAO_CAPCELLA is not set | 73 | # CONFIG_ZAO_CAPCELLA is not set | 
| 74 | CONFIG_PCI_VR41XX=y | 74 | CONFIG_PCI_VR41XX=y | 
| 75 | # CONFIG_VRC4173 is not set | 75 | # CONFIG_VRC4173 is not set | 
| 76 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 76 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 
| 77 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
| 78 | CONFIG_GENERIC_HWEIGHT=y | ||
| 77 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 79 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 
| 78 | CONFIG_DMA_NONCOHERENT=y | 80 | CONFIG_DMA_NONCOHERENT=y | 
| 79 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 81 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 
| @@ -92,7 +94,7 @@ CONFIG_MIPS_L1_CACHE_SHIFT=5 | |||
| 92 | # CONFIG_CPU_MIPS64_R2 is not set | 94 | # CONFIG_CPU_MIPS64_R2 is not set | 
| 93 | # CONFIG_CPU_R3000 is not set | 95 | # CONFIG_CPU_R3000 is not set | 
| 94 | # CONFIG_CPU_TX39XX is not set | 96 | # CONFIG_CPU_TX39XX is not set | 
| 95 | # CONFIG_CPU_VR41XX is not set | 97 | CONFIG_CPU_VR41XX=y | 
| 96 | # CONFIG_CPU_R4300 is not set | 98 | # CONFIG_CPU_R4300 is not set | 
| 97 | # CONFIG_CPU_R4X00 is not set | 99 | # CONFIG_CPU_R4X00 is not set | 
| 98 | # CONFIG_CPU_TX49XX is not set | 100 | # CONFIG_CPU_TX49XX is not set | 
| @@ -105,18 +107,21 @@ CONFIG_MIPS_L1_CACHE_SHIFT=5 | |||
| 105 | # CONFIG_CPU_RM7000 is not set | 107 | # CONFIG_CPU_RM7000 is not set | 
| 106 | # CONFIG_CPU_RM9000 is not set | 108 | # CONFIG_CPU_RM9000 is not set | 
| 107 | # CONFIG_CPU_SB1 is not set | 109 | # CONFIG_CPU_SB1 is not set | 
| 110 | CONFIG_SYS_HAS_CPU_VR41XX=y | ||
| 111 | CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y | ||
| 112 | CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y | ||
| 113 | CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y | ||
| 108 | 114 | ||
| 109 | # | 115 | # | 
| 110 | # Kernel type | 116 | # Kernel type | 
| 111 | # | 117 | # | 
| 112 | # CONFIG_32BIT is not set | 118 | CONFIG_32BIT=y | 
| 113 | # CONFIG_64BIT is not set | 119 | # CONFIG_64BIT is not set | 
| 114 | CONFIG_PAGE_SIZE_4KB=y | 120 | CONFIG_PAGE_SIZE_4KB=y | 
| 115 | # CONFIG_PAGE_SIZE_8KB is not set | 121 | # CONFIG_PAGE_SIZE_8KB is not set | 
| 116 | # CONFIG_PAGE_SIZE_16KB is not set | 122 | # CONFIG_PAGE_SIZE_16KB is not set | 
| 117 | # CONFIG_PAGE_SIZE_64KB is not set | 123 | # CONFIG_PAGE_SIZE_64KB is not set | 
| 118 | # CONFIG_MIPS_MT is not set | 124 | # CONFIG_MIPS_MT is not set | 
| 119 | CONFIG_CPU_HAS_LLSC=y | ||
| 120 | CONFIG_CPU_HAS_SYNC=y | 125 | CONFIG_CPU_HAS_SYNC=y | 
| 121 | CONFIG_GENERIC_HARDIRQS=y | 126 | CONFIG_GENERIC_HARDIRQS=y | 
| 122 | CONFIG_GENERIC_IRQ_PROBE=y | 127 | CONFIG_GENERIC_IRQ_PROBE=y | 
| @@ -137,7 +142,6 @@ CONFIG_PREEMPT_NONE=y | |||
| 137 | # Code maturity level options | 142 | # Code maturity level options | 
| 138 | # | 143 | # | 
| 139 | CONFIG_EXPERIMENTAL=y | 144 | CONFIG_EXPERIMENTAL=y | 
| 140 | CONFIG_CLEAN_COMPILE=y | ||
| 141 | CONFIG_BROKEN_ON_SMP=y | 145 | CONFIG_BROKEN_ON_SMP=y | 
| 142 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 146 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 
| 143 | 147 | ||
| @@ -153,6 +157,7 @@ CONFIG_SYSVIPC=y | |||
| 153 | CONFIG_SYSCTL=y | 157 | CONFIG_SYSCTL=y | 
| 154 | # CONFIG_AUDIT is not set | 158 | # CONFIG_AUDIT is not set | 
| 155 | # CONFIG_IKCONFIG is not set | 159 | # CONFIG_IKCONFIG is not set | 
| 160 | # CONFIG_RELAY is not set | ||
| 156 | CONFIG_INITRAMFS_SOURCE="" | 161 | CONFIG_INITRAMFS_SOURCE="" | 
| 157 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 162 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 
| 158 | CONFIG_EMBEDDED=y | 163 | CONFIG_EMBEDDED=y | 
| @@ -166,10 +171,6 @@ CONFIG_BASE_FULL=y | |||
| 166 | CONFIG_FUTEX=y | 171 | CONFIG_FUTEX=y | 
| 167 | CONFIG_EPOLL=y | 172 | CONFIG_EPOLL=y | 
| 168 | CONFIG_SHMEM=y | 173 | CONFIG_SHMEM=y | 
| 169 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
| 170 | CONFIG_CC_ALIGN_LABELS=0 | ||
| 171 | CONFIG_CC_ALIGN_LOOPS=0 | ||
| 172 | CONFIG_CC_ALIGN_JUMPS=0 | ||
| 173 | CONFIG_SLAB=y | 174 | CONFIG_SLAB=y | 
| 174 | # CONFIG_TINY_SHMEM is not set | 175 | # CONFIG_TINY_SHMEM is not set | 
| 175 | CONFIG_BASE_SMALL=0 | 176 | CONFIG_BASE_SMALL=0 | 
| @@ -181,7 +182,6 @@ CONFIG_BASE_SMALL=0 | |||
| 181 | CONFIG_MODULES=y | 182 | CONFIG_MODULES=y | 
| 182 | CONFIG_MODULE_UNLOAD=y | 183 | CONFIG_MODULE_UNLOAD=y | 
| 183 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 184 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 
| 184 | CONFIG_OBSOLETE_MODPARM=y | ||
| 185 | CONFIG_MODVERSIONS=y | 185 | CONFIG_MODVERSIONS=y | 
| 186 | CONFIG_MODULE_SRCVERSION_ALL=y | 186 | CONFIG_MODULE_SRCVERSION_ALL=y | 
| 187 | CONFIG_KMOD=y | 187 | CONFIG_KMOD=y | 
| @@ -189,6 +189,9 @@ CONFIG_KMOD=y | |||
| 189 | # | 189 | # | 
| 190 | # Block layer | 190 | # Block layer | 
| 191 | # | 191 | # | 
| 192 | # CONFIG_LBD is not set | ||
| 193 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 194 | # CONFIG_LSF is not set | ||
| 192 | 195 | ||
| 193 | # | 196 | # | 
| 194 | # IO Schedulers | 197 | # IO Schedulers | 
| @@ -208,7 +211,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
| 208 | # | 211 | # | 
| 209 | CONFIG_HW_HAS_PCI=y | 212 | CONFIG_HW_HAS_PCI=y | 
| 210 | CONFIG_PCI=y | 213 | CONFIG_PCI=y | 
| 211 | # CONFIG_PCI_LEGACY_PROC is not set | ||
| 212 | CONFIG_MMU=y | 214 | CONFIG_MMU=y | 
| 213 | 215 | ||
| 214 | # | 216 | # | 
| @@ -226,6 +228,7 @@ CONFIG_MMU=y | |||
| 226 | # | 228 | # | 
| 227 | CONFIG_BINFMT_ELF=y | 229 | CONFIG_BINFMT_ELF=y | 
| 228 | # CONFIG_BINFMT_MISC is not set | 230 | # CONFIG_BINFMT_MISC is not set | 
| 231 | CONFIG_TRAD_SIGNALS=y | ||
| 229 | 232 | ||
| 230 | # | 233 | # | 
| 231 | # Networking | 234 | # Networking | 
| @@ -235,11 +238,10 @@ CONFIG_NET=y | |||
| 235 | # | 238 | # | 
| 236 | # Networking options | 239 | # Networking options | 
| 237 | # | 240 | # | 
| 241 | # CONFIG_NETDEBUG is not set | ||
| 238 | CONFIG_PACKET=y | 242 | CONFIG_PACKET=y | 
| 239 | # CONFIG_PACKET_MMAP is not set | 243 | # CONFIG_PACKET_MMAP is not set | 
| 240 | CONFIG_UNIX=y | 244 | CONFIG_UNIX=y | 
| 241 | CONFIG_XFRM=y | ||
| 242 | CONFIG_XFRM_USER=m | ||
| 243 | # CONFIG_NET_KEY is not set | 245 | # CONFIG_NET_KEY is not set | 
| 244 | CONFIG_INET=y | 246 | CONFIG_INET=y | 
| 245 | CONFIG_IP_MULTICAST=y | 247 | CONFIG_IP_MULTICAST=y | 
| @@ -263,12 +265,15 @@ CONFIG_SYN_COOKIES=y | |||
| 263 | # CONFIG_INET_AH is not set | 265 | # CONFIG_INET_AH is not set | 
| 264 | # CONFIG_INET_ESP is not set | 266 | # CONFIG_INET_ESP is not set | 
| 265 | # CONFIG_INET_IPCOMP is not set | 267 | # CONFIG_INET_IPCOMP is not set | 
| 266 | CONFIG_INET_TUNNEL=m | 268 | # CONFIG_INET_XFRM_TUNNEL is not set | 
| 269 | # CONFIG_INET_TUNNEL is not set | ||
| 267 | CONFIG_INET_DIAG=y | 270 | CONFIG_INET_DIAG=y | 
| 268 | CONFIG_INET_TCP_DIAG=y | 271 | CONFIG_INET_TCP_DIAG=y | 
| 269 | # CONFIG_TCP_CONG_ADVANCED is not set | 272 | # CONFIG_TCP_CONG_ADVANCED is not set | 
| 270 | CONFIG_TCP_CONG_BIC=y | 273 | CONFIG_TCP_CONG_BIC=y | 
| 271 | # CONFIG_IPV6 is not set | 274 | # CONFIG_IPV6 is not set | 
| 275 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
| 276 | # CONFIG_INET6_TUNNEL is not set | ||
| 272 | # CONFIG_NETFILTER is not set | 277 | # CONFIG_NETFILTER is not set | 
| 273 | 278 | ||
| 274 | # | 279 | # | 
| @@ -280,6 +285,11 @@ CONFIG_TCP_CONG_BIC=y | |||
| 280 | # SCTP Configuration (EXPERIMENTAL) | 285 | # SCTP Configuration (EXPERIMENTAL) | 
| 281 | # | 286 | # | 
| 282 | # CONFIG_IP_SCTP is not set | 287 | # CONFIG_IP_SCTP is not set | 
| 288 | |||
| 289 | # | ||
| 290 | # TIPC Configuration (EXPERIMENTAL) | ||
| 291 | # | ||
| 292 | # CONFIG_TIPC is not set | ||
| 283 | # CONFIG_ATM is not set | 293 | # CONFIG_ATM is not set | 
| 284 | # CONFIG_BRIDGE is not set | 294 | # CONFIG_BRIDGE is not set | 
| 285 | # CONFIG_VLAN_8021Q is not set | 295 | # CONFIG_VLAN_8021Q is not set | 
| @@ -289,11 +299,6 @@ CONFIG_TCP_CONG_BIC=y | |||
| 289 | # CONFIG_ATALK is not set | 299 | # CONFIG_ATALK is not set | 
| 290 | # CONFIG_X25 is not set | 300 | # CONFIG_X25 is not set | 
| 291 | # CONFIG_LAPB is not set | 301 | # CONFIG_LAPB is not set | 
| 292 | |||
| 293 | # | ||
| 294 | # TIPC Configuration (EXPERIMENTAL) | ||
| 295 | # | ||
| 296 | # CONFIG_TIPC is not set | ||
| 297 | # CONFIG_NET_DIVERT is not set | 302 | # CONFIG_NET_DIVERT is not set | 
| 298 | # CONFIG_ECONET is not set | 303 | # CONFIG_ECONET is not set | 
| 299 | # CONFIG_WAN_ROUTER is not set | 304 | # CONFIG_WAN_ROUTER is not set | 
| @@ -310,10 +315,7 @@ CONFIG_TCP_CONG_BIC=y | |||
| 310 | # CONFIG_HAMRADIO is not set | 315 | # CONFIG_HAMRADIO is not set | 
| 311 | # CONFIG_IRDA is not set | 316 | # CONFIG_IRDA is not set | 
| 312 | # CONFIG_BT is not set | 317 | # CONFIG_BT is not set | 
| 313 | CONFIG_IEEE80211=m | 318 | # CONFIG_IEEE80211 is not set | 
| 314 | # CONFIG_IEEE80211_DEBUG is not set | ||
| 315 | CONFIG_IEEE80211_CRYPT_WEP=m | ||
| 316 | CONFIG_IEEE80211_CRYPT_CCMP=m | ||
| 317 | 319 | ||
| 318 | # | 320 | # | 
| 319 | # Device Drivers | 321 | # Device Drivers | 
| @@ -358,11 +360,12 @@ CONFIG_BLK_DEV_LOOP=m | |||
| 358 | CONFIG_BLK_DEV_NBD=m | 360 | CONFIG_BLK_DEV_NBD=m | 
| 359 | # CONFIG_BLK_DEV_SX8 is not set | 361 | # CONFIG_BLK_DEV_SX8 is not set | 
| 360 | # CONFIG_BLK_DEV_UB is not set | 362 | # CONFIG_BLK_DEV_UB is not set | 
| 361 | CONFIG_BLK_DEV_RAM=m | 363 | CONFIG_BLK_DEV_RAM=y | 
| 362 | CONFIG_BLK_DEV_RAM_COUNT=16 | 364 | CONFIG_BLK_DEV_RAM_COUNT=16 | 
| 363 | CONFIG_BLK_DEV_RAM_SIZE=4096 | 365 | CONFIG_BLK_DEV_RAM_SIZE=4096 | 
| 366 | # CONFIG_BLK_DEV_INITRD is not set | ||
| 364 | # CONFIG_CDROM_PKTCDVD is not set | 367 | # CONFIG_CDROM_PKTCDVD is not set | 
| 365 | CONFIG_ATA_OVER_ETH=m | 368 | # CONFIG_ATA_OVER_ETH is not set | 
| 366 | 369 | ||
| 367 | # | 370 | # | 
| 368 | # ATA/ATAPI/MFM/RLL support | 371 | # ATA/ATAPI/MFM/RLL support | 
| @@ -397,14 +400,14 @@ CONFIG_SCSI_MULTI_LUN=y | |||
| 397 | # SCSI Transport Attributes | 400 | # SCSI Transport Attributes | 
| 398 | # | 401 | # | 
| 399 | # CONFIG_SCSI_SPI_ATTRS is not set | 402 | # CONFIG_SCSI_SPI_ATTRS is not set | 
| 400 | CONFIG_SCSI_FC_ATTRS=y | 403 | # CONFIG_SCSI_FC_ATTRS is not set | 
| 401 | CONFIG_SCSI_ISCSI_ATTRS=m | 404 | # CONFIG_SCSI_ISCSI_ATTRS is not set | 
| 402 | # CONFIG_SCSI_SAS_ATTRS is not set | 405 | # CONFIG_SCSI_SAS_ATTRS is not set | 
| 403 | 406 | ||
| 404 | # | 407 | # | 
| 405 | # SCSI low-level drivers | 408 | # SCSI low-level drivers | 
| 406 | # | 409 | # | 
| 407 | CONFIG_ISCSI_TCP=m | 410 | # CONFIG_ISCSI_TCP is not set | 
| 408 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set | 411 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set | 
| 409 | # CONFIG_SCSI_3W_9XXX is not set | 412 | # CONFIG_SCSI_3W_9XXX is not set | 
| 410 | # CONFIG_SCSI_ACARD is not set | 413 | # CONFIG_SCSI_ACARD is not set | 
| @@ -424,7 +427,6 @@ CONFIG_ISCSI_TCP=m | |||
| 424 | # CONFIG_SCSI_INIA100 is not set | 427 | # CONFIG_SCSI_INIA100 is not set | 
| 425 | # CONFIG_SCSI_SYM53C8XX_2 is not set | 428 | # CONFIG_SCSI_SYM53C8XX_2 is not set | 
| 426 | # CONFIG_SCSI_IPR is not set | 429 | # CONFIG_SCSI_IPR is not set | 
| 427 | # CONFIG_SCSI_QLOGIC_FC is not set | ||
| 428 | # CONFIG_SCSI_QLOGIC_1280 is not set | 430 | # CONFIG_SCSI_QLOGIC_1280 is not set | 
| 429 | # CONFIG_SCSI_QLA_FC is not set | 431 | # CONFIG_SCSI_QLA_FC is not set | 
| 430 | # CONFIG_SCSI_LPFC is not set | 432 | # CONFIG_SCSI_LPFC is not set | 
| @@ -507,8 +509,8 @@ CONFIG_NET_PCI=y | |||
| 507 | # CONFIG_B44 is not set | 509 | # CONFIG_B44 is not set | 
| 508 | # CONFIG_FORCEDETH is not set | 510 | # CONFIG_FORCEDETH is not set | 
| 509 | # CONFIG_DGRS is not set | 511 | # CONFIG_DGRS is not set | 
| 510 | CONFIG_EEPRO100=y | 512 | # CONFIG_EEPRO100 is not set | 
| 511 | # CONFIG_E100 is not set | 513 | CONFIG_E100=y | 
| 512 | # CONFIG_FEALNX is not set | 514 | # CONFIG_FEALNX is not set | 
| 513 | # CONFIG_NATSEMI is not set | 515 | # CONFIG_NATSEMI is not set | 
| 514 | # CONFIG_NE2K_PCI is not set | 516 | # CONFIG_NE2K_PCI is not set | 
| @@ -625,6 +627,11 @@ CONFIG_HW_CONSOLE=y | |||
| 625 | # | 627 | # | 
| 626 | # Non-8250 serial port support | 628 | # Non-8250 serial port support | 
| 627 | # | 629 | # | 
| 630 | CONFIG_SERIAL_CORE=y | ||
| 631 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
| 632 | CONFIG_SERIAL_VR41XX=y | ||
| 633 | CONFIG_SERIAL_VR41XX_CONSOLE=y | ||
| 634 | # CONFIG_SERIAL_JSM is not set | ||
| 628 | CONFIG_UNIX98_PTYS=y | 635 | CONFIG_UNIX98_PTYS=y | 
| 629 | CONFIG_LEGACY_PTYS=y | 636 | CONFIG_LEGACY_PTYS=y | 
| 630 | CONFIG_LEGACY_PTY_COUNT=256 | 637 | CONFIG_LEGACY_PTY_COUNT=256 | 
| @@ -685,10 +692,6 @@ CONFIG_GPIO_VR41XX=y | |||
| 685 | # | 692 | # | 
| 686 | 693 | ||
| 687 | # | 694 | # | 
| 688 | # Multimedia Capabilities Port drivers | ||
| 689 | # | ||
| 690 | |||
| 691 | # | ||
| 692 | # Multimedia devices | 695 | # Multimedia devices | 
| 693 | # | 696 | # | 
| 694 | # CONFIG_VIDEO_DEV is not set | 697 | # CONFIG_VIDEO_DEV is not set | 
| @@ -697,6 +700,7 @@ CONFIG_GPIO_VR41XX=y | |||
| 697 | # Digital Video Broadcasting Devices | 700 | # Digital Video Broadcasting Devices | 
| 698 | # | 701 | # | 
| 699 | # CONFIG_DVB is not set | 702 | # CONFIG_DVB is not set | 
| 703 | # CONFIG_USB_DABUSB is not set | ||
| 700 | 704 | ||
| 701 | # | 705 | # | 
| 702 | # Graphics support | 706 | # Graphics support | 
| @@ -719,6 +723,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
| 719 | # | 723 | # | 
| 720 | CONFIG_USB_ARCH_HAS_HCD=y | 724 | CONFIG_USB_ARCH_HAS_HCD=y | 
| 721 | CONFIG_USB_ARCH_HAS_OHCI=y | 725 | CONFIG_USB_ARCH_HAS_OHCI=y | 
| 726 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
| 722 | CONFIG_USB=y | 727 | CONFIG_USB=y | 
| 723 | # CONFIG_USB_DEBUG is not set | 728 | # CONFIG_USB_DEBUG is not set | 
| 724 | 729 | ||
| @@ -756,7 +761,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y | |||
| 756 | # | 761 | # | 
| 757 | # may also be needed; see USB_STORAGE Help for more information | 762 | # may also be needed; see USB_STORAGE Help for more information | 
| 758 | # | 763 | # | 
| 759 | CONFIG_USB_STORAGE=m | 764 | CONFIG_USB_STORAGE=y | 
| 760 | # CONFIG_USB_STORAGE_DEBUG is not set | 765 | # CONFIG_USB_STORAGE_DEBUG is not set | 
| 761 | # CONFIG_USB_STORAGE_DATAFAB is not set | 766 | # CONFIG_USB_STORAGE_DATAFAB is not set | 
| 762 | # CONFIG_USB_STORAGE_FREECOM is not set | 767 | # CONFIG_USB_STORAGE_FREECOM is not set | 
| @@ -783,9 +788,7 @@ CONFIG_USB_STORAGE=m | |||
| 783 | # CONFIG_USB_ACECAD is not set | 788 | # CONFIG_USB_ACECAD is not set | 
| 784 | # CONFIG_USB_KBTAB is not set | 789 | # CONFIG_USB_KBTAB is not set | 
| 785 | # CONFIG_USB_POWERMATE is not set | 790 | # CONFIG_USB_POWERMATE is not set | 
| 786 | # CONFIG_USB_MTOUCH is not set | 791 | # CONFIG_USB_TOUCHSCREEN is not set | 
| 787 | # CONFIG_USB_ITMTOUCH is not set | ||
| 788 | # CONFIG_USB_EGALAX is not set | ||
| 789 | # CONFIG_USB_YEALINK is not set | 792 | # CONFIG_USB_YEALINK is not set | 
| 790 | # CONFIG_USB_XPAD is not set | 793 | # CONFIG_USB_XPAD is not set | 
| 791 | # CONFIG_USB_ATI_REMOTE is not set | 794 | # CONFIG_USB_ATI_REMOTE is not set | 
| @@ -800,15 +803,6 @@ CONFIG_USB_STORAGE=m | |||
| 800 | # CONFIG_USB_MICROTEK is not set | 803 | # CONFIG_USB_MICROTEK is not set | 
| 801 | 804 | ||
| 802 | # | 805 | # | 
| 803 | # USB Multimedia devices | ||
| 804 | # | ||
| 805 | # CONFIG_USB_DABUSB is not set | ||
| 806 | |||
| 807 | # | ||
| 808 | # Video4Linux support is needed for USB Multimedia device support | ||
| 809 | # | ||
| 810 | |||
| 811 | # | ||
| 812 | # USB Network Adapters | 806 | # USB Network Adapters | 
| 813 | # | 807 | # | 
| 814 | # CONFIG_USB_CATC is not set | 808 | # CONFIG_USB_CATC is not set | 
| @@ -816,7 +810,7 @@ CONFIG_USB_STORAGE=m | |||
| 816 | # CONFIG_USB_PEGASUS is not set | 810 | # CONFIG_USB_PEGASUS is not set | 
| 817 | # CONFIG_USB_RTL8150 is not set | 811 | # CONFIG_USB_RTL8150 is not set | 
| 818 | # CONFIG_USB_USBNET is not set | 812 | # CONFIG_USB_USBNET is not set | 
| 819 | CONFIG_USB_MON=y | 813 | # CONFIG_USB_MON is not set | 
| 820 | 814 | ||
| 821 | # | 815 | # | 
| 822 | # USB port drivers | 816 | # USB port drivers | 
| @@ -860,13 +854,48 @@ CONFIG_USB_MON=y | |||
| 860 | # CONFIG_MMC is not set | 854 | # CONFIG_MMC is not set | 
| 861 | 855 | ||
| 862 | # | 856 | # | 
| 857 | # LED devices | ||
| 858 | # | ||
| 859 | # CONFIG_NEW_LEDS is not set | ||
| 860 | |||
| 861 | # | ||
| 862 | # LED drivers | ||
| 863 | # | ||
| 864 | |||
| 865 | # | ||
| 866 | # LED Triggers | ||
| 867 | # | ||
| 868 | |||
| 869 | # | ||
| 863 | # InfiniBand support | 870 | # InfiniBand support | 
| 864 | # | 871 | # | 
| 865 | # CONFIG_INFINIBAND is not set | 872 | # CONFIG_INFINIBAND is not set | 
| 866 | 873 | ||
| 867 | # | 874 | # | 
| 868 | # SN Devices | 875 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | 
| 876 | # | ||
| 877 | |||
| 878 | # | ||
| 879 | # Real Time Clock | ||
| 880 | # | ||
| 881 | CONFIG_RTC_LIB=y | ||
| 882 | CONFIG_RTC_CLASS=y | ||
| 883 | CONFIG_RTC_HCTOSYS=y | ||
| 884 | CONFIG_RTC_HCTOSYS_DEVICE="rtc0" | ||
| 885 | |||
| 886 | # | ||
| 887 | # RTC interfaces | ||
| 888 | # | ||
| 889 | CONFIG_RTC_INTF_SYSFS=y | ||
| 890 | CONFIG_RTC_INTF_PROC=y | ||
| 891 | CONFIG_RTC_INTF_DEV=y | ||
| 892 | |||
| 893 | # | ||
| 894 | # RTC drivers | ||
| 869 | # | 895 | # | 
| 896 | # CONFIG_RTC_DRV_M48T86 is not set | ||
| 897 | CONFIG_RTC_DRV_VR41XX=y | ||
| 898 | # CONFIG_RTC_DRV_TEST is not set | ||
| 870 | 899 | ||
| 871 | # | 900 | # | 
| 872 | # File systems | 901 | # File systems | 
| @@ -911,7 +940,6 @@ CONFIG_SYSFS=y | |||
| 911 | CONFIG_TMPFS=y | 940 | CONFIG_TMPFS=y | 
| 912 | # CONFIG_HUGETLB_PAGE is not set | 941 | # CONFIG_HUGETLB_PAGE is not set | 
| 913 | CONFIG_RAMFS=y | 942 | CONFIG_RAMFS=y | 
| 914 | CONFIG_RELAYFS_FS=m | ||
| 915 | # CONFIG_CONFIGFS_FS is not set | 943 | # CONFIG_CONFIGFS_FS is not set | 
| 916 | 944 | ||
| 917 | # | 945 | # | 
| @@ -952,9 +980,7 @@ CONFIG_NFS_COMMON=y | |||
| 952 | CONFIG_SUNRPC=y | 980 | CONFIG_SUNRPC=y | 
| 953 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 981 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 
| 954 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 982 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 
| 955 | CONFIG_SMB_FS=m | 983 | # CONFIG_SMB_FS is not set | 
| 956 | CONFIG_SMB_NLS_DEFAULT=y | ||
| 957 | CONFIG_SMB_NLS_REMOTE="cp932" | ||
| 958 | # CONFIG_CIFS is not set | 984 | # CONFIG_CIFS is not set | 
| 959 | # CONFIG_NCP_FS is not set | 985 | # CONFIG_NCP_FS is not set | 
| 960 | # CONFIG_CODA_FS is not set | 986 | # CONFIG_CODA_FS is not set | 
| @@ -970,46 +996,7 @@ CONFIG_MSDOS_PARTITION=y | |||
| 970 | # | 996 | # | 
| 971 | # Native Language Support | 997 | # Native Language Support | 
| 972 | # | 998 | # | 
| 973 | CONFIG_NLS=y | 999 | # CONFIG_NLS is not set | 
| 974 | CONFIG_NLS_DEFAULT="iso8859-1" | ||
| 975 | CONFIG_NLS_CODEPAGE_437=m | ||
| 976 | # CONFIG_NLS_CODEPAGE_737 is not set | ||
| 977 | # CONFIG_NLS_CODEPAGE_775 is not set | ||
| 978 | # CONFIG_NLS_CODEPAGE_850 is not set | ||
| 979 | # CONFIG_NLS_CODEPAGE_852 is not set | ||
| 980 | # CONFIG_NLS_CODEPAGE_855 is not set | ||
| 981 | # CONFIG_NLS_CODEPAGE_857 is not set | ||
| 982 | # CONFIG_NLS_CODEPAGE_860 is not set | ||
| 983 | # CONFIG_NLS_CODEPAGE_861 is not set | ||
| 984 | # CONFIG_NLS_CODEPAGE_862 is not set | ||
| 985 | # CONFIG_NLS_CODEPAGE_863 is not set | ||
| 986 | # CONFIG_NLS_CODEPAGE_864 is not set | ||
| 987 | # CONFIG_NLS_CODEPAGE_865 is not set | ||
| 988 | # CONFIG_NLS_CODEPAGE_866 is not set | ||
| 989 | # CONFIG_NLS_CODEPAGE_869 is not set | ||
| 990 | # CONFIG_NLS_CODEPAGE_936 is not set | ||
| 991 | # CONFIG_NLS_CODEPAGE_950 is not set | ||
| 992 | CONFIG_NLS_CODEPAGE_932=m | ||
| 993 | # CONFIG_NLS_CODEPAGE_949 is not set | ||
| 994 | # CONFIG_NLS_CODEPAGE_874 is not set | ||
| 995 | # CONFIG_NLS_ISO8859_8 is not set | ||
| 996 | # CONFIG_NLS_CODEPAGE_1250 is not set | ||
| 997 | # CONFIG_NLS_CODEPAGE_1251 is not set | ||
| 998 | # CONFIG_NLS_ASCII is not set | ||
| 999 | CONFIG_NLS_ISO8859_1=m | ||
| 1000 | # CONFIG_NLS_ISO8859_2 is not set | ||
| 1001 | # CONFIG_NLS_ISO8859_3 is not set | ||
| 1002 | # CONFIG_NLS_ISO8859_4 is not set | ||
| 1003 | # CONFIG_NLS_ISO8859_5 is not set | ||
| 1004 | # CONFIG_NLS_ISO8859_6 is not set | ||
| 1005 | # CONFIG_NLS_ISO8859_7 is not set | ||
| 1006 | # CONFIG_NLS_ISO8859_9 is not set | ||
| 1007 | # CONFIG_NLS_ISO8859_13 is not set | ||
| 1008 | # CONFIG_NLS_ISO8859_14 is not set | ||
| 1009 | # CONFIG_NLS_ISO8859_15 is not set | ||
| 1010 | # CONFIG_NLS_KOI8_R is not set | ||
| 1011 | # CONFIG_NLS_KOI8_U is not set | ||
| 1012 | # CONFIG_NLS_UTF8 is not set | ||
| 1013 | 1000 | ||
| 1014 | # | 1001 | # | 
| 1015 | # Profiling support | 1002 | # Profiling support | 
| @@ -1023,44 +1010,20 @@ CONFIG_NLS_ISO8859_1=m | |||
| 1023 | # CONFIG_MAGIC_SYSRQ is not set | 1010 | # CONFIG_MAGIC_SYSRQ is not set | 
| 1024 | # CONFIG_DEBUG_KERNEL is not set | 1011 | # CONFIG_DEBUG_KERNEL is not set | 
| 1025 | CONFIG_LOG_BUF_SHIFT=14 | 1012 | CONFIG_LOG_BUF_SHIFT=14 | 
| 1013 | # CONFIG_DEBUG_FS is not set | ||
| 1026 | CONFIG_CROSSCOMPILE=y | 1014 | CONFIG_CROSSCOMPILE=y | 
| 1027 | CONFIG_CMDLINE="mem=32M console=ttyVR0,115200" | 1015 | CONFIG_CMDLINE="mem=32M console=ttyVR0,115200" | 
| 1028 | 1016 | ||
| 1029 | # | 1017 | # | 
| 1030 | # Security options | 1018 | # Security options | 
| 1031 | # | 1019 | # | 
| 1032 | CONFIG_KEYS=y | 1020 | # CONFIG_KEYS is not set | 
| 1033 | CONFIG_KEYS_DEBUG_PROC_KEYS=y | ||
| 1034 | # CONFIG_SECURITY is not set | 1021 | # CONFIG_SECURITY is not set | 
| 1035 | 1022 | ||
| 1036 | # | 1023 | # | 
| 1037 | # Cryptographic options | 1024 | # Cryptographic options | 
| 1038 | # | 1025 | # | 
| 1039 | CONFIG_CRYPTO=y | 1026 | # CONFIG_CRYPTO is not set | 
| 1040 | CONFIG_CRYPTO_HMAC=y | ||
| 1041 | CONFIG_CRYPTO_NULL=m | ||
| 1042 | CONFIG_CRYPTO_MD4=m | ||
| 1043 | CONFIG_CRYPTO_MD5=m | ||
| 1044 | CONFIG_CRYPTO_SHA1=m | ||
| 1045 | CONFIG_CRYPTO_SHA256=m | ||
| 1046 | CONFIG_CRYPTO_SHA512=m | ||
| 1047 | CONFIG_CRYPTO_WP512=m | ||
| 1048 | CONFIG_CRYPTO_TGR192=m | ||
| 1049 | CONFIG_CRYPTO_DES=m | ||
| 1050 | CONFIG_CRYPTO_BLOWFISH=m | ||
| 1051 | CONFIG_CRYPTO_TWOFISH=m | ||
| 1052 | CONFIG_CRYPTO_SERPENT=m | ||
| 1053 | CONFIG_CRYPTO_AES=m | ||
| 1054 | CONFIG_CRYPTO_CAST5=m | ||
| 1055 | CONFIG_CRYPTO_CAST6=m | ||
| 1056 | CONFIG_CRYPTO_TEA=m | ||
| 1057 | CONFIG_CRYPTO_ARC4=m | ||
| 1058 | CONFIG_CRYPTO_KHAZAD=m | ||
| 1059 | CONFIG_CRYPTO_ANUBIS=m | ||
| 1060 | CONFIG_CRYPTO_DEFLATE=m | ||
| 1061 | CONFIG_CRYPTO_MICHAEL_MIC=m | ||
| 1062 | CONFIG_CRYPTO_CRC32C=m | ||
| 1063 | # CONFIG_CRYPTO_TEST is not set | ||
| 1064 | 1027 | ||
| 1065 | # | 1028 | # | 
| 1066 | # Hardware crypto devices | 1029 | # Hardware crypto devices | 
| @@ -1069,9 +1032,8 @@ CONFIG_CRYPTO_CRC32C=m | |||
| 1069 | # | 1032 | # | 
| 1070 | # Library routines | 1033 | # Library routines | 
| 1071 | # | 1034 | # | 
| 1072 | CONFIG_CRC_CCITT=m | 1035 | # CONFIG_CRC_CCITT is not set | 
| 1073 | CONFIG_CRC16=m | 1036 | # CONFIG_CRC16 is not set | 
| 1074 | CONFIG_CRC32=m | 1037 | # CONFIG_CRC32 is not set | 
| 1075 | CONFIG_LIBCRC32C=m | 1038 | # CONFIG_LIBCRC32C is not set | 
| 1076 | CONFIG_ZLIB_INFLATE=m | 1039 | CONFIG_ZLIB_INFLATE=m | 
| 1077 | CONFIG_ZLIB_DEFLATE=m | ||
diff --git a/arch/mips/configs/tb0229_defconfig b/arch/mips/configs/tb0229_defconfig index be99261d7997..5a924c1a5803 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.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 | 
| 4 | # Fri Jan 27 15:40:35 2006 | 4 | # Tue Apr 25 00:08:59 2006 | 
| 5 | # | 5 | # | 
| 6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y | 
| 7 | 7 | ||
| @@ -68,12 +68,14 @@ CONFIG_MACH_VR41XX=y | |||
| 68 | # CONFIG_NEC_CMBVR4133 is not set | 68 | # CONFIG_NEC_CMBVR4133 is not set | 
| 69 | CONFIG_TANBAC_TB022X=y | 69 | CONFIG_TANBAC_TB022X=y | 
| 70 | # CONFIG_TANBAC_TB0226 is not set | 70 | # CONFIG_TANBAC_TB0226 is not set | 
| 71 | CONFIG_TANBAC_TB0287=y | 71 | # CONFIG_TANBAC_TB0287 is not set | 
| 72 | # CONFIG_VICTOR_MPC30X is not set | 72 | # CONFIG_VICTOR_MPC30X is not set | 
| 73 | # CONFIG_ZAO_CAPCELLA is not set | 73 | # CONFIG_ZAO_CAPCELLA is not set | 
| 74 | CONFIG_PCI_VR41XX=y | 74 | CONFIG_PCI_VR41XX=y | 
| 75 | # CONFIG_VRC4173 is not set | 75 | # CONFIG_VRC4173 is not set | 
| 76 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 76 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 
| 77 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
| 78 | CONFIG_GENERIC_HWEIGHT=y | ||
| 77 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 79 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 
| 78 | CONFIG_DMA_NONCOHERENT=y | 80 | CONFIG_DMA_NONCOHERENT=y | 
| 79 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 81 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 
| @@ -92,7 +94,7 @@ CONFIG_MIPS_L1_CACHE_SHIFT=5 | |||
| 92 | # CONFIG_CPU_MIPS64_R2 is not set | 94 | # CONFIG_CPU_MIPS64_R2 is not set | 
| 93 | # CONFIG_CPU_R3000 is not set | 95 | # CONFIG_CPU_R3000 is not set | 
| 94 | # CONFIG_CPU_TX39XX is not set | 96 | # CONFIG_CPU_TX39XX is not set | 
| 95 | # CONFIG_CPU_VR41XX is not set | 97 | CONFIG_CPU_VR41XX=y | 
| 96 | # CONFIG_CPU_R4300 is not set | 98 | # CONFIG_CPU_R4300 is not set | 
| 97 | # CONFIG_CPU_R4X00 is not set | 99 | # CONFIG_CPU_R4X00 is not set | 
| 98 | # CONFIG_CPU_TX49XX is not set | 100 | # CONFIG_CPU_TX49XX is not set | 
| @@ -105,18 +107,21 @@ CONFIG_MIPS_L1_CACHE_SHIFT=5 | |||
| 105 | # CONFIG_CPU_RM7000 is not set | 107 | # CONFIG_CPU_RM7000 is not set | 
| 106 | # CONFIG_CPU_RM9000 is not set | 108 | # CONFIG_CPU_RM9000 is not set | 
| 107 | # CONFIG_CPU_SB1 is not set | 109 | # CONFIG_CPU_SB1 is not set | 
| 110 | CONFIG_SYS_HAS_CPU_VR41XX=y | ||
| 111 | CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y | ||
| 112 | CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y | ||
| 113 | CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y | ||
| 108 | 114 | ||
| 109 | # | 115 | # | 
| 110 | # Kernel type | 116 | # Kernel type | 
| 111 | # | 117 | # | 
| 112 | # CONFIG_32BIT is not set | 118 | CONFIG_32BIT=y | 
| 113 | # CONFIG_64BIT is not set | 119 | # CONFIG_64BIT is not set | 
| 114 | CONFIG_PAGE_SIZE_4KB=y | 120 | CONFIG_PAGE_SIZE_4KB=y | 
| 115 | # CONFIG_PAGE_SIZE_8KB is not set | 121 | # CONFIG_PAGE_SIZE_8KB is not set | 
| 116 | # CONFIG_PAGE_SIZE_16KB is not set | 122 | # CONFIG_PAGE_SIZE_16KB is not set | 
| 117 | # CONFIG_PAGE_SIZE_64KB is not set | 123 | # CONFIG_PAGE_SIZE_64KB is not set | 
| 118 | # CONFIG_MIPS_MT is not set | 124 | # CONFIG_MIPS_MT is not set | 
| 119 | CONFIG_CPU_HAS_LLSC=y | ||
| 120 | CONFIG_CPU_HAS_SYNC=y | 125 | CONFIG_CPU_HAS_SYNC=y | 
| 121 | CONFIG_GENERIC_HARDIRQS=y | 126 | CONFIG_GENERIC_HARDIRQS=y | 
| 122 | CONFIG_GENERIC_IRQ_PROBE=y | 127 | CONFIG_GENERIC_IRQ_PROBE=y | 
| @@ -137,7 +142,6 @@ CONFIG_PREEMPT_NONE=y | |||
| 137 | # Code maturity level options | 142 | # Code maturity level options | 
| 138 | # | 143 | # | 
| 139 | CONFIG_EXPERIMENTAL=y | 144 | CONFIG_EXPERIMENTAL=y | 
| 140 | CONFIG_CLEAN_COMPILE=y | ||
| 141 | CONFIG_BROKEN_ON_SMP=y | 145 | CONFIG_BROKEN_ON_SMP=y | 
| 142 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 146 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 
| 143 | 147 | ||
| @@ -153,6 +157,7 @@ CONFIG_SYSVIPC=y | |||
| 153 | CONFIG_SYSCTL=y | 157 | CONFIG_SYSCTL=y | 
| 154 | # CONFIG_AUDIT is not set | 158 | # CONFIG_AUDIT is not set | 
| 155 | # CONFIG_IKCONFIG is not set | 159 | # CONFIG_IKCONFIG is not set | 
| 160 | # CONFIG_RELAY is not set | ||
| 156 | CONFIG_INITRAMFS_SOURCE="" | 161 | CONFIG_INITRAMFS_SOURCE="" | 
| 157 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 162 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 
| 158 | CONFIG_EMBEDDED=y | 163 | CONFIG_EMBEDDED=y | 
| @@ -166,10 +171,6 @@ CONFIG_BASE_FULL=y | |||
| 166 | CONFIG_FUTEX=y | 171 | CONFIG_FUTEX=y | 
| 167 | CONFIG_EPOLL=y | 172 | CONFIG_EPOLL=y | 
| 168 | CONFIG_SHMEM=y | 173 | CONFIG_SHMEM=y | 
| 169 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
| 170 | CONFIG_CC_ALIGN_LABELS=0 | ||
| 171 | CONFIG_CC_ALIGN_LOOPS=0 | ||
| 172 | CONFIG_CC_ALIGN_JUMPS=0 | ||
| 173 | CONFIG_SLAB=y | 174 | CONFIG_SLAB=y | 
| 174 | # CONFIG_TINY_SHMEM is not set | 175 | # CONFIG_TINY_SHMEM is not set | 
| 175 | CONFIG_BASE_SMALL=0 | 176 | CONFIG_BASE_SMALL=0 | 
| @@ -181,7 +182,6 @@ CONFIG_BASE_SMALL=0 | |||
| 181 | CONFIG_MODULES=y | 182 | CONFIG_MODULES=y | 
| 182 | CONFIG_MODULE_UNLOAD=y | 183 | CONFIG_MODULE_UNLOAD=y | 
| 183 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 184 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 
| 184 | CONFIG_OBSOLETE_MODPARM=y | ||
| 185 | CONFIG_MODVERSIONS=y | 185 | CONFIG_MODVERSIONS=y | 
| 186 | CONFIG_MODULE_SRCVERSION_ALL=y | 186 | CONFIG_MODULE_SRCVERSION_ALL=y | 
| 187 | CONFIG_KMOD=y | 187 | CONFIG_KMOD=y | 
| @@ -189,6 +189,9 @@ CONFIG_KMOD=y | |||
| 189 | # | 189 | # | 
| 190 | # Block layer | 190 | # Block layer | 
| 191 | # | 191 | # | 
| 192 | # CONFIG_LBD is not set | ||
| 193 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 194 | # CONFIG_LSF is not set | ||
| 192 | 195 | ||
| 193 | # | 196 | # | 
| 194 | # IO Schedulers | 197 | # IO Schedulers | 
| @@ -208,7 +211,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
| 208 | # | 211 | # | 
| 209 | CONFIG_HW_HAS_PCI=y | 212 | CONFIG_HW_HAS_PCI=y | 
| 210 | CONFIG_PCI=y | 213 | CONFIG_PCI=y | 
| 211 | # CONFIG_PCI_LEGACY_PROC is not set | ||
| 212 | CONFIG_MMU=y | 214 | CONFIG_MMU=y | 
| 213 | 215 | ||
| 214 | # | 216 | # | 
| @@ -226,6 +228,7 @@ CONFIG_MMU=y | |||
| 226 | # | 228 | # | 
| 227 | CONFIG_BINFMT_ELF=y | 229 | CONFIG_BINFMT_ELF=y | 
| 228 | # CONFIG_BINFMT_MISC is not set | 230 | # CONFIG_BINFMT_MISC is not set | 
| 231 | CONFIG_TRAD_SIGNALS=y | ||
| 229 | 232 | ||
| 230 | # | 233 | # | 
| 231 | # Networking | 234 | # Networking | 
| @@ -235,11 +238,10 @@ CONFIG_NET=y | |||
| 235 | # | 238 | # | 
| 236 | # Networking options | 239 | # Networking options | 
| 237 | # | 240 | # | 
| 241 | # CONFIG_NETDEBUG is not set | ||
| 238 | CONFIG_PACKET=y | 242 | CONFIG_PACKET=y | 
| 239 | # CONFIG_PACKET_MMAP is not set | 243 | # CONFIG_PACKET_MMAP is not set | 
| 240 | CONFIG_UNIX=y | 244 | CONFIG_UNIX=y | 
| 241 | CONFIG_XFRM=y | ||
| 242 | CONFIG_XFRM_USER=m | ||
| 243 | # CONFIG_NET_KEY is not set | 245 | # CONFIG_NET_KEY is not set | 
| 244 | CONFIG_INET=y | 246 | CONFIG_INET=y | 
| 245 | CONFIG_IP_MULTICAST=y | 247 | CONFIG_IP_MULTICAST=y | 
| @@ -264,12 +266,15 @@ CONFIG_SYN_COOKIES=y | |||
| 264 | # CONFIG_INET_AH is not set | 266 | # CONFIG_INET_AH is not set | 
| 265 | # CONFIG_INET_ESP is not set | 267 | # CONFIG_INET_ESP is not set | 
| 266 | # CONFIG_INET_IPCOMP is not set | 268 | # CONFIG_INET_IPCOMP is not set | 
| 269 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
| 267 | CONFIG_INET_TUNNEL=m | 270 | CONFIG_INET_TUNNEL=m | 
| 268 | CONFIG_INET_DIAG=y | 271 | CONFIG_INET_DIAG=y | 
| 269 | CONFIG_INET_TCP_DIAG=y | 272 | CONFIG_INET_TCP_DIAG=y | 
| 270 | # CONFIG_TCP_CONG_ADVANCED is not set | 273 | # CONFIG_TCP_CONG_ADVANCED is not set | 
| 271 | CONFIG_TCP_CONG_BIC=y | 274 | CONFIG_TCP_CONG_BIC=y | 
| 272 | # CONFIG_IPV6 is not set | 275 | # CONFIG_IPV6 is not set | 
| 276 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
| 277 | # CONFIG_INET6_TUNNEL is not set | ||
| 273 | # CONFIG_NETFILTER is not set | 278 | # CONFIG_NETFILTER is not set | 
| 274 | 279 | ||
| 275 | # | 280 | # | 
| @@ -281,6 +286,11 @@ CONFIG_TCP_CONG_BIC=y | |||
| 281 | # SCTP Configuration (EXPERIMENTAL) | 286 | # SCTP Configuration (EXPERIMENTAL) | 
| 282 | # | 287 | # | 
| 283 | # CONFIG_IP_SCTP is not set | 288 | # CONFIG_IP_SCTP is not set | 
| 289 | |||
| 290 | # | ||
| 291 | # TIPC Configuration (EXPERIMENTAL) | ||
| 292 | # | ||
| 293 | # CONFIG_TIPC is not set | ||
| 284 | # CONFIG_ATM is not set | 294 | # CONFIG_ATM is not set | 
| 285 | # CONFIG_BRIDGE is not set | 295 | # CONFIG_BRIDGE is not set | 
| 286 | # CONFIG_VLAN_8021Q is not set | 296 | # CONFIG_VLAN_8021Q is not set | 
| @@ -290,11 +300,6 @@ CONFIG_TCP_CONG_BIC=y | |||
| 290 | # CONFIG_ATALK is not set | 300 | # CONFIG_ATALK is not set | 
| 291 | # CONFIG_X25 is not set | 301 | # CONFIG_X25 is not set | 
| 292 | # CONFIG_LAPB is not set | 302 | # CONFIG_LAPB is not set | 
| 293 | |||
| 294 | # | ||
| 295 | # TIPC Configuration (EXPERIMENTAL) | ||
| 296 | # | ||
| 297 | # CONFIG_TIPC is not set | ||
| 298 | # CONFIG_NET_DIVERT is not set | 303 | # CONFIG_NET_DIVERT is not set | 
| 299 | # CONFIG_ECONET is not set | 304 | # CONFIG_ECONET is not set | 
| 300 | # CONFIG_WAN_ROUTER is not set | 305 | # CONFIG_WAN_ROUTER is not set | 
| @@ -311,10 +316,7 @@ CONFIG_TCP_CONG_BIC=y | |||
| 311 | # CONFIG_HAMRADIO is not set | 316 | # CONFIG_HAMRADIO is not set | 
| 312 | # CONFIG_IRDA is not set | 317 | # CONFIG_IRDA is not set | 
| 313 | # CONFIG_BT is not set | 318 | # CONFIG_BT is not set | 
| 314 | CONFIG_IEEE80211=m | 319 | # CONFIG_IEEE80211 is not set | 
| 315 | # CONFIG_IEEE80211_DEBUG is not set | ||
| 316 | CONFIG_IEEE80211_CRYPT_WEP=m | ||
| 317 | CONFIG_IEEE80211_CRYPT_CCMP=m | ||
| 318 | 320 | ||
| 319 | # | 321 | # | 
| 320 | # Device Drivers | 322 | # Device Drivers | 
| @@ -325,12 +327,12 @@ CONFIG_IEEE80211_CRYPT_CCMP=m | |||
| 325 | # | 327 | # | 
| 326 | CONFIG_STANDALONE=y | 328 | CONFIG_STANDALONE=y | 
| 327 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 329 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 
| 328 | CONFIG_FW_LOADER=m | 330 | # CONFIG_FW_LOADER is not set | 
| 329 | 331 | ||
| 330 | # | 332 | # | 
| 331 | # Connector - unified userspace <-> kernelspace linker | 333 | # Connector - unified userspace <-> kernelspace linker | 
| 332 | # | 334 | # | 
| 333 | CONFIG_CONNECTOR=m | 335 | # CONFIG_CONNECTOR is not set | 
| 334 | 336 | ||
| 335 | # | 337 | # | 
| 336 | # Memory Technology Devices (MTD) | 338 | # Memory Technology Devices (MTD) | 
| @@ -363,10 +365,8 @@ CONFIG_BLK_DEV_RAM=y | |||
| 363 | CONFIG_BLK_DEV_RAM_COUNT=16 | 365 | CONFIG_BLK_DEV_RAM_COUNT=16 | 
| 364 | CONFIG_BLK_DEV_RAM_SIZE=4096 | 366 | CONFIG_BLK_DEV_RAM_SIZE=4096 | 
| 365 | # CONFIG_BLK_DEV_INITRD is not set | 367 | # CONFIG_BLK_DEV_INITRD is not set | 
| 366 | CONFIG_CDROM_PKTCDVD=m | 368 | # CONFIG_CDROM_PKTCDVD is not set | 
| 367 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 369 | # CONFIG_ATA_OVER_ETH is not set | 
| 368 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | ||
| 369 | CONFIG_ATA_OVER_ETH=m | ||
| 370 | 370 | ||
| 371 | # | 371 | # | 
| 372 | # ATA/ATAPI/MFM/RLL support | 372 | # ATA/ATAPI/MFM/RLL support | 
| @@ -443,30 +443,7 @@ CONFIG_MII=y | |||
| 443 | # | 443 | # | 
| 444 | # CONFIG_NET_TULIP is not set | 444 | # CONFIG_NET_TULIP is not set | 
| 445 | # CONFIG_HP100 is not set | 445 | # CONFIG_HP100 is not set | 
| 446 | CONFIG_NET_PCI=y | 446 | # CONFIG_NET_PCI is not set | 
| 447 | # CONFIG_PCNET32 is not set | ||
| 448 | # CONFIG_AMD8111_ETH is not set | ||
| 449 | # CONFIG_ADAPTEC_STARFIRE is not set | ||
| 450 | # CONFIG_B44 is not set | ||
| 451 | # CONFIG_FORCEDETH is not set | ||
| 452 | # CONFIG_DGRS is not set | ||
| 453 | CONFIG_EEPRO100=y | ||
| 454 | # CONFIG_E100 is not set | ||
| 455 | # CONFIG_FEALNX is not set | ||
| 456 | # CONFIG_NATSEMI is not set | ||
| 457 | # CONFIG_NE2K_PCI is not set | ||
| 458 | # CONFIG_8139CP is not set | ||
| 459 | CONFIG_8139TOO=y | ||
| 460 | CONFIG_8139TOO_PIO=y | ||
| 461 | # CONFIG_8139TOO_TUNE_TWISTER is not set | ||
| 462 | # CONFIG_8139TOO_8129 is not set | ||
| 463 | # CONFIG_8139_OLD_RX_RESET is not set | ||
| 464 | # CONFIG_SIS900 is not set | ||
| 465 | # CONFIG_EPIC100 is not set | ||
| 466 | # CONFIG_SUNDANCE is not set | ||
| 467 | # CONFIG_TLAN is not set | ||
| 468 | # CONFIG_VIA_RHINE is not set | ||
| 469 | # CONFIG_LAN_SAA9730 is not set | ||
| 470 | 447 | ||
| 471 | # | 448 | # | 
| 472 | # Ethernet (1000 Mbit) | 449 | # Ethernet (1000 Mbit) | 
| @@ -483,7 +460,6 @@ CONFIG_R8169=y | |||
| 483 | # CONFIG_SKGE is not set | 460 | # CONFIG_SKGE is not set | 
| 484 | # CONFIG_SKY2 is not set | 461 | # CONFIG_SKY2 is not set | 
| 485 | # CONFIG_SK98LIN is not set | 462 | # CONFIG_SK98LIN is not set | 
| 486 | # CONFIG_VIA_VELOCITY is not set | ||
| 487 | # CONFIG_TIGON3 is not set | 463 | # CONFIG_TIGON3 is not set | 
| 488 | # CONFIG_BNX2 is not set | 464 | # CONFIG_BNX2 is not set | 
| 489 | 465 | ||
| @@ -510,19 +486,8 @@ CONFIG_R8169=y | |||
| 510 | # CONFIG_WAN is not set | 486 | # CONFIG_WAN is not set | 
| 511 | # CONFIG_FDDI is not set | 487 | # CONFIG_FDDI is not set | 
| 512 | # CONFIG_HIPPI is not set | 488 | # CONFIG_HIPPI is not set | 
| 513 | CONFIG_PPP=m | 489 | # CONFIG_PPP is not set | 
| 514 | CONFIG_PPP_MULTILINK=y | 490 | # CONFIG_SLIP is not set | 
| 515 | CONFIG_PPP_FILTER=y | ||
| 516 | CONFIG_PPP_ASYNC=m | ||
| 517 | CONFIG_PPP_SYNC_TTY=m | ||
| 518 | CONFIG_PPP_DEFLATE=m | ||
| 519 | CONFIG_PPP_BSDCOMP=m | ||
| 520 | CONFIG_PPP_MPPE=m | ||
| 521 | CONFIG_PPPOE=m | ||
| 522 | CONFIG_SLIP=m | ||
| 523 | CONFIG_SLIP_COMPRESSED=y | ||
| 524 | CONFIG_SLIP_SMART=y | ||
| 525 | CONFIG_SLIP_MODE_SLIP6=y | ||
| 526 | # CONFIG_SHAPER is not set | 491 | # CONFIG_SHAPER is not set | 
| 527 | # CONFIG_NETCONSOLE is not set | 492 | # CONFIG_NETCONSOLE is not set | 
| 528 | # CONFIG_NETPOLL is not set | 493 | # CONFIG_NETPOLL is not set | 
| @@ -583,6 +548,11 @@ CONFIG_HW_CONSOLE=y | |||
| 583 | # | 548 | # | 
| 584 | # Non-8250 serial port support | 549 | # Non-8250 serial port support | 
| 585 | # | 550 | # | 
| 551 | CONFIG_SERIAL_CORE=y | ||
| 552 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
| 553 | CONFIG_SERIAL_VR41XX=y | ||
| 554 | CONFIG_SERIAL_VR41XX_CONSOLE=y | ||
| 555 | # CONFIG_SERIAL_JSM is not set | ||
| 586 | CONFIG_UNIX98_PTYS=y | 556 | CONFIG_UNIX98_PTYS=y | 
| 587 | CONFIG_LEGACY_PTYS=y | 557 | CONFIG_LEGACY_PTYS=y | 
| 588 | CONFIG_LEGACY_PTY_COUNT=256 | 558 | CONFIG_LEGACY_PTY_COUNT=256 | 
| @@ -607,6 +577,7 @@ CONFIG_TANBAC_TB0219=y | |||
| 607 | # Ftape, the floppy tape device driver | 577 | # Ftape, the floppy tape device driver | 
| 608 | # | 578 | # | 
| 609 | # CONFIG_DRM is not set | 579 | # CONFIG_DRM is not set | 
| 580 | CONFIG_GPIO_VR41XX=y | ||
| 610 | # CONFIG_RAW_DRIVER is not set | 581 | # CONFIG_RAW_DRIVER is not set | 
| 611 | 582 | ||
| 612 | # | 583 | # | 
| @@ -642,10 +613,6 @@ CONFIG_TANBAC_TB0219=y | |||
| 642 | # | 613 | # | 
| 643 | 614 | ||
| 644 | # | 615 | # | 
| 645 | # Multimedia Capabilities Port drivers | ||
| 646 | # | ||
| 647 | |||
| 648 | # | ||
| 649 | # Multimedia devices | 616 | # Multimedia devices | 
| 650 | # | 617 | # | 
| 651 | # CONFIG_VIDEO_DEV is not set | 618 | # CONFIG_VIDEO_DEV is not set | 
| @@ -654,6 +621,7 @@ CONFIG_TANBAC_TB0219=y | |||
| 654 | # Digital Video Broadcasting Devices | 621 | # Digital Video Broadcasting Devices | 
| 655 | # | 622 | # | 
| 656 | # CONFIG_DVB is not set | 623 | # CONFIG_DVB is not set | 
| 624 | # CONFIG_USB_DABUSB is not set | ||
| 657 | 625 | ||
| 658 | # | 626 | # | 
| 659 | # Graphics support | 627 | # Graphics support | 
| @@ -676,6 +644,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
| 676 | # | 644 | # | 
| 677 | CONFIG_USB_ARCH_HAS_HCD=y | 645 | CONFIG_USB_ARCH_HAS_HCD=y | 
| 678 | CONFIG_USB_ARCH_HAS_OHCI=y | 646 | CONFIG_USB_ARCH_HAS_OHCI=y | 
| 647 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
| 679 | CONFIG_USB=m | 648 | CONFIG_USB=m | 
| 680 | # CONFIG_USB_DEBUG is not set | 649 | # CONFIG_USB_DEBUG is not set | 
| 681 | 650 | ||
| @@ -731,9 +700,7 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y | |||
| 731 | # CONFIG_USB_ACECAD is not set | 700 | # CONFIG_USB_ACECAD is not set | 
| 732 | # CONFIG_USB_KBTAB is not set | 701 | # CONFIG_USB_KBTAB is not set | 
| 733 | # CONFIG_USB_POWERMATE is not set | 702 | # CONFIG_USB_POWERMATE is not set | 
| 734 | # CONFIG_USB_MTOUCH is not set | 703 | # CONFIG_USB_TOUCHSCREEN is not set | 
| 735 | # CONFIG_USB_ITMTOUCH is not set | ||
| 736 | # CONFIG_USB_EGALAX is not set | ||
| 737 | # CONFIG_USB_YEALINK is not set | 704 | # CONFIG_USB_YEALINK is not set | 
| 738 | # CONFIG_USB_XPAD is not set | 705 | # CONFIG_USB_XPAD is not set | 
| 739 | # CONFIG_USB_ATI_REMOTE is not set | 706 | # CONFIG_USB_ATI_REMOTE is not set | 
| @@ -747,15 +714,6 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y | |||
| 747 | # CONFIG_USB_MDC800 is not set | 714 | # CONFIG_USB_MDC800 is not set | 
| 748 | 715 | ||
| 749 | # | 716 | # | 
| 750 | # USB Multimedia devices | ||
| 751 | # | ||
| 752 | # CONFIG_USB_DABUSB is not set | ||
| 753 | |||
| 754 | # | ||
| 755 | # Video4Linux support is needed for USB Multimedia device support | ||
| 756 | # | ||
| 757 | |||
| 758 | # | ||
| 759 | # USB Network Adapters | 717 | # USB Network Adapters | 
| 760 | # | 718 | # | 
| 761 | # CONFIG_USB_CATC is not set | 719 | # CONFIG_USB_CATC is not set | 
| @@ -807,13 +765,48 @@ CONFIG_USB_MON=y | |||
| 807 | # CONFIG_MMC is not set | 765 | # CONFIG_MMC is not set | 
| 808 | 766 | ||
| 809 | # | 767 | # | 
| 768 | # LED devices | ||
| 769 | # | ||
| 770 | # CONFIG_NEW_LEDS is not set | ||
| 771 | |||
| 772 | # | ||
| 773 | # LED drivers | ||
| 774 | # | ||
| 775 | |||
| 776 | # | ||
| 777 | # LED Triggers | ||
| 778 | # | ||
| 779 | |||
| 780 | # | ||
| 810 | # InfiniBand support | 781 | # InfiniBand support | 
| 811 | # | 782 | # | 
| 812 | # CONFIG_INFINIBAND is not set | 783 | # CONFIG_INFINIBAND is not set | 
| 813 | 784 | ||
| 814 | # | 785 | # | 
| 815 | # SN Devices | 786 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | 
| 787 | # | ||
| 788 | |||
| 789 | # | ||
| 790 | # Real Time Clock | ||
| 791 | # | ||
| 792 | CONFIG_RTC_LIB=y | ||
| 793 | CONFIG_RTC_CLASS=y | ||
| 794 | CONFIG_RTC_HCTOSYS=y | ||
| 795 | CONFIG_RTC_HCTOSYS_DEVICE="rtc0" | ||
| 796 | |||
| 797 | # | ||
| 798 | # RTC interfaces | ||
| 799 | # | ||
| 800 | CONFIG_RTC_INTF_SYSFS=y | ||
| 801 | CONFIG_RTC_INTF_PROC=y | ||
| 802 | CONFIG_RTC_INTF_DEV=y | ||
| 803 | |||
| 804 | # | ||
| 805 | # RTC drivers | ||
| 816 | # | 806 | # | 
| 807 | # CONFIG_RTC_DRV_M48T86 is not set | ||
| 808 | CONFIG_RTC_DRV_VR41XX=y | ||
| 809 | # CONFIG_RTC_DRV_TEST is not set | ||
| 817 | 810 | ||
| 818 | # | 811 | # | 
| 819 | # File systems | 812 | # File systems | 
| @@ -821,32 +814,16 @@ CONFIG_USB_MON=y | |||
| 821 | CONFIG_EXT2_FS=y | 814 | CONFIG_EXT2_FS=y | 
| 822 | # CONFIG_EXT2_FS_XATTR is not set | 815 | # CONFIG_EXT2_FS_XATTR is not set | 
| 823 | # CONFIG_EXT2_FS_XIP is not set | 816 | # CONFIG_EXT2_FS_XIP is not set | 
| 824 | CONFIG_EXT3_FS=m | 817 | # CONFIG_EXT3_FS is not set | 
| 825 | CONFIG_EXT3_FS_XATTR=y | ||
| 826 | # CONFIG_EXT3_FS_POSIX_ACL is not set | ||
| 827 | CONFIG_EXT3_FS_SECURITY=y | ||
| 828 | CONFIG_JBD=m | ||
| 829 | # CONFIG_JBD_DEBUG is not set | ||
| 830 | CONFIG_FS_MBCACHE=y | ||
| 831 | # CONFIG_REISERFS_FS is not set | 818 | # CONFIG_REISERFS_FS is not set | 
| 832 | CONFIG_JFS_FS=m | 819 | # CONFIG_JFS_FS is not set | 
| 833 | # CONFIG_JFS_POSIX_ACL is not set | ||
| 834 | # CONFIG_JFS_SECURITY is not set | ||
| 835 | # CONFIG_JFS_DEBUG is not set | ||
| 836 | # CONFIG_JFS_STATISTICS is not set | ||
| 837 | # CONFIG_FS_POSIX_ACL is not set | 820 | # CONFIG_FS_POSIX_ACL is not set | 
| 838 | CONFIG_XFS_FS=y | 821 | # CONFIG_XFS_FS is not set | 
| 839 | CONFIG_XFS_EXPORT=y | ||
| 840 | CONFIG_XFS_QUOTA=y | ||
| 841 | # CONFIG_XFS_SECURITY is not set | ||
| 842 | CONFIG_XFS_POSIX_ACL=y | ||
| 843 | # CONFIG_XFS_RT is not set | ||
| 844 | # CONFIG_OCFS2_FS is not set | 822 | # CONFIG_OCFS2_FS is not set | 
| 845 | # CONFIG_MINIX_FS is not set | 823 | # CONFIG_MINIX_FS is not set | 
| 846 | CONFIG_ROMFS_FS=m | 824 | CONFIG_ROMFS_FS=m | 
| 847 | CONFIG_INOTIFY=y | 825 | CONFIG_INOTIFY=y | 
| 848 | # CONFIG_QUOTA is not set | 826 | # CONFIG_QUOTA is not set | 
| 849 | CONFIG_QUOTACTL=y | ||
| 850 | CONFIG_DNOTIFY=y | 827 | CONFIG_DNOTIFY=y | 
| 851 | # CONFIG_AUTOFS_FS is not set | 828 | # CONFIG_AUTOFS_FS is not set | 
| 852 | CONFIG_AUTOFS4_FS=y | 829 | CONFIG_AUTOFS4_FS=y | 
| @@ -855,20 +832,14 @@ CONFIG_FUSE_FS=m | |||
| 855 | # | 832 | # | 
| 856 | # CD-ROM/DVD Filesystems | 833 | # CD-ROM/DVD Filesystems | 
| 857 | # | 834 | # | 
| 858 | CONFIG_ISO9660_FS=y | 835 | # CONFIG_ISO9660_FS is not set | 
| 859 | CONFIG_JOLIET=y | ||
| 860 | CONFIG_ZISOFS=y | ||
| 861 | CONFIG_ZISOFS_FS=y | ||
| 862 | # CONFIG_UDF_FS is not set | 836 | # CONFIG_UDF_FS is not set | 
| 863 | 837 | ||
| 864 | # | 838 | # | 
| 865 | # DOS/FAT/NT Filesystems | 839 | # DOS/FAT/NT Filesystems | 
| 866 | # | 840 | # | 
| 867 | CONFIG_FAT_FS=m | 841 | # CONFIG_MSDOS_FS is not set | 
| 868 | CONFIG_MSDOS_FS=m | 842 | # CONFIG_VFAT_FS is not set | 
| 869 | CONFIG_VFAT_FS=m | ||
| 870 | CONFIG_FAT_DEFAULT_CODEPAGE=437 | ||
| 871 | CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | ||
| 872 | # CONFIG_NTFS_FS is not set | 843 | # CONFIG_NTFS_FS is not set | 
| 873 | 844 | ||
| 874 | # | 845 | # | 
| @@ -880,7 +851,6 @@ CONFIG_SYSFS=y | |||
| 880 | CONFIG_TMPFS=y | 851 | CONFIG_TMPFS=y | 
| 881 | # CONFIG_HUGETLB_PAGE is not set | 852 | # CONFIG_HUGETLB_PAGE is not set | 
| 882 | CONFIG_RAMFS=y | 853 | CONFIG_RAMFS=y | 
| 883 | CONFIG_RELAYFS_FS=m | ||
| 884 | # CONFIG_CONFIGFS_FS is not set | 854 | # CONFIG_CONFIGFS_FS is not set | 
| 885 | 855 | ||
| 886 | # | 856 | # | 
| @@ -921,9 +891,7 @@ CONFIG_NFS_COMMON=y | |||
| 921 | CONFIG_SUNRPC=y | 891 | CONFIG_SUNRPC=y | 
| 922 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 892 | # CONFIG_RPCSEC_GSS_KRB5 is not set | 
| 923 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 893 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 
| 924 | CONFIG_SMB_FS=m | 894 | # CONFIG_SMB_FS is not set | 
| 925 | CONFIG_SMB_NLS_DEFAULT=y | ||
| 926 | CONFIG_SMB_NLS_REMOTE="cp932" | ||
| 927 | # CONFIG_CIFS is not set | 895 | # CONFIG_CIFS is not set | 
| 928 | # CONFIG_NCP_FS is not set | 896 | # CONFIG_NCP_FS is not set | 
| 929 | # CONFIG_CODA_FS is not set | 897 | # CONFIG_CODA_FS is not set | 
| @@ -939,46 +907,7 @@ CONFIG_MSDOS_PARTITION=y | |||
| 939 | # | 907 | # | 
| 940 | # Native Language Support | 908 | # Native Language Support | 
| 941 | # | 909 | # | 
| 942 | CONFIG_NLS=y | 910 | # CONFIG_NLS is not set | 
| 943 | CONFIG_NLS_DEFAULT="iso8859-1" | ||
| 944 | CONFIG_NLS_CODEPAGE_437=m | ||
| 945 | # CONFIG_NLS_CODEPAGE_737 is not set | ||
| 946 | # CONFIG_NLS_CODEPAGE_775 is not set | ||
| 947 | # CONFIG_NLS_CODEPAGE_850 is not set | ||
| 948 | # CONFIG_NLS_CODEPAGE_852 is not set | ||
| 949 | # CONFIG_NLS_CODEPAGE_855 is not set | ||
| 950 | # CONFIG_NLS_CODEPAGE_857 is not set | ||
| 951 | # CONFIG_NLS_CODEPAGE_860 is not set | ||
| 952 | # CONFIG_NLS_CODEPAGE_861 is not set | ||
| 953 | # CONFIG_NLS_CODEPAGE_862 is not set | ||
| 954 | # CONFIG_NLS_CODEPAGE_863 is not set | ||
| 955 | # CONFIG_NLS_CODEPAGE_864 is not set | ||
| 956 | # CONFIG_NLS_CODEPAGE_865 is not set | ||
| 957 | # CONFIG_NLS_CODEPAGE_866 is not set | ||
| 958 | # CONFIG_NLS_CODEPAGE_869 is not set | ||
| 959 | # CONFIG_NLS_CODEPAGE_936 is not set | ||
| 960 | # CONFIG_NLS_CODEPAGE_950 is not set | ||
| 961 | CONFIG_NLS_CODEPAGE_932=m | ||
| 962 | # CONFIG_NLS_CODEPAGE_949 is not set | ||
| 963 | # CONFIG_NLS_CODEPAGE_874 is not set | ||
| 964 | # CONFIG_NLS_ISO8859_8 is not set | ||
| 965 | # CONFIG_NLS_CODEPAGE_1250 is not set | ||
| 966 | # CONFIG_NLS_CODEPAGE_1251 is not set | ||
| 967 | # CONFIG_NLS_ASCII is not set | ||
| 968 | CONFIG_NLS_ISO8859_1=m | ||
| 969 | # CONFIG_NLS_ISO8859_2 is not set | ||
| 970 | # CONFIG_NLS_ISO8859_3 is not set | ||
| 971 | # CONFIG_NLS_ISO8859_4 is not set | ||
| 972 | # CONFIG_NLS_ISO8859_5 is not set | ||
| 973 | # CONFIG_NLS_ISO8859_6 is not set | ||
| 974 | # CONFIG_NLS_ISO8859_7 is not set | ||
| 975 | # CONFIG_NLS_ISO8859_9 is not set | ||
| 976 | # CONFIG_NLS_ISO8859_13 is not set | ||
| 977 | # CONFIG_NLS_ISO8859_14 is not set | ||
| 978 | # CONFIG_NLS_ISO8859_15 is not set | ||
| 979 | # CONFIG_NLS_KOI8_R is not set | ||
| 980 | # CONFIG_NLS_KOI8_U is not set | ||
| 981 | # CONFIG_NLS_UTF8 is not set | ||
| 982 | 911 | ||
| 983 | # | 912 | # | 
| 984 | # Profiling support | 913 | # Profiling support | 
| @@ -992,44 +921,20 @@ CONFIG_NLS_ISO8859_1=m | |||
| 992 | # CONFIG_MAGIC_SYSRQ is not set | 921 | # CONFIG_MAGIC_SYSRQ is not set | 
| 993 | # CONFIG_DEBUG_KERNEL is not set | 922 | # CONFIG_DEBUG_KERNEL is not set | 
| 994 | CONFIG_LOG_BUF_SHIFT=14 | 923 | CONFIG_LOG_BUF_SHIFT=14 | 
| 924 | # CONFIG_DEBUG_FS is not set | ||
| 995 | CONFIG_CROSSCOMPILE=y | 925 | CONFIG_CROSSCOMPILE=y | 
| 996 | CONFIG_CMDLINE="mem=64M console=ttyVR0,115200 ip=any root=/dev/nfs" | 926 | CONFIG_CMDLINE="mem=64M console=ttyVR0,115200 ip=any root=/dev/nfs" | 
| 997 | 927 | ||
| 998 | # | 928 | # | 
| 999 | # Security options | 929 | # Security options | 
| 1000 | # | 930 | # | 
| 1001 | CONFIG_KEYS=y | 931 | # CONFIG_KEYS is not set | 
| 1002 | CONFIG_KEYS_DEBUG_PROC_KEYS=y | ||
| 1003 | # CONFIG_SECURITY is not set | 932 | # CONFIG_SECURITY is not set | 
| 1004 | 933 | ||
| 1005 | # | 934 | # | 
| 1006 | # Cryptographic options | 935 | # Cryptographic options | 
| 1007 | # | 936 | # | 
| 1008 | CONFIG_CRYPTO=y | 937 | # CONFIG_CRYPTO is not set | 
| 1009 | CONFIG_CRYPTO_HMAC=y | ||
| 1010 | CONFIG_CRYPTO_NULL=m | ||
| 1011 | CONFIG_CRYPTO_MD4=m | ||
| 1012 | CONFIG_CRYPTO_MD5=m | ||
| 1013 | CONFIG_CRYPTO_SHA1=m | ||
| 1014 | CONFIG_CRYPTO_SHA256=m | ||
| 1015 | CONFIG_CRYPTO_SHA512=m | ||
| 1016 | CONFIG_CRYPTO_WP512=m | ||
| 1017 | CONFIG_CRYPTO_TGR192=m | ||
| 1018 | CONFIG_CRYPTO_DES=m | ||
| 1019 | CONFIG_CRYPTO_BLOWFISH=m | ||
| 1020 | CONFIG_CRYPTO_TWOFISH=m | ||
| 1021 | CONFIG_CRYPTO_SERPENT=m | ||
| 1022 | CONFIG_CRYPTO_AES=m | ||
| 1023 | CONFIG_CRYPTO_CAST5=m | ||
| 1024 | CONFIG_CRYPTO_CAST6=m | ||
| 1025 | CONFIG_CRYPTO_TEA=m | ||
| 1026 | CONFIG_CRYPTO_ARC4=m | ||
| 1027 | CONFIG_CRYPTO_KHAZAD=m | ||
| 1028 | CONFIG_CRYPTO_ANUBIS=m | ||
| 1029 | CONFIG_CRYPTO_DEFLATE=m | ||
| 1030 | CONFIG_CRYPTO_MICHAEL_MIC=m | ||
| 1031 | CONFIG_CRYPTO_CRC32C=m | ||
| 1032 | # CONFIG_CRYPTO_TEST is not set | ||
| 1033 | 938 | ||
| 1034 | # | 939 | # | 
| 1035 | # Hardware crypto devices | 940 | # Hardware crypto devices | 
| @@ -1038,9 +943,8 @@ CONFIG_CRYPTO_CRC32C=m | |||
| 1038 | # | 943 | # | 
| 1039 | # Library routines | 944 | # Library routines | 
| 1040 | # | 945 | # | 
| 1041 | CONFIG_CRC_CCITT=m | 946 | # CONFIG_CRC_CCITT is not set | 
| 1042 | CONFIG_CRC16=m | 947 | # CONFIG_CRC16 is not set | 
| 1043 | CONFIG_CRC32=y | 948 | CONFIG_CRC32=y | 
| 1044 | CONFIG_LIBCRC32C=m | 949 | # CONFIG_LIBCRC32C is not set | 
| 1045 | CONFIG_ZLIB_INFLATE=y | 950 | CONFIG_ZLIB_INFLATE=m | 
| 1046 | CONFIG_ZLIB_DEFLATE=m | ||
diff --git a/arch/mips/configs/tb0287_defconfig b/arch/mips/configs/tb0287_defconfig index 8a1e3ace0b2c..9f215ea350dc 100644 --- a/arch/mips/configs/tb0287_defconfig +++ b/arch/mips/configs/tb0287_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.16 | 3 | # Linux kernel version: 2.6.17-rc2 | 
| 4 | # Wed Mar 22 11:07:34 2006 | 4 | # Tue Apr 25 00:09:17 2006 | 
| 5 | # | 5 | # | 
| 6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y | 
| 7 | 7 | ||
| @@ -74,7 +74,10 @@ CONFIG_TANBAC_TB0287=y | |||
| 74 | CONFIG_PCI_VR41XX=y | 74 | CONFIG_PCI_VR41XX=y | 
| 75 | # CONFIG_VRC4173 is not set | 75 | # CONFIG_VRC4173 is not set | 
| 76 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 76 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 
| 77 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
| 78 | CONFIG_GENERIC_HWEIGHT=y | ||
| 77 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 79 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 
| 80 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
| 78 | CONFIG_DMA_NONCOHERENT=y | 81 | CONFIG_DMA_NONCOHERENT=y | 
| 79 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 82 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 
| 80 | # CONFIG_CPU_BIG_ENDIAN is not set | 83 | # CONFIG_CPU_BIG_ENDIAN is not set | 
| @@ -107,7 +110,6 @@ CONFIG_CPU_VR41XX=y | |||
| 107 | # CONFIG_CPU_SB1 is not set | 110 | # CONFIG_CPU_SB1 is not set | 
| 108 | CONFIG_SYS_HAS_CPU_VR41XX=y | 111 | CONFIG_SYS_HAS_CPU_VR41XX=y | 
| 109 | CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y | 112 | CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y | 
| 110 | CONFIG_SYS_SUPPORTS_64BIT_KERNEL=y | ||
| 111 | CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y | 113 | CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y | 
| 112 | CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y | 114 | CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y | 
| 113 | 115 | ||
| @@ -121,7 +123,6 @@ CONFIG_PAGE_SIZE_4KB=y | |||
| 121 | # CONFIG_PAGE_SIZE_16KB is not set | 123 | # CONFIG_PAGE_SIZE_16KB is not set | 
| 122 | # CONFIG_PAGE_SIZE_64KB is not set | 124 | # CONFIG_PAGE_SIZE_64KB is not set | 
| 123 | # CONFIG_MIPS_MT is not set | 125 | # CONFIG_MIPS_MT is not set | 
| 124 | # CONFIG_CPU_ADVANCED is not set | ||
| 125 | CONFIG_CPU_HAS_SYNC=y | 126 | CONFIG_CPU_HAS_SYNC=y | 
| 126 | CONFIG_GENERIC_HARDIRQS=y | 127 | CONFIG_GENERIC_HARDIRQS=y | 
| 127 | CONFIG_GENERIC_IRQ_PROBE=y | 128 | CONFIG_GENERIC_IRQ_PROBE=y | 
| @@ -157,6 +158,7 @@ CONFIG_SYSVIPC=y | |||
| 157 | CONFIG_SYSCTL=y | 158 | CONFIG_SYSCTL=y | 
| 158 | # CONFIG_AUDIT is not set | 159 | # CONFIG_AUDIT is not set | 
| 159 | # CONFIG_IKCONFIG is not set | 160 | # CONFIG_IKCONFIG is not set | 
| 161 | # CONFIG_RELAY is not set | ||
| 160 | CONFIG_INITRAMFS_SOURCE="" | 162 | CONFIG_INITRAMFS_SOURCE="" | 
| 161 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 163 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 
| 162 | CONFIG_EMBEDDED=y | 164 | CONFIG_EMBEDDED=y | 
| @@ -170,10 +172,6 @@ CONFIG_BASE_FULL=y | |||
| 170 | CONFIG_FUTEX=y | 172 | CONFIG_FUTEX=y | 
| 171 | CONFIG_EPOLL=y | 173 | CONFIG_EPOLL=y | 
| 172 | CONFIG_SHMEM=y | 174 | CONFIG_SHMEM=y | 
| 173 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
| 174 | CONFIG_CC_ALIGN_LABELS=0 | ||
| 175 | CONFIG_CC_ALIGN_LOOPS=0 | ||
| 176 | CONFIG_CC_ALIGN_JUMPS=0 | ||
| 177 | CONFIG_SLAB=y | 175 | CONFIG_SLAB=y | 
| 178 | # CONFIG_TINY_SHMEM is not set | 176 | # CONFIG_TINY_SHMEM is not set | 
| 179 | CONFIG_BASE_SMALL=0 | 177 | CONFIG_BASE_SMALL=0 | 
| @@ -185,7 +183,6 @@ CONFIG_BASE_SMALL=0 | |||
| 185 | CONFIG_MODULES=y | 183 | CONFIG_MODULES=y | 
| 186 | CONFIG_MODULE_UNLOAD=y | 184 | CONFIG_MODULE_UNLOAD=y | 
| 187 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 185 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 
| 188 | CONFIG_OBSOLETE_MODPARM=y | ||
| 189 | CONFIG_MODVERSIONS=y | 186 | CONFIG_MODVERSIONS=y | 
| 190 | CONFIG_MODULE_SRCVERSION_ALL=y | 187 | CONFIG_MODULE_SRCVERSION_ALL=y | 
| 191 | CONFIG_KMOD=y | 188 | CONFIG_KMOD=y | 
| @@ -194,6 +191,8 @@ CONFIG_KMOD=y | |||
| 194 | # Block layer | 191 | # Block layer | 
| 195 | # | 192 | # | 
| 196 | # CONFIG_LBD is not set | 193 | # CONFIG_LBD is not set | 
| 194 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 195 | # CONFIG_LSF is not set | ||
| 197 | 196 | ||
| 198 | # | 197 | # | 
| 199 | # IO Schedulers | 198 | # IO Schedulers | 
| @@ -213,7 +212,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
| 213 | # | 212 | # | 
| 214 | CONFIG_HW_HAS_PCI=y | 213 | CONFIG_HW_HAS_PCI=y | 
| 215 | CONFIG_PCI=y | 214 | CONFIG_PCI=y | 
| 216 | # CONFIG_PCI_LEGACY_PROC is not set | ||
| 217 | CONFIG_MMU=y | 215 | CONFIG_MMU=y | 
| 218 | 216 | ||
| 219 | # | 217 | # | 
| @@ -245,8 +243,6 @@ CONFIG_NET=y | |||
| 245 | CONFIG_PACKET=y | 243 | CONFIG_PACKET=y | 
| 246 | # CONFIG_PACKET_MMAP is not set | 244 | # CONFIG_PACKET_MMAP is not set | 
| 247 | CONFIG_UNIX=y | 245 | CONFIG_UNIX=y | 
| 248 | CONFIG_XFRM=y | ||
| 249 | CONFIG_XFRM_USER=m | ||
| 250 | # CONFIG_NET_KEY is not set | 246 | # CONFIG_NET_KEY is not set | 
| 251 | CONFIG_INET=y | 247 | CONFIG_INET=y | 
| 252 | CONFIG_IP_MULTICAST=y | 248 | CONFIG_IP_MULTICAST=y | 
| @@ -271,6 +267,7 @@ CONFIG_SYN_COOKIES=y | |||
| 271 | # CONFIG_INET_AH is not set | 267 | # CONFIG_INET_AH is not set | 
| 272 | # CONFIG_INET_ESP is not set | 268 | # CONFIG_INET_ESP is not set | 
| 273 | # CONFIG_INET_IPCOMP is not set | 269 | # CONFIG_INET_IPCOMP is not set | 
| 270 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
| 274 | CONFIG_INET_TUNNEL=m | 271 | CONFIG_INET_TUNNEL=m | 
| 275 | CONFIG_INET_DIAG=y | 272 | CONFIG_INET_DIAG=y | 
| 276 | CONFIG_INET_TCP_DIAG=y | 273 | CONFIG_INET_TCP_DIAG=y | 
| @@ -288,6 +285,8 @@ CONFIG_TCP_CONG_HTCP=m | |||
| 288 | # CONFIG_TCP_CONG_VEGAS is not set | 285 | # CONFIG_TCP_CONG_VEGAS is not set | 
| 289 | # CONFIG_TCP_CONG_SCALABLE is not set | 286 | # CONFIG_TCP_CONG_SCALABLE is not set | 
| 290 | # CONFIG_IPV6 is not set | 287 | # CONFIG_IPV6 is not set | 
| 288 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
| 289 | # CONFIG_INET6_TUNNEL is not set | ||
| 291 | # CONFIG_NETFILTER is not set | 290 | # CONFIG_NETFILTER is not set | 
| 292 | 291 | ||
| 293 | # | 292 | # | 
| @@ -493,7 +492,6 @@ CONFIG_BLK_DEV_SD=y | |||
| 493 | # CONFIG_SCSI_INIA100 is not set | 492 | # CONFIG_SCSI_INIA100 is not set | 
| 494 | # CONFIG_SCSI_SYM53C8XX_2 is not set | 493 | # CONFIG_SCSI_SYM53C8XX_2 is not set | 
| 495 | # CONFIG_SCSI_IPR is not set | 494 | # CONFIG_SCSI_IPR is not set | 
| 496 | # CONFIG_SCSI_QLOGIC_FC is not set | ||
| 497 | # CONFIG_SCSI_QLOGIC_1280 is not set | 495 | # CONFIG_SCSI_QLOGIC_1280 is not set | 
| 498 | # CONFIG_SCSI_QLA_FC is not set | 496 | # CONFIG_SCSI_QLA_FC is not set | 
| 499 | # CONFIG_SCSI_LPFC is not set | 497 | # CONFIG_SCSI_LPFC is not set | 
| @@ -714,7 +712,6 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
| 714 | # CONFIG_WATCHDOG is not set | 712 | # CONFIG_WATCHDOG is not set | 
| 715 | # CONFIG_RTC is not set | 713 | # CONFIG_RTC is not set | 
| 716 | # CONFIG_GEN_RTC is not set | 714 | # CONFIG_GEN_RTC is not set | 
| 717 | # CONFIG_RTC_VR41XX is not set | ||
| 718 | # CONFIG_DTLK is not set | 715 | # CONFIG_DTLK is not set | 
| 719 | # CONFIG_R3964 is not set | 716 | # CONFIG_R3964 is not set | 
| 720 | # CONFIG_APPLICOM is not set | 717 | # CONFIG_APPLICOM is not set | 
| @@ -760,10 +757,6 @@ CONFIG_GPIO_VR41XX=y | |||
| 760 | # | 757 | # | 
| 761 | 758 | ||
| 762 | # | 759 | # | 
| 763 | # Multimedia Capabilities Port drivers | ||
| 764 | # | ||
| 765 | |||
| 766 | # | ||
| 767 | # Multimedia devices | 760 | # Multimedia devices | 
| 768 | # | 761 | # | 
| 769 | # CONFIG_VIDEO_DEV is not set | 762 | # CONFIG_VIDEO_DEV is not set | 
| @@ -772,17 +765,53 @@ CONFIG_GPIO_VR41XX=y | |||
| 772 | # Digital Video Broadcasting Devices | 765 | # Digital Video Broadcasting Devices | 
| 773 | # | 766 | # | 
| 774 | # CONFIG_DVB is not set | 767 | # CONFIG_DVB is not set | 
| 768 | # CONFIG_USB_DABUSB is not set | ||
| 775 | 769 | ||
| 776 | # | 770 | # | 
| 777 | # Graphics support | 771 | # Graphics support | 
| 778 | # | 772 | # | 
| 779 | # CONFIG_FB is not set | 773 | CONFIG_FB=y | 
| 774 | CONFIG_FB_CFB_FILLRECT=y | ||
| 775 | CONFIG_FB_CFB_COPYAREA=y | ||
| 776 | CONFIG_FB_CFB_IMAGEBLIT=y | ||
| 777 | # CONFIG_FB_MACMODES is not set | ||
| 778 | CONFIG_FB_FIRMWARE_EDID=y | ||
| 779 | # CONFIG_FB_MODE_HELPERS is not set | ||
| 780 | # CONFIG_FB_TILEBLITTING is not set | ||
| 781 | # CONFIG_FB_CIRRUS is not set | ||
| 782 | # CONFIG_FB_PM2 is not set | ||
| 783 | # CONFIG_FB_CYBER2000 is not set | ||
| 784 | # CONFIG_FB_ASILIANT is not set | ||
| 785 | # CONFIG_FB_IMSTT is not set | ||
| 786 | # CONFIG_FB_S1D13XXX is not set | ||
| 787 | # CONFIG_FB_NVIDIA is not set | ||
| 788 | # CONFIG_FB_RIVA is not set | ||
| 789 | # CONFIG_FB_MATROX is not set | ||
| 790 | # CONFIG_FB_RADEON is not set | ||
| 791 | # CONFIG_FB_ATY128 is not set | ||
| 792 | # CONFIG_FB_ATY is not set | ||
| 793 | # CONFIG_FB_SAVAGE is not set | ||
| 794 | # CONFIG_FB_SIS is not set | ||
| 795 | # CONFIG_FB_NEOMAGIC is not set | ||
| 796 | # CONFIG_FB_KYRO is not set | ||
| 797 | # CONFIG_FB_3DFX is not set | ||
| 798 | # CONFIG_FB_VOODOO1 is not set | ||
| 799 | CONFIG_FB_SMIVGX=y | ||
| 800 | # CONFIG_FB_TRIDENT is not set | ||
| 801 | # CONFIG_FB_VIRTUAL is not set | ||
| 780 | 802 | ||
| 781 | # | 803 | # | 
| 782 | # Console display driver support | 804 | # Console display driver support | 
| 783 | # | 805 | # | 
| 784 | # CONFIG_VGA_CONSOLE is not set | 806 | # CONFIG_VGA_CONSOLE is not set | 
| 785 | CONFIG_DUMMY_CONSOLE=y | 807 | CONFIG_DUMMY_CONSOLE=y | 
| 808 | # CONFIG_FRAMEBUFFER_CONSOLE is not set | ||
| 809 | |||
| 810 | # | ||
| 811 | # Logo configuration | ||
| 812 | # | ||
| 813 | # CONFIG_LOGO is not set | ||
| 814 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
| 786 | 815 | ||
| 787 | # | 816 | # | 
| 788 | # Sound | 817 | # Sound | 
| @@ -794,6 +823,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
| 794 | # | 823 | # | 
| 795 | CONFIG_USB_ARCH_HAS_HCD=y | 824 | CONFIG_USB_ARCH_HAS_HCD=y | 
| 796 | CONFIG_USB_ARCH_HAS_OHCI=y | 825 | CONFIG_USB_ARCH_HAS_OHCI=y | 
| 826 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
| 797 | CONFIG_USB=m | 827 | CONFIG_USB=m | 
| 798 | # CONFIG_USB_DEBUG is not set | 828 | # CONFIG_USB_DEBUG is not set | 
| 799 | 829 | ||
| @@ -863,9 +893,7 @@ CONFIG_USB_HIDINPUT=y | |||
| 863 | # CONFIG_USB_ACECAD is not set | 893 | # CONFIG_USB_ACECAD is not set | 
| 864 | # CONFIG_USB_KBTAB is not set | 894 | # CONFIG_USB_KBTAB is not set | 
| 865 | # CONFIG_USB_POWERMATE is not set | 895 | # CONFIG_USB_POWERMATE is not set | 
| 866 | # CONFIG_USB_MTOUCH is not set | 896 | # CONFIG_USB_TOUCHSCREEN is not set | 
| 867 | # CONFIG_USB_ITMTOUCH is not set | ||
| 868 | # CONFIG_USB_EGALAX is not set | ||
| 869 | # CONFIG_USB_YEALINK is not set | 897 | # CONFIG_USB_YEALINK is not set | 
| 870 | # CONFIG_USB_XPAD is not set | 898 | # CONFIG_USB_XPAD is not set | 
| 871 | # CONFIG_USB_ATI_REMOTE is not set | 899 | # CONFIG_USB_ATI_REMOTE is not set | 
| @@ -880,15 +908,6 @@ CONFIG_USB_HIDINPUT=y | |||
| 880 | # CONFIG_USB_MICROTEK is not set | 908 | # CONFIG_USB_MICROTEK is not set | 
| 881 | 909 | ||
| 882 | # | 910 | # | 
| 883 | # USB Multimedia devices | ||
| 884 | # | ||
| 885 | # CONFIG_USB_DABUSB is not set | ||
| 886 | |||
| 887 | # | ||
| 888 | # Video4Linux support is needed for USB Multimedia device support | ||
| 889 | # | ||
| 890 | |||
| 891 | # | ||
| 892 | # USB Network Adapters | 911 | # USB Network Adapters | 
| 893 | # | 912 | # | 
| 894 | # CONFIG_USB_CATC is not set | 913 | # CONFIG_USB_CATC is not set | 
| @@ -939,6 +958,19 @@ CONFIG_USB_MON=y | |||
| 939 | # CONFIG_MMC is not set | 958 | # CONFIG_MMC is not set | 
| 940 | 959 | ||
| 941 | # | 960 | # | 
| 961 | # LED devices | ||
| 962 | # | ||
| 963 | # CONFIG_NEW_LEDS is not set | ||
| 964 | |||
| 965 | # | ||
| 966 | # LED drivers | ||
| 967 | # | ||
| 968 | |||
| 969 | # | ||
| 970 | # LED Triggers | ||
| 971 | # | ||
| 972 | |||
| 973 | # | ||
| 942 | # InfiniBand support | 974 | # InfiniBand support | 
| 943 | # | 975 | # | 
| 944 | # CONFIG_INFINIBAND is not set | 976 | # CONFIG_INFINIBAND is not set | 
| @@ -948,6 +980,11 @@ CONFIG_USB_MON=y | |||
| 948 | # | 980 | # | 
| 949 | 981 | ||
| 950 | # | 982 | # | 
| 983 | # Real Time Clock | ||
| 984 | # | ||
| 985 | # CONFIG_RTC_CLASS is not set | ||
| 986 | |||
| 987 | # | ||
| 951 | # File systems | 988 | # File systems | 
| 952 | # | 989 | # | 
| 953 | CONFIG_EXT2_FS=y | 990 | CONFIG_EXT2_FS=y | 
| @@ -1001,7 +1038,6 @@ CONFIG_SYSFS=y | |||
| 1001 | CONFIG_TMPFS=y | 1038 | CONFIG_TMPFS=y | 
| 1002 | # CONFIG_HUGETLB_PAGE is not set | 1039 | # CONFIG_HUGETLB_PAGE is not set | 
| 1003 | CONFIG_RAMFS=y | 1040 | CONFIG_RAMFS=y | 
| 1004 | # CONFIG_RELAYFS_FS is not set | ||
| 1005 | # CONFIG_CONFIGFS_FS is not set | 1041 | # CONFIG_CONFIGFS_FS is not set | 
| 1006 | 1042 | ||
| 1007 | # | 1043 | # | 
| @@ -1067,14 +1103,14 @@ CONFIG_MSDOS_PARTITION=y | |||
| 1067 | # CONFIG_MAGIC_SYSRQ is not set | 1103 | # CONFIG_MAGIC_SYSRQ is not set | 
| 1068 | # CONFIG_DEBUG_KERNEL is not set | 1104 | # CONFIG_DEBUG_KERNEL is not set | 
| 1069 | CONFIG_LOG_BUF_SHIFT=14 | 1105 | CONFIG_LOG_BUF_SHIFT=14 | 
| 1106 | # CONFIG_DEBUG_FS is not set | ||
| 1070 | CONFIG_CROSSCOMPILE=y | 1107 | CONFIG_CROSSCOMPILE=y | 
| 1071 | CONFIG_CMDLINE="mem=64M console=ttyVR0,115200 ip=any root=/dev/nfs" | 1108 | CONFIG_CMDLINE="mem=64M console=ttyVR0,115200 ip=any root=/dev/nfs" | 
| 1072 | 1109 | ||
| 1073 | # | 1110 | # | 
| 1074 | # Security options | 1111 | # Security options | 
| 1075 | # | 1112 | # | 
| 1076 | CONFIG_KEYS=y | 1113 | # CONFIG_KEYS is not set | 
| 1077 | CONFIG_KEYS_DEBUG_PROC_KEYS=y | ||
| 1078 | # CONFIG_SECURITY is not set | 1114 | # CONFIG_SECURITY is not set | 
| 1079 | 1115 | ||
| 1080 | # | 1116 | # | 
diff --git a/arch/mips/configs/workpad_defconfig b/arch/mips/configs/workpad_defconfig index 7132e296d40a..ac7765eb8da7 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.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 | 
| 4 | # Fri Jan 27 15:40:36 2006 | 4 | # Tue Apr 25 00:09:33 2006 | 
| 5 | # | 5 | # | 
| 6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y | 
| 7 | 7 | ||
| @@ -70,6 +70,8 @@ CONFIG_IBM_WORKPAD=y | |||
| 70 | # CONFIG_VICTOR_MPC30X is not set | 70 | # CONFIG_VICTOR_MPC30X is not set | 
| 71 | # CONFIG_ZAO_CAPCELLA is not set | 71 | # CONFIG_ZAO_CAPCELLA is not set | 
| 72 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 72 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 
| 73 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
| 74 | CONFIG_GENERIC_HWEIGHT=y | ||
| 73 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 75 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 
| 74 | CONFIG_DMA_NONCOHERENT=y | 76 | CONFIG_DMA_NONCOHERENT=y | 
| 75 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 77 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 
| @@ -88,7 +90,7 @@ CONFIG_MIPS_L1_CACHE_SHIFT=5 | |||
| 88 | # CONFIG_CPU_MIPS64_R2 is not set | 90 | # CONFIG_CPU_MIPS64_R2 is not set | 
| 89 | # CONFIG_CPU_R3000 is not set | 91 | # CONFIG_CPU_R3000 is not set | 
| 90 | # CONFIG_CPU_TX39XX is not set | 92 | # CONFIG_CPU_TX39XX is not set | 
| 91 | # CONFIG_CPU_VR41XX is not set | 93 | CONFIG_CPU_VR41XX=y | 
| 92 | # CONFIG_CPU_R4300 is not set | 94 | # CONFIG_CPU_R4300 is not set | 
| 93 | # CONFIG_CPU_R4X00 is not set | 95 | # CONFIG_CPU_R4X00 is not set | 
| 94 | # CONFIG_CPU_TX49XX is not set | 96 | # CONFIG_CPU_TX49XX is not set | 
| @@ -101,18 +103,21 @@ CONFIG_MIPS_L1_CACHE_SHIFT=5 | |||
| 101 | # CONFIG_CPU_RM7000 is not set | 103 | # CONFIG_CPU_RM7000 is not set | 
| 102 | # CONFIG_CPU_RM9000 is not set | 104 | # CONFIG_CPU_RM9000 is not set | 
| 103 | # CONFIG_CPU_SB1 is not set | 105 | # CONFIG_CPU_SB1 is not set | 
| 106 | CONFIG_SYS_HAS_CPU_VR41XX=y | ||
| 107 | CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y | ||
| 108 | CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y | ||
| 109 | CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y | ||
| 104 | 110 | ||
| 105 | # | 111 | # | 
| 106 | # Kernel type | 112 | # Kernel type | 
| 107 | # | 113 | # | 
| 108 | # CONFIG_32BIT is not set | 114 | CONFIG_32BIT=y | 
| 109 | # CONFIG_64BIT is not set | 115 | # CONFIG_64BIT is not set | 
| 110 | CONFIG_PAGE_SIZE_4KB=y | 116 | CONFIG_PAGE_SIZE_4KB=y | 
| 111 | # CONFIG_PAGE_SIZE_8KB is not set | 117 | # CONFIG_PAGE_SIZE_8KB is not set | 
| 112 | # CONFIG_PAGE_SIZE_16KB is not set | 118 | # CONFIG_PAGE_SIZE_16KB is not set | 
| 113 | # CONFIG_PAGE_SIZE_64KB is not set | 119 | # CONFIG_PAGE_SIZE_64KB is not set | 
| 114 | # CONFIG_MIPS_MT is not set | 120 | # CONFIG_MIPS_MT is not set | 
| 115 | CONFIG_CPU_HAS_LLSC=y | ||
| 116 | CONFIG_CPU_HAS_SYNC=y | 121 | CONFIG_CPU_HAS_SYNC=y | 
| 117 | CONFIG_GENERIC_HARDIRQS=y | 122 | CONFIG_GENERIC_HARDIRQS=y | 
| 118 | CONFIG_GENERIC_IRQ_PROBE=y | 123 | CONFIG_GENERIC_IRQ_PROBE=y | 
| @@ -133,7 +138,6 @@ CONFIG_PREEMPT_NONE=y | |||
| 133 | # Code maturity level options | 138 | # Code maturity level options | 
| 134 | # | 139 | # | 
| 135 | CONFIG_EXPERIMENTAL=y | 140 | CONFIG_EXPERIMENTAL=y | 
| 136 | CONFIG_CLEAN_COMPILE=y | ||
| 137 | CONFIG_BROKEN_ON_SMP=y | 141 | CONFIG_BROKEN_ON_SMP=y | 
| 138 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 142 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 
| 139 | 143 | ||
| @@ -149,6 +153,7 @@ CONFIG_SYSVIPC=y | |||
| 149 | CONFIG_SYSCTL=y | 153 | CONFIG_SYSCTL=y | 
| 150 | # CONFIG_AUDIT is not set | 154 | # CONFIG_AUDIT is not set | 
| 151 | # CONFIG_IKCONFIG is not set | 155 | # CONFIG_IKCONFIG is not set | 
| 156 | # CONFIG_RELAY is not set | ||
| 152 | CONFIG_INITRAMFS_SOURCE="" | 157 | CONFIG_INITRAMFS_SOURCE="" | 
| 153 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 158 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 
| 154 | CONFIG_EMBEDDED=y | 159 | CONFIG_EMBEDDED=y | 
| @@ -162,10 +167,6 @@ CONFIG_BASE_FULL=y | |||
| 162 | CONFIG_FUTEX=y | 167 | CONFIG_FUTEX=y | 
| 163 | CONFIG_EPOLL=y | 168 | CONFIG_EPOLL=y | 
| 164 | CONFIG_SHMEM=y | 169 | CONFIG_SHMEM=y | 
| 165 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
| 166 | CONFIG_CC_ALIGN_LABELS=0 | ||
| 167 | CONFIG_CC_ALIGN_LOOPS=0 | ||
| 168 | CONFIG_CC_ALIGN_JUMPS=0 | ||
| 169 | CONFIG_SLAB=y | 170 | CONFIG_SLAB=y | 
| 170 | # CONFIG_TINY_SHMEM is not set | 171 | # CONFIG_TINY_SHMEM is not set | 
| 171 | CONFIG_BASE_SMALL=0 | 172 | CONFIG_BASE_SMALL=0 | 
| @@ -177,7 +178,6 @@ CONFIG_BASE_SMALL=0 | |||
| 177 | CONFIG_MODULES=y | 178 | CONFIG_MODULES=y | 
| 178 | CONFIG_MODULE_UNLOAD=y | 179 | CONFIG_MODULE_UNLOAD=y | 
| 179 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 180 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 
| 180 | CONFIG_OBSOLETE_MODPARM=y | ||
| 181 | CONFIG_MODVERSIONS=y | 181 | CONFIG_MODVERSIONS=y | 
| 182 | CONFIG_MODULE_SRCVERSION_ALL=y | 182 | CONFIG_MODULE_SRCVERSION_ALL=y | 
| 183 | CONFIG_KMOD=y | 183 | CONFIG_KMOD=y | 
| @@ -185,6 +185,9 @@ CONFIG_KMOD=y | |||
| 185 | # | 185 | # | 
| 186 | # Block layer | 186 | # Block layer | 
| 187 | # | 187 | # | 
| 188 | # CONFIG_LBD is not set | ||
| 189 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 190 | # CONFIG_LSF is not set | ||
| 188 | 191 | ||
| 189 | # | 192 | # | 
| 190 | # IO Schedulers | 193 | # IO Schedulers | 
| @@ -220,6 +223,7 @@ CONFIG_PCMCIA_IOCTL=y | |||
| 220 | # CONFIG_I82365 is not set | 223 | # CONFIG_I82365 is not set | 
| 221 | # CONFIG_TCIC is not set | 224 | # CONFIG_TCIC is not set | 
| 222 | CONFIG_PCMCIA_PROBE=y | 225 | CONFIG_PCMCIA_PROBE=y | 
| 226 | CONFIG_PCMCIA_VRC4171=y | ||
| 223 | 227 | ||
| 224 | # | 228 | # | 
| 225 | # PCI Hotplug Support | 229 | # PCI Hotplug Support | 
| @@ -230,6 +234,7 @@ CONFIG_PCMCIA_PROBE=y | |||
| 230 | # | 234 | # | 
| 231 | CONFIG_BINFMT_ELF=y | 235 | CONFIG_BINFMT_ELF=y | 
| 232 | # CONFIG_BINFMT_MISC is not set | 236 | # CONFIG_BINFMT_MISC is not set | 
| 237 | CONFIG_TRAD_SIGNALS=y | ||
| 233 | 238 | ||
| 234 | # | 239 | # | 
| 235 | # Networking | 240 | # Networking | 
| @@ -239,6 +244,7 @@ CONFIG_NET=y | |||
| 239 | # | 244 | # | 
| 240 | # Networking options | 245 | # Networking options | 
| 241 | # | 246 | # | 
| 247 | # CONFIG_NETDEBUG is not set | ||
| 242 | CONFIG_PACKET=y | 248 | CONFIG_PACKET=y | 
| 243 | CONFIG_PACKET_MMAP=y | 249 | CONFIG_PACKET_MMAP=y | 
| 244 | CONFIG_UNIX=y | 250 | CONFIG_UNIX=y | 
| @@ -258,12 +264,15 @@ CONFIG_IP_FIB_HASH=y | |||
| 258 | # CONFIG_INET_AH is not set | 264 | # CONFIG_INET_AH is not set | 
| 259 | # CONFIG_INET_ESP is not set | 265 | # CONFIG_INET_ESP is not set | 
| 260 | # CONFIG_INET_IPCOMP is not set | 266 | # CONFIG_INET_IPCOMP is not set | 
| 261 | CONFIG_INET_TUNNEL=m | 267 | # CONFIG_INET_XFRM_TUNNEL is not set | 
| 268 | # CONFIG_INET_TUNNEL is not set | ||
| 262 | CONFIG_INET_DIAG=y | 269 | CONFIG_INET_DIAG=y | 
| 263 | CONFIG_INET_TCP_DIAG=y | 270 | CONFIG_INET_TCP_DIAG=y | 
| 264 | # CONFIG_TCP_CONG_ADVANCED is not set | 271 | # CONFIG_TCP_CONG_ADVANCED is not set | 
| 265 | CONFIG_TCP_CONG_BIC=y | 272 | CONFIG_TCP_CONG_BIC=y | 
| 266 | # CONFIG_IPV6 is not set | 273 | # CONFIG_IPV6 is not set | 
| 274 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
| 275 | # CONFIG_INET6_TUNNEL is not set | ||
| 267 | # CONFIG_NETFILTER is not set | 276 | # CONFIG_NETFILTER is not set | 
| 268 | 277 | ||
| 269 | # | 278 | # | 
| @@ -275,6 +284,11 @@ CONFIG_TCP_CONG_BIC=y | |||
| 275 | # SCTP Configuration (EXPERIMENTAL) | 284 | # SCTP Configuration (EXPERIMENTAL) | 
| 276 | # | 285 | # | 
| 277 | # CONFIG_IP_SCTP is not set | 286 | # CONFIG_IP_SCTP is not set | 
| 287 | |||
| 288 | # | ||
| 289 | # TIPC Configuration (EXPERIMENTAL) | ||
| 290 | # | ||
| 291 | # CONFIG_TIPC is not set | ||
| 278 | # CONFIG_ATM is not set | 292 | # CONFIG_ATM is not set | 
| 279 | # CONFIG_BRIDGE is not set | 293 | # CONFIG_BRIDGE is not set | 
| 280 | # CONFIG_VLAN_8021Q is not set | 294 | # CONFIG_VLAN_8021Q is not set | 
| @@ -284,11 +298,6 @@ CONFIG_TCP_CONG_BIC=y | |||
| 284 | # CONFIG_ATALK is not set | 298 | # CONFIG_ATALK is not set | 
| 285 | # CONFIG_X25 is not set | 299 | # CONFIG_X25 is not set | 
| 286 | # CONFIG_LAPB is not set | 300 | # CONFIG_LAPB is not set | 
| 287 | |||
| 288 | # | ||
| 289 | # TIPC Configuration (EXPERIMENTAL) | ||
| 290 | # | ||
| 291 | # CONFIG_TIPC is not set | ||
| 292 | # CONFIG_NET_DIVERT is not set | 301 | # CONFIG_NET_DIVERT is not set | 
| 293 | # CONFIG_ECONET is not set | 302 | # CONFIG_ECONET is not set | 
| 294 | # CONFIG_WAN_ROUTER is not set | 303 | # CONFIG_WAN_ROUTER is not set | 
| @@ -305,10 +314,8 @@ CONFIG_TCP_CONG_BIC=y | |||
| 305 | # CONFIG_HAMRADIO is not set | 314 | # CONFIG_HAMRADIO is not set | 
| 306 | # CONFIG_IRDA is not set | 315 | # CONFIG_IRDA is not set | 
| 307 | # CONFIG_BT is not set | 316 | # CONFIG_BT is not set | 
| 308 | CONFIG_IEEE80211=m | 317 | # CONFIG_IEEE80211 is not set | 
| 309 | # CONFIG_IEEE80211_DEBUG is not set | 318 | CONFIG_WIRELESS_EXT=y | 
| 310 | CONFIG_IEEE80211_CRYPT_WEP=m | ||
| 311 | CONFIG_IEEE80211_CRYPT_CCMP=m | ||
| 312 | 319 | ||
| 313 | # | 320 | # | 
| 314 | # Device Drivers | 321 | # Device Drivers | 
| @@ -347,10 +354,12 @@ CONFIG_CONNECTOR=m | |||
| 347 | # CONFIG_BLK_DEV_COW_COMMON is not set | 354 | # CONFIG_BLK_DEV_COW_COMMON is not set | 
| 348 | # CONFIG_BLK_DEV_LOOP is not set | 355 | # CONFIG_BLK_DEV_LOOP is not set | 
| 349 | # CONFIG_BLK_DEV_NBD is not set | 356 | # CONFIG_BLK_DEV_NBD is not set | 
| 350 | # CONFIG_BLK_DEV_RAM is not set | 357 | CONFIG_BLK_DEV_RAM=m | 
| 351 | CONFIG_BLK_DEV_RAM_COUNT=16 | 358 | CONFIG_BLK_DEV_RAM_COUNT=16 | 
| 359 | CONFIG_BLK_DEV_RAM_SIZE=4096 | ||
| 360 | # CONFIG_BLK_DEV_INITRD is not set | ||
| 352 | # CONFIG_CDROM_PKTCDVD is not set | 361 | # CONFIG_CDROM_PKTCDVD is not set | 
| 353 | CONFIG_ATA_OVER_ETH=m | 362 | # CONFIG_ATA_OVER_ETH is not set | 
| 354 | 363 | ||
| 355 | # | 364 | # | 
| 356 | # ATA/ATAPI/MFM/RLL support | 365 | # ATA/ATAPI/MFM/RLL support | 
| @@ -468,7 +477,38 @@ CONFIG_MII=m | |||
| 468 | # | 477 | # | 
| 469 | # Wireless LAN (non-hamradio) | 478 | # Wireless LAN (non-hamradio) | 
| 470 | # | 479 | # | 
| 471 | # CONFIG_NET_RADIO is not set | 480 | CONFIG_NET_RADIO=y | 
| 481 | # CONFIG_NET_WIRELESS_RTNETLINK is not set | ||
| 482 | |||
| 483 | # | ||
| 484 | # Obsolete Wireless cards support (pre-802.11) | ||
| 485 | # | ||
| 486 | # CONFIG_STRIP is not set | ||
| 487 | # CONFIG_ARLAN is not set | ||
| 488 | # CONFIG_WAVELAN is not set | ||
| 489 | # CONFIG_PCMCIA_WAVELAN is not set | ||
| 490 | # CONFIG_PCMCIA_NETWAVE is not set | ||
| 491 | |||
| 492 | # | ||
| 493 | # Wireless 802.11 Frequency Hopping cards support | ||
| 494 | # | ||
| 495 | # CONFIG_PCMCIA_RAYCS is not set | ||
| 496 | |||
| 497 | # | ||
| 498 | # Wireless 802.11b ISA/PCI cards support | ||
| 499 | # | ||
| 500 | CONFIG_HERMES=m | ||
| 501 | # CONFIG_ATMEL is not set | ||
| 502 | |||
| 503 | # | ||
| 504 | # Wireless 802.11b Pcmcia/Cardbus cards support | ||
| 505 | # | ||
| 506 | CONFIG_PCMCIA_HERMES=m | ||
| 507 | # CONFIG_PCMCIA_SPECTRUM is not set | ||
| 508 | # CONFIG_AIRO_CS is not set | ||
| 509 | # CONFIG_PCMCIA_WL3501 is not set | ||
| 510 | # CONFIG_HOSTAP is not set | ||
| 511 | CONFIG_NET_WIRELESS=y | ||
| 472 | 512 | ||
| 473 | # | 513 | # | 
| 474 | # PCMCIA network device support | 514 | # PCMCIA network device support | 
| @@ -512,10 +552,7 @@ CONFIG_INPUT=y | |||
| 512 | # | 552 | # | 
| 513 | # Userland interfaces | 553 | # Userland interfaces | 
| 514 | # | 554 | # | 
| 515 | CONFIG_INPUT_MOUSEDEV=y | 555 | # CONFIG_INPUT_MOUSEDEV is not set | 
| 516 | CONFIG_INPUT_MOUSEDEV_PSAUX=y | ||
| 517 | CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 | ||
| 518 | CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 | ||
| 519 | # CONFIG_INPUT_JOYDEV is not set | 556 | # CONFIG_INPUT_JOYDEV is not set | 
| 520 | # CONFIG_INPUT_TSDEV is not set | 557 | # CONFIG_INPUT_TSDEV is not set | 
| 521 | # CONFIG_INPUT_EVDEV is not set | 558 | # CONFIG_INPUT_EVDEV is not set | 
| @@ -533,11 +570,7 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 | |||
| 533 | # | 570 | # | 
| 534 | # Hardware I/O ports | 571 | # Hardware I/O ports | 
| 535 | # | 572 | # | 
| 536 | CONFIG_SERIO=y | 573 | # CONFIG_SERIO is not set | 
| 537 | # CONFIG_SERIO_I8042 is not set | ||
| 538 | CONFIG_SERIO_SERPORT=y | ||
| 539 | # CONFIG_SERIO_LIBPS2 is not set | ||
| 540 | CONFIG_SERIO_RAW=m | ||
| 541 | # CONFIG_GAMEPORT is not set | 574 | # CONFIG_GAMEPORT is not set | 
| 542 | 575 | ||
| 543 | # | 576 | # | 
| @@ -556,6 +589,10 @@ CONFIG_HW_CONSOLE=y | |||
| 556 | # | 589 | # | 
| 557 | # Non-8250 serial port support | 590 | # Non-8250 serial port support | 
| 558 | # | 591 | # | 
| 592 | CONFIG_SERIAL_CORE=y | ||
| 593 | CONFIG_SERIAL_CORE_CONSOLE=y | ||
| 594 | CONFIG_SERIAL_VR41XX=y | ||
| 595 | CONFIG_SERIAL_VR41XX_CONSOLE=y | ||
| 559 | CONFIG_UNIX98_PTYS=y | 596 | CONFIG_UNIX98_PTYS=y | 
| 560 | CONFIG_LEGACY_PTYS=y | 597 | CONFIG_LEGACY_PTYS=y | 
| 561 | CONFIG_LEGACY_PTY_COUNT=256 | 598 | CONFIG_LEGACY_PTY_COUNT=256 | 
| @@ -568,20 +605,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
| 568 | # | 605 | # | 
| 569 | # Watchdog Cards | 606 | # Watchdog Cards | 
| 570 | # | 607 | # | 
| 571 | CONFIG_WATCHDOG=y | 608 | # CONFIG_WATCHDOG is not set | 
| 572 | # CONFIG_WATCHDOG_NOWAYOUT is not set | ||
| 573 | |||
| 574 | # | ||
| 575 | # Watchdog Device Drivers | ||
| 576 | # | ||
| 577 | # CONFIG_SOFT_WATCHDOG is not set | ||
| 578 | |||
| 579 | # | ||
| 580 | # ISA-based Watchdog Cards | ||
| 581 | # | ||
| 582 | # CONFIG_PCWATCHDOG is not set | ||
| 583 | # CONFIG_MIXCOMWD is not set | ||
| 584 | # CONFIG_WDT is not set | ||
| 585 | # CONFIG_RTC is not set | 609 | # CONFIG_RTC is not set | 
| 586 | # CONFIG_GEN_RTC is not set | 610 | # CONFIG_GEN_RTC is not set | 
| 587 | # CONFIG_DTLK is not set | 611 | # CONFIG_DTLK is not set | 
| @@ -597,6 +621,7 @@ CONFIG_WATCHDOG=y | |||
| 597 | # CONFIG_SYNCLINK_CS is not set | 621 | # CONFIG_SYNCLINK_CS is not set | 
| 598 | # CONFIG_CARDMAN_4000 is not set | 622 | # CONFIG_CARDMAN_4000 is not set | 
| 599 | # CONFIG_CARDMAN_4040 is not set | 623 | # CONFIG_CARDMAN_4040 is not set | 
| 624 | # CONFIG_GPIO_VR41XX is not set | ||
| 600 | # CONFIG_RAW_DRIVER is not set | 625 | # CONFIG_RAW_DRIVER is not set | 
| 601 | 626 | ||
| 602 | # | 627 | # | 
| @@ -632,10 +657,6 @@ CONFIG_WATCHDOG=y | |||
| 632 | # | 657 | # | 
| 633 | 658 | ||
| 634 | # | 659 | # | 
| 635 | # Multimedia Capabilities Port drivers | ||
| 636 | # | ||
| 637 | |||
| 638 | # | ||
| 639 | # Multimedia devices | 660 | # Multimedia devices | 
| 640 | # | 661 | # | 
| 641 | # CONFIG_VIDEO_DEV is not set | 662 | # CONFIG_VIDEO_DEV is not set | 
| @@ -667,6 +688,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
| 667 | # | 688 | # | 
| 668 | # CONFIG_USB_ARCH_HAS_HCD is not set | 689 | # CONFIG_USB_ARCH_HAS_HCD is not set | 
| 669 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 690 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 
| 691 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
| 670 | 692 | ||
| 671 | # | 693 | # | 
| 672 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 694 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 
| @@ -683,12 +705,30 @@ CONFIG_DUMMY_CONSOLE=y | |||
| 683 | # CONFIG_MMC is not set | 705 | # CONFIG_MMC is not set | 
| 684 | 706 | ||
| 685 | # | 707 | # | 
| 708 | # LED devices | ||
| 709 | # | ||
| 710 | # CONFIG_NEW_LEDS is not set | ||
| 711 | |||
| 712 | # | ||
| 713 | # LED drivers | ||
| 714 | # | ||
| 715 | |||
| 716 | # | ||
| 717 | # LED Triggers | ||
| 718 | # | ||
| 719 | |||
| 720 | # | ||
| 686 | # InfiniBand support | 721 | # InfiniBand support | 
| 687 | # | 722 | # | 
| 688 | 723 | ||
| 689 | # | 724 | # | 
| 690 | # SN Devices | 725 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | 
| 726 | # | ||
| 727 | |||
| 728 | # | ||
| 729 | # Real Time Clock | ||
| 691 | # | 730 | # | 
| 731 | # CONFIG_RTC_CLASS is not set | ||
| 692 | 732 | ||
| 693 | # | 733 | # | 
| 694 | # File systems | 734 | # File systems | 
| @@ -710,7 +750,7 @@ CONFIG_FS_POSIX_ACL=y | |||
| 710 | CONFIG_INOTIFY=y | 750 | CONFIG_INOTIFY=y | 
| 711 | # CONFIG_QUOTA is not set | 751 | # CONFIG_QUOTA is not set | 
| 712 | CONFIG_DNOTIFY=y | 752 | CONFIG_DNOTIFY=y | 
| 713 | CONFIG_AUTOFS_FS=y | 753 | # CONFIG_AUTOFS_FS is not set | 
| 714 | CONFIG_AUTOFS4_FS=y | 754 | CONFIG_AUTOFS4_FS=y | 
| 715 | CONFIG_FUSE_FS=m | 755 | CONFIG_FUSE_FS=m | 
| 716 | 756 | ||
| @@ -733,10 +773,9 @@ CONFIG_FUSE_FS=m | |||
| 733 | CONFIG_PROC_FS=y | 773 | CONFIG_PROC_FS=y | 
| 734 | CONFIG_PROC_KCORE=y | 774 | CONFIG_PROC_KCORE=y | 
| 735 | CONFIG_SYSFS=y | 775 | CONFIG_SYSFS=y | 
| 736 | # CONFIG_TMPFS is not set | 776 | CONFIG_TMPFS=y | 
| 737 | # CONFIG_HUGETLB_PAGE is not set | 777 | # CONFIG_HUGETLB_PAGE is not set | 
| 738 | CONFIG_RAMFS=y | 778 | CONFIG_RAMFS=y | 
| 739 | CONFIG_RELAYFS_FS=m | ||
| 740 | # CONFIG_CONFIGFS_FS is not set | 779 | # CONFIG_CONFIGFS_FS is not set | 
| 741 | 780 | ||
| 742 | # | 781 | # | 
| @@ -802,44 +841,20 @@ CONFIG_MSDOS_PARTITION=y | |||
| 802 | # CONFIG_MAGIC_SYSRQ is not set | 841 | # CONFIG_MAGIC_SYSRQ is not set | 
| 803 | # CONFIG_DEBUG_KERNEL is not set | 842 | # CONFIG_DEBUG_KERNEL is not set | 
| 804 | CONFIG_LOG_BUF_SHIFT=14 | 843 | CONFIG_LOG_BUF_SHIFT=14 | 
| 844 | # CONFIG_DEBUG_FS is not set | ||
| 805 | CONFIG_CROSSCOMPILE=y | 845 | CONFIG_CROSSCOMPILE=y | 
| 806 | CONFIG_CMDLINE="console=ttyVR0,19200 mem=16M" | 846 | CONFIG_CMDLINE="console=ttyVR0,19200 mem=16M" | 
| 807 | 847 | ||
| 808 | # | 848 | # | 
| 809 | # Security options | 849 | # Security options | 
| 810 | # | 850 | # | 
| 811 | CONFIG_KEYS=y | 851 | # CONFIG_KEYS is not set | 
| 812 | CONFIG_KEYS_DEBUG_PROC_KEYS=y | ||
| 813 | # CONFIG_SECURITY is not set | 852 | # CONFIG_SECURITY is not set | 
| 814 | 853 | ||
| 815 | # | 854 | # | 
| 816 | # Cryptographic options | 855 | # Cryptographic options | 
| 817 | # | 856 | # | 
| 818 | CONFIG_CRYPTO=y | 857 | # CONFIG_CRYPTO is not set | 
| 819 | CONFIG_CRYPTO_HMAC=y | ||
| 820 | CONFIG_CRYPTO_NULL=m | ||
| 821 | CONFIG_CRYPTO_MD4=m | ||
| 822 | CONFIG_CRYPTO_MD5=m | ||
| 823 | CONFIG_CRYPTO_SHA1=m | ||
| 824 | CONFIG_CRYPTO_SHA256=m | ||
| 825 | CONFIG_CRYPTO_SHA512=m | ||
| 826 | CONFIG_CRYPTO_WP512=m | ||
| 827 | CONFIG_CRYPTO_TGR192=m | ||
| 828 | CONFIG_CRYPTO_DES=m | ||
| 829 | CONFIG_CRYPTO_BLOWFISH=m | ||
| 830 | CONFIG_CRYPTO_TWOFISH=m | ||
| 831 | CONFIG_CRYPTO_SERPENT=m | ||
| 832 | CONFIG_CRYPTO_AES=m | ||
| 833 | CONFIG_CRYPTO_CAST5=m | ||
| 834 | CONFIG_CRYPTO_CAST6=m | ||
| 835 | CONFIG_CRYPTO_TEA=m | ||
| 836 | CONFIG_CRYPTO_ARC4=m | ||
| 837 | CONFIG_CRYPTO_KHAZAD=m | ||
| 838 | CONFIG_CRYPTO_ANUBIS=m | ||
| 839 | CONFIG_CRYPTO_DEFLATE=m | ||
| 840 | CONFIG_CRYPTO_MICHAEL_MIC=m | ||
| 841 | CONFIG_CRYPTO_CRC32C=m | ||
| 842 | # CONFIG_CRYPTO_TEST is not set | ||
| 843 | 858 | ||
| 844 | # | 859 | # | 
| 845 | # Hardware crypto devices | 860 | # Hardware crypto devices | 
| @@ -849,8 +864,6 @@ CONFIG_CRYPTO_CRC32C=m | |||
| 849 | # Library routines | 864 | # Library routines | 
| 850 | # | 865 | # | 
| 851 | # CONFIG_CRC_CCITT is not set | 866 | # CONFIG_CRC_CCITT is not set | 
| 852 | CONFIG_CRC16=m | 867 | # CONFIG_CRC16 is not set | 
| 853 | CONFIG_CRC32=y | 868 | CONFIG_CRC32=y | 
| 854 | CONFIG_LIBCRC32C=m | 869 | # CONFIG_LIBCRC32C is not set | 
| 855 | CONFIG_ZLIB_INFLATE=m | ||
| 856 | CONFIG_ZLIB_DEFLATE=m | ||
diff --git a/arch/mips/configs/yosemite_defconfig b/arch/mips/configs/yosemite_defconfig index 67457850941d..b52d709de962 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.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 | 
| 4 | # Fri Jan 27 15:40:37 2006 | 4 | # Mon Apr 24 14:51:20 2006 | 
| 5 | # | 5 | # | 
| 6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y | 
| 7 | 7 | ||
| @@ -65,6 +65,8 @@ CONFIG_PMC_YOSEMITE=y | |||
| 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 
| 66 | # CONFIG_HYPERTRANSPORT is not set | 66 | # CONFIG_HYPERTRANSPORT is not set | 
| 67 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 67 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 
| 68 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
| 69 | CONFIG_GENERIC_HWEIGHT=y | ||
| 68 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 70 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 
| 69 | CONFIG_DMA_COHERENT=y | 71 | CONFIG_DMA_COHERENT=y | 
| 70 | CONFIG_CPU_BIG_ENDIAN=y | 72 | CONFIG_CPU_BIG_ENDIAN=y | 
| @@ -116,7 +118,6 @@ CONFIG_PAGE_SIZE_4KB=y | |||
| 116 | CONFIG_CPU_HAS_PREFETCH=y | 118 | CONFIG_CPU_HAS_PREFETCH=y | 
| 117 | # CONFIG_MIPS_MT is not set | 119 | # CONFIG_MIPS_MT is not set | 
| 118 | # CONFIG_64BIT_PHYS_ADDR is not set | 120 | # CONFIG_64BIT_PHYS_ADDR is not set | 
| 119 | # CONFIG_CPU_ADVANCED is not set | ||
| 120 | CONFIG_CPU_HAS_LLSC=y | 121 | CONFIG_CPU_HAS_LLSC=y | 
| 121 | CONFIG_CPU_HAS_SYNC=y | 122 | CONFIG_CPU_HAS_SYNC=y | 
| 122 | CONFIG_GENERIC_HARDIRQS=y | 123 | CONFIG_GENERIC_HARDIRQS=y | 
| @@ -140,7 +141,6 @@ CONFIG_PREEMPT_BKL=y | |||
| 140 | # Code maturity level options | 141 | # Code maturity level options | 
| 141 | # | 142 | # | 
| 142 | # CONFIG_EXPERIMENTAL is not set | 143 | # CONFIG_EXPERIMENTAL is not set | 
| 143 | CONFIG_CLEAN_COMPILE=y | ||
| 144 | CONFIG_LOCK_KERNEL=y | 144 | CONFIG_LOCK_KERNEL=y | 
| 145 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 145 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 
| 146 | 146 | ||
| @@ -157,6 +157,7 @@ CONFIG_SYSCTL=y | |||
| 157 | CONFIG_IKCONFIG=y | 157 | CONFIG_IKCONFIG=y | 
| 158 | CONFIG_IKCONFIG_PROC=y | 158 | CONFIG_IKCONFIG_PROC=y | 
| 159 | # CONFIG_CPUSETS is not set | 159 | # CONFIG_CPUSETS is not set | 
| 160 | CONFIG_RELAY=y | ||
| 160 | CONFIG_INITRAMFS_SOURCE="" | 161 | CONFIG_INITRAMFS_SOURCE="" | 
| 161 | CONFIG_EMBEDDED=y | 162 | CONFIG_EMBEDDED=y | 
| 162 | CONFIG_KALLSYMS=y | 163 | CONFIG_KALLSYMS=y | 
| @@ -170,10 +171,6 @@ CONFIG_BASE_FULL=y | |||
| 170 | CONFIG_FUTEX=y | 171 | CONFIG_FUTEX=y | 
| 171 | CONFIG_EPOLL=y | 172 | CONFIG_EPOLL=y | 
| 172 | CONFIG_SHMEM=y | 173 | CONFIG_SHMEM=y | 
| 173 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
| 174 | CONFIG_CC_ALIGN_LABELS=0 | ||
| 175 | CONFIG_CC_ALIGN_LOOPS=0 | ||
| 176 | CONFIG_CC_ALIGN_JUMPS=0 | ||
| 177 | CONFIG_SLAB=y | 174 | CONFIG_SLAB=y | 
| 178 | # CONFIG_TINY_SHMEM is not set | 175 | # CONFIG_TINY_SHMEM is not set | 
| 179 | CONFIG_BASE_SMALL=0 | 176 | CONFIG_BASE_SMALL=0 | 
| @@ -184,7 +181,6 @@ CONFIG_BASE_SMALL=0 | |||
| 184 | # | 181 | # | 
| 185 | CONFIG_MODULES=y | 182 | CONFIG_MODULES=y | 
| 186 | CONFIG_MODULE_UNLOAD=y | 183 | CONFIG_MODULE_UNLOAD=y | 
| 187 | CONFIG_OBSOLETE_MODPARM=y | ||
| 188 | # CONFIG_MODVERSIONS is not set | 184 | # CONFIG_MODVERSIONS is not set | 
| 189 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 185 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 
| 190 | CONFIG_KMOD=y | 186 | CONFIG_KMOD=y | 
| @@ -194,6 +190,8 @@ CONFIG_STOP_MACHINE=y | |||
| 194 | # Block layer | 190 | # Block layer | 
| 195 | # | 191 | # | 
| 196 | # CONFIG_LBD is not set | 192 | # CONFIG_LBD is not set | 
| 193 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 194 | # CONFIG_LSF is not set | ||
| 197 | 195 | ||
| 198 | # | 196 | # | 
| 199 | # IO Schedulers | 197 | # IO Schedulers | 
| @@ -213,7 +211,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
| 213 | # | 211 | # | 
| 214 | CONFIG_HW_HAS_PCI=y | 212 | CONFIG_HW_HAS_PCI=y | 
| 215 | CONFIG_PCI=y | 213 | CONFIG_PCI=y | 
| 216 | CONFIG_PCI_LEGACY_PROC=y | ||
| 217 | # CONFIG_PCI_DEBUG is not set | 214 | # CONFIG_PCI_DEBUG is not set | 
| 218 | CONFIG_MMU=y | 215 | CONFIG_MMU=y | 
| 219 | 216 | ||
| @@ -241,6 +238,7 @@ CONFIG_NET=y | |||
| 241 | # | 238 | # | 
| 242 | # Networking options | 239 | # Networking options | 
| 243 | # | 240 | # | 
| 241 | # CONFIG_NETDEBUG is not set | ||
| 244 | CONFIG_PACKET=m | 242 | CONFIG_PACKET=m | 
| 245 | CONFIG_PACKET_MMAP=y | 243 | CONFIG_PACKET_MMAP=y | 
| 246 | CONFIG_UNIX=y | 244 | CONFIG_UNIX=y | 
| @@ -261,16 +259,19 @@ CONFIG_IP_PNP_BOOTP=y | |||
| 261 | # CONFIG_INET_AH is not set | 259 | # CONFIG_INET_AH is not set | 
| 262 | # CONFIG_INET_ESP is not set | 260 | # CONFIG_INET_ESP is not set | 
| 263 | # CONFIG_INET_IPCOMP is not set | 261 | # CONFIG_INET_IPCOMP is not set | 
| 264 | CONFIG_INET_TUNNEL=m | 262 | # CONFIG_INET_XFRM_TUNNEL is not set | 
| 263 | # CONFIG_INET_TUNNEL is not set | ||
| 265 | CONFIG_INET_DIAG=y | 264 | CONFIG_INET_DIAG=y | 
| 266 | CONFIG_INET_TCP_DIAG=y | 265 | CONFIG_INET_TCP_DIAG=y | 
| 267 | # CONFIG_TCP_CONG_ADVANCED is not set | 266 | # CONFIG_TCP_CONG_ADVANCED is not set | 
| 268 | CONFIG_TCP_CONG_BIC=y | 267 | CONFIG_TCP_CONG_BIC=y | 
| 269 | CONFIG_IPV6=m | 268 | CONFIG_IPV6=m | 
| 270 | CONFIG_IPV6_PRIVACY=y | 269 | CONFIG_IPV6_PRIVACY=y | 
| 270 | CONFIG_IPV6_ROUTER_PREF=y | ||
| 271 | CONFIG_INET6_AH=m | 271 | CONFIG_INET6_AH=m | 
| 272 | CONFIG_INET6_ESP=m | 272 | CONFIG_INET6_ESP=m | 
| 273 | CONFIG_INET6_IPCOMP=m | 273 | CONFIG_INET6_IPCOMP=m | 
| 274 | CONFIG_INET6_XFRM_TUNNEL=m | ||
| 274 | CONFIG_INET6_TUNNEL=m | 275 | CONFIG_INET6_TUNNEL=m | 
| 275 | CONFIG_IPV6_TUNNEL=m | 276 | CONFIG_IPV6_TUNNEL=m | 
| 276 | # CONFIG_NETFILTER is not set | 277 | # CONFIG_NETFILTER is not set | 
| @@ -340,10 +341,9 @@ CONFIG_CONNECTOR=m | |||
| 340 | # CONFIG_BLK_DEV_NBD is not set | 341 | # CONFIG_BLK_DEV_NBD is not set | 
| 341 | # CONFIG_BLK_DEV_SX8 is not set | 342 | # CONFIG_BLK_DEV_SX8 is not set | 
| 342 | # CONFIG_BLK_DEV_RAM is not set | 343 | # CONFIG_BLK_DEV_RAM is not set | 
| 343 | CONFIG_BLK_DEV_RAM_COUNT=16 | 344 | # CONFIG_BLK_DEV_INITRD is not set | 
| 344 | CONFIG_CDROM_PKTCDVD=m | 345 | CONFIG_CDROM_PKTCDVD=m | 
| 345 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 346 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 
| 346 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | ||
| 347 | CONFIG_ATA_OVER_ETH=m | 347 | CONFIG_ATA_OVER_ETH=m | 
| 348 | 348 | ||
| 349 | # | 349 | # | 
| @@ -433,6 +433,7 @@ CONFIG_MII=y | |||
| 433 | # CONFIG_HAMACHI is not set | 433 | # CONFIG_HAMACHI is not set | 
| 434 | # CONFIG_R8169 is not set | 434 | # CONFIG_R8169 is not set | 
| 435 | # CONFIG_SIS190 is not set | 435 | # CONFIG_SIS190 is not set | 
| 436 | # CONFIG_SKGE is not set | ||
| 436 | # CONFIG_SK98LIN is not set | 437 | # CONFIG_SK98LIN is not set | 
| 437 | # CONFIG_TIGON3 is not set | 438 | # CONFIG_TIGON3 is not set | 
| 438 | # CONFIG_BNX2 is not set | 439 | # CONFIG_BNX2 is not set | 
| @@ -497,6 +498,7 @@ CONFIG_TITAN_GE=y | |||
| 497 | # | 498 | # | 
| 498 | CONFIG_SERIAL_8250=y | 499 | CONFIG_SERIAL_8250=y | 
| 499 | CONFIG_SERIAL_8250_CONSOLE=y | 500 | CONFIG_SERIAL_8250_CONSOLE=y | 
| 501 | CONFIG_SERIAL_8250_PCI=y | ||
| 500 | CONFIG_SERIAL_8250_NR_UARTS=4 | 502 | CONFIG_SERIAL_8250_NR_UARTS=4 | 
| 501 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 503 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 
| 502 | # CONFIG_SERIAL_8250_EXTENDED is not set | 504 | # CONFIG_SERIAL_8250_EXTENDED is not set | 
| @@ -506,6 +508,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | |||
| 506 | # | 508 | # | 
| 507 | CONFIG_SERIAL_CORE=y | 509 | CONFIG_SERIAL_CORE=y | 
| 508 | CONFIG_SERIAL_CORE_CONSOLE=y | 510 | CONFIG_SERIAL_CORE_CONSOLE=y | 
| 511 | # CONFIG_SERIAL_JSM is not set | ||
| 509 | CONFIG_UNIX98_PTYS=y | 512 | CONFIG_UNIX98_PTYS=y | 
| 510 | CONFIG_LEGACY_PTYS=y | 513 | CONFIG_LEGACY_PTYS=y | 
| 511 | CONFIG_LEGACY_PTY_COUNT=256 | 514 | CONFIG_LEGACY_PTY_COUNT=256 | 
| @@ -563,10 +566,6 @@ CONFIG_GEN_RTC_X=y | |||
| 563 | # | 566 | # | 
| 564 | 567 | ||
| 565 | # | 568 | # | 
| 566 | # Multimedia Capabilities Port drivers | ||
| 567 | # | ||
| 568 | |||
| 569 | # | ||
| 570 | # Multimedia devices | 569 | # Multimedia devices | 
| 571 | # | 570 | # | 
| 572 | # CONFIG_VIDEO_DEV is not set | 571 | # CONFIG_VIDEO_DEV is not set | 
| @@ -591,6 +590,7 @@ CONFIG_GEN_RTC_X=y | |||
| 591 | # | 590 | # | 
| 592 | CONFIG_USB_ARCH_HAS_HCD=y | 591 | CONFIG_USB_ARCH_HAS_HCD=y | 
| 593 | CONFIG_USB_ARCH_HAS_OHCI=y | 592 | CONFIG_USB_ARCH_HAS_OHCI=y | 
| 593 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
| 594 | # CONFIG_USB is not set | 594 | # CONFIG_USB is not set | 
| 595 | 595 | ||
| 596 | # | 596 | # | 
| @@ -608,12 +608,29 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
| 608 | # CONFIG_MMC is not set | 608 | # CONFIG_MMC is not set | 
| 609 | 609 | ||
| 610 | # | 610 | # | 
| 611 | # LED devices | ||
| 612 | # | ||
| 613 | # CONFIG_NEW_LEDS is not set | ||
| 614 | |||
| 615 | # | ||
| 616 | # LED drivers | ||
| 617 | # | ||
| 618 | |||
| 619 | # | ||
| 620 | # LED Triggers | ||
| 621 | # | ||
| 622 | |||
| 623 | # | ||
| 611 | # InfiniBand support | 624 | # InfiniBand support | 
| 612 | # | 625 | # | 
| 613 | # CONFIG_INFINIBAND is not set | 626 | # CONFIG_INFINIBAND is not set | 
| 614 | 627 | ||
| 615 | # | 628 | # | 
| 616 | # SN Devices | 629 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | 
| 630 | # | ||
| 631 | |||
| 632 | # | ||
| 633 | # Real Time Clock | ||
| 617 | # | 634 | # | 
| 618 | 635 | ||
| 619 | # | 636 | # | 
| @@ -656,7 +673,6 @@ CONFIG_SYSFS=y | |||
| 656 | CONFIG_TMPFS=y | 673 | CONFIG_TMPFS=y | 
| 657 | # CONFIG_HUGETLB_PAGE is not set | 674 | # CONFIG_HUGETLB_PAGE is not set | 
| 658 | CONFIG_RAMFS=y | 675 | CONFIG_RAMFS=y | 
| 659 | CONFIG_RELAYFS_FS=m | ||
| 660 | 676 | ||
| 661 | # | 677 | # | 
| 662 | # Miscellaneous filesystems | 678 | # Miscellaneous filesystems | 
diff --git a/arch/mips/defconfig b/arch/mips/defconfig index 42d5cd7927cb..607e2985ffe3 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.16-rc1 | 3 | # Linux kernel version: 2.6.17-rc2 | 
| 4 | # Fri Jan 27 15:39:51 2006 | 4 | # Mon Apr 24 14:50:54 2006 | 
| 5 | # | 5 | # | 
| 6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y | 
| 7 | 7 | ||
| @@ -64,6 +64,8 @@ CONFIG_SGI_IP22=y | |||
| 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 64 | # CONFIG_TOSHIBA_RBTX4927 is not set | 
| 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 65 | # CONFIG_TOSHIBA_RBTX4938 is not set | 
| 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 66 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 
| 67 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
| 68 | CONFIG_GENERIC_HWEIGHT=y | ||
| 67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 69 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 
| 68 | CONFIG_ARC=y | 70 | CONFIG_ARC=y | 
| 69 | CONFIG_DMA_NONCOHERENT=y | 71 | CONFIG_DMA_NONCOHERENT=y | 
| @@ -121,7 +123,6 @@ CONFIG_BOARD_SCACHE=y | |||
| 121 | CONFIG_IP22_CPU_SCACHE=y | 123 | CONFIG_IP22_CPU_SCACHE=y | 
| 122 | # CONFIG_MIPS_MT is not set | 124 | # CONFIG_MIPS_MT is not set | 
| 123 | # CONFIG_64BIT_PHYS_ADDR is not set | 125 | # CONFIG_64BIT_PHYS_ADDR is not set | 
| 124 | # CONFIG_CPU_ADVANCED is not set | ||
| 125 | CONFIG_CPU_HAS_LLSC=y | 126 | CONFIG_CPU_HAS_LLSC=y | 
| 126 | CONFIG_CPU_HAS_SYNC=y | 127 | CONFIG_CPU_HAS_SYNC=y | 
| 127 | CONFIG_GENERIC_HARDIRQS=y | 128 | CONFIG_GENERIC_HARDIRQS=y | 
| @@ -143,7 +144,6 @@ CONFIG_PREEMPT_VOLUNTARY=y | |||
| 143 | # Code maturity level options | 144 | # Code maturity level options | 
| 144 | # | 145 | # | 
| 145 | CONFIG_EXPERIMENTAL=y | 146 | CONFIG_EXPERIMENTAL=y | 
| 146 | CONFIG_CLEAN_COMPILE=y | ||
| 147 | CONFIG_BROKEN_ON_SMP=y | 147 | CONFIG_BROKEN_ON_SMP=y | 
| 148 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 148 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 
| 149 | 149 | ||
| @@ -160,6 +160,7 @@ CONFIG_SYSCTL=y | |||
| 160 | # CONFIG_AUDIT is not set | 160 | # CONFIG_AUDIT is not set | 
| 161 | CONFIG_IKCONFIG=y | 161 | CONFIG_IKCONFIG=y | 
| 162 | CONFIG_IKCONFIG_PROC=y | 162 | CONFIG_IKCONFIG_PROC=y | 
| 163 | CONFIG_RELAY=y | ||
| 163 | CONFIG_INITRAMFS_SOURCE="" | 164 | CONFIG_INITRAMFS_SOURCE="" | 
| 164 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 165 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 
| 165 | CONFIG_EMBEDDED=y | 166 | CONFIG_EMBEDDED=y | 
| @@ -173,10 +174,6 @@ CONFIG_BASE_FULL=y | |||
| 173 | CONFIG_FUTEX=y | 174 | CONFIG_FUTEX=y | 
| 174 | CONFIG_EPOLL=y | 175 | CONFIG_EPOLL=y | 
| 175 | CONFIG_SHMEM=y | 176 | CONFIG_SHMEM=y | 
| 176 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
| 177 | CONFIG_CC_ALIGN_LABELS=0 | ||
| 178 | CONFIG_CC_ALIGN_LOOPS=0 | ||
| 179 | CONFIG_CC_ALIGN_JUMPS=0 | ||
| 180 | CONFIG_SLAB=y | 177 | CONFIG_SLAB=y | 
| 181 | # CONFIG_TINY_SHMEM is not set | 178 | # CONFIG_TINY_SHMEM is not set | 
| 182 | CONFIG_BASE_SMALL=0 | 179 | CONFIG_BASE_SMALL=0 | 
| @@ -188,7 +185,6 @@ CONFIG_BASE_SMALL=0 | |||
| 188 | CONFIG_MODULES=y | 185 | CONFIG_MODULES=y | 
| 189 | CONFIG_MODULE_UNLOAD=y | 186 | CONFIG_MODULE_UNLOAD=y | 
| 190 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 187 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 
| 191 | CONFIG_OBSOLETE_MODPARM=y | ||
| 192 | CONFIG_MODVERSIONS=y | 188 | CONFIG_MODVERSIONS=y | 
| 193 | CONFIG_MODULE_SRCVERSION_ALL=y | 189 | CONFIG_MODULE_SRCVERSION_ALL=y | 
| 194 | CONFIG_KMOD=y | 190 | CONFIG_KMOD=y | 
| @@ -197,6 +193,8 @@ CONFIG_KMOD=y | |||
| 197 | # Block layer | 193 | # Block layer | 
| 198 | # | 194 | # | 
| 199 | # CONFIG_LBD is not set | 195 | # CONFIG_LBD is not set | 
| 196 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 197 | # CONFIG_LSF is not set | ||
| 200 | 198 | ||
| 201 | # | 199 | # | 
| 202 | # IO Schedulers | 200 | # IO Schedulers | 
| @@ -242,6 +240,7 @@ CONFIG_NET=y | |||
| 242 | # | 240 | # | 
| 243 | # Networking options | 241 | # Networking options | 
| 244 | # | 242 | # | 
| 243 | # CONFIG_NETDEBUG is not set | ||
| 245 | CONFIG_PACKET=y | 244 | CONFIG_PACKET=y | 
| 246 | CONFIG_PACKET_MMAP=y | 245 | CONFIG_PACKET_MMAP=y | 
| 247 | CONFIG_UNIX=y | 246 | CONFIG_UNIX=y | 
| @@ -264,6 +263,7 @@ CONFIG_IP_PNP_BOOTP=y | |||
| 264 | CONFIG_INET_AH=m | 263 | CONFIG_INET_AH=m | 
| 265 | CONFIG_INET_ESP=m | 264 | CONFIG_INET_ESP=m | 
| 266 | CONFIG_INET_IPCOMP=m | 265 | CONFIG_INET_IPCOMP=m | 
| 266 | CONFIG_INET_XFRM_TUNNEL=m | ||
| 267 | CONFIG_INET_TUNNEL=m | 267 | CONFIG_INET_TUNNEL=m | 
| 268 | CONFIG_INET_DIAG=y | 268 | CONFIG_INET_DIAG=y | 
| 269 | CONFIG_INET_TCP_DIAG=y | 269 | CONFIG_INET_TCP_DIAG=y | 
| @@ -305,9 +305,12 @@ CONFIG_IP_VS_NQ=m | |||
| 305 | CONFIG_IP_VS_FTP=m | 305 | CONFIG_IP_VS_FTP=m | 
| 306 | CONFIG_IPV6=m | 306 | CONFIG_IPV6=m | 
| 307 | CONFIG_IPV6_PRIVACY=y | 307 | CONFIG_IPV6_PRIVACY=y | 
| 308 | CONFIG_IPV6_ROUTER_PREF=y | ||
| 309 | CONFIG_IPV6_ROUTE_INFO=y | ||
| 308 | CONFIG_INET6_AH=m | 310 | CONFIG_INET6_AH=m | 
| 309 | CONFIG_INET6_ESP=m | 311 | CONFIG_INET6_ESP=m | 
| 310 | CONFIG_INET6_IPCOMP=m | 312 | CONFIG_INET6_IPCOMP=m | 
| 313 | CONFIG_INET6_XFRM_TUNNEL=m | ||
| 311 | CONFIG_INET6_TUNNEL=m | 314 | CONFIG_INET6_TUNNEL=m | 
| 312 | CONFIG_IPV6_TUNNEL=m | 315 | CONFIG_IPV6_TUNNEL=m | 
| 313 | CONFIG_NETFILTER=y | 316 | CONFIG_NETFILTER=y | 
| @@ -330,11 +333,14 @@ CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m | |||
| 330 | CONFIG_NETFILTER_XT_MATCH_CONNMARK=m | 333 | CONFIG_NETFILTER_XT_MATCH_CONNMARK=m | 
| 331 | CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m | 334 | CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m | 
| 332 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 335 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 
| 336 | CONFIG_NETFILTER_XT_MATCH_ESP=m | ||
| 333 | CONFIG_NETFILTER_XT_MATCH_HELPER=m | 337 | CONFIG_NETFILTER_XT_MATCH_HELPER=m | 
| 334 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | 338 | CONFIG_NETFILTER_XT_MATCH_LENGTH=m | 
| 335 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | 339 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | 
| 336 | CONFIG_NETFILTER_XT_MATCH_MAC=m | 340 | CONFIG_NETFILTER_XT_MATCH_MAC=m | 
| 337 | CONFIG_NETFILTER_XT_MATCH_MARK=m | 341 | CONFIG_NETFILTER_XT_MATCH_MARK=m | 
| 342 | CONFIG_NETFILTER_XT_MATCH_POLICY=m | ||
| 343 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m | ||
| 338 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 344 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 
| 339 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 345 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 
| 340 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | 346 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | 
| @@ -357,20 +363,19 @@ CONFIG_IP_NF_IRC=m | |||
| 357 | CONFIG_IP_NF_TFTP=m | 363 | CONFIG_IP_NF_TFTP=m | 
| 358 | CONFIG_IP_NF_AMANDA=m | 364 | CONFIG_IP_NF_AMANDA=m | 
| 359 | CONFIG_IP_NF_PPTP=m | 365 | CONFIG_IP_NF_PPTP=m | 
| 366 | CONFIG_IP_NF_H323=m | ||
| 360 | CONFIG_IP_NF_QUEUE=m | 367 | CONFIG_IP_NF_QUEUE=m | 
| 361 | CONFIG_IP_NF_IPTABLES=m | 368 | CONFIG_IP_NF_IPTABLES=m | 
| 362 | CONFIG_IP_NF_MATCH_IPRANGE=m | 369 | CONFIG_IP_NF_MATCH_IPRANGE=m | 
| 363 | CONFIG_IP_NF_MATCH_MULTIPORT=m | ||
| 364 | CONFIG_IP_NF_MATCH_TOS=m | 370 | CONFIG_IP_NF_MATCH_TOS=m | 
| 365 | CONFIG_IP_NF_MATCH_RECENT=m | 371 | CONFIG_IP_NF_MATCH_RECENT=m | 
| 366 | CONFIG_IP_NF_MATCH_ECN=m | 372 | CONFIG_IP_NF_MATCH_ECN=m | 
| 367 | CONFIG_IP_NF_MATCH_DSCP=m | 373 | CONFIG_IP_NF_MATCH_DSCP=m | 
| 368 | CONFIG_IP_NF_MATCH_AH_ESP=m | 374 | CONFIG_IP_NF_MATCH_AH=m | 
| 369 | CONFIG_IP_NF_MATCH_TTL=m | 375 | CONFIG_IP_NF_MATCH_TTL=m | 
| 370 | CONFIG_IP_NF_MATCH_OWNER=m | 376 | CONFIG_IP_NF_MATCH_OWNER=m | 
| 371 | CONFIG_IP_NF_MATCH_ADDRTYPE=m | 377 | CONFIG_IP_NF_MATCH_ADDRTYPE=m | 
| 372 | CONFIG_IP_NF_MATCH_HASHLIMIT=m | 378 | CONFIG_IP_NF_MATCH_HASHLIMIT=m | 
| 373 | CONFIG_IP_NF_MATCH_POLICY=m | ||
| 374 | CONFIG_IP_NF_FILTER=m | 379 | CONFIG_IP_NF_FILTER=m | 
| 375 | CONFIG_IP_NF_TARGET_REJECT=m | 380 | CONFIG_IP_NF_TARGET_REJECT=m | 
| 376 | CONFIG_IP_NF_TARGET_LOG=m | 381 | CONFIG_IP_NF_TARGET_LOG=m | 
| @@ -388,6 +393,7 @@ CONFIG_IP_NF_NAT_FTP=m | |||
| 388 | CONFIG_IP_NF_NAT_TFTP=m | 393 | CONFIG_IP_NF_NAT_TFTP=m | 
| 389 | CONFIG_IP_NF_NAT_AMANDA=m | 394 | CONFIG_IP_NF_NAT_AMANDA=m | 
| 390 | CONFIG_IP_NF_NAT_PPTP=m | 395 | CONFIG_IP_NF_NAT_PPTP=m | 
| 396 | CONFIG_IP_NF_NAT_H323=m | ||
| 391 | CONFIG_IP_NF_MANGLE=m | 397 | CONFIG_IP_NF_MANGLE=m | 
| 392 | CONFIG_IP_NF_TARGET_TOS=m | 398 | CONFIG_IP_NF_TARGET_TOS=m | 
| 393 | CONFIG_IP_NF_TARGET_ECN=m | 399 | CONFIG_IP_NF_TARGET_ECN=m | 
| @@ -408,12 +414,10 @@ CONFIG_IP6_NF_MATCH_RT=m | |||
| 408 | CONFIG_IP6_NF_MATCH_OPTS=m | 414 | CONFIG_IP6_NF_MATCH_OPTS=m | 
| 409 | CONFIG_IP6_NF_MATCH_FRAG=m | 415 | CONFIG_IP6_NF_MATCH_FRAG=m | 
| 410 | CONFIG_IP6_NF_MATCH_HL=m | 416 | CONFIG_IP6_NF_MATCH_HL=m | 
| 411 | CONFIG_IP6_NF_MATCH_MULTIPORT=m | ||
| 412 | CONFIG_IP6_NF_MATCH_OWNER=m | 417 | CONFIG_IP6_NF_MATCH_OWNER=m | 
| 413 | CONFIG_IP6_NF_MATCH_IPV6HEADER=m | 418 | CONFIG_IP6_NF_MATCH_IPV6HEADER=m | 
| 414 | CONFIG_IP6_NF_MATCH_AHESP=m | 419 | CONFIG_IP6_NF_MATCH_AH=m | 
| 415 | CONFIG_IP6_NF_MATCH_EUI64=m | 420 | CONFIG_IP6_NF_MATCH_EUI64=m | 
| 416 | CONFIG_IP6_NF_MATCH_POLICY=m | ||
| 417 | CONFIG_IP6_NF_FILTER=m | 421 | CONFIG_IP6_NF_FILTER=m | 
| 418 | CONFIG_IP6_NF_TARGET_LOG=m | 422 | CONFIG_IP6_NF_TARGET_LOG=m | 
| 419 | CONFIG_IP6_NF_TARGET_REJECT=m | 423 | CONFIG_IP6_NF_TARGET_REJECT=m | 
| @@ -435,6 +439,11 @@ CONFIG_IP_SCTP=m | |||
| 435 | # CONFIG_SCTP_HMAC_NONE is not set | 439 | # CONFIG_SCTP_HMAC_NONE is not set | 
| 436 | # CONFIG_SCTP_HMAC_SHA1 is not set | 440 | # CONFIG_SCTP_HMAC_SHA1 is not set | 
| 437 | CONFIG_SCTP_HMAC_MD5=y | 441 | CONFIG_SCTP_HMAC_MD5=y | 
| 442 | |||
| 443 | # | ||
| 444 | # TIPC Configuration (EXPERIMENTAL) | ||
| 445 | # | ||
| 446 | # CONFIG_TIPC is not set | ||
| 438 | # CONFIG_ATM is not set | 447 | # CONFIG_ATM is not set | 
| 439 | # CONFIG_BRIDGE is not set | 448 | # CONFIG_BRIDGE is not set | 
| 440 | # CONFIG_VLAN_8021Q is not set | 449 | # CONFIG_VLAN_8021Q is not set | 
| @@ -444,11 +453,6 @@ CONFIG_SCTP_HMAC_MD5=y | |||
| 444 | # CONFIG_ATALK is not set | 453 | # CONFIG_ATALK is not set | 
| 445 | # CONFIG_X25 is not set | 454 | # CONFIG_X25 is not set | 
| 446 | # CONFIG_LAPB is not set | 455 | # CONFIG_LAPB is not set | 
| 447 | |||
| 448 | # | ||
| 449 | # TIPC Configuration (EXPERIMENTAL) | ||
| 450 | # | ||
| 451 | # CONFIG_TIPC is not set | ||
| 452 | CONFIG_NET_DIVERT=y | 456 | CONFIG_NET_DIVERT=y | 
| 453 | # CONFIG_ECONET is not set | 457 | # CONFIG_ECONET is not set | 
| 454 | # CONFIG_WAN_ROUTER is not set | 458 | # CONFIG_WAN_ROUTER is not set | 
| @@ -508,6 +512,9 @@ CONFIG_IEEE80211=m | |||
| 508 | # CONFIG_IEEE80211_DEBUG is not set | 512 | # CONFIG_IEEE80211_DEBUG is not set | 
| 509 | CONFIG_IEEE80211_CRYPT_WEP=m | 513 | CONFIG_IEEE80211_CRYPT_WEP=m | 
| 510 | CONFIG_IEEE80211_CRYPT_CCMP=m | 514 | CONFIG_IEEE80211_CRYPT_CCMP=m | 
| 515 | CONFIG_IEEE80211_SOFTMAC=m | ||
| 516 | # CONFIG_IEEE80211_SOFTMAC_DEBUG is not set | ||
| 517 | CONFIG_WIRELESS_EXT=y | ||
| 511 | 518 | ||
| 512 | # | 519 | # | 
| 513 | # Device Drivers | 520 | # Device Drivers | 
| @@ -546,7 +553,7 @@ CONFIG_CONNECTOR=m | |||
| 546 | # CONFIG_BLK_DEV_LOOP is not set | 553 | # CONFIG_BLK_DEV_LOOP is not set | 
| 547 | # CONFIG_BLK_DEV_NBD is not set | 554 | # CONFIG_BLK_DEV_NBD is not set | 
| 548 | # CONFIG_BLK_DEV_RAM is not set | 555 | # CONFIG_BLK_DEV_RAM is not set | 
| 549 | CONFIG_BLK_DEV_RAM_COUNT=16 | 556 | # CONFIG_BLK_DEV_INITRD is not set | 
| 550 | CONFIG_CDROM_PKTCDVD=m | 557 | CONFIG_CDROM_PKTCDVD=m | 
| 551 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 558 | CONFIG_CDROM_PKTCDVD_BUFFERS=8 | 
| 552 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 559 | # CONFIG_CDROM_PKTCDVD_WCACHE is not set | 
| @@ -812,10 +819,6 @@ CONFIG_MAX_RAW_DEVS=256 | |||
| 812 | # | 819 | # | 
| 813 | 820 | ||
| 814 | # | 821 | # | 
| 815 | # Multimedia Capabilities Port drivers | ||
| 816 | # | ||
| 817 | |||
| 818 | # | ||
| 819 | # Multimedia devices | 822 | # Multimedia devices | 
| 820 | # | 823 | # | 
| 821 | # CONFIG_VIDEO_DEV is not set | 824 | # CONFIG_VIDEO_DEV is not set | 
| @@ -857,6 +860,7 @@ CONFIG_LOGO_SGI_CLUT224=y | |||
| 857 | # | 860 | # | 
| 858 | # CONFIG_USB_ARCH_HAS_HCD is not set | 861 | # CONFIG_USB_ARCH_HAS_HCD is not set | 
| 859 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 862 | # CONFIG_USB_ARCH_HAS_OHCI is not set | 
| 863 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
| 860 | 864 | ||
| 861 | # | 865 | # | 
| 862 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 866 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 
| @@ -873,12 +877,30 @@ CONFIG_LOGO_SGI_CLUT224=y | |||
| 873 | # CONFIG_MMC is not set | 877 | # CONFIG_MMC is not set | 
| 874 | 878 | ||
| 875 | # | 879 | # | 
| 880 | # LED devices | ||
| 881 | # | ||
| 882 | # CONFIG_NEW_LEDS is not set | ||
| 883 | |||
| 884 | # | ||
| 885 | # LED drivers | ||
| 886 | # | ||
| 887 | |||
| 888 | # | ||
| 889 | # LED Triggers | ||
| 890 | # | ||
| 891 | |||
| 892 | # | ||
| 876 | # InfiniBand support | 893 | # InfiniBand support | 
| 877 | # | 894 | # | 
| 878 | 895 | ||
| 879 | # | 896 | # | 
| 880 | # SN Devices | 897 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | 
| 898 | # | ||
| 899 | |||
| 900 | # | ||
| 901 | # Real Time Clock | ||
| 881 | # | 902 | # | 
| 903 | # CONFIG_RTC_CLASS is not set | ||
| 882 | 904 | ||
| 883 | # | 905 | # | 
| 884 | # File systems | 906 | # File systems | 
| @@ -944,7 +966,6 @@ CONFIG_SYSFS=y | |||
| 944 | # CONFIG_TMPFS is not set | 966 | # CONFIG_TMPFS is not set | 
| 945 | # CONFIG_HUGETLB_PAGE is not set | 967 | # CONFIG_HUGETLB_PAGE is not set | 
| 946 | CONFIG_RAMFS=y | 968 | CONFIG_RAMFS=y | 
| 947 | CONFIG_RELAYFS_FS=m | ||
| 948 | # CONFIG_CONFIGFS_FS is not set | 969 | # CONFIG_CONFIGFS_FS is not set | 
| 949 | 970 | ||
| 950 | # | 971 | # | 
| @@ -963,7 +984,6 @@ CONFIG_EFS_FS=m | |||
| 963 | # CONFIG_QNX4FS_FS is not set | 984 | # CONFIG_QNX4FS_FS is not set | 
| 964 | # CONFIG_SYSV_FS is not set | 985 | # CONFIG_SYSV_FS is not set | 
| 965 | CONFIG_UFS_FS=m | 986 | CONFIG_UFS_FS=m | 
| 966 | # CONFIG_UFS_FS_WRITE is not set | ||
| 967 | 987 | ||
| 968 | # | 988 | # | 
| 969 | # Network File Systems | 989 | # Network File Systems | 
| @@ -1078,6 +1098,7 @@ CONFIG_NLS_UTF8=m | |||
| 1078 | # CONFIG_MAGIC_SYSRQ is not set | 1098 | # CONFIG_MAGIC_SYSRQ is not set | 
| 1079 | # CONFIG_DEBUG_KERNEL is not set | 1099 | # CONFIG_DEBUG_KERNEL is not set | 
| 1080 | CONFIG_LOG_BUF_SHIFT=14 | 1100 | CONFIG_LOG_BUF_SHIFT=14 | 
| 1101 | # CONFIG_DEBUG_FS is not set | ||
| 1081 | CONFIG_CROSSCOMPILE=y | 1102 | CONFIG_CROSSCOMPILE=y | 
| 1082 | CONFIG_CMDLINE="" | 1103 | CONFIG_CMDLINE="" | 
| 1083 | 1104 | ||
diff --git a/arch/mips/kernel/branch.c b/arch/mips/kernel/branch.c index 374de839558d..b6232d9033cb 100644 --- a/arch/mips/kernel/branch.c +++ b/arch/mips/kernel/branch.c  | |||
| @@ -184,7 +184,7 @@ int __compute_return_epc(struct pt_regs *regs) | |||
| 184 | bit = (insn.i_format.rt >> 2); | 184 | bit = (insn.i_format.rt >> 2); | 
| 185 | bit += (bit != 0); | 185 | bit += (bit != 0); | 
| 186 | bit += 23; | 186 | bit += 23; | 
| 187 | switch (insn.i_format.rt) { | 187 | switch (insn.i_format.rt & 3) { | 
| 188 | case 0: /* bc1f */ | 188 | case 0: /* bc1f */ | 
| 189 | case 2: /* bc1fl */ | 189 | case 2: /* bc1fl */ | 
| 190 | if (~fcr31 & (1 << bit)) | 190 | if (~fcr31 & (1 << bit)) | 
diff --git a/arch/mips/kernel/ptrace.c b/arch/mips/kernel/ptrace.c index f3106d0771b0..9b4733c12395 100644 --- a/arch/mips/kernel/ptrace.c +++ b/arch/mips/kernel/ptrace.c  | |||
| @@ -483,7 +483,7 @@ static inline int audit_arch(void) | |||
| 483 | asmlinkage void do_syscall_trace(struct pt_regs *regs, int entryexit) | 483 | asmlinkage void do_syscall_trace(struct pt_regs *regs, int entryexit) | 
| 484 | { | 484 | { | 
| 485 | if (unlikely(current->audit_context) && entryexit) | 485 | if (unlikely(current->audit_context) && entryexit) | 
| 486 | audit_syscall_exit(current, AUDITSC_RESULT(regs->regs[2]), | 486 | audit_syscall_exit(AUDITSC_RESULT(regs->regs[2]), | 
| 487 | regs->regs[2]); | 487 | regs->regs[2]); | 
| 488 | 488 | ||
| 489 | if (!(current->ptrace & PT_PTRACED)) | 489 | if (!(current->ptrace & PT_PTRACED)) | 
| @@ -507,7 +507,7 @@ asmlinkage void do_syscall_trace(struct pt_regs *regs, int entryexit) | |||
| 507 | } | 507 | } | 
| 508 | out: | 508 | out: | 
| 509 | if (unlikely(current->audit_context) && !entryexit) | 509 | if (unlikely(current->audit_context) && !entryexit) | 
| 510 | audit_syscall_entry(current, audit_arch(), regs->regs[2], | 510 | audit_syscall_entry(audit_arch(), regs->regs[2], | 
| 511 | regs->regs[4], regs->regs[5], | 511 | regs->regs[4], regs->regs[5], | 
| 512 | regs->regs[6], regs->regs[7]); | 512 | regs->regs[6], regs->regs[7]); | 
| 513 | } | 513 | } | 
diff --git a/arch/mips/kernel/rtlx.c b/arch/mips/kernel/rtlx.c index 6179805af9f0..caf777f83289 100644 --- a/arch/mips/kernel/rtlx.c +++ b/arch/mips/kernel/rtlx.c  | |||
| @@ -398,15 +398,14 @@ ssize_t rtlx_write(int index, void *buffer, size_t count, int user) | |||
| 398 | 398 | ||
| 399 | static int file_open(struct inode *inode, struct file *filp) | 399 | static int file_open(struct inode *inode, struct file *filp) | 
| 400 | { | 400 | { | 
| 401 | int minor = MINOR(inode->i_rdev); | 401 | int minor = iminor(inode); | 
| 402 | 402 | ||
| 403 | return rtlx_open(minor, (filp->f_flags & O_NONBLOCK) ? 0 : 1); | 403 | return rtlx_open(minor, (filp->f_flags & O_NONBLOCK) ? 0 : 1); | 
| 404 | } | 404 | } | 
| 405 | 405 | ||
| 406 | static int file_release(struct inode *inode, struct file *filp) | 406 | static int file_release(struct inode *inode, struct file *filp) | 
| 407 | { | 407 | { | 
| 408 | int minor; | 408 | int minor = iminor(inode); | 
| 409 | minor = MINOR(inode->i_rdev); | ||
| 410 | 409 | ||
| 411 | return rtlx_release(minor); | 410 | return rtlx_release(minor); | 
| 412 | } | 411 | } | 
| @@ -416,7 +415,7 @@ static unsigned int file_poll(struct file *file, poll_table * wait) | |||
| 416 | int minor; | 415 | int minor; | 
| 417 | unsigned int mask = 0; | 416 | unsigned int mask = 0; | 
| 418 | 417 | ||
| 419 | minor = MINOR(file->f_dentry->d_inode->i_rdev); | 418 | minor = iminor(file->f_dentry->d_inode); | 
| 420 | 419 | ||
| 421 | poll_wait(file, &channel_wqs[minor].rt_queue, wait); | 420 | poll_wait(file, &channel_wqs[minor].rt_queue, wait); | 
| 422 | poll_wait(file, &channel_wqs[minor].lx_queue, wait); | 421 | poll_wait(file, &channel_wqs[minor].lx_queue, wait); | 
| @@ -438,7 +437,7 @@ static unsigned int file_poll(struct file *file, poll_table * wait) | |||
| 438 | static ssize_t file_read(struct file *file, char __user * buffer, size_t count, | 437 | static ssize_t file_read(struct file *file, char __user * buffer, size_t count, | 
| 439 | loff_t * ppos) | 438 | loff_t * ppos) | 
| 440 | { | 439 | { | 
| 441 | int minor = MINOR(file->f_dentry->d_inode->i_rdev); | 440 | int minor = iminor(file->f_dentry->d_inode); | 
| 442 | 441 | ||
| 443 | /* data available? */ | 442 | /* data available? */ | 
| 444 | if (!rtlx_read_poll(minor, (file->f_flags & O_NONBLOCK) ? 0 : 1)) { | 443 | if (!rtlx_read_poll(minor, (file->f_flags & O_NONBLOCK) ? 0 : 1)) { | 
| @@ -455,7 +454,7 @@ static ssize_t file_write(struct file *file, const char __user * buffer, | |||
| 455 | struct rtlx_channel *rt; | 454 | struct rtlx_channel *rt; | 
| 456 | DECLARE_WAITQUEUE(wait, current); | 455 | DECLARE_WAITQUEUE(wait, current); | 
| 457 | 456 | ||
| 458 | minor = MINOR(file->f_dentry->d_inode->i_rdev); | 457 | minor = iminor(file->f_dentry->d_inode); | 
| 459 | rt = &rtlx->channel[minor]; | 458 | rt = &rtlx->channel[minor]; | 
| 460 | 459 | ||
| 461 | /* any space left... */ | 460 | /* any space left... */ | 
diff --git a/arch/mips/kernel/vpe.c b/arch/mips/kernel/vpe.c index 80ffaa6d50ad..85d7df7b18e1 100644 --- a/arch/mips/kernel/vpe.c +++ b/arch/mips/kernel/vpe.c  | |||
| @@ -1072,7 +1072,7 @@ static int vpe_open(struct inode *inode, struct file *filp) | |||
| 1072 | struct vpe_notifications *not; | 1072 | struct vpe_notifications *not; | 
| 1073 | 1073 | ||
| 1074 | /* assume only 1 device at the mo. */ | 1074 | /* assume only 1 device at the mo. */ | 
| 1075 | if ((minor = MINOR(inode->i_rdev)) != 1) { | 1075 | if ((minor = iminor(inode)) != 1) { | 
| 1076 | printk(KERN_WARNING "VPE loader: only vpe1 is supported\n"); | 1076 | printk(KERN_WARNING "VPE loader: only vpe1 is supported\n"); | 
| 1077 | return -ENODEV; | 1077 | return -ENODEV; | 
| 1078 | } | 1078 | } | 
| @@ -1133,7 +1133,7 @@ static int vpe_release(struct inode *inode, struct file *filp) | |||
| 1133 | struct vpe *v; | 1133 | struct vpe *v; | 
| 1134 | Elf_Ehdr *hdr; | 1134 | Elf_Ehdr *hdr; | 
| 1135 | 1135 | ||
| 1136 | minor = MINOR(inode->i_rdev); | 1136 | minor = iminor(inode); | 
| 1137 | if ((v = get_vpe(minor)) == NULL) | 1137 | if ((v = get_vpe(minor)) == NULL) | 
| 1138 | return -ENODEV; | 1138 | return -ENODEV; | 
| 1139 | 1139 | ||
| @@ -1174,7 +1174,7 @@ static ssize_t vpe_write(struct file *file, const char __user * buffer, | |||
| 1174 | size_t ret = count; | 1174 | size_t ret = count; | 
| 1175 | struct vpe *v; | 1175 | struct vpe *v; | 
| 1176 | 1176 | ||
| 1177 | minor = MINOR(file->f_dentry->d_inode->i_rdev); | 1177 | minor = iminor(file->f_dentry->d_inode); | 
| 1178 | if ((v = get_vpe(minor)) == NULL) | 1178 | if ((v = get_vpe(minor)) == NULL) | 
| 1179 | return -ENODEV; | 1179 | return -ENODEV; | 
| 1180 | 1180 | ||
diff --git a/arch/mips/mips-boards/generic/init.c b/arch/mips/mips-boards/generic/init.c index 17dfe6a8cab9..df4e94735604 100644 --- a/arch/mips/mips-boards/generic/init.c +++ b/arch/mips/mips-boards/generic/init.c  | |||
| @@ -337,6 +337,7 @@ void __init prom_init(void) | |||
| 337 | case MIPS_REVISION_CORID_CORE_MSC: | 337 | case MIPS_REVISION_CORID_CORE_MSC: | 
| 338 | case MIPS_REVISION_CORID_CORE_FPGA2: | 338 | case MIPS_REVISION_CORID_CORE_FPGA2: | 
| 339 | case MIPS_REVISION_CORID_CORE_FPGA3: | 339 | case MIPS_REVISION_CORID_CORE_FPGA3: | 
| 340 | case MIPS_REVISION_CORID_CORE_24K: | ||
| 340 | case MIPS_REVISION_CORID_CORE_EMUL_MSC: | 341 | case MIPS_REVISION_CORID_CORE_EMUL_MSC: | 
| 341 | _pcictrl_msc = (unsigned long)ioremap(MIPS_MSC01_PCI_REG_BASE, 0x2000); | 342 | _pcictrl_msc = (unsigned long)ioremap(MIPS_MSC01_PCI_REG_BASE, 0x2000); | 
| 342 | 343 | ||
diff --git a/arch/mips/mips-boards/generic/pci.c b/arch/mips/mips-boards/generic/pci.c index 1f6f9df74ab2..9337f6c8873a 100644 --- a/arch/mips/mips-boards/generic/pci.c +++ b/arch/mips/mips-boards/generic/pci.c  | |||
| @@ -198,6 +198,7 @@ void __init mips_pcibios_init(void) | |||
| 198 | case MIPS_REVISION_CORID_CORE_MSC: | 198 | case MIPS_REVISION_CORID_CORE_MSC: | 
| 199 | case MIPS_REVISION_CORID_CORE_FPGA2: | 199 | case MIPS_REVISION_CORID_CORE_FPGA2: | 
| 200 | case MIPS_REVISION_CORID_CORE_FPGA3: | 200 | case MIPS_REVISION_CORID_CORE_FPGA3: | 
| 201 | case MIPS_REVISION_CORID_CORE_24K: | ||
| 201 | case MIPS_REVISION_CORID_CORE_EMUL_MSC: | 202 | case MIPS_REVISION_CORID_CORE_EMUL_MSC: | 
| 202 | /* Set up resource ranges from the controller's registers. */ | 203 | /* Set up resource ranges from the controller's registers. */ | 
| 203 | MSC_READ(MSC01_PCI_SC2PMBASL, start); | 204 | MSC_READ(MSC01_PCI_SC2PMBASL, start); | 
diff --git a/arch/mips/mips-boards/malta/malta_int.c b/arch/mips/mips-boards/malta/malta_int.c index 64db07d4dbe5..7cc0ba4f553a 100644 --- a/arch/mips/mips-boards/malta/malta_int.c +++ b/arch/mips/mips-boards/malta/malta_int.c  | |||
| @@ -57,6 +57,7 @@ static inline int mips_pcibios_iack(void) | |||
| 57 | case MIPS_REVISION_CORID_CORE_MSC: | 57 | case MIPS_REVISION_CORID_CORE_MSC: | 
| 58 | case MIPS_REVISION_CORID_CORE_FPGA2: | 58 | case MIPS_REVISION_CORID_CORE_FPGA2: | 
| 59 | case MIPS_REVISION_CORID_CORE_FPGA3: | 59 | case MIPS_REVISION_CORID_CORE_FPGA3: | 
| 60 | case MIPS_REVISION_CORID_CORE_24K: | ||
| 60 | case MIPS_REVISION_CORID_CORE_EMUL_MSC: | 61 | case MIPS_REVISION_CORID_CORE_EMUL_MSC: | 
| 61 | MSC_READ(MSC01_PCI_IACK, irq); | 62 | MSC_READ(MSC01_PCI_IACK, irq); | 
| 62 | irq &= 0xff; | 63 | irq &= 0xff; | 
| @@ -143,6 +144,7 @@ void corehi_irqdispatch(struct pt_regs *regs) | |||
| 143 | case MIPS_REVISION_CORID_CORE_MSC: | 144 | case MIPS_REVISION_CORID_CORE_MSC: | 
| 144 | case MIPS_REVISION_CORID_CORE_FPGA2: | 145 | case MIPS_REVISION_CORID_CORE_FPGA2: | 
| 145 | case MIPS_REVISION_CORID_CORE_FPGA3: | 146 | case MIPS_REVISION_CORID_CORE_FPGA3: | 
| 147 | case MIPS_REVISION_CORID_CORE_24K: | ||
| 146 | case MIPS_REVISION_CORID_CORE_EMUL_MSC: | 148 | case MIPS_REVISION_CORID_CORE_EMUL_MSC: | 
| 147 | ll_msc_irq(regs); | 149 | ll_msc_irq(regs); | 
| 148 | break; | 150 | break; | 
| @@ -309,6 +311,7 @@ void __init arch_init_irq(void) | |||
| 309 | case MIPS_REVISION_CORID_CORE_MSC: | 311 | case MIPS_REVISION_CORID_CORE_MSC: | 
| 310 | case MIPS_REVISION_CORID_CORE_FPGA2: | 312 | case MIPS_REVISION_CORID_CORE_FPGA2: | 
| 311 | case MIPS_REVISION_CORID_CORE_FPGA3: | 313 | case MIPS_REVISION_CORID_CORE_FPGA3: | 
| 314 | case MIPS_REVISION_CORID_CORE_24K: | ||
| 312 | case MIPS_REVISION_CORID_CORE_EMUL_MSC: | 315 | case MIPS_REVISION_CORID_CORE_EMUL_MSC: | 
| 313 | if (cpu_has_veic) | 316 | if (cpu_has_veic) | 
| 314 | init_msc_irqs (MSC01E_INT_BASE, msc_eicirqmap, msc_nr_eicirqs); | 317 | init_msc_irqs (MSC01E_INT_BASE, msc_eicirqmap, msc_nr_eicirqs); | 
diff --git a/arch/mips/oprofile/common.c b/arch/mips/oprofile/common.c index 935dd851f480..f2b4862aaae5 100644 --- a/arch/mips/oprofile/common.c +++ b/arch/mips/oprofile/common.c  | |||
| @@ -27,7 +27,7 @@ static int op_mips_setup(void) | |||
| 27 | model->reg_setup(ctr); | 27 | model->reg_setup(ctr); | 
| 28 | 28 | ||
| 29 | /* Configure the registers on all cpus. */ | 29 | /* Configure the registers on all cpus. */ | 
| 30 | on_each_cpu(model->cpu_setup, 0, 0, 1); | 30 | on_each_cpu(model->cpu_setup, NULL, 0, 1); | 
| 31 | 31 | ||
| 32 | return 0; | 32 | return 0; | 
| 33 | } | 33 | } | 
| @@ -114,5 +114,6 @@ int __init oprofile_arch_init(struct oprofile_operations *ops) | |||
| 114 | 114 | ||
| 115 | void oprofile_arch_exit(void) | 115 | void oprofile_arch_exit(void) | 
| 116 | { | 116 | { | 
| 117 | model->exit(); | 117 | if (model) | 
| 118 | model->exit(); | ||
| 118 | } | 119 | } | 
diff --git a/arch/mips/sgi-ip27/ip27-timer.c b/arch/mips/sgi-ip27/ip27-timer.c index cddf1cedf007..36b662e27b6e 100644 --- a/arch/mips/sgi-ip27/ip27-timer.c +++ b/arch/mips/sgi-ip27/ip27-timer.c  | |||
| @@ -122,7 +122,7 @@ again: | |||
| 122 | xtime.tv_sec > last_rtc_update + 660 && | 122 | xtime.tv_sec > last_rtc_update + 660 && | 
| 123 | (xtime.tv_nsec / 1000) >= 500000 - ((unsigned) TICK_SIZE) / 2 && | 123 | (xtime.tv_nsec / 1000) >= 500000 - ((unsigned) TICK_SIZE) / 2 && | 
| 124 | (xtime.tv_nsec / 1000) <= 500000 + ((unsigned) TICK_SIZE) / 2) { | 124 | (xtime.tv_nsec / 1000) <= 500000 + ((unsigned) TICK_SIZE) / 2) { | 
| 125 | if (rtc_set_time(xtime.tv_sec) == 0) { | 125 | if (rtc_mips_set_time(xtime.tv_sec) == 0) { | 
| 126 | last_rtc_update = xtime.tv_sec; | 126 | last_rtc_update = xtime.tv_sec; | 
| 127 | } else { | 127 | } else { | 
| 128 | last_rtc_update = xtime.tv_sec - 600; | 128 | last_rtc_update = xtime.tv_sec - 600; | 
diff --git a/arch/mips/sgi-ip32/ip32-irq.c b/arch/mips/sgi-ip32/ip32-irq.c index 22a6df94b4a1..de01c9815bdd 100644 --- a/arch/mips/sgi-ip32/ip32-irq.c +++ b/arch/mips/sgi-ip32/ip32-irq.c  | |||
| @@ -507,13 +507,14 @@ static void ip32_irq0(struct pt_regs *regs) | |||
| 507 | int irq = 0; | 507 | int irq = 0; | 
| 508 | 508 | ||
| 509 | crime_int = crime->istat & crime_mask; | 509 | crime_int = crime->istat & crime_mask; | 
| 510 | irq = ffs(crime_int); | 510 | irq = __ffs(crime_int); | 
| 511 | crime_int = 1 << (irq - 1); | 511 | crime_int = 1 << irq; | 
| 512 | 512 | ||
| 513 | if (crime_int & CRIME_MACEISA_INT_MASK) { | 513 | if (crime_int & CRIME_MACEISA_INT_MASK) { | 
| 514 | unsigned long mace_int = mace->perif.ctrl.istat; | 514 | unsigned long mace_int = mace->perif.ctrl.istat; | 
| 515 | irq = ffs(mace_int & maceisa_mask) + 32; | 515 | irq = __ffs(mace_int & maceisa_mask) + 32; | 
| 516 | } | 516 | } | 
| 517 | irq++; | ||
| 517 | DBG("*irq %u*\n", irq); | 518 | DBG("*irq %u*\n", irq); | 
| 518 | do_IRQ(irq, regs); | 519 | do_IRQ(irq, regs); | 
| 519 | } | 520 | } | 
diff --git a/arch/powerpc/configs/cell_defconfig b/arch/powerpc/configs/cell_defconfig index fe22e54ab2b0..dbe421dc3c11 100644 --- a/arch/powerpc/configs/cell_defconfig +++ b/arch/powerpc/configs/cell_defconfig  | |||
| @@ -9,6 +9,7 @@ CONFIG_PPC_MERGE=y | |||
| 9 | CONFIG_MMU=y | 9 | CONFIG_MMU=y | 
| 10 | CONFIG_GENERIC_HARDIRQS=y | 10 | CONFIG_GENERIC_HARDIRQS=y | 
| 11 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | 11 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | 
| 12 | CONFIG_GENERIC_HWEIGHT=y | ||
| 12 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 13 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 
| 13 | CONFIG_PPC=y | 14 | CONFIG_PPC=y | 
| 14 | CONFIG_EARLY_PRINTK=y | 15 | CONFIG_EARLY_PRINTK=y | 
| @@ -55,6 +56,7 @@ CONFIG_SYSCTL=y | |||
| 55 | CONFIG_IKCONFIG=y | 56 | CONFIG_IKCONFIG=y | 
| 56 | CONFIG_IKCONFIG_PROC=y | 57 | CONFIG_IKCONFIG_PROC=y | 
| 57 | # CONFIG_CPUSETS is not set | 58 | # CONFIG_CPUSETS is not set | 
| 59 | # CONFIG_RELAY is not set | ||
| 58 | CONFIG_INITRAMFS_SOURCE="" | 60 | CONFIG_INITRAMFS_SOURCE="" | 
| 59 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 61 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 
| 60 | # CONFIG_EMBEDDED is not set | 62 | # CONFIG_EMBEDDED is not set | 
| @@ -69,10 +71,6 @@ CONFIG_BASE_FULL=y | |||
| 69 | CONFIG_FUTEX=y | 71 | CONFIG_FUTEX=y | 
| 70 | CONFIG_EPOLL=y | 72 | CONFIG_EPOLL=y | 
| 71 | CONFIG_SHMEM=y | 73 | CONFIG_SHMEM=y | 
| 72 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
| 73 | CONFIG_CC_ALIGN_LABELS=0 | ||
| 74 | CONFIG_CC_ALIGN_LOOPS=0 | ||
| 75 | CONFIG_CC_ALIGN_JUMPS=0 | ||
| 76 | CONFIG_SLAB=y | 74 | CONFIG_SLAB=y | 
| 77 | # CONFIG_TINY_SHMEM is not set | 75 | # CONFIG_TINY_SHMEM is not set | 
| 78 | CONFIG_BASE_SMALL=0 | 76 | CONFIG_BASE_SMALL=0 | 
| @@ -84,7 +82,6 @@ CONFIG_BASE_SMALL=0 | |||
| 84 | CONFIG_MODULES=y | 82 | CONFIG_MODULES=y | 
| 85 | CONFIG_MODULE_UNLOAD=y | 83 | CONFIG_MODULE_UNLOAD=y | 
| 86 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 84 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 
| 87 | CONFIG_OBSOLETE_MODPARM=y | ||
| 88 | # CONFIG_MODVERSIONS is not set | 85 | # CONFIG_MODVERSIONS is not set | 
| 89 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 86 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 
| 90 | CONFIG_KMOD=y | 87 | CONFIG_KMOD=y | 
| @@ -93,6 +90,7 @@ CONFIG_STOP_MACHINE=y | |||
| 93 | # | 90 | # | 
| 94 | # Block layer | 91 | # Block layer | 
| 95 | # | 92 | # | 
| 93 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 96 | 94 | ||
| 97 | # | 95 | # | 
| 98 | # IO Schedulers | 96 | # IO Schedulers | 
| @@ -126,6 +124,7 @@ CONFIG_RTAS_FLASH=y | |||
| 126 | CONFIG_MMIO_NVRAM=y | 124 | CONFIG_MMIO_NVRAM=y | 
| 127 | CONFIG_CELL_IIC=y | 125 | CONFIG_CELL_IIC=y | 
| 128 | # CONFIG_PPC_MPC106 is not set | 126 | # CONFIG_PPC_MPC106 is not set | 
| 127 | # CONFIG_PPC_970_NAP is not set | ||
| 129 | # CONFIG_CPU_FREQ is not set | 128 | # CONFIG_CPU_FREQ is not set | 
| 130 | # CONFIG_WANT_EARLY_SERIAL is not set | 129 | # CONFIG_WANT_EARLY_SERIAL is not set | 
| 131 | 130 | ||
| @@ -167,7 +166,6 @@ CONFIG_HAVE_MEMORY_PRESENT=y | |||
| 167 | CONFIG_SPARSEMEM_EXTREME=y | 166 | CONFIG_SPARSEMEM_EXTREME=y | 
| 168 | # CONFIG_MEMORY_HOTPLUG is not set | 167 | # CONFIG_MEMORY_HOTPLUG is not set | 
| 169 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 168 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 
| 170 | CONFIG_MIGRATION=y | ||
| 171 | # CONFIG_PPC_64K_PAGES is not set | 169 | # CONFIG_PPC_64K_PAGES is not set | 
| 172 | CONFIG_SCHED_SMT=y | 170 | CONFIG_SCHED_SMT=y | 
| 173 | CONFIG_PROC_DEVICETREE=y | 171 | CONFIG_PROC_DEVICETREE=y | 
| @@ -184,7 +182,6 @@ CONFIG_GENERIC_ISA_DMA=y | |||
| 184 | # CONFIG_PPC_INDIRECT_PCI is not set | 182 | # CONFIG_PPC_INDIRECT_PCI is not set | 
| 185 | CONFIG_PCI=y | 183 | CONFIG_PCI=y | 
| 186 | CONFIG_PCI_DOMAINS=y | 184 | CONFIG_PCI_DOMAINS=y | 
| 187 | CONFIG_PCI_LEGACY_PROC=y | ||
| 188 | # CONFIG_PCI_DEBUG is not set | 185 | # CONFIG_PCI_DEBUG is not set | 
| 189 | 186 | ||
| 190 | # | 187 | # | 
| @@ -226,6 +223,7 @@ CONFIG_SYN_COOKIES=y | |||
| 226 | # CONFIG_INET_AH is not set | 223 | # CONFIG_INET_AH is not set | 
| 227 | # CONFIG_INET_ESP is not set | 224 | # CONFIG_INET_ESP is not set | 
| 228 | # CONFIG_INET_IPCOMP is not set | 225 | # CONFIG_INET_IPCOMP is not set | 
| 226 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
| 229 | CONFIG_INET_TUNNEL=y | 227 | CONFIG_INET_TUNNEL=y | 
| 230 | CONFIG_INET_DIAG=y | 228 | CONFIG_INET_DIAG=y | 
| 231 | CONFIG_INET_TCP_DIAG=y | 229 | CONFIG_INET_TCP_DIAG=y | 
| @@ -242,6 +240,7 @@ CONFIG_IPV6=y | |||
| 242 | CONFIG_INET6_AH=m | 240 | CONFIG_INET6_AH=m | 
| 243 | CONFIG_INET6_ESP=m | 241 | CONFIG_INET6_ESP=m | 
| 244 | CONFIG_INET6_IPCOMP=m | 242 | CONFIG_INET6_IPCOMP=m | 
| 243 | CONFIG_INET6_XFRM_TUNNEL=m | ||
| 245 | CONFIG_INET6_TUNNEL=m | 244 | CONFIG_INET6_TUNNEL=m | 
| 246 | CONFIG_IPV6_TUNNEL=m | 245 | CONFIG_IPV6_TUNNEL=m | 
| 247 | CONFIG_NETFILTER=y | 246 | CONFIG_NETFILTER=y | 
| @@ -632,6 +631,7 @@ CONFIG_SERIAL_NONSTANDARD=y | |||
| 632 | # | 631 | # | 
| 633 | CONFIG_SERIAL_8250=y | 632 | CONFIG_SERIAL_8250=y | 
| 634 | CONFIG_SERIAL_8250_CONSOLE=y | 633 | CONFIG_SERIAL_8250_CONSOLE=y | 
| 634 | CONFIG_SERIAL_8250_PCI=y | ||
| 635 | CONFIG_SERIAL_8250_NR_UARTS=4 | 635 | CONFIG_SERIAL_8250_NR_UARTS=4 | 
| 636 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 636 | CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | 
| 637 | # CONFIG_SERIAL_8250_EXTENDED is not set | 637 | # CONFIG_SERIAL_8250_EXTENDED is not set | 
| @@ -717,7 +717,6 @@ CONFIG_I2C_ALGOBIT=y | |||
| 717 | # CONFIG_I2C_PARPORT_LIGHT is not set | 717 | # CONFIG_I2C_PARPORT_LIGHT is not set | 
| 718 | # CONFIG_I2C_PROSAVAGE is not set | 718 | # CONFIG_I2C_PROSAVAGE is not set | 
| 719 | # CONFIG_I2C_SAVAGE4 is not set | 719 | # CONFIG_I2C_SAVAGE4 is not set | 
| 720 | # CONFIG_SCx200_ACB is not set | ||
| 721 | # CONFIG_I2C_SIS5595 is not set | 720 | # CONFIG_I2C_SIS5595 is not set | 
| 722 | # CONFIG_I2C_SIS630 is not set | 721 | # CONFIG_I2C_SIS630 is not set | 
| 723 | # CONFIG_I2C_SIS96X is not set | 722 | # CONFIG_I2C_SIS96X is not set | 
| @@ -736,9 +735,7 @@ CONFIG_I2C_ALGOBIT=y | |||
| 736 | # CONFIG_SENSORS_PCF8574 is not set | 735 | # CONFIG_SENSORS_PCF8574 is not set | 
| 737 | # CONFIG_SENSORS_PCA9539 is not set | 736 | # CONFIG_SENSORS_PCA9539 is not set | 
| 738 | # CONFIG_SENSORS_PCF8591 is not set | 737 | # CONFIG_SENSORS_PCF8591 is not set | 
| 739 | # CONFIG_SENSORS_RTC8564 is not set | ||
| 740 | # CONFIG_SENSORS_MAX6875 is not set | 738 | # CONFIG_SENSORS_MAX6875 is not set | 
| 741 | # CONFIG_RTC_X1205_I2C is not set | ||
| 742 | # CONFIG_I2C_DEBUG_CORE is not set | 739 | # CONFIG_I2C_DEBUG_CORE is not set | 
| 743 | # CONFIG_I2C_DEBUG_ALGO is not set | 740 | # CONFIG_I2C_DEBUG_ALGO is not set | 
| 744 | # CONFIG_I2C_DEBUG_BUS is not set | 741 | # CONFIG_I2C_DEBUG_BUS is not set | 
| @@ -766,10 +763,6 @@ CONFIG_I2C_ALGOBIT=y | |||
| 766 | # | 763 | # | 
| 767 | 764 | ||
| 768 | # | 765 | # | 
| 769 | # Multimedia Capabilities Port drivers | ||
| 770 | # | ||
| 771 | |||
| 772 | # | ||
| 773 | # Multimedia devices | 766 | # Multimedia devices | 
| 774 | # | 767 | # | 
| 775 | # CONFIG_VIDEO_DEV is not set | 768 | # CONFIG_VIDEO_DEV is not set | 
| @@ -818,6 +811,19 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
| 818 | # CONFIG_MMC is not set | 811 | # CONFIG_MMC is not set | 
| 819 | 812 | ||
| 820 | # | 813 | # | 
| 814 | # LED devices | ||
| 815 | # | ||
| 816 | # CONFIG_NEW_LEDS is not set | ||
| 817 | |||
| 818 | # | ||
| 819 | # LED drivers | ||
| 820 | # | ||
| 821 | |||
| 822 | # | ||
| 823 | # LED Triggers | ||
| 824 | # | ||
| 825 | |||
| 826 | # | ||
| 821 | # InfiniBand support | 827 | # InfiniBand support | 
| 822 | # | 828 | # | 
| 823 | CONFIG_INFINIBAND=y | 829 | CONFIG_INFINIBAND=y | 
| @@ -834,6 +840,11 @@ CONFIG_INFINIBAND_IPOIB_DEBUG_DATA=y | |||
| 834 | # | 840 | # | 
| 835 | 841 | ||
| 836 | # | 842 | # | 
| 843 | # Real Time Clock | ||
| 844 | # | ||
| 845 | # CONFIG_RTC_CLASS is not set | ||
| 846 | |||
| 847 | # | ||
| 837 | # File systems | 848 | # File systems | 
| 838 | # | 849 | # | 
| 839 | CONFIG_EXT2_FS=y | 850 | CONFIG_EXT2_FS=y | 
| @@ -889,7 +900,6 @@ CONFIG_TMPFS=y | |||
| 889 | CONFIG_HUGETLBFS=y | 900 | CONFIG_HUGETLBFS=y | 
| 890 | CONFIG_HUGETLB_PAGE=y | 901 | CONFIG_HUGETLB_PAGE=y | 
| 891 | CONFIG_RAMFS=y | 902 | CONFIG_RAMFS=y | 
| 892 | # CONFIG_RELAYFS_FS is not set | ||
| 893 | # CONFIG_CONFIGFS_FS is not set | 903 | # CONFIG_CONFIGFS_FS is not set | 
| 894 | 904 | ||
| 895 | # | 905 | # | 
diff --git a/arch/powerpc/kernel/cputable.c b/arch/powerpc/kernel/cputable.c index 39e348a3ade2..3f7182db9ed5 100644 --- a/arch/powerpc/kernel/cputable.c +++ b/arch/powerpc/kernel/cputable.c  | |||
| @@ -57,6 +57,8 @@ extern void __setup_cpu_ppc970(unsigned long offset, struct cpu_spec* spec); | |||
| 57 | PPC_FEATURE_SMT | PPC_FEATURE_ICACHE_SNOOP) | 57 | PPC_FEATURE_SMT | PPC_FEATURE_ICACHE_SNOOP) | 
| 58 | #define COMMON_USER_POWER5_PLUS (COMMON_USER_PPC64 | PPC_FEATURE_POWER5_PLUS|\ | 58 | #define COMMON_USER_POWER5_PLUS (COMMON_USER_PPC64 | PPC_FEATURE_POWER5_PLUS|\ | 
| 59 | PPC_FEATURE_SMT | PPC_FEATURE_ICACHE_SNOOP) | 59 | PPC_FEATURE_SMT | PPC_FEATURE_ICACHE_SNOOP) | 
| 60 | #define COMMON_USER_POWER6 (COMMON_USER_PPC64 | PPC_FEATURE_ARCH_2_05 |\ | ||
| 61 | PPC_FEATURE_SMT | PPC_FEATURE_ICACHE_SNOOP) | ||
| 60 | #define COMMON_USER_BOOKE (PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU | \ | 62 | #define COMMON_USER_BOOKE (PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU | \ | 
| 61 | PPC_FEATURE_BOOKE) | 63 | PPC_FEATURE_BOOKE) | 
| 62 | 64 | ||
| @@ -263,6 +265,20 @@ struct cpu_spec cpu_specs[] = { | |||
| 263 | .oprofile_type = PPC_OPROFILE_POWER4, | 265 | .oprofile_type = PPC_OPROFILE_POWER4, | 
| 264 | .platform = "power5+", | 266 | .platform = "power5+", | 
| 265 | }, | 267 | }, | 
| 268 | { /* Power6 */ | ||
| 269 | .pvr_mask = 0xffff0000, | ||
| 270 | .pvr_value = 0x003e0000, | ||
| 271 | .cpu_name = "POWER6", | ||
| 272 | .cpu_features = CPU_FTRS_POWER6, | ||
| 273 | .cpu_user_features = COMMON_USER_POWER6, | ||
| 274 | .icache_bsize = 128, | ||
| 275 | .dcache_bsize = 128, | ||
| 276 | .num_pmcs = 6, | ||
| 277 | .cpu_setup = __setup_cpu_power4, | ||
| 278 | .oprofile_cpu_type = "ppc64/power6", | ||
| 279 | .oprofile_type = PPC_OPROFILE_POWER4, | ||
| 280 | .platform = "power6", | ||
| 281 | }, | ||
| 266 | { /* Cell Broadband Engine */ | 282 | { /* Cell Broadband Engine */ | 
| 267 | .pvr_mask = 0xffff0000, | 283 | .pvr_mask = 0xffff0000, | 
| 268 | .pvr_value = 0x00700000, | 284 | .pvr_value = 0x00700000, | 
diff --git a/arch/powerpc/kernel/module_64.c b/arch/powerpc/kernel/module_64.c index 928b8581fcb0..ba34001fca8e 100644 --- a/arch/powerpc/kernel/module_64.c +++ b/arch/powerpc/kernel/module_64.c  | |||
| @@ -191,11 +191,19 @@ int module_frob_arch_sections(Elf64_Ehdr *hdr, | |||
| 191 | (void *)hdr | 191 | (void *)hdr | 
| 192 | + sechdrs[sechdrs[i].sh_link].sh_offset); | 192 | + sechdrs[sechdrs[i].sh_link].sh_offset); | 
| 193 | } | 193 | } | 
| 194 | if (!me->arch.stubs_section || !me->arch.toc_section) { | 194 | |
| 195 | printk("%s: doesn't contain .toc or .stubs.\n", me->name); | 195 | if (!me->arch.stubs_section) { | 
| 196 | printk("%s: doesn't contain .stubs.\n", me->name); | ||
| 196 | return -ENOEXEC; | 197 | return -ENOEXEC; | 
| 197 | } | 198 | } | 
| 198 | 199 | ||
| 200 | /* If we don't have a .toc, just use .stubs. We need to set r2 | ||
| 201 | to some reasonable value in case the module calls out to | ||
| 202 | other functions via a stub, or if a function pointer escapes | ||
| 203 | the module by some means. */ | ||
| 204 | if (!me->arch.toc_section) | ||
| 205 | me->arch.toc_section = me->arch.stubs_section; | ||
| 206 | |||
| 199 | /* Override the stubs size */ | 207 | /* Override the stubs size */ | 
| 200 | sechdrs[me->arch.stubs_section].sh_size = get_stubs_size(hdr, sechdrs); | 208 | sechdrs[me->arch.stubs_section].sh_size = get_stubs_size(hdr, sechdrs); | 
| 201 | return 0; | 209 | return 0; | 
| @@ -342,7 +350,7 @@ int apply_relocate_add(Elf64_Shdr *sechdrs, | |||
| 342 | break; | 350 | break; | 
| 343 | 351 | ||
| 344 | case R_PPC64_TOC16: | 352 | case R_PPC64_TOC16: | 
| 345 | /* Subtact TOC pointer */ | 353 | /* Subtract TOC pointer */ | 
| 346 | value -= my_r2(sechdrs, me); | 354 | value -= my_r2(sechdrs, me); | 
| 347 | if (value + 0x8000 > 0xffff) { | 355 | if (value + 0x8000 > 0xffff) { | 
| 348 | printk("%s: bad TOC16 relocation (%lu)\n", | 356 | printk("%s: bad TOC16 relocation (%lu)\n", | 
| @@ -355,7 +363,7 @@ int apply_relocate_add(Elf64_Shdr *sechdrs, | |||
| 355 | break; | 363 | break; | 
| 356 | 364 | ||
| 357 | case R_PPC64_TOC16_DS: | 365 | case R_PPC64_TOC16_DS: | 
| 358 | /* Subtact TOC pointer */ | 366 | /* Subtract TOC pointer */ | 
| 359 | value -= my_r2(sechdrs, me); | 367 | value -= my_r2(sechdrs, me); | 
| 360 | if ((value & 3) != 0 || value + 0x8000 > 0xffff) { | 368 | if ((value & 3) != 0 || value + 0x8000 > 0xffff) { | 
| 361 | printk("%s: bad TOC16_DS relocation (%lu)\n", | 369 | printk("%s: bad TOC16_DS relocation (%lu)\n", | 
diff --git a/arch/powerpc/kernel/prom_init.c b/arch/powerpc/kernel/prom_init.c index 7e4d54821a07..078fb5533541 100644 --- a/arch/powerpc/kernel/prom_init.c +++ b/arch/powerpc/kernel/prom_init.c  | |||
| @@ -636,10 +636,96 @@ static void __init early_cmdline_parse(void) | |||
| 636 | 636 | ||
| 637 | #ifdef CONFIG_PPC_PSERIES | 637 | #ifdef CONFIG_PPC_PSERIES | 
| 638 | /* | 638 | /* | 
| 639 | * To tell the firmware what our capabilities are, we have to pass | 639 | * There are two methods for telling firmware what our capabilities are. | 
| 640 | * it a fake 32-bit ELF header containing a couple of PT_NOTE sections | 640 | * Newer machines have an "ibm,client-architecture-support" method on the | 
| 641 | * that contain structures that contain the actual values. | 641 | * root node. For older machines, we have to call the "process-elf-header" | 
| 642 | * method in the /packages/elf-loader node, passing it a fake 32-bit | ||
| 643 | * ELF header containing a couple of PT_NOTE sections that contain | ||
| 644 | * structures that contain various information. | ||
| 642 | */ | 645 | */ | 
| 646 | |||
| 647 | /* | ||
| 648 | * New method - extensible architecture description vector. | ||
| 649 | * | ||
| 650 | * Because the description vector contains a mix of byte and word | ||
| 651 | * values, we declare it as an unsigned char array, and use this | ||
| 652 | * macro to put word values in. | ||
| 653 | */ | ||
| 654 | #define W(x) ((x) >> 24) & 0xff, ((x) >> 16) & 0xff, \ | ||
| 655 | ((x) >> 8) & 0xff, (x) & 0xff | ||
| 656 | |||
| 657 | /* Option vector bits - generic bits in byte 1 */ | ||
| 658 | #define OV_IGNORE 0x80 /* ignore this vector */ | ||
| 659 | #define OV_CESSATION_POLICY 0x40 /* halt if unsupported option present*/ | ||
| 660 | |||
| 661 | /* Option vector 1: processor architectures supported */ | ||
| 662 | #define OV1_PPC_2_00 0x80 /* set if we support PowerPC 2.00 */ | ||
| 663 | #define OV1_PPC_2_01 0x40 /* set if we support PowerPC 2.01 */ | ||
| 664 | #define OV1_PPC_2_02 0x20 /* set if we support PowerPC 2.02 */ | ||
| 665 | #define OV1_PPC_2_03 0x10 /* set if we support PowerPC 2.03 */ | ||
| 666 | #define OV1_PPC_2_04 0x08 /* set if we support PowerPC 2.04 */ | ||
| 667 | #define OV1_PPC_2_05 0x04 /* set if we support PowerPC 2.05 */ | ||
| 668 | |||
| 669 | /* Option vector 2: Open Firmware options supported */ | ||
| 670 | #define OV2_REAL_MODE 0x20 /* set if we want OF in real mode */ | ||
| 671 | |||
| 672 | /* Option vector 3: processor options supported */ | ||
| 673 | #define OV3_FP 0x80 /* floating point */ | ||
| 674 | #define OV3_VMX 0x40 /* VMX/Altivec */ | ||
| 675 | |||
| 676 | /* Option vector 5: PAPR/OF options supported */ | ||
| 677 | #define OV5_LPAR 0x80 /* logical partitioning supported */ | ||
| 678 | #define OV5_SPLPAR 0x40 /* shared-processor LPAR supported */ | ||
| 679 | /* ibm,dynamic-reconfiguration-memory property supported */ | ||
| 680 | #define OV5_DRCONF_MEMORY 0x20 | ||
| 681 | #define OV5_LARGE_PAGES 0x10 /* large pages supported */ | ||
| 682 | |||
| 683 | /* | ||
| 684 | * The architecture vector has an array of PVR mask/value pairs, | ||
| 685 | * followed by # option vectors - 1, followed by the option vectors. | ||
| 686 | */ | ||
| 687 | static unsigned char ibm_architecture_vec[] = { | ||
| 688 | W(0xfffe0000), W(0x003a0000), /* POWER5/POWER5+ */ | ||
| 689 | W(0xffff0000), W(0x003e0000), /* POWER6 */ | ||
| 690 | W(0xfffffffe), W(0x0f000001), /* all 2.04-compliant and earlier */ | ||
| 691 | 5 - 1, /* 5 option vectors */ | ||
| 692 | |||
| 693 | /* option vector 1: processor architectures supported */ | ||
| 694 | 3 - 1, /* length */ | ||
| 695 | 0, /* don't ignore, don't halt */ | ||
| 696 | OV1_PPC_2_00 | OV1_PPC_2_01 | OV1_PPC_2_02 | OV1_PPC_2_03 | | ||
| 697 | OV1_PPC_2_04 | OV1_PPC_2_05, | ||
| 698 | |||
| 699 | /* option vector 2: Open Firmware options supported */ | ||
| 700 | 34 - 1, /* length */ | ||
| 701 | OV2_REAL_MODE, | ||
| 702 | 0, 0, | ||
| 703 | W(0xffffffff), /* real_base */ | ||
| 704 | W(0xffffffff), /* real_size */ | ||
| 705 | W(0xffffffff), /* virt_base */ | ||
| 706 | W(0xffffffff), /* virt_size */ | ||
| 707 | W(0xffffffff), /* load_base */ | ||
| 708 | W(64), /* 128MB min RMA */ | ||
| 709 | W(0xffffffff), /* full client load */ | ||
| 710 | 0, /* min RMA percentage of total RAM */ | ||
| 711 | 48, /* max log_2(hash table size) */ | ||
| 712 | |||
| 713 | /* option vector 3: processor options supported */ | ||
| 714 | 3 - 1, /* length */ | ||
| 715 | 0, /* don't ignore, don't halt */ | ||
| 716 | OV3_FP | OV3_VMX, | ||
| 717 | |||
| 718 | /* option vector 4: IBM PAPR implementation */ | ||
| 719 | 2 - 1, /* length */ | ||
| 720 | 0, /* don't halt */ | ||
| 721 | |||
| 722 | /* option vector 5: PAPR/OF options */ | ||
| 723 | 3 - 1, /* length */ | ||
| 724 | 0, /* don't ignore, don't halt */ | ||
| 725 | OV5_LPAR | OV5_SPLPAR | OV5_LARGE_PAGES, | ||
| 726 | }; | ||
| 727 | |||
| 728 | /* Old method - ELF header with PT_NOTE sections */ | ||
| 643 | static struct fake_elf { | 729 | static struct fake_elf { | 
| 644 | Elf32_Ehdr elfhdr; | 730 | Elf32_Ehdr elfhdr; | 
| 645 | Elf32_Phdr phdr[2]; | 731 | Elf32_Phdr phdr[2]; | 
| @@ -728,8 +814,26 @@ static struct fake_elf { | |||
| 728 | 814 | ||
| 729 | static void __init prom_send_capabilities(void) | 815 | static void __init prom_send_capabilities(void) | 
| 730 | { | 816 | { | 
| 731 | ihandle elfloader; | 817 | ihandle elfloader, root; | 
| 818 | prom_arg_t ret; | ||
| 819 | |||
| 820 | root = call_prom("open", 1, 1, ADDR("/")); | ||
| 821 | if (root != 0) { | ||
| 822 | /* try calling the ibm,client-architecture-support method */ | ||
| 823 | if (call_prom_ret("call-method", 3, 2, &ret, | ||
| 824 | ADDR("ibm,client-architecture-support"), | ||
| 825 | ADDR(ibm_architecture_vec)) == 0) { | ||
| 826 | /* the call exists... */ | ||
| 827 | if (ret) | ||
| 828 | prom_printf("WARNING: ibm,client-architecture" | ||
| 829 | "-support call FAILED!\n"); | ||
| 830 | call_prom("close", 1, 0, root); | ||
| 831 | return; | ||
| 832 | } | ||
| 833 | call_prom("close", 1, 0, root); | ||
| 834 | } | ||
| 732 | 835 | ||
| 836 | /* no ibm,client-architecture-support call, try the old way */ | ||
| 733 | elfloader = call_prom("open", 1, 1, ADDR("/packages/elf-loader")); | 837 | elfloader = call_prom("open", 1, 1, ADDR("/packages/elf-loader")); | 
| 734 | if (elfloader == 0) { | 838 | if (elfloader == 0) { | 
| 735 | prom_printf("couldn't open /packages/elf-loader\n"); | 839 | prom_printf("couldn't open /packages/elf-loader\n"); | 
diff --git a/arch/powerpc/kernel/ptrace.c b/arch/powerpc/kernel/ptrace.c index bcb83574335b..4a677d1bd4ef 100644 --- a/arch/powerpc/kernel/ptrace.c +++ b/arch/powerpc/kernel/ptrace.c  | |||
| @@ -538,7 +538,7 @@ void do_syscall_trace_enter(struct pt_regs *regs) | |||
| 538 | do_syscall_trace(); | 538 | do_syscall_trace(); | 
| 539 | 539 | ||
| 540 | if (unlikely(current->audit_context)) | 540 | if (unlikely(current->audit_context)) | 
| 541 | audit_syscall_entry(current, | 541 | audit_syscall_entry( | 
| 542 | #ifdef CONFIG_PPC32 | 542 | #ifdef CONFIG_PPC32 | 
| 543 | AUDIT_ARCH_PPC, | 543 | AUDIT_ARCH_PPC, | 
| 544 | #else | 544 | #else | 
| @@ -556,8 +556,7 @@ void do_syscall_trace_leave(struct pt_regs *regs) | |||
| 556 | #endif | 556 | #endif | 
| 557 | 557 | ||
| 558 | if (unlikely(current->audit_context)) | 558 | if (unlikely(current->audit_context)) | 
| 559 | audit_syscall_exit(current, | 559 | audit_syscall_exit((regs->ccr&0x1000)?AUDITSC_FAILURE:AUDITSC_SUCCESS, | 
| 560 | (regs->ccr&0x1000)?AUDITSC_FAILURE:AUDITSC_SUCCESS, | ||
| 561 | regs->result); | 560 | regs->result); | 
| 562 | 561 | ||
| 563 | if ((test_thread_flag(TIF_SYSCALL_TRACE) | 562 | if ((test_thread_flag(TIF_SYSCALL_TRACE) | 
diff --git a/arch/powerpc/kernel/setup-common.c b/arch/powerpc/kernel/setup-common.c index 1d93e73a7003..684ab1d49c65 100644 --- a/arch/powerpc/kernel/setup-common.c +++ b/arch/powerpc/kernel/setup-common.c  | |||
| @@ -516,3 +516,11 @@ void probe_machine(void) | |||
| 516 | 516 | ||
| 517 | printk(KERN_INFO "Using %s machine description\n", ppc_md.name); | 517 | printk(KERN_INFO "Using %s machine description\n", ppc_md.name); | 
| 518 | } | 518 | } | 
| 519 | |||
| 520 | int check_legacy_ioport(unsigned long base_port) | ||
| 521 | { | ||
| 522 | if (ppc_md.check_legacy_ioport == NULL) | ||
| 523 | return 0; | ||
| 524 | return ppc_md.check_legacy_ioport(base_port); | ||
| 525 | } | ||
| 526 | EXPORT_SYMBOL(check_legacy_ioport); | ||
diff --git a/arch/powerpc/kernel/setup_64.c b/arch/powerpc/kernel/setup_64.c index 13e91c4d70a8..4467c49903b6 100644 --- a/arch/powerpc/kernel/setup_64.c +++ b/arch/powerpc/kernel/setup_64.c  | |||
| @@ -594,14 +594,6 @@ void ppc64_terminate_msg(unsigned int src, const char *msg) | |||
| 594 | printk("[terminate]%04x %s\n", src, msg); | 594 | printk("[terminate]%04x %s\n", src, msg); | 
| 595 | } | 595 | } | 
| 596 | 596 | ||
| 597 | int check_legacy_ioport(unsigned long base_port) | ||
| 598 | { | ||
| 599 | if (ppc_md.check_legacy_ioport == NULL) | ||
| 600 | return 0; | ||
| 601 | return ppc_md.check_legacy_ioport(base_port); | ||
| 602 | } | ||
| 603 | EXPORT_SYMBOL(check_legacy_ioport); | ||
| 604 | |||
| 605 | void cpu_die(void) | 597 | void cpu_die(void) | 
| 606 | { | 598 | { | 
| 607 | if (ppc_md.cpu_die) | 599 | if (ppc_md.cpu_die) | 
diff --git a/arch/powerpc/kernel/sysfs.c b/arch/powerpc/kernel/sysfs.c index ed737cacf92d..5bc2585c8036 100644 --- a/arch/powerpc/kernel/sysfs.c +++ b/arch/powerpc/kernel/sysfs.c  | |||
| @@ -322,13 +322,31 @@ static void register_nodes(void) | |||
| 322 | } | 322 | } | 
| 323 | } | 323 | } | 
| 324 | } | 324 | } | 
| 325 | |||
| 326 | int sysfs_add_device_to_node(struct sys_device *dev, int nid) | ||
| 327 | { | ||
| 328 | struct node *node = &node_devices[nid]; | ||
| 329 | return sysfs_create_link(&node->sysdev.kobj, &dev->kobj, | ||
| 330 | kobject_name(&dev->kobj)); | ||
| 331 | } | ||
| 332 | |||
| 333 | void sysfs_remove_device_from_node(struct sys_device *dev, int nid) | ||
| 334 | { | ||
| 335 | struct node *node = &node_devices[nid]; | ||
| 336 | sysfs_remove_link(&node->sysdev.kobj, kobject_name(&dev->kobj)); | ||
| 337 | } | ||
| 338 | |||
| 325 | #else | 339 | #else | 
| 326 | static void register_nodes(void) | 340 | static void register_nodes(void) | 
| 327 | { | 341 | { | 
| 328 | return; | 342 | return; | 
| 329 | } | 343 | } | 
| 344 | |||
| 330 | #endif | 345 | #endif | 
| 331 | 346 | ||
| 347 | EXPORT_SYMBOL_GPL(sysfs_add_device_to_node); | ||
| 348 | EXPORT_SYMBOL_GPL(sysfs_remove_device_from_node); | ||
| 349 | |||
| 332 | /* Only valid if CPU is present. */ | 350 | /* Only valid if CPU is present. */ | 
| 333 | static ssize_t show_physical_id(struct sys_device *dev, char *buf) | 351 | static ssize_t show_physical_id(struct sys_device *dev, char *buf) | 
| 334 | { | 352 | { | 
diff --git a/arch/powerpc/kernel/systbl.S b/arch/powerpc/kernel/systbl.S index 0b98eea73c5e..cf56a1d499ff 100644 --- a/arch/powerpc/kernel/systbl.S +++ b/arch/powerpc/kernel/systbl.S  | |||
| @@ -325,6 +325,19 @@ SYSCALL(unshare) | |||
| 325 | SYSCALL(splice) | 325 | SYSCALL(splice) | 
| 326 | SYSCALL(tee) | 326 | SYSCALL(tee) | 
| 327 | SYSCALL(vmsplice) | 327 | SYSCALL(vmsplice) | 
| 328 | COMPAT_SYS(openat) | ||
| 329 | SYSCALL(mkdirat) | ||
| 330 | SYSCALL(mknodat) | ||
| 331 | SYSCALL(fchownat) | ||
| 332 | COMPAT_SYS(futimesat) | ||
| 333 | SYSX(sys_newfstatat, sys_fstatat64, sys_fstatat64) | ||
| 334 | SYSCALL(unlinkat) | ||
| 335 | SYSCALL(renameat) | ||
| 336 | SYSCALL(linkat) | ||
| 337 | SYSCALL(symlinkat) | ||
| 338 | SYSCALL(readlinkat) | ||
| 339 | SYSCALL(fchmodat) | ||
| 340 | SYSCALL(faccessat) | ||
| 328 | 341 | ||
| 329 | /* | 342 | /* | 
| 330 | * please add new calls to arch/powerpc/platforms/cell/spu_callbacks.c | 343 | * please add new calls to arch/powerpc/platforms/cell/spu_callbacks.c | 
diff --git a/arch/powerpc/mm/hugetlbpage.c b/arch/powerpc/mm/hugetlbpage.c index 7370f9f33e29..266b8b2ceac9 100644 --- a/arch/powerpc/mm/hugetlbpage.c +++ b/arch/powerpc/mm/hugetlbpage.c  | |||
| @@ -30,13 +30,66 @@ | |||
| 30 | #define NUM_LOW_AREAS (0x100000000UL >> SID_SHIFT) | 30 | #define NUM_LOW_AREAS (0x100000000UL >> SID_SHIFT) | 
| 31 | #define NUM_HIGH_AREAS (PGTABLE_RANGE >> HTLB_AREA_SHIFT) | 31 | #define NUM_HIGH_AREAS (PGTABLE_RANGE >> HTLB_AREA_SHIFT) | 
| 32 | 32 | ||
| 33 | #ifdef CONFIG_PPC_64K_PAGES | ||
| 34 | #define HUGEPTE_INDEX_SIZE (PMD_SHIFT-HPAGE_SHIFT) | ||
| 35 | #else | ||
| 36 | #define HUGEPTE_INDEX_SIZE (PUD_SHIFT-HPAGE_SHIFT) | ||
| 37 | #endif | ||
| 38 | #define PTRS_PER_HUGEPTE (1 << HUGEPTE_INDEX_SIZE) | ||
| 39 | #define HUGEPTE_TABLE_SIZE (sizeof(pte_t) << HUGEPTE_INDEX_SIZE) | ||
| 40 | |||
| 41 | #define HUGEPD_SHIFT (HPAGE_SHIFT + HUGEPTE_INDEX_SIZE) | ||
| 42 | #define HUGEPD_SIZE (1UL << HUGEPD_SHIFT) | ||
| 43 | #define HUGEPD_MASK (~(HUGEPD_SIZE-1)) | ||
| 44 | |||
| 45 | #define huge_pgtable_cache (pgtable_cache[HUGEPTE_CACHE_NUM]) | ||
| 46 | |||
| 47 | /* Flag to mark huge PD pointers. This means pmd_bad() and pud_bad() | ||
| 48 | * will choke on pointers to hugepte tables, which is handy for | ||
| 49 | * catching screwups early. */ | ||
| 50 | #define HUGEPD_OK 0x1 | ||
| 51 | |||
| 52 | typedef struct { unsigned long pd; } hugepd_t; | ||
| 53 | |||
| 54 | #define hugepd_none(hpd) ((hpd).pd == 0) | ||
| 55 | |||
| 56 | static inline pte_t *hugepd_page(hugepd_t hpd) | ||
| 57 | { | ||
| 58 | BUG_ON(!(hpd.pd & HUGEPD_OK)); | ||
| 59 | return (pte_t *)(hpd.pd & ~HUGEPD_OK); | ||
| 60 | } | ||
| 61 | |||
| 62 | static inline pte_t *hugepte_offset(hugepd_t *hpdp, unsigned long addr) | ||
| 63 | { | ||
| 64 | unsigned long idx = ((addr >> HPAGE_SHIFT) & (PTRS_PER_HUGEPTE-1)); | ||
| 65 | pte_t *dir = hugepd_page(*hpdp); | ||
| 66 | |||
| 67 | return dir + idx; | ||
| 68 | } | ||
| 69 | |||
| 70 | static int __hugepte_alloc(struct mm_struct *mm, hugepd_t *hpdp, | ||
| 71 | unsigned long address) | ||
| 72 | { | ||
| 73 | pte_t *new = kmem_cache_alloc(huge_pgtable_cache, | ||
| 74 | GFP_KERNEL|__GFP_REPEAT); | ||
| 75 | |||
| 76 | if (! new) | ||
| 77 | return -ENOMEM; | ||
| 78 | |||
| 79 | spin_lock(&mm->page_table_lock); | ||
| 80 | if (!hugepd_none(*hpdp)) | ||
| 81 | kmem_cache_free(huge_pgtable_cache, new); | ||
| 82 | else | ||
| 83 | hpdp->pd = (unsigned long)new | HUGEPD_OK; | ||
| 84 | spin_unlock(&mm->page_table_lock); | ||
| 85 | return 0; | ||
| 86 | } | ||
| 87 | |||
| 33 | /* Modelled after find_linux_pte() */ | 88 | /* Modelled after find_linux_pte() */ | 
| 34 | pte_t *huge_pte_offset(struct mm_struct *mm, unsigned long addr) | 89 | pte_t *huge_pte_offset(struct mm_struct *mm, unsigned long addr) | 
| 35 | { | 90 | { | 
| 36 | pgd_t *pg; | 91 | pgd_t *pg; | 
| 37 | pud_t *pu; | 92 | pud_t *pu; | 
| 38 | pmd_t *pm; | ||
| 39 | pte_t *pt; | ||
| 40 | 93 | ||
| 41 | BUG_ON(! in_hugepage_area(mm->context, addr)); | 94 | BUG_ON(! in_hugepage_area(mm->context, addr)); | 
| 42 | 95 | ||
| @@ -46,26 +99,14 @@ pte_t *huge_pte_offset(struct mm_struct *mm, unsigned long addr) | |||
| 46 | if (!pgd_none(*pg)) { | 99 | if (!pgd_none(*pg)) { | 
| 47 | pu = pud_offset(pg, addr); | 100 | pu = pud_offset(pg, addr); | 
| 48 | if (!pud_none(*pu)) { | 101 | if (!pud_none(*pu)) { | 
| 49 | pm = pmd_offset(pu, addr); | ||
| 50 | #ifdef CONFIG_PPC_64K_PAGES | 102 | #ifdef CONFIG_PPC_64K_PAGES | 
| 51 | /* Currently, we use the normal PTE offset within full | 103 | pmd_t *pm; | 
| 52 | * size PTE pages, thus our huge PTEs are scattered in | 104 | pm = pmd_offset(pu, addr); | 
| 53 | * the PTE page and we do waste some. We may change | 105 | if (!pmd_none(*pm)) | 
| 54 | * that in the future, but the current mecanism keeps | 106 | return hugepte_offset((hugepd_t *)pm, addr); | 
| 55 | * things much simpler | 107 | #else | 
| 56 | */ | 108 | return hugepte_offset((hugepd_t *)pu, addr); | 
| 57 | if (!pmd_none(*pm)) { | 109 | #endif | 
| 58 | /* Note: pte_offset_* are all equivalent on | ||
| 59 | * ppc64 as we don't have HIGHMEM | ||
| 60 | */ | ||
| 61 | pt = pte_offset_kernel(pm, addr); | ||
| 62 | return pt; | ||
| 63 | } | ||
| 64 | #else /* CONFIG_PPC_64K_PAGES */ | ||
| 65 | /* On 4k pages, we put huge PTEs in the PMD page */ | ||
| 66 | pt = (pte_t *)pm; | ||
| 67 | return pt; | ||
| 68 | #endif /* CONFIG_PPC_64K_PAGES */ | ||
| 69 | } | 110 | } | 
| 70 | } | 111 | } | 
| 71 | 112 | ||
| @@ -76,8 +117,7 @@ pte_t *huge_pte_alloc(struct mm_struct *mm, unsigned long addr) | |||
| 76 | { | 117 | { | 
| 77 | pgd_t *pg; | 118 | pgd_t *pg; | 
| 78 | pud_t *pu; | 119 | pud_t *pu; | 
| 79 | pmd_t *pm; | 120 | hugepd_t *hpdp = NULL; | 
| 80 | pte_t *pt; | ||
| 81 | 121 | ||
| 82 | BUG_ON(! in_hugepage_area(mm->context, addr)); | 122 | BUG_ON(! in_hugepage_area(mm->context, addr)); | 
| 83 | 123 | ||
| @@ -87,23 +127,182 @@ pte_t *huge_pte_alloc(struct mm_struct *mm, unsigned long addr) | |||
| 87 | pu = pud_alloc(mm, pg, addr); | 127 | pu = pud_alloc(mm, pg, addr); | 
| 88 | 128 | ||
| 89 | if (pu) { | 129 | if (pu) { | 
| 130 | #ifdef CONFIG_PPC_64K_PAGES | ||
| 131 | pmd_t *pm; | ||
| 90 | pm = pmd_alloc(mm, pu, addr); | 132 | pm = pmd_alloc(mm, pu, addr); | 
| 91 | if (pm) { | 133 | if (pm) | 
| 134 | hpdp = (hugepd_t *)pm; | ||
| 135 | #else | ||
| 136 | hpdp = (hugepd_t *)pu; | ||
| 137 | #endif | ||
| 138 | } | ||
| 139 | |||
| 140 | if (! hpdp) | ||
| 141 | return NULL; | ||
| 142 | |||
| 143 | if (hugepd_none(*hpdp) && __hugepte_alloc(mm, hpdp, addr)) | ||
| 144 | return NULL; | ||
| 145 | |||
| 146 | return hugepte_offset(hpdp, addr); | ||
| 147 | } | ||
| 148 | |||
| 149 | static void free_hugepte_range(struct mmu_gather *tlb, hugepd_t *hpdp) | ||
| 150 | { | ||
| 151 | pte_t *hugepte = hugepd_page(*hpdp); | ||
| 152 | |||
| 153 | hpdp->pd = 0; | ||
| 154 | tlb->need_flush = 1; | ||
| 155 | pgtable_free_tlb(tlb, pgtable_free_cache(hugepte, HUGEPTE_CACHE_NUM, | ||
| 156 | HUGEPTE_TABLE_SIZE-1)); | ||
| 157 | } | ||
| 158 | |||
| 92 | #ifdef CONFIG_PPC_64K_PAGES | 159 | #ifdef CONFIG_PPC_64K_PAGES | 
| 93 | /* See comment in huge_pte_offset. Note that if we ever | 160 | static void hugetlb_free_pmd_range(struct mmu_gather *tlb, pud_t *pud, | 
| 94 | * want to put the page size in the PMD, we would have | 161 | unsigned long addr, unsigned long end, | 
| 95 | * to open code our own pte_alloc* function in order | 162 | unsigned long floor, unsigned long ceiling) | 
| 96 | * to populate and set the size atomically | 163 | { | 
| 97 | */ | 164 | pmd_t *pmd; | 
| 98 | pt = pte_alloc_map(mm, pm, addr); | 165 | unsigned long next; | 
| 99 | #else /* CONFIG_PPC_64K_PAGES */ | 166 | unsigned long start; | 
| 100 | pt = (pte_t *)pm; | 167 | |
| 101 | #endif /* CONFIG_PPC_64K_PAGES */ | 168 | start = addr; | 
| 102 | return pt; | 169 | pmd = pmd_offset(pud, addr); | 
| 103 | } | 170 | do { | 
| 171 | next = pmd_addr_end(addr, end); | ||
| 172 | if (pmd_none(*pmd)) | ||
| 173 | continue; | ||
| 174 | free_hugepte_range(tlb, (hugepd_t *)pmd); | ||
| 175 | } while (pmd++, addr = next, addr != end); | ||
| 176 | |||
| 177 | start &= PUD_MASK; | ||
| 178 | if (start < floor) | ||
| 179 | return; | ||
| 180 | if (ceiling) { | ||
| 181 | ceiling &= PUD_MASK; | ||
| 182 | if (!ceiling) | ||
| 183 | return; | ||
| 104 | } | 184 | } | 
| 185 | if (end - 1 > ceiling - 1) | ||
| 186 | return; | ||
| 105 | 187 | ||
| 106 | return NULL; | 188 | pmd = pmd_offset(pud, start); | 
| 189 | pud_clear(pud); | ||
| 190 | pmd_free_tlb(tlb, pmd); | ||
| 191 | } | ||
| 192 | #endif | ||
| 193 | |||
| 194 | static void hugetlb_free_pud_range(struct mmu_gather *tlb, pgd_t *pgd, | ||
| 195 | unsigned long addr, unsigned long end, | ||
| 196 | unsigned long floor, unsigned long ceiling) | ||
| 197 | { | ||
| 198 | pud_t *pud; | ||
| 199 | unsigned long next; | ||
| 200 | unsigned long start; | ||
| 201 | |||
| 202 | start = addr; | ||
| 203 | pud = pud_offset(pgd, addr); | ||
| 204 | do { | ||
| 205 | next = pud_addr_end(addr, end); | ||
| 206 | #ifdef CONFIG_PPC_64K_PAGES | ||
| 207 | if (pud_none_or_clear_bad(pud)) | ||
| 208 | continue; | ||
| 209 | hugetlb_free_pmd_range(tlb, pud, addr, next, floor, ceiling); | ||
| 210 | #else | ||
| 211 | if (pud_none(*pud)) | ||
| 212 | continue; | ||
| 213 | free_hugepte_range(tlb, (hugepd_t *)pud); | ||
| 214 | #endif | ||
| 215 | } while (pud++, addr = next, addr != end); | ||
| 216 | |||
| 217 | start &= PGDIR_MASK; | ||
| 218 | if (start < floor) | ||
| 219 | return; | ||
| 220 | if (ceiling) { | ||
| 221 | ceiling &= PGDIR_MASK; | ||
| 222 | if (!ceiling) | ||
| 223 | return; | ||
| 224 | } | ||
| 225 | if (end - 1 > ceiling - 1) | ||
| 226 | return; | ||
| 227 | |||
| 228 | pud = pud_offset(pgd, start); | ||
| 229 | pgd_clear(pgd); | ||
| 230 | pud_free_tlb(tlb, pud); | ||
| 231 | } | ||
| 232 | |||
| 233 | /* | ||
| 234 | * This function frees user-level page tables of a process. | ||
| 235 | * | ||
| 236 | * Must be called with pagetable lock held. | ||
| 237 | */ | ||
| 238 | void hugetlb_free_pgd_range(struct mmu_gather **tlb, | ||
| 239 | unsigned long addr, unsigned long end, | ||
| 240 | unsigned long floor, unsigned long ceiling) | ||
| 241 | { | ||
| 242 | pgd_t *pgd; | ||
| 243 | unsigned long next; | ||
| 244 | unsigned long start; | ||
| 245 | |||
| 246 | /* | ||
| 247 | * Comments below take from the normal free_pgd_range(). They | ||
| 248 | * apply here too. The tests against HUGEPD_MASK below are | ||
| 249 | * essential, because we *don't* test for this at the bottom | ||
| 250 | * level. Without them we'll attempt to free a hugepte table | ||
| 251 | * when we unmap just part of it, even if there are other | ||
| 252 | * active mappings using it. | ||
| 253 | * | ||
| 254 | * The next few lines have given us lots of grief... | ||
| 255 | * | ||
| 256 | * Why are we testing HUGEPD* at this top level? Because | ||
| 257 | * often there will be no work to do at all, and we'd prefer | ||
| 258 | * not to go all the way down to the bottom just to discover | ||
| 259 | * that. | ||
| 260 | * | ||
| 261 | * Why all these "- 1"s? Because 0 represents both the bottom | ||
| 262 | * of the address space and the top of it (using -1 for the | ||
| 263 | * top wouldn't help much: the masks would do the wrong thing). | ||
| 264 | * The rule is that addr 0 and floor 0 refer to the bottom of | ||
| 265 | * the address space, but end 0 and ceiling 0 refer to the top | ||
| 266 | * Comparisons need to use "end - 1" and "ceiling - 1" (though | ||
| 267 | * that end 0 case should be mythical). | ||
| 268 | * | ||
| 269 | * Wherever addr is brought up or ceiling brought down, we | ||
| 270 | * must be careful to reject "the opposite 0" before it | ||
| 271 | * confuses the subsequent tests. But what about where end is | ||
| 272 | * brought down by HUGEPD_SIZE below? no, end can't go down to | ||
| 273 | * 0 there. | ||
| 274 | * | ||
| 275 | * Whereas we round start (addr) and ceiling down, by different | ||
| 276 | * masks at different levels, in order to test whether a table | ||
| 277 | * now has no other vmas using it, so can be freed, we don't | ||
| 278 | * bother to round floor or end up - the tests don't need that. | ||
| 279 | */ | ||
| 280 | |||
| 281 | addr &= HUGEPD_MASK; | ||
| 282 | if (addr < floor) { | ||
| 283 | addr += HUGEPD_SIZE; | ||
| 284 | if (!addr) | ||
| 285 | return; | ||
| 286 | } | ||
| 287 | if (ceiling) { | ||
| 288 | ceiling &= HUGEPD_MASK; | ||
| 289 | if (!ceiling) | ||
| 290 | return; | ||
| 291 | } | ||
| 292 | if (end - 1 > ceiling - 1) | ||
| 293 | end -= HUGEPD_SIZE; | ||
| 294 | if (addr > end - 1) | ||
| 295 | return; | ||
| 296 | |||
| 297 | start = addr; | ||
| 298 | pgd = pgd_offset((*tlb)->mm, addr); | ||
| 299 | do { | ||
| 300 | BUG_ON(! in_hugepage_area((*tlb)->mm->context, addr)); | ||
| 301 | next = pgd_addr_end(addr, end); | ||
| 302 | if (pgd_none_or_clear_bad(pgd)) | ||
| 303 | continue; | ||
| 304 | hugetlb_free_pud_range(*tlb, pgd, addr, next, floor, ceiling); | ||
| 305 | } while (pgd++, addr = next, addr != end); | ||
| 107 | } | 306 | } | 
| 108 | 307 | ||
| 109 | void set_huge_pte_at(struct mm_struct *mm, unsigned long addr, | 308 | void set_huge_pte_at(struct mm_struct *mm, unsigned long addr, | 
| @@ -841,3 +1040,27 @@ repeat: | |||
| 841 | out: | 1040 | out: | 
| 842 | return err; | 1041 | return err; | 
| 843 | } | 1042 | } | 
| 1043 | |||
| 1044 | static void zero_ctor(void *addr, kmem_cache_t *cache, unsigned long flags) | ||
| 1045 | { | ||
| 1046 | memset(addr, 0, kmem_cache_size(cache)); | ||
| 1047 | } | ||
| 1048 | |||
| 1049 | static int __init hugetlbpage_init(void) | ||
| 1050 | { | ||
| 1051 | if (!cpu_has_feature(CPU_FTR_16M_PAGE)) | ||
| 1052 | return -ENODEV; | ||
| 1053 | |||
| 1054 | huge_pgtable_cache = kmem_cache_create("hugepte_cache", | ||
| 1055 | HUGEPTE_TABLE_SIZE, | ||
| 1056 | HUGEPTE_TABLE_SIZE, | ||
| 1057 | SLAB_HWCACHE_ALIGN | | ||
| 1058 | SLAB_MUST_HWCACHE_ALIGN, | ||
| 1059 | zero_ctor, NULL); | ||
| 1060 | if (! huge_pgtable_cache) | ||
| 1061 | panic("hugetlbpage_init(): could not create hugepte cache\n"); | ||
| 1062 | |||
| 1063 | return 0; | ||
| 1064 | } | ||
| 1065 | |||
| 1066 | module_init(hugetlbpage_init); | ||
diff --git a/arch/powerpc/mm/init_64.c b/arch/powerpc/mm/init_64.c index babebd15bdc4..9e30f968c184 100644 --- a/arch/powerpc/mm/init_64.c +++ b/arch/powerpc/mm/init_64.c  | |||
| @@ -162,7 +162,14 @@ static const char *pgtable_cache_name[ARRAY_SIZE(pgtable_cache_size)] = { | |||
| 162 | }; | 162 | }; | 
| 163 | #endif /* CONFIG_PPC_64K_PAGES */ | 163 | #endif /* CONFIG_PPC_64K_PAGES */ | 
| 164 | 164 | ||
| 165 | #ifdef CONFIG_HUGETLB_PAGE | ||
| 166 | /* Hugepages need one extra cache, initialized in hugetlbpage.c. We | ||
| 167 | * can't put into the tables above, because HPAGE_SHIFT is not compile | ||
| 168 | * time constant. */ | ||
| 169 | kmem_cache_t *pgtable_cache[ARRAY_SIZE(pgtable_cache_size)+1]; | ||
| 170 | #else | ||
| 165 | kmem_cache_t *pgtable_cache[ARRAY_SIZE(pgtable_cache_size)]; | 171 | kmem_cache_t *pgtable_cache[ARRAY_SIZE(pgtable_cache_size)]; | 
| 172 | #endif | ||
| 166 | 173 | ||
| 167 | void pgtable_cache_init(void) | 174 | void pgtable_cache_init(void) | 
| 168 | { | 175 | { | 
diff --git a/arch/powerpc/mm/numa.c b/arch/powerpc/mm/numa.c index 0a335f34974c..092355f37399 100644 --- a/arch/powerpc/mm/numa.c +++ b/arch/powerpc/mm/numa.c  | |||
| @@ -194,7 +194,7 @@ static int *of_get_associativity(struct device_node *dev) | |||
| 194 | /* Returns nid in the range [0..MAX_NUMNODES-1], or -1 if no useful numa | 194 | /* Returns nid in the range [0..MAX_NUMNODES-1], or -1 if no useful numa | 
| 195 | * info is found. | 195 | * info is found. | 
| 196 | */ | 196 | */ | 
| 197 | static int of_node_to_nid(struct device_node *device) | 197 | static int of_node_to_nid_single(struct device_node *device) | 
| 198 | { | 198 | { | 
| 199 | int nid = -1; | 199 | int nid = -1; | 
| 200 | unsigned int *tmp; | 200 | unsigned int *tmp; | 
| @@ -216,6 +216,28 @@ out: | |||
| 216 | return nid; | 216 | return nid; | 
| 217 | } | 217 | } | 
| 218 | 218 | ||
| 219 | /* Walk the device tree upwards, looking for an associativity id */ | ||
| 220 | int of_node_to_nid(struct device_node *device) | ||
| 221 | { | ||
| 222 | struct device_node *tmp; | ||
| 223 | int nid = -1; | ||
| 224 | |||
| 225 | of_node_get(device); | ||
| 226 | while (device) { | ||
| 227 | nid = of_node_to_nid_single(device); | ||
| 228 | if (nid != -1) | ||
| 229 | break; | ||
| 230 | |||
| 231 | tmp = device; | ||
| 232 | device = of_get_parent(tmp); | ||
| 233 | of_node_put(tmp); | ||
| 234 | } | ||
| 235 | of_node_put(device); | ||
| 236 | |||
| 237 | return nid; | ||
| 238 | } | ||
| 239 | EXPORT_SYMBOL_GPL(of_node_to_nid); | ||
| 240 | |||
| 219 | /* | 241 | /* | 
| 220 | * In theory, the "ibm,associativity" property may contain multiple | 242 | * In theory, the "ibm,associativity" property may contain multiple | 
| 221 | * associativity lists because a resource may be multiply connected | 243 | * associativity lists because a resource may be multiply connected | 
| @@ -300,7 +322,7 @@ static int __cpuinit numa_setup_cpu(unsigned long lcpu) | |||
| 300 | goto out; | 322 | goto out; | 
| 301 | } | 323 | } | 
| 302 | 324 | ||
| 303 | nid = of_node_to_nid(cpu); | 325 | nid = of_node_to_nid_single(cpu); | 
| 304 | 326 | ||
| 305 | if (nid < 0 || !node_online(nid)) | 327 | if (nid < 0 || !node_online(nid)) | 
| 306 | nid = any_online_node(NODE_MASK_ALL); | 328 | nid = any_online_node(NODE_MASK_ALL); | 
| @@ -393,7 +415,7 @@ static int __init parse_numa_properties(void) | |||
| 393 | 415 | ||
| 394 | cpu = find_cpu_node(i); | 416 | cpu = find_cpu_node(i); | 
| 395 | BUG_ON(!cpu); | 417 | BUG_ON(!cpu); | 
| 396 | nid = of_node_to_nid(cpu); | 418 | nid = of_node_to_nid_single(cpu); | 
| 397 | of_node_put(cpu); | 419 | of_node_put(cpu); | 
| 398 | 420 | ||
| 399 | /* | 421 | /* | 
| @@ -437,7 +459,7 @@ new_range: | |||
| 437 | * have associativity properties. If none, then | 459 | * have associativity properties. If none, then | 
| 438 | * everything goes to default_nid. | 460 | * everything goes to default_nid. | 
| 439 | */ | 461 | */ | 
| 440 | nid = of_node_to_nid(memory); | 462 | nid = of_node_to_nid_single(memory); | 
| 441 | if (nid < 0) | 463 | if (nid < 0) | 
| 442 | nid = default_nid; | 464 | nid = default_nid; | 
| 443 | node_set_online(nid); | 465 | node_set_online(nid); | 
| @@ -776,7 +798,7 @@ int hot_add_scn_to_nid(unsigned long scn_addr) | |||
| 776 | ha_new_range: | 798 | ha_new_range: | 
| 777 | start = read_n_cells(n_mem_addr_cells, &memcell_buf); | 799 | start = read_n_cells(n_mem_addr_cells, &memcell_buf); | 
| 778 | size = read_n_cells(n_mem_size_cells, &memcell_buf); | 800 | size = read_n_cells(n_mem_size_cells, &memcell_buf); | 
| 779 | nid = of_node_to_nid(memory); | 801 | nid = of_node_to_nid_single(memory); | 
| 780 | 802 | ||
| 781 | /* Domains not present at boot default to 0 */ | 803 | /* Domains not present at boot default to 0 */ | 
| 782 | if (nid < 0 || !node_online(nid)) | 804 | if (nid < 0 || !node_online(nid)) | 
diff --git a/arch/powerpc/platforms/cell/Kconfig b/arch/powerpc/platforms/cell/Kconfig index c2a3db8edb0c..6a02d51086c8 100644 --- a/arch/powerpc/platforms/cell/Kconfig +++ b/arch/powerpc/platforms/cell/Kconfig  | |||
| @@ -12,7 +12,8 @@ config SPU_FS | |||
| 12 | 12 | ||
| 13 | config SPUFS_MMAP | 13 | config SPUFS_MMAP | 
| 14 | bool | 14 | bool | 
| 15 | depends on SPU_FS && SPARSEMEM && !PPC_64K_PAGES | 15 | depends on SPU_FS && SPARSEMEM | 
| 16 | select MEMORY_HOTPLUG | ||
| 16 | default y | 17 | default y | 
| 17 | 18 | ||
| 18 | endmenu | 19 | endmenu | 
diff --git a/arch/powerpc/platforms/cell/setup.c b/arch/powerpc/platforms/cell/setup.c index dac5d0365fde..6574b22b3cf3 100644 --- a/arch/powerpc/platforms/cell/setup.c +++ b/arch/powerpc/platforms/cell/setup.c  | |||
| @@ -29,6 +29,8 @@ | |||
| 29 | #include <linux/seq_file.h> | 29 | #include <linux/seq_file.h> | 
| 30 | #include <linux/root_dev.h> | 30 | #include <linux/root_dev.h> | 
| 31 | #include <linux/console.h> | 31 | #include <linux/console.h> | 
| 32 | #include <linux/mutex.h> | ||
| 33 | #include <linux/memory_hotplug.h> | ||
| 32 | 34 | ||
| 33 | #include <asm/mmu.h> | 35 | #include <asm/mmu.h> | 
| 34 | #include <asm/processor.h> | 36 | #include <asm/processor.h> | 
| @@ -46,6 +48,7 @@ | |||
| 46 | #include <asm/cputable.h> | 48 | #include <asm/cputable.h> | 
| 47 | #include <asm/ppc-pci.h> | 49 | #include <asm/ppc-pci.h> | 
| 48 | #include <asm/irq.h> | 50 | #include <asm/irq.h> | 
| 51 | #include <asm/spu.h> | ||
| 49 | 52 | ||
| 50 | #include "interrupt.h" | 53 | #include "interrupt.h" | 
| 51 | #include "iommu.h" | 54 | #include "iommu.h" | 
| @@ -69,77 +72,6 @@ static void cell_show_cpuinfo(struct seq_file *m) | |||
| 69 | of_node_put(root); | 72 | of_node_put(root); | 
| 70 | } | 73 | } | 
| 71 | 74 | ||
| 72 | #ifdef CONFIG_SPARSEMEM | ||
| 73 | static int __init find_spu_node_id(struct device_node *spe) | ||
| 74 | { | ||
| 75 | unsigned int *id; | ||
| 76 | #ifdef CONFIG_NUMA | ||
| 77 | struct device_node *cpu; | ||
| 78 | cpu = spe->parent->parent; | ||
| 79 | id = (unsigned int *)get_property(cpu, "node-id", NULL); | ||
| 80 | #else | ||
| 81 | id = NULL; | ||
| 82 | #endif | ||
| 83 | return id ? *id : 0; | ||
| 84 | } | ||
| 85 | |||
| 86 | static void __init cell_spuprop_present(struct device_node *spe, | ||
| 87 | const char *prop, int early) | ||
| 88 | { | ||
| 89 | struct address_prop { | ||
| 90 | unsigned long address; | ||
| 91 | unsigned int len; | ||
| 92 | } __attribute__((packed)) *p; | ||
| 93 | int proplen; | ||
| 94 | |||
| 95 | unsigned long start_pfn, end_pfn, pfn; | ||
| 96 | int node_id; | ||
| 97 | |||
| 98 | p = (void*)get_property(spe, prop, &proplen); | ||
| 99 | WARN_ON(proplen != sizeof (*p)); | ||
| 100 | |||
| 101 | node_id = find_spu_node_id(spe); | ||
| 102 | |||
| 103 | start_pfn = p->address >> PAGE_SHIFT; | ||
| 104 | end_pfn = (p->address + p->len + PAGE_SIZE - 1) >> PAGE_SHIFT; | ||
| 105 | |||
| 106 | /* We need to call memory_present *before* the call to sparse_init, | ||
| 107 | but we can initialize the page structs only *after* that call. | ||
| 108 | Thus, we're being called twice. */ | ||
| 109 | if (early) | ||
| 110 | memory_present(node_id, start_pfn, end_pfn); | ||
| 111 | else { | ||
| 112 | /* As the pages backing SPU LS and I/O are outside the range | ||
| 113 | of regular memory, their page structs were not initialized | ||
| 114 | by free_area_init. Do it here instead. */ | ||
| 115 | for (pfn = start_pfn; pfn < end_pfn; pfn++) { | ||
| 116 | struct page *page = pfn_to_page(pfn); | ||
| 117 | set_page_links(page, ZONE_DMA, node_id, pfn); | ||
| 118 | init_page_count(page); | ||
| 119 | reset_page_mapcount(page); | ||
| 120 | SetPageReserved(page); | ||
| 121 | INIT_LIST_HEAD(&page->lru); | ||
| 122 | } | ||
| 123 | } | ||
| 124 | } | ||
| 125 | |||
| 126 | static void __init cell_spumem_init(int early) | ||
| 127 | { | ||
| 128 | struct device_node *node; | ||
| 129 | for (node = of_find_node_by_type(NULL, "spe"); | ||
| 130 | node; node = of_find_node_by_type(node, "spe")) { | ||
| 131 | cell_spuprop_present(node, "local-store", early); | ||
| 132 | cell_spuprop_present(node, "problem", early); | ||
| 133 | cell_spuprop_present(node, "priv1", early); | ||
| 134 | cell_spuprop_present(node, "priv2", early); | ||
| 135 | } | ||
| 136 | } | ||
| 137 | #else | ||
| 138 | static void __init cell_spumem_init(int early) | ||
| 139 | { | ||
| 140 | } | ||
| 141 | #endif | ||
| 142 | |||
| 143 | static void cell_progress(char *s, unsigned short hex) | 75 | static void cell_progress(char *s, unsigned short hex) | 
| 144 | { | 76 | { | 
| 145 | printk("*** %04x : %s\n", hex, s ? s : ""); | 77 | printk("*** %04x : %s\n", hex, s ? s : ""); | 
| @@ -172,8 +104,6 @@ static void __init cell_setup_arch(void) | |||
| 172 | #endif | 104 | #endif | 
| 173 | 105 | ||
| 174 | mmio_nvram_init(); | 106 | mmio_nvram_init(); | 
| 175 | |||
| 176 | cell_spumem_init(0); | ||
| 177 | } | 107 | } | 
| 178 | 108 | ||
| 179 | /* | 109 | /* | 
| @@ -189,8 +119,6 @@ static void __init cell_init_early(void) | |||
| 189 | 119 | ||
| 190 | ppc64_interrupt_controller = IC_CELL_PIC; | 120 | ppc64_interrupt_controller = IC_CELL_PIC; | 
| 191 | 121 | ||
| 192 | cell_spumem_init(1); | ||
| 193 | |||
| 194 | DBG(" <- cell_init_early()\n"); | 122 | DBG(" <- cell_init_early()\n"); | 
| 195 | } | 123 | } | 
| 196 | 124 | ||
diff --git a/arch/powerpc/platforms/cell/spu_base.c b/arch/powerpc/platforms/cell/spu_base.c index 269dda4fd0b4..ad141fe8d52d 100644 --- a/arch/powerpc/platforms/cell/spu_base.c +++ b/arch/powerpc/platforms/cell/spu_base.c  | |||
| @@ -306,19 +306,19 @@ spu_request_irqs(struct spu *spu) | |||
| 306 | 306 | ||
| 307 | snprintf(spu->irq_c0, sizeof (spu->irq_c0), "spe%02d.0", spu->number); | 307 | snprintf(spu->irq_c0, sizeof (spu->irq_c0), "spe%02d.0", spu->number); | 
| 308 | ret = request_irq(irq_base + spu->isrc, | 308 | ret = request_irq(irq_base + spu->isrc, | 
| 309 | spu_irq_class_0, 0, spu->irq_c0, spu); | 309 | spu_irq_class_0, SA_INTERRUPT, spu->irq_c0, spu); | 
| 310 | if (ret) | 310 | if (ret) | 
| 311 | goto out; | 311 | goto out; | 
| 312 | 312 | ||
| 313 | snprintf(spu->irq_c1, sizeof (spu->irq_c1), "spe%02d.1", spu->number); | 313 | snprintf(spu->irq_c1, sizeof (spu->irq_c1), "spe%02d.1", spu->number); | 
| 314 | ret = request_irq(irq_base + IIC_CLASS_STRIDE + spu->isrc, | 314 | ret = request_irq(irq_base + IIC_CLASS_STRIDE + spu->isrc, | 
| 315 | spu_irq_class_1, 0, spu->irq_c1, spu); | 315 | spu_irq_class_1, SA_INTERRUPT, spu->irq_c1, spu); | 
| 316 | if (ret) | 316 | if (ret) | 
| 317 | goto out1; | 317 | goto out1; | 
| 318 | 318 | ||
| 319 | snprintf(spu->irq_c2, sizeof (spu->irq_c2), "spe%02d.2", spu->number); | 319 | snprintf(spu->irq_c2, sizeof (spu->irq_c2), "spe%02d.2", spu->number); | 
| 320 | ret = request_irq(irq_base + 2*IIC_CLASS_STRIDE + spu->isrc, | 320 | ret = request_irq(irq_base + 2*IIC_CLASS_STRIDE + spu->isrc, | 
| 321 | spu_irq_class_2, 0, spu->irq_c2, spu); | 321 | spu_irq_class_2, SA_INTERRUPT, spu->irq_c2, spu); | 
| 322 | if (ret) | 322 | if (ret) | 
| 323 | goto out2; | 323 | goto out2; | 
| 324 | goto out; | 324 | goto out; | 
| @@ -487,10 +487,14 @@ int spu_irq_class_1_bottom(struct spu *spu) | |||
| 487 | ea = spu->dar; | 487 | ea = spu->dar; | 
| 488 | dsisr = spu->dsisr; | 488 | dsisr = spu->dsisr; | 
| 489 | if (dsisr & (MFC_DSISR_PTE_NOT_FOUND | MFC_DSISR_ACCESS_DENIED)) { | 489 | if (dsisr & (MFC_DSISR_PTE_NOT_FOUND | MFC_DSISR_ACCESS_DENIED)) { | 
| 490 | u64 flags; | ||
| 491 | |||
| 490 | access = (_PAGE_PRESENT | _PAGE_USER); | 492 | access = (_PAGE_PRESENT | _PAGE_USER); | 
| 491 | access |= (dsisr & MFC_DSISR_ACCESS_PUT) ? _PAGE_RW : 0UL; | 493 | access |= (dsisr & MFC_DSISR_ACCESS_PUT) ? _PAGE_RW : 0UL; | 
| 494 | local_irq_save(flags); | ||
| 492 | if (hash_page(ea, access, 0x300) != 0) | 495 | if (hash_page(ea, access, 0x300) != 0) | 
| 493 | error |= CLASS1_ENABLE_STORAGE_FAULT_INTR; | 496 | error |= CLASS1_ENABLE_STORAGE_FAULT_INTR; | 
| 497 | local_irq_restore(flags); | ||
| 494 | } | 498 | } | 
| 495 | if (error & CLASS1_ENABLE_STORAGE_FAULT_INTR) { | 499 | if (error & CLASS1_ENABLE_STORAGE_FAULT_INTR) { | 
| 496 | if ((ret = spu_handle_mm_fault(spu)) != 0) | 500 | if ((ret = spu_handle_mm_fault(spu)) != 0) | 
| @@ -516,8 +520,50 @@ void spu_irq_setaffinity(struct spu *spu, int cpu) | |||
| 516 | } | 520 | } | 
| 517 | EXPORT_SYMBOL_GPL(spu_irq_setaffinity); | 521 | EXPORT_SYMBOL_GPL(spu_irq_setaffinity); | 
| 518 | 522 | ||
| 519 | static void __iomem * __init map_spe_prop(struct device_node *n, | 523 | static int __init find_spu_node_id(struct device_node *spe) | 
| 520 | const char *name) | 524 | { | 
| 525 | unsigned int *id; | ||
| 526 | struct device_node *cpu; | ||
| 527 | cpu = spe->parent->parent; | ||
| 528 | id = (unsigned int *)get_property(cpu, "node-id", NULL); | ||
| 529 | return id ? *id : 0; | ||
| 530 | } | ||
| 531 | |||
| 532 | static int __init cell_spuprop_present(struct spu *spu, struct device_node *spe, | ||
| 533 | const char *prop) | ||
| 534 | { | ||
| 535 | static DEFINE_MUTEX(add_spumem_mutex); | ||
| 536 | |||
| 537 | struct address_prop { | ||
| 538 | unsigned long address; | ||
| 539 | unsigned int len; | ||
| 540 | } __attribute__((packed)) *p; | ||
| 541 | int proplen; | ||
| 542 | |||
| 543 | unsigned long start_pfn, nr_pages; | ||
| 544 | struct pglist_data *pgdata; | ||
| 545 | struct zone *zone; | ||
| 546 | int ret; | ||
| 547 | |||
| 548 | p = (void*)get_property(spe, prop, &proplen); | ||
| 549 | WARN_ON(proplen != sizeof (*p)); | ||
| 550 | |||
| 551 | start_pfn = p->address >> PAGE_SHIFT; | ||
| 552 | nr_pages = ((unsigned long)p->len + PAGE_SIZE - 1) >> PAGE_SHIFT; | ||
| 553 | |||
| 554 | pgdata = NODE_DATA(spu->nid); | ||
| 555 | zone = pgdata->node_zones; | ||
| 556 | |||
| 557 | /* XXX rethink locking here */ | ||
| 558 | mutex_lock(&add_spumem_mutex); | ||
| 559 | ret = __add_pages(zone, start_pfn, nr_pages); | ||
| 560 | mutex_unlock(&add_spumem_mutex); | ||
| 561 | |||
| 562 | return ret; | ||
| 563 | } | ||
| 564 | |||
| 565 | static void __iomem * __init map_spe_prop(struct spu *spu, | ||
| 566 | struct device_node *n, const char *name) | ||
| 521 | { | 567 | { | 
| 522 | struct address_prop { | 568 | struct address_prop { | 
| 523 | unsigned long address; | 569 | unsigned long address; | 
| @@ -526,6 +572,8 @@ static void __iomem * __init map_spe_prop(struct device_node *n, | |||
| 526 | 572 | ||
| 527 | void *p; | 573 | void *p; | 
| 528 | int proplen; | 574 | int proplen; | 
| 575 | void* ret = NULL; | ||
| 576 | int err = 0; | ||
| 529 | 577 | ||
| 530 | p = get_property(n, name, &proplen); | 578 | p = get_property(n, name, &proplen); | 
| 531 | if (proplen != sizeof (struct address_prop)) | 579 | if (proplen != sizeof (struct address_prop)) | 
| @@ -533,7 +581,14 @@ static void __iomem * __init map_spe_prop(struct device_node *n, | |||
| 533 | 581 | ||
| 534 | prop = p; | 582 | prop = p; | 
| 535 | 583 | ||
| 536 | return ioremap(prop->address, prop->len); | 584 | err = cell_spuprop_present(spu, n, name); | 
| 585 | if (err && (err != -EEXIST)) | ||
| 586 | goto out; | ||
| 587 | |||
| 588 | ret = ioremap(prop->address, prop->len); | ||
| 589 | |||
| 590 | out: | ||
| 591 | return ret; | ||
| 537 | } | 592 | } | 
| 538 | 593 | ||
| 539 | static void spu_unmap(struct spu *spu) | 594 | static void spu_unmap(struct spu *spu) | 
| @@ -544,44 +599,45 @@ static void spu_unmap(struct spu *spu) | |||
| 544 | iounmap((u8 __iomem *)spu->local_store); | 599 | iounmap((u8 __iomem *)spu->local_store); | 
| 545 | } | 600 | } | 
| 546 | 601 | ||
| 547 | static int __init spu_map_device(struct spu *spu, struct device_node *spe) | 602 | static int __init spu_map_device(struct spu *spu, struct device_node *node) | 
| 548 | { | 603 | { | 
| 549 | char *prop; | 604 | char *prop; | 
| 550 | int ret; | 605 | int ret; | 
| 551 | 606 | ||
| 552 | ret = -ENODEV; | 607 | ret = -ENODEV; | 
| 553 | prop = get_property(spe, "isrc", NULL); | 608 | prop = get_property(node, "isrc", NULL); | 
| 554 | if (!prop) | 609 | if (!prop) | 
| 555 | goto out; | 610 | goto out; | 
| 556 | spu->isrc = *(unsigned int *)prop; | 611 | spu->isrc = *(unsigned int *)prop; | 
| 557 | 612 | ||
| 558 | spu->name = get_property(spe, "name", NULL); | 613 | spu->name = get_property(node, "name", NULL); | 
| 559 | if (!spu->name) | 614 | if (!spu->name) | 
| 560 | goto out; | 615 | goto out; | 
| 561 | 616 | ||
| 562 | prop = get_property(spe, "local-store", NULL); | 617 | prop = get_property(node, "local-store", NULL); | 
| 563 | if (!prop) | 618 | if (!prop) | 
| 564 | goto out; | 619 | goto out; | 
| 565 | spu->local_store_phys = *(unsigned long *)prop; | 620 | spu->local_store_phys = *(unsigned long *)prop; | 
| 566 | 621 | ||
| 567 | /* we use local store as ram, not io memory */ | 622 | /* we use local store as ram, not io memory */ | 
| 568 | spu->local_store = (void __force *)map_spe_prop(spe, "local-store"); | 623 | spu->local_store = (void __force *) | 
| 624 | map_spe_prop(spu, node, "local-store"); | ||
| 569 | if (!spu->local_store) | 625 | if (!spu->local_store) | 
| 570 | goto out; | 626 | goto out; | 
| 571 | 627 | ||
| 572 | prop = get_property(spe, "problem", NULL); | 628 | prop = get_property(node, "problem", NULL); | 
| 573 | if (!prop) | 629 | if (!prop) | 
| 574 | goto out_unmap; | 630 | goto out_unmap; | 
| 575 | spu->problem_phys = *(unsigned long *)prop; | 631 | spu->problem_phys = *(unsigned long *)prop; | 
| 576 | 632 | ||
| 577 | spu->problem= map_spe_prop(spe, "problem"); | 633 | spu->problem= map_spe_prop(spu, node, "problem"); | 
| 578 | if (!spu->problem) | 634 | if (!spu->problem) | 
| 579 | goto out_unmap; | 635 | goto out_unmap; | 
| 580 | 636 | ||
| 581 | spu->priv1= map_spe_prop(spe, "priv1"); | 637 | spu->priv1= map_spe_prop(spu, node, "priv1"); | 
| 582 | /* priv1 is not available on a hypervisor */ | 638 | /* priv1 is not available on a hypervisor */ | 
| 583 | 639 | ||
| 584 | spu->priv2= map_spe_prop(spe, "priv2"); | 640 | spu->priv2= map_spe_prop(spu, node, "priv2"); | 
| 585 | if (!spu->priv2) | 641 | if (!spu->priv2) | 
| 586 | goto out_unmap; | 642 | goto out_unmap; | 
| 587 | ret = 0; | 643 | ret = 0; | 
| @@ -593,17 +649,6 @@ out: | |||
| 593 | return ret; | 649 | return ret; | 
| 594 | } | 650 | } | 
| 595 | 651 | ||
| 596 | static int __init find_spu_node_id(struct device_node *spe) | ||
| 597 | { | ||
| 598 | unsigned int *id; | ||
| 599 | struct device_node *cpu; | ||
| 600 | |||
| 601 | cpu = spe->parent->parent; | ||
| 602 | id = (unsigned int *)get_property(cpu, "node-id", NULL); | ||
| 603 | |||
| 604 | return id ? *id : 0; | ||
| 605 | } | ||
| 606 | |||
| 607 | static int __init create_spu(struct device_node *spe) | 652 | static int __init create_spu(struct device_node *spe) | 
| 608 | { | 653 | { | 
| 609 | struct spu *spu; | 654 | struct spu *spu; | 
| @@ -620,6 +665,10 @@ static int __init create_spu(struct device_node *spe) | |||
| 620 | goto out_free; | 665 | goto out_free; | 
| 621 | 666 | ||
| 622 | spu->node = find_spu_node_id(spe); | 667 | spu->node = find_spu_node_id(spe); | 
| 668 | spu->nid = of_node_to_nid(spe); | ||
| 669 | if (spu->nid == -1) | ||
| 670 | spu->nid = 0; | ||
| 671 | |||
| 623 | spu->stop_code = 0; | 672 | spu->stop_code = 0; | 
| 624 | spu->slb_replace = 0; | 673 | spu->slb_replace = 0; | 
| 625 | spu->mm = NULL; | 674 | spu->mm = NULL; | 
diff --git a/arch/powerpc/platforms/cell/spu_callbacks.c b/arch/powerpc/platforms/cell/spu_callbacks.c index b283380a2a18..95b36430aa0f 100644 --- a/arch/powerpc/platforms/cell/spu_callbacks.c +++ b/arch/powerpc/platforms/cell/spu_callbacks.c  | |||
| @@ -319,6 +319,19 @@ void *spu_syscall_table[] = { | |||
| 319 | [__NR_splice] sys_splice, | 319 | [__NR_splice] sys_splice, | 
| 320 | [__NR_tee] sys_tee, | 320 | [__NR_tee] sys_tee, | 
| 321 | [__NR_vmsplice] sys_vmsplice, | 321 | [__NR_vmsplice] sys_vmsplice, | 
| 322 | [__NR_openat] sys_openat, | ||
| 323 | [__NR_mkdirat] sys_mkdirat, | ||
| 324 | [__NR_mknodat] sys_mknodat, | ||
| 325 | [__NR_fchownat] sys_fchownat, | ||
| 326 | [__NR_futimesat] sys_futimesat, | ||
| 327 | [__NR_newfstatat] sys_newfstatat, | ||
| 328 | [__NR_unlinkat] sys_unlinkat, | ||
| 329 | [__NR_renameat] sys_renameat, | ||
| 330 | [__NR_linkat] sys_linkat, | ||
| 331 | [__NR_symlinkat] sys_symlinkat, | ||
| 332 | [__NR_readlinkat] sys_readlinkat, | ||
| 333 | [__NR_fchmodat] sys_fchmodat, | ||
| 334 | [__NR_faccessat] sys_faccessat, | ||
| 322 | }; | 335 | }; | 
| 323 | 336 | ||
| 324 | long spu_sys_callback(struct spu_syscall_block *s) | 337 | long spu_sys_callback(struct spu_syscall_block *s) | 
diff --git a/arch/powerpc/platforms/powermac/pci.c b/arch/powerpc/platforms/powermac/pci.c index f5d8d15d74fa..ea179afea632 100644 --- a/arch/powerpc/platforms/powermac/pci.c +++ b/arch/powerpc/platforms/powermac/pci.c  | |||
| @@ -1097,7 +1097,7 @@ pmac_pci_enable_device_hook(struct pci_dev *dev, int initial) | |||
| 1097 | * (iBook second controller) | 1097 | * (iBook second controller) | 
| 1098 | */ | 1098 | */ | 
| 1099 | if (dev->vendor == PCI_VENDOR_ID_APPLE | 1099 | if (dev->vendor == PCI_VENDOR_ID_APPLE | 
| 1100 | && (dev->class == ((PCI_CLASS_SERIAL_USB << 8) | 0x10)) | 1100 | && dev->class == PCI_CLASS_SERIAL_USB_OHCI | 
| 1101 | && !node) { | 1101 | && !node) { | 
| 1102 | printk(KERN_INFO "Apple USB OHCI %s disabled by firmware\n", | 1102 | printk(KERN_INFO "Apple USB OHCI %s disabled by firmware\n", | 
| 1103 | pci_name(dev)); | 1103 | pci_name(dev)); | 
diff --git a/arch/ppc/platforms/4xx/ocotea.c b/arch/ppc/platforms/4xx/ocotea.c index f841972f1fa9..554776d4b8ac 100644 --- a/arch/ppc/platforms/4xx/ocotea.c +++ b/arch/ppc/platforms/4xx/ocotea.c  | |||
| @@ -331,7 +331,7 @@ static void __init ocotea_init(void) | |||
| 331 | void __init platform_init(unsigned long r3, unsigned long r4, | 331 | void __init platform_init(unsigned long r3, unsigned long r4, | 
| 332 | unsigned long r5, unsigned long r6, unsigned long r7) | 332 | unsigned long r5, unsigned long r6, unsigned long r7) | 
| 333 | { | 333 | { | 
| 334 | ibm44x_platform_init(r3, r4, r5, r6, r7); | 334 | ibm440gx_platform_init(r3, r4, r5, r6, r7); | 
| 335 | 335 | ||
| 336 | ppc_md.setup_arch = ocotea_setup_arch; | 336 | ppc_md.setup_arch = ocotea_setup_arch; | 
| 337 | ppc_md.show_cpuinfo = ocotea_show_cpuinfo; | 337 | ppc_md.show_cpuinfo = ocotea_show_cpuinfo; | 
diff --git a/arch/ppc/platforms/mpc8272ads_setup.c b/arch/ppc/platforms/mpc8272ads_setup.c index bc9b94f77e39..e62b75707f7a 100644 --- a/arch/ppc/platforms/mpc8272ads_setup.c +++ b/arch/ppc/platforms/mpc8272ads_setup.c  | |||
| @@ -26,11 +26,35 @@ | |||
| 26 | #include <asm/irq.h> | 26 | #include <asm/irq.h> | 
| 27 | #include <asm/ppc_sys.h> | 27 | #include <asm/ppc_sys.h> | 
| 28 | #include <asm/ppcboot.h> | 28 | #include <asm/ppcboot.h> | 
| 29 | #include <linux/fs_uart_pd.h> | ||
| 29 | 30 | ||
| 30 | #include "pq2ads_pd.h" | 31 | #include "pq2ads_pd.h" | 
| 31 | 32 | ||
| 32 | static void init_fcc1_ioports(void); | 33 | static void init_fcc1_ioports(void); | 
| 33 | static void init_fcc2_ioports(void); | 34 | static void init_fcc2_ioports(void); | 
| 35 | static void init_scc1_uart_ioports(void); | ||
| 36 | static void init_scc4_uart_ioports(void); | ||
| 37 | |||
| 38 | static struct fs_uart_platform_info mpc8272_uart_pdata[] = { | ||
| 39 | [fsid_scc1_uart] = { | ||
| 40 | .init_ioports = init_scc1_uart_ioports, | ||
| 41 | .fs_no = fsid_scc1_uart, | ||
| 42 | .brg = 1, | ||
| 43 | .tx_num_fifo = 4, | ||
| 44 | .tx_buf_size = 32, | ||
| 45 | .rx_num_fifo = 4, | ||
| 46 | .rx_buf_size = 32, | ||
| 47 | }, | ||
| 48 | [fsid_scc4_uart] = { | ||
| 49 | .init_ioports = init_scc4_uart_ioports, | ||
| 50 | .fs_no = fsid_scc4_uart, | ||
| 51 | .brg = 4, | ||
| 52 | .tx_num_fifo = 4, | ||
| 53 | .tx_buf_size = 32, | ||
| 54 | .rx_num_fifo = 4, | ||
| 55 | .rx_buf_size = 32, | ||
| 56 | }, | ||
| 57 | }; | ||
| 34 | 58 | ||
| 35 | static struct fs_mii_bus_info mii_bus_info = { | 59 | static struct fs_mii_bus_info mii_bus_info = { | 
| 36 | .method = fsmii_bitbang, | 60 | .method = fsmii_bitbang, | 
| @@ -201,6 +225,55 @@ static void __init mpc8272ads_fixup_enet_pdata(struct platform_device *pdev, | |||
| 201 | } | 225 | } | 
| 202 | } | 226 | } | 
| 203 | 227 | ||
| 228 | static void mpc8272ads_fixup_uart_pdata(struct platform_device *pdev, | ||
| 229 | int idx) | ||
| 230 | { | ||
| 231 | bd_t *bd = (bd_t *) __res; | ||
| 232 | struct fs_uart_platform_info *pinfo; | ||
| 233 | int num = ARRAY_SIZE(mpc8272_uart_pdata); | ||
| 234 | int id = fs_uart_id_scc2fsid(idx); | ||
| 235 | |||
| 236 | /* no need to alter anything if console */ | ||
| 237 | if ((id <= num) && (!pdev->dev.platform_data)) { | ||
| 238 | pinfo = &mpc8272_uart_pdata[id]; | ||
| 239 | pinfo->uart_clk = bd->bi_intfreq; | ||
| 240 | pdev->dev.platform_data = pinfo; | ||
| 241 | } | ||
| 242 | } | ||
| 243 | |||
| 244 | static void init_scc1_uart_ioports(void) | ||
| 245 | { | ||
| 246 | cpm2_map_t* immap = ioremap(CPM_MAP_ADDR, sizeof(cpm2_map_t)); | ||
| 247 | |||
| 248 | /* SCC1 is only on port D */ | ||
| 249 | setbits32(&immap->im_ioport.iop_ppard,0x00000003); | ||
| 250 | clrbits32(&immap->im_ioport.iop_psord,0x00000001); | ||
| 251 | setbits32(&immap->im_ioport.iop_psord,0x00000002); | ||
| 252 | clrbits32(&immap->im_ioport.iop_pdird,0x00000001); | ||
| 253 | setbits32(&immap->im_ioport.iop_pdird,0x00000002); | ||
| 254 | |||
| 255 | /* Wire BRG1 to SCC1 */ | ||
| 256 | clrbits32(&immap->im_cpmux.cmx_scr,0x00ffffff); | ||
| 257 | |||
| 258 | iounmap(immap); | ||
| 259 | } | ||
| 260 | |||
| 261 | static void init_scc4_uart_ioports(void) | ||
| 262 | { | ||
| 263 | cpm2_map_t* immap = ioremap(CPM_MAP_ADDR, sizeof(cpm2_map_t)); | ||
| 264 | |||
| 265 | setbits32(&immap->im_ioport.iop_ppard,0x00000600); | ||
| 266 | clrbits32(&immap->im_ioport.iop_psord,0x00000600); | ||
| 267 | clrbits32(&immap->im_ioport.iop_pdird,0x00000200); | ||
| 268 | setbits32(&immap->im_ioport.iop_pdird,0x00000400); | ||
| 269 | |||
| 270 | /* Wire BRG4 to SCC4 */ | ||
| 271 | clrbits32(&immap->im_cpmux.cmx_scr,0x000000ff); | ||
| 272 | setbits32(&immap->im_cpmux.cmx_scr,0x0000001b); | ||
| 273 | |||
| 274 | iounmap(immap); | ||
| 275 | } | ||
| 276 | |||
| 204 | static int mpc8272ads_platform_notify(struct device *dev) | 277 | static int mpc8272ads_platform_notify(struct device *dev) | 
| 205 | { | 278 | { | 
| 206 | static const struct platform_notify_dev_map dev_map[] = { | 279 | static const struct platform_notify_dev_map dev_map[] = { | 
| @@ -209,6 +282,10 @@ static int mpc8272ads_platform_notify(struct device *dev) | |||
| 209 | .rtn = mpc8272ads_fixup_enet_pdata | 282 | .rtn = mpc8272ads_fixup_enet_pdata | 
| 210 | }, | 283 | }, | 
| 211 | { | 284 | { | 
| 285 | .bus_id = "fsl-cpm-scc:uart", | ||
| 286 | .rtn = mpc | ||
| 287 | }, | ||
| 288 | { | ||
| 212 | .bus_id = NULL | 289 | .bus_id = NULL | 
| 213 | } | 290 | } | 
| 214 | }; | 291 | }; | 
| @@ -230,7 +307,44 @@ int __init mpc8272ads_init(void) | |||
| 230 | ppc_sys_device_enable(MPC82xx_CPM_FCC1); | 307 | ppc_sys_device_enable(MPC82xx_CPM_FCC1); | 
| 231 | ppc_sys_device_enable(MPC82xx_CPM_FCC2); | 308 | ppc_sys_device_enable(MPC82xx_CPM_FCC2); | 
| 232 | 309 | ||
| 310 | /* to be ready for console, let's attach pdata here */ | ||
| 311 | #ifdef CONFIG_SERIAL_CPM_SCC1 | ||
| 312 | ppc_sys_device_setfunc(MPC82xx_CPM_SCC1, PPC_SYS_FUNC_UART); | ||
| 313 | ppc_sys_device_enable(MPC82xx_CPM_SCC1); | ||
| 314 | |||
| 315 | #endif | ||
| 316 | |||
| 317 | #ifdef CONFIG_SERIAL_CPM_SCC4 | ||
| 318 | ppc_sys_device_setfunc(MPC82xx_CPM_SCC4, PPC_SYS_FUNC_UART); | ||
| 319 | ppc_sys_device_enable(MPC82xx_CPM_SCC4); | ||
| 320 | #endif | ||
| 321 | |||
| 322 | |||
| 233 | return 0; | 323 | return 0; | 
| 234 | } | 324 | } | 
| 235 | 325 | ||
| 326 | /* | ||
| 327 | To prevent confusion, console selection is gross: | ||
| 328 | by 0 assumed SCC1 and by 1 assumed SCC4 | ||
| 329 | */ | ||
| 330 | struct platform_device* early_uart_get_pdev(int index) | ||
| 331 | { | ||
| 332 | bd_t *bd = (bd_t *) __res; | ||
| 333 | struct fs_uart_platform_info *pinfo; | ||
| 334 | |||
| 335 | struct platform_device* pdev = NULL; | ||
| 336 | if(index) { /*assume SCC4 here*/ | ||
| 337 | pdev = &ppc_sys_platform_devices[MPC82xx_CPM_SCC4]; | ||
| 338 | pinfo = &mpc8272<F12>_uart_pdata[1]; | ||
| 339 | } else { /*over SCC1*/ | ||
| 340 | pdev = &ppc_sys_platform_devices[MPC82xx_CPM_SCC1]; | ||
| 341 | pinfo = &mpc8272_uart_pdata[0]; | ||
| 342 | } | ||
| 343 | |||
| 344 | pinfo->uart_clk = bd->bi_intfreq; | ||
| 345 | pdev->dev.platform_data = pinfo; | ||
| 346 | ppc_sys_fixup_mem_resource(pdev, IMAP_ADDR); | ||
| 347 | return NULL; | ||
| 348 | } | ||
| 349 | |||
| 236 | arch_initcall(mpc8272ads_init); | 350 | arch_initcall(mpc8272ads_init); | 
diff --git a/arch/ppc/platforms/mpc866ads_setup.c b/arch/ppc/platforms/mpc866ads_setup.c index ac8fcc68afeb..6ce3b842defe 100644 --- a/arch/ppc/platforms/mpc866ads_setup.c +++ b/arch/ppc/platforms/mpc866ads_setup.c  | |||
| @@ -20,6 +20,7 @@ | |||
| 20 | #include <linux/device.h> | 20 | #include <linux/device.h> | 
| 21 | 21 | ||
| 22 | #include <linux/fs_enet_pd.h> | 22 | #include <linux/fs_enet_pd.h> | 
| 23 | #include <linux/fs_uart_pd.h> | ||
| 23 | #include <linux/mii.h> | 24 | #include <linux/mii.h> | 
| 24 | 25 | ||
| 25 | #include <asm/delay.h> | 26 | #include <asm/delay.h> | 
| @@ -37,6 +38,11 @@ | |||
| 37 | 38 | ||
| 38 | extern unsigned char __res[]; | 39 | extern unsigned char __res[]; | 
| 39 | 40 | ||
| 41 | static void setup_fec1_ioports(void); | ||
| 42 | static void setup_scc1_ioports(void); | ||
| 43 | static void setup_smc1_ioports(void); | ||
| 44 | static void setup_smc2_ioports(void); | ||
| 45 | |||
| 40 | static struct fs_mii_bus_info fec_mii_bus_info = { | 46 | static struct fs_mii_bus_info fec_mii_bus_info = { | 
| 41 | .method = fsmii_fec, | 47 | .method = fsmii_fec, | 
| 42 | .id = 0, | 48 | .id = 0, | 
| @@ -79,6 +85,28 @@ static struct fs_platform_info mpc8xx_scc_pdata = { | |||
| 79 | .phy_irq = -1, | 85 | .phy_irq = -1, | 
| 80 | 86 | ||
| 81 | .bus_info = &scc_mii_bus_info, | 87 | .bus_info = &scc_mii_bus_info, | 
| 88 | |||
| 89 | }; | ||
| 90 | |||
| 91 | static struct fs_uart_platform_info mpc866_uart_pdata[] = { | ||
| 92 | [fsid_smc1_uart] = { | ||
| 93 | .brg = 1, | ||
| 94 | .fs_no = fsid_smc1_uart, | ||
| 95 | .init_ioports = setup_smc1_ioports, | ||
| 96 | .tx_num_fifo = 4, | ||
| 97 | .tx_buf_size = 32, | ||
| 98 | .rx_num_fifo = 4, | ||
| 99 | .rx_buf_size = 32, | ||
| 100 | }, | ||
| 101 | [fsid_smc2_uart] = { | ||
| 102 | .brg = 2, | ||
| 103 | .fs_no = fsid_smc2_uart, | ||
| 104 | .init_ioports = setup_smc2_ioports, | ||
| 105 | .tx_num_fifo = 4, | ||
| 106 | .tx_buf_size = 32, | ||
| 107 | .rx_num_fifo = 4, | ||
| 108 | .rx_buf_size = 32, | ||
| 109 | }, | ||
| 82 | }; | 110 | }; | 
| 83 | 111 | ||
| 84 | void __init board_init(void) | 112 | void __init board_init(void) | 
| @@ -92,9 +120,12 @@ void __init board_init(void) | |||
| 92 | printk(KERN_CRIT "Could not remap BCSR1\n"); | 120 | printk(KERN_CRIT "Could not remap BCSR1\n"); | 
| 93 | return; | 121 | return; | 
| 94 | } | 122 | } | 
| 123 | |||
| 95 | #ifdef CONFIG_SERIAL_CPM_SMC1 | 124 | #ifdef CONFIG_SERIAL_CPM_SMC1 | 
| 96 | cp->cp_simode &= ~(0xe0000000 >> 17); /* brg1 */ | 125 | cp->cp_simode &= ~(0xe0000000 >> 17); /* brg1 */ | 
| 97 | clrbits32(bcsr_io,(0x80000000 >> 7)); | 126 | clrbits32(bcsr_io,(0x80000000 >> 7)); | 
| 127 | cp->cp_smc[0].smc_smcm |= (SMCM_RX | SMCM_TX); | ||
| 128 | cp->cp_smc[0].smc_smcmr &= ~(SMCMR_REN | SMCMR_TEN); | ||
| 98 | #else | 129 | #else | 
| 99 | setbits32(bcsr_io,(0x80000000 >> 7)); | 130 | setbits32(bcsr_io,(0x80000000 >> 7)); | 
| 100 | 131 | ||
| @@ -108,6 +139,8 @@ void __init board_init(void) | |||
| 108 | cp->cp_simode &= ~(0xe0000000 >> 1); | 139 | cp->cp_simode &= ~(0xe0000000 >> 1); | 
| 109 | cp->cp_simode |= (0x20000000 >> 1); /* brg2 */ | 140 | cp->cp_simode |= (0x20000000 >> 1); /* brg2 */ | 
| 110 | clrbits32(bcsr_io,(0x80000000 >> 13)); | 141 | clrbits32(bcsr_io,(0x80000000 >> 13)); | 
| 142 | cp->cp_smc[1].smc_smcm |= (SMCM_RX | SMCM_TX); | ||
| 143 | cp->cp_smc[1].smc_smcmr &= ~(SMCMR_REN | SMCMR_TEN); | ||
| 111 | #else | 144 | #else | 
| 112 | clrbits32(bcsr_io,(0x80000000 >> 13)); | 145 | clrbits32(bcsr_io,(0x80000000 >> 13)); | 
| 113 | cp->cp_pbpar &= ~(0x00000c00); | 146 | cp->cp_pbpar &= ~(0x00000c00); | 
| @@ -232,6 +265,74 @@ static void mpc866ads_fixup_scc_enet_pdata(struct platform_device *pdev, | |||
| 232 | mpc866ads_fixup_enet_pdata(pdev, fsid_scc1 + pdev->id - 1); | 265 | mpc866ads_fixup_enet_pdata(pdev, fsid_scc1 + pdev->id - 1); | 
| 233 | } | 266 | } | 
| 234 | 267 | ||
| 268 | static void setup_smc1_ioports(void) | ||
| 269 | { | ||
| 270 | immap_t *immap = (immap_t *) IMAP_ADDR; | ||
| 271 | unsigned *bcsr_io; | ||
| 272 | unsigned int iobits = 0x000000c0; | ||
| 273 | |||
| 274 | bcsr_io = ioremap(BCSR1, sizeof(unsigned long)); | ||
| 275 | |||
| 276 | if (bcsr_io == NULL) { | ||
| 277 | printk(KERN_CRIT "Could not remap BCSR1\n"); | ||
| 278 | return; | ||
| 279 | } | ||
| 280 | |||
| 281 | clrbits32(bcsr_io,BCSR1_RS232EN_1); | ||
| 282 | iounmap(bcsr_io); | ||
| 283 | |||
| 284 | setbits32(&immap->im_cpm.cp_pbpar, iobits); | ||
| 285 | clrbits32(&immap->im_cpm.cp_pbdir, iobits); | ||
| 286 | clrbits16(&immap->im_cpm.cp_pbodr, iobits); | ||
| 287 | |||
| 288 | } | ||
| 289 | |||
| 290 | static void setup_smc2_ioports(void) | ||
| 291 | { | ||
| 292 | immap_t *immap = (immap_t *) IMAP_ADDR; | ||
| 293 | unsigned *bcsr_io; | ||
| 294 | unsigned int iobits = 0x00000c00; | ||
| 295 | |||
| 296 | bcsr_io = ioremap(BCSR1, sizeof(unsigned long)); | ||
| 297 | |||
| 298 | if (bcsr_io == NULL) { | ||
| 299 | printk(KERN_CRIT "Could not remap BCSR1\n"); | ||
| 300 | return; | ||
| 301 | } | ||
| 302 | |||
| 303 | clrbits32(bcsr_io,BCSR1_RS232EN_2); | ||
| 304 | |||
| 305 | iounmap(bcsr_io); | ||
| 306 | |||
| 307 | #ifndef CONFIG_SERIAL_CPM_ALT_SMC2 | ||
| 308 | setbits32(&immap->im_cpm.cp_pbpar, iobits); | ||
| 309 | clrbits32(&immap->im_cpm.cp_pbdir, iobits); | ||
| 310 | clrbits16(&immap->im_cpm.cp_pbodr, iobits); | ||
| 311 | #else | ||
| 312 | setbits16(&immap->im_ioport.iop_papar, iobits); | ||
| 313 | clrbits16(&immap->im_ioport.iop_padir, iobits); | ||
| 314 | clrbits16(&immap->im_ioport.iop_paodr, iobits); | ||
| 315 | #endif | ||
| 316 | |||
| 317 | } | ||
| 318 | |||
| 319 | static void __init mpc866ads_fixup_uart_pdata(struct platform_device *pdev, | ||
| 320 | int idx) | ||
| 321 | { | ||
| 322 | bd_t *bd = (bd_t *) __res; | ||
| 323 | struct fs_uart_platform_info *pinfo; | ||
| 324 | int num = ARRAY_SIZE(mpc866_uart_pdata); | ||
| 325 | |||
| 326 | int id = fs_uart_id_smc2fsid(idx); | ||
| 327 | |||
| 328 | /* no need to alter anything if console */ | ||
| 329 | if ((id <= num) && (!pdev->dev.platform_data)) { | ||
| 330 | pinfo = &mpc866_uart_pdata[id]; | ||
| 331 | pinfo->uart_clk = bd->bi_intfreq; | ||
| 332 | pdev->dev.platform_data = pinfo; | ||
| 333 | } | ||
| 334 | } | ||
| 335 | |||
| 235 | static int mpc866ads_platform_notify(struct device *dev) | 336 | static int mpc866ads_platform_notify(struct device *dev) | 
| 236 | { | 337 | { | 
| 237 | static const struct platform_notify_dev_map dev_map[] = { | 338 | static const struct platform_notify_dev_map dev_map[] = { | 
| @@ -244,6 +345,10 @@ static int mpc866ads_platform_notify(struct device *dev) | |||
| 244 | .rtn = mpc866ads_fixup_scc_enet_pdata, | 345 | .rtn = mpc866ads_fixup_scc_enet_pdata, | 
| 245 | }, | 346 | }, | 
| 246 | { | 347 | { | 
| 348 | .bus_id = "fsl-cpm-smc:uart", | ||
| 349 | .rtn = mpc866ads_fixup_uart_pdata | ||
| 350 | }, | ||
| 351 | { | ||
| 247 | .bus_id = NULL | 352 | .bus_id = NULL | 
| 248 | } | 353 | } | 
| 249 | }; | 354 | }; | 
| @@ -267,7 +372,42 @@ int __init mpc866ads_init(void) | |||
| 267 | #endif | 372 | #endif | 
| 268 | ppc_sys_device_enable(MPC8xx_CPM_FEC1); | 373 | ppc_sys_device_enable(MPC8xx_CPM_FEC1); | 
| 269 | 374 | ||
| 375 | /* Since either of the uarts could be used as console, they need to ready */ | ||
| 376 | #ifdef CONFIG_SERIAL_CPM_SMC1 | ||
| 377 | ppc_sys_device_enable(MPC8xx_CPM_SMC1); | ||
| 378 | ppc_sys_device_setfunc(MPC8xx_CPM_SMC1, PPC_SYS_FUNC_UART); | ||
| 379 | #endif | ||
| 380 | |||
| 381 | #ifdef CONFIG_SERIAL_CPM_SMCer | ||
| 382 | ppc_sys_device_enable(MPC8xx_CPM_SMC2); | ||
| 383 | ppc_sys_device_setfunc(MPC8xx_CPM_SMC2, PPC_SYS_FUNC_UART); | ||
| 384 | #endif | ||
| 385 | |||
| 270 | return 0; | 386 | return 0; | 
| 271 | } | 387 | } | 
| 272 | 388 | ||
| 389 | /* | ||
| 390 | To prevent confusion, console selection is gross: | ||
| 391 | by 0 assumed SMC1 and by 1 assumed SMC2 | ||
| 392 | */ | ||
| 393 | struct platform_device* early_uart_get_pdev(int index) | ||
| 394 | { | ||
| 395 | bd_t *bd = (bd_t *) __res; | ||
| 396 | struct fs_uart_platform_info *pinfo; | ||
| 397 | |||
| 398 | struct platform_device* pdev = NULL; | ||
| 399 | if(index) { /*assume SMC2 here*/ | ||
| 400 | pdev = &ppc_sys_platform_devices[MPC8xx_CPM_SMC2]; | ||
| 401 | pinfo = &mpc866_uart_pdata[1]; | ||
| 402 | } else { /*over SMC1*/ | ||
| 403 | pdev = &ppc_sys_platform_devices[MPC8xx_CPM_SMC1]; | ||
| 404 | pinfo = &mpc866_uart_pdata[0]; | ||
| 405 | } | ||
| 406 | |||
| 407 | pinfo->uart_clk = bd->bi_intfreq; | ||
| 408 | pdev->dev.platform_data = pinfo; | ||
| 409 | ppc_sys_fixup_mem_resource(pdev, IMAP_ADDR); | ||
| 410 | return NULL; | ||
| 411 | } | ||
| 412 | |||
| 273 | arch_initcall(mpc866ads_init); | 413 | arch_initcall(mpc866ads_init); | 
diff --git a/arch/ppc/platforms/mpc885ads_setup.c b/arch/ppc/platforms/mpc885ads_setup.c index 50a99e5f7c68..4b88679cd31c 100644 --- a/arch/ppc/platforms/mpc885ads_setup.c +++ b/arch/ppc/platforms/mpc885ads_setup.c  | |||
| @@ -20,6 +20,7 @@ | |||
| 20 | #include <linux/device.h> | 20 | #include <linux/device.h> | 
| 21 | 21 | ||
| 22 | #include <linux/fs_enet_pd.h> | 22 | #include <linux/fs_enet_pd.h> | 
| 23 | #include <linux/fs_uart_pd.h> | ||
| 23 | #include <linux/mii.h> | 24 | #include <linux/mii.h> | 
| 24 | 25 | ||
| 25 | #include <asm/delay.h> | 26 | #include <asm/delay.h> | 
| @@ -35,9 +36,32 @@ | |||
| 35 | #include <asm/ppc_sys.h> | 36 | #include <asm/ppc_sys.h> | 
| 36 | 37 | ||
| 37 | extern unsigned char __res[]; | 38 | extern unsigned char __res[]; | 
| 39 | static void setup_smc1_ioports(void); | ||
| 40 | static void setup_smc2_ioports(void); | ||
| 38 | 41 | ||
| 39 | static void __init mpc885ads_scc_phy_init(char); | 42 | static void __init mpc885ads_scc_phy_init(char); | 
| 40 | 43 | ||
| 44 | static struct fs_uart_platform_info mpc885_uart_pdata[] = { | ||
| 45 | [fsid_smc1_uart] = { | ||
| 46 | .brg = 1, | ||
| 47 | .fs_no = fsid_smc1_uart, | ||
| 48 | .init_ioports = setup_smc1_ioports, | ||
| 49 | .tx_num_fifo = 4, | ||
| 50 | .tx_buf_size = 32, | ||
| 51 | .rx_num_fifo = 4, | ||
| 52 | .rx_buf_size = 32, | ||
| 53 | }, | ||
| 54 | [fsid_smc2_uart] = { | ||
| 55 | .brg = 2, | ||
| 56 | .fs_no = fsid_smc2_uart, | ||
| 57 | .init_ioports = setup_smc2_ioports, | ||
| 58 | .tx_num_fifo = 4, | ||
| 59 | .tx_buf_size = 32, | ||
| 60 | .rx_num_fifo = 4, | ||
| 61 | .rx_buf_size = 32, | ||
| 62 | }, | ||
| 63 | }; | ||
| 64 | |||
| 41 | static struct fs_mii_bus_info fec_mii_bus_info = { | 65 | static struct fs_mii_bus_info fec_mii_bus_info = { | 
| 42 | .method = fsmii_fec, | 66 | .method = fsmii_fec, | 
| 43 | .id = 0, | 67 | .id = 0, | 
| @@ -116,6 +140,8 @@ void __init board_init(void) | |||
| 116 | #ifdef CONFIG_SERIAL_CPM_SMC1 | 140 | #ifdef CONFIG_SERIAL_CPM_SMC1 | 
| 117 | cp->cp_simode &= ~(0xe0000000 >> 17); /* brg1 */ | 141 | cp->cp_simode &= ~(0xe0000000 >> 17); /* brg1 */ | 
| 118 | clrbits32(bcsr_io, BCSR1_RS232EN_1); | 142 | clrbits32(bcsr_io, BCSR1_RS232EN_1); | 
| 143 | cp->cp_smc[0].smc_smcm |= (SMCM_RX | SMCM_TX); | ||
| 144 | cp->cp_smc[0].smc_smcmr &= ~(SMCMR_REN | SMCMR_TEN); | ||
| 119 | #else | 145 | #else | 
| 120 | setbits32(bcsr_io,BCSR1_RS232EN_1); | 146 | setbits32(bcsr_io,BCSR1_RS232EN_1); | 
| 121 | cp->cp_smc[0].smc_smcmr = 0; | 147 | cp->cp_smc[0].smc_smcmr = 0; | 
| @@ -126,6 +152,8 @@ void __init board_init(void) | |||
| 126 | cp->cp_simode &= ~(0xe0000000 >> 1); | 152 | cp->cp_simode &= ~(0xe0000000 >> 1); | 
| 127 | cp->cp_simode |= (0x20000000 >> 1); /* brg2 */ | 153 | cp->cp_simode |= (0x20000000 >> 1); /* brg2 */ | 
| 128 | clrbits32(bcsr_io,BCSR1_RS232EN_2); | 154 | clrbits32(bcsr_io,BCSR1_RS232EN_2); | 
| 155 | cp->cp_smc[1].smc_smcm |= (SMCM_RX | SMCM_TX); | ||
| 156 | cp->cp_smc[1].smc_smcmr &= ~(SMCMR_REN | SMCMR_TEN); | ||
| 129 | #else | 157 | #else | 
| 130 | setbits32(bcsr_io,BCSR1_RS232EN_2); | 158 | setbits32(bcsr_io,BCSR1_RS232EN_2); | 
| 131 | cp->cp_smc[1].smc_smcmr = 0; | 159 | cp->cp_smc[1].smc_smcmr = 0; | 
| @@ -343,6 +371,70 @@ static void mpc885ads_scc_phy_init(char phy_addr) | |||
| 343 | out_be32(&fecp->fec_mii_speed, 0); | 371 | out_be32(&fecp->fec_mii_speed, 0); | 
| 344 | } | 372 | } | 
| 345 | 373 | ||
| 374 | static void setup_smc1_ioports(void) | ||
| 375 | { | ||
| 376 | immap_t *immap = (immap_t *) IMAP_ADDR; | ||
| 377 | unsigned *bcsr_io; | ||
| 378 | unsigned int iobits = 0x000000c0; | ||
| 379 | |||
| 380 | bcsr_io = ioremap(BCSR1, sizeof(unsigned long)); | ||
| 381 | |||
| 382 | if (bcsr_io == NULL) { | ||
| 383 | printk(KERN_CRIT "Could not remap BCSR1\n"); | ||
| 384 | return; | ||
| 385 | } | ||
| 386 | clrbits32(bcsr_io,BCSR1_RS232EN_1); | ||
| 387 | iounmap(bcsr_io); | ||
| 388 | |||
| 389 | setbits32(&immap->im_cpm.cp_pbpar, iobits); | ||
| 390 | clrbits32(&immap->im_cpm.cp_pbdir, iobits); | ||
| 391 | clrbits16(&immap->im_cpm.cp_pbodr, iobits); | ||
| 392 | } | ||
| 393 | |||
| 394 | static void setup_smc2_ioports(void) | ||
| 395 | { | ||
| 396 | immap_t *immap = (immap_t *) IMAP_ADDR; | ||
| 397 | unsigned *bcsr_io; | ||
| 398 | unsigned int iobits = 0x00000c00; | ||
| 399 | |||
| 400 | bcsr_io = ioremap(BCSR1, sizeof(unsigned long)); | ||
| 401 | |||
| 402 | if (bcsr_io == NULL) { | ||
| 403 | printk(KERN_CRIT "Could not remap BCSR1\n"); | ||
| 404 | return; | ||
| 405 | } | ||
| 406 | clrbits32(bcsr_io,BCSR1_RS232EN_2); | ||
| 407 | iounmap(bcsr_io); | ||
| 408 | |||
| 409 | #ifndef CONFIG_SERIAL_CPM_ALT_SMC2 | ||
| 410 | setbits32(&immap->im_cpm.cp_pbpar, iobits); | ||
| 411 | clrbits32(&immap->im_cpm.cp_pbdir, iobits); | ||
| 412 | clrbits16(&immap->im_cpm.cp_pbodr, iobits); | ||
| 413 | #else | ||
| 414 | setbits16(&immap->im_ioport.iop_papar, iobits); | ||
| 415 | clrbits16(&immap->im_ioport.iop_padir, iobits); | ||
| 416 | clrbits16(&immap->im_ioport.iop_paodr, iobits); | ||
| 417 | #endif | ||
| 418 | } | ||
| 419 | |||
| 420 | static void __init mpc885ads_fixup_uart_pdata(struct platform_device *pdev, | ||
| 421 | int idx) | ||
| 422 | { | ||
| 423 | bd_t *bd = (bd_t *) __res; | ||
| 424 | struct fs_uart_platform_info *pinfo; | ||
| 425 | int num = ARRAY_SIZE(mpc885_uart_pdata); | ||
| 426 | |||
| 427 | int id = fs_uart_id_smc2fsid(idx); | ||
| 428 | |||
| 429 | /* no need to alter anything if console */ | ||
| 430 | if ((id <= num) && (!pdev->dev.platform_data)) { | ||
| 431 | pinfo = &mpc885_uart_pdata[id]; | ||
| 432 | pinfo->uart_clk = bd->bi_intfreq; | ||
| 433 | pdev->dev.platform_data = pinfo; | ||
| 434 | } | ||
| 435 | } | ||
| 436 | |||
| 437 | |||
| 346 | static int mpc885ads_platform_notify(struct device *dev) | 438 | static int mpc885ads_platform_notify(struct device *dev) | 
| 347 | { | 439 | { | 
| 348 | 440 | ||
| @@ -356,12 +448,17 @@ static int mpc885ads_platform_notify(struct device *dev) | |||
| 356 | .rtn = mpc885ads_fixup_scc_enet_pdata, | 448 | .rtn = mpc885ads_fixup_scc_enet_pdata, | 
| 357 | }, | 449 | }, | 
| 358 | { | 450 | { | 
| 451 | .bus_id = "fsl-cpm-smc:uart", | ||
| 452 | .rtn = mpc885ads_fixup_uart_pdata | ||
| 453 | }, | ||
| 454 | { | ||
| 359 | .bus_id = NULL | 455 | .bus_id = NULL | 
| 360 | } | 456 | } | 
| 361 | }; | 457 | }; | 
| 362 | 458 | ||
| 363 | platform_notify_map(dev_map,dev); | 459 | platform_notify_map(dev_map,dev); | 
| 364 | 460 | ||
| 461 | return 0; | ||
| 365 | } | 462 | } | 
| 366 | 463 | ||
| 367 | int __init mpc885ads_init(void) | 464 | int __init mpc885ads_init(void) | 
| @@ -383,7 +480,41 @@ int __init mpc885ads_init(void) | |||
| 383 | ppc_sys_device_enable(MPC8xx_CPM_FEC2); | 480 | ppc_sys_device_enable(MPC8xx_CPM_FEC2); | 
| 384 | #endif | 481 | #endif | 
| 385 | 482 | ||
| 483 | #ifdef CONFIG_SERIAL_CPM_SMC1 | ||
| 484 | ppc_sys_device_enable(MPC8xx_CPM_SMC1); | ||
| 485 | ppc_sys_device_setfunc(MPC8xx_CPM_SMC1, PPC_SYS_FUNC_UART); | ||
| 486 | #endif | ||
| 487 | |||
| 488 | #ifdef CONFIG_SERIAL_CPM_SMC2 | ||
| 489 | ppc_sys_device_enable(MPC8xx_CPM_SMC2); | ||
| 490 | ppc_sys_device_setfunc(MPC8xx_CPM_SMC2, PPC_SYS_FUNC_UART); | ||
| 491 | #endif | ||
| 386 | return 0; | 492 | return 0; | 
| 387 | } | 493 | } | 
| 388 | 494 | ||
| 389 | arch_initcall(mpc885ads_init); | 495 | arch_initcall(mpc885ads_init); | 
| 496 | |||
| 497 | /* | ||
| 498 | To prevent confusion, console selection is gross: | ||
| 499 | by 0 assumed SMC1 and by 1 assumed SMC2 | ||
| 500 | */ | ||
| 501 | struct platform_device* early_uart_get_pdev(int index) | ||
| 502 | { | ||
| 503 | bd_t *bd = (bd_t *) __res; | ||
| 504 | struct fs_uart_platform_info *pinfo; | ||
| 505 | |||
| 506 | struct platform_device* pdev = NULL; | ||
| 507 | if(index) { /*assume SMC2 here*/ | ||
| 508 | pdev = &ppc_sys_platform_devices[MPC8xx_CPM_SMC2]; | ||
| 509 | pinfo = &mpc885_uart_pdata[1]; | ||
| 510 | } else { /*over SMC1*/ | ||
| 511 | pdev = &ppc_sys_platform_devices[MPC8xx_CPM_SMC1]; | ||
| 512 | pinfo = &mpc885_uart_pdata[0]; | ||
| 513 | } | ||
| 514 | |||
| 515 | pinfo->uart_clk = bd->bi_intfreq; | ||
| 516 | pdev->dev.platform_data = pinfo; | ||
| 517 | ppc_sys_fixup_mem_resource(pdev, IMAP_ADDR); | ||
| 518 | return NULL; | ||
| 519 | } | ||
| 520 | |||
diff --git a/arch/ppc/platforms/pq2ads.c b/arch/ppc/platforms/pq2ads.c index 3365fd788a7a..7fc2e02f5246 100644 --- a/arch/ppc/platforms/pq2ads.c +++ b/arch/ppc/platforms/pq2ads.c  | |||
| @@ -14,11 +14,40 @@ | |||
| 14 | 14 | ||
| 15 | #include <linux/init.h> | 15 | #include <linux/init.h> | 
| 16 | 16 | ||
| 17 | #include <asm/io.h> | ||
| 17 | #include <asm/mpc8260.h> | 18 | #include <asm/mpc8260.h> | 
| 19 | #include <asm/cpm2.h> | ||
| 20 | #include <asm/immap_cpm2.h> | ||
| 18 | 21 | ||
| 19 | void __init | 22 | void __init | 
| 20 | m82xx_board_setup(void) | 23 | m82xx_board_setup(void) | 
| 21 | { | 24 | { | 
| 25 | cpm2_map_t* immap = ioremap(CPM_MAP_ADDR, sizeof(cpm2_map_t)); | ||
| 26 | u32 *bcsr = ioremap(BCSR_ADDR+4, sizeof(u32)); | ||
| 27 | |||
| 22 | /* Enable the 2nd UART port */ | 28 | /* Enable the 2nd UART port */ | 
| 23 | *(volatile uint *)(BCSR_ADDR + 4) &= ~BCSR1_RS232_EN2; | 29 | clrbits32(bcsr, BCSR1_RS232_EN2); | 
| 30 | |||
| 31 | #ifdef CONFIG_SERIAL_CPM_SCC1 | ||
| 32 | clrbits32((u32*)&immap->im_scc[0].scc_sccm, UART_SCCM_TX | UART_SCCM_RX); | ||
| 33 | clrbits32((u32*)&immap->im_scc[0].scc_gsmrl, SCC_GSMRL_ENR | SCC_GSMRL_ENT); | ||
| 34 | #endif | ||
| 35 | |||
| 36 | #ifdef CONFIG_SERIAL_CPM_SCC2 | ||
| 37 | clrbits32((u32*)&immap->im_scc[1].scc_sccm, UART_SCCM_TX | UART_SCCM_RX); | ||
| 38 | clrbits32((u32*)&immap->im_scc[1].scc_gsmrl, SCC_GSMRL_ENR | SCC_GSMRL_ENT); | ||
| 39 | #endif | ||
| 40 | |||
| 41 | #ifdef CONFIG_SERIAL_CPM_SCC3 | ||
| 42 | clrbits32((u32*)&immap->im_scc[2].scc_sccm, UART_SCCM_TX | UART_SCCM_RX); | ||
| 43 | clrbits32((u32*)&immap->im_scc[2].scc_gsmrl, SCC_GSMRL_ENR | SCC_GSMRL_ENT); | ||
| 44 | #endif | ||
| 45 | |||
| 46 | #ifdef CONFIG_SERIAL_CPM_SCC4 | ||
| 47 | clrbits32((u32*)&immap->im_scc[3].scc_sccm, UART_SCCM_TX | UART_SCCM_RX); | ||
| 48 | clrbits32((u32*)&immap->im_scc[3].scc_gsmrl, SCC_GSMRL_ENR | SCC_GSMRL_ENT); | ||
| 49 | #endif | ||
| 50 | |||
| 51 | iounmap(bcsr); | ||
| 52 | iounmap(immap); | ||
| 24 | } | 53 | } | 
diff --git a/arch/ppc/syslib/ibm440gx_common.c b/arch/ppc/syslib/ibm440gx_common.c index a7dd55f1c63e..f6cc16888527 100644 --- a/arch/ppc/syslib/ibm440gx_common.c +++ b/arch/ppc/syslib/ibm440gx_common.c  | |||
| @@ -2,7 +2,7 @@ | |||
| 2 | * PPC440GX system library | 2 | * PPC440GX system library | 
| 3 | * | 3 | * | 
| 4 | * Eugene Surovegin <eugene.surovegin@zultys.com> or <ebs@ebshome.net> | 4 | * Eugene Surovegin <eugene.surovegin@zultys.com> or <ebs@ebshome.net> | 
| 5 | * Copyright (c) 2003, 2004 Zultys Technologies | 5 | * Copyright (c) 2003 - 2006 Zultys Technologies | 
| 6 | * | 6 | * | 
| 7 | * This program is free software; you can redistribute it and/or modify it | 7 | * This program is free software; you can redistribute it and/or modify it | 
| 8 | * under the terms of the GNU General Public License as published by the | 8 | * under the terms of the GNU General Public License as published by the | 
| @@ -282,3 +282,14 @@ int ibm440gx_show_cpuinfo(struct seq_file *m){ | |||
| 282 | return 0; | 282 | return 0; | 
| 283 | } | 283 | } | 
| 284 | 284 | ||
| 285 | void __init ibm440gx_platform_init(unsigned long r3, unsigned long r4, | ||
| 286 | unsigned long r5, unsigned long r6, | ||
| 287 | unsigned long r7) | ||
| 288 | { | ||
| 289 | /* Erratum 440_43 workaround, disable L1 cache parity checking */ | ||
| 290 | if (!strcmp(cur_cpu_spec->cpu_name, "440GX Rev. C") || | ||
| 291 | !strcmp(cur_cpu_spec->cpu_name, "440GX Rev. F")) | ||
| 292 | mtspr(SPRN_CCR1, mfspr(SPRN_CCR1) | CCR1_DPC); | ||
| 293 | |||
| 294 | ibm44x_platform_init(r3, r4, r5, r6, r7); | ||
| 295 | } | ||
diff --git a/arch/ppc/syslib/ibm440gx_common.h b/arch/ppc/syslib/ibm440gx_common.h index a2ab9fab8e34..a03ec6022e8f 100644 --- a/arch/ppc/syslib/ibm440gx_common.h +++ b/arch/ppc/syslib/ibm440gx_common.h  | |||
| @@ -29,6 +29,10 @@ | |||
| 29 | void ibm440gx_get_clocks(struct ibm44x_clocks*, unsigned int sys_clk, | 29 | void ibm440gx_get_clocks(struct ibm44x_clocks*, unsigned int sys_clk, | 
| 30 | unsigned int ser_clk) __init; | 30 | unsigned int ser_clk) __init; | 
| 31 | 31 | ||
| 32 | /* common 440GX platform init */ | ||
| 33 | void ibm440gx_platform_init(unsigned long r3, unsigned long r4, unsigned long r5, | ||
| 34 | unsigned long r6, unsigned long r7) __init; | ||
| 35 | |||
| 32 | /* Enable L2 cache */ | 36 | /* Enable L2 cache */ | 
| 33 | void ibm440gx_l2c_enable(void) __init; | 37 | void ibm440gx_l2c_enable(void) __init; | 
| 34 | 38 | ||
diff --git a/arch/ppc/syslib/mpc8xx_devices.c b/arch/ppc/syslib/mpc8xx_devices.c index bd41ed83beb3..6f536383866e 100644 --- a/arch/ppc/syslib/mpc8xx_devices.c +++ b/arch/ppc/syslib/mpc8xx_devices.c  | |||
| @@ -170,12 +170,18 @@ struct platform_device ppc_sys_platform_devices[] = { | |||
| 170 | [MPC8xx_CPM_SMC1] = { | 170 | [MPC8xx_CPM_SMC1] = { | 
| 171 | .name = "fsl-cpm-smc", | 171 | .name = "fsl-cpm-smc", | 
| 172 | .id = 1, | 172 | .id = 1, | 
| 173 | .num_resources = 2, | 173 | .num_resources = 3, | 
| 174 | .resource = (struct resource[]) { | 174 | .resource = (struct resource[]) { | 
| 175 | { | 175 | { | 
| 176 | .name = "regs", | 176 | .name = "regs", | 
| 177 | .start = 0xa82, | 177 | .start = 0xa80, | 
| 178 | .end = 0xa91, | 178 | .end = 0xa8f, | 
| 179 | .flags = IORESOURCE_MEM, | ||
| 180 | }, | ||
| 181 | { | ||
| 182 | .name = "pram", | ||
| 183 | .start = 0x3e80, | ||
| 184 | .end = 0x3ebf, | ||
| 179 | .flags = IORESOURCE_MEM, | 185 | .flags = IORESOURCE_MEM, | 
| 180 | }, | 186 | }, | 
| 181 | { | 187 | { | 
| @@ -189,15 +195,22 @@ struct platform_device ppc_sys_platform_devices[] = { | |||
| 189 | [MPC8xx_CPM_SMC2] = { | 195 | [MPC8xx_CPM_SMC2] = { | 
| 190 | .name = "fsl-cpm-smc", | 196 | .name = "fsl-cpm-smc", | 
| 191 | .id = 2, | 197 | .id = 2, | 
| 192 | .num_resources = 2, | 198 | .num_resources = 3, | 
| 193 | .resource = (struct resource[]) { | 199 | .resource = (struct resource[]) { | 
| 194 | { | 200 | { | 
| 195 | .name = "regs", | 201 | .name = "regs", | 
| 196 | .start = 0xa92, | 202 | .start = 0xa90, | 
| 197 | .end = 0xaa1, | 203 | .end = 0xa9f, | 
| 198 | .flags = IORESOURCE_MEM, | 204 | .flags = IORESOURCE_MEM, | 
| 199 | }, | 205 | }, | 
| 200 | { | 206 | { | 
| 207 | .name = "pram", | ||
| 208 | .start = 0x3f80, | ||
| 209 | .end = 0x3fbf, | ||
| 210 | .flags = IORESOURCE_MEM, | ||
| 211 | |||
| 212 | }, | ||
| 213 | { | ||
| 201 | .name = "interrupt", | 214 | .name = "interrupt", | 
| 202 | .start = MPC8xx_INT_SMC2, | 215 | .start = MPC8xx_INT_SMC2, | 
| 203 | .end = MPC8xx_INT_SMC2, | 216 | .end = MPC8xx_INT_SMC2, | 
diff --git a/arch/ppc/syslib/ppc_sys.c b/arch/ppc/syslib/ppc_sys.c index 7662c4e6e7d6..2d48018b71d9 100644 --- a/arch/ppc/syslib/ppc_sys.c +++ b/arch/ppc/syslib/ppc_sys.c  | |||
| @@ -109,9 +109,11 @@ ppc_sys_fixup_mem_resource(struct platform_device *pdev, phys_addr_t paddr) | |||
| 109 | int i; | 109 | int i; | 
| 110 | for (i = 0; i < pdev->num_resources; i++) { | 110 | for (i = 0; i < pdev->num_resources; i++) { | 
| 111 | struct resource *r = &pdev->resource[i]; | 111 | struct resource *r = &pdev->resource[i]; | 
| 112 | if ((r->flags & IORESOURCE_MEM) == IORESOURCE_MEM) { | 112 | if (((r->flags & IORESOURCE_MEM) == IORESOURCE_MEM) && | 
| 113 | ((r->flags & PPC_SYS_IORESOURCE_FIXUPPED) != PPC_SYS_IORESOURCE_FIXUPPED)) { | ||
| 113 | r->start += paddr; | 114 | r->start += paddr; | 
| 114 | r->end += paddr; | 115 | r->end += paddr; | 
| 116 | r->flags |= PPC_SYS_IORESOURCE_FIXUPPED; | ||
| 115 | } | 117 | } | 
| 116 | } | 118 | } | 
| 117 | } | 119 | } | 
diff --git a/arch/ppc/syslib/pq2_sys.c b/arch/ppc/syslib/pq2_sys.c index 75e64f1c144d..433b0fa203e1 100644 --- a/arch/ppc/syslib/pq2_sys.c +++ b/arch/ppc/syslib/pq2_sys.c  | |||
| @@ -113,13 +113,13 @@ struct ppc_sys_spec ppc_sys_specs[] = { | |||
| 113 | .ppc_sys_name = "8248", | 113 | .ppc_sys_name = "8248", | 
| 114 | .mask = 0x0000ff00, | 114 | .mask = 0x0000ff00, | 
| 115 | .value = 0x00000c00, | 115 | .value = 0x00000c00, | 
| 116 | .num_devices = 11, | 116 | .num_devices = 12, | 
| 117 | .device_list = (enum ppc_sys_devices[]) | 117 | .device_list = (enum ppc_sys_devices[]) | 
| 118 | { | 118 | { | 
| 119 | MPC82xx_CPM_FCC1, MPC82xx_CPM_FCC2, MPC82xx_CPM_SCC1, | 119 | MPC82xx_CPM_FCC1, MPC82xx_CPM_FCC2, MPC82xx_CPM_SCC1, | 
| 120 | MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3, MPC82xx_CPM_SMC1, | 120 | MPC82xx_CPM_SCC2, MPC82xx_CPM_SCC3, MPC82xx_CPM_SCC4, | 
| 121 | MPC82xx_CPM_SMC2, MPC82xx_CPM_SPI, MPC82xx_CPM_I2C, | 121 | MPC82xx_CPM_SMC1, MPC82xx_CPM_SMC2, MPC82xx_CPM_SPI, | 
| 122 | MPC82xx_CPM_USB, MPC82xx_SEC1, | 122 | MPC82xx_CPM_I2C, MPC82xx_CPM_USB, MPC82xx_SEC1, | 
| 123 | }, | 123 | }, | 
| 124 | }, | 124 | }, | 
| 125 | { | 125 | { | 
diff --git a/arch/s390/kernel/compat_signal.c b/arch/s390/kernel/compat_signal.c index 5291b5f8788d..b4c815d8ef75 100644 --- a/arch/s390/kernel/compat_signal.c +++ b/arch/s390/kernel/compat_signal.c  | |||
| @@ -430,7 +430,7 @@ get_sigframe(struct k_sigaction *ka, struct pt_regs * regs, size_t frame_size) | |||
| 430 | 430 | ||
| 431 | /* This is the X/Open sanctioned signal stack switching. */ | 431 | /* This is the X/Open sanctioned signal stack switching. */ | 
| 432 | if (ka->sa.sa_flags & SA_ONSTACK) { | 432 | if (ka->sa.sa_flags & SA_ONSTACK) { | 
| 433 | if (! on_sig_stack(sp)) | 433 | if (! sas_ss_flags(sp)) | 
| 434 | sp = current->sas_ss_sp + current->sas_ss_size; | 434 | sp = current->sas_ss_sp + current->sas_ss_size; | 
| 435 | } | 435 | } | 
| 436 | 436 | ||
diff --git a/arch/s390/kernel/compat_wrapper.S b/arch/s390/kernel/compat_wrapper.S index 199da68bd7be..ef5b9c44b86b 100644 --- a/arch/s390/kernel/compat_wrapper.S +++ b/arch/s390/kernel/compat_wrapper.S  | |||
| @@ -1608,3 +1608,45 @@ compat_sys_ppoll_wrapper: | |||
| 1608 | sys_unshare_wrapper: | 1608 | sys_unshare_wrapper: | 
| 1609 | llgfr %r2,%r2 # unsigned long | 1609 | llgfr %r2,%r2 # unsigned long | 
| 1610 | jg sys_unshare | 1610 | jg sys_unshare | 
| 1611 | |||
| 1612 | .globl compat_sys_set_robust_list_wrapper | ||
| 1613 | compat_sys_set_robust_list_wrapper: | ||
| 1614 | llgtr %r2,%r2 # struct compat_robust_list_head * | ||
| 1615 | llgfr %r3,%r3 # size_t | ||
| 1616 | jg compat_sys_set_robust_list | ||
| 1617 | |||
| 1618 | .globl compat_sys_get_robust_list_wrapper | ||
| 1619 | compat_sys_get_robust_list_wrapper: | ||
| 1620 | lgfr %r2,%r2 # int | ||
| 1621 | llgtr %r3,%r3 # compat_uptr_t_t * | ||
| 1622 | llgtr %r4,%r4 # compat_size_t * | ||
| 1623 | jg compat_sys_get_robust_list | ||
| 1624 | |||
| 1625 | .globl sys_splice_wrapper | ||
| 1626 | sys_splice_wrapper: | ||
| 1627 | lgfr %r2,%r2 # int | ||
| 1628 | llgtr %r3,%r3 # loff_t * | ||
| 1629 | lgfr %r4,%r4 # int | ||
| 1630 | llgtr %r5,%r5 # loff_t * | ||
| 1631 | llgfr %r6,%r6 # size_t | ||
| 1632 | llgf %r0,164(%r15) # unsigned int | ||
| 1633 | stg %r0,160(%r15) | ||
| 1634 | jg sys_splice | ||
| 1635 | |||
| 1636 | .globl sys_sync_file_range_wrapper | ||
| 1637 | sys_sync_file_range_wrapper: | ||
| 1638 | lgfr %r2,%r2 # int | ||
| 1639 | sllg %r3,%r3,32 # get high word of 64bit loff_t | ||
| 1640 | or %r3,%r4 # get low word of 64bit loff_t | ||
| 1641 | sllg %r4,%r5,32 # get high word of 64bit loff_t | ||
| 1642 | or %r4,%r6 # get low word of 64bit loff_t | ||
| 1643 | llgf %r5,164(%r15) # unsigned int | ||
| 1644 | jg sys_sync_file_range | ||
| 1645 | |||
| 1646 | .globl sys_tee_wrapper | ||
| 1647 | sys_tee_wrapper: | ||
| 1648 | lgfr %r2,%r2 # int | ||
| 1649 | lgfr %r3,%r3 # int | ||
| 1650 | llgfr %r4,%r4 # size_t | ||
| 1651 | llgfr %r5,%r5 # unsigned int | ||
| 1652 | jg sys_tee | ||
diff --git a/arch/s390/kernel/ptrace.c b/arch/s390/kernel/ptrace.c index 37dfe33dab73..8f36504075ed 100644 --- a/arch/s390/kernel/ptrace.c +++ b/arch/s390/kernel/ptrace.c  | |||
| @@ -734,7 +734,7 @@ asmlinkage void | |||
| 734 | syscall_trace(struct pt_regs *regs, int entryexit) | 734 | syscall_trace(struct pt_regs *regs, int entryexit) | 
| 735 | { | 735 | { | 
| 736 | if (unlikely(current->audit_context) && entryexit) | 736 | if (unlikely(current->audit_context) && entryexit) | 
| 737 | audit_syscall_exit(current, AUDITSC_RESULT(regs->gprs[2]), regs->gprs[2]); | 737 | audit_syscall_exit(AUDITSC_RESULT(regs->gprs[2]), regs->gprs[2]); | 
| 738 | 738 | ||
| 739 | if (!test_thread_flag(TIF_SYSCALL_TRACE)) | 739 | if (!test_thread_flag(TIF_SYSCALL_TRACE)) | 
| 740 | goto out; | 740 | goto out; | 
| @@ -761,8 +761,7 @@ syscall_trace(struct pt_regs *regs, int entryexit) | |||
| 761 | } | 761 | } | 
| 762 | out: | 762 | out: | 
| 763 | if (unlikely(current->audit_context) && !entryexit) | 763 | if (unlikely(current->audit_context) && !entryexit) | 
| 764 | audit_syscall_entry(current, | 764 | audit_syscall_entry(test_thread_flag(TIF_31BIT)?AUDIT_ARCH_S390:AUDIT_ARCH_S390X, | 
| 765 | test_thread_flag(TIF_31BIT)?AUDIT_ARCH_S390:AUDIT_ARCH_S390X, | ||
| 766 | regs->gprs[2], regs->orig_gpr2, regs->gprs[3], | 765 | regs->gprs[2], regs->orig_gpr2, regs->gprs[3], | 
| 767 | regs->gprs[4], regs->gprs[5]); | 766 | regs->gprs[4], regs->gprs[5]); | 
| 768 | } | 767 | } | 
diff --git a/arch/s390/kernel/signal.c b/arch/s390/kernel/signal.c index ae1927e48cfb..d48cfc726b68 100644 --- a/arch/s390/kernel/signal.c +++ b/arch/s390/kernel/signal.c  | |||
| @@ -358,8 +358,9 @@ static int setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info, | |||
| 358 | } else { | 358 | } else { | 
| 359 | regs->gprs[14] = (unsigned long) | 359 | regs->gprs[14] = (unsigned long) | 
| 360 | frame->retcode | PSW_ADDR_AMODE; | 360 | frame->retcode | PSW_ADDR_AMODE; | 
| 361 | err |= __put_user(S390_SYSCALL_OPCODE | __NR_rt_sigreturn, | 361 | if (__put_user(S390_SYSCALL_OPCODE | __NR_rt_sigreturn, | 
| 362 | (u16 __user *)(frame->retcode)); | 362 | (u16 __user *)(frame->retcode))) | 
| 363 | goto give_sigsegv; | ||
| 363 | } | 364 | } | 
| 364 | 365 | ||
| 365 | /* Set up backchain. */ | 366 | /* Set up backchain. */ | 
diff --git a/arch/s390/kernel/syscalls.S b/arch/s390/kernel/syscalls.S index 2f56654da821..fc2c0767202b 100644 --- a/arch/s390/kernel/syscalls.S +++ b/arch/s390/kernel/syscalls.S  | |||
| @@ -312,3 +312,8 @@ SYSCALL(sys_faccessat,sys_faccessat,sys_faccessat_wrapper) /* 300 */ | |||
| 312 | SYSCALL(sys_pselect6,sys_pselect6,compat_sys_pselect6_wrapper) | 312 | SYSCALL(sys_pselect6,sys_pselect6,compat_sys_pselect6_wrapper) | 
| 313 | SYSCALL(sys_ppoll,sys_ppoll,compat_sys_ppoll_wrapper) | 313 | SYSCALL(sys_ppoll,sys_ppoll,compat_sys_ppoll_wrapper) | 
| 314 | SYSCALL(sys_unshare,sys_unshare,sys_unshare_wrapper) | 314 | SYSCALL(sys_unshare,sys_unshare,sys_unshare_wrapper) | 
| 315 | SYSCALL(sys_set_robust_list,sys_set_robust_list,compat_sys_set_robust_list_wrapper) | ||
| 316 | SYSCALL(sys_get_robust_list,sys_get_robust_list,compat_sys_get_robust_list_wrapper) | ||
| 317 | SYSCALL(sys_splice,sys_splice,sys_splice_wrapper) | ||
| 318 | SYSCALL(sys_sync_file_range,sys_sync_file_range,sys_sync_file_range_wrapper) | ||
| 319 | SYSCALL(sys_tee,sys_tee,sys_tee_wrapper) | ||
diff --git a/arch/s390/kernel/vmlinux.lds.S b/arch/s390/kernel/vmlinux.lds.S index 9289face3027..9f34bb54c051 100644 --- a/arch/s390/kernel/vmlinux.lds.S +++ b/arch/s390/kernel/vmlinux.lds.S  | |||
| @@ -58,9 +58,11 @@ SECTIONS | |||
| 58 | . = ALIGN(4096); | 58 | . = ALIGN(4096); | 
| 59 | .data.page_aligned : { *(.data.idt) } | 59 | .data.page_aligned : { *(.data.idt) } | 
| 60 | 60 | ||
| 61 | . = ALIGN(32); | 61 | . = ALIGN(256); | 
| 62 | .data.cacheline_aligned : { *(.data.cacheline_aligned) } | 62 | .data.cacheline_aligned : { *(.data.cacheline_aligned) } | 
| 63 | 63 | ||
| 64 | . = ALIGN(256); | ||
| 65 | .data.read_mostly : { *(.data.read_mostly) } | ||
| 64 | _edata = .; /* End of data section */ | 66 | _edata = .; /* End of data section */ | 
| 65 | 67 | ||
| 66 | . = ALIGN(8192); /* init_task */ | 68 | . = ALIGN(8192); /* init_task */ | 
diff --git a/arch/s390/mm/extmem.c b/arch/s390/mm/extmem.c index a9566bcab682..9b11e3e20903 100644 --- a/arch/s390/mm/extmem.c +++ b/arch/s390/mm/extmem.c  | |||
| @@ -192,6 +192,7 @@ query_segment_type (struct dcss_segment *seg) | |||
| 192 | diag_cc = dcss_diag (DCSS_SEGEXT, qin, &dummy, &vmrc); | 192 | diag_cc = dcss_diag (DCSS_SEGEXT, qin, &dummy, &vmrc); | 
| 193 | 193 | ||
| 194 | if (diag_cc > 1) { | 194 | if (diag_cc > 1) { | 
| 195 | PRINT_WARN ("segment_type: diag returned error %ld\n", vmrc); | ||
| 195 | rc = dcss_diag_translate_rc (vmrc); | 196 | rc = dcss_diag_translate_rc (vmrc); | 
| 196 | goto out_free; | 197 | goto out_free; | 
| 197 | } | 198 | } | 
| @@ -553,7 +554,7 @@ segment_save(char *name) | |||
| 553 | int endpfn = 0; | 554 | int endpfn = 0; | 
| 554 | char cmd1[160]; | 555 | char cmd1[160]; | 
| 555 | char cmd2[80]; | 556 | char cmd2[80]; | 
| 556 | int i; | 557 | int i, response; | 
| 557 | 558 | ||
| 558 | if (!MACHINE_IS_VM) | 559 | if (!MACHINE_IS_VM) | 
| 559 | return; | 560 | return; | 
| @@ -576,8 +577,20 @@ segment_save(char *name) | |||
| 576 | segtype_string[seg->range[i].start & 0xff]); | 577 | segtype_string[seg->range[i].start & 0xff]); | 
| 577 | } | 578 | } | 
| 578 | sprintf(cmd2, "SAVESEG %s", name); | 579 | sprintf(cmd2, "SAVESEG %s", name); | 
| 579 | cpcmd(cmd1, NULL, 0, NULL); | 580 | response = 0; | 
| 580 | cpcmd(cmd2, NULL, 0, NULL); | 581 | cpcmd(cmd1, NULL, 0, &response); | 
| 582 | if (response) { | ||
| 583 | PRINT_ERR("segment_save: DEFSEG failed with response code %i\n", | ||
| 584 | response); | ||
| 585 | goto out; | ||
| 586 | } | ||
| 587 | cpcmd(cmd2, NULL, 0, &response); | ||
| 588 | if (response) { | ||
| 589 | PRINT_ERR("segment_save: SAVESEG failed with response code %i\n", | ||
| 590 | response); | ||
| 591 | goto out; | ||
| 592 | } | ||
| 593 | out: | ||
| 581 | spin_unlock(&dcss_lock); | 594 | spin_unlock(&dcss_lock); | 
| 582 | } | 595 | } | 
| 583 | 596 | ||
diff --git a/arch/sparc64/kernel/ptrace.c b/arch/sparc64/kernel/ptrace.c index 49e6dedd027d..d31975e6d6f6 100644 --- a/arch/sparc64/kernel/ptrace.c +++ b/arch/sparc64/kernel/ptrace.c  | |||
| @@ -653,7 +653,7 @@ asmlinkage void syscall_trace(struct pt_regs *regs, int syscall_exit_p) | |||
| 653 | if (unlikely(tstate & (TSTATE_XCARRY | TSTATE_ICARRY))) | 653 | if (unlikely(tstate & (TSTATE_XCARRY | TSTATE_ICARRY))) | 
| 654 | result = AUDITSC_FAILURE; | 654 | result = AUDITSC_FAILURE; | 
| 655 | 655 | ||
| 656 | audit_syscall_exit(current, result, regs->u_regs[UREG_I0]); | 656 | audit_syscall_exit(result, regs->u_regs[UREG_I0]); | 
| 657 | } | 657 | } | 
| 658 | 658 | ||
| 659 | if (!(current->ptrace & PT_PTRACED)) | 659 | if (!(current->ptrace & PT_PTRACED)) | 
| @@ -677,8 +677,7 @@ asmlinkage void syscall_trace(struct pt_regs *regs, int syscall_exit_p) | |||
| 677 | 677 | ||
| 678 | out: | 678 | out: | 
| 679 | if (unlikely(current->audit_context) && !syscall_exit_p) | 679 | if (unlikely(current->audit_context) && !syscall_exit_p) | 
| 680 | audit_syscall_entry(current, | 680 | audit_syscall_entry((test_thread_flag(TIF_32BIT) ? | 
| 681 | (test_thread_flag(TIF_32BIT) ? | ||
| 682 | AUDIT_ARCH_SPARC : | 681 | AUDIT_ARCH_SPARC : | 
| 683 | AUDIT_ARCH_SPARC64), | 682 | AUDIT_ARCH_SPARC64), | 
| 684 | regs->u_regs[UREG_G1], | 683 | regs->u_regs[UREG_G1], | 
diff --git a/arch/sparc64/mm/tlb.c b/arch/sparc64/mm/tlb.c index a079cf42505e..3f10fc921b00 100644 --- a/arch/sparc64/mm/tlb.c +++ b/arch/sparc64/mm/tlb.c  | |||
| @@ -8,6 +8,7 @@ | |||
| 8 | #include <linux/percpu.h> | 8 | #include <linux/percpu.h> | 
| 9 | #include <linux/mm.h> | 9 | #include <linux/mm.h> | 
| 10 | #include <linux/swap.h> | 10 | #include <linux/swap.h> | 
| 11 | #include <linux/preempt.h> | ||
| 11 | 12 | ||
| 12 | #include <asm/pgtable.h> | 13 | #include <asm/pgtable.h> | 
| 13 | #include <asm/pgalloc.h> | 14 | #include <asm/pgalloc.h> | 
| @@ -24,6 +25,8 @@ void flush_tlb_pending(void) | |||
| 24 | { | 25 | { | 
| 25 | struct mmu_gather *mp = &__get_cpu_var(mmu_gathers); | 26 | struct mmu_gather *mp = &__get_cpu_var(mmu_gathers); | 
| 26 | 27 | ||
| 28 | preempt_disable(); | ||
| 29 | |||
| 27 | if (mp->tlb_nr) { | 30 | if (mp->tlb_nr) { | 
| 28 | flush_tsb_user(mp); | 31 | flush_tsb_user(mp); | 
| 29 | 32 | ||
| @@ -38,6 +41,8 @@ void flush_tlb_pending(void) | |||
| 38 | } | 41 | } | 
| 39 | mp->tlb_nr = 0; | 42 | mp->tlb_nr = 0; | 
| 40 | } | 43 | } | 
| 44 | |||
| 45 | preempt_enable(); | ||
| 41 | } | 46 | } | 
| 42 | 47 | ||
| 43 | void tlb_batch_add(struct mm_struct *mm, unsigned long vaddr, pte_t *ptep, pte_t orig) | 48 | void tlb_batch_add(struct mm_struct *mm, unsigned long vaddr, pte_t *ptep, pte_t orig) | 
diff --git a/arch/um/Kconfig b/arch/um/Kconfig index 05fbb20636cb..76e85bbaea55 100644 --- a/arch/um/Kconfig +++ b/arch/um/Kconfig  | |||
| @@ -57,20 +57,6 @@ config STATIC_LINK | |||
| 57 | chroot, and you disable CONFIG_MODE_TT, you probably want to say Y | 57 | chroot, and you disable CONFIG_MODE_TT, you probably want to say Y | 
| 58 | here. | 58 | here. | 
| 59 | 59 | ||
| 60 | config HOST_2G_2G | ||
| 61 | bool "2G/2G host address space split" | ||
| 62 | default n | ||
| 63 | depends on MODE_TT | ||
| 64 | help | ||
| 65 | This is needed when the host on which you run has a 2G/2G memory | ||
| 66 | split, instead of the customary 3G/1G. | ||
| 67 | |||
| 68 | Note that to enable such a host | ||
| 69 | configuration, which makes sense only in some cases, you need special | ||
| 70 | host patches. | ||
| 71 | |||
| 72 | So, if you do not know what to do here, say 'N'. | ||
| 73 | |||
| 74 | config KERNEL_HALF_GIGS | 60 | config KERNEL_HALF_GIGS | 
| 75 | int "Kernel address space size (in .5G units)" | 61 | int "Kernel address space size (in .5G units)" | 
| 76 | default "1" | 62 | default "1" | 
diff --git a/arch/um/Kconfig.i386 b/arch/um/Kconfig.i386 index 85e6a55b3b59..f6eb72d117b9 100644 --- a/arch/um/Kconfig.i386 +++ b/arch/um/Kconfig.i386  | |||
| @@ -16,6 +16,19 @@ config SEMAPHORE_SLEEPERS | |||
| 16 | bool | 16 | bool | 
| 17 | default y | 17 | default y | 
| 18 | 18 | ||
| 19 | config HOST_2G_2G | ||
| 20 | bool "2G/2G host address space split" | ||
| 21 | default n | ||
| 22 | help | ||
| 23 | This is needed when the host on which you run has a 2G/2G memory | ||
| 24 | split, instead of the customary 3G/1G. | ||
| 25 | |||
| 26 | Note that to enable such a host | ||
| 27 | configuration, which makes sense only in some cases, you need special | ||
| 28 | host patches. | ||
| 29 | |||
| 30 | So, if you do not know what to do here, say 'N'. | ||
| 31 | |||
| 19 | config TOP_ADDR | 32 | config TOP_ADDR | 
| 20 | hex | 33 | hex | 
| 21 | default 0xc0000000 if !HOST_2G_2G | 34 | default 0xc0000000 if !HOST_2G_2G | 
| @@ -35,11 +48,13 @@ config 3_LEVEL_PGTABLES | |||
| 35 | 48 | ||
| 36 | config STUB_CODE | 49 | config STUB_CODE | 
| 37 | hex | 50 | hex | 
| 38 | default 0xbfffe000 | 51 | default 0xbfffe000 if !HOST_2G_2G | 
| 52 | default 0x7fffe000 if HOST_2G_2G | ||
| 39 | 53 | ||
| 40 | config STUB_DATA | 54 | config STUB_DATA | 
| 41 | hex | 55 | hex | 
| 42 | default 0xbffff000 | 56 | default 0xbffff000 if !HOST_2G_2G | 
| 57 | default 0x7ffff000 if HOST_2G_2G | ||
| 43 | 58 | ||
| 44 | config STUB_START | 59 | config STUB_START | 
| 45 | hex | 60 | hex | 
diff --git a/arch/um/Makefile b/arch/um/Makefile index a508e7a02891..f6ad832faf13 100644 --- a/arch/um/Makefile +++ b/arch/um/Makefile  | |||
| @@ -96,7 +96,8 @@ PHONY += linux | |||
| 96 | all: linux | 96 | all: linux | 
| 97 | 97 | ||
| 98 | linux: vmlinux | 98 | linux: vmlinux | 
| 99 | ln -f $< $@ | 99 | @echo ' LINK $@' | 
| 100 | $(Q)ln -f $< $@ | ||
| 100 | 101 | ||
| 101 | define archhelp | 102 | define archhelp | 
| 102 | echo '* linux - Binary kernel image (./linux) - for backward' | 103 | echo '* linux - Binary kernel image (./linux) - for backward' | 
| @@ -117,6 +118,10 @@ prepare: $(ARCH_DIR)/include/kern_constants.h | |||
| 117 | LINK-$(CONFIG_LD_SCRIPT_STATIC) += -static | 118 | LINK-$(CONFIG_LD_SCRIPT_STATIC) += -static | 
| 118 | LINK-$(CONFIG_LD_SCRIPT_DYN) += -Wl,-rpath,/lib | 119 | LINK-$(CONFIG_LD_SCRIPT_DYN) += -Wl,-rpath,/lib | 
| 119 | 120 | ||
| 121 | CFLAGS_NO_HARDENING := $(call cc-option, -fno-PIC,) $(call cc-option, -fno-pic,) \ | ||
| 122 | $(call cc-option, -fno-stack-protector,) \ | ||
| 123 | $(call cc-option, -fno-stack-protector-all,) | ||
| 124 | |||
| 120 | CPP_MODE-$(CONFIG_MODE_TT) := -DMODE_TT | 125 | CPP_MODE-$(CONFIG_MODE_TT) := -DMODE_TT | 
| 121 | CONFIG_KERNEL_STACK_ORDER ?= 2 | 126 | CONFIG_KERNEL_STACK_ORDER ?= 2 | 
| 122 | STACK_SIZE := $(shell echo $$[ 4096 * (1 << $(CONFIG_KERNEL_STACK_ORDER)) ] ) | 127 | STACK_SIZE := $(shell echo $$[ 4096 * (1 << $(CONFIG_KERNEL_STACK_ORDER)) ] ) | 
| @@ -203,8 +208,8 @@ endef | |||
| 203 | $(ARCH_DIR)/include/uml-config.h : include/linux/autoconf.h | 208 | $(ARCH_DIR)/include/uml-config.h : include/linux/autoconf.h | 
| 204 | $(call filechk,umlconfig) | 209 | $(call filechk,umlconfig) | 
| 205 | 210 | ||
| 206 | $(ARCH_DIR)/user-offsets.s: $(ARCH_DIR)/sys-$(SUBARCH)/user-offsets.c | 211 | $(ARCH_DIR)/sys-$(SUBARCH)/user-offsets.s: FORCE | 
| 207 | $(CC) $(USER_CFLAGS) -S -o $@ $< | 212 | $(Q)$(MAKE) $(build)=$(ARCH_DIR)/sys-$(SUBARCH) $@ | 
| 208 | 213 | ||
| 209 | define filechk_gen-asm-offsets | 214 | define filechk_gen-asm-offsets | 
| 210 | (set -e; \ | 215 | (set -e; \ | 
| @@ -219,13 +224,11 @@ define filechk_gen-asm-offsets | |||
| 219 | echo ""; ) | 224 | echo ""; ) | 
| 220 | endef | 225 | endef | 
| 221 | 226 | ||
| 222 | $(ARCH_DIR)/include/user_constants.h: $(ARCH_DIR)/user-offsets.s | 227 | $(ARCH_DIR)/include/user_constants.h: $(ARCH_DIR)/sys-$(SUBARCH)/user-offsets.s | 
| 223 | $(call filechk,gen-asm-offsets) | 228 | $(call filechk,gen-asm-offsets) | 
| 224 | 229 | ||
| 225 | CLEAN_FILES += $(ARCH_DIR)/user-offsets.s | ||
| 226 | |||
| 227 | $(ARCH_DIR)/include/kern_constants.h: $(objtree)/$(ARCH_DIR)/include | 230 | $(ARCH_DIR)/include/kern_constants.h: $(objtree)/$(ARCH_DIR)/include | 
| 228 | @echo ' SYMLINK $@' | 231 | @echo ' SYMLINK $@' | 
| 229 | $(Q) ln -sf ../../../include/asm-um/asm-offsets.h $@ | 232 | $(Q)ln -sf ../../../include/asm-um/asm-offsets.h $@ | 
| 230 | 233 | ||
| 231 | export SUBARCH USER_CFLAGS OS | 234 | export SUBARCH USER_CFLAGS CFLAGS_NO_HARDENING OS | 
diff --git a/arch/um/defconfig b/arch/um/defconfig index 80d30d19d750..402a74dc5026 100644 --- a/arch/um/defconfig +++ b/arch/um/defconfig  | |||
| @@ -1,14 +1,13 @@ | |||
| 1 | # | 1 | # | 
| 2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit | 
| 3 | # Linux kernel version: 2.6.12-rc6-mm1 | 3 | # Linux kernel version: 2.6.17-rc3 | 
| 4 | # Tue Jun 14 18:22:21 2005 | 4 | # Fri Apr 28 09:31:20 2006 | 
| 5 | # | 5 | # | 
| 6 | CONFIG_GENERIC_HARDIRQS=y | 6 | CONFIG_GENERIC_HARDIRQS=y | 
| 7 | CONFIG_UML=y | 7 | CONFIG_UML=y | 
| 8 | CONFIG_MMU=y | 8 | CONFIG_MMU=y | 
| 9 | CONFIG_UID16=y | ||
| 10 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | ||
| 11 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 9 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 
| 10 | CONFIG_IRQ_RELEASE_METHOD=y | ||
| 12 | 11 | ||
| 13 | # | 12 | # | 
| 14 | # UML-specific options | 13 | # UML-specific options | 
| @@ -16,8 +15,50 @@ CONFIG_GENERIC_CALIBRATE_DELAY=y | |||
| 16 | # CONFIG_MODE_TT is not set | 15 | # CONFIG_MODE_TT is not set | 
| 17 | # CONFIG_STATIC_LINK is not set | 16 | # CONFIG_STATIC_LINK is not set | 
| 18 | CONFIG_MODE_SKAS=y | 17 | CONFIG_MODE_SKAS=y | 
| 18 | |||
| 19 | # | ||
| 20 | # Host processor type and features | ||
| 21 | # | ||
| 22 | # CONFIG_M386 is not set | ||
| 23 | # CONFIG_M486 is not set | ||
| 24 | # CONFIG_M586 is not set | ||
| 25 | # CONFIG_M586TSC is not set | ||
| 26 | # CONFIG_M586MMX is not set | ||
| 27 | CONFIG_M686=y | ||
| 28 | # CONFIG_MPENTIUMII is not set | ||
| 29 | # CONFIG_MPENTIUMIII is not set | ||
| 30 | # CONFIG_MPENTIUMM is not set | ||
| 31 | # CONFIG_MPENTIUM4 is not set | ||
| 32 | # CONFIG_MK6 is not set | ||
| 33 | # CONFIG_MK7 is not set | ||
| 34 | # CONFIG_MK8 is not set | ||
| 35 | # CONFIG_MCRUSOE is not set | ||
| 36 | # CONFIG_MEFFICEON is not set | ||
| 37 | # CONFIG_MWINCHIPC6 is not set | ||
| 38 | # CONFIG_MWINCHIP2 is not set | ||
| 39 | # CONFIG_MWINCHIP3D is not set | ||
| 40 | # CONFIG_MGEODEGX1 is not set | ||
| 41 | # CONFIG_MGEODE_LX is not set | ||
| 42 | # CONFIG_MCYRIXIII is not set | ||
| 43 | # CONFIG_MVIAC3_2 is not set | ||
| 44 | # CONFIG_X86_GENERIC is not set | ||
| 45 | CONFIG_X86_CMPXCHG=y | ||
| 46 | CONFIG_X86_XADD=y | ||
| 47 | CONFIG_X86_L1_CACHE_SHIFT=5 | ||
| 48 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | ||
| 49 | CONFIG_X86_PPRO_FENCE=y | ||
| 50 | CONFIG_X86_WP_WORKS_OK=y | ||
| 51 | CONFIG_X86_INVLPG=y | ||
| 52 | CONFIG_X86_BSWAP=y | ||
| 53 | CONFIG_X86_POPAD_OK=y | ||
| 54 | CONFIG_X86_CMPXCHG64=y | ||
| 55 | CONFIG_X86_GOOD_APIC=y | ||
| 56 | CONFIG_X86_USE_PPRO_CHECKSUM=y | ||
| 57 | CONFIG_X86_TSC=y | ||
| 19 | CONFIG_UML_X86=y | 58 | CONFIG_UML_X86=y | 
| 20 | # CONFIG_64BIT is not set | 59 | # CONFIG_64BIT is not set | 
| 60 | CONFIG_SEMAPHORE_SLEEPERS=y | ||
| 61 | # CONFIG_HOST_2G_2G is not set | ||
| 21 | CONFIG_TOP_ADDR=0xc0000000 | 62 | CONFIG_TOP_ADDR=0xc0000000 | 
| 22 | # CONFIG_3_LEVEL_PGTABLES is not set | 63 | # CONFIG_3_LEVEL_PGTABLES is not set | 
| 23 | CONFIG_STUB_CODE=0xbfffe000 | 64 | CONFIG_STUB_CODE=0xbfffe000 | 
| @@ -25,22 +66,24 @@ CONFIG_STUB_DATA=0xbffff000 | |||
| 25 | CONFIG_STUB_START=0xbfffe000 | 66 | CONFIG_STUB_START=0xbfffe000 | 
| 26 | CONFIG_ARCH_HAS_SC_SIGNALS=y | 67 | CONFIG_ARCH_HAS_SC_SIGNALS=y | 
| 27 | CONFIG_ARCH_REUSE_HOST_VSYSCALL_AREA=y | 68 | CONFIG_ARCH_REUSE_HOST_VSYSCALL_AREA=y | 
| 69 | CONFIG_GENERIC_HWEIGHT=y | ||
| 28 | CONFIG_SELECT_MEMORY_MODEL=y | 70 | CONFIG_SELECT_MEMORY_MODEL=y | 
| 29 | CONFIG_FLATMEM_MANUAL=y | 71 | CONFIG_FLATMEM_MANUAL=y | 
| 30 | # CONFIG_DISCONTIGMEM_MANUAL is not set | 72 | # CONFIG_DISCONTIGMEM_MANUAL is not set | 
| 31 | # CONFIG_SPARSEMEM_MANUAL is not set | 73 | # CONFIG_SPARSEMEM_MANUAL is not set | 
| 32 | CONFIG_FLATMEM=y | 74 | CONFIG_FLATMEM=y | 
| 33 | CONFIG_FLAT_NODE_MEM_MAP=y | 75 | CONFIG_FLAT_NODE_MEM_MAP=y | 
| 76 | # CONFIG_SPARSEMEM_STATIC is not set | ||
| 77 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
| 34 | CONFIG_LD_SCRIPT_DYN=y | 78 | CONFIG_LD_SCRIPT_DYN=y | 
| 35 | CONFIG_NET=y | 79 | CONFIG_NET=y | 
| 36 | CONFIG_BINFMT_ELF=y | 80 | CONFIG_BINFMT_ELF=y | 
| 37 | CONFIG_BINFMT_MISC=m | 81 | CONFIG_BINFMT_MISC=m | 
| 38 | # CONFIG_HOSTFS is not set | 82 | # CONFIG_HOSTFS is not set | 
| 83 | # CONFIG_HPPFS is not set | ||
| 39 | CONFIG_MCONSOLE=y | 84 | CONFIG_MCONSOLE=y | 
| 40 | # CONFIG_MAGIC_SYSRQ is not set | 85 | # CONFIG_MAGIC_SYSRQ is not set | 
| 41 | # CONFIG_HOST_2G_2G is not set | ||
| 42 | CONFIG_NEST_LEVEL=0 | 86 | CONFIG_NEST_LEVEL=0 | 
| 43 | CONFIG_KERNEL_HALF_GIGS=1 | ||
| 44 | # CONFIG_HIGHMEM is not set | 87 | # CONFIG_HIGHMEM is not set | 
| 45 | CONFIG_KERNEL_STACK_ORDER=2 | 88 | CONFIG_KERNEL_STACK_ORDER=2 | 
| 46 | CONFIG_UML_REAL_TIME_CLOCK=y | 89 | CONFIG_UML_REAL_TIME_CLOCK=y | 
| @@ -49,7 +92,6 @@ CONFIG_UML_REAL_TIME_CLOCK=y | |||
| 49 | # Code maturity level options | 92 | # Code maturity level options | 
| 50 | # | 93 | # | 
| 51 | CONFIG_EXPERIMENTAL=y | 94 | CONFIG_EXPERIMENTAL=y | 
| 52 | CONFIG_CLEAN_COMPILE=y | ||
| 53 | CONFIG_BROKEN_ON_SMP=y | 95 | CONFIG_BROKEN_ON_SMP=y | 
| 54 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 96 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 
| 55 | 97 | ||
| @@ -57,6 +99,7 @@ CONFIG_INIT_ENV_ARG_LIMIT=32 | |||
| 57 | # General setup | 99 | # General setup | 
| 58 | # | 100 | # | 
| 59 | CONFIG_LOCALVERSION="" | 101 | CONFIG_LOCALVERSION="" | 
| 102 | CONFIG_LOCALVERSION_AUTO=y | ||
| 60 | CONFIG_SWAP=y | 103 | CONFIG_SWAP=y | 
| 61 | CONFIG_SYSVIPC=y | 104 | CONFIG_SYSVIPC=y | 
| 62 | CONFIG_POSIX_MQUEUE=y | 105 | CONFIG_POSIX_MQUEUE=y | 
| @@ -64,26 +107,28 @@ CONFIG_BSD_PROCESS_ACCT=y | |||
| 64 | # CONFIG_BSD_PROCESS_ACCT_V3 is not set | 107 | # CONFIG_BSD_PROCESS_ACCT_V3 is not set | 
| 65 | CONFIG_SYSCTL=y | 108 | CONFIG_SYSCTL=y | 
| 66 | # CONFIG_AUDIT is not set | 109 | # CONFIG_AUDIT is not set | 
| 67 | # CONFIG_HOTPLUG is not set | ||
| 68 | CONFIG_KOBJECT_UEVENT=y | ||
| 69 | CONFIG_IKCONFIG=y | 110 | CONFIG_IKCONFIG=y | 
| 70 | CONFIG_IKCONFIG_PROC=y | 111 | CONFIG_IKCONFIG_PROC=y | 
| 112 | # CONFIG_RELAY is not set | ||
| 113 | CONFIG_INITRAMFS_SOURCE="" | ||
| 114 | CONFIG_UID16=y | ||
| 115 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | ||
| 71 | # CONFIG_EMBEDDED is not set | 116 | # CONFIG_EMBEDDED is not set | 
| 72 | CONFIG_KALLSYMS=y | 117 | CONFIG_KALLSYMS=y | 
| 73 | # CONFIG_KALLSYMS_ALL is not set | 118 | # CONFIG_KALLSYMS_ALL is not set | 
| 74 | CONFIG_KALLSYMS_EXTRA_PASS=y | 119 | CONFIG_KALLSYMS_EXTRA_PASS=y | 
| 120 | CONFIG_HOTPLUG=y | ||
| 75 | CONFIG_PRINTK=y | 121 | CONFIG_PRINTK=y | 
| 76 | CONFIG_BUG=y | 122 | CONFIG_BUG=y | 
| 123 | CONFIG_ELF_CORE=y | ||
| 77 | CONFIG_BASE_FULL=y | 124 | CONFIG_BASE_FULL=y | 
| 78 | CONFIG_FUTEX=y | 125 | CONFIG_FUTEX=y | 
| 79 | CONFIG_EPOLL=y | 126 | CONFIG_EPOLL=y | 
| 80 | CONFIG_SHMEM=y | 127 | CONFIG_SHMEM=y | 
| 81 | CONFIG_CC_ALIGN_FUNCTIONS=0 | 128 | CONFIG_SLAB=y | 
| 82 | CONFIG_CC_ALIGN_LABELS=0 | ||
| 83 | CONFIG_CC_ALIGN_LOOPS=0 | ||
| 84 | CONFIG_CC_ALIGN_JUMPS=0 | ||
| 85 | # CONFIG_TINY_SHMEM is not set | 129 | # CONFIG_TINY_SHMEM is not set | 
| 86 | CONFIG_BASE_SMALL=0 | 130 | CONFIG_BASE_SMALL=0 | 
| 131 | # CONFIG_SLOB is not set | ||
| 87 | 132 | ||
| 88 | # | 133 | # | 
| 89 | # Loadable module support | 134 | # Loadable module support | 
| @@ -91,18 +136,43 @@ CONFIG_BASE_SMALL=0 | |||
| 91 | CONFIG_MODULES=y | 136 | CONFIG_MODULES=y | 
| 92 | CONFIG_MODULE_UNLOAD=y | 137 | CONFIG_MODULE_UNLOAD=y | 
| 93 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 138 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 
| 94 | CONFIG_OBSOLETE_MODPARM=y | ||
| 95 | # CONFIG_MODVERSIONS is not set | 139 | # CONFIG_MODVERSIONS is not set | 
| 96 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 140 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 
| 97 | CONFIG_KMOD=y | 141 | CONFIG_KMOD=y | 
| 98 | 142 | ||
| 99 | # | 143 | # | 
| 100 | # Generic Driver Options | 144 | # Block layer | 
| 101 | # | 145 | # | 
| 102 | CONFIG_STANDALONE=y | 146 | # CONFIG_LBD is not set | 
| 103 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 147 | # CONFIG_BLK_DEV_IO_TRACE is not set | 
| 104 | # CONFIG_FW_LOADER is not set | 148 | # CONFIG_LSF is not set | 
| 105 | # CONFIG_DEBUG_DRIVER is not set | 149 | |
| 150 | # | ||
| 151 | # IO Schedulers | ||
| 152 | # | ||
| 153 | CONFIG_IOSCHED_NOOP=y | ||
| 154 | CONFIG_IOSCHED_AS=y | ||
| 155 | CONFIG_IOSCHED_DEADLINE=y | ||
| 156 | CONFIG_IOSCHED_CFQ=y | ||
| 157 | CONFIG_DEFAULT_AS=y | ||
| 158 | # CONFIG_DEFAULT_DEADLINE is not set | ||
| 159 | # CONFIG_DEFAULT_CFQ is not set | ||
| 160 | # CONFIG_DEFAULT_NOOP is not set | ||
| 161 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
| 162 | |||
| 163 | # | ||
| 164 | # Block devices | ||
| 165 | # | ||
| 166 | CONFIG_BLK_DEV_UBD=y | ||
| 167 | # CONFIG_BLK_DEV_UBD_SYNC is not set | ||
| 168 | CONFIG_BLK_DEV_COW_COMMON=y | ||
| 169 | # CONFIG_MMAPPER is not set | ||
| 170 | CONFIG_BLK_DEV_LOOP=m | ||
| 171 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | ||
| 172 | CONFIG_BLK_DEV_NBD=m | ||
| 173 | # CONFIG_BLK_DEV_RAM is not set | ||
| 174 | # CONFIG_BLK_DEV_INITRD is not set | ||
| 175 | # CONFIG_ATA_OVER_ETH is not set | ||
| 106 | 176 | ||
| 107 | # | 177 | # | 
| 108 | # Character Devices | 178 | # Character Devices | 
| @@ -127,50 +197,23 @@ CONFIG_UML_SOUND=m | |||
| 127 | CONFIG_SOUND=m | 197 | CONFIG_SOUND=m | 
| 128 | CONFIG_HOSTAUDIO=m | 198 | CONFIG_HOSTAUDIO=m | 
| 129 | CONFIG_UML_RANDOM=y | 199 | CONFIG_UML_RANDOM=y | 
| 130 | # CONFIG_MMAPPER is not set | ||
| 131 | |||
| 132 | # | ||
| 133 | # Block devices | ||
| 134 | # | ||
| 135 | CONFIG_BLK_DEV_UBD=y | ||
| 136 | CONFIG_BLK_DEV_UBD_SYNC=y | ||
| 137 | CONFIG_BLK_DEV_COW_COMMON=y | ||
| 138 | CONFIG_BLK_DEV_LOOP=m | ||
| 139 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | ||
| 140 | CONFIG_BLK_DEV_NBD=m | ||
| 141 | # CONFIG_BLK_DEV_RAM is not set | ||
| 142 | CONFIG_BLK_DEV_RAM_COUNT=16 | ||
| 143 | CONFIG_INITRAMFS_SOURCE="" | ||
| 144 | # CONFIG_LBD is not set | ||
| 145 | |||
| 146 | # | ||
| 147 | # IO Schedulers | ||
| 148 | # | ||
| 149 | CONFIG_IOSCHED_NOOP=y | ||
| 150 | CONFIG_IOSCHED_AS=y | ||
| 151 | CONFIG_IOSCHED_DEADLINE=y | ||
| 152 | CONFIG_IOSCHED_CFQ=y | ||
| 153 | # CONFIG_ATA_OVER_ETH is not set | ||
| 154 | CONFIG_NETDEVICES=y | ||
| 155 | 200 | ||
| 156 | # | 201 | # | 
| 157 | # UML Network Devices | 202 | # Generic Driver Options | 
| 158 | # | 203 | # | 
| 159 | CONFIG_UML_NET=y | 204 | CONFIG_STANDALONE=y | 
| 160 | CONFIG_UML_NET_ETHERTAP=y | 205 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 
| 161 | CONFIG_UML_NET_TUNTAP=y | 206 | # CONFIG_FW_LOADER is not set | 
| 162 | CONFIG_UML_NET_SLIP=y | 207 | # CONFIG_DEBUG_DRIVER is not set | 
| 163 | CONFIG_UML_NET_DAEMON=y | ||
| 164 | CONFIG_UML_NET_MCAST=y | ||
| 165 | CONFIG_UML_NET_SLIRP=y | ||
| 166 | 208 | ||
| 167 | # | 209 | # | 
| 168 | # Networking support | 210 | # Networking | 
| 169 | # | 211 | # | 
| 170 | 212 | ||
| 171 | # | 213 | # | 
| 172 | # Networking options | 214 | # Networking options | 
| 173 | # | 215 | # | 
| 216 | # CONFIG_NETDEBUG is not set | ||
| 174 | CONFIG_PACKET=y | 217 | CONFIG_PACKET=y | 
| 175 | CONFIG_PACKET_MMAP=y | 218 | CONFIG_PACKET_MMAP=y | 
| 176 | CONFIG_UNIX=y | 219 | CONFIG_UNIX=y | 
| @@ -178,6 +221,7 @@ CONFIG_UNIX=y | |||
| 178 | CONFIG_INET=y | 221 | CONFIG_INET=y | 
| 179 | # CONFIG_IP_MULTICAST is not set | 222 | # CONFIG_IP_MULTICAST is not set | 
| 180 | # CONFIG_IP_ADVANCED_ROUTER is not set | 223 | # CONFIG_IP_ADVANCED_ROUTER is not set | 
| 224 | CONFIG_IP_FIB_HASH=y | ||
| 181 | # CONFIG_IP_PNP is not set | 225 | # CONFIG_IP_PNP is not set | 
| 182 | # CONFIG_NET_IPIP is not set | 226 | # CONFIG_NET_IPIP is not set | 
| 183 | # CONFIG_NET_IPGRE is not set | 227 | # CONFIG_NET_IPGRE is not set | 
| @@ -186,27 +230,31 @@ CONFIG_INET=y | |||
| 186 | # CONFIG_INET_AH is not set | 230 | # CONFIG_INET_AH is not set | 
| 187 | # CONFIG_INET_ESP is not set | 231 | # CONFIG_INET_ESP is not set | 
| 188 | # CONFIG_INET_IPCOMP is not set | 232 | # CONFIG_INET_IPCOMP is not set | 
| 233 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
| 189 | # CONFIG_INET_TUNNEL is not set | 234 | # CONFIG_INET_TUNNEL is not set | 
| 190 | CONFIG_IP_TCPDIAG=y | 235 | CONFIG_INET_DIAG=y | 
| 191 | # CONFIG_IP_TCPDIAG_IPV6 is not set | 236 | CONFIG_INET_TCP_DIAG=y | 
| 192 | 237 | # CONFIG_TCP_CONG_ADVANCED is not set | |
| 193 | # | ||
| 194 | # TCP congestion control | ||
| 195 | # | ||
| 196 | CONFIG_TCP_CONG_BIC=y | 238 | CONFIG_TCP_CONG_BIC=y | 
| 197 | CONFIG_TCP_CONG_WESTWOOD=y | ||
| 198 | CONFIG_TCP_CONG_HTCP=y | ||
| 199 | # CONFIG_TCP_CONG_HSTCP is not set | ||
| 200 | # CONFIG_TCP_CONG_HYBLA is not set | ||
| 201 | # CONFIG_TCP_CONG_VEGAS is not set | ||
| 202 | # CONFIG_TCP_CONG_SCALABLE is not set | ||
| 203 | # CONFIG_IPV6 is not set | 239 | # CONFIG_IPV6 is not set | 
| 240 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
| 241 | # CONFIG_INET6_TUNNEL is not set | ||
| 204 | # CONFIG_NETFILTER is not set | 242 | # CONFIG_NETFILTER is not set | 
| 205 | 243 | ||
| 206 | # | 244 | # | 
| 245 | # DCCP Configuration (EXPERIMENTAL) | ||
| 246 | # | ||
| 247 | # CONFIG_IP_DCCP is not set | ||
| 248 | |||
| 249 | # | ||
| 207 | # SCTP Configuration (EXPERIMENTAL) | 250 | # SCTP Configuration (EXPERIMENTAL) | 
| 208 | # | 251 | # | 
| 209 | # CONFIG_IP_SCTP is not set | 252 | # CONFIG_IP_SCTP is not set | 
| 253 | |||
| 254 | # | ||
| 255 | # TIPC Configuration (EXPERIMENTAL) | ||
| 256 | # | ||
| 257 | # CONFIG_TIPC is not set | ||
| 210 | # CONFIG_ATM is not set | 258 | # CONFIG_ATM is not set | 
| 211 | # CONFIG_BRIDGE is not set | 259 | # CONFIG_BRIDGE is not set | 
| 212 | # CONFIG_VLAN_8021Q is not set | 260 | # CONFIG_VLAN_8021Q is not set | 
| @@ -224,27 +272,47 @@ CONFIG_TCP_CONG_HTCP=y | |||
| 224 | # QoS and/or fair queueing | 272 | # QoS and/or fair queueing | 
| 225 | # | 273 | # | 
| 226 | # CONFIG_NET_SCHED is not set | 274 | # CONFIG_NET_SCHED is not set | 
| 227 | # CONFIG_NET_CLS_ROUTE is not set | ||
| 228 | 275 | ||
| 229 | # | 276 | # | 
| 230 | # Network testing | 277 | # Network testing | 
| 231 | # | 278 | # | 
| 232 | # CONFIG_NET_PKTGEN is not set | 279 | # CONFIG_NET_PKTGEN is not set | 
| 233 | # CONFIG_KGDBOE is not set | ||
| 234 | # CONFIG_NETPOLL is not set | ||
| 235 | # CONFIG_NETPOLL_RX is not set | ||
| 236 | # CONFIG_NETPOLL_TRAP is not set | ||
| 237 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
| 238 | # CONFIG_HAMRADIO is not set | 280 | # CONFIG_HAMRADIO is not set | 
| 239 | # CONFIG_IRDA is not set | 281 | # CONFIG_IRDA is not set | 
| 240 | # CONFIG_BT is not set | 282 | # CONFIG_BT is not set | 
| 241 | # CONFIG_IEEE80211 is not set | 283 | # CONFIG_IEEE80211 is not set | 
| 284 | |||
| 285 | # | ||
| 286 | # UML Network Devices | ||
| 287 | # | ||
| 288 | CONFIG_UML_NET=y | ||
| 289 | CONFIG_UML_NET_ETHERTAP=y | ||
| 290 | CONFIG_UML_NET_TUNTAP=y | ||
| 291 | CONFIG_UML_NET_SLIP=y | ||
| 292 | CONFIG_UML_NET_DAEMON=y | ||
| 293 | CONFIG_UML_NET_MCAST=y | ||
| 294 | # CONFIG_UML_NET_PCAP is not set | ||
| 295 | CONFIG_UML_NET_SLIRP=y | ||
| 296 | |||
| 297 | # | ||
| 298 | # Network device support | ||
| 299 | # | ||
| 300 | CONFIG_NETDEVICES=y | ||
| 242 | CONFIG_DUMMY=m | 301 | CONFIG_DUMMY=m | 
| 243 | # CONFIG_BONDING is not set | 302 | # CONFIG_BONDING is not set | 
| 244 | # CONFIG_EQUALIZER is not set | 303 | # CONFIG_EQUALIZER is not set | 
| 245 | CONFIG_TUN=m | 304 | CONFIG_TUN=m | 
| 246 | 305 | ||
| 247 | # | 306 | # | 
| 307 | # PHY device support | ||
| 308 | # | ||
| 309 | |||
| 310 | # | ||
| 311 | # Wireless LAN (non-hamradio) | ||
| 312 | # | ||
| 313 | # CONFIG_NET_RADIO is not set | ||
| 314 | |||
| 315 | # | ||
| 248 | # Wan interfaces | 316 | # Wan interfaces | 
| 249 | # | 317 | # | 
| 250 | # CONFIG_WAN is not set | 318 | # CONFIG_WAN is not set | 
| @@ -263,6 +331,13 @@ CONFIG_SLIP=m | |||
| 263 | # CONFIG_SLIP_MODE_SLIP6 is not set | 331 | # CONFIG_SLIP_MODE_SLIP6 is not set | 
| 264 | # CONFIG_SHAPER is not set | 332 | # CONFIG_SHAPER is not set | 
| 265 | # CONFIG_NETCONSOLE is not set | 333 | # CONFIG_NETCONSOLE is not set | 
| 334 | # CONFIG_NETPOLL is not set | ||
| 335 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
| 336 | |||
| 337 | # | ||
| 338 | # Connector - unified userspace <-> kernelspace linker | ||
| 339 | # | ||
| 340 | # CONFIG_CONNECTOR is not set | ||
| 266 | 341 | ||
| 267 | # | 342 | # | 
| 268 | # File systems | 343 | # File systems | 
| @@ -274,17 +349,14 @@ CONFIG_EXT3_FS=y | |||
| 274 | # CONFIG_EXT3_FS_XATTR is not set | 349 | # CONFIG_EXT3_FS_XATTR is not set | 
| 275 | CONFIG_JBD=y | 350 | CONFIG_JBD=y | 
| 276 | # CONFIG_JBD_DEBUG is not set | 351 | # CONFIG_JBD_DEBUG is not set | 
| 277 | # CONFIG_REISER4_FS is not set | ||
| 278 | CONFIG_REISERFS_FS=y | 352 | CONFIG_REISERFS_FS=y | 
| 279 | # CONFIG_REISERFS_CHECK is not set | 353 | # CONFIG_REISERFS_CHECK is not set | 
| 280 | # CONFIG_REISERFS_PROC_INFO is not set | 354 | # CONFIG_REISERFS_PROC_INFO is not set | 
| 281 | # CONFIG_REISERFS_FS_XATTR is not set | 355 | # CONFIG_REISERFS_FS_XATTR is not set | 
| 282 | # CONFIG_JFS_FS is not set | 356 | # CONFIG_JFS_FS is not set | 
| 283 | 357 | # CONFIG_FS_POSIX_ACL is not set | |
| 284 | # | ||
| 285 | # XFS support | ||
| 286 | # | ||
| 287 | # CONFIG_XFS_FS is not set | 358 | # CONFIG_XFS_FS is not set | 
| 359 | # CONFIG_OCFS2_FS is not set | ||
| 288 | # CONFIG_MINIX_FS is not set | 360 | # CONFIG_MINIX_FS is not set | 
| 289 | # CONFIG_ROMFS_FS is not set | 361 | # CONFIG_ROMFS_FS is not set | 
| 290 | CONFIG_INOTIFY=y | 362 | CONFIG_INOTIFY=y | 
| @@ -295,11 +367,6 @@ CONFIG_QUOTACTL=y | |||
| 295 | CONFIG_DNOTIFY=y | 367 | CONFIG_DNOTIFY=y | 
| 296 | CONFIG_AUTOFS_FS=m | 368 | CONFIG_AUTOFS_FS=m | 
| 297 | CONFIG_AUTOFS4_FS=m | 369 | CONFIG_AUTOFS4_FS=m | 
| 298 | |||
| 299 | # | ||
| 300 | # Caches | ||
| 301 | # | ||
| 302 | # CONFIG_FSCACHE is not set | ||
| 303 | # CONFIG_FUSE_FS is not set | 370 | # CONFIG_FUSE_FS is not set | 
| 304 | 371 | ||
| 305 | # | 372 | # | 
| @@ -323,14 +390,10 @@ CONFIG_JOLIET=y | |||
| 323 | CONFIG_PROC_FS=y | 390 | CONFIG_PROC_FS=y | 
| 324 | CONFIG_PROC_KCORE=y | 391 | CONFIG_PROC_KCORE=y | 
| 325 | CONFIG_SYSFS=y | 392 | CONFIG_SYSFS=y | 
| 326 | # CONFIG_DEVFS_FS is not set | ||
| 327 | # CONFIG_DEVPTS_FS_XATTR is not set | ||
| 328 | CONFIG_TMPFS=y | 393 | CONFIG_TMPFS=y | 
| 329 | # CONFIG_TMPFS_XATTR is not set | ||
| 330 | # CONFIG_HUGETLB_PAGE is not set | 394 | # CONFIG_HUGETLB_PAGE is not set | 
| 331 | CONFIG_RAMFS=y | 395 | CONFIG_RAMFS=y | 
| 332 | # CONFIG_CONFIGFS_FS is not set | 396 | # CONFIG_CONFIGFS_FS is not set | 
| 333 | # CONFIG_RELAYFS_FS is not set | ||
| 334 | 397 | ||
| 335 | # | 398 | # | 
| 336 | # Miscellaneous filesystems | 399 | # Miscellaneous filesystems | 
| @@ -430,6 +493,7 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
| 430 | # Library routines | 493 | # Library routines | 
| 431 | # | 494 | # | 
| 432 | # CONFIG_CRC_CCITT is not set | 495 | # CONFIG_CRC_CCITT is not set | 
| 496 | # CONFIG_CRC16 is not set | ||
| 433 | CONFIG_CRC32=m | 497 | CONFIG_CRC32=m | 
| 434 | # CONFIG_LIBCRC32C is not set | 498 | # CONFIG_LIBCRC32C is not set | 
| 435 | 499 | ||
| @@ -448,12 +512,18 @@ CONFIG_LOG_BUF_SHIFT=14 | |||
| 448 | CONFIG_DETECT_SOFTLOCKUP=y | 512 | CONFIG_DETECT_SOFTLOCKUP=y | 
| 449 | # CONFIG_SCHEDSTATS is not set | 513 | # CONFIG_SCHEDSTATS is not set | 
| 450 | CONFIG_DEBUG_SLAB=y | 514 | CONFIG_DEBUG_SLAB=y | 
| 515 | # CONFIG_DEBUG_SLAB_LEAK is not set | ||
| 516 | # CONFIG_DEBUG_MUTEXES is not set | ||
| 451 | # CONFIG_DEBUG_SPINLOCK is not set | 517 | # CONFIG_DEBUG_SPINLOCK is not set | 
| 452 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | 518 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | 
| 453 | # CONFIG_DEBUG_KOBJECT is not set | 519 | # CONFIG_DEBUG_KOBJECT is not set | 
| 454 | CONFIG_DEBUG_INFO=y | 520 | CONFIG_DEBUG_INFO=y | 
| 455 | # CONFIG_DEBUG_FS is not set | 521 | # CONFIG_DEBUG_FS is not set | 
| 522 | # CONFIG_DEBUG_VM is not set | ||
| 456 | CONFIG_FRAME_POINTER=y | 523 | CONFIG_FRAME_POINTER=y | 
| 524 | # CONFIG_UNWIND_INFO is not set | ||
| 525 | CONFIG_FORCED_INLINING=y | ||
| 526 | # CONFIG_RCU_TORTURE_TEST is not set | ||
| 457 | # CONFIG_GPROF is not set | 527 | # CONFIG_GPROF is not set | 
| 458 | # CONFIG_GCOV is not set | 528 | # CONFIG_GCOV is not set | 
| 459 | # CONFIG_SYSCALL_DEBUG is not set | 529 | # CONFIG_SYSCALL_DEBUG is not set | 
diff --git a/arch/um/drivers/cow_user.c b/arch/um/drivers/cow_user.c index 6ab852bfcd3a..0ec4052db9c5 100644 --- a/arch/um/drivers/cow_user.c +++ b/arch/um/drivers/cow_user.c  | |||
| @@ -100,7 +100,7 @@ struct cow_header_v3_broken { | |||
| 100 | __u32 alignment; | 100 | __u32 alignment; | 
| 101 | __u32 cow_format; | 101 | __u32 cow_format; | 
| 102 | char backing_file[PATH_LEN_V3]; | 102 | char backing_file[PATH_LEN_V3]; | 
| 103 | } __attribute__((packed)); | 103 | }; | 
| 104 | 104 | ||
| 105 | /* COW format definitions - for now, we have only the usual COW bitmap */ | 105 | /* COW format definitions - for now, we have only the usual COW bitmap */ | 
| 106 | #define COW_BITMAP 0 | 106 | #define COW_BITMAP 0 | 
diff --git a/arch/um/kernel/irq.c b/arch/um/kernel/irq.c index c39ea3abeda4..2ffda012385e 100644 --- a/arch/um/kernel/irq.c +++ b/arch/um/kernel/irq.c  | |||
| @@ -89,16 +89,18 @@ void sigio_handler(int sig, union uml_pt_regs *regs) | |||
| 89 | struct irq_fd *irq_fd; | 89 | struct irq_fd *irq_fd; | 
| 90 | int n; | 90 | int n; | 
| 91 | 91 | ||
| 92 | if(smp_sigio_handler()) return; | 92 | if (smp_sigio_handler()) | 
| 93 | while(1){ | 93 | return; | 
| 94 | |||
| 95 | while (1) { | ||
| 94 | n = os_waiting_for_events(active_fds); | 96 | n = os_waiting_for_events(active_fds); | 
| 95 | if (n <= 0) { | 97 | if (n <= 0) { | 
| 96 | if(n == -EINTR) continue; | 98 | if(n == -EINTR) continue; | 
| 97 | else break; | 99 | else break; | 
| 98 | } | 100 | } | 
| 99 | 101 | ||
| 100 | for(irq_fd = active_fds; irq_fd != NULL; irq_fd = irq_fd->next){ | 102 | for (irq_fd = active_fds; irq_fd != NULL; irq_fd = irq_fd->next) { | 
| 101 | if(irq_fd->current_events != 0){ | 103 | if (irq_fd->current_events != 0) { | 
| 102 | irq_fd->current_events = 0; | 104 | irq_fd->current_events = 0; | 
| 103 | do_IRQ(irq_fd->irq, regs); | 105 | do_IRQ(irq_fd->irq, regs); | 
| 104 | } | 106 | } | 
| @@ -110,19 +112,17 @@ void sigio_handler(int sig, union uml_pt_regs *regs) | |||
| 110 | 112 | ||
| 111 | static void maybe_sigio_broken(int fd, int type) | 113 | static void maybe_sigio_broken(int fd, int type) | 
| 112 | { | 114 | { | 
| 113 | if(os_isatty(fd)){ | 115 | if (os_isatty(fd)) { | 
| 114 | if((type == IRQ_WRITE) && !pty_output_sigio){ | 116 | if ((type == IRQ_WRITE) && !pty_output_sigio) { | 
| 115 | write_sigio_workaround(); | 117 | write_sigio_workaround(); | 
| 116 | add_sigio_fd(fd, 0); | 118 | add_sigio_fd(fd, 0); | 
| 117 | } | 119 | } else if ((type == IRQ_READ) && !pty_close_sigio) { | 
| 118 | else if((type == IRQ_READ) && !pty_close_sigio){ | ||
| 119 | write_sigio_workaround(); | 120 | write_sigio_workaround(); | 
| 120 | add_sigio_fd(fd, 1); | 121 | add_sigio_fd(fd, 1); | 
| 121 | } | 122 | } | 
| 122 | } | 123 | } | 
| 123 | } | 124 | } | 
| 124 | 125 | ||
| 125 | |||
| 126 | int activate_fd(int irq, int fd, int type, void *dev_id) | 126 | int activate_fd(int irq, int fd, int type, void *dev_id) | 
| 127 | { | 127 | { | 
| 128 | struct pollfd *tmp_pfd; | 128 | struct pollfd *tmp_pfd; | 
| @@ -132,16 +132,18 @@ int activate_fd(int irq, int fd, int type, void *dev_id) | |||
| 132 | 132 | ||
| 133 | pid = os_getpid(); | 133 | pid = os_getpid(); | 
| 134 | err = os_set_fd_async(fd, pid); | 134 | err = os_set_fd_async(fd, pid); | 
| 135 | if(err < 0) | 135 | if (err < 0) | 
| 136 | goto out; | 136 | goto out; | 
| 137 | 137 | ||
| 138 | new_fd = um_kmalloc(sizeof(*new_fd)); | 138 | new_fd = um_kmalloc(sizeof(*new_fd)); | 
| 139 | err = -ENOMEM; | 139 | err = -ENOMEM; | 
| 140 | if(new_fd == NULL) | 140 | if (new_fd == NULL) | 
| 141 | goto out; | 141 | goto out; | 
| 142 | 142 | ||
| 143 | if(type == IRQ_READ) events = UM_POLLIN | UM_POLLPRI; | 143 | if (type == IRQ_READ) | 
| 144 | else events = UM_POLLOUT; | 144 | events = UM_POLLIN | UM_POLLPRI; | 
| 145 | else | ||
| 146 | events = UM_POLLOUT; | ||
| 145 | *new_fd = ((struct irq_fd) { .next = NULL, | 147 | *new_fd = ((struct irq_fd) { .next = NULL, | 
| 146 | .id = dev_id, | 148 | .id = dev_id, | 
| 147 | .fd = fd, | 149 | .fd = fd, | 
| @@ -165,8 +167,8 @@ int activate_fd(int irq, int fd, int type, void *dev_id) | |||
| 165 | * a semaphore. | 167 | * a semaphore. | 
| 166 | */ | 168 | */ | 
| 167 | flags = irq_lock(); | 169 | flags = irq_lock(); | 
| 168 | for(irq_fd = active_fds; irq_fd != NULL; irq_fd = irq_fd->next){ | 170 | for (irq_fd = active_fds; irq_fd != NULL; irq_fd = irq_fd->next) { | 
| 169 | if((irq_fd->fd == fd) && (irq_fd->type == type)){ | 171 | if ((irq_fd->fd == fd) && (irq_fd->type == type)) { | 
| 170 | printk("Registering fd %d twice\n", fd); | 172 | printk("Registering fd %d twice\n", fd); | 
| 171 | printk("Irqs : %d, %d\n", irq_fd->irq, irq); | 173 | printk("Irqs : %d, %d\n", irq_fd->irq, irq); | 
| 172 | printk("Ids : 0x%p, 0x%p\n", irq_fd->id, dev_id); | 174 | printk("Ids : 0x%p, 0x%p\n", irq_fd->id, dev_id); | 
| @@ -175,13 +177,13 @@ int activate_fd(int irq, int fd, int type, void *dev_id) | |||
| 175 | } | 177 | } | 
| 176 | 178 | ||
| 177 | /*-------------*/ | 179 | /*-------------*/ | 
| 178 | if(type == IRQ_WRITE) | 180 | if (type == IRQ_WRITE) | 
| 179 | fd = -1; | 181 | fd = -1; | 
| 180 | 182 | ||
| 181 | tmp_pfd = NULL; | 183 | tmp_pfd = NULL; | 
| 182 | n = 0; | 184 | n = 0; | 
| 183 | 185 | ||
| 184 | while(1){ | 186 | while (1) { | 
| 185 | n = os_create_pollfd(fd, events, tmp_pfd, n); | 187 | n = os_create_pollfd(fd, events, tmp_pfd, n); | 
| 186 | if (n == 0) | 188 | if (n == 0) | 
| 187 | break; | 189 | break; | 
| @@ -198,10 +200,8 @@ int activate_fd(int irq, int fd, int type, void *dev_id) | |||
| 198 | * then we free the buffer tmp_fds and try again. | 200 | * then we free the buffer tmp_fds and try again. | 
| 199 | */ | 201 | */ | 
| 200 | irq_unlock(flags); | 202 | irq_unlock(flags); | 
| 201 | if (tmp_pfd != NULL) { | 203 | kfree(tmp_pfd); | 
| 202 | kfree(tmp_pfd); | 204 | tmp_pfd = NULL; | 
| 203 | tmp_pfd = NULL; | ||
| 204 | } | ||
| 205 | 205 | ||
| 206 | tmp_pfd = um_kmalloc(n); | 206 | tmp_pfd = um_kmalloc(n); | 
| 207 | if (tmp_pfd == NULL) | 207 | if (tmp_pfd == NULL) | 
| @@ -249,7 +249,7 @@ static int same_irq_and_dev(struct irq_fd *irq, void *d) | |||
| 249 | { | 249 | { | 
| 250 | struct irq_and_dev *data = d; | 250 | struct irq_and_dev *data = d; | 
| 251 | 251 | ||
| 252 | return((irq->irq == data->irq) && (irq->id == data->dev)); | 252 | return ((irq->irq == data->irq) && (irq->id == data->dev)); | 
| 253 | } | 253 | } | 
| 254 | 254 | ||
| 255 | void free_irq_by_irq_and_dev(unsigned int irq, void *dev) | 255 | void free_irq_by_irq_and_dev(unsigned int irq, void *dev) | 
| @@ -262,7 +262,7 @@ void free_irq_by_irq_and_dev(unsigned int irq, void *dev) | |||
| 262 | 262 | ||
| 263 | static int same_fd(struct irq_fd *irq, void *fd) | 263 | static int same_fd(struct irq_fd *irq, void *fd) | 
| 264 | { | 264 | { | 
| 265 | return(irq->fd == *((int *) fd)); | 265 | return (irq->fd == *((int *)fd)); | 
| 266 | } | 266 | } | 
| 267 | 267 | ||
| 268 | void free_irq_by_fd(int fd) | 268 | void free_irq_by_fd(int fd) | 
| @@ -276,16 +276,17 @@ static struct irq_fd *find_irq_by_fd(int fd, int irqnum, int *index_out) | |||
| 276 | int i = 0; | 276 | int i = 0; | 
| 277 | int fdi; | 277 | int fdi; | 
| 278 | 278 | ||
| 279 | for(irq=active_fds; irq != NULL; irq = irq->next){ | 279 | for (irq = active_fds; irq != NULL; irq = irq->next) { | 
| 280 | if((irq->fd == fd) && (irq->irq == irqnum)) break; | 280 | if ((irq->fd == fd) && (irq->irq == irqnum)) | 
| 281 | break; | ||
| 281 | i++; | 282 | i++; | 
| 282 | } | 283 | } | 
| 283 | if(irq == NULL){ | 284 | if (irq == NULL) { | 
| 284 | printk("find_irq_by_fd doesn't have descriptor %d\n", fd); | 285 | printk("find_irq_by_fd doesn't have descriptor %d\n", fd); | 
| 285 | goto out; | 286 | goto out; | 
| 286 | } | 287 | } | 
| 287 | fdi = os_get_pollfd(i); | 288 | fdi = os_get_pollfd(i); | 
| 288 | if((fdi != -1) && (fdi != fd)){ | 289 | if ((fdi != -1) && (fdi != fd)) { | 
| 289 | printk("find_irq_by_fd - mismatch between active_fds and " | 290 | printk("find_irq_by_fd - mismatch between active_fds and " | 
| 290 | "pollfds, fd %d vs %d, need %d\n", irq->fd, | 291 | "pollfds, fd %d vs %d, need %d\n", irq->fd, | 
| 291 | fdi, fd); | 292 | fdi, fd); | 
| @@ -294,7 +295,7 @@ static struct irq_fd *find_irq_by_fd(int fd, int irqnum, int *index_out) | |||
| 294 | } | 295 | } | 
| 295 | *index_out = i; | 296 | *index_out = i; | 
| 296 | out: | 297 | out: | 
| 297 | return(irq); | 298 | return irq; | 
| 298 | } | 299 | } | 
| 299 | 300 | ||
| 300 | void reactivate_fd(int fd, int irqnum) | 301 | void reactivate_fd(int fd, int irqnum) | 
| @@ -305,7 +306,7 @@ void reactivate_fd(int fd, int irqnum) | |||
| 305 | 306 | ||
| 306 | flags = irq_lock(); | 307 | flags = irq_lock(); | 
| 307 | irq = find_irq_by_fd(fd, irqnum, &i); | 308 | irq = find_irq_by_fd(fd, irqnum, &i); | 
| 308 | if(irq == NULL){ | 309 | if (irq == NULL) { | 
| 309 | irq_unlock(flags); | 310 | irq_unlock(flags); | 
| 310 | return; | 311 | return; | 
| 311 | } | 312 | } | 
| @@ -326,7 +327,7 @@ void deactivate_fd(int fd, int irqnum) | |||
| 326 | 327 | ||
| 327 | flags = irq_lock(); | 328 | flags = irq_lock(); | 
| 328 | irq = find_irq_by_fd(fd, irqnum, &i); | 329 | irq = find_irq_by_fd(fd, irqnum, &i); | 
| 329 | if(irq == NULL) | 330 | if (irq == NULL) | 
| 330 | goto out; | 331 | goto out; | 
| 331 | os_set_pollfd(i, -1); | 332 | os_set_pollfd(i, -1); | 
| 332 | out: | 333 | out: | 
| @@ -338,15 +339,15 @@ int deactivate_all_fds(void) | |||
| 338 | struct irq_fd *irq; | 339 | struct irq_fd *irq; | 
| 339 | int err; | 340 | int err; | 
| 340 | 341 | ||
| 341 | for(irq=active_fds;irq != NULL;irq = irq->next){ | 342 | for (irq = active_fds; irq != NULL; irq = irq->next) { | 
| 342 | err = os_clear_fd_async(irq->fd); | 343 | err = os_clear_fd_async(irq->fd); | 
| 343 | if(err) | 344 | if (err) | 
| 344 | return(err); | 345 | return err; | 
| 345 | } | 346 | } | 
| 346 | /* If there is a signal already queued, after unblocking ignore it */ | 347 | /* If there is a signal already queued, after unblocking ignore it */ | 
| 347 | os_set_ioignore(); | 348 | os_set_ioignore(); | 
| 348 | 349 | ||
| 349 | return(0); | 350 | return 0; | 
| 350 | } | 351 | } | 
| 351 | 352 | ||
| 352 | void forward_interrupts(int pid) | 353 | void forward_interrupts(int pid) | 
| @@ -356,9 +357,9 @@ void forward_interrupts(int pid) | |||
| 356 | int err; | 357 | int err; | 
| 357 | 358 | ||
| 358 | flags = irq_lock(); | 359 | flags = irq_lock(); | 
| 359 | for(irq=active_fds;irq != NULL;irq = irq->next){ | 360 | for (irq = active_fds; irq != NULL; irq = irq->next) { | 
| 360 | err = os_set_owner(irq->fd, pid); | 361 | err = os_set_owner(irq->fd, pid); | 
| 361 | if(err < 0){ | 362 | if (err < 0) { | 
| 362 | /* XXX Just remove the irq rather than | 363 | /* XXX Just remove the irq rather than | 
| 363 | * print out an infinite stream of these | 364 | * print out an infinite stream of these | 
| 364 | */ | 365 | */ | 
| @@ -379,7 +380,7 @@ void forward_interrupts(int pid) | |||
| 379 | unsigned int do_IRQ(int irq, union uml_pt_regs *regs) | 380 | unsigned int do_IRQ(int irq, union uml_pt_regs *regs) | 
| 380 | { | 381 | { | 
| 381 | irq_enter(); | 382 | irq_enter(); | 
| 382 | __do_IRQ(irq, (struct pt_regs *) regs); | 383 | __do_IRQ(irq, (struct pt_regs *)regs); | 
| 383 | irq_exit(); | 384 | irq_exit(); | 
| 384 | return 1; | 385 | return 1; | 
| 385 | } | 386 | } | 
| @@ -392,12 +393,12 @@ int um_request_irq(unsigned int irq, int fd, int type, | |||
| 392 | int err; | 393 | int err; | 
| 393 | 394 | ||
| 394 | err = request_irq(irq, handler, irqflags, devname, dev_id); | 395 | err = request_irq(irq, handler, irqflags, devname, dev_id); | 
| 395 | if(err) | 396 | if (err) | 
| 396 | return(err); | 397 | return err; | 
| 397 | 398 | ||
| 398 | if(fd != -1) | 399 | if (fd != -1) | 
| 399 | err = activate_fd(irq, fd, type, dev_id); | 400 | err = activate_fd(irq, fd, type, dev_id); | 
| 400 | return(err); | 401 | return err; | 
| 401 | } | 402 | } | 
| 402 | EXPORT_SYMBOL(um_request_irq); | 403 | EXPORT_SYMBOL(um_request_irq); | 
| 403 | EXPORT_SYMBOL(reactivate_fd); | 404 | EXPORT_SYMBOL(reactivate_fd); | 
| @@ -409,7 +410,7 @@ unsigned long irq_lock(void) | |||
| 409 | unsigned long flags; | 410 | unsigned long flags; | 
| 410 | 411 | ||
| 411 | spin_lock_irqsave(&irq_spinlock, flags); | 412 | spin_lock_irqsave(&irq_spinlock, flags); | 
| 412 | return(flags); | 413 | return flags; | 
| 413 | } | 414 | } | 
| 414 | 415 | ||
| 415 | void irq_unlock(unsigned long flags) | 416 | void irq_unlock(unsigned long flags) | 
| @@ -452,7 +453,7 @@ void __init init_IRQ(void) | |||
| 452 | irq_desc[TIMER_IRQ].depth = 1; | 453 | irq_desc[TIMER_IRQ].depth = 1; | 
| 453 | irq_desc[TIMER_IRQ].handler = &SIGVTALRM_irq_type; | 454 | irq_desc[TIMER_IRQ].handler = &SIGVTALRM_irq_type; | 
| 454 | enable_irq(TIMER_IRQ); | 455 | enable_irq(TIMER_IRQ); | 
| 455 | for(i=1;i<NR_IRQS;i++){ | 456 | for (i = 1; i < NR_IRQS; i++) { | 
| 456 | irq_desc[i].status = IRQ_DISABLED; | 457 | irq_desc[i].status = IRQ_DISABLED; | 
| 457 | irq_desc[i].action = NULL; | 458 | irq_desc[i].action = NULL; | 
| 458 | irq_desc[i].depth = 1; | 459 | irq_desc[i].depth = 1; | 
| @@ -467,7 +468,7 @@ int init_aio_irq(int irq, char *name, irqreturn_t (*handler)(int, void *, | |||
| 467 | int fds[2], err; | 468 | int fds[2], err; | 
| 468 | 469 | ||
| 469 | err = os_pipe(fds, 1, 1); | 470 | err = os_pipe(fds, 1, 1); | 
| 470 | if(err){ | 471 | if (err) { | 
| 471 | printk("init_aio_irq - os_pipe failed, err = %d\n", -err); | 472 | printk("init_aio_irq - os_pipe failed, err = %d\n", -err); | 
| 472 | goto out; | 473 | goto out; | 
| 473 | } | 474 | } | 
| @@ -475,7 +476,7 @@ int init_aio_irq(int irq, char *name, irqreturn_t (*handler)(int, void *, | |||
| 475 | err = um_request_irq(irq, fds[0], IRQ_READ, handler, | 476 | err = um_request_irq(irq, fds[0], IRQ_READ, handler, | 
| 476 | SA_INTERRUPT | SA_SAMPLE_RANDOM, name, | 477 | SA_INTERRUPT | SA_SAMPLE_RANDOM, name, | 
| 477 | (void *) (long) fds[0]); | 478 | (void *) (long) fds[0]); | 
| 478 | if(err){ | 479 | if (err) { | 
| 479 | printk("init_aio_irq - : um_request_irq failed, err = %d\n", | 480 | printk("init_aio_irq - : um_request_irq failed, err = %d\n", | 
| 480 | err); | 481 | err); | 
| 481 | goto out_close; | 482 | goto out_close; | 
| @@ -488,5 +489,5 @@ int init_aio_irq(int irq, char *name, irqreturn_t (*handler)(int, void *, | |||
| 488 | os_close_file(fds[0]); | 489 | os_close_file(fds[0]); | 
| 489 | os_close_file(fds[1]); | 490 | os_close_file(fds[1]); | 
| 490 | out: | 491 | out: | 
| 491 | return(err); | 492 | return err; | 
| 492 | } | 493 | } | 
diff --git a/arch/um/kernel/physmem.c b/arch/um/kernel/physmem.c index 0500800df1c1..fc0f0b085ca7 100644 --- a/arch/um/kernel/physmem.c +++ b/arch/um/kernel/physmem.c  | |||
| @@ -407,6 +407,8 @@ unsigned long find_iomem(char *driver, unsigned long *len_out) | |||
| 407 | *len_out = region->size; | 407 | *len_out = region->size; | 
| 408 | return(region->virt); | 408 | return(region->virt); | 
| 409 | } | 409 | } | 
| 410 | |||
| 411 | region = region->next; | ||
| 410 | } | 412 | } | 
| 411 | 413 | ||
| 412 | return(0); | 414 | return(0); | 
diff --git a/arch/um/kernel/ptrace.c b/arch/um/kernel/ptrace.c index 60d2eda995c1..9a77fb3c269d 100644 --- a/arch/um/kernel/ptrace.c +++ b/arch/um/kernel/ptrace.c  | |||
| @@ -275,15 +275,13 @@ void syscall_trace(union uml_pt_regs *regs, int entryexit) | |||
| 275 | 275 | ||
| 276 | if (unlikely(current->audit_context)) { | 276 | if (unlikely(current->audit_context)) { | 
| 277 | if (!entryexit) | 277 | if (!entryexit) | 
| 278 | audit_syscall_entry(current, | 278 | audit_syscall_entry(HOST_AUDIT_ARCH, | 
| 279 | HOST_AUDIT_ARCH, | ||
| 280 | UPT_SYSCALL_NR(regs), | 279 | UPT_SYSCALL_NR(regs), | 
| 281 | UPT_SYSCALL_ARG1(regs), | 280 | UPT_SYSCALL_ARG1(regs), | 
| 282 | UPT_SYSCALL_ARG2(regs), | 281 | UPT_SYSCALL_ARG2(regs), | 
| 283 | UPT_SYSCALL_ARG3(regs), | 282 | UPT_SYSCALL_ARG3(regs), | 
| 284 | UPT_SYSCALL_ARG4(regs)); | 283 | UPT_SYSCALL_ARG4(regs)); | 
| 285 | else audit_syscall_exit(current, | 284 | else audit_syscall_exit(AUDITSC_RESULT(UPT_SYSCALL_RET(regs)), | 
| 286 | AUDITSC_RESULT(UPT_SYSCALL_RET(regs)), | ||
| 287 | UPT_SYSCALL_RET(regs)); | 285 | UPT_SYSCALL_RET(regs)); | 
| 288 | } | 286 | } | 
| 289 | 287 | ||
diff --git a/arch/um/kernel/skas/Makefile b/arch/um/kernel/skas/Makefile index 57181a920d48..ea3a8e409a6e 100644 --- a/arch/um/kernel/skas/Makefile +++ b/arch/um/kernel/skas/Makefile  | |||
| @@ -6,9 +6,11 @@ | |||
| 6 | obj-y := clone.o exec_kern.o mem.o mmu.o process_kern.o \ | 6 | obj-y := clone.o exec_kern.o mem.o mmu.o process_kern.o \ | 
| 7 | syscall.o tlb.o uaccess.o | 7 | syscall.o tlb.o uaccess.o | 
| 8 | 8 | ||
| 9 | USER_OBJS := clone.o | 9 | # clone.o is in the stub, so it can't be built with profiling | 
| 10 | # GCC hardened also auto-enables -fpic, but we need %ebx so it can't work -> | ||
| 11 | # disable it | ||
| 10 | 12 | ||
| 11 | include arch/um/scripts/Makefile.rules | 13 | CFLAGS_clone.o := $(CFLAGS_NO_HARDENING) | 
| 14 | UNPROFILE_OBJS := clone.o | ||
| 12 | 15 | ||
| 13 | # clone.o is in the stub, so it can't be built with profiling | 16 | include arch/um/scripts/Makefile.rules | 
| 14 | $(obj)/clone.o : c_flags = -Wp,-MD,$(depfile) $(call unprofile,$(USER_CFLAGS)) | ||
diff --git a/arch/um/os-Linux/file.c b/arch/um/os-Linux/file.c index 3bd10deea280..09251338d99e 100644 --- a/arch/um/os-Linux/file.c +++ b/arch/um/os-Linux/file.c  | |||
| @@ -171,7 +171,7 @@ int os_sigio_async(int master, int slave) | |||
| 171 | 171 | ||
| 172 | flags = fcntl(master, F_GETFL); | 172 | flags = fcntl(master, F_GETFL); | 
| 173 | if(flags < 0) | 173 | if(flags < 0) | 
| 174 | return errno; | 174 | return -errno; | 
| 175 | 175 | ||
| 176 | if((fcntl(master, F_SETFL, flags | O_NONBLOCK | O_ASYNC) < 0) || | 176 | if((fcntl(master, F_SETFL, flags | O_NONBLOCK | O_ASYNC) < 0) || | 
| 177 | (fcntl(master, F_SETOWN, os_getpid()) < 0)) | 177 | (fcntl(master, F_SETOWN, os_getpid()) < 0)) | 
diff --git a/arch/um/os-Linux/irq.c b/arch/um/os-Linux/irq.c index e599be423da1..3788d4568d33 100644 --- a/arch/um/os-Linux/irq.c +++ b/arch/um/os-Linux/irq.c  | |||
| @@ -29,21 +29,21 @@ int os_waiting_for_events(struct irq_fd *active_fds) | |||
| 29 | int i, n, err; | 29 | int i, n, err; | 
| 30 | 30 | ||
| 31 | n = poll(pollfds, pollfds_num, 0); | 31 | n = poll(pollfds, pollfds_num, 0); | 
| 32 | if(n < 0){ | 32 | if (n < 0) { | 
| 33 | err = -errno; | 33 | err = -errno; | 
| 34 | if(errno != EINTR) | 34 | if (errno != EINTR) | 
| 35 | printk("sigio_handler: os_waiting_for_events:" | 35 | printk("sigio_handler: os_waiting_for_events:" | 
| 36 | " poll returned %d, errno = %d\n", n, errno); | 36 | " poll returned %d, errno = %d\n", n, errno); | 
| 37 | return err; | 37 | return err; | 
| 38 | } | 38 | } | 
| 39 | 39 | ||
| 40 | if(n == 0) | 40 | if (n == 0) | 
| 41 | return 0; | 41 | return 0; | 
| 42 | 42 | ||
| 43 | irq_fd = active_fds; | 43 | irq_fd = active_fds; | 
| 44 | 44 | ||
| 45 | for(i = 0; i < pollfds_num; i++){ | 45 | for (i = 0; i < pollfds_num; i++) { | 
| 46 | if(pollfds[i].revents != 0){ | 46 | if (pollfds[i].revents != 0) { | 
| 47 | irq_fd->current_events = pollfds[i].revents; | 47 | irq_fd->current_events = pollfds[i].revents; | 
| 48 | pollfds[i].fd = -1; | 48 | pollfds[i].fd = -1; | 
| 49 | } | 49 | } | 
| @@ -54,7 +54,7 @@ int os_waiting_for_events(struct irq_fd *active_fds) | |||
| 54 | 54 | ||
| 55 | int os_isatty(int fd) | 55 | int os_isatty(int fd) | 
| 56 | { | 56 | { | 
| 57 | return(isatty(fd)); | 57 | return isatty(fd); | 
| 58 | } | 58 | } | 
| 59 | 59 | ||
| 60 | int os_create_pollfd(int fd, int events, void *tmp_pfd, int size_tmpfds) | 60 | int os_create_pollfd(int fd, int events, void *tmp_pfd, int size_tmpfds) | 
| @@ -65,7 +65,7 @@ int os_create_pollfd(int fd, int events, void *tmp_pfd, int size_tmpfds) | |||
| 65 | return((pollfds_size + 1) * sizeof(pollfds[0])); | 65 | return((pollfds_size + 1) * sizeof(pollfds[0])); | 
| 66 | } | 66 | } | 
| 67 | 67 | ||
| 68 | if(pollfds != NULL){ | 68 | if (pollfds != NULL) { | 
| 69 | memcpy(tmp_pfd, pollfds, | 69 | memcpy(tmp_pfd, pollfds, | 
| 70 | sizeof(pollfds[0]) * pollfds_size); | 70 | sizeof(pollfds[0]) * pollfds_size); | 
| 71 | /* remove old pollfds */ | 71 | /* remove old pollfds */ | 
| @@ -73,18 +73,15 @@ int os_create_pollfd(int fd, int events, void *tmp_pfd, int size_tmpfds) | |||
| 73 | } | 73 | } | 
| 74 | pollfds = tmp_pfd; | 74 | pollfds = tmp_pfd; | 
| 75 | pollfds_size++; | 75 | pollfds_size++; | 
| 76 | } else { | 76 | } else | 
| 77 | /* remove not used tmp_pfd */ | 77 | kfree(tmp_pfd); /* remove not used tmp_pfd */ | 
| 78 | if (tmp_pfd != NULL) | ||
| 79 | kfree(tmp_pfd); | ||
| 80 | } | ||
| 81 | 78 | ||
| 82 | pollfds[pollfds_num] = ((struct pollfd) { .fd = fd, | 79 | pollfds[pollfds_num] = ((struct pollfd) { .fd = fd, | 
| 83 | .events = events, | 80 | .events = events, | 
| 84 | .revents = 0 }); | 81 | .revents = 0 }); | 
| 85 | pollfds_num++; | 82 | pollfds_num++; | 
| 86 | 83 | ||
| 87 | return(0); | 84 | return 0; | 
| 88 | } | 85 | } | 
| 89 | 86 | ||
| 90 | void os_free_irq_by_cb(int (*test)(struct irq_fd *, void *), void *arg, | 87 | void os_free_irq_by_cb(int (*test)(struct irq_fd *, void *), void *arg, | 
| @@ -94,11 +91,11 @@ void os_free_irq_by_cb(int (*test)(struct irq_fd *, void *), void *arg, | |||
| 94 | int i = 0; | 91 | int i = 0; | 
| 95 | 92 | ||
| 96 | prev = &active_fds; | 93 | prev = &active_fds; | 
| 97 | while(*prev != NULL){ | 94 | while (*prev != NULL) { | 
| 98 | if((*test)(*prev, arg)){ | 95 | if ((*test)(*prev, arg)) { | 
| 99 | struct irq_fd *old_fd = *prev; | 96 | struct irq_fd *old_fd = *prev; | 
| 100 | if((pollfds[i].fd != -1) && | 97 | if ((pollfds[i].fd != -1) && | 
| 101 | (pollfds[i].fd != (*prev)->fd)){ | 98 | (pollfds[i].fd != (*prev)->fd)) { | 
| 102 | printk("os_free_irq_by_cb - mismatch between " | 99 | printk("os_free_irq_by_cb - mismatch between " | 
| 103 | "active_fds and pollfds, fd %d vs %d\n", | 100 | "active_fds and pollfds, fd %d vs %d\n", | 
| 104 | (*prev)->fd, pollfds[i].fd); | 101 | (*prev)->fd, pollfds[i].fd); | 
| @@ -110,7 +107,6 @@ void os_free_irq_by_cb(int (*test)(struct irq_fd *, void *), void *arg, | |||
| 110 | /* This moves the *whole* array after pollfds[i] | 107 | /* This moves the *whole* array after pollfds[i] | 
| 111 | * (though it doesn't spot as such)! | 108 | * (though it doesn't spot as such)! | 
| 112 | */ | 109 | */ | 
| 113 | |||
| 114 | memmove(&pollfds[i], &pollfds[i + 1], | 110 | memmove(&pollfds[i], &pollfds[i + 1], | 
| 115 | (pollfds_num - i) * sizeof(pollfds[0])); | 111 | (pollfds_num - i) * sizeof(pollfds[0])); | 
| 116 | if(*last_irq_ptr2 == &old_fd->next) | 112 | if(*last_irq_ptr2 == &old_fd->next) | 
| @@ -129,10 +125,9 @@ void os_free_irq_by_cb(int (*test)(struct irq_fd *, void *), void *arg, | |||
| 129 | return; | 125 | return; | 
| 130 | } | 126 | } | 
| 131 | 127 | ||
| 132 | |||
| 133 | int os_get_pollfd(int i) | 128 | int os_get_pollfd(int i) | 
| 134 | { | 129 | { | 
| 135 | return(pollfds[i].fd); | 130 | return pollfds[i].fd; | 
| 136 | } | 131 | } | 
| 137 | 132 | ||
| 138 | void os_set_pollfd(int i, int fd) | 133 | void os_set_pollfd(int i, int fd) | 
| @@ -151,8 +146,10 @@ void init_irq_signals(int on_sigstack) | |||
| 151 | int flags; | 146 | int flags; | 
| 152 | 147 | ||
| 153 | flags = on_sigstack ? SA_ONSTACK : 0; | 148 | flags = on_sigstack ? SA_ONSTACK : 0; | 
| 154 | if(timer_irq_inited) h = (__sighandler_t) alarm_handler; | 149 | if (timer_irq_inited) | 
| 155 | else h = boot_timer_handler; | 150 | h = (__sighandler_t)alarm_handler; | 
| 151 | else | ||
| 152 | h = boot_timer_handler; | ||
| 156 | 153 | ||
| 157 | set_handler(SIGVTALRM, h, flags | SA_RESTART, | 154 | set_handler(SIGVTALRM, h, flags | SA_RESTART, | 
| 158 | SIGUSR1, SIGIO, SIGWINCH, SIGALRM, -1); | 155 | SIGUSR1, SIGIO, SIGWINCH, SIGALRM, -1); | 
diff --git a/arch/um/os-Linux/main.c b/arch/um/os-Linux/main.c index 2878e89a674f..3a0ac38e978b 100644 --- a/arch/um/os-Linux/main.c +++ b/arch/um/os-Linux/main.c  | |||
| @@ -74,6 +74,34 @@ static void last_ditch_exit(int sig) | |||
| 74 | exit(1); | 74 | exit(1); | 
| 75 | } | 75 | } | 
| 76 | 76 | ||
| 77 | #define UML_LIB_PATH ":/usr/lib/uml" | ||
| 78 | |||
| 79 | static void setup_env_path(void) | ||
| 80 | { | ||
| 81 | char *new_path = NULL; | ||
| 82 | char *old_path = NULL; | ||
| 83 | int path_len = 0; | ||
| 84 | |||
| 85 | old_path = getenv("PATH"); | ||
| 86 | /* if no PATH variable is set or it has an empty value | ||
| 87 | * just use the default + /usr/lib/uml | ||
| 88 | */ | ||
| 89 | if (!old_path || (path_len = strlen(old_path)) == 0) { | ||
| 90 | putenv("PATH=:/bin:/usr/bin/" UML_LIB_PATH); | ||
| 91 | return; | ||
| 92 | } | ||
| 93 | |||
| 94 | /* append /usr/lib/uml to the existing path */ | ||
| 95 | path_len += strlen("PATH=" UML_LIB_PATH) + 1; | ||
| 96 | new_path = malloc(path_len); | ||
| 97 | if (!new_path) { | ||
| 98 | perror("coudn't malloc to set a new PATH"); | ||
| 99 | return; | ||
| 100 | } | ||
| 101 | snprintf(new_path, path_len, "PATH=%s" UML_LIB_PATH, old_path); | ||
| 102 | putenv(new_path); | ||
| 103 | } | ||
| 104 | |||
| 77 | extern int uml_exitcode; | 105 | extern int uml_exitcode; | 
| 78 | 106 | ||
| 79 | extern void scan_elf_aux( char **envp); | 107 | extern void scan_elf_aux( char **envp); | 
| @@ -114,6 +142,8 @@ int main(int argc, char **argv, char **envp) | |||
| 114 | 142 | ||
| 115 | set_stklim(); | 143 | set_stklim(); | 
| 116 | 144 | ||
| 145 | setup_env_path(); | ||
| 146 | |||
| 117 | new_argv = malloc((argc + 1) * sizeof(char *)); | 147 | new_argv = malloc((argc + 1) * sizeof(char *)); | 
| 118 | if(new_argv == NULL){ | 148 | if(new_argv == NULL){ | 
| 119 | perror("Mallocing argv"); | 149 | perror("Mallocing argv"); | 
diff --git a/arch/um/os-Linux/process.c b/arch/um/os-Linux/process.c index 3505f44f8a25..233be2f4f8cb 100644 --- a/arch/um/os-Linux/process.c +++ b/arch/um/os-Linux/process.c  | |||
| @@ -206,29 +206,36 @@ int os_drop_memory(void *addr, int length) | |||
| 206 | int can_drop_memory(void) | 206 | int can_drop_memory(void) | 
| 207 | { | 207 | { | 
| 208 | void *addr; | 208 | void *addr; | 
| 209 | int fd; | 209 | int fd, ok = 0; | 
| 210 | 210 | ||
| 211 | printk("Checking host MADV_REMOVE support..."); | 211 | printk("Checking host MADV_REMOVE support..."); | 
| 212 | fd = create_mem_file(UM_KERN_PAGE_SIZE); | 212 | fd = create_mem_file(UM_KERN_PAGE_SIZE); | 
| 213 | if(fd < 0){ | 213 | if(fd < 0){ | 
| 214 | printk("Creating test memory file failed, err = %d\n", -fd); | 214 | printk("Creating test memory file failed, err = %d\n", -fd); | 
| 215 | return 0; | 215 | goto out; | 
| 216 | } | 216 | } | 
| 217 | 217 | ||
| 218 | addr = mmap64(NULL, UM_KERN_PAGE_SIZE, PROT_READ | PROT_WRITE, | 218 | addr = mmap64(NULL, UM_KERN_PAGE_SIZE, PROT_READ | PROT_WRITE, | 
| 219 | MAP_SHARED, fd, 0); | 219 | MAP_SHARED, fd, 0); | 
| 220 | if(addr == MAP_FAILED){ | 220 | if(addr == MAP_FAILED){ | 
| 221 | printk("Mapping test memory file failed, err = %d\n", -errno); | 221 | printk("Mapping test memory file failed, err = %d\n", -errno); | 
| 222 | return 0; | 222 | goto out_close; | 
| 223 | } | 223 | } | 
| 224 | 224 | ||
| 225 | if(madvise(addr, UM_KERN_PAGE_SIZE, MADV_REMOVE) != 0){ | 225 | if(madvise(addr, UM_KERN_PAGE_SIZE, MADV_REMOVE) != 0){ | 
| 226 | printk("MADV_REMOVE failed, err = %d\n", -errno); | 226 | printk("MADV_REMOVE failed, err = %d\n", -errno); | 
| 227 | return 0; | 227 | goto out_unmap; | 
| 228 | } | 228 | } | 
| 229 | 229 | ||
| 230 | printk("OK\n"); | 230 | printk("OK\n"); | 
| 231 | return 1; | 231 | ok = 1; | 
| 232 | |||
| 233 | out_unmap: | ||
| 234 | munmap(addr, UM_KERN_PAGE_SIZE); | ||
| 235 | out_close: | ||
| 236 | close(fd); | ||
| 237 | out: | ||
| 238 | return ok; | ||
| 232 | } | 239 | } | 
| 233 | 240 | ||
| 234 | void init_new_thread_stack(void *sig_stack, void (*usr1_handler)(int)) | 241 | void init_new_thread_stack(void *sig_stack, void (*usr1_handler)(int)) | 
diff --git a/arch/um/os-Linux/skas/process.c b/arch/um/os-Linux/skas/process.c index 0776bc18ca85..bd89c6b99d5d 100644 --- a/arch/um/os-Linux/skas/process.c +++ b/arch/um/os-Linux/skas/process.c  | |||
| @@ -344,12 +344,12 @@ int copy_context_skas0(unsigned long new_stack, int pid) | |||
| 344 | err = ptrace_setregs(pid, regs); | 344 | err = ptrace_setregs(pid, regs); | 
| 345 | if(err < 0) | 345 | if(err < 0) | 
| 346 | panic("copy_context_skas0 : PTRACE_SETREGS failed, " | 346 | panic("copy_context_skas0 : PTRACE_SETREGS failed, " | 
| 347 | "pid = %d, errno = %d\n", pid, errno); | 347 | "pid = %d, errno = %d\n", pid, -err); | 
| 348 | 348 | ||
| 349 | err = ptrace_setfpregs(pid, fp_regs); | 349 | err = ptrace_setfpregs(pid, fp_regs); | 
| 350 | if(err < 0) | 350 | if(err < 0) | 
| 351 | panic("copy_context_skas0 : PTRACE_SETFPREGS failed, " | 351 | panic("copy_context_skas0 : PTRACE_SETFPREGS failed, " | 
| 352 | "pid = %d, errno = %d\n", pid, errno); | 352 | "pid = %d, errno = %d\n", pid, -err); | 
| 353 | 353 | ||
| 354 | /* set a well known return code for detection of child write failure */ | 354 | /* set a well known return code for detection of child write failure */ | 
| 355 | child_data->err = 12345678; | 355 | child_data->err = 12345678; | 
| @@ -362,7 +362,7 @@ int copy_context_skas0(unsigned long new_stack, int pid) | |||
| 362 | pid = data->err; | 362 | pid = data->err; | 
| 363 | if(pid < 0) | 363 | if(pid < 0) | 
| 364 | panic("copy_context_skas0 - stub-parent reports error %d\n", | 364 | panic("copy_context_skas0 - stub-parent reports error %d\n", | 
| 365 | pid); | 365 | -pid); | 
| 366 | 366 | ||
| 367 | /* Wait, until child has finished too: read child's result from | 367 | /* Wait, until child has finished too: read child's result from | 
| 368 | * child's stack and check it. | 368 | * child's stack and check it. | 
diff --git a/arch/um/os-Linux/sys-i386/registers.c b/arch/um/os-Linux/sys-i386/registers.c index 7a6f6b99ceff..516f66dd87e3 100644 --- a/arch/um/os-Linux/sys-i386/registers.c +++ b/arch/um/os-Linux/sys-i386/registers.c  | |||
| @@ -104,7 +104,7 @@ void init_registers(int pid) | |||
| 104 | err = ptrace(PTRACE_GETREGS, pid, 0, exec_regs); | 104 | err = ptrace(PTRACE_GETREGS, pid, 0, exec_regs); | 
| 105 | if(err) | 105 | if(err) | 
| 106 | panic("check_ptrace : PTRACE_GETREGS failed, errno = %d", | 106 | panic("check_ptrace : PTRACE_GETREGS failed, errno = %d", | 
| 107 | err); | 107 | errno); | 
| 108 | 108 | ||
| 109 | errno = 0; | 109 | errno = 0; | 
| 110 | err = ptrace(PTRACE_GETFPXREGS, pid, 0, exec_fpx_regs); | 110 | err = ptrace(PTRACE_GETFPXREGS, pid, 0, exec_fpx_regs); | 
| @@ -119,7 +119,7 @@ void init_registers(int pid) | |||
| 119 | err = ptrace(PTRACE_GETFPREGS, pid, 0, exec_fp_regs); | 119 | err = ptrace(PTRACE_GETFPREGS, pid, 0, exec_fp_regs); | 
| 120 | if(err) | 120 | if(err) | 
| 121 | panic("check_ptrace : PTRACE_GETFPREGS failed, errno = %d", | 121 | panic("check_ptrace : PTRACE_GETFPREGS failed, errno = %d", | 
| 122 | err); | 122 | errno); | 
| 123 | } | 123 | } | 
| 124 | 124 | ||
| 125 | void get_safe_registers(unsigned long *regs, unsigned long *fp_regs) | 125 | void get_safe_registers(unsigned long *regs, unsigned long *fp_regs) | 
diff --git a/arch/um/os-Linux/sys-x86_64/registers.c b/arch/um/os-Linux/sys-x86_64/registers.c index 001941fa1a1e..becd898d9398 100644 --- a/arch/um/os-Linux/sys-x86_64/registers.c +++ b/arch/um/os-Linux/sys-x86_64/registers.c  | |||
| @@ -62,12 +62,12 @@ void init_registers(int pid) | |||
| 62 | err = ptrace(PTRACE_GETREGS, pid, 0, exec_regs); | 62 | err = ptrace(PTRACE_GETREGS, pid, 0, exec_regs); | 
| 63 | if(err) | 63 | if(err) | 
| 64 | panic("check_ptrace : PTRACE_GETREGS failed, errno = %d", | 64 | panic("check_ptrace : PTRACE_GETREGS failed, errno = %d", | 
| 65 | err); | 65 | errno); | 
| 66 | 66 | ||
| 67 | err = ptrace(PTRACE_GETFPREGS, pid, 0, exec_fp_regs); | 67 | err = ptrace(PTRACE_GETFPREGS, pid, 0, exec_fp_regs); | 
| 68 | if(err) | 68 | if(err) | 
| 69 | panic("check_ptrace : PTRACE_GETFPREGS failed, errno = %d", | 69 | panic("check_ptrace : PTRACE_GETFPREGS failed, errno = %d", | 
| 70 | err); | 70 | errno); | 
| 71 | } | 71 | } | 
| 72 | 72 | ||
| 73 | void get_safe_registers(unsigned long *regs, unsigned long *fp_regs) | 73 | void get_safe_registers(unsigned long *regs, unsigned long *fp_regs) | 
diff --git a/arch/um/os-Linux/umid.c b/arch/um/os-Linux/umid.c index 34bfc1bb9e38..362db059fe30 100644 --- a/arch/um/os-Linux/umid.c +++ b/arch/um/os-Linux/umid.c  | |||
| @@ -178,14 +178,14 @@ static void __init create_pid_file(void) | |||
| 178 | fd = open(file, O_RDWR | O_CREAT | O_EXCL, 0644); | 178 | fd = open(file, O_RDWR | O_CREAT | O_EXCL, 0644); | 
| 179 | if(fd < 0){ | 179 | if(fd < 0){ | 
| 180 | printk("Open of machine pid file \"%s\" failed: %s\n", | 180 | printk("Open of machine pid file \"%s\" failed: %s\n", | 
| 181 | file, strerror(-fd)); | 181 | file, strerror(errno)); | 
| 182 | return; | 182 | return; | 
| 183 | } | 183 | } | 
| 184 | 184 | ||
| 185 | snprintf(pid, sizeof(pid), "%d\n", getpid()); | 185 | snprintf(pid, sizeof(pid), "%d\n", getpid()); | 
| 186 | n = write(fd, pid, strlen(pid)); | 186 | n = write(fd, pid, strlen(pid)); | 
| 187 | if(n != strlen(pid)) | 187 | if(n != strlen(pid)) | 
| 188 | printk("Write of pid file failed - err = %d\n", -n); | 188 | printk("Write of pid file failed - err = %d\n", errno); | 
| 189 | 189 | ||
| 190 | close(fd); | 190 | close(fd); | 
| 191 | } | 191 | } | 
diff --git a/arch/um/os-Linux/user_syms.c b/arch/um/os-Linux/user_syms.c index 2598158e1f53..3f33165ada68 100644 --- a/arch/um/os-Linux/user_syms.c +++ b/arch/um/os-Linux/user_syms.c  | |||
| @@ -96,6 +96,13 @@ EXPORT_SYMBOL_PROTO(getuid); | |||
| 96 | EXPORT_SYMBOL_PROTO(fsync); | 96 | EXPORT_SYMBOL_PROTO(fsync); | 
| 97 | EXPORT_SYMBOL_PROTO(fdatasync); | 97 | EXPORT_SYMBOL_PROTO(fdatasync); | 
| 98 | 98 | ||
| 99 | /* Export symbols used by GCC for the stack protector. */ | ||
| 100 | extern void __stack_smash_handler(void *) __attribute__((weak)); | ||
| 101 | EXPORT_SYMBOL(__stack_smash_handler); | ||
| 102 | |||
| 103 | extern long __guard __attribute__((weak)); | ||
| 104 | EXPORT_SYMBOL(__guard); | ||
| 105 | |||
| 99 | /* | 106 | /* | 
| 100 | * Overrides for Emacs so that we follow Linus's tabbing style. | 107 | * Overrides for Emacs so that we follow Linus's tabbing style. | 
| 101 | * Emacs will notice this stuff at the end of the file and automatically | 108 | * Emacs will notice this stuff at the end of the file and automatically | 
diff --git a/arch/um/scripts/Makefile.rules b/arch/um/scripts/Makefile.rules index 5e7a9c310aa5..1347dc6d5218 100644 --- a/arch/um/scripts/Makefile.rules +++ b/arch/um/scripts/Makefile.rules  | |||
| @@ -7,11 +7,19 @@ USER_SINGLE_OBJS := \ | |||
| 7 | USER_OBJS += $(filter %_user.o,$(obj-y) $(obj-m) $(USER_SINGLE_OBJS)) | 7 | USER_OBJS += $(filter %_user.o,$(obj-y) $(obj-m) $(USER_SINGLE_OBJS)) | 
| 8 | USER_OBJS := $(foreach file,$(USER_OBJS),$(obj)/$(file)) | 8 | USER_OBJS := $(foreach file,$(USER_OBJS),$(obj)/$(file)) | 
| 9 | 9 | ||
| 10 | $(USER_OBJS) $(USER_OBJS:.o=.i) $(USER_OBJS:.o=.s) $(USER_OBJS:.o=.lst): \ | 10 | $(USER_OBJS:.o=.%): \ | 
| 11 | c_flags = -Wp,-MD,$(depfile) $(USER_CFLAGS) $(CFLAGS_$(notdir $@)) | 11 | c_flags = -Wp,-MD,$(depfile) $(USER_CFLAGS) $(CFLAGS_$(*F).o) | 
| 12 | $(USER_OBJS) : CHECKFLAGS := -D__linux__ -Dlinux -D__STDC__ \ | 12 | $(USER_OBJS) : CHECKFLAGS := -D__linux__ -Dlinux -D__STDC__ \ | 
| 13 | -Dunix -D__unix__ -D__$(SUBARCH)__ | 13 | -Dunix -D__unix__ -D__$(SUBARCH)__ | 
| 14 | 14 | ||
| 15 | # These are like USER_OBJS but filter USER_CFLAGS through unprofile instead of | ||
| 16 | # using it directly. | ||
| 17 | UNPROFILE_OBJS := $(foreach file,$(UNPROFILE_OBJS),$(obj)/$(file)) | ||
| 18 | |||
| 19 | $(UNPROFILE_OBJS:.o=.%): \ | ||
| 20 | c_flags = -Wp,-MD,$(depfile) $(call unprofile,$(USER_CFLAGS)) $(CFLAGS_$(*F).o) | ||
| 21 | $(UNPROFILE_OBJS) : CHECKFLAGS := -D__linux__ -Dlinux -D__STDC__ \ | ||
| 22 | -Dunix -D__unix__ -D__$(SUBARCH)__ | ||
| 15 | 23 | ||
| 16 | # The stubs and unmap.o can't try to call mcount or update basic block data | 24 | # The stubs and unmap.o can't try to call mcount or update basic block data | 
| 17 | define unprofile | 25 | define unprofile | 
diff --git a/arch/um/sys-i386/Makefile b/arch/um/sys-i386/Makefile index 98b20b7bba4f..374d61a19439 100644 --- a/arch/um/sys-i386/Makefile +++ b/arch/um/sys-i386/Makefile  | |||
| @@ -8,11 +8,16 @@ subarch-obj-y = lib/bitops.o kernel/semaphore.o | |||
| 8 | subarch-obj-$(CONFIG_HIGHMEM) += mm/highmem.o | 8 | subarch-obj-$(CONFIG_HIGHMEM) += mm/highmem.o | 
| 9 | subarch-obj-$(CONFIG_MODULES) += kernel/module.o | 9 | subarch-obj-$(CONFIG_MODULES) += kernel/module.o | 
| 10 | 10 | ||
| 11 | USER_OBJS := bugs.o ptrace_user.o sigcontext.o fault.o stub_segv.o | 11 | USER_OBJS := bugs.o ptrace_user.o sigcontext.o fault.o | 
| 12 | 12 | ||
| 13 | include arch/um/scripts/Makefile.rules | 13 | USER_OBJS += user-offsets.s | 
| 14 | extra-y += user-offsets.s | ||
| 14 | 15 | ||
| 15 | extra-$(CONFIG_MODE_TT) += unmap.o | 16 | extra-$(CONFIG_MODE_TT) += unmap.o | 
| 16 | 17 | ||
| 17 | $(obj)/stub_segv.o $(obj)/unmap.o: \ | 18 | UNPROFILE_OBJS := stub_segv.o | 
| 18 | _c_flags = $(call unprofile,$(CFLAGS)) | 19 | CFLAGS_stub_segv.o := $(CFLAGS_NO_HARDENING) | 
| 20 | |||
| 21 | include arch/um/scripts/Makefile.rules | ||
| 22 | |||
| 23 | $(obj)/unmap.%: _c_flags = $(call unprofile,$(CFLAGS)) | ||
diff --git a/arch/um/sys-x86_64/Makefile b/arch/um/sys-x86_64/Makefile index b5fc22babddf..c19794d435d6 100644 --- a/arch/um/sys-x86_64/Makefile +++ b/arch/um/sys-x86_64/Makefile  | |||
| @@ -16,11 +16,16 @@ subarch-obj-$(CONFIG_MODULES) += kernel/module.o | |||
| 16 | 16 | ||
| 17 | ldt-y = ../sys-i386/ldt.o | 17 | ldt-y = ../sys-i386/ldt.o | 
| 18 | 18 | ||
| 19 | USER_OBJS := ptrace_user.o sigcontext.o stub_segv.o | 19 | USER_OBJS := ptrace_user.o sigcontext.o | 
| 20 | 20 | ||
| 21 | include arch/um/scripts/Makefile.rules | 21 | USER_OBJS += user-offsets.s | 
| 22 | extra-y += user-offsets.s | ||
| 22 | 23 | ||
| 23 | extra-$(CONFIG_MODE_TT) += unmap.o | 24 | extra-$(CONFIG_MODE_TT) += unmap.o | 
| 24 | 25 | ||
| 25 | $(obj)/stub_segv.o $(obj)/unmap.o: \ | 26 | UNPROFILE_OBJS := stub_segv.o | 
| 26 | _c_flags = $(call unprofile,$(CFLAGS)) | 27 | CFLAGS_stub_segv.o := $(CFLAGS_NO_HARDENING) | 
| 28 | |||
| 29 | include arch/um/scripts/Makefile.rules | ||
| 30 | |||
| 31 | $(obj)/unmap.%: _c_flags = $(call unprofile,$(CFLAGS)) | ||
diff --git a/arch/x86_64/ia32/ia32entry.S b/arch/x86_64/ia32/ia32entry.S index 57fc37e0fb9c..5a92fed2d1d5 100644 --- a/arch/x86_64/ia32/ia32entry.S +++ b/arch/x86_64/ia32/ia32entry.S  | |||
| @@ -695,4 +695,5 @@ ia32_sys_call_table: | |||
| 695 | .quad sys_splice | 695 | .quad sys_splice | 
| 696 | .quad sys_sync_file_range | 696 | .quad sys_sync_file_range | 
| 697 | .quad sys_tee | 697 | .quad sys_tee | 
| 698 | .quad compat_sys_vmsplice | ||
| 698 | ia32_syscall_end: | 699 | ia32_syscall_end: | 
diff --git a/arch/x86_64/kernel/ptrace.c b/arch/x86_64/kernel/ptrace.c index da8e7903d817..2d50024c9f30 100644 --- a/arch/x86_64/kernel/ptrace.c +++ b/arch/x86_64/kernel/ptrace.c  | |||
| @@ -600,12 +600,12 @@ asmlinkage void syscall_trace_enter(struct pt_regs *regs) | |||
| 600 | 600 | ||
| 601 | if (unlikely(current->audit_context)) { | 601 | if (unlikely(current->audit_context)) { | 
| 602 | if (test_thread_flag(TIF_IA32)) { | 602 | if (test_thread_flag(TIF_IA32)) { | 
| 603 | audit_syscall_entry(current, AUDIT_ARCH_I386, | 603 | audit_syscall_entry(AUDIT_ARCH_I386, | 
| 604 | regs->orig_rax, | 604 | regs->orig_rax, | 
| 605 | regs->rbx, regs->rcx, | 605 | regs->rbx, regs->rcx, | 
| 606 | regs->rdx, regs->rsi); | 606 | regs->rdx, regs->rsi); | 
| 607 | } else { | 607 | } else { | 
| 608 | audit_syscall_entry(current, AUDIT_ARCH_X86_64, | 608 | audit_syscall_entry(AUDIT_ARCH_X86_64, | 
| 609 | regs->orig_rax, | 609 | regs->orig_rax, | 
| 610 | regs->rdi, regs->rsi, | 610 | regs->rdi, regs->rsi, | 
| 611 | regs->rdx, regs->r10); | 611 | regs->rdx, regs->r10); | 
| @@ -616,7 +616,7 @@ asmlinkage void syscall_trace_enter(struct pt_regs *regs) | |||
| 616 | asmlinkage void syscall_trace_leave(struct pt_regs *regs) | 616 | asmlinkage void syscall_trace_leave(struct pt_regs *regs) | 
| 617 | { | 617 | { | 
| 618 | if (unlikely(current->audit_context)) | 618 | if (unlikely(current->audit_context)) | 
| 619 | audit_syscall_exit(current, AUDITSC_RESULT(regs->rax), regs->rax); | 619 | audit_syscall_exit(AUDITSC_RESULT(regs->rax), regs->rax); | 
| 620 | 620 | ||
| 621 | if ((test_thread_flag(TIF_SYSCALL_TRACE) | 621 | if ((test_thread_flag(TIF_SYSCALL_TRACE) | 
| 622 | || test_thread_flag(TIF_SINGLESTEP)) | 622 | || test_thread_flag(TIF_SINGLESTEP)) | 
diff --git a/arch/x86_64/kernel/setup.c b/arch/x86_64/kernel/setup.c index 759070c82751..ebc3c33b1c6c 100644 --- a/arch/x86_64/kernel/setup.c +++ b/arch/x86_64/kernel/setup.c  | |||
| @@ -1426,3 +1426,22 @@ struct seq_operations cpuinfo_op = { | |||
| 1426 | .show = show_cpuinfo, | 1426 | .show = show_cpuinfo, | 
| 1427 | }; | 1427 | }; | 
| 1428 | 1428 | ||
| 1429 | #ifdef CONFIG_INPUT_PCSPKR | ||
| 1430 | #include <linux/platform_device.h> | ||
| 1431 | static __init int add_pcspkr(void) | ||
| 1432 | { | ||
| 1433 | struct platform_device *pd; | ||
| 1434 | int ret; | ||
| 1435 | |||
| 1436 | pd = platform_device_alloc("pcspkr", -1); | ||
| 1437 | if (!pd) | ||
| 1438 | return -ENOMEM; | ||
| 1439 | |||
| 1440 | ret = platform_device_add(pd); | ||
| 1441 | if (ret) | ||
| 1442 | platform_device_put(pd); | ||
| 1443 | |||
| 1444 | return ret; | ||
| 1445 | } | ||
| 1446 | device_initcall(add_pcspkr); | ||
| 1447 | #endif | ||
diff --git a/drivers/Kconfig b/drivers/Kconfig index 5c91d6afb117..aeb5ab2391e4 100644 --- a/drivers/Kconfig +++ b/drivers/Kconfig  | |||
| @@ -68,8 +68,6 @@ source "drivers/leds/Kconfig" | |||
| 68 | 68 | ||
| 69 | source "drivers/infiniband/Kconfig" | 69 | source "drivers/infiniband/Kconfig" | 
| 70 | 70 | ||
| 71 | source "drivers/sn/Kconfig" | ||
| 72 | |||
| 73 | source "drivers/edac/Kconfig" | 71 | source "drivers/edac/Kconfig" | 
| 74 | 72 | ||
| 75 | source "drivers/rtc/Kconfig" | 73 | source "drivers/rtc/Kconfig" | 
diff --git a/drivers/block/floppy.c b/drivers/block/floppy.c index bedb689b051f..dff1e67b1dd4 100644 --- a/drivers/block/floppy.c +++ b/drivers/block/floppy.c  | |||
| @@ -4301,7 +4301,7 @@ static int __init floppy_init(void) | |||
| 4301 | } | 4301 | } | 
| 4302 | 4302 | ||
| 4303 | use_virtual_dma = can_use_virtual_dma & 1; | 4303 | use_virtual_dma = can_use_virtual_dma & 1; | 
| 4304 | #if defined(CONFIG_PPC64) | 4304 | #if defined(CONFIG_PPC_MERGE) | 
| 4305 | if (check_legacy_ioport(FDC1)) { | 4305 | if (check_legacy_ioport(FDC1)) { | 
| 4306 | del_timer(&fd_timeout); | 4306 | del_timer(&fd_timeout); | 
| 4307 | err = -ENODEV; | 4307 | err = -ENODEV; | 
diff --git a/drivers/char/genrtc.c b/drivers/char/genrtc.c index d3a2bc36129b..588fca542a98 100644 --- a/drivers/char/genrtc.c +++ b/drivers/char/genrtc.c  | |||
| @@ -200,13 +200,13 @@ static ssize_t gen_rtc_read(struct file *file, char __user *buf, | |||
| 200 | /* first test allows optimizer to nuke this case for 32-bit machines */ | 200 | /* first test allows optimizer to nuke this case for 32-bit machines */ | 
| 201 | if (sizeof (int) != sizeof (long) && count == sizeof (unsigned int)) { | 201 | if (sizeof (int) != sizeof (long) && count == sizeof (unsigned int)) { | 
| 202 | unsigned int uidata = data; | 202 | unsigned int uidata = data; | 
| 203 | retval = put_user(uidata, (unsigned long __user *)buf); | 203 | retval = put_user(uidata, (unsigned int __user *)buf) ?: | 
| 204 | sizeof(unsigned int); | ||
| 204 | } | 205 | } | 
| 205 | else { | 206 | else { | 
| 206 | retval = put_user(data, (unsigned long __user *)buf); | 207 | retval = put_user(data, (unsigned long __user *)buf) ?: | 
| 208 | sizeof(unsigned long); | ||
| 207 | } | 209 | } | 
| 208 | if (!retval) | ||
| 209 | retval = sizeof(unsigned long); | ||
| 210 | out: | 210 | out: | 
| 211 | current->state = TASK_RUNNING; | 211 | current->state = TASK_RUNNING; | 
| 212 | remove_wait_queue(&gen_rtc_wait, &wait); | 212 | remove_wait_queue(&gen_rtc_wait, &wait); | 
diff --git a/drivers/char/keyboard.c b/drivers/char/keyboard.c index 935670a3cd98..5755b7e5f187 100644 --- a/drivers/char/keyboard.c +++ b/drivers/char/keyboard.c  | |||
| @@ -860,9 +860,32 @@ static void k_slock(struct vc_data *vc, unsigned char value, char up_flag, struc | |||
| 860 | } | 860 | } | 
| 861 | 861 | ||
| 862 | /* by default, 300ms interval for combination release */ | 862 | /* by default, 300ms interval for combination release */ | 
| 863 | static long brl_timeout = 300; | 863 | static unsigned brl_timeout = 300; | 
| 864 | MODULE_PARM_DESC(brl_timeout, "Braille keys release delay in ms (0 for combination on first release, < 0 for dead characters)"); | 864 | MODULE_PARM_DESC(brl_timeout, "Braille keys release delay in ms (0 for commit on first key release)"); | 
| 865 | module_param(brl_timeout, long, 0644); | 865 | module_param(brl_timeout, uint, 0644); | 
| 866 | |||
| 867 | static unsigned brl_nbchords = 1; | ||
| 868 | MODULE_PARM_DESC(brl_nbchords, "Number of chords that produce a braille pattern (0 for dead chords)"); | ||
| 869 | module_param(brl_nbchords, uint, 0644); | ||
| 870 | |||
| 871 | static void k_brlcommit(struct vc_data *vc, unsigned int pattern, char up_flag, struct pt_regs *regs) | ||
| 872 | { | ||
| 873 | static unsigned long chords; | ||
| 874 | static unsigned committed; | ||
| 875 | |||
| 876 | if (!brl_nbchords) | ||
| 877 | k_deadunicode(vc, BRL_UC_ROW | pattern, up_flag, regs); | ||
| 878 | else { | ||
| 879 | committed |= pattern; | ||
| 880 | chords++; | ||
| 881 | if (chords == brl_nbchords) { | ||
| 882 | k_unicode(vc, BRL_UC_ROW | committed, up_flag, regs); | ||
| 883 | chords = 0; | ||
| 884 | committed = 0; | ||
| 885 | } | ||
| 886 | } | ||
| 887 | } | ||
| 888 | |||
| 866 | static void k_brl(struct vc_data *vc, unsigned char value, char up_flag, struct pt_regs *regs) | 889 | static void k_brl(struct vc_data *vc, unsigned char value, char up_flag, struct pt_regs *regs) | 
| 867 | { | 890 | { | 
| 868 | static unsigned pressed,committing; | 891 | static unsigned pressed,committing; | 
| @@ -882,11 +905,6 @@ static void k_brl(struct vc_data *vc, unsigned char value, char up_flag, struct | |||
| 882 | if (value > 8) | 905 | if (value > 8) | 
| 883 | return; | 906 | return; | 
| 884 | 907 | ||
| 885 | if (brl_timeout < 0) { | ||
| 886 | k_deadunicode(vc, BRL_UC_ROW | (1 << (value - 1)), up_flag, regs); | ||
| 887 | return; | ||
| 888 | } | ||
| 889 | |||
| 890 | if (up_flag) { | 908 | if (up_flag) { | 
| 891 | if (brl_timeout) { | 909 | if (brl_timeout) { | 
| 892 | if (!committing || | 910 | if (!committing || | 
| @@ -897,13 +915,13 @@ static void k_brl(struct vc_data *vc, unsigned char value, char up_flag, struct | |||
| 897 | pressed &= ~(1 << (value - 1)); | 915 | pressed &= ~(1 << (value - 1)); | 
| 898 | if (!pressed) { | 916 | if (!pressed) { | 
| 899 | if (committing) { | 917 | if (committing) { | 
| 900 | k_unicode(vc, BRL_UC_ROW | committing, 0, regs); | 918 | k_brlcommit(vc, committing, 0, regs); | 
| 901 | committing = 0; | 919 | committing = 0; | 
| 902 | } | 920 | } | 
| 903 | } | 921 | } | 
| 904 | } else { | 922 | } else { | 
| 905 | if (committing) { | 923 | if (committing) { | 
| 906 | k_unicode(vc, BRL_UC_ROW | committing, 0, regs); | 924 | k_brlcommit(vc, committing, 0, regs); | 
| 907 | committing = 0; | 925 | committing = 0; | 
| 908 | } | 926 | } | 
| 909 | pressed &= ~(1 << (value - 1)); | 927 | pressed &= ~(1 << (value - 1)); | 
diff --git a/drivers/char/mwave/mwavedd.c b/drivers/char/mwave/mwavedd.c index 8666171e187b..d3ba2f860ef0 100644 --- a/drivers/char/mwave/mwavedd.c +++ b/drivers/char/mwave/mwavedd.c  | |||
| @@ -271,7 +271,7 @@ static int mwave_ioctl(struct inode *inode, struct file *file, | |||
| 271 | ipcnum, | 271 | ipcnum, | 
| 272 | pDrvData->IPCs[ipcnum].usIntCount); | 272 | pDrvData->IPCs[ipcnum].usIntCount); | 
| 273 | 273 | ||
| 274 | if (ipcnum > ARRAY_SIZE(pDrvData->IPCs)) { | 274 | if (ipcnum >= ARRAY_SIZE(pDrvData->IPCs)) { | 
| 275 | PRINTK_ERROR(KERN_ERR_MWAVE | 275 | PRINTK_ERROR(KERN_ERR_MWAVE | 
| 276 | "mwavedd::mwave_ioctl:" | 276 | "mwavedd::mwave_ioctl:" | 
| 277 | " IOCTL_MW_REGISTER_IPC:" | 277 | " IOCTL_MW_REGISTER_IPC:" | 
diff --git a/drivers/char/tipar.c b/drivers/char/tipar.c index eb2eb3e12d6a..079db5a935a1 100644 --- a/drivers/char/tipar.c +++ b/drivers/char/tipar.c  | |||
| @@ -515,7 +515,7 @@ tipar_init_module(void) | |||
| 515 | err = PTR_ERR(tipar_class); | 515 | err = PTR_ERR(tipar_class); | 
| 516 | goto out_chrdev; | 516 | goto out_chrdev; | 
| 517 | } | 517 | } | 
| 518 | if (parport_register_driver(&tipar_driver) || tp_count == 0) { | 518 | if (parport_register_driver(&tipar_driver)) { | 
| 519 | printk(KERN_ERR "tipar: unable to register with parport\n"); | 519 | printk(KERN_ERR "tipar: unable to register with parport\n"); | 
| 520 | err = -EIO; | 520 | err = -EIO; | 
| 521 | goto out_class; | 521 | goto out_class; | 
diff --git a/drivers/infiniband/hw/ipath/ipath_debug.h b/drivers/infiniband/hw/ipath/ipath_debug.h index 593e28969c69..46762387f5f8 100644 --- a/drivers/infiniband/hw/ipath/ipath_debug.h +++ b/drivers/infiniband/hw/ipath/ipath_debug.h  | |||
| @@ -60,11 +60,11 @@ | |||
| 60 | #define __IPATH_KERNEL_SEND 0x2000 /* use kernel mode send */ | 60 | #define __IPATH_KERNEL_SEND 0x2000 /* use kernel mode send */ | 
| 61 | #define __IPATH_EPKTDBG 0x4000 /* print ethernet packet data */ | 61 | #define __IPATH_EPKTDBG 0x4000 /* print ethernet packet data */ | 
| 62 | #define __IPATH_SMADBG 0x8000 /* sma packet debug */ | 62 | #define __IPATH_SMADBG 0x8000 /* sma packet debug */ | 
| 63 | #define __IPATH_IPATHDBG 0x10000 /* Ethernet (IPATH) general debug on */ | 63 | #define __IPATH_IPATHDBG 0x10000 /* Ethernet (IPATH) gen debug */ | 
| 64 | #define __IPATH_IPATHWARN 0x20000 /* Ethernet (IPATH) warnings on */ | 64 | #define __IPATH_IPATHWARN 0x20000 /* Ethernet (IPATH) warnings */ | 
| 65 | #define __IPATH_IPATHERR 0x40000 /* Ethernet (IPATH) errors on */ | 65 | #define __IPATH_IPATHERR 0x40000 /* Ethernet (IPATH) errors */ | 
| 66 | #define __IPATH_IPATHPD 0x80000 /* Ethernet (IPATH) packet dump on */ | 66 | #define __IPATH_IPATHPD 0x80000 /* Ethernet (IPATH) packet dump */ | 
| 67 | #define __IPATH_IPATHTABLE 0x100000 /* Ethernet (IPATH) table dump on */ | 67 | #define __IPATH_IPATHTABLE 0x100000 /* Ethernet (IPATH) table dump */ | 
| 68 | 68 | ||
| 69 | #else /* _IPATH_DEBUGGING */ | 69 | #else /* _IPATH_DEBUGGING */ | 
| 70 | 70 | ||
| @@ -79,11 +79,12 @@ | |||
| 79 | #define __IPATH_TRSAMPLE 0x0 /* generate trace buffer sample entries */ | 79 | #define __IPATH_TRSAMPLE 0x0 /* generate trace buffer sample entries */ | 
| 80 | #define __IPATH_VERBDBG 0x0 /* very verbose debug */ | 80 | #define __IPATH_VERBDBG 0x0 /* very verbose debug */ | 
| 81 | #define __IPATH_PKTDBG 0x0 /* print packet data */ | 81 | #define __IPATH_PKTDBG 0x0 /* print packet data */ | 
| 82 | #define __IPATH_PROCDBG 0x0 /* print process startup (init)/exit messages */ | 82 | #define __IPATH_PROCDBG 0x0 /* process startup (init)/exit messages */ | 
| 83 | /* print mmap/nopage stuff, not using VDBG any more */ | 83 | /* print mmap/nopage stuff, not using VDBG any more */ | 
| 84 | #define __IPATH_MMDBG 0x0 | 84 | #define __IPATH_MMDBG 0x0 | 
| 85 | #define __IPATH_EPKTDBG 0x0 /* print ethernet packet data */ | 85 | #define __IPATH_EPKTDBG 0x0 /* print ethernet packet data */ | 
| 86 | #define __IPATH_SMADBG 0x0 /* print process startup (init)/exit messages */#define __IPATH_IPATHDBG 0x0 /* Ethernet (IPATH) table dump on */ | 86 | #define __IPATH_SMADBG 0x0 /* process startup (init)/exit messages */ | 
| 87 | #define __IPATH_IPATHDBG 0x0 /* Ethernet (IPATH) table dump on */ | ||
| 87 | #define __IPATH_IPATHWARN 0x0 /* Ethernet (IPATH) warnings on */ | 88 | #define __IPATH_IPATHWARN 0x0 /* Ethernet (IPATH) warnings on */ | 
| 88 | #define __IPATH_IPATHERR 0x0 /* Ethernet (IPATH) errors on */ | 89 | #define __IPATH_IPATHERR 0x0 /* Ethernet (IPATH) errors on */ | 
| 89 | #define __IPATH_IPATHPD 0x0 /* Ethernet (IPATH) packet dump on */ | 90 | #define __IPATH_IPATHPD 0x0 /* Ethernet (IPATH) packet dump on */ | 
diff --git a/drivers/infiniband/hw/ipath/ipath_diag.c b/drivers/infiniband/hw/ipath/ipath_diag.c index 7d3fb6996b41..28ddceb260e8 100644 --- a/drivers/infiniband/hw/ipath/ipath_diag.c +++ b/drivers/infiniband/hw/ipath/ipath_diag.c  | |||
| @@ -277,13 +277,14 @@ static int ipath_diag_open(struct inode *in, struct file *fp) | |||
| 277 | 277 | ||
| 278 | bail: | 278 | bail: | 
| 279 | spin_unlock_irqrestore(&ipath_devs_lock, flags); | 279 | spin_unlock_irqrestore(&ipath_devs_lock, flags); | 
| 280 | mutex_unlock(&ipath_mutex); | ||
| 281 | 280 | ||
| 282 | /* Only expose a way to reset the device if we | 281 | /* Only expose a way to reset the device if we | 
| 283 | make it into diag mode. */ | 282 | make it into diag mode. */ | 
| 284 | if (ret == 0) | 283 | if (ret == 0) | 
| 285 | ipath_expose_reset(&dd->pcidev->dev); | 284 | ipath_expose_reset(&dd->pcidev->dev); | 
| 286 | 285 | ||
| 286 | mutex_unlock(&ipath_mutex); | ||
| 287 | |||
| 287 | return ret; | 288 | return ret; | 
| 288 | } | 289 | } | 
| 289 | 290 | ||
diff --git a/drivers/infiniband/hw/ipath/ipath_driver.c b/drivers/infiniband/hw/ipath/ipath_driver.c index e7617c3982ea..398add4d4cb1 100644 --- a/drivers/infiniband/hw/ipath/ipath_driver.c +++ b/drivers/infiniband/hw/ipath/ipath_driver.c  | |||
| @@ -418,9 +418,19 @@ static int __devinit ipath_init_one(struct pci_dev *pdev, | |||
| 418 | 418 | ||
| 419 | ret = pci_set_dma_mask(pdev, DMA_64BIT_MASK); | 419 | ret = pci_set_dma_mask(pdev, DMA_64BIT_MASK); | 
| 420 | if (ret) { | 420 | if (ret) { | 
| 421 | dev_info(&pdev->dev, "pci_set_dma_mask unit %u " | 421 | /* | 
| 422 | "fails: %d\n", dd->ipath_unit, ret); | 422 | * if the 64 bit setup fails, try 32 bit. Some systems | 
| 423 | goto bail_regions; | 423 | * do not setup 64 bit maps on systems with 2GB or less | 
| 424 | * memory installed. | ||
| 425 | */ | ||
| 426 | ret = pci_set_dma_mask(pdev, DMA_32BIT_MASK); | ||
| 427 | if (ret) { | ||
| 428 | dev_info(&pdev->dev, "pci_set_dma_mask unit %u " | ||
| 429 | "fails: %d\n", dd->ipath_unit, ret); | ||
| 430 | goto bail_regions; | ||
| 431 | } | ||
| 432 | else | ||
| 433 | ipath_dbg("No 64bit DMA mask, used 32 bit mask\n"); | ||
| 424 | } | 434 | } | 
| 425 | 435 | ||
| 426 | pci_set_master(pdev); | 436 | pci_set_master(pdev); | 
| @@ -1949,7 +1959,7 @@ int ipath_reset_device(int unit) | |||
| 1949 | } | 1959 | } | 
| 1950 | 1960 | ||
| 1951 | if (dd->ipath_pd) | 1961 | if (dd->ipath_pd) | 
| 1952 | for (i = 1; i < dd->ipath_portcnt; i++) { | 1962 | for (i = 1; i < dd->ipath_cfgports; i++) { | 
| 1953 | if (dd->ipath_pd[i] && dd->ipath_pd[i]->port_cnt) { | 1963 | if (dd->ipath_pd[i] && dd->ipath_pd[i]->port_cnt) { | 
| 1954 | ipath_dbg("unit %u port %d is in use " | 1964 | ipath_dbg("unit %u port %d is in use " | 
| 1955 | "(PID %u cmd %s), can't reset\n", | 1965 | "(PID %u cmd %s), can't reset\n", | 
diff --git a/drivers/infiniband/hw/ipath/ipath_init_chip.c b/drivers/infiniband/hw/ipath/ipath_init_chip.c index 2823ff9c0c62..16f640e1c16e 100644 --- a/drivers/infiniband/hw/ipath/ipath_init_chip.c +++ b/drivers/infiniband/hw/ipath/ipath_init_chip.c  | |||
| @@ -53,13 +53,19 @@ MODULE_PARM_DESC(cfgports, "Set max number of ports to use"); | |||
| 53 | 53 | ||
| 54 | /* | 54 | /* | 
| 55 | * Number of buffers reserved for driver (layered drivers and SMA | 55 | * Number of buffers reserved for driver (layered drivers and SMA | 
| 56 | * send). Reserved at end of buffer list. | 56 | * send). Reserved at end of buffer list. Initialized based on | 
| 57 | * number of PIO buffers if not set via module interface. | ||
| 58 | * The problem with this is that it's global, but we'll use different | ||
| 59 | * numbers for different chip types. So the default value is not | ||
| 60 | * very useful. I've redefined it for the 1.3 release so that it's | ||
| 61 | * zero unless set by the user to something else, in which case we | ||
| 62 | * try to respect it. | ||
| 57 | */ | 63 | */ | 
| 58 | static ushort ipath_kpiobufs = 32; | 64 | static ushort ipath_kpiobufs; | 
| 59 | 65 | ||
| 60 | static int ipath_set_kpiobufs(const char *val, struct kernel_param *kp); | 66 | static int ipath_set_kpiobufs(const char *val, struct kernel_param *kp); | 
| 61 | 67 | ||
| 62 | module_param_call(kpiobufs, ipath_set_kpiobufs, param_get_uint, | 68 | module_param_call(kpiobufs, ipath_set_kpiobufs, param_get_ushort, | 
| 63 | &ipath_kpiobufs, S_IWUSR | S_IRUGO); | 69 | &ipath_kpiobufs, S_IWUSR | S_IRUGO); | 
| 64 | MODULE_PARM_DESC(kpiobufs, "Set number of PIO buffers for driver"); | 70 | MODULE_PARM_DESC(kpiobufs, "Set number of PIO buffers for driver"); | 
| 65 | 71 | ||
| @@ -531,8 +537,11 @@ static int init_housekeeping(struct ipath_devdata *dd, | |||
| 531 | * Don't clear ipath_flags as 8bit mode was set before | 537 | * Don't clear ipath_flags as 8bit mode was set before | 
| 532 | * entering this func. However, we do set the linkstate to | 538 | * entering this func. However, we do set the linkstate to | 
| 533 | * unknown, so we can watch for a transition. | 539 | * unknown, so we can watch for a transition. | 
| 540 | * PRESENT is set because we want register reads to work, | ||
| 541 | * and the kernel infrastructure saw it in config space; | ||
| 542 | * We clear it if we have failures. | ||
| 534 | */ | 543 | */ | 
| 535 | dd->ipath_flags |= IPATH_LINKUNK; | 544 | dd->ipath_flags |= IPATH_LINKUNK | IPATH_PRESENT; | 
| 536 | dd->ipath_flags &= ~(IPATH_LINKACTIVE | IPATH_LINKARMED | | 545 | dd->ipath_flags &= ~(IPATH_LINKACTIVE | IPATH_LINKARMED | | 
| 537 | IPATH_LINKDOWN | IPATH_LINKINIT); | 546 | IPATH_LINKDOWN | IPATH_LINKINIT); | 
| 538 | 547 | ||
| @@ -560,6 +569,7 @@ static int init_housekeeping(struct ipath_devdata *dd, | |||
| 560 | || (dd->ipath_uregbase & 0xffffffff) == 0xffffffff) { | 569 | || (dd->ipath_uregbase & 0xffffffff) == 0xffffffff) { | 
| 561 | ipath_dev_err(dd, "Register read failures from chip, " | 570 | ipath_dev_err(dd, "Register read failures from chip, " | 
| 562 | "giving up initialization\n"); | 571 | "giving up initialization\n"); | 
| 572 | dd->ipath_flags &= ~IPATH_PRESENT; | ||
| 563 | ret = -ENODEV; | 573 | ret = -ENODEV; | 
| 564 | goto done; | 574 | goto done; | 
| 565 | } | 575 | } | 
| @@ -682,16 +692,14 @@ int ipath_init_chip(struct ipath_devdata *dd, int reinit) | |||
| 682 | */ | 692 | */ | 
| 683 | dd->ipath_pioavregs = ALIGN(val, sizeof(u64) * BITS_PER_BYTE / 2) | 693 | dd->ipath_pioavregs = ALIGN(val, sizeof(u64) * BITS_PER_BYTE / 2) | 
| 684 | / (sizeof(u64) * BITS_PER_BYTE / 2); | 694 | / (sizeof(u64) * BITS_PER_BYTE / 2); | 
| 685 | if (!ipath_kpiobufs) /* have to have at least 1, for SMA */ | 695 | if (ipath_kpiobufs == 0) { | 
| 686 | kpiobufs = ipath_kpiobufs = 1; | 696 | /* not set by user, or set explictly to default */ | 
| 687 | else if ((dd->ipath_piobcnt2k + dd->ipath_piobcnt4k) < | 697 | if ((dd->ipath_piobcnt2k + dd->ipath_piobcnt4k) > 128) | 
| 688 | (dd->ipath_cfgports * IPATH_MIN_USER_PORT_BUFCNT)) { | 698 | kpiobufs = 32; | 
| 689 | dev_info(&dd->pcidev->dev, "Too few PIO buffers (%u) " | 699 | else | 
| 690 | "for %u ports to have %u each!\n", | 700 | kpiobufs = 16; | 
| 691 | dd->ipath_piobcnt2k + dd->ipath_piobcnt4k, | 701 | } | 
| 692 | dd->ipath_cfgports, IPATH_MIN_USER_PORT_BUFCNT); | 702 | else | 
| 693 | kpiobufs = 1; /* reserve just the minimum for SMA/ether */ | ||
| 694 | } else | ||
| 695 | kpiobufs = ipath_kpiobufs; | 703 | kpiobufs = ipath_kpiobufs; | 
| 696 | 704 | ||
| 697 | if (kpiobufs > | 705 | if (kpiobufs > | 
diff --git a/drivers/infiniband/hw/ipath/ipath_intr.c b/drivers/infiniband/hw/ipath/ipath_intr.c index 0bcb428041f3..3e72a1fe3d73 100644 --- a/drivers/infiniband/hw/ipath/ipath_intr.c +++ b/drivers/infiniband/hw/ipath/ipath_intr.c  | |||
| @@ -665,14 +665,14 @@ static void handle_layer_pioavail(struct ipath_devdata *dd) | |||
| 665 | 665 | ||
| 666 | ret = __ipath_layer_intr(dd, IPATH_LAYER_INT_SEND_CONTINUE); | 666 | ret = __ipath_layer_intr(dd, IPATH_LAYER_INT_SEND_CONTINUE); | 
| 667 | if (ret > 0) | 667 | if (ret > 0) | 
| 668 | goto clear; | 668 | goto set; | 
| 669 | 669 | ||
| 670 | ret = __ipath_verbs_piobufavail(dd); | 670 | ret = __ipath_verbs_piobufavail(dd); | 
| 671 | if (ret > 0) | 671 | if (ret > 0) | 
| 672 | goto clear; | 672 | goto set; | 
| 673 | 673 | ||
| 674 | return; | 674 | return; | 
| 675 | clear: | 675 | set: | 
| 676 | set_bit(IPATH_S_PIOINTBUFAVAIL, &dd->ipath_sendctrl); | 676 | set_bit(IPATH_S_PIOINTBUFAVAIL, &dd->ipath_sendctrl); | 
| 677 | ipath_write_kreg(dd, dd->ipath_kregs->kr_sendctrl, | 677 | ipath_write_kreg(dd, dd->ipath_kregs->kr_sendctrl, | 
| 678 | dd->ipath_sendctrl); | 678 | dd->ipath_sendctrl); | 
| @@ -719,11 +719,24 @@ static void handle_rcv(struct ipath_devdata *dd, u32 istat) | |||
| 719 | irqreturn_t ipath_intr(int irq, void *data, struct pt_regs *regs) | 719 | irqreturn_t ipath_intr(int irq, void *data, struct pt_regs *regs) | 
| 720 | { | 720 | { | 
| 721 | struct ipath_devdata *dd = data; | 721 | struct ipath_devdata *dd = data; | 
| 722 | u32 istat = ipath_read_kreg32(dd, dd->ipath_kregs->kr_intstatus); | 722 | u32 istat; | 
| 723 | ipath_err_t estat = 0; | 723 | ipath_err_t estat = 0; | 
| 724 | static unsigned unexpected = 0; | 724 | static unsigned unexpected = 0; | 
| 725 | irqreturn_t ret; | 725 | irqreturn_t ret; | 
| 726 | 726 | ||
| 727 | if(!(dd->ipath_flags & IPATH_PRESENT)) { | ||
| 728 | /* this is mostly so we don't try to touch the chip while | ||
| 729 | * it is being reset */ | ||
| 730 | /* | ||
| 731 | * This return value is perhaps odd, but we do not want the | ||
| 732 | * interrupt core code to remove our interrupt handler | ||
| 733 | * because we don't appear to be handling an interrupt | ||
| 734 | * during a chip reset. | ||
| 735 | */ | ||
| 736 | return IRQ_HANDLED; | ||
| 737 | } | ||
| 738 | |||
| 739 | istat = ipath_read_kreg32(dd, dd->ipath_kregs->kr_intstatus); | ||
| 727 | if (unlikely(!istat)) { | 740 | if (unlikely(!istat)) { | 
| 728 | ipath_stats.sps_nullintr++; | 741 | ipath_stats.sps_nullintr++; | 
| 729 | ret = IRQ_NONE; /* not our interrupt, or already handled */ | 742 | ret = IRQ_NONE; /* not our interrupt, or already handled */ | 
diff --git a/drivers/infiniband/hw/ipath/ipath_kernel.h b/drivers/infiniband/hw/ipath/ipath_kernel.h index 0ce5f19c9d62..e6507f8115bc 100644 --- a/drivers/infiniband/hw/ipath/ipath_kernel.h +++ b/drivers/infiniband/hw/ipath/ipath_kernel.h  | |||
| @@ -731,7 +731,7 @@ u64 ipath_read_kreg64_port(const struct ipath_devdata *, ipath_kreg, | |||
| 731 | static inline u32 ipath_read_ureg32(const struct ipath_devdata *dd, | 731 | static inline u32 ipath_read_ureg32(const struct ipath_devdata *dd, | 
| 732 | ipath_ureg regno, int port) | 732 | ipath_ureg regno, int port) | 
| 733 | { | 733 | { | 
| 734 | if (!dd->ipath_kregbase) | 734 | if (!dd->ipath_kregbase || !(dd->ipath_flags & IPATH_PRESENT)) | 
| 735 | return 0; | 735 | return 0; | 
| 736 | 736 | ||
| 737 | return readl(regno + (u64 __iomem *) | 737 | return readl(regno + (u64 __iomem *) | 
| @@ -762,7 +762,7 @@ static inline void ipath_write_ureg(const struct ipath_devdata *dd, | |||
| 762 | static inline u32 ipath_read_kreg32(const struct ipath_devdata *dd, | 762 | static inline u32 ipath_read_kreg32(const struct ipath_devdata *dd, | 
| 763 | ipath_kreg regno) | 763 | ipath_kreg regno) | 
| 764 | { | 764 | { | 
| 765 | if (!dd->ipath_kregbase) | 765 | if (!dd->ipath_kregbase || !(dd->ipath_flags & IPATH_PRESENT)) | 
| 766 | return -1; | 766 | return -1; | 
| 767 | return readl((u32 __iomem *) & dd->ipath_kregbase[regno]); | 767 | return readl((u32 __iomem *) & dd->ipath_kregbase[regno]); | 
| 768 | } | 768 | } | 
| @@ -770,7 +770,7 @@ static inline u32 ipath_read_kreg32(const struct ipath_devdata *dd, | |||
| 770 | static inline u64 ipath_read_kreg64(const struct ipath_devdata *dd, | 770 | static inline u64 ipath_read_kreg64(const struct ipath_devdata *dd, | 
| 771 | ipath_kreg regno) | 771 | ipath_kreg regno) | 
| 772 | { | 772 | { | 
| 773 | if (!dd->ipath_kregbase) | 773 | if (!dd->ipath_kregbase || !(dd->ipath_flags & IPATH_PRESENT)) | 
| 774 | return -1; | 774 | return -1; | 
| 775 | 775 | ||
| 776 | return readq(&dd->ipath_kregbase[regno]); | 776 | return readq(&dd->ipath_kregbase[regno]); | 
| @@ -786,7 +786,7 @@ static inline void ipath_write_kreg(const struct ipath_devdata *dd, | |||
| 786 | static inline u64 ipath_read_creg(const struct ipath_devdata *dd, | 786 | static inline u64 ipath_read_creg(const struct ipath_devdata *dd, | 
| 787 | ipath_sreg regno) | 787 | ipath_sreg regno) | 
| 788 | { | 788 | { | 
| 789 | if (!dd->ipath_kregbase) | 789 | if (!dd->ipath_kregbase || !(dd->ipath_flags & IPATH_PRESENT)) | 
| 790 | return 0; | 790 | return 0; | 
| 791 | 791 | ||
| 792 | return readq(regno + (u64 __iomem *) | 792 | return readq(regno + (u64 __iomem *) | 
| @@ -797,7 +797,7 @@ static inline u64 ipath_read_creg(const struct ipath_devdata *dd, | |||
| 797 | static inline u32 ipath_read_creg32(const struct ipath_devdata *dd, | 797 | static inline u32 ipath_read_creg32(const struct ipath_devdata *dd, | 
| 798 | ipath_sreg regno) | 798 | ipath_sreg regno) | 
| 799 | { | 799 | { | 
| 800 | if (!dd->ipath_kregbase) | 800 | if (!dd->ipath_kregbase || !(dd->ipath_flags & IPATH_PRESENT)) | 
| 801 | return 0; | 801 | return 0; | 
| 802 | return readl(regno + (u64 __iomem *) | 802 | return readl(regno + (u64 __iomem *) | 
| 803 | (dd->ipath_cregbase + | 803 | (dd->ipath_cregbase + | 
diff --git a/drivers/infiniband/hw/ipath/ipath_layer.c b/drivers/infiniband/hw/ipath/ipath_layer.c index 69ed1100701a..9cb5258ffed9 100644 --- a/drivers/infiniband/hw/ipath/ipath_layer.c +++ b/drivers/infiniband/hw/ipath/ipath_layer.c  | |||
| @@ -46,13 +46,15 @@ | |||
| 46 | /* Acquire before ipath_devs_lock. */ | 46 | /* Acquire before ipath_devs_lock. */ | 
| 47 | static DEFINE_MUTEX(ipath_layer_mutex); | 47 | static DEFINE_MUTEX(ipath_layer_mutex); | 
| 48 | 48 | ||
| 49 | static int ipath_verbs_registered; | ||
| 50 | |||
| 49 | u16 ipath_layer_rcv_opcode; | 51 | u16 ipath_layer_rcv_opcode; | 
| 52 | |||
| 50 | static int (*layer_intr)(void *, u32); | 53 | static int (*layer_intr)(void *, u32); | 
| 51 | static int (*layer_rcv)(void *, void *, struct sk_buff *); | 54 | static int (*layer_rcv)(void *, void *, struct sk_buff *); | 
| 52 | static int (*layer_rcv_lid)(void *, void *); | 55 | static int (*layer_rcv_lid)(void *, void *); | 
| 53 | static int (*verbs_piobufavail)(void *); | 56 | static int (*verbs_piobufavail)(void *); | 
| 54 | static void (*verbs_rcv)(void *, void *, void *, u32); | 57 | static void (*verbs_rcv)(void *, void *, void *, u32); | 
| 55 | static int ipath_verbs_registered; | ||
| 56 | 58 | ||
| 57 | static void *(*layer_add_one)(int, struct ipath_devdata *); | 59 | static void *(*layer_add_one)(int, struct ipath_devdata *); | 
| 58 | static void (*layer_remove_one)(void *); | 60 | static void (*layer_remove_one)(void *); | 
| @@ -586,6 +588,8 @@ void ipath_verbs_unregister(void) | |||
| 586 | verbs_rcv = NULL; | 588 | verbs_rcv = NULL; | 
| 587 | verbs_timer_cb = NULL; | 589 | verbs_timer_cb = NULL; | 
| 588 | 590 | ||
| 591 | ipath_verbs_registered = 0; | ||
| 592 | |||
| 589 | mutex_unlock(&ipath_layer_mutex); | 593 | mutex_unlock(&ipath_layer_mutex); | 
| 590 | } | 594 | } | 
| 591 | 595 | ||
diff --git a/drivers/infiniband/hw/ipath/ipath_pe800.c b/drivers/infiniband/hw/ipath/ipath_pe800.c index e1dc4f757062..6318067ab5ec 100644 --- a/drivers/infiniband/hw/ipath/ipath_pe800.c +++ b/drivers/infiniband/hw/ipath/ipath_pe800.c  | |||
| @@ -972,6 +972,8 @@ static int ipath_setup_pe_reset(struct ipath_devdata *dd) | |||
| 972 | /* Use ERROR so it shows up in logs, etc. */ | 972 | /* Use ERROR so it shows up in logs, etc. */ | 
| 973 | ipath_dev_err(dd, "Resetting PE-800 unit %u\n", | 973 | ipath_dev_err(dd, "Resetting PE-800 unit %u\n", | 
| 974 | dd->ipath_unit); | 974 | dd->ipath_unit); | 
| 975 | /* keep chip from being accessed in a few places */ | ||
| 976 | dd->ipath_flags &= ~(IPATH_INITTED|IPATH_PRESENT); | ||
| 975 | val = dd->ipath_control | INFINIPATH_C_RESET; | 977 | val = dd->ipath_control | INFINIPATH_C_RESET; | 
| 976 | ipath_write_kreg(dd, dd->ipath_kregs->kr_control, val); | 978 | ipath_write_kreg(dd, dd->ipath_kregs->kr_control, val); | 
| 977 | mb(); | 979 | mb(); | 
| @@ -997,6 +999,8 @@ static int ipath_setup_pe_reset(struct ipath_devdata *dd) | |||
| 997 | if ((r = pci_enable_device(dd->pcidev))) | 999 | if ((r = pci_enable_device(dd->pcidev))) | 
| 998 | ipath_dev_err(dd, "pci_enable_device failed after " | 1000 | ipath_dev_err(dd, "pci_enable_device failed after " | 
| 999 | "reset: %d\n", r); | 1001 | "reset: %d\n", r); | 
| 1002 | /* whether it worked or not, mark as present, again */ | ||
| 1003 | dd->ipath_flags |= IPATH_PRESENT; | ||
| 1000 | val = ipath_read_kreg64(dd, dd->ipath_kregs->kr_revision); | 1004 | val = ipath_read_kreg64(dd, dd->ipath_kregs->kr_revision); | 
| 1001 | if (val == dd->ipath_revision) { | 1005 | if (val == dd->ipath_revision) { | 
| 1002 | ipath_cdbg(VERBOSE, "Got matching revision " | 1006 | ipath_cdbg(VERBOSE, "Got matching revision " | 
diff --git a/drivers/infiniband/hw/ipath/ipath_registers.h b/drivers/infiniband/hw/ipath/ipath_registers.h index 1e59750c5f63..402126eb79c9 100644 --- a/drivers/infiniband/hw/ipath/ipath_registers.h +++ b/drivers/infiniband/hw/ipath/ipath_registers.h  | |||
| @@ -34,8 +34,9 @@ | |||
| 34 | #define _IPATH_REGISTERS_H | 34 | #define _IPATH_REGISTERS_H | 
| 35 | 35 | ||
| 36 | /* | 36 | /* | 
| 37 | * This file should only be included by kernel source, and by the diags. | 37 | * This file should only be included by kernel source, and by the diags. It | 
| 38 | * It defines the registers, and their contents, for the InfiniPath HT-400 chip | 38 | * defines the registers, and their contents, for the InfiniPath HT-400 | 
| 39 | * chip. | ||
| 39 | */ | 40 | */ | 
| 40 | 41 | ||
| 41 | /* | 42 | /* | 
| @@ -156,8 +157,10 @@ | |||
| 156 | #define INFINIPATH_IBCC_FLOWCTRLWATERMARK_SHIFT 8 | 157 | #define INFINIPATH_IBCC_FLOWCTRLWATERMARK_SHIFT 8 | 
| 157 | #define INFINIPATH_IBCC_LINKINITCMD_MASK 0x3ULL | 158 | #define INFINIPATH_IBCC_LINKINITCMD_MASK 0x3ULL | 
| 158 | #define INFINIPATH_IBCC_LINKINITCMD_DISABLE 1 | 159 | #define INFINIPATH_IBCC_LINKINITCMD_DISABLE 1 | 
| 159 | #define INFINIPATH_IBCC_LINKINITCMD_POLL 2 /* cycle through TS1/TS2 till OK */ | 160 | /* cycle through TS1/TS2 till OK */ | 
| 160 | #define INFINIPATH_IBCC_LINKINITCMD_SLEEP 3 /* wait for TS1, then go on */ | 161 | #define INFINIPATH_IBCC_LINKINITCMD_POLL 2 | 
| 162 | /* wait for TS1, then go on */ | ||
| 163 | #define INFINIPATH_IBCC_LINKINITCMD_SLEEP 3 | ||
| 161 | #define INFINIPATH_IBCC_LINKINITCMD_SHIFT 16 | 164 | #define INFINIPATH_IBCC_LINKINITCMD_SHIFT 16 | 
| 162 | #define INFINIPATH_IBCC_LINKCMD_MASK 0x3ULL | 165 | #define INFINIPATH_IBCC_LINKCMD_MASK 0x3ULL | 
| 163 | #define INFINIPATH_IBCC_LINKCMD_INIT 1 /* move to 0x11 */ | 166 | #define INFINIPATH_IBCC_LINKCMD_INIT 1 /* move to 0x11 */ | 
| @@ -182,7 +185,8 @@ | |||
| 182 | #define INFINIPATH_IBCS_LINKSTATE_SHIFT 4 | 185 | #define INFINIPATH_IBCS_LINKSTATE_SHIFT 4 | 
| 183 | #define INFINIPATH_IBCS_TXREADY 0x40000000 | 186 | #define INFINIPATH_IBCS_TXREADY 0x40000000 | 
| 184 | #define INFINIPATH_IBCS_TXCREDITOK 0x80000000 | 187 | #define INFINIPATH_IBCS_TXCREDITOK 0x80000000 | 
| 185 | /* link training states (shift by INFINIPATH_IBCS_LINKTRAININGSTATE_SHIFT) */ | 188 | /* link training states (shift by | 
| 189 | INFINIPATH_IBCS_LINKTRAININGSTATE_SHIFT) */ | ||
| 186 | #define INFINIPATH_IBCS_LT_STATE_DISABLED 0x00 | 190 | #define INFINIPATH_IBCS_LT_STATE_DISABLED 0x00 | 
| 187 | #define INFINIPATH_IBCS_LT_STATE_LINKUP 0x01 | 191 | #define INFINIPATH_IBCS_LT_STATE_LINKUP 0x01 | 
| 188 | #define INFINIPATH_IBCS_LT_STATE_POLLACTIVE 0x02 | 192 | #define INFINIPATH_IBCS_LT_STATE_POLLACTIVE 0x02 | 
| @@ -267,10 +271,12 @@ | |||
| 267 | /* kr_serdesconfig0 bits */ | 271 | /* kr_serdesconfig0 bits */ | 
| 268 | #define INFINIPATH_SERDC0_RESET_MASK 0xfULL /* overal reset bits */ | 272 | #define INFINIPATH_SERDC0_RESET_MASK 0xfULL /* overal reset bits */ | 
| 269 | #define INFINIPATH_SERDC0_RESET_PLL 0x10000000ULL /* pll reset */ | 273 | #define INFINIPATH_SERDC0_RESET_PLL 0x10000000ULL /* pll reset */ | 
| 270 | #define INFINIPATH_SERDC0_TXIDLE 0xF000ULL /* tx idle enables (per lane) */ | 274 | /* tx idle enables (per lane) */ | 
| 271 | #define INFINIPATH_SERDC0_RXDETECT_EN 0xF0000ULL /* rx detect enables (per lane) */ | 275 | #define INFINIPATH_SERDC0_TXIDLE 0xF000ULL | 
| 272 | #define INFINIPATH_SERDC0_L1PWR_DN 0xF0ULL /* L1 Power down; use with RXDETECT, | 276 | /* rx detect enables (per lane) */ | 
| 273 | Otherwise not used on IB side */ | 277 | #define INFINIPATH_SERDC0_RXDETECT_EN 0xF0000ULL | 
| 278 | /* L1 Power down; use with RXDETECT, Otherwise not used on IB side */ | ||
| 279 | #define INFINIPATH_SERDC0_L1PWR_DN 0xF0ULL | ||
| 274 | 280 | ||
| 275 | /* kr_xgxsconfig bits */ | 281 | /* kr_xgxsconfig bits */ | 
| 276 | #define INFINIPATH_XGXS_RESET 0x7ULL | 282 | #define INFINIPATH_XGXS_RESET 0x7ULL | 
| @@ -390,12 +396,13 @@ struct ipath_kregs { | |||
| 390 | ipath_kreg kr_txintmemsize; | 396 | ipath_kreg kr_txintmemsize; | 
| 391 | ipath_kreg kr_xgxsconfig; | 397 | ipath_kreg kr_xgxsconfig; | 
| 392 | ipath_kreg kr_ibpllcfg; | 398 | ipath_kreg kr_ibpllcfg; | 
| 393 | /* use these two (and the following N ports) only with ipath_k*_kreg64_port(); | 399 | /* use these two (and the following N ports) only with | 
| 394 | * not *kreg64() */ | 400 | * ipath_k*_kreg64_port(); not *kreg64() */ | 
| 395 | ipath_kreg kr_rcvhdraddr; | 401 | ipath_kreg kr_rcvhdraddr; | 
| 396 | ipath_kreg kr_rcvhdrtailaddr; | 402 | ipath_kreg kr_rcvhdrtailaddr; | 
| 397 | 403 | ||
| 398 | /* remaining registers are not present on all types of infinipath chips */ | 404 | /* remaining registers are not present on all types of infinipath | 
| 405 | chips */ | ||
| 399 | ipath_kreg kr_rcvpktledcnt; | 406 | ipath_kreg kr_rcvpktledcnt; | 
| 400 | ipath_kreg kr_pcierbuftestreg0; | 407 | ipath_kreg kr_pcierbuftestreg0; | 
| 401 | ipath_kreg kr_pcierbuftestreg1; | 408 | ipath_kreg kr_pcierbuftestreg1; | 
diff --git a/drivers/infiniband/hw/ipath/ipath_ruc.c b/drivers/infiniband/hw/ipath/ipath_ruc.c index f232e77b78ee..eb81424b3c5b 100644 --- a/drivers/infiniband/hw/ipath/ipath_ruc.c +++ b/drivers/infiniband/hw/ipath/ipath_ruc.c  | |||
| @@ -531,19 +531,12 @@ int ipath_post_rc_send(struct ipath_qp *qp, struct ib_send_wr *wr) | |||
| 531 | } | 531 | } | 
| 532 | wqe->wr.num_sge = j; | 532 | wqe->wr.num_sge = j; | 
| 533 | qp->s_head = next; | 533 | qp->s_head = next; | 
| 534 | /* | ||
| 535 | * Wake up the send tasklet if the QP is not waiting | ||
| 536 | * for an RNR timeout. | ||
| 537 | */ | ||
| 538 | next = qp->s_rnr_timeout; | ||
| 539 | spin_unlock_irqrestore(&qp->s_lock, flags); | 534 | spin_unlock_irqrestore(&qp->s_lock, flags); | 
| 540 | 535 | ||
| 541 | if (next == 0) { | 536 | if (qp->ibqp.qp_type == IB_QPT_UC) | 
| 542 | if (qp->ibqp.qp_type == IB_QPT_UC) | 537 | ipath_do_uc_send((unsigned long) qp); | 
| 543 | ipath_do_uc_send((unsigned long) qp); | 538 | else | 
| 544 | else | 539 | ipath_do_rc_send((unsigned long) qp); | 
| 545 | ipath_do_rc_send((unsigned long) qp); | ||
| 546 | } | ||
| 547 | 540 | ||
| 548 | ret = 0; | 541 | ret = 0; | 
| 549 | 542 | ||
diff --git a/drivers/infiniband/hw/ipath/ipath_sysfs.c b/drivers/infiniband/hw/ipath/ipath_sysfs.c index 32acd8048b49..f323791cc495 100644 --- a/drivers/infiniband/hw/ipath/ipath_sysfs.c +++ b/drivers/infiniband/hw/ipath/ipath_sysfs.c  | |||
| @@ -711,10 +711,22 @@ static struct attribute_group dev_attr_group = { | |||
| 711 | * enters diag mode. A device reset is quite likely to crash the | 711 | * enters diag mode. A device reset is quite likely to crash the | 
| 712 | * machine entirely, so we don't want to normally make it | 712 | * machine entirely, so we don't want to normally make it | 
| 713 | * available. | 713 | * available. | 
| 714 | * | ||
| 715 | * Called with ipath_mutex held. | ||
| 714 | */ | 716 | */ | 
| 715 | int ipath_expose_reset(struct device *dev) | 717 | int ipath_expose_reset(struct device *dev) | 
| 716 | { | 718 | { | 
| 717 | return device_create_file(dev, &dev_attr_reset); | 719 | static int exposed; | 
| 720 | int ret; | ||
| 721 | |||
| 722 | if (!exposed) { | ||
| 723 | ret = device_create_file(dev, &dev_attr_reset); | ||
| 724 | exposed = 1; | ||
| 725 | } | ||
| 726 | else | ||
| 727 | ret = 0; | ||
| 728 | |||
| 729 | return ret; | ||
| 718 | } | 730 | } | 
| 719 | 731 | ||
| 720 | int ipath_driver_create_group(struct device_driver *drv) | 732 | int ipath_driver_create_group(struct device_driver *drv) | 
diff --git a/drivers/infiniband/hw/ipath/ipath_ud.c b/drivers/infiniband/hw/ipath/ipath_ud.c index 01cfb30ee160..e606daf83210 100644 --- a/drivers/infiniband/hw/ipath/ipath_ud.c +++ b/drivers/infiniband/hw/ipath/ipath_ud.c  | |||
| @@ -46,8 +46,10 @@ | |||
| 46 | * This is called from ipath_post_ud_send() to forward a WQE addressed | 46 | * This is called from ipath_post_ud_send() to forward a WQE addressed | 
| 47 | * to the same HCA. | 47 | * to the same HCA. | 
| 48 | */ | 48 | */ | 
| 49 | static void ipath_ud_loopback(struct ipath_qp *sqp, struct ipath_sge_state *ss, | 49 | static void ipath_ud_loopback(struct ipath_qp *sqp, | 
| 50 | u32 length, struct ib_send_wr *wr, struct ib_wc *wc) | 50 | struct ipath_sge_state *ss, | 
| 51 | u32 length, struct ib_send_wr *wr, | ||
| 52 | struct ib_wc *wc) | ||
| 51 | { | 53 | { | 
| 52 | struct ipath_ibdev *dev = to_idev(sqp->ibqp.device); | 54 | struct ipath_ibdev *dev = to_idev(sqp->ibqp.device); | 
| 53 | struct ipath_qp *qp; | 55 | struct ipath_qp *qp; | 
diff --git a/drivers/infiniband/hw/ipath/ipath_verbs.c b/drivers/infiniband/hw/ipath/ipath_verbs.c index 8d2558a01f35..cb9e387c301f 100644 --- a/drivers/infiniband/hw/ipath/ipath_verbs.c +++ b/drivers/infiniband/hw/ipath/ipath_verbs.c  | |||
| @@ -449,7 +449,6 @@ static void ipath_ib_timer(void *arg) | |||
| 449 | { | 449 | { | 
| 450 | struct ipath_ibdev *dev = (struct ipath_ibdev *) arg; | 450 | struct ipath_ibdev *dev = (struct ipath_ibdev *) arg; | 
| 451 | struct ipath_qp *resend = NULL; | 451 | struct ipath_qp *resend = NULL; | 
| 452 | struct ipath_qp *rnr = NULL; | ||
| 453 | struct list_head *last; | 452 | struct list_head *last; | 
| 454 | struct ipath_qp *qp; | 453 | struct ipath_qp *qp; | 
| 455 | unsigned long flags; | 454 | unsigned long flags; | 
| @@ -465,32 +464,18 @@ static void ipath_ib_timer(void *arg) | |||
| 465 | last = &dev->pending[dev->pending_index]; | 464 | last = &dev->pending[dev->pending_index]; | 
| 466 | while (!list_empty(last)) { | 465 | while (!list_empty(last)) { | 
| 467 | qp = list_entry(last->next, struct ipath_qp, timerwait); | 466 | qp = list_entry(last->next, struct ipath_qp, timerwait); | 
| 468 | if (last->next == LIST_POISON1 || | 467 | list_del(&qp->timerwait); | 
| 469 | last->next != &qp->timerwait || | 468 | qp->timer_next = resend; | 
| 470 | qp->timerwait.prev != last) { | 469 | resend = qp; | 
| 471 | INIT_LIST_HEAD(last); | 470 | atomic_inc(&qp->refcount); | 
| 472 | } else { | ||
| 473 | list_del(&qp->timerwait); | ||
| 474 | qp->timerwait.prev = (struct list_head *) resend; | ||
| 475 | resend = qp; | ||
| 476 | atomic_inc(&qp->refcount); | ||
| 477 | } | ||
| 478 | } | 471 | } | 
| 479 | last = &dev->rnrwait; | 472 | last = &dev->rnrwait; | 
| 480 | if (!list_empty(last)) { | 473 | if (!list_empty(last)) { | 
| 481 | qp = list_entry(last->next, struct ipath_qp, timerwait); | 474 | qp = list_entry(last->next, struct ipath_qp, timerwait); | 
| 482 | if (--qp->s_rnr_timeout == 0) { | 475 | if (--qp->s_rnr_timeout == 0) { | 
| 483 | do { | 476 | do { | 
| 484 | if (last->next == LIST_POISON1 || | ||
| 485 | last->next != &qp->timerwait || | ||
| 486 | qp->timerwait.prev != last) { | ||
| 487 | INIT_LIST_HEAD(last); | ||
| 488 | break; | ||
| 489 | } | ||
| 490 | list_del(&qp->timerwait); | 477 | list_del(&qp->timerwait); | 
| 491 | qp->timerwait.prev = | 478 | tasklet_hi_schedule(&qp->s_task); | 
| 492 | (struct list_head *) rnr; | ||
| 493 | rnr = qp; | ||
| 494 | if (list_empty(last)) | 479 | if (list_empty(last)) | 
| 495 | break; | 480 | break; | 
| 496 | qp = list_entry(last->next, struct ipath_qp, | 481 | qp = list_entry(last->next, struct ipath_qp, | 
| @@ -530,8 +515,7 @@ static void ipath_ib_timer(void *arg) | |||
| 530 | spin_unlock_irqrestore(&dev->pending_lock, flags); | 515 | spin_unlock_irqrestore(&dev->pending_lock, flags); | 
| 531 | 516 | ||
| 532 | /* XXX What if timer fires again while this is running? */ | 517 | /* XXX What if timer fires again while this is running? */ | 
| 533 | for (qp = resend; qp != NULL; | 518 | for (qp = resend; qp != NULL; qp = qp->timer_next) { | 
| 534 | qp = (struct ipath_qp *) qp->timerwait.prev) { | ||
| 535 | struct ib_wc wc; | 519 | struct ib_wc wc; | 
| 536 | 520 | ||
| 537 | spin_lock_irqsave(&qp->s_lock, flags); | 521 | spin_lock_irqsave(&qp->s_lock, flags); | 
| @@ -545,9 +529,6 @@ static void ipath_ib_timer(void *arg) | |||
| 545 | if (atomic_dec_and_test(&qp->refcount)) | 529 | if (atomic_dec_and_test(&qp->refcount)) | 
| 546 | wake_up(&qp->wait); | 530 | wake_up(&qp->wait); | 
| 547 | } | 531 | } | 
| 548 | for (qp = rnr; qp != NULL; | ||
| 549 | qp = (struct ipath_qp *) qp->timerwait.prev) | ||
| 550 | tasklet_hi_schedule(&qp->s_task); | ||
| 551 | } | 532 | } | 
| 552 | 533 | ||
| 553 | /** | 534 | /** | 
| @@ -556,9 +537,9 @@ static void ipath_ib_timer(void *arg) | |||
| 556 | * | 537 | * | 
| 557 | * This is called from ipath_intr() at interrupt level when a PIO buffer is | 538 | * This is called from ipath_intr() at interrupt level when a PIO buffer is | 
| 558 | * available after ipath_verbs_send() returned an error that no buffers were | 539 | * available after ipath_verbs_send() returned an error that no buffers were | 
| 559 | * available. Return 0 if we consumed all the PIO buffers and we still have | 540 | * available. Return 1 if we consumed all the PIO buffers and we still have | 
| 560 | * QPs waiting for buffers (for now, just do a tasklet_hi_schedule and | 541 | * QPs waiting for buffers (for now, just do a tasklet_hi_schedule and | 
| 561 | * return one). | 542 | * return zero). | 
| 562 | */ | 543 | */ | 
| 563 | static int ipath_ib_piobufavail(void *arg) | 544 | static int ipath_ib_piobufavail(void *arg) | 
| 564 | { | 545 | { | 
| @@ -579,7 +560,7 @@ static int ipath_ib_piobufavail(void *arg) | |||
| 579 | spin_unlock_irqrestore(&dev->pending_lock, flags); | 560 | spin_unlock_irqrestore(&dev->pending_lock, flags); | 
| 580 | 561 | ||
| 581 | bail: | 562 | bail: | 
| 582 | return 1; | 563 | return 0; | 
| 583 | } | 564 | } | 
| 584 | 565 | ||
| 585 | static int ipath_query_device(struct ib_device *ibdev, | 566 | static int ipath_query_device(struct ib_device *ibdev, | 
| @@ -1159,7 +1140,7 @@ static ssize_t show_stats(struct class_device *cdev, char *buf) | |||
| 1159 | 1140 | ||
| 1160 | len = sprintf(buf, | 1141 | len = sprintf(buf, | 
| 1161 | "RC resends %d\n" | 1142 | "RC resends %d\n" | 
| 1162 | "RC QACKs %d\n" | 1143 | "RC no QACK %d\n" | 
| 1163 | "RC ACKs %d\n" | 1144 | "RC ACKs %d\n" | 
| 1164 | "RC SEQ NAKs %d\n" | 1145 | "RC SEQ NAKs %d\n" | 
| 1165 | "RC RDMA seq %d\n" | 1146 | "RC RDMA seq %d\n" | 
diff --git a/drivers/infiniband/hw/ipath/ipath_verbs.h b/drivers/infiniband/hw/ipath/ipath_verbs.h index fcafbc7c9e71..4f8d59300e9b 100644 --- a/drivers/infiniband/hw/ipath/ipath_verbs.h +++ b/drivers/infiniband/hw/ipath/ipath_verbs.h  | |||
| @@ -282,7 +282,8 @@ struct ipath_srq { | |||
| 282 | */ | 282 | */ | 
| 283 | struct ipath_qp { | 283 | struct ipath_qp { | 
| 284 | struct ib_qp ibqp; | 284 | struct ib_qp ibqp; | 
| 285 | struct ipath_qp *next; /* link list for QPN hash table */ | 285 | struct ipath_qp *next; /* link list for QPN hash table */ | 
| 286 | struct ipath_qp *timer_next; /* link list for ipath_ib_timer() */ | ||
| 286 | struct list_head piowait; /* link for wait PIO buf */ | 287 | struct list_head piowait; /* link for wait PIO buf */ | 
| 287 | struct list_head timerwait; /* link for waiting for timeouts */ | 288 | struct list_head timerwait; /* link for waiting for timeouts */ | 
| 288 | struct ib_ah_attr remote_ah_attr; | 289 | struct ib_ah_attr remote_ah_attr; | 
diff --git a/drivers/infiniband/hw/ipath/ips_common.h b/drivers/infiniband/hw/ipath/ips_common.h index 410a764dfcef..ab7cbbbfd03a 100644 --- a/drivers/infiniband/hw/ipath/ips_common.h +++ b/drivers/infiniband/hw/ipath/ips_common.h  | |||
| @@ -95,7 +95,7 @@ struct ether_header { | |||
| 95 | __u8 seq_num; | 95 | __u8 seq_num; | 
| 96 | __le32 len; | 96 | __le32 len; | 
| 97 | /* MUST be of word size due to PIO write requirements */ | 97 | /* MUST be of word size due to PIO write requirements */ | 
| 98 | __u32 csum; | 98 | __le32 csum; | 
| 99 | __le16 csum_offset; | 99 | __le16 csum_offset; | 
| 100 | __le16 flags; | 100 | __le16 flags; | 
| 101 | __u16 first_2_bytes; | 101 | __u16 first_2_bytes; | 
diff --git a/drivers/infiniband/hw/mthca/mthca_provider.c b/drivers/infiniband/hw/mthca/mthca_provider.c index 565a24b1756f..a2eae8a30167 100644 --- a/drivers/infiniband/hw/mthca/mthca_provider.c +++ b/drivers/infiniband/hw/mthca/mthca_provider.c  | |||
| @@ -306,7 +306,7 @@ static int mthca_query_gid(struct ib_device *ibdev, u8 port, | |||
| 306 | goto out; | 306 | goto out; | 
| 307 | } | 307 | } | 
| 308 | 308 | ||
| 309 | memcpy(gid->raw + 8, out_mad->data + (index % 8) * 16, 8); | 309 | memcpy(gid->raw + 8, out_mad->data + (index % 8) * 8, 8); | 
| 310 | 310 | ||
| 311 | out: | 311 | out: | 
| 312 | kfree(in_mad); | 312 | kfree(in_mad); | 
diff --git a/drivers/input/evdev.c b/drivers/input/evdev.c index a34e3d91d9ed..ba325f16d077 100644 --- a/drivers/input/evdev.c +++ b/drivers/input/evdev.c  | |||
| @@ -403,6 +403,27 @@ static long evdev_ioctl_handler(struct file *file, unsigned int cmd, | |||
| 403 | case EVIOCGID: | 403 | case EVIOCGID: | 
| 404 | if (copy_to_user(p, &dev->id, sizeof(struct input_id))) | 404 | if (copy_to_user(p, &dev->id, sizeof(struct input_id))) | 
| 405 | return -EFAULT; | 405 | return -EFAULT; | 
| 406 | return 0; | ||
| 407 | |||
| 408 | case EVIOCGREP: | ||
| 409 | if (!test_bit(EV_REP, dev->evbit)) | ||
| 410 | return -ENOSYS; | ||
| 411 | if (put_user(dev->rep[REP_DELAY], ip)) | ||
| 412 | return -EFAULT; | ||
| 413 | if (put_user(dev->rep[REP_PERIOD], ip + 1)) | ||
| 414 | return -EFAULT; | ||
| 415 | return 0; | ||
| 416 | |||
| 417 | case EVIOCSREP: | ||
| 418 | if (!test_bit(EV_REP, dev->evbit)) | ||
| 419 | return -ENOSYS; | ||
| 420 | if (get_user(u, ip)) | ||
| 421 | return -EFAULT; | ||
| 422 | if (get_user(v, ip + 1)) | ||
| 423 | return -EFAULT; | ||
| 424 | |||
| 425 | input_event(dev, EV_REP, REP_DELAY, u); | ||
| 426 | input_event(dev, EV_REP, REP_PERIOD, v); | ||
| 406 | 427 | ||
| 407 | return 0; | 428 | return 0; | 
| 408 | 429 | ||
diff --git a/drivers/input/input.c b/drivers/input/input.c index a935abeffffc..3038c268917d 100644 --- a/drivers/input/input.c +++ b/drivers/input/input.c  | |||
| @@ -155,6 +155,9 @@ void input_event(struct input_dev *dev, unsigned int type, unsigned int code, in | |||
| 155 | if (code > SND_MAX || !test_bit(code, dev->sndbit)) | 155 | if (code > SND_MAX || !test_bit(code, dev->sndbit)) | 
| 156 | return; | 156 | return; | 
| 157 | 157 | ||
| 158 | if (!!test_bit(code, dev->snd) != !!value) | ||
| 159 | change_bit(code, dev->snd); | ||
| 160 | |||
| 158 | if (dev->event) dev->event(dev, type, code, value); | 161 | if (dev->event) dev->event(dev, type, code, value); | 
| 159 | 162 | ||
| 160 | break; | 163 | break; | 
| @@ -286,19 +289,19 @@ static struct input_device_id *input_match_device(struct input_device_id *id, st | |||
| 286 | for (; id->flags || id->driver_info; id++) { | 289 | for (; id->flags || id->driver_info; id++) { | 
| 287 | 290 | ||
| 288 | if (id->flags & INPUT_DEVICE_ID_MATCH_BUS) | 291 | if (id->flags & INPUT_DEVICE_ID_MATCH_BUS) | 
| 289 | if (id->id.bustype != dev->id.bustype) | 292 | if (id->bustype != dev->id.bustype) | 
| 290 | continue; | 293 | continue; | 
| 291 | 294 | ||
| 292 | if (id->flags & INPUT_DEVICE_ID_MATCH_VENDOR) | 295 | if (id->flags & INPUT_DEVICE_ID_MATCH_VENDOR) | 
| 293 | if (id->id.vendor != dev->id.vendor) | 296 | if (id->vendor != dev->id.vendor) | 
| 294 | continue; | 297 | continue; | 
| 295 | 298 | ||
| 296 | if (id->flags & INPUT_DEVICE_ID_MATCH_PRODUCT) | 299 | if (id->flags & INPUT_DEVICE_ID_MATCH_PRODUCT) | 
| 297 | if (id->id.product != dev->id.product) | 300 | if (id->product != dev->id.product) | 
| 298 | continue; | 301 | continue; | 
| 299 | 302 | ||
| 300 | if (id->flags & INPUT_DEVICE_ID_MATCH_VERSION) | 303 | if (id->flags & INPUT_DEVICE_ID_MATCH_VERSION) | 
| 301 | if (id->id.version != dev->id.version) | 304 | if (id->version != dev->id.version) | 
| 302 | continue; | 305 | continue; | 
| 303 | 306 | ||
| 304 | MATCH_BIT(evbit, EV_MAX); | 307 | MATCH_BIT(evbit, EV_MAX); | 
diff --git a/drivers/input/keyboard/spitzkbd.c b/drivers/input/keyboard/spitzkbd.c index bc61cf8cfc65..1d238a9d52d6 100644 --- a/drivers/input/keyboard/spitzkbd.c +++ b/drivers/input/keyboard/spitzkbd.c  | |||
| @@ -53,8 +53,8 @@ static unsigned char spitzkbd_keycode[NR_SCANCODES] = { | |||
| 53 | KEY_LEFTCTRL, KEY_1, KEY_3, KEY_5, KEY_6, KEY_7, KEY_9, KEY_0, KEY_BACKSPACE, SPITZ_KEY_EXOK, SPITZ_KEY_EXCANCEL, 0, 0, 0, 0, 0, /* 1-16 */ | 53 | KEY_LEFTCTRL, KEY_1, KEY_3, KEY_5, KEY_6, KEY_7, KEY_9, KEY_0, KEY_BACKSPACE, SPITZ_KEY_EXOK, SPITZ_KEY_EXCANCEL, 0, 0, 0, 0, 0, /* 1-16 */ | 
| 54 | 0, KEY_2, KEY_4, KEY_R, KEY_Y, KEY_8, KEY_I, KEY_O, KEY_P, SPITZ_KEY_EXJOGDOWN, SPITZ_KEY_EXJOGUP, 0, 0, 0, 0, 0, /* 17-32 */ | 54 | 0, KEY_2, KEY_4, KEY_R, KEY_Y, KEY_8, KEY_I, KEY_O, KEY_P, SPITZ_KEY_EXJOGDOWN, SPITZ_KEY_EXJOGUP, 0, 0, 0, 0, 0, /* 17-32 */ | 
| 55 | KEY_TAB, KEY_Q, KEY_E, KEY_T, KEY_G, KEY_U, KEY_J, KEY_K, 0, 0, 0, 0, 0, 0, 0, 0, /* 33-48 */ | 55 | KEY_TAB, KEY_Q, KEY_E, KEY_T, KEY_G, KEY_U, KEY_J, KEY_K, 0, 0, 0, 0, 0, 0, 0, 0, /* 33-48 */ | 
| 56 | SPITZ_KEY_CALENDER, KEY_W, KEY_S, KEY_F, KEY_V, KEY_H, KEY_M, KEY_L, 0, KEY_RIGHTSHIFT, 0, 0, 0, 0, 0, 0, /* 49-64 */ | 56 | SPITZ_KEY_ADDRESS, KEY_W, KEY_S, KEY_F, KEY_V, KEY_H, KEY_M, KEY_L, 0, KEY_RIGHTSHIFT, 0, 0, 0, 0, 0, 0, /* 49-64 */ | 
| 57 | SPITZ_KEY_ADDRESS, KEY_A, KEY_D, KEY_C, KEY_B, KEY_N, KEY_DOT, 0, KEY_ENTER, KEY_LEFTSHIFT, 0, 0, 0, 0, 0, 0, /* 65-80 */ | 57 | SPITZ_KEY_CALENDER, KEY_A, KEY_D, KEY_C, KEY_B, KEY_N, KEY_DOT, 0, KEY_ENTER, KEY_LEFTSHIFT, 0, 0, 0, 0, 0, 0, /* 65-80 */ | 
| 58 | SPITZ_KEY_MAIL, KEY_Z, KEY_X, KEY_MINUS, KEY_SPACE, KEY_COMMA, 0, KEY_UP, 0, 0, SPITZ_KEY_FN, 0, 0, 0, 0, 0, /* 81-96 */ | 58 | SPITZ_KEY_MAIL, KEY_Z, KEY_X, KEY_MINUS, KEY_SPACE, KEY_COMMA, 0, KEY_UP, 0, 0, SPITZ_KEY_FN, 0, 0, 0, 0, 0, /* 81-96 */ | 
| 59 | KEY_SYSRQ, SPITZ_KEY_JAP1, SPITZ_KEY_JAP2, SPITZ_KEY_CANCEL, SPITZ_KEY_OK, SPITZ_KEY_MENU, KEY_LEFT, KEY_DOWN, KEY_RIGHT, 0, 0, 0, 0, 0, 0, 0 /* 97-112 */ | 59 | KEY_SYSRQ, SPITZ_KEY_JAP1, SPITZ_KEY_JAP2, SPITZ_KEY_CANCEL, SPITZ_KEY_OK, SPITZ_KEY_MENU, KEY_LEFT, KEY_DOWN, KEY_RIGHT, 0, 0, 0, 0, 0, 0, 0 /* 97-112 */ | 
| 60 | }; | 60 | }; | 
diff --git a/drivers/input/misc/wistron_btns.c b/drivers/input/misc/wistron_btns.c index 4b415d9b0123..36cd2e07fce8 100644 --- a/drivers/input/misc/wistron_btns.c +++ b/drivers/input/misc/wistron_btns.c  | |||
| @@ -273,6 +273,18 @@ static struct key_entry keymap_fs_amilo_pro_v2000[] = { | |||
| 273 | { KE_END, 0 } | 273 | { KE_END, 0 } | 
| 274 | }; | 274 | }; | 
| 275 | 275 | ||
| 276 | static struct key_entry keymap_fujitsu_n3510[] = { | ||
| 277 | { KE_KEY, 0x11, KEY_PROG1 }, | ||
| 278 | { KE_KEY, 0x12, KEY_PROG2 }, | ||
| 279 | { KE_KEY, 0x36, KEY_WWW }, | ||
| 280 | { KE_KEY, 0x31, KEY_MAIL }, | ||
| 281 | { KE_KEY, 0x71, KEY_STOPCD }, | ||
| 282 | { KE_KEY, 0x72, KEY_PLAYPAUSE }, | ||
| 283 | { KE_KEY, 0x74, KEY_REWIND }, | ||
| 284 | { KE_KEY, 0x78, KEY_FORWARD }, | ||
| 285 | { KE_END, 0 } | ||
| 286 | }; | ||
| 287 | |||
| 276 | static struct key_entry keymap_wistron_ms2141[] = { | 288 | static struct key_entry keymap_wistron_ms2141[] = { | 
| 277 | { KE_KEY, 0x11, KEY_PROG1 }, | 289 | { KE_KEY, 0x11, KEY_PROG1 }, | 
| 278 | { KE_KEY, 0x12, KEY_PROG2 }, | 290 | { KE_KEY, 0x12, KEY_PROG2 }, | 
| @@ -323,6 +335,24 @@ static struct dmi_system_id dmi_ids[] = { | |||
| 323 | }, | 335 | }, | 
| 324 | { | 336 | { | 
| 325 | .callback = dmi_matched, | 337 | .callback = dmi_matched, | 
| 338 | .ident = "Fujitsu-Siemens Amilo M7400", | ||
| 339 | .matches = { | ||
| 340 | DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU SIEMENS"), | ||
| 341 | DMI_MATCH(DMI_PRODUCT_NAME, "AMILO M "), | ||
| 342 | }, | ||
| 343 | .driver_data = keymap_fs_amilo_pro_v2000 | ||
| 344 | }, | ||
| 345 | { | ||
| 346 | .callback = dmi_matched, | ||
| 347 | .ident = "Fujitsu N3510", | ||
| 348 | .matches = { | ||
| 349 | DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"), | ||
| 350 | DMI_MATCH(DMI_PRODUCT_NAME, "N3510"), | ||
| 351 | }, | ||
| 352 | .driver_data = keymap_fujitsu_n3510 | ||
| 353 | }, | ||
| 354 | { | ||
| 355 | .callback = dmi_matched, | ||
| 326 | .ident = "Acer Aspire 1500", | 356 | .ident = "Acer Aspire 1500", | 
| 327 | .matches = { | 357 | .matches = { | 
| 328 | DMI_MATCH(DMI_SYS_VENDOR, "Acer"), | 358 | DMI_MATCH(DMI_SYS_VENDOR, "Acer"), | 
diff --git a/drivers/input/mouse/psmouse-base.c b/drivers/input/mouse/psmouse-base.c index 32d70ed8f41d..136321a2cfdb 100644 --- a/drivers/input/mouse/psmouse-base.c +++ b/drivers/input/mouse/psmouse-base.c  | |||
| @@ -302,8 +302,10 @@ static irqreturn_t psmouse_interrupt(struct serio *serio, | |||
| 302 | * Check if this is a new device announcement (0xAA 0x00) | 302 | * Check if this is a new device announcement (0xAA 0x00) | 
| 303 | */ | 303 | */ | 
| 304 | if (unlikely(psmouse->packet[0] == PSMOUSE_RET_BAT && psmouse->pktcnt <= 2)) { | 304 | if (unlikely(psmouse->packet[0] == PSMOUSE_RET_BAT && psmouse->pktcnt <= 2)) { | 
| 305 | if (psmouse->pktcnt == 1) | 305 | if (psmouse->pktcnt == 1) { | 
| 306 | psmouse->last = jiffies; | ||
| 306 | goto out; | 307 | goto out; | 
| 308 | } | ||
| 307 | 309 | ||
| 308 | if (psmouse->packet[1] == PSMOUSE_RET_ID) { | 310 | if (psmouse->packet[1] == PSMOUSE_RET_ID) { | 
| 309 | __psmouse_set_state(psmouse, PSMOUSE_IGNORE); | 311 | __psmouse_set_state(psmouse, PSMOUSE_IGNORE); | 
diff --git a/drivers/input/serio/i8042-io.h b/drivers/input/serio/i8042-io.h index 9a9221644250..cc21914fbc72 100644 --- a/drivers/input/serio/i8042-io.h +++ b/drivers/input/serio/i8042-io.h  | |||
| @@ -67,14 +67,14 @@ static inline int i8042_platform_init(void) | |||
| 67 | * On some platforms touching the i8042 data register region can do really | 67 | * On some platforms touching the i8042 data register region can do really | 
| 68 | * bad things. Because of this the region is always reserved on such boxes. | 68 | * bad things. Because of this the region is always reserved on such boxes. | 
| 69 | */ | 69 | */ | 
| 70 | #if !defined(__sh__) && !defined(__alpha__) && !defined(__mips__) && !defined(CONFIG_PPC64) | 70 | #if !defined(__sh__) && !defined(__alpha__) && !defined(__mips__) && !defined(CONFIG_PPC_MERGE) | 
| 71 | if (!request_region(I8042_DATA_REG, 16, "i8042")) | 71 | if (!request_region(I8042_DATA_REG, 16, "i8042")) | 
| 72 | return -EBUSY; | 72 | return -EBUSY; | 
| 73 | #endif | 73 | #endif | 
| 74 | 74 | ||
| 75 | i8042_reset = 1; | 75 | i8042_reset = 1; | 
| 76 | 76 | ||
| 77 | #if defined(CONFIG_PPC64) | 77 | #if defined(CONFIG_PPC_MERGE) | 
| 78 | if (check_legacy_ioport(I8042_DATA_REG)) | 78 | if (check_legacy_ioport(I8042_DATA_REG)) | 
| 79 | return -EBUSY; | 79 | return -EBUSY; | 
| 80 | if (!request_region(I8042_DATA_REG, 16, "i8042")) | 80 | if (!request_region(I8042_DATA_REG, 16, "i8042")) | 
diff --git a/drivers/input/touchscreen/ads7846.c b/drivers/input/touchscreen/ads7846.c index 46d1fec2cfd8..1494175ac6fe 100644 --- a/drivers/input/touchscreen/ads7846.c +++ b/drivers/input/touchscreen/ads7846.c  | |||
| @@ -2,6 +2,8 @@ | |||
| 2 | * ADS7846 based touchscreen and sensor driver | 2 | * ADS7846 based touchscreen and sensor driver | 
| 3 | * | 3 | * | 
| 4 | * Copyright (c) 2005 David Brownell | 4 | * Copyright (c) 2005 David Brownell | 
| 5 | * Copyright (c) 2006 Nokia Corporation | ||
| 6 | * Various changes: Imre Deak <imre.deak@nokia.com> | ||
| 5 | * | 7 | * | 
| 6 | * Using code from: | 8 | * Using code from: | 
| 7 | * - corgi_ts.c | 9 | * - corgi_ts.c | 
| @@ -34,17 +36,25 @@ | |||
| 34 | 36 | ||
| 35 | 37 | ||
| 36 | /* | 38 | /* | 
| 37 | * This code has been lightly tested on an ads7846. | 39 | * This code has been tested on an ads7846 / N770 device. | 
| 38 | * Support for ads7843 and ads7845 has only been stubbed in. | 40 | * Support for ads7843 and ads7845 has only been stubbed in. | 
| 39 | * | 41 | * | 
| 40 | * Not yet done: investigate the values reported. Are x/y/pressure | 42 | * Not yet done: How accurate are the temperature and voltage | 
| 41 | * event values sane enough for X11? How accurate are the temperature | 43 | * readings? (System-specific calibration should support | 
| 42 | * and voltage readings? (System-specific calibration should support | ||
| 43 | * accuracy of 0.3 degrees C; otherwise it's 2.0 degrees.) | 44 | * accuracy of 0.3 degrees C; otherwise it's 2.0 degrees.) | 
| 44 | * | 45 | * | 
| 46 | * IRQ handling needs a workaround because of a shortcoming in handling | ||
| 47 | * edge triggered IRQs on some platforms like the OMAP1/2. These | ||
| 48 | * platforms don't handle the ARM lazy IRQ disabling properly, thus we | ||
| 49 | * have to maintain our own SW IRQ disabled status. This should be | ||
| 50 | * removed as soon as the affected platform's IRQ handling is fixed. | ||
| 51 | * | ||
| 45 | * app note sbaa036 talks in more detail about accurate sampling... | 52 | * app note sbaa036 talks in more detail about accurate sampling... | 
| 46 | * that ought to help in situations like LCDs inducing noise (which | 53 | * that ought to help in situations like LCDs inducing noise (which | 
| 47 | * can also be helped by using synch signals) and more generally. | 54 | * can also be helped by using synch signals) and more generally. | 
| 55 | * This driver tries to utilize the measures described in the app | ||
| 56 | * note. The strength of filtering can be set in the board-* specific | ||
| 57 | * files. | ||
| 48 | */ | 58 | */ | 
| 49 | 59 | ||
| 50 | #define TS_POLL_PERIOD msecs_to_jiffies(10) | 60 | #define TS_POLL_PERIOD msecs_to_jiffies(10) | 
| @@ -61,6 +71,7 @@ struct ts_event { | |||
| 61 | __be16 x; | 71 | __be16 x; | 
| 62 | __be16 y; | 72 | __be16 y; | 
| 63 | __be16 z1, z2; | 73 | __be16 z1, z2; | 
| 74 | int ignore; | ||
| 64 | }; | 75 | }; | 
| 65 | 76 | ||
| 66 | struct ads7846 { | 77 | struct ads7846 { | 
| @@ -71,12 +82,23 @@ struct ads7846 { | |||
| 71 | u16 model; | 82 | u16 model; | 
| 72 | u16 vref_delay_usecs; | 83 | u16 vref_delay_usecs; | 
| 73 | u16 x_plate_ohms; | 84 | u16 x_plate_ohms; | 
| 85 | u16 pressure_max; | ||
| 74 | 86 | ||
| 75 | u8 read_x, read_y, read_z1, read_z2; | 87 | u8 read_x, read_y, read_z1, read_z2, pwrdown; | 
| 88 | u16 dummy; /* for the pwrdown read */ | ||
| 76 | struct ts_event tc; | 89 | struct ts_event tc; | 
| 77 | 90 | ||
| 78 | struct spi_transfer xfer[8]; | 91 | struct spi_transfer xfer[10]; | 
| 79 | struct spi_message msg; | 92 | struct spi_message msg[5]; | 
| 93 | struct spi_message *last_msg; | ||
| 94 | int msg_idx; | ||
| 95 | int read_cnt; | ||
| 96 | int read_rep; | ||
| 97 | int last_read; | ||
| 98 | |||
| 99 | u16 debounce_max; | ||
| 100 | u16 debounce_tol; | ||
| 101 | u16 debounce_rep; | ||
| 80 | 102 | ||
| 81 | spinlock_t lock; | 103 | spinlock_t lock; | 
| 82 | struct timer_list timer; /* P: lock */ | 104 | struct timer_list timer; /* P: lock */ | 
| @@ -84,6 +106,9 @@ struct ads7846 { | |||
| 84 | unsigned pending:1; /* P: lock */ | 106 | unsigned pending:1; /* P: lock */ | 
| 85 | // FIXME remove "irq_disabled" | 107 | // FIXME remove "irq_disabled" | 
| 86 | unsigned irq_disabled:1; /* P: lock */ | 108 | unsigned irq_disabled:1; /* P: lock */ | 
| 109 | unsigned disabled:1; | ||
| 110 | |||
| 111 | int (*get_pendown_state)(void); | ||
| 87 | }; | 112 | }; | 
| 88 | 113 | ||
| 89 | /* leave chip selected when we're done, for quicker re-select? */ | 114 | /* leave chip selected when we're done, for quicker re-select? */ | 
| @@ -125,7 +150,9 @@ struct ads7846 { | |||
| 125 | #define READ_Y (READ_12BIT_DFR(y) | ADS_PD10_ADC_ON) | 150 | #define READ_Y (READ_12BIT_DFR(y) | ADS_PD10_ADC_ON) | 
| 126 | #define READ_Z1 (READ_12BIT_DFR(z1) | ADS_PD10_ADC_ON) | 151 | #define READ_Z1 (READ_12BIT_DFR(z1) | ADS_PD10_ADC_ON) | 
| 127 | #define READ_Z2 (READ_12BIT_DFR(z2) | ADS_PD10_ADC_ON) | 152 | #define READ_Z2 (READ_12BIT_DFR(z2) | ADS_PD10_ADC_ON) | 
| 128 | #define READ_X (READ_12BIT_DFR(x) | ADS_PD10_PDOWN) /* LAST */ | 153 | |
| 154 | #define READ_X (READ_12BIT_DFR(x) | ADS_PD10_ADC_ON) | ||
| 155 | #define PWRDOWN (READ_12BIT_DFR(y) | ADS_PD10_PDOWN) /* LAST */ | ||
| 129 | 156 | ||
| 130 | /* single-ended samples need to first power up reference voltage; | 157 | /* single-ended samples need to first power up reference voltage; | 
| 131 | * we leave both ADC and VREF powered | 158 | * we leave both ADC and VREF powered | 
| @@ -152,6 +179,15 @@ struct ser_req { | |||
| 152 | struct spi_transfer xfer[6]; | 179 | struct spi_transfer xfer[6]; | 
| 153 | }; | 180 | }; | 
| 154 | 181 | ||
| 182 | static void ads7846_enable(struct ads7846 *ts); | ||
| 183 | static void ads7846_disable(struct ads7846 *ts); | ||
| 184 | |||
| 185 | static int device_suspended(struct device *dev) | ||
| 186 | { | ||
| 187 | struct ads7846 *ts = dev_get_drvdata(dev); | ||
| 188 | return dev->power.power_state.event != PM_EVENT_ON || ts->disabled; | ||
| 189 | } | ||
| 190 | |||
| 155 | static int ads7846_read12_ser(struct device *dev, unsigned command) | 191 | static int ads7846_read12_ser(struct device *dev, unsigned command) | 
| 156 | { | 192 | { | 
| 157 | struct spi_device *spi = to_spi_device(dev); | 193 | struct spi_device *spi = to_spi_device(dev); | 
| @@ -164,7 +200,7 @@ static int ads7846_read12_ser(struct device *dev, unsigned command) | |||
| 164 | if (!req) | 200 | if (!req) | 
| 165 | return -ENOMEM; | 201 | return -ENOMEM; | 
| 166 | 202 | ||
| 167 | INIT_LIST_HEAD(&req->msg.transfers); | 203 | spi_message_init(&req->msg); | 
| 168 | 204 | ||
| 169 | /* activate reference, so it has time to settle; */ | 205 | /* activate reference, so it has time to settle; */ | 
| 170 | req->ref_on = REF_ON; | 206 | req->ref_on = REF_ON; | 
| @@ -204,8 +240,10 @@ static int ads7846_read12_ser(struct device *dev, unsigned command) | |||
| 204 | for (i = 0; i < 6; i++) | 240 | for (i = 0; i < 6; i++) | 
| 205 | spi_message_add_tail(&req->xfer[i], &req->msg); | 241 | spi_message_add_tail(&req->xfer[i], &req->msg); | 
| 206 | 242 | ||
| 243 | ts->irq_disabled = 1; | ||
| 207 | disable_irq(spi->irq); | 244 | disable_irq(spi->irq); | 
| 208 | status = spi_sync(spi, &req->msg); | 245 | status = spi_sync(spi, &req->msg); | 
| 246 | ts->irq_disabled = 0; | ||
| 209 | enable_irq(spi->irq); | 247 | enable_irq(spi->irq); | 
| 210 | 248 | ||
| 211 | if (req->msg.status) | 249 | if (req->msg.status) | 
| @@ -233,6 +271,52 @@ SHOW(temp1) | |||
| 233 | SHOW(vaux) | 271 | SHOW(vaux) | 
| 234 | SHOW(vbatt) | 272 | SHOW(vbatt) | 
| 235 | 273 | ||
| 274 | static int is_pen_down(struct device *dev) | ||
| 275 | { | ||
| 276 | struct ads7846 *ts = dev_get_drvdata(dev); | ||
| 277 | |||
| 278 | return ts->pendown; | ||
| 279 | } | ||
| 280 | |||
| 281 | static ssize_t ads7846_pen_down_show(struct device *dev, | ||
| 282 | struct device_attribute *attr, char *buf) | ||
| 283 | { | ||
| 284 | return sprintf(buf, "%u\n", is_pen_down(dev)); | ||
| 285 | } | ||
| 286 | |||
| 287 | static DEVICE_ATTR(pen_down, S_IRUGO, ads7846_pen_down_show, NULL); | ||
| 288 | |||
| 289 | static ssize_t ads7846_disable_show(struct device *dev, | ||
| 290 | struct device_attribute *attr, char *buf) | ||
| 291 | { | ||
| 292 | struct ads7846 *ts = dev_get_drvdata(dev); | ||
| 293 | |||
| 294 | return sprintf(buf, "%u\n", ts->disabled); | ||
| 295 | } | ||
| 296 | |||
| 297 | static ssize_t ads7846_disable_store(struct device *dev, | ||
| 298 | struct device_attribute *attr, | ||
| 299 | const char *buf, size_t count) | ||
| 300 | { | ||
| 301 | struct ads7846 *ts = dev_get_drvdata(dev); | ||
| 302 | char *endp; | ||
| 303 | int i; | ||
| 304 | |||
| 305 | i = simple_strtoul(buf, &endp, 10); | ||
| 306 | spin_lock_irq(&ts->lock); | ||
| 307 | |||
| 308 | if (i) | ||
| 309 | ads7846_disable(ts); | ||
| 310 | else | ||
| 311 | ads7846_enable(ts); | ||
| 312 | |||
| 313 | spin_unlock_irq(&ts->lock); | ||
| 314 | |||
| 315 | return count; | ||
| 316 | } | ||
| 317 | |||
| 318 | static DEVICE_ATTR(disable, 0664, ads7846_disable_show, ads7846_disable_store); | ||
| 319 | |||
| 236 | /*--------------------------------------------------------------------------*/ | 320 | /*--------------------------------------------------------------------------*/ | 
| 237 | 321 | ||
| 238 | /* | 322 | /* | 
| @@ -264,7 +348,7 @@ static void ads7846_rx(void *ads) | |||
| 264 | if (x == MAX_12BIT) | 348 | if (x == MAX_12BIT) | 
| 265 | x = 0; | 349 | x = 0; | 
| 266 | 350 | ||
| 267 | if (x && z1 && ts->spi->dev.power.power_state.event == PM_EVENT_ON) { | 351 | if (likely(x && z1 && !device_suspended(&ts->spi->dev))) { | 
| 268 | /* compute touch pressure resistance using equation #2 */ | 352 | /* compute touch pressure resistance using equation #2 */ | 
| 269 | Rt = z2; | 353 | Rt = z2; | 
| 270 | Rt -= z1; | 354 | Rt -= z1; | 
| @@ -275,6 +359,14 @@ static void ads7846_rx(void *ads) | |||
| 275 | } else | 359 | } else | 
| 276 | Rt = 0; | 360 | Rt = 0; | 
| 277 | 361 | ||
| 362 | /* Sample found inconsistent by debouncing or pressure is beyond | ||
| 363 | * the maximum. Don't report it to user space, repeat at least | ||
| 364 | * once more the measurement */ | ||
| 365 | if (ts->tc.ignore || Rt > ts->pressure_max) { | ||
| 366 | mod_timer(&ts->timer, jiffies + TS_POLL_PERIOD); | ||
| 367 | return; | ||
| 368 | } | ||
| 369 | |||
| 278 | /* NOTE: "pendown" is inferred from pressure; we don't rely on | 370 | /* NOTE: "pendown" is inferred from pressure; we don't rely on | 
| 279 | * being able to check nPENIRQ status, or "friendly" trigger modes | 371 | * being able to check nPENIRQ status, or "friendly" trigger modes | 
| 280 | * (both-edges is much better than just-falling or low-level). | 372 | * (both-edges is much better than just-falling or low-level). | 
| @@ -296,11 +388,13 @@ static void ads7846_rx(void *ads) | |||
| 296 | if (Rt) { | 388 | if (Rt) { | 
| 297 | input_report_abs(input_dev, ABS_X, x); | 389 | input_report_abs(input_dev, ABS_X, x); | 
| 298 | input_report_abs(input_dev, ABS_Y, y); | 390 | input_report_abs(input_dev, ABS_Y, y); | 
| 299 | input_report_abs(input_dev, ABS_PRESSURE, Rt); | ||
| 300 | sync = 1; | 391 | sync = 1; | 
| 301 | } | 392 | } | 
| 302 | if (sync) | 393 | |
| 394 | if (sync) { | ||
| 395 | input_report_abs(input_dev, ABS_PRESSURE, Rt); | ||
| 303 | input_sync(input_dev); | 396 | input_sync(input_dev); | 
| 397 | } | ||
| 304 | 398 | ||
| 305 | #ifdef VERBOSE | 399 | #ifdef VERBOSE | 
| 306 | if (Rt || ts->pendown) | 400 | if (Rt || ts->pendown) | 
| @@ -308,80 +402,138 @@ static void ads7846_rx(void *ads) | |||
| 308 | x, y, Rt, Rt ? "" : " UP"); | 402 | x, y, Rt, Rt ? "" : " UP"); | 
| 309 | #endif | 403 | #endif | 
| 310 | 404 | ||
| 311 | /* don't retrigger while we're suspended */ | ||
| 312 | spin_lock_irqsave(&ts->lock, flags); | 405 | spin_lock_irqsave(&ts->lock, flags); | 
| 313 | 406 | ||
| 314 | ts->pendown = (Rt != 0); | 407 | ts->pendown = (Rt != 0); | 
| 315 | ts->pending = 0; | 408 | mod_timer(&ts->timer, jiffies + TS_POLL_PERIOD); | 
| 316 | 409 | ||
| 317 | if (ts->spi->dev.power.power_state.event == PM_EVENT_ON) { | 410 | spin_unlock_irqrestore(&ts->lock, flags); | 
| 318 | if (ts->pendown) | 411 | } | 
| 319 | mod_timer(&ts->timer, jiffies + TS_POLL_PERIOD); | 412 | |
| 320 | else if (ts->irq_disabled) { | 413 | static void ads7846_debounce(void *ads) | 
| 321 | ts->irq_disabled = 0; | 414 | { | 
| 322 | enable_irq(ts->spi->irq); | 415 | struct ads7846 *ts = ads; | 
| 416 | struct spi_message *m; | ||
| 417 | struct spi_transfer *t; | ||
| 418 | int val; | ||
| 419 | int status; | ||
| 420 | |||
| 421 | m = &ts->msg[ts->msg_idx]; | ||
| 422 | t = list_entry(m->transfers.prev, struct spi_transfer, transfer_list); | ||
| 423 | val = (*(u16 *)t->rx_buf) >> 3; | ||
| 424 | if (!ts->read_cnt || (abs(ts->last_read - val) > ts->debounce_tol)) { | ||
| 425 | /* Repeat it, if this was the first read or the read | ||
| 426 | * wasn't consistent enough. */ | ||
| 427 | if (ts->read_cnt < ts->debounce_max) { | ||
| 428 | ts->last_read = val; | ||
| 429 | ts->read_cnt++; | ||
| 430 | } else { | ||
| 431 | /* Maximum number of debouncing reached and still | ||
| 432 | * not enough number of consistent readings. Abort | ||
| 433 | * the whole sample, repeat it in the next sampling | ||
| 434 | * period. | ||
| 435 | */ | ||
| 436 | ts->tc.ignore = 1; | ||
| 437 | ts->read_cnt = 0; | ||
| 438 | /* Last message will contain ads7846_rx() as the | ||
| 439 | * completion function. | ||
| 440 | */ | ||
| 441 | m = ts->last_msg; | ||
| 323 | } | 442 | } | 
| 443 | /* Start over collecting consistent readings. */ | ||
| 444 | ts->read_rep = 0; | ||
| 445 | } else { | ||
| 446 | if (++ts->read_rep > ts->debounce_rep) { | ||
| 447 | /* Got a good reading for this coordinate, | ||
| 448 | * go for the next one. */ | ||
| 449 | ts->tc.ignore = 0; | ||
| 450 | ts->msg_idx++; | ||
| 451 | ts->read_cnt = 0; | ||
| 452 | ts->read_rep = 0; | ||
| 453 | m++; | ||
| 454 | } else | ||
| 455 | /* Read more values that are consistent. */ | ||
| 456 | ts->read_cnt++; | ||
| 324 | } | 457 | } | 
| 325 | 458 | status = spi_async(ts->spi, m); | |
| 326 | spin_unlock_irqrestore(&ts->lock, flags); | 459 | if (status) | 
| 460 | dev_err(&ts->spi->dev, "spi_async --> %d\n", | ||
| 461 | status); | ||
| 327 | } | 462 | } | 
| 328 | 463 | ||
| 329 | static void ads7846_timer(unsigned long handle) | 464 | static void ads7846_timer(unsigned long handle) | 
| 330 | { | 465 | { | 
| 331 | struct ads7846 *ts = (void *)handle; | 466 | struct ads7846 *ts = (void *)handle; | 
| 332 | int status = 0; | 467 | int status = 0; | 
| 333 | unsigned long flags; | 468 | |
| 469 | spin_lock_irq(&ts->lock); | ||
| 470 | |||
| 471 | if (unlikely(ts->msg_idx && !ts->pendown)) { | ||
| 472 | /* measurment cycle ended */ | ||
| 473 | if (!device_suspended(&ts->spi->dev)) { | ||
| 474 | ts->irq_disabled = 0; | ||
| 475 | enable_irq(ts->spi->irq); | ||
| 476 | } | ||
| 477 | ts->pending = 0; | ||
| 478 | ts->msg_idx = 0; | ||
| 479 | } else { | ||
| 480 | /* pen is still down, continue with the measurement */ | ||
| 481 | ts->msg_idx = 0; | ||
| 482 | status = spi_async(ts->spi, &ts->msg[0]); | ||
| 483 | if (status) | ||
| 484 | dev_err(&ts->spi->dev, "spi_async --> %d\n", status); | ||
| 485 | } | ||
| 486 | |||
| 487 | spin_unlock_irq(&ts->lock); | ||
| 488 | } | ||
| 489 | |||
| 490 | static irqreturn_t ads7846_irq(int irq, void *handle, struct pt_regs *regs) | ||
| 491 | { | ||
| 492 | struct ads7846 *ts = handle; | ||
| 493 | unsigned long flags; | ||
| 334 | 494 | ||
| 335 | spin_lock_irqsave(&ts->lock, flags); | 495 | spin_lock_irqsave(&ts->lock, flags); | 
| 336 | if (!ts->pending) { | 496 | if (likely(ts->get_pendown_state())) { | 
| 337 | ts->pending = 1; | ||
| 338 | if (!ts->irq_disabled) { | 497 | if (!ts->irq_disabled) { | 
| 498 | /* REVISIT irq logic for many ARM chips has cloned a | ||
| 499 | * bug wherein disabling an irq in its handler won't | ||
| 500 | * work;(it's disabled lazily, and too late to work. | ||
| 501 | * until all their irq logic is fixed, we must shadow | ||
| 502 | * that state here. | ||
| 503 | */ | ||
| 339 | ts->irq_disabled = 1; | 504 | ts->irq_disabled = 1; | 
| 340 | disable_irq(ts->spi->irq); | 505 | disable_irq(ts->spi->irq); | 
| 506 | ts->pending = 1; | ||
| 507 | mod_timer(&ts->timer, jiffies); | ||
| 341 | } | 508 | } | 
| 342 | status = spi_async(ts->spi, &ts->msg); | ||
| 343 | if (status) | ||
| 344 | dev_err(&ts->spi->dev, "spi_async --> %d\n", | ||
| 345 | status); | ||
| 346 | } | 509 | } | 
| 347 | spin_unlock_irqrestore(&ts->lock, flags); | 510 | spin_unlock_irqrestore(&ts->lock, flags); | 
| 348 | } | ||
| 349 | 511 | ||
| 350 | static irqreturn_t ads7846_irq(int irq, void *handle, struct pt_regs *regs) | ||
| 351 | { | ||
| 352 | ads7846_timer((unsigned long) handle); | ||
| 353 | return IRQ_HANDLED; | 512 | return IRQ_HANDLED; | 
| 354 | } | 513 | } | 
| 355 | 514 | ||
| 356 | /*--------------------------------------------------------------------------*/ | 515 | /*--------------------------------------------------------------------------*/ | 
| 357 | 516 | ||
| 358 | static int | 517 | /* Must be called with ts->lock held */ | 
| 359 | ads7846_suspend(struct spi_device *spi, pm_message_t message) | 518 | static void ads7846_disable(struct ads7846 *ts) | 
| 360 | { | 519 | { | 
| 361 | struct ads7846 *ts = dev_get_drvdata(&spi->dev); | 520 | if (ts->disabled) | 
| 362 | unsigned long flags; | 521 | return; | 
| 363 | 522 | ||
| 364 | spin_lock_irqsave(&ts->lock, flags); | 523 | ts->disabled = 1; | 
| 365 | |||
| 366 | spi->dev.power.power_state = message; | ||
| 367 | 524 | ||
| 368 | /* are we waiting for IRQ, or polling? */ | 525 | /* are we waiting for IRQ, or polling? */ | 
| 369 | if (!ts->pendown) { | 526 | if (!ts->pending) { | 
| 370 | if (!ts->irq_disabled) { | 527 | ts->irq_disabled = 1; | 
| 371 | ts->irq_disabled = 1; | 528 | disable_irq(ts->spi->irq); | 
| 372 | disable_irq(ts->spi->irq); | ||
| 373 | } | ||
| 374 | } else { | 529 | } else { | 
| 375 | /* polling; force a final SPI completion; | 530 | /* the timer will run at least once more, and | 
| 376 | * that will clean things up neatly | 531 | * leave everything in a clean state, IRQ disabled | 
| 377 | */ | 532 | */ | 
| 378 | if (!ts->pending) | 533 | while (ts->pending) { | 
| 379 | mod_timer(&ts->timer, jiffies); | 534 | spin_unlock_irq(&ts->lock); | 
| 380 | 535 | msleep(1); | |
| 381 | while (ts->pendown || ts->pending) { | 536 | spin_lock_irq(&ts->lock); | 
| 382 | spin_unlock_irqrestore(&ts->lock, flags); | ||
| 383 | udelay(10); | ||
| 384 | spin_lock_irqsave(&ts->lock, flags); | ||
| 385 | } | 537 | } | 
| 386 | } | 538 | } | 
| 387 | 539 | ||
| @@ -389,17 +541,45 @@ ads7846_suspend(struct spi_device *spi, pm_message_t message) | |||
| 389 | * leave it that way after every request | 541 | * leave it that way after every request | 
| 390 | */ | 542 | */ | 
| 391 | 543 | ||
| 392 | spin_unlock_irqrestore(&ts->lock, flags); | 544 | } | 
| 545 | |||
| 546 | /* Must be called with ts->lock held */ | ||
| 547 | static void ads7846_enable(struct ads7846 *ts) | ||
| 548 | { | ||
| 549 | if (!ts->disabled) | ||
| 550 | return; | ||
| 551 | |||
| 552 | ts->disabled = 0; | ||
| 553 | ts->irq_disabled = 0; | ||
| 554 | enable_irq(ts->spi->irq); | ||
| 555 | } | ||
| 556 | |||
| 557 | static int ads7846_suspend(struct spi_device *spi, pm_message_t message) | ||
| 558 | { | ||
| 559 | struct ads7846 *ts = dev_get_drvdata(&spi->dev); | ||
| 560 | |||
| 561 | spin_lock_irq(&ts->lock); | ||
| 562 | |||
| 563 | spi->dev.power.power_state = message; | ||
| 564 | ads7846_disable(ts); | ||
| 565 | |||
| 566 | spin_unlock_irq(&ts->lock); | ||
| 567 | |||
| 393 | return 0; | 568 | return 0; | 
| 569 | |||
| 394 | } | 570 | } | 
| 395 | 571 | ||
| 396 | static int ads7846_resume(struct spi_device *spi) | 572 | static int ads7846_resume(struct spi_device *spi) | 
| 397 | { | 573 | { | 
| 398 | struct ads7846 *ts = dev_get_drvdata(&spi->dev); | 574 | struct ads7846 *ts = dev_get_drvdata(&spi->dev); | 
| 399 | 575 | ||
| 400 | ts->irq_disabled = 0; | 576 | spin_lock_irq(&ts->lock); | 
| 401 | enable_irq(ts->spi->irq); | 577 | |
| 402 | spi->dev.power.power_state = PMSG_ON; | 578 | spi->dev.power.power_state = PMSG_ON; | 
| 579 | ads7846_enable(ts); | ||
| 580 | |||
| 581 | spin_unlock_irq(&ts->lock); | ||
| 582 | |||
| 403 | return 0; | 583 | return 0; | 
| 404 | } | 584 | } | 
| 405 | 585 | ||
| @@ -408,6 +588,7 @@ static int __devinit ads7846_probe(struct spi_device *spi) | |||
| 408 | struct ads7846 *ts; | 588 | struct ads7846 *ts; | 
| 409 | struct input_dev *input_dev; | 589 | struct input_dev *input_dev; | 
| 410 | struct ads7846_platform_data *pdata = spi->dev.platform_data; | 590 | struct ads7846_platform_data *pdata = spi->dev.platform_data; | 
| 591 | struct spi_message *m; | ||
| 411 | struct spi_transfer *x; | 592 | struct spi_transfer *x; | 
| 412 | int err; | 593 | int err; | 
| 413 | 594 | ||
| @@ -428,6 +609,11 @@ static int __devinit ads7846_probe(struct spi_device *spi) | |||
| 428 | return -EINVAL; | 609 | return -EINVAL; | 
| 429 | } | 610 | } | 
| 430 | 611 | ||
| 612 | if (pdata->get_pendown_state == NULL) { | ||
| 613 | dev_dbg(&spi->dev, "no get_pendown_state function?\n"); | ||
| 614 | return -EINVAL; | ||
| 615 | } | ||
| 616 | |||
| 431 | /* We'd set the wordsize to 12 bits ... except that some controllers | 617 | /* We'd set the wordsize to 12 bits ... except that some controllers | 
| 432 | * will then treat the 8 bit command words as 12 bits (and drop the | 618 | * will then treat the 8 bit command words as 12 bits (and drop the | 
| 433 | * four MSBs of the 12 bit result). Result: inputs must be shifted | 619 | * four MSBs of the 12 bit result). Result: inputs must be shifted | 
| @@ -451,9 +637,21 @@ static int __devinit ads7846_probe(struct spi_device *spi) | |||
| 451 | ts->timer.data = (unsigned long) ts; | 637 | ts->timer.data = (unsigned long) ts; | 
| 452 | ts->timer.function = ads7846_timer; | 638 | ts->timer.function = ads7846_timer; | 
| 453 | 639 | ||
| 640 | spin_lock_init(&ts->lock); | ||
| 641 | |||
| 454 | ts->model = pdata->model ? : 7846; | 642 | ts->model = pdata->model ? : 7846; | 
| 455 | ts->vref_delay_usecs = pdata->vref_delay_usecs ? : 100; | 643 | ts->vref_delay_usecs = pdata->vref_delay_usecs ? : 100; | 
| 456 | ts->x_plate_ohms = pdata->x_plate_ohms ? : 400; | 644 | ts->x_plate_ohms = pdata->x_plate_ohms ? : 400; | 
| 645 | ts->pressure_max = pdata->pressure_max ? : ~0; | ||
| 646 | if (pdata->debounce_max) { | ||
| 647 | ts->debounce_max = pdata->debounce_max; | ||
| 648 | ts->debounce_tol = pdata->debounce_tol; | ||
| 649 | ts->debounce_rep = pdata->debounce_rep; | ||
| 650 | if (ts->debounce_rep > ts->debounce_max + 1) | ||
| 651 | ts->debounce_rep = ts->debounce_max - 1; | ||
| 652 | } else | ||
| 653 | ts->debounce_tol = ~0; | ||
| 654 | ts->get_pendown_state = pdata->get_pendown_state; | ||
| 457 | 655 | ||
| 458 | snprintf(ts->phys, sizeof(ts->phys), "%s/input0", spi->dev.bus_id); | 656 | snprintf(ts->phys, sizeof(ts->phys), "%s/input0", spi->dev.bus_id); | 
| 459 | 657 | ||
| @@ -477,60 +675,100 @@ static int __devinit ads7846_probe(struct spi_device *spi) | |||
| 477 | /* set up the transfers to read touchscreen state; this assumes we | 675 | /* set up the transfers to read touchscreen state; this assumes we | 
| 478 | * use formula #2 for pressure, not #3. | 676 | * use formula #2 for pressure, not #3. | 
| 479 | */ | 677 | */ | 
| 480 | INIT_LIST_HEAD(&ts->msg.transfers); | 678 | m = &ts->msg[0]; | 
| 481 | x = ts->xfer; | 679 | x = ts->xfer; | 
| 482 | 680 | ||
| 681 | spi_message_init(m); | ||
| 682 | |||
| 483 | /* y- still on; turn on only y+ (and ADC) */ | 683 | /* y- still on; turn on only y+ (and ADC) */ | 
| 484 | ts->read_y = READ_Y; | 684 | ts->read_y = READ_Y; | 
| 485 | x->tx_buf = &ts->read_y; | 685 | x->tx_buf = &ts->read_y; | 
| 486 | x->len = 1; | 686 | x->len = 1; | 
| 487 | spi_message_add_tail(x, &ts->msg); | 687 | spi_message_add_tail(x, m); | 
| 488 | 688 | ||
| 489 | x++; | 689 | x++; | 
| 490 | x->rx_buf = &ts->tc.y; | 690 | x->rx_buf = &ts->tc.y; | 
| 491 | x->len = 2; | 691 | x->len = 2; | 
| 492 | spi_message_add_tail(x, &ts->msg); | 692 | spi_message_add_tail(x, m); | 
| 693 | |||
| 694 | m->complete = ads7846_debounce; | ||
| 695 | m->context = ts; | ||
| 696 | |||
| 697 | m++; | ||
| 698 | spi_message_init(m); | ||
| 699 | |||
| 700 | /* turn y- off, x+ on, then leave in lowpower */ | ||
| 701 | x++; | ||
| 702 | ts->read_x = READ_X; | ||
| 703 | x->tx_buf = &ts->read_x; | ||
| 704 | x->len = 1; | ||
| 705 | spi_message_add_tail(x, m); | ||
| 706 | |||
| 707 | x++; | ||
| 708 | x->rx_buf = &ts->tc.x; | ||
| 709 | x->len = 2; | ||
| 710 | spi_message_add_tail(x, m); | ||
| 711 | |||
| 712 | m->complete = ads7846_debounce; | ||
| 713 | m->context = ts; | ||
| 493 | 714 | ||
| 494 | /* turn y+ off, x- on; we'll use formula #2 */ | 715 | /* turn y+ off, x- on; we'll use formula #2 */ | 
| 495 | if (ts->model == 7846) { | 716 | if (ts->model == 7846) { | 
| 717 | m++; | ||
| 718 | spi_message_init(m); | ||
| 719 | |||
| 496 | x++; | 720 | x++; | 
| 497 | ts->read_z1 = READ_Z1; | 721 | ts->read_z1 = READ_Z1; | 
| 498 | x->tx_buf = &ts->read_z1; | 722 | x->tx_buf = &ts->read_z1; | 
| 499 | x->len = 1; | 723 | x->len = 1; | 
| 500 | spi_message_add_tail(x, &ts->msg); | 724 | spi_message_add_tail(x, m); | 
| 501 | 725 | ||
| 502 | x++; | 726 | x++; | 
| 503 | x->rx_buf = &ts->tc.z1; | 727 | x->rx_buf = &ts->tc.z1; | 
| 504 | x->len = 2; | 728 | x->len = 2; | 
| 505 | spi_message_add_tail(x, &ts->msg); | 729 | spi_message_add_tail(x, m); | 
| 730 | |||
| 731 | m->complete = ads7846_debounce; | ||
| 732 | m->context = ts; | ||
| 733 | |||
| 734 | m++; | ||
| 735 | spi_message_init(m); | ||
| 506 | 736 | ||
| 507 | x++; | 737 | x++; | 
| 508 | ts->read_z2 = READ_Z2; | 738 | ts->read_z2 = READ_Z2; | 
| 509 | x->tx_buf = &ts->read_z2; | 739 | x->tx_buf = &ts->read_z2; | 
| 510 | x->len = 1; | 740 | x->len = 1; | 
| 511 | spi_message_add_tail(x, &ts->msg); | 741 | spi_message_add_tail(x, m); | 
| 512 | 742 | ||
| 513 | x++; | 743 | x++; | 
| 514 | x->rx_buf = &ts->tc.z2; | 744 | x->rx_buf = &ts->tc.z2; | 
| 515 | x->len = 2; | 745 | x->len = 2; | 
| 516 | spi_message_add_tail(x, &ts->msg); | 746 | spi_message_add_tail(x, m); | 
| 747 | |||
| 748 | m->complete = ads7846_debounce; | ||
| 749 | m->context = ts; | ||
| 517 | } | 750 | } | 
| 518 | 751 | ||
| 519 | /* turn y- off, x+ on, then leave in lowpower */ | 752 | /* power down */ | 
| 753 | m++; | ||
| 754 | spi_message_init(m); | ||
| 755 | |||
| 520 | x++; | 756 | x++; | 
| 521 | ts->read_x = READ_X; | 757 | ts->pwrdown = PWRDOWN; | 
| 522 | x->tx_buf = &ts->read_x; | 758 | x->tx_buf = &ts->pwrdown; | 
| 523 | x->len = 1; | 759 | x->len = 1; | 
| 524 | spi_message_add_tail(x, &ts->msg); | 760 | spi_message_add_tail(x, m); | 
| 525 | 761 | ||
| 526 | x++; | 762 | x++; | 
| 527 | x->rx_buf = &ts->tc.x; | 763 | x->rx_buf = &ts->dummy; | 
| 528 | x->len = 2; | 764 | x->len = 2; | 
| 529 | CS_CHANGE(*x); | 765 | CS_CHANGE(*x); | 
| 530 | spi_message_add_tail(x, &ts->msg); | 766 | spi_message_add_tail(x, m); | 
| 531 | 767 | ||
| 532 | ts->msg.complete = ads7846_rx; | 768 | m->complete = ads7846_rx; | 
| 533 | ts->msg.context = ts; | 769 | m->context = ts; | 
| 770 | |||
| 771 | ts->last_msg = m; | ||
| 534 | 772 | ||
| 535 | if (request_irq(spi->irq, ads7846_irq, | 773 | if (request_irq(spi->irq, ads7846_irq, | 
| 536 | SA_SAMPLE_RANDOM | SA_TRIGGER_FALLING, | 774 | SA_SAMPLE_RANDOM | SA_TRIGGER_FALLING, | 
| @@ -559,13 +797,27 @@ static int __devinit ads7846_probe(struct spi_device *spi) | |||
| 559 | device_create_file(&spi->dev, &dev_attr_vbatt); | 797 | device_create_file(&spi->dev, &dev_attr_vbatt); | 
| 560 | device_create_file(&spi->dev, &dev_attr_vaux); | 798 | device_create_file(&spi->dev, &dev_attr_vaux); | 
| 561 | 799 | ||
| 800 | device_create_file(&spi->dev, &dev_attr_pen_down); | ||
| 801 | |||
| 802 | device_create_file(&spi->dev, &dev_attr_disable); | ||
| 803 | |||
| 562 | err = input_register_device(input_dev); | 804 | err = input_register_device(input_dev); | 
| 563 | if (err) | 805 | if (err) | 
| 564 | goto err_free_irq; | 806 | goto err_remove_attr; | 
| 565 | 807 | ||
| 566 | return 0; | 808 | return 0; | 
| 567 | 809 | ||
| 568 | err_free_irq: | 810 | err_remove_attr: | 
| 811 | device_remove_file(&spi->dev, &dev_attr_disable); | ||
| 812 | device_remove_file(&spi->dev, &dev_attr_pen_down); | ||
| 813 | if (ts->model == 7846) { | ||
| 814 | device_remove_file(&spi->dev, &dev_attr_temp1); | ||
| 815 | device_remove_file(&spi->dev, &dev_attr_temp0); | ||
| 816 | } | ||
| 817 | if (ts->model != 7845) | ||
| 818 | device_remove_file(&spi->dev, &dev_attr_vbatt); | ||
| 819 | device_remove_file(&spi->dev, &dev_attr_vaux); | ||
| 820 | |||
| 569 | free_irq(spi->irq, ts); | 821 | free_irq(spi->irq, ts); | 
| 570 | err_free_mem: | 822 | err_free_mem: | 
| 571 | input_free_device(input_dev); | 823 | input_free_device(input_dev); | 
| @@ -577,20 +829,24 @@ static int __devexit ads7846_remove(struct spi_device *spi) | |||
| 577 | { | 829 | { | 
| 578 | struct ads7846 *ts = dev_get_drvdata(&spi->dev); | 830 | struct ads7846 *ts = dev_get_drvdata(&spi->dev); | 
| 579 | 831 | ||
| 832 | input_unregister_device(ts->input); | ||
| 833 | |||
| 580 | ads7846_suspend(spi, PMSG_SUSPEND); | 834 | ads7846_suspend(spi, PMSG_SUSPEND); | 
| 581 | free_irq(ts->spi->irq, ts); | ||
| 582 | if (ts->irq_disabled) | ||
| 583 | enable_irq(ts->spi->irq); | ||
| 584 | 835 | ||
| 836 | device_remove_file(&spi->dev, &dev_attr_disable); | ||
| 837 | device_remove_file(&spi->dev, &dev_attr_pen_down); | ||
| 585 | if (ts->model == 7846) { | 838 | if (ts->model == 7846) { | 
| 586 | device_remove_file(&spi->dev, &dev_attr_temp0); | ||
| 587 | device_remove_file(&spi->dev, &dev_attr_temp1); | 839 | device_remove_file(&spi->dev, &dev_attr_temp1); | 
| 840 | device_remove_file(&spi->dev, &dev_attr_temp0); | ||
| 588 | } | 841 | } | 
| 589 | if (ts->model != 7845) | 842 | if (ts->model != 7845) | 
| 590 | device_remove_file(&spi->dev, &dev_attr_vbatt); | 843 | device_remove_file(&spi->dev, &dev_attr_vbatt); | 
| 591 | device_remove_file(&spi->dev, &dev_attr_vaux); | 844 | device_remove_file(&spi->dev, &dev_attr_vaux); | 
| 592 | 845 | ||
| 593 | input_unregister_device(ts->input); | 846 | free_irq(ts->spi->irq, ts); | 
| 847 | /* suspend left the IRQ disabled */ | ||
| 848 | enable_irq(ts->spi->irq); | ||
| 849 | |||
| 594 | kfree(ts); | 850 | kfree(ts); | 
| 595 | 851 | ||
| 596 | dev_dbg(&spi->dev, "unregistered touchscreen\n"); | 852 | dev_dbg(&spi->dev, "unregistered touchscreen\n"); | 
diff --git a/drivers/md/raid1.c b/drivers/md/raid1.c index 6081941de1b3..4070eff6f0f8 100644 --- a/drivers/md/raid1.c +++ b/drivers/md/raid1.c  | |||
| @@ -315,10 +315,11 @@ static int raid1_end_write_request(struct bio *bio, unsigned int bytes_done, int | |||
| 315 | if (r1_bio->bios[mirror] == bio) | 315 | if (r1_bio->bios[mirror] == bio) | 
| 316 | break; | 316 | break; | 
| 317 | 317 | ||
| 318 | if (error == -ENOTSUPP && test_bit(R1BIO_Barrier, &r1_bio->state)) { | 318 | if (error == -EOPNOTSUPP && test_bit(R1BIO_Barrier, &r1_bio->state)) { | 
| 319 | set_bit(BarriersNotsupp, &conf->mirrors[mirror].rdev->flags); | 319 | set_bit(BarriersNotsupp, &conf->mirrors[mirror].rdev->flags); | 
| 320 | set_bit(R1BIO_BarrierRetry, &r1_bio->state); | 320 | set_bit(R1BIO_BarrierRetry, &r1_bio->state); | 
| 321 | r1_bio->mddev->barriers_work = 0; | 321 | r1_bio->mddev->barriers_work = 0; | 
| 322 | /* Don't rdev_dec_pending in this branch - keep it for the retry */ | ||
| 322 | } else { | 323 | } else { | 
| 323 | /* | 324 | /* | 
| 324 | * this branch is our 'one mirror IO has finished' event handler: | 325 | * this branch is our 'one mirror IO has finished' event handler: | 
| @@ -365,6 +366,7 @@ static int raid1_end_write_request(struct bio *bio, unsigned int bytes_done, int | |||
| 365 | } | 366 | } | 
| 366 | } | 367 | } | 
| 367 | } | 368 | } | 
| 369 | rdev_dec_pending(conf->mirrors[mirror].rdev, conf->mddev); | ||
| 368 | } | 370 | } | 
| 369 | /* | 371 | /* | 
| 370 | * | 372 | * | 
| @@ -374,11 +376,9 @@ static int raid1_end_write_request(struct bio *bio, unsigned int bytes_done, int | |||
| 374 | if (atomic_dec_and_test(&r1_bio->remaining)) { | 376 | if (atomic_dec_and_test(&r1_bio->remaining)) { | 
| 375 | if (test_bit(R1BIO_BarrierRetry, &r1_bio->state)) { | 377 | if (test_bit(R1BIO_BarrierRetry, &r1_bio->state)) { | 
| 376 | reschedule_retry(r1_bio); | 378 | reschedule_retry(r1_bio); | 
| 377 | /* Don't dec_pending yet, we want to hold | ||
| 378 | * the reference over the retry | ||
| 379 | */ | ||
| 380 | goto out; | 379 | goto out; | 
| 381 | } | 380 | } | 
| 381 | /* it really is the end of this request */ | ||
| 382 | if (test_bit(R1BIO_BehindIO, &r1_bio->state)) { | 382 | if (test_bit(R1BIO_BehindIO, &r1_bio->state)) { | 
| 383 | /* free extra copy of the data pages */ | 383 | /* free extra copy of the data pages */ | 
| 384 | int i = bio->bi_vcnt; | 384 | int i = bio->bi_vcnt; | 
| @@ -393,8 +393,6 @@ static int raid1_end_write_request(struct bio *bio, unsigned int bytes_done, int | |||
| 393 | md_write_end(r1_bio->mddev); | 393 | md_write_end(r1_bio->mddev); | 
| 394 | raid_end_bio_io(r1_bio); | 394 | raid_end_bio_io(r1_bio); | 
| 395 | } | 395 | } | 
| 396 | |||
| 397 | rdev_dec_pending(conf->mirrors[mirror].rdev, conf->mddev); | ||
| 398 | out: | 396 | out: | 
| 399 | if (to_put) | 397 | if (to_put) | 
| 400 | bio_put(to_put); | 398 | bio_put(to_put); | 
| @@ -753,18 +751,24 @@ static int make_request(request_queue_t *q, struct bio * bio) | |||
| 753 | const int rw = bio_data_dir(bio); | 751 | const int rw = bio_data_dir(bio); | 
| 754 | int do_barriers; | 752 | int do_barriers; | 
| 755 | 753 | ||
| 756 | if (unlikely(!mddev->barriers_work && bio_barrier(bio))) { | ||
| 757 | bio_endio(bio, bio->bi_size, -EOPNOTSUPP); | ||
| 758 | return 0; | ||
| 759 | } | ||
| 760 | |||
| 761 | /* | 754 | /* | 
| 762 | * Register the new request and wait if the reconstruction | 755 | * Register the new request and wait if the reconstruction | 
| 763 | * thread has put up a bar for new requests. | 756 | * thread has put up a bar for new requests. | 
| 764 | * Continue immediately if no resync is active currently. | 757 | * Continue immediately if no resync is active currently. | 
| 758 | * We test barriers_work *after* md_write_start as md_write_start | ||
| 759 | * may cause the first superblock write, and that will check out | ||
| 760 | * if barriers work. | ||
| 765 | */ | 761 | */ | 
| 762 | |||
| 766 | md_write_start(mddev, bio); /* wait on superblock update early */ | 763 | md_write_start(mddev, bio); /* wait on superblock update early */ | 
| 767 | 764 | ||
| 765 | if (unlikely(!mddev->barriers_work && bio_barrier(bio))) { | ||
| 766 | if (rw == WRITE) | ||
| 767 | md_write_end(mddev); | ||
| 768 | bio_endio(bio, bio->bi_size, -EOPNOTSUPP); | ||
| 769 | return 0; | ||
| 770 | } | ||
| 771 | |||
| 768 | wait_barrier(conf); | 772 | wait_barrier(conf); | 
| 769 | 773 | ||
| 770 | disk_stat_inc(mddev->gendisk, ios[rw]); | 774 | disk_stat_inc(mddev->gendisk, ios[rw]); | 
| @@ -1404,10 +1408,11 @@ static void raid1d(mddev_t *mddev) | |||
| 1404 | unplug = 1; | 1408 | unplug = 1; | 
| 1405 | } else if (test_bit(R1BIO_BarrierRetry, &r1_bio->state)) { | 1409 | } else if (test_bit(R1BIO_BarrierRetry, &r1_bio->state)) { | 
| 1406 | /* some requests in the r1bio were BIO_RW_BARRIER | 1410 | /* some requests in the r1bio were BIO_RW_BARRIER | 
| 1407 | * requests which failed with -ENOTSUPP. Hohumm.. | 1411 | * requests which failed with -EOPNOTSUPP. Hohumm.. | 
| 1408 | * Better resubmit without the barrier. | 1412 | * Better resubmit without the barrier. | 
| 1409 | * We know which devices to resubmit for, because | 1413 | * We know which devices to resubmit for, because | 
| 1410 | * all others have had their bios[] entry cleared. | 1414 | * all others have had their bios[] entry cleared. | 
| 1415 | * We already have a nr_pending reference on these rdevs. | ||
| 1411 | */ | 1416 | */ | 
| 1412 | int i; | 1417 | int i; | 
| 1413 | clear_bit(R1BIO_BarrierRetry, &r1_bio->state); | 1418 | clear_bit(R1BIO_BarrierRetry, &r1_bio->state); | 
diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c index 617012bc107a..1440935414e6 100644 --- a/drivers/md/raid10.c +++ b/drivers/md/raid10.c  | |||
| @@ -1407,43 +1407,54 @@ static void raid10d(mddev_t *mddev) | |||
| 1407 | if (s > (PAGE_SIZE>>9)) | 1407 | if (s > (PAGE_SIZE>>9)) | 
| 1408 | s = PAGE_SIZE >> 9; | 1408 | s = PAGE_SIZE >> 9; | 
| 1409 | 1409 | ||
| 1410 | rcu_read_lock(); | ||
| 1410 | do { | 1411 | do { | 
| 1411 | int d = r10_bio->devs[sl].devnum; | 1412 | int d = r10_bio->devs[sl].devnum; | 
| 1412 | rdev = conf->mirrors[d].rdev; | 1413 | rdev = rcu_dereference(conf->mirrors[d].rdev); | 
| 1413 | if (rdev && | 1414 | if (rdev && | 
| 1414 | test_bit(In_sync, &rdev->flags) && | 1415 | test_bit(In_sync, &rdev->flags)) { | 
| 1415 | sync_page_io(rdev->bdev, | 1416 | atomic_inc(&rdev->nr_pending); | 
| 1416 | r10_bio->devs[sl].addr + | 1417 | rcu_read_unlock(); | 
| 1417 | sect + rdev->data_offset, | 1418 | success = sync_page_io(rdev->bdev, | 
| 1418 | s<<9, | 1419 | r10_bio->devs[sl].addr + | 
| 1419 | conf->tmppage, READ)) | 1420 | sect + rdev->data_offset, | 
| 1420 | success = 1; | 1421 | s<<9, | 
| 1421 | else { | 1422 | conf->tmppage, READ); | 
| 1422 | sl++; | 1423 | rdev_dec_pending(rdev, mddev); | 
| 1423 | if (sl == conf->copies) | 1424 | rcu_read_lock(); | 
| 1424 | sl = 0; | 1425 | if (success) | 
| 1426 | break; | ||
| 1425 | } | 1427 | } | 
| 1428 | sl++; | ||
| 1429 | if (sl == conf->copies) | ||
| 1430 | sl = 0; | ||
| 1426 | } while (!success && sl != r10_bio->read_slot); | 1431 | } while (!success && sl != r10_bio->read_slot); | 
| 1432 | rcu_read_unlock(); | ||
| 1427 | 1433 | ||
| 1428 | if (success) { | 1434 | if (success) { | 
| 1429 | int start = sl; | 1435 | int start = sl; | 
| 1430 | /* write it back and re-read */ | 1436 | /* write it back and re-read */ | 
| 1437 | rcu_read_lock(); | ||
| 1431 | while (sl != r10_bio->read_slot) { | 1438 | while (sl != r10_bio->read_slot) { | 
| 1432 | int d; | 1439 | int d; | 
| 1433 | if (sl==0) | 1440 | if (sl==0) | 
| 1434 | sl = conf->copies; | 1441 | sl = conf->copies; | 
| 1435 | sl--; | 1442 | sl--; | 
| 1436 | d = r10_bio->devs[sl].devnum; | 1443 | d = r10_bio->devs[sl].devnum; | 
| 1437 | rdev = conf->mirrors[d].rdev; | 1444 | rdev = rcu_dereference(conf->mirrors[d].rdev); | 
| 1438 | atomic_add(s, &rdev->corrected_errors); | ||
| 1439 | if (rdev && | 1445 | if (rdev && | 
| 1440 | test_bit(In_sync, &rdev->flags)) { | 1446 | test_bit(In_sync, &rdev->flags)) { | 
| 1447 | atomic_inc(&rdev->nr_pending); | ||
| 1448 | rcu_read_unlock(); | ||
| 1449 | atomic_add(s, &rdev->corrected_errors); | ||
| 1441 | if (sync_page_io(rdev->bdev, | 1450 | if (sync_page_io(rdev->bdev, | 
| 1442 | r10_bio->devs[sl].addr + | 1451 | r10_bio->devs[sl].addr + | 
| 1443 | sect + rdev->data_offset, | 1452 | sect + rdev->data_offset, | 
| 1444 | s<<9, conf->tmppage, WRITE) == 0) | 1453 | s<<9, conf->tmppage, WRITE) == 0) | 
| 1445 | /* Well, this device is dead */ | 1454 | /* Well, this device is dead */ | 
| 1446 | md_error(mddev, rdev); | 1455 | md_error(mddev, rdev); | 
| 1456 | rdev_dec_pending(rdev, mddev); | ||
| 1457 | rcu_read_lock(); | ||
| 1447 | } | 1458 | } | 
| 1448 | } | 1459 | } | 
| 1449 | sl = start; | 1460 | sl = start; | 
| @@ -1453,17 +1464,22 @@ static void raid10d(mddev_t *mddev) | |||
| 1453 | sl = conf->copies; | 1464 | sl = conf->copies; | 
| 1454 | sl--; | 1465 | sl--; | 
| 1455 | d = r10_bio->devs[sl].devnum; | 1466 | d = r10_bio->devs[sl].devnum; | 
| 1456 | rdev = conf->mirrors[d].rdev; | 1467 | rdev = rcu_dereference(conf->mirrors[d].rdev); | 
| 1457 | if (rdev && | 1468 | if (rdev && | 
| 1458 | test_bit(In_sync, &rdev->flags)) { | 1469 | test_bit(In_sync, &rdev->flags)) { | 
| 1470 | atomic_inc(&rdev->nr_pending); | ||
| 1471 | rcu_read_unlock(); | ||
| 1459 | if (sync_page_io(rdev->bdev, | 1472 | if (sync_page_io(rdev->bdev, | 
| 1460 | r10_bio->devs[sl].addr + | 1473 | r10_bio->devs[sl].addr + | 
| 1461 | sect + rdev->data_offset, | 1474 | sect + rdev->data_offset, | 
| 1462 | s<<9, conf->tmppage, READ) == 0) | 1475 | s<<9, conf->tmppage, READ) == 0) | 
| 1463 | /* Well, this device is dead */ | 1476 | /* Well, this device is dead */ | 
| 1464 | md_error(mddev, rdev); | 1477 | md_error(mddev, rdev); | 
| 1478 | rdev_dec_pending(rdev, mddev); | ||
| 1479 | rcu_read_lock(); | ||
| 1465 | } | 1480 | } | 
| 1466 | } | 1481 | } | 
| 1482 | rcu_read_unlock(); | ||
| 1467 | } else { | 1483 | } else { | 
| 1468 | /* Cannot read from anywhere -- bye bye array */ | 1484 | /* Cannot read from anywhere -- bye bye array */ | 
| 1469 | md_error(mddev, conf->mirrors[r10_bio->devs[r10_bio->read_slot].devnum].rdev); | 1485 | md_error(mddev, conf->mirrors[r10_bio->devs[r10_bio->read_slot].devnum].rdev); | 
diff --git a/drivers/media/video/cx88/cx88-alsa.c b/drivers/media/video/cx88/cx88-alsa.c index f9d87b86492c..320b3d9384ba 100644 --- a/drivers/media/video/cx88/cx88-alsa.c +++ b/drivers/media/video/cx88/cx88-alsa.c  | |||
| @@ -616,7 +616,7 @@ static struct snd_kcontrol_new snd_cx88_capture_volume = { | |||
| 616 | * Only boards with eeprom and byte 1 at eeprom=1 have it | 616 | * Only boards with eeprom and byte 1 at eeprom=1 have it | 
| 617 | */ | 617 | */ | 
| 618 | 618 | ||
| 619 | static struct pci_device_id cx88_audio_pci_tbl[] = { | 619 | static struct pci_device_id cx88_audio_pci_tbl[] __devinitdata = { | 
| 620 | {0x14f1,0x8801,PCI_ANY_ID,PCI_ANY_ID,0,0,0}, | 620 | {0x14f1,0x8801,PCI_ANY_ID,PCI_ANY_ID,0,0,0}, | 
| 621 | {0x14f1,0x8811,PCI_ANY_ID,PCI_ANY_ID,0,0,0}, | 621 | {0x14f1,0x8811,PCI_ANY_ID,PCI_ANY_ID,0,0,0}, | 
| 622 | {0, } | 622 | {0, } | 
diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index 73e271e59c6a..beeb612be98f 100644 --- a/drivers/net/tg3.c +++ b/drivers/net/tg3.c  | |||
| @@ -69,8 +69,8 @@ | |||
| 69 | 69 | ||
| 70 | #define DRV_MODULE_NAME "tg3" | 70 | #define DRV_MODULE_NAME "tg3" | 
| 71 | #define PFX DRV_MODULE_NAME ": " | 71 | #define PFX DRV_MODULE_NAME ": " | 
| 72 | #define DRV_MODULE_VERSION "3.56" | 72 | #define DRV_MODULE_VERSION "3.57" | 
| 73 | #define DRV_MODULE_RELDATE "Apr 1, 2006" | 73 | #define DRV_MODULE_RELDATE "Apr 28, 2006" | 
| 74 | 74 | ||
| 75 | #define TG3_DEF_MAC_MODE 0 | 75 | #define TG3_DEF_MAC_MODE 0 | 
| 76 | #define TG3_DEF_RX_MODE 0 | 76 | #define TG3_DEF_RX_MODE 0 | 
| @@ -974,6 +974,8 @@ static int tg3_phy_reset_5703_4_5(struct tg3 *tp) | |||
| 974 | return err; | 974 | return err; | 
| 975 | } | 975 | } | 
| 976 | 976 | ||
| 977 | static void tg3_link_report(struct tg3 *); | ||
| 978 | |||
| 977 | /* This will reset the tigon3 PHY if there is no valid | 979 | /* This will reset the tigon3 PHY if there is no valid | 
| 978 | * link unless the FORCE argument is non-zero. | 980 | * link unless the FORCE argument is non-zero. | 
| 979 | */ | 981 | */ | 
| @@ -987,6 +989,11 @@ static int tg3_phy_reset(struct tg3 *tp) | |||
| 987 | if (err != 0) | 989 | if (err != 0) | 
| 988 | return -EBUSY; | 990 | return -EBUSY; | 
| 989 | 991 | ||
| 992 | if (netif_running(tp->dev) && netif_carrier_ok(tp->dev)) { | ||
| 993 | netif_carrier_off(tp->dev); | ||
| 994 | tg3_link_report(tp); | ||
| 995 | } | ||
| 996 | |||
| 990 | if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5703 || | 997 | if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5703 || | 
| 991 | GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5704 || | 998 | GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5704 || | 
| 992 | GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5705) { | 999 | GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5705) { | 
| @@ -1023,6 +1030,12 @@ out: | |||
| 1023 | tg3_writephy(tp, MII_TG3_DSP_RW_PORT, 0x14e2); | 1030 | tg3_writephy(tp, MII_TG3_DSP_RW_PORT, 0x14e2); | 
| 1024 | tg3_writephy(tp, MII_TG3_AUX_CTRL, 0x0400); | 1031 | tg3_writephy(tp, MII_TG3_AUX_CTRL, 0x0400); | 
| 1025 | } | 1032 | } | 
| 1033 | else if (tp->tg3_flags2 & TG3_FLG2_PHY_JITTER_BUG) { | ||
| 1034 | tg3_writephy(tp, MII_TG3_AUX_CTRL, 0x0c00); | ||
| 1035 | tg3_writephy(tp, MII_TG3_DSP_ADDRESS, 0x000a); | ||
| 1036 | tg3_writephy(tp, MII_TG3_DSP_RW_PORT, 0x010b); | ||
| 1037 | tg3_writephy(tp, MII_TG3_AUX_CTRL, 0x0400); | ||
| 1038 | } | ||
| 1026 | /* Set Extended packet length bit (bit 14) on all chips that */ | 1039 | /* Set Extended packet length bit (bit 14) on all chips that */ | 
| 1027 | /* support jumbo frames */ | 1040 | /* support jumbo frames */ | 
| 1028 | if ((tp->phy_id & PHY_ID_MASK) == PHY_ID_BCM5401) { | 1041 | if ((tp->phy_id & PHY_ID_MASK) == PHY_ID_BCM5401) { | 
| @@ -3531,7 +3544,7 @@ static irqreturn_t tg3_test_isr(int irq, void *dev_id, | |||
| 3531 | return IRQ_RETVAL(0); | 3544 | return IRQ_RETVAL(0); | 
| 3532 | } | 3545 | } | 
| 3533 | 3546 | ||
| 3534 | static int tg3_init_hw(struct tg3 *); | 3547 | static int tg3_init_hw(struct tg3 *, int); | 
| 3535 | static int tg3_halt(struct tg3 *, int, int); | 3548 | static int tg3_halt(struct tg3 *, int, int); | 
| 3536 | 3549 | ||
| 3537 | #ifdef CONFIG_NET_POLL_CONTROLLER | 3550 | #ifdef CONFIG_NET_POLL_CONTROLLER | 
| @@ -3567,7 +3580,7 @@ static void tg3_reset_task(void *_data) | |||
| 3567 | tp->tg3_flags2 &= ~TG3_FLG2_RESTART_TIMER; | 3580 | tp->tg3_flags2 &= ~TG3_FLG2_RESTART_TIMER; | 
| 3568 | 3581 | ||
| 3569 | tg3_halt(tp, RESET_KIND_SHUTDOWN, 0); | 3582 | tg3_halt(tp, RESET_KIND_SHUTDOWN, 0); | 
| 3570 | tg3_init_hw(tp); | 3583 | tg3_init_hw(tp, 1); | 
| 3571 | 3584 | ||
| 3572 | tg3_netif_start(tp); | 3585 | tg3_netif_start(tp); | 
| 3573 | 3586 | ||
| @@ -4042,7 +4055,7 @@ static int tg3_change_mtu(struct net_device *dev, int new_mtu) | |||
| 4042 | 4055 | ||
| 4043 | tg3_set_mtu(dev, tp, new_mtu); | 4056 | tg3_set_mtu(dev, tp, new_mtu); | 
| 4044 | 4057 | ||
| 4045 | tg3_init_hw(tp); | 4058 | tg3_init_hw(tp, 0); | 
| 4046 | 4059 | ||
| 4047 | tg3_netif_start(tp); | 4060 | tg3_netif_start(tp); | 
| 4048 | 4061 | ||
| @@ -5719,9 +5732,23 @@ static int tg3_set_mac_addr(struct net_device *dev, void *p) | |||
| 5719 | if (!netif_running(dev)) | 5732 | if (!netif_running(dev)) | 
| 5720 | return 0; | 5733 | return 0; | 
| 5721 | 5734 | ||
| 5722 | spin_lock_bh(&tp->lock); | 5735 | if (tp->tg3_flags & TG3_FLAG_ENABLE_ASF) { | 
| 5723 | __tg3_set_mac_addr(tp); | 5736 | /* Reset chip so that ASF can re-init any MAC addresses it | 
| 5724 | spin_unlock_bh(&tp->lock); | 5737 | * needs. | 
| 5738 | */ | ||
| 5739 | tg3_netif_stop(tp); | ||
| 5740 | tg3_full_lock(tp, 1); | ||
| 5741 | |||
| 5742 | tg3_halt(tp, RESET_KIND_SHUTDOWN, 1); | ||
| 5743 | tg3_init_hw(tp, 0); | ||
| 5744 | |||
| 5745 | tg3_netif_start(tp); | ||
| 5746 | tg3_full_unlock(tp); | ||
| 5747 | } else { | ||
| 5748 | spin_lock_bh(&tp->lock); | ||
| 5749 | __tg3_set_mac_addr(tp); | ||
| 5750 | spin_unlock_bh(&tp->lock); | ||
| 5751 | } | ||
| 5725 | 5752 | ||
| 5726 | return 0; | 5753 | return 0; | 
| 5727 | } | 5754 | } | 
| @@ -5771,7 +5798,7 @@ static void __tg3_set_coalesce(struct tg3 *tp, struct ethtool_coalesce *ec) | |||
| 5771 | } | 5798 | } | 
| 5772 | 5799 | ||
| 5773 | /* tp->lock is held. */ | 5800 | /* tp->lock is held. */ | 
| 5774 | static int tg3_reset_hw(struct tg3 *tp) | 5801 | static int tg3_reset_hw(struct tg3 *tp, int reset_phy) | 
| 5775 | { | 5802 | { | 
| 5776 | u32 val, rdmac_mode; | 5803 | u32 val, rdmac_mode; | 
| 5777 | int i, err, limit; | 5804 | int i, err, limit; | 
| @@ -5786,7 +5813,7 @@ static int tg3_reset_hw(struct tg3 *tp) | |||
| 5786 | tg3_abort_hw(tp, 1); | 5813 | tg3_abort_hw(tp, 1); | 
| 5787 | } | 5814 | } | 
| 5788 | 5815 | ||
| 5789 | if (tp->tg3_flags2 & TG3_FLG2_MII_SERDES) | 5816 | if ((tp->tg3_flags2 & TG3_FLG2_MII_SERDES) && reset_phy) | 
| 5790 | tg3_phy_reset(tp); | 5817 | tg3_phy_reset(tp); | 
| 5791 | 5818 | ||
| 5792 | err = tg3_chip_reset(tp); | 5819 | err = tg3_chip_reset(tp); | 
| @@ -6327,7 +6354,7 @@ static int tg3_reset_hw(struct tg3 *tp) | |||
| 6327 | tw32(GRC_LOCAL_CTRL, tp->grc_local_ctrl); | 6354 | tw32(GRC_LOCAL_CTRL, tp->grc_local_ctrl); | 
| 6328 | } | 6355 | } | 
| 6329 | 6356 | ||
| 6330 | err = tg3_setup_phy(tp, 1); | 6357 | err = tg3_setup_phy(tp, reset_phy); | 
| 6331 | if (err) | 6358 | if (err) | 
| 6332 | return err; | 6359 | return err; | 
| 6333 | 6360 | ||
| @@ -6400,7 +6427,7 @@ static int tg3_reset_hw(struct tg3 *tp) | |||
| 6400 | /* Called at device open time to get the chip ready for | 6427 | /* Called at device open time to get the chip ready for | 
| 6401 | * packet processing. Invoked with tp->lock held. | 6428 | * packet processing. Invoked with tp->lock held. | 
| 6402 | */ | 6429 | */ | 
| 6403 | static int tg3_init_hw(struct tg3 *tp) | 6430 | static int tg3_init_hw(struct tg3 *tp, int reset_phy) | 
| 6404 | { | 6431 | { | 
| 6405 | int err; | 6432 | int err; | 
| 6406 | 6433 | ||
| @@ -6413,7 +6440,7 @@ static int tg3_init_hw(struct tg3 *tp) | |||
| 6413 | 6440 | ||
| 6414 | tw32(TG3PCI_MEM_WIN_BASE_ADDR, 0); | 6441 | tw32(TG3PCI_MEM_WIN_BASE_ADDR, 0); | 
| 6415 | 6442 | ||
| 6416 | err = tg3_reset_hw(tp); | 6443 | err = tg3_reset_hw(tp, reset_phy); | 
| 6417 | 6444 | ||
| 6418 | out: | 6445 | out: | 
| 6419 | return err; | 6446 | return err; | 
| @@ -6683,7 +6710,7 @@ static int tg3_test_msi(struct tg3 *tp) | |||
| 6683 | tg3_full_lock(tp, 1); | 6710 | tg3_full_lock(tp, 1); | 
| 6684 | 6711 | ||
| 6685 | tg3_halt(tp, RESET_KIND_SHUTDOWN, 1); | 6712 | tg3_halt(tp, RESET_KIND_SHUTDOWN, 1); | 
| 6686 | err = tg3_init_hw(tp); | 6713 | err = tg3_init_hw(tp, 1); | 
| 6687 | 6714 | ||
| 6688 | tg3_full_unlock(tp); | 6715 | tg3_full_unlock(tp); | 
| 6689 | 6716 | ||
| @@ -6748,7 +6775,7 @@ static int tg3_open(struct net_device *dev) | |||
| 6748 | 6775 | ||
| 6749 | tg3_full_lock(tp, 0); | 6776 | tg3_full_lock(tp, 0); | 
| 6750 | 6777 | ||
| 6751 | err = tg3_init_hw(tp); | 6778 | err = tg3_init_hw(tp, 1); | 
| 6752 | if (err) { | 6779 | if (err) { | 
| 6753 | tg3_halt(tp, RESET_KIND_SHUTDOWN, 1); | 6780 | tg3_halt(tp, RESET_KIND_SHUTDOWN, 1); | 
| 6754 | tg3_free_rings(tp); | 6781 | tg3_free_rings(tp); | 
| @@ -7839,7 +7866,7 @@ static int tg3_set_ringparam(struct net_device *dev, struct ethtool_ringparam *e | |||
| 7839 | 7866 | ||
| 7840 | if (netif_running(dev)) { | 7867 | if (netif_running(dev)) { | 
| 7841 | tg3_halt(tp, RESET_KIND_SHUTDOWN, 1); | 7868 | tg3_halt(tp, RESET_KIND_SHUTDOWN, 1); | 
| 7842 | tg3_init_hw(tp); | 7869 | tg3_init_hw(tp, 1); | 
| 7843 | tg3_netif_start(tp); | 7870 | tg3_netif_start(tp); | 
| 7844 | } | 7871 | } | 
| 7845 | 7872 | ||
| @@ -7884,7 +7911,7 @@ static int tg3_set_pauseparam(struct net_device *dev, struct ethtool_pauseparam | |||
| 7884 | 7911 | ||
| 7885 | if (netif_running(dev)) { | 7912 | if (netif_running(dev)) { | 
| 7886 | tg3_halt(tp, RESET_KIND_SHUTDOWN, 1); | 7913 | tg3_halt(tp, RESET_KIND_SHUTDOWN, 1); | 
| 7887 | tg3_init_hw(tp); | 7914 | tg3_init_hw(tp, 1); | 
| 7888 | tg3_netif_start(tp); | 7915 | tg3_netif_start(tp); | 
| 7889 | } | 7916 | } | 
| 7890 | 7917 | ||
| @@ -8522,7 +8549,7 @@ static int tg3_test_loopback(struct tg3 *tp) | |||
| 8522 | if (!netif_running(tp->dev)) | 8549 | if (!netif_running(tp->dev)) | 
| 8523 | return TG3_LOOPBACK_FAILED; | 8550 | return TG3_LOOPBACK_FAILED; | 
| 8524 | 8551 | ||
| 8525 | tg3_reset_hw(tp); | 8552 | tg3_reset_hw(tp, 1); | 
| 8526 | 8553 | ||
| 8527 | if (tg3_run_loopback(tp, TG3_MAC_LOOPBACK)) | 8554 | if (tg3_run_loopback(tp, TG3_MAC_LOOPBACK)) | 
| 8528 | err |= TG3_MAC_LOOPBACK_FAILED; | 8555 | err |= TG3_MAC_LOOPBACK_FAILED; | 
| @@ -8596,7 +8623,7 @@ static void tg3_self_test(struct net_device *dev, struct ethtool_test *etest, | |||
| 8596 | tg3_halt(tp, RESET_KIND_SHUTDOWN, 1); | 8623 | tg3_halt(tp, RESET_KIND_SHUTDOWN, 1); | 
| 8597 | if (netif_running(dev)) { | 8624 | if (netif_running(dev)) { | 
| 8598 | tp->tg3_flags |= TG3_FLAG_INIT_COMPLETE; | 8625 | tp->tg3_flags |= TG3_FLAG_INIT_COMPLETE; | 
| 8599 | tg3_init_hw(tp); | 8626 | tg3_init_hw(tp, 1); | 
| 8600 | tg3_netif_start(tp); | 8627 | tg3_netif_start(tp); | 
| 8601 | } | 8628 | } | 
| 8602 | 8629 | ||
| @@ -9377,7 +9404,7 @@ static int tg3_nvram_write_block_buffered(struct tg3 *tp, u32 offset, u32 len, | |||
| 9377 | 9404 | ||
| 9378 | if ((page_off == 0) || (i == 0)) | 9405 | if ((page_off == 0) || (i == 0)) | 
| 9379 | nvram_cmd |= NVRAM_CMD_FIRST; | 9406 | nvram_cmd |= NVRAM_CMD_FIRST; | 
| 9380 | else if (page_off == (tp->nvram_pagesize - 4)) | 9407 | if (page_off == (tp->nvram_pagesize - 4)) | 
| 9381 | nvram_cmd |= NVRAM_CMD_LAST; | 9408 | nvram_cmd |= NVRAM_CMD_LAST; | 
| 9382 | 9409 | ||
| 9383 | if (i == (len - 4)) | 9410 | if (i == (len - 4)) | 
| @@ -10353,10 +10380,13 @@ static int __devinit tg3_get_invariants(struct tg3 *tp) | |||
| 10353 | if (tp->pci_chip_rev_id == CHIPREV_ID_5704_A0) | 10380 | if (tp->pci_chip_rev_id == CHIPREV_ID_5704_A0) | 
| 10354 | tp->tg3_flags2 |= TG3_FLG2_PHY_5704_A0_BUG; | 10381 | tp->tg3_flags2 |= TG3_FLG2_PHY_5704_A0_BUG; | 
| 10355 | 10382 | ||
| 10356 | if ((tp->tg3_flags2 & TG3_FLG2_5705_PLUS) && | 10383 | if (tp->tg3_flags2 & TG3_FLG2_5705_PLUS) { | 
| 10357 | (GET_ASIC_REV(tp->pci_chip_rev_id) != ASIC_REV_5755) && | 10384 | if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5755 || | 
| 10358 | (GET_ASIC_REV(tp->pci_chip_rev_id) != ASIC_REV_5787)) | 10385 | GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5787) | 
| 10359 | tp->tg3_flags2 |= TG3_FLG2_PHY_BER_BUG; | 10386 | tp->tg3_flags2 |= TG3_FLG2_PHY_JITTER_BUG; | 
| 10387 | else | ||
| 10388 | tp->tg3_flags2 |= TG3_FLG2_PHY_BER_BUG; | ||
| 10389 | } | ||
| 10360 | 10390 | ||
| 10361 | tp->coalesce_mode = 0; | 10391 | tp->coalesce_mode = 0; | 
| 10362 | if (GET_CHIP_REV(tp->pci_chip_rev_id) != CHIPREV_5700_AX && | 10392 | if (GET_CHIP_REV(tp->pci_chip_rev_id) != CHIPREV_5700_AX && | 
| @@ -11569,7 +11599,7 @@ static int tg3_suspend(struct pci_dev *pdev, pm_message_t state) | |||
| 11569 | tg3_full_lock(tp, 0); | 11599 | tg3_full_lock(tp, 0); | 
| 11570 | 11600 | ||
| 11571 | tp->tg3_flags |= TG3_FLAG_INIT_COMPLETE; | 11601 | tp->tg3_flags |= TG3_FLAG_INIT_COMPLETE; | 
| 11572 | tg3_init_hw(tp); | 11602 | tg3_init_hw(tp, 1); | 
| 11573 | 11603 | ||
| 11574 | tp->timer.expires = jiffies + tp->timer_offset; | 11604 | tp->timer.expires = jiffies + tp->timer_offset; | 
| 11575 | add_timer(&tp->timer); | 11605 | add_timer(&tp->timer); | 
| @@ -11603,7 +11633,7 @@ static int tg3_resume(struct pci_dev *pdev) | |||
| 11603 | tg3_full_lock(tp, 0); | 11633 | tg3_full_lock(tp, 0); | 
| 11604 | 11634 | ||
| 11605 | tp->tg3_flags |= TG3_FLAG_INIT_COMPLETE; | 11635 | tp->tg3_flags |= TG3_FLAG_INIT_COMPLETE; | 
| 11606 | tg3_init_hw(tp); | 11636 | tg3_init_hw(tp, 1); | 
| 11607 | 11637 | ||
| 11608 | tp->timer.expires = jiffies + tp->timer_offset; | 11638 | tp->timer.expires = jiffies + tp->timer_offset; | 
| 11609 | add_timer(&tp->timer); | 11639 | add_timer(&tp->timer); | 
diff --git a/drivers/net/tg3.h b/drivers/net/tg3.h index 8c8b987d1250..0e29b885d449 100644 --- a/drivers/net/tg3.h +++ b/drivers/net/tg3.h  | |||
| @@ -2215,6 +2215,7 @@ struct tg3 { | |||
| 2215 | #define TG3_FLG2_HW_TSO_2 0x08000000 | 2215 | #define TG3_FLG2_HW_TSO_2 0x08000000 | 
| 2216 | #define TG3_FLG2_HW_TSO (TG3_FLG2_HW_TSO_1 | TG3_FLG2_HW_TSO_2) | 2216 | #define TG3_FLG2_HW_TSO (TG3_FLG2_HW_TSO_1 | TG3_FLG2_HW_TSO_2) | 
| 2217 | #define TG3_FLG2_1SHOT_MSI 0x10000000 | 2217 | #define TG3_FLG2_1SHOT_MSI 0x10000000 | 
| 2218 | #define TG3_FLG2_PHY_JITTER_BUG 0x20000000 | ||
| 2218 | 2219 | ||
| 2219 | u32 split_mode_max_reqs; | 2220 | u32 split_mode_max_reqs; | 
| 2220 | #define SPLIT_MODE_5704_MAX_REQ 3 | 2221 | #define SPLIT_MODE_5704_MAX_REQ 3 | 
diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c index 2087a397ef16..9855c4c920b8 100644 --- a/drivers/pci/msi.c +++ b/drivers/pci/msi.c  | |||
| @@ -793,8 +793,10 @@ static int msix_capability_init(struct pci_dev *dev, | |||
| 793 | if (!entry) | 793 | if (!entry) | 
| 794 | break; | 794 | break; | 
| 795 | vector = get_msi_vector(dev); | 795 | vector = get_msi_vector(dev); | 
| 796 | if (vector < 0) | 796 | if (vector < 0) { | 
| 797 | kmem_cache_free(msi_cachep, entry); | ||
| 797 | break; | 798 | break; | 
| 799 | } | ||
| 798 | 800 | ||
| 799 | j = entries[i].entry; | 801 | j = entries[i].entry; | 
| 800 | entries[i].vector = vector; | 802 | entries[i].vector = vector; | 
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index c42ae2cf8d64..19e2b174d33c 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c  | |||
| @@ -642,13 +642,15 @@ static void quirk_via_irq(struct pci_dev *dev) | |||
| 642 | new_irq = dev->irq & 0xf; | 642 | new_irq = dev->irq & 0xf; | 
| 643 | pci_read_config_byte(dev, PCI_INTERRUPT_LINE, &irq); | 643 | pci_read_config_byte(dev, PCI_INTERRUPT_LINE, &irq); | 
| 644 | if (new_irq != irq) { | 644 | if (new_irq != irq) { | 
| 645 | printk(KERN_INFO "PCI: Via IRQ fixup for %s, from %d to %d\n", | 645 | printk(KERN_INFO "PCI: VIA IRQ fixup for %s, from %d to %d\n", | 
| 646 | pci_name(dev), irq, new_irq); | 646 | pci_name(dev), irq, new_irq); | 
| 647 | udelay(15); /* unknown if delay really needed */ | 647 | udelay(15); /* unknown if delay really needed */ | 
| 648 | pci_write_config_byte(dev, PCI_INTERRUPT_LINE, new_irq); | 648 | pci_write_config_byte(dev, PCI_INTERRUPT_LINE, new_irq); | 
| 649 | } | 649 | } | 
| 650 | } | 650 | } | 
| 651 | DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_ANY_ID, quirk_via_irq); | 651 | DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686, quirk_via_irq); | 
| 652 | DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_4, quirk_via_irq); | ||
| 653 | DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_5, quirk_via_irq); | ||
| 652 | 654 | ||
| 653 | /* | 655 | /* | 
| 654 | * VIA VT82C598 has its device ID settable and many BIOSes | 656 | * VIA VT82C598 has its device ID settable and many BIOSes | 
diff --git a/drivers/pcmcia/i82365.c b/drivers/pcmcia/i82365.c index bd0308e89815..a2f05f485156 100644 --- a/drivers/pcmcia/i82365.c +++ b/drivers/pcmcia/i82365.c  | |||
| @@ -509,7 +509,8 @@ static irqreturn_t i365_count_irq(int irq, void *dev, struct pt_regs *regs) | |||
| 509 | static u_int __init test_irq(u_short sock, int irq) | 509 | static u_int __init test_irq(u_short sock, int irq) | 
| 510 | { | 510 | { | 
| 511 | debug(2, " testing ISA irq %d\n", irq); | 511 | debug(2, " testing ISA irq %d\n", irq); | 
| 512 | if (request_irq(irq, i365_count_irq, 0, "scan", i365_count_irq) != 0) | 512 | if (request_irq(irq, i365_count_irq, SA_PROBEIRQ, "scan", | 
| 513 | i365_count_irq) != 0) | ||
| 513 | return 1; | 514 | return 1; | 
| 514 | irq_hits = 0; irq_sock = sock; | 515 | irq_hits = 0; irq_sock = sock; | 
| 515 | msleep(10); | 516 | msleep(10); | 
| @@ -561,7 +562,7 @@ static u_int __init isa_scan(u_short sock, u_int mask0) | |||
| 561 | } else { | 562 | } else { | 
| 562 | /* Fallback: just find interrupts that aren't in use */ | 563 | /* Fallback: just find interrupts that aren't in use */ | 
| 563 | for (i = 0; i < 16; i++) | 564 | for (i = 0; i < 16; i++) | 
| 564 | if ((mask0 & (1 << i)) && (_check_irq(i, 0) == 0)) | 565 | if ((mask0 & (1 << i)) && (_check_irq(i, SA_PROBEIRQ) == 0)) | 
| 565 | mask1 |= (1 << i); | 566 | mask1 |= (1 << i); | 
| 566 | printk("default"); | 567 | printk("default"); | 
| 567 | /* If scan failed, default to polled status */ | 568 | /* If scan failed, default to polled status */ | 
| @@ -725,7 +726,7 @@ static void __init add_pcic(int ns, int type) | |||
| 725 | u_int cs_mask = mask & ((cs_irq) ? (1<<cs_irq) : ~(1<<12)); | 726 | u_int cs_mask = mask & ((cs_irq) ? (1<<cs_irq) : ~(1<<12)); | 
| 726 | for (cs_irq = 15; cs_irq > 0; cs_irq--) | 727 | for (cs_irq = 15; cs_irq > 0; cs_irq--) | 
| 727 | if ((cs_mask & (1 << cs_irq)) && | 728 | if ((cs_mask & (1 << cs_irq)) && | 
| 728 | (_check_irq(cs_irq, 0) == 0)) | 729 | (_check_irq(cs_irq, SA_PROBEIRQ) == 0)) | 
| 729 | break; | 730 | break; | 
| 730 | if (cs_irq) { | 731 | if (cs_irq) { | 
| 731 | grab_irq = 1; | 732 | grab_irq = 1; | 
diff --git a/drivers/rtc/rtc-dev.c b/drivers/rtc/rtc-dev.c index b1e3e6179e56..6c9ad92747fd 100644 --- a/drivers/rtc/rtc-dev.c +++ b/drivers/rtc/rtc-dev.c  | |||
| @@ -58,7 +58,7 @@ rtc_dev_read(struct file *file, char __user *buf, size_t count, loff_t *ppos) | |||
| 58 | unsigned long data; | 58 | unsigned long data; | 
| 59 | ssize_t ret; | 59 | ssize_t ret; | 
| 60 | 60 | ||
| 61 | if (count < sizeof(unsigned long)) | 61 | if (count != sizeof(unsigned int) && count < sizeof(unsigned long)) | 
| 62 | return -EINVAL; | 62 | return -EINVAL; | 
| 63 | 63 | ||
| 64 | add_wait_queue(&rtc->irq_queue, &wait); | 64 | add_wait_queue(&rtc->irq_queue, &wait); | 
| @@ -90,11 +90,16 @@ rtc_dev_read(struct file *file, char __user *buf, size_t count, loff_t *ppos) | |||
| 90 | if (ret == 0) { | 90 | if (ret == 0) { | 
| 91 | /* Check for any data updates */ | 91 | /* Check for any data updates */ | 
| 92 | if (rtc->ops->read_callback) | 92 | if (rtc->ops->read_callback) | 
| 93 | data = rtc->ops->read_callback(rtc->class_dev.dev, data); | 93 | data = rtc->ops->read_callback(rtc->class_dev.dev, | 
| 94 | 94 | data); | |
| 95 | ret = put_user(data, (unsigned long __user *)buf); | 95 | |
| 96 | if (ret == 0) | 96 | if (sizeof(int) != sizeof(long) && | 
| 97 | ret = sizeof(unsigned long); | 97 | count == sizeof(unsigned int)) | 
| 98 | ret = put_user(data, (unsigned int __user *)buf) ?: | ||
| 99 | sizeof(unsigned int); | ||
| 100 | else | ||
| 101 | ret = put_user(data, (unsigned long __user *)buf) ?: | ||
| 102 | sizeof(unsigned long); | ||
| 98 | } | 103 | } | 
| 99 | return ret; | 104 | return ret; | 
| 100 | } | 105 | } | 
diff --git a/drivers/s390/block/dasd.c b/drivers/s390/block/dasd.c index a3bfebcf31ef..cfb1fff3787c 100644 --- a/drivers/s390/block/dasd.c +++ b/drivers/s390/block/dasd.c  | |||
| @@ -315,6 +315,11 @@ dasd_increase_state(struct dasd_device *device) | |||
| 315 | rc = dasd_state_basic_to_ready(device); | 315 | rc = dasd_state_basic_to_ready(device); | 
| 316 | 316 | ||
| 317 | if (!rc && | 317 | if (!rc && | 
| 318 | device->state == DASD_STATE_UNFMT && | ||
| 319 | device->target > DASD_STATE_UNFMT) | ||
| 320 | rc = -EPERM; | ||
| 321 | |||
| 322 | if (!rc && | ||
| 318 | device->state == DASD_STATE_READY && | 323 | device->state == DASD_STATE_READY && | 
| 319 | device->target >= DASD_STATE_ONLINE) | 324 | device->target >= DASD_STATE_ONLINE) | 
| 320 | rc = dasd_state_ready_to_online(device); | 325 | rc = dasd_state_ready_to_online(device); | 
diff --git a/drivers/s390/block/dasd_devmap.c b/drivers/s390/block/dasd_devmap.c index c1c6f1381150..216bc4fba199 100644 --- a/drivers/s390/block/dasd_devmap.c +++ b/drivers/s390/block/dasd_devmap.c  | |||
| @@ -45,6 +45,7 @@ struct dasd_devmap { | |||
| 45 | unsigned int devindex; | 45 | unsigned int devindex; | 
| 46 | unsigned short features; | 46 | unsigned short features; | 
| 47 | struct dasd_device *device; | 47 | struct dasd_device *device; | 
| 48 | struct dasd_uid uid; | ||
| 48 | }; | 49 | }; | 
| 49 | 50 | ||
| 50 | /* | 51 | /* | 
| @@ -716,6 +717,68 @@ dasd_discipline_show(struct device *dev, struct device_attribute *attr, char *bu | |||
| 716 | 717 | ||
| 717 | static DEVICE_ATTR(discipline, 0444, dasd_discipline_show, NULL); | 718 | static DEVICE_ATTR(discipline, 0444, dasd_discipline_show, NULL); | 
| 718 | 719 | ||
| 720 | static ssize_t | ||
| 721 | dasd_alias_show(struct device *dev, struct device_attribute *attr, char *buf) | ||
| 722 | { | ||
| 723 | struct dasd_devmap *devmap; | ||
| 724 | int alias; | ||
| 725 | |||
| 726 | devmap = dasd_find_busid(dev->bus_id); | ||
| 727 | spin_lock(&dasd_devmap_lock); | ||
| 728 | if (!IS_ERR(devmap)) | ||
| 729 | alias = devmap->uid.alias; | ||
| 730 | else | ||
| 731 | alias = 0; | ||
| 732 | spin_unlock(&dasd_devmap_lock); | ||
| 733 | |||
| 734 | return sprintf(buf, alias ? "1\n" : "0\n"); | ||
| 735 | } | ||
| 736 | |||
| 737 | static DEVICE_ATTR(alias, 0444, dasd_alias_show, NULL); | ||
| 738 | |||
| 739 | static ssize_t | ||
| 740 | dasd_vendor_show(struct device *dev, struct device_attribute *attr, char *buf) | ||
| 741 | { | ||
| 742 | struct dasd_devmap *devmap; | ||
| 743 | char *vendor; | ||
| 744 | |||
| 745 | devmap = dasd_find_busid(dev->bus_id); | ||
| 746 | spin_lock(&dasd_devmap_lock); | ||
| 747 | if (!IS_ERR(devmap) && strlen(devmap->uid.vendor) > 0) | ||
| 748 | vendor = devmap->uid.vendor; | ||
| 749 | else | ||
| 750 | vendor = ""; | ||
| 751 | spin_unlock(&dasd_devmap_lock); | ||
| 752 | |||
| 753 | return snprintf(buf, PAGE_SIZE, "%s\n", vendor); | ||
| 754 | } | ||
| 755 | |||
| 756 | static DEVICE_ATTR(vendor, 0444, dasd_vendor_show, NULL); | ||
| 757 | |||
| 758 | #define UID_STRLEN ( /* vendor */ 3 + 1 + /* serial */ 14 + 1 +\ | ||
| 759 | /* SSID */ 4 + 1 + /* unit addr */ 2 + 1) | ||
| 760 | |||
| 761 | static ssize_t | ||
| 762 | dasd_uid_show(struct device *dev, struct device_attribute *attr, char *buf) | ||
| 763 | { | ||
| 764 | struct dasd_devmap *devmap; | ||
| 765 | char uid[UID_STRLEN]; | ||
| 766 | |||
| 767 | devmap = dasd_find_busid(dev->bus_id); | ||
| 768 | spin_lock(&dasd_devmap_lock); | ||
| 769 | if (!IS_ERR(devmap) && strlen(devmap->uid.vendor) > 0) | ||
| 770 | snprintf(uid, sizeof(uid), "%s.%s.%04x.%02x", | ||
| 771 | devmap->uid.vendor, devmap->uid.serial, | ||
| 772 | devmap->uid.ssid, devmap->uid.unit_addr); | ||
| 773 | else | ||
| 774 | uid[0] = 0; | ||
| 775 | spin_unlock(&dasd_devmap_lock); | ||
| 776 | |||
| 777 | return snprintf(buf, PAGE_SIZE, "%s\n", uid); | ||
| 778 | } | ||
| 779 | |||
| 780 | static DEVICE_ATTR(uid, 0444, dasd_uid_show, NULL); | ||
| 781 | |||
| 719 | /* | 782 | /* | 
| 720 | * extended error-reporting | 783 | * extended error-reporting | 
| 721 | */ | 784 | */ | 
| @@ -759,6 +822,9 @@ static DEVICE_ATTR(eer_enabled, 0644, dasd_eer_show, dasd_eer_store); | |||
| 759 | static struct attribute * dasd_attrs[] = { | 822 | static struct attribute * dasd_attrs[] = { | 
| 760 | &dev_attr_readonly.attr, | 823 | &dev_attr_readonly.attr, | 
| 761 | &dev_attr_discipline.attr, | 824 | &dev_attr_discipline.attr, | 
| 825 | &dev_attr_alias.attr, | ||
| 826 | &dev_attr_vendor.attr, | ||
| 827 | &dev_attr_uid.attr, | ||
| 762 | &dev_attr_use_diag.attr, | 828 | &dev_attr_use_diag.attr, | 
| 763 | &dev_attr_eer_enabled.attr, | 829 | &dev_attr_eer_enabled.attr, | 
| 764 | NULL, | 830 | NULL, | 
| @@ -768,6 +834,42 @@ static struct attribute_group dasd_attr_group = { | |||
| 768 | .attrs = dasd_attrs, | 834 | .attrs = dasd_attrs, | 
| 769 | }; | 835 | }; | 
| 770 | 836 | ||
| 837 | |||
| 838 | /* | ||
| 839 | * Return copy of the device unique identifier. | ||
| 840 | */ | ||
| 841 | int | ||
| 842 | dasd_get_uid(struct ccw_device *cdev, struct dasd_uid *uid) | ||
| 843 | { | ||
| 844 | struct dasd_devmap *devmap; | ||
| 845 | |||
| 846 | devmap = dasd_find_busid(cdev->dev.bus_id); | ||
| 847 | if (IS_ERR(devmap)) | ||
| 848 | return PTR_ERR(devmap); | ||
| 849 | spin_lock(&dasd_devmap_lock); | ||
| 850 | *uid = devmap->uid; | ||
| 851 | spin_unlock(&dasd_devmap_lock); | ||
| 852 | return 0; | ||
| 853 | } | ||
| 854 | |||
| 855 | /* | ||
| 856 | * Register the given device unique identifier into devmap struct. | ||
| 857 | */ | ||
| 858 | int | ||
| 859 | dasd_set_uid(struct ccw_device *cdev, struct dasd_uid *uid) | ||
| 860 | { | ||
| 861 | struct dasd_devmap *devmap; | ||
| 862 | |||
| 863 | devmap = dasd_find_busid(cdev->dev.bus_id); | ||
| 864 | if (IS_ERR(devmap)) | ||
| 865 | return PTR_ERR(devmap); | ||
| 866 | spin_lock(&dasd_devmap_lock); | ||
| 867 | devmap->uid = *uid; | ||
| 868 | spin_unlock(&dasd_devmap_lock); | ||
| 869 | return 0; | ||
| 870 | } | ||
| 871 | EXPORT_SYMBOL(dasd_set_uid); | ||
| 872 | |||
| 771 | /* | 873 | /* | 
| 772 | * Return value of the specified feature. | 874 | * Return value of the specified feature. | 
| 773 | */ | 875 | */ | 
diff --git a/drivers/s390/block/dasd_eckd.c b/drivers/s390/block/dasd_eckd.c index ee09ef33d08d..7d5a6cee4bd8 100644 --- a/drivers/s390/block/dasd_eckd.c +++ b/drivers/s390/block/dasd_eckd.c  | |||
| @@ -446,6 +446,39 @@ dasd_eckd_cdl_reclen(int recid) | |||
| 446 | return LABEL_SIZE; | 446 | return LABEL_SIZE; | 
| 447 | } | 447 | } | 
| 448 | 448 | ||
| 449 | /* | ||
| 450 | * Generate device unique id that specifies the physical device. | ||
| 451 | */ | ||
| 452 | static int | ||
| 453 | dasd_eckd_generate_uid(struct dasd_device *device, struct dasd_uid *uid) | ||
| 454 | { | ||
| 455 | struct dasd_eckd_private *private; | ||
| 456 | struct dasd_eckd_confdata *confdata; | ||
| 457 | |||
| 458 | private = (struct dasd_eckd_private *) device->private; | ||
| 459 | if (!private) | ||
| 460 | return -ENODEV; | ||
| 461 | confdata = &private->conf_data; | ||
| 462 | if (!confdata) | ||
| 463 | return -ENODEV; | ||
| 464 | |||
| 465 | memset(uid, 0, sizeof(struct dasd_uid)); | ||
| 466 | strncpy(uid->vendor, confdata->ned1.HDA_manufacturer, | ||
| 467 | sizeof(uid->vendor) - 1); | ||
| 468 | EBCASC(uid->vendor, sizeof(uid->vendor) - 1); | ||
| 469 | strncpy(uid->serial, confdata->ned1.HDA_location, | ||
| 470 | sizeof(uid->serial) - 1); | ||
| 471 | EBCASC(uid->serial, sizeof(uid->serial) - 1); | ||
| 472 | uid->ssid = confdata->neq.subsystemID; | ||
| 473 | if (confdata->ned2.sneq.flags == 0x40) { | ||
| 474 | uid->alias = 1; | ||
| 475 | uid->unit_addr = confdata->ned2.sneq.base_unit_addr; | ||
| 476 | } else | ||
| 477 | uid->unit_addr = confdata->ned1.unit_addr; | ||
| 478 | |||
| 479 | return 0; | ||
| 480 | } | ||
| 481 | |||
| 449 | static int | 482 | static int | 
| 450 | dasd_eckd_read_conf(struct dasd_device *device) | 483 | dasd_eckd_read_conf(struct dasd_device *device) | 
| 451 | { | 484 | { | 
| @@ -507,11 +540,15 @@ dasd_eckd_read_conf(struct dasd_device *device) | |||
| 507 | return 0; | 540 | return 0; | 
| 508 | } | 541 | } | 
| 509 | 542 | ||
| 510 | 543 | /* | |
| 544 | * Check device characteristics. | ||
| 545 | * If the device is accessible using ECKD discipline, the device is enabled. | ||
| 546 | */ | ||
| 511 | static int | 547 | static int | 
| 512 | dasd_eckd_check_characteristics(struct dasd_device *device) | 548 | dasd_eckd_check_characteristics(struct dasd_device *device) | 
| 513 | { | 549 | { | 
| 514 | struct dasd_eckd_private *private; | 550 | struct dasd_eckd_private *private; | 
| 551 | struct dasd_uid uid; | ||
| 515 | void *rdc_data; | 552 | void *rdc_data; | 
| 516 | int rc; | 553 | int rc; | 
| 517 | 554 | ||
| @@ -536,6 +573,7 @@ dasd_eckd_check_characteristics(struct dasd_device *device) | |||
| 536 | 573 | ||
| 537 | /* Read Device Characteristics */ | 574 | /* Read Device Characteristics */ | 
| 538 | rdc_data = (void *) &(private->rdc_data); | 575 | rdc_data = (void *) &(private->rdc_data); | 
| 576 | memset(rdc_data, 0, sizeof(rdc_data)); | ||
| 539 | rc = read_dev_chars(device->cdev, &rdc_data, 64); | 577 | rc = read_dev_chars(device->cdev, &rdc_data, 64); | 
| 540 | if (rc) { | 578 | if (rc) { | 
| 541 | DEV_MESSAGE(KERN_WARNING, device, | 579 | DEV_MESSAGE(KERN_WARNING, device, | 
| @@ -556,8 +594,17 @@ dasd_eckd_check_characteristics(struct dasd_device *device) | |||
| 556 | 594 | ||
| 557 | /* Read Configuration Data */ | 595 | /* Read Configuration Data */ | 
| 558 | rc = dasd_eckd_read_conf (device); | 596 | rc = dasd_eckd_read_conf (device); | 
| 559 | return rc; | 597 | if (rc) | 
| 598 | return rc; | ||
| 599 | |||
| 600 | /* Generate device unique id and register in devmap */ | ||
| 601 | rc = dasd_eckd_generate_uid(device, &uid); | ||
| 602 | if (rc) | ||
| 603 | return rc; | ||
| 560 | 604 | ||
| 605 | rc = dasd_set_uid(device->cdev, &uid); | ||
| 606 | |||
| 607 | return rc; | ||
| 561 | } | 608 | } | 
| 562 | 609 | ||
| 563 | static struct dasd_ccw_req * | 610 | static struct dasd_ccw_req * | 
diff --git a/drivers/s390/block/dasd_eckd.h b/drivers/s390/block/dasd_eckd.h index ad8524bb7bb3..d5734e976e1c 100644 --- a/drivers/s390/block/dasd_eckd.h +++ b/drivers/s390/block/dasd_eckd.h  | |||
| @@ -228,26 +228,36 @@ struct dasd_eckd_confdata { | |||
| 228 | unsigned char HDA_manufacturer[3]; | 228 | unsigned char HDA_manufacturer[3]; | 
| 229 | unsigned char HDA_location[2]; | 229 | unsigned char HDA_location[2]; | 
| 230 | unsigned char HDA_seqno[12]; | 230 | unsigned char HDA_seqno[12]; | 
| 231 | __u16 ID; | 231 | __u8 ID; | 
| 232 | __u8 unit_addr; | ||
| 232 | } __attribute__ ((packed)) ned1; | 233 | } __attribute__ ((packed)) ned1; | 
| 233 | struct { | 234 | union { | 
| 234 | struct { | 235 | struct { | 
| 235 | unsigned char identifier:2; | 236 | struct { | 
| 236 | unsigned char token_id:1; | 237 | unsigned char identifier:2; | 
| 237 | unsigned char sno_valid:1; | 238 | unsigned char token_id:1; | 
| 238 | unsigned char subst_sno:1; | 239 | unsigned char sno_valid:1; | 
| 239 | unsigned char recNED:1; | 240 | unsigned char subst_sno:1; | 
| 240 | unsigned char emuNED:1; | 241 | unsigned char recNED:1; | 
| 241 | unsigned char reserved:1; | 242 | unsigned char emuNED:1; | 
| 242 | } __attribute__ ((packed)) flags; | 243 | unsigned char reserved:1; | 
| 243 | __u8 descriptor; | 244 | } __attribute__ ((packed)) flags; | 
| 244 | __u8 reserved[2]; | 245 | __u8 descriptor; | 
| 245 | unsigned char dev_type[6]; | 246 | __u8 reserved[2]; | 
| 246 | unsigned char dev_model[3]; | 247 | unsigned char dev_type[6]; | 
| 247 | unsigned char DASD_manufacturer[3]; | 248 | unsigned char dev_model[3]; | 
| 248 | unsigned char DASD_location[2]; | 249 | unsigned char DASD_manufacturer[3]; | 
| 249 | unsigned char DASD_seqno[12]; | 250 | unsigned char DASD_location[2]; | 
| 250 | __u16 ID; | 251 | unsigned char DASD_seqno[12]; | 
| 252 | __u16 ID; | ||
| 253 | } __attribute__ ((packed)) ned; | ||
| 254 | struct { | ||
| 255 | unsigned char flags; /* byte 0 */ | ||
| 256 | unsigned char res2[7]; /* byte 1- 7 */ | ||
| 257 | unsigned char sua_flags; /* byte 8 */ | ||
| 258 | __u8 base_unit_addr; /* byte 9 */ | ||
| 259 | unsigned char res3[22]; /* byte 10-31 */ | ||
| 260 | } __attribute__ ((packed)) sneq; | ||
| 251 | } __attribute__ ((packed)) ned2; | 261 | } __attribute__ ((packed)) ned2; | 
| 252 | struct { | 262 | struct { | 
| 253 | struct { | 263 | struct { | 
diff --git a/drivers/s390/block/dasd_int.h b/drivers/s390/block/dasd_int.h index 4293ba827523..d4b13e300a76 100644 --- a/drivers/s390/block/dasd_int.h +++ b/drivers/s390/block/dasd_int.h  | |||
| @@ -268,6 +268,16 @@ struct dasd_discipline { | |||
| 268 | 268 | ||
| 269 | extern struct dasd_discipline *dasd_diag_discipline_pointer; | 269 | extern struct dasd_discipline *dasd_diag_discipline_pointer; | 
| 270 | 270 | ||
| 271 | /* | ||
| 272 | * Unique identifier for dasd device. | ||
| 273 | */ | ||
| 274 | struct dasd_uid { | ||
| 275 | __u8 alias; | ||
| 276 | char vendor[4]; | ||
| 277 | char serial[15]; | ||
| 278 | __u16 ssid; | ||
| 279 | __u8 unit_addr; | ||
| 280 | }; | ||
| 271 | 281 | ||
| 272 | /* | 282 | /* | 
| 273 | * Notification numbers for extended error reporting notifications: | 283 | * Notification numbers for extended error reporting notifications: | 
| @@ -516,6 +526,8 @@ void dasd_devmap_exit(void); | |||
| 516 | struct dasd_device *dasd_create_device(struct ccw_device *); | 526 | struct dasd_device *dasd_create_device(struct ccw_device *); | 
| 517 | void dasd_delete_device(struct dasd_device *); | 527 | void dasd_delete_device(struct dasd_device *); | 
| 518 | 528 | ||
| 529 | int dasd_get_uid(struct ccw_device *, struct dasd_uid *); | ||
| 530 | int dasd_set_uid(struct ccw_device *, struct dasd_uid *); | ||
| 519 | int dasd_get_feature(struct ccw_device *, int); | 531 | int dasd_get_feature(struct ccw_device *, int); | 
| 520 | int dasd_set_feature(struct ccw_device *, int, int); | 532 | int dasd_set_feature(struct ccw_device *, int, int); | 
| 521 | 533 | ||
diff --git a/drivers/s390/char/tape_3590.c b/drivers/s390/char/tape_3590.c index c3915f60a3aa..d71ef1adea59 100644 --- a/drivers/s390/char/tape_3590.c +++ b/drivers/s390/char/tape_3590.c  | |||
| @@ -230,14 +230,16 @@ tape_3590_read_attmsg(struct tape_device *device) | |||
| 230 | * These functions are used to schedule follow-up actions from within an | 230 | * These functions are used to schedule follow-up actions from within an | 
| 231 | * interrupt context (like unsolicited interrupts). | 231 | * interrupt context (like unsolicited interrupts). | 
| 232 | */ | 232 | */ | 
| 233 | struct work_handler_data { | ||
| 234 | struct tape_device *device; | ||
| 235 | enum tape_op op; | ||
| 236 | struct work_struct work; | ||
| 237 | }; | ||
| 238 | |||
| 233 | static void | 239 | static void | 
| 234 | tape_3590_work_handler(void *data) | 240 | tape_3590_work_handler(void *data) | 
| 235 | { | 241 | { | 
| 236 | struct { | 242 | struct work_handler_data *p = data; | 
| 237 | struct tape_device *device; | ||
| 238 | enum tape_op op; | ||
| 239 | struct work_struct work; | ||
| 240 | } *p = data; | ||
| 241 | 243 | ||
| 242 | switch (p->op) { | 244 | switch (p->op) { | 
| 243 | case TO_MSEN: | 245 | case TO_MSEN: | 
| @@ -257,11 +259,7 @@ tape_3590_work_handler(void *data) | |||
| 257 | static int | 259 | static int | 
| 258 | tape_3590_schedule_work(struct tape_device *device, enum tape_op op) | 260 | tape_3590_schedule_work(struct tape_device *device, enum tape_op op) | 
| 259 | { | 261 | { | 
| 260 | struct { | 262 | struct work_handler_data *p; | 
| 261 | struct tape_device *device; | ||
| 262 | enum tape_op op; | ||
| 263 | struct work_struct work; | ||
| 264 | } *p; | ||
| 265 | 263 | ||
| 266 | if ((p = kzalloc(sizeof(*p), GFP_ATOMIC)) == NULL) | 264 | if ((p = kzalloc(sizeof(*p), GFP_ATOMIC)) == NULL) | 
| 267 | return -ENOMEM; | 265 | return -ENOMEM; | 
| @@ -316,7 +314,7 @@ tape_3590_bread(struct tape_device *device, struct request *req) | |||
| 316 | 314 | ||
| 317 | rq_for_each_bio(bio, req) { | 315 | rq_for_each_bio(bio, req) { | 
| 318 | bio_for_each_segment(bv, bio, i) { | 316 | bio_for_each_segment(bv, bio, i) { | 
| 319 | dst = kmap(bv->bv_page) + bv->bv_offset; | 317 | dst = page_address(bv->bv_page) + bv->bv_offset; | 
| 320 | for (off = 0; off < bv->bv_len; | 318 | for (off = 0; off < bv->bv_len; | 
| 321 | off += TAPEBLOCK_HSEC_SIZE) { | 319 | off += TAPEBLOCK_HSEC_SIZE) { | 
| 322 | ccw->flags = CCW_FLAG_CC; | 320 | ccw->flags = CCW_FLAG_CC; | 
| @@ -1168,6 +1166,7 @@ tape_3590_setup_device(struct tape_device *device) | |||
| 1168 | static void | 1166 | static void | 
| 1169 | tape_3590_cleanup_device(struct tape_device *device) | 1167 | tape_3590_cleanup_device(struct tape_device *device) | 
| 1170 | { | 1168 | { | 
| 1169 | flush_scheduled_work(); | ||
| 1171 | tape_std_unassign(device); | 1170 | tape_std_unassign(device); | 
| 1172 | 1171 | ||
| 1173 | kfree(device->discdata); | 1172 | kfree(device->discdata); | 
| @@ -1234,6 +1233,7 @@ static struct tape_discipline tape_discipline_3590 = { | |||
| 1234 | 1233 | ||
| 1235 | static struct ccw_device_id tape_3590_ids[] = { | 1234 | static struct ccw_device_id tape_3590_ids[] = { | 
| 1236 | {CCW_DEVICE_DEVTYPE(0x3590, 0, 0x3590, 0), .driver_info = tape_3590}, | 1235 | {CCW_DEVICE_DEVTYPE(0x3590, 0, 0x3590, 0), .driver_info = tape_3590}, | 
| 1236 | {CCW_DEVICE_DEVTYPE(0x3592, 0, 0x3592, 0), .driver_info = tape_3592}, | ||
| 1237 | { /* end of list */ } | 1237 | { /* end of list */ } | 
| 1238 | }; | 1238 | }; | 
| 1239 | 1239 | ||
diff --git a/drivers/s390/char/tape_std.h b/drivers/s390/char/tape_std.h index 2d311798edf4..1fc952359341 100644 --- a/drivers/s390/char/tape_std.h +++ b/drivers/s390/char/tape_std.h  | |||
| @@ -153,6 +153,7 @@ enum s390_tape_type { | |||
| 153 | tape_3480, | 153 | tape_3480, | 
| 154 | tape_3490, | 154 | tape_3490, | 
| 155 | tape_3590, | 155 | tape_3590, | 
| 156 | tape_3592, | ||
| 156 | }; | 157 | }; | 
| 157 | 158 | ||
| 158 | #endif // _TAPE_STD_H | 159 | #endif // _TAPE_STD_H | 
diff --git a/drivers/s390/cio/chsc.c b/drivers/s390/cio/chsc.c index 6412b2c3edd3..72187e54dcac 100644 --- a/drivers/s390/cio/chsc.c +++ b/drivers/s390/cio/chsc.c  | |||
| @@ -242,28 +242,10 @@ s390_subchannel_remove_chpid(struct device *dev, void *data) | |||
| 242 | if (sch->vpm == mask) | 242 | if (sch->vpm == mask) | 
| 243 | goto out_unreg; | 243 | goto out_unreg; | 
| 244 | 244 | ||
| 245 | if ((sch->schib.scsw.actl & (SCSW_ACTL_CLEAR_PEND | | 245 | if ((sch->schib.scsw.actl & SCSW_ACTL_DEVACT) && | 
| 246 | SCSW_ACTL_HALT_PEND | | 246 | (sch->schib.scsw.actl & SCSW_ACTL_SCHACT) && | 
| 247 | SCSW_ACTL_START_PEND | | 247 | (sch->schib.pmcw.lpum == mask) && | 
| 248 | SCSW_ACTL_RESUME_PEND)) && | 248 | (sch->vpm == 0)) { | 
| 249 | (sch->schib.pmcw.lpum == mask)) { | ||
| 250 | int cc = cio_cancel(sch); | ||
| 251 | |||
| 252 | if (cc == -ENODEV) | ||
| 253 | goto out_unreg; | ||
| 254 | |||
| 255 | if (cc == -EINVAL) { | ||
| 256 | cc = cio_clear(sch); | ||
| 257 | if (cc == -ENODEV) | ||
| 258 | goto out_unreg; | ||
| 259 | /* Call handler. */ | ||
| 260 | if (sch->driver && sch->driver->termination) | ||
| 261 | sch->driver->termination(&sch->dev); | ||
| 262 | goto out_unlock; | ||
| 263 | } | ||
| 264 | } else if ((sch->schib.scsw.actl & SCSW_ACTL_DEVACT) && | ||
| 265 | (sch->schib.scsw.actl & SCSW_ACTL_SCHACT) && | ||
| 266 | (sch->schib.pmcw.lpum == mask)) { | ||
| 267 | int cc; | 249 | int cc; | 
| 268 | 250 | ||
| 269 | cc = cio_clear(sch); | 251 | cc = cio_clear(sch); | 
| @@ -653,13 +635,13 @@ __chp_add(struct subchannel_id schid, void *data) | |||
| 653 | if (sch->schib.pmcw.chpid[i] == chp->id) { | 635 | if (sch->schib.pmcw.chpid[i] == chp->id) { | 
| 654 | if (stsch(sch->schid, &sch->schib) != 0) { | 636 | if (stsch(sch->schid, &sch->schib) != 0) { | 
| 655 | /* Endgame. */ | 637 | /* Endgame. */ | 
| 656 | spin_unlock(&sch->lock); | 638 | spin_unlock_irq(&sch->lock); | 
| 657 | return -ENXIO; | 639 | return -ENXIO; | 
| 658 | } | 640 | } | 
| 659 | break; | 641 | break; | 
| 660 | } | 642 | } | 
| 661 | if (i==8) { | 643 | if (i==8) { | 
| 662 | spin_unlock(&sch->lock); | 644 | spin_unlock_irq(&sch->lock); | 
| 663 | return 0; | 645 | return 0; | 
| 664 | } | 646 | } | 
| 665 | sch->lpm = ((sch->schib.pmcw.pim & | 647 | sch->lpm = ((sch->schib.pmcw.pim & | 
diff --git a/drivers/s390/cio/qdio.c b/drivers/s390/cio/qdio.c index 814f9258ce00..96f519281d92 100644 --- a/drivers/s390/cio/qdio.c +++ b/drivers/s390/cio/qdio.c  | |||
| @@ -38,6 +38,7 @@ | |||
| 38 | #include <linux/kernel.h> | 38 | #include <linux/kernel.h> | 
| 39 | #include <linux/proc_fs.h> | 39 | #include <linux/proc_fs.h> | 
| 40 | #include <linux/timer.h> | 40 | #include <linux/timer.h> | 
| 41 | #include <linux/mempool.h> | ||
| 41 | 42 | ||
| 42 | #include <asm/ccwdev.h> | 43 | #include <asm/ccwdev.h> | 
| 43 | #include <asm/io.h> | 44 | #include <asm/io.h> | 
| @@ -80,6 +81,8 @@ static int indicator_used[INDICATORS_PER_CACHELINE]; | |||
| 80 | static __u32 * volatile indicators; | 81 | static __u32 * volatile indicators; | 
| 81 | static __u32 volatile spare_indicator; | 82 | static __u32 volatile spare_indicator; | 
| 82 | static atomic_t spare_indicator_usecount; | 83 | static atomic_t spare_indicator_usecount; | 
| 84 | #define QDIO_MEMPOOL_SCSSC_ELEMENTS 2 | ||
| 85 | static mempool_t *qdio_mempool_scssc; | ||
| 83 | 86 | ||
| 84 | static debug_info_t *qdio_dbf_setup; | 87 | static debug_info_t *qdio_dbf_setup; | 
| 85 | static debug_info_t *qdio_dbf_sbal; | 88 | static debug_info_t *qdio_dbf_sbal; | 
| @@ -1637,7 +1640,7 @@ next: | |||
| 1637 | 1640 | ||
| 1638 | } | 1641 | } | 
| 1639 | kfree(irq_ptr->qdr); | 1642 | kfree(irq_ptr->qdr); | 
| 1640 | kfree(irq_ptr); | 1643 | free_page((unsigned long) irq_ptr); | 
| 1641 | } | 1644 | } | 
| 1642 | 1645 | ||
| 1643 | static void | 1646 | static void | 
| @@ -2304,7 +2307,7 @@ qdio_get_ssqd_information(struct qdio_irq *irq_ptr) | |||
| 2304 | 2307 | ||
| 2305 | QDIO_DBF_TEXT0(0,setup,"getssqd"); | 2308 | QDIO_DBF_TEXT0(0,setup,"getssqd"); | 
| 2306 | qdioac = 0; | 2309 | qdioac = 0; | 
| 2307 | ssqd_area = (void *)get_zeroed_page(GFP_KERNEL | GFP_DMA); | 2310 | ssqd_area = mempool_alloc(qdio_mempool_scssc, GFP_ATOMIC); | 
| 2308 | if (!ssqd_area) { | 2311 | if (!ssqd_area) { | 
| 2309 | QDIO_PRINT_WARN("Could not get memory for chsc. Using all " \ | 2312 | QDIO_PRINT_WARN("Could not get memory for chsc. Using all " \ | 
| 2310 | "SIGAs for sch x%x.\n", irq_ptr->schid.sch_no); | 2313 | "SIGAs for sch x%x.\n", irq_ptr->schid.sch_no); | 
| @@ -2364,7 +2367,7 @@ qdio_get_ssqd_information(struct qdio_irq *irq_ptr) | |||
| 2364 | out: | 2367 | out: | 
| 2365 | qdio_check_subchannel_qebsm(irq_ptr, qdioac, | 2368 | qdio_check_subchannel_qebsm(irq_ptr, qdioac, | 
| 2366 | ssqd_area->sch_token); | 2369 | ssqd_area->sch_token); | 
| 2367 | free_page ((unsigned long) ssqd_area); | 2370 | mempool_free(ssqd_area, qdio_mempool_scssc); | 
| 2368 | irq_ptr->qdioac = qdioac; | 2371 | irq_ptr->qdioac = qdioac; | 
| 2369 | } | 2372 | } | 
| 2370 | 2373 | ||
| @@ -2458,7 +2461,7 @@ tiqdio_set_subchannel_ind(struct qdio_irq *irq_ptr, int reset_to_zero) | |||
| 2458 | virt_to_phys((volatile void *)irq_ptr->dev_st_chg_ind); | 2461 | virt_to_phys((volatile void *)irq_ptr->dev_st_chg_ind); | 
| 2459 | } | 2462 | } | 
| 2460 | 2463 | ||
| 2461 | scssc_area = (void *)get_zeroed_page(GFP_KERNEL | GFP_DMA); | 2464 | scssc_area = mempool_alloc(qdio_mempool_scssc, GFP_ATOMIC); | 
| 2462 | if (!scssc_area) { | 2465 | if (!scssc_area) { | 
| 2463 | QDIO_PRINT_WARN("No memory for setting indicators on " \ | 2466 | QDIO_PRINT_WARN("No memory for setting indicators on " \ | 
| 2464 | "subchannel 0.%x.%x.\n", | 2467 | "subchannel 0.%x.%x.\n", | 
| @@ -2514,7 +2517,7 @@ tiqdio_set_subchannel_ind(struct qdio_irq *irq_ptr, int reset_to_zero) | |||
| 2514 | QDIO_DBF_HEX2(0,setup,&real_addr_dev_st_chg_ind,sizeof(unsigned long)); | 2517 | QDIO_DBF_HEX2(0,setup,&real_addr_dev_st_chg_ind,sizeof(unsigned long)); | 
| 2515 | result = 0; | 2518 | result = 0; | 
| 2516 | out: | 2519 | out: | 
| 2517 | free_page ((unsigned long) scssc_area); | 2520 | mempool_free(scssc_area, qdio_mempool_scssc); | 
| 2518 | return result; | 2521 | return result; | 
| 2519 | 2522 | ||
| 2520 | } | 2523 | } | 
| @@ -2543,7 +2546,7 @@ tiqdio_set_delay_target(struct qdio_irq *irq_ptr, unsigned long delay_target) | |||
| 2543 | if (!irq_ptr->is_thinint_irq) | 2546 | if (!irq_ptr->is_thinint_irq) | 
| 2544 | return -ENODEV; | 2547 | return -ENODEV; | 
| 2545 | 2548 | ||
| 2546 | scsscf_area = (void *)get_zeroed_page(GFP_KERNEL | GFP_DMA); | 2549 | scsscf_area = mempool_alloc(qdio_mempool_scssc, GFP_ATOMIC); | 
| 2547 | if (!scsscf_area) { | 2550 | if (!scsscf_area) { | 
| 2548 | QDIO_PRINT_WARN("No memory for setting delay target on " \ | 2551 | QDIO_PRINT_WARN("No memory for setting delay target on " \ | 
| 2549 | "subchannel 0.%x.%x.\n", | 2552 | "subchannel 0.%x.%x.\n", | 
| @@ -2581,7 +2584,7 @@ tiqdio_set_delay_target(struct qdio_irq *irq_ptr, unsigned long delay_target) | |||
| 2581 | QDIO_DBF_HEX2(0,trace,&delay_target,sizeof(unsigned long)); | 2584 | QDIO_DBF_HEX2(0,trace,&delay_target,sizeof(unsigned long)); | 
| 2582 | result = 0; /* not critical */ | 2585 | result = 0; /* not critical */ | 
| 2583 | out: | 2586 | out: | 
| 2584 | free_page ((unsigned long) scsscf_area); | 2587 | mempool_free(scsscf_area, qdio_mempool_scssc); | 
| 2585 | return result; | 2588 | return result; | 
| 2586 | } | 2589 | } | 
| 2587 | 2590 | ||
| @@ -2980,7 +2983,7 @@ qdio_allocate(struct qdio_initialize *init_data) | |||
| 2980 | qdio_allocate_do_dbf(init_data); | 2983 | qdio_allocate_do_dbf(init_data); | 
| 2981 | 2984 | ||
| 2982 | /* create irq */ | 2985 | /* create irq */ | 
| 2983 | irq_ptr = kzalloc(sizeof(struct qdio_irq), GFP_KERNEL | GFP_DMA); | 2986 | irq_ptr = (void *) get_zeroed_page(GFP_KERNEL | GFP_DMA); | 
| 2984 | 2987 | ||
| 2985 | QDIO_DBF_TEXT0(0,setup,"irq_ptr:"); | 2988 | QDIO_DBF_TEXT0(0,setup,"irq_ptr:"); | 
| 2986 | QDIO_DBF_HEX0(0,setup,&irq_ptr,sizeof(void*)); | 2989 | QDIO_DBF_HEX0(0,setup,&irq_ptr,sizeof(void*)); | 
| @@ -2995,7 +2998,7 @@ qdio_allocate(struct qdio_initialize *init_data) | |||
| 2995 | /* QDR must be in DMA area since CCW data address is only 32 bit */ | 2998 | /* QDR must be in DMA area since CCW data address is only 32 bit */ | 
| 2996 | irq_ptr->qdr=kmalloc(sizeof(struct qdr), GFP_KERNEL | GFP_DMA); | 2999 | irq_ptr->qdr=kmalloc(sizeof(struct qdr), GFP_KERNEL | GFP_DMA); | 
| 2997 | if (!(irq_ptr->qdr)) { | 3000 | if (!(irq_ptr->qdr)) { | 
| 2998 | kfree(irq_ptr); | 3001 | free_page((unsigned long) irq_ptr); | 
| 2999 | QDIO_PRINT_ERR("kmalloc of irq_ptr->qdr failed!\n"); | 3002 | QDIO_PRINT_ERR("kmalloc of irq_ptr->qdr failed!\n"); | 
| 3000 | return -ENOMEM; | 3003 | return -ENOMEM; | 
| 3001 | } | 3004 | } | 
| @@ -3780,6 +3783,16 @@ oom: | |||
| 3780 | return -ENOMEM; | 3783 | return -ENOMEM; | 
| 3781 | } | 3784 | } | 
| 3782 | 3785 | ||
| 3786 | static void *qdio_mempool_alloc(gfp_t gfp_mask, void *size) | ||
| 3787 | { | ||
| 3788 | return (void *) get_zeroed_page(gfp_mask|GFP_DMA); | ||
| 3789 | } | ||
| 3790 | |||
| 3791 | static void qdio_mempool_free(void *element, void *size) | ||
| 3792 | { | ||
| 3793 | free_page((unsigned long) element); | ||
| 3794 | } | ||
| 3795 | |||
| 3783 | static int __init | 3796 | static int __init | 
| 3784 | init_QDIO(void) | 3797 | init_QDIO(void) | 
| 3785 | { | 3798 | { | 
| @@ -3809,6 +3822,10 @@ init_QDIO(void) | |||
| 3809 | 3822 | ||
| 3810 | qdio_add_procfs_entry(); | 3823 | qdio_add_procfs_entry(); | 
| 3811 | 3824 | ||
| 3825 | qdio_mempool_scssc = mempool_create(QDIO_MEMPOOL_SCSSC_ELEMENTS, | ||
| 3826 | qdio_mempool_alloc, | ||
| 3827 | qdio_mempool_free, NULL); | ||
| 3828 | |||
| 3812 | if (tiqdio_check_chsc_availability()) | 3829 | if (tiqdio_check_chsc_availability()) | 
| 3813 | QDIO_PRINT_ERR("Not all CHSCs supported. Continuing.\n"); | 3830 | QDIO_PRINT_ERR("Not all CHSCs supported. Continuing.\n"); | 
| 3814 | 3831 | ||
| @@ -3824,6 +3841,7 @@ cleanup_QDIO(void) | |||
| 3824 | qdio_remove_procfs_entry(); | 3841 | qdio_remove_procfs_entry(); | 
| 3825 | qdio_release_qdio_memory(); | 3842 | qdio_release_qdio_memory(); | 
| 3826 | qdio_unregister_dbf_views(); | 3843 | qdio_unregister_dbf_views(); | 
| 3844 | mempool_destroy(qdio_mempool_scssc); | ||
| 3827 | 3845 | ||
| 3828 | printk("qdio: %s: module removed\n",version); | 3846 | printk("qdio: %s: module removed\n",version); | 
| 3829 | } | 3847 | } | 
diff --git a/drivers/s390/net/qeth_main.c b/drivers/s390/net/qeth_main.c index b3c6e7907790..cb14642d97aa 100644 --- a/drivers/s390/net/qeth_main.c +++ b/drivers/s390/net/qeth_main.c  | |||
| @@ -8014,7 +8014,6 @@ static int (*qeth_old_arp_constructor) (struct neighbour *); | |||
| 8014 | 8014 | ||
| 8015 | static struct neigh_ops arp_direct_ops_template = { | 8015 | static struct neigh_ops arp_direct_ops_template = { | 
| 8016 | .family = AF_INET, | 8016 | .family = AF_INET, | 
| 8017 | .destructor = NULL, | ||
| 8018 | .solicit = NULL, | 8017 | .solicit = NULL, | 
| 8019 | .error_report = NULL, | 8018 | .error_report = NULL, | 
| 8020 | .output = dev_queue_xmit, | 8019 | .output = dev_queue_xmit, | 
diff --git a/drivers/s390/s390mach.c b/drivers/s390/s390mach.c index 3bf466603512..f99e55308b32 100644 --- a/drivers/s390/s390mach.c +++ b/drivers/s390/s390mach.c  | |||
| @@ -13,6 +13,7 @@ | |||
| 13 | #include <linux/sched.h> | 13 | #include <linux/sched.h> | 
| 14 | #include <linux/errno.h> | 14 | #include <linux/errno.h> | 
| 15 | #include <linux/workqueue.h> | 15 | #include <linux/workqueue.h> | 
| 16 | #include <linux/time.h> | ||
| 16 | 17 | ||
| 17 | #include <asm/lowcore.h> | 18 | #include <asm/lowcore.h> | 
| 18 | 19 | ||
| @@ -362,12 +363,19 @@ s390_revalidate_registers(struct mci *mci) | |||
| 362 | return kill_task; | 363 | return kill_task; | 
| 363 | } | 364 | } | 
| 364 | 365 | ||
| 366 | #define MAX_IPD_COUNT 29 | ||
| 367 | #define MAX_IPD_TIME (5 * 60 * USEC_PER_SEC) /* 5 minutes */ | ||
| 368 | |||
| 365 | /* | 369 | /* | 
| 366 | * machine check handler. | 370 | * machine check handler. | 
| 367 | */ | 371 | */ | 
| 368 | void | 372 | void | 
| 369 | s390_do_machine_check(struct pt_regs *regs) | 373 | s390_do_machine_check(struct pt_regs *regs) | 
| 370 | { | 374 | { | 
| 375 | static DEFINE_SPINLOCK(ipd_lock); | ||
| 376 | static unsigned long long last_ipd; | ||
| 377 | static int ipd_count; | ||
| 378 | unsigned long long tmp; | ||
| 371 | struct mci *mci; | 379 | struct mci *mci; | 
| 372 | struct mcck_struct *mcck; | 380 | struct mcck_struct *mcck; | 
| 373 | int umode; | 381 | int umode; | 
| @@ -404,11 +412,27 @@ s390_do_machine_check(struct pt_regs *regs) | |||
| 404 | s390_handle_damage("processing backup machine " | 412 | s390_handle_damage("processing backup machine " | 
| 405 | "check with damage."); | 413 | "check with damage."); | 
| 406 | } | 414 | } | 
| 407 | if (!umode) | 415 | |
| 408 | s390_handle_damage("processing backup machine " | 416 | /* | 
| 409 | "check in kernel mode."); | 417 | * Nullifying exigent condition, therefore we might | 
| 410 | mcck->kill_task = 1; | 418 | * retry this instruction. | 
| 411 | mcck->mcck_code = *(unsigned long long *) mci; | 419 | */ | 
| 420 | |||
| 421 | spin_lock(&ipd_lock); | ||
| 422 | |||
| 423 | tmp = get_clock(); | ||
| 424 | |||
| 425 | if (((tmp - last_ipd) >> 12) < MAX_IPD_TIME) | ||
| 426 | ipd_count++; | ||
| 427 | else | ||
| 428 | ipd_count = 1; | ||
| 429 | |||
| 430 | last_ipd = tmp; | ||
| 431 | |||
| 432 | if (ipd_count == MAX_IPD_COUNT) | ||
| 433 | s390_handle_damage("too many ipd retries."); | ||
| 434 | |||
| 435 | spin_unlock(&ipd_lock); | ||
| 412 | } | 436 | } | 
| 413 | else { | 437 | else { | 
| 414 | /* Processing damage -> stopping machine */ | 438 | /* Processing damage -> stopping machine */ | 
diff --git a/drivers/scsi/Kconfig b/drivers/scsi/Kconfig index 3e7302692dbe..a480a3742d47 100644 --- a/drivers/scsi/Kconfig +++ b/drivers/scsi/Kconfig  | |||
| @@ -446,7 +446,9 @@ config SCSI_DPT_I2O | |||
| 446 | 446 | ||
| 447 | config SCSI_ADVANSYS | 447 | config SCSI_ADVANSYS | 
| 448 | tristate "AdvanSys SCSI support" | 448 | tristate "AdvanSys SCSI support" | 
| 449 | depends on (ISA || EISA || PCI) && SCSI && BROKEN | 449 | depends on SCSI | 
| 450 | depends on ISA || EISA || PCI | ||
| 451 | depends on BROKEN || X86_32 | ||
| 450 | help | 452 | help | 
| 451 | This is a driver for all SCSI host adapters manufactured by | 453 | This is a driver for all SCSI host adapters manufactured by | 
| 452 | AdvanSys. It is documented in the kernel source in | 454 | AdvanSys. It is documented in the kernel source in | 
diff --git a/drivers/scsi/advansys.c b/drivers/scsi/advansys.c index 28b93057b607..2a419634b256 100644 --- a/drivers/scsi/advansys.c +++ b/drivers/scsi/advansys.c  | |||
| @@ -2051,7 +2051,7 @@ STATIC ASC_DCNT AscGetMaxDmaCount(ushort); | |||
| 2051 | #define ADV_VADDR_TO_U32 virt_to_bus | 2051 | #define ADV_VADDR_TO_U32 virt_to_bus | 
| 2052 | #define ADV_U32_TO_VADDR bus_to_virt | 2052 | #define ADV_U32_TO_VADDR bus_to_virt | 
| 2053 | 2053 | ||
| 2054 | #define AdvPortAddr ulong /* Virtual memory address size */ | 2054 | #define AdvPortAddr void __iomem * /* Virtual memory address size */ | 
| 2055 | 2055 | ||
| 2056 | /* | 2056 | /* | 
| 2057 | * Define Adv Library required memory access macros. | 2057 | * Define Adv Library required memory access macros. | 
diff --git a/drivers/serial/cpm_uart/cpm_uart.h b/drivers/serial/cpm_uart/cpm_uart.h index 73c8a088c160..aa5eb7ddeda9 100644 --- a/drivers/serial/cpm_uart/cpm_uart.h +++ b/drivers/serial/cpm_uart/cpm_uart.h  | |||
| @@ -10,6 +10,8 @@ | |||
| 10 | #define CPM_UART_H | 10 | #define CPM_UART_H | 
| 11 | 11 | ||
| 12 | #include <linux/config.h> | 12 | #include <linux/config.h> | 
| 13 | #include <linux/platform_device.h> | ||
| 14 | #include <linux/fs_uart_pd.h> | ||
| 13 | 15 | ||
| 14 | #if defined(CONFIG_CPM2) | 16 | #if defined(CONFIG_CPM2) | 
| 15 | #include "cpm_uart_cpm2.h" | 17 | #include "cpm_uart_cpm2.h" | 
| @@ -26,14 +28,14 @@ | |||
| 26 | #define FLAG_SMC 0x00000002 | 28 | #define FLAG_SMC 0x00000002 | 
| 27 | #define FLAG_CONSOLE 0x00000001 | 29 | #define FLAG_CONSOLE 0x00000001 | 
| 28 | 30 | ||
| 29 | #define UART_SMC1 0 | 31 | #define UART_SMC1 fsid_smc1_uart | 
| 30 | #define UART_SMC2 1 | 32 | #define UART_SMC2 fsid_smc2_uart | 
| 31 | #define UART_SCC1 2 | 33 | #define UART_SCC1 fsid_scc1_uart | 
| 32 | #define UART_SCC2 3 | 34 | #define UART_SCC2 fsid_scc2_uart | 
| 33 | #define UART_SCC3 4 | 35 | #define UART_SCC3 fsid_scc3_uart | 
| 34 | #define UART_SCC4 5 | 36 | #define UART_SCC4 fsid_scc4_uart | 
| 35 | 37 | ||
| 36 | #define UART_NR 6 | 38 | #define UART_NR fs_uart_nr | 
| 37 | 39 | ||
| 38 | #define RX_NUM_FIFO 4 | 40 | #define RX_NUM_FIFO 4 | 
| 39 | #define RX_BUF_SIZE 32 | 41 | #define RX_BUF_SIZE 32 | 
| @@ -64,6 +66,7 @@ struct uart_cpm_port { | |||
| 64 | uint dp_addr; | 66 | uint dp_addr; | 
| 65 | void *mem_addr; | 67 | void *mem_addr; | 
| 66 | dma_addr_t dma_addr; | 68 | dma_addr_t dma_addr; | 
| 69 | u32 mem_size; | ||
| 67 | /* helpers */ | 70 | /* helpers */ | 
| 68 | int baud; | 71 | int baud; | 
| 69 | int bits; | 72 | int bits; | 
| @@ -90,4 +93,36 @@ void scc2_lineif(struct uart_cpm_port *pinfo); | |||
| 90 | void scc3_lineif(struct uart_cpm_port *pinfo); | 93 | void scc3_lineif(struct uart_cpm_port *pinfo); | 
| 91 | void scc4_lineif(struct uart_cpm_port *pinfo); | 94 | void scc4_lineif(struct uart_cpm_port *pinfo); | 
| 92 | 95 | ||
| 96 | /* | ||
| 97 | virtual to phys transtalion | ||
| 98 | */ | ||
| 99 | static inline unsigned long cpu2cpm_addr(void* addr, struct uart_cpm_port *pinfo) | ||
| 100 | { | ||
| 101 | int offset; | ||
| 102 | u32 val = (u32)addr; | ||
| 103 | /* sane check */ | ||
| 104 | if ((val >= (u32)pinfo->mem_addr) && | ||
| 105 | (val<((u32)pinfo->mem_addr + pinfo->mem_size))) { | ||
| 106 | offset = val - (u32)pinfo->mem_addr; | ||
| 107 | return pinfo->dma_addr+offset; | ||
| 108 | } | ||
| 109 | printk("%s(): address %x to translate out of range!\n", __FUNCTION__, val); | ||
| 110 | return 0; | ||
| 111 | } | ||
| 112 | |||
| 113 | static inline void *cpm2cpu_addr(unsigned long addr, struct uart_cpm_port *pinfo) | ||
| 114 | { | ||
| 115 | int offset; | ||
| 116 | u32 val = addr; | ||
| 117 | /* sane check */ | ||
| 118 | if ((val >= pinfo->dma_addr) && | ||
| 119 | (val<(pinfo->dma_addr + pinfo->mem_size))) { | ||
| 120 | offset = val - (u32)pinfo->dma_addr; | ||
| 121 | return (void*)(pinfo->mem_addr+offset); | ||
| 122 | } | ||
| 123 | printk("%s(): address %x to translate out of range!\n", __FUNCTION__, val); | ||
| 124 | return 0; | ||
| 125 | } | ||
| 126 | |||
| 127 | |||
| 93 | #endif /* CPM_UART_H */ | 128 | #endif /* CPM_UART_H */ | 
diff --git a/drivers/serial/cpm_uart/cpm_uart_core.c b/drivers/serial/cpm_uart/cpm_uart_core.c index b7bf4c698a47..ced193bf9e1e 100644 --- a/drivers/serial/cpm_uart/cpm_uart_core.c +++ b/drivers/serial/cpm_uart/cpm_uart_core.c  | |||
| @@ -41,6 +41,7 @@ | |||
| 41 | #include <linux/device.h> | 41 | #include <linux/device.h> | 
| 42 | #include <linux/bootmem.h> | 42 | #include <linux/bootmem.h> | 
| 43 | #include <linux/dma-mapping.h> | 43 | #include <linux/dma-mapping.h> | 
| 44 | #include <linux/fs_uart_pd.h> | ||
| 44 | 45 | ||
| 45 | #include <asm/io.h> | 46 | #include <asm/io.h> | 
| 46 | #include <asm/irq.h> | 47 | #include <asm/irq.h> | 
| @@ -60,7 +61,7 @@ | |||
| 60 | /* Track which ports are configured as uarts */ | 61 | /* Track which ports are configured as uarts */ | 
| 61 | int cpm_uart_port_map[UART_NR]; | 62 | int cpm_uart_port_map[UART_NR]; | 
| 62 | /* How many ports did we config as uarts */ | 63 | /* How many ports did we config as uarts */ | 
| 63 | int cpm_uart_nr; | 64 | int cpm_uart_nr = 0; | 
| 64 | 65 | ||
| 65 | /**************************************************************/ | 66 | /**************************************************************/ | 
| 66 | 67 | ||
| @@ -71,18 +72,36 @@ static void cpm_uart_initbd(struct uart_cpm_port *pinfo); | |||
| 71 | 72 | ||
| 72 | /**************************************************************/ | 73 | /**************************************************************/ | 
| 73 | 74 | ||
| 74 | static inline unsigned long cpu2cpm_addr(void *addr) | 75 | |
| 76 | /* Place-holder for board-specific stuff */ | ||
| 77 | struct platform_device* __attribute__ ((weak)) __init | ||
| 78 | early_uart_get_pdev(int index) | ||
| 75 | { | 79 | { | 
| 76 | if ((unsigned long)addr >= CPM_ADDR) | 80 | return NULL; | 
| 77 | return (unsigned long)addr; | ||
| 78 | return virt_to_bus(addr); | ||
| 79 | } | 81 | } | 
| 80 | 82 | ||
| 81 | static inline void *cpm2cpu_addr(unsigned long addr) | 83 | |
| 84 | void cpm_uart_count(void) | ||
| 82 | { | 85 | { | 
| 83 | if (addr >= CPM_ADDR) | 86 | cpm_uart_nr = 0; | 
| 84 | return (void *)addr; | 87 | #ifdef CONFIG_SERIAL_CPM_SMC1 | 
| 85 | return bus_to_virt(addr); | 88 | cpm_uart_port_map[cpm_uart_nr++] = UART_SMC1; | 
| 89 | #endif | ||
| 90 | #ifdef CONFIG_SERIAL_CPM_SMC2 | ||
| 91 | cpm_uart_port_map[cpm_uart_nr++] = UART_SMC2; | ||
| 92 | #endif | ||
| 93 | #ifdef CONFIG_SERIAL_CPM_SCC1 | ||
| 94 | cpm_uart_port_map[cpm_uart_nr++] = UART_SCC1; | ||
| 95 | #endif | ||
| 96 | #ifdef CONFIG_SERIAL_CPM_SCC2 | ||
| 97 | cpm_uart_port_map[cpm_uart_nr++] = UART_SCC2; | ||
| 98 | #endif | ||
| 99 | #ifdef CONFIG_SERIAL_CPM_SCC3 | ||
| 100 | cpm_uart_port_map[cpm_uart_nr++] = UART_SCC3; | ||
| 101 | #endif | ||
| 102 | #ifdef CONFIG_SERIAL_CPM_SCC4 | ||
| 103 | cpm_uart_port_map[cpm_uart_nr++] = UART_SCC4; | ||
| 104 | #endif | ||
| 86 | } | 105 | } | 
| 87 | 106 | ||
| 88 | /* | 107 | /* | 
| @@ -258,7 +277,7 @@ static void cpm_uart_int_rx(struct uart_port *port, struct pt_regs *regs) | |||
| 258 | } | 277 | } | 
| 259 | 278 | ||
| 260 | /* get pointer */ | 279 | /* get pointer */ | 
| 261 | cp = cpm2cpu_addr(bdp->cbd_bufaddr); | 280 | cp = cpm2cpu_addr(bdp->cbd_bufaddr, pinfo); | 
| 262 | 281 | ||
| 263 | /* loop through the buffer */ | 282 | /* loop through the buffer */ | 
| 264 | while (i-- > 0) { | 283 | while (i-- > 0) { | 
| @@ -601,7 +620,7 @@ static int cpm_uart_tx_pump(struct uart_port *port) | |||
| 601 | /* Pick next descriptor and fill from buffer */ | 620 | /* Pick next descriptor and fill from buffer */ | 
| 602 | bdp = pinfo->tx_cur; | 621 | bdp = pinfo->tx_cur; | 
| 603 | 622 | ||
| 604 | p = cpm2cpu_addr(bdp->cbd_bufaddr); | 623 | p = cpm2cpu_addr(bdp->cbd_bufaddr, pinfo); | 
| 605 | 624 | ||
| 606 | *p++ = port->x_char; | 625 | *p++ = port->x_char; | 
| 607 | bdp->cbd_datlen = 1; | 626 | bdp->cbd_datlen = 1; | 
| @@ -628,7 +647,7 @@ static int cpm_uart_tx_pump(struct uart_port *port) | |||
| 628 | 647 | ||
| 629 | while (!(bdp->cbd_sc & BD_SC_READY) && (xmit->tail != xmit->head)) { | 648 | while (!(bdp->cbd_sc & BD_SC_READY) && (xmit->tail != xmit->head)) { | 
| 630 | count = 0; | 649 | count = 0; | 
| 631 | p = cpm2cpu_addr(bdp->cbd_bufaddr); | 650 | p = cpm2cpu_addr(bdp->cbd_bufaddr, pinfo); | 
| 632 | while (count < pinfo->tx_fifosize) { | 651 | while (count < pinfo->tx_fifosize) { | 
| 633 | *p++ = xmit->buf[xmit->tail]; | 652 | *p++ = xmit->buf[xmit->tail]; | 
| 634 | xmit->tail = (xmit->tail + 1) & (UART_XMIT_SIZE - 1); | 653 | xmit->tail = (xmit->tail + 1) & (UART_XMIT_SIZE - 1); | 
| @@ -677,12 +696,12 @@ static void cpm_uart_initbd(struct uart_cpm_port *pinfo) | |||
| 677 | mem_addr = pinfo->mem_addr; | 696 | mem_addr = pinfo->mem_addr; | 
| 678 | bdp = pinfo->rx_cur = pinfo->rx_bd_base; | 697 | bdp = pinfo->rx_cur = pinfo->rx_bd_base; | 
| 679 | for (i = 0; i < (pinfo->rx_nrfifos - 1); i++, bdp++) { | 698 | for (i = 0; i < (pinfo->rx_nrfifos - 1); i++, bdp++) { | 
| 680 | bdp->cbd_bufaddr = cpu2cpm_addr(mem_addr); | 699 | bdp->cbd_bufaddr = cpu2cpm_addr(mem_addr, pinfo); | 
| 681 | bdp->cbd_sc = BD_SC_EMPTY | BD_SC_INTRPT; | 700 | bdp->cbd_sc = BD_SC_EMPTY | BD_SC_INTRPT; | 
| 682 | mem_addr += pinfo->rx_fifosize; | 701 | mem_addr += pinfo->rx_fifosize; | 
| 683 | } | 702 | } | 
| 684 | 703 | ||
| 685 | bdp->cbd_bufaddr = cpu2cpm_addr(mem_addr); | 704 | bdp->cbd_bufaddr = cpu2cpm_addr(mem_addr, pinfo); | 
| 686 | bdp->cbd_sc = BD_SC_WRAP | BD_SC_EMPTY | BD_SC_INTRPT; | 705 | bdp->cbd_sc = BD_SC_WRAP | BD_SC_EMPTY | BD_SC_INTRPT; | 
| 687 | 706 | ||
| 688 | /* Set the physical address of the host memory | 707 | /* Set the physical address of the host memory | 
| @@ -692,12 +711,12 @@ static void cpm_uart_initbd(struct uart_cpm_port *pinfo) | |||
| 692 | mem_addr = pinfo->mem_addr + L1_CACHE_ALIGN(pinfo->rx_nrfifos * pinfo->rx_fifosize); | 711 | mem_addr = pinfo->mem_addr + L1_CACHE_ALIGN(pinfo->rx_nrfifos * pinfo->rx_fifosize); | 
| 693 | bdp = pinfo->tx_cur = pinfo->tx_bd_base; | 712 | bdp = pinfo->tx_cur = pinfo->tx_bd_base; | 
| 694 | for (i = 0; i < (pinfo->tx_nrfifos - 1); i++, bdp++) { | 713 | for (i = 0; i < (pinfo->tx_nrfifos - 1); i++, bdp++) { | 
| 695 | bdp->cbd_bufaddr = cpu2cpm_addr(mem_addr); | 714 | bdp->cbd_bufaddr = cpu2cpm_addr(mem_addr, pinfo); | 
| 696 | bdp->cbd_sc = BD_SC_INTRPT; | 715 | bdp->cbd_sc = BD_SC_INTRPT; | 
| 697 | mem_addr += pinfo->tx_fifosize; | 716 | mem_addr += pinfo->tx_fifosize; | 
| 698 | } | 717 | } | 
| 699 | 718 | ||
| 700 | bdp->cbd_bufaddr = cpu2cpm_addr(mem_addr); | 719 | bdp->cbd_bufaddr = cpu2cpm_addr(mem_addr, pinfo); | 
| 701 | bdp->cbd_sc = BD_SC_WRAP | BD_SC_INTRPT; | 720 | bdp->cbd_sc = BD_SC_WRAP | BD_SC_INTRPT; | 
| 702 | } | 721 | } | 
| 703 | 722 | ||
| @@ -829,14 +848,6 @@ static int cpm_uart_request_port(struct uart_port *port) | |||
| 829 | if (pinfo->flags & FLAG_CONSOLE) | 848 | if (pinfo->flags & FLAG_CONSOLE) | 
| 830 | return 0; | 849 | return 0; | 
| 831 | 850 | ||
| 832 | /* | ||
| 833 | * Setup any port IO, connect any baud rate generators, | ||
| 834 | * etc. This is expected to be handled by board | ||
| 835 | * dependant code | ||
| 836 | */ | ||
| 837 | if (pinfo->set_lineif) | ||
| 838 | pinfo->set_lineif(pinfo); | ||
| 839 | |||
| 840 | if (IS_SMC(pinfo)) { | 851 | if (IS_SMC(pinfo)) { | 
| 841 | pinfo->smcp->smc_smcm &= ~(SMCM_RX | SMCM_TX); | 852 | pinfo->smcp->smc_smcm &= ~(SMCM_RX | SMCM_TX); | 
| 842 | pinfo->smcp->smc_smcmr &= ~(SMCMR_REN | SMCMR_TEN); | 853 | pinfo->smcp->smc_smcmr &= ~(SMCMR_REN | SMCMR_TEN); | 
| @@ -988,6 +999,54 @@ struct uart_cpm_port cpm_uart_ports[UART_NR] = { | |||
| 988 | }, | 999 | }, | 
| 989 | }; | 1000 | }; | 
| 990 | 1001 | ||
| 1002 | int cpm_uart_drv_get_platform_data(struct platform_device *pdev, int is_con) | ||
| 1003 | { | ||
| 1004 | struct resource *r; | ||
| 1005 | struct fs_uart_platform_info *pdata = pdev->dev.platform_data; | ||
| 1006 | int idx = pdata->fs_no; /* It is UART_SMCx or UART_SCCx index */ | ||
| 1007 | struct uart_cpm_port *pinfo; | ||
| 1008 | int line; | ||
| 1009 | u32 mem, pram; | ||
| 1010 | |||
| 1011 | for (line=0; line<UART_NR && cpm_uart_port_map[line]!=pdata->fs_no; line++); | ||
| 1012 | |||
| 1013 | pinfo = (struct uart_cpm_port *) &cpm_uart_ports[idx]; | ||
| 1014 | |||
| 1015 | pinfo->brg = pdata->brg; | ||
| 1016 | |||
| 1017 | if (!is_con) { | ||
| 1018 | pinfo->port.line = line; | ||
| 1019 | pinfo->port.flags = UPF_BOOT_AUTOCONF; | ||
| 1020 | } | ||
| 1021 | |||
| 1022 | if (!(r = platform_get_resource_byname(pdev, IORESOURCE_MEM, "regs"))) | ||
| 1023 | return -EINVAL; | ||
| 1024 | mem = r->start; | ||
| 1025 | |||
| 1026 | if (!(r = platform_get_resource_byname(pdev, IORESOURCE_MEM, "pram"))) | ||
| 1027 | return -EINVAL; | ||
| 1028 | pram = r->start; | ||
| 1029 | |||
| 1030 | if(idx > fsid_smc2_uart) { | ||
| 1031 | pinfo->sccp = (scc_t *)mem; | ||
| 1032 | pinfo->sccup = (scc_uart_t *)pram; | ||
| 1033 | } else { | ||
| 1034 | pinfo->smcp = (smc_t *)mem; | ||
| 1035 | pinfo->smcup = (smc_uart_t *)pram; | ||
| 1036 | } | ||
| 1037 | pinfo->tx_nrfifos = pdata->tx_num_fifo; | ||
| 1038 | pinfo->tx_fifosize = pdata->tx_buf_size; | ||
| 1039 | |||
| 1040 | pinfo->rx_nrfifos = pdata->rx_num_fifo; | ||
| 1041 | pinfo->rx_fifosize = pdata->rx_buf_size; | ||
| 1042 | |||
| 1043 | pinfo->port.uartclk = pdata->uart_clk; | ||
| 1044 | pinfo->port.mapbase = (unsigned long)mem; | ||
| 1045 | pinfo->port.irq = platform_get_irq(pdev, 0); | ||
| 1046 | |||
| 1047 | return 0; | ||
| 1048 | } | ||
| 1049 | |||
| 991 | #ifdef CONFIG_SERIAL_CPM_CONSOLE | 1050 | #ifdef CONFIG_SERIAL_CPM_CONSOLE | 
| 992 | /* | 1051 | /* | 
| 993 | * Print a string to the serial port trying not to disturb | 1052 | * Print a string to the serial port trying not to disturb | 
| @@ -1027,7 +1086,7 @@ static void cpm_uart_console_write(struct console *co, const char *s, | |||
| 1027 | * If the buffer address is in the CPM DPRAM, don't | 1086 | * If the buffer address is in the CPM DPRAM, don't | 
| 1028 | * convert it. | 1087 | * convert it. | 
| 1029 | */ | 1088 | */ | 
| 1030 | cp = cpm2cpu_addr(bdp->cbd_bufaddr); | 1089 | cp = cpm2cpu_addr(bdp->cbd_bufaddr, pinfo); | 
| 1031 | 1090 | ||
| 1032 | *cp = *s; | 1091 | *cp = *s; | 
| 1033 | 1092 | ||
| @@ -1044,7 +1103,7 @@ static void cpm_uart_console_write(struct console *co, const char *s, | |||
| 1044 | while ((bdp->cbd_sc & BD_SC_READY) != 0) | 1103 | while ((bdp->cbd_sc & BD_SC_READY) != 0) | 
| 1045 | ; | 1104 | ; | 
| 1046 | 1105 | ||
| 1047 | cp = cpm2cpu_addr(bdp->cbd_bufaddr); | 1106 | cp = cpm2cpu_addr(bdp->cbd_bufaddr, pinfo); | 
| 1048 | 1107 | ||
| 1049 | *cp = 13; | 1108 | *cp = 13; | 
| 1050 | bdp->cbd_datlen = 1; | 1109 | bdp->cbd_datlen = 1; | 
| @@ -1067,9 +1126,7 @@ static void cpm_uart_console_write(struct console *co, const char *s, | |||
| 1067 | pinfo->tx_cur = (volatile cbd_t *) bdp; | 1126 | pinfo->tx_cur = (volatile cbd_t *) bdp; | 
| 1068 | } | 1127 | } | 
| 1069 | 1128 | ||
| 1070 | /* | 1129 | |
| 1071 | * Setup console. Be careful is called early ! | ||
| 1072 | */ | ||
| 1073 | static int __init cpm_uart_console_setup(struct console *co, char *options) | 1130 | static int __init cpm_uart_console_setup(struct console *co, char *options) | 
| 1074 | { | 1131 | { | 
| 1075 | struct uart_port *port; | 1132 | struct uart_port *port; | 
| @@ -1080,9 +1137,27 @@ static int __init cpm_uart_console_setup(struct console *co, char *options) | |||
| 1080 | int flow = 'n'; | 1137 | int flow = 'n'; | 
| 1081 | int ret; | 1138 | int ret; | 
| 1082 | 1139 | ||
| 1140 | struct fs_uart_platform_info *pdata; | ||
| 1141 | struct platform_device* pdev = early_uart_get_pdev(co->index); | ||
| 1142 | |||
| 1083 | port = | 1143 | port = | 
| 1084 | (struct uart_port *)&cpm_uart_ports[cpm_uart_port_map[co->index]]; | 1144 | (struct uart_port *)&cpm_uart_ports[cpm_uart_port_map[co->index]]; | 
| 1085 | pinfo = (struct uart_cpm_port *)port; | 1145 | pinfo = (struct uart_cpm_port *)port; | 
| 1146 | if (!pdev) { | ||
| 1147 | pr_info("cpm_uart: console: compat mode\n"); | ||
| 1148 | /* compatibility - will be cleaned up */ | ||
| 1149 | cpm_uart_init_portdesc(); | ||
| 1150 | |||
| 1151 | if (pinfo->set_lineif) | ||
| 1152 | pinfo->set_lineif(pinfo); | ||
| 1153 | } else { | ||
| 1154 | pdata = pdev->dev.platform_data; | ||
| 1155 | if (pdata) | ||
| 1156 | if (pdata->init_ioports) | ||
| 1157 | pdata->init_ioports(); | ||
| 1158 | |||
| 1159 | cpm_uart_drv_get_platform_data(pdev, 1); | ||
| 1160 | } | ||
| 1086 | 1161 | ||
| 1087 | pinfo->flags |= FLAG_CONSOLE; | 1162 | pinfo->flags |= FLAG_CONSOLE; | 
| 1088 | 1163 | ||
| @@ -1097,14 +1172,6 @@ static int __init cpm_uart_console_setup(struct console *co, char *options) | |||
| 1097 | baud = 9600; | 1172 | baud = 9600; | 
| 1098 | } | 1173 | } | 
| 1099 | 1174 | ||
| 1100 | /* | ||
| 1101 | * Setup any port IO, connect any baud rate generators, | ||
| 1102 | * etc. This is expected to be handled by board | ||
| 1103 | * dependant code | ||
| 1104 | */ | ||
| 1105 | if (pinfo->set_lineif) | ||
| 1106 | pinfo->set_lineif(pinfo); | ||
| 1107 | |||
| 1108 | if (IS_SMC(pinfo)) { | 1175 | if (IS_SMC(pinfo)) { | 
| 1109 | pinfo->smcp->smc_smcm &= ~(SMCM_RX | SMCM_TX); | 1176 | pinfo->smcp->smc_smcm &= ~(SMCM_RX | SMCM_TX); | 
| 1110 | pinfo->smcp->smc_smcmr &= ~(SMCMR_REN | SMCMR_TEN); | 1177 | pinfo->smcp->smc_smcmr &= ~(SMCMR_REN | SMCMR_TEN); | 
| @@ -1143,11 +1210,8 @@ static struct console cpm_scc_uart_console = { | |||
| 1143 | 1210 | ||
| 1144 | int __init cpm_uart_console_init(void) | 1211 | int __init cpm_uart_console_init(void) | 
| 1145 | { | 1212 | { | 
| 1146 | int ret = cpm_uart_init_portdesc(); | 1213 | register_console(&cpm_scc_uart_console); | 
| 1147 | 1214 | return 0; | |
| 1148 | if (!ret) | ||
| 1149 | register_console(&cpm_scc_uart_console); | ||
| 1150 | return ret; | ||
| 1151 | } | 1215 | } | 
| 1152 | 1216 | ||
| 1153 | console_initcall(cpm_uart_console_init); | 1217 | console_initcall(cpm_uart_console_init); | 
| @@ -1165,44 +1229,130 @@ static struct uart_driver cpm_reg = { | |||
| 1165 | .minor = SERIAL_CPM_MINOR, | 1229 | .minor = SERIAL_CPM_MINOR, | 
| 1166 | .cons = CPM_UART_CONSOLE, | 1230 | .cons = CPM_UART_CONSOLE, | 
| 1167 | }; | 1231 | }; | 
| 1168 | 1232 | static int cpm_uart_drv_probe(struct device *dev) | |
| 1169 | static int __init cpm_uart_init(void) | ||
| 1170 | { | 1233 | { | 
| 1171 | int ret, i; | 1234 | struct platform_device *pdev = to_platform_device(dev); | 
| 1172 | 1235 | struct fs_uart_platform_info *pdata; | |
| 1173 | printk(KERN_INFO "Serial: CPM driver $Revision: 0.01 $\n"); | 1236 | int ret = -ENODEV; | 
| 1174 | 1237 | ||
| 1175 | #ifndef CONFIG_SERIAL_CPM_CONSOLE | 1238 | if(!pdev) { | 
| 1176 | ret = cpm_uart_init_portdesc(); | 1239 | printk(KERN_ERR"CPM UART: platform data missing!\n"); | 
| 1177 | if (ret) | ||
| 1178 | return ret; | 1240 | return ret; | 
| 1179 | #endif | 1241 | } | 
| 1180 | 1242 | ||
| 1181 | cpm_reg.nr = cpm_uart_nr; | 1243 | pdata = pdev->dev.platform_data; | 
| 1182 | ret = uart_register_driver(&cpm_reg); | 1244 | pr_debug("cpm_uart_drv_probe: Adding CPM UART %d\n", | 
| 1245 | cpm_uart_port_map[pdata->fs_no]); | ||
| 1183 | 1246 | ||
| 1184 | if (ret) | 1247 | if ((ret = cpm_uart_drv_get_platform_data(pdev, 0))) | 
| 1185 | return ret; | 1248 | return ret; | 
| 1186 | 1249 | ||
| 1187 | for (i = 0; i < cpm_uart_nr; i++) { | 1250 | if (pdata->init_ioports) | 
| 1188 | int con = cpm_uart_port_map[i]; | 1251 | pdata->init_ioports(); | 
| 1189 | cpm_uart_ports[con].port.line = i; | ||
| 1190 | cpm_uart_ports[con].port.flags = UPF_BOOT_AUTOCONF; | ||
| 1191 | uart_add_one_port(&cpm_reg, &cpm_uart_ports[con].port); | ||
| 1192 | } | ||
| 1193 | 1252 | ||
| 1194 | return ret; | 1253 | ret = uart_add_one_port(&cpm_reg, &cpm_uart_ports[pdata->fs_no].port); | 
| 1254 | |||
| 1255 | return ret; | ||
| 1195 | } | 1256 | } | 
| 1196 | 1257 | ||
| 1197 | static void __exit cpm_uart_exit(void) | 1258 | static int cpm_uart_drv_remove(struct device *dev) | 
| 1259 | { | ||
| 1260 | struct platform_device *pdev = to_platform_device(dev); | ||
| 1261 | struct fs_uart_platform_info *pdata = pdev->dev.platform_data; | ||
| 1262 | |||
| 1263 | pr_debug("cpm_uart_drv_remove: Removing CPM UART %d\n", | ||
| 1264 | cpm_uart_port_map[pdata->fs_no]); | ||
| 1265 | |||
| 1266 | uart_remove_one_port(&cpm_reg, &cpm_uart_ports[pdata->fs_no].port); | ||
| 1267 | return 0; | ||
| 1268 | } | ||
| 1269 | |||
| 1270 | static struct device_driver cpm_smc_uart_driver = { | ||
| 1271 | .name = "fsl-cpm-smc:uart", | ||
| 1272 | .bus = &platform_bus_type, | ||
| 1273 | .probe = cpm_uart_drv_probe, | ||
| 1274 | .remove = cpm_uart_drv_remove, | ||
| 1275 | }; | ||
| 1276 | |||
| 1277 | static struct device_driver cpm_scc_uart_driver = { | ||
| 1278 | .name = "fsl-cpm-scc:uart", | ||
| 1279 | .bus = &platform_bus_type, | ||
| 1280 | .probe = cpm_uart_drv_probe, | ||
| 1281 | .remove = cpm_uart_drv_remove, | ||
| 1282 | }; | ||
| 1283 | |||
| 1284 | /* | ||
| 1285 | This is supposed to match uart devices on platform bus, | ||
| 1286 | */ | ||
| 1287 | static int match_is_uart (struct device* dev, void* data) | ||
| 1198 | { | 1288 | { | 
| 1289 | struct platform_device* pdev = container_of(dev, struct platform_device, dev); | ||
| 1290 | int ret = 0; | ||
| 1291 | /* this was setfunc as uart */ | ||
| 1292 | if(strstr(pdev->name,":uart")) { | ||
| 1293 | ret = 1; | ||
| 1294 | } | ||
| 1295 | return ret; | ||
| 1296 | } | ||
| 1297 | |||
| 1298 | |||
| 1299 | static int cpm_uart_init(void) { | ||
| 1300 | |||
| 1301 | int ret; | ||
| 1199 | int i; | 1302 | int i; | 
| 1303 | struct device *dev; | ||
| 1304 | printk(KERN_INFO "Serial: CPM driver $Revision: 0.02 $\n"); | ||
| 1305 | |||
| 1306 | /* lookup the bus for uart devices */ | ||
| 1307 | dev = bus_find_device(&platform_bus_type, NULL, 0, match_is_uart); | ||
| 1308 | |||
| 1309 | /* There are devices on the bus - all should be OK */ | ||
| 1310 | if (dev) { | ||
| 1311 | cpm_uart_count(); | ||
| 1312 | cpm_reg.nr = cpm_uart_nr; | ||
| 1313 | |||
| 1314 | if (!(ret = uart_register_driver(&cpm_reg))) { | ||
| 1315 | if ((ret = driver_register(&cpm_smc_uart_driver))) { | ||
| 1316 | uart_unregister_driver(&cpm_reg); | ||
| 1317 | return ret; | ||
| 1318 | } | ||
| 1319 | if ((ret = driver_register(&cpm_scc_uart_driver))) { | ||
| 1320 | driver_unregister(&cpm_scc_uart_driver); | ||
| 1321 | uart_unregister_driver(&cpm_reg); | ||
| 1322 | } | ||
| 1323 | } | ||
| 1324 | } else { | ||
| 1325 | /* No capable platform devices found - falling back to legacy mode */ | ||
| 1326 | pr_info("cpm_uart: WARNING: no UART devices found on platform bus!\n"); | ||
| 1327 | pr_info( | ||
| 1328 | "cpm_uart: the driver will guess configuration, but this mode is no longer supported.\n"); | ||
| 1329 | #ifndef CONFIG_SERIAL_CPM_CONSOLE | ||
| 1330 | ret = cpm_uart_init_portdesc(); | ||
| 1331 | if (ret) | ||
| 1332 | return ret; | ||
| 1333 | #endif | ||
| 1334 | |||
| 1335 | cpm_reg.nr = cpm_uart_nr; | ||
| 1336 | ret = uart_register_driver(&cpm_reg); | ||
| 1337 | |||
| 1338 | if (ret) | ||
| 1339 | return ret; | ||
| 1340 | |||
| 1341 | for (i = 0; i < cpm_uart_nr; i++) { | ||
| 1342 | int con = cpm_uart_port_map[i]; | ||
| 1343 | cpm_uart_ports[con].port.line = i; | ||
| 1344 | cpm_uart_ports[con].port.flags = UPF_BOOT_AUTOCONF; | ||
| 1345 | uart_add_one_port(&cpm_reg, &cpm_uart_ports[con].port); | ||
| 1346 | } | ||
| 1200 | 1347 | ||
| 1201 | for (i = 0; i < cpm_uart_nr; i++) { | ||
| 1202 | int con = cpm_uart_port_map[i]; | ||
| 1203 | uart_remove_one_port(&cpm_reg, &cpm_uart_ports[con].port); | ||
| 1204 | } | 1348 | } | 
| 1349 | return ret; | ||
| 1350 | } | ||
| 1205 | 1351 | ||
| 1352 | static void __exit cpm_uart_exit(void) | ||
| 1353 | { | ||
| 1354 | driver_unregister(&cpm_scc_uart_driver); | ||
| 1355 | driver_unregister(&cpm_smc_uart_driver); | ||
| 1206 | uart_unregister_driver(&cpm_reg); | 1356 | uart_unregister_driver(&cpm_reg); | 
| 1207 | } | 1357 | } | 
| 1208 | 1358 | ||
diff --git a/drivers/serial/cpm_uart/cpm_uart_cpm1.c b/drivers/serial/cpm_uart/cpm_uart_cpm1.c index d789ee55cbb7..a5a30622637a 100644 --- a/drivers/serial/cpm_uart/cpm_uart_cpm1.c +++ b/drivers/serial/cpm_uart/cpm_uart_cpm1.c  | |||
| @@ -81,58 +81,11 @@ void cpm_line_cr_cmd(int line, int cmd) | |||
| 81 | 81 | ||
| 82 | void smc1_lineif(struct uart_cpm_port *pinfo) | 82 | void smc1_lineif(struct uart_cpm_port *pinfo) | 
| 83 | { | 83 | { | 
| 84 | volatile cpm8xx_t *cp = cpmp; | ||
| 85 | |||
| 86 | (void)cp; /* fix warning */ | ||
| 87 | #if defined (CONFIG_MPC885ADS) | ||
| 88 | /* Enable SMC1 transceivers */ | ||
| 89 | { | ||
| 90 | cp->cp_pepar |= 0x000000c0; | ||
| 91 | cp->cp_pedir &= ~0x000000c0; | ||
| 92 | cp->cp_peso &= ~0x00000040; | ||
| 93 | cp->cp_peso |= 0x00000080; | ||
| 94 | } | ||
| 95 | #elif defined (CONFIG_MPC86XADS) | ||
| 96 | unsigned int iobits = 0x000000c0; | ||
| 97 | |||
| 98 | if (!pinfo->is_portb) { | ||
| 99 | cp->cp_pbpar |= iobits; | ||
| 100 | cp->cp_pbdir &= ~iobits; | ||
| 101 | cp->cp_pbodr &= ~iobits; | ||
| 102 | } else { | ||
| 103 | ((immap_t *)IMAP_ADDR)->im_ioport.iop_papar |= iobits; | ||
| 104 | ((immap_t *)IMAP_ADDR)->im_ioport.iop_padir &= ~iobits; | ||
| 105 | ((immap_t *)IMAP_ADDR)->im_ioport.iop_paodr &= ~iobits; | ||
| 106 | } | ||
| 107 | #endif | ||
| 108 | pinfo->brg = 1; | 84 | pinfo->brg = 1; | 
| 109 | } | 85 | } | 
| 110 | 86 | ||
| 111 | void smc2_lineif(struct uart_cpm_port *pinfo) | 87 | void smc2_lineif(struct uart_cpm_port *pinfo) | 
| 112 | { | 88 | { | 
| 113 | volatile cpm8xx_t *cp = cpmp; | ||
| 114 | |||
| 115 | (void)cp; /* fix warning */ | ||
| 116 | #if defined (CONFIG_MPC885ADS) | ||
| 117 | cp->cp_pepar |= 0x00000c00; | ||
| 118 | cp->cp_pedir &= ~0x00000c00; | ||
| 119 | cp->cp_peso &= ~0x00000400; | ||
| 120 | cp->cp_peso |= 0x00000800; | ||
| 121 | #elif defined (CONFIG_MPC86XADS) | ||
| 122 | unsigned int iobits = 0x00000c00; | ||
| 123 | |||
| 124 | if (!pinfo->is_portb) { | ||
| 125 | cp->cp_pbpar |= iobits; | ||
| 126 | cp->cp_pbdir &= ~iobits; | ||
| 127 | cp->cp_pbodr &= ~iobits; | ||
| 128 | } else { | ||
| 129 | ((immap_t *)IMAP_ADDR)->im_ioport.iop_papar |= iobits; | ||
| 130 | ((immap_t *)IMAP_ADDR)->im_ioport.iop_padir &= ~iobits; | ||
| 131 | ((immap_t *)IMAP_ADDR)->im_ioport.iop_paodr &= ~iobits; | ||
| 132 | } | ||
| 133 | |||
| 134 | #endif | ||
| 135 | |||
| 136 | pinfo->brg = 2; | 89 | pinfo->brg = 2; | 
| 137 | } | 90 | } | 
| 138 | 91 | ||
| @@ -191,7 +144,7 @@ int cpm_uart_allocbuf(struct uart_cpm_port *pinfo, unsigned int is_con) | |||
| 191 | /* was hostalloc but changed cause it blows away the */ | 144 | /* was hostalloc but changed cause it blows away the */ | 
| 192 | /* large tlb mapping when pinning the kernel area */ | 145 | /* large tlb mapping when pinning the kernel area */ | 
| 193 | mem_addr = (u8 *) cpm_dpram_addr(cpm_dpalloc(memsz, 8)); | 146 | mem_addr = (u8 *) cpm_dpram_addr(cpm_dpalloc(memsz, 8)); | 
| 194 | dma_addr = 0; | 147 | dma_addr = (u32)mem_addr; | 
| 195 | } else | 148 | } else | 
| 196 | mem_addr = dma_alloc_coherent(NULL, memsz, &dma_addr, | 149 | mem_addr = dma_alloc_coherent(NULL, memsz, &dma_addr, | 
| 197 | GFP_KERNEL); | 150 | GFP_KERNEL); | 
| @@ -204,8 +157,9 @@ int cpm_uart_allocbuf(struct uart_cpm_port *pinfo, unsigned int is_con) | |||
| 204 | } | 157 | } | 
| 205 | 158 | ||
| 206 | pinfo->dp_addr = dp_offset; | 159 | pinfo->dp_addr = dp_offset; | 
| 207 | pinfo->mem_addr = mem_addr; | 160 | pinfo->mem_addr = mem_addr; /* virtual address*/ | 
| 208 | pinfo->dma_addr = dma_addr; | 161 | pinfo->dma_addr = dma_addr; /* physical address*/ | 
| 162 | pinfo->mem_size = memsz; | ||
| 209 | 163 | ||
| 210 | pinfo->rx_buf = mem_addr; | 164 | pinfo->rx_buf = mem_addr; | 
| 211 | pinfo->tx_buf = pinfo->rx_buf + L1_CACHE_ALIGN(pinfo->rx_nrfifos | 165 | pinfo->tx_buf = pinfo->rx_buf + L1_CACHE_ALIGN(pinfo->rx_nrfifos | 
diff --git a/drivers/serial/cpm_uart/cpm_uart_cpm2.c b/drivers/serial/cpm_uart/cpm_uart_cpm2.c index fd9e53ed3feb..7c6b07aeea92 100644 --- a/drivers/serial/cpm_uart/cpm_uart_cpm2.c +++ b/drivers/serial/cpm_uart/cpm_uart_cpm2.c  | |||
| @@ -142,14 +142,6 @@ void scc2_lineif(struct uart_cpm_port *pinfo) | |||
| 142 | * be supported in a sane fashion. | 142 | * be supported in a sane fashion. | 
| 143 | */ | 143 | */ | 
| 144 | #ifndef CONFIG_STX_GP3 | 144 | #ifndef CONFIG_STX_GP3 | 
| 145 | #ifdef CONFIG_MPC8560_ADS | ||
| 146 | volatile iop_cpm2_t *io = &cpm2_immr->im_ioport; | ||
| 147 | io->iop_ppard |= 0x00000018; | ||
| 148 | io->iop_psord &= ~0x00000008; /* Rx */ | ||
| 149 | io->iop_psord &= ~0x00000010; /* Tx */ | ||
| 150 | io->iop_pdird &= ~0x00000008; /* Rx */ | ||
| 151 | io->iop_pdird |= 0x00000010; /* Tx */ | ||
| 152 | #else | ||
| 153 | volatile iop_cpm2_t *io = &cpm2_immr->im_ioport; | 145 | volatile iop_cpm2_t *io = &cpm2_immr->im_ioport; | 
| 154 | io->iop_pparb |= 0x008b0000; | 146 | io->iop_pparb |= 0x008b0000; | 
| 155 | io->iop_pdirb |= 0x00880000; | 147 | io->iop_pdirb |= 0x00880000; | 
| @@ -157,7 +149,6 @@ void scc2_lineif(struct uart_cpm_port *pinfo) | |||
| 157 | io->iop_pdirb &= ~0x00030000; | 149 | io->iop_pdirb &= ~0x00030000; | 
| 158 | io->iop_psorb &= ~0x00030000; | 150 | io->iop_psorb &= ~0x00030000; | 
| 159 | #endif | 151 | #endif | 
| 160 | #endif | ||
| 161 | cpm2_immr->im_cpmux.cmx_scr &= 0xff00ffff; | 152 | cpm2_immr->im_cpmux.cmx_scr &= 0xff00ffff; | 
| 162 | cpm2_immr->im_cpmux.cmx_scr |= 0x00090000; | 153 | cpm2_immr->im_cpmux.cmx_scr |= 0x00090000; | 
| 163 | pinfo->brg = 2; | 154 | pinfo->brg = 2; | 
| @@ -218,8 +209,10 @@ int cpm_uart_allocbuf(struct uart_cpm_port *pinfo, unsigned int is_con) | |||
| 218 | 209 | ||
| 219 | memsz = L1_CACHE_ALIGN(pinfo->rx_nrfifos * pinfo->rx_fifosize) + | 210 | memsz = L1_CACHE_ALIGN(pinfo->rx_nrfifos * pinfo->rx_fifosize) + | 
| 220 | L1_CACHE_ALIGN(pinfo->tx_nrfifos * pinfo->tx_fifosize); | 211 | L1_CACHE_ALIGN(pinfo->tx_nrfifos * pinfo->tx_fifosize); | 
| 221 | if (is_con) | 212 | if (is_con) { | 
| 222 | mem_addr = alloc_bootmem(memsz); | 213 | mem_addr = alloc_bootmem(memsz); | 
| 214 | dma_addr = mem_addr; | ||
| 215 | } | ||
| 223 | else | 216 | else | 
| 224 | mem_addr = dma_alloc_coherent(NULL, memsz, &dma_addr, | 217 | mem_addr = dma_alloc_coherent(NULL, memsz, &dma_addr, | 
| 225 | GFP_KERNEL); | 218 | GFP_KERNEL); | 
| @@ -234,6 +227,7 @@ int cpm_uart_allocbuf(struct uart_cpm_port *pinfo, unsigned int is_con) | |||
| 234 | pinfo->dp_addr = dp_offset; | 227 | pinfo->dp_addr = dp_offset; | 
| 235 | pinfo->mem_addr = mem_addr; | 228 | pinfo->mem_addr = mem_addr; | 
| 236 | pinfo->dma_addr = dma_addr; | 229 | pinfo->dma_addr = dma_addr; | 
| 230 | pinfo->mem_size = memsz; | ||
| 237 | 231 | ||
| 238 | pinfo->rx_buf = mem_addr; | 232 | pinfo->rx_buf = mem_addr; | 
| 239 | pinfo->tx_buf = pinfo->rx_buf + L1_CACHE_ALIGN(pinfo->rx_nrfifos | 233 | pinfo->tx_buf = pinfo->rx_buf + L1_CACHE_ALIGN(pinfo->rx_nrfifos | 
diff --git a/drivers/sn/ioc3.c b/drivers/sn/ioc3.c index 0b49ff78efc1..501316b198e5 100644 --- a/drivers/sn/ioc3.c +++ b/drivers/sn/ioc3.c  | |||
| @@ -678,7 +678,7 @@ static int ioc3_probe(struct pci_dev *pdev, const struct pci_device_id *pci_id) | |||
| 678 | /* Track PCI-device specific data */ | 678 | /* Track PCI-device specific data */ | 
| 679 | pci_set_drvdata(pdev, idd); | 679 | pci_set_drvdata(pdev, idd); | 
| 680 | down_write(&ioc3_devices_rwsem); | 680 | down_write(&ioc3_devices_rwsem); | 
| 681 | list_add(&idd->list, &ioc3_devices); | 681 | list_add_tail(&idd->list, &ioc3_devices); | 
| 682 | idd->id = ioc3_counter++; | 682 | idd->id = ioc3_counter++; | 
| 683 | up_write(&ioc3_devices_rwsem); | 683 | up_write(&ioc3_devices_rwsem); | 
| 684 | 684 | ||
diff --git a/drivers/usb/gadget/net2280.c b/drivers/usb/gadget/net2280.c index 6a4b93ad1082..0b9293493957 100644 --- a/drivers/usb/gadget/net2280.c +++ b/drivers/usb/gadget/net2280.c  | |||
| @@ -2166,7 +2166,7 @@ static void handle_ep_small (struct net2280_ep *ep) | |||
| 2166 | ep->stopped = 1; | 2166 | ep->stopped = 1; | 
| 2167 | set_halt (ep); | 2167 | set_halt (ep); | 
| 2168 | mode = 2; | 2168 | mode = 2; | 
| 2169 | } else if (!req && ep->stopped) | 2169 | } else if (!req && !ep->stopped) | 
| 2170 | write_fifo (ep, NULL); | 2170 | write_fifo (ep, NULL); | 
| 2171 | } | 2171 | } | 
| 2172 | } else { | 2172 | } else { | 
| @@ -2280,9 +2280,7 @@ static void handle_ep_small (struct net2280_ep *ep) | |||
| 2280 | /* if we wrote it all, we're usually done */ | 2280 | /* if we wrote it all, we're usually done */ | 
| 2281 | if (req->req.actual == req->req.length) { | 2281 | if (req->req.actual == req->req.length) { | 
| 2282 | if (ep->num == 0) { | 2282 | if (ep->num == 0) { | 
| 2283 | /* wait for control status */ | 2283 | /* send zlps until the status stage */ | 
| 2284 | if (mode != 2) | ||
| 2285 | req = NULL; | ||
| 2286 | } else if (!req->req.zero || len != ep->ep.maxpacket) | 2284 | } else if (!req->req.zero || len != ep->ep.maxpacket) | 
| 2287 | mode = 2; | 2285 | mode = 2; | 
| 2288 | } | 2286 | } | 
| @@ -2744,6 +2742,10 @@ static irqreturn_t net2280_irq (int irq, void *_dev, struct pt_regs * r) | |||
| 2744 | { | 2742 | { | 
| 2745 | struct net2280 *dev = _dev; | 2743 | struct net2280 *dev = _dev; | 
| 2746 | 2744 | ||
| 2745 | /* shared interrupt, not ours */ | ||
| 2746 | if (!(readl(&dev->regs->irqstat0) & (1 << INTA_ASSERTED))) | ||
| 2747 | return IRQ_NONE; | ||
| 2748 | |||
| 2747 | spin_lock (&dev->lock); | 2749 | spin_lock (&dev->lock); | 
| 2748 | 2750 | ||
| 2749 | /* handle disconnect, dma, and more */ | 2751 | /* handle disconnect, dma, and more */ | 
| @@ -2831,13 +2833,13 @@ static int net2280_probe (struct pci_dev *pdev, const struct pci_device_id *id) | |||
| 2831 | } | 2833 | } | 
| 2832 | 2834 | ||
| 2833 | /* alloc, and start init */ | 2835 | /* alloc, and start init */ | 
| 2834 | dev = kmalloc (sizeof *dev, SLAB_KERNEL); | 2836 | dev = kzalloc (sizeof *dev, SLAB_KERNEL); | 
| 2835 | if (dev == NULL){ | 2837 | if (dev == NULL){ | 
| 2836 | retval = -ENOMEM; | 2838 | retval = -ENOMEM; | 
| 2837 | goto done; | 2839 | goto done; | 
| 2838 | } | 2840 | } | 
| 2839 | 2841 | ||
| 2840 | memset (dev, 0, sizeof *dev); | 2842 | pci_set_drvdata (pdev, dev); | 
| 2841 | spin_lock_init (&dev->lock); | 2843 | spin_lock_init (&dev->lock); | 
| 2842 | dev->pdev = pdev; | 2844 | dev->pdev = pdev; | 
| 2843 | dev->gadget.ops = &net2280_ops; | 2845 | dev->gadget.ops = &net2280_ops; | 
| @@ -2950,7 +2952,6 @@ static int net2280_probe (struct pci_dev *pdev, const struct pci_device_id *id) | |||
| 2950 | dev->chiprev = get_idx_reg (dev->regs, REG_CHIPREV) & 0xffff; | 2952 | dev->chiprev = get_idx_reg (dev->regs, REG_CHIPREV) & 0xffff; | 
| 2951 | 2953 | ||
| 2952 | /* done */ | 2954 | /* done */ | 
| 2953 | pci_set_drvdata (pdev, dev); | ||
| 2954 | INFO (dev, "%s\n", driver_desc); | 2955 | INFO (dev, "%s\n", driver_desc); | 
| 2955 | INFO (dev, "irq %s, pci mem %p, chip rev %04x\n", | 2956 | INFO (dev, "irq %s, pci mem %p, chip rev %04x\n", | 
| 2956 | bufp, base, dev->chiprev); | 2957 | bufp, base, dev->chiprev); | 
diff --git a/drivers/usb/host/ehci-pci.c b/drivers/usb/host/ehci-pci.c index 1e03f1a5a5fd..a1bd2bea6deb 100644 --- a/drivers/usb/host/ehci-pci.c +++ b/drivers/usb/host/ehci-pci.c  | |||
| @@ -350,7 +350,7 @@ static const struct hc_driver ehci_pci_hc_driver = { | |||
| 350 | /* PCI driver selection metadata; PCI hotplugging uses this */ | 350 | /* PCI driver selection metadata; PCI hotplugging uses this */ | 
| 351 | static const struct pci_device_id pci_ids [] = { { | 351 | static const struct pci_device_id pci_ids [] = { { | 
| 352 | /* handle any USB 2.0 EHCI controller */ | 352 | /* handle any USB 2.0 EHCI controller */ | 
| 353 | PCI_DEVICE_CLASS(((PCI_CLASS_SERIAL_USB << 8) | 0x20), ~0), | 353 | PCI_DEVICE_CLASS(PCI_CLASS_SERIAL_USB_EHCI, ~0), | 
| 354 | .driver_data = (unsigned long) &ehci_pci_hc_driver, | 354 | .driver_data = (unsigned long) &ehci_pci_hc_driver, | 
| 355 | }, | 355 | }, | 
| 356 | { /* end: all zeroes */ } | 356 | { /* end: all zeroes */ } | 
diff --git a/drivers/usb/host/ohci-pci.c b/drivers/usb/host/ohci-pci.c index 1bfe96f4d045..b268537e389e 100644 --- a/drivers/usb/host/ohci-pci.c +++ b/drivers/usb/host/ohci-pci.c  | |||
| @@ -206,7 +206,7 @@ static const struct hc_driver ohci_pci_hc_driver = { | |||
| 206 | 206 | ||
| 207 | static const struct pci_device_id pci_ids [] = { { | 207 | static const struct pci_device_id pci_ids [] = { { | 
| 208 | /* handle any USB OHCI controller */ | 208 | /* handle any USB OHCI controller */ | 
| 209 | PCI_DEVICE_CLASS((PCI_CLASS_SERIAL_USB << 8) | 0x10, ~0), | 209 | PCI_DEVICE_CLASS(PCI_CLASS_SERIAL_USB_OHCI, ~0), | 
| 210 | .driver_data = (unsigned long) &ohci_pci_hc_driver, | 210 | .driver_data = (unsigned long) &ohci_pci_hc_driver, | 
| 211 | }, { /* end: all zeroes */ } | 211 | }, { /* end: all zeroes */ } | 
| 212 | }; | 212 | }; | 
diff --git a/drivers/usb/host/uhci-hcd.c b/drivers/usb/host/uhci-hcd.c index c0c4db78b590..d225e11f4055 100644 --- a/drivers/usb/host/uhci-hcd.c +++ b/drivers/usb/host/uhci-hcd.c  | |||
| @@ -858,7 +858,7 @@ static const struct hc_driver uhci_driver = { | |||
| 858 | 858 | ||
| 859 | static const struct pci_device_id uhci_pci_ids[] = { { | 859 | static const struct pci_device_id uhci_pci_ids[] = { { | 
| 860 | /* handle any USB UHCI controller */ | 860 | /* handle any USB UHCI controller */ | 
| 861 | PCI_DEVICE_CLASS(((PCI_CLASS_SERIAL_USB << 8) | 0x00), ~0), | 861 | PCI_DEVICE_CLASS(PCI_CLASS_SERIAL_USB_UHCI, ~0), | 
| 862 | .driver_data = (unsigned long) &uhci_driver, | 862 | .driver_data = (unsigned long) &uhci_driver, | 
| 863 | }, { /* end: all zeroes */ } | 863 | }, { /* end: all zeroes */ } | 
| 864 | }; | 864 | }; | 
diff --git a/drivers/usb/serial/ftdi_sio.c b/drivers/usb/serial/ftdi_sio.c index f5851db67f5b..82151207d814 100644 --- a/drivers/usb/serial/ftdi_sio.c +++ b/drivers/usb/serial/ftdi_sio.c  | |||
| @@ -308,6 +308,7 @@ static struct ftdi_sio_quirk ftdi_HE_TIRA1_quirk = { | |||
| 308 | 308 | ||
| 309 | static struct usb_device_id id_table_combined [] = { | 309 | static struct usb_device_id id_table_combined [] = { | 
| 310 | { USB_DEVICE(FTDI_VID, FTDI_IRTRANS_PID) }, | 310 | { USB_DEVICE(FTDI_VID, FTDI_IRTRANS_PID) }, | 
| 311 | { USB_DEVICE(FTDI_VID, FTDI_IPLUS_PID) }, | ||
| 311 | { USB_DEVICE(FTDI_VID, FTDI_SIO_PID) }, | 312 | { USB_DEVICE(FTDI_VID, FTDI_SIO_PID) }, | 
| 312 | { USB_DEVICE(FTDI_VID, FTDI_8U232AM_PID) }, | 313 | { USB_DEVICE(FTDI_VID, FTDI_8U232AM_PID) }, | 
| 313 | { USB_DEVICE(FTDI_VID, FTDI_8U232AM_ALT_PID) }, | 314 | { USB_DEVICE(FTDI_VID, FTDI_8U232AM_ALT_PID) }, | 
| @@ -493,6 +494,8 @@ static struct usb_device_id id_table_combined [] = { | |||
| 493 | { USB_DEVICE(FTDI_VID, FTDI_WESTREX_MODEL_777_PID) }, | 494 | { USB_DEVICE(FTDI_VID, FTDI_WESTREX_MODEL_777_PID) }, | 
| 494 | { USB_DEVICE(FTDI_VID, FTDI_WESTREX_MODEL_8900F_PID) }, | 495 | { USB_DEVICE(FTDI_VID, FTDI_WESTREX_MODEL_8900F_PID) }, | 
| 495 | { USB_DEVICE(FTDI_VID, FTDI_PCDJ_DAC2_PID) }, | 496 | { USB_DEVICE(FTDI_VID, FTDI_PCDJ_DAC2_PID) }, | 
| 497 | { USB_DEVICE(FTDI_VID, FTDI_RRCIRKITS_LOCOBUFFER_PID) }, | ||
| 498 | { USB_DEVICE(FTDI_VID, FTDI_ASK_RDR400_PID) }, | ||
| 496 | { USB_DEVICE(ICOM_ID1_VID, ICOM_ID1_PID) }, | 499 | { USB_DEVICE(ICOM_ID1_VID, ICOM_ID1_PID) }, | 
| 497 | { USB_DEVICE(PAPOUCH_VID, PAPOUCH_TMU_PID) }, | 500 | { USB_DEVICE(PAPOUCH_VID, PAPOUCH_TMU_PID) }, | 
| 498 | { }, /* Optional parameter entry */ | 501 | { }, /* Optional parameter entry */ | 
diff --git a/drivers/usb/serial/ftdi_sio.h b/drivers/usb/serial/ftdi_sio.h index 2155f0e4a378..2c55a5ea9c99 100644 --- a/drivers/usb/serial/ftdi_sio.h +++ b/drivers/usb/serial/ftdi_sio.h  | |||
| @@ -39,6 +39,9 @@ | |||
| 39 | /* www.thoughttechnology.com/ TT-USB provide with procomp use ftdi_sio */ | 39 | /* www.thoughttechnology.com/ TT-USB provide with procomp use ftdi_sio */ | 
| 40 | #define FTDI_TTUSB_PID 0xFF20 /* Product Id */ | 40 | #define FTDI_TTUSB_PID 0xFF20 /* Product Id */ | 
| 41 | 41 | ||
| 42 | /* iPlus device */ | ||
| 43 | #define FTDI_IPLUS_PID 0xD070 /* Product Id */ | ||
| 44 | |||
| 42 | /* www.crystalfontz.com devices - thanx for providing free devices for evaluation ! */ | 45 | /* www.crystalfontz.com devices - thanx for providing free devices for evaluation ! */ | 
| 43 | /* they use the ftdi chipset for the USB interface and the vendor id is the same */ | 46 | /* they use the ftdi chipset for the USB interface and the vendor id is the same */ | 
| 44 | #define FTDI_XF_632_PID 0xFC08 /* 632: 16x2 Character Display */ | 47 | #define FTDI_XF_632_PID 0xFC08 /* 632: 16x2 Character Display */ | 
| @@ -153,6 +156,11 @@ | |||
| 153 | #define ICOM_ID1_PID 0x0004 | 156 | #define ICOM_ID1_PID 0x0004 | 
| 154 | 157 | ||
| 155 | /* | 158 | /* | 
| 159 | * ASK.fr devices | ||
| 160 | */ | ||
| 161 | #define FTDI_ASK_RDR400_PID 0xC991 /* ASK RDR 400 series card reader */ | ||
| 162 | |||
| 163 | /* | ||
| 156 | * DSS-20 Sync Station for Sony Ericsson P800 | 164 | * DSS-20 Sync Station for Sony Ericsson P800 | 
| 157 | */ | 165 | */ | 
| 158 | 166 | ||
| @@ -400,6 +408,11 @@ | |||
| 400 | #define FTDI_WESTREX_MODEL_8900F_PID 0xDC01 /* Model 8900F */ | 408 | #define FTDI_WESTREX_MODEL_8900F_PID 0xDC01 /* Model 8900F */ | 
| 401 | 409 | ||
| 402 | /* | 410 | /* | 
| 411 | * RR-CirKits LocoBuffer USB (http://www.rr-cirkits.com) | ||
| 412 | */ | ||
| 413 | #define FTDI_RRCIRKITS_LOCOBUFFER_PID 0xc7d0 /* LocoBuffer USB */ | ||
| 414 | |||
| 415 | /* | ||
| 403 | * Eclo (http://www.eclo.pt/) product IDs. | 416 | * Eclo (http://www.eclo.pt/) product IDs. | 
| 404 | * PID 0xEA90 submitted by Martin Grill. | 417 | * PID 0xEA90 submitted by Martin Grill. | 
| 405 | */ | 418 | */ | 
diff --git a/drivers/usb/serial/pl2303.c b/drivers/usb/serial/pl2303.c index ccf746b27d4e..c96714bb1cb8 100644 --- a/drivers/usb/serial/pl2303.c +++ b/drivers/usb/serial/pl2303.c  | |||
| @@ -61,6 +61,7 @@ static struct usb_device_id id_table [] = { | |||
| 61 | { USB_DEVICE(ELCOM_VENDOR_ID, ELCOM_PRODUCT_ID) }, | 61 | { USB_DEVICE(ELCOM_VENDOR_ID, ELCOM_PRODUCT_ID) }, | 
| 62 | { USB_DEVICE(ELCOM_VENDOR_ID, ELCOM_PRODUCT_ID_UCSGT) }, | 62 | { USB_DEVICE(ELCOM_VENDOR_ID, ELCOM_PRODUCT_ID_UCSGT) }, | 
| 63 | { USB_DEVICE(ITEGNO_VENDOR_ID, ITEGNO_PRODUCT_ID) }, | 63 | { USB_DEVICE(ITEGNO_VENDOR_ID, ITEGNO_PRODUCT_ID) }, | 
| 64 | { USB_DEVICE(ITEGNO_VENDOR_ID, ITEGNO_PRODUCT_ID_2080) }, | ||
| 64 | { USB_DEVICE(MA620_VENDOR_ID, MA620_PRODUCT_ID) }, | 65 | { USB_DEVICE(MA620_VENDOR_ID, MA620_PRODUCT_ID) }, | 
| 65 | { USB_DEVICE(RATOC_VENDOR_ID, RATOC_PRODUCT_ID) }, | 66 | { USB_DEVICE(RATOC_VENDOR_ID, RATOC_PRODUCT_ID) }, | 
| 66 | { USB_DEVICE(TRIPP_VENDOR_ID, TRIPP_PRODUCT_ID) }, | 67 | { USB_DEVICE(TRIPP_VENDOR_ID, TRIPP_PRODUCT_ID) }, | 
diff --git a/drivers/usb/serial/pl2303.h b/drivers/usb/serial/pl2303.h index 09f379b19e98..7f29e81d3e35 100644 --- a/drivers/usb/serial/pl2303.h +++ b/drivers/usb/serial/pl2303.h  | |||
| @@ -26,6 +26,7 @@ | |||
| 26 | 26 | ||
| 27 | #define ITEGNO_VENDOR_ID 0x0eba | 27 | #define ITEGNO_VENDOR_ID 0x0eba | 
| 28 | #define ITEGNO_PRODUCT_ID 0x1080 | 28 | #define ITEGNO_PRODUCT_ID 0x1080 | 
| 29 | #define ITEGNO_PRODUCT_ID_2080 0x2080 | ||
| 29 | 30 | ||
| 30 | #define MA620_VENDOR_ID 0x0df7 | 31 | #define MA620_VENDOR_ID 0x0df7 | 
| 31 | #define MA620_PRODUCT_ID 0x0620 | 32 | #define MA620_PRODUCT_ID 0x0620 | 
diff --git a/drivers/usb/serial/whiteheat.c b/drivers/usb/serial/whiteheat.c index 557411c6e7c7..f806553cd9a4 100644 --- a/drivers/usb/serial/whiteheat.c +++ b/drivers/usb/serial/whiteheat.c  | |||
| @@ -508,6 +508,7 @@ no_firmware: | |||
| 508 | err("%s: Unable to retrieve firmware version, try replugging\n", serial->type->description); | 508 | err("%s: Unable to retrieve firmware version, try replugging\n", serial->type->description); | 
| 509 | err("%s: If the firmware is not running (status led not blinking)\n", serial->type->description); | 509 | err("%s: If the firmware is not running (status led not blinking)\n", serial->type->description); | 
| 510 | err("%s: please contact support@connecttech.com\n", serial->type->description); | 510 | err("%s: please contact support@connecttech.com\n", serial->type->description); | 
| 511 | kfree(result); | ||
| 511 | return -ENODEV; | 512 | return -ENODEV; | 
| 512 | 513 | ||
| 513 | no_command_private: | 514 | no_command_private: | 
diff --git a/drivers/usb/storage/unusual_devs.h b/drivers/usb/storage/unusual_devs.h index c4a9dcff5f2b..aec5ea8682d5 100644 --- a/drivers/usb/storage/unusual_devs.h +++ b/drivers/usb/storage/unusual_devs.h  | |||
| @@ -411,7 +411,7 @@ UNUSUAL_DEV( 0x050d, 0x0115, 0x0133, 0x0133, | |||
| 411 | UNUSUAL_DEV( 0x0525, 0xa140, 0x0100, 0x0100, | 411 | UNUSUAL_DEV( 0x0525, 0xa140, 0x0100, 0x0100, | 
| 412 | "Iomega", | 412 | "Iomega", | 
| 413 | "USB Clik! 40", | 413 | "USB Clik! 40", | 
| 414 | US_SC_8070, US_PR_BULK, NULL, | 414 | US_SC_8070, US_PR_DEVICE, NULL, | 
| 415 | US_FL_FIX_INQUIRY ), | 415 | US_FL_FIX_INQUIRY ), | 
| 416 | 416 | ||
| 417 | /* Yakumo Mega Image 37 | 417 | /* Yakumo Mega Image 37 | 
| @@ -773,6 +773,13 @@ UNUSUAL_DEV( 0x069b, 0x3004, 0x0001, 0x0001, | |||
| 773 | US_SC_DEVICE, US_PR_DEVICE, NULL, | 773 | US_SC_DEVICE, US_PR_DEVICE, NULL, | 
| 774 | US_FL_FIX_CAPACITY ), | 774 | US_FL_FIX_CAPACITY ), | 
| 775 | 775 | ||
| 776 | /* Reported by Olivier Blondeau <zeitoun@gmail.com> */ | ||
| 777 | UNUSUAL_DEV( 0x0727, 0x0306, 0x0100, 0x0100, | ||
| 778 | "ATMEL", | ||
| 779 | "SND1 Storage", | ||
| 780 | US_SC_DEVICE, US_PR_DEVICE, NULL, | ||
| 781 | US_FL_IGNORE_RESIDUE), | ||
| 782 | |||
| 776 | /* Submitted by Roman Hodek <roman@hodek.net> */ | 783 | /* Submitted by Roman Hodek <roman@hodek.net> */ | 
| 777 | UNUSUAL_DEV( 0x0781, 0x0001, 0x0200, 0x0200, | 784 | UNUSUAL_DEV( 0x0781, 0x0001, 0x0200, 0x0200, | 
| 778 | "Sandisk", | 785 | "Sandisk", | 
diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig index 9060e7137441..4587087d777a 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig  | |||
| @@ -400,6 +400,8 @@ config FB_ASILIANT | |||
| 400 | select FB_CFB_FILLRECT | 400 | select FB_CFB_FILLRECT | 
| 401 | select FB_CFB_COPYAREA | 401 | select FB_CFB_COPYAREA | 
| 402 | select FB_CFB_IMAGEBLIT | 402 | select FB_CFB_IMAGEBLIT | 
| 403 | help | ||
| 404 | This is the frame buffer device driver for the Asiliant 69030 chipset | ||
| 403 | 405 | ||
| 404 | config FB_IMSTT | 406 | config FB_IMSTT | 
| 405 | bool "IMS Twin Turbo display support" | 407 | bool "IMS Twin Turbo display support" | 
diff --git a/drivers/video/au1200fb.c b/drivers/video/au1200fb.c index b367de30b98c..600d3e0e08b7 100644 --- a/drivers/video/au1200fb.c +++ b/drivers/video/au1200fb.c  | |||
| @@ -1920,1925 +1920,3 @@ module_exit(au1200fb_cleanup); | |||
| 1920 | 1920 | ||
| 1921 | MODULE_DESCRIPTION(DRIVER_DESC); | 1921 | MODULE_DESCRIPTION(DRIVER_DESC); | 
| 1922 | MODULE_LICENSE("GPL"); | 1922 | MODULE_LICENSE("GPL"); | 
| 1923 | /* | ||
| 1924 | * BRIEF MODULE DESCRIPTION | ||
| 1925 | * Au1200 LCD Driver. | ||
| 1926 | * | ||
| 1927 | * Copyright 2004-2005 AMD | ||
| 1928 | * Author: AMD | ||
| 1929 | * | ||
| 1930 | * Based on: | ||
| 1931 | * linux/drivers/video/skeletonfb.c -- Skeleton for a frame buffer device | ||
| 1932 | * Created 28 Dec 1997 by Geert Uytterhoeven | ||
| 1933 | * | ||
| 1934 | * This program is free software; you can redistribute it and/or modify it | ||
| 1935 | * under the terms of the GNU General Public License as published by the | ||
| 1936 | * Free Software Foundation; either version 2 of the License, or (at your | ||
| 1937 | * option) any later version. | ||
| 1938 | * | ||
| 1939 | * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED | ||
| 1940 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | ||
| 1941 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN | ||
| 1942 | * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, | ||
| 1943 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT | ||
| 1944 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF | ||
| 1945 | * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON | ||
| 1946 | * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
| 1947 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | ||
| 1948 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
| 1949 | * | ||
| 1950 | * You should have received a copy of the GNU General Public License along | ||
| 1951 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
| 1952 | * 675 Mass Ave, Cambridge, MA 02139, USA. | ||
| 1953 | */ | ||
| 1954 | |||
| 1955 | #include <linux/module.h> | ||
| 1956 | #include <linux/platform_device.h> | ||
| 1957 | #include <linux/kernel.h> | ||
| 1958 | #include <linux/errno.h> | ||
| 1959 | #include <linux/string.h> | ||
| 1960 | #include <linux/mm.h> | ||
| 1961 | #include <linux/fb.h> | ||
| 1962 | #include <linux/init.h> | ||
| 1963 | #include <linux/interrupt.h> | ||
| 1964 | #include <linux/ctype.h> | ||
| 1965 | #include <linux/dma-mapping.h> | ||
| 1966 | |||
| 1967 | #include <asm/mach-au1x00/au1000.h> | ||
| 1968 | #include "au1200fb.h" | ||
| 1969 | |||
| 1970 | #ifdef CONFIG_PM | ||
| 1971 | #include <asm/mach-au1x00/au1xxx_pm.h> | ||
| 1972 | #endif | ||
| 1973 | |||
| 1974 | #ifndef CONFIG_FB_AU1200_DEVS | ||
| 1975 | #define CONFIG_FB_AU1200_DEVS 4 | ||
| 1976 | #endif | ||
| 1977 | |||
| 1978 | #define DRIVER_NAME "au1200fb" | ||
| 1979 | #define DRIVER_DESC "LCD controller driver for AU1200 processors" | ||
| 1980 | |||
| 1981 | #define DEBUG 1 | ||
| 1982 | |||
| 1983 | #define print_err(f, arg...) printk(KERN_ERR DRIVER_NAME ": " f "\n", ## arg) | ||
| 1984 | #define print_warn(f, arg...) printk(KERN_WARNING DRIVER_NAME ": " f "\n", ## arg) | ||
| 1985 | #define print_info(f, arg...) printk(KERN_INFO DRIVER_NAME ": " f "\n", ## arg) | ||
| 1986 | |||
| 1987 | #if DEBUG | ||
| 1988 | #define print_dbg(f, arg...) printk(KERN_DEBUG __FILE__ ": " f "\n", ## arg) | ||
| 1989 | #else | ||
| 1990 | #define print_dbg(f, arg...) do {} while (0) | ||
| 1991 | #endif | ||
| 1992 | |||
| 1993 | |||
| 1994 | #define AU1200_LCD_FB_IOCTL 0x46FF | ||
| 1995 | |||
| 1996 | #define AU1200_LCD_SET_SCREEN 1 | ||
| 1997 | #define AU1200_LCD_GET_SCREEN 2 | ||
| 1998 | #define AU1200_LCD_SET_WINDOW 3 | ||
| 1999 | #define AU1200_LCD_GET_WINDOW 4 | ||
| 2000 | #define AU1200_LCD_SET_PANEL 5 | ||
| 2001 | #define AU1200_LCD_GET_PANEL 6 | ||
| 2002 | |||
| 2003 | #define SCREEN_SIZE (1<< 1) | ||
| 2004 | #define SCREEN_BACKCOLOR (1<< 2) | ||
| 2005 | #define SCREEN_BRIGHTNESS (1<< 3) | ||
| 2006 | #define SCREEN_COLORKEY (1<< 4) | ||
| 2007 | #define SCREEN_MASK (1<< 5) | ||
| 2008 | |||
| 2009 | struct au1200_lcd_global_regs_t { | ||
| 2010 | unsigned int flags; | ||
| 2011 | unsigned int xsize; | ||
| 2012 | unsigned int ysize; | ||
| 2013 | unsigned int backcolor; | ||
| 2014 | unsigned int brightness; | ||
| 2015 | unsigned int colorkey; | ||
| 2016 | unsigned int mask; | ||
| 2017 | unsigned int panel_choice; | ||
| 2018 | char panel_desc[80]; | ||
| 2019 | |||
| 2020 | }; | ||
| 2021 | |||
| 2022 | #define WIN_POSITION (1<< 0) | ||
| 2023 | #define WIN_ALPHA_COLOR (1<< 1) | ||
| 2024 | #define WIN_ALPHA_MODE (1<< 2) | ||
| 2025 | #define WIN_PRIORITY (1<< 3) | ||
| 2026 | #define WIN_CHANNEL (1<< 4) | ||
| 2027 | #define WIN_BUFFER_FORMAT (1<< 5) | ||
| 2028 | #define WIN_COLOR_ORDER (1<< 6) | ||
| 2029 | #define WIN_PIXEL_ORDER (1<< 7) | ||
| 2030 | #define WIN_SIZE (1<< 8) | ||
| 2031 | #define WIN_COLORKEY_MODE (1<< 9) | ||
| 2032 | #define WIN_DOUBLE_BUFFER_MODE (1<< 10) | ||
| 2033 | #define WIN_RAM_ARRAY_MODE (1<< 11) | ||
| 2034 | #define WIN_BUFFER_SCALE (1<< 12) | ||
| 2035 | #define WIN_ENABLE (1<< 13) | ||
| 2036 | |||
| 2037 | struct au1200_lcd_window_regs_t { | ||
| 2038 | unsigned int flags; | ||
| 2039 | unsigned int xpos; | ||
| 2040 | unsigned int ypos; | ||
| 2041 | unsigned int alpha_color; | ||
| 2042 | unsigned int alpha_mode; | ||
| 2043 | unsigned int priority; | ||
| 2044 | unsigned int channel; | ||
| 2045 | unsigned int buffer_format; | ||
| 2046 | unsigned int color_order; | ||
| 2047 | unsigned int pixel_order; | ||
| 2048 | unsigned int xsize; | ||
| 2049 | unsigned int ysize; | ||
| 2050 | unsigned int colorkey_mode; | ||
| 2051 | unsigned int double_buffer_mode; | ||
| 2052 | unsigned int ram_array_mode; | ||
| 2053 | unsigned int xscale; | ||
| 2054 | unsigned int yscale; | ||
| 2055 | unsigned int enable; | ||
| 2056 | }; | ||
| 2057 | |||
| 2058 | |||
| 2059 | struct au1200_lcd_iodata_t { | ||
| 2060 | unsigned int subcmd; | ||
| 2061 | struct au1200_lcd_global_regs_t global; | ||
| 2062 | struct au1200_lcd_window_regs_t window; | ||
| 2063 | }; | ||
| 2064 | |||
| 2065 | #if defined(__BIG_ENDIAN) | ||
| 2066 | #define LCD_CONTROL_DEFAULT_PO LCD_CONTROL_PO_11 | ||
| 2067 | #else | ||
| 2068 | #define LCD_CONTROL_DEFAULT_PO LCD_CONTROL_PO_00 | ||
| 2069 | #endif | ||
| 2070 | #define LCD_CONTROL_DEFAULT_SBPPF LCD_CONTROL_SBPPF_565 | ||
| 2071 | |||
| 2072 | /* Private, per-framebuffer management information (independent of the panel itself) */ | ||
| 2073 | struct au1200fb_device { | ||
| 2074 | struct fb_info fb_info; /* FB driver info record */ | ||
| 2075 | |||
| 2076 | int plane; | ||
| 2077 | unsigned char* fb_mem; /* FrameBuffer memory map */ | ||
| 2078 | unsigned int fb_len; | ||
| 2079 | dma_addr_t fb_phys; | ||
| 2080 | }; | ||
| 2081 | |||
| 2082 | static struct au1200fb_device _au1200fb_devices[CONFIG_FB_AU1200_DEVS]; | ||
| 2083 | /********************************************************************/ | ||
| 2084 | |||
| 2085 | /* LCD controller restrictions */ | ||
| 2086 | #define AU1200_LCD_MAX_XRES 1280 | ||
| 2087 | #define AU1200_LCD_MAX_YRES 1024 | ||
| 2088 | #define AU1200_LCD_MAX_BPP 32 | ||
| 2089 | #define AU1200_LCD_MAX_CLK 96000000 /* fixme: this needs to go away ? */ | ||
| 2090 | #define AU1200_LCD_NBR_PALETTE_ENTRIES 256 | ||
| 2091 | |||
| 2092 | /* Default number of visible screen buffer to allocate */ | ||
| 2093 | #define AU1200FB_NBR_VIDEO_BUFFERS 1 | ||
| 2094 | |||
| 2095 | /********************************************************************/ | ||
| 2096 | |||
| 2097 | static struct au1200_lcd *lcd = (struct au1200_lcd *) AU1200_LCD_ADDR; | ||
| 2098 | static int window_index = 2; /* default is zero */ | ||
| 2099 | static int panel_index = 2; /* default is zero */ | ||
| 2100 | static struct window_settings *win; | ||
| 2101 | static struct panel_settings *panel; | ||
| 2102 | static int noblanking = 1; | ||
| 2103 | static int nohwcursor = 0; | ||
| 2104 | |||
| 2105 | struct window_settings { | ||
| 2106 | unsigned char name[64]; | ||
| 2107 | uint32 mode_backcolor; | ||
| 2108 | uint32 mode_colorkey; | ||
| 2109 | uint32 mode_colorkeymsk; | ||
| 2110 | struct { | ||
| 2111 | int xres; | ||
| 2112 | int yres; | ||
| 2113 | int xpos; | ||
| 2114 | int ypos; | ||
| 2115 | uint32 mode_winctrl1; /* winctrl1[FRM,CCO,PO,PIPE] */ | ||
| 2116 | uint32 mode_winenable; | ||
| 2117 | } w[4]; | ||
| 2118 | }; | ||
| 2119 | |||
| 2120 | #if defined(__BIG_ENDIAN) | ||
| 2121 | #define LCD_WINCTRL1_PO_16BPP LCD_WINCTRL1_PO_00 | ||
| 2122 | #else | ||
| 2123 | #define LCD_WINCTRL1_PO_16BPP LCD_WINCTRL1_PO_01 | ||
| 2124 | #endif | ||
| 2125 | |||
| 2126 | extern int board_au1200fb_panel_init (void); | ||
| 2127 | extern int board_au1200fb_panel_shutdown (void); | ||
| 2128 | |||
| 2129 | #ifdef CONFIG_PM | ||
| 2130 | int au1200fb_pm_callback(au1xxx_power_dev_t *dev, | ||
| 2131 | au1xxx_request_t request, void *data); | ||
| 2132 | au1xxx_power_dev_t *LCD_pm_dev; | ||
| 2133 | #endif | ||
| 2134 | |||
| 2135 | /* | ||
| 2136 | * Default window configurations | ||
| 2137 | */ | ||
| 2138 | static struct window_settings windows[] = { | ||
| 2139 | { /* Index 0 */ | ||
| 2140 | "0-FS gfx, 1-video, 2-ovly gfx, 3-ovly gfx", | ||
| 2141 | /* mode_backcolor */ 0x006600ff, | ||
| 2142 | /* mode_colorkey,msk*/ 0, 0, | ||
| 2143 | { | ||
| 2144 | { | ||
| 2145 | /* xres, yres, xpos, ypos */ 0, 0, 0, 0, | ||
| 2146 | /* mode_winctrl1 */ LCD_WINCTRL1_FRM_16BPP565 | | ||
| 2147 | LCD_WINCTRL1_PO_16BPP, | ||
| 2148 | /* mode_winenable*/ LCD_WINENABLE_WEN0, | ||
| 2149 | }, | ||
| 2150 | { | ||
| 2151 | /* xres, yres, xpos, ypos */ 100, 100, 100, 100, | ||
| 2152 | /* mode_winctrl1 */ LCD_WINCTRL1_FRM_16BPP565 | | ||
| 2153 | LCD_WINCTRL1_PO_16BPP | | ||
| 2154 | LCD_WINCTRL1_PIPE, | ||
| 2155 | /* mode_winenable*/ LCD_WINENABLE_WEN1, | ||
| 2156 | }, | ||
| 2157 | { | ||
| 2158 | /* xres, yres, xpos, ypos */ 0, 0, 0, 0, | ||
| 2159 | /* mode_winctrl1 */ LCD_WINCTRL1_FRM_16BPP565 | | ||
| 2160 | LCD_WINCTRL1_PO_16BPP, | ||
| 2161 | /* mode_winenable*/ 0, | ||
| 2162 | }, | ||
| 2163 | { | ||
| 2164 | /* xres, yres, xpos, ypos */ 0, 0, 0, 0, | ||
| 2165 | /* mode_winctrl1 */ LCD_WINCTRL1_FRM_16BPP565 | | ||
| 2166 | LCD_WINCTRL1_PO_16BPP | | ||
| 2167 | LCD_WINCTRL1_PIPE, | ||
| 2168 | /* mode_winenable*/ 0, | ||
| 2169 | }, | ||
| 2170 | }, | ||
| 2171 | }, | ||
| 2172 | |||
| 2173 | { /* Index 1 */ | ||
| 2174 | "0-FS gfx, 1-video, 2-ovly gfx, 3-ovly gfx", | ||
| 2175 | /* mode_backcolor */ 0x006600ff, | ||
| 2176 | /* mode_colorkey,msk*/ 0, 0, | ||
| 2177 | { | ||
| 2178 | { | ||
| 2179 | /* xres, yres, xpos, ypos */ 320, 240, 5, 5, | ||
| 2180 | /* mode_winctrl1 */ LCD_WINCTRL1_FRM_24BPP | | ||
| 2181 | LCD_WINCTRL1_PO_00, | ||
| 2182 | /* mode_winenable*/ LCD_WINENABLE_WEN0, | ||
| 2183 | }, | ||
| 2184 | { | ||
| 2185 | /* xres, yres, xpos, ypos */ 0, 0, 0, 0, | ||
| 2186 | /* mode_winctrl1 */ LCD_WINCTRL1_FRM_16BPP565 | ||
| 2187 | | LCD_WINCTRL1_PO_16BPP, | ||
| 2188 | /* mode_winenable*/ 0, | ||
| 2189 | }, | ||
| 2190 | { | ||
| 2191 | /* xres, yres, xpos, ypos */ 100, 100, 0, 0, | ||
| 2192 | /* mode_winctrl1 */ LCD_WINCTRL1_FRM_16BPP565 | | ||
| 2193 | LCD_WINCTRL1_PO_16BPP | | ||
| 2194 | LCD_WINCTRL1_PIPE, | ||
| 2195 | /* mode_winenable*/ 0/*LCD_WINENABLE_WEN2*/, | ||
| 2196 | }, | ||
| 2197 | { | ||
| 2198 | /* xres, yres, xpos, ypos */ 200, 25, 0, 0, | ||
| 2199 | /* mode_winctrl1 */ LCD_WINCTRL1_FRM_16BPP565 | | ||
| 2200 | LCD_WINCTRL1_PO_16BPP | | ||
| 2201 | LCD_WINCTRL1_PIPE, | ||
| 2202 | /* mode_winenable*/ 0, | ||
| 2203 | }, | ||
| 2204 | }, | ||
| 2205 | }, | ||
| 2206 | { /* Index 2 */ | ||
| 2207 | "0-FS gfx, 1-video, 2-ovly gfx, 3-ovly gfx", | ||
| 2208 | /* mode_backcolor */ 0x006600ff, | ||
| 2209 | /* mode_colorkey,msk*/ 0, 0, | ||
| 2210 | { | ||
| 2211 | { | ||
| 2212 | /* xres, yres, xpos, ypos */ 0, 0, 0, 0, | ||
| 2213 | /* mode_winctrl1 */ LCD_WINCTRL1_FRM_16BPP565 | | ||
| 2214 | LCD_WINCTRL1_PO_16BPP, | ||
| 2215 | /* mode_winenable*/ LCD_WINENABLE_WEN0, | ||
| 2216 | }, | ||
| 2217 | { | ||
| 2218 | /* xres, yres, xpos, ypos */ 0, 0, 0, 0, | ||
| 2219 | /* mode_winctrl1 */ LCD_WINCTRL1_FRM_16BPP565 | | ||
| 2220 | LCD_WINCTRL1_PO_16BPP, | ||
| 2221 | /* mode_winenable*/ 0, | ||
| 2222 | }, | ||
| 2223 | { | ||
| 2224 | /* xres, yres, xpos, ypos */ 0, 0, 0, 0, | ||
| 2225 | /* mode_winctrl1 */ LCD_WINCTRL1_FRM_32BPP | | ||
| 2226 | LCD_WINCTRL1_PO_00|LCD_WINCTRL1_PIPE, | ||
| 2227 | /* mode_winenable*/ 0/*LCD_WINENABLE_WEN2*/, | ||
| 2228 | }, | ||
| 2229 | { | ||
| 2230 | /* xres, yres, xpos, ypos */ 0, 0, 0, 0, | ||
| 2231 | /* mode_winctrl1 */ LCD_WINCTRL1_FRM_16BPP565 | | ||
| 2232 | LCD_WINCTRL1_PO_16BPP | | ||
| 2233 | LCD_WINCTRL1_PIPE, | ||
| 2234 | /* mode_winenable*/ 0, | ||
| 2235 | }, | ||
| 2236 | }, | ||
| 2237 | }, | ||
| 2238 | /* Need VGA 640 @ 24bpp, @ 32bpp */ | ||
| 2239 | /* Need VGA 800 @ 24bpp, @ 32bpp */ | ||
| 2240 | /* Need VGA 1024 @ 24bpp, @ 32bpp */ | ||
| 2241 | }; | ||
| 2242 | |||
| 2243 | /* | ||
| 2244 | * Controller configurations for various panels. | ||
| 2245 | */ | ||
| 2246 | |||
| 2247 | struct panel_settings | ||
| 2248 | { | ||
| 2249 | const char name[25]; /* Full name <vendor>_<model> */ | ||
| 2250 | |||
| 2251 | struct fb_monspecs monspecs; /* FB monitor specs */ | ||
| 2252 | |||
| 2253 | /* panel timings */ | ||
| 2254 | uint32 mode_screen; | ||
| 2255 | uint32 mode_horztiming; | ||
| 2256 | uint32 mode_verttiming; | ||
| 2257 | uint32 mode_clkcontrol; | ||
| 2258 | uint32 mode_pwmdiv; | ||
| 2259 | uint32 mode_pwmhi; | ||
| 2260 | uint32 mode_outmask; | ||
| 2261 | uint32 mode_fifoctrl; | ||
| 2262 | uint32 mode_toyclksrc; | ||
| 2263 | uint32 mode_backlight; | ||
| 2264 | uint32 mode_auxpll; | ||
| 2265 | int (*device_init)(void); | ||
| 2266 | int (*device_shutdown)(void); | ||
| 2267 | #define Xres min_xres | ||
| 2268 | #define Yres min_yres | ||
| 2269 | u32 min_xres; /* Minimum horizontal resolution */ | ||
| 2270 | u32 max_xres; /* Maximum horizontal resolution */ | ||
| 2271 | u32 min_yres; /* Minimum vertical resolution */ | ||
| 2272 | u32 max_yres; /* Maximum vertical resolution */ | ||
| 2273 | }; | ||
| 2274 | |||
| 2275 | /********************************************************************/ | ||
| 2276 | /* fixme: Maybe a modedb for the CRT ? otherwise panels should be as-is */ | ||
| 2277 | |||
| 2278 | /* List of panels known to work with the AU1200 LCD controller. | ||
| 2279 | * To add a new panel, enter the same specifications as the | ||
| 2280 | * Generic_TFT one, and MAKE SURE that it doesn't conflicts | ||
| 2281 | * with the controller restrictions. Restrictions are: | ||
| 2282 | * | ||
| 2283 | * STN color panels: max_bpp <= 12 | ||
| 2284 | * STN mono panels: max_bpp <= 4 | ||
| 2285 | * TFT panels: max_bpp <= 16 | ||
| 2286 | * max_xres <= 800 | ||
| 2287 | * max_yres <= 600 | ||
| 2288 | */ | ||
| 2289 | static struct panel_settings known_lcd_panels[] = | ||
| 2290 | { | ||
| 2291 | [0] = { /* QVGA 320x240 H:33.3kHz V:110Hz */ | ||
| 2292 | .name = "QVGA_320x240", | ||
| 2293 | .monspecs = { | ||
| 2294 | .modedb = NULL, | ||
| 2295 | .modedb_len = 0, | ||
| 2296 | .hfmin = 30000, | ||
| 2297 | .hfmax = 70000, | ||
| 2298 | .vfmin = 60, | ||
| 2299 | .vfmax = 60, | ||
| 2300 | .dclkmin = 6000000, | ||
| 2301 | .dclkmax = 28000000, | ||
| 2302 | .input = FB_DISP_RGB, | ||
| 2303 | }, | ||
| 2304 | .mode_screen = LCD_SCREEN_SX_N(320) | | ||
| 2305 | LCD_SCREEN_SY_N(240), | ||
| 2306 | .mode_horztiming = 0x00c4623b, | ||
| 2307 | .mode_verttiming = 0x00502814, | ||
| 2308 | .mode_clkcontrol = 0x00020002, /* /4=24Mhz */ | ||
| 2309 | .mode_pwmdiv = 0x00000000, | ||
| 2310 | .mode_pwmhi = 0x00000000, | ||
| 2311 | .mode_outmask = 0x00FFFFFF, | ||
| 2312 | .mode_fifoctrl = 0x2f2f2f2f, | ||
| 2313 | .mode_toyclksrc = 0x00000004, /* AUXPLL directly */ | ||
| 2314 | .mode_backlight = 0x00000000, | ||
| 2315 | .mode_auxpll = 8, /* 96MHz AUXPLL */ | ||
| 2316 | .device_init = NULL, | ||
| 2317 | .device_shutdown = NULL, | ||
| 2318 | 320, 320, | ||
| 2319 | 240, 240, | ||
| 2320 | }, | ||
| 2321 | |||
| 2322 | [1] = { /* VGA 640x480 H:30.3kHz V:58Hz */ | ||
| 2323 | .name = "VGA_640x480", | ||
| 2324 | .monspecs = { | ||
| 2325 | .modedb = NULL, | ||
| 2326 | .modedb_len = 0, | ||
| 2327 | .hfmin = 30000, | ||
| 2328 | .hfmax = 70000, | ||
| 2329 | .vfmin = 60, | ||
| 2330 | .vfmax = 60, | ||
| 2331 | .dclkmin = 6000000, | ||
| 2332 | .dclkmax = 28000000, | ||
| 2333 | .input = FB_DISP_RGB, | ||
| 2334 | }, | ||
| 2335 | .mode_screen = 0x13f9df80, | ||
| 2336 | .mode_horztiming = 0x003c5859, | ||
| 2337 | .mode_verttiming = 0x00741201, | ||
| 2338 | .mode_clkcontrol = 0x00020001, /* /4=24Mhz */ | ||
| 2339 | .mode_pwmdiv = 0x00000000, | ||
| 2340 | .mode_pwmhi = 0x00000000, | ||
| 2341 | .mode_outmask = 0x00FFFFFF, | ||
| 2342 | .mode_fifoctrl = 0x2f2f2f2f, | ||
| 2343 | .mode_toyclksrc = 0x00000004, /* AUXPLL directly */ | ||
| 2344 | .mode_backlight = 0x00000000, | ||
| 2345 | .mode_auxpll = 8, /* 96MHz AUXPLL */ | ||
| 2346 | .device_init = NULL, | ||
| 2347 | .device_shutdown = NULL, | ||
| 2348 | 640, 480, | ||
| 2349 | 640, 480, | ||
| 2350 | }, | ||
| 2351 | |||
| 2352 | [2] = { /* SVGA 800x600 H:46.1kHz V:69Hz */ | ||
| 2353 | .name = "SVGA_800x600", | ||
| 2354 | .monspecs = { | ||
| 2355 | .modedb = NULL, | ||
| 2356 | .modedb_len = 0, | ||
| 2357 | .hfmin = 30000, | ||
| 2358 | .hfmax = 70000, | ||
| 2359 | .vfmin = 60, | ||
| 2360 | .vfmax = 60, | ||
| 2361 | .dclkmin = 6000000, | ||
| 2362 | .dclkmax = 28000000, | ||
| 2363 | .input = FB_DISP_RGB, | ||
| 2364 | }, | ||
| 2365 | .mode_screen = 0x18fa5780, | ||
| 2366 | .mode_horztiming = 0x00dc7e77, | ||
| 2367 | .mode_verttiming = 0x00584805, | ||
| 2368 | .mode_clkcontrol = 0x00020000, /* /2=48Mhz */ | ||
| 2369 | .mode_pwmdiv = 0x00000000, | ||
| 2370 | .mode_pwmhi = 0x00000000, | ||
| 2371 | .mode_outmask = 0x00FFFFFF, | ||
| 2372 | .mode_fifoctrl = 0x2f2f2f2f, | ||
| 2373 | .mode_toyclksrc = 0x00000004, /* AUXPLL directly */ | ||
| 2374 | .mode_backlight = 0x00000000, | ||
| 2375 | .mode_auxpll = 8, /* 96MHz AUXPLL */ | ||
| 2376 | .device_init = NULL, | ||
| 2377 | .device_shutdown = NULL, | ||
| 2378 | 800, 800, | ||
| 2379 | 600, 600, | ||
| 2380 | }, | ||
| 2381 | |||
| 2382 | [3] = { /* XVGA 1024x768 H:56.2kHz V:70Hz */ | ||
| 2383 | .name = "XVGA_1024x768", | ||
| 2384 | .monspecs = { | ||
| 2385 | .modedb = NULL, | ||
| 2386 | .modedb_len = 0, | ||
| 2387 | .hfmin = 30000, | ||
| 2388 | .hfmax = 70000, | ||
| 2389 | .vfmin = 60, | ||
| 2390 | .vfmax = 60, | ||
| 2391 | .dclkmin = 6000000, | ||
| 2392 | .dclkmax = 28000000, | ||
| 2393 | .input = FB_DISP_RGB, | ||
| 2394 | }, | ||
| 2395 | .mode_screen = 0x1ffaff80, | ||
| 2396 | .mode_horztiming = 0x007d0e57, | ||
| 2397 | .mode_verttiming = 0x00740a01, | ||
| 2398 | .mode_clkcontrol = 0x000A0000, /* /1 */ | ||
| 2399 | .mode_pwmdiv = 0x00000000, | ||
| 2400 | .mode_pwmhi = 0x00000000, | ||
| 2401 | .mode_outmask = 0x00FFFFFF, | ||
| 2402 | .mode_fifoctrl = 0x2f2f2f2f, | ||
| 2403 | .mode_toyclksrc = 0x00000004, /* AUXPLL directly */ | ||
| 2404 | .mode_backlight = 0x00000000, | ||
| 2405 | .mode_auxpll = 6, /* 72MHz AUXPLL */ | ||
| 2406 | .device_init = NULL, | ||
| 2407 | .device_shutdown = NULL, | ||
| 2408 | 1024, 1024, | ||
| 2409 | 768, 768, | ||
| 2410 | }, | ||
| 2411 | |||
| 2412 | [4] = { /* XVGA XVGA 1280x1024 H:68.5kHz V:65Hz */ | ||
| 2413 | .name = "XVGA_1280x1024", | ||
| 2414 | .monspecs = { | ||
| 2415 | .modedb = NULL, | ||
| 2416 | .modedb_len = 0, | ||
| 2417 | .hfmin = 30000, | ||
| 2418 | .hfmax = 70000, | ||
| 2419 | .vfmin = 60, | ||
| 2420 | .vfmax = 60, | ||
| 2421 | .dclkmin = 6000000, | ||
| 2422 | .dclkmax = 28000000, | ||
| 2423 | .input = FB_DISP_RGB, | ||
| 2424 | }, | ||
| 2425 | .mode_screen = 0x27fbff80, | ||
| 2426 | .mode_horztiming = 0x00cdb2c7, | ||
| 2427 | .mode_verttiming = 0x00600002, | ||
| 2428 | .mode_clkcontrol = 0x000A0000, /* /1 */ | ||
| 2429 | .mode_pwmdiv = 0x00000000, | ||
| 2430 | .mode_pwmhi = 0x00000000, | ||
| 2431 | .mode_outmask = 0x00FFFFFF, | ||
| 2432 | .mode_fifoctrl = 0x2f2f2f2f, | ||
| 2433 | .mode_toyclksrc = 0x00000004, /* AUXPLL directly */ | ||
| 2434 | .mode_backlight = 0x00000000, | ||
| 2435 | .mode_auxpll = 10, /* 120MHz AUXPLL */ | ||
| 2436 | .device_init = NULL, | ||
| 2437 | .device_shutdown = NULL, | ||
| 2438 | 1280, 1280, | ||
| 2439 | 1024, 1024, | ||
| 2440 | }, | ||
| 2441 | |||
| 2442 | [5] = { /* Samsung 1024x768 TFT */ | ||
| 2443 | .name = "Samsung_1024x768_TFT", | ||
| 2444 | .monspecs = { | ||
| 2445 | .modedb = NULL, | ||
| 2446 | .modedb_len = 0, | ||
| 2447 | .hfmin = 30000, | ||
| 2448 | .hfmax = 70000, | ||
| 2449 | .vfmin = 60, | ||
| 2450 | .vfmax = 60, | ||
| 2451 | .dclkmin = 6000000, | ||
| 2452 | .dclkmax = 28000000, | ||
| 2453 | .input = FB_DISP_RGB, | ||
| 2454 | }, | ||
| 2455 | .mode_screen = 0x1ffaff80, | ||
| 2456 | .mode_horztiming = 0x018cc677, | ||
| 2457 | .mode_verttiming = 0x00241217, | ||
| 2458 | .mode_clkcontrol = 0x00000000, /* SCB 0x1 /4=24Mhz */ | ||
| 2459 | .mode_pwmdiv = 0x8000063f, /* SCB 0x0 */ | ||
| 2460 | .mode_pwmhi = 0x03400000, /* SCB 0x0 */ | ||
| 2461 | .mode_outmask = 0x00FFFFFF, | ||
| 2462 | .mode_fifoctrl = 0x2f2f2f2f, | ||
| 2463 | .mode_toyclksrc = 0x00000004, /* AUXPLL directly */ | ||
| 2464 | .mode_backlight = 0x00000000, | ||
| 2465 | .mode_auxpll = 8, /* 96MHz AUXPLL */ | ||
| 2466 | .device_init = board_au1200fb_panel_init, | ||
| 2467 | .device_shutdown = board_au1200fb_panel_shutdown, | ||
| 2468 | 1024, 1024, | ||
| 2469 | 768, 768, | ||
| 2470 | }, | ||
| 2471 | |||
| 2472 | [6] = { /* Toshiba 640x480 TFT */ | ||
| 2473 | .name = "Toshiba_640x480_TFT", | ||
| 2474 | .monspecs = { | ||
| 2475 | .modedb = NULL, | ||
| 2476 | .modedb_len = 0, | ||
| 2477 | .hfmin = 30000, | ||
| 2478 | .hfmax = 70000, | ||
| 2479 | .vfmin = 60, | ||
| 2480 | .vfmax = 60, | ||
| 2481 | .dclkmin = 6000000, | ||
| 2482 | .dclkmax = 28000000, | ||
| 2483 | .input = FB_DISP_RGB, | ||
| 2484 | }, | ||
| 2485 | .mode_screen = LCD_SCREEN_SX_N(640) | | ||
| 2486 | LCD_SCREEN_SY_N(480), | ||
| 2487 | .mode_horztiming = LCD_HORZTIMING_HPW_N(96) | | ||
| 2488 | LCD_HORZTIMING_HND1_N(13) | LCD_HORZTIMING_HND2_N(51), | ||
| 2489 | .mode_verttiming = LCD_VERTTIMING_VPW_N(2) | | ||
| 2490 | LCD_VERTTIMING_VND1_N(11) | LCD_VERTTIMING_VND2_N(32), | ||
| 2491 | .mode_clkcontrol = 0x00000000, /* /4=24Mhz */ | ||
| 2492 | .mode_pwmdiv = 0x8000063f, | ||
| 2493 | .mode_pwmhi = 0x03400000, | ||
| 2494 | .mode_outmask = 0x00fcfcfc, | ||
| 2495 | .mode_fifoctrl = 0x2f2f2f2f, | ||
| 2496 | .mode_toyclksrc = 0x00000004, /* AUXPLL directly */ | ||
| 2497 | .mode_backlight = 0x00000000, | ||
| 2498 | .mode_auxpll = 8, /* 96MHz AUXPLL */ | ||
| 2499 | .device_init = board_au1200fb_panel_init, | ||
| 2500 | .device_shutdown = board_au1200fb_panel_shutdown, | ||
| 2501 | 640, 480, | ||
| 2502 | 640, 480, | ||
| 2503 | }, | ||
| 2504 | |||
| 2505 | [7] = { /* Sharp 320x240 TFT */ | ||
| 2506 | .name = "Sharp_320x240_TFT", | ||
| 2507 | .monspecs = { | ||
| 2508 | .modedb = NULL, | ||
| 2509 | .modedb_len = 0, | ||
| 2510 | .hfmin = 12500, | ||
| 2511 | .hfmax = 20000, | ||
| 2512 | .vfmin = 38, | ||
| 2513 | .vfmax = 81, | ||
| 2514 | .dclkmin = 4500000, | ||
| 2515 | .dclkmax = 6800000, | ||
| 2516 | .input = FB_DISP_RGB, | ||
| 2517 | }, | ||
| 2518 | .mode_screen = LCD_SCREEN_SX_N(320) | | ||
| 2519 | LCD_SCREEN_SY_N(240), | ||
| 2520 | .mode_horztiming = LCD_HORZTIMING_HPW_N(60) | | ||
| 2521 | LCD_HORZTIMING_HND1_N(13) | LCD_HORZTIMING_HND2_N(2), | ||
| 2522 | .mode_verttiming = LCD_VERTTIMING_VPW_N(2) | | ||
| 2523 | LCD_VERTTIMING_VND1_N(2) | LCD_VERTTIMING_VND2_N(5), | ||
| 2524 | .mode_clkcontrol = LCD_CLKCONTROL_PCD_N(7), /*16=6Mhz*/ | ||
| 2525 | .mode_pwmdiv = 0x8000063f, | ||
| 2526 | .mode_pwmhi = 0x03400000, | ||
| 2527 | .mode_outmask = 0x00fcfcfc, | ||
| 2528 | .mode_fifoctrl = 0x2f2f2f2f, | ||
| 2529 | .mode_toyclksrc = 0x00000004, /* AUXPLL directly */ | ||
| 2530 | .mode_backlight = 0x00000000, | ||
| 2531 | .mode_auxpll = 8, /* 96MHz AUXPLL */ | ||
| 2532 | .device_init = board_au1200fb_panel_init, | ||
| 2533 | .device_shutdown = board_au1200fb_panel_shutdown, | ||
| 2534 | 320, 320, | ||
| 2535 | 240, 240, | ||
| 2536 | }, | ||
| 2537 | |||
| 2538 | [8] = { /* Toppoly TD070WGCB2 7" 856x480 TFT */ | ||
| 2539 | .name = "Toppoly_TD070WGCB2", | ||
| 2540 | .monspecs = { | ||
| 2541 | .modedb = NULL, | ||
| 2542 | .modedb_len = 0, | ||
| 2543 | .hfmin = 30000, | ||
| 2544 | .hfmax = 70000, | ||
| 2545 | .vfmin = 60, | ||
| 2546 | .vfmax = 60, | ||
| 2547 | .dclkmin = 6000000, | ||
| 2548 | .dclkmax = 28000000, | ||
| 2549 | .input = FB_DISP_RGB, | ||
| 2550 | }, | ||
| 2551 | .mode_screen = LCD_SCREEN_SX_N(856) | | ||
| 2552 | LCD_SCREEN_SY_N(480), | ||
| 2553 | .mode_horztiming = LCD_HORZTIMING_HND2_N(43) | | ||
| 2554 | LCD_HORZTIMING_HND1_N(43) | LCD_HORZTIMING_HPW_N(114), | ||
| 2555 | .mode_verttiming = LCD_VERTTIMING_VND2_N(20) | | ||
| 2556 | LCD_VERTTIMING_VND1_N(21) | LCD_VERTTIMING_VPW_N(4), | ||
| 2557 | .mode_clkcontrol = 0x00020001, /* /4=24Mhz */ | ||
| 2558 | .mode_pwmdiv = 0x8000063f, | ||
| 2559 | .mode_pwmhi = 0x03400000, | ||
| 2560 | .mode_outmask = 0x00fcfcfc, | ||
| 2561 | .mode_fifoctrl = 0x2f2f2f2f, | ||
| 2562 | .mode_toyclksrc = 0x00000004, /* AUXPLL directly */ | ||
| 2563 | .mode_backlight = 0x00000000, | ||
| 2564 | .mode_auxpll = 8, /* 96MHz AUXPLL */ | ||
| 2565 | .device_init = board_au1200fb_panel_init, | ||
| 2566 | .device_shutdown = board_au1200fb_panel_shutdown, | ||
| 2567 | 856, 856, | ||
| 2568 | 480, 480, | ||
| 2569 | }, | ||
| 2570 | }; | ||
| 2571 | |||
| 2572 | #define NUM_PANELS (ARRAY_SIZE(known_lcd_panels)) | ||
| 2573 | |||
| 2574 | /********************************************************************/ | ||
| 2575 | |||
| 2576 | #ifdef CONFIG_PM | ||
| 2577 | static int set_brightness(unsigned int brightness) | ||
| 2578 | { | ||
| 2579 | unsigned int hi1, divider; | ||
| 2580 | |||
| 2581 | /* limit brightness pwm duty to >= 30/1600 */ | ||
| 2582 | if (brightness < 30) { | ||
| 2583 | brightness = 30; | ||
| 2584 | } | ||
| 2585 | divider = (lcd->pwmdiv & 0x3FFFF) + 1; | ||
| 2586 | hi1 = (lcd->pwmhi >> 16) + 1; | ||
| 2587 | hi1 = (((brightness & 0xFF) + 1) * divider >> 8); | ||
| 2588 | lcd->pwmhi &= 0xFFFF; | ||
| 2589 | lcd->pwmhi |= (hi1 << 16); | ||
| 2590 | |||
| 2591 | return brightness; | ||
| 2592 | } | ||
| 2593 | #endif /* CONFIG_PM */ | ||
| 2594 | |||
| 2595 | static int winbpp (unsigned int winctrl1) | ||
| 2596 | { | ||
| 2597 | int bits = 0; | ||
| 2598 | |||
| 2599 | /* how many bits are needed for each pixel format */ | ||
| 2600 | switch (winctrl1 & LCD_WINCTRL1_FRM) { | ||
| 2601 | case LCD_WINCTRL1_FRM_1BPP: | ||
| 2602 | bits = 1; | ||
| 2603 | break; | ||
| 2604 | case LCD_WINCTRL1_FRM_2BPP: | ||
| 2605 | bits = 2; | ||
| 2606 | break; | ||
| 2607 | case LCD_WINCTRL1_FRM_4BPP: | ||
| 2608 | bits = 4; | ||
| 2609 | break; | ||
| 2610 | case LCD_WINCTRL1_FRM_8BPP: | ||
| 2611 | bits = 8; | ||
| 2612 | break; | ||
| 2613 | case LCD_WINCTRL1_FRM_12BPP: | ||
| 2614 | case LCD_WINCTRL1_FRM_16BPP655: | ||
| 2615 | case LCD_WINCTRL1_FRM_16BPP565: | ||
| 2616 | case LCD_WINCTRL1_FRM_16BPP556: | ||
| 2617 | case LCD_WINCTRL1_FRM_16BPPI1555: | ||
| 2618 | case LCD_WINCTRL1_FRM_16BPPI5551: | ||
| 2619 | case LCD_WINCTRL1_FRM_16BPPA1555: | ||
| 2620 | case LCD_WINCTRL1_FRM_16BPPA5551: | ||
| 2621 | bits = 16; | ||
| 2622 | break; | ||
| 2623 | case LCD_WINCTRL1_FRM_24BPP: | ||
| 2624 | case LCD_WINCTRL1_FRM_32BPP: | ||
| 2625 | bits = 32; | ||
| 2626 | break; | ||
| 2627 | } | ||
| 2628 | |||
| 2629 | return bits; | ||
| 2630 | } | ||
| 2631 | |||
| 2632 | static int fbinfo2index (struct fb_info *fb_info) | ||
| 2633 | { | ||
| 2634 | int i; | ||
| 2635 | |||
| 2636 | for (i = 0; i < CONFIG_FB_AU1200_DEVS; ++i) { | ||
| 2637 | if (fb_info == (struct fb_info *)(&_au1200fb_devices[i].fb_info)) | ||
| 2638 | return i; | ||
| 2639 | } | ||
| 2640 | printk("au1200fb: ERROR: fbinfo2index failed!\n"); | ||
| 2641 | return -1; | ||
| 2642 | } | ||
| 2643 | |||
| 2644 | static int au1200_setlocation (struct au1200fb_device *fbdev, int plane, | ||
| 2645 | int xpos, int ypos) | ||
| 2646 | { | ||
| 2647 | uint32 winctrl0, winctrl1, winenable, fb_offset = 0; | ||
| 2648 | int xsz, ysz; | ||
| 2649 | |||
| 2650 | /* FIX!!! NOT CHECKING FOR COMPLETE OFFSCREEN YET */ | ||
| 2651 | |||
| 2652 | winctrl0 = lcd->window[plane].winctrl0; | ||
| 2653 | winctrl1 = lcd->window[plane].winctrl1; | ||
| 2654 | winctrl0 &= (LCD_WINCTRL0_A | LCD_WINCTRL0_AEN); | ||
| 2655 | winctrl1 &= ~(LCD_WINCTRL1_SZX | LCD_WINCTRL1_SZY); | ||
| 2656 | |||
| 2657 | /* Check for off-screen adjustments */ | ||
| 2658 | xsz = win->w[plane].xres; | ||
| 2659 | ysz = win->w[plane].yres; | ||
| 2660 | if ((xpos + win->w[plane].xres) > panel->Xres) { | ||
| 2661 | /* Off-screen to the right */ | ||
| 2662 | xsz = panel->Xres - xpos; /* off by 1 ??? */ | ||
| 2663 | /*printk("off screen right\n");*/ | ||
| 2664 | } | ||
| 2665 | |||
| 2666 | if ((ypos + win->w[plane].yres) > panel->Yres) { | ||
| 2667 | /* Off-screen to the bottom */ | ||
| 2668 | ysz = panel->Yres - ypos; /* off by 1 ??? */ | ||
| 2669 | /*printk("off screen bottom\n");*/ | ||
| 2670 | } | ||
| 2671 | |||
| 2672 | if (xpos < 0) { | ||
| 2673 | /* Off-screen to the left */ | ||
| 2674 | xsz = win->w[plane].xres + xpos; | ||
| 2675 | fb_offset += (((0 - xpos) * winbpp(lcd->window[plane].winctrl1))/8); | ||
| 2676 | xpos = 0; | ||
| 2677 | /*printk("off screen left\n");*/ | ||
| 2678 | } | ||
| 2679 | |||
| 2680 | if (ypos < 0) { | ||
| 2681 | /* Off-screen to the top */ | ||
| 2682 | ysz = win->w[plane].yres + ypos; | ||
| 2683 | /* fixme: fb_offset += ((0-ypos)*fb_pars[plane].line_length); */ | ||
| 2684 | ypos = 0; | ||
| 2685 | /*printk("off screen top\n");*/ | ||
| 2686 | } | ||
| 2687 | |||
| 2688 | /* record settings */ | ||
| 2689 | win->w[plane].xpos = xpos; | ||
| 2690 | win->w[plane].ypos = ypos; | ||
| 2691 | |||
| 2692 | xsz -= 1; | ||
| 2693 | ysz -= 1; | ||
| 2694 | winctrl0 |= (xpos << 21); | ||
| 2695 | winctrl0 |= (ypos << 10); | ||
| 2696 | winctrl1 |= (xsz << 11); | ||
| 2697 | winctrl1 |= (ysz << 0); | ||
| 2698 | |||
| 2699 | /* Disable the window while making changes, then restore WINEN */ | ||
| 2700 | winenable = lcd->winenable & (1 << plane); | ||
| 2701 | au_sync(); | ||
| 2702 | lcd->winenable &= ~(1 << plane); | ||
| 2703 | lcd->window[plane].winctrl0 = winctrl0; | ||
| 2704 | lcd->window[plane].winctrl1 = winctrl1; | ||
| 2705 | lcd->window[plane].winbuf0 = | ||
| 2706 | lcd->window[plane].winbuf1 = fbdev->fb_phys; | ||
| 2707 | lcd->window[plane].winbufctrl = 0; /* select winbuf0 */ | ||
| 2708 | lcd->winenable |= winenable; | ||
| 2709 | au_sync(); | ||
| 2710 | |||
| 2711 | return 0; | ||
| 2712 | } | ||
| 2713 | |||
| 2714 | static void au1200_setpanel (struct panel_settings *newpanel) | ||
| 2715 | { | ||
| 2716 | /* | ||
| 2717 | * Perform global setup/init of LCD controller | ||
| 2718 | */ | ||
| 2719 | uint32 winenable; | ||
| 2720 | |||
| 2721 | /* Make sure all windows disabled */ | ||
| 2722 | winenable = lcd->winenable; | ||
| 2723 | lcd->winenable = 0; | ||
| 2724 | au_sync(); | ||
| 2725 | /* | ||
| 2726 | * Ensure everything is disabled before reconfiguring | ||
| 2727 | */ | ||
| 2728 | if (lcd->screen & LCD_SCREEN_SEN) { | ||
| 2729 | /* Wait for vertical sync period */ | ||
| 2730 | lcd->intstatus = LCD_INT_SS; | ||
| 2731 | while ((lcd->intstatus & LCD_INT_SS) == 0) { | ||
| 2732 | au_sync(); | ||
| 2733 | } | ||
| 2734 | |||
| 2735 | lcd->screen &= ~LCD_SCREEN_SEN; /*disable the controller*/ | ||
| 2736 | |||
| 2737 | do { | ||
| 2738 | lcd->intstatus = lcd->intstatus; /*clear interrupts*/ | ||
| 2739 | au_sync(); | ||
| 2740 | /*wait for controller to shut down*/ | ||
| 2741 | } while ((lcd->intstatus & LCD_INT_SD) == 0); | ||
| 2742 | |||
| 2743 | /* Call shutdown of current panel (if up) */ | ||
| 2744 | /* this must occur last, because if an external clock is driving | ||
| 2745 | the controller, the clock cannot be turned off before first | ||
| 2746 | shutting down the controller. | ||
| 2747 | */ | ||
| 2748 | if (panel->device_shutdown != NULL) | ||
| 2749 | panel->device_shutdown(); | ||
| 2750 | } | ||
| 2751 | |||
| 2752 | /* Newpanel == NULL indicates a shutdown operation only */ | ||
| 2753 | if (newpanel == NULL) | ||
| 2754 | return; | ||
| 2755 | |||
| 2756 | panel = newpanel; | ||
| 2757 | |||
| 2758 | printk("Panel(%s), %dx%d\n", panel->name, panel->Xres, panel->Yres); | ||
| 2759 | |||
| 2760 | /* | ||
| 2761 | * Setup clocking if internal LCD clock source (assumes sys_auxpll valid) | ||
| 2762 | */ | ||
| 2763 | if (!(panel->mode_clkcontrol & LCD_CLKCONTROL_EXT)) | ||
| 2764 | { | ||
| 2765 | uint32 sys_clksrc; | ||
| 2766 | au_writel(panel->mode_auxpll, SYS_AUXPLL); | ||
| 2767 | sys_clksrc = au_readl(SYS_CLKSRC) & ~0x0000001f; | ||
| 2768 | sys_clksrc |= panel->mode_toyclksrc; | ||
| 2769 | au_writel(sys_clksrc, SYS_CLKSRC); | ||
| 2770 | } | ||
| 2771 | |||
| 2772 | /* | ||
| 2773 | * Configure panel timings | ||
| 2774 | */ | ||
| 2775 | lcd->screen = panel->mode_screen; | ||
| 2776 | lcd->horztiming = panel->mode_horztiming; | ||
| 2777 | lcd->verttiming = panel->mode_verttiming; | ||
| 2778 | lcd->clkcontrol = panel->mode_clkcontrol; | ||
| 2779 | lcd->pwmdiv = panel->mode_pwmdiv; | ||
| 2780 | lcd->pwmhi = panel->mode_pwmhi; | ||
| 2781 | lcd->outmask = panel->mode_outmask; | ||
| 2782 | lcd->fifoctrl = panel->mode_fifoctrl; | ||
| 2783 | au_sync(); | ||
| 2784 | |||
| 2785 | /* fixme: Check window settings to make sure still valid | ||
| 2786 | * for new geometry */ | ||
| 2787 | #if 0 | ||
| 2788 | au1200_setlocation(fbdev, 0, win->w[0].xpos, win->w[0].ypos); | ||
| 2789 | au1200_setlocation(fbdev, 1, win->w[1].xpos, win->w[1].ypos); | ||
| 2790 | au1200_setlocation(fbdev, 2, win->w[2].xpos, win->w[2].ypos); | ||
| 2791 | au1200_setlocation(fbdev, 3, win->w[3].xpos, win->w[3].ypos); | ||
| 2792 | #endif | ||
| 2793 | lcd->winenable = winenable; | ||
| 2794 | |||
| 2795 | /* | ||
| 2796 | * Re-enable screen now that it is configured | ||
| 2797 | */ | ||
| 2798 | lcd->screen |= LCD_SCREEN_SEN; | ||
| 2799 | au_sync(); | ||
| 2800 | |||
| 2801 | /* Call init of panel */ | ||
| 2802 | if (panel->device_init != NULL) panel->device_init(); | ||
| 2803 | |||
| 2804 | /* FIX!!!! not appropriate on panel change!!! Global setup/init */ | ||
| 2805 | lcd->intenable = 0; | ||
| 2806 | lcd->intstatus = ~0; | ||
| 2807 | lcd->backcolor = win->mode_backcolor; | ||
| 2808 | |||
| 2809 | /* Setup Color Key - FIX!!! */ | ||
| 2810 | lcd->colorkey = win->mode_colorkey; | ||
| 2811 | lcd->colorkeymsk = win->mode_colorkeymsk; | ||
| 2812 | |||
| 2813 | /* Setup HWCursor - FIX!!! Need to support this eventually */ | ||
| 2814 | lcd->hwc.cursorctrl = 0; | ||
| 2815 | lcd->hwc.cursorpos = 0; | ||
| 2816 | lcd->hwc.cursorcolor0 = 0; | ||
| 2817 | lcd->hwc.cursorcolor1 = 0; | ||
| 2818 | lcd->hwc.cursorcolor2 = 0; | ||
| 2819 | lcd->hwc.cursorcolor3 = 0; | ||
| 2820 | |||
| 2821 | |||
| 2822 | #if 0 | ||
| 2823 | #define D(X) printk("%25s: %08X\n", #X, X) | ||
| 2824 | D(lcd->screen); | ||
| 2825 | D(lcd->horztiming); | ||
| 2826 | D(lcd->verttiming); | ||
| 2827 | D(lcd->clkcontrol); | ||
| 2828 | D(lcd->pwmdiv); | ||
| 2829 | D(lcd->pwmhi); | ||
| 2830 | D(lcd->outmask); | ||
| 2831 | D(lcd->fifoctrl); | ||
| 2832 | D(lcd->window[0].winctrl0); | ||
| 2833 | D(lcd->window[0].winctrl1); | ||
| 2834 | D(lcd->window[0].winctrl2); | ||
| 2835 | D(lcd->window[0].winbuf0); | ||
| 2836 | D(lcd->window[0].winbuf1); | ||
| 2837 | D(lcd->window[0].winbufctrl); | ||
| 2838 | D(lcd->window[1].winctrl0); | ||
| 2839 | D(lcd->window[1].winctrl1); | ||
| 2840 | D(lcd->window[1].winctrl2); | ||
| 2841 | D(lcd->window[1].winbuf0); | ||
| 2842 | D(lcd->window[1].winbuf1); | ||
| 2843 | D(lcd->window[1].winbufctrl); | ||
| 2844 | D(lcd->window[2].winctrl0); | ||
| 2845 | D(lcd->window[2].winctrl1); | ||
| 2846 | D(lcd->window[2].winctrl2); | ||
| 2847 | D(lcd->window[2].winbuf0); | ||
| 2848 | D(lcd->window[2].winbuf1); | ||
| 2849 | D(lcd->window[2].winbufctrl); | ||
| 2850 | D(lcd->window[3].winctrl0); | ||
| 2851 | D(lcd->window[3].winctrl1); | ||
| 2852 | D(lcd->window[3].winctrl2); | ||
| 2853 | D(lcd->window[3].winbuf0); | ||
| 2854 | D(lcd->window[3].winbuf1); | ||
| 2855 | D(lcd->window[3].winbufctrl); | ||
| 2856 | D(lcd->winenable); | ||
| 2857 | D(lcd->intenable); | ||
| 2858 | D(lcd->intstatus); | ||
| 2859 | D(lcd->backcolor); | ||
| 2860 | D(lcd->winenable); | ||
| 2861 | D(lcd->colorkey); | ||
| 2862 | D(lcd->colorkeymsk); | ||
| 2863 | D(lcd->hwc.cursorctrl); | ||
| 2864 | D(lcd->hwc.cursorpos); | ||
| 2865 | D(lcd->hwc.cursorcolor0); | ||
| 2866 | D(lcd->hwc.cursorcolor1); | ||
| 2867 | D(lcd->hwc.cursorcolor2); | ||
| 2868 | D(lcd->hwc.cursorcolor3); | ||
| 2869 | #endif | ||
| 2870 | } | ||
| 2871 | |||
| 2872 | static void au1200_setmode(struct au1200fb_device *fbdev) | ||
| 2873 | { | ||
| 2874 | int plane = fbdev->plane; | ||
| 2875 | /* Window/plane setup */ | ||
| 2876 | lcd->window[plane].winctrl1 = ( 0 | ||
| 2877 | | LCD_WINCTRL1_PRI_N(plane) | ||
| 2878 | | win->w[plane].mode_winctrl1 /* FRM,CCO,PO,PIPE */ | ||
| 2879 | ) ; | ||
| 2880 | |||
| 2881 | au1200_setlocation(fbdev, plane, win->w[plane].xpos, win->w[plane].ypos); | ||
| 2882 | |||
| 2883 | lcd->window[plane].winctrl2 = ( 0 | ||
| 2884 | | LCD_WINCTRL2_CKMODE_00 | ||
| 2885 | | LCD_WINCTRL2_DBM | ||
| 2886 | | LCD_WINCTRL2_BX_N( fbdev->fb_info.fix.line_length) | ||
| 2887 | | LCD_WINCTRL2_SCX_1 | ||
| 2888 | | LCD_WINCTRL2_SCY_1 | ||
| 2889 | ) ; | ||
| 2890 | lcd->winenable |= win->w[plane].mode_winenable; | ||
| 2891 | au_sync(); | ||
| 2892 | } | ||
| 2893 | |||
| 2894 | |||
| 2895 | /* Inline helpers */ | ||
| 2896 | |||
| 2897 | /*#define panel_is_dual(panel) ((panel->mode_screen & LCD_SCREEN_PT) == LCD_SCREEN_PT_010)*/ | ||
| 2898 | /*#define panel_is_active(panel)((panel->mode_screen & LCD_SCREEN_PT) == LCD_SCREEN_PT_010)*/ | ||
| 2899 | |||
| 2900 | #define panel_is_color(panel) ((panel->mode_screen & LCD_SCREEN_PT) <= LCD_SCREEN_PT_CDSTN) | ||
| 2901 | |||
| 2902 | /* Bitfields format supported by the controller. */ | ||
| 2903 | static struct fb_bitfield rgb_bitfields[][4] = { | ||
| 2904 | /* Red, Green, Blue, Transp */ | ||
| 2905 | [LCD_WINCTRL1_FRM_16BPP655 >> 25] = | ||
| 2906 | { { 10, 6, 0 }, { 5, 5, 0 }, { 0, 5, 0 }, { 0, 0, 0 } }, | ||
| 2907 | |||
| 2908 | [LCD_WINCTRL1_FRM_16BPP565 >> 25] = | ||
| 2909 | { { 11, 5, 0 }, { 5, 6, 0 }, { 0, 5, 0 }, { 0, 0, 0 } }, | ||
| 2910 | |||
| 2911 | [LCD_WINCTRL1_FRM_16BPP556 >> 25] = | ||
| 2912 | { { 11, 5, 0 }, { 6, 5, 0 }, { 0, 6, 0 }, { 0, 0, 0 } }, | ||
| 2913 | |||
| 2914 | [LCD_WINCTRL1_FRM_16BPPI1555 >> 25] = | ||
| 2915 | { { 10, 5, 0 }, { 5, 5, 0 }, { 0, 5, 0 }, { 0, 0, 0 } }, | ||
| 2916 | |||
| 2917 | [LCD_WINCTRL1_FRM_16BPPI5551 >> 25] = | ||
| 2918 | { { 11, 5, 0 }, { 6, 5, 0 }, { 1, 5, 0 }, { 0, 0, 0 } }, | ||
| 2919 | |||
| 2920 | [LCD_WINCTRL1_FRM_16BPPA1555 >> 25] = | ||
| 2921 | { { 10, 5, 0 }, { 5, 5, 0 }, { 0, 5, 0 }, { 15, 1, 0 } }, | ||
| 2922 | |||
| 2923 | [LCD_WINCTRL1_FRM_16BPPA5551 >> 25] = | ||
| 2924 | { { 11, 5, 0 }, { 6, 5, 0 }, { 1, 5, 0 }, { 0, 1, 0 } }, | ||
| 2925 | |||
| 2926 | [LCD_WINCTRL1_FRM_24BPP >> 25] = | ||
| 2927 | { { 16, 8, 0 }, { 8, 8, 0 }, { 0, 8, 0 }, { 0, 0, 0 } }, | ||
| 2928 | |||
| 2929 | [LCD_WINCTRL1_FRM_32BPP >> 25] = | ||
| 2930 | { { 16, 8, 0 }, { 8, 8, 0 }, { 0, 8, 0 }, { 24, 0, 0 } }, | ||
| 2931 | }; | ||
| 2932 | |||
| 2933 | /*-------------------------------------------------------------------------*/ | ||
| 2934 | |||
| 2935 | /* Helpers */ | ||
| 2936 | |||
| 2937 | static void au1200fb_update_fbinfo(struct fb_info *fbi) | ||
| 2938 | { | ||
| 2939 | /* FIX!!!! This also needs to take the window pixel format into account!!! */ | ||
| 2940 | |||
| 2941 | /* Update var-dependent FB info */ | ||
| 2942 | if (panel_is_color(panel)) { | ||
| 2943 | if (fbi->var.bits_per_pixel <= 8) { | ||
| 2944 | /* palettized */ | ||
| 2945 | fbi->fix.visual = FB_VISUAL_PSEUDOCOLOR; | ||
| 2946 | fbi->fix.line_length = fbi->var.xres_virtual / | ||
| 2947 | (8/fbi->var.bits_per_pixel); | ||
| 2948 | } else { | ||
| 2949 | /* non-palettized */ | ||
| 2950 | fbi->fix.visual = FB_VISUAL_TRUECOLOR; | ||
| 2951 | fbi->fix.line_length = fbi->var.xres_virtual * (fbi->var.bits_per_pixel / 8); | ||
| 2952 | } | ||
| 2953 | } else { | ||
| 2954 | /* mono FIX!!! mono 8 and 4 bits */ | ||
| 2955 | fbi->fix.visual = FB_VISUAL_MONO10; | ||
| 2956 | fbi->fix.line_length = fbi->var.xres_virtual / 8; | ||
| 2957 | } | ||
| 2958 | |||
| 2959 | fbi->screen_size = fbi->fix.line_length * fbi->var.yres_virtual; | ||
| 2960 | print_dbg("line length: %d\n", fbi->fix.line_length); | ||
| 2961 | print_dbg("bits_per_pixel: %d\n", fbi->var.bits_per_pixel); | ||
| 2962 | } | ||
| 2963 | |||
| 2964 | /*-------------------------------------------------------------------------*/ | ||
| 2965 | |||
| 2966 | /* AU1200 framebuffer driver */ | ||
| 2967 | |||
| 2968 | /* fb_check_var | ||
| 2969 | * Validate var settings with hardware restrictions and modify it if necessary | ||
| 2970 | */ | ||
| 2971 | static int au1200fb_fb_check_var(struct fb_var_screeninfo *var, | ||
| 2972 | struct fb_info *fbi) | ||
| 2973 | { | ||
| 2974 | struct au1200fb_device *fbdev = (struct au1200fb_device *)fbi; | ||
| 2975 | u32 pixclock; | ||
| 2976 | int screen_size, plane; | ||
| 2977 | |||
| 2978 | plane = fbdev->plane; | ||
| 2979 | |||
| 2980 | /* Make sure that the mode respect all LCD controller and | ||
| 2981 | * panel restrictions. */ | ||
| 2982 | var->xres = win->w[plane].xres; | ||
| 2983 | var->yres = win->w[plane].yres; | ||
| 2984 | |||
| 2985 | /* No need for virtual resolution support */ | ||
| 2986 | var->xres_virtual = var->xres; | ||
| 2987 | var->yres_virtual = var->yres; | ||
| 2988 | |||
| 2989 | var->bits_per_pixel = winbpp(win->w[plane].mode_winctrl1); | ||
| 2990 | |||
| 2991 | screen_size = var->xres_virtual * var->yres_virtual; | ||
| 2992 | if (var->bits_per_pixel > 8) screen_size *= (var->bits_per_pixel / 8); | ||
| 2993 | else screen_size /= (8/var->bits_per_pixel); | ||
| 2994 | |||
| 2995 | if (fbdev->fb_len < screen_size) | ||
| 2996 | return -EINVAL; /* Virtual screen is to big, abort */ | ||
| 2997 | |||
| 2998 | /* FIX!!!! what are the implicaitons of ignoring this for windows ??? */ | ||
| 2999 | /* The max LCD clock is fixed to 48MHz (value of AUX_CLK). The pixel | ||
| 3000 | * clock can only be obtain by dividing this value by an even integer. | ||
| 3001 | * Fallback to a slower pixel clock if necessary. */ | ||
| 3002 | pixclock = max((u32)(PICOS2KHZ(var->pixclock) * 1000), fbi->monspecs.dclkmin); | ||
| 3003 | pixclock = min(pixclock, min(fbi->monspecs.dclkmax, (u32)AU1200_LCD_MAX_CLK/2)); | ||
| 3004 | |||
| 3005 | if (AU1200_LCD_MAX_CLK % pixclock) { | ||
| 3006 | int diff = AU1200_LCD_MAX_CLK % pixclock; | ||
| 3007 | pixclock -= diff; | ||
| 3008 | } | ||
| 3009 | |||
| 3010 | var->pixclock = KHZ2PICOS(pixclock/1000); | ||
| 3011 | #if 0 | ||
| 3012 | if (!panel_is_active(panel)) { | ||
| 3013 | int pcd = AU1200_LCD_MAX_CLK / (pixclock * 2) - 1; | ||
| 3014 | |||
| 3015 | if (!panel_is_color(panel) | ||
| 3016 | && (panel->control_base & LCD_CONTROL_MPI) && (pcd < 3)) { | ||
| 3017 | /* STN 8bit mono panel support is up to 6MHz pixclock */ | ||
| 3018 | var->pixclock = KHZ2PICOS(6000); | ||
| 3019 | } else if (!pcd) { | ||
| 3020 | /* Other STN panel support is up to 12MHz */ | ||
| 3021 | var->pixclock = KHZ2PICOS(12000); | ||
| 3022 | } | ||
| 3023 | } | ||
| 3024 | #endif | ||
| 3025 | /* Set bitfield accordingly */ | ||
| 3026 | switch (var->bits_per_pixel) { | ||
| 3027 | case 16: | ||
| 3028 | { | ||
| 3029 | /* 16bpp True color. | ||
| 3030 | * These must be set to MATCH WINCTRL[FORM] */ | ||
| 3031 | int idx; | ||
| 3032 | idx = (win->w[0].mode_winctrl1 & LCD_WINCTRL1_FRM) >> 25; | ||
| 3033 | var->red = rgb_bitfields[idx][0]; | ||
| 3034 | var->green = rgb_bitfields[idx][1]; | ||
| 3035 | var->blue = rgb_bitfields[idx][2]; | ||
| 3036 | var->transp = rgb_bitfields[idx][3]; | ||
| 3037 | break; | ||
| 3038 | } | ||
| 3039 | |||
| 3040 | case 32: | ||
| 3041 | { | ||
| 3042 | /* 32bpp True color. | ||
| 3043 | * These must be set to MATCH WINCTRL[FORM] */ | ||
| 3044 | int idx; | ||
| 3045 | idx = (win->w[0].mode_winctrl1 & LCD_WINCTRL1_FRM) >> 25; | ||
| 3046 | var->red = rgb_bitfields[idx][0]; | ||
| 3047 | var->green = rgb_bitfields[idx][1]; | ||
| 3048 | var->blue = rgb_bitfields[idx][2]; | ||
| 3049 | var->transp = rgb_bitfields[idx][3]; | ||
| 3050 | break; | ||
| 3051 | } | ||
| 3052 | default: | ||
| 3053 | print_dbg("Unsupported depth %dbpp", var->bits_per_pixel); | ||
| 3054 | return -EINVAL; | ||
| 3055 | } | ||
| 3056 | |||
| 3057 | return 0; | ||
| 3058 | } | ||
| 3059 | |||
| 3060 | /* fb_set_par | ||
| 3061 | * Set hardware with var settings. This will enable the controller with a | ||
| 3062 | * specific mode, normally validated with the fb_check_var method | ||
| 3063 | */ | ||
| 3064 | static int au1200fb_fb_set_par(struct fb_info *fbi) | ||
| 3065 | { | ||
| 3066 | struct au1200fb_device *fbdev = (struct au1200fb_device *)fbi; | ||
| 3067 | |||
| 3068 | au1200fb_update_fbinfo(fbi); | ||
| 3069 | au1200_setmode(fbdev); | ||
| 3070 | |||
| 3071 | return 0; | ||
| 3072 | } | ||
| 3073 | |||
| 3074 | /* fb_setcolreg | ||
| 3075 | * Set color in LCD palette. | ||
| 3076 | */ | ||
| 3077 | static int au1200fb_fb_setcolreg(unsigned regno, unsigned red, unsigned green, | ||
| 3078 | unsigned blue, unsigned transp, struct fb_info *fbi) | ||
| 3079 | { | ||
| 3080 | volatile u32 *palette = lcd->palette; | ||
| 3081 | u32 value; | ||
| 3082 | |||
| 3083 | if (regno > (AU1200_LCD_NBR_PALETTE_ENTRIES - 1)) | ||
| 3084 | return -EINVAL; | ||
| 3085 | |||
| 3086 | if (fbi->var.grayscale) { | ||
| 3087 | /* Convert color to grayscale */ | ||
| 3088 | red = green = blue = | ||
| 3089 | (19595 * red + 38470 * green + 7471 * blue) >> 16; | ||
| 3090 | } | ||
| 3091 | |||
| 3092 | if (fbi->fix.visual == FB_VISUAL_TRUECOLOR) { | ||
| 3093 | /* Place color in the pseudopalette */ | ||
| 3094 | if (regno > 16) | ||
| 3095 | return -EINVAL; | ||
| 3096 | |||
| 3097 | palette = (u32*) fbi->pseudo_palette; | ||
| 3098 | |||
| 3099 | red >>= (16 - fbi->var.red.length); | ||
| 3100 | green >>= (16 - fbi->var.green.length); | ||
| 3101 | blue >>= (16 - fbi->var.blue.length); | ||
| 3102 | |||
| 3103 | value = (red << fbi->var.red.offset) | | ||
| 3104 | (green << fbi->var.green.offset)| | ||
| 3105 | (blue << fbi->var.blue.offset); | ||
| 3106 | value &= 0xFFFF; | ||
| 3107 | |||
| 3108 | } else if (1 /*FIX!!! panel_is_active(fbdev->panel)*/) { | ||
| 3109 | /* COLOR TFT PALLETTIZED (use RGB 565) */ | ||
| 3110 | value = (red & 0xF800)|((green >> 5) & | ||
| 3111 | 0x07E0)|((blue >> 11) & 0x001F); | ||
| 3112 | value &= 0xFFFF; | ||
| 3113 | |||
| 3114 | } else if (0 /*panel_is_color(fbdev->panel)*/) { | ||
| 3115 | /* COLOR STN MODE */ | ||
| 3116 | value = 0x1234; | ||
| 3117 | value &= 0xFFF; | ||
| 3118 | } else { | ||
| 3119 | /* MONOCHROME MODE */ | ||
| 3120 | value = (green >> 12) & 0x000F; | ||
| 3121 | value &= 0xF; | ||
| 3122 | } | ||
| 3123 | |||
| 3124 | palette[regno] = value; | ||
| 3125 | |||
| 3126 | return 0; | ||
| 3127 | } | ||
| 3128 | |||
| 3129 | /* fb_blank | ||
| 3130 | * Blank the screen. Depending on the mode, the screen will be | ||
| 3131 | * activated with the backlight color, or desactivated | ||
| 3132 | */ | ||
| 3133 | static int au1200fb_fb_blank(int blank_mode, struct fb_info *fbi) | ||
| 3134 | { | ||
| 3135 | /* Short-circuit screen blanking */ | ||
| 3136 | if (noblanking) | ||
| 3137 | return 0; | ||
| 3138 | |||
| 3139 | switch (blank_mode) { | ||
| 3140 | |||
| 3141 | case FB_BLANK_UNBLANK: | ||
| 3142 | case FB_BLANK_NORMAL: | ||
| 3143 | /* printk("turn on panel\n"); */ | ||
| 3144 | au1200_setpanel(panel); | ||
| 3145 | break; | ||
| 3146 | case FB_BLANK_VSYNC_SUSPEND: | ||
| 3147 | case FB_BLANK_HSYNC_SUSPEND: | ||
| 3148 | case FB_BLANK_POWERDOWN: | ||
| 3149 | /* printk("turn off panel\n"); */ | ||
| 3150 | au1200_setpanel(NULL); | ||
| 3151 | break; | ||
| 3152 | default: | ||
| 3153 | break; | ||
| 3154 | |||
| 3155 | } | ||
| 3156 | |||
| 3157 | /* FB_BLANK_NORMAL is a soft blank */ | ||
| 3158 | return (blank_mode == FB_BLANK_NORMAL) ? -EINVAL : 0; | ||
| 3159 | } | ||
| 3160 | |||
| 3161 | /* fb_mmap | ||
| 3162 | * Map video memory in user space. We don't use the generic fb_mmap | ||
| 3163 | * method mainly to allow the use of the TLB streaming flag (CCA=6) | ||
| 3164 | */ | ||
| 3165 | static int au1200fb_fb_mmap(struct fb_info *info, struct vm_area_struct *vma) | ||
| 3166 | |||
| 3167 | { | ||
| 3168 | unsigned int len; | ||
| 3169 | unsigned long start=0, off; | ||
| 3170 | struct au1200fb_device *fbdev = (struct au1200fb_device *) info; | ||
| 3171 | |||
| 3172 | #ifdef CONFIG_PM | ||
| 3173 | au1xxx_pm_access(LCD_pm_dev); | ||
| 3174 | #endif | ||
| 3175 | |||
| 3176 | if (vma->vm_pgoff > (~0UL >> PAGE_SHIFT)) { | ||
| 3177 | return -EINVAL; | ||
| 3178 | } | ||
| 3179 | |||
| 3180 | start = fbdev->fb_phys & PAGE_MASK; | ||
| 3181 | len = PAGE_ALIGN((start & ~PAGE_MASK) + fbdev->fb_len); | ||
| 3182 | |||
| 3183 | off = vma->vm_pgoff << PAGE_SHIFT; | ||
| 3184 | |||
| 3185 | if ((vma->vm_end - vma->vm_start + off) > len) { | ||
| 3186 | return -EINVAL; | ||
| 3187 | } | ||
| 3188 | |||
| 3189 | off += start; | ||
| 3190 | vma->vm_pgoff = off >> PAGE_SHIFT; | ||
| 3191 | |||
| 3192 | vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot); | ||
| 3193 | pgprot_val(vma->vm_page_prot) |= _CACHE_MASK; /* CCA=7 */ | ||
| 3194 | |||
| 3195 | vma->vm_flags |= VM_IO; | ||
| 3196 | |||
| 3197 | return io_remap_pfn_range(vma, vma->vm_start, off >> PAGE_SHIFT, | ||
| 3198 | vma->vm_end - vma->vm_start, | ||
| 3199 | vma->vm_page_prot); | ||
| 3200 | |||
| 3201 | return 0; | ||
| 3202 | } | ||
| 3203 | |||
| 3204 | static void set_global(u_int cmd, struct au1200_lcd_global_regs_t *pdata) | ||
| 3205 | { | ||
| 3206 | |||
| 3207 | unsigned int hi1, divider; | ||
| 3208 | |||
| 3209 | /* SCREEN_SIZE: user cannot reset size, must switch panel choice */ | ||
| 3210 | |||
| 3211 | if (pdata->flags & SCREEN_BACKCOLOR) | ||
| 3212 | lcd->backcolor = pdata->backcolor; | ||
| 3213 | |||
| 3214 | if (pdata->flags & SCREEN_BRIGHTNESS) { | ||
| 3215 | |||
| 3216 | // limit brightness pwm duty to >= 30/1600 | ||
| 3217 | if (pdata->brightness < 30) { | ||
| 3218 | pdata->brightness = 30; | ||
| 3219 | } | ||
| 3220 | divider = (lcd->pwmdiv & 0x3FFFF) + 1; | ||
| 3221 | hi1 = (lcd->pwmhi >> 16) + 1; | ||
| 3222 | hi1 = (((pdata->brightness & 0xFF)+1) * divider >> 8); | ||
| 3223 | lcd->pwmhi &= 0xFFFF; | ||
| 3224 | lcd->pwmhi |= (hi1 << 16); | ||
| 3225 | } | ||
| 3226 | |||
| 3227 | if (pdata->flags & SCREEN_COLORKEY) | ||
| 3228 | lcd->colorkey = pdata->colorkey; | ||
| 3229 | |||
| 3230 | if (pdata->flags & SCREEN_MASK) | ||
| 3231 | lcd->colorkeymsk = pdata->mask; | ||
| 3232 | au_sync(); | ||
| 3233 | } | ||
| 3234 | |||
| 3235 | static void get_global(u_int cmd, struct au1200_lcd_global_regs_t *pdata) | ||
| 3236 | { | ||
| 3237 | unsigned int hi1, divider; | ||
| 3238 | |||
| 3239 | pdata->xsize = ((lcd->screen & LCD_SCREEN_SX) >> 19) + 1; | ||
| 3240 | pdata->ysize = ((lcd->screen & LCD_SCREEN_SY) >> 8) + 1; | ||
| 3241 | |||
| 3242 | pdata->backcolor = lcd->backcolor; | ||
| 3243 | pdata->colorkey = lcd->colorkey; | ||
| 3244 | pdata->mask = lcd->colorkeymsk; | ||
| 3245 | |||
| 3246 | // brightness | ||
| 3247 | hi1 = (lcd->pwmhi >> 16) + 1; | ||
| 3248 | divider = (lcd->pwmdiv & 0x3FFFF) + 1; | ||
| 3249 | pdata->brightness = ((hi1 << 8) / divider) - 1; | ||
| 3250 | au_sync(); | ||
| 3251 | } | ||
| 3252 | |||
| 3253 | static void set_window(unsigned int plane, | ||
| 3254 | struct au1200_lcd_window_regs_t *pdata) | ||
| 3255 | { | ||
| 3256 | unsigned int val, bpp; | ||
| 3257 | |||
| 3258 | /* Window control register 0 */ | ||
| 3259 | if (pdata->flags & WIN_POSITION) { | ||
| 3260 | val = lcd->window[plane].winctrl0 & ~(LCD_WINCTRL0_OX | | ||
| 3261 | LCD_WINCTRL0_OY); | ||
| 3262 | val |= ((pdata->xpos << 21) & LCD_WINCTRL0_OX); | ||
| 3263 | val |= ((pdata->ypos << 10) & LCD_WINCTRL0_OY); | ||
| 3264 | lcd->window[plane].winctrl0 = val; | ||
| 3265 | } | ||
| 3266 | if (pdata->flags & WIN_ALPHA_COLOR) { | ||
| 3267 | val = lcd->window[plane].winctrl0 & ~(LCD_WINCTRL0_A); | ||
| 3268 | val |= ((pdata->alpha_color << 2) & LCD_WINCTRL0_A); | ||
| 3269 | lcd->window[plane].winctrl0 = val; | ||
| 3270 | } | ||
| 3271 | if (pdata->flags & WIN_ALPHA_MODE) { | ||
| 3272 | val = lcd->window[plane].winctrl0 & ~(LCD_WINCTRL0_AEN); | ||
| 3273 | val |= ((pdata->alpha_mode << 1) & LCD_WINCTRL0_AEN); | ||
| 3274 | lcd->window[plane].winctrl0 = val; | ||
| 3275 | } | ||
| 3276 | |||
| 3277 | /* Window control register 1 */ | ||
| 3278 | if (pdata->flags & WIN_PRIORITY) { | ||
| 3279 | val = lcd->window[plane].winctrl1 & ~(LCD_WINCTRL1_PRI); | ||
| 3280 | val |= ((pdata->priority << 30) & LCD_WINCTRL1_PRI); | ||
| 3281 | lcd->window[plane].winctrl1 = val; | ||
| 3282 | } | ||
| 3283 | if (pdata->flags & WIN_CHANNEL) { | ||
| 3284 | val = lcd->window[plane].winctrl1 & ~(LCD_WINCTRL1_PIPE); | ||
| 3285 | val |= ((pdata->channel << 29) & LCD_WINCTRL1_PIPE); | ||
| 3286 | lcd->window[plane].winctrl1 = val; | ||
| 3287 | } | ||
| 3288 | if (pdata->flags & WIN_BUFFER_FORMAT) { | ||
| 3289 | val = lcd->window[plane].winctrl1 & ~(LCD_WINCTRL1_FRM); | ||
| 3290 | val |= ((pdata->buffer_format << 25) & LCD_WINCTRL1_FRM); | ||
| 3291 | lcd->window[plane].winctrl1 = val; | ||
| 3292 | } | ||
| 3293 | if (pdata->flags & WIN_COLOR_ORDER) { | ||
| 3294 | val = lcd->window[plane].winctrl1 & ~(LCD_WINCTRL1_CCO); | ||
| 3295 | val |= ((pdata->color_order << 24) & LCD_WINCTRL1_CCO); | ||
| 3296 | lcd->window[plane].winctrl1 = val; | ||
| 3297 | } | ||
| 3298 | if (pdata->flags & WIN_PIXEL_ORDER) { | ||
| 3299 | val = lcd->window[plane].winctrl1 & ~(LCD_WINCTRL1_PO); | ||
| 3300 | val |= ((pdata->pixel_order << 22) & LCD_WINCTRL1_PO); | ||
| 3301 | lcd->window[plane].winctrl1 = val; | ||
| 3302 | } | ||
| 3303 | if (pdata->flags & WIN_SIZE) { | ||
| 3304 | val = lcd->window[plane].winctrl1 & ~(LCD_WINCTRL1_SZX | | ||
| 3305 | LCD_WINCTRL1_SZY); | ||
| 3306 | val |= (((pdata->xsize << 11) - 1) & LCD_WINCTRL1_SZX); | ||
| 3307 | val |= (((pdata->ysize) - 1) & LCD_WINCTRL1_SZY); | ||
| 3308 | lcd->window[plane].winctrl1 = val; | ||
| 3309 | /* program buffer line width */ | ||
| 3310 | bpp = winbpp(val) / 8; | ||
| 3311 | val = lcd->window[plane].winctrl2 & ~(LCD_WINCTRL2_BX); | ||
| 3312 | val |= (((pdata->xsize * bpp) << 8) & LCD_WINCTRL2_BX); | ||
| 3313 | lcd->window[plane].winctrl2 = val; | ||
| 3314 | } | ||
| 3315 | |||
| 3316 | /* Window control register 2 */ | ||
| 3317 | if (pdata->flags & WIN_COLORKEY_MODE) { | ||
| 3318 | val = lcd->window[plane].winctrl2 & ~(LCD_WINCTRL2_CKMODE); | ||
| 3319 | val |= ((pdata->colorkey_mode << 24) & LCD_WINCTRL2_CKMODE); | ||
| 3320 | lcd->window[plane].winctrl2 = val; | ||
| 3321 | } | ||
| 3322 | if (pdata->flags & WIN_DOUBLE_BUFFER_MODE) { | ||
| 3323 | val = lcd->window[plane].winctrl2 & ~(LCD_WINCTRL2_DBM); | ||
| 3324 | val |= ((pdata->double_buffer_mode << 23) & LCD_WINCTRL2_DBM); | ||
| 3325 | lcd->window[plane].winctrl2 = val; | ||
| 3326 | } | ||
| 3327 | if (pdata->flags & WIN_RAM_ARRAY_MODE) { | ||
| 3328 | val = lcd->window[plane].winctrl2 & ~(LCD_WINCTRL2_RAM); | ||
| 3329 | val |= ((pdata->ram_array_mode << 21) & LCD_WINCTRL2_RAM); | ||
| 3330 | lcd->window[plane].winctrl2 = val; | ||
| 3331 | } | ||
| 3332 | |||
| 3333 | /* Buffer line width programmed with WIN_SIZE */ | ||
| 3334 | |||
| 3335 | if (pdata->flags & WIN_BUFFER_SCALE) { | ||
| 3336 | val = lcd->window[plane].winctrl2 & ~(LCD_WINCTRL2_SCX | | ||
| 3337 | LCD_WINCTRL2_SCY); | ||
| 3338 | val |= ((pdata->xsize << 11) & LCD_WINCTRL2_SCX); | ||
| 3339 | val |= ((pdata->ysize) & LCD_WINCTRL2_SCY); | ||
| 3340 | lcd->window[plane].winctrl2 = val; | ||
| 3341 | } | ||
| 3342 | |||
| 3343 | if (pdata->flags & WIN_ENABLE) { | ||
| 3344 | val = lcd->winenable; | ||
| 3345 | val &= ~(1<<plane); | ||
| 3346 | val |= (pdata->enable & 1) << plane; | ||
| 3347 | lcd->winenable = val; | ||
| 3348 | } | ||
| 3349 | au_sync(); | ||
| 3350 | } | ||
| 3351 | |||
| 3352 | static void get_window(unsigned int plane, | ||
| 3353 | struct au1200_lcd_window_regs_t *pdata) | ||
| 3354 | { | ||
| 3355 | /* Window control register 0 */ | ||
| 3356 | pdata->xpos = (lcd->window[plane].winctrl0 & LCD_WINCTRL0_OX) >> 21; | ||
| 3357 | pdata->ypos = (lcd->window[plane].winctrl0 & LCD_WINCTRL0_OY) >> 10; | ||
| 3358 | pdata->alpha_color = (lcd->window[plane].winctrl0 & LCD_WINCTRL0_A) >> 2; | ||
| 3359 | pdata->alpha_mode = (lcd->window[plane].winctrl0 & LCD_WINCTRL0_AEN) >> 1; | ||
| 3360 | |||
| 3361 | /* Window control register 1 */ | ||
| 3362 | pdata->priority = (lcd->window[plane].winctrl1& LCD_WINCTRL1_PRI) >> 30; | ||
| 3363 | pdata->channel = (lcd->window[plane].winctrl1 & LCD_WINCTRL1_PIPE) >> 29; | ||
| 3364 | pdata->buffer_format = (lcd->window[plane].winctrl1 & LCD_WINCTRL1_FRM) >> 25; | ||
| 3365 | pdata->color_order = (lcd->window[plane].winctrl1 & LCD_WINCTRL1_CCO) >> 24; | ||
| 3366 | pdata->pixel_order = (lcd->window[plane].winctrl1 & LCD_WINCTRL1_PO) >> 22; | ||
| 3367 | pdata->xsize = ((lcd->window[plane].winctrl1 & LCD_WINCTRL1_SZX) >> 11) + 1; | ||
| 3368 | pdata->ysize = (lcd->window[plane].winctrl1 & LCD_WINCTRL1_SZY) + 1; | ||
| 3369 | |||
| 3370 | /* Window control register 2 */ | ||
| 3371 | pdata->colorkey_mode = (lcd->window[plane].winctrl2 & LCD_WINCTRL2_CKMODE) >> 24; | ||
| 3372 | pdata->double_buffer_mode = (lcd->window[plane].winctrl2 & LCD_WINCTRL2_DBM) >> 23; | ||
| 3373 | pdata->ram_array_mode = (lcd->window[plane].winctrl2 & LCD_WINCTRL2_RAM) >> 21; | ||
| 3374 | |||
| 3375 | pdata->enable = (lcd->winenable >> plane) & 1; | ||
| 3376 | au_sync(); | ||
| 3377 | } | ||
| 3378 | |||
| 3379 | static int au1200fb_ioctl(struct fb_info *info, unsigned int cmd, | ||
| 3380 | unsigned long arg) | ||
| 3381 | { | ||
| 3382 | int plane; | ||
| 3383 | int val; | ||
| 3384 | |||
| 3385 | #ifdef CONFIG_PM | ||
| 3386 | au1xxx_pm_access(LCD_pm_dev); | ||
| 3387 | #endif | ||
| 3388 | |||
| 3389 | plane = fbinfo2index(info); | ||
| 3390 | print_dbg("au1200fb: ioctl %d on plane %d\n", cmd, plane); | ||
| 3391 | |||
| 3392 | if (cmd == AU1200_LCD_FB_IOCTL) { | ||
| 3393 | struct au1200_lcd_iodata_t iodata; | ||
| 3394 | |||
| 3395 | if (copy_from_user(&iodata, (void __user *) arg, sizeof(iodata))) | ||
| 3396 | return -EFAULT; | ||
| 3397 | |||
| 3398 | print_dbg("FB IOCTL called\n"); | ||
| 3399 | |||
| 3400 | switch (iodata.subcmd) { | ||
| 3401 | case AU1200_LCD_SET_SCREEN: | ||
| 3402 | print_dbg("AU1200_LCD_SET_SCREEN\n"); | ||
| 3403 | set_global(cmd, &iodata.global); | ||
| 3404 | break; | ||
| 3405 | |||
| 3406 | case AU1200_LCD_GET_SCREEN: | ||
| 3407 | print_dbg("AU1200_LCD_GET_SCREEN\n"); | ||
| 3408 | get_global(cmd, &iodata.global); | ||
| 3409 | break; | ||
| 3410 | |||
| 3411 | case AU1200_LCD_SET_WINDOW: | ||
| 3412 | print_dbg("AU1200_LCD_SET_WINDOW\n"); | ||
| 3413 | set_window(plane, &iodata.window); | ||
| 3414 | break; | ||
| 3415 | |||
| 3416 | case AU1200_LCD_GET_WINDOW: | ||
| 3417 | print_dbg("AU1200_LCD_GET_WINDOW\n"); | ||
| 3418 | get_window(plane, &iodata.window); | ||
| 3419 | break; | ||
| 3420 | |||
| 3421 | case AU1200_LCD_SET_PANEL: | ||
| 3422 | print_dbg("AU1200_LCD_SET_PANEL\n"); | ||
| 3423 | if ((iodata.global.panel_choice >= 0) && | ||
| 3424 | (iodata.global.panel_choice < | ||
| 3425 | NUM_PANELS)) | ||
| 3426 | { | ||
| 3427 | struct panel_settings *newpanel; | ||
| 3428 | panel_index = iodata.global.panel_choice; | ||
| 3429 | newpanel = &known_lcd_panels[panel_index]; | ||
| 3430 | au1200_setpanel(newpanel); | ||
| 3431 | } | ||
| 3432 | break; | ||
| 3433 | |||
| 3434 | case AU1200_LCD_GET_PANEL: | ||
| 3435 | print_dbg("AU1200_LCD_GET_PANEL\n"); | ||
| 3436 | iodata.global.panel_choice = panel_index; | ||
| 3437 | break; | ||
| 3438 | |||
| 3439 | default: | ||
| 3440 | return -EINVAL; | ||
| 3441 | } | ||
| 3442 | |||
| 3443 | val = copy_to_user((void __user *) arg, &iodata, sizeof(iodata)); | ||
| 3444 | if (val) { | ||
| 3445 | print_dbg("error: could not copy %d bytes\n", val); | ||
| 3446 | return -EFAULT; | ||
| 3447 | } | ||
| 3448 | } | ||
| 3449 | |||
| 3450 | return 0; | ||
| 3451 | } | ||
| 3452 | |||
| 3453 | |||
| 3454 | static struct fb_ops au1200fb_fb_ops = { | ||
| 3455 | .owner = THIS_MODULE, | ||
| 3456 | .fb_check_var = au1200fb_fb_check_var, | ||
| 3457 | .fb_set_par = au1200fb_fb_set_par, | ||
| 3458 | .fb_setcolreg = au1200fb_fb_setcolreg, | ||
| 3459 | .fb_blank = au1200fb_fb_blank, | ||
| 3460 | .fb_fillrect = cfb_fillrect, | ||
| 3461 | .fb_copyarea = cfb_copyarea, | ||
| 3462 | .fb_imageblit = cfb_imageblit, | ||
| 3463 | .fb_sync = NULL, | ||
| 3464 | .fb_ioctl = au1200fb_ioctl, | ||
| 3465 | .fb_mmap = au1200fb_fb_mmap, | ||
| 3466 | }; | ||
| 3467 | |||
| 3468 | /*-------------------------------------------------------------------------*/ | ||
| 3469 | |||
| 3470 | static irqreturn_t au1200fb_handle_irq(int irq, void* dev_id, struct pt_regs *regs) | ||
| 3471 | { | ||
| 3472 | /* Nothing to do for now, just clear any pending interrupt */ | ||
| 3473 | lcd->intstatus = lcd->intstatus; | ||
| 3474 | au_sync(); | ||
| 3475 | |||
| 3476 | return IRQ_HANDLED; | ||
| 3477 | } | ||
| 3478 | |||
| 3479 | /*-------------------------------------------------------------------------*/ | ||
| 3480 | |||
| 3481 | /* AU1200 LCD device probe helpers */ | ||
| 3482 | |||
| 3483 | static int au1200fb_init_fbinfo(struct au1200fb_device *fbdev) | ||
| 3484 | { | ||
| 3485 | struct fb_info *fbi = &fbdev->fb_info; | ||
| 3486 | int bpp; | ||
| 3487 | |||
| 3488 | memset(fbi, 0, sizeof(struct fb_info)); | ||
| 3489 | fbi->fbops = &au1200fb_fb_ops; | ||
| 3490 | |||
| 3491 | bpp = winbpp(win->w[fbdev->plane].mode_winctrl1); | ||
| 3492 | |||
| 3493 | /* Copy monitor specs from panel data */ | ||
| 3494 | /* fixme: we're setting up LCD controller windows, so these dont give a | ||
| 3495 | damn as to what the monitor specs are (the panel itself does, but that | ||
| 3496 | isnt done here...so maybe need a generic catchall monitor setting??? */ | ||
| 3497 | memcpy(&fbi->monspecs, &panel->monspecs, sizeof(struct fb_monspecs)); | ||
| 3498 | |||
| 3499 | /* We first try the user mode passed in argument. If that failed, | ||
| 3500 | * or if no one has been specified, we default to the first mode of the | ||
| 3501 | * panel list. Note that after this call, var data will be set */ | ||
| 3502 | if (!fb_find_mode(&fbi->var, | ||
| 3503 | fbi, | ||
| 3504 | NULL, /* drv_info.opt_mode, */ | ||
| 3505 | fbi->monspecs.modedb, | ||
| 3506 | fbi->monspecs.modedb_len, | ||
| 3507 | fbi->monspecs.modedb, | ||
| 3508 | bpp)) { | ||
| 3509 | |||
| 3510 | print_err("Cannot find valid mode for panel %s", panel->name); | ||
| 3511 | return -EFAULT; | ||
| 3512 | } | ||
| 3513 | |||
| 3514 | fbi->pseudo_palette = kmalloc(sizeof(u32) * 16, GFP_KERNEL); | ||
| 3515 | if (!fbi->pseudo_palette) { | ||
| 3516 | return -ENOMEM; | ||
| 3517 | } | ||
| 3518 | memset(fbi->pseudo_palette, 0, sizeof(u32) * 16); | ||
| 3519 | |||
| 3520 | if (fb_alloc_cmap(&fbi->cmap, AU1200_LCD_NBR_PALETTE_ENTRIES, 0) < 0) { | ||
| 3521 | print_err("Fail to allocate colormap (%d entries)", | ||
| 3522 | AU1200_LCD_NBR_PALETTE_ENTRIES); | ||
| 3523 | kfree(fbi->pseudo_palette); | ||
| 3524 | return -EFAULT; | ||
| 3525 | } | ||
| 3526 | |||
| 3527 | strncpy(fbi->fix.id, "AU1200", sizeof(fbi->fix.id)); | ||
| 3528 | fbi->fix.smem_start = fbdev->fb_phys; | ||
| 3529 | fbi->fix.smem_len = fbdev->fb_len; | ||
| 3530 | fbi->fix.type = FB_TYPE_PACKED_PIXELS; | ||
| 3531 | fbi->fix.xpanstep = 0; | ||
| 3532 | fbi->fix.ypanstep = 0; | ||
| 3533 | fbi->fix.mmio_start = 0; | ||
| 3534 | fbi->fix.mmio_len = 0; | ||
| 3535 | fbi->fix.accel = FB_ACCEL_NONE; | ||
| 3536 | |||
| 3537 | fbi->screen_base = (char __iomem *) fbdev->fb_mem; | ||
| 3538 | |||
| 3539 | au1200fb_update_fbinfo(fbi); | ||
| 3540 | |||
| 3541 | return 0; | ||
| 3542 | } | ||
| 3543 | |||
| 3544 | /*-------------------------------------------------------------------------*/ | ||
| 3545 | |||
| 3546 | /* AU1200 LCD controller device driver */ | ||
| 3547 | |||
| 3548 | static int au1200fb_drv_probe(struct device *dev) | ||
| 3549 | { | ||
| 3550 | struct au1200fb_device *fbdev; | ||
| 3551 | unsigned long page; | ||
| 3552 | int bpp, plane, ret; | ||
| 3553 | |||
| 3554 | if (!dev) | ||
| 3555 | return -EINVAL; | ||
| 3556 | |||
| 3557 | for (plane = 0; plane < CONFIG_FB_AU1200_DEVS; ++plane) { | ||
| 3558 | bpp = winbpp(win->w[plane].mode_winctrl1); | ||
| 3559 | if (win->w[plane].xres == 0) | ||
| 3560 | win->w[plane].xres = panel->Xres; | ||
| 3561 | if (win->w[plane].yres == 0) | ||
| 3562 | win->w[plane].yres = panel->Yres; | ||
| 3563 | |||
| 3564 | fbdev = &_au1200fb_devices[plane]; | ||
| 3565 | memset(fbdev, 0, sizeof(struct au1200fb_device)); | ||
| 3566 | fbdev->plane = plane; | ||
| 3567 | |||
| 3568 | /* Allocate the framebuffer to the maximum screen size */ | ||
| 3569 | fbdev->fb_len = (win->w[plane].xres * win->w[plane].yres * bpp) / 8; | ||
| 3570 | |||
| 3571 | fbdev->fb_mem = dma_alloc_noncoherent(dev, | ||
| 3572 | PAGE_ALIGN(fbdev->fb_len), | ||
| 3573 | &fbdev->fb_phys, GFP_KERNEL); | ||
| 3574 | if (!fbdev->fb_mem) { | ||
| 3575 | print_err("fail to allocate frambuffer (size: %dK))", | ||
| 3576 | fbdev->fb_len / 1024); | ||
| 3577 | return -ENOMEM; | ||
| 3578 | } | ||
| 3579 | |||
| 3580 | /* | ||
| 3581 | * Set page reserved so that mmap will work. This is necessary | ||
| 3582 | * since we'll be remapping normal memory. | ||
| 3583 | */ | ||
| 3584 | for (page = (unsigned long)fbdev->fb_phys; | ||
| 3585 | page < PAGE_ALIGN((unsigned long)fbdev->fb_phys + | ||
| 3586 | fbdev->fb_len); | ||
| 3587 | page += PAGE_SIZE) { | ||
| 3588 | SetPageReserved(pfn_to_page(page >> PAGE_SHIFT)); /* LCD DMA is NOT coherent on Au1200 */ | ||
| 3589 | } | ||
| 3590 | print_dbg("Framebuffer memory map at %p", fbdev->fb_mem); | ||
| 3591 | print_dbg("phys=0x%08x, size=%dK", fbdev->fb_phys, fbdev->fb_len / 1024); | ||
| 3592 | |||
| 3593 | /* Init FB data */ | ||
| 3594 | if ((ret = au1200fb_init_fbinfo(fbdev)) < 0) | ||
| 3595 | goto failed; | ||
| 3596 | |||
| 3597 | /* Register new framebuffer */ | ||
| 3598 | if ((ret = register_framebuffer(&fbdev->fb_info)) < 0) { | ||
| 3599 | print_err("cannot register new framebuffer"); | ||
| 3600 | goto failed; | ||
| 3601 | } | ||
| 3602 | |||
| 3603 | au1200fb_fb_set_par(&fbdev->fb_info); | ||
| 3604 | |||
| 3605 | #if !defined(CONFIG_FRAMEBUFFER_CONSOLE) && defined(CONFIG_LOGO) | ||
| 3606 | if (plane == 0) | ||
| 3607 | if (fb_prepare_logo(&fbdev->fb_info, FB_ROTATE_UR)) { | ||
| 3608 | /* Start display and show logo on boot */ | ||
| 3609 | fb_set_cmap(&fbdev->fb_info.cmap, | ||
| 3610 | &fbdev->fb_info); | ||
| 3611 | |||
| 3612 | fb_show_logo(&fbdev->fb_info, FB_ROTATE_UR); | ||
| 3613 | } | ||
| 3614 | #endif | ||
| 3615 | } | ||
| 3616 | |||
| 3617 | /* Now hook interrupt too */ | ||
| 3618 | if ((ret = request_irq(AU1200_LCD_INT, au1200fb_handle_irq, | ||
| 3619 | SA_INTERRUPT | SA_SHIRQ, "lcd", (void *)dev)) < 0) { | ||
| 3620 | print_err("fail to request interrupt line %d (err: %d)", | ||
| 3621 | AU1200_LCD_INT, ret); | ||
| 3622 | goto failed; | ||
| 3623 | } | ||
| 3624 | |||
| 3625 | return 0; | ||
| 3626 | |||
| 3627 | failed: | ||
| 3628 | /* NOTE: This only does the current plane/window that failed; others are still active */ | ||
| 3629 | if (fbdev->fb_mem) | ||
| 3630 | dma_free_noncoherent(dev, PAGE_ALIGN(fbdev->fb_len), | ||
| 3631 | fbdev->fb_mem, fbdev->fb_phys); | ||
| 3632 | if (fbdev->fb_info.cmap.len != 0) | ||
| 3633 | fb_dealloc_cmap(&fbdev->fb_info.cmap); | ||
| 3634 | if (fbdev->fb_info.pseudo_palette) | ||
| 3635 | kfree(fbdev->fb_info.pseudo_palette); | ||
| 3636 | if (plane == 0) | ||
| 3637 | free_irq(AU1200_LCD_INT, (void*)dev); | ||
| 3638 | return ret; | ||
| 3639 | } | ||
| 3640 | |||
| 3641 | static int au1200fb_drv_remove(struct device *dev) | ||
| 3642 | { | ||
| 3643 | struct au1200fb_device *fbdev; | ||
| 3644 | int plane; | ||
| 3645 | |||
| 3646 | if (!dev) | ||
| 3647 | return -ENODEV; | ||
| 3648 | |||
| 3649 | /* Turn off the panel */ | ||
| 3650 | au1200_setpanel(NULL); | ||
| 3651 | |||
| 3652 | for (plane = 0; plane < CONFIG_FB_AU1200_DEVS; ++plane) | ||
| 3653 | { | ||
| 3654 | fbdev = &_au1200fb_devices[plane]; | ||
| 3655 | |||
| 3656 | /* Clean up all probe data */ | ||
| 3657 | unregister_framebuffer(&fbdev->fb_info); | ||
| 3658 | if (fbdev->fb_mem) | ||
| 3659 | dma_free_noncoherent(dev, PAGE_ALIGN(fbdev->fb_len), | ||
| 3660 | fbdev->fb_mem, fbdev->fb_phys); | ||
| 3661 | if (fbdev->fb_info.cmap.len != 0) | ||
| 3662 | fb_dealloc_cmap(&fbdev->fb_info.cmap); | ||
| 3663 | if (fbdev->fb_info.pseudo_palette) | ||
| 3664 | kfree(fbdev->fb_info.pseudo_palette); | ||
| 3665 | } | ||
| 3666 | |||
| 3667 | free_irq(AU1200_LCD_INT, (void *)dev); | ||
| 3668 | |||
| 3669 | return 0; | ||
| 3670 | } | ||
| 3671 | |||
| 3672 | #ifdef CONFIG_PM | ||
| 3673 | static int au1200fb_drv_suspend(struct device *dev, u32 state, u32 level) | ||
| 3674 | { | ||
| 3675 | /* TODO */ | ||
| 3676 | return 0; | ||
| 3677 | } | ||
| 3678 | |||
| 3679 | static int au1200fb_drv_resume(struct device *dev, u32 level) | ||
| 3680 | { | ||
| 3681 | /* TODO */ | ||
| 3682 | return 0; | ||
| 3683 | } | ||
| 3684 | #endif /* CONFIG_PM */ | ||
| 3685 | |||
| 3686 | static struct device_driver au1200fb_driver = { | ||
| 3687 | .name = "au1200-lcd", | ||
| 3688 | .bus = &platform_bus_type, | ||
| 3689 | .probe = au1200fb_drv_probe, | ||
| 3690 | .remove = au1200fb_drv_remove, | ||
| 3691 | #ifdef CONFIG_PM | ||
| 3692 | .suspend = au1200fb_drv_suspend, | ||
| 3693 | .resume = au1200fb_drv_resume, | ||
| 3694 | #endif | ||
| 3695 | }; | ||
| 3696 | |||
| 3697 | /*-------------------------------------------------------------------------*/ | ||
| 3698 | |||
| 3699 | /* Kernel driver */ | ||
| 3700 | |||
| 3701 | static void au1200fb_setup(void) | ||
| 3702 | { | ||
| 3703 | char* options = NULL; | ||
| 3704 | char* this_opt; | ||
| 3705 | int num_panels = ARRAY_SIZE(known_lcd_panels); | ||
| 3706 | int panel_idx = -1; | ||
| 3707 | |||
| 3708 | fb_get_options(DRIVER_NAME, &options); | ||
| 3709 | |||
| 3710 | if (options) { | ||
| 3711 | while ((this_opt = strsep(&options,",")) != NULL) { | ||
| 3712 | /* Panel option - can be panel name, | ||
| 3713 | * "bs" for board-switch, or number/index */ | ||
| 3714 | if (!strncmp(this_opt, "panel:", 6)) { | ||
| 3715 | int i; | ||
| 3716 | long int li; | ||
| 3717 | char *endptr; | ||
| 3718 | this_opt += 6; | ||
| 3719 | /* First check for index, which allows | ||
| 3720 | * to short circuit this mess */ | ||
| 3721 | li = simple_strtol(this_opt, &endptr, 0); | ||
| 3722 | if (*endptr == '\0') { | ||
| 3723 | panel_idx = (int)li; | ||
| 3724 | } | ||
| 3725 | else if (strcmp(this_opt, "bs") == 0) { | ||
| 3726 | extern int board_au1200fb_panel(void); | ||
| 3727 | panel_idx = board_au1200fb_panel(); | ||
| 3728 | } | ||
| 3729 | |||
| 3730 | else | ||
| 3731 | for (i = 0; i < num_panels; i++) { | ||
| 3732 | if (!strcmp(this_opt, known_lcd_panels[i].name)) { | ||
| 3733 | panel_idx = i; | ||
| 3734 | break; | ||
| 3735 | } | ||
| 3736 | } | ||
| 3737 | |||
| 3738 | if ((panel_idx < 0) || (panel_idx >= num_panels)) { | ||
| 3739 | print_warn("Panel %s not supported!", this_opt); | ||
| 3740 | } | ||
| 3741 | else | ||
| 3742 | panel_index = panel_idx; | ||
| 3743 | } | ||
| 3744 | |||
| 3745 | else if (strncmp(this_opt, "nohwcursor", 10) == 0) { | ||
| 3746 | nohwcursor = 1; | ||
| 3747 | } | ||
| 3748 | |||
| 3749 | /* Unsupported option */ | ||
| 3750 | else { | ||
| 3751 | print_warn("Unsupported option \"%s\"", this_opt); | ||
| 3752 | } | ||
| 3753 | } | ||
| 3754 | } | ||
| 3755 | } | ||
| 3756 | |||
| 3757 | #ifdef CONFIG_PM | ||
| 3758 | static int au1200fb_pm_callback(au1xxx_power_dev_t *dev, | ||
| 3759 | au1xxx_request_t request, void *data) { | ||
| 3760 | int retval = -1; | ||
| 3761 | unsigned int d = 0; | ||
| 3762 | unsigned int brightness = 0; | ||
| 3763 | |||
| 3764 | if (request == AU1XXX_PM_SLEEP) { | ||
| 3765 | board_au1200fb_panel_shutdown(); | ||
| 3766 | } | ||
| 3767 | else if (request == AU1XXX_PM_WAKEUP) { | ||
| 3768 | if(dev->prev_state == SLEEP_STATE) | ||
| 3769 | { | ||
| 3770 | int plane; | ||
| 3771 | au1200_setpanel(panel); | ||
| 3772 | for (plane = 0; plane < CONFIG_FB_AU1200_DEVS; ++plane) { | ||
| 3773 | struct au1200fb_device *fbdev; | ||
| 3774 | fbdev = &_au1200fb_devices[plane]; | ||
| 3775 | au1200fb_fb_set_par(&fbdev->fb_info); | ||
| 3776 | } | ||
| 3777 | } | ||
| 3778 | |||
| 3779 | d = *((unsigned int*)data); | ||
| 3780 | if(d <=10) brightness = 26; | ||
| 3781 | else if(d<=20) brightness = 51; | ||
| 3782 | else if(d<=30) brightness = 77; | ||
| 3783 | else if(d<=40) brightness = 102; | ||
| 3784 | else if(d<=50) brightness = 128; | ||
| 3785 | else if(d<=60) brightness = 153; | ||
| 3786 | else if(d<=70) brightness = 179; | ||
| 3787 | else if(d<=80) brightness = 204; | ||
| 3788 | else if(d<=90) brightness = 230; | ||
| 3789 | else brightness = 255; | ||
| 3790 | set_brightness(brightness); | ||
| 3791 | } else if (request == AU1XXX_PM_GETSTATUS) { | ||
| 3792 | return dev->cur_state; | ||
| 3793 | } else if (request == AU1XXX_PM_ACCESS) { | ||
| 3794 | if (dev->cur_state != SLEEP_STATE) | ||
| 3795 | return retval; | ||
| 3796 | else { | ||
| 3797 | au1200_setpanel(panel); | ||
| 3798 | } | ||
| 3799 | } else if (request == AU1XXX_PM_IDLE) { | ||
| 3800 | } else if (request == AU1XXX_PM_CLEANUP) { | ||
| 3801 | } | ||
| 3802 | |||
| 3803 | return retval; | ||
| 3804 | } | ||
| 3805 | #endif | ||
| 3806 | |||
| 3807 | static int __init au1200fb_init(void) | ||
| 3808 | { | ||
| 3809 | print_info("" DRIVER_DESC ""); | ||
| 3810 | |||
| 3811 | /* Setup driver with options */ | ||
| 3812 | au1200fb_setup(); | ||
| 3813 | |||
| 3814 | /* Point to the panel selected */ | ||
| 3815 | panel = &known_lcd_panels[panel_index]; | ||
| 3816 | win = &windows[window_index]; | ||
| 3817 | |||
| 3818 | printk(DRIVER_NAME ": Panel %d %s\n", panel_index, panel->name); | ||
| 3819 | printk(DRIVER_NAME ": Win %d %s\n", window_index, win->name); | ||
| 3820 | |||
| 3821 | /* Kickstart the panel, the framebuffers/windows come soon enough */ | ||
| 3822 | au1200_setpanel(panel); | ||
| 3823 | |||
| 3824 | #ifdef CONFIG_PM | ||
| 3825 | LCD_pm_dev = new_au1xxx_power_device("LCD", &au1200fb_pm_callback, NULL); | ||
| 3826 | if ( LCD_pm_dev == NULL) | ||
| 3827 | printk(KERN_INFO "Unable to create a power management device entry for the au1200fb.\n"); | ||
| 3828 | else | ||
| 3829 | printk(KERN_INFO "Power management device entry for the au1200fb loaded.\n"); | ||
| 3830 | #endif | ||
| 3831 | |||
| 3832 | return driver_register(&au1200fb_driver); | ||
| 3833 | } | ||
| 3834 | |||
| 3835 | static void __exit au1200fb_cleanup(void) | ||
| 3836 | { | ||
| 3837 | driver_unregister(&au1200fb_driver); | ||
| 3838 | } | ||
| 3839 | |||
| 3840 | module_init(au1200fb_init); | ||
| 3841 | module_exit(au1200fb_cleanup); | ||
| 3842 | |||
| 3843 | MODULE_DESCRIPTION(DRIVER_DESC); | ||
| 3844 | MODULE_LICENSE("GPL"); | ||
diff --git a/drivers/video/fbsysfs.c b/drivers/video/fbsysfs.c index b72b05250a9d..34e07399756b 100644 --- a/drivers/video/fbsysfs.c +++ b/drivers/video/fbsysfs.c  | |||
| @@ -305,94 +305,6 @@ static ssize_t show_stride(struct class_device *class_device, char *buf) | |||
| 305 | return snprintf(buf, PAGE_SIZE, "%d\n", fb_info->fix.line_length); | 305 | return snprintf(buf, PAGE_SIZE, "%d\n", fb_info->fix.line_length); | 
| 306 | } | 306 | } | 
| 307 | 307 | ||
| 308 | /* Format for cmap is "%02x%c%4x%4x%4x\n" */ | ||
| 309 | /* %02x entry %c transp %4x red %4x blue %4x green \n */ | ||
| 310 | /* 256 rows at 16 chars equals 4096, the normal page size */ | ||
| 311 | /* the code will automatically adjust for different page sizes */ | ||
| 312 | static ssize_t store_cmap(struct class_device *class_device, const char *buf, | ||
| 313 | size_t count) | ||
| 314 | { | ||
| 315 | struct fb_info *fb_info = class_get_devdata(class_device); | ||
| 316 | int rc, i, start, length, transp = 0; | ||
| 317 | |||
| 318 | if ((count > PAGE_SIZE) || ((count % 16) != 0)) | ||
| 319 | return -EINVAL; | ||
| 320 | |||
| 321 | if (!fb_info->fbops->fb_setcolreg && !fb_info->fbops->fb_setcmap) | ||
| 322 | return -EINVAL; | ||
| 323 | |||
| 324 | sscanf(buf, "%02x", &start); | ||
| 325 | length = count / 16; | ||
| 326 | |||
| 327 | for (i = 0; i < length; i++) | ||
| 328 | if (buf[i * 16 + 2] != ' ') | ||
| 329 | transp = 1; | ||
| 330 | |||
| 331 | /* If we can batch, do it */ | ||
| 332 | if (fb_info->fbops->fb_setcmap && length > 1) { | ||
| 333 | struct fb_cmap umap; | ||
| 334 | |||
| 335 | memset(&umap, 0, sizeof(umap)); | ||
| 336 | if ((rc = fb_alloc_cmap(&umap, length, transp))) | ||
| 337 | return rc; | ||
| 338 | |||
| 339 | umap.start = start; | ||
| 340 | for (i = 0; i < length; i++) { | ||
| 341 | sscanf(&buf[i * 16 + 3], "%4hx", &umap.red[i]); | ||
| 342 | sscanf(&buf[i * 16 + 7], "%4hx", &umap.blue[i]); | ||
| 343 | sscanf(&buf[i * 16 + 11], "%4hx", &umap.green[i]); | ||
| 344 | if (transp) | ||
| 345 | umap.transp[i] = (buf[i * 16 + 2] != ' '); | ||
| 346 | } | ||
| 347 | rc = fb_info->fbops->fb_setcmap(&umap, fb_info); | ||
| 348 | fb_copy_cmap(&umap, &fb_info->cmap); | ||
| 349 | fb_dealloc_cmap(&umap); | ||
| 350 | |||
| 351 | return rc ?: count; | ||
| 352 | } | ||
| 353 | for (i = 0; i < length; i++) { | ||
| 354 | u16 red, blue, green, tsp; | ||
| 355 | |||
| 356 | sscanf(&buf[i * 16 + 3], "%4hx", &red); | ||
| 357 | sscanf(&buf[i * 16 + 7], "%4hx", &blue); | ||
| 358 | sscanf(&buf[i * 16 + 11], "%4hx", &green); | ||
| 359 | tsp = (buf[i * 16 + 2] != ' '); | ||
| 360 | if ((rc = fb_info->fbops->fb_setcolreg(start++, | ||
| 361 | red, green, blue, tsp, fb_info))) | ||
| 362 | return rc; | ||
| 363 | |||
| 364 | fb_info->cmap.red[i] = red; | ||
| 365 | fb_info->cmap.blue[i] = blue; | ||
| 366 | fb_info->cmap.green[i] = green; | ||
| 367 | if (transp) | ||
| 368 | fb_info->cmap.transp[i] = tsp; | ||
| 369 | } | ||
| 370 | return count; | ||
| 371 | } | ||
| 372 | |||
| 373 | static ssize_t show_cmap(struct class_device *class_device, char *buf) | ||
| 374 | { | ||
| 375 | struct fb_info *fb_info = class_get_devdata(class_device); | ||
| 376 | unsigned int i; | ||
| 377 | |||
| 378 | if (!fb_info->cmap.red || !fb_info->cmap.blue || | ||
| 379 | !fb_info->cmap.green) | ||
| 380 | return -EINVAL; | ||
| 381 | |||
| 382 | if (fb_info->cmap.len > PAGE_SIZE / 16) | ||
| 383 | return -EINVAL; | ||
| 384 | |||
| 385 | /* don't mess with the format, the buffer is PAGE_SIZE */ | ||
| 386 | /* 256 entries at 16 chars per line equals 4096 = PAGE_SIZE */ | ||
| 387 | for (i = 0; i < fb_info->cmap.len; i++) { | ||
| 388 | snprintf(&buf[ i * 16], PAGE_SIZE - i * 16, "%02x%c%4x%4x%4x\n", i + fb_info->cmap.start, | ||
| 389 | ((fb_info->cmap.transp && fb_info->cmap.transp[i]) ? '*' : ' '), | ||
| 390 | fb_info->cmap.red[i], fb_info->cmap.blue[i], | ||
| 391 | fb_info->cmap.green[i]); | ||
| 392 | } | ||
| 393 | return 16 * fb_info->cmap.len; | ||
| 394 | } | ||
| 395 | |||
| 396 | static ssize_t store_blank(struct class_device *class_device, const char * buf, | 308 | static ssize_t store_blank(struct class_device *class_device, const char * buf, | 
| 397 | size_t count) | 309 | size_t count) | 
| 398 | { | 310 | { | 
| @@ -502,10 +414,12 @@ static ssize_t show_fbstate(struct class_device *class_device, char *buf) | |||
| 502 | return snprintf(buf, PAGE_SIZE, "%d\n", fb_info->state); | 414 | return snprintf(buf, PAGE_SIZE, "%d\n", fb_info->state); | 
| 503 | } | 415 | } | 
| 504 | 416 | ||
| 417 | /* When cmap is added back in it should be a binary attribute | ||
| 418 | * not a text one. Consideration should also be given to converting | ||
| 419 | * fbdev to use configfs instead of sysfs */ | ||
| 505 | static struct class_device_attribute class_device_attrs[] = { | 420 | static struct class_device_attribute class_device_attrs[] = { | 
| 506 | __ATTR(bits_per_pixel, S_IRUGO|S_IWUSR, show_bpp, store_bpp), | 421 | __ATTR(bits_per_pixel, S_IRUGO|S_IWUSR, show_bpp, store_bpp), | 
| 507 | __ATTR(blank, S_IRUGO|S_IWUSR, show_blank, store_blank), | 422 | __ATTR(blank, S_IRUGO|S_IWUSR, show_blank, store_blank), | 
| 508 | __ATTR(color_map, S_IRUGO|S_IWUSR, show_cmap, store_cmap), | ||
| 509 | __ATTR(console, S_IRUGO|S_IWUSR, show_console, store_console), | 423 | __ATTR(console, S_IRUGO|S_IWUSR, show_console, store_console), | 
| 510 | __ATTR(cursor, S_IRUGO|S_IWUSR, show_cursor, store_cursor), | 424 | __ATTR(cursor, S_IRUGO|S_IWUSR, show_cursor, store_cursor), | 
| 511 | __ATTR(mode, S_IRUGO|S_IWUSR, show_mode, store_mode), | 425 | __ATTR(mode, S_IRUGO|S_IWUSR, show_mode, store_mode), | 
diff --git a/fs/block_dev.c b/fs/block_dev.c index af88c43043d5..f5958f413bd1 100644 --- a/fs/block_dev.c +++ b/fs/block_dev.c  | |||
| @@ -1104,6 +1104,8 @@ const struct file_operations def_blk_fops = { | |||
| 1104 | .readv = generic_file_readv, | 1104 | .readv = generic_file_readv, | 
| 1105 | .writev = generic_file_write_nolock, | 1105 | .writev = generic_file_write_nolock, | 
| 1106 | .sendfile = generic_file_sendfile, | 1106 | .sendfile = generic_file_sendfile, | 
| 1107 | .splice_read = generic_file_splice_read, | ||
| 1108 | .splice_write = generic_file_splice_write, | ||
| 1107 | }; | 1109 | }; | 
| 1108 | 1110 | ||
| 1109 | int ioctl_by_bdev(struct block_device *bdev, unsigned cmd, unsigned long arg) | 1111 | int ioctl_by_bdev(struct block_device *bdev, unsigned cmd, unsigned long arg) | 
diff --git a/fs/compat.c b/fs/compat.c index 2e32bd340474..3f3e8f4d43d6 100644 --- a/fs/compat.c +++ b/fs/compat.c  | |||
| @@ -1317,6 +1317,26 @@ out: | |||
| 1317 | return ret; | 1317 | return ret; | 
| 1318 | } | 1318 | } | 
| 1319 | 1319 | ||
| 1320 | asmlinkage long | ||
| 1321 | compat_sys_vmsplice(int fd, const struct compat_iovec __user *iov32, | ||
| 1322 | unsigned int nr_segs, unsigned int flags) | ||
| 1323 | { | ||
| 1324 | unsigned i; | ||
| 1325 | struct iovec *iov; | ||
| 1326 | if (nr_segs >= UIO_MAXIOV) | ||
| 1327 | return -EINVAL; | ||
| 1328 | iov = compat_alloc_user_space(nr_segs * sizeof(struct iovec)); | ||
| 1329 | for (i = 0; i < nr_segs; i++) { | ||
| 1330 | struct compat_iovec v; | ||
| 1331 | if (get_user(v.iov_base, &iov32[i].iov_base) || | ||
| 1332 | get_user(v.iov_len, &iov32[i].iov_len) || | ||
| 1333 | put_user(compat_ptr(v.iov_base), &iov[i].iov_base) || | ||
| 1334 | put_user(v.iov_len, &iov[i].iov_len)) | ||
| 1335 | return -EFAULT; | ||
| 1336 | } | ||
| 1337 | return sys_vmsplice(fd, iov, nr_segs, flags); | ||
| 1338 | } | ||
| 1339 | |||
| 1320 | /* | 1340 | /* | 
| 1321 | * Exactly like fs/open.c:sys_open(), except that it doesn't set the | 1341 | * Exactly like fs/open.c:sys_open(), except that it doesn't set the | 
| 1322 | * O_LARGEFILE flag. | 1342 | * O_LARGEFILE flag. | 
| @@ -55,7 +55,8 @@ void pipe_wait(struct pipe_inode_info *pipe) | |||
| 55 | } | 55 | } | 
| 56 | 56 | ||
| 57 | static int | 57 | static int | 
| 58 | pipe_iov_copy_from_user(void *to, struct iovec *iov, unsigned long len) | 58 | pipe_iov_copy_from_user(void *to, struct iovec *iov, unsigned long len, | 
| 59 | int atomic) | ||
| 59 | { | 60 | { | 
| 60 | unsigned long copy; | 61 | unsigned long copy; | 
| 61 | 62 | ||
| @@ -64,8 +65,13 @@ pipe_iov_copy_from_user(void *to, struct iovec *iov, unsigned long len) | |||
| 64 | iov++; | 65 | iov++; | 
| 65 | copy = min_t(unsigned long, len, iov->iov_len); | 66 | copy = min_t(unsigned long, len, iov->iov_len); | 
| 66 | 67 | ||
| 67 | if (copy_from_user(to, iov->iov_base, copy)) | 68 | if (atomic) { | 
| 68 | return -EFAULT; | 69 | if (__copy_from_user_inatomic(to, iov->iov_base, copy)) | 
| 70 | return -EFAULT; | ||
| 71 | } else { | ||
| 72 | if (copy_from_user(to, iov->iov_base, copy)) | ||
| 73 | return -EFAULT; | ||
| 74 | } | ||
| 69 | to += copy; | 75 | to += copy; | 
| 70 | len -= copy; | 76 | len -= copy; | 
| 71 | iov->iov_base += copy; | 77 | iov->iov_base += copy; | 
| @@ -75,7 +81,8 @@ pipe_iov_copy_from_user(void *to, struct iovec *iov, unsigned long len) | |||
| 75 | } | 81 | } | 
| 76 | 82 | ||
| 77 | static int | 83 | static int | 
| 78 | pipe_iov_copy_to_user(struct iovec *iov, const void *from, unsigned long len) | 84 | pipe_iov_copy_to_user(struct iovec *iov, const void *from, unsigned long len, | 
| 85 | int atomic) | ||
| 79 | { | 86 | { | 
| 80 | unsigned long copy; | 87 | unsigned long copy; | 
| 81 | 88 | ||
| @@ -84,8 +91,13 @@ pipe_iov_copy_to_user(struct iovec *iov, const void *from, unsigned long len) | |||
| 84 | iov++; | 91 | iov++; | 
| 85 | copy = min_t(unsigned long, len, iov->iov_len); | 92 | copy = min_t(unsigned long, len, iov->iov_len); | 
| 86 | 93 | ||
| 87 | if (copy_to_user(iov->iov_base, from, copy)) | 94 | if (atomic) { | 
| 88 | return -EFAULT; | 95 | if (__copy_to_user_inatomic(iov->iov_base, from, copy)) | 
| 96 | return -EFAULT; | ||
| 97 | } else { | ||
| 98 | if (copy_to_user(iov->iov_base, from, copy)) | ||
| 99 | return -EFAULT; | ||
| 100 | } | ||
| 89 | from += copy; | 101 | from += copy; | 
| 90 | len -= copy; | 102 | len -= copy; | 
| 91 | iov->iov_base += copy; | 103 | iov->iov_base += copy; | 
| @@ -94,13 +106,52 @@ pipe_iov_copy_to_user(struct iovec *iov, const void *from, unsigned long len) | |||
| 94 | return 0; | 106 | return 0; | 
| 95 | } | 107 | } | 
| 96 | 108 | ||
| 109 | /* | ||
| 110 | * Attempt to pre-fault in the user memory, so we can use atomic copies. | ||
| 111 | * Returns the number of bytes not faulted in. | ||
| 112 | */ | ||
| 113 | static int iov_fault_in_pages_write(struct iovec *iov, unsigned long len) | ||
| 114 | { | ||
| 115 | while (!iov->iov_len) | ||
| 116 | iov++; | ||
| 117 | |||
| 118 | while (len > 0) { | ||
| 119 | unsigned long this_len; | ||
| 120 | |||
| 121 | this_len = min_t(unsigned long, len, iov->iov_len); | ||
| 122 | if (fault_in_pages_writeable(iov->iov_base, this_len)) | ||
| 123 | break; | ||
| 124 | |||
| 125 | len -= this_len; | ||
| 126 | iov++; | ||
| 127 | } | ||
| 128 | |||
| 129 | return len; | ||
| 130 | } | ||
| 131 | |||
| 132 | /* | ||
| 133 | * Pre-fault in the user memory, so we can use atomic copies. | ||
| 134 | */ | ||
| 135 | static void iov_fault_in_pages_read(struct iovec *iov, unsigned long len) | ||
| 136 | { | ||
| 137 | while (!iov->iov_len) | ||
| 138 | iov++; | ||
| 139 | |||
| 140 | while (len > 0) { | ||
| 141 | unsigned long this_len; | ||
| 142 | |||
| 143 | this_len = min_t(unsigned long, len, iov->iov_len); | ||
| 144 | fault_in_pages_readable(iov->iov_base, this_len); | ||
| 145 | len -= this_len; | ||
| 146 | iov++; | ||
| 147 | } | ||
| 148 | } | ||
| 149 | |||
| 97 | static void anon_pipe_buf_release(struct pipe_inode_info *pipe, | 150 | static void anon_pipe_buf_release(struct pipe_inode_info *pipe, | 
| 98 | struct pipe_buffer *buf) | 151 | struct pipe_buffer *buf) | 
| 99 | { | 152 | { | 
| 100 | struct page *page = buf->page; | 153 | struct page *page = buf->page; | 
| 101 | 154 | ||
| 102 | buf->flags &= ~PIPE_BUF_FLAG_STOLEN; | ||
| 103 | |||
| 104 | /* | 155 | /* | 
| 105 | * If nobody else uses this page, and we don't already have a | 156 | * If nobody else uses this page, and we don't already have a | 
| 106 | * temporary page, let's keep track of it as a one-deep | 157 | * temporary page, let's keep track of it as a one-deep | 
| @@ -112,38 +163,58 @@ static void anon_pipe_buf_release(struct pipe_inode_info *pipe, | |||
| 112 | page_cache_release(page); | 163 | page_cache_release(page); | 
| 113 | } | 164 | } | 
| 114 | 165 | ||
| 115 | static void * anon_pipe_buf_map(struct file *file, struct pipe_inode_info *pipe, | 166 | void *generic_pipe_buf_map(struct pipe_inode_info *pipe, | 
| 116 | struct pipe_buffer *buf) | 167 | struct pipe_buffer *buf, int atomic) | 
| 117 | { | 168 | { | 
| 169 | if (atomic) { | ||
| 170 | buf->flags |= PIPE_BUF_FLAG_ATOMIC; | ||
| 171 | return kmap_atomic(buf->page, KM_USER0); | ||
| 172 | } | ||
| 173 | |||
| 118 | return kmap(buf->page); | 174 | return kmap(buf->page); | 
| 119 | } | 175 | } | 
| 120 | 176 | ||
| 121 | static void anon_pipe_buf_unmap(struct pipe_inode_info *pipe, | 177 | void generic_pipe_buf_unmap(struct pipe_inode_info *pipe, | 
| 122 | struct pipe_buffer *buf) | 178 | struct pipe_buffer *buf, void *map_data) | 
| 123 | { | 179 | { | 
| 124 | kunmap(buf->page); | 180 | if (buf->flags & PIPE_BUF_FLAG_ATOMIC) { | 
| 181 | buf->flags &= ~PIPE_BUF_FLAG_ATOMIC; | ||
| 182 | kunmap_atomic(map_data, KM_USER0); | ||
| 183 | } else | ||
| 184 | kunmap(buf->page); | ||
| 125 | } | 185 | } | 
| 126 | 186 | ||
| 127 | static int anon_pipe_buf_steal(struct pipe_inode_info *pipe, | 187 | int generic_pipe_buf_steal(struct pipe_inode_info *pipe, | 
| 128 | struct pipe_buffer *buf) | 188 | struct pipe_buffer *buf) | 
| 129 | { | 189 | { | 
| 130 | buf->flags |= PIPE_BUF_FLAG_STOLEN; | 190 | struct page *page = buf->page; | 
| 131 | return 0; | 191 | |
| 192 | if (page_count(page) == 1) { | ||
| 193 | lock_page(page); | ||
| 194 | return 0; | ||
| 195 | } | ||
| 196 | |||
| 197 | return 1; | ||
| 132 | } | 198 | } | 
| 133 | 199 | ||
| 134 | static void anon_pipe_buf_get(struct pipe_inode_info *info, | 200 | void generic_pipe_buf_get(struct pipe_inode_info *info, struct pipe_buffer *buf) | 
| 135 | struct pipe_buffer *buf) | ||
| 136 | { | 201 | { | 
| 137 | page_cache_get(buf->page); | 202 | page_cache_get(buf->page); | 
| 138 | } | 203 | } | 
| 139 | 204 | ||
| 205 | int generic_pipe_buf_pin(struct pipe_inode_info *info, struct pipe_buffer *buf) | ||
| 206 | { | ||
| 207 | return 0; | ||
| 208 | } | ||
| 209 | |||
| 140 | static struct pipe_buf_operations anon_pipe_buf_ops = { | 210 | static struct pipe_buf_operations anon_pipe_buf_ops = { | 
| 141 | .can_merge = 1, | 211 | .can_merge = 1, | 
| 142 | .map = anon_pipe_buf_map, | 212 | .map = generic_pipe_buf_map, | 
| 143 | .unmap = anon_pipe_buf_unmap, | 213 | .unmap = generic_pipe_buf_unmap, | 
| 214 | .pin = generic_pipe_buf_pin, | ||
| 144 | .release = anon_pipe_buf_release, | 215 | .release = anon_pipe_buf_release, | 
| 145 | .steal = anon_pipe_buf_steal, | 216 | .steal = generic_pipe_buf_steal, | 
| 146 | .get = anon_pipe_buf_get, | 217 | .get = generic_pipe_buf_get, | 
| 147 | }; | 218 | }; | 
| 148 | 219 | ||
| 149 | static ssize_t | 220 | static ssize_t | 
| @@ -174,22 +245,33 @@ pipe_readv(struct file *filp, const struct iovec *_iov, | |||
| 174 | struct pipe_buf_operations *ops = buf->ops; | 245 | struct pipe_buf_operations *ops = buf->ops; | 
| 175 | void *addr; | 246 | void *addr; | 
| 176 | size_t chars = buf->len; | 247 | size_t chars = buf->len; | 
| 177 | int error; | 248 | int error, atomic; | 
| 178 | 249 | ||
| 179 | if (chars > total_len) | 250 | if (chars > total_len) | 
| 180 | chars = total_len; | 251 | chars = total_len; | 
| 181 | 252 | ||
| 182 | addr = ops->map(filp, pipe, buf); | 253 | error = ops->pin(pipe, buf); | 
| 183 | if (IS_ERR(addr)) { | 254 | if (error) { | 
| 184 | if (!ret) | 255 | if (!ret) | 
| 185 | ret = PTR_ERR(addr); | 256 | error = ret; | 
| 186 | break; | 257 | break; | 
| 187 | } | 258 | } | 
| 188 | error = pipe_iov_copy_to_user(iov, addr + buf->offset, chars); | 259 | |
| 189 | ops->unmap(pipe, buf); | 260 | atomic = !iov_fault_in_pages_write(iov, chars); | 
| 261 | redo: | ||
| 262 | addr = ops->map(pipe, buf, atomic); | ||
| 263 | error = pipe_iov_copy_to_user(iov, addr + buf->offset, chars, atomic); | ||
| 264 | ops->unmap(pipe, buf, addr); | ||
| 190 | if (unlikely(error)) { | 265 | if (unlikely(error)) { | 
| 266 | /* | ||
| 267 | * Just retry with the slow path if we failed. | ||
| 268 | */ | ||
| 269 | if (atomic) { | ||
| 270 | atomic = 0; | ||
| 271 | goto redo; | ||
| 272 | } | ||
| 191 | if (!ret) | 273 | if (!ret) | 
| 192 | ret = -EFAULT; | 274 | ret = error; | 
| 193 | break; | 275 | break; | 
| 194 | } | 276 | } | 
| 195 | ret += chars; | 277 | ret += chars; | 
| @@ -293,21 +375,28 @@ pipe_writev(struct file *filp, const struct iovec *_iov, | |||
| 293 | int offset = buf->offset + buf->len; | 375 | int offset = buf->offset + buf->len; | 
| 294 | 376 | ||
| 295 | if (ops->can_merge && offset + chars <= PAGE_SIZE) { | 377 | if (ops->can_merge && offset + chars <= PAGE_SIZE) { | 
| 378 | int error, atomic = 1; | ||
| 296 | void *addr; | 379 | void *addr; | 
| 297 | int error; | ||
| 298 | 380 | ||
| 299 | addr = ops->map(filp, pipe, buf); | 381 | error = ops->pin(pipe, buf); | 
| 300 | if (IS_ERR(addr)) { | 382 | if (error) | 
| 301 | error = PTR_ERR(addr); | ||
| 302 | goto out; | 383 | goto out; | 
| 303 | } | 384 | |
| 385 | iov_fault_in_pages_read(iov, chars); | ||
| 386 | redo1: | ||
| 387 | addr = ops->map(pipe, buf, atomic); | ||
| 304 | error = pipe_iov_copy_from_user(offset + addr, iov, | 388 | error = pipe_iov_copy_from_user(offset + addr, iov, | 
| 305 | chars); | 389 | chars, atomic); | 
| 306 | ops->unmap(pipe, buf); | 390 | ops->unmap(pipe, buf, addr); | 
| 307 | ret = error; | 391 | ret = error; | 
| 308 | do_wakeup = 1; | 392 | do_wakeup = 1; | 
| 309 | if (error) | 393 | if (error) { | 
| 394 | if (atomic) { | ||
| 395 | atomic = 0; | ||
| 396 | goto redo1; | ||
| 397 | } | ||
| 310 | goto out; | 398 | goto out; | 
| 399 | } | ||
| 311 | buf->len += chars; | 400 | buf->len += chars; | 
| 312 | total_len -= chars; | 401 | total_len -= chars; | 
| 313 | ret = chars; | 402 | ret = chars; | 
| @@ -330,7 +419,8 @@ pipe_writev(struct file *filp, const struct iovec *_iov, | |||
| 330 | int newbuf = (pipe->curbuf + bufs) & (PIPE_BUFFERS-1); | 419 | int newbuf = (pipe->curbuf + bufs) & (PIPE_BUFFERS-1); | 
| 331 | struct pipe_buffer *buf = pipe->bufs + newbuf; | 420 | struct pipe_buffer *buf = pipe->bufs + newbuf; | 
| 332 | struct page *page = pipe->tmp_page; | 421 | struct page *page = pipe->tmp_page; | 
| 333 | int error; | 422 | char *src; | 
| 423 | int error, atomic = 1; | ||
| 334 | 424 | ||
| 335 | if (!page) { | 425 | if (!page) { | 
| 336 | page = alloc_page(GFP_HIGHUSER); | 426 | page = alloc_page(GFP_HIGHUSER); | 
| @@ -350,11 +440,27 @@ pipe_writev(struct file *filp, const struct iovec *_iov, | |||
| 350 | if (chars > total_len) | 440 | if (chars > total_len) | 
| 351 | chars = total_len; | 441 | chars = total_len; | 
| 352 | 442 | ||
| 353 | error = pipe_iov_copy_from_user(kmap(page), iov, chars); | 443 | iov_fault_in_pages_read(iov, chars); | 
| 354 | kunmap(page); | 444 | redo2: | 
| 445 | if (atomic) | ||
| 446 | src = kmap_atomic(page, KM_USER0); | ||
| 447 | else | ||
| 448 | src = kmap(page); | ||
| 449 | |||
| 450 | error = pipe_iov_copy_from_user(src, iov, chars, | ||
| 451 | atomic); | ||
| 452 | if (atomic) | ||
| 453 | kunmap_atomic(src, KM_USER0); | ||
| 454 | else | ||
| 455 | kunmap(page); | ||
| 456 | |||
| 355 | if (unlikely(error)) { | 457 | if (unlikely(error)) { | 
| 458 | if (atomic) { | ||
| 459 | atomic = 0; | ||
| 460 | goto redo2; | ||
| 461 | } | ||
| 356 | if (!ret) | 462 | if (!ret) | 
| 357 | ret = -EFAULT; | 463 | ret = error; | 
| 358 | break; | 464 | break; | 
| 359 | } | 465 | } | 
| 360 | ret += chars; | 466 | ret += chars; | 
diff --git a/fs/splice.c b/fs/splice.c index 447ebc0a37f3..7fb04970c72d 100644 --- a/fs/splice.c +++ b/fs/splice.c  | |||
| @@ -78,7 +78,6 @@ static int page_cache_pipe_buf_steal(struct pipe_inode_info *info, | |||
| 78 | return 1; | 78 | return 1; | 
| 79 | } | 79 | } | 
| 80 | 80 | ||
| 81 | buf->flags |= PIPE_BUF_FLAG_STOLEN | PIPE_BUF_FLAG_LRU; | ||
| 82 | return 0; | 81 | return 0; | 
| 83 | } | 82 | } | 
| 84 | 83 | ||
| @@ -86,13 +85,10 @@ static void page_cache_pipe_buf_release(struct pipe_inode_info *info, | |||
| 86 | struct pipe_buffer *buf) | 85 | struct pipe_buffer *buf) | 
| 87 | { | 86 | { | 
| 88 | page_cache_release(buf->page); | 87 | page_cache_release(buf->page); | 
| 89 | buf->page = NULL; | ||
| 90 | buf->flags &= ~(PIPE_BUF_FLAG_STOLEN | PIPE_BUF_FLAG_LRU); | ||
| 91 | } | 88 | } | 
| 92 | 89 | ||
| 93 | static void *page_cache_pipe_buf_map(struct file *file, | 90 | static int page_cache_pipe_buf_pin(struct pipe_inode_info *info, | 
| 94 | struct pipe_inode_info *info, | 91 | struct pipe_buffer *buf) | 
| 95 | struct pipe_buffer *buf) | ||
| 96 | { | 92 | { | 
| 97 | struct page *page = buf->page; | 93 | struct page *page = buf->page; | 
| 98 | int err; | 94 | int err; | 
| @@ -118,64 +114,44 @@ static void *page_cache_pipe_buf_map(struct file *file, | |||
| 118 | } | 114 | } | 
| 119 | 115 | ||
| 120 | /* | 116 | /* | 
| 121 | * Page is ok afterall, fall through to mapping. | 117 | * Page is ok afterall, we are done. | 
| 122 | */ | 118 | */ | 
| 123 | unlock_page(page); | 119 | unlock_page(page); | 
| 124 | } | 120 | } | 
| 125 | 121 | ||
| 126 | return kmap(page); | 122 | return 0; | 
| 127 | error: | 123 | error: | 
| 128 | unlock_page(page); | 124 | unlock_page(page); | 
| 129 | return ERR_PTR(err); | 125 | return err; | 
| 130 | } | ||
| 131 | |||
| 132 | static void page_cache_pipe_buf_unmap(struct pipe_inode_info *info, | ||
| 133 | struct pipe_buffer *buf) | ||
| 134 | { | ||
| 135 | kunmap(buf->page); | ||
| 136 | } | ||
| 137 | |||
| 138 | static void *user_page_pipe_buf_map(struct file *file, | ||
| 139 | struct pipe_inode_info *pipe, | ||
| 140 | struct pipe_buffer *buf) | ||
| 141 | { | ||
| 142 | return kmap(buf->page); | ||
| 143 | } | ||
| 144 | |||
| 145 | static void user_page_pipe_buf_unmap(struct pipe_inode_info *pipe, | ||
| 146 | struct pipe_buffer *buf) | ||
| 147 | { | ||
| 148 | kunmap(buf->page); | ||
| 149 | } | ||
| 150 | |||
| 151 | static void page_cache_pipe_buf_get(struct pipe_inode_info *info, | ||
| 152 | struct pipe_buffer *buf) | ||
| 153 | { | ||
| 154 | page_cache_get(buf->page); | ||
| 155 | } | 126 | } | 
| 156 | 127 | ||
| 157 | static struct pipe_buf_operations page_cache_pipe_buf_ops = { | 128 | static struct pipe_buf_operations page_cache_pipe_buf_ops = { | 
| 158 | .can_merge = 0, | 129 | .can_merge = 0, | 
| 159 | .map = page_cache_pipe_buf_map, | 130 | .map = generic_pipe_buf_map, | 
| 160 | .unmap = page_cache_pipe_buf_unmap, | 131 | .unmap = generic_pipe_buf_unmap, | 
| 132 | .pin = page_cache_pipe_buf_pin, | ||
| 161 | .release = page_cache_pipe_buf_release, | 133 | .release = page_cache_pipe_buf_release, | 
| 162 | .steal = page_cache_pipe_buf_steal, | 134 | .steal = page_cache_pipe_buf_steal, | 
| 163 | .get = page_cache_pipe_buf_get, | 135 | .get = generic_pipe_buf_get, | 
| 164 | }; | 136 | }; | 
| 165 | 137 | ||
| 166 | static int user_page_pipe_buf_steal(struct pipe_inode_info *pipe, | 138 | static int user_page_pipe_buf_steal(struct pipe_inode_info *pipe, | 
| 167 | struct pipe_buffer *buf) | 139 | struct pipe_buffer *buf) | 
| 168 | { | 140 | { | 
| 169 | return 1; | 141 | if (!(buf->flags & PIPE_BUF_FLAG_GIFT)) | 
| 142 | return 1; | ||
| 143 | |||
| 144 | return generic_pipe_buf_steal(pipe, buf); | ||
| 170 | } | 145 | } | 
| 171 | 146 | ||
| 172 | static struct pipe_buf_operations user_page_pipe_buf_ops = { | 147 | static struct pipe_buf_operations user_page_pipe_buf_ops = { | 
| 173 | .can_merge = 0, | 148 | .can_merge = 0, | 
| 174 | .map = user_page_pipe_buf_map, | 149 | .map = generic_pipe_buf_map, | 
| 175 | .unmap = user_page_pipe_buf_unmap, | 150 | .unmap = generic_pipe_buf_unmap, | 
| 151 | .pin = generic_pipe_buf_pin, | ||
| 176 | .release = page_cache_pipe_buf_release, | 152 | .release = page_cache_pipe_buf_release, | 
| 177 | .steal = user_page_pipe_buf_steal, | 153 | .steal = user_page_pipe_buf_steal, | 
| 178 | .get = page_cache_pipe_buf_get, | 154 | .get = generic_pipe_buf_get, | 
| 179 | }; | 155 | }; | 
| 180 | 156 | ||
| 181 | /* | 157 | /* | 
| @@ -210,6 +186,9 @@ static ssize_t splice_to_pipe(struct pipe_inode_info *pipe, | |||
| 210 | buf->offset = spd->partial[page_nr].offset; | 186 | buf->offset = spd->partial[page_nr].offset; | 
| 211 | buf->len = spd->partial[page_nr].len; | 187 | buf->len = spd->partial[page_nr].len; | 
| 212 | buf->ops = spd->ops; | 188 | buf->ops = spd->ops; | 
| 189 | if (spd->flags & SPLICE_F_GIFT) | ||
| 190 | buf->flags |= PIPE_BUF_FLAG_GIFT; | ||
| 191 | |||
| 213 | pipe->nrbufs++; | 192 | pipe->nrbufs++; | 
| 214 | page_nr++; | 193 | page_nr++; | 
| 215 | ret += buf->len; | 194 | ret += buf->len; | 
| @@ -279,7 +258,7 @@ __generic_file_splice_read(struct file *in, loff_t *ppos, | |||
| 279 | pgoff_t index, end_index; | 258 | pgoff_t index, end_index; | 
| 280 | loff_t isize; | 259 | loff_t isize; | 
| 281 | size_t total_len; | 260 | size_t total_len; | 
| 282 | int error; | 261 | int error, page_nr; | 
| 283 | struct splice_pipe_desc spd = { | 262 | struct splice_pipe_desc spd = { | 
| 284 | .pages = pages, | 263 | .pages = pages, | 
| 285 | .partial = partial, | 264 | .partial = partial, | 
| @@ -299,47 +278,81 @@ __generic_file_splice_read(struct file *in, loff_t *ppos, | |||
| 299 | * read-ahead if this is a non-zero offset (we are likely doing small | 278 | * read-ahead if this is a non-zero offset (we are likely doing small | 
| 300 | * chunk splice and the page is already there) for a single page. | 279 | * chunk splice and the page is already there) for a single page. | 
| 301 | */ | 280 | */ | 
| 302 | if (!loff || spd.nr_pages > 1) | 281 | if (!loff || nr_pages > 1) | 
| 303 | do_page_cache_readahead(mapping, in, index, spd.nr_pages); | 282 | page_cache_readahead(mapping, &in->f_ra, in, index, nr_pages); | 
| 304 | 283 | ||
| 305 | /* | 284 | /* | 
| 306 | * Now fill in the holes: | 285 | * Now fill in the holes: | 
| 307 | */ | 286 | */ | 
| 308 | error = 0; | 287 | error = 0; | 
| 309 | total_len = 0; | 288 | total_len = 0; | 
| 310 | for (spd.nr_pages = 0; spd.nr_pages < nr_pages; spd.nr_pages++, index++) { | ||
| 311 | unsigned int this_len; | ||
| 312 | 289 | ||
| 313 | if (!len) | 290 | /* | 
| 314 | break; | 291 | * Lookup the (hopefully) full range of pages we need. | 
| 292 | */ | ||
| 293 | spd.nr_pages = find_get_pages_contig(mapping, index, nr_pages, pages); | ||
| 315 | 294 | ||
| 295 | /* | ||
| 296 | * If find_get_pages_contig() returned fewer pages than we needed, | ||
| 297 | * allocate the rest. | ||
| 298 | */ | ||
| 299 | index += spd.nr_pages; | ||
| 300 | while (spd.nr_pages < nr_pages) { | ||
| 316 | /* | 301 | /* | 
| 317 | * this_len is the max we'll use from this page | 302 | * Page could be there, find_get_pages_contig() breaks on | 
| 318 | */ | 303 | * the first hole. | 
| 319 | this_len = min_t(unsigned long, len, PAGE_CACHE_SIZE - loff); | ||
| 320 | find_page: | ||
| 321 | /* | ||
| 322 | * lookup the page for this index | ||
| 323 | */ | 304 | */ | 
| 324 | page = find_get_page(mapping, index); | 305 | page = find_get_page(mapping, index); | 
| 325 | if (!page) { | 306 | if (!page) { | 
| 326 | /* | 307 | /* | 
| 327 | * page didn't exist, allocate one | 308 | * Make sure the read-ahead engine is notified | 
| 309 | * about this failure. | ||
| 310 | */ | ||
| 311 | handle_ra_miss(mapping, &in->f_ra, index); | ||
| 312 | |||
| 313 | /* | ||
| 314 | * page didn't exist, allocate one. | ||
| 328 | */ | 315 | */ | 
| 329 | page = page_cache_alloc_cold(mapping); | 316 | page = page_cache_alloc_cold(mapping); | 
| 330 | if (!page) | 317 | if (!page) | 
| 331 | break; | 318 | break; | 
| 332 | 319 | ||
| 333 | error = add_to_page_cache_lru(page, mapping, index, | 320 | error = add_to_page_cache_lru(page, mapping, index, | 
| 334 | mapping_gfp_mask(mapping)); | 321 | mapping_gfp_mask(mapping)); | 
| 335 | if (unlikely(error)) { | 322 | if (unlikely(error)) { | 
| 336 | page_cache_release(page); | 323 | page_cache_release(page); | 
| 337 | break; | 324 | break; | 
| 338 | } | 325 | } | 
| 339 | 326 | /* | |
| 340 | goto readpage; | 327 | * add_to_page_cache() locks the page, unlock it | 
| 328 | * to avoid convoluting the logic below even more. | ||
| 329 | */ | ||
| 330 | unlock_page(page); | ||
| 341 | } | 331 | } | 
| 342 | 332 | ||
| 333 | pages[spd.nr_pages++] = page; | ||
| 334 | index++; | ||
| 335 | } | ||
| 336 | |||
| 337 | /* | ||
| 338 | * Now loop over the map and see if we need to start IO on any | ||
| 339 | * pages, fill in the partial map, etc. | ||
| 340 | */ | ||
| 341 | index = *ppos >> PAGE_CACHE_SHIFT; | ||
| 342 | nr_pages = spd.nr_pages; | ||
| 343 | spd.nr_pages = 0; | ||
| 344 | for (page_nr = 0; page_nr < nr_pages; page_nr++) { | ||
| 345 | unsigned int this_len; | ||
| 346 | |||
| 347 | if (!len) | ||
| 348 | break; | ||
| 349 | |||
| 350 | /* | ||
| 351 | * this_len is the max we'll use from this page | ||
| 352 | */ | ||
| 353 | this_len = min_t(unsigned long, len, PAGE_CACHE_SIZE - loff); | ||
| 354 | page = pages[page_nr]; | ||
| 355 | |||
| 343 | /* | 356 | /* | 
| 344 | * If the page isn't uptodate, we may need to start io on it | 357 | * If the page isn't uptodate, we may need to start io on it | 
| 345 | */ | 358 | */ | 
| @@ -360,7 +373,6 @@ find_page: | |||
| 360 | */ | 373 | */ | 
| 361 | if (!page->mapping) { | 374 | if (!page->mapping) { | 
| 362 | unlock_page(page); | 375 | unlock_page(page); | 
| 363 | page_cache_release(page); | ||
| 364 | break; | 376 | break; | 
| 365 | } | 377 | } | 
| 366 | /* | 378 | /* | 
| @@ -371,16 +383,20 @@ find_page: | |||
| 371 | goto fill_it; | 383 | goto fill_it; | 
| 372 | } | 384 | } | 
| 373 | 385 | ||
| 374 | readpage: | ||
| 375 | /* | 386 | /* | 
| 376 | * need to read in the page | 387 | * need to read in the page | 
| 377 | */ | 388 | */ | 
| 378 | error = mapping->a_ops->readpage(in, page); | 389 | error = mapping->a_ops->readpage(in, page); | 
| 379 | |||
| 380 | if (unlikely(error)) { | 390 | if (unlikely(error)) { | 
| 381 | page_cache_release(page); | 391 | /* | 
| 392 | * We really should re-lookup the page here, | ||
| 393 | * but it complicates things a lot. Instead | ||
| 394 | * lets just do what we already stored, and | ||
| 395 | * we'll get it the next time we are called. | ||
| 396 | */ | ||
| 382 | if (error == AOP_TRUNCATED_PAGE) | 397 | if (error == AOP_TRUNCATED_PAGE) | 
| 383 | goto find_page; | 398 | error = 0; | 
| 399 | |||
| 384 | break; | 400 | break; | 
| 385 | } | 401 | } | 
| 386 | 402 | ||
| @@ -389,10 +405,8 @@ readpage: | |||
| 389 | */ | 405 | */ | 
| 390 | isize = i_size_read(mapping->host); | 406 | isize = i_size_read(mapping->host); | 
| 391 | end_index = (isize - 1) >> PAGE_CACHE_SHIFT; | 407 | end_index = (isize - 1) >> PAGE_CACHE_SHIFT; | 
| 392 | if (unlikely(!isize || index > end_index)) { | 408 | if (unlikely(!isize || index > end_index)) | 
| 393 | page_cache_release(page); | ||
| 394 | break; | 409 | break; | 
| 395 | } | ||
| 396 | 410 | ||
| 397 | /* | 411 | /* | 
| 398 | * if this is the last page, see if we need to shrink | 412 | * if this is the last page, see if we need to shrink | 
| @@ -400,27 +414,33 @@ readpage: | |||
| 400 | */ | 414 | */ | 
| 401 | if (end_index == index) { | 415 | if (end_index == index) { | 
| 402 | loff = PAGE_CACHE_SIZE - (isize & ~PAGE_CACHE_MASK); | 416 | loff = PAGE_CACHE_SIZE - (isize & ~PAGE_CACHE_MASK); | 
| 403 | if (total_len + loff > isize) { | 417 | if (total_len + loff > isize) | 
| 404 | page_cache_release(page); | ||
| 405 | break; | 418 | break; | 
| 406 | } | ||
| 407 | /* | 419 | /* | 
| 408 | * force quit after adding this page | 420 | * force quit after adding this page | 
| 409 | */ | 421 | */ | 
| 410 | nr_pages = spd.nr_pages; | 422 | len = this_len; | 
| 411 | this_len = min(this_len, loff); | 423 | this_len = min(this_len, loff); | 
| 412 | loff = 0; | 424 | loff = 0; | 
| 413 | } | 425 | } | 
| 414 | } | 426 | } | 
| 415 | fill_it: | 427 | fill_it: | 
| 416 | pages[spd.nr_pages] = page; | 428 | partial[page_nr].offset = loff; | 
| 417 | partial[spd.nr_pages].offset = loff; | 429 | partial[page_nr].len = this_len; | 
| 418 | partial[spd.nr_pages].len = this_len; | ||
| 419 | len -= this_len; | 430 | len -= this_len; | 
| 420 | total_len += this_len; | 431 | total_len += this_len; | 
| 421 | loff = 0; | 432 | loff = 0; | 
| 433 | spd.nr_pages++; | ||
| 434 | index++; | ||
| 422 | } | 435 | } | 
| 423 | 436 | ||
| 437 | /* | ||
| 438 | * Release any pages at the end, if we quit early. 'i' is how far | ||
| 439 | * we got, 'nr_pages' is how many pages are in the map. | ||
| 440 | */ | ||
| 441 | while (page_nr < nr_pages) | ||
| 442 | page_cache_release(pages[page_nr++]); | ||
| 443 | |||
| 424 | if (spd.nr_pages) | 444 | if (spd.nr_pages) | 
| 425 | return splice_to_pipe(pipe, &spd); | 445 | return splice_to_pipe(pipe, &spd); | 
| 426 | 446 | ||
| @@ -482,26 +502,16 @@ static int pipe_to_sendpage(struct pipe_inode_info *info, | |||
| 482 | { | 502 | { | 
| 483 | struct file *file = sd->file; | 503 | struct file *file = sd->file; | 
| 484 | loff_t pos = sd->pos; | 504 | loff_t pos = sd->pos; | 
| 485 | ssize_t ret; | 505 | int ret, more; | 
| 486 | void *ptr; | ||
| 487 | int more; | ||
| 488 | |||
| 489 | /* | ||
| 490 | * Sub-optimal, but we are limited by the pipe ->map. We don't | ||
| 491 | * need a kmap'ed buffer here, we just want to make sure we | ||
| 492 | * have the page pinned if the pipe page originates from the | ||
| 493 | * page cache. | ||
| 494 | */ | ||
| 495 | ptr = buf->ops->map(file, info, buf); | ||
| 496 | if (IS_ERR(ptr)) | ||
| 497 | return PTR_ERR(ptr); | ||
| 498 | 506 | ||
| 499 | more = (sd->flags & SPLICE_F_MORE) || sd->len < sd->total_len; | 507 | ret = buf->ops->pin(info, buf); | 
| 508 | if (!ret) { | ||
| 509 | more = (sd->flags & SPLICE_F_MORE) || sd->len < sd->total_len; | ||
| 500 | 510 | ||
| 501 | ret = file->f_op->sendpage(file, buf->page, buf->offset, sd->len, | 511 | ret = file->f_op->sendpage(file, buf->page, buf->offset, | 
| 502 | &pos, more); | 512 | sd->len, &pos, more); | 
| 513 | } | ||
| 503 | 514 | ||
| 504 | buf->ops->unmap(info, buf); | ||
| 505 | return ret; | 515 | return ret; | 
| 506 | } | 516 | } | 
| 507 | 517 | ||
| @@ -534,15 +544,14 @@ static int pipe_to_file(struct pipe_inode_info *info, struct pipe_buffer *buf, | |||
| 534 | unsigned int offset, this_len; | 544 | unsigned int offset, this_len; | 
| 535 | struct page *page; | 545 | struct page *page; | 
| 536 | pgoff_t index; | 546 | pgoff_t index; | 
| 537 | char *src; | ||
| 538 | int ret; | 547 | int ret; | 
| 539 | 548 | ||
| 540 | /* | 549 | /* | 
| 541 | * make sure the data in this buffer is uptodate | 550 | * make sure the data in this buffer is uptodate | 
| 542 | */ | 551 | */ | 
| 543 | src = buf->ops->map(file, info, buf); | 552 | ret = buf->ops->pin(info, buf); | 
| 544 | if (IS_ERR(src)) | 553 | if (unlikely(ret)) | 
| 545 | return PTR_ERR(src); | 554 | return ret; | 
| 546 | 555 | ||
| 547 | index = sd->pos >> PAGE_CACHE_SHIFT; | 556 | index = sd->pos >> PAGE_CACHE_SHIFT; | 
| 548 | offset = sd->pos & ~PAGE_CACHE_MASK; | 557 | offset = sd->pos & ~PAGE_CACHE_MASK; | 
| @@ -552,23 +561,42 @@ static int pipe_to_file(struct pipe_inode_info *info, struct pipe_buffer *buf, | |||
| 552 | this_len = PAGE_CACHE_SIZE - offset; | 561 | this_len = PAGE_CACHE_SIZE - offset; | 
| 553 | 562 | ||
| 554 | /* | 563 | /* | 
| 555 | * Reuse buf page, if SPLICE_F_MOVE is set. | 564 | * Reuse buf page, if SPLICE_F_MOVE is set and we are doing a full | 
| 565 | * page. | ||
| 556 | */ | 566 | */ | 
| 557 | if (sd->flags & SPLICE_F_MOVE) { | 567 | if ((sd->flags & SPLICE_F_MOVE) && this_len == PAGE_CACHE_SIZE) { | 
| 558 | /* | 568 | /* | 
| 559 | * If steal succeeds, buf->page is now pruned from the vm | 569 | * If steal succeeds, buf->page is now pruned from the vm | 
| 560 | * side (LRU and page cache) and we can reuse it. The page | 570 | * side (page cache) and we can reuse it. The page will also | 
| 561 | * will also be looked on successful return. | 571 | * be locked on successful return. | 
| 562 | */ | 572 | */ | 
| 563 | if (buf->ops->steal(info, buf)) | 573 | if (buf->ops->steal(info, buf)) | 
| 564 | goto find_page; | 574 | goto find_page; | 
| 565 | 575 | ||
| 566 | page = buf->page; | 576 | page = buf->page; | 
| 567 | if (add_to_page_cache(page, mapping, index, gfp_mask)) | 577 | page_cache_get(page); | 
| 568 | goto find_page; | 578 | |
| 579 | /* | ||
| 580 | * page must be on the LRU for adding to the pagecache. | ||
| 581 | * Check this without grabbing the zone lock, if it isn't | ||
| 582 | * the do grab the zone lock, recheck, and add if necessary. | ||
| 583 | */ | ||
| 584 | if (!PageLRU(page)) { | ||
| 585 | struct zone *zone = page_zone(page); | ||
| 586 | |||
| 587 | spin_lock_irq(&zone->lru_lock); | ||
| 588 | if (!PageLRU(page)) { | ||
| 589 | SetPageLRU(page); | ||
| 590 | add_page_to_inactive_list(zone, page); | ||
| 591 | } | ||
| 592 | spin_unlock_irq(&zone->lru_lock); | ||
| 593 | } | ||
| 569 | 594 | ||
| 570 | if (!(buf->flags & PIPE_BUF_FLAG_LRU)) | 595 | if (add_to_page_cache(page, mapping, index, gfp_mask)) { | 
| 571 | lru_cache_add(page); | 596 | page_cache_release(page); | 
| 597 | unlock_page(page); | ||
| 598 | goto find_page; | ||
| 599 | } | ||
| 572 | } else { | 600 | } else { | 
| 573 | find_page: | 601 | find_page: | 
| 574 | page = find_lock_page(mapping, index); | 602 | page = find_lock_page(mapping, index); | 
| @@ -625,34 +653,36 @@ find_page: | |||
| 625 | } else if (ret) | 653 | } else if (ret) | 
| 626 | goto out; | 654 | goto out; | 
| 627 | 655 | ||
| 628 | if (!(buf->flags & PIPE_BUF_FLAG_STOLEN)) { | 656 | if (buf->page != page) { | 
| 629 | char *dst = kmap_atomic(page, KM_USER0); | 657 | /* | 
| 658 | * Careful, ->map() uses KM_USER0! | ||
| 659 | */ | ||
| 660 | char *src = buf->ops->map(info, buf, 1); | ||
| 661 | char *dst = kmap_atomic(page, KM_USER1); | ||
| 630 | 662 | ||
| 631 | memcpy(dst + offset, src + buf->offset, this_len); | 663 | memcpy(dst + offset, src + buf->offset, this_len); | 
| 632 | flush_dcache_page(page); | 664 | flush_dcache_page(page); | 
| 633 | kunmap_atomic(dst, KM_USER0); | 665 | kunmap_atomic(dst, KM_USER1); | 
| 666 | buf->ops->unmap(info, buf, src); | ||
| 634 | } | 667 | } | 
| 635 | 668 | ||
| 636 | ret = mapping->a_ops->commit_write(file, page, offset, offset+this_len); | 669 | ret = mapping->a_ops->commit_write(file, page, offset, offset+this_len); | 
| 637 | if (ret == AOP_TRUNCATED_PAGE) { | 670 | if (!ret) { | 
| 671 | /* | ||
| 672 | * Return the number of bytes written and mark page as | ||
| 673 | * accessed, we are now done! | ||
| 674 | */ | ||
| 675 | ret = this_len; | ||
| 676 | mark_page_accessed(page); | ||
| 677 | balance_dirty_pages_ratelimited(mapping); | ||
| 678 | } else if (ret == AOP_TRUNCATED_PAGE) { | ||
| 638 | page_cache_release(page); | 679 | page_cache_release(page); | 
| 639 | goto find_page; | 680 | goto find_page; | 
| 640 | } else if (ret) | 681 | } | 
| 641 | goto out; | ||
| 642 | |||
| 643 | /* | ||
| 644 | * Return the number of bytes written. | ||
| 645 | */ | ||
| 646 | ret = this_len; | ||
| 647 | mark_page_accessed(page); | ||
| 648 | balance_dirty_pages_ratelimited(mapping); | ||
| 649 | out: | 682 | out: | 
| 650 | if (!(buf->flags & PIPE_BUF_FLAG_STOLEN)) | 683 | page_cache_release(page); | 
| 651 | page_cache_release(page); | ||
| 652 | |||
| 653 | unlock_page(page); | 684 | unlock_page(page); | 
| 654 | out_nomem: | 685 | out_nomem: | 
| 655 | buf->ops->unmap(info, buf); | ||
| 656 | return ret; | 686 | return ret; | 
| 657 | } | 687 | } | 
| 658 | 688 | ||
| @@ -1060,7 +1090,7 @@ static long do_splice(struct file *in, loff_t __user *off_in, | |||
| 1060 | */ | 1090 | */ | 
| 1061 | static int get_iovec_page_array(const struct iovec __user *iov, | 1091 | static int get_iovec_page_array(const struct iovec __user *iov, | 
| 1062 | unsigned int nr_vecs, struct page **pages, | 1092 | unsigned int nr_vecs, struct page **pages, | 
| 1063 | struct partial_page *partial) | 1093 | struct partial_page *partial, int aligned) | 
| 1064 | { | 1094 | { | 
| 1065 | int buffers = 0, error = 0; | 1095 | int buffers = 0, error = 0; | 
| 1066 | 1096 | ||
| @@ -1100,6 +1130,15 @@ static int get_iovec_page_array(const struct iovec __user *iov, | |||
| 1100 | * in the user pages. | 1130 | * in the user pages. | 
| 1101 | */ | 1131 | */ | 
| 1102 | off = (unsigned long) base & ~PAGE_MASK; | 1132 | off = (unsigned long) base & ~PAGE_MASK; | 
| 1133 | |||
| 1134 | /* | ||
| 1135 | * If asked for alignment, the offset must be zero and the | ||
| 1136 | * length a multiple of the PAGE_SIZE. | ||
| 1137 | */ | ||
| 1138 | error = -EINVAL; | ||
| 1139 | if (aligned && (off || len & ~PAGE_MASK)) | ||
| 1140 | break; | ||
| 1141 | |||
| 1103 | npages = (off + len + PAGE_SIZE - 1) >> PAGE_SHIFT; | 1142 | npages = (off + len + PAGE_SIZE - 1) >> PAGE_SHIFT; | 
| 1104 | if (npages > PIPE_BUFFERS - buffers) | 1143 | if (npages > PIPE_BUFFERS - buffers) | 
| 1105 | npages = PIPE_BUFFERS - buffers; | 1144 | npages = PIPE_BUFFERS - buffers; | 
| @@ -1115,7 +1154,7 @@ static int get_iovec_page_array(const struct iovec __user *iov, | |||
| 1115 | * Fill this contiguous range into the partial page map. | 1154 | * Fill this contiguous range into the partial page map. | 
| 1116 | */ | 1155 | */ | 
| 1117 | for (i = 0; i < error; i++) { | 1156 | for (i = 0; i < error; i++) { | 
| 1118 | const int plen = min_t(size_t, len, PAGE_SIZE) - off; | 1157 | const int plen = min_t(size_t, len, PAGE_SIZE - off); | 
| 1119 | 1158 | ||
| 1120 | partial[buffers].offset = off; | 1159 | partial[buffers].offset = off; | 
| 1121 | partial[buffers].len = plen; | 1160 | partial[buffers].len = plen; | 
| @@ -1193,7 +1232,8 @@ static long do_vmsplice(struct file *file, const struct iovec __user *iov, | |||
| 1193 | else if (unlikely(!nr_segs)) | 1232 | else if (unlikely(!nr_segs)) | 
| 1194 | return 0; | 1233 | return 0; | 
| 1195 | 1234 | ||
| 1196 | spd.nr_pages = get_iovec_page_array(iov, nr_segs, pages, partial); | 1235 | spd.nr_pages = get_iovec_page_array(iov, nr_segs, pages, partial, | 
| 1236 | flags & SPLICE_F_GIFT); | ||
| 1197 | if (spd.nr_pages <= 0) | 1237 | if (spd.nr_pages <= 0) | 
| 1198 | return spd.nr_pages; | 1238 | return spd.nr_pages; | 
| 1199 | 1239 | ||
| @@ -1301,6 +1341,12 @@ static int link_pipe(struct pipe_inode_info *ipipe, | |||
| 1301 | obuf = opipe->bufs + nbuf; | 1341 | obuf = opipe->bufs + nbuf; | 
| 1302 | *obuf = *ibuf; | 1342 | *obuf = *ibuf; | 
| 1303 | 1343 | ||
| 1344 | /* | ||
| 1345 | * Don't inherit the gift flag, we need to | ||
| 1346 | * prevent multiple steals of this page. | ||
| 1347 | */ | ||
| 1348 | obuf->flags &= ~PIPE_BUF_FLAG_GIFT; | ||
| 1349 | |||
| 1304 | if (obuf->len > len) | 1350 | if (obuf->len > len) | 
| 1305 | obuf->len = len; | 1351 | obuf->len = len; | 
| 1306 | 1352 | ||
| @@ -261,7 +261,7 @@ asmlinkage long sys_newlstat(char __user *filename, struct stat __user *statbuf) | |||
| 261 | return error; | 261 | return error; | 
| 262 | } | 262 | } | 
| 263 | 263 | ||
| 264 | #ifndef __ARCH_WANT_STAT64 | 264 | #if !defined(__ARCH_WANT_STAT64) || defined(__ARCH_WANT_SYS_NEWFSTATAT) | 
| 265 | asmlinkage long sys_newfstatat(int dfd, char __user *filename, | 265 | asmlinkage long sys_newfstatat(int dfd, char __user *filename, | 
| 266 | struct stat __user *statbuf, int flag) | 266 | struct stat __user *statbuf, int flag) | 
| 267 | { | 267 | { | 
diff --git a/include/asm-i386/i387.h b/include/asm-i386/i387.h index 7b1f01191e70..bc1d6edae1ed 100644 --- a/include/asm-i386/i387.h +++ b/include/asm-i386/i387.h  | |||
| @@ -58,13 +58,13 @@ static inline void __save_init_fpu( struct task_struct *tsk ) | |||
| 58 | alternative_input( | 58 | alternative_input( | 
| 59 | "fnsave %[fx] ;fwait;" GENERIC_NOP8 GENERIC_NOP4, | 59 | "fnsave %[fx] ;fwait;" GENERIC_NOP8 GENERIC_NOP4, | 
| 60 | "fxsave %[fx]\n" | 60 | "fxsave %[fx]\n" | 
| 61 | "bt $7,%[fsw] ; jc 1f ; fnclex\n1:", | 61 | "bt $7,%[fsw] ; jnc 1f ; fnclex\n1:", | 
| 62 | X86_FEATURE_FXSR, | 62 | X86_FEATURE_FXSR, | 
| 63 | [fx] "m" (tsk->thread.i387.fxsave), | 63 | [fx] "m" (tsk->thread.i387.fxsave), | 
| 64 | [fsw] "m" (tsk->thread.i387.fxsave.swd) : "memory"); | 64 | [fsw] "m" (tsk->thread.i387.fxsave.swd) : "memory"); | 
| 65 | /* AMD K7/K8 CPUs don't save/restore FDP/FIP/FOP unless an exception | 65 | /* AMD K7/K8 CPUs don't save/restore FDP/FIP/FOP unless an exception | 
| 66 | is pending. Clear the x87 state here by setting it to fixed | 66 | is pending. Clear the x87 state here by setting it to fixed | 
| 67 | values. __per_cpu_offset[0] is a random variable that should be in L1 */ | 67 | values. safe_address is a random variable that should be in L1 */ | 
| 68 | alternative_input( | 68 | alternative_input( | 
| 69 | GENERIC_NOP8 GENERIC_NOP2, | 69 | GENERIC_NOP8 GENERIC_NOP2, | 
| 70 | "emms\n\t" /* clear stack tags */ | 70 | "emms\n\t" /* clear stack tags */ | 
diff --git a/include/asm-i386/pgtable-2level.h b/include/asm-i386/pgtable-2level.h index 27bde973abc7..2756d4b04c27 100644 --- a/include/asm-i386/pgtable-2level.h +++ b/include/asm-i386/pgtable-2level.h  | |||
| @@ -18,6 +18,9 @@ | |||
| 18 | #define set_pte_atomic(pteptr, pteval) set_pte(pteptr,pteval) | 18 | #define set_pte_atomic(pteptr, pteval) set_pte(pteptr,pteval) | 
| 19 | #define set_pmd(pmdptr, pmdval) (*(pmdptr) = (pmdval)) | 19 | #define set_pmd(pmdptr, pmdval) (*(pmdptr) = (pmdval)) | 
| 20 | 20 | ||
| 21 | #define pte_clear(mm,addr,xp) do { set_pte_at(mm, addr, xp, __pte(0)); } while (0) | ||
| 22 | #define pmd_clear(xp) do { set_pmd(xp, __pmd(0)); } while (0) | ||
| 23 | |||
| 21 | #define ptep_get_and_clear(mm,addr,xp) __pte(xchg(&(xp)->pte_low, 0)) | 24 | #define ptep_get_and_clear(mm,addr,xp) __pte(xchg(&(xp)->pte_low, 0)) | 
| 22 | #define pte_same(a, b) ((a).pte_low == (b).pte_low) | 25 | #define pte_same(a, b) ((a).pte_low == (b).pte_low) | 
| 23 | #define pte_page(x) pfn_to_page(pte_pfn(x)) | 26 | #define pte_page(x) pfn_to_page(pte_pfn(x)) | 
diff --git a/include/asm-i386/pgtable-3level.h b/include/asm-i386/pgtable-3level.h index 36a5aa63cbbf..dccb1b3337ad 100644 --- a/include/asm-i386/pgtable-3level.h +++ b/include/asm-i386/pgtable-3level.h  | |||
| @@ -85,6 +85,26 @@ static inline void pud_clear (pud_t * pud) { } | |||
| 85 | #define pmd_offset(pud, address) ((pmd_t *) pud_page(*(pud)) + \ | 85 | #define pmd_offset(pud, address) ((pmd_t *) pud_page(*(pud)) + \ | 
| 86 | pmd_index(address)) | 86 | pmd_index(address)) | 
| 87 | 87 | ||
| 88 | /* | ||
| 89 | * For PTEs and PDEs, we must clear the P-bit first when clearing a page table | ||
| 90 | * entry, so clear the bottom half first and enforce ordering with a compiler | ||
| 91 | * barrier. | ||
| 92 | */ | ||
| 93 | static inline void pte_clear(struct mm_struct *mm, unsigned long addr, pte_t *ptep) | ||
| 94 | { | ||
| 95 | ptep->pte_low = 0; | ||
| 96 | smp_wmb(); | ||
| 97 | ptep->pte_high = 0; | ||
| 98 | } | ||
| 99 | |||
| 100 | static inline void pmd_clear(pmd_t *pmd) | ||
| 101 | { | ||
| 102 | u32 *tmp = (u32 *)pmd; | ||
| 103 | *tmp = 0; | ||
| 104 | smp_wmb(); | ||
| 105 | *(tmp + 1) = 0; | ||
| 106 | } | ||
| 107 | |||
| 88 | static inline pte_t ptep_get_and_clear(struct mm_struct *mm, unsigned long addr, pte_t *ptep) | 108 | static inline pte_t ptep_get_and_clear(struct mm_struct *mm, unsigned long addr, pte_t *ptep) | 
| 89 | { | 109 | { | 
| 90 | pte_t res; | 110 | pte_t res; | 
diff --git a/include/asm-i386/pgtable.h b/include/asm-i386/pgtable.h index ee056c41a9fb..672c3f76b9df 100644 --- a/include/asm-i386/pgtable.h +++ b/include/asm-i386/pgtable.h  | |||
| @@ -204,12 +204,10 @@ extern unsigned long long __PAGE_KERNEL, __PAGE_KERNEL_EXEC; | |||
| 204 | extern unsigned long pg0[]; | 204 | extern unsigned long pg0[]; | 
| 205 | 205 | ||
| 206 | #define pte_present(x) ((x).pte_low & (_PAGE_PRESENT | _PAGE_PROTNONE)) | 206 | #define pte_present(x) ((x).pte_low & (_PAGE_PRESENT | _PAGE_PROTNONE)) | 
| 207 | #define pte_clear(mm,addr,xp) do { set_pte_at(mm, addr, xp, __pte(0)); } while (0) | ||
| 208 | 207 | ||
| 209 | /* To avoid harmful races, pmd_none(x) should check only the lower when PAE */ | 208 | /* To avoid harmful races, pmd_none(x) should check only the lower when PAE */ | 
| 210 | #define pmd_none(x) (!(unsigned long)pmd_val(x)) | 209 | #define pmd_none(x) (!(unsigned long)pmd_val(x)) | 
| 211 | #define pmd_present(x) (pmd_val(x) & _PAGE_PRESENT) | 210 | #define pmd_present(x) (pmd_val(x) & _PAGE_PRESENT) | 
| 212 | #define pmd_clear(xp) do { set_pmd(xp, __pmd(0)); } while (0) | ||
| 213 | #define pmd_bad(x) ((pmd_val(x) & (~PAGE_MASK & ~_PAGE_USER)) != _KERNPG_TABLE) | 211 | #define pmd_bad(x) ((pmd_val(x) & (~PAGE_MASK & ~_PAGE_USER)) != _KERNPG_TABLE) | 
| 214 | 212 | ||
| 215 | 213 | ||
| @@ -268,7 +266,7 @@ static inline pte_t ptep_get_and_clear_full(struct mm_struct *mm, unsigned long | |||
| 268 | pte_t pte; | 266 | pte_t pte; | 
| 269 | if (full) { | 267 | if (full) { | 
| 270 | pte = *ptep; | 268 | pte = *ptep; | 
| 271 | *ptep = __pte(0); | 269 | pte_clear(mm, addr, ptep); | 
| 272 | } else { | 270 | } else { | 
| 273 | pte = ptep_get_and_clear(mm, addr, ptep); | 271 | pte = ptep_get_and_clear(mm, addr, ptep); | 
| 274 | } | 272 | } | 
diff --git a/include/asm-ia64/acpi.h b/include/asm-ia64/acpi.h index d734585a23cf..09a5dd0e44a8 100644 --- a/include/asm-ia64/acpi.h +++ b/include/asm-ia64/acpi.h  | |||
| @@ -110,9 +110,8 @@ extern void prefill_possible_map(void); | |||
| 110 | extern int additional_cpus; | 110 | extern int additional_cpus; | 
| 111 | 111 | ||
| 112 | #ifdef CONFIG_ACPI_NUMA | 112 | #ifdef CONFIG_ACPI_NUMA | 
| 113 | /* Proximity bitmap length; _PXM is at most 255 (8 bit)*/ | 113 | #if MAX_NUMNODES > 256 | 
| 114 | #ifdef CONFIG_IA64_NR_NODES | 114 | #define MAX_PXM_DOMAINS MAX_NUMNODES | 
| 115 | #define MAX_PXM_DOMAINS CONFIG_IA64_NR_NODES | ||
| 116 | #else | 115 | #else | 
| 117 | #define MAX_PXM_DOMAINS (256) | 116 | #define MAX_PXM_DOMAINS (256) | 
| 118 | #endif | 117 | #endif | 
diff --git a/include/asm-ia64/machvec.h b/include/asm-ia64/machvec.h index c3e4ed8a3e17..a9c995a86c21 100644 --- a/include/asm-ia64/machvec.h +++ b/include/asm-ia64/machvec.h  | |||
| @@ -347,9 +347,11 @@ extern ia64_mv_dma_supported swiotlb_dma_supported; | |||
| 347 | #endif | 347 | #endif | 
| 348 | #ifndef platform_pci_legacy_read | 348 | #ifndef platform_pci_legacy_read | 
| 349 | # define platform_pci_legacy_read ia64_pci_legacy_read | 349 | # define platform_pci_legacy_read ia64_pci_legacy_read | 
| 350 | extern int ia64_pci_legacy_read(struct pci_bus *bus, u16 port, u32 *val, u8 size); | ||
| 350 | #endif | 351 | #endif | 
| 351 | #ifndef platform_pci_legacy_write | 352 | #ifndef platform_pci_legacy_write | 
| 352 | # define platform_pci_legacy_write ia64_pci_legacy_write | 353 | # define platform_pci_legacy_write ia64_pci_legacy_write | 
| 354 | extern int ia64_pci_legacy_write(struct pci_bus *bus, u16 port, u32 val, u8 size); | ||
| 353 | #endif | 355 | #endif | 
| 354 | #ifndef platform_inb | 356 | #ifndef platform_inb | 
| 355 | # define platform_inb __ia64_inb | 357 | # define platform_inb __ia64_inb | 
diff --git a/include/asm-ia64/sn/sn2/sn_hwperf.h b/include/asm-ia64/sn/sn2/sn_hwperf.h index 291ef3d69da2..e61ebac38cdd 100644 --- a/include/asm-ia64/sn/sn2/sn_hwperf.h +++ b/include/asm-ia64/sn/sn2/sn_hwperf.h  | |||
| @@ -45,8 +45,12 @@ struct sn_hwperf_object_info { | |||
| 45 | #define SN_HWPERF_IS_NODE(x) ((x) && strstr((x)->name, "SHub")) | 45 | #define SN_HWPERF_IS_NODE(x) ((x) && strstr((x)->name, "SHub")) | 
| 46 | #define SN_HWPERF_IS_NODE_SHUB2(x) ((x) && strstr((x)->name, "SHub 2.")) | 46 | #define SN_HWPERF_IS_NODE_SHUB2(x) ((x) && strstr((x)->name, "SHub 2.")) | 
| 47 | #define SN_HWPERF_IS_IONODE(x) ((x) && strstr((x)->name, "TIO")) | 47 | #define SN_HWPERF_IS_IONODE(x) ((x) && strstr((x)->name, "TIO")) | 
| 48 | #define SN_HWPERF_IS_ROUTER(x) ((x) && strstr((x)->name, "Router")) | ||
| 49 | #define SN_HWPERF_IS_NL3ROUTER(x) ((x) && strstr((x)->name, "NL3Router")) | 48 | #define SN_HWPERF_IS_NL3ROUTER(x) ((x) && strstr((x)->name, "NL3Router")) | 
| 49 | #define SN_HWPERF_IS_NL4ROUTER(x) ((x) && strstr((x)->name, "NL4Router")) | ||
| 50 | #define SN_HWPERF_IS_OLDROUTER(x) ((x) && strstr((x)->name, "Router")) | ||
| 51 | #define SN_HWPERF_IS_ROUTER(x) (SN_HWPERF_IS_NL3ROUTER(x) || \ | ||
| 52 | SN_HWPERF_IS_NL4ROUTER(x) || \ | ||
| 53 | SN_HWPERF_IS_OLDROUTER(x)) | ||
| 50 | #define SN_HWPERF_FOREIGN(x) ((x) && !(x)->sn_hwp_this_part && !(x)->sn_hwp_is_shared) | 54 | #define SN_HWPERF_FOREIGN(x) ((x) && !(x)->sn_hwp_this_part && !(x)->sn_hwp_is_shared) | 
| 51 | #define SN_HWPERF_SAME_OBJTYPE(x,y) ((SN_HWPERF_IS_NODE(x) && SN_HWPERF_IS_NODE(y)) ||\ | 55 | #define SN_HWPERF_SAME_OBJTYPE(x,y) ((SN_HWPERF_IS_NODE(x) && SN_HWPERF_IS_NODE(y)) ||\ | 
| 52 | (SN_HWPERF_IS_IONODE(x) && SN_HWPERF_IS_IONODE(y)) ||\ | 56 | (SN_HWPERF_IS_IONODE(x) && SN_HWPERF_IS_IONODE(y)) ||\ | 
diff --git a/include/asm-ia64/sn/sn_sal.h b/include/asm-ia64/sn/sn_sal.h index bf4cc867a698..51aca022cf39 100644 --- a/include/asm-ia64/sn/sn_sal.h +++ b/include/asm-ia64/sn/sn_sal.h  | |||
| @@ -8,7 +8,7 @@ | |||
| 8 | * License. See the file "COPYING" in the main directory of this archive | 8 | * License. See the file "COPYING" in the main directory of this archive | 
| 9 | * for more details. | 9 | * for more details. | 
| 10 | * | 10 | * | 
| 11 | * Copyright (c) 2000-2005 Silicon Graphics, Inc. All rights reserved. | 11 | * Copyright (c) 2000-2006 Silicon Graphics, Inc. All rights reserved. | 
| 12 | */ | 12 | */ | 
| 13 | 13 | ||
| 14 | 14 | ||
| @@ -85,6 +85,7 @@ | |||
| 85 | 85 | ||
| 86 | #define SN_SAL_GET_PROM_FEATURE_SET 0x02000065 | 86 | #define SN_SAL_GET_PROM_FEATURE_SET 0x02000065 | 
| 87 | #define SN_SAL_SET_OS_FEATURE_SET 0x02000066 | 87 | #define SN_SAL_SET_OS_FEATURE_SET 0x02000066 | 
| 88 | #define SN_SAL_INJECT_ERROR 0x02000067 | ||
| 88 | 89 | ||
| 89 | /* | 90 | /* | 
| 90 | * Service-specific constants | 91 | * Service-specific constants | 
| @@ -705,10 +706,8 @@ static inline int | |||
| 705 | sn_change_memprotect(u64 paddr, u64 len, u64 perms, u64 *nasid_array) | 706 | sn_change_memprotect(u64 paddr, u64 len, u64 perms, u64 *nasid_array) | 
| 706 | { | 707 | { | 
| 707 | struct ia64_sal_retval ret_stuff; | 708 | struct ia64_sal_retval ret_stuff; | 
| 708 | int cnodeid; | ||
| 709 | unsigned long irq_flags; | 709 | unsigned long irq_flags; | 
| 710 | 710 | ||
| 711 | cnodeid = nasid_to_cnodeid(get_node_number(paddr)); | ||
| 712 | local_irq_save(irq_flags); | 711 | local_irq_save(irq_flags); | 
| 713 | ia64_sal_oemcall_nolock(&ret_stuff, SN_SAL_MEMPROTECT, paddr, len, | 712 | ia64_sal_oemcall_nolock(&ret_stuff, SN_SAL_MEMPROTECT, paddr, len, | 
| 714 | (u64)nasid_array, perms, 0, 0, 0); | 713 | (u64)nasid_array, perms, 0, 0, 0); | 
| @@ -1140,4 +1139,16 @@ ia64_sn_set_os_feature(int feature) | |||
| 1140 | return rv.status; | 1139 | return rv.status; | 
| 1141 | } | 1140 | } | 
| 1142 | 1141 | ||
| 1142 | static inline int | ||
| 1143 | sn_inject_error(u64 paddr, u64 *data, u64 *ecc) | ||
| 1144 | { | ||
| 1145 | struct ia64_sal_retval ret_stuff; | ||
| 1146 | unsigned long irq_flags; | ||
| 1147 | |||
| 1148 | local_irq_save(irq_flags); | ||
| 1149 | ia64_sal_oemcall_nolock(&ret_stuff, SN_SAL_INJECT_ERROR, paddr, (u64)data, | ||
| 1150 | (u64)ecc, 0, 0, 0, 0); | ||
| 1151 | local_irq_restore(irq_flags); | ||
| 1152 | return ret_stuff.status; | ||
| 1153 | } | ||
| 1143 | #endif /* _ASM_IA64_SN_SN_SAL_H */ | 1154 | #endif /* _ASM_IA64_SN_SN_SAL_H */ | 
diff --git a/include/asm-ia64/thread_info.h b/include/asm-ia64/thread_info.h index 56394a2c7055..e5392c4d30c6 100644 --- a/include/asm-ia64/thread_info.h +++ b/include/asm-ia64/thread_info.h  | |||
| @@ -67,7 +67,7 @@ struct thread_info { | |||
| 67 | #define end_of_stack(p) (unsigned long *)((void *)(p) + IA64_RBS_OFFSET) | 67 | #define end_of_stack(p) (unsigned long *)((void *)(p) + IA64_RBS_OFFSET) | 
| 68 | 68 | ||
| 69 | #define __HAVE_ARCH_TASK_STRUCT_ALLOCATOR | 69 | #define __HAVE_ARCH_TASK_STRUCT_ALLOCATOR | 
| 70 | #define alloc_task_struct() ((task_t *)__get_free_pages(GFP_KERNEL, KERNEL_STACK_SIZE_ORDER)) | 70 | #define alloc_task_struct() ((task_t *)__get_free_pages(GFP_KERNEL | __GFP_COMP, KERNEL_STACK_SIZE_ORDER)) | 
| 71 | #define free_task_struct(tsk) free_pages((unsigned long) (tsk), KERNEL_STACK_SIZE_ORDER) | 71 | #define free_task_struct(tsk) free_pages((unsigned long) (tsk), KERNEL_STACK_SIZE_ORDER) | 
| 72 | 72 | ||
| 73 | #endif /* !__ASSEMBLY */ | 73 | #endif /* !__ASSEMBLY */ | 
diff --git a/include/asm-ia64/topology.h b/include/asm-ia64/topology.h index 3ee19dfa46df..616b5ed2aa72 100644 --- a/include/asm-ia64/topology.h +++ b/include/asm-ia64/topology.h  | |||
| @@ -23,6 +23,11 @@ | |||
| 23 | #define PENALTY_FOR_NODE_WITH_CPUS 255 | 23 | #define PENALTY_FOR_NODE_WITH_CPUS 255 | 
| 24 | 24 | ||
| 25 | /* | 25 | /* | 
| 26 | * Distance above which we begin to use zone reclaim | ||
| 27 | */ | ||
| 28 | #define RECLAIM_DISTANCE 15 | ||
| 29 | |||
| 30 | /* | ||
| 26 | * Returns the number of the node containing CPU 'cpu' | 31 | * Returns the number of the node containing CPU 'cpu' | 
| 27 | */ | 32 | */ | 
| 28 | #define cpu_to_node(cpu) (int)(cpu_to_node_map[cpu]) | 33 | #define cpu_to_node(cpu) (int)(cpu_to_node_map[cpu]) | 
diff --git a/include/asm-mips/bitops.h b/include/asm-mips/bitops.h index a1728f8c0705..d2f444537e4b 100644 --- a/include/asm-mips/bitops.h +++ b/include/asm-mips/bitops.h  | |||
| @@ -467,64 +467,56 @@ static inline unsigned long __ffs(unsigned long word) | |||
| 467 | } | 467 | } | 
| 468 | 468 | ||
| 469 | /* | 469 | /* | 
| 470 | * ffs - find first bit set. | 470 | * fls - find last bit set. | 
| 471 | * @word: The word to search | 471 | * @word: The word to search | 
| 472 | * | 472 | * | 
| 473 | * Returns 1..SZLONG | 473 | * This is defined the same way as ffs. | 
| 474 | * Returns 0 if no bit exists | 474 | * Note fls(0) = 0, fls(1) = 1, fls(0x80000000) = 32. | 
| 475 | */ | 475 | */ | 
| 476 | 476 | static inline int fls(int word) | |
| 477 | static inline unsigned long ffs(unsigned long word) | ||
| 478 | { | 477 | { | 
| 479 | if (!word) | 478 | __asm__ ("clz %0, %1" : "=r" (word) : "r" (word)); | 
| 480 | return 0; | ||
| 481 | 479 | ||
| 482 | return __ffs(word) + 1; | 480 | return 32 - word; | 
| 483 | } | 481 | } | 
| 484 | 482 | ||
| 485 | /* | 483 | #if defined(CONFIG_64BIT) && defined(CONFIG_CPU_MIPS64) | 
| 486 | * ffz - find first zero in word. | 484 | static inline int fls64(__u64 word) | 
| 487 | * @word: The word to search | ||
| 488 | * | ||
| 489 | * Undefined if no zero exists, so code should check against ~0UL first. | ||
| 490 | */ | ||
| 491 | static inline unsigned long ffz(unsigned long word) | ||
| 492 | { | 485 | { | 
| 493 | return __ffs (~word); | 486 | __asm__ ("dclz %0, %1" : "=r" (word) : "r" (word)); | 
| 487 | |||
| 488 | return 64 - word; | ||
| 494 | } | 489 | } | 
| 490 | #else | ||
| 491 | #include <asm-generic/bitops/fls64.h> | ||
| 492 | #endif | ||
| 495 | 493 | ||
| 496 | /* | 494 | /* | 
| 497 | * fls - find last bit set. | 495 | * ffs - find first bit set. | 
| 498 | * @word: The word to search | 496 | * @word: The word to search | 
| 499 | * | 497 | * | 
| 500 | * Returns 1..SZLONG | 498 | * This is defined the same way as | 
| 501 | * Returns 0 if no bit exists | 499 | * the libc and compiler builtin ffs routines, therefore | 
| 500 | * differs in spirit from the above ffz (man ffs). | ||
| 502 | */ | 501 | */ | 
| 503 | static inline unsigned long fls(unsigned long word) | 502 | static inline int ffs(int word) | 
| 504 | { | 503 | { | 
| 505 | #ifdef CONFIG_CPU_MIPS32 | 504 | if (!word) | 
| 506 | __asm__ ("clz %0, %1" : "=r" (word) : "r" (word)); | 505 | return 0; | 
| 507 | |||
| 508 | return 32 - word; | ||
| 509 | #endif | ||
| 510 | |||
| 511 | #ifdef CONFIG_CPU_MIPS64 | ||
| 512 | __asm__ ("dclz %0, %1" : "=r" (word) : "r" (word)); | ||
| 513 | 506 | ||
| 514 | return 64 - word; | 507 | return fls(word & -word); | 
| 515 | #endif | ||
| 516 | } | 508 | } | 
| 517 | 509 | ||
| 518 | #else | 510 | #else | 
| 519 | 511 | ||
| 520 | #include <asm-generic/bitops/__ffs.h> | 512 | #include <asm-generic/bitops/__ffs.h> | 
| 521 | #include <asm-generic/bitops/ffs.h> | 513 | #include <asm-generic/bitops/ffs.h> | 
| 522 | #include <asm-generic/bitops/ffz.h> | ||
| 523 | #include <asm-generic/bitops/fls.h> | 514 | #include <asm-generic/bitops/fls.h> | 
| 515 | #include <asm-generic/bitops/fls64.h> | ||
| 524 | 516 | ||
| 525 | #endif /*defined(CONFIG_CPU_MIPS32) || defined(CONFIG_CPU_MIPS64) */ | 517 | #endif /*defined(CONFIG_CPU_MIPS32) || defined(CONFIG_CPU_MIPS64) */ | 
| 526 | 518 | ||
| 527 | #include <asm-generic/bitops/fls64.h> | 519 | #include <asm-generic/bitops/ffz.h> | 
| 528 | #include <asm-generic/bitops/find.h> | 520 | #include <asm-generic/bitops/find.h> | 
| 529 | 521 | ||
| 530 | #ifdef __KERNEL__ | 522 | #ifdef __KERNEL__ | 
diff --git a/include/asm-mips/mips-boards/generic.h b/include/asm-mips/mips-boards/generic.h index 25b6ffc26623..fa8b913cc3e0 100644 --- a/include/asm-mips/mips-boards/generic.h +++ b/include/asm-mips/mips-boards/generic.h  | |||
| @@ -67,6 +67,7 @@ | |||
| 67 | #define MIPS_REVISION_CORID_CORE_FPGA2 7 | 67 | #define MIPS_REVISION_CORID_CORE_FPGA2 7 | 
| 68 | #define MIPS_REVISION_CORID_CORE_FPGAR2 8 | 68 | #define MIPS_REVISION_CORID_CORE_FPGAR2 8 | 
| 69 | #define MIPS_REVISION_CORID_CORE_FPGA3 9 | 69 | #define MIPS_REVISION_CORID_CORE_FPGA3 9 | 
| 70 | #define MIPS_REVISION_CORID_CORE_24K 10 | ||
| 70 | 71 | ||
| 71 | /**** Artificial corid defines ****/ | 72 | /**** Artificial corid defines ****/ | 
| 72 | /* | 73 | /* | 
diff --git a/include/asm-powerpc/cputable.h b/include/asm-powerpc/cputable.h index 4321483cce51..9fcf0162d859 100644 --- a/include/asm-powerpc/cputable.h +++ b/include/asm-powerpc/cputable.h  | |||
| @@ -22,6 +22,7 @@ | |||
| 22 | #define PPC_FEATURE_BOOKE 0x00008000 | 22 | #define PPC_FEATURE_BOOKE 0x00008000 | 
| 23 | #define PPC_FEATURE_SMT 0x00004000 | 23 | #define PPC_FEATURE_SMT 0x00004000 | 
| 24 | #define PPC_FEATURE_ICACHE_SNOOP 0x00002000 | 24 | #define PPC_FEATURE_ICACHE_SNOOP 0x00002000 | 
| 25 | #define PPC_FEATURE_ARCH_2_05 0x00001000 | ||
| 25 | 26 | ||
| 26 | #ifdef __KERNEL__ | 27 | #ifdef __KERNEL__ | 
| 27 | #ifndef __ASSEMBLY__ | 28 | #ifndef __ASSEMBLY__ | 
| @@ -320,6 +321,11 @@ extern void do_cpu_ftr_fixups(unsigned long offset); | |||
| 320 | CPU_FTR_MMCRA | CPU_FTR_SMT | \ | 321 | CPU_FTR_MMCRA | CPU_FTR_SMT | \ | 
| 321 | CPU_FTR_COHERENT_ICACHE | CPU_FTR_LOCKLESS_TLBIE | \ | 322 | CPU_FTR_COHERENT_ICACHE | CPU_FTR_LOCKLESS_TLBIE | \ | 
| 322 | CPU_FTR_MMCRA_SIHV | CPU_FTR_PURR) | 323 | CPU_FTR_MMCRA_SIHV | CPU_FTR_PURR) | 
| 324 | #define CPU_FTRS_POWER6 (CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB | \ | ||
| 325 | CPU_FTR_HPTE_TABLE | CPU_FTR_PPCAS_ARCH_V2 | \ | ||
| 326 | CPU_FTR_MMCRA | CPU_FTR_SMT | \ | ||
| 327 | CPU_FTR_COHERENT_ICACHE | CPU_FTR_LOCKLESS_TLBIE | \ | ||
| 328 | CPU_FTR_PURR | CPU_FTR_CI_LARGE_PAGE) | ||
| 323 | #define CPU_FTRS_CELL (CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB | \ | 329 | #define CPU_FTRS_CELL (CPU_FTR_SPLIT_ID_CACHE | CPU_FTR_USE_TB | \ | 
| 324 | CPU_FTR_HPTE_TABLE | CPU_FTR_PPCAS_ARCH_V2 | \ | 330 | CPU_FTR_HPTE_TABLE | CPU_FTR_PPCAS_ARCH_V2 | \ | 
| 325 | CPU_FTR_ALTIVEC_COMP | CPU_FTR_MMCRA | CPU_FTR_SMT | \ | 331 | CPU_FTR_ALTIVEC_COMP | CPU_FTR_MMCRA | CPU_FTR_SMT | \ | 
| @@ -331,8 +337,8 @@ extern void do_cpu_ftr_fixups(unsigned long offset); | |||
| 331 | #ifdef __powerpc64__ | 337 | #ifdef __powerpc64__ | 
| 332 | #define CPU_FTRS_POSSIBLE \ | 338 | #define CPU_FTRS_POSSIBLE \ | 
| 333 | (CPU_FTRS_POWER3 | CPU_FTRS_RS64 | CPU_FTRS_POWER4 | \ | 339 | (CPU_FTRS_POWER3 | CPU_FTRS_RS64 | CPU_FTRS_POWER4 | \ | 
| 334 | CPU_FTRS_PPC970 | CPU_FTRS_POWER5 | CPU_FTRS_CELL | \ | 340 | CPU_FTRS_PPC970 | CPU_FTRS_POWER5 | CPU_FTRS_POWER6 | \ | 
| 335 | CPU_FTR_CI_LARGE_PAGE) | 341 | CPU_FTRS_CELL | CPU_FTR_CI_LARGE_PAGE) | 
| 336 | #else | 342 | #else | 
| 337 | enum { | 343 | enum { | 
| 338 | CPU_FTRS_POSSIBLE = | 344 | CPU_FTRS_POSSIBLE = | 
| @@ -376,8 +382,8 @@ enum { | |||
| 376 | #ifdef __powerpc64__ | 382 | #ifdef __powerpc64__ | 
| 377 | #define CPU_FTRS_ALWAYS \ | 383 | #define CPU_FTRS_ALWAYS \ | 
| 378 | (CPU_FTRS_POWER3 & CPU_FTRS_RS64 & CPU_FTRS_POWER4 & \ | 384 | (CPU_FTRS_POWER3 & CPU_FTRS_RS64 & CPU_FTRS_POWER4 & \ | 
| 379 | CPU_FTRS_PPC970 & CPU_FTRS_POWER5 & CPU_FTRS_CELL & \ | 385 | CPU_FTRS_PPC970 & CPU_FTRS_POWER5 & CPU_FTRS_POWER6 & \ | 
| 380 | CPU_FTRS_POSSIBLE) | 386 | CPU_FTRS_CELL & CPU_FTRS_POSSIBLE) | 
| 381 | #else | 387 | #else | 
| 382 | enum { | 388 | enum { | 
| 383 | CPU_FTRS_ALWAYS = | 389 | CPU_FTRS_ALWAYS = | 
diff --git a/include/asm-powerpc/io.h b/include/asm-powerpc/io.h index 68efbea379c9..f1c2469b8844 100644 --- a/include/asm-powerpc/io.h +++ b/include/asm-powerpc/io.h  | |||
| @@ -9,6 +9,9 @@ | |||
| 9 | * 2 of the License, or (at your option) any later version. | 9 | * 2 of the License, or (at your option) any later version. | 
| 10 | */ | 10 | */ | 
| 11 | 11 | ||
| 12 | /* Check of existence of legacy devices */ | ||
| 13 | extern int check_legacy_ioport(unsigned long base_port); | ||
| 14 | |||
| 12 | #ifndef CONFIG_PPC64 | 15 | #ifndef CONFIG_PPC64 | 
| 13 | #include <asm-ppc/io.h> | 16 | #include <asm-ppc/io.h> | 
| 14 | #else | 17 | #else | 
| @@ -437,9 +440,6 @@ out: | |||
| 437 | #define dma_cache_wback(_start,_size) do { } while (0) | 440 | #define dma_cache_wback(_start,_size) do { } while (0) | 
| 438 | #define dma_cache_wback_inv(_start,_size) do { } while (0) | 441 | #define dma_cache_wback_inv(_start,_size) do { } while (0) | 
| 439 | 442 | ||
| 440 | /* Check of existence of legacy devices */ | ||
| 441 | extern int check_legacy_ioport(unsigned long base_port); | ||
| 442 | |||
| 443 | 443 | ||
| 444 | /* | 444 | /* | 
| 445 | * Convert a physical pointer to a virtual kernel pointer for /dev/mem | 445 | * Convert a physical pointer to a virtual kernel pointer for /dev/mem | 
diff --git a/include/asm-powerpc/page_64.h b/include/asm-powerpc/page_64.h index 3fb061bab9ec..eab779c21995 100644 --- a/include/asm-powerpc/page_64.h +++ b/include/asm-powerpc/page_64.h  | |||
| @@ -101,6 +101,7 @@ extern unsigned int HPAGE_SHIFT; | |||
| 101 | - (1U << GET_HTLB_AREA(addr))) & 0xffff) | 101 | - (1U << GET_HTLB_AREA(addr))) & 0xffff) | 
| 102 | 102 | ||
| 103 | #define ARCH_HAS_HUGEPAGE_ONLY_RANGE | 103 | #define ARCH_HAS_HUGEPAGE_ONLY_RANGE | 
| 104 | #define ARCH_HAS_HUGETLB_FREE_PGD_RANGE | ||
| 104 | #define ARCH_HAS_PREPARE_HUGEPAGE_RANGE | 105 | #define ARCH_HAS_PREPARE_HUGEPAGE_RANGE | 
| 105 | #define ARCH_HAS_SETCLEAR_HUGE_PTE | 106 | #define ARCH_HAS_SETCLEAR_HUGE_PTE | 
| 106 | 107 | ||
diff --git a/include/asm-powerpc/pgalloc.h b/include/asm-powerpc/pgalloc.h index a00ee002cd11..9f0917c68659 100644 --- a/include/asm-powerpc/pgalloc.h +++ b/include/asm-powerpc/pgalloc.h  | |||
| @@ -17,11 +17,13 @@ extern kmem_cache_t *pgtable_cache[]; | |||
| 17 | #define PTE_CACHE_NUM 0 | 17 | #define PTE_CACHE_NUM 0 | 
| 18 | #define PMD_CACHE_NUM 1 | 18 | #define PMD_CACHE_NUM 1 | 
| 19 | #define PGD_CACHE_NUM 2 | 19 | #define PGD_CACHE_NUM 2 | 
| 20 | #define HUGEPTE_CACHE_NUM 3 | ||
| 20 | #else | 21 | #else | 
| 21 | #define PTE_CACHE_NUM 0 | 22 | #define PTE_CACHE_NUM 0 | 
| 22 | #define PMD_CACHE_NUM 1 | 23 | #define PMD_CACHE_NUM 1 | 
| 23 | #define PUD_CACHE_NUM 1 | 24 | #define PUD_CACHE_NUM 1 | 
| 24 | #define PGD_CACHE_NUM 0 | 25 | #define PGD_CACHE_NUM 0 | 
| 26 | #define HUGEPTE_CACHE_NUM 2 | ||
| 25 | #endif | 27 | #endif | 
| 26 | 28 | ||
| 27 | /* | 29 | /* | 
diff --git a/include/asm-powerpc/spu.h b/include/asm-powerpc/spu.h index f431d8b0b651..7cfcff3ef027 100644 --- a/include/asm-powerpc/spu.h +++ b/include/asm-powerpc/spu.h  | |||
| @@ -117,6 +117,7 @@ struct spu { | |||
| 117 | struct list_head list; | 117 | struct list_head list; | 
| 118 | struct list_head sched_list; | 118 | struct list_head sched_list; | 
| 119 | int number; | 119 | int number; | 
| 120 | int nid; | ||
| 120 | u32 isrc; | 121 | u32 isrc; | 
| 121 | u32 node; | 122 | u32 node; | 
| 122 | u64 flags; | 123 | u64 flags; | 
diff --git a/include/asm-powerpc/topology.h b/include/asm-powerpc/topology.h index 1e19cd00af25..87362a05542b 100644 --- a/include/asm-powerpc/topology.h +++ b/include/asm-powerpc/topology.h  | |||
| @@ -4,6 +4,9 @@ | |||
| 4 | 4 | ||
| 5 | #include <linux/config.h> | 5 | #include <linux/config.h> | 
| 6 | 6 | ||
| 7 | struct sys_device; | ||
| 8 | struct device_node; | ||
| 9 | |||
| 7 | #ifdef CONFIG_NUMA | 10 | #ifdef CONFIG_NUMA | 
| 8 | 11 | ||
| 9 | #include <asm/mmzone.h> | 12 | #include <asm/mmzone.h> | 
| @@ -27,6 +30,8 @@ static inline int node_to_first_cpu(int node) | |||
| 27 | return first_cpu(tmp); | 30 | return first_cpu(tmp); | 
| 28 | } | 31 | } | 
| 29 | 32 | ||
| 33 | int of_node_to_nid(struct device_node *device); | ||
| 34 | |||
| 30 | #define pcibus_to_node(node) (-1) | 35 | #define pcibus_to_node(node) (-1) | 
| 31 | #define pcibus_to_cpumask(bus) (cpu_online_map) | 36 | #define pcibus_to_cpumask(bus) (cpu_online_map) | 
| 32 | 37 | ||
| @@ -57,10 +62,29 @@ static inline int node_to_first_cpu(int node) | |||
| 57 | 62 | ||
| 58 | extern void __init dump_numa_cpu_topology(void); | 63 | extern void __init dump_numa_cpu_topology(void); | 
| 59 | 64 | ||
| 65 | extern int sysfs_add_device_to_node(struct sys_device *dev, int nid); | ||
| 66 | extern void sysfs_remove_device_from_node(struct sys_device *dev, int nid); | ||
| 67 | |||
| 60 | #else | 68 | #else | 
| 61 | 69 | ||
| 70 | static inline int of_node_to_nid(struct device_node *device) | ||
| 71 | { | ||
| 72 | return 0; | ||
| 73 | } | ||
| 74 | |||
| 62 | static inline void dump_numa_cpu_topology(void) {} | 75 | static inline void dump_numa_cpu_topology(void) {} | 
| 63 | 76 | ||
| 77 | static inline int sysfs_add_device_to_node(struct sys_device *dev, int nid) | ||
| 78 | { | ||
| 79 | return 0; | ||
| 80 | } | ||
| 81 | |||
| 82 | static inline void sysfs_remove_device_from_node(struct sys_device *dev, | ||
| 83 | int nid) | ||
| 84 | { | ||
| 85 | } | ||
| 86 | |||
| 87 | |||
| 64 | #include <asm-generic/topology.h> | 88 | #include <asm-generic/topology.h> | 
| 65 | 89 | ||
| 66 | #endif /* CONFIG_NUMA */ | 90 | #endif /* CONFIG_NUMA */ | 
diff --git a/include/asm-powerpc/unistd.h b/include/asm-powerpc/unistd.h index 34325e292596..908acb44cb8a 100644 --- a/include/asm-powerpc/unistd.h +++ b/include/asm-powerpc/unistd.h  | |||
| @@ -304,8 +304,25 @@ | |||
| 304 | #define __NR_splice 283 | 304 | #define __NR_splice 283 | 
| 305 | #define __NR_tee 284 | 305 | #define __NR_tee 284 | 
| 306 | #define __NR_vmsplice 285 | 306 | #define __NR_vmsplice 285 | 
| 307 | #define __NR_openat 286 | ||
| 308 | #define __NR_mkdirat 287 | ||
| 309 | #define __NR_mknodat 288 | ||
| 310 | #define __NR_fchownat 289 | ||
| 311 | #define __NR_futimesat 290 | ||
| 312 | #ifdef __powerpc64__ | ||
| 313 | #define __NR_newfstatat 291 | ||
| 314 | #else | ||
| 315 | #define __NR_fstatat64 291 | ||
| 316 | #endif | ||
| 317 | #define __NR_unlinkat 292 | ||
| 318 | #define __NR_renameat 293 | ||
| 319 | #define __NR_linkat 294 | ||
| 320 | #define __NR_symlinkat 295 | ||
| 321 | #define __NR_readlinkat 296 | ||
| 322 | #define __NR_fchmodat 297 | ||
| 323 | #define __NR_faccessat 298 | ||
| 307 | 324 | ||
| 308 | #define __NR_syscalls 286 | 325 | #define __NR_syscalls 299 | 
| 309 | 326 | ||
| 310 | #ifdef __KERNEL__ | 327 | #ifdef __KERNEL__ | 
| 311 | #define __NR__exit __NR_exit | 328 | #define __NR__exit __NR_exit | 
| @@ -458,6 +475,7 @@ type name(type1 arg1, type2 arg2, type3 arg3, type4 arg4, type5 arg5, type6 arg6 | |||
| 458 | #ifdef CONFIG_PPC64 | 475 | #ifdef CONFIG_PPC64 | 
| 459 | #define __ARCH_WANT_COMPAT_SYS_TIME | 476 | #define __ARCH_WANT_COMPAT_SYS_TIME | 
| 460 | #define __ARCH_WANT_COMPAT_SYS_RT_SIGSUSPEND | 477 | #define __ARCH_WANT_COMPAT_SYS_RT_SIGSUSPEND | 
| 478 | #define __ARCH_WANT_SYS_NEWFSTATAT | ||
| 461 | #endif | 479 | #endif | 
| 462 | 480 | ||
| 463 | /* | 481 | /* | 
diff --git a/include/asm-ppc/ppc_sys.h b/include/asm-ppc/ppc_sys.h index 4b94f7059ebe..40f197af6508 100644 --- a/include/asm-ppc/ppc_sys.h +++ b/include/asm-ppc/ppc_sys.h  | |||
| @@ -39,6 +39,8 @@ | |||
| 39 | #error "need definition of ppc_sys_devices" | 39 | #error "need definition of ppc_sys_devices" | 
| 40 | #endif | 40 | #endif | 
| 41 | 41 | ||
| 42 | #define PPC_SYS_IORESOURCE_FIXUPPED 0x00000001 | ||
| 43 | |||
| 42 | struct ppc_sys_spec { | 44 | struct ppc_sys_spec { | 
| 43 | /* PPC sys is matched via (ID & mask) == value, id could be | 45 | /* PPC sys is matched via (ID & mask) == value, id could be | 
| 44 | * PVR, SVR, IMMR, * etc. */ | 46 | * PVR, SVR, IMMR, * etc. */ | 
diff --git a/include/asm-ppc/reg_booke.h b/include/asm-ppc/reg_booke.h index 00ad9c754c78..4944c0fb8bea 100644 --- a/include/asm-ppc/reg_booke.h +++ b/include/asm-ppc/reg_booke.h  | |||
| @@ -237,6 +237,7 @@ do { \ | |||
| 237 | #endif | 237 | #endif | 
| 238 | 238 | ||
| 239 | /* Bit definitions for CCR1. */ | 239 | /* Bit definitions for CCR1. */ | 
| 240 | #define CCR1_DPC 0x00000100 /* Disable L1 I-Cache/D-Cache parity checking */ | ||
| 240 | #define CCR1_TCS 0x00000080 /* Timer Clock Select */ | 241 | #define CCR1_TCS 0x00000080 /* Timer Clock Select */ | 
| 241 | 242 | ||
| 242 | /* Bit definitions for the MCSR. */ | 243 | /* Bit definitions for the MCSR. */ | 
diff --git a/include/asm-s390/cache.h b/include/asm-s390/cache.h index e20cdd9074db..cdf431b061bb 100644 --- a/include/asm-s390/cache.h +++ b/include/asm-s390/cache.h  | |||
| @@ -16,4 +16,6 @@ | |||
| 16 | 16 | ||
| 17 | #define ARCH_KMALLOC_MINALIGN 8 | 17 | #define ARCH_KMALLOC_MINALIGN 8 | 
| 18 | 18 | ||
| 19 | #define __read_mostly __attribute__((__section__(".data.read_mostly"))) | ||
| 20 | |||
| 19 | #endif | 21 | #endif | 
diff --git a/include/asm-s390/futex.h b/include/asm-s390/futex.h index 6a332a9f099c..40c25e166a9b 100644 --- a/include/asm-s390/futex.h +++ b/include/asm-s390/futex.h  | |||
| @@ -1,6 +1,121 @@ | |||
| 1 | #ifndef _ASM_FUTEX_H | 1 | #ifndef _ASM_S390_FUTEX_H | 
| 2 | #define _ASM_FUTEX_H | 2 | #define _ASM_S390_FUTEX_H | 
| 3 | 3 | ||
| 4 | #include <asm-generic/futex.h> | 4 | #ifdef __KERNEL__ | 
| 5 | 5 | ||
| 6 | #endif | 6 | #include <linux/futex.h> | 
| 7 | #include <asm/errno.h> | ||
| 8 | #include <asm/uaccess.h> | ||
| 9 | |||
| 10 | #ifndef __s390x__ | ||
| 11 | #define __futex_atomic_fixup \ | ||
| 12 | ".section __ex_table,\"a\"\n" \ | ||
| 13 | " .align 4\n" \ | ||
| 14 | " .long 0b,2b,1b,2b\n" \ | ||
| 15 | ".previous" | ||
| 16 | #else /* __s390x__ */ | ||
| 17 | #define __futex_atomic_fixup \ | ||
| 18 | ".section __ex_table,\"a\"\n" \ | ||
| 19 | " .align 8\n" \ | ||
| 20 | " .quad 0b,2b,1b,2b\n" \ | ||
| 21 | ".previous" | ||
| 22 | #endif /* __s390x__ */ | ||
| 23 | |||
| 24 | #define __futex_atomic_op(insn, ret, oldval, newval, uaddr, oparg) \ | ||
| 25 | asm volatile(" l %1,0(%6)\n" \ | ||
| 26 | "0: " insn \ | ||
| 27 | " cs %1,%2,0(%6)\n" \ | ||
| 28 | "1: jl 0b\n" \ | ||
| 29 | " lhi %0,0\n" \ | ||
| 30 | "2:\n" \ | ||
| 31 | __futex_atomic_fixup \ | ||
| 32 | : "=d" (ret), "=&d" (oldval), "=&d" (newval), \ | ||
| 33 | "=m" (*uaddr) \ | ||
| 34 | : "0" (-EFAULT), "d" (oparg), "a" (uaddr), \ | ||
| 35 | "m" (*uaddr) : "cc" ); | ||
| 36 | |||
| 37 | static inline int futex_atomic_op_inuser (int encoded_op, int __user *uaddr) | ||
| 38 | { | ||
| 39 | int op = (encoded_op >> 28) & 7; | ||
| 40 | int cmp = (encoded_op >> 24) & 15; | ||
| 41 | int oparg = (encoded_op << 8) >> 20; | ||
| 42 | int cmparg = (encoded_op << 20) >> 20; | ||
| 43 | int oldval = 0, newval, ret; | ||
| 44 | if (encoded_op & (FUTEX_OP_OPARG_SHIFT << 28)) | ||
| 45 | oparg = 1 << oparg; | ||
| 46 | |||
| 47 | if (! access_ok (VERIFY_WRITE, uaddr, sizeof(int))) | ||
| 48 | return -EFAULT; | ||
| 49 | |||
| 50 | inc_preempt_count(); | ||
| 51 | |||
| 52 | switch (op) { | ||
| 53 | case FUTEX_OP_SET: | ||
| 54 | __futex_atomic_op("lr %2,%5\n", | ||
| 55 | ret, oldval, newval, uaddr, oparg); | ||
| 56 | break; | ||
| 57 | case FUTEX_OP_ADD: | ||
| 58 | __futex_atomic_op("lr %2,%1\nar %2,%5\n", | ||
| 59 | ret, oldval, newval, uaddr, oparg); | ||
| 60 | break; | ||
| 61 | case FUTEX_OP_OR: | ||
| 62 | __futex_atomic_op("lr %2,%1\nor %2,%5\n", | ||
| 63 | ret, oldval, newval, uaddr, oparg); | ||
| 64 | break; | ||
| 65 | case FUTEX_OP_ANDN: | ||
| 66 | __futex_atomic_op("lr %2,%1\nnr %2,%5\n", | ||
| 67 | ret, oldval, newval, uaddr, oparg); | ||
| 68 | break; | ||
| 69 | case FUTEX_OP_XOR: | ||
| 70 | __futex_atomic_op("lr %2,%1\nxr %2,%5\n", | ||
| 71 | ret, oldval, newval, uaddr, oparg); | ||
| 72 | break; | ||
| 73 | default: | ||
| 74 | ret = -ENOSYS; | ||
| 75 | } | ||
| 76 | |||
| 77 | dec_preempt_count(); | ||
| 78 | |||
| 79 | if (!ret) { | ||
| 80 | switch (cmp) { | ||
| 81 | case FUTEX_OP_CMP_EQ: ret = (oldval == cmparg); break; | ||
| 82 | case FUTEX_OP_CMP_NE: ret = (oldval != cmparg); break; | ||
| 83 | case FUTEX_OP_CMP_LT: ret = (oldval < cmparg); break; | ||
| 84 | case FUTEX_OP_CMP_GE: ret = (oldval >= cmparg); break; | ||
| 85 | case FUTEX_OP_CMP_LE: ret = (oldval <= cmparg); break; | ||
| 86 | case FUTEX_OP_CMP_GT: ret = (oldval > cmparg); break; | ||
| 87 | default: ret = -ENOSYS; | ||
| 88 | } | ||
| 89 | } | ||
| 90 | return ret; | ||
| 91 | } | ||
| 92 | |||
| 93 | static inline int | ||
| 94 | futex_atomic_cmpxchg_inatomic(int __user *uaddr, int oldval, int newval) | ||
| 95 | { | ||
| 96 | int ret; | ||
| 97 | |||
| 98 | if (! access_ok (VERIFY_WRITE, uaddr, sizeof(int))) | ||
| 99 | return -EFAULT; | ||
| 100 | asm volatile(" cs %1,%4,0(%5)\n" | ||
| 101 | "0: lr %0,%1\n" | ||
| 102 | "1:\n" | ||
| 103 | #ifndef __s390x__ | ||
| 104 | ".section __ex_table,\"a\"\n" | ||
| 105 | " .align 4\n" | ||
| 106 | " .long 0b,1b\n" | ||
| 107 | ".previous" | ||
| 108 | #else /* __s390x__ */ | ||
| 109 | ".section __ex_table,\"a\"\n" | ||
| 110 | " .align 8\n" | ||
| 111 | " .quad 0b,1b\n" | ||
| 112 | ".previous" | ||
| 113 | #endif /* __s390x__ */ | ||
| 114 | : "=d" (ret), "+d" (oldval), "=m" (*uaddr) | ||
| 115 | : "0" (-EFAULT), "d" (newval), "a" (uaddr), "m" (*uaddr) | ||
| 116 | : "cc", "memory" ); | ||
| 117 | return oldval; | ||
| 118 | } | ||
| 119 | |||
| 120 | #endif /* __KERNEL__ */ | ||
| 121 | #endif /* _ASM_S390_FUTEX_H */ | ||
diff --git a/include/asm-sparc64/tlbflush.h b/include/asm-sparc64/tlbflush.h index 9ad5d9c51d42..e3a7c453b500 100644 --- a/include/asm-sparc64/tlbflush.h +++ b/include/asm-sparc64/tlbflush.h  | |||
| @@ -22,8 +22,6 @@ extern void flush_tlb_pending(void); | |||
| 22 | /* Local cpu only. */ | 22 | /* Local cpu only. */ | 
| 23 | extern void __flush_tlb_all(void); | 23 | extern void __flush_tlb_all(void); | 
| 24 | 24 | ||
| 25 | extern void __flush_tlb_page(unsigned long context, unsigned long page, unsigned long r); | ||
| 26 | |||
| 27 | extern void __flush_tlb_kernel_range(unsigned long start, unsigned long end); | 25 | extern void __flush_tlb_kernel_range(unsigned long start, unsigned long end); | 
| 28 | 26 | ||
| 29 | #ifndef CONFIG_SMP | 27 | #ifndef CONFIG_SMP | 
diff --git a/include/asm-xtensa/signal.h b/include/asm-xtensa/signal.h index 5d6fc9cdf58d..a99c9aec64ec 100644 --- a/include/asm-xtensa/signal.h +++ b/include/asm-xtensa/signal.h  | |||
| @@ -118,9 +118,9 @@ typedef struct { | |||
| 118 | * SA_INTERRUPT is also used by the irq handling routines. | 118 | * SA_INTERRUPT is also used by the irq handling routines. | 
| 119 | * SA_SHIRQ is for shared interrupt support on PCI and EISA. | 119 | * SA_SHIRQ is for shared interrupt support on PCI and EISA. | 
| 120 | */ | 120 | */ | 
| 121 | #define SA_PROBE SA_ONESHOT | ||
| 122 | #define SA_SAMPLE_RANDOM SA_RESTART | 121 | #define SA_SAMPLE_RANDOM SA_RESTART | 
| 123 | #define SA_SHIRQ 0x04000000 | 122 | #define SA_SHIRQ 0x04000000 | 
| 123 | #define SA_PROBEIRQ 0x08000000 | ||
| 124 | #endif | 124 | #endif | 
| 125 | 125 | ||
| 126 | #define SIG_BLOCK 0 /* for blocking signals */ | 126 | #define SIG_BLOCK 0 /* for blocking signals */ | 
diff --git a/include/linux/audit.h b/include/linux/audit.h index 1c47c59058c1..b74c148f14e3 100644 --- a/include/linux/audit.h +++ b/include/linux/audit.h  | |||
| @@ -83,6 +83,7 @@ | |||
| 83 | #define AUDIT_CONFIG_CHANGE 1305 /* Audit system configuration change */ | 83 | #define AUDIT_CONFIG_CHANGE 1305 /* Audit system configuration change */ | 
| 84 | #define AUDIT_SOCKADDR 1306 /* sockaddr copied as syscall arg */ | 84 | #define AUDIT_SOCKADDR 1306 /* sockaddr copied as syscall arg */ | 
| 85 | #define AUDIT_CWD 1307 /* Current working directory */ | 85 | #define AUDIT_CWD 1307 /* Current working directory */ | 
| 86 | #define AUDIT_IPC_SET_PERM 1311 /* IPC new permissions record type */ | ||
| 86 | 87 | ||
| 87 | #define AUDIT_AVC 1400 /* SE Linux avc denial or grant */ | 88 | #define AUDIT_AVC 1400 /* SE Linux avc denial or grant */ | 
| 88 | #define AUDIT_SELINUX_ERR 1401 /* Internal SE Linux Errors */ | 89 | #define AUDIT_SELINUX_ERR 1401 /* Internal SE Linux Errors */ | 
| @@ -145,6 +146,11 @@ | |||
| 145 | #define AUDIT_PERS 10 | 146 | #define AUDIT_PERS 10 | 
| 146 | #define AUDIT_ARCH 11 | 147 | #define AUDIT_ARCH 11 | 
| 147 | #define AUDIT_MSGTYPE 12 | 148 | #define AUDIT_MSGTYPE 12 | 
| 149 | #define AUDIT_SE_USER 13 /* security label user */ | ||
| 150 | #define AUDIT_SE_ROLE 14 /* security label role */ | ||
| 151 | #define AUDIT_SE_TYPE 15 /* security label type */ | ||
| 152 | #define AUDIT_SE_SEN 16 /* security label sensitivity label */ | ||
| 153 | #define AUDIT_SE_CLR 17 /* security label clearance label */ | ||
| 148 | 154 | ||
| 149 | /* These are ONLY useful when checking | 155 | /* These are ONLY useful when checking | 
| 150 | * at syscall exit time (AUDIT_AT_EXIT). */ | 156 | * at syscall exit time (AUDIT_AT_EXIT). */ | 
| @@ -287,10 +293,10 @@ struct netlink_skb_parms; | |||
| 287 | /* Public API */ | 293 | /* Public API */ | 
| 288 | extern int audit_alloc(struct task_struct *task); | 294 | extern int audit_alloc(struct task_struct *task); | 
| 289 | extern void audit_free(struct task_struct *task); | 295 | extern void audit_free(struct task_struct *task); | 
| 290 | extern void audit_syscall_entry(struct task_struct *task, int arch, | 296 | extern void audit_syscall_entry(int arch, | 
| 291 | int major, unsigned long a0, unsigned long a1, | 297 | int major, unsigned long a0, unsigned long a1, | 
| 292 | unsigned long a2, unsigned long a3); | 298 | unsigned long a2, unsigned long a3); | 
| 293 | extern void audit_syscall_exit(struct task_struct *task, int failed, long return_code); | 299 | extern void audit_syscall_exit(int failed, long return_code); | 
| 294 | extern void audit_getname(const char *name); | 300 | extern void audit_getname(const char *name); | 
| 295 | extern void audit_putname(const char *name); | 301 | extern void audit_putname(const char *name); | 
| 296 | extern void __audit_inode(const char *name, const struct inode *inode, unsigned flags); | 302 | extern void __audit_inode(const char *name, const struct inode *inode, unsigned flags); | 
| @@ -314,7 +320,8 @@ extern void auditsc_get_stamp(struct audit_context *ctx, | |||
| 314 | struct timespec *t, unsigned int *serial); | 320 | struct timespec *t, unsigned int *serial); | 
| 315 | extern int audit_set_loginuid(struct task_struct *task, uid_t loginuid); | 321 | extern int audit_set_loginuid(struct task_struct *task, uid_t loginuid); | 
| 316 | extern uid_t audit_get_loginuid(struct audit_context *ctx); | 322 | extern uid_t audit_get_loginuid(struct audit_context *ctx); | 
| 317 | extern int audit_ipc_perms(unsigned long qbytes, uid_t uid, gid_t gid, mode_t mode, struct kern_ipc_perm *ipcp); | 323 | extern int audit_ipc_obj(struct kern_ipc_perm *ipcp); | 
| 324 | extern int audit_ipc_set_perm(unsigned long qbytes, uid_t uid, gid_t gid, mode_t mode, struct kern_ipc_perm *ipcp); | ||
| 318 | extern int audit_socketcall(int nargs, unsigned long *args); | 325 | extern int audit_socketcall(int nargs, unsigned long *args); | 
| 319 | extern int audit_sockaddr(int len, void *addr); | 326 | extern int audit_sockaddr(int len, void *addr); | 
| 320 | extern int audit_avc_path(struct dentry *dentry, struct vfsmount *mnt); | 327 | extern int audit_avc_path(struct dentry *dentry, struct vfsmount *mnt); | 
| @@ -323,8 +330,8 @@ extern int audit_set_macxattr(const char *name); | |||
| 323 | #else | 330 | #else | 
| 324 | #define audit_alloc(t) ({ 0; }) | 331 | #define audit_alloc(t) ({ 0; }) | 
| 325 | #define audit_free(t) do { ; } while (0) | 332 | #define audit_free(t) do { ; } while (0) | 
| 326 | #define audit_syscall_entry(t,ta,a,b,c,d,e) do { ; } while (0) | 333 | #define audit_syscall_entry(ta,a,b,c,d,e) do { ; } while (0) | 
| 327 | #define audit_syscall_exit(t,f,r) do { ; } while (0) | 334 | #define audit_syscall_exit(f,r) do { ; } while (0) | 
| 328 | #define audit_getname(n) do { ; } while (0) | 335 | #define audit_getname(n) do { ; } while (0) | 
| 329 | #define audit_putname(n) do { ; } while (0) | 336 | #define audit_putname(n) do { ; } while (0) | 
| 330 | #define __audit_inode(n,i,f) do { ; } while (0) | 337 | #define __audit_inode(n,i,f) do { ; } while (0) | 
| @@ -333,7 +340,8 @@ extern int audit_set_macxattr(const char *name); | |||
| 333 | #define audit_inode_child(d,i,p) do { ; } while (0) | 340 | #define audit_inode_child(d,i,p) do { ; } while (0) | 
| 334 | #define auditsc_get_stamp(c,t,s) do { BUG(); } while (0) | 341 | #define auditsc_get_stamp(c,t,s) do { BUG(); } while (0) | 
| 335 | #define audit_get_loginuid(c) ({ -1; }) | 342 | #define audit_get_loginuid(c) ({ -1; }) | 
| 336 | #define audit_ipc_perms(q,u,g,m,i) ({ 0; }) | 343 | #define audit_ipc_obj(i) ({ 0; }) | 
| 344 | #define audit_ipc_set_perm(q,u,g,m,i) ({ 0; }) | ||
| 337 | #define audit_socketcall(n,a) ({ 0; }) | 345 | #define audit_socketcall(n,a) ({ 0; }) | 
| 338 | #define audit_sockaddr(len, addr) ({ 0; }) | 346 | #define audit_sockaddr(len, addr) ({ 0; }) | 
| 339 | #define audit_avc_path(dentry, mnt) ({ 0; }) | 347 | #define audit_avc_path(dentry, mnt) ({ 0; }) | 
| @@ -366,7 +374,7 @@ extern void audit_log_d_path(struct audit_buffer *ab, | |||
| 366 | extern int audit_filter_user(struct netlink_skb_parms *cb, int type); | 374 | extern int audit_filter_user(struct netlink_skb_parms *cb, int type); | 
| 367 | extern int audit_filter_type(int type); | 375 | extern int audit_filter_type(int type); | 
| 368 | extern int audit_receive_filter(int type, int pid, int uid, int seq, | 376 | extern int audit_receive_filter(int type, int pid, int uid, int seq, | 
| 369 | void *data, size_t datasz, uid_t loginuid); | 377 | void *data, size_t datasz, uid_t loginuid, u32 sid); | 
| 370 | #else | 378 | #else | 
| 371 | #define audit_log(c,g,t,f,...) do { ; } while (0) | 379 | #define audit_log(c,g,t,f,...) do { ; } while (0) | 
| 372 | #define audit_log_start(c,g,t) ({ NULL; }) | 380 | #define audit_log_start(c,g,t) ({ NULL; }) | 
diff --git a/include/linux/debugfs.h b/include/linux/debugfs.h index 176e2d371577..047567d34ca7 100644 --- a/include/linux/debugfs.h +++ b/include/linux/debugfs.h  | |||
| @@ -58,9 +58,8 @@ struct dentry *debugfs_create_blob(const char *name, mode_t mode, | |||
| 58 | */ | 58 | */ | 
| 59 | 59 | ||
| 60 | static inline struct dentry *debugfs_create_file(const char *name, mode_t mode, | 60 | static inline struct dentry *debugfs_create_file(const char *name, mode_t mode, | 
| 61 | struct dentry *parent, | 61 | struct dentry *parent, void *data, | 
| 62 | void *data, | 62 | const struct file_operations *fops) | 
| 63 | struct file_operations *fops) | ||
| 64 | { | 63 | { | 
| 65 | return ERR_PTR(-ENODEV); | 64 | return ERR_PTR(-ENODEV); | 
| 66 | } | 65 | } | 
diff --git a/include/linux/input.h b/include/linux/input.h index b0e612dda0cf..50e338d2ffda 100644 --- a/include/linux/input.h +++ b/include/linux/input.h  | |||
| @@ -12,8 +12,6 @@ | |||
| 12 | #ifdef __KERNEL__ | 12 | #ifdef __KERNEL__ | 
| 13 | #include <linux/time.h> | 13 | #include <linux/time.h> | 
| 14 | #include <linux/list.h> | 14 | #include <linux/list.h> | 
| 15 | #include <linux/device.h> | ||
| 16 | #include <linux/mod_devicetable.h> | ||
| 17 | #else | 15 | #else | 
| 18 | #include <sys/time.h> | 16 | #include <sys/time.h> | 
| 19 | #include <sys/ioctl.h> | 17 | #include <sys/ioctl.h> | 
| @@ -58,6 +56,8 @@ struct input_absinfo { | |||
| 58 | 56 | ||
| 59 | #define EVIOCGVERSION _IOR('E', 0x01, int) /* get driver version */ | 57 | #define EVIOCGVERSION _IOR('E', 0x01, int) /* get driver version */ | 
| 60 | #define EVIOCGID _IOR('E', 0x02, struct input_id) /* get device ID */ | 58 | #define EVIOCGID _IOR('E', 0x02, struct input_id) /* get device ID */ | 
| 59 | #define EVIOCGREP _IOR('E', 0x03, int[2]) /* get repeat settings */ | ||
| 60 | #define EVIOCSREP _IOW('E', 0x03, int[2]) /* set repeat settings */ | ||
| 61 | #define EVIOCGKEYCODE _IOR('E', 0x04, int[2]) /* get keycode */ | 61 | #define EVIOCGKEYCODE _IOR('E', 0x04, int[2]) /* get keycode */ | 
| 62 | #define EVIOCSKEYCODE _IOW('E', 0x04, int[2]) /* set keycode */ | 62 | #define EVIOCSKEYCODE _IOW('E', 0x04, int[2]) /* set keycode */ | 
| 63 | 63 | ||
| @@ -577,15 +577,15 @@ struct input_absinfo { | |||
| 577 | * Switch events | 577 | * Switch events | 
| 578 | */ | 578 | */ | 
| 579 | 579 | ||
| 580 | #define SW_0 0x00 | 580 | #define SW_0 0x00 | 
| 581 | #define SW_1 0x01 | 581 | #define SW_1 0x01 | 
| 582 | #define SW_2 0x02 | 582 | #define SW_2 0x02 | 
| 583 | #define SW_3 0x03 | 583 | #define SW_3 0x03 | 
| 584 | #define SW_4 0x04 | 584 | #define SW_4 0x04 | 
| 585 | #define SW_5 0x05 | 585 | #define SW_5 0x05 | 
| 586 | #define SW_6 0x06 | 586 | #define SW_6 0x06 | 
| 587 | #define SW_7 0x07 | 587 | #define SW_7 0x07 | 
| 588 | #define SW_MAX 0x0f | 588 | #define SW_MAX 0x0f | 
| 589 | 589 | ||
| 590 | /* | 590 | /* | 
| 591 | * Misc events | 591 | * Misc events | 
| @@ -805,52 +805,16 @@ struct ff_effect { | |||
| 805 | 805 | ||
| 806 | #define FF_MAX 0x7f | 806 | #define FF_MAX 0x7f | 
| 807 | 807 | ||
| 808 | struct input_device_id { | ||
| 809 | |||
| 810 | kernel_ulong_t flags; | ||
| 811 | |||
| 812 | struct input_id id; | ||
| 813 | |||
| 814 | kernel_ulong_t evbit[EV_MAX/BITS_PER_LONG+1]; | ||
| 815 | kernel_ulong_t keybit[KEY_MAX/BITS_PER_LONG+1]; | ||
| 816 | kernel_ulong_t relbit[REL_MAX/BITS_PER_LONG+1]; | ||
| 817 | kernel_ulong_t absbit[ABS_MAX/BITS_PER_LONG+1]; | ||
| 818 | kernel_ulong_t mscbit[MSC_MAX/BITS_PER_LONG+1]; | ||
| 819 | kernel_ulong_t ledbit[LED_MAX/BITS_PER_LONG+1]; | ||
| 820 | kernel_ulong_t sndbit[SND_MAX/BITS_PER_LONG+1]; | ||
| 821 | kernel_ulong_t ffbit[FF_MAX/BITS_PER_LONG+1]; | ||
| 822 | kernel_ulong_t swbit[SW_MAX/BITS_PER_LONG+1]; | ||
| 823 | |||
| 824 | kernel_ulong_t driver_info; | ||
| 825 | }; | ||
| 826 | |||
| 827 | /* | ||
| 828 | * Structure for hotplug & device<->driver matching. | ||
| 829 | */ | ||
| 830 | |||
| 831 | #define INPUT_DEVICE_ID_MATCH_BUS 1 | ||
| 832 | #define INPUT_DEVICE_ID_MATCH_VENDOR 2 | ||
| 833 | #define INPUT_DEVICE_ID_MATCH_PRODUCT 4 | ||
| 834 | #define INPUT_DEVICE_ID_MATCH_VERSION 8 | ||
| 835 | |||
| 836 | #define INPUT_DEVICE_ID_MATCH_EVBIT 0x010 | ||
| 837 | #define INPUT_DEVICE_ID_MATCH_KEYBIT 0x020 | ||
| 838 | #define INPUT_DEVICE_ID_MATCH_RELBIT 0x040 | ||
| 839 | #define INPUT_DEVICE_ID_MATCH_ABSBIT 0x080 | ||
| 840 | #define INPUT_DEVICE_ID_MATCH_MSCIT 0x100 | ||
| 841 | #define INPUT_DEVICE_ID_MATCH_LEDBIT 0x200 | ||
| 842 | #define INPUT_DEVICE_ID_MATCH_SNDBIT 0x400 | ||
| 843 | #define INPUT_DEVICE_ID_MATCH_FFBIT 0x800 | ||
| 844 | #define INPUT_DEVICE_ID_MATCH_SWBIT 0x1000 | ||
| 845 | |||
| 846 | #ifdef __KERNEL__ | 808 | #ifdef __KERNEL__ | 
| 847 | 809 | ||
| 848 | /* | 810 | /* | 
| 849 | * In-kernel definitions. | 811 | * In-kernel definitions. | 
| 850 | */ | 812 | */ | 
| 851 | 813 | ||
| 814 | #include <linux/device.h> | ||
| 852 | #include <linux/fs.h> | 815 | #include <linux/fs.h> | 
| 853 | #include <linux/timer.h> | 816 | #include <linux/timer.h> | 
| 817 | #include <linux/mod_devicetable.h> | ||
| 854 | 818 | ||
| 855 | #define NBITS(x) (((x)/BITS_PER_LONG)+1) | 819 | #define NBITS(x) (((x)/BITS_PER_LONG)+1) | 
| 856 | #define BIT(x) (1UL<<((x)%BITS_PER_LONG)) | 820 | #define BIT(x) (1UL<<((x)%BITS_PER_LONG)) | 
| @@ -951,9 +915,49 @@ struct input_dev { | |||
| 951 | }; | 915 | }; | 
| 952 | #define to_input_dev(d) container_of(d, struct input_dev, cdev) | 916 | #define to_input_dev(d) container_of(d, struct input_dev, cdev) | 
| 953 | 917 | ||
| 954 | #define INPUT_DEVICE_ID_MATCH_DEVICE\ | 918 | /* | 
| 919 | * Verify that we are in sync with input_device_id mod_devicetable.h #defines | ||
| 920 | */ | ||
| 921 | |||
| 922 | #if EV_MAX != INPUT_DEVICE_ID_EV_MAX | ||
| 923 | #error "EV_MAX and INPUT_DEVICE_ID_EV_MAX do not match" | ||
| 924 | #endif | ||
| 925 | |||
| 926 | #if KEY_MAX != INPUT_DEVICE_ID_KEY_MAX | ||
| 927 | #error "KEY_MAX and INPUT_DEVICE_ID_KEY_MAX do not match" | ||
| 928 | #endif | ||
| 929 | |||
| 930 | #if REL_MAX != INPUT_DEVICE_ID_REL_MAX | ||
| 931 | #error "REL_MAX and INPUT_DEVICE_ID_REL_MAX do not match" | ||
| 932 | #endif | ||
| 933 | |||
| 934 | #if ABS_MAX != INPUT_DEVICE_ID_ABS_MAX | ||
| 935 | #error "ABS_MAX and INPUT_DEVICE_ID_ABS_MAX do not match" | ||
| 936 | #endif | ||
| 937 | |||
| 938 | #if MSC_MAX != INPUT_DEVICE_ID_MSC_MAX | ||
| 939 | #error "MSC_MAX and INPUT_DEVICE_ID_MSC_MAX do not match" | ||
| 940 | #endif | ||
| 941 | |||
| 942 | #if LED_MAX != INPUT_DEVICE_ID_LED_MAX | ||
| 943 | #error "LED_MAX and INPUT_DEVICE_ID_LED_MAX do not match" | ||
| 944 | #endif | ||
| 945 | |||
| 946 | #if SND_MAX != INPUT_DEVICE_ID_SND_MAX | ||
| 947 | #error "SND_MAX and INPUT_DEVICE_ID_SND_MAX do not match" | ||
| 948 | #endif | ||
| 949 | |||
| 950 | #if FF_MAX != INPUT_DEVICE_ID_FF_MAX | ||
| 951 | #error "FF_MAX and INPUT_DEVICE_ID_FF_MAX do not match" | ||
| 952 | #endif | ||
| 953 | |||
| 954 | #if SW_MAX != INPUT_DEVICE_ID_SW_MAX | ||
| 955 | #error "SW_MAX and INPUT_DEVICE_ID_SW_MAX do not match" | ||
| 956 | #endif | ||
| 957 | |||
| 958 | #define INPUT_DEVICE_ID_MATCH_DEVICE \ | ||
| 955 | (INPUT_DEVICE_ID_MATCH_BUS | INPUT_DEVICE_ID_MATCH_VENDOR | INPUT_DEVICE_ID_MATCH_PRODUCT) | 959 | (INPUT_DEVICE_ID_MATCH_BUS | INPUT_DEVICE_ID_MATCH_VENDOR | INPUT_DEVICE_ID_MATCH_PRODUCT) | 
| 956 | #define INPUT_DEVICE_ID_MATCH_DEVICE_AND_VERSION\ | 960 | #define INPUT_DEVICE_ID_MATCH_DEVICE_AND_VERSION \ | 
| 957 | (INPUT_DEVICE_ID_MATCH_DEVICE | INPUT_DEVICE_ID_MATCH_VERSION) | 961 | (INPUT_DEVICE_ID_MATCH_DEVICE | INPUT_DEVICE_ID_MATCH_VERSION) | 
| 958 | 962 | ||
| 959 | struct input_handle; | 963 | struct input_handle; | 
| @@ -1016,7 +1020,8 @@ static inline void input_put_device(struct input_dev *dev) | |||
| 1016 | 1020 | ||
| 1017 | static inline void input_free_device(struct input_dev *dev) | 1021 | static inline void input_free_device(struct input_dev *dev) | 
| 1018 | { | 1022 | { | 
| 1019 | input_put_device(dev); | 1023 | if (dev) | 
| 1024 | input_put_device(dev); | ||
| 1020 | } | 1025 | } | 
| 1021 | 1026 | ||
| 1022 | int input_register_device(struct input_dev *); | 1027 | int input_register_device(struct input_dev *); | 
diff --git a/include/linux/kobject.h b/include/linux/kobject.h index dcd0623be892..c187c53cecd0 100644 --- a/include/linux/kobject.h +++ b/include/linux/kobject.h  | |||
| @@ -257,9 +257,8 @@ struct subsys_attribute { | |||
| 257 | }; | 257 | }; | 
| 258 | 258 | ||
| 259 | extern int subsys_create_file(struct subsystem * , struct subsys_attribute *); | 259 | extern int subsys_create_file(struct subsystem * , struct subsys_attribute *); | 
| 260 | extern void subsys_remove_file(struct subsystem * , struct subsys_attribute *); | ||
| 261 | 260 | ||
| 262 | #if defined(CONFIG_HOTPLUG) && defined(CONFIG_NET) | 261 | #if defined(CONFIG_HOTPLUG) | 
| 263 | void kobject_uevent(struct kobject *kobj, enum kobject_action action); | 262 | void kobject_uevent(struct kobject *kobj, enum kobject_action action); | 
| 264 | 263 | ||
| 265 | int add_uevent_var(char **envp, int num_envp, int *cur_index, | 264 | int add_uevent_var(char **envp, int num_envp, int *cur_index, | 
diff --git a/include/linux/list.h b/include/linux/list.h index 67258b47e9ca..76f05718342c 100644 --- a/include/linux/list.h +++ b/include/linux/list.h  | |||
| @@ -619,7 +619,7 @@ static inline void hlist_del_rcu(struct hlist_node *n) | |||
| 619 | 619 | ||
| 620 | static inline void hlist_del_init(struct hlist_node *n) | 620 | static inline void hlist_del_init(struct hlist_node *n) | 
| 621 | { | 621 | { | 
| 622 | if (n->pprev) { | 622 | if (!hlist_unhashed(n)) { | 
| 623 | __hlist_del(n); | 623 | __hlist_del(n); | 
| 624 | INIT_HLIST_NODE(n); | 624 | INIT_HLIST_NODE(n); | 
| 625 | } | 625 | } | 
diff --git a/include/linux/mod_devicetable.h b/include/linux/mod_devicetable.h index 7b08c11ec4cc..f6977708585c 100644 --- a/include/linux/mod_devicetable.h +++ b/include/linux/mod_devicetable.h  | |||
| @@ -249,4 +249,52 @@ struct i2c_device_id { | |||
| 249 | __u16 id; | 249 | __u16 id; | 
| 250 | }; | 250 | }; | 
| 251 | 251 | ||
| 252 | /* Input */ | ||
| 253 | #define INPUT_DEVICE_ID_EV_MAX 0x1f | ||
| 254 | #define INPUT_DEVICE_ID_KEY_MAX 0x1ff | ||
| 255 | #define INPUT_DEVICE_ID_REL_MAX 0x0f | ||
| 256 | #define INPUT_DEVICE_ID_ABS_MAX 0x3f | ||
| 257 | #define INPUT_DEVICE_ID_MSC_MAX 0x07 | ||
| 258 | #define INPUT_DEVICE_ID_LED_MAX 0x0f | ||
| 259 | #define INPUT_DEVICE_ID_SND_MAX 0x07 | ||
| 260 | #define INPUT_DEVICE_ID_FF_MAX 0x7f | ||
| 261 | #define INPUT_DEVICE_ID_SW_MAX 0x0f | ||
| 262 | |||
| 263 | #define INPUT_DEVICE_ID_MATCH_BUS 1 | ||
| 264 | #define INPUT_DEVICE_ID_MATCH_VENDOR 2 | ||
| 265 | #define INPUT_DEVICE_ID_MATCH_PRODUCT 4 | ||
| 266 | #define INPUT_DEVICE_ID_MATCH_VERSION 8 | ||
| 267 | |||
| 268 | #define INPUT_DEVICE_ID_MATCH_EVBIT 0x0010 | ||
| 269 | #define INPUT_DEVICE_ID_MATCH_KEYBIT 0x0020 | ||
| 270 | #define INPUT_DEVICE_ID_MATCH_RELBIT 0x0040 | ||
| 271 | #define INPUT_DEVICE_ID_MATCH_ABSBIT 0x0080 | ||
| 272 | #define INPUT_DEVICE_ID_MATCH_MSCIT 0x0100 | ||
| 273 | #define INPUT_DEVICE_ID_MATCH_LEDBIT 0x0200 | ||
| 274 | #define INPUT_DEVICE_ID_MATCH_SNDBIT 0x0400 | ||
| 275 | #define INPUT_DEVICE_ID_MATCH_FFBIT 0x0800 | ||
| 276 | #define INPUT_DEVICE_ID_MATCH_SWBIT 0x1000 | ||
| 277 | |||
| 278 | struct input_device_id { | ||
| 279 | |||
| 280 | kernel_ulong_t flags; | ||
| 281 | |||
| 282 | __u16 bustype; | ||
| 283 | __u16 vendor; | ||
| 284 | __u16 product; | ||
| 285 | __u16 version; | ||
| 286 | |||
| 287 | kernel_ulong_t evbit[INPUT_DEVICE_ID_EV_MAX / BITS_PER_LONG + 1]; | ||
| 288 | kernel_ulong_t keybit[INPUT_DEVICE_ID_KEY_MAX / BITS_PER_LONG + 1]; | ||
| 289 | kernel_ulong_t relbit[INPUT_DEVICE_ID_REL_MAX / BITS_PER_LONG + 1]; | ||
| 290 | kernel_ulong_t absbit[INPUT_DEVICE_ID_ABS_MAX / BITS_PER_LONG + 1]; | ||
| 291 | kernel_ulong_t mscbit[INPUT_DEVICE_ID_MSC_MAX / BITS_PER_LONG + 1]; | ||
| 292 | kernel_ulong_t ledbit[INPUT_DEVICE_ID_LED_MAX / BITS_PER_LONG + 1]; | ||
| 293 | kernel_ulong_t sndbit[INPUT_DEVICE_ID_SND_MAX / BITS_PER_LONG + 1]; | ||
| 294 | kernel_ulong_t ffbit[INPUT_DEVICE_ID_FF_MAX / BITS_PER_LONG + 1]; | ||
| 295 | kernel_ulong_t swbit[INPUT_DEVICE_ID_SW_MAX / BITS_PER_LONG + 1]; | ||
| 296 | |||
| 297 | kernel_ulong_t driver_info; | ||
| 298 | }; | ||
| 299 | |||
| 252 | #endif /* LINUX_MOD_DEVICETABLE_H */ | 300 | #endif /* LINUX_MOD_DEVICETABLE_H */ | 
diff --git a/include/linux/netfilter/x_tables.h b/include/linux/netfilter/x_tables.h index 38701454e197..48cc32d83f77 100644 --- a/include/linux/netfilter/x_tables.h +++ b/include/linux/netfilter/x_tables.h  | |||
| @@ -337,6 +337,10 @@ struct compat_xt_entry_match | |||
| 337 | char name[XT_FUNCTION_MAXNAMELEN - 1]; | 337 | char name[XT_FUNCTION_MAXNAMELEN - 1]; | 
| 338 | u_int8_t revision; | 338 | u_int8_t revision; | 
| 339 | } user; | 339 | } user; | 
| 340 | struct { | ||
| 341 | u_int16_t match_size; | ||
| 342 | compat_uptr_t match; | ||
| 343 | } kernel; | ||
| 340 | u_int16_t match_size; | 344 | u_int16_t match_size; | 
| 341 | } u; | 345 | } u; | 
| 342 | unsigned char data[0]; | 346 | unsigned char data[0]; | 
| @@ -350,6 +354,10 @@ struct compat_xt_entry_target | |||
| 350 | char name[XT_FUNCTION_MAXNAMELEN - 1]; | 354 | char name[XT_FUNCTION_MAXNAMELEN - 1]; | 
| 351 | u_int8_t revision; | 355 | u_int8_t revision; | 
| 352 | } user; | 356 | } user; | 
| 357 | struct { | ||
| 358 | u_int16_t target_size; | ||
| 359 | compat_uptr_t target; | ||
| 360 | } kernel; | ||
| 353 | u_int16_t target_size; | 361 | u_int16_t target_size; | 
| 354 | } u; | 362 | } u; | 
| 355 | unsigned char data[0]; | 363 | unsigned char data[0]; | 
diff --git a/include/linux/netlink.h b/include/linux/netlink.h index f8f3d1c927f8..87b8a5703ebc 100644 --- a/include/linux/netlink.h +++ b/include/linux/netlink.h  | |||
| @@ -143,6 +143,7 @@ struct netlink_skb_parms | |||
| 143 | __u32 dst_group; | 143 | __u32 dst_group; | 
| 144 | kernel_cap_t eff_cap; | 144 | kernel_cap_t eff_cap; | 
| 145 | __u32 loginuid; /* Login (audit) uid */ | 145 | __u32 loginuid; /* Login (audit) uid */ | 
| 146 | __u32 sid; /* SELinux security id */ | ||
| 146 | }; | 147 | }; | 
| 147 | 148 | ||
| 148 | #define NETLINK_CB(skb) (*(struct netlink_skb_parms*)&((skb)->cb)) | 149 | #define NETLINK_CB(skb) (*(struct netlink_skb_parms*)&((skb)->cb)) | 
diff --git a/include/linux/pagemap.h b/include/linux/pagemap.h index 9539efd4f7e6..7a1af574dedf 100644 --- a/include/linux/pagemap.h +++ b/include/linux/pagemap.h  | |||
| @@ -78,6 +78,8 @@ extern struct page * find_or_create_page(struct address_space *mapping, | |||
| 78 | unsigned long index, gfp_t gfp_mask); | 78 | unsigned long index, gfp_t gfp_mask); | 
| 79 | unsigned find_get_pages(struct address_space *mapping, pgoff_t start, | 79 | unsigned find_get_pages(struct address_space *mapping, pgoff_t start, | 
| 80 | unsigned int nr_pages, struct page **pages); | 80 | unsigned int nr_pages, struct page **pages); | 
| 81 | unsigned find_get_pages_contig(struct address_space *mapping, pgoff_t start, | ||
| 82 | unsigned int nr_pages, struct page **pages); | ||
| 81 | unsigned find_get_pages_tag(struct address_space *mapping, pgoff_t *index, | 83 | unsigned find_get_pages_tag(struct address_space *mapping, pgoff_t *index, | 
| 82 | int tag, unsigned int nr_pages, struct page **pages); | 84 | int tag, unsigned int nr_pages, struct page **pages); | 
| 83 | 85 | ||
diff --git a/include/linux/pipe_fs_i.h b/include/linux/pipe_fs_i.h index 0008d4bd4059..ba73108cbf8b 100644 --- a/include/linux/pipe_fs_i.h +++ b/include/linux/pipe_fs_i.h  | |||
| @@ -5,8 +5,8 @@ | |||
| 5 | 5 | ||
| 6 | #define PIPE_BUFFERS (16) | 6 | #define PIPE_BUFFERS (16) | 
| 7 | 7 | ||
| 8 | #define PIPE_BUF_FLAG_STOLEN 0x01 | 8 | #define PIPE_BUF_FLAG_ATOMIC 0x01 /* was atomically mapped */ | 
| 9 | #define PIPE_BUF_FLAG_LRU 0x02 | 9 | #define PIPE_BUF_FLAG_GIFT 0x02 /* page is a gift */ | 
| 10 | 10 | ||
| 11 | struct pipe_buffer { | 11 | struct pipe_buffer { | 
| 12 | struct page *page; | 12 | struct page *page; | 
| @@ -15,10 +15,23 @@ struct pipe_buffer { | |||
| 15 | unsigned int flags; | 15 | unsigned int flags; | 
| 16 | }; | 16 | }; | 
| 17 | 17 | ||
| 18 | /* | ||
| 19 | * Note on the nesting of these functions: | ||
| 20 | * | ||
| 21 | * ->pin() | ||
| 22 | * ->steal() | ||
| 23 | * ... | ||
| 24 | * ->map() | ||
| 25 | * ... | ||
| 26 | * ->unmap() | ||
| 27 | * | ||
| 28 | * That is, ->map() must be called on a pinned buffer, same goes for ->steal(). | ||
| 29 | */ | ||
| 18 | struct pipe_buf_operations { | 30 | struct pipe_buf_operations { | 
| 19 | int can_merge; | 31 | int can_merge; | 
| 20 | void * (*map)(struct file *, struct pipe_inode_info *, struct pipe_buffer *); | 32 | void * (*map)(struct pipe_inode_info *, struct pipe_buffer *, int); | 
| 21 | void (*unmap)(struct pipe_inode_info *, struct pipe_buffer *); | 33 | void (*unmap)(struct pipe_inode_info *, struct pipe_buffer *, void *); | 
| 34 | int (*pin)(struct pipe_inode_info *, struct pipe_buffer *); | ||
| 22 | void (*release)(struct pipe_inode_info *, struct pipe_buffer *); | 35 | void (*release)(struct pipe_inode_info *, struct pipe_buffer *); | 
| 23 | int (*steal)(struct pipe_inode_info *, struct pipe_buffer *); | 36 | int (*steal)(struct pipe_inode_info *, struct pipe_buffer *); | 
| 24 | void (*get)(struct pipe_inode_info *, struct pipe_buffer *); | 37 | void (*get)(struct pipe_inode_info *, struct pipe_buffer *); | 
| @@ -51,6 +64,13 @@ struct pipe_inode_info * alloc_pipe_info(struct inode * inode); | |||
| 51 | void free_pipe_info(struct inode * inode); | 64 | void free_pipe_info(struct inode * inode); | 
| 52 | void __free_pipe_info(struct pipe_inode_info *); | 65 | void __free_pipe_info(struct pipe_inode_info *); | 
| 53 | 66 | ||
| 67 | /* Generic pipe buffer ops functions */ | ||
| 68 | void *generic_pipe_buf_map(struct pipe_inode_info *, struct pipe_buffer *, int); | ||
| 69 | void generic_pipe_buf_unmap(struct pipe_inode_info *, struct pipe_buffer *, void *); | ||
| 70 | void generic_pipe_buf_get(struct pipe_inode_info *, struct pipe_buffer *); | ||
| 71 | int generic_pipe_buf_pin(struct pipe_inode_info *, struct pipe_buffer *); | ||
| 72 | int generic_pipe_buf_steal(struct pipe_inode_info *, struct pipe_buffer *); | ||
| 73 | |||
| 54 | /* | 74 | /* | 
| 55 | * splice is tied to pipes as a transport (at least for now), so we'll just | 75 | * splice is tied to pipes as a transport (at least for now), so we'll just | 
| 56 | * add the splice flags here. | 76 | * add the splice flags here. | 
| @@ -60,6 +80,7 @@ void __free_pipe_info(struct pipe_inode_info *); | |||
| 60 | /* we may still block on the fd we splice */ | 80 | /* we may still block on the fd we splice */ | 
| 61 | /* from/to, of course */ | 81 | /* from/to, of course */ | 
| 62 | #define SPLICE_F_MORE (0x04) /* expect more data */ | 82 | #define SPLICE_F_MORE (0x04) /* expect more data */ | 
| 83 | #define SPLICE_F_GIFT (0x08) /* pages passed in are a gift */ | ||
| 63 | 84 | ||
| 64 | /* | 85 | /* | 
| 65 | * Passed to the actors | 86 | * Passed to the actors | 
diff --git a/include/linux/security.h b/include/linux/security.h index aaa0a5cdbf75..1bab48f6aeac 100644 --- a/include/linux/security.h +++ b/include/linux/security.h  | |||
| @@ -869,11 +869,6 @@ struct swap_info_struct; | |||
| 869 | * @ipcp contains the kernel IPC permission structure | 869 | * @ipcp contains the kernel IPC permission structure | 
| 870 | * @flag contains the desired (requested) permission set | 870 | * @flag contains the desired (requested) permission set | 
| 871 | * Return 0 if permission is granted. | 871 | * Return 0 if permission is granted. | 
| 872 | * @ipc_getsecurity: | ||
| 873 | * Copy the security label associated with the ipc object into | ||
| 874 | * @buffer. @buffer may be NULL to request the size of the buffer | ||
| 875 | * required. @size indicates the size of @buffer in bytes. Return | ||
| 876 | * number of bytes used/required on success. | ||
| 877 | * | 872 | * | 
| 878 | * Security hooks for individual messages held in System V IPC message queues | 873 | * Security hooks for individual messages held in System V IPC message queues | 
| 879 | * @msg_msg_alloc_security: | 874 | * @msg_msg_alloc_security: | 
| @@ -1223,7 +1218,6 @@ struct security_operations { | |||
| 1223 | void (*task_to_inode)(struct task_struct *p, struct inode *inode); | 1218 | void (*task_to_inode)(struct task_struct *p, struct inode *inode); | 
| 1224 | 1219 | ||
| 1225 | int (*ipc_permission) (struct kern_ipc_perm * ipcp, short flag); | 1220 | int (*ipc_permission) (struct kern_ipc_perm * ipcp, short flag); | 
| 1226 | int (*ipc_getsecurity)(struct kern_ipc_perm *ipcp, void *buffer, size_t size); | ||
| 1227 | 1221 | ||
| 1228 | int (*msg_msg_alloc_security) (struct msg_msg * msg); | 1222 | int (*msg_msg_alloc_security) (struct msg_msg * msg); | 
| 1229 | void (*msg_msg_free_security) (struct msg_msg * msg); | 1223 | void (*msg_msg_free_security) (struct msg_msg * msg); | 
| @@ -1887,11 +1881,6 @@ static inline int security_ipc_permission (struct kern_ipc_perm *ipcp, | |||
| 1887 | return security_ops->ipc_permission (ipcp, flag); | 1881 | return security_ops->ipc_permission (ipcp, flag); | 
| 1888 | } | 1882 | } | 
| 1889 | 1883 | ||
| 1890 | static inline int security_ipc_getsecurity(struct kern_ipc_perm *ipcp, void *buffer, size_t size) | ||
| 1891 | { | ||
| 1892 | return security_ops->ipc_getsecurity(ipcp, buffer, size); | ||
| 1893 | } | ||
| 1894 | |||
| 1895 | static inline int security_msg_msg_alloc (struct msg_msg * msg) | 1884 | static inline int security_msg_msg_alloc (struct msg_msg * msg) | 
| 1896 | { | 1885 | { | 
| 1897 | return security_ops->msg_msg_alloc_security (msg); | 1886 | return security_ops->msg_msg_alloc_security (msg); | 
| @@ -2532,11 +2521,6 @@ static inline int security_ipc_permission (struct kern_ipc_perm *ipcp, | |||
| 2532 | return 0; | 2521 | return 0; | 
| 2533 | } | 2522 | } | 
| 2534 | 2523 | ||
| 2535 | static inline int security_ipc_getsecurity(struct kern_ipc_perm *ipcp, void *buffer, size_t size) | ||
| 2536 | { | ||
| 2537 | return -EOPNOTSUPP; | ||
| 2538 | } | ||
| 2539 | |||
| 2540 | static inline int security_msg_msg_alloc (struct msg_msg * msg) | 2524 | static inline int security_msg_msg_alloc (struct msg_msg * msg) | 
| 2541 | { | 2525 | { | 
| 2542 | return 0; | 2526 | return 0; | 
diff --git a/include/linux/selinux.h b/include/linux/selinux.h new file mode 100644 index 000000000000..4047bcde4484 --- /dev/null +++ b/include/linux/selinux.h  | |||
| @@ -0,0 +1,177 @@ | |||
| 1 | /* | ||
| 2 | * SELinux services exported to the rest of the kernel. | ||
| 3 | * | ||
| 4 | * Author: James Morris <jmorris@redhat.com> | ||
| 5 | * | ||
| 6 | * Copyright (C) 2005 Red Hat, Inc., James Morris <jmorris@redhat.com> | ||
| 7 | * Copyright (C) 2006 Trusted Computer Solutions, Inc. <dgoeddel@trustedcs.com> | ||
| 8 | * Copyright (C) 2006 IBM Corporation, Timothy R. Chavez <tinytim@us.ibm.com> | ||
| 9 | * | ||
| 10 | * This program is free software; you can redistribute it and/or modify | ||
| 11 | * it under the terms of the GNU General Public License version 2, | ||
| 12 | * as published by the Free Software Foundation. | ||
| 13 | */ | ||
| 14 | #ifndef _LINUX_SELINUX_H | ||
| 15 | #define _LINUX_SELINUX_H | ||
| 16 | |||
| 17 | struct selinux_audit_rule; | ||
| 18 | struct audit_context; | ||
| 19 | struct inode; | ||
| 20 | struct kern_ipc_perm; | ||
| 21 | |||
| 22 | #ifdef CONFIG_SECURITY_SELINUX | ||
| 23 | |||
| 24 | /** | ||
| 25 | * selinux_audit_rule_init - alloc/init an selinux audit rule structure. | ||
| 26 | * @field: the field this rule refers to | ||
| 27 | * @op: the operater the rule uses | ||
| 28 | * @rulestr: the text "target" of the rule | ||
| 29 | * @rule: pointer to the new rule structure returned via this | ||
| 30 | * | ||
| 31 | * Returns 0 if successful, -errno if not. On success, the rule structure | ||
| 32 | * will be allocated internally. The caller must free this structure with | ||
| 33 | * selinux_audit_rule_free() after use. | ||
| 34 | */ | ||
| 35 | int selinux_audit_rule_init(u32 field, u32 op, char *rulestr, | ||
| 36 | struct selinux_audit_rule **rule); | ||
| 37 | |||
| 38 | /** | ||
| 39 | * selinux_audit_rule_free - free an selinux audit rule structure. | ||
| 40 | * @rule: pointer to the audit rule to be freed | ||
| 41 | * | ||
| 42 | * This will free all memory associated with the given rule. | ||
| 43 | * If @rule is NULL, no operation is performed. | ||
| 44 | */ | ||
| 45 | void selinux_audit_rule_free(struct selinux_audit_rule *rule); | ||
| 46 | |||
| 47 | /** | ||
| 48 | * selinux_audit_rule_match - determine if a context ID matches a rule. | ||
| 49 | * @ctxid: the context ID to check | ||
| 50 | * @field: the field this rule refers to | ||
| 51 | * @op: the operater the rule uses | ||
| 52 | * @rule: pointer to the audit rule to check against | ||
| 53 | * @actx: the audit context (can be NULL) associated with the check | ||
| 54 | * | ||
| 55 | * Returns 1 if the context id matches the rule, 0 if it does not, and | ||
| 56 | * -errno on failure. | ||
| 57 | */ | ||
| 58 | int selinux_audit_rule_match(u32 ctxid, u32 field, u32 op, | ||
| 59 | struct selinux_audit_rule *rule, | ||
| 60 | struct audit_context *actx); | ||
| 61 | |||
| 62 | /** | ||
| 63 | * selinux_audit_set_callback - set the callback for policy reloads. | ||
| 64 | * @callback: the function to call when the policy is reloaded | ||
| 65 | * | ||
| 66 | * This sets the function callback function that will update the rules | ||
| 67 | * upon policy reloads. This callback should rebuild all existing rules | ||
| 68 | * using selinux_audit_rule_init(). | ||
| 69 | */ | ||
| 70 | void selinux_audit_set_callback(int (*callback)(void)); | ||
| 71 | |||
| 72 | /** | ||
| 73 | * selinux_task_ctxid - determine a context ID for a process. | ||
| 74 | * @tsk: the task object | ||
| 75 | * @ctxid: ID value returned via this | ||
| 76 | * | ||
| 77 | * On return, ctxid will contain an ID for the context. This value | ||
| 78 | * should only be used opaquely. | ||
| 79 | */ | ||
| 80 | void selinux_task_ctxid(struct task_struct *tsk, u32 *ctxid); | ||
| 81 | |||
| 82 | /** | ||
| 83 | * selinux_ctxid_to_string - map a security context ID to a string | ||
| 84 | * @ctxid: security context ID to be converted. | ||
| 85 | * @ctx: address of context string to be returned | ||
| 86 | * @ctxlen: length of returned context string. | ||
| 87 | * | ||
| 88 | * Returns 0 if successful, -errno if not. On success, the context | ||
| 89 | * string will be allocated internally, and the caller must call | ||
| 90 | * kfree() on it after use. | ||
| 91 | */ | ||
| 92 | int selinux_ctxid_to_string(u32 ctxid, char **ctx, u32 *ctxlen); | ||
| 93 | |||
| 94 | /** | ||
| 95 | * selinux_get_inode_sid - get the inode's security context ID | ||
| 96 | * @inode: inode structure to get the sid from. | ||
| 97 | * @sid: pointer to security context ID to be filled in. | ||
| 98 | * | ||
| 99 | * Returns nothing | ||
| 100 | */ | ||
| 101 | void selinux_get_inode_sid(const struct inode *inode, u32 *sid); | ||
| 102 | |||
| 103 | /** | ||
| 104 | * selinux_get_ipc_sid - get the ipc security context ID | ||
| 105 | * @ipcp: ipc structure to get the sid from. | ||
| 106 | * @sid: pointer to security context ID to be filled in. | ||
| 107 | * | ||
| 108 | * Returns nothing | ||
| 109 | */ | ||
| 110 | void selinux_get_ipc_sid(const struct kern_ipc_perm *ipcp, u32 *sid); | ||
| 111 | |||
| 112 | /** | ||
| 113 | * selinux_get_task_sid - return the SID of task | ||
| 114 | * @tsk: the task whose SID will be returned | ||
| 115 | * @sid: pointer to security context ID to be filled in. | ||
| 116 | * | ||
| 117 | * Returns nothing | ||
| 118 | */ | ||
| 119 | void selinux_get_task_sid(struct task_struct *tsk, u32 *sid); | ||
| 120 | |||
| 121 | |||
| 122 | #else | ||
| 123 | |||
| 124 | static inline int selinux_audit_rule_init(u32 field, u32 op, | ||
| 125 | char *rulestr, | ||
| 126 | struct selinux_audit_rule **rule) | ||
| 127 | { | ||
| 128 | return -ENOTSUPP; | ||
| 129 | } | ||
| 130 | |||
| 131 | static inline void selinux_audit_rule_free(struct selinux_audit_rule *rule) | ||
| 132 | { | ||
| 133 | return; | ||
| 134 | } | ||
| 135 | |||
| 136 | static inline int selinux_audit_rule_match(u32 ctxid, u32 field, u32 op, | ||
| 137 | struct selinux_audit_rule *rule, | ||
| 138 | struct audit_context *actx) | ||
| 139 | { | ||
| 140 | return 0; | ||
| 141 | } | ||
| 142 | |||
| 143 | static inline void selinux_audit_set_callback(int (*callback)(void)) | ||
| 144 | { | ||
| 145 | return; | ||
| 146 | } | ||
| 147 | |||
| 148 | static inline void selinux_task_ctxid(struct task_struct *tsk, u32 *ctxid) | ||
| 149 | { | ||
| 150 | *ctxid = 0; | ||
| 151 | } | ||
| 152 | |||
| 153 | static inline int selinux_ctxid_to_string(u32 ctxid, char **ctx, u32 *ctxlen) | ||
| 154 | { | ||
| 155 | *ctx = NULL; | ||
| 156 | *ctxlen = 0; | ||
| 157 | return 0; | ||
| 158 | } | ||
| 159 | |||
| 160 | static inline void selinux_get_inode_sid(const struct inode *inode, u32 *sid) | ||
| 161 | { | ||
| 162 | *sid = 0; | ||
| 163 | } | ||
| 164 | |||
| 165 | static inline void selinux_get_ipc_sid(const struct kern_ipc_perm *ipcp, u32 *sid) | ||
| 166 | { | ||
| 167 | *sid = 0; | ||
| 168 | } | ||
| 169 | |||
| 170 | static inline void selinux_get_task_sid(struct task_struct *tsk, u32 *sid) | ||
| 171 | { | ||
| 172 | *sid = 0; | ||
| 173 | } | ||
| 174 | |||
| 175 | #endif /* CONFIG_SECURITY_SELINUX */ | ||
| 176 | |||
| 177 | #endif /* _LINUX_SELINUX_H */ | ||
diff --git a/include/linux/signal.h b/include/linux/signal.h index 162a8fd10b29..70739f51a09f 100644 --- a/include/linux/signal.h +++ b/include/linux/signal.h  | |||
| @@ -14,10 +14,12 @@ | |||
| 14 | * | 14 | * | 
| 15 | * SA_INTERRUPT is also used by the irq handling routines. | 15 | * SA_INTERRUPT is also used by the irq handling routines. | 
| 16 | * SA_SHIRQ is for shared interrupt support on PCI and EISA. | 16 | * SA_SHIRQ is for shared interrupt support on PCI and EISA. | 
| 17 | * SA_PROBEIRQ is set by callers when they expect sharing mismatches to occur | ||
| 17 | */ | 18 | */ | 
| 18 | #define SA_PROBE SA_ONESHOT | ||
| 19 | #define SA_SAMPLE_RANDOM SA_RESTART | 19 | #define SA_SAMPLE_RANDOM SA_RESTART | 
| 20 | #define SA_SHIRQ 0x04000000 | 20 | #define SA_SHIRQ 0x04000000 | 
| 21 | #define SA_PROBEIRQ 0x08000000 | ||
| 22 | |||
| 21 | /* | 23 | /* | 
| 22 | * As above, these correspond to the IORESOURCE_IRQ_* defines in | 24 | * As above, these correspond to the IORESOURCE_IRQ_* defines in | 
| 23 | * linux/ioport.h to select the interrupt line behaviour. When | 25 | * linux/ioport.h to select the interrupt line behaviour. When | 
diff --git a/include/linux/spi/ads7846.h b/include/linux/spi/ads7846.h index 72261e0f2ac1..adb3dafd33e9 100644 --- a/include/linux/spi/ads7846.h +++ b/include/linux/spi/ads7846.h  | |||
| @@ -14,5 +14,12 @@ struct ads7846_platform_data { | |||
| 14 | u16 x_min, x_max; | 14 | u16 x_min, x_max; | 
| 15 | u16 y_min, y_max; | 15 | u16 y_min, y_max; | 
| 16 | u16 pressure_min, pressure_max; | 16 | u16 pressure_min, pressure_max; | 
| 17 | |||
| 18 | u16 debounce_max; /* max number of additional readings | ||
| 19 | * per sample */ | ||
| 20 | u16 debounce_tol; /* tolerance used for filtering */ | ||
| 21 | u16 debounce_rep; /* additional consecutive good readings | ||
| 22 | * required after the first two */ | ||
| 23 | int (*get_pendown_state)(void); | ||
| 17 | }; | 24 | }; | 
| 18 | 25 | ||
diff --git a/include/net/inet_timewait_sock.h b/include/net/inet_timewait_sock.h index 1da294c47522..e837f98fdb50 100644 --- a/include/net/inet_timewait_sock.h +++ b/include/net/inet_timewait_sock.h  | |||
| @@ -150,7 +150,7 @@ static inline void inet_twsk_add_bind_node(struct inet_timewait_sock *tw, | |||
| 150 | 150 | ||
| 151 | static inline int inet_twsk_dead_hashed(const struct inet_timewait_sock *tw) | 151 | static inline int inet_twsk_dead_hashed(const struct inet_timewait_sock *tw) | 
| 152 | { | 152 | { | 
| 153 | return tw->tw_death_node.pprev != NULL; | 153 | return !hlist_unhashed(&tw->tw_death_node); | 
| 154 | } | 154 | } | 
| 155 | 155 | ||
| 156 | static inline void inet_twsk_dead_node_init(struct inet_timewait_sock *tw) | 156 | static inline void inet_twsk_dead_node_init(struct inet_timewait_sock *tw) | 
diff --git a/include/net/sock.h b/include/net/sock.h index ff8b0dad7b0f..c9fad6fb629b 100644 --- a/include/net/sock.h +++ b/include/net/sock.h  | |||
| @@ -279,7 +279,7 @@ static inline int sk_unhashed(const struct sock *sk) | |||
| 279 | 279 | ||
| 280 | static inline int sk_hashed(const struct sock *sk) | 280 | static inline int sk_hashed(const struct sock *sk) | 
| 281 | { | 281 | { | 
| 282 | return sk->sk_node.pprev != NULL; | 282 | return !sk_unhashed(sk); | 
| 283 | } | 283 | } | 
| 284 | 284 | ||
| 285 | static __inline__ void sk_node_init(struct hlist_node *node) | 285 | static __inline__ void sk_node_init(struct hlist_node *node) | 
diff --git a/include/sound/pcm.h b/include/sound/pcm.h index df70e7592ab5..373425895faa 100644 --- a/include/sound/pcm.h +++ b/include/sound/pcm.h  | |||
| @@ -374,12 +374,14 @@ struct snd_pcm_substream { | |||
| 374 | /* -- OSS things -- */ | 374 | /* -- OSS things -- */ | 
| 375 | struct snd_pcm_oss_substream oss; | 375 | struct snd_pcm_oss_substream oss; | 
| 376 | #endif | 376 | #endif | 
| 377 | #ifdef CONFIG_SND_VERBOSE_PROCFS | ||
| 377 | struct snd_info_entry *proc_root; | 378 | struct snd_info_entry *proc_root; | 
| 378 | struct snd_info_entry *proc_info_entry; | 379 | struct snd_info_entry *proc_info_entry; | 
| 379 | struct snd_info_entry *proc_hw_params_entry; | 380 | struct snd_info_entry *proc_hw_params_entry; | 
| 380 | struct snd_info_entry *proc_sw_params_entry; | 381 | struct snd_info_entry *proc_sw_params_entry; | 
| 381 | struct snd_info_entry *proc_status_entry; | 382 | struct snd_info_entry *proc_status_entry; | 
| 382 | struct snd_info_entry *proc_prealloc_entry; | 383 | struct snd_info_entry *proc_prealloc_entry; | 
| 384 | #endif | ||
| 383 | /* misc flags */ | 385 | /* misc flags */ | 
| 384 | unsigned int no_mmap_ctrl: 1; | 386 | unsigned int no_mmap_ctrl: 1; | 
| 385 | unsigned int hw_opened: 1; | 387 | unsigned int hw_opened: 1; | 
| @@ -400,12 +402,14 @@ struct snd_pcm_str { | |||
| 400 | struct snd_pcm_oss_stream oss; | 402 | struct snd_pcm_oss_stream oss; | 
| 401 | #endif | 403 | #endif | 
| 402 | struct snd_pcm_file *files; | 404 | struct snd_pcm_file *files; | 
| 405 | #ifdef CONFIG_SND_VERBOSE_PROCFS | ||
| 403 | struct snd_info_entry *proc_root; | 406 | struct snd_info_entry *proc_root; | 
| 404 | struct snd_info_entry *proc_info_entry; | 407 | struct snd_info_entry *proc_info_entry; | 
| 405 | #ifdef CONFIG_SND_DEBUG | 408 | #ifdef CONFIG_SND_PCM_XRUN_DEBUG | 
| 406 | unsigned int xrun_debug; /* 0 = disabled, 1 = verbose, 2 = stacktrace */ | 409 | unsigned int xrun_debug; /* 0 = disabled, 1 = verbose, 2 = stacktrace */ | 
| 407 | struct snd_info_entry *proc_xrun_debug_entry; | 410 | struct snd_info_entry *proc_xrun_debug_entry; | 
| 408 | #endif | 411 | #endif | 
| 412 | #endif | ||
| 409 | }; | 413 | }; | 
| 410 | 414 | ||
| 411 | struct snd_pcm { | 415 | struct snd_pcm { | 
diff --git a/include/sound/pcm_oss.h b/include/sound/pcm_oss.h index 39df2baca18a..c854647b6f3c 100644 --- a/include/sound/pcm_oss.h +++ b/include/sound/pcm_oss.h  | |||
| @@ -75,7 +75,9 @@ struct snd_pcm_oss_substream { | |||
| 75 | struct snd_pcm_oss_stream { | 75 | struct snd_pcm_oss_stream { | 
| 76 | struct snd_pcm_oss_setup *setup_list; /* setup list */ | 76 | struct snd_pcm_oss_setup *setup_list; /* setup list */ | 
| 77 | struct mutex setup_mutex; | 77 | struct mutex setup_mutex; | 
| 78 | #ifdef CONFIG_SND_VERBOSE_PROCFS | ||
| 78 | struct snd_info_entry *proc_entry; | 79 | struct snd_info_entry *proc_entry; | 
| 80 | #endif | ||
| 79 | }; | 81 | }; | 
| 80 | 82 | ||
| 81 | struct snd_pcm_oss { | 83 | struct snd_pcm_oss { | 
diff --git a/init/main.c b/init/main.c index 4a2f0898dda1..f715b9b89753 100644 --- a/init/main.c +++ b/init/main.c  | |||
| @@ -582,7 +582,7 @@ static void __init do_initcalls(void) | |||
| 582 | 582 | ||
| 583 | result = (*call)(); | 583 | result = (*call)(); | 
| 584 | 584 | ||
| 585 | if (result && (result != -ENODEV || initcall_debug)) { | 585 | if (result && result != -ENODEV && initcall_debug) { | 
| 586 | sprintf(msgbuf, "error code %d", result); | 586 | sprintf(msgbuf, "error code %d", result); | 
| 587 | msg = msgbuf; | 587 | msg = msgbuf; | 
| 588 | } | 588 | } | 
| @@ -13,6 +13,9 @@ | |||
| 13 | * mostly rewritten, threaded and wake-one semantics added | 13 | * mostly rewritten, threaded and wake-one semantics added | 
| 14 | * MSGMAX limit removed, sysctl's added | 14 | * MSGMAX limit removed, sysctl's added | 
| 15 | * (c) 1999 Manfred Spraul <manfred@colorfullife.com> | 15 | * (c) 1999 Manfred Spraul <manfred@colorfullife.com> | 
| 16 | * | ||
| 17 | * support for audit of ipc object properties and permission changes | ||
| 18 | * Dustin Kirkland <dustin.kirkland@us.ibm.com> | ||
| 16 | */ | 19 | */ | 
| 17 | 20 | ||
| 18 | #include <linux/capability.h> | 21 | #include <linux/capability.h> | 
| @@ -447,6 +450,11 @@ asmlinkage long sys_msgctl (int msqid, int cmd, struct msqid_ds __user *buf) | |||
| 447 | if (msg_checkid(msq,msqid)) | 450 | if (msg_checkid(msq,msqid)) | 
| 448 | goto out_unlock_up; | 451 | goto out_unlock_up; | 
| 449 | ipcp = &msq->q_perm; | 452 | ipcp = &msq->q_perm; | 
| 453 | |||
| 454 | err = audit_ipc_obj(ipcp); | ||
| 455 | if (err) | ||
| 456 | goto out_unlock_up; | ||
| 457 | |||
| 450 | err = -EPERM; | 458 | err = -EPERM; | 
| 451 | if (current->euid != ipcp->cuid && | 459 | if (current->euid != ipcp->cuid && | 
| 452 | current->euid != ipcp->uid && !capable(CAP_SYS_ADMIN)) | 460 | current->euid != ipcp->uid && !capable(CAP_SYS_ADMIN)) | 
| @@ -460,7 +468,8 @@ asmlinkage long sys_msgctl (int msqid, int cmd, struct msqid_ds __user *buf) | |||
| 460 | switch (cmd) { | 468 | switch (cmd) { | 
| 461 | case IPC_SET: | 469 | case IPC_SET: | 
| 462 | { | 470 | { | 
| 463 | if ((err = audit_ipc_perms(setbuf.qbytes, setbuf.uid, setbuf.gid, setbuf.mode, ipcp))) | 471 | err = audit_ipc_set_perm(setbuf.qbytes, setbuf.uid, setbuf.gid, setbuf.mode, ipcp); | 
| 472 | if (err) | ||
| 464 | goto out_unlock_up; | 473 | goto out_unlock_up; | 
| 465 | 474 | ||
| 466 | err = -EPERM; | 475 | err = -EPERM; | 
| @@ -61,6 +61,9 @@ | |||
| 61 | * (c) 2001 Red Hat Inc <alan@redhat.com> | 61 | * (c) 2001 Red Hat Inc <alan@redhat.com> | 
| 62 | * Lockless wakeup | 62 | * Lockless wakeup | 
| 63 | * (c) 2003 Manfred Spraul <manfred@colorfullife.com> | 63 | * (c) 2003 Manfred Spraul <manfred@colorfullife.com> | 
| 64 | * | ||
| 65 | * support for audit of ipc object properties and permission changes | ||
| 66 | * Dustin Kirkland <dustin.kirkland@us.ibm.com> | ||
| 64 | */ | 67 | */ | 
| 65 | 68 | ||
| 66 | #include <linux/config.h> | 69 | #include <linux/config.h> | 
| @@ -820,6 +823,11 @@ static int semctl_down(int semid, int semnum, int cmd, int version, union semun | |||
| 820 | goto out_unlock; | 823 | goto out_unlock; | 
| 821 | } | 824 | } | 
| 822 | ipcp = &sma->sem_perm; | 825 | ipcp = &sma->sem_perm; | 
| 826 | |||
| 827 | err = audit_ipc_obj(ipcp); | ||
| 828 | if (err) | ||
| 829 | goto out_unlock; | ||
| 830 | |||
| 823 | if (current->euid != ipcp->cuid && | 831 | if (current->euid != ipcp->cuid && | 
| 824 | current->euid != ipcp->uid && !capable(CAP_SYS_ADMIN)) { | 832 | current->euid != ipcp->uid && !capable(CAP_SYS_ADMIN)) { | 
| 825 | err=-EPERM; | 833 | err=-EPERM; | 
| @@ -836,7 +844,8 @@ static int semctl_down(int semid, int semnum, int cmd, int version, union semun | |||
| 836 | err = 0; | 844 | err = 0; | 
| 837 | break; | 845 | break; | 
| 838 | case IPC_SET: | 846 | case IPC_SET: | 
| 839 | if ((err = audit_ipc_perms(0, setbuf.uid, setbuf.gid, setbuf.mode, ipcp))) | 847 | err = audit_ipc_set_perm(0, setbuf.uid, setbuf.gid, setbuf.mode, ipcp); | 
| 848 | if (err) | ||
| 840 | goto out_unlock; | 849 | goto out_unlock; | 
| 841 | ipcp->uid = setbuf.uid; | 850 | ipcp->uid = setbuf.uid; | 
| 842 | ipcp->gid = setbuf.gid; | 851 | ipcp->gid = setbuf.gid; | 
| @@ -13,6 +13,8 @@ | |||
| 13 | * Shared /dev/zero support, Kanoj Sarcar <kanoj@sgi.com> | 13 | * Shared /dev/zero support, Kanoj Sarcar <kanoj@sgi.com> | 
| 14 | * Move the mm functionality over to mm/shmem.c, Christoph Rohland <cr@sap.com> | 14 | * Move the mm functionality over to mm/shmem.c, Christoph Rohland <cr@sap.com> | 
| 15 | * | 15 | * | 
| 16 | * support for audit of ipc object properties and permission changes | ||
| 17 | * Dustin Kirkland <dustin.kirkland@us.ibm.com> | ||
| 16 | */ | 18 | */ | 
| 17 | 19 | ||
| 18 | #include <linux/config.h> | 20 | #include <linux/config.h> | 
| @@ -542,6 +544,10 @@ asmlinkage long sys_shmctl (int shmid, int cmd, struct shmid_ds __user *buf) | |||
| 542 | if(err) | 544 | if(err) | 
| 543 | goto out_unlock; | 545 | goto out_unlock; | 
| 544 | 546 | ||
| 547 | err = audit_ipc_obj(&(shp->shm_perm)); | ||
| 548 | if (err) | ||
| 549 | goto out_unlock; | ||
| 550 | |||
| 545 | if (!capable(CAP_IPC_LOCK)) { | 551 | if (!capable(CAP_IPC_LOCK)) { | 
| 546 | err = -EPERM; | 552 | err = -EPERM; | 
| 547 | if (current->euid != shp->shm_perm.uid && | 553 | if (current->euid != shp->shm_perm.uid && | 
| @@ -594,6 +600,10 @@ asmlinkage long sys_shmctl (int shmid, int cmd, struct shmid_ds __user *buf) | |||
| 594 | if(err) | 600 | if(err) | 
| 595 | goto out_unlock_up; | 601 | goto out_unlock_up; | 
| 596 | 602 | ||
| 603 | err = audit_ipc_obj(&(shp->shm_perm)); | ||
| 604 | if (err) | ||
| 605 | goto out_unlock_up; | ||
| 606 | |||
| 597 | if (current->euid != shp->shm_perm.uid && | 607 | if (current->euid != shp->shm_perm.uid && | 
| 598 | current->euid != shp->shm_perm.cuid && | 608 | current->euid != shp->shm_perm.cuid && | 
| 599 | !capable(CAP_SYS_ADMIN)) { | 609 | !capable(CAP_SYS_ADMIN)) { | 
| @@ -627,12 +637,15 @@ asmlinkage long sys_shmctl (int shmid, int cmd, struct shmid_ds __user *buf) | |||
| 627 | err=-EINVAL; | 637 | err=-EINVAL; | 
| 628 | if(shp==NULL) | 638 | if(shp==NULL) | 
| 629 | goto out_up; | 639 | goto out_up; | 
| 630 | if ((err = audit_ipc_perms(0, setbuf.uid, setbuf.gid, | ||
| 631 | setbuf.mode, &(shp->shm_perm)))) | ||
| 632 | goto out_unlock_up; | ||
| 633 | err = shm_checkid(shp,shmid); | 640 | err = shm_checkid(shp,shmid); | 
| 634 | if(err) | 641 | if(err) | 
| 635 | goto out_unlock_up; | 642 | goto out_unlock_up; | 
| 643 | err = audit_ipc_obj(&(shp->shm_perm)); | ||
| 644 | if (err) | ||
| 645 | goto out_unlock_up; | ||
| 646 | err = audit_ipc_set_perm(0, setbuf.uid, setbuf.gid, setbuf.mode, &(shp->shm_perm)); | ||
| 647 | if (err) | ||
| 648 | goto out_unlock_up; | ||
| 636 | err=-EPERM; | 649 | err=-EPERM; | 
| 637 | if (current->euid != shp->shm_perm.uid && | 650 | if (current->euid != shp->shm_perm.uid && | 
| 638 | current->euid != shp->shm_perm.cuid && | 651 | current->euid != shp->shm_perm.cuid && | 
diff --git a/ipc/util.c b/ipc/util.c index b3dcfad3b4f7..8193299f45f6 100644 --- a/ipc/util.c +++ b/ipc/util.c  | |||
| @@ -10,6 +10,8 @@ | |||
| 10 | * Manfred Spraul <manfred@colorfullife.com> | 10 | * Manfred Spraul <manfred@colorfullife.com> | 
| 11 | * Oct 2002 - One lock per IPC id. RCU ipc_free for lock-free grow_ary(). | 11 | * Oct 2002 - One lock per IPC id. RCU ipc_free for lock-free grow_ary(). | 
| 12 | * Mingming Cao <cmm@us.ibm.com> | 12 | * Mingming Cao <cmm@us.ibm.com> | 
| 13 | * Mar 2006 - support for audit of ipc object properties | ||
| 14 | * Dustin Kirkland <dustin.kirkland@us.ibm.com> | ||
| 13 | */ | 15 | */ | 
| 14 | 16 | ||
| 15 | #include <linux/config.h> | 17 | #include <linux/config.h> | 
| @@ -27,6 +29,7 @@ | |||
| 27 | #include <linux/workqueue.h> | 29 | #include <linux/workqueue.h> | 
| 28 | #include <linux/seq_file.h> | 30 | #include <linux/seq_file.h> | 
| 29 | #include <linux/proc_fs.h> | 31 | #include <linux/proc_fs.h> | 
| 32 | #include <linux/audit.h> | ||
| 30 | 33 | ||
| 31 | #include <asm/unistd.h> | 34 | #include <asm/unistd.h> | 
| 32 | 35 | ||
| @@ -464,8 +467,10 @@ void ipc_rcu_putref(void *ptr) | |||
| 464 | 467 | ||
| 465 | int ipcperms (struct kern_ipc_perm *ipcp, short flag) | 468 | int ipcperms (struct kern_ipc_perm *ipcp, short flag) | 
| 466 | { /* flag will most probably be 0 or S_...UGO from <linux/stat.h> */ | 469 | { /* flag will most probably be 0 or S_...UGO from <linux/stat.h> */ | 
| 467 | int requested_mode, granted_mode; | 470 | int requested_mode, granted_mode, err; | 
| 468 | 471 | ||
| 472 | if (unlikely((err = audit_ipc_obj(ipcp)))) | ||
| 473 | return err; | ||
| 469 | requested_mode = (flag >> 6) | (flag >> 3) | flag; | 474 | requested_mode = (flag >> 6) | (flag >> 3) | flag; | 
| 470 | granted_mode = ipcp->mode; | 475 | granted_mode = ipcp->mode; | 
| 471 | if (current->euid == ipcp->cuid || current->euid == ipcp->uid) | 476 | if (current->euid == ipcp->cuid || current->euid == ipcp->uid) | 
diff --git a/kernel/audit.c b/kernel/audit.c index c8ccbd09048f..df57b493e1cb 100644 --- a/kernel/audit.c +++ b/kernel/audit.c  | |||
| @@ -55,6 +55,9 @@ | |||
| 55 | #include <net/netlink.h> | 55 | #include <net/netlink.h> | 
| 56 | #include <linux/skbuff.h> | 56 | #include <linux/skbuff.h> | 
| 57 | #include <linux/netlink.h> | 57 | #include <linux/netlink.h> | 
| 58 | #include <linux/selinux.h> | ||
| 59 | |||
| 60 | #include "audit.h" | ||
| 58 | 61 | ||
| 59 | /* No auditing will take place until audit_initialized != 0. | 62 | /* No auditing will take place until audit_initialized != 0. | 
| 60 | * (Initialization happens after skb_init is called.) */ | 63 | * (Initialization happens after skb_init is called.) */ | 
| @@ -227,49 +230,103 @@ void audit_log_lost(const char *message) | |||
| 227 | } | 230 | } | 
| 228 | } | 231 | } | 
| 229 | 232 | ||
| 230 | static int audit_set_rate_limit(int limit, uid_t loginuid) | 233 | static int audit_set_rate_limit(int limit, uid_t loginuid, u32 sid) | 
| 231 | { | 234 | { | 
| 232 | int old = audit_rate_limit; | 235 | int old = audit_rate_limit; | 
| 233 | audit_rate_limit = limit; | 236 | |
| 234 | audit_log(NULL, GFP_KERNEL, AUDIT_CONFIG_CHANGE, | 237 | if (sid) { | 
| 238 | char *ctx = NULL; | ||
| 239 | u32 len; | ||
| 240 | int rc; | ||
| 241 | if ((rc = selinux_ctxid_to_string(sid, &ctx, &len))) | ||
| 242 | return rc; | ||
| 243 | else | ||
| 244 | audit_log(NULL, GFP_KERNEL, AUDIT_CONFIG_CHANGE, | ||
| 245 | "audit_rate_limit=%d old=%d by auid=%u subj=%s", | ||
| 246 | limit, old, loginuid, ctx); | ||
| 247 | kfree(ctx); | ||
| 248 | } else | ||
| 249 | audit_log(NULL, GFP_KERNEL, AUDIT_CONFIG_CHANGE, | ||
| 235 | "audit_rate_limit=%d old=%d by auid=%u", | 250 | "audit_rate_limit=%d old=%d by auid=%u", | 
| 236 | audit_rate_limit, old, loginuid); | 251 | limit, old, loginuid); | 
| 252 | audit_rate_limit = limit; | ||
| 237 | return old; | 253 | return old; | 
| 238 | } | 254 | } | 
| 239 | 255 | ||
| 240 | static int audit_set_backlog_limit(int limit, uid_t loginuid) | 256 | static int audit_set_backlog_limit(int limit, uid_t loginuid, u32 sid) | 
| 241 | { | 257 | { | 
| 242 | int old = audit_backlog_limit; | 258 | int old = audit_backlog_limit; | 
| 243 | audit_backlog_limit = limit; | 259 | |
| 244 | audit_log(NULL, GFP_KERNEL, AUDIT_CONFIG_CHANGE, | 260 | if (sid) { | 
| 261 | char *ctx = NULL; | ||
| 262 | u32 len; | ||
| 263 | int rc; | ||
| 264 | if ((rc = selinux_ctxid_to_string(sid, &ctx, &len))) | ||
| 265 | return rc; | ||
| 266 | else | ||
| 267 | audit_log(NULL, GFP_KERNEL, AUDIT_CONFIG_CHANGE, | ||
| 268 | "audit_backlog_limit=%d old=%d by auid=%u subj=%s", | ||
| 269 | limit, old, loginuid, ctx); | ||
| 270 | kfree(ctx); | ||
| 271 | } else | ||
| 272 | audit_log(NULL, GFP_KERNEL, AUDIT_CONFIG_CHANGE, | ||
| 245 | "audit_backlog_limit=%d old=%d by auid=%u", | 273 | "audit_backlog_limit=%d old=%d by auid=%u", | 
| 246 | audit_backlog_limit, old, loginuid); | 274 | limit, old, loginuid); | 
| 275 | audit_backlog_limit = limit; | ||
| 247 | return old; | 276 | return old; | 
| 248 | } | 277 | } | 
| 249 | 278 | ||
| 250 | static int audit_set_enabled(int state, uid_t loginuid) | 279 | static int audit_set_enabled(int state, uid_t loginuid, u32 sid) | 
| 251 | { | 280 | { | 
| 252 | int old = audit_enabled; | 281 | int old = audit_enabled; | 
| 282 | |||
| 253 | if (state != 0 && state != 1) | 283 | if (state != 0 && state != 1) | 
| 254 | return -EINVAL; | 284 | return -EINVAL; | 
| 255 | audit_enabled = state; | 285 | |
| 256 | audit_log(NULL, GFP_KERNEL, AUDIT_CONFIG_CHANGE, | 286 | if (sid) { | 
| 287 | char *ctx = NULL; | ||
| 288 | u32 len; | ||
| 289 | int rc; | ||
| 290 | if ((rc = selinux_ctxid_to_string(sid, &ctx, &len))) | ||
| 291 | return rc; | ||
| 292 | else | ||
| 293 | audit_log(NULL, GFP_KERNEL, AUDIT_CONFIG_CHANGE, | ||
| 294 | "audit_enabled=%d old=%d by auid=%u subj=%s", | ||
| 295 | state, old, loginuid, ctx); | ||
| 296 | kfree(ctx); | ||
| 297 | } else | ||
| 298 | audit_log(NULL, GFP_KERNEL, AUDIT_CONFIG_CHANGE, | ||
| 257 | "audit_enabled=%d old=%d by auid=%u", | 299 | "audit_enabled=%d old=%d by auid=%u", | 
| 258 | audit_enabled, old, loginuid); | 300 | state, old, loginuid); | 
| 301 | audit_enabled = state; | ||
| 259 | return old; | 302 | return old; | 
| 260 | } | 303 | } | 
| 261 | 304 | ||
| 262 | static int audit_set_failure(int state, uid_t loginuid) | 305 | static int audit_set_failure(int state, uid_t loginuid, u32 sid) | 
| 263 | { | 306 | { | 
| 264 | int old = audit_failure; | 307 | int old = audit_failure; | 
| 308 | |||
| 265 | if (state != AUDIT_FAIL_SILENT | 309 | if (state != AUDIT_FAIL_SILENT | 
| 266 | && state != AUDIT_FAIL_PRINTK | 310 | && state != AUDIT_FAIL_PRINTK | 
| 267 | && state != AUDIT_FAIL_PANIC) | 311 | && state != AUDIT_FAIL_PANIC) | 
| 268 | return -EINVAL; | 312 | return -EINVAL; | 
| 269 | audit_failure = state; | 313 | |
| 270 | audit_log(NULL, GFP_KERNEL, AUDIT_CONFIG_CHANGE, | 314 | if (sid) { | 
| 315 | char *ctx = NULL; | ||
| 316 | u32 len; | ||
| 317 | int rc; | ||
| 318 | if ((rc = selinux_ctxid_to_string(sid, &ctx, &len))) | ||
| 319 | return rc; | ||
| 320 | else | ||
| 321 | audit_log(NULL, GFP_KERNEL, AUDIT_CONFIG_CHANGE, | ||
| 322 | "audit_failure=%d old=%d by auid=%u subj=%s", | ||
| 323 | state, old, loginuid, ctx); | ||
| 324 | kfree(ctx); | ||
| 325 | } else | ||
| 326 | audit_log(NULL, GFP_KERNEL, AUDIT_CONFIG_CHANGE, | ||
| 271 | "audit_failure=%d old=%d by auid=%u", | 327 | "audit_failure=%d old=%d by auid=%u", | 
| 272 | audit_failure, old, loginuid); | 328 | state, old, loginuid); | 
| 329 | audit_failure = state; | ||
| 273 | return old; | 330 | return old; | 
| 274 | } | 331 | } | 
| 275 | 332 | ||
| @@ -387,7 +444,7 @@ static int audit_netlink_ok(kernel_cap_t eff_cap, u16 msg_type) | |||
| 387 | 444 | ||
| 388 | static int audit_receive_msg(struct sk_buff *skb, struct nlmsghdr *nlh) | 445 | static int audit_receive_msg(struct sk_buff *skb, struct nlmsghdr *nlh) | 
| 389 | { | 446 | { | 
| 390 | u32 uid, pid, seq; | 447 | u32 uid, pid, seq, sid; | 
| 391 | void *data; | 448 | void *data; | 
| 392 | struct audit_status *status_get, status_set; | 449 | struct audit_status *status_get, status_set; | 
| 393 | int err; | 450 | int err; | 
| @@ -413,6 +470,7 @@ static int audit_receive_msg(struct sk_buff *skb, struct nlmsghdr *nlh) | |||
| 413 | pid = NETLINK_CREDS(skb)->pid; | 470 | pid = NETLINK_CREDS(skb)->pid; | 
| 414 | uid = NETLINK_CREDS(skb)->uid; | 471 | uid = NETLINK_CREDS(skb)->uid; | 
| 415 | loginuid = NETLINK_CB(skb).loginuid; | 472 | loginuid = NETLINK_CB(skb).loginuid; | 
| 473 | sid = NETLINK_CB(skb).sid; | ||
| 416 | seq = nlh->nlmsg_seq; | 474 | seq = nlh->nlmsg_seq; | 
| 417 | data = NLMSG_DATA(nlh); | 475 | data = NLMSG_DATA(nlh); | 
| 418 | 476 | ||
| @@ -433,25 +491,43 @@ static int audit_receive_msg(struct sk_buff *skb, struct nlmsghdr *nlh) | |||
| 433 | return -EINVAL; | 491 | return -EINVAL; | 
| 434 | status_get = (struct audit_status *)data; | 492 | status_get = (struct audit_status *)data; | 
| 435 | if (status_get->mask & AUDIT_STATUS_ENABLED) { | 493 | if (status_get->mask & AUDIT_STATUS_ENABLED) { | 
| 436 | err = audit_set_enabled(status_get->enabled, loginuid); | 494 | err = audit_set_enabled(status_get->enabled, | 
| 495 | loginuid, sid); | ||
| 437 | if (err < 0) return err; | 496 | if (err < 0) return err; | 
| 438 | } | 497 | } | 
| 439 | if (status_get->mask & AUDIT_STATUS_FAILURE) { | 498 | if (status_get->mask & AUDIT_STATUS_FAILURE) { | 
| 440 | err = audit_set_failure(status_get->failure, loginuid); | 499 | err = audit_set_failure(status_get->failure, | 
| 500 | loginuid, sid); | ||
| 441 | if (err < 0) return err; | 501 | if (err < 0) return err; | 
| 442 | } | 502 | } | 
| 443 | if (status_get->mask & AUDIT_STATUS_PID) { | 503 | if (status_get->mask & AUDIT_STATUS_PID) { | 
| 444 | int old = audit_pid; | 504 | int old = audit_pid; | 
| 505 | if (sid) { | ||
| 506 | char *ctx = NULL; | ||
| 507 | u32 len; | ||
| 508 | int rc; | ||
| 509 | if ((rc = selinux_ctxid_to_string( | ||
| 510 | sid, &ctx, &len))) | ||
| 511 | return rc; | ||
| 512 | else | ||
| 513 | audit_log(NULL, GFP_KERNEL, | ||
| 514 | AUDIT_CONFIG_CHANGE, | ||
| 515 | "audit_pid=%d old=%d by auid=%u subj=%s", | ||
| 516 | status_get->pid, old, | ||
| 517 | loginuid, ctx); | ||
| 518 | kfree(ctx); | ||
| 519 | } else | ||
| 520 | audit_log(NULL, GFP_KERNEL, AUDIT_CONFIG_CHANGE, | ||
| 521 | "audit_pid=%d old=%d by auid=%u", | ||
| 522 | status_get->pid, old, loginuid); | ||
| 445 | audit_pid = status_get->pid; | 523 | audit_pid = status_get->pid; | 
| 446 | audit_log(NULL, GFP_KERNEL, AUDIT_CONFIG_CHANGE, | ||
| 447 | "audit_pid=%d old=%d by auid=%u", | ||
| 448 | audit_pid, old, loginuid); | ||
| 449 | } | 524 | } | 
| 450 | if (status_get->mask & AUDIT_STATUS_RATE_LIMIT) | 525 | if (status_get->mask & AUDIT_STATUS_RATE_LIMIT) | 
| 451 | audit_set_rate_limit(status_get->rate_limit, loginuid); | 526 | audit_set_rate_limit(status_get->rate_limit, | 
| 527 | loginuid, sid); | ||
| 452 | if (status_get->mask & AUDIT_STATUS_BACKLOG_LIMIT) | 528 | if (status_get->mask & AUDIT_STATUS_BACKLOG_LIMIT) | 
| 453 | audit_set_backlog_limit(status_get->backlog_limit, | 529 | audit_set_backlog_limit(status_get->backlog_limit, | 
| 454 | loginuid); | 530 | loginuid, sid); | 
| 455 | break; | 531 | break; | 
| 456 | case AUDIT_USER: | 532 | case AUDIT_USER: | 
| 457 | case AUDIT_FIRST_USER_MSG...AUDIT_LAST_USER_MSG: | 533 | case AUDIT_FIRST_USER_MSG...AUDIT_LAST_USER_MSG: | 
| @@ -465,8 +541,23 @@ static int audit_receive_msg(struct sk_buff *skb, struct nlmsghdr *nlh) | |||
| 465 | ab = audit_log_start(NULL, GFP_KERNEL, msg_type); | 541 | ab = audit_log_start(NULL, GFP_KERNEL, msg_type); | 
| 466 | if (ab) { | 542 | if (ab) { | 
| 467 | audit_log_format(ab, | 543 | audit_log_format(ab, | 
| 468 | "user pid=%d uid=%u auid=%u msg='%.1024s'", | 544 | "user pid=%d uid=%u auid=%u", | 
| 469 | pid, uid, loginuid, (char *)data); | 545 | pid, uid, loginuid); | 
| 546 | if (sid) { | ||
| 547 | char *ctx = NULL; | ||
| 548 | u32 len; | ||
| 549 | if (selinux_ctxid_to_string( | ||
| 550 | sid, &ctx, &len)) { | ||
| 551 | audit_log_format(ab, | ||
| 552 | " ssid=%u", sid); | ||
| 553 | /* Maybe call audit_panic? */ | ||
| 554 | } else | ||
| 555 | audit_log_format(ab, | ||
| 556 | " subj=%s", ctx); | ||
| 557 | kfree(ctx); | ||
| 558 | } | ||
| 559 | audit_log_format(ab, " msg='%.1024s'", | ||
| 560 | (char *)data); | ||
| 470 | audit_set_pid(ab, pid); | 561 | audit_set_pid(ab, pid); | 
| 471 | audit_log_end(ab); | 562 | audit_log_end(ab); | 
| 472 | } | 563 | } | 
| @@ -480,7 +571,7 @@ static int audit_receive_msg(struct sk_buff *skb, struct nlmsghdr *nlh) | |||
| 480 | case AUDIT_LIST: | 571 | case AUDIT_LIST: | 
| 481 | err = audit_receive_filter(nlh->nlmsg_type, NETLINK_CB(skb).pid, | 572 | err = audit_receive_filter(nlh->nlmsg_type, NETLINK_CB(skb).pid, | 
| 482 | uid, seq, data, nlmsg_len(nlh), | 573 | uid, seq, data, nlmsg_len(nlh), | 
| 483 | loginuid); | 574 | loginuid, sid); | 
| 484 | break; | 575 | break; | 
| 485 | case AUDIT_ADD_RULE: | 576 | case AUDIT_ADD_RULE: | 
| 486 | case AUDIT_DEL_RULE: | 577 | case AUDIT_DEL_RULE: | 
| @@ -490,7 +581,7 @@ static int audit_receive_msg(struct sk_buff *skb, struct nlmsghdr *nlh) | |||
| 490 | case AUDIT_LIST_RULES: | 581 | case AUDIT_LIST_RULES: | 
| 491 | err = audit_receive_filter(nlh->nlmsg_type, NETLINK_CB(skb).pid, | 582 | err = audit_receive_filter(nlh->nlmsg_type, NETLINK_CB(skb).pid, | 
| 492 | uid, seq, data, nlmsg_len(nlh), | 583 | uid, seq, data, nlmsg_len(nlh), | 
| 493 | loginuid); | 584 | loginuid, sid); | 
| 494 | break; | 585 | break; | 
| 495 | case AUDIT_SIGNAL_INFO: | 586 | case AUDIT_SIGNAL_INFO: | 
| 496 | sig_data.uid = audit_sig_uid; | 587 | sig_data.uid = audit_sig_uid; | 
| @@ -564,6 +655,11 @@ static int __init audit_init(void) | |||
| 564 | skb_queue_head_init(&audit_skb_queue); | 655 | skb_queue_head_init(&audit_skb_queue); | 
| 565 | audit_initialized = 1; | 656 | audit_initialized = 1; | 
| 566 | audit_enabled = audit_default; | 657 | audit_enabled = audit_default; | 
| 658 | |||
| 659 | /* Register the callback with selinux. This callback will be invoked | ||
| 660 | * when a new policy is loaded. */ | ||
| 661 | selinux_audit_set_callback(&selinux_audit_rule_update); | ||
| 662 | |||
| 567 | audit_log(NULL, GFP_KERNEL, AUDIT_KERNEL, "initialized"); | 663 | audit_log(NULL, GFP_KERNEL, AUDIT_KERNEL, "initialized"); | 
| 568 | return 0; | 664 | return 0; | 
| 569 | } | 665 | } | 
diff --git a/kernel/audit.h b/kernel/audit.h index bc5392076e2b..6f733920fd32 100644 --- a/kernel/audit.h +++ b/kernel/audit.h  | |||
| @@ -54,9 +54,11 @@ enum audit_state { | |||
| 54 | 54 | ||
| 55 | /* Rule lists */ | 55 | /* Rule lists */ | 
| 56 | struct audit_field { | 56 | struct audit_field { | 
| 57 | u32 type; | 57 | u32 type; | 
| 58 | u32 val; | 58 | u32 val; | 
| 59 | u32 op; | 59 | u32 op; | 
| 60 | char *se_str; | ||
| 61 | struct selinux_audit_rule *se_rule; | ||
| 60 | }; | 62 | }; | 
| 61 | 63 | ||
| 62 | struct audit_krule { | 64 | struct audit_krule { | 
| @@ -86,3 +88,5 @@ extern void audit_send_reply(int pid, int seq, int type, | |||
| 86 | extern void audit_log_lost(const char *message); | 88 | extern void audit_log_lost(const char *message); | 
| 87 | extern void audit_panic(const char *message); | 89 | extern void audit_panic(const char *message); | 
| 88 | extern struct mutex audit_netlink_mutex; | 90 | extern struct mutex audit_netlink_mutex; | 
| 91 | |||
| 92 | extern int selinux_audit_rule_update(void); | ||
diff --git a/kernel/auditfilter.c b/kernel/auditfilter.c index d3a8539f3a83..7c134906d689 100644 --- a/kernel/auditfilter.c +++ b/kernel/auditfilter.c  | |||
| @@ -23,6 +23,7 @@ | |||
| 23 | #include <linux/audit.h> | 23 | #include <linux/audit.h> | 
| 24 | #include <linux/kthread.h> | 24 | #include <linux/kthread.h> | 
| 25 | #include <linux/netlink.h> | 25 | #include <linux/netlink.h> | 
| 26 | #include <linux/selinux.h> | ||
| 26 | #include "audit.h" | 27 | #include "audit.h" | 
| 27 | 28 | ||
| 28 | /* There are three lists of rules -- one to search at task creation | 29 | /* There are three lists of rules -- one to search at task creation | 
| @@ -42,6 +43,13 @@ struct list_head audit_filter_list[AUDIT_NR_FILTERS] = { | |||
| 42 | 43 | ||
| 43 | static inline void audit_free_rule(struct audit_entry *e) | 44 | static inline void audit_free_rule(struct audit_entry *e) | 
| 44 | { | 45 | { | 
| 46 | int i; | ||
| 47 | if (e->rule.fields) | ||
| 48 | for (i = 0; i < e->rule.field_count; i++) { | ||
| 49 | struct audit_field *f = &e->rule.fields[i]; | ||
| 50 | kfree(f->se_str); | ||
| 51 | selinux_audit_rule_free(f->se_rule); | ||
| 52 | } | ||
| 45 | kfree(e->rule.fields); | 53 | kfree(e->rule.fields); | 
| 46 | kfree(e); | 54 | kfree(e); | 
| 47 | } | 55 | } | 
| @@ -52,9 +60,29 @@ static inline void audit_free_rule_rcu(struct rcu_head *head) | |||
| 52 | audit_free_rule(e); | 60 | audit_free_rule(e); | 
| 53 | } | 61 | } | 
| 54 | 62 | ||
| 63 | /* Initialize an audit filterlist entry. */ | ||
| 64 | static inline struct audit_entry *audit_init_entry(u32 field_count) | ||
| 65 | { | ||
| 66 | struct audit_entry *entry; | ||
| 67 | struct audit_field *fields; | ||
| 68 | |||
| 69 | entry = kzalloc(sizeof(*entry), GFP_KERNEL); | ||
| 70 | if (unlikely(!entry)) | ||
| 71 | return NULL; | ||
| 72 | |||
| 73 | fields = kzalloc(sizeof(*fields) * field_count, GFP_KERNEL); | ||
| 74 | if (unlikely(!fields)) { | ||
| 75 | kfree(entry); | ||
| 76 | return NULL; | ||
| 77 | } | ||
| 78 | entry->rule.fields = fields; | ||
| 79 | |||
| 80 | return entry; | ||
| 81 | } | ||
| 82 | |||
| 55 | /* Unpack a filter field's string representation from user-space | 83 | /* Unpack a filter field's string representation from user-space | 
| 56 | * buffer. */ | 84 | * buffer. */ | 
| 57 | static __attribute__((unused)) char *audit_unpack_string(void **bufp, size_t *remain, size_t len) | 85 | static char *audit_unpack_string(void **bufp, size_t *remain, size_t len) | 
| 58 | { | 86 | { | 
| 59 | char *str; | 87 | char *str; | 
| 60 | 88 | ||
| @@ -84,7 +112,6 @@ static inline struct audit_entry *audit_to_entry_common(struct audit_rule *rule) | |||
| 84 | { | 112 | { | 
| 85 | unsigned listnr; | 113 | unsigned listnr; | 
| 86 | struct audit_entry *entry; | 114 | struct audit_entry *entry; | 
| 87 | struct audit_field *fields; | ||
| 88 | int i, err; | 115 | int i, err; | 
| 89 | 116 | ||
| 90 | err = -EINVAL; | 117 | err = -EINVAL; | 
| @@ -108,23 +135,14 @@ static inline struct audit_entry *audit_to_entry_common(struct audit_rule *rule) | |||
| 108 | goto exit_err; | 135 | goto exit_err; | 
| 109 | 136 | ||
| 110 | err = -ENOMEM; | 137 | err = -ENOMEM; | 
| 111 | entry = kmalloc(sizeof(*entry), GFP_KERNEL); | 138 | entry = audit_init_entry(rule->field_count); | 
| 112 | if (unlikely(!entry)) | 139 | if (!entry) | 
| 113 | goto exit_err; | ||
| 114 | fields = kmalloc(sizeof(*fields) * rule->field_count, GFP_KERNEL); | ||
| 115 | if (unlikely(!fields)) { | ||
| 116 | kfree(entry); | ||
| 117 | goto exit_err; | 140 | goto exit_err; | 
| 118 | } | ||
| 119 | |||
| 120 | memset(&entry->rule, 0, sizeof(struct audit_krule)); | ||
| 121 | memset(fields, 0, sizeof(struct audit_field)); | ||
| 122 | 141 | ||
| 123 | entry->rule.flags = rule->flags & AUDIT_FILTER_PREPEND; | 142 | entry->rule.flags = rule->flags & AUDIT_FILTER_PREPEND; | 
| 124 | entry->rule.listnr = listnr; | 143 | entry->rule.listnr = listnr; | 
| 125 | entry->rule.action = rule->action; | 144 | entry->rule.action = rule->action; | 
| 126 | entry->rule.field_count = rule->field_count; | 145 | entry->rule.field_count = rule->field_count; | 
| 127 | entry->rule.fields = fields; | ||
| 128 | 146 | ||
| 129 | for (i = 0; i < AUDIT_BITMASK_SIZE; i++) | 147 | for (i = 0; i < AUDIT_BITMASK_SIZE; i++) | 
| 130 | entry->rule.mask[i] = rule->mask[i]; | 148 | entry->rule.mask[i] = rule->mask[i]; | 
| @@ -150,15 +168,20 @@ static struct audit_entry *audit_rule_to_entry(struct audit_rule *rule) | |||
| 150 | for (i = 0; i < rule->field_count; i++) { | 168 | for (i = 0; i < rule->field_count; i++) { | 
| 151 | struct audit_field *f = &entry->rule.fields[i]; | 169 | struct audit_field *f = &entry->rule.fields[i]; | 
| 152 | 170 | ||
| 153 | if (rule->fields[i] & AUDIT_UNUSED_BITS) { | ||
| 154 | err = -EINVAL; | ||
| 155 | goto exit_free; | ||
| 156 | } | ||
| 157 | |||
| 158 | f->op = rule->fields[i] & (AUDIT_NEGATE|AUDIT_OPERATORS); | 171 | f->op = rule->fields[i] & (AUDIT_NEGATE|AUDIT_OPERATORS); | 
| 159 | f->type = rule->fields[i] & ~(AUDIT_NEGATE|AUDIT_OPERATORS); | 172 | f->type = rule->fields[i] & ~(AUDIT_NEGATE|AUDIT_OPERATORS); | 
| 160 | f->val = rule->values[i]; | 173 | f->val = rule->values[i]; | 
| 161 | 174 | ||
| 175 | if (f->type & AUDIT_UNUSED_BITS || | ||
| 176 | f->type == AUDIT_SE_USER || | ||
| 177 | f->type == AUDIT_SE_ROLE || | ||
| 178 | f->type == AUDIT_SE_TYPE || | ||
| 179 | f->type == AUDIT_SE_SEN || | ||
| 180 | f->type == AUDIT_SE_CLR) { | ||
| 181 | err = -EINVAL; | ||
| 182 | goto exit_free; | ||
| 183 | } | ||
| 184 | |||
| 162 | entry->rule.vers_ops = (f->op & AUDIT_OPERATORS) ? 2 : 1; | 185 | entry->rule.vers_ops = (f->op & AUDIT_OPERATORS) ? 2 : 1; | 
| 163 | 186 | ||
| 164 | /* Support for legacy operators where | 187 | /* Support for legacy operators where | 
| @@ -188,8 +211,9 @@ static struct audit_entry *audit_data_to_entry(struct audit_rule_data *data, | |||
| 188 | int err = 0; | 211 | int err = 0; | 
| 189 | struct audit_entry *entry; | 212 | struct audit_entry *entry; | 
| 190 | void *bufp; | 213 | void *bufp; | 
| 191 | /* size_t remain = datasz - sizeof(struct audit_rule_data); */ | 214 | size_t remain = datasz - sizeof(struct audit_rule_data); | 
| 192 | int i; | 215 | int i; | 
| 216 | char *str; | ||
| 193 | 217 | ||
| 194 | entry = audit_to_entry_common((struct audit_rule *)data); | 218 | entry = audit_to_entry_common((struct audit_rule *)data); | 
| 195 | if (IS_ERR(entry)) | 219 | if (IS_ERR(entry)) | 
| @@ -207,10 +231,35 @@ static struct audit_entry *audit_data_to_entry(struct audit_rule_data *data, | |||
| 207 | 231 | ||
| 208 | f->op = data->fieldflags[i] & AUDIT_OPERATORS; | 232 | f->op = data->fieldflags[i] & AUDIT_OPERATORS; | 
| 209 | f->type = data->fields[i]; | 233 | f->type = data->fields[i]; | 
| 234 | f->val = data->values[i]; | ||
| 235 | f->se_str = NULL; | ||
| 236 | f->se_rule = NULL; | ||
| 210 | switch(f->type) { | 237 | switch(f->type) { | 
| 211 | /* call type-specific conversion routines here */ | 238 | case AUDIT_SE_USER: | 
| 212 | default: | 239 | case AUDIT_SE_ROLE: | 
| 213 | f->val = data->values[i]; | 240 | case AUDIT_SE_TYPE: | 
| 241 | case AUDIT_SE_SEN: | ||
| 242 | case AUDIT_SE_CLR: | ||
| 243 | str = audit_unpack_string(&bufp, &remain, f->val); | ||
| 244 | if (IS_ERR(str)) | ||
| 245 | goto exit_free; | ||
| 246 | entry->rule.buflen += f->val; | ||
| 247 | |||
| 248 | err = selinux_audit_rule_init(f->type, f->op, str, | ||
| 249 | &f->se_rule); | ||
| 250 | /* Keep currently invalid fields around in case they | ||
| 251 | * become valid after a policy reload. */ | ||
| 252 | if (err == -EINVAL) { | ||
| 253 | printk(KERN_WARNING "audit rule for selinux " | ||
| 254 | "\'%s\' is invalid\n", str); | ||
| 255 | err = 0; | ||
| 256 | } | ||
| 257 | if (err) { | ||
| 258 | kfree(str); | ||
| 259 | goto exit_free; | ||
| 260 | } else | ||
| 261 | f->se_str = str; | ||
| 262 | break; | ||
| 214 | } | 263 | } | 
| 215 | } | 264 | } | 
| 216 | 265 | ||
| @@ -286,7 +335,14 @@ static struct audit_rule_data *audit_krule_to_data(struct audit_krule *krule) | |||
| 286 | data->fields[i] = f->type; | 335 | data->fields[i] = f->type; | 
| 287 | data->fieldflags[i] = f->op; | 336 | data->fieldflags[i] = f->op; | 
| 288 | switch(f->type) { | 337 | switch(f->type) { | 
| 289 | /* call type-specific conversion routines here */ | 338 | case AUDIT_SE_USER: | 
| 339 | case AUDIT_SE_ROLE: | ||
| 340 | case AUDIT_SE_TYPE: | ||
| 341 | case AUDIT_SE_SEN: | ||
| 342 | case AUDIT_SE_CLR: | ||
| 343 | data->buflen += data->values[i] = | ||
| 344 | audit_pack_string(&bufp, f->se_str); | ||
| 345 | break; | ||
| 290 | default: | 346 | default: | 
| 291 | data->values[i] = f->val; | 347 | data->values[i] = f->val; | 
| 292 | } | 348 | } | 
| @@ -314,7 +370,14 @@ static int audit_compare_rule(struct audit_krule *a, struct audit_krule *b) | |||
| 314 | return 1; | 370 | return 1; | 
| 315 | 371 | ||
| 316 | switch(a->fields[i].type) { | 372 | switch(a->fields[i].type) { | 
| 317 | /* call type-specific comparison routines here */ | 373 | case AUDIT_SE_USER: | 
| 374 | case AUDIT_SE_ROLE: | ||
| 375 | case AUDIT_SE_TYPE: | ||
| 376 | case AUDIT_SE_SEN: | ||
| 377 | case AUDIT_SE_CLR: | ||
| 378 | if (strcmp(a->fields[i].se_str, b->fields[i].se_str)) | ||
| 379 | return 1; | ||
| 380 | break; | ||
| 318 | default: | 381 | default: | 
| 319 | if (a->fields[i].val != b->fields[i].val) | 382 | if (a->fields[i].val != b->fields[i].val) | 
| 320 | return 1; | 383 | return 1; | 
| @@ -328,6 +391,81 @@ static int audit_compare_rule(struct audit_krule *a, struct audit_krule *b) | |||
| 328 | return 0; | 391 | return 0; | 
| 329 | } | 392 | } | 
| 330 | 393 | ||
| 394 | /* Duplicate selinux field information. The se_rule is opaque, so must be | ||
| 395 | * re-initialized. */ | ||
| 396 | static inline int audit_dupe_selinux_field(struct audit_field *df, | ||
| 397 | struct audit_field *sf) | ||
| 398 | { | ||
| 399 | int ret = 0; | ||
| 400 | char *se_str; | ||
| 401 | |||
| 402 | /* our own copy of se_str */ | ||
| 403 | se_str = kstrdup(sf->se_str, GFP_KERNEL); | ||
| 404 | if (unlikely(IS_ERR(se_str))) | ||
| 405 | return -ENOMEM; | ||
| 406 | df->se_str = se_str; | ||
| 407 | |||
| 408 | /* our own (refreshed) copy of se_rule */ | ||
| 409 | ret = selinux_audit_rule_init(df->type, df->op, df->se_str, | ||
| 410 | &df->se_rule); | ||
| 411 | /* Keep currently invalid fields around in case they | ||
| 412 | * become valid after a policy reload. */ | ||
| 413 | if (ret == -EINVAL) { | ||
| 414 | printk(KERN_WARNING "audit rule for selinux \'%s\' is " | ||
| 415 | "invalid\n", df->se_str); | ||
| 416 | ret = 0; | ||
| 417 | } | ||
| 418 | |||
| 419 | return ret; | ||
| 420 | } | ||
| 421 | |||
| 422 | /* Duplicate an audit rule. This will be a deep copy with the exception | ||
| 423 | * of the watch - that pointer is carried over. The selinux specific fields | ||
| 424 | * will be updated in the copy. The point is to be able to replace the old | ||
| 425 | * rule with the new rule in the filterlist, then free the old rule. */ | ||
| 426 | static struct audit_entry *audit_dupe_rule(struct audit_krule *old) | ||
| 427 | { | ||
| 428 | u32 fcount = old->field_count; | ||
| 429 | struct audit_entry *entry; | ||
| 430 | struct audit_krule *new; | ||
| 431 | int i, err = 0; | ||
| 432 | |||
| 433 | entry = audit_init_entry(fcount); | ||
| 434 | if (unlikely(!entry)) | ||
| 435 | return ERR_PTR(-ENOMEM); | ||
| 436 | |||
| 437 | new = &entry->rule; | ||
| 438 | new->vers_ops = old->vers_ops; | ||
| 439 | new->flags = old->flags; | ||
| 440 | new->listnr = old->listnr; | ||
| 441 | new->action = old->action; | ||
| 442 | for (i = 0; i < AUDIT_BITMASK_SIZE; i++) | ||
| 443 | new->mask[i] = old->mask[i]; | ||
| 444 | new->buflen = old->buflen; | ||
| 445 | new->field_count = old->field_count; | ||
| 446 | memcpy(new->fields, old->fields, sizeof(struct audit_field) * fcount); | ||
| 447 | |||
| 448 | /* deep copy this information, updating the se_rule fields, because | ||
| 449 | * the originals will all be freed when the old rule is freed. */ | ||
| 450 | for (i = 0; i < fcount; i++) { | ||
| 451 | switch (new->fields[i].type) { | ||
| 452 | case AUDIT_SE_USER: | ||
| 453 | case AUDIT_SE_ROLE: | ||
| 454 | case AUDIT_SE_TYPE: | ||
| 455 | case AUDIT_SE_SEN: | ||
| 456 | case AUDIT_SE_CLR: | ||
| 457 | err = audit_dupe_selinux_field(&new->fields[i], | ||
| 458 | &old->fields[i]); | ||
| 459 | } | ||
| 460 | if (err) { | ||
| 461 | audit_free_rule(entry); | ||
| 462 | return ERR_PTR(err); | ||
| 463 | } | ||
| 464 | } | ||
| 465 | |||
| 466 | return entry; | ||
| 467 | } | ||
| 468 | |||
| 331 | /* Add rule to given filterlist if not a duplicate. Protected by | 469 | /* Add rule to given filterlist if not a duplicate. Protected by | 
| 332 | * audit_netlink_mutex. */ | 470 | * audit_netlink_mutex. */ | 
| 333 | static inline int audit_add_rule(struct audit_entry *entry, | 471 | static inline int audit_add_rule(struct audit_entry *entry, | 
| @@ -448,9 +586,10 @@ static int audit_list_rules(void *_dest) | |||
| 448 | * @data: payload data | 586 | * @data: payload data | 
| 449 | * @datasz: size of payload data | 587 | * @datasz: size of payload data | 
| 450 | * @loginuid: loginuid of sender | 588 | * @loginuid: loginuid of sender | 
| 589 | * @sid: SE Linux Security ID of sender | ||
| 451 | */ | 590 | */ | 
| 452 | int audit_receive_filter(int type, int pid, int uid, int seq, void *data, | 591 | int audit_receive_filter(int type, int pid, int uid, int seq, void *data, | 
| 453 | size_t datasz, uid_t loginuid) | 592 | size_t datasz, uid_t loginuid, u32 sid) | 
| 454 | { | 593 | { | 
| 455 | struct task_struct *tsk; | 594 | struct task_struct *tsk; | 
| 456 | int *dest; | 595 | int *dest; | 
| @@ -493,9 +632,23 @@ int audit_receive_filter(int type, int pid, int uid, int seq, void *data, | |||
| 493 | 632 | ||
| 494 | err = audit_add_rule(entry, | 633 | err = audit_add_rule(entry, | 
| 495 | &audit_filter_list[entry->rule.listnr]); | 634 | &audit_filter_list[entry->rule.listnr]); | 
| 496 | audit_log(NULL, GFP_KERNEL, AUDIT_CONFIG_CHANGE, | 635 | if (sid) { | 
| 497 | "auid=%u add rule to list=%d res=%d\n", | 636 | char *ctx = NULL; | 
| 498 | loginuid, entry->rule.listnr, !err); | 637 | u32 len; | 
| 638 | if (selinux_ctxid_to_string(sid, &ctx, &len)) { | ||
| 639 | /* Maybe call audit_panic? */ | ||
| 640 | audit_log(NULL, GFP_KERNEL, AUDIT_CONFIG_CHANGE, | ||
| 641 | "auid=%u ssid=%u add rule to list=%d res=%d", | ||
| 642 | loginuid, sid, entry->rule.listnr, !err); | ||
| 643 | } else | ||
| 644 | audit_log(NULL, GFP_KERNEL, AUDIT_CONFIG_CHANGE, | ||
| 645 | "auid=%u subj=%s add rule to list=%d res=%d", | ||
| 646 | loginuid, ctx, entry->rule.listnr, !err); | ||
| 647 | kfree(ctx); | ||
| 648 | } else | ||
| 649 | audit_log(NULL, GFP_KERNEL, AUDIT_CONFIG_CHANGE, | ||
| 650 | "auid=%u add rule to list=%d res=%d", | ||
| 651 | loginuid, entry->rule.listnr, !err); | ||
| 499 | 652 | ||
| 500 | if (err) | 653 | if (err) | 
| 501 | audit_free_rule(entry); | 654 | audit_free_rule(entry); | 
| @@ -511,9 +664,24 @@ int audit_receive_filter(int type, int pid, int uid, int seq, void *data, | |||
| 511 | 664 | ||
| 512 | err = audit_del_rule(entry, | 665 | err = audit_del_rule(entry, | 
| 513 | &audit_filter_list[entry->rule.listnr]); | 666 | &audit_filter_list[entry->rule.listnr]); | 
| 514 | audit_log(NULL, GFP_KERNEL, AUDIT_CONFIG_CHANGE, | 667 | |
| 515 | "auid=%u remove rule from list=%d res=%d\n", | 668 | if (sid) { | 
| 516 | loginuid, entry->rule.listnr, !err); | 669 | char *ctx = NULL; | 
| 670 | u32 len; | ||
| 671 | if (selinux_ctxid_to_string(sid, &ctx, &len)) { | ||
| 672 | /* Maybe call audit_panic? */ | ||
| 673 | audit_log(NULL, GFP_KERNEL, AUDIT_CONFIG_CHANGE, | ||
| 674 | "auid=%u ssid=%u remove rule from list=%d res=%d", | ||
| 675 | loginuid, sid, entry->rule.listnr, !err); | ||
| 676 | } else | ||
| 677 | audit_log(NULL, GFP_KERNEL, AUDIT_CONFIG_CHANGE, | ||
| 678 | "auid=%u subj=%s remove rule from list=%d res=%d", | ||
| 679 | loginuid, ctx, entry->rule.listnr, !err); | ||
| 680 | kfree(ctx); | ||
| 681 | } else | ||
| 682 | audit_log(NULL, GFP_KERNEL, AUDIT_CONFIG_CHANGE, | ||
| 683 | "auid=%u remove rule from list=%d res=%d", | ||
| 684 | loginuid, entry->rule.listnr, !err); | ||
| 517 | 685 | ||
| 518 | audit_free_rule(entry); | 686 | audit_free_rule(entry); | 
| 519 | break; | 687 | break; | 
| @@ -628,3 +796,62 @@ unlock_and_return: | |||
| 628 | rcu_read_unlock(); | 796 | rcu_read_unlock(); | 
| 629 | return result; | 797 | return result; | 
| 630 | } | 798 | } | 
| 799 | |||
| 800 | /* Check to see if the rule contains any selinux fields. Returns 1 if there | ||
| 801 | are selinux fields specified in the rule, 0 otherwise. */ | ||
| 802 | static inline int audit_rule_has_selinux(struct audit_krule *rule) | ||
| 803 | { | ||
| 804 | int i; | ||
| 805 | |||
| 806 | for (i = 0; i < rule->field_count; i++) { | ||
| 807 | struct audit_field *f = &rule->fields[i]; | ||
| 808 | switch (f->type) { | ||
| 809 | case AUDIT_SE_USER: | ||
| 810 | case AUDIT_SE_ROLE: | ||
| 811 | case AUDIT_SE_TYPE: | ||
| 812 | case AUDIT_SE_SEN: | ||
| 813 | case AUDIT_SE_CLR: | ||
| 814 | return 1; | ||
| 815 | } | ||
| 816 | } | ||
| 817 | |||
| 818 | return 0; | ||
| 819 | } | ||
| 820 | |||
| 821 | /* This function will re-initialize the se_rule field of all applicable rules. | ||
| 822 | * It will traverse the filter lists serarching for rules that contain selinux | ||
| 823 | * specific filter fields. When such a rule is found, it is copied, the | ||
| 824 | * selinux field is re-initialized, and the old rule is replaced with the | ||
| 825 | * updated rule. */ | ||
| 826 | int selinux_audit_rule_update(void) | ||
| 827 | { | ||
| 828 | struct audit_entry *entry, *n, *nentry; | ||
| 829 | int i, err = 0; | ||
| 830 | |||
| 831 | /* audit_netlink_mutex synchronizes the writers */ | ||
| 832 | mutex_lock(&audit_netlink_mutex); | ||
| 833 | |||
| 834 | for (i = 0; i < AUDIT_NR_FILTERS; i++) { | ||
| 835 | list_for_each_entry_safe(entry, n, &audit_filter_list[i], list) { | ||
| 836 | if (!audit_rule_has_selinux(&entry->rule)) | ||
| 837 | continue; | ||
| 838 | |||
| 839 | nentry = audit_dupe_rule(&entry->rule); | ||
| 840 | if (unlikely(IS_ERR(nentry))) { | ||
| 841 | /* save the first error encountered for the | ||
| 842 | * return value */ | ||
| 843 | if (!err) | ||
| 844 | err = PTR_ERR(nentry); | ||
| 845 | audit_panic("error updating selinux filters"); | ||
| 846 | list_del_rcu(&entry->list); | ||
| 847 | } else { | ||
| 848 | list_replace_rcu(&entry->list, &nentry->list); | ||
| 849 | } | ||
| 850 | call_rcu(&entry->rcu, audit_free_rule_rcu); | ||
| 851 | } | ||
| 852 | } | ||
| 853 | |||
| 854 | mutex_unlock(&audit_netlink_mutex); | ||
| 855 | |||
| 856 | return err; | ||
| 857 | } | ||
diff --git a/kernel/auditsc.c b/kernel/auditsc.c index 7f160df21a23..1c03a4ed1b27 100644 --- a/kernel/auditsc.c +++ b/kernel/auditsc.c  | |||
| @@ -58,6 +58,7 @@ | |||
| 58 | #include <linux/security.h> | 58 | #include <linux/security.h> | 
| 59 | #include <linux/list.h> | 59 | #include <linux/list.h> | 
| 60 | #include <linux/tty.h> | 60 | #include <linux/tty.h> | 
| 61 | #include <linux/selinux.h> | ||
| 61 | 62 | ||
| 62 | #include "audit.h" | 63 | #include "audit.h" | 
| 63 | 64 | ||
| @@ -89,7 +90,7 @@ struct audit_names { | |||
| 89 | uid_t uid; | 90 | uid_t uid; | 
| 90 | gid_t gid; | 91 | gid_t gid; | 
| 91 | dev_t rdev; | 92 | dev_t rdev; | 
| 92 | char *ctx; | 93 | u32 osid; | 
| 93 | }; | 94 | }; | 
| 94 | 95 | ||
| 95 | struct audit_aux_data { | 96 | struct audit_aux_data { | 
| @@ -106,7 +107,7 @@ struct audit_aux_data_ipcctl { | |||
| 106 | uid_t uid; | 107 | uid_t uid; | 
| 107 | gid_t gid; | 108 | gid_t gid; | 
| 108 | mode_t mode; | 109 | mode_t mode; | 
| 109 | char *ctx; | 110 | u32 osid; | 
| 110 | }; | 111 | }; | 
| 111 | 112 | ||
| 112 | struct audit_aux_data_socketcall { | 113 | struct audit_aux_data_socketcall { | 
| @@ -167,7 +168,8 @@ static int audit_filter_rules(struct task_struct *tsk, | |||
| 167 | struct audit_context *ctx, | 168 | struct audit_context *ctx, | 
| 168 | enum audit_state *state) | 169 | enum audit_state *state) | 
| 169 | { | 170 | { | 
| 170 | int i, j; | 171 | int i, j, need_sid = 1; | 
| 172 | u32 sid; | ||
| 171 | 173 | ||
| 172 | for (i = 0; i < rule->field_count; i++) { | 174 | for (i = 0; i < rule->field_count; i++) { | 
| 173 | struct audit_field *f = &rule->fields[i]; | 175 | struct audit_field *f = &rule->fields[i]; | 
| @@ -257,6 +259,27 @@ static int audit_filter_rules(struct task_struct *tsk, | |||
| 257 | if (ctx) | 259 | if (ctx) | 
| 258 | result = audit_comparator(ctx->loginuid, f->op, f->val); | 260 | result = audit_comparator(ctx->loginuid, f->op, f->val); | 
| 259 | break; | 261 | break; | 
| 262 | case AUDIT_SE_USER: | ||
| 263 | case AUDIT_SE_ROLE: | ||
| 264 | case AUDIT_SE_TYPE: | ||
| 265 | case AUDIT_SE_SEN: | ||
| 266 | case AUDIT_SE_CLR: | ||
| 267 | /* NOTE: this may return negative values indicating | ||
| 268 | a temporary error. We simply treat this as a | ||
| 269 | match for now to avoid losing information that | ||
| 270 | may be wanted. An error message will also be | ||
| 271 | logged upon error */ | ||
| 272 | if (f->se_rule) { | ||
| 273 | if (need_sid) { | ||
| 274 | selinux_task_ctxid(tsk, &sid); | ||
| 275 | need_sid = 0; | ||
| 276 | } | ||
| 277 | result = selinux_audit_rule_match(sid, f->type, | ||
| 278 | f->op, | ||
| 279 | f->se_rule, | ||
| 280 | ctx); | ||
| 281 | } | ||
| 282 | break; | ||
| 260 | case AUDIT_ARG0: | 283 | case AUDIT_ARG0: | 
| 261 | case AUDIT_ARG1: | 284 | case AUDIT_ARG1: | 
| 262 | case AUDIT_ARG2: | 285 | case AUDIT_ARG2: | 
| @@ -329,7 +352,6 @@ static enum audit_state audit_filter_syscall(struct task_struct *tsk, | |||
| 329 | return AUDIT_BUILD_CONTEXT; | 352 | return AUDIT_BUILD_CONTEXT; | 
| 330 | } | 353 | } | 
| 331 | 354 | ||
| 332 | /* This should be called with task_lock() held. */ | ||
| 333 | static inline struct audit_context *audit_get_context(struct task_struct *tsk, | 355 | static inline struct audit_context *audit_get_context(struct task_struct *tsk, | 
| 334 | int return_valid, | 356 | int return_valid, | 
| 335 | int return_code) | 357 | int return_code) | 
| @@ -391,9 +413,6 @@ static inline void audit_free_names(struct audit_context *context) | |||
| 391 | #endif | 413 | #endif | 
| 392 | 414 | ||
| 393 | for (i = 0; i < context->name_count; i++) { | 415 | for (i = 0; i < context->name_count; i++) { | 
| 394 | char *p = context->names[i].ctx; | ||
| 395 | context->names[i].ctx = NULL; | ||
| 396 | kfree(p); | ||
| 397 | if (context->names[i].name) | 416 | if (context->names[i].name) | 
| 398 | __putname(context->names[i].name); | 417 | __putname(context->names[i].name); | 
| 399 | } | 418 | } | 
| @@ -416,11 +435,6 @@ static inline void audit_free_aux(struct audit_context *context) | |||
| 416 | dput(axi->dentry); | 435 | dput(axi->dentry); | 
| 417 | mntput(axi->mnt); | 436 | mntput(axi->mnt); | 
| 418 | } | 437 | } | 
| 419 | if ( aux->type == AUDIT_IPC ) { | ||
| 420 | struct audit_aux_data_ipcctl *axi = (void *)aux; | ||
| 421 | if (axi->ctx) | ||
| 422 | kfree(axi->ctx); | ||
| 423 | } | ||
| 424 | 438 | ||
| 425 | context->aux = aux->next; | 439 | context->aux = aux->next; | 
| 426 | kfree(aux); | 440 | kfree(aux); | 
| @@ -506,7 +520,7 @@ static inline void audit_free_context(struct audit_context *context) | |||
| 506 | printk(KERN_ERR "audit: freed %d contexts\n", count); | 520 | printk(KERN_ERR "audit: freed %d contexts\n", count); | 
| 507 | } | 521 | } | 
| 508 | 522 | ||
| 509 | static void audit_log_task_context(struct audit_buffer *ab, gfp_t gfp_mask) | 523 | static void audit_log_task_context(struct audit_buffer *ab) | 
| 510 | { | 524 | { | 
| 511 | char *ctx = NULL; | 525 | char *ctx = NULL; | 
| 512 | ssize_t len = 0; | 526 | ssize_t len = 0; | 
| @@ -518,7 +532,7 @@ static void audit_log_task_context(struct audit_buffer *ab, gfp_t gfp_mask) | |||
| 518 | return; | 532 | return; | 
| 519 | } | 533 | } | 
| 520 | 534 | ||
| 521 | ctx = kmalloc(len, gfp_mask); | 535 | ctx = kmalloc(len, GFP_KERNEL); | 
| 522 | if (!ctx) | 536 | if (!ctx) | 
| 523 | goto error_path; | 537 | goto error_path; | 
| 524 | 538 | ||
| @@ -536,47 +550,46 @@ error_path: | |||
| 536 | return; | 550 | return; | 
| 537 | } | 551 | } | 
| 538 | 552 | ||
| 539 | static void audit_log_task_info(struct audit_buffer *ab, gfp_t gfp_mask) | 553 | static void audit_log_task_info(struct audit_buffer *ab, struct task_struct *tsk) | 
| 540 | { | 554 | { | 
| 541 | char name[sizeof(current->comm)]; | 555 | char name[sizeof(tsk->comm)]; | 
| 542 | struct mm_struct *mm = current->mm; | 556 | struct mm_struct *mm = tsk->mm; | 
| 543 | struct vm_area_struct *vma; | 557 | struct vm_area_struct *vma; | 
| 544 | 558 | ||
| 545 | get_task_comm(name, current); | 559 | /* tsk == current */ | 
| 560 | |||
| 561 | get_task_comm(name, tsk); | ||
| 546 | audit_log_format(ab, " comm="); | 562 | audit_log_format(ab, " comm="); | 
| 547 | audit_log_untrustedstring(ab, name); | 563 | audit_log_untrustedstring(ab, name); | 
| 548 | 564 | ||
| 549 | if (!mm) | 565 | if (mm) { | 
| 550 | return; | 566 | down_read(&mm->mmap_sem); | 
| 551 | 567 | vma = mm->mmap; | |
| 552 | /* | 568 | while (vma) { | 
| 553 | * this is brittle; all callers that pass GFP_ATOMIC will have | 569 | if ((vma->vm_flags & VM_EXECUTABLE) && | 
| 554 | * NULL current->mm and we won't get here. | 570 | vma->vm_file) { | 
| 555 | */ | 571 | audit_log_d_path(ab, "exe=", | 
| 556 | down_read(&mm->mmap_sem); | 572 | vma->vm_file->f_dentry, | 
| 557 | vma = mm->mmap; | 573 | vma->vm_file->f_vfsmnt); | 
| 558 | while (vma) { | 574 | break; | 
| 559 | if ((vma->vm_flags & VM_EXECUTABLE) && | 575 | } | 
| 560 | vma->vm_file) { | 576 | vma = vma->vm_next; | 
| 561 | audit_log_d_path(ab, "exe=", | ||
| 562 | vma->vm_file->f_dentry, | ||
| 563 | vma->vm_file->f_vfsmnt); | ||
| 564 | break; | ||
| 565 | } | 577 | } | 
| 566 | vma = vma->vm_next; | 578 | up_read(&mm->mmap_sem); | 
| 567 | } | 579 | } | 
| 568 | up_read(&mm->mmap_sem); | 580 | audit_log_task_context(ab); | 
| 569 | audit_log_task_context(ab, gfp_mask); | ||
| 570 | } | 581 | } | 
| 571 | 582 | ||
| 572 | static void audit_log_exit(struct audit_context *context, gfp_t gfp_mask) | 583 | static void audit_log_exit(struct audit_context *context, struct task_struct *tsk) | 
| 573 | { | 584 | { | 
| 574 | int i; | 585 | int i, call_panic = 0; | 
| 575 | struct audit_buffer *ab; | 586 | struct audit_buffer *ab; | 
| 576 | struct audit_aux_data *aux; | 587 | struct audit_aux_data *aux; | 
| 577 | const char *tty; | 588 | const char *tty; | 
| 578 | 589 | ||
| 579 | ab = audit_log_start(context, gfp_mask, AUDIT_SYSCALL); | 590 | /* tsk == current */ | 
| 591 | |||
| 592 | ab = audit_log_start(context, GFP_KERNEL, AUDIT_SYSCALL); | ||
| 580 | if (!ab) | 593 | if (!ab) | 
| 581 | return; /* audit_panic has been called */ | 594 | return; /* audit_panic has been called */ | 
| 582 | audit_log_format(ab, "arch=%x syscall=%d", | 595 | audit_log_format(ab, "arch=%x syscall=%d", | 
| @@ -587,8 +600,8 @@ static void audit_log_exit(struct audit_context *context, gfp_t gfp_mask) | |||
| 587 | audit_log_format(ab, " success=%s exit=%ld", | 600 | audit_log_format(ab, " success=%s exit=%ld", | 
| 588 | (context->return_valid==AUDITSC_SUCCESS)?"yes":"no", | 601 | (context->return_valid==AUDITSC_SUCCESS)?"yes":"no", | 
| 589 | context->return_code); | 602 | context->return_code); | 
| 590 | if (current->signal->tty && current->signal->tty->name) | 603 | if (tsk->signal && tsk->signal->tty && tsk->signal->tty->name) | 
| 591 | tty = current->signal->tty->name; | 604 | tty = tsk->signal->tty->name; | 
| 592 | else | 605 | else | 
| 593 | tty = "(none)"; | 606 | tty = "(none)"; | 
| 594 | audit_log_format(ab, | 607 | audit_log_format(ab, | 
| @@ -607,12 +620,12 @@ static void audit_log_exit(struct audit_context *context, gfp_t gfp_mask) | |||
| 607 | context->gid, | 620 | context->gid, | 
| 608 | context->euid, context->suid, context->fsuid, | 621 | context->euid, context->suid, context->fsuid, | 
| 609 | context->egid, context->sgid, context->fsgid, tty); | 622 | context->egid, context->sgid, context->fsgid, tty); | 
| 610 | audit_log_task_info(ab, gfp_mask); | 623 | audit_log_task_info(ab, tsk); | 
| 611 | audit_log_end(ab); | 624 | audit_log_end(ab); | 
| 612 | 625 | ||
| 613 | for (aux = context->aux; aux; aux = aux->next) { | 626 | for (aux = context->aux; aux; aux = aux->next) { | 
| 614 | 627 | ||
| 615 | ab = audit_log_start(context, gfp_mask, aux->type); | 628 | ab = audit_log_start(context, GFP_KERNEL, aux->type); | 
| 616 | if (!ab) | 629 | if (!ab) | 
| 617 | continue; /* audit_panic has been called */ | 630 | continue; /* audit_panic has been called */ | 
| 618 | 631 | ||
| @@ -620,8 +633,39 @@ static void audit_log_exit(struct audit_context *context, gfp_t gfp_mask) | |||
| 620 | case AUDIT_IPC: { | 633 | case AUDIT_IPC: { | 
| 621 | struct audit_aux_data_ipcctl *axi = (void *)aux; | 634 | struct audit_aux_data_ipcctl *axi = (void *)aux; | 
| 622 | audit_log_format(ab, | 635 | audit_log_format(ab, | 
| 623 | " qbytes=%lx iuid=%u igid=%u mode=%x obj=%s", | 636 | " qbytes=%lx iuid=%u igid=%u mode=%x", | 
| 624 | axi->qbytes, axi->uid, axi->gid, axi->mode, axi->ctx); | 637 | axi->qbytes, axi->uid, axi->gid, axi->mode); | 
| 638 | if (axi->osid != 0) { | ||
| 639 | char *ctx = NULL; | ||
| 640 | u32 len; | ||
| 641 | if (selinux_ctxid_to_string( | ||
| 642 | axi->osid, &ctx, &len)) { | ||
| 643 | audit_log_format(ab, " osid=%u", | ||
| 644 | axi->osid); | ||
| 645 | call_panic = 1; | ||
| 646 | } else | ||
| 647 | audit_log_format(ab, " obj=%s", ctx); | ||
| 648 | kfree(ctx); | ||
| 649 | } | ||
| 650 | break; } | ||
| 651 | |||
| 652 | case AUDIT_IPC_SET_PERM: { | ||
| 653 | struct audit_aux_data_ipcctl *axi = (void *)aux; | ||
| 654 | audit_log_format(ab, | ||
| 655 | " new qbytes=%lx new iuid=%u new igid=%u new mode=%x", | ||
| 656 | axi->qbytes, axi->uid, axi->gid, axi->mode); | ||
| 657 | if (axi->osid != 0) { | ||
| 658 | char *ctx = NULL; | ||
| 659 | u32 len; | ||
| 660 | if (selinux_ctxid_to_string( | ||
| 661 | axi->osid, &ctx, &len)) { | ||
| 662 | audit_log_format(ab, " osid=%u", | ||
| 663 | axi->osid); | ||
| 664 | call_panic = 1; | ||
| 665 | } else | ||
| 666 | audit_log_format(ab, " obj=%s", ctx); | ||
| 667 | kfree(ctx); | ||
| 668 | } | ||
| 625 | break; } | 669 | break; } | 
| 626 | 670 | ||
| 627 | case AUDIT_SOCKETCALL: { | 671 | case AUDIT_SOCKETCALL: { | 
| @@ -649,7 +693,7 @@ static void audit_log_exit(struct audit_context *context, gfp_t gfp_mask) | |||
| 649 | } | 693 | } | 
| 650 | 694 | ||
| 651 | if (context->pwd && context->pwdmnt) { | 695 | if (context->pwd && context->pwdmnt) { | 
| 652 | ab = audit_log_start(context, gfp_mask, AUDIT_CWD); | 696 | ab = audit_log_start(context, GFP_KERNEL, AUDIT_CWD); | 
| 653 | if (ab) { | 697 | if (ab) { | 
| 654 | audit_log_d_path(ab, "cwd=", context->pwd, context->pwdmnt); | 698 | audit_log_d_path(ab, "cwd=", context->pwd, context->pwdmnt); | 
| 655 | audit_log_end(ab); | 699 | audit_log_end(ab); | 
| @@ -659,7 +703,7 @@ static void audit_log_exit(struct audit_context *context, gfp_t gfp_mask) | |||
| 659 | unsigned long ino = context->names[i].ino; | 703 | unsigned long ino = context->names[i].ino; | 
| 660 | unsigned long pino = context->names[i].pino; | 704 | unsigned long pino = context->names[i].pino; | 
| 661 | 705 | ||
| 662 | ab = audit_log_start(context, gfp_mask, AUDIT_PATH); | 706 | ab = audit_log_start(context, GFP_KERNEL, AUDIT_PATH); | 
| 663 | if (!ab) | 707 | if (!ab) | 
| 664 | continue; /* audit_panic has been called */ | 708 | continue; /* audit_panic has been called */ | 
| 665 | 709 | ||
| @@ -685,32 +729,35 @@ static void audit_log_exit(struct audit_context *context, gfp_t gfp_mask) | |||
| 685 | context->names[i].gid, | 729 | context->names[i].gid, | 
| 686 | MAJOR(context->names[i].rdev), | 730 | MAJOR(context->names[i].rdev), | 
| 687 | MINOR(context->names[i].rdev)); | 731 | MINOR(context->names[i].rdev)); | 
| 688 | if (context->names[i].ctx) { | 732 | if (context->names[i].osid != 0) { | 
| 689 | audit_log_format(ab, " obj=%s", | 733 | char *ctx = NULL; | 
| 690 | context->names[i].ctx); | 734 | u32 len; | 
| 735 | if (selinux_ctxid_to_string( | ||
| 736 | context->names[i].osid, &ctx, &len)) { | ||
| 737 | audit_log_format(ab, " osid=%u", | ||
| 738 | context->names[i].osid); | ||
| 739 | call_panic = 2; | ||
| 740 | } else | ||
| 741 | audit_log_format(ab, " obj=%s", ctx); | ||
| 742 | kfree(ctx); | ||
| 691 | } | 743 | } | 
| 692 | 744 | ||
| 693 | audit_log_end(ab); | 745 | audit_log_end(ab); | 
| 694 | } | 746 | } | 
| 747 | if (call_panic) | ||
| 748 | audit_panic("error converting sid to string"); | ||
| 695 | } | 749 | } | 
| 696 | 750 | ||
| 697 | /** | 751 | /** | 
| 698 | * audit_free - free a per-task audit context | 752 | * audit_free - free a per-task audit context | 
| 699 | * @tsk: task whose audit context block to free | 753 | * @tsk: task whose audit context block to free | 
| 700 | * | 754 | * | 
| 701 | * Called from copy_process and __put_task_struct. | 755 | * Called from copy_process and do_exit | 
| 702 | */ | 756 | */ | 
| 703 | void audit_free(struct task_struct *tsk) | 757 | void audit_free(struct task_struct *tsk) | 
| 704 | { | 758 | { | 
| 705 | struct audit_context *context; | 759 | struct audit_context *context; | 
| 706 | 760 | ||
| 707 | /* | ||
| 708 | * No need to lock the task - when we execute audit_free() | ||
| 709 | * then the task has no external references anymore, and | ||
| 710 | * we are tearing it down. (The locking also confuses | ||
| 711 | * DEBUG_LOCKDEP - this freeing may occur in softirq | ||
| 712 | * contexts as well, via RCU.) | ||
| 713 | */ | ||
| 714 | context = audit_get_context(tsk, 0, 0); | 761 | context = audit_get_context(tsk, 0, 0); | 
| 715 | if (likely(!context)) | 762 | if (likely(!context)) | 
| 716 | return; | 763 | return; | 
| @@ -719,8 +766,9 @@ void audit_free(struct task_struct *tsk) | |||
| 719 | * function (e.g., exit_group), then free context block. | 766 | * function (e.g., exit_group), then free context block. | 
| 720 | * We use GFP_ATOMIC here because we might be doing this | 767 | * We use GFP_ATOMIC here because we might be doing this | 
| 721 | * in the context of the idle thread */ | 768 | * in the context of the idle thread */ | 
| 769 | /* that can happen only if we are called from do_exit() */ | ||
| 722 | if (context->in_syscall && context->auditable) | 770 | if (context->in_syscall && context->auditable) | 
| 723 | audit_log_exit(context, GFP_ATOMIC); | 771 | audit_log_exit(context, tsk); | 
| 724 | 772 | ||
| 725 | audit_free_context(context); | 773 | audit_free_context(context); | 
| 726 | } | 774 | } | 
| @@ -743,10 +791,11 @@ void audit_free(struct task_struct *tsk) | |||
| 743 | * will only be written if another part of the kernel requests that it | 791 | * will only be written if another part of the kernel requests that it | 
| 744 | * be written). | 792 | * be written). | 
| 745 | */ | 793 | */ | 
| 746 | void audit_syscall_entry(struct task_struct *tsk, int arch, int major, | 794 | void audit_syscall_entry(int arch, int major, | 
| 747 | unsigned long a1, unsigned long a2, | 795 | unsigned long a1, unsigned long a2, | 
| 748 | unsigned long a3, unsigned long a4) | 796 | unsigned long a3, unsigned long a4) | 
| 749 | { | 797 | { | 
| 798 | struct task_struct *tsk = current; | ||
| 750 | struct audit_context *context = tsk->audit_context; | 799 | struct audit_context *context = tsk->audit_context; | 
| 751 | enum audit_state state; | 800 | enum audit_state state; | 
| 752 | 801 | ||
| @@ -824,22 +873,18 @@ void audit_syscall_entry(struct task_struct *tsk, int arch, int major, | |||
| 824 | * message), then write out the syscall information. In call cases, | 873 | * message), then write out the syscall information. In call cases, | 
| 825 | * free the names stored from getname(). | 874 | * free the names stored from getname(). | 
| 826 | */ | 875 | */ | 
| 827 | void audit_syscall_exit(struct task_struct *tsk, int valid, long return_code) | 876 | void audit_syscall_exit(int valid, long return_code) | 
| 828 | { | 877 | { | 
| 878 | struct task_struct *tsk = current; | ||
| 829 | struct audit_context *context; | 879 | struct audit_context *context; | 
| 830 | 880 | ||
| 831 | get_task_struct(tsk); | ||
| 832 | task_lock(tsk); | ||
| 833 | context = audit_get_context(tsk, valid, return_code); | 881 | context = audit_get_context(tsk, valid, return_code); | 
| 834 | task_unlock(tsk); | ||
| 835 | 882 | ||
| 836 | /* Not having a context here is ok, since the parent may have | ||
| 837 | * called __put_task_struct. */ | ||
| 838 | if (likely(!context)) | 883 | if (likely(!context)) | 
| 839 | goto out; | 884 | return; | 
| 840 | 885 | ||
| 841 | if (context->in_syscall && context->auditable) | 886 | if (context->in_syscall && context->auditable) | 
| 842 | audit_log_exit(context, GFP_KERNEL); | 887 | audit_log_exit(context, tsk); | 
| 843 | 888 | ||
| 844 | context->in_syscall = 0; | 889 | context->in_syscall = 0; | 
| 845 | context->auditable = 0; | 890 | context->auditable = 0; | 
| @@ -854,8 +899,6 @@ void audit_syscall_exit(struct task_struct *tsk, int valid, long return_code) | |||
| 854 | audit_free_aux(context); | 899 | audit_free_aux(context); | 
| 855 | tsk->audit_context = context; | 900 | tsk->audit_context = context; | 
| 856 | } | 901 | } | 
| 857 | out: | ||
| 858 | put_task_struct(tsk); | ||
| 859 | } | 902 | } | 
| 860 | 903 | ||
| 861 | /** | 904 | /** | 
| @@ -936,40 +979,11 @@ void audit_putname(const char *name) | |||
| 936 | #endif | 979 | #endif | 
| 937 | } | 980 | } | 
| 938 | 981 | ||
| 939 | void audit_inode_context(int idx, const struct inode *inode) | 982 | static void audit_inode_context(int idx, const struct inode *inode) | 
| 940 | { | 983 | { | 
| 941 | struct audit_context *context = current->audit_context; | 984 | struct audit_context *context = current->audit_context; | 
| 942 | const char *suffix = security_inode_xattr_getsuffix(); | ||
| 943 | char *ctx = NULL; | ||
| 944 | int len = 0; | ||
| 945 | |||
| 946 | if (!suffix) | ||
| 947 | goto ret; | ||
| 948 | |||
| 949 | len = security_inode_getsecurity(inode, suffix, NULL, 0, 0); | ||
| 950 | if (len == -EOPNOTSUPP) | ||
| 951 | goto ret; | ||
| 952 | if (len < 0) | ||
| 953 | goto error_path; | ||
| 954 | |||
| 955 | ctx = kmalloc(len, GFP_KERNEL); | ||
| 956 | if (!ctx) | ||
| 957 | goto error_path; | ||
| 958 | 985 | ||
| 959 | len = security_inode_getsecurity(inode, suffix, ctx, len, 0); | 986 | selinux_get_inode_sid(inode, &context->names[idx].osid); | 
| 960 | if (len < 0) | ||
| 961 | goto error_path; | ||
| 962 | |||
| 963 | kfree(context->names[idx].ctx); | ||
| 964 | context->names[idx].ctx = ctx; | ||
| 965 | goto ret; | ||
| 966 | |||
| 967 | error_path: | ||
| 968 | if (ctx) | ||
| 969 | kfree(ctx); | ||
| 970 | audit_panic("error in audit_inode_context"); | ||
| 971 | ret: | ||
| 972 | return; | ||
| 973 | } | 987 | } | 
| 974 | 988 | ||
| 975 | 989 | ||
| @@ -1155,40 +1169,37 @@ uid_t audit_get_loginuid(struct audit_context *ctx) | |||
| 1155 | return ctx ? ctx->loginuid : -1; | 1169 | return ctx ? ctx->loginuid : -1; | 
| 1156 | } | 1170 | } | 
| 1157 | 1171 | ||
| 1158 | static char *audit_ipc_context(struct kern_ipc_perm *ipcp) | 1172 | /** | 
| 1173 | * audit_ipc_obj - record audit data for ipc object | ||
| 1174 | * @ipcp: ipc permissions | ||
| 1175 | * | ||
| 1176 | * Returns 0 for success or NULL context or < 0 on error. | ||
| 1177 | */ | ||
| 1178 | int audit_ipc_obj(struct kern_ipc_perm *ipcp) | ||
| 1159 | { | 1179 | { | 
| 1180 | struct audit_aux_data_ipcctl *ax; | ||
| 1160 | struct audit_context *context = current->audit_context; | 1181 | struct audit_context *context = current->audit_context; | 
| 1161 | char *ctx = NULL; | ||
| 1162 | int len = 0; | ||
| 1163 | 1182 | ||
| 1164 | if (likely(!context)) | 1183 | if (likely(!context)) | 
| 1165 | return NULL; | 1184 | return 0; | 
| 1166 | |||
| 1167 | len = security_ipc_getsecurity(ipcp, NULL, 0); | ||
| 1168 | if (len == -EOPNOTSUPP) | ||
| 1169 | goto ret; | ||
| 1170 | if (len < 0) | ||
| 1171 | goto error_path; | ||
| 1172 | |||
| 1173 | ctx = kmalloc(len, GFP_ATOMIC); | ||
| 1174 | if (!ctx) | ||
| 1175 | goto error_path; | ||
| 1176 | 1185 | ||
| 1177 | len = security_ipc_getsecurity(ipcp, ctx, len); | 1186 | ax = kmalloc(sizeof(*ax), GFP_ATOMIC); | 
| 1178 | if (len < 0) | 1187 | if (!ax) | 
| 1179 | goto error_path; | 1188 | return -ENOMEM; | 
| 1180 | 1189 | ||
| 1181 | return ctx; | 1190 | ax->uid = ipcp->uid; | 
| 1191 | ax->gid = ipcp->gid; | ||
| 1192 | ax->mode = ipcp->mode; | ||
| 1193 | selinux_get_ipc_sid(ipcp, &ax->osid); | ||
| 1182 | 1194 | ||
| 1183 | error_path: | 1195 | ax->d.type = AUDIT_IPC; | 
| 1184 | kfree(ctx); | 1196 | ax->d.next = context->aux; | 
| 1185 | audit_panic("error in audit_ipc_context"); | 1197 | context->aux = (void *)ax; | 
| 1186 | ret: | 1198 | return 0; | 
| 1187 | return NULL; | ||
| 1188 | } | 1199 | } | 
| 1189 | 1200 | ||
| 1190 | /** | 1201 | /** | 
| 1191 | * audit_ipc_perms - record audit data for ipc | 1202 | * audit_ipc_set_perm - record audit data for new ipc permissions | 
| 1192 | * @qbytes: msgq bytes | 1203 | * @qbytes: msgq bytes | 
| 1193 | * @uid: msgq user id | 1204 | * @uid: msgq user id | 
| 1194 | * @gid: msgq group id | 1205 | * @gid: msgq group id | 
| @@ -1196,7 +1207,7 @@ ret: | |||
| 1196 | * | 1207 | * | 
| 1197 | * Returns 0 for success or NULL context or < 0 on error. | 1208 | * Returns 0 for success or NULL context or < 0 on error. | 
| 1198 | */ | 1209 | */ | 
| 1199 | int audit_ipc_perms(unsigned long qbytes, uid_t uid, gid_t gid, mode_t mode, struct kern_ipc_perm *ipcp) | 1210 | int audit_ipc_set_perm(unsigned long qbytes, uid_t uid, gid_t gid, mode_t mode, struct kern_ipc_perm *ipcp) | 
| 1200 | { | 1211 | { | 
| 1201 | struct audit_aux_data_ipcctl *ax; | 1212 | struct audit_aux_data_ipcctl *ax; | 
| 1202 | struct audit_context *context = current->audit_context; | 1213 | struct audit_context *context = current->audit_context; | 
| @@ -1212,9 +1223,9 @@ int audit_ipc_perms(unsigned long qbytes, uid_t uid, gid_t gid, mode_t mode, str | |||
| 1212 | ax->uid = uid; | 1223 | ax->uid = uid; | 
| 1213 | ax->gid = gid; | 1224 | ax->gid = gid; | 
| 1214 | ax->mode = mode; | 1225 | ax->mode = mode; | 
| 1215 | ax->ctx = audit_ipc_context(ipcp); | 1226 | selinux_get_ipc_sid(ipcp, &ax->osid); | 
| 1216 | 1227 | ||
| 1217 | ax->d.type = AUDIT_IPC; | 1228 | ax->d.type = AUDIT_IPC_SET_PERM; | 
| 1218 | ax->d.next = context->aux; | 1229 | ax->d.next = context->aux; | 
| 1219 | context->aux = (void *)ax; | 1230 | context->aux = (void *)ax; | 
| 1220 | return 0; | 1231 | return 0; | 
diff --git a/kernel/exit.c b/kernel/exit.c index f86434d7b3d1..e95b93282210 100644 --- a/kernel/exit.c +++ b/kernel/exit.c  | |||
| @@ -35,6 +35,7 @@ | |||
| 35 | #include <linux/futex.h> | 35 | #include <linux/futex.h> | 
| 36 | #include <linux/compat.h> | 36 | #include <linux/compat.h> | 
| 37 | #include <linux/pipe_fs_i.h> | 37 | #include <linux/pipe_fs_i.h> | 
| 38 | #include <linux/audit.h> /* for audit_free() */ | ||
| 38 | 39 | ||
| 39 | #include <asm/uaccess.h> | 40 | #include <asm/uaccess.h> | 
| 40 | #include <asm/unistd.h> | 41 | #include <asm/unistd.h> | 
| @@ -910,6 +911,8 @@ fastcall NORET_TYPE void do_exit(long code) | |||
| 910 | if (unlikely(tsk->compat_robust_list)) | 911 | if (unlikely(tsk->compat_robust_list)) | 
| 911 | compat_exit_robust_list(tsk); | 912 | compat_exit_robust_list(tsk); | 
| 912 | #endif | 913 | #endif | 
| 914 | if (unlikely(tsk->audit_context)) | ||
| 915 | audit_free(tsk); | ||
| 913 | exit_mm(tsk); | 916 | exit_mm(tsk); | 
| 914 | 917 | ||
| 915 | exit_sem(tsk); | 918 | exit_sem(tsk); | 
diff --git a/kernel/fork.c b/kernel/fork.c index d2fa57d480d4..ac8100e3088a 100644 --- a/kernel/fork.c +++ b/kernel/fork.c  | |||
| @@ -114,8 +114,6 @@ void __put_task_struct(struct task_struct *tsk) | |||
| 114 | WARN_ON(atomic_read(&tsk->usage)); | 114 | WARN_ON(atomic_read(&tsk->usage)); | 
| 115 | WARN_ON(tsk == current); | 115 | WARN_ON(tsk == current); | 
| 116 | 116 | ||
| 117 | if (unlikely(tsk->audit_context)) | ||
| 118 | audit_free(tsk); | ||
| 119 | security_task_free(tsk); | 117 | security_task_free(tsk); | 
| 120 | free_uid(tsk->user); | 118 | free_uid(tsk->user); | 
| 121 | put_group_info(tsk->group_info); | 119 | put_group_info(tsk->group_info); | 
diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c index ac766ad573e8..1279e3499534 100644 --- a/kernel/irq/manage.c +++ b/kernel/irq/manage.c  | |||
| @@ -246,8 +246,10 @@ int setup_irq(unsigned int irq, struct irqaction * new) | |||
| 246 | 246 | ||
| 247 | mismatch: | 247 | mismatch: | 
| 248 | spin_unlock_irqrestore(&desc->lock, flags); | 248 | spin_unlock_irqrestore(&desc->lock, flags); | 
| 249 | printk(KERN_ERR "%s: irq handler mismatch\n", __FUNCTION__); | 249 | if (!(new->flags & SA_PROBEIRQ)) { | 
| 250 | dump_stack(); | 250 | printk(KERN_ERR "%s: irq handler mismatch\n", __FUNCTION__); | 
| 251 | dump_stack(); | ||
| 252 | } | ||
| 251 | return -EBUSY; | 253 | return -EBUSY; | 
| 252 | } | 254 | } | 
| 253 | 255 | ||
diff --git a/kernel/power/main.c b/kernel/power/main.c index ee371f50ccaa..a6d9ef46009e 100644 --- a/kernel/power/main.c +++ b/kernel/power/main.c  | |||
| @@ -272,7 +272,7 @@ static ssize_t state_store(struct subsystem * subsys, const char * buf, size_t n | |||
| 272 | if (*s && !strncmp(buf, *s, len)) | 272 | if (*s && !strncmp(buf, *s, len)) | 
| 273 | break; | 273 | break; | 
| 274 | } | 274 | } | 
| 275 | if (*s) | 275 | if (state < PM_SUSPEND_MAX && *s) | 
| 276 | error = enter_state(state); | 276 | error = enter_state(state); | 
| 277 | else | 277 | else | 
| 278 | error = -EINVAL; | 278 | error = -EINVAL; | 
diff --git a/lib/kobject.c b/lib/kobject.c index 01d957513940..b46350c27837 100644 --- a/lib/kobject.c +++ b/lib/kobject.c  | |||
| @@ -422,7 +422,6 @@ struct kobject *kobject_add_dir(struct kobject *parent, const char *name) | |||
| 422 | 422 | ||
| 423 | return k; | 423 | return k; | 
| 424 | } | 424 | } | 
| 425 | EXPORT_SYMBOL_GPL(kobject_add_dir); | ||
| 426 | 425 | ||
| 427 | /** | 426 | /** | 
| 428 | * kset_init - initialize a kset for use | 427 | * kset_init - initialize a kset for use | 
| @@ -569,7 +568,7 @@ int subsys_create_file(struct subsystem * s, struct subsys_attribute * a) | |||
| 569 | * @s: subsystem. | 568 | * @s: subsystem. | 
| 570 | * @a: attribute desciptor. | 569 | * @a: attribute desciptor. | 
| 571 | */ | 570 | */ | 
| 572 | 571 | #if 0 | |
| 573 | void subsys_remove_file(struct subsystem * s, struct subsys_attribute * a) | 572 | void subsys_remove_file(struct subsystem * s, struct subsys_attribute * a) | 
| 574 | { | 573 | { | 
| 575 | if (subsys_get(s)) { | 574 | if (subsys_get(s)) { | 
| @@ -577,6 +576,7 @@ void subsys_remove_file(struct subsystem * s, struct subsys_attribute * a) | |||
| 577 | subsys_put(s); | 576 | subsys_put(s); | 
| 578 | } | 577 | } | 
| 579 | } | 578 | } | 
| 579 | #endif /* 0 */ | ||
| 580 | 580 | ||
| 581 | EXPORT_SYMBOL(kobject_init); | 581 | EXPORT_SYMBOL(kobject_init); | 
| 582 | EXPORT_SYMBOL(kobject_register); | 582 | EXPORT_SYMBOL(kobject_register); | 
| @@ -588,10 +588,7 @@ EXPORT_SYMBOL(kobject_del); | |||
| 588 | 588 | ||
| 589 | EXPORT_SYMBOL(kset_register); | 589 | EXPORT_SYMBOL(kset_register); | 
| 590 | EXPORT_SYMBOL(kset_unregister); | 590 | EXPORT_SYMBOL(kset_unregister); | 
| 591 | EXPORT_SYMBOL(kset_find_obj); | ||
| 592 | 591 | ||
| 593 | EXPORT_SYMBOL(subsystem_init); | ||
| 594 | EXPORT_SYMBOL(subsystem_register); | 592 | EXPORT_SYMBOL(subsystem_register); | 
| 595 | EXPORT_SYMBOL(subsystem_unregister); | 593 | EXPORT_SYMBOL(subsystem_unregister); | 
| 596 | EXPORT_SYMBOL(subsys_create_file); | 594 | EXPORT_SYMBOL(subsys_create_file); | 
| 597 | EXPORT_SYMBOL(subsys_remove_file); | ||
diff --git a/lib/kobject_uevent.c b/lib/kobject_uevent.c index 982226daf939..7f20e7b857cb 100644 --- a/lib/kobject_uevent.c +++ b/lib/kobject_uevent.c  | |||
| @@ -25,11 +25,13 @@ | |||
| 25 | #define BUFFER_SIZE 2048 /* buffer for the variables */ | 25 | #define BUFFER_SIZE 2048 /* buffer for the variables */ | 
| 26 | #define NUM_ENVP 32 /* number of env pointers */ | 26 | #define NUM_ENVP 32 /* number of env pointers */ | 
| 27 | 27 | ||
| 28 | #if defined(CONFIG_HOTPLUG) && defined(CONFIG_NET) | 28 | #if defined(CONFIG_HOTPLUG) | 
| 29 | u64 uevent_seqnum; | 29 | u64 uevent_seqnum; | 
| 30 | char uevent_helper[UEVENT_HELPER_PATH_LEN] = "/sbin/hotplug"; | 30 | char uevent_helper[UEVENT_HELPER_PATH_LEN] = "/sbin/hotplug"; | 
| 31 | static DEFINE_SPINLOCK(sequence_lock); | 31 | static DEFINE_SPINLOCK(sequence_lock); | 
| 32 | #if defined(CONFIG_NET) | ||
| 32 | static struct sock *uevent_sock; | 33 | static struct sock *uevent_sock; | 
| 34 | #endif | ||
| 33 | 35 | ||
| 34 | static char *action_to_string(enum kobject_action action) | 36 | static char *action_to_string(enum kobject_action action) | 
| 35 | { | 37 | { | 
| @@ -155,6 +157,7 @@ void kobject_uevent(struct kobject *kobj, enum kobject_action action) | |||
| 155 | spin_unlock(&sequence_lock); | 157 | spin_unlock(&sequence_lock); | 
| 156 | sprintf(seq_buff, "SEQNUM=%llu", (unsigned long long)seq); | 158 | sprintf(seq_buff, "SEQNUM=%llu", (unsigned long long)seq); | 
| 157 | 159 | ||
| 160 | #if defined(CONFIG_NET) | ||
| 158 | /* send netlink message */ | 161 | /* send netlink message */ | 
| 159 | if (uevent_sock) { | 162 | if (uevent_sock) { | 
| 160 | struct sk_buff *skb; | 163 | struct sk_buff *skb; | 
| @@ -179,6 +182,7 @@ void kobject_uevent(struct kobject *kobj, enum kobject_action action) | |||
| 179 | netlink_broadcast(uevent_sock, skb, 0, 1, GFP_KERNEL); | 182 | netlink_broadcast(uevent_sock, skb, 0, 1, GFP_KERNEL); | 
| 180 | } | 183 | } | 
| 181 | } | 184 | } | 
| 185 | #endif | ||
| 182 | 186 | ||
| 183 | /* call uevent_helper, usually only enabled during early boot */ | 187 | /* call uevent_helper, usually only enabled during early boot */ | 
| 184 | if (uevent_helper[0]) { | 188 | if (uevent_helper[0]) { | 
| @@ -249,6 +253,7 @@ int add_uevent_var(char **envp, int num_envp, int *cur_index, | |||
| 249 | } | 253 | } | 
| 250 | EXPORT_SYMBOL_GPL(add_uevent_var); | 254 | EXPORT_SYMBOL_GPL(add_uevent_var); | 
| 251 | 255 | ||
| 256 | #if defined(CONFIG_NET) | ||
| 252 | static int __init kobject_uevent_init(void) | 257 | static int __init kobject_uevent_init(void) | 
| 253 | { | 258 | { | 
| 254 | uevent_sock = netlink_kernel_create(NETLINK_KOBJECT_UEVENT, 1, NULL, | 259 | uevent_sock = netlink_kernel_create(NETLINK_KOBJECT_UEVENT, 1, NULL, | 
| @@ -264,5 +269,6 @@ static int __init kobject_uevent_init(void) | |||
| 264 | } | 269 | } | 
| 265 | 270 | ||
| 266 | postcore_initcall(kobject_uevent_init); | 271 | postcore_initcall(kobject_uevent_init); | 
| 272 | #endif | ||
| 267 | 273 | ||
| 268 | #endif /* CONFIG_HOTPLUG */ | 274 | #endif /* CONFIG_HOTPLUG */ | 
diff --git a/mm/filemap.c b/mm/filemap.c index 3ef20739e725..fd57442186cb 100644 --- a/mm/filemap.c +++ b/mm/filemap.c  | |||
| @@ -697,6 +697,38 @@ unsigned find_get_pages(struct address_space *mapping, pgoff_t start, | |||
| 697 | return ret; | 697 | return ret; | 
| 698 | } | 698 | } | 
| 699 | 699 | ||
| 700 | /** | ||
| 701 | * find_get_pages_contig - gang contiguous pagecache lookup | ||
| 702 | * @mapping: The address_space to search | ||
| 703 | * @index: The starting page index | ||
| 704 | * @nr_pages: The maximum number of pages | ||
| 705 | * @pages: Where the resulting pages are placed | ||
| 706 | * | ||
| 707 | * find_get_pages_contig() works exactly like find_get_pages(), except | ||
| 708 | * that the returned number of pages are guaranteed to be contiguous. | ||
| 709 | * | ||
| 710 | * find_get_pages_contig() returns the number of pages which were found. | ||
| 711 | */ | ||
| 712 | unsigned find_get_pages_contig(struct address_space *mapping, pgoff_t index, | ||
| 713 | unsigned int nr_pages, struct page **pages) | ||
| 714 | { | ||
| 715 | unsigned int i; | ||
| 716 | unsigned int ret; | ||
| 717 | |||
| 718 | read_lock_irq(&mapping->tree_lock); | ||
| 719 | ret = radix_tree_gang_lookup(&mapping->page_tree, | ||
| 720 | (void **)pages, index, nr_pages); | ||
| 721 | for (i = 0; i < ret; i++) { | ||
| 722 | if (pages[i]->mapping == NULL || pages[i]->index != index) | ||
| 723 | break; | ||
| 724 | |||
| 725 | page_cache_get(pages[i]); | ||
| 726 | index++; | ||
| 727 | } | ||
| 728 | read_unlock_irq(&mapping->tree_lock); | ||
| 729 | return i; | ||
| 730 | } | ||
| 731 | |||
| 700 | /* | 732 | /* | 
| 701 | * Like find_get_pages, except we only return pages which are tagged with | 733 | * Like find_get_pages, except we only return pages which are tagged with | 
| 702 | * `tag'. We update *index to index the next page for the traversal. | 734 | * `tag'. We update *index to index the next page for the traversal. | 
diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c index 1fe76d963ac2..1ae2b2cc3a54 100644 --- a/mm/memory_hotplug.c +++ b/mm/memory_hotplug.c  | |||
| @@ -69,12 +69,16 @@ int __add_pages(struct zone *zone, unsigned long phys_start_pfn, | |||
| 69 | for (i = 0; i < nr_pages; i += PAGES_PER_SECTION) { | 69 | for (i = 0; i < nr_pages; i += PAGES_PER_SECTION) { | 
| 70 | err = __add_section(zone, phys_start_pfn + i); | 70 | err = __add_section(zone, phys_start_pfn + i); | 
| 71 | 71 | ||
| 72 | if (err) | 72 | /* We want to keep adding the rest of the | 
| 73 | * sections if the first ones already exist | ||
| 74 | */ | ||
| 75 | if (err && (err != -EEXIST)) | ||
| 73 | break; | 76 | break; | 
| 74 | } | 77 | } | 
| 75 | 78 | ||
| 76 | return err; | 79 | return err; | 
| 77 | } | 80 | } | 
| 81 | EXPORT_SYMBOL_GPL(__add_pages); | ||
| 78 | 82 | ||
| 79 | static void grow_zone_span(struct zone *zone, | 83 | static void grow_zone_span(struct zone *zone, | 
| 80 | unsigned long start_pfn, unsigned long end_pfn) | 84 | unsigned long start_pfn, unsigned long end_pfn) | 
diff --git a/mm/migrate.c b/mm/migrate.c index d444229f2599..1c25040693d2 100644 --- a/mm/migrate.c +++ b/mm/migrate.c  | |||
| @@ -439,6 +439,17 @@ redo: | |||
| 439 | goto unlock_both; | 439 | goto unlock_both; | 
| 440 | } | 440 | } | 
| 441 | 441 | ||
| 442 | /* Make sure the dirty bit is up to date */ | ||
| 443 | if (try_to_unmap(page, 1) == SWAP_FAIL) { | ||
| 444 | rc = -EPERM; | ||
| 445 | goto unlock_both; | ||
| 446 | } | ||
| 447 | |||
| 448 | if (page_mapcount(page)) { | ||
| 449 | rc = -EAGAIN; | ||
| 450 | goto unlock_both; | ||
| 451 | } | ||
| 452 | |||
| 442 | /* | 453 | /* | 
| 443 | * Default handling if a filesystem does not provide | 454 | * Default handling if a filesystem does not provide | 
| 444 | * a migration function. We can only migrate clean | 455 | * a migration function. We can only migrate clean | 
| @@ -979,7 +979,8 @@ static void __drain_alien_cache(struct kmem_cache *cachep, | |||
| 979 | * That way we could avoid the overhead of putting the objects | 979 | * That way we could avoid the overhead of putting the objects | 
| 980 | * into the free lists and getting them back later. | 980 | * into the free lists and getting them back later. | 
| 981 | */ | 981 | */ | 
| 982 | transfer_objects(rl3->shared, ac, ac->limit); | 982 | if (rl3->shared) | 
| 983 | transfer_objects(rl3->shared, ac, ac->limit); | ||
| 983 | 984 | ||
| 984 | free_block(cachep, ac->entry, ac->avail, node); | 985 | free_block(cachep, ac->entry, ac->avail, node); | 
| 985 | ac->avail = 0; | 986 | ac->avail = 0; | 
diff --git a/mm/sparse.c b/mm/sparse.c index 0a51f36ba3a1..d7c32de99ee8 100644 --- a/mm/sparse.c +++ b/mm/sparse.c  | |||
| @@ -32,7 +32,10 @@ static struct mem_section *sparse_index_alloc(int nid) | |||
| 32 | unsigned long array_size = SECTIONS_PER_ROOT * | 32 | unsigned long array_size = SECTIONS_PER_ROOT * | 
| 33 | sizeof(struct mem_section); | 33 | sizeof(struct mem_section); | 
| 34 | 34 | ||
| 35 | section = alloc_bootmem_node(NODE_DATA(nid), array_size); | 35 | if (system_state == SYSTEM_RUNNING) | 
| 36 | section = kmalloc_node(array_size, GFP_KERNEL, nid); | ||
| 37 | else | ||
| 38 | section = alloc_bootmem_node(NODE_DATA(nid), array_size); | ||
| 36 | 39 | ||
| 37 | if (section) | 40 | if (section) | 
| 38 | memset(section, 0, array_size); | 41 | memset(section, 0, array_size); | 
| @@ -281,9 +284,9 @@ int sparse_add_one_section(struct zone *zone, unsigned long start_pfn, | |||
| 281 | 284 | ||
| 282 | ret = sparse_init_one_section(ms, section_nr, memmap); | 285 | ret = sparse_init_one_section(ms, section_nr, memmap); | 
| 283 | 286 | ||
| 284 | if (ret <= 0) | ||
| 285 | __kfree_section_memmap(memmap, nr_pages); | ||
| 286 | out: | 287 | out: | 
| 287 | pgdat_resize_unlock(pgdat, &flags); | 288 | pgdat_resize_unlock(pgdat, &flags); | 
| 289 | if (ret <= 0) | ||
| 290 | __kfree_section_memmap(memmap, nr_pages); | ||
| 288 | return ret; | 291 | return ret; | 
| 289 | } | 292 | } | 
diff --git a/net/ipv4/af_inet.c b/net/ipv4/af_inet.c index dc206f1f914f..0a277453526b 100644 --- a/net/ipv4/af_inet.c +++ b/net/ipv4/af_inet.c  | |||
| @@ -1257,7 +1257,7 @@ out_unregister_udp_proto: | |||
| 1257 | goto out; | 1257 | goto out; | 
| 1258 | } | 1258 | } | 
| 1259 | 1259 | ||
| 1260 | module_init(inet_init); | 1260 | fs_initcall(inet_init); | 
| 1261 | 1261 | ||
| 1262 | /* ------------------------------------------------------------------------ */ | 1262 | /* ------------------------------------------------------------------------ */ | 
| 1263 | 1263 | ||
diff --git a/net/ipv4/netfilter/ip_tables.c b/net/ipv4/netfilter/ip_tables.c index d25ac8ba6eba..6d1c11563943 100644 --- a/net/ipv4/netfilter/ip_tables.c +++ b/net/ipv4/netfilter/ip_tables.c  | |||
| @@ -956,15 +956,16 @@ struct compat_ipt_standard_target | |||
| 956 | compat_int_t verdict; | 956 | compat_int_t verdict; | 
| 957 | }; | 957 | }; | 
| 958 | 958 | ||
| 959 | #define IPT_ST_OFFSET (sizeof(struct ipt_standard_target) - \ | ||
| 960 | sizeof(struct compat_ipt_standard_target)) | ||
| 961 | |||
| 962 | struct compat_ipt_standard | 959 | struct compat_ipt_standard | 
| 963 | { | 960 | { | 
| 964 | struct compat_ipt_entry entry; | 961 | struct compat_ipt_entry entry; | 
| 965 | struct compat_ipt_standard_target target; | 962 | struct compat_ipt_standard_target target; | 
| 966 | }; | 963 | }; | 
| 967 | 964 | ||
| 965 | #define IPT_ST_LEN XT_ALIGN(sizeof(struct ipt_standard_target)) | ||
| 966 | #define IPT_ST_COMPAT_LEN COMPAT_XT_ALIGN(sizeof(struct compat_ipt_standard_target)) | ||
| 967 | #define IPT_ST_OFFSET (IPT_ST_LEN - IPT_ST_COMPAT_LEN) | ||
| 968 | |||
| 968 | static int compat_ipt_standard_fn(void *target, | 969 | static int compat_ipt_standard_fn(void *target, | 
| 969 | void **dstptr, int *size, int convert) | 970 | void **dstptr, int *size, int convert) | 
| 970 | { | 971 | { | 
| @@ -975,35 +976,29 @@ static int compat_ipt_standard_fn(void *target, | |||
| 975 | ret = 0; | 976 | ret = 0; | 
| 976 | switch (convert) { | 977 | switch (convert) { | 
| 977 | case COMPAT_TO_USER: | 978 | case COMPAT_TO_USER: | 
| 978 | pst = (struct ipt_standard_target *)target; | 979 | pst = target; | 
| 979 | memcpy(&compat_st.target, &pst->target, | 980 | memcpy(&compat_st.target, &pst->target, | 
| 980 | sizeof(struct ipt_entry_target)); | 981 | sizeof(compat_st.target)); | 
| 981 | compat_st.verdict = pst->verdict; | 982 | compat_st.verdict = pst->verdict; | 
| 982 | if (compat_st.verdict > 0) | 983 | if (compat_st.verdict > 0) | 
| 983 | compat_st.verdict -= | 984 | compat_st.verdict -= | 
| 984 | compat_calc_jump(compat_st.verdict); | 985 | compat_calc_jump(compat_st.verdict); | 
| 985 | compat_st.target.u.user.target_size = | 986 | compat_st.target.u.user.target_size = IPT_ST_COMPAT_LEN; | 
| 986 | sizeof(struct compat_ipt_standard_target); | 987 | if (copy_to_user(*dstptr, &compat_st, IPT_ST_COMPAT_LEN)) | 
| 987 | if (__copy_to_user(*dstptr, &compat_st, | ||
| 988 | sizeof(struct compat_ipt_standard_target))) | ||
| 989 | ret = -EFAULT; | 988 | ret = -EFAULT; | 
| 990 | *size -= IPT_ST_OFFSET; | 989 | *size -= IPT_ST_OFFSET; | 
| 991 | *dstptr += sizeof(struct compat_ipt_standard_target); | 990 | *dstptr += IPT_ST_COMPAT_LEN; | 
| 992 | break; | 991 | break; | 
| 993 | case COMPAT_FROM_USER: | 992 | case COMPAT_FROM_USER: | 
| 994 | pcompat_st = | 993 | pcompat_st = target; | 
| 995 | (struct compat_ipt_standard_target *)target; | 994 | memcpy(&st.target, &pcompat_st->target, IPT_ST_COMPAT_LEN); | 
| 996 | memcpy(&st.target, &pcompat_st->target, | ||
| 997 | sizeof(struct ipt_entry_target)); | ||
| 998 | st.verdict = pcompat_st->verdict; | 995 | st.verdict = pcompat_st->verdict; | 
| 999 | if (st.verdict > 0) | 996 | if (st.verdict > 0) | 
| 1000 | st.verdict += compat_calc_jump(st.verdict); | 997 | st.verdict += compat_calc_jump(st.verdict); | 
| 1001 | st.target.u.user.target_size = | 998 | st.target.u.user.target_size = IPT_ST_LEN; | 
| 1002 | sizeof(struct ipt_standard_target); | 999 | memcpy(*dstptr, &st, IPT_ST_LEN); | 
| 1003 | memcpy(*dstptr, &st, | ||
| 1004 | sizeof(struct ipt_standard_target)); | ||
| 1005 | *size += IPT_ST_OFFSET; | 1000 | *size += IPT_ST_OFFSET; | 
| 1006 | *dstptr += sizeof(struct ipt_standard_target); | 1001 | *dstptr += IPT_ST_LEN; | 
| 1007 | break; | 1002 | break; | 
| 1008 | case COMPAT_CALC_SIZE: | 1003 | case COMPAT_CALC_SIZE: | 
| 1009 | *size += IPT_ST_OFFSET; | 1004 | *size += IPT_ST_OFFSET; | 
diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c index a28ae593b976..743016baa048 100644 --- a/net/ipv4/tcp_output.c +++ b/net/ipv4/tcp_output.c  | |||
| @@ -465,7 +465,7 @@ static int tcp_transmit_skb(struct sock *sk, struct sk_buff *skb, int clone_it, | |||
| 465 | TCP_INC_STATS(TCP_MIB_OUTSEGS); | 465 | TCP_INC_STATS(TCP_MIB_OUTSEGS); | 
| 466 | 466 | ||
| 467 | err = icsk->icsk_af_ops->queue_xmit(skb, 0); | 467 | err = icsk->icsk_af_ops->queue_xmit(skb, 0); | 
| 468 | if (unlikely(err <= 0)) | 468 | if (likely(err <= 0)) | 
| 469 | return err; | 469 | return err; | 
| 470 | 470 | ||
| 471 | tcp_enter_cwr(sk); | 471 | tcp_enter_cwr(sk); | 
diff --git a/net/ipv4/xfrm4_output.c b/net/ipv4/xfrm4_output.c index 32ad229b4fed..4ef8efaf6a67 100644 --- a/net/ipv4/xfrm4_output.c +++ b/net/ipv4/xfrm4_output.c  | |||
| @@ -62,7 +62,7 @@ static void xfrm4_encap(struct sk_buff *skb) | |||
| 62 | top_iph->frag_off = (flags & XFRM_STATE_NOPMTUDISC) ? | 62 | top_iph->frag_off = (flags & XFRM_STATE_NOPMTUDISC) ? | 
| 63 | 0 : (iph->frag_off & htons(IP_DF)); | 63 | 0 : (iph->frag_off & htons(IP_DF)); | 
| 64 | if (!top_iph->frag_off) | 64 | if (!top_iph->frag_off) | 
| 65 | __ip_select_ident(top_iph, dst, 0); | 65 | __ip_select_ident(top_iph, dst->child, 0); | 
| 66 | 66 | ||
| 67 | top_iph->ttl = dst_metric(dst->child, RTAX_HOPLIMIT); | 67 | top_iph->ttl = dst_metric(dst->child, RTAX_HOPLIMIT); | 
| 68 | 68 | ||
diff --git a/net/ipv6/route.c b/net/ipv6/route.c index 79078747a646..0190e39096b9 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c  | |||
| @@ -317,7 +317,7 @@ static struct rt6_info *rt6_select(struct rt6_info **head, int oif, | |||
| 317 | __FUNCTION__, head, head ? *head : NULL, oif); | 317 | __FUNCTION__, head, head ? *head : NULL, oif); | 
| 318 | 318 | ||
| 319 | for (rt = rt0, metric = rt0->rt6i_metric; | 319 | for (rt = rt0, metric = rt0->rt6i_metric; | 
| 320 | rt && rt->rt6i_metric == metric; | 320 | rt && rt->rt6i_metric == metric && (!last || rt != rt0); | 
| 321 | rt = rt->u.next) { | 321 | rt = rt->u.next) { | 
| 322 | int m; | 322 | int m; | 
| 323 | 323 | ||
| @@ -343,9 +343,12 @@ static struct rt6_info *rt6_select(struct rt6_info **head, int oif, | |||
| 343 | (strict & RT6_SELECT_F_REACHABLE) && | 343 | (strict & RT6_SELECT_F_REACHABLE) && | 
| 344 | last && last != rt0) { | 344 | last && last != rt0) { | 
| 345 | /* no entries matched; do round-robin */ | 345 | /* no entries matched; do round-robin */ | 
| 346 | static spinlock_t lock = SPIN_LOCK_UNLOCKED; | ||
| 347 | spin_lock(&lock); | ||
| 346 | *head = rt0->u.next; | 348 | *head = rt0->u.next; | 
| 347 | rt0->u.next = last->u.next; | 349 | rt0->u.next = last->u.next; | 
| 348 | last->u.next = rt0; | 350 | last->u.next = rt0; | 
| 351 | spin_unlock(&lock); | ||
| 349 | } | 352 | } | 
| 350 | 353 | ||
| 351 | RT6_TRACE("%s() => %p, score=%d\n", | 354 | RT6_TRACE("%s() => %p, score=%d\n", | 
diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c index 2a233ffcf618..3862e73d14d7 100644 --- a/net/netlink/af_netlink.c +++ b/net/netlink/af_netlink.c  | |||
| @@ -56,12 +56,12 @@ | |||
| 56 | #include <linux/mm.h> | 56 | #include <linux/mm.h> | 
| 57 | #include <linux/types.h> | 57 | #include <linux/types.h> | 
| 58 | #include <linux/audit.h> | 58 | #include <linux/audit.h> | 
| 59 | #include <linux/selinux.h> | ||
| 59 | 60 | ||
| 60 | #include <net/sock.h> | 61 | #include <net/sock.h> | 
| 61 | #include <net/scm.h> | 62 | #include <net/scm.h> | 
| 62 | #include <net/netlink.h> | 63 | #include <net/netlink.h> | 
| 63 | 64 | ||
| 64 | #define Nprintk(a...) | ||
| 65 | #define NLGRPSZ(x) (ALIGN(x, sizeof(unsigned long) * 8) / 8) | 65 | #define NLGRPSZ(x) (ALIGN(x, sizeof(unsigned long) * 8) / 8) | 
| 66 | 66 | ||
| 67 | struct netlink_sock { | 67 | struct netlink_sock { | 
| @@ -1157,6 +1157,7 @@ static int netlink_sendmsg(struct kiocb *kiocb, struct socket *sock, | |||
| 1157 | NETLINK_CB(skb).dst_pid = dst_pid; | 1157 | NETLINK_CB(skb).dst_pid = dst_pid; | 
| 1158 | NETLINK_CB(skb).dst_group = dst_group; | 1158 | NETLINK_CB(skb).dst_group = dst_group; | 
| 1159 | NETLINK_CB(skb).loginuid = audit_get_loginuid(current->audit_context); | 1159 | NETLINK_CB(skb).loginuid = audit_get_loginuid(current->audit_context); | 
| 1160 | selinux_get_task_sid(current, &(NETLINK_CB(skb).sid)); | ||
| 1160 | memcpy(NETLINK_CREDS(skb), &siocb->scm->creds, sizeof(struct ucred)); | 1161 | memcpy(NETLINK_CREDS(skb), &siocb->scm->creds, sizeof(struct ucred)); | 
| 1161 | 1162 | ||
| 1162 | /* What can I do? Netlink is asynchronous, so that | 1163 | /* What can I do? Netlink is asynchronous, so that | 
diff --git a/net/sched/sch_netem.c b/net/sched/sch_netem.c index 7228d30512c7..5a4a4d0ae502 100644 --- a/net/sched/sch_netem.c +++ b/net/sched/sch_netem.c  | |||
| @@ -167,7 +167,7 @@ static int netem_enqueue(struct sk_buff *skb, struct Qdisc *sch) | |||
| 167 | if (count == 0) { | 167 | if (count == 0) { | 
| 168 | sch->qstats.drops++; | 168 | sch->qstats.drops++; | 
| 169 | kfree_skb(skb); | 169 | kfree_skb(skb); | 
| 170 | return NET_XMIT_DROP; | 170 | return NET_XMIT_BYPASS; | 
| 171 | } | 171 | } | 
| 172 | 172 | ||
| 173 | /* | 173 | /* | 
diff --git a/net/socket.c b/net/socket.c index 0ce12dfc7a71..02948b622bd2 100644 --- a/net/socket.c +++ b/net/socket.c  | |||
| @@ -267,6 +267,8 @@ int move_addr_to_user(void *kaddr, int klen, void __user *uaddr, int __user *ule | |||
| 267 | return -EINVAL; | 267 | return -EINVAL; | 
| 268 | if(len) | 268 | if(len) | 
| 269 | { | 269 | { | 
| 270 | if (audit_sockaddr(klen, kaddr)) | ||
| 271 | return -ENOMEM; | ||
| 270 | if(copy_to_user(uaddr,kaddr,len)) | 272 | if(copy_to_user(uaddr,kaddr,len)) | 
| 271 | return -EFAULT; | 273 | return -EFAULT; | 
| 272 | } | 274 | } | 
diff --git a/net/x25/x25_timer.c b/net/x25/x25_timer.c index 0a92e1da3922..71ff3088f6fe 100644 --- a/net/x25/x25_timer.c +++ b/net/x25/x25_timer.c  | |||
| @@ -114,8 +114,9 @@ static void x25_heartbeat_expiry(unsigned long param) | |||
| 114 | if (sock_flag(sk, SOCK_DESTROY) || | 114 | if (sock_flag(sk, SOCK_DESTROY) || | 
| 115 | (sk->sk_state == TCP_LISTEN && | 115 | (sk->sk_state == TCP_LISTEN && | 
| 116 | sock_flag(sk, SOCK_DEAD))) { | 116 | sock_flag(sk, SOCK_DEAD))) { | 
| 117 | bh_unlock_sock(sk); | ||
| 117 | x25_destroy_socket(sk); | 118 | x25_destroy_socket(sk); | 
| 118 | goto unlock; | 119 | return; | 
| 119 | } | 120 | } | 
| 120 | break; | 121 | break; | 
| 121 | 122 | ||
| @@ -128,7 +129,6 @@ static void x25_heartbeat_expiry(unsigned long param) | |||
| 128 | } | 129 | } | 
| 129 | restart_heartbeat: | 130 | restart_heartbeat: | 
| 130 | x25_start_heartbeat(sk); | 131 | x25_start_heartbeat(sk); | 
| 131 | unlock: | ||
| 132 | bh_unlock_sock(sk); | 132 | bh_unlock_sock(sk); | 
| 133 | } | 133 | } | 
| 134 | 134 | ||
diff --git a/net/xfrm/xfrm_policy.c b/net/xfrm/xfrm_policy.c index c3725fe2a8fb..b469c8b54613 100644 --- a/net/xfrm/xfrm_policy.c +++ b/net/xfrm/xfrm_policy.c  | |||
| @@ -57,12 +57,12 @@ int xfrm_register_type(struct xfrm_type *type, unsigned short family) | |||
| 57 | return -EAFNOSUPPORT; | 57 | return -EAFNOSUPPORT; | 
| 58 | typemap = afinfo->type_map; | 58 | typemap = afinfo->type_map; | 
| 59 | 59 | ||
| 60 | write_lock(&typemap->lock); | 60 | write_lock_bh(&typemap->lock); | 
| 61 | if (likely(typemap->map[type->proto] == NULL)) | 61 | if (likely(typemap->map[type->proto] == NULL)) | 
| 62 | typemap->map[type->proto] = type; | 62 | typemap->map[type->proto] = type; | 
| 63 | else | 63 | else | 
| 64 | err = -EEXIST; | 64 | err = -EEXIST; | 
| 65 | write_unlock(&typemap->lock); | 65 | write_unlock_bh(&typemap->lock); | 
| 66 | xfrm_policy_put_afinfo(afinfo); | 66 | xfrm_policy_put_afinfo(afinfo); | 
| 67 | return err; | 67 | return err; | 
| 68 | } | 68 | } | 
| @@ -78,12 +78,12 @@ int xfrm_unregister_type(struct xfrm_type *type, unsigned short family) | |||
| 78 | return -EAFNOSUPPORT; | 78 | return -EAFNOSUPPORT; | 
| 79 | typemap = afinfo->type_map; | 79 | typemap = afinfo->type_map; | 
| 80 | 80 | ||
| 81 | write_lock(&typemap->lock); | 81 | write_lock_bh(&typemap->lock); | 
| 82 | if (unlikely(typemap->map[type->proto] != type)) | 82 | if (unlikely(typemap->map[type->proto] != type)) | 
| 83 | err = -ENOENT; | 83 | err = -ENOENT; | 
| 84 | else | 84 | else | 
| 85 | typemap->map[type->proto] = NULL; | 85 | typemap->map[type->proto] = NULL; | 
| 86 | write_unlock(&typemap->lock); | 86 | write_unlock_bh(&typemap->lock); | 
| 87 | xfrm_policy_put_afinfo(afinfo); | 87 | xfrm_policy_put_afinfo(afinfo); | 
| 88 | return err; | 88 | return err; | 
| 89 | } | 89 | } | 
| @@ -1251,7 +1251,7 @@ int xfrm_policy_register_afinfo(struct xfrm_policy_afinfo *afinfo) | |||
| 1251 | return -EINVAL; | 1251 | return -EINVAL; | 
| 1252 | if (unlikely(afinfo->family >= NPROTO)) | 1252 | if (unlikely(afinfo->family >= NPROTO)) | 
| 1253 | return -EAFNOSUPPORT; | 1253 | return -EAFNOSUPPORT; | 
| 1254 | write_lock(&xfrm_policy_afinfo_lock); | 1254 | write_lock_bh(&xfrm_policy_afinfo_lock); | 
| 1255 | if (unlikely(xfrm_policy_afinfo[afinfo->family] != NULL)) | 1255 | if (unlikely(xfrm_policy_afinfo[afinfo->family] != NULL)) | 
| 1256 | err = -ENOBUFS; | 1256 | err = -ENOBUFS; | 
| 1257 | else { | 1257 | else { | 
| @@ -1268,7 +1268,7 @@ int xfrm_policy_register_afinfo(struct xfrm_policy_afinfo *afinfo) | |||
| 1268 | afinfo->garbage_collect = __xfrm_garbage_collect; | 1268 | afinfo->garbage_collect = __xfrm_garbage_collect; | 
| 1269 | xfrm_policy_afinfo[afinfo->family] = afinfo; | 1269 | xfrm_policy_afinfo[afinfo->family] = afinfo; | 
| 1270 | } | 1270 | } | 
| 1271 | write_unlock(&xfrm_policy_afinfo_lock); | 1271 | write_unlock_bh(&xfrm_policy_afinfo_lock); | 
| 1272 | return err; | 1272 | return err; | 
| 1273 | } | 1273 | } | 
| 1274 | EXPORT_SYMBOL(xfrm_policy_register_afinfo); | 1274 | EXPORT_SYMBOL(xfrm_policy_register_afinfo); | 
| @@ -1280,7 +1280,7 @@ int xfrm_policy_unregister_afinfo(struct xfrm_policy_afinfo *afinfo) | |||
| 1280 | return -EINVAL; | 1280 | return -EINVAL; | 
| 1281 | if (unlikely(afinfo->family >= NPROTO)) | 1281 | if (unlikely(afinfo->family >= NPROTO)) | 
| 1282 | return -EAFNOSUPPORT; | 1282 | return -EAFNOSUPPORT; | 
| 1283 | write_lock(&xfrm_policy_afinfo_lock); | 1283 | write_lock_bh(&xfrm_policy_afinfo_lock); | 
| 1284 | if (likely(xfrm_policy_afinfo[afinfo->family] != NULL)) { | 1284 | if (likely(xfrm_policy_afinfo[afinfo->family] != NULL)) { | 
| 1285 | if (unlikely(xfrm_policy_afinfo[afinfo->family] != afinfo)) | 1285 | if (unlikely(xfrm_policy_afinfo[afinfo->family] != afinfo)) | 
| 1286 | err = -EINVAL; | 1286 | err = -EINVAL; | 
| @@ -1294,7 +1294,7 @@ int xfrm_policy_unregister_afinfo(struct xfrm_policy_afinfo *afinfo) | |||
| 1294 | afinfo->garbage_collect = NULL; | 1294 | afinfo->garbage_collect = NULL; | 
| 1295 | } | 1295 | } | 
| 1296 | } | 1296 | } | 
| 1297 | write_unlock(&xfrm_policy_afinfo_lock); | 1297 | write_unlock_bh(&xfrm_policy_afinfo_lock); | 
| 1298 | return err; | 1298 | return err; | 
| 1299 | } | 1299 | } | 
| 1300 | EXPORT_SYMBOL(xfrm_policy_unregister_afinfo); | 1300 | EXPORT_SYMBOL(xfrm_policy_unregister_afinfo); | 
diff --git a/net/xfrm/xfrm_state.c b/net/xfrm/xfrm_state.c index 3dc3e1f3b7aa..93a2f36ad3db 100644 --- a/net/xfrm/xfrm_state.c +++ b/net/xfrm/xfrm_state.c  | |||
| @@ -1061,7 +1061,7 @@ int xfrm_state_register_afinfo(struct xfrm_state_afinfo *afinfo) | |||
| 1061 | return -EINVAL; | 1061 | return -EINVAL; | 
| 1062 | if (unlikely(afinfo->family >= NPROTO)) | 1062 | if (unlikely(afinfo->family >= NPROTO)) | 
| 1063 | return -EAFNOSUPPORT; | 1063 | return -EAFNOSUPPORT; | 
| 1064 | write_lock(&xfrm_state_afinfo_lock); | 1064 | write_lock_bh(&xfrm_state_afinfo_lock); | 
| 1065 | if (unlikely(xfrm_state_afinfo[afinfo->family] != NULL)) | 1065 | if (unlikely(xfrm_state_afinfo[afinfo->family] != NULL)) | 
| 1066 | err = -ENOBUFS; | 1066 | err = -ENOBUFS; | 
| 1067 | else { | 1067 | else { | 
| @@ -1069,7 +1069,7 @@ int xfrm_state_register_afinfo(struct xfrm_state_afinfo *afinfo) | |||
| 1069 | afinfo->state_byspi = xfrm_state_byspi; | 1069 | afinfo->state_byspi = xfrm_state_byspi; | 
| 1070 | xfrm_state_afinfo[afinfo->family] = afinfo; | 1070 | xfrm_state_afinfo[afinfo->family] = afinfo; | 
| 1071 | } | 1071 | } | 
| 1072 | write_unlock(&xfrm_state_afinfo_lock); | 1072 | write_unlock_bh(&xfrm_state_afinfo_lock); | 
| 1073 | return err; | 1073 | return err; | 
| 1074 | } | 1074 | } | 
| 1075 | EXPORT_SYMBOL(xfrm_state_register_afinfo); | 1075 | EXPORT_SYMBOL(xfrm_state_register_afinfo); | 
| @@ -1081,7 +1081,7 @@ int xfrm_state_unregister_afinfo(struct xfrm_state_afinfo *afinfo) | |||
| 1081 | return -EINVAL; | 1081 | return -EINVAL; | 
| 1082 | if (unlikely(afinfo->family >= NPROTO)) | 1082 | if (unlikely(afinfo->family >= NPROTO)) | 
| 1083 | return -EAFNOSUPPORT; | 1083 | return -EAFNOSUPPORT; | 
| 1084 | write_lock(&xfrm_state_afinfo_lock); | 1084 | write_lock_bh(&xfrm_state_afinfo_lock); | 
| 1085 | if (likely(xfrm_state_afinfo[afinfo->family] != NULL)) { | 1085 | if (likely(xfrm_state_afinfo[afinfo->family] != NULL)) { | 
| 1086 | if (unlikely(xfrm_state_afinfo[afinfo->family] != afinfo)) | 1086 | if (unlikely(xfrm_state_afinfo[afinfo->family] != afinfo)) | 
| 1087 | err = -EINVAL; | 1087 | err = -EINVAL; | 
| @@ -1091,7 +1091,7 @@ int xfrm_state_unregister_afinfo(struct xfrm_state_afinfo *afinfo) | |||
| 1091 | afinfo->state_bydst = NULL; | 1091 | afinfo->state_bydst = NULL; | 
| 1092 | } | 1092 | } | 
| 1093 | } | 1093 | } | 
| 1094 | write_unlock(&xfrm_state_afinfo_lock); | 1094 | write_unlock_bh(&xfrm_state_afinfo_lock); | 
| 1095 | return err; | 1095 | return err; | 
| 1096 | } | 1096 | } | 
| 1097 | EXPORT_SYMBOL(xfrm_state_unregister_afinfo); | 1097 | EXPORT_SYMBOL(xfrm_state_unregister_afinfo); | 
diff --git a/scripts/mod/file2alias.c b/scripts/mod/file2alias.c index 84e21201f3c0..37f67c23e11b 100644 --- a/scripts/mod/file2alias.c +++ b/scripts/mod/file2alias.c  | |||
| @@ -374,10 +374,10 @@ static void do_input(char *alias, | |||
| 374 | kernel_ulong_t *arr, unsigned int min, unsigned int max) | 374 | kernel_ulong_t *arr, unsigned int min, unsigned int max) | 
| 375 | { | 375 | { | 
| 376 | unsigned int i; | 376 | unsigned int i; | 
| 377 | for (i = min; i < max; i++) { | 377 | |
| 378 | if (arr[i/BITS_PER_LONG] & (1 << (i%BITS_PER_LONG))) | 378 | for (i = min; i < max; i++) | 
| 379 | sprintf(alias+strlen(alias), "%X,*", i); | 379 | if (arr[i / BITS_PER_LONG] & (1 << (i%BITS_PER_LONG))) | 
| 380 | } | 380 | sprintf(alias + strlen(alias), "%X,*", i); | 
| 381 | } | 381 | } | 
| 382 | 382 | ||
| 383 | /* input:b0v0p0e0-eXkXrXaXmXlXsXfXwX where X is comma-separated %02X. */ | 383 | /* input:b0v0p0e0-eXkXrXaXmXlXsXfXwX where X is comma-separated %02X. */ | 
| @@ -386,39 +386,37 @@ static int do_input_entry(const char *filename, struct input_device_id *id, | |||
| 386 | { | 386 | { | 
| 387 | sprintf(alias, "input:"); | 387 | sprintf(alias, "input:"); | 
| 388 | 388 | ||
| 389 | ADD(alias, "b", id->flags&INPUT_DEVICE_ID_MATCH_BUS, id->id.bustype); | 389 | ADD(alias, "b", id->flags & INPUT_DEVICE_ID_MATCH_BUS, id->bustype); | 
| 390 | ADD(alias, "v", id->flags&INPUT_DEVICE_ID_MATCH_VENDOR, id->id.vendor); | 390 | ADD(alias, "v", id->flags & INPUT_DEVICE_ID_MATCH_VENDOR, id->vendor); | 
| 391 | ADD(alias, "p", id->flags&INPUT_DEVICE_ID_MATCH_PRODUCT, | 391 | ADD(alias, "p", id->flags & INPUT_DEVICE_ID_MATCH_PRODUCT, id->product); | 
| 392 | id->id.product); | 392 | ADD(alias, "e", id->flags & INPUT_DEVICE_ID_MATCH_VERSION, id->version); | 
| 393 | ADD(alias, "e", id->flags&INPUT_DEVICE_ID_MATCH_VERSION, | ||
| 394 | id->id.version); | ||
| 395 | 393 | ||
| 396 | sprintf(alias + strlen(alias), "-e*"); | 394 | sprintf(alias + strlen(alias), "-e*"); | 
| 397 | if (id->flags&INPUT_DEVICE_ID_MATCH_EVBIT) | 395 | if (id->flags & INPUT_DEVICE_ID_MATCH_EVBIT) | 
| 398 | do_input(alias, id->evbit, 0, EV_MAX); | 396 | do_input(alias, id->evbit, 0, EV_MAX); | 
| 399 | sprintf(alias + strlen(alias), "k*"); | 397 | sprintf(alias + strlen(alias), "k*"); | 
| 400 | if (id->flags&INPUT_DEVICE_ID_MATCH_KEYBIT) | 398 | if (id->flags & INPUT_DEVICE_ID_MATCH_KEYBIT) | 
| 401 | do_input(alias, id->keybit, KEY_MIN_INTERESTING, KEY_MAX); | 399 | do_input(alias, id->keybit, KEY_MIN_INTERESTING, KEY_MAX); | 
| 402 | sprintf(alias + strlen(alias), "r*"); | 400 | sprintf(alias + strlen(alias), "r*"); | 
| 403 | if (id->flags&INPUT_DEVICE_ID_MATCH_RELBIT) | 401 | if (id->flags & INPUT_DEVICE_ID_MATCH_RELBIT) | 
| 404 | do_input(alias, id->relbit, 0, REL_MAX); | 402 | do_input(alias, id->relbit, 0, REL_MAX); | 
| 405 | sprintf(alias + strlen(alias), "a*"); | 403 | sprintf(alias + strlen(alias), "a*"); | 
| 406 | if (id->flags&INPUT_DEVICE_ID_MATCH_ABSBIT) | 404 | if (id->flags & INPUT_DEVICE_ID_MATCH_ABSBIT) | 
| 407 | do_input(alias, id->absbit, 0, ABS_MAX); | 405 | do_input(alias, id->absbit, 0, ABS_MAX); | 
| 408 | sprintf(alias + strlen(alias), "m*"); | 406 | sprintf(alias + strlen(alias), "m*"); | 
| 409 | if (id->flags&INPUT_DEVICE_ID_MATCH_MSCIT) | 407 | if (id->flags & INPUT_DEVICE_ID_MATCH_MSCIT) | 
| 410 | do_input(alias, id->mscbit, 0, MSC_MAX); | 408 | do_input(alias, id->mscbit, 0, MSC_MAX); | 
| 411 | sprintf(alias + strlen(alias), "l*"); | 409 | sprintf(alias + strlen(alias), "l*"); | 
| 412 | if (id->flags&INPUT_DEVICE_ID_MATCH_LEDBIT) | 410 | if (id->flags & INPUT_DEVICE_ID_MATCH_LEDBIT) | 
| 413 | do_input(alias, id->ledbit, 0, LED_MAX); | 411 | do_input(alias, id->ledbit, 0, LED_MAX); | 
| 414 | sprintf(alias + strlen(alias), "s*"); | 412 | sprintf(alias + strlen(alias), "s*"); | 
| 415 | if (id->flags&INPUT_DEVICE_ID_MATCH_SNDBIT) | 413 | if (id->flags & INPUT_DEVICE_ID_MATCH_SNDBIT) | 
| 416 | do_input(alias, id->sndbit, 0, SND_MAX); | 414 | do_input(alias, id->sndbit, 0, SND_MAX); | 
| 417 | sprintf(alias + strlen(alias), "f*"); | 415 | sprintf(alias + strlen(alias), "f*"); | 
| 418 | if (id->flags&INPUT_DEVICE_ID_MATCH_FFBIT) | 416 | if (id->flags & INPUT_DEVICE_ID_MATCH_FFBIT) | 
| 419 | do_input(alias, id->ffbit, 0, FF_MAX); | 417 | do_input(alias, id->ffbit, 0, FF_MAX); | 
| 420 | sprintf(alias + strlen(alias), "w*"); | 418 | sprintf(alias + strlen(alias), "w*"); | 
| 421 | if (id->flags&INPUT_DEVICE_ID_MATCH_SWBIT) | 419 | if (id->flags & INPUT_DEVICE_ID_MATCH_SWBIT) | 
| 422 | do_input(alias, id->swbit, 0, SW_MAX); | 420 | do_input(alias, id->swbit, 0, SW_MAX); | 
| 423 | return 1; | 421 | return 1; | 
| 424 | } | 422 | } | 
diff --git a/security/dummy.c b/security/dummy.c index fd99429278e9..8ccccccc12ac 100644 --- a/security/dummy.c +++ b/security/dummy.c  | |||
| @@ -563,11 +563,6 @@ static int dummy_ipc_permission (struct kern_ipc_perm *ipcp, short flag) | |||
| 563 | return 0; | 563 | return 0; | 
| 564 | } | 564 | } | 
| 565 | 565 | ||
| 566 | static int dummy_ipc_getsecurity(struct kern_ipc_perm *ipcp, void *buffer, size_t size) | ||
| 567 | { | ||
| 568 | return -EOPNOTSUPP; | ||
| 569 | } | ||
| 570 | |||
| 571 | static int dummy_msg_msg_alloc_security (struct msg_msg *msg) | 566 | static int dummy_msg_msg_alloc_security (struct msg_msg *msg) | 
| 572 | { | 567 | { | 
| 573 | return 0; | 568 | return 0; | 
| @@ -976,7 +971,6 @@ void security_fixup_ops (struct security_operations *ops) | |||
| 976 | set_to_dummy_if_null(ops, task_reparent_to_init); | 971 | set_to_dummy_if_null(ops, task_reparent_to_init); | 
| 977 | set_to_dummy_if_null(ops, task_to_inode); | 972 | set_to_dummy_if_null(ops, task_to_inode); | 
| 978 | set_to_dummy_if_null(ops, ipc_permission); | 973 | set_to_dummy_if_null(ops, ipc_permission); | 
| 979 | set_to_dummy_if_null(ops, ipc_getsecurity); | ||
| 980 | set_to_dummy_if_null(ops, msg_msg_alloc_security); | 974 | set_to_dummy_if_null(ops, msg_msg_alloc_security); | 
| 981 | set_to_dummy_if_null(ops, msg_msg_free_security); | 975 | set_to_dummy_if_null(ops, msg_msg_free_security); | 
| 982 | set_to_dummy_if_null(ops, msg_queue_alloc_security); | 976 | set_to_dummy_if_null(ops, msg_queue_alloc_security); | 
diff --git a/security/selinux/Makefile b/security/selinux/Makefile index 688c0a267b62..faf2e02e4410 100644 --- a/security/selinux/Makefile +++ b/security/selinux/Makefile  | |||
| @@ -4,7 +4,7 @@ | |||
| 4 | 4 | ||
| 5 | obj-$(CONFIG_SECURITY_SELINUX) := selinux.o ss/ | 5 | obj-$(CONFIG_SECURITY_SELINUX) := selinux.o ss/ | 
| 6 | 6 | ||
| 7 | selinux-y := avc.o hooks.o selinuxfs.o netlink.o nlmsgtab.o netif.o | 7 | selinux-y := avc.o hooks.o selinuxfs.o netlink.o nlmsgtab.o netif.o exports.o | 
| 8 | 8 | ||
| 9 | selinux-$(CONFIG_SECURITY_NETWORK_XFRM) += xfrm.o | 9 | selinux-$(CONFIG_SECURITY_NETWORK_XFRM) += xfrm.o | 
| 10 | 10 | ||
diff --git a/security/selinux/avc.c b/security/selinux/avc.c index ac5d69bb3377..a300702da527 100644 --- a/security/selinux/avc.c +++ b/security/selinux/avc.c  | |||
| @@ -800,7 +800,7 @@ out: | |||
| 800 | int avc_ss_reset(u32 seqno) | 800 | int avc_ss_reset(u32 seqno) | 
| 801 | { | 801 | { | 
| 802 | struct avc_callback_node *c; | 802 | struct avc_callback_node *c; | 
| 803 | int i, rc = 0; | 803 | int i, rc = 0, tmprc; | 
| 804 | unsigned long flag; | 804 | unsigned long flag; | 
| 805 | struct avc_node *node; | 805 | struct avc_node *node; | 
| 806 | 806 | ||
| @@ -813,15 +813,16 @@ int avc_ss_reset(u32 seqno) | |||
| 813 | 813 | ||
| 814 | for (c = avc_callbacks; c; c = c->next) { | 814 | for (c = avc_callbacks; c; c = c->next) { | 
| 815 | if (c->events & AVC_CALLBACK_RESET) { | 815 | if (c->events & AVC_CALLBACK_RESET) { | 
| 816 | rc = c->callback(AVC_CALLBACK_RESET, | 816 | tmprc = c->callback(AVC_CALLBACK_RESET, | 
| 817 | 0, 0, 0, 0, NULL); | 817 | 0, 0, 0, 0, NULL); | 
| 818 | if (rc) | 818 | /* save the first error encountered for the return | 
| 819 | goto out; | 819 | value and continue processing the callbacks */ | 
| 820 | if (!rc) | ||
| 821 | rc = tmprc; | ||
| 820 | } | 822 | } | 
| 821 | } | 823 | } | 
| 822 | 824 | ||
| 823 | avc_latest_notif_update(seqno, 0); | 825 | avc_latest_notif_update(seqno, 0); | 
| 824 | out: | ||
| 825 | return rc; | 826 | return rc; | 
| 826 | } | 827 | } | 
| 827 | 828 | ||
diff --git a/security/selinux/exports.c b/security/selinux/exports.c new file mode 100644 index 000000000000..ae4c73eb3085 --- /dev/null +++ b/security/selinux/exports.c  | |||
| @@ -0,0 +1,74 @@ | |||
| 1 | /* | ||
| 2 | * SELinux services exported to the rest of the kernel. | ||
| 3 | * | ||
| 4 | * Author: James Morris <jmorris@redhat.com> | ||
| 5 | * | ||
| 6 | * Copyright (C) 2005 Red Hat, Inc., James Morris <jmorris@redhat.com> | ||
| 7 | * Copyright (C) 2006 Trusted Computer Solutions, Inc. <dgoeddel@trustedcs.com> | ||
| 8 | * Copyright (C) 2006 IBM Corporation, Timothy R. Chavez <tinytim@us.ibm.com> | ||
| 9 | * | ||
| 10 | * This program is free software; you can redistribute it and/or modify | ||
| 11 | * it under the terms of the GNU General Public License version 2, | ||
| 12 | * as published by the Free Software Foundation. | ||
| 13 | */ | ||
| 14 | #include <linux/types.h> | ||
| 15 | #include <linux/kernel.h> | ||
| 16 | #include <linux/module.h> | ||
| 17 | #include <linux/selinux.h> | ||
| 18 | #include <linux/fs.h> | ||
| 19 | #include <linux/ipc.h> | ||
| 20 | |||
| 21 | #include "security.h" | ||
| 22 | #include "objsec.h" | ||
| 23 | |||
| 24 | void selinux_task_ctxid(struct task_struct *tsk, u32 *ctxid) | ||
| 25 | { | ||
| 26 | struct task_security_struct *tsec = tsk->security; | ||
| 27 | if (selinux_enabled) | ||
| 28 | *ctxid = tsec->sid; | ||
| 29 | else | ||
| 30 | *ctxid = 0; | ||
| 31 | } | ||
| 32 | |||
| 33 | int selinux_ctxid_to_string(u32 ctxid, char **ctx, u32 *ctxlen) | ||
| 34 | { | ||
| 35 | if (selinux_enabled) | ||
| 36 | return security_sid_to_context(ctxid, ctx, ctxlen); | ||
| 37 | else { | ||
| 38 | *ctx = NULL; | ||
| 39 | *ctxlen = 0; | ||
| 40 | } | ||
| 41 | |||
| 42 | return 0; | ||
| 43 | } | ||
| 44 | |||
| 45 | void selinux_get_inode_sid(const struct inode *inode, u32 *sid) | ||
| 46 | { | ||
| 47 | if (selinux_enabled) { | ||
| 48 | struct inode_security_struct *isec = inode->i_security; | ||
| 49 | *sid = isec->sid; | ||
| 50 | return; | ||
| 51 | } | ||
| 52 | *sid = 0; | ||
| 53 | } | ||
| 54 | |||
| 55 | void selinux_get_ipc_sid(const struct kern_ipc_perm *ipcp, u32 *sid) | ||
| 56 | { | ||
| 57 | if (selinux_enabled) { | ||
| 58 | struct ipc_security_struct *isec = ipcp->security; | ||
| 59 | *sid = isec->sid; | ||
| 60 | return; | ||
| 61 | } | ||
| 62 | *sid = 0; | ||
| 63 | } | ||
| 64 | |||
| 65 | void selinux_get_task_sid(struct task_struct *tsk, u32 *sid) | ||
| 66 | { | ||
| 67 | if (selinux_enabled) { | ||
| 68 | struct task_security_struct *tsec = tsk->security; | ||
| 69 | *sid = tsec->sid; | ||
| 70 | return; | ||
| 71 | } | ||
| 72 | *sid = 0; | ||
| 73 | } | ||
| 74 | |||
diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c index b61b9554bc27..3cf368a16448 100644 --- a/security/selinux/hooks.c +++ b/security/selinux/hooks.c  | |||
| @@ -4052,13 +4052,6 @@ static int selinux_ipc_permission(struct kern_ipc_perm *ipcp, short flag) | |||
| 4052 | return ipc_has_perm(ipcp, av); | 4052 | return ipc_has_perm(ipcp, av); | 
| 4053 | } | 4053 | } | 
| 4054 | 4054 | ||
| 4055 | static int selinux_ipc_getsecurity(struct kern_ipc_perm *ipcp, void *buffer, size_t size) | ||
| 4056 | { | ||
| 4057 | struct ipc_security_struct *isec = ipcp->security; | ||
| 4058 | |||
| 4059 | return selinux_getsecurity(isec->sid, buffer, size); | ||
| 4060 | } | ||
| 4061 | |||
| 4062 | /* module stacking operations */ | 4055 | /* module stacking operations */ | 
| 4063 | static int selinux_register_security (const char *name, struct security_operations *ops) | 4056 | static int selinux_register_security (const char *name, struct security_operations *ops) | 
| 4064 | { | 4057 | { | 
| @@ -4321,7 +4314,6 @@ static struct security_operations selinux_ops = { | |||
| 4321 | .task_to_inode = selinux_task_to_inode, | 4314 | .task_to_inode = selinux_task_to_inode, | 
| 4322 | 4315 | ||
| 4323 | .ipc_permission = selinux_ipc_permission, | 4316 | .ipc_permission = selinux_ipc_permission, | 
| 4324 | .ipc_getsecurity = selinux_ipc_getsecurity, | ||
| 4325 | 4317 | ||
| 4326 | .msg_msg_alloc_security = selinux_msg_msg_alloc_security, | 4318 | .msg_msg_alloc_security = selinux_msg_msg_alloc_security, | 
| 4327 | .msg_msg_free_security = selinux_msg_msg_free_security, | 4319 | .msg_msg_free_security = selinux_msg_msg_free_security, | 
diff --git a/security/selinux/ss/mls.c b/security/selinux/ss/mls.c index 84047f69f9c1..7bc5b6440f70 100644 --- a/security/selinux/ss/mls.c +++ b/security/selinux/ss/mls.c  | |||
| @@ -8,7 +8,7 @@ | |||
| 8 | * | 8 | * | 
| 9 | * Support for enhanced MLS infrastructure. | 9 | * Support for enhanced MLS infrastructure. | 
| 10 | * | 10 | * | 
| 11 | * Copyright (C) 2004-2005 Trusted Computer Solutions, Inc. | 11 | * Copyright (C) 2004-2006 Trusted Computer Solutions, Inc. | 
| 12 | */ | 12 | */ | 
| 13 | 13 | ||
| 14 | #include <linux/kernel.h> | 14 | #include <linux/kernel.h> | 
| @@ -385,6 +385,34 @@ out: | |||
| 385 | } | 385 | } | 
| 386 | 386 | ||
| 387 | /* | 387 | /* | 
| 388 | * Set the MLS fields in the security context structure | ||
| 389 | * `context' based on the string representation in | ||
| 390 | * the string `str'. This function will allocate temporary memory with the | ||
| 391 | * given constraints of gfp_mask. | ||
| 392 | */ | ||
| 393 | int mls_from_string(char *str, struct context *context, gfp_t gfp_mask) | ||
| 394 | { | ||
| 395 | char *tmpstr, *freestr; | ||
| 396 | int rc; | ||
| 397 | |||
| 398 | if (!selinux_mls_enabled) | ||
| 399 | return -EINVAL; | ||
| 400 | |||
| 401 | /* we need freestr because mls_context_to_sid will change | ||
| 402 | the value of tmpstr */ | ||
| 403 | tmpstr = freestr = kstrdup(str, gfp_mask); | ||
| 404 | if (!tmpstr) { | ||
| 405 | rc = -ENOMEM; | ||
| 406 | } else { | ||
| 407 | rc = mls_context_to_sid(':', &tmpstr, context, | ||
| 408 | NULL, SECSID_NULL); | ||
| 409 | kfree(freestr); | ||
| 410 | } | ||
| 411 | |||
| 412 | return rc; | ||
| 413 | } | ||
| 414 | |||
| 415 | /* | ||
| 388 | * Copies the effective MLS range from `src' into `dst'. | 416 | * Copies the effective MLS range from `src' into `dst'. | 
| 389 | */ | 417 | */ | 
| 390 | static inline int mls_scopy_context(struct context *dst, | 418 | static inline int mls_scopy_context(struct context *dst, | 
diff --git a/security/selinux/ss/mls.h b/security/selinux/ss/mls.h index 03de697c8058..fbb42f07dd7c 100644 --- a/security/selinux/ss/mls.h +++ b/security/selinux/ss/mls.h  | |||
| @@ -8,7 +8,7 @@ | |||
| 8 | * | 8 | * | 
| 9 | * Support for enhanced MLS infrastructure. | 9 | * Support for enhanced MLS infrastructure. | 
| 10 | * | 10 | * | 
| 11 | * Copyright (C) 2004-2005 Trusted Computer Solutions, Inc. | 11 | * Copyright (C) 2004-2006 Trusted Computer Solutions, Inc. | 
| 12 | */ | 12 | */ | 
| 13 | 13 | ||
| 14 | #ifndef _SS_MLS_H_ | 14 | #ifndef _SS_MLS_H_ | 
| @@ -27,6 +27,8 @@ int mls_context_to_sid(char oldc, | |||
| 27 | struct sidtab *s, | 27 | struct sidtab *s, | 
| 28 | u32 def_sid); | 28 | u32 def_sid); | 
| 29 | 29 | ||
| 30 | int mls_from_string(char *str, struct context *context, gfp_t gfp_mask); | ||
| 31 | |||
| 30 | int mls_convert_context(struct policydb *oldp, | 32 | int mls_convert_context(struct policydb *oldp, | 
| 31 | struct policydb *newp, | 33 | struct policydb *newp, | 
| 32 | struct context *context); | 34 | struct context *context); | 
diff --git a/security/selinux/ss/services.c b/security/selinux/ss/services.c index 61492485de84..7177e98df7f3 100644 --- a/security/selinux/ss/services.c +++ b/security/selinux/ss/services.c  | |||
| @@ -7,12 +7,13 @@ | |||
| 7 | * Updated: Trusted Computer Solutions, Inc. <dgoeddel@trustedcs.com> | 7 | * Updated: Trusted Computer Solutions, Inc. <dgoeddel@trustedcs.com> | 
| 8 | * | 8 | * | 
| 9 | * Support for enhanced MLS infrastructure. | 9 | * Support for enhanced MLS infrastructure. | 
| 10 | * Support for context based audit filters. | ||
| 10 | * | 11 | * | 
| 11 | * Updated: Frank Mayer <mayerf@tresys.com> and Karl MacMillan <kmacmillan@tresys.com> | 12 | * Updated: Frank Mayer <mayerf@tresys.com> and Karl MacMillan <kmacmillan@tresys.com> | 
| 12 | * | 13 | * | 
| 13 | * Added conditional policy language extensions | 14 | * Added conditional policy language extensions | 
| 14 | * | 15 | * | 
| 15 | * Copyright (C) 2004-2005 Trusted Computer Solutions, Inc. | 16 | * Copyright (C) 2004-2006 Trusted Computer Solutions, Inc. | 
| 16 | * Copyright (C) 2003 - 2004 Tresys Technology, LLC | 17 | * Copyright (C) 2003 - 2004 Tresys Technology, LLC | 
| 17 | * Copyright (C) 2003 Red Hat, Inc., James Morris <jmorris@redhat.com> | 18 | * Copyright (C) 2003 Red Hat, Inc., James Morris <jmorris@redhat.com> | 
| 18 | * This program is free software; you can redistribute it and/or modify | 19 | * This program is free software; you can redistribute it and/or modify | 
| @@ -1811,3 +1812,235 @@ out: | |||
| 1811 | POLICY_RDUNLOCK; | 1812 | POLICY_RDUNLOCK; | 
| 1812 | return rc; | 1813 | return rc; | 
| 1813 | } | 1814 | } | 
| 1815 | |||
| 1816 | struct selinux_audit_rule { | ||
| 1817 | u32 au_seqno; | ||
| 1818 | struct context au_ctxt; | ||
| 1819 | }; | ||
| 1820 | |||
| 1821 | void selinux_audit_rule_free(struct selinux_audit_rule *rule) | ||
| 1822 | { | ||
| 1823 | if (rule) { | ||
| 1824 | context_destroy(&rule->au_ctxt); | ||
| 1825 | kfree(rule); | ||
| 1826 | } | ||
| 1827 | } | ||
| 1828 | |||
| 1829 | int selinux_audit_rule_init(u32 field, u32 op, char *rulestr, | ||
| 1830 | struct selinux_audit_rule **rule) | ||
| 1831 | { | ||
| 1832 | struct selinux_audit_rule *tmprule; | ||
| 1833 | struct role_datum *roledatum; | ||
| 1834 | struct type_datum *typedatum; | ||
| 1835 | struct user_datum *userdatum; | ||
| 1836 | int rc = 0; | ||
| 1837 | |||
| 1838 | *rule = NULL; | ||
| 1839 | |||
| 1840 | if (!ss_initialized) | ||
| 1841 | return -ENOTSUPP; | ||
| 1842 | |||
| 1843 | switch (field) { | ||
| 1844 | case AUDIT_SE_USER: | ||
| 1845 | case AUDIT_SE_ROLE: | ||
| 1846 | case AUDIT_SE_TYPE: | ||
| 1847 | /* only 'equals' and 'not equals' fit user, role, and type */ | ||
| 1848 | if (op != AUDIT_EQUAL && op != AUDIT_NOT_EQUAL) | ||
| 1849 | return -EINVAL; | ||
| 1850 | break; | ||
| 1851 | case AUDIT_SE_SEN: | ||
| 1852 | case AUDIT_SE_CLR: | ||
| 1853 | /* we do not allow a range, indicated by the presense of '-' */ | ||
| 1854 | if (strchr(rulestr, '-')) | ||
| 1855 | return -EINVAL; | ||
| 1856 | break; | ||
| 1857 | default: | ||
| 1858 | /* only the above fields are valid */ | ||
| 1859 | return -EINVAL; | ||
| 1860 | } | ||
| 1861 | |||
| 1862 | tmprule = kzalloc(sizeof(struct selinux_audit_rule), GFP_KERNEL); | ||
| 1863 | if (!tmprule) | ||
| 1864 | return -ENOMEM; | ||
| 1865 | |||
| 1866 | context_init(&tmprule->au_ctxt); | ||
| 1867 | |||
| 1868 | POLICY_RDLOCK; | ||
| 1869 | |||
| 1870 | tmprule->au_seqno = latest_granting; | ||
| 1871 | |||
| 1872 | switch (field) { | ||
| 1873 | case AUDIT_SE_USER: | ||
| 1874 | userdatum = hashtab_search(policydb.p_users.table, rulestr); | ||
| 1875 | if (!userdatum) | ||
| 1876 | rc = -EINVAL; | ||
| 1877 | else | ||
| 1878 | tmprule->au_ctxt.user = userdatum->value; | ||
| 1879 | break; | ||
| 1880 | case AUDIT_SE_ROLE: | ||
| 1881 | roledatum = hashtab_search(policydb.p_roles.table, rulestr); | ||
| 1882 | if (!roledatum) | ||
| 1883 | rc = -EINVAL; | ||
| 1884 | else | ||
| 1885 | tmprule->au_ctxt.role = roledatum->value; | ||
| 1886 | break; | ||
| 1887 | case AUDIT_SE_TYPE: | ||
| 1888 | typedatum = hashtab_search(policydb.p_types.table, rulestr); | ||
| 1889 | if (!typedatum) | ||
| 1890 | rc = -EINVAL; | ||
| 1891 | else | ||
| 1892 | tmprule->au_ctxt.type = typedatum->value; | ||
| 1893 | break; | ||
| 1894 | case AUDIT_SE_SEN: | ||
| 1895 | case AUDIT_SE_CLR: | ||
| 1896 | rc = mls_from_string(rulestr, &tmprule->au_ctxt, GFP_ATOMIC); | ||
| 1897 | break; | ||
| 1898 | } | ||
| 1899 | |||
| 1900 | POLICY_RDUNLOCK; | ||
| 1901 | |||
| 1902 | if (rc) { | ||
| 1903 | selinux_audit_rule_free(tmprule); | ||
| 1904 | tmprule = NULL; | ||
| 1905 | } | ||
| 1906 | |||
| 1907 | *rule = tmprule; | ||
| 1908 | |||
| 1909 | return rc; | ||
| 1910 | } | ||
| 1911 | |||
| 1912 | int selinux_audit_rule_match(u32 ctxid, u32 field, u32 op, | ||
| 1913 | struct selinux_audit_rule *rule, | ||
| 1914 | struct audit_context *actx) | ||
| 1915 | { | ||
| 1916 | struct context *ctxt; | ||
| 1917 | struct mls_level *level; | ||
| 1918 | int match = 0; | ||
| 1919 | |||
| 1920 | if (!rule) { | ||
| 1921 | audit_log(actx, GFP_ATOMIC, AUDIT_SELINUX_ERR, | ||
| 1922 | "selinux_audit_rule_match: missing rule\n"); | ||
| 1923 | return -ENOENT; | ||
| 1924 | } | ||
| 1925 | |||
| 1926 | POLICY_RDLOCK; | ||
| 1927 | |||
| 1928 | if (rule->au_seqno < latest_granting) { | ||
| 1929 | audit_log(actx, GFP_ATOMIC, AUDIT_SELINUX_ERR, | ||
| 1930 | "selinux_audit_rule_match: stale rule\n"); | ||
| 1931 | match = -ESTALE; | ||
| 1932 | goto out; | ||
| 1933 | } | ||
| 1934 | |||
| 1935 | ctxt = sidtab_search(&sidtab, ctxid); | ||
| 1936 | if (!ctxt) { | ||
| 1937 | audit_log(actx, GFP_ATOMIC, AUDIT_SELINUX_ERR, | ||
| 1938 | "selinux_audit_rule_match: unrecognized SID %d\n", | ||
| 1939 | ctxid); | ||
| 1940 | match = -ENOENT; | ||
| 1941 | goto out; | ||
| 1942 | } | ||
| 1943 | |||
| 1944 | /* a field/op pair that is not caught here will simply fall through | ||
| 1945 | without a match */ | ||
| 1946 | switch (field) { | ||
| 1947 | case AUDIT_SE_USER: | ||
| 1948 | switch (op) { | ||
| 1949 | case AUDIT_EQUAL: | ||
| 1950 | match = (ctxt->user == rule->au_ctxt.user); | ||
| 1951 | break; | ||
| 1952 | case AUDIT_NOT_EQUAL: | ||
| 1953 | match = (ctxt->user != rule->au_ctxt.user); | ||
| 1954 | break; | ||
| 1955 | } | ||
| 1956 | break; | ||
| 1957 | case AUDIT_SE_ROLE: | ||
| 1958 | switch (op) { | ||
| 1959 | case AUDIT_EQUAL: | ||
| 1960 | match = (ctxt->role == rule->au_ctxt.role); | ||
| 1961 | break; | ||
| 1962 | case AUDIT_NOT_EQUAL: | ||
| 1963 | match = (ctxt->role != rule->au_ctxt.role); | ||
| 1964 | break; | ||
| 1965 | } | ||
| 1966 | break; | ||
| 1967 | case AUDIT_SE_TYPE: | ||
| 1968 | switch (op) { | ||
| 1969 | case AUDIT_EQUAL: | ||
| 1970 | match = (ctxt->type == rule->au_ctxt.type); | ||
| 1971 | break; | ||
| 1972 | case AUDIT_NOT_EQUAL: | ||
| 1973 | match = (ctxt->type != rule->au_ctxt.type); | ||
| 1974 | break; | ||
| 1975 | } | ||
| 1976 | break; | ||
| 1977 | case AUDIT_SE_SEN: | ||
| 1978 | case AUDIT_SE_CLR: | ||
| 1979 | level = (op == AUDIT_SE_SEN ? | ||
| 1980 | &ctxt->range.level[0] : &ctxt->range.level[1]); | ||
| 1981 | switch (op) { | ||
| 1982 | case AUDIT_EQUAL: | ||
| 1983 | match = mls_level_eq(&rule->au_ctxt.range.level[0], | ||
| 1984 | level); | ||
| 1985 | break; | ||
| 1986 | case AUDIT_NOT_EQUAL: | ||
| 1987 | match = !mls_level_eq(&rule->au_ctxt.range.level[0], | ||
| 1988 | level); | ||
| 1989 | break; | ||
| 1990 | case AUDIT_LESS_THAN: | ||
| 1991 | match = (mls_level_dom(&rule->au_ctxt.range.level[0], | ||
| 1992 | level) && | ||
| 1993 | !mls_level_eq(&rule->au_ctxt.range.level[0], | ||
| 1994 | level)); | ||
| 1995 | break; | ||
| 1996 | case AUDIT_LESS_THAN_OR_EQUAL: | ||
| 1997 | match = mls_level_dom(&rule->au_ctxt.range.level[0], | ||
| 1998 | level); | ||
| 1999 | break; | ||
| 2000 | case AUDIT_GREATER_THAN: | ||
| 2001 | match = (mls_level_dom(level, | ||
| 2002 | &rule->au_ctxt.range.level[0]) && | ||
| 2003 | !mls_level_eq(level, | ||
| 2004 | &rule->au_ctxt.range.level[0])); | ||
| 2005 | break; | ||
| 2006 | case AUDIT_GREATER_THAN_OR_EQUAL: | ||
| 2007 | match = mls_level_dom(level, | ||
| 2008 | &rule->au_ctxt.range.level[0]); | ||
| 2009 | break; | ||
| 2010 | } | ||
| 2011 | } | ||
| 2012 | |||
| 2013 | out: | ||
| 2014 | POLICY_RDUNLOCK; | ||
| 2015 | return match; | ||
| 2016 | } | ||
| 2017 | |||
| 2018 | static int (*aurule_callback)(void) = NULL; | ||
| 2019 | |||
| 2020 | static int aurule_avc_callback(u32 event, u32 ssid, u32 tsid, | ||
| 2021 | u16 class, u32 perms, u32 *retained) | ||
| 2022 | { | ||
| 2023 | int err = 0; | ||
| 2024 | |||
| 2025 | if (event == AVC_CALLBACK_RESET && aurule_callback) | ||
| 2026 | err = aurule_callback(); | ||
| 2027 | return err; | ||
| 2028 | } | ||
| 2029 | |||
| 2030 | static int __init aurule_init(void) | ||
| 2031 | { | ||
| 2032 | int err; | ||
| 2033 | |||
| 2034 | err = avc_add_callback(aurule_avc_callback, AVC_CALLBACK_RESET, | ||
| 2035 | SECSID_NULL, SECSID_NULL, SECCLASS_NULL, 0); | ||
| 2036 | if (err) | ||
| 2037 | panic("avc_add_callback() failed, error %d\n", err); | ||
| 2038 | |||
| 2039 | return err; | ||
| 2040 | } | ||
| 2041 | __initcall(aurule_init); | ||
| 2042 | |||
| 2043 | void selinux_audit_set_callback(int (*callback)(void)) | ||
| 2044 | { | ||
| 2045 | aurule_callback = callback; | ||
| 2046 | } | ||
diff --git a/sound/core/Kconfig b/sound/core/Kconfig index 8efc1b12f3a8..4262a1c87731 100644 --- a/sound/core/Kconfig +++ b/sound/core/Kconfig  | |||
| @@ -142,7 +142,7 @@ config SND_SUPPORT_OLD_API | |||
| 142 | 142 | ||
| 143 | config SND_VERBOSE_PROCFS | 143 | config SND_VERBOSE_PROCFS | 
| 144 | bool "Verbose procfs contents" | 144 | bool "Verbose procfs contents" | 
| 145 | depends on SND | 145 | depends on SND && PROC_FS | 
| 146 | default y | 146 | default y | 
| 147 | help | 147 | help | 
| 148 | Say Y here to include code for verbose procfs contents (provides | 148 | Say Y here to include code for verbose procfs contents (provides | 
| @@ -171,3 +171,13 @@ config SND_DEBUG_DETECT | |||
| 171 | help | 171 | help | 
| 172 | Say Y here to enable extra-verbose log messages printed when | 172 | Say Y here to enable extra-verbose log messages printed when | 
| 173 | detecting devices. | 173 | detecting devices. | 
| 174 | |||
| 175 | config SND_PCM_XRUN_DEBUG | ||
| 176 | bool "Enable PCM ring buffer overrun/underrun debugging" | ||
| 177 | default n | ||
| 178 | depends on SND_DEBUG && SND_VERBOSE_PROCFS | ||
| 179 | help | ||
| 180 | Say Y to enable the PCM ring buffer overrun/underrun debugging. | ||
| 181 | It is usually not required, but if you have trouble with | ||
| 182 | sound clicking when system is loaded, it may help to determine | ||
| 183 | the process or driver which causes the scheduling gaps. | ||
diff --git a/sound/core/oss/pcm_oss.c b/sound/core/oss/pcm_oss.c index c5978d6c6080..ac990bf0b48f 100644 --- a/sound/core/oss/pcm_oss.c +++ b/sound/core/oss/pcm_oss.c  | |||
| @@ -1242,6 +1242,8 @@ static int snd_pcm_oss_set_format(struct snd_pcm_oss_file *pcm_oss_file, int for | |||
| 1242 | 1242 | ||
| 1243 | if (format != AFMT_QUERY) { | 1243 | if (format != AFMT_QUERY) { | 
| 1244 | formats = snd_pcm_oss_get_formats(pcm_oss_file); | 1244 | formats = snd_pcm_oss_get_formats(pcm_oss_file); | 
| 1245 | if (formats < 0) | ||
| 1246 | return formats; | ||
| 1245 | if (!(formats & format)) | 1247 | if (!(formats & format)) | 
| 1246 | format = AFMT_U8; | 1248 | format = AFMT_U8; | 
| 1247 | for (idx = 1; idx >= 0; --idx) { | 1249 | for (idx = 1; idx >= 0; --idx) { | 
| @@ -2212,7 +2214,7 @@ static int snd_pcm_oss_mmap(struct file *file, struct vm_area_struct *area) | |||
| 2212 | return 0; | 2214 | return 0; | 
| 2213 | } | 2215 | } | 
| 2214 | 2216 | ||
| 2215 | #ifdef CONFIG_PROC_FS | 2217 | #ifdef CONFIG_SND_VERBOSE_PROCFS | 
| 2216 | /* | 2218 | /* | 
| 2217 | * /proc interface | 2219 | * /proc interface | 
| 2218 | */ | 2220 | */ | 
| @@ -2366,10 +2368,10 @@ static void snd_pcm_oss_proc_done(struct snd_pcm *pcm) | |||
| 2366 | } | 2368 | } | 
| 2367 | } | 2369 | } | 
| 2368 | } | 2370 | } | 
| 2369 | #else /* !CONFIG_PROC_FS */ | 2371 | #else /* !CONFIG_SND_VERBOSE_PROCFS */ | 
| 2370 | #define snd_pcm_oss_proc_init(pcm) | 2372 | #define snd_pcm_oss_proc_init(pcm) | 
| 2371 | #define snd_pcm_oss_proc_done(pcm) | 2373 | #define snd_pcm_oss_proc_done(pcm) | 
| 2372 | #endif /* CONFIG_PROC_FS */ | 2374 | #endif /* CONFIG_SND_VERBOSE_PROCFS */ | 
| 2373 | 2375 | ||
| 2374 | /* | 2376 | /* | 
| 2375 | * ENTRY functions | 2377 | * ENTRY functions | 
diff --git a/sound/core/pcm.c b/sound/core/pcm.c index 122e10a61ab9..84b00038236d 100644 --- a/sound/core/pcm.c +++ b/sound/core/pcm.c  | |||
| @@ -142,7 +142,7 @@ static int snd_pcm_control_ioctl(struct snd_card *card, | |||
| 142 | return -ENOIOCTLCMD; | 142 | return -ENOIOCTLCMD; | 
| 143 | } | 143 | } | 
| 144 | 144 | ||
| 145 | #if defined(CONFIG_PROC_FS) && defined(CONFIG_SND_VERBOSE_PROCFS) | 145 | #ifdef CONFIG_SND_VERBOSE_PROCFS | 
| 146 | 146 | ||
| 147 | #define STATE(v) [SNDRV_PCM_STATE_##v] = #v | 147 | #define STATE(v) [SNDRV_PCM_STATE_##v] = #v | 
| 148 | #define STREAM(v) [SNDRV_PCM_STREAM_##v] = #v | 148 | #define STREAM(v) [SNDRV_PCM_STREAM_##v] = #v | 
| @@ -436,7 +436,7 @@ static void snd_pcm_substream_proc_status_read(struct snd_info_entry *entry, | |||
| 436 | snd_iprintf(buffer, "appl_ptr : %ld\n", runtime->control->appl_ptr); | 436 | snd_iprintf(buffer, "appl_ptr : %ld\n", runtime->control->appl_ptr); | 
| 437 | } | 437 | } | 
| 438 | 438 | ||
| 439 | #ifdef CONFIG_SND_DEBUG | 439 | #ifdef CONFIG_SND_PCM_XRUN_DEBUG | 
| 440 | static void snd_pcm_xrun_debug_read(struct snd_info_entry *entry, | 440 | static void snd_pcm_xrun_debug_read(struct snd_info_entry *entry, | 
| 441 | struct snd_info_buffer *buffer) | 441 | struct snd_info_buffer *buffer) | 
| 442 | { | 442 | { | 
| @@ -480,7 +480,7 @@ static int snd_pcm_stream_proc_init(struct snd_pcm_str *pstr) | |||
| 480 | } | 480 | } | 
| 481 | pstr->proc_info_entry = entry; | 481 | pstr->proc_info_entry = entry; | 
| 482 | 482 | ||
| 483 | #ifdef CONFIG_SND_DEBUG | 483 | #ifdef CONFIG_SND_PCM_XRUN_DEBUG | 
| 484 | if ((entry = snd_info_create_card_entry(pcm->card, "xrun_debug", | 484 | if ((entry = snd_info_create_card_entry(pcm->card, "xrun_debug", | 
| 485 | pstr->proc_root)) != NULL) { | 485 | pstr->proc_root)) != NULL) { | 
| 486 | entry->c.text.read_size = 64; | 486 | entry->c.text.read_size = 64; | 
| @@ -501,7 +501,7 @@ static int snd_pcm_stream_proc_init(struct snd_pcm_str *pstr) | |||
| 501 | 501 | ||
| 502 | static int snd_pcm_stream_proc_done(struct snd_pcm_str *pstr) | 502 | static int snd_pcm_stream_proc_done(struct snd_pcm_str *pstr) | 
| 503 | { | 503 | { | 
| 504 | #ifdef CONFIG_SND_DEBUG | 504 | #ifdef CONFIG_SND_PCM_XRUN_DEBUG | 
| 505 | if (pstr->proc_xrun_debug_entry) { | 505 | if (pstr->proc_xrun_debug_entry) { | 
| 506 | snd_info_unregister(pstr->proc_xrun_debug_entry); | 506 | snd_info_unregister(pstr->proc_xrun_debug_entry); | 
| 507 | pstr->proc_xrun_debug_entry = NULL; | 507 | pstr->proc_xrun_debug_entry = NULL; | 
| @@ -599,12 +599,12 @@ static int snd_pcm_substream_proc_done(struct snd_pcm_substream *substream) | |||
| 599 | } | 599 | } | 
| 600 | return 0; | 600 | return 0; | 
| 601 | } | 601 | } | 
| 602 | #else /* !CONFIG_PROC_FS */ | 602 | #else /* !CONFIG_SND_VERBOSE_PROCFS */ | 
| 603 | static inline int snd_pcm_stream_proc_init(struct snd_pcm_str *pstr) { return 0; } | 603 | static inline int snd_pcm_stream_proc_init(struct snd_pcm_str *pstr) { return 0; } | 
| 604 | static inline int snd_pcm_stream_proc_done(struct snd_pcm_str *pstr) { return 0; } | 604 | static inline int snd_pcm_stream_proc_done(struct snd_pcm_str *pstr) { return 0; } | 
| 605 | static inline int snd_pcm_substream_proc_init(struct snd_pcm_substream *substream) { return 0; } | 605 | static inline int snd_pcm_substream_proc_init(struct snd_pcm_substream *substream) { return 0; } | 
| 606 | static inline int snd_pcm_substream_proc_done(struct snd_pcm_substream *substream) { return 0; } | 606 | static inline int snd_pcm_substream_proc_done(struct snd_pcm_substream *substream) { return 0; } | 
| 607 | #endif /* CONFIG_PROC_FS */ | 607 | #endif /* CONFIG_SND_VERBOSE_PROCFS */ | 
| 608 | 608 | ||
| 609 | /** | 609 | /** | 
| 610 | * snd_pcm_new_stream - create a new PCM stream | 610 | * snd_pcm_new_stream - create a new PCM stream | 
diff --git a/sound/core/pcm_lib.c b/sound/core/pcm_lib.c index 230a940d00bd..eedc6cb038bb 100644 --- a/sound/core/pcm_lib.c +++ b/sound/core/pcm_lib.c  | |||
| @@ -130,7 +130,7 @@ void snd_pcm_playback_silence(struct snd_pcm_substream *substream, snd_pcm_ufram | |||
| 130 | static void xrun(struct snd_pcm_substream *substream) | 130 | static void xrun(struct snd_pcm_substream *substream) | 
| 131 | { | 131 | { | 
| 132 | snd_pcm_stop(substream, SNDRV_PCM_STATE_XRUN); | 132 | snd_pcm_stop(substream, SNDRV_PCM_STATE_XRUN); | 
| 133 | #ifdef CONFIG_SND_DEBUG | 133 | #ifdef CONFIG_SND_PCM_XRUN_DEBUG | 
| 134 | if (substream->pstr->xrun_debug) { | 134 | if (substream->pstr->xrun_debug) { | 
| 135 | snd_printd(KERN_DEBUG "XRUN: pcmC%dD%d%c\n", | 135 | snd_printd(KERN_DEBUG "XRUN: pcmC%dD%d%c\n", | 
| 136 | substream->pcm->card->number, | 136 | substream->pcm->card->number, | 
| @@ -204,7 +204,7 @@ static inline int snd_pcm_update_hw_ptr_interrupt(struct snd_pcm_substream *subs | |||
| 204 | delta = hw_ptr_interrupt - new_hw_ptr; | 204 | delta = hw_ptr_interrupt - new_hw_ptr; | 
| 205 | if (delta > 0) { | 205 | if (delta > 0) { | 
| 206 | if ((snd_pcm_uframes_t)delta < runtime->buffer_size / 2) { | 206 | if ((snd_pcm_uframes_t)delta < runtime->buffer_size / 2) { | 
| 207 | #ifdef CONFIG_SND_DEBUG | 207 | #ifdef CONFIG_SND_PCM_XRUN_DEBUG | 
| 208 | if (runtime->periods > 1 && substream->pstr->xrun_debug) { | 208 | if (runtime->periods > 1 && substream->pstr->xrun_debug) { | 
| 209 | snd_printd(KERN_ERR "Unexpected hw_pointer value [1] (stream = %i, delta: -%ld, max jitter = %ld): wrong interrupt acknowledge?\n", substream->stream, (long) delta, runtime->buffer_size / 2); | 209 | snd_printd(KERN_ERR "Unexpected hw_pointer value [1] (stream = %i, delta: -%ld, max jitter = %ld): wrong interrupt acknowledge?\n", substream->stream, (long) delta, runtime->buffer_size / 2); | 
| 210 | if (substream->pstr->xrun_debug > 1) | 210 | if (substream->pstr->xrun_debug > 1) | 
| @@ -249,7 +249,7 @@ int snd_pcm_update_hw_ptr(struct snd_pcm_substream *substream) | |||
| 249 | delta = old_hw_ptr - new_hw_ptr; | 249 | delta = old_hw_ptr - new_hw_ptr; | 
| 250 | if (delta > 0) { | 250 | if (delta > 0) { | 
| 251 | if ((snd_pcm_uframes_t)delta < runtime->buffer_size / 2) { | 251 | if ((snd_pcm_uframes_t)delta < runtime->buffer_size / 2) { | 
| 252 | #ifdef CONFIG_SND_DEBUG | 252 | #ifdef CONFIG_SND_PCM_XRUN_DEBUG | 
| 253 | if (runtime->periods > 2 && substream->pstr->xrun_debug) { | 253 | if (runtime->periods > 2 && substream->pstr->xrun_debug) { | 
| 254 | snd_printd(KERN_ERR "Unexpected hw_pointer value [2] (stream = %i, delta: -%ld, max jitter = %ld): wrong interrupt acknowledge?\n", substream->stream, (long) delta, runtime->buffer_size / 2); | 254 | snd_printd(KERN_ERR "Unexpected hw_pointer value [2] (stream = %i, delta: -%ld, max jitter = %ld): wrong interrupt acknowledge?\n", substream->stream, (long) delta, runtime->buffer_size / 2); | 
| 255 | if (substream->pstr->xrun_debug > 1) | 255 | if (substream->pstr->xrun_debug > 1) | 
diff --git a/sound/core/pcm_memory.c b/sound/core/pcm_memory.c index a0119ae67dcd..428f8c169ee1 100644 --- a/sound/core/pcm_memory.c +++ b/sound/core/pcm_memory.c  | |||
| @@ -100,8 +100,10 @@ static void snd_pcm_lib_preallocate_dma_free(struct snd_pcm_substream *substream | |||
| 100 | int snd_pcm_lib_preallocate_free(struct snd_pcm_substream *substream) | 100 | int snd_pcm_lib_preallocate_free(struct snd_pcm_substream *substream) | 
| 101 | { | 101 | { | 
| 102 | snd_pcm_lib_preallocate_dma_free(substream); | 102 | snd_pcm_lib_preallocate_dma_free(substream); | 
| 103 | #ifdef CONFIG_SND_VERBOSE_PROCFS | ||
| 103 | snd_info_unregister(substream->proc_prealloc_entry); | 104 | snd_info_unregister(substream->proc_prealloc_entry); | 
| 104 | substream->proc_prealloc_entry = NULL; | 105 | substream->proc_prealloc_entry = NULL; | 
| 106 | #endif | ||
| 105 | return 0; | 107 | return 0; | 
| 106 | } | 108 | } | 
| 107 | 109 | ||
| @@ -124,7 +126,7 @@ int snd_pcm_lib_preallocate_free_for_all(struct snd_pcm *pcm) | |||
| 124 | return 0; | 126 | return 0; | 
| 125 | } | 127 | } | 
| 126 | 128 | ||
| 127 | #ifdef CONFIG_PROC_FS | 129 | #ifdef CONFIG_SND_VERBOSE_PROCFS | 
| 128 | /* | 130 | /* | 
| 129 | * read callback for prealloc proc file | 131 | * read callback for prealloc proc file | 
| 130 | * | 132 | * | 
| @@ -203,9 +205,9 @@ static inline void preallocate_info_init(struct snd_pcm_substream *substream) | |||
| 203 | substream->proc_prealloc_entry = entry; | 205 | substream->proc_prealloc_entry = entry; | 
| 204 | } | 206 | } | 
| 205 | 207 | ||
| 206 | #else /* !CONFIG_PROC_FS */ | 208 | #else /* !CONFIG_SND_VERBOSE_PROCFS */ | 
| 207 | #define preallocate_info_init(s) | 209 | #define preallocate_info_init(s) | 
| 208 | #endif | 210 | #endif /* CONFIG_SND_VERBOSE_PROCFS */ | 
| 209 | 211 | ||
| 210 | /* | 212 | /* | 
| 211 | * pre-allocate the buffer and create a proc file for the substream | 213 | * pre-allocate the buffer and create a proc file for the substream | 
diff --git a/sound/drivers/dummy.c b/sound/drivers/dummy.c index e35fd5779a9d..ae0df549fac7 100644 --- a/sound/drivers/dummy.c +++ b/sound/drivers/dummy.c  | |||
| @@ -675,10 +675,8 @@ static int __init alsa_card_dummy_init(void) | |||
| 675 | continue; | 675 | continue; | 
| 676 | device = platform_device_register_simple(SND_DUMMY_DRIVER, | 676 | device = platform_device_register_simple(SND_DUMMY_DRIVER, | 
| 677 | i, NULL, 0); | 677 | i, NULL, 0); | 
| 678 | if (IS_ERR(device)) { | 678 | if (IS_ERR(device)) | 
| 679 | err = PTR_ERR(device); | 679 | continue; | 
| 680 | goto errout; | ||
| 681 | } | ||
| 682 | devices[i] = device; | 680 | devices[i] = device; | 
| 683 | cards++; | 681 | cards++; | 
| 684 | } | 682 | } | 
| @@ -686,14 +684,10 @@ static int __init alsa_card_dummy_init(void) | |||
| 686 | #ifdef MODULE | 684 | #ifdef MODULE | 
| 687 | printk(KERN_ERR "Dummy soundcard not found or device busy\n"); | 685 | printk(KERN_ERR "Dummy soundcard not found or device busy\n"); | 
| 688 | #endif | 686 | #endif | 
| 689 | err = -ENODEV; | 687 | snd_dummy_unregister_all(); | 
| 690 | goto errout; | 688 | return -ENODEV; | 
| 691 | } | 689 | } | 
| 692 | return 0; | 690 | return 0; | 
| 693 | |||
| 694 | errout: | ||
| 695 | snd_dummy_unregister_all(); | ||
| 696 | return err; | ||
| 697 | } | 691 | } | 
| 698 | 692 | ||
| 699 | static void __exit alsa_card_dummy_exit(void) | 693 | static void __exit alsa_card_dummy_exit(void) | 
diff --git a/sound/drivers/mpu401/mpu401.c b/sound/drivers/mpu401/mpu401.c index 9ea3059a7064..da7ef26995c3 100644 --- a/sound/drivers/mpu401/mpu401.c +++ b/sound/drivers/mpu401/mpu401.c  | |||
| @@ -251,10 +251,8 @@ static int __init alsa_card_mpu401_init(void) | |||
| 251 | #endif | 251 | #endif | 
| 252 | device = platform_device_register_simple(SND_MPU401_DRIVER, | 252 | device = platform_device_register_simple(SND_MPU401_DRIVER, | 
| 253 | i, NULL, 0); | 253 | i, NULL, 0); | 
| 254 | if (IS_ERR(device)) { | 254 | if (IS_ERR(device)) | 
| 255 | err = PTR_ERR(device); | 255 | continue; | 
| 256 | goto errout; | ||
| 257 | } | ||
| 258 | platform_devices[i] = device; | 256 | platform_devices[i] = device; | 
| 259 | snd_mpu401_devices++; | 257 | snd_mpu401_devices++; | 
| 260 | } | 258 | } | 
| @@ -266,14 +264,10 @@ static int __init alsa_card_mpu401_init(void) | |||
| 266 | #ifdef MODULE | 264 | #ifdef MODULE | 
| 267 | printk(KERN_ERR "MPU-401 device not found or device busy\n"); | 265 | printk(KERN_ERR "MPU-401 device not found or device busy\n"); | 
| 268 | #endif | 266 | #endif | 
| 269 | err = -ENODEV; | 267 | snd_mpu401_unregister_all(); | 
| 270 | goto errout; | 268 | return -ENODEV; | 
| 271 | } | 269 | } | 
| 272 | return 0; | 270 | return 0; | 
| 273 | |||
| 274 | errout: | ||
| 275 | snd_mpu401_unregister_all(); | ||
| 276 | return err; | ||
| 277 | } | 271 | } | 
| 278 | 272 | ||
| 279 | static void __exit alsa_card_mpu401_exit(void) | 273 | static void __exit alsa_card_mpu401_exit(void) | 
diff --git a/sound/drivers/serial-u16550.c b/sound/drivers/serial-u16550.c index 1a7fbefe4740..c01b4c5118b9 100644 --- a/sound/drivers/serial-u16550.c +++ b/sound/drivers/serial-u16550.c  | |||
| @@ -996,10 +996,8 @@ static int __init alsa_card_serial_init(void) | |||
| 996 | continue; | 996 | continue; | 
| 997 | device = platform_device_register_simple(SND_SERIAL_DRIVER, | 997 | device = platform_device_register_simple(SND_SERIAL_DRIVER, | 
| 998 | i, NULL, 0); | 998 | i, NULL, 0); | 
| 999 | if (IS_ERR(device)) { | 999 | if (IS_ERR(device)) | 
| 1000 | err = PTR_ERR(device); | 1000 | continue; | 
| 1001 | goto errout; | ||
| 1002 | } | ||
| 1003 | devices[i] = device; | 1001 | devices[i] = device; | 
| 1004 | cards++; | 1002 | cards++; | 
| 1005 | } | 1003 | } | 
| @@ -1007,14 +1005,10 @@ static int __init alsa_card_serial_init(void) | |||
| 1007 | #ifdef MODULE | 1005 | #ifdef MODULE | 
| 1008 | printk(KERN_ERR "serial midi soundcard not found or device busy\n"); | 1006 | printk(KERN_ERR "serial midi soundcard not found or device busy\n"); | 
| 1009 | #endif | 1007 | #endif | 
| 1010 | err = -ENODEV; | 1008 | snd_serial_unregister_all(); | 
| 1011 | goto errout; | 1009 | return -ENODEV; | 
| 1012 | } | 1010 | } | 
| 1013 | return 0; | 1011 | return 0; | 
| 1014 | |||
| 1015 | errout: | ||
| 1016 | snd_serial_unregister_all(); | ||
| 1017 | return err; | ||
| 1018 | } | 1012 | } | 
| 1019 | 1013 | ||
| 1020 | static void __exit alsa_card_serial_exit(void) | 1014 | static void __exit alsa_card_serial_exit(void) | 
diff --git a/sound/drivers/virmidi.c b/sound/drivers/virmidi.c index a3ee306239c9..26eb2499d442 100644 --- a/sound/drivers/virmidi.c +++ b/sound/drivers/virmidi.c  | |||
| @@ -169,10 +169,8 @@ static int __init alsa_card_virmidi_init(void) | |||
| 169 | continue; | 169 | continue; | 
| 170 | device = platform_device_register_simple(SND_VIRMIDI_DRIVER, | 170 | device = platform_device_register_simple(SND_VIRMIDI_DRIVER, | 
| 171 | i, NULL, 0); | 171 | i, NULL, 0); | 
| 172 | if (IS_ERR(device)) { | 172 | if (IS_ERR(device)) | 
| 173 | err = PTR_ERR(device); | 173 | continue; | 
| 174 | goto errout; | ||
| 175 | } | ||
| 176 | devices[i] = device; | 174 | devices[i] = device; | 
| 177 | cards++; | 175 | cards++; | 
| 178 | } | 176 | } | 
| @@ -180,14 +178,10 @@ static int __init alsa_card_virmidi_init(void) | |||
| 180 | #ifdef MODULE | 178 | #ifdef MODULE | 
| 181 | printk(KERN_ERR "Card-VirMIDI soundcard not found or device busy\n"); | 179 | printk(KERN_ERR "Card-VirMIDI soundcard not found or device busy\n"); | 
| 182 | #endif | 180 | #endif | 
| 183 | err = -ENODEV; | 181 | snd_virmidi_unregister_all(); | 
| 184 | goto errout; | 182 | return -ENODEV; | 
| 185 | } | 183 | } | 
| 186 | return 0; | 184 | return 0; | 
| 187 | |||
| 188 | errout: | ||
| 189 | snd_virmidi_unregister_all(); | ||
| 190 | return err; | ||
| 191 | } | 185 | } | 
| 192 | 186 | ||
| 193 | static void __exit alsa_card_virmidi_exit(void) | 187 | static void __exit alsa_card_virmidi_exit(void) | 
diff --git a/sound/isa/opti9xx/miro.c b/sound/isa/opti9xx/miro.c index 83d64bc07ff0..e6bfcf74c1c1 100644 --- a/sound/isa/opti9xx/miro.c +++ b/sound/isa/opti9xx/miro.c  | |||
| @@ -1179,20 +1179,17 @@ static int __init snd_card_miro_aci_detect(struct snd_card *card, struct snd_mir | |||
| 1179 | /* force ACI into a known state */ | 1179 | /* force ACI into a known state */ | 
| 1180 | for (i = 0; i < 3; i++) | 1180 | for (i = 0; i < 3; i++) | 
| 1181 | if (aci_cmd(miro, ACI_ERROR_OP, -1, -1) < 0) { | 1181 | if (aci_cmd(miro, ACI_ERROR_OP, -1, -1) < 0) { | 
| 1182 | snd_card_free(card); | ||
| 1183 | snd_printk(KERN_ERR "can't force aci into known state.\n"); | 1182 | snd_printk(KERN_ERR "can't force aci into known state.\n"); | 
| 1184 | return -ENXIO; | 1183 | return -ENXIO; | 
| 1185 | } | 1184 | } | 
| 1186 | 1185 | ||
| 1187 | if ((miro->aci_vendor=aci_cmd(miro, ACI_READ_IDCODE, -1, -1)) < 0 || | 1186 | if ((miro->aci_vendor=aci_cmd(miro, ACI_READ_IDCODE, -1, -1)) < 0 || | 
| 1188 | (miro->aci_product=aci_cmd(miro, ACI_READ_IDCODE, -1, -1)) < 0) { | 1187 | (miro->aci_product=aci_cmd(miro, ACI_READ_IDCODE, -1, -1)) < 0) { | 
| 1189 | snd_card_free(card); | ||
| 1190 | snd_printk(KERN_ERR "can't read aci id on 0x%lx.\n", miro->aci_port); | 1188 | snd_printk(KERN_ERR "can't read aci id on 0x%lx.\n", miro->aci_port); | 
| 1191 | return -ENXIO; | 1189 | return -ENXIO; | 
| 1192 | } | 1190 | } | 
| 1193 | 1191 | ||
| 1194 | if ((miro->aci_version=aci_cmd(miro, ACI_READ_VERSION, -1, -1)) < 0) { | 1192 | if ((miro->aci_version=aci_cmd(miro, ACI_READ_VERSION, -1, -1)) < 0) { | 
| 1195 | snd_card_free(card); | ||
| 1196 | snd_printk(KERN_ERR "can't read aci version on 0x%lx.\n", | 1193 | snd_printk(KERN_ERR "can't read aci version on 0x%lx.\n", | 
| 1197 | miro->aci_port); | 1194 | miro->aci_port); | 
| 1198 | return -ENXIO; | 1195 | return -ENXIO; | 
diff --git a/sound/oss/Kconfig b/sound/oss/Kconfig index 6275266dde2e..558c6ed443be 100644 --- a/sound/oss/Kconfig +++ b/sound/oss/Kconfig  | |||
| @@ -478,6 +478,20 @@ config SOUND_ACI_MIXER | |||
| 478 | 478 | ||
| 479 | This driver is also available as a module and will be called aci. | 479 | This driver is also available as a module and will be called aci. | 
| 480 | 480 | ||
| 481 | config SOUND_CS4232 | ||
| 482 | tristate "Crystal CS4232 based (PnP) cards" | ||
| 483 | depends on SOUND_OSS | ||
| 484 | help | ||
| 485 | Say Y here if you have a card based on the Crystal CS4232 chip set, | ||
| 486 | which uses its own Plug and Play protocol. | ||
| 487 | |||
| 488 | If you compile the driver into the kernel, you have to add | ||
| 489 | "cs4232=<io>,<irq>,<dma>,<dma2>,<mpuio>,<mpuirq>" to the kernel | ||
| 490 | command line. | ||
| 491 | |||
| 492 | See <file:Documentation/sound/oss/CS4232> for more information on | ||
| 493 | configuring this card. | ||
| 494 | |||
| 481 | config SOUND_VMIDI | 495 | config SOUND_VMIDI | 
| 482 | tristate "Loopback MIDI device support" | 496 | tristate "Loopback MIDI device support" | 
| 483 | depends on SOUND_OSS | 497 | depends on SOUND_OSS | 
diff --git a/sound/pci/ad1889.c b/sound/pci/ad1889.c index c6c8333acc62..eece1c7e55a0 100644 --- a/sound/pci/ad1889.c +++ b/sound/pci/ad1889.c  | |||
| @@ -39,7 +39,6 @@ | |||
| 39 | #include <linux/interrupt.h> | 39 | #include <linux/interrupt.h> | 
| 40 | #include <linux/compiler.h> | 40 | #include <linux/compiler.h> | 
| 41 | #include <linux/delay.h> | 41 | #include <linux/delay.h> | 
| 42 | #include <linux/dma-mapping.h> | ||
| 43 | 42 | ||
| 44 | #include <sound/driver.h> | 43 | #include <sound/driver.h> | 
| 45 | #include <sound/core.h> | 44 | #include <sound/core.h> | 
| @@ -1052,7 +1051,7 @@ snd_ad1889_remove(struct pci_dev *pci) | |||
| 1052 | pci_set_drvdata(pci, NULL); | 1051 | pci_set_drvdata(pci, NULL); | 
| 1053 | } | 1052 | } | 
| 1054 | 1053 | ||
| 1055 | static struct pci_device_id snd_ad1889_ids[] = { | 1054 | static struct pci_device_id snd_ad1889_ids[] __devinitdata = { | 
| 1056 | { PCI_DEVICE(PCI_VENDOR_ID_ANALOG_DEVICES, PCI_DEVICE_ID_AD1889JS) }, | 1055 | { PCI_DEVICE(PCI_VENDOR_ID_ANALOG_DEVICES, PCI_DEVICE_ID_AD1889JS) }, | 
| 1057 | { 0, }, | 1056 | { 0, }, | 
| 1058 | }; | 1057 | }; | 
diff --git a/sound/pci/ali5451/ali5451.c b/sound/pci/ali5451/ali5451.c index fc92b6896c24..e2dbc2118902 100644 --- a/sound/pci/ali5451/ali5451.c +++ b/sound/pci/ali5451/ali5451.c  | |||
| @@ -279,7 +279,7 @@ struct snd_ali { | |||
| 279 | #endif | 279 | #endif | 
| 280 | }; | 280 | }; | 
| 281 | 281 | ||
| 282 | static struct pci_device_id snd_ali_ids[] = { | 282 | static struct pci_device_id snd_ali_ids[] __devinitdata = { | 
| 283 | {PCI_DEVICE(PCI_VENDOR_ID_AL, PCI_DEVICE_ID_AL_M5451), 0, 0, 0}, | 283 | {PCI_DEVICE(PCI_VENDOR_ID_AL, PCI_DEVICE_ID_AL_M5451), 0, 0, 0}, | 
| 284 | {0, } | 284 | {0, } | 
| 285 | }; | 285 | }; | 
diff --git a/sound/pci/als300.c b/sound/pci/als300.c index 91899f87f037..901b08ae9174 100644 --- a/sound/pci/als300.c +++ b/sound/pci/als300.c  | |||
| @@ -146,7 +146,7 @@ struct snd_als300_substream_data { | |||
| 146 | int block_counter_register; | 146 | int block_counter_register; | 
| 147 | }; | 147 | }; | 
| 148 | 148 | ||
| 149 | static struct pci_device_id snd_als300_ids[] = { | 149 | static struct pci_device_id snd_als300_ids[] __devinitdata = { | 
| 150 | { 0x4005, 0x0300, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_ALS300 }, | 150 | { 0x4005, 0x0300, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_ALS300 }, | 
| 151 | { 0x4005, 0x0308, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_ALS300_PLUS }, | 151 | { 0x4005, 0x0308, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_ALS300_PLUS }, | 
| 152 | { 0, } | 152 | { 0, } | 
diff --git a/sound/pci/als4000.c b/sound/pci/als4000.c index 100d8127a411..60423b1c678b 100644 --- a/sound/pci/als4000.c +++ b/sound/pci/als4000.c  | |||
| @@ -116,7 +116,7 @@ struct snd_card_als4000 { | |||
| 116 | #endif | 116 | #endif | 
| 117 | }; | 117 | }; | 
| 118 | 118 | ||
| 119 | static struct pci_device_id snd_als4000_ids[] = { | 119 | static struct pci_device_id snd_als4000_ids[] __devinitdata = { | 
| 120 | { 0x4005, 0x4000, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* ALS4000 */ | 120 | { 0x4005, 0x4000, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* ALS4000 */ | 
| 121 | { 0, } | 121 | { 0, } | 
| 122 | }; | 122 | }; | 
diff --git a/sound/pci/atiixp.c b/sound/pci/atiixp.c index 12e618851262..d0f759d86d3d 100644 --- a/sound/pci/atiixp.c +++ b/sound/pci/atiixp.c  | |||
| @@ -284,7 +284,7 @@ struct atiixp { | |||
| 284 | 284 | ||
| 285 | /* | 285 | /* | 
| 286 | */ | 286 | */ | 
| 287 | static struct pci_device_id snd_atiixp_ids[] = { | 287 | static struct pci_device_id snd_atiixp_ids[] __devinitdata = { | 
| 288 | { 0x1002, 0x4341, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* SB200 */ | 288 | { 0x1002, 0x4341, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* SB200 */ | 
| 289 | { 0x1002, 0x4361, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* SB300 */ | 289 | { 0x1002, 0x4361, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* SB300 */ | 
| 290 | { 0x1002, 0x4370, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* SB400 */ | 290 | { 0x1002, 0x4370, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* SB400 */ | 
diff --git a/sound/pci/atiixp_modem.c b/sound/pci/atiixp_modem.c index 1d3766044643..12a34c39caa7 100644 --- a/sound/pci/atiixp_modem.c +++ b/sound/pci/atiixp_modem.c  | |||
| @@ -262,7 +262,7 @@ struct atiixp_modem { | |||
| 262 | 262 | ||
| 263 | /* | 263 | /* | 
| 264 | */ | 264 | */ | 
| 265 | static struct pci_device_id snd_atiixp_ids[] = { | 265 | static struct pci_device_id snd_atiixp_ids[] __devinitdata = { | 
| 266 | { 0x1002, 0x434d, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* SB200 */ | 266 | { 0x1002, 0x434d, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* SB200 */ | 
| 267 | { 0x1002, 0x4378, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* SB400 */ | 267 | { 0x1002, 0x4378, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* SB400 */ | 
| 268 | { 0, } | 268 | { 0, } | 
diff --git a/sound/pci/au88x0/au8810.c b/sound/pci/au88x0/au8810.c index fce22c7af0ea..bd3352998ad0 100644 --- a/sound/pci/au88x0/au8810.c +++ b/sound/pci/au88x0/au8810.c  | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | #include "au8810.h" | 1 | #include "au8810.h" | 
| 2 | #include "au88x0.h" | 2 | #include "au88x0.h" | 
| 3 | static struct pci_device_id snd_vortex_ids[] = { | 3 | static struct pci_device_id snd_vortex_ids[] __devinitdata = { | 
| 4 | {PCI_VENDOR_ID_AUREAL, PCI_DEVICE_ID_AUREAL_ADVANTAGE, | 4 | {PCI_VENDOR_ID_AUREAL, PCI_DEVICE_ID_AUREAL_ADVANTAGE, | 
| 5 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1,}, | 5 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1,}, | 
| 6 | {0,} | 6 | {0,} | 
diff --git a/sound/pci/au88x0/au8820.c b/sound/pci/au88x0/au8820.c index d1fbcce07257..7e3fd8372d8d 100644 --- a/sound/pci/au88x0/au8820.c +++ b/sound/pci/au88x0/au8820.c  | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | #include "au8820.h" | 1 | #include "au8820.h" | 
| 2 | #include "au88x0.h" | 2 | #include "au88x0.h" | 
| 3 | static struct pci_device_id snd_vortex_ids[] = { | 3 | static struct pci_device_id snd_vortex_ids[] __devinitdata = { | 
| 4 | {PCI_VENDOR_ID_AUREAL, PCI_DEVICE_ID_AUREAL_VORTEX_1, | 4 | {PCI_VENDOR_ID_AUREAL, PCI_DEVICE_ID_AUREAL_VORTEX_1, | 
| 5 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0,}, | 5 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0,}, | 
| 6 | {0,} | 6 | {0,} | 
diff --git a/sound/pci/au88x0/au8830.c b/sound/pci/au88x0/au8830.c index d4f2717c14fb..b840f6608a61 100644 --- a/sound/pci/au88x0/au8830.c +++ b/sound/pci/au88x0/au8830.c  | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | #include "au8830.h" | 1 | #include "au8830.h" | 
| 2 | #include "au88x0.h" | 2 | #include "au88x0.h" | 
| 3 | static struct pci_device_id snd_vortex_ids[] = { | 3 | static struct pci_device_id snd_vortex_ids[] __devinitdata = { | 
| 4 | {PCI_VENDOR_ID_AUREAL, PCI_DEVICE_ID_AUREAL_VORTEX_2, | 4 | {PCI_VENDOR_ID_AUREAL, PCI_DEVICE_ID_AUREAL_VORTEX_2, | 
| 5 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0,}, | 5 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0,}, | 
| 6 | {0,} | 6 | {0,} | 
diff --git a/sound/pci/azt3328.c b/sound/pci/azt3328.c index 680077e1e057..52a364524262 100644 --- a/sound/pci/azt3328.c +++ b/sound/pci/azt3328.c  | |||
| @@ -216,7 +216,7 @@ struct snd_azf3328 { | |||
| 216 | int irq; | 216 | int irq; | 
| 217 | }; | 217 | }; | 
| 218 | 218 | ||
| 219 | static const struct pci_device_id snd_azf3328_ids[] = { | 219 | static const struct pci_device_id snd_azf3328_ids[] __devinitdata = { | 
| 220 | { 0x122D, 0x50DC, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* PCI168/3328 */ | 220 | { 0x122D, 0x50DC, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* PCI168/3328 */ | 
| 221 | { 0x122D, 0x80DA, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* 3328 */ | 221 | { 0x122D, 0x80DA, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* 3328 */ | 
| 222 | { 0, } | 222 | { 0, } | 
diff --git a/sound/pci/bt87x.c b/sound/pci/bt87x.c index 7b44a8db033d..9ee07d4aac1e 100644 --- a/sound/pci/bt87x.c +++ b/sound/pci/bt87x.c  | |||
| @@ -774,7 +774,7 @@ static int __devinit snd_bt87x_create(struct snd_card *card, | |||
| 774 | .driver_data = rate } | 774 | .driver_data = rate } | 
| 775 | 775 | ||
| 776 | /* driver_data is the default digital_rate value for that device */ | 776 | /* driver_data is the default digital_rate value for that device */ | 
| 777 | static struct pci_device_id snd_bt87x_ids[] = { | 777 | static struct pci_device_id snd_bt87x_ids[] __devinitdata = { | 
| 778 | /* Hauppauge WinTV series */ | 778 | /* Hauppauge WinTV series */ | 
| 779 | BT_DEVICE(PCI_DEVICE_ID_BROOKTREE_878, 0x0070, 0x13eb, 32000), | 779 | BT_DEVICE(PCI_DEVICE_ID_BROOKTREE_878, 0x0070, 0x13eb, 32000), | 
| 780 | /* Hauppauge WinTV series */ | 780 | /* Hauppauge WinTV series */ | 
| @@ -911,7 +911,7 @@ static void __devexit snd_bt87x_remove(struct pci_dev *pci) | |||
| 911 | 911 | ||
| 912 | /* default entries for all Bt87x cards - it's not exported */ | 912 | /* default entries for all Bt87x cards - it's not exported */ | 
| 913 | /* driver_data is set to 0 to call detection */ | 913 | /* driver_data is set to 0 to call detection */ | 
| 914 | static struct pci_device_id snd_bt87x_default_ids[] = { | 914 | static struct pci_device_id snd_bt87x_default_ids[] __devinitdata = { | 
| 915 | BT_DEVICE(PCI_DEVICE_ID_BROOKTREE_878, PCI_ANY_ID, PCI_ANY_ID, 0), | 915 | BT_DEVICE(PCI_DEVICE_ID_BROOKTREE_878, PCI_ANY_ID, PCI_ANY_ID, 0), | 
| 916 | BT_DEVICE(PCI_DEVICE_ID_BROOKTREE_879, PCI_ANY_ID, PCI_ANY_ID, 0), | 916 | BT_DEVICE(PCI_DEVICE_ID_BROOKTREE_879, PCI_ANY_ID, PCI_ANY_ID, 0), | 
| 917 | { } | 917 | { } | 
diff --git a/sound/pci/ca0106/ca0106_main.c b/sound/pci/ca0106/ca0106_main.c index 9477838a9c88..fd8bfebfbd54 100644 --- a/sound/pci/ca0106/ca0106_main.c +++ b/sound/pci/ca0106/ca0106_main.c  | |||
| @@ -1561,7 +1561,7 @@ static void __devexit snd_ca0106_remove(struct pci_dev *pci) | |||
| 1561 | } | 1561 | } | 
| 1562 | 1562 | ||
| 1563 | // PCI IDs | 1563 | // PCI IDs | 
| 1564 | static struct pci_device_id snd_ca0106_ids[] = { | 1564 | static struct pci_device_id snd_ca0106_ids[] __devinitdata = { | 
| 1565 | { 0x1102, 0x0007, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* Audigy LS or Live 24bit */ | 1565 | { 0x1102, 0x0007, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* Audigy LS or Live 24bit */ | 
| 1566 | { 0, } | 1566 | { 0, } | 
| 1567 | }; | 1567 | }; | 
diff --git a/sound/pci/cmipci.c b/sound/pci/cmipci.c index 2ecbddbbdcf0..e5ce2dabd081 100644 --- a/sound/pci/cmipci.c +++ b/sound/pci/cmipci.c  | |||
| @@ -2609,7 +2609,7 @@ static inline void snd_cmipci_proc_init(struct cmipci *cm) {} | |||
| 2609 | #endif | 2609 | #endif | 
| 2610 | 2610 | ||
| 2611 | 2611 | ||
| 2612 | static struct pci_device_id snd_cmipci_ids[] = { | 2612 | static struct pci_device_id snd_cmipci_ids[] __devinitdata = { | 
| 2613 | {PCI_VENDOR_ID_CMEDIA, PCI_DEVICE_ID_CMEDIA_CM8338A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, | 2613 | {PCI_VENDOR_ID_CMEDIA, PCI_DEVICE_ID_CMEDIA_CM8338A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, | 
| 2614 | {PCI_VENDOR_ID_CMEDIA, PCI_DEVICE_ID_CMEDIA_CM8338B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, | 2614 | {PCI_VENDOR_ID_CMEDIA, PCI_DEVICE_ID_CMEDIA_CM8338B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, | 
| 2615 | {PCI_VENDOR_ID_CMEDIA, PCI_DEVICE_ID_CMEDIA_CM8738, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, | 2615 | {PCI_VENDOR_ID_CMEDIA, PCI_DEVICE_ID_CMEDIA_CM8738, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, | 
diff --git a/sound/pci/cs4281.c b/sound/pci/cs4281.c index ac4e73f69c1d..b3c94d83450a 100644 --- a/sound/pci/cs4281.c +++ b/sound/pci/cs4281.c  | |||
| @@ -494,7 +494,7 @@ struct cs4281 { | |||
| 494 | 494 | ||
| 495 | static irqreturn_t snd_cs4281_interrupt(int irq, void *dev_id, struct pt_regs *regs); | 495 | static irqreturn_t snd_cs4281_interrupt(int irq, void *dev_id, struct pt_regs *regs); | 
| 496 | 496 | ||
| 497 | static struct pci_device_id snd_cs4281_ids[] = { | 497 | static struct pci_device_id snd_cs4281_ids[] __devinitdata = { | 
| 498 | { 0x1013, 0x6005, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* CS4281 */ | 498 | { 0x1013, 0x6005, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* CS4281 */ | 
| 499 | { 0, } | 499 | { 0, } | 
| 500 | }; | 500 | }; | 
diff --git a/sound/pci/cs46xx/cs46xx.c b/sound/pci/cs46xx/cs46xx.c index c590602e20cd..848d772ae3c6 100644 --- a/sound/pci/cs46xx/cs46xx.c +++ b/sound/pci/cs46xx/cs46xx.c  | |||
| @@ -65,7 +65,7 @@ MODULE_PARM_DESC(thinkpad, "Force to enable Thinkpad's CLKRUN control."); | |||
| 65 | module_param_array(mmap_valid, bool, NULL, 0444); | 65 | module_param_array(mmap_valid, bool, NULL, 0444); | 
| 66 | MODULE_PARM_DESC(mmap_valid, "Support OSS mmap."); | 66 | MODULE_PARM_DESC(mmap_valid, "Support OSS mmap."); | 
| 67 | 67 | ||
| 68 | static struct pci_device_id snd_cs46xx_ids[] = { | 68 | static struct pci_device_id snd_cs46xx_ids[] __devinitdata = { | 
| 69 | { 0x1013, 0x6001, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* CS4280 */ | 69 | { 0x1013, 0x6001, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* CS4280 */ | 
| 70 | { 0x1013, 0x6003, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* CS4612 */ | 70 | { 0x1013, 0x6003, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* CS4612 */ | 
| 71 | { 0x1013, 0x6004, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* CS4615 */ | 71 | { 0x1013, 0x6004, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* CS4615 */ | 
diff --git a/sound/pci/cs5535audio/cs5535audio.c b/sound/pci/cs5535audio/cs5535audio.c index 9fc7f3827461..2c1213a35dcc 100644 --- a/sound/pci/cs5535audio/cs5535audio.c +++ b/sound/pci/cs5535audio/cs5535audio.c  | |||
| @@ -45,7 +45,7 @@ static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX; | |||
| 45 | static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; | 45 | static char *id[SNDRV_CARDS] = SNDRV_DEFAULT_STR; | 
| 46 | static int enable[SNDRV_CARDS] = SNDRV_DEFAULT_ENABLE_PNP; | 46 | static int enable[SNDRV_CARDS] = SNDRV_DEFAULT_ENABLE_PNP; | 
| 47 | 47 | ||
| 48 | static struct pci_device_id snd_cs5535audio_ids[] = { | 48 | static struct pci_device_id snd_cs5535audio_ids[] __devinitdata = { | 
| 49 | { PCI_VENDOR_ID_NS, PCI_DEVICE_ID_NS_CS5535_AUDIO, | 49 | { PCI_VENDOR_ID_NS, PCI_DEVICE_ID_NS_CS5535_AUDIO, | 
| 50 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, | 50 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, | 
| 51 | { PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_CS5536_AUDIO, | 51 | { PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_CS5536_AUDIO, | 
diff --git a/sound/pci/emu10k1/emu10k1.c b/sound/pci/emu10k1/emu10k1.c index 2dfa932f7825..42b11ba1d210 100644 --- a/sound/pci/emu10k1/emu10k1.c +++ b/sound/pci/emu10k1/emu10k1.c  | |||
| @@ -77,7 +77,7 @@ MODULE_PARM_DESC(subsystem, "Force card subsystem model."); | |||
| 77 | /* | 77 | /* | 
| 78 | * Class 0401: 1102:0008 (rev 00) Subsystem: 1102:1001 -> Audigy2 Value Model:SB0400 | 78 | * Class 0401: 1102:0008 (rev 00) Subsystem: 1102:1001 -> Audigy2 Value Model:SB0400 | 
| 79 | */ | 79 | */ | 
| 80 | static struct pci_device_id snd_emu10k1_ids[] = { | 80 | static struct pci_device_id snd_emu10k1_ids[] __devinitdata = { | 
| 81 | { 0x1102, 0x0002, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* EMU10K1 */ | 81 | { 0x1102, 0x0002, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* EMU10K1 */ | 
| 82 | { 0x1102, 0x0004, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1 }, /* Audigy */ | 82 | { 0x1102, 0x0004, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1 }, /* Audigy */ | 
| 83 | { 0x1102, 0x0008, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1 }, /* Audigy 2 Value SB0400 */ | 83 | { 0x1102, 0x0008, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1 }, /* Audigy 2 Value SB0400 */ | 
diff --git a/sound/pci/emu10k1/emu10k1x.c b/sound/pci/emu10k1/emu10k1x.c index 3e332f398162..d51290c18167 100644 --- a/sound/pci/emu10k1/emu10k1x.c +++ b/sound/pci/emu10k1/emu10k1x.c  | |||
| @@ -36,7 +36,6 @@ | |||
| 36 | #include <linux/dma-mapping.h> | 36 | #include <linux/dma-mapping.h> | 
| 37 | #include <linux/slab.h> | 37 | #include <linux/slab.h> | 
| 38 | #include <linux/moduleparam.h> | 38 | #include <linux/moduleparam.h> | 
| 39 | #include <linux/dma-mapping.h> | ||
| 40 | #include <sound/core.h> | 39 | #include <sound/core.h> | 
| 41 | #include <sound/initval.h> | 40 | #include <sound/initval.h> | 
| 42 | #include <sound/pcm.h> | 41 | #include <sound/pcm.h> | 
| @@ -1596,7 +1595,7 @@ static void __devexit snd_emu10k1x_remove(struct pci_dev *pci) | |||
| 1596 | } | 1595 | } | 
| 1597 | 1596 | ||
| 1598 | // PCI IDs | 1597 | // PCI IDs | 
| 1599 | static struct pci_device_id snd_emu10k1x_ids[] = { | 1598 | static struct pci_device_id snd_emu10k1x_ids[] __devinitdata = { | 
| 1600 | { 0x1102, 0x0006, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* Dell OEM version (EMU10K1) */ | 1599 | { 0x1102, 0x0006, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* Dell OEM version (EMU10K1) */ | 
| 1601 | { 0, } | 1600 | { 0, } | 
| 1602 | }; | 1601 | }; | 
diff --git a/sound/pci/ens1370.c b/sound/pci/ens1370.c index a5533c86b0b6..ca9e34e88f62 100644 --- a/sound/pci/ens1370.c +++ b/sound/pci/ens1370.c  | |||
| @@ -446,7 +446,7 @@ struct ensoniq { | |||
| 446 | 446 | ||
| 447 | static irqreturn_t snd_audiopci_interrupt(int irq, void *dev_id, struct pt_regs *regs); | 447 | static irqreturn_t snd_audiopci_interrupt(int irq, void *dev_id, struct pt_regs *regs); | 
| 448 | 448 | ||
| 449 | static struct pci_device_id snd_audiopci_ids[] = { | 449 | static struct pci_device_id snd_audiopci_ids[] __devinitdata = { | 
| 450 | #ifdef CHIP1370 | 450 | #ifdef CHIP1370 | 
| 451 | { 0x1274, 0x5000, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* ES1370 */ | 451 | { 0x1274, 0x5000, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* ES1370 */ | 
| 452 | #endif | 452 | #endif | 
diff --git a/sound/pci/es1938.c b/sound/pci/es1938.c index 4d62fe439177..6f9094ca4fb4 100644 --- a/sound/pci/es1938.c +++ b/sound/pci/es1938.c  | |||
| @@ -242,7 +242,7 @@ struct es1938 { | |||
| 242 | 242 | ||
| 243 | static irqreturn_t snd_es1938_interrupt(int irq, void *dev_id, struct pt_regs *regs); | 243 | static irqreturn_t snd_es1938_interrupt(int irq, void *dev_id, struct pt_regs *regs); | 
| 244 | 244 | ||
| 245 | static struct pci_device_id snd_es1938_ids[] = { | 245 | static struct pci_device_id snd_es1938_ids[] __devinitdata = { | 
| 246 | { 0x125d, 0x1969, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* Solo-1 */ | 246 | { 0x125d, 0x1969, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* Solo-1 */ | 
| 247 | { 0, } | 247 | { 0, } | 
| 248 | }; | 248 | }; | 
diff --git a/sound/pci/es1968.c b/sound/pci/es1968.c index e3ad17f53c29..5ff4175c7b6d 100644 --- a/sound/pci/es1968.c +++ b/sound/pci/es1968.c  | |||
| @@ -104,7 +104,6 @@ | |||
| 104 | #include <linux/slab.h> | 104 | #include <linux/slab.h> | 
| 105 | #include <linux/gameport.h> | 105 | #include <linux/gameport.h> | 
| 106 | #include <linux/moduleparam.h> | 106 | #include <linux/moduleparam.h> | 
| 107 | #include <linux/dma-mapping.h> | ||
| 108 | #include <linux/mutex.h> | 107 | #include <linux/mutex.h> | 
| 109 | 108 | ||
| 110 | #include <sound/core.h> | 109 | #include <sound/core.h> | 
| @@ -593,7 +592,7 @@ struct es1968 { | |||
| 593 | 592 | ||
| 594 | static irqreturn_t snd_es1968_interrupt(int irq, void *dev_id, struct pt_regs *regs); | 593 | static irqreturn_t snd_es1968_interrupt(int irq, void *dev_id, struct pt_regs *regs); | 
| 595 | 594 | ||
| 596 | static struct pci_device_id snd_es1968_ids[] = { | 595 | static struct pci_device_id snd_es1968_ids[] __devinitdata = { | 
| 597 | /* Maestro 1 */ | 596 | /* Maestro 1 */ | 
| 598 | { 0x1285, 0x0100, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_MULTIMEDIA_AUDIO << 8, 0xffff00, TYPE_MAESTRO }, | 597 | { 0x1285, 0x0100, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_MULTIMEDIA_AUDIO << 8, 0xffff00, TYPE_MAESTRO }, | 
| 599 | /* Maestro 2 */ | 598 | /* Maestro 2 */ | 
diff --git a/sound/pci/fm801.c b/sound/pci/fm801.c index 6ab4aefbccf8..d72fc28c580e 100644 --- a/sound/pci/fm801.c +++ b/sound/pci/fm801.c  | |||
| @@ -199,7 +199,7 @@ struct fm801 { | |||
| 199 | #endif | 199 | #endif | 
| 200 | }; | 200 | }; | 
| 201 | 201 | ||
| 202 | static struct pci_device_id snd_fm801_ids[] = { | 202 | static struct pci_device_id snd_fm801_ids[] __devinitdata = { | 
| 203 | { 0x1319, 0x0801, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_MULTIMEDIA_AUDIO << 8, 0xffff00, 0, }, /* FM801 */ | 203 | { 0x1319, 0x0801, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_MULTIMEDIA_AUDIO << 8, 0xffff00, 0, }, /* FM801 */ | 
| 204 | { 0x5213, 0x0510, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_MULTIMEDIA_AUDIO << 8, 0xffff00, 0, }, /* Gallant Odyssey Sound 4 */ | 204 | { 0x5213, 0x0510, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_MULTIMEDIA_AUDIO << 8, 0xffff00, 0, }, /* Gallant Odyssey Sound 4 */ | 
| 205 | { 0, } | 205 | { 0, } | 
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index 0ad60ae29011..e821d65afa11 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c  | |||
| @@ -1614,7 +1614,7 @@ static void __devexit azx_remove(struct pci_dev *pci) | |||
| 1614 | } | 1614 | } | 
| 1615 | 1615 | ||
| 1616 | /* PCI IDs */ | 1616 | /* PCI IDs */ | 
| 1617 | static struct pci_device_id azx_ids[] = { | 1617 | static struct pci_device_id azx_ids[] __devinitdata = { | 
| 1618 | { 0x8086, 0x2668, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_ICH }, /* ICH6 */ | 1618 | { 0x8086, 0x2668, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_ICH }, /* ICH6 */ | 
| 1619 | { 0x8086, 0x27d8, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_ICH }, /* ICH7 */ | 1619 | { 0x8086, 0x27d8, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_ICH }, /* ICH7 */ | 
| 1620 | { 0x8086, 0x269a, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_ICH }, /* ESB2 */ | 1620 | { 0x8086, 0x269a, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_ICH }, /* ESB2 */ | 
diff --git a/sound/pci/hda/patch_analog.c b/sound/pci/hda/patch_analog.c index bcfca159c6a2..40f000ba1362 100644 --- a/sound/pci/hda/patch_analog.c +++ b/sound/pci/hda/patch_analog.c  | |||
| @@ -799,10 +799,14 @@ static struct hda_board_config ad1986a_cfg_tbl[] = { | |||
| 799 | { .modelname = "laptop-eapd", .config = AD1986A_LAPTOP_EAPD }, | 799 | { .modelname = "laptop-eapd", .config = AD1986A_LAPTOP_EAPD }, | 
| 800 | { .pci_subvendor = 0x144d, .pci_subdevice = 0xc024, | 800 | { .pci_subvendor = 0x144d, .pci_subdevice = 0xc024, | 
| 801 | .config = AD1986A_LAPTOP_EAPD }, /* Samsung R65-T2300 Charis */ | 801 | .config = AD1986A_LAPTOP_EAPD }, /* Samsung R65-T2300 Charis */ | 
| 802 | { .pci_subvendor = 0x1043, .pci_subdevice = 0x1153, | ||
| 803 | .config = AD1986A_LAPTOP_EAPD }, /* ASUS M9 */ | ||
| 802 | { .pci_subvendor = 0x1043, .pci_subdevice = 0x1213, | 804 | { .pci_subvendor = 0x1043, .pci_subdevice = 0x1213, | 
| 803 | .config = AD1986A_LAPTOP_EAPD }, /* ASUS A6J */ | 805 | .config = AD1986A_LAPTOP_EAPD }, /* ASUS A6J */ | 
| 804 | { .pci_subvendor = 0x1043, .pci_subdevice = 0x11f7, | 806 | { .pci_subvendor = 0x1043, .pci_subdevice = 0x11f7, | 
| 805 | .config = AD1986A_LAPTOP_EAPD }, /* ASUS U5A */ | 807 | .config = AD1986A_LAPTOP_EAPD }, /* ASUS U5A */ | 
| 808 | { .pci_subvendor = 0x1043, .pci_subdevice = 0x1297, | ||
| 809 | .config = AD1986A_LAPTOP_EAPD }, /* ASUS Z62F */ | ||
| 806 | { .pci_subvendor = 0x103c, .pci_subdevice = 0x30af, | 810 | { .pci_subvendor = 0x103c, .pci_subdevice = 0x30af, | 
| 807 | .config = AD1986A_LAPTOP_EAPD }, /* HP Compaq Presario B2800 */ | 811 | .config = AD1986A_LAPTOP_EAPD }, /* HP Compaq Presario B2800 */ | 
| 808 | {} | 812 | {} | 
| @@ -1330,12 +1334,8 @@ enum { AD1981_BASIC, AD1981_HP }; | |||
| 1330 | 1334 | ||
| 1331 | static struct hda_board_config ad1981_cfg_tbl[] = { | 1335 | static struct hda_board_config ad1981_cfg_tbl[] = { | 
| 1332 | { .modelname = "hp", .config = AD1981_HP }, | 1336 | { .modelname = "hp", .config = AD1981_HP }, | 
| 1333 | { .pci_subvendor = 0x103c, .pci_subdevice = 0x30aa, | 1337 | /* All HP models */ | 
| 1334 | .config = AD1981_HP }, /* HP nx6320 */ | 1338 | { .pci_subvendor = 0x103c, .config = AD1981_HP }, | 
| 1335 | { .pci_subvendor = 0x103c, .pci_subdevice = 0x309f, | ||
| 1336 | .config = AD1981_HP }, /* HP nx9420 AngelFire */ | ||
| 1337 | { .pci_subvendor = 0x103c, .pci_subdevice = 0x30a2, | ||
| 1338 | .config = AD1981_HP }, /* HP nx9420 AngelFire */ | ||
| 1339 | { .modelname = "basic", .config = AD1981_BASIC }, | 1339 | { .modelname = "basic", .config = AD1981_BASIC }, | 
| 1340 | {} | 1340 | {} | 
| 1341 | }; | 1341 | }; | 
| @@ -2623,5 +2623,6 @@ struct hda_codec_preset snd_hda_preset_analog[] = { | |||
| 2623 | { .id = 0x11d41983, .name = "AD1983", .patch = patch_ad1983 }, | 2623 | { .id = 0x11d41983, .name = "AD1983", .patch = patch_ad1983 }, | 
| 2624 | { .id = 0x11d41986, .name = "AD1986A", .patch = patch_ad1986a }, | 2624 | { .id = 0x11d41986, .name = "AD1986A", .patch = patch_ad1986a }, | 
| 2625 | { .id = 0x11d41988, .name = "AD1988", .patch = patch_ad1988 }, | 2625 | { .id = 0x11d41988, .name = "AD1988", .patch = patch_ad1988 }, | 
| 2626 | { .id = 0x11d4198b, .name = "AD1988B", .patch = patch_ad1988 }, | ||
| 2626 | {} /* terminator */ | 2627 | {} /* terminator */ | 
| 2627 | }; | 2628 | }; | 
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index 66bbdb60f50b..f0e9a9c90780 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c  | |||
| @@ -2148,6 +2148,7 @@ static struct hda_board_config alc880_cfg_tbl[] = { | |||
| 2148 | { .pci_subvendor = 0x1025, .pci_subdevice = 0x0087, .config = ALC880_6ST_DIG }, | 2148 | { .pci_subvendor = 0x1025, .pci_subdevice = 0x0087, .config = ALC880_6ST_DIG }, | 
| 2149 | { .pci_subvendor = 0x1297, .pci_subdevice = 0xc790, .config = ALC880_6ST_DIG }, /* Shuttle ST20G5 */ | 2149 | { .pci_subvendor = 0x1297, .pci_subdevice = 0xc790, .config = ALC880_6ST_DIG }, /* Shuttle ST20G5 */ | 
| 2150 | { .pci_subvendor = 0x1509, .pci_subdevice = 0x925d, .config = ALC880_6ST_DIG }, /* FIC P4M-915GD1 */ | 2150 | { .pci_subvendor = 0x1509, .pci_subdevice = 0x925d, .config = ALC880_6ST_DIG }, /* FIC P4M-915GD1 */ | 
| 2151 | { .pci_subvendor = 0x1695, .pci_subdevice = 0x4012, .config = ALC880_5ST_DIG }, /* Epox EP-5LDA+ GLi */ | ||
| 2151 | 2152 | ||
| 2152 | { .modelname = "asus", .config = ALC880_ASUS }, | 2153 | { .modelname = "asus", .config = ALC880_ASUS }, | 
| 2153 | { .pci_subvendor = 0x1043, .pci_subdevice = 0x1964, .config = ALC880_ASUS_DIG }, | 2154 | { .pci_subvendor = 0x1043, .pci_subdevice = 0x1964, .config = ALC880_ASUS_DIG }, | 
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index 715260787953..8c440fb98603 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c  | |||
| @@ -1212,8 +1212,8 @@ static hda_nid_t vaio_mux_nids[] = { 0x15 }; | |||
| 1212 | static struct hda_input_mux vaio_mux = { | 1212 | static struct hda_input_mux vaio_mux = { | 
| 1213 | .num_items = 2, | 1213 | .num_items = 2, | 
| 1214 | .items = { | 1214 | .items = { | 
| 1215 | /* { "HP", 0x0 }, | 1215 | /* { "HP", 0x0 }, */ | 
| 1216 | { "Unknown", 0x1 }, */ | 1216 | { "Line", 0x1 }, | 
| 1217 | { "Mic", 0x2 }, | 1217 | { "Mic", 0x2 }, | 
| 1218 | { "PCM", 0x3 }, | 1218 | { "PCM", 0x3 }, | 
| 1219 | } | 1219 | } | 
diff --git a/sound/pci/ice1712/ice1712.c b/sound/pci/ice1712/ice1712.c index 32f8415558a5..c56793b381e2 100644 --- a/sound/pci/ice1712/ice1712.c +++ b/sound/pci/ice1712/ice1712.c  | |||
| @@ -56,7 +56,6 @@ | |||
| 56 | #include <linux/dma-mapping.h> | 56 | #include <linux/dma-mapping.h> | 
| 57 | #include <linux/slab.h> | 57 | #include <linux/slab.h> | 
| 58 | #include <linux/moduleparam.h> | 58 | #include <linux/moduleparam.h> | 
| 59 | #include <linux/dma-mapping.h> | ||
| 60 | #include <linux/mutex.h> | 59 | #include <linux/mutex.h> | 
| 61 | 60 | ||
| 62 | #include <sound/core.h> | 61 | #include <sound/core.h> | 
| @@ -108,7 +107,7 @@ module_param_array(dxr_enable, int, NULL, 0444); | |||
| 108 | MODULE_PARM_DESC(dxr_enable, "Enable DXR support for Terratec DMX6FIRE."); | 107 | MODULE_PARM_DESC(dxr_enable, "Enable DXR support for Terratec DMX6FIRE."); | 
| 109 | 108 | ||
| 110 | 109 | ||
| 111 | static struct pci_device_id snd_ice1712_ids[] = { | 110 | static struct pci_device_id snd_ice1712_ids[] __devinitdata = { | 
| 112 | { PCI_VENDOR_ID_ICE, PCI_DEVICE_ID_ICE_1712, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* ICE1712 */ | 111 | { PCI_VENDOR_ID_ICE, PCI_DEVICE_ID_ICE_1712, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* ICE1712 */ | 
| 113 | { 0, } | 112 | { 0, } | 
| 114 | }; | 113 | }; | 
diff --git a/sound/pci/ice1712/ice1724.c b/sound/pci/ice1712/ice1724.c index fce616c2761f..b1c007e022d2 100644 --- a/sound/pci/ice1712/ice1724.c +++ b/sound/pci/ice1712/ice1724.c  | |||
| @@ -86,7 +86,7 @@ MODULE_PARM_DESC(model, "Use the given board model."); | |||
| 86 | 86 | ||
| 87 | 87 | ||
| 88 | /* Both VT1720 and VT1724 have the same PCI IDs */ | 88 | /* Both VT1720 and VT1724 have the same PCI IDs */ | 
| 89 | static struct pci_device_id snd_vt1724_ids[] = { | 89 | static struct pci_device_id snd_vt1724_ids[] __devinitdata = { | 
| 90 | { PCI_VENDOR_ID_ICE, PCI_DEVICE_ID_VT1724, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, | 90 | { PCI_VENDOR_ID_ICE, PCI_DEVICE_ID_VT1724, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, | 
| 91 | { 0, } | 91 | { 0, } | 
| 92 | }; | 92 | }; | 
diff --git a/sound/pci/intel8x0.c b/sound/pci/intel8x0.c index ebbf2cf4ca0f..0df7602568e2 100644 --- a/sound/pci/intel8x0.c +++ b/sound/pci/intel8x0.c  | |||
| @@ -413,7 +413,7 @@ struct intel8x0 { | |||
| 413 | u32 int_sta_mask; /* interrupt status mask */ | 413 | u32 int_sta_mask; /* interrupt status mask */ | 
| 414 | }; | 414 | }; | 
| 415 | 415 | ||
| 416 | static struct pci_device_id snd_intel8x0_ids[] = { | 416 | static struct pci_device_id snd_intel8x0_ids[] __devinitdata = { | 
| 417 | { 0x8086, 0x2415, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_INTEL }, /* 82801AA */ | 417 | { 0x8086, 0x2415, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_INTEL }, /* 82801AA */ | 
| 418 | { 0x8086, 0x2425, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_INTEL }, /* 82901AB */ | 418 | { 0x8086, 0x2425, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_INTEL }, /* 82901AB */ | 
| 419 | { 0x8086, 0x2445, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_INTEL }, /* 82801BA */ | 419 | { 0x8086, 0x2445, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_INTEL }, /* 82801BA */ | 
| @@ -1293,6 +1293,7 @@ static int snd_intel8x0_ali_ac97spdifout_close(struct snd_pcm_substream *substre | |||
| 1293 | return 0; | 1293 | return 0; | 
| 1294 | } | 1294 | } | 
| 1295 | 1295 | ||
| 1296 | #if 0 // NYI | ||
| 1296 | static int snd_intel8x0_ali_spdifin_open(struct snd_pcm_substream *substream) | 1297 | static int snd_intel8x0_ali_spdifin_open(struct snd_pcm_substream *substream) | 
| 1297 | { | 1298 | { | 
| 1298 | struct intel8x0 *chip = snd_pcm_substream_chip(substream); | 1299 | struct intel8x0 *chip = snd_pcm_substream_chip(substream); | 
| @@ -1308,7 +1309,6 @@ static int snd_intel8x0_ali_spdifin_close(struct snd_pcm_substream *substream) | |||
| 1308 | return 0; | 1309 | return 0; | 
| 1309 | } | 1310 | } | 
| 1310 | 1311 | ||
| 1311 | #if 0 // NYI | ||
| 1312 | static int snd_intel8x0_ali_spdifout_open(struct snd_pcm_substream *substream) | 1312 | static int snd_intel8x0_ali_spdifout_open(struct snd_pcm_substream *substream) | 
| 1313 | { | 1313 | { | 
| 1314 | struct intel8x0 *chip = snd_pcm_substream_chip(substream); | 1314 | struct intel8x0 *chip = snd_pcm_substream_chip(substream); | 
| @@ -1435,6 +1435,7 @@ static struct snd_pcm_ops snd_intel8x0_ali_ac97spdifout_ops = { | |||
| 1435 | .pointer = snd_intel8x0_pcm_pointer, | 1435 | .pointer = snd_intel8x0_pcm_pointer, | 
| 1436 | }; | 1436 | }; | 
| 1437 | 1437 | ||
| 1438 | #if 0 // NYI | ||
| 1438 | static struct snd_pcm_ops snd_intel8x0_ali_spdifin_ops = { | 1439 | static struct snd_pcm_ops snd_intel8x0_ali_spdifin_ops = { | 
| 1439 | .open = snd_intel8x0_ali_spdifin_open, | 1440 | .open = snd_intel8x0_ali_spdifin_open, | 
| 1440 | .close = snd_intel8x0_ali_spdifin_close, | 1441 | .close = snd_intel8x0_ali_spdifin_close, | 
| @@ -1446,7 +1447,6 @@ static struct snd_pcm_ops snd_intel8x0_ali_spdifin_ops = { | |||
| 1446 | .pointer = snd_intel8x0_pcm_pointer, | 1447 | .pointer = snd_intel8x0_pcm_pointer, | 
| 1447 | }; | 1448 | }; | 
| 1448 | 1449 | ||
| 1449 | #if 0 // NYI | ||
| 1450 | static struct snd_pcm_ops snd_intel8x0_ali_spdifout_ops = { | 1450 | static struct snd_pcm_ops snd_intel8x0_ali_spdifout_ops = { | 
| 1451 | .open = snd_intel8x0_ali_spdifout_open, | 1451 | .open = snd_intel8x0_ali_spdifout_open, | 
| 1452 | .close = snd_intel8x0_ali_spdifout_close, | 1452 | .close = snd_intel8x0_ali_spdifout_close, | 
| @@ -1582,7 +1582,7 @@ static struct ich_pcm_table ali_pcms[] __devinitdata = { | |||
| 1582 | { | 1582 | { | 
| 1583 | .suffix = "IEC958", | 1583 | .suffix = "IEC958", | 
| 1584 | .playback_ops = &snd_intel8x0_ali_ac97spdifout_ops, | 1584 | .playback_ops = &snd_intel8x0_ali_ac97spdifout_ops, | 
| 1585 | .capture_ops = &snd_intel8x0_ali_spdifin_ops, | 1585 | /* .capture_ops = &snd_intel8x0_ali_spdifin_ops, */ | 
| 1586 | .prealloc_size = 64 * 1024, | 1586 | .prealloc_size = 64 * 1024, | 
| 1587 | .prealloc_max_size = 128 * 1024, | 1587 | .prealloc_max_size = 128 * 1024, | 
| 1588 | .ac97_idx = ALID_AC97SPDIFOUT, | 1588 | .ac97_idx = ALID_AC97SPDIFOUT, | 
diff --git a/sound/pci/intel8x0m.c b/sound/pci/intel8x0m.c index 47e26aaa9ad7..720635f0cb81 100644 --- a/sound/pci/intel8x0m.c +++ b/sound/pci/intel8x0m.c  | |||
| @@ -224,7 +224,7 @@ struct intel8x0m { | |||
| 224 | unsigned int pcm_pos_shift; | 224 | unsigned int pcm_pos_shift; | 
| 225 | }; | 225 | }; | 
| 226 | 226 | ||
| 227 | static struct pci_device_id snd_intel8x0m_ids[] = { | 227 | static struct pci_device_id snd_intel8x0m_ids[] __devinitdata = { | 
| 228 | { 0x8086, 0x2416, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_INTEL }, /* 82801AA */ | 228 | { 0x8086, 0x2416, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_INTEL }, /* 82801AA */ | 
| 229 | { 0x8086, 0x2426, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_INTEL }, /* 82901AB */ | 229 | { 0x8086, 0x2426, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_INTEL }, /* 82901AB */ | 
| 230 | { 0x8086, 0x2446, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_INTEL }, /* 82801BA */ | 230 | { 0x8086, 0x2446, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_INTEL }, /* 82801BA */ | 
diff --git a/sound/pci/korg1212/korg1212.c b/sound/pci/korg1212/korg1212.c index 4721c096335e..e39fad1a4200 100644 --- a/sound/pci/korg1212/korg1212.c +++ b/sound/pci/korg1212/korg1212.c  | |||
| @@ -424,7 +424,7 @@ module_param_array(enable, bool, NULL, 0444); | |||
| 424 | MODULE_PARM_DESC(enable, "Enable Korg 1212 soundcard."); | 424 | MODULE_PARM_DESC(enable, "Enable Korg 1212 soundcard."); | 
| 425 | MODULE_AUTHOR("Haroldo Gamal <gamal@alternex.com.br>"); | 425 | MODULE_AUTHOR("Haroldo Gamal <gamal@alternex.com.br>"); | 
| 426 | 426 | ||
| 427 | static struct pci_device_id snd_korg1212_ids[] = { | 427 | static struct pci_device_id snd_korg1212_ids[] __devinitdata = { | 
| 428 | { | 428 | { | 
| 429 | .vendor = 0x10b5, | 429 | .vendor = 0x10b5, | 
| 430 | .device = 0x906d, | 430 | .device = 0x906d, | 
diff --git a/sound/pci/maestro3.c b/sound/pci/maestro3.c index 9c90d901e6b9..1928e06b6d82 100644 --- a/sound/pci/maestro3.c +++ b/sound/pci/maestro3.c  | |||
| @@ -41,7 +41,6 @@ | |||
| 41 | #include <linux/slab.h> | 41 | #include <linux/slab.h> | 
| 42 | #include <linux/vmalloc.h> | 42 | #include <linux/vmalloc.h> | 
| 43 | #include <linux/moduleparam.h> | 43 | #include <linux/moduleparam.h> | 
| 44 | #include <linux/dma-mapping.h> | ||
| 45 | #include <sound/core.h> | 44 | #include <sound/core.h> | 
| 46 | #include <sound/info.h> | 45 | #include <sound/info.h> | 
| 47 | #include <sound/control.h> | 46 | #include <sound/control.h> | 
| @@ -870,7 +869,7 @@ struct snd_m3 { | |||
| 870 | /* | 869 | /* | 
| 871 | * pci ids | 870 | * pci ids | 
| 872 | */ | 871 | */ | 
| 873 | static struct pci_device_id snd_m3_ids[] = { | 872 | static struct pci_device_id snd_m3_ids[] __devinitdata = { | 
| 874 | {PCI_VENDOR_ID_ESS, PCI_DEVICE_ID_ESS_ALLEGRO_1, PCI_ANY_ID, PCI_ANY_ID, | 873 | {PCI_VENDOR_ID_ESS, PCI_DEVICE_ID_ESS_ALLEGRO_1, PCI_ANY_ID, PCI_ANY_ID, | 
| 875 | PCI_CLASS_MULTIMEDIA_AUDIO << 8, 0xffff00, 0}, | 874 | PCI_CLASS_MULTIMEDIA_AUDIO << 8, 0xffff00, 0}, | 
| 876 | {PCI_VENDOR_ID_ESS, PCI_DEVICE_ID_ESS_ALLEGRO, PCI_ANY_ID, PCI_ANY_ID, | 875 | {PCI_VENDOR_ID_ESS, PCI_DEVICE_ID_ESS_ALLEGRO, PCI_ANY_ID, PCI_ANY_ID, | 
diff --git a/sound/pci/mixart/mixart.c b/sound/pci/mixart/mixart.c index b5a095052d4c..09cc0786495a 100644 --- a/sound/pci/mixart/mixart.c +++ b/sound/pci/mixart/mixart.c  | |||
| @@ -28,7 +28,6 @@ | |||
| 28 | #include <linux/dma-mapping.h> | 28 | #include <linux/dma-mapping.h> | 
| 29 | #include <linux/moduleparam.h> | 29 | #include <linux/moduleparam.h> | 
| 30 | #include <linux/mutex.h> | 30 | #include <linux/mutex.h> | 
| 31 | #include <linux/dma-mapping.h> | ||
| 32 | 31 | ||
| 33 | #include <sound/core.h> | 32 | #include <sound/core.h> | 
| 34 | #include <sound/initval.h> | 33 | #include <sound/initval.h> | 
| @@ -62,7 +61,7 @@ MODULE_PARM_DESC(enable, "Enable Digigram " CARD_NAME " soundcard."); | |||
| 62 | /* | 61 | /* | 
| 63 | */ | 62 | */ | 
| 64 | 63 | ||
| 65 | static struct pci_device_id snd_mixart_ids[] = { | 64 | static struct pci_device_id snd_mixart_ids[] __devinitdata = { | 
| 66 | { 0x1057, 0x0003, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* MC8240 */ | 65 | { 0x1057, 0x0003, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* MC8240 */ | 
| 67 | { 0, } | 66 | { 0, } | 
| 68 | }; | 67 | }; | 
diff --git a/sound/pci/nm256/nm256.c b/sound/pci/nm256/nm256.c index cc297abc9d11..b92d6600deb9 100644 --- a/sound/pci/nm256/nm256.c +++ b/sound/pci/nm256/nm256.c  | |||
| @@ -263,7 +263,7 @@ struct nm256 { | |||
| 263 | /* | 263 | /* | 
| 264 | * PCI ids | 264 | * PCI ids | 
| 265 | */ | 265 | */ | 
| 266 | static struct pci_device_id snd_nm256_ids[] = { | 266 | static struct pci_device_id snd_nm256_ids[] __devinitdata = { | 
| 267 | {PCI_VENDOR_ID_NEOMAGIC, PCI_DEVICE_ID_NEOMAGIC_NM256AV_AUDIO, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, | 267 | {PCI_VENDOR_ID_NEOMAGIC, PCI_DEVICE_ID_NEOMAGIC_NM256AV_AUDIO, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, | 
| 268 | {PCI_VENDOR_ID_NEOMAGIC, PCI_DEVICE_ID_NEOMAGIC_NM256ZX_AUDIO, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, | 268 | {PCI_VENDOR_ID_NEOMAGIC, PCI_DEVICE_ID_NEOMAGIC_NM256ZX_AUDIO, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, | 
| 269 | {PCI_VENDOR_ID_NEOMAGIC, PCI_DEVICE_ID_NEOMAGIC_NM256XL_PLUS_AUDIO, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, | 269 | {PCI_VENDOR_ID_NEOMAGIC, PCI_DEVICE_ID_NEOMAGIC_NM256XL_PLUS_AUDIO, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, | 
diff --git a/sound/pci/pcxhr/pcxhr.c b/sound/pci/pcxhr/pcxhr.c index 35875c8aa299..dafa2235abaa 100644 --- a/sound/pci/pcxhr/pcxhr.c +++ b/sound/pci/pcxhr/pcxhr.c  | |||
| @@ -30,7 +30,6 @@ | |||
| 30 | #include <linux/delay.h> | 30 | #include <linux/delay.h> | 
| 31 | #include <linux/moduleparam.h> | 31 | #include <linux/moduleparam.h> | 
| 32 | #include <linux/mutex.h> | 32 | #include <linux/mutex.h> | 
| 33 | #include <linux/dma-mapping.h> | ||
| 34 | 33 | ||
| 35 | #include <sound/core.h> | 34 | #include <sound/core.h> | 
| 36 | #include <sound/initval.h> | 35 | #include <sound/initval.h> | 
| @@ -74,7 +73,7 @@ enum { | |||
| 74 | PCI_ID_LAST | 73 | PCI_ID_LAST | 
| 75 | }; | 74 | }; | 
| 76 | 75 | ||
| 77 | static struct pci_device_id pcxhr_ids[] = { | 76 | static struct pci_device_id pcxhr_ids[] __devinitdata = { | 
| 78 | { 0x10b5, 0x9656, 0x1369, 0xb001, 0, 0, PCI_ID_VX882HR, }, /* VX882HR */ | 77 | { 0x10b5, 0x9656, 0x1369, 0xb001, 0, 0, PCI_ID_VX882HR, }, /* VX882HR */ | 
| 79 | { 0x10b5, 0x9656, 0x1369, 0xb101, 0, 0, PCI_ID_PCX882HR, }, /* PCX882HR */ | 78 | { 0x10b5, 0x9656, 0x1369, 0xb101, 0, 0, PCI_ID_PCX882HR, }, /* PCX882HR */ | 
| 80 | { 0x10b5, 0x9656, 0x1369, 0xb201, 0, 0, PCI_ID_VX881HR, }, /* VX881HR */ | 79 | { 0x10b5, 0x9656, 0x1369, 0xb201, 0, 0, PCI_ID_VX881HR, }, /* VX881HR */ | 
diff --git a/sound/pci/pcxhr/pcxhr_hwdep.c b/sound/pci/pcxhr/pcxhr_hwdep.c index 03517c10e99c..369c19fea985 100644 --- a/sound/pci/pcxhr/pcxhr_hwdep.c +++ b/sound/pci/pcxhr/pcxhr_hwdep.c  | |||
| @@ -385,8 +385,8 @@ static int pcxhr_hwdep_dsp_load(struct snd_hwdep *hw, | |||
| 385 | fw.size = dsp->length; | 385 | fw.size = dsp->length; | 
| 386 | fw.data = vmalloc(fw.size); | 386 | fw.data = vmalloc(fw.size); | 
| 387 | if (! fw.data) { | 387 | if (! fw.data) { | 
| 388 | snd_printk(KERN_ERR "pcxhr: cannot allocate dsp image (%d bytes)\n", | 388 | snd_printk(KERN_ERR "pcxhr: cannot allocate dsp image (%lu bytes)\n", | 
| 389 | fw.size); | 389 | (unsigned long)fw.size); | 
| 390 | return -ENOMEM; | 390 | return -ENOMEM; | 
| 391 | } | 391 | } | 
| 392 | if (copy_from_user(fw.data, dsp->image, dsp->length)) { | 392 | if (copy_from_user(fw.data, dsp->image, dsp->length)) { | 
diff --git a/sound/pci/riptide/riptide.c b/sound/pci/riptide/riptide.c index f148ee434a6b..d8cc985d7241 100644 --- a/sound/pci/riptide/riptide.c +++ b/sound/pci/riptide/riptide.c  | |||
| @@ -506,7 +506,7 @@ static int riptide_reset(struct cmdif *cif, struct snd_riptide *chip); | |||
| 506 | /* | 506 | /* | 
| 507 | */ | 507 | */ | 
| 508 | 508 | ||
| 509 | static struct pci_device_id snd_riptide_ids[] = { | 509 | static struct pci_device_id snd_riptide_ids[] __devinitdata = { | 
| 510 | { | 510 | { | 
| 511 | .vendor = 0x127a,.device = 0x4310, | 511 | .vendor = 0x127a,.device = 0x4310, | 
| 512 | .subvendor = PCI_ANY_ID,.subdevice = PCI_ANY_ID, | 512 | .subvendor = PCI_ANY_ID,.subdevice = PCI_ANY_ID, | 
| @@ -527,7 +527,7 @@ static struct pci_device_id snd_riptide_ids[] = { | |||
| 527 | }; | 527 | }; | 
| 528 | 528 | ||
| 529 | #ifdef SUPPORT_JOYSTICK | 529 | #ifdef SUPPORT_JOYSTICK | 
| 530 | static struct pci_device_id snd_riptide_joystick_ids[] = { | 530 | static struct pci_device_id snd_riptide_joystick_ids[] __devinitdata = { | 
| 531 | { | 531 | { | 
| 532 | .vendor = 0x127a,.device = 0x4312, | 532 | .vendor = 0x127a,.device = 0x4312, | 
| 533 | .subvendor = PCI_ANY_ID,.subdevice = PCI_ANY_ID, | 533 | .subvendor = PCI_ANY_ID,.subdevice = PCI_ANY_ID, | 
diff --git a/sound/pci/rme32.c b/sound/pci/rme32.c index ab78544bf042..55b1d4838d97 100644 --- a/sound/pci/rme32.c +++ b/sound/pci/rme32.c  | |||
| @@ -227,7 +227,7 @@ struct rme32 { | |||
| 227 | struct snd_kcontrol *spdif_ctl; | 227 | struct snd_kcontrol *spdif_ctl; | 
| 228 | }; | 228 | }; | 
| 229 | 229 | ||
| 230 | static struct pci_device_id snd_rme32_ids[] = { | 230 | static struct pci_device_id snd_rme32_ids[] __devinitdata = { | 
| 231 | {PCI_VENDOR_ID_XILINX_RME, PCI_DEVICE_ID_RME_DIGI32, | 231 | {PCI_VENDOR_ID_XILINX_RME, PCI_DEVICE_ID_RME_DIGI32, | 
| 232 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0,}, | 232 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0,}, | 
| 233 | {PCI_VENDOR_ID_XILINX_RME, PCI_DEVICE_ID_RME_DIGI32_8, | 233 | {PCI_VENDOR_ID_XILINX_RME, PCI_DEVICE_ID_RME_DIGI32_8, | 
diff --git a/sound/pci/rme96.c b/sound/pci/rme96.c index 6c2a9f4a7659..3c1bc533d511 100644 --- a/sound/pci/rme96.c +++ b/sound/pci/rme96.c  | |||
| @@ -232,7 +232,7 @@ struct rme96 { | |||
| 232 | struct snd_kcontrol *spdif_ctl; | 232 | struct snd_kcontrol *spdif_ctl; | 
| 233 | }; | 233 | }; | 
| 234 | 234 | ||
| 235 | static struct pci_device_id snd_rme96_ids[] = { | 235 | static struct pci_device_id snd_rme96_ids[] __devinitdata = { | 
| 236 | { PCI_VENDOR_ID_XILINX, PCI_DEVICE_ID_RME_DIGI96, | 236 | { PCI_VENDOR_ID_XILINX, PCI_DEVICE_ID_RME_DIGI96, | 
| 237 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, | 237 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, | 
| 238 | { PCI_VENDOR_ID_XILINX, PCI_DEVICE_ID_RME_DIGI96_8, | 238 | { PCI_VENDOR_ID_XILINX, PCI_DEVICE_ID_RME_DIGI96_8, | 
diff --git a/sound/pci/rme9652/hdsp.c b/sound/pci/rme9652/hdsp.c index ebf7a2b86c23..61f82f0d5cc6 100644 --- a/sound/pci/rme9652/hdsp.c +++ b/sound/pci/rme9652/hdsp.c  | |||
| @@ -568,7 +568,7 @@ static void snd_hammerfall_free_buffer(struct snd_dma_buffer *dmab, struct pci_d | |||
| 568 | } | 568 | } | 
| 569 | 569 | ||
| 570 | 570 | ||
| 571 | static struct pci_device_id snd_hdsp_ids[] = { | 571 | static struct pci_device_id snd_hdsp_ids[] __devinitdata = { | 
| 572 | { | 572 | { | 
| 573 | .vendor = PCI_VENDOR_ID_XILINX, | 573 | .vendor = PCI_VENDOR_ID_XILINX, | 
| 574 | .device = PCI_DEVICE_ID_XILINX_HAMMERFALL_DSP, | 574 | .device = PCI_DEVICE_ID_XILINX_HAMMERFALL_DSP, | 
diff --git a/sound/pci/rme9652/hdspm.c b/sound/pci/rme9652/hdspm.c index b5538efd146b..722b9e6ce54a 100644 --- a/sound/pci/rme9652/hdspm.c +++ b/sound/pci/rme9652/hdspm.c  | |||
| @@ -426,7 +426,7 @@ static char channel_map_madi_qs[HDSPM_MAX_CHANNELS] = { | |||
| 426 | }; | 426 | }; | 
| 427 | 427 | ||
| 428 | 428 | ||
| 429 | static struct pci_device_id snd_hdspm_ids[] = { | 429 | static struct pci_device_id snd_hdspm_ids[] __devinitdata = { | 
| 430 | { | 430 | { | 
| 431 | .vendor = PCI_VENDOR_ID_XILINX, | 431 | .vendor = PCI_VENDOR_ID_XILINX, | 
| 432 | .device = PCI_DEVICE_ID_XILINX_HAMMERFALL_DSP_MADI, | 432 | .device = PCI_DEVICE_ID_XILINX_HAMMERFALL_DSP_MADI, | 
diff --git a/sound/pci/rme9652/rme9652.c b/sound/pci/rme9652/rme9652.c index a687eb63236f..75d6406303d3 100644 --- a/sound/pci/rme9652/rme9652.c +++ b/sound/pci/rme9652/rme9652.c  | |||
| @@ -315,7 +315,7 @@ static void snd_hammerfall_free_buffer(struct snd_dma_buffer *dmab, struct pci_d | |||
| 315 | } | 315 | } | 
| 316 | 316 | ||
| 317 | 317 | ||
| 318 | static struct pci_device_id snd_rme9652_ids[] = { | 318 | static struct pci_device_id snd_rme9652_ids[] __devinitdata = { | 
| 319 | { | 319 | { | 
| 320 | .vendor = 0x10ee, | 320 | .vendor = 0x10ee, | 
| 321 | .device = 0x3fc4, | 321 | .device = 0x3fc4, | 
diff --git a/sound/pci/sonicvibes.c b/sound/pci/sonicvibes.c index 2d66a09fe5ee..91f8bf3ae9fa 100644 --- a/sound/pci/sonicvibes.c +++ b/sound/pci/sonicvibes.c  | |||
| @@ -243,7 +243,7 @@ struct sonicvibes { | |||
| 243 | #endif | 243 | #endif | 
| 244 | }; | 244 | }; | 
| 245 | 245 | ||
| 246 | static struct pci_device_id snd_sonic_ids[] = { | 246 | static struct pci_device_id snd_sonic_ids[] __devinitdata = { | 
| 247 | { 0x5333, 0xca00, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, | 247 | { 0x5333, 0xca00, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, | 
| 248 | { 0, } | 248 | { 0, } | 
| 249 | }; | 249 | }; | 
diff --git a/sound/pci/trident/trident.c b/sound/pci/trident/trident.c index b4538045049f..9624a5f2b875 100644 --- a/sound/pci/trident/trident.c +++ b/sound/pci/trident/trident.c  | |||
| @@ -63,7 +63,7 @@ MODULE_PARM_DESC(pcm_channels, "Number of hardware channels assigned for PCM."); | |||
| 63 | module_param_array(wavetable_size, int, NULL, 0444); | 63 | module_param_array(wavetable_size, int, NULL, 0444); | 
| 64 | MODULE_PARM_DESC(wavetable_size, "Maximum memory size in kB for wavetable synth."); | 64 | MODULE_PARM_DESC(wavetable_size, "Maximum memory size in kB for wavetable synth."); | 
| 65 | 65 | ||
| 66 | static struct pci_device_id snd_trident_ids[] = { | 66 | static struct pci_device_id snd_trident_ids[] __devinitdata = { | 
| 67 | {PCI_DEVICE(PCI_VENDOR_ID_TRIDENT, PCI_DEVICE_ID_TRIDENT_4DWAVE_DX), | 67 | {PCI_DEVICE(PCI_VENDOR_ID_TRIDENT, PCI_DEVICE_ID_TRIDENT_4DWAVE_DX), | 
| 68 | PCI_CLASS_MULTIMEDIA_AUDIO << 8, 0xffff00, 0}, | 68 | PCI_CLASS_MULTIMEDIA_AUDIO << 8, 0xffff00, 0}, | 
| 69 | {PCI_DEVICE(PCI_VENDOR_ID_TRIDENT, PCI_DEVICE_ID_TRIDENT_4DWAVE_NX), | 69 | {PCI_DEVICE(PCI_VENDOR_ID_TRIDENT, PCI_DEVICE_ID_TRIDENT_4DWAVE_NX), | 
diff --git a/sound/pci/via82xx.c b/sound/pci/via82xx.c index 0f171dd1377b..39daf62d2bad 100644 --- a/sound/pci/via82xx.c +++ b/sound/pci/via82xx.c  | |||
| @@ -123,6 +123,7 @@ module_param(enable, bool, 0444); | |||
| 123 | #define VIA_REV_8233A 0x40 /* 1 rec, 1 multi-pb, spdf */ | 123 | #define VIA_REV_8233A 0x40 /* 1 rec, 1 multi-pb, spdf */ | 
| 124 | #define VIA_REV_8235 0x50 /* 2 rec, 4 pb, 1 multi-pb, spdif */ | 124 | #define VIA_REV_8235 0x50 /* 2 rec, 4 pb, 1 multi-pb, spdif */ | 
| 125 | #define VIA_REV_8237 0x60 | 125 | #define VIA_REV_8237 0x60 | 
| 126 | #define VIA_REV_8251 0x70 | ||
| 126 | 127 | ||
| 127 | /* | 128 | /* | 
| 128 | * Direct registers | 129 | * Direct registers | 
| @@ -395,7 +396,7 @@ struct via82xx { | |||
| 395 | #endif | 396 | #endif | 
| 396 | }; | 397 | }; | 
| 397 | 398 | ||
| 398 | static struct pci_device_id snd_via82xx_ids[] = { | 399 | static struct pci_device_id snd_via82xx_ids[] __devinitdata = { | 
| 399 | /* 0x1106, 0x3058 */ | 400 | /* 0x1106, 0x3058 */ | 
| 400 | { PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_5, PCI_ANY_ID, PCI_ANY_ID, 0, 0, TYPE_CARD_VIA686, }, /* 686A */ | 401 | { PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_5, PCI_ANY_ID, PCI_ANY_ID, 0, 0, TYPE_CARD_VIA686, }, /* 686A */ | 
| 401 | /* 0x1106, 0x3059 */ | 402 | /* 0x1106, 0x3059 */ | 
| @@ -862,6 +863,11 @@ static snd_pcm_uframes_t snd_via8233_pcm_pointer(struct snd_pcm_substream *subst | |||
| 862 | if (!status) | 863 | if (!status) | 
| 863 | status = inb(VIADEV_REG(viadev, OFFSET_STATUS)); | 864 | status = inb(VIADEV_REG(viadev, OFFSET_STATUS)); | 
| 864 | 865 | ||
| 866 | /* An apparent bug in the 8251 is worked around by sending a | ||
| 867 | * REG_CTRL_START. */ | ||
| 868 | if (chip->revision == VIA_REV_8251 && (status & VIA_REG_STAT_EOL)) | ||
| 869 | snd_via82xx_pcm_trigger(substream, SNDRV_PCM_TRIGGER_START); | ||
| 870 | |||
| 865 | if (!(status & VIA_REG_STAT_ACTIVE)) { | 871 | if (!(status & VIA_REG_STAT_ACTIVE)) { | 
| 866 | res = 0; | 872 | res = 0; | 
| 867 | goto unlock; | 873 | goto unlock; | 
| @@ -2313,6 +2319,7 @@ static struct via823x_info via823x_cards[] __devinitdata = { | |||
| 2313 | { VIA_REV_8233A, "VIA 8233A", TYPE_VIA8233A }, | 2319 | { VIA_REV_8233A, "VIA 8233A", TYPE_VIA8233A }, | 
| 2314 | { VIA_REV_8235, "VIA 8235", TYPE_VIA8233 }, | 2320 | { VIA_REV_8235, "VIA 8235", TYPE_VIA8233 }, | 
| 2315 | { VIA_REV_8237, "VIA 8237", TYPE_VIA8233 }, | 2321 | { VIA_REV_8237, "VIA 8237", TYPE_VIA8233 }, | 
| 2322 | { VIA_REV_8251, "VIA 8251", TYPE_VIA8233 }, | ||
| 2316 | }; | 2323 | }; | 
| 2317 | 2324 | ||
| 2318 | /* | 2325 | /* | 
| @@ -2325,7 +2332,7 @@ struct dxs_whitelist { | |||
| 2325 | short action; /* new dxs_support value */ | 2332 | short action; /* new dxs_support value */ | 
| 2326 | }; | 2333 | }; | 
| 2327 | 2334 | ||
| 2328 | static int __devinit check_dxs_list(struct pci_dev *pci) | 2335 | static int __devinit check_dxs_list(struct pci_dev *pci, int revision) | 
| 2329 | { | 2336 | { | 
| 2330 | static struct dxs_whitelist whitelist[] = { | 2337 | static struct dxs_whitelist whitelist[] = { | 
| 2331 | { .subvendor = 0x1005, .subdevice = 0x4710, .action = VIA_DXS_ENABLE }, /* Avance Logic Mobo */ | 2338 | { .subvendor = 0x1005, .subdevice = 0x4710, .action = VIA_DXS_ENABLE }, /* Avance Logic Mobo */ | 
| @@ -2342,6 +2349,7 @@ static int __devinit check_dxs_list(struct pci_dev *pci) | |||
| 2342 | { .subvendor = 0x1043, .subdevice = 0x810d, .action = VIA_DXS_SRC }, /* ASUS */ | 2349 | { .subvendor = 0x1043, .subdevice = 0x810d, .action = VIA_DXS_SRC }, /* ASUS */ | 
| 2343 | { .subvendor = 0x1043, .subdevice = 0x812a, .action = VIA_DXS_SRC }, /* ASUS A8V Deluxe */ | 2350 | { .subvendor = 0x1043, .subdevice = 0x812a, .action = VIA_DXS_SRC }, /* ASUS A8V Deluxe */ | 
| 2344 | { .subvendor = 0x1043, .subdevice = 0x8174, .action = VIA_DXS_SRC }, /* ASUS */ | 2351 | { .subvendor = 0x1043, .subdevice = 0x8174, .action = VIA_DXS_SRC }, /* ASUS */ | 
| 2352 | { .subvendor = 0x1043, .subdevice = 0x81b9, .action = VIA_DXS_SRC }, /* ASUS A8V-MX */ | ||
| 2345 | { .subvendor = 0x1071, .subdevice = 0x8375, .action = VIA_DXS_NO_VRA }, /* Vobis/Yakumo/Mitac notebook */ | 2353 | { .subvendor = 0x1071, .subdevice = 0x8375, .action = VIA_DXS_NO_VRA }, /* Vobis/Yakumo/Mitac notebook */ | 
| 2346 | { .subvendor = 0x1071, .subdevice = 0x8399, .action = VIA_DXS_NO_VRA }, /* Umax AB 595T (VIA K8N800A - VT8237) */ | 2354 | { .subvendor = 0x1071, .subdevice = 0x8399, .action = VIA_DXS_NO_VRA }, /* Umax AB 595T (VIA K8N800A - VT8237) */ | 
| 2347 | { .subvendor = 0x10cf, .subdevice = 0x118e, .action = VIA_DXS_ENABLE }, /* FSC laptop */ | 2355 | { .subvendor = 0x10cf, .subdevice = 0x118e, .action = VIA_DXS_ENABLE }, /* FSC laptop */ | 
| @@ -2405,6 +2413,10 @@ static int __devinit check_dxs_list(struct pci_dev *pci) | |||
| 2405 | } | 2413 | } | 
| 2406 | } | 2414 | } | 
| 2407 | 2415 | ||
| 2416 | /* for newer revision, default to DXS_SRC */ | ||
| 2417 | if (revision >= VIA_REV_8235) | ||
| 2418 | return VIA_DXS_SRC; | ||
| 2419 | |||
| 2408 | /* | 2420 | /* | 
| 2409 | * not detected, try 48k rate only to be sure. | 2421 | * not detected, try 48k rate only to be sure. | 
| 2410 | */ | 2422 | */ | 
| @@ -2449,7 +2461,7 @@ static int __devinit snd_via82xx_probe(struct pci_dev *pci, | |||
| 2449 | } | 2461 | } | 
| 2450 | if (chip_type != TYPE_VIA8233A) { | 2462 | if (chip_type != TYPE_VIA8233A) { | 
| 2451 | if (dxs_support == VIA_DXS_AUTO) | 2463 | if (dxs_support == VIA_DXS_AUTO) | 
| 2452 | dxs_support = check_dxs_list(pci); | 2464 | dxs_support = check_dxs_list(pci, revision); | 
| 2453 | /* force to use VIA8233 or 8233A model according to | 2465 | /* force to use VIA8233 or 8233A model according to | 
| 2454 | * dxs_support module option | 2466 | * dxs_support module option | 
| 2455 | */ | 2467 | */ | 
diff --git a/sound/pci/via82xx_modem.c b/sound/pci/via82xx_modem.c index 22ce4d309929..ef97e50cd6c2 100644 --- a/sound/pci/via82xx_modem.c +++ b/sound/pci/via82xx_modem.c  | |||
| @@ -261,7 +261,7 @@ struct via82xx_modem { | |||
| 261 | struct snd_info_entry *proc_entry; | 261 | struct snd_info_entry *proc_entry; | 
| 262 | }; | 262 | }; | 
| 263 | 263 | ||
| 264 | static struct pci_device_id snd_via82xx_modem_ids[] = { | 264 | static struct pci_device_id snd_via82xx_modem_ids[] __devinitdata = { | 
| 265 | { 0x1106, 0x3068, PCI_ANY_ID, PCI_ANY_ID, 0, 0, TYPE_CARD_VIA82XX_MODEM, }, | 265 | { 0x1106, 0x3068, PCI_ANY_ID, PCI_ANY_ID, 0, 0, TYPE_CARD_VIA82XX_MODEM, }, | 
| 266 | { 0, } | 266 | { 0, } | 
| 267 | }; | 267 | }; | 
diff --git a/sound/pci/vx222/vx222.c b/sound/pci/vx222/vx222.c index c816ddf1b215..0f1ebb010a5e 100644 --- a/sound/pci/vx222/vx222.c +++ b/sound/pci/vx222/vx222.c  | |||
| @@ -60,7 +60,7 @@ enum { | |||
| 60 | VX_PCI_VX222_NEW | 60 | VX_PCI_VX222_NEW | 
| 61 | }; | 61 | }; | 
| 62 | 62 | ||
| 63 | static struct pci_device_id snd_vx222_ids[] = { | 63 | static struct pci_device_id snd_vx222_ids[] __devinitdata = { | 
| 64 | { 0x10b5, 0x9050, 0x1369, PCI_ANY_ID, 0, 0, VX_PCI_VX222_OLD, }, /* PLX */ | 64 | { 0x10b5, 0x9050, 0x1369, PCI_ANY_ID, 0, 0, VX_PCI_VX222_OLD, }, /* PLX */ | 
| 65 | { 0x10b5, 0x9030, 0x1369, PCI_ANY_ID, 0, 0, VX_PCI_VX222_NEW, }, /* PLX */ | 65 | { 0x10b5, 0x9030, 0x1369, PCI_ANY_ID, 0, 0, VX_PCI_VX222_NEW, }, /* PLX */ | 
| 66 | { 0, } | 66 | { 0, } | 
diff --git a/sound/pci/ymfpci/ymfpci.c b/sound/pci/ymfpci/ymfpci.c index db57ce939fa8..65ebf5f1933a 100644 --- a/sound/pci/ymfpci/ymfpci.c +++ b/sound/pci/ymfpci/ymfpci.c  | |||
| @@ -70,7 +70,7 @@ MODULE_PARM_DESC(rear_switch, "Enable shared rear/line-in switch"); | |||
| 70 | module_param_array(rear_swap, bool, NULL, 0444); | 70 | module_param_array(rear_swap, bool, NULL, 0444); | 
| 71 | MODULE_PARM_DESC(rear_swap, "Swap rear channels (must be enabled for correct IEC958 (S/PDIF)) output"); | 71 | MODULE_PARM_DESC(rear_swap, "Swap rear channels (must be enabled for correct IEC958 (S/PDIF)) output"); | 
| 72 | 72 | ||
| 73 | static struct pci_device_id snd_ymfpci_ids[] = { | 73 | static struct pci_device_id snd_ymfpci_ids[] __devinitdata = { | 
| 74 | { 0x1073, 0x0004, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* YMF724 */ | 74 | { 0x1073, 0x0004, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* YMF724 */ | 
| 75 | { 0x1073, 0x000d, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* YMF724F */ | 75 | { 0x1073, 0x000d, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* YMF724F */ | 
| 76 | { 0x1073, 0x000a, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* YMF740 */ | 76 | { 0x1073, 0x000a, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* YMF740 */ | 
diff --git a/sound/pcmcia/Kconfig b/sound/pcmcia/Kconfig index 5d1b0b762efa..c9fa1a2bc58b 100644 --- a/sound/pcmcia/Kconfig +++ b/sound/pcmcia/Kconfig  | |||
| @@ -5,7 +5,7 @@ menu "PCMCIA devices" | |||
| 5 | 5 | ||
| 6 | config SND_VXPOCKET | 6 | config SND_VXPOCKET | 
| 7 | tristate "Digigram VXpocket" | 7 | tristate "Digigram VXpocket" | 
| 8 | depends on SND && PCMCIA && ISA | 8 | depends on SND && PCMCIA | 
| 9 | select SND_VX_LIB | 9 | select SND_VX_LIB | 
| 10 | help | 10 | help | 
| 11 | Say Y here to include support for Digigram VXpocket and | 11 | Say Y here to include support for Digigram VXpocket and | 
| @@ -16,7 +16,7 @@ config SND_VXPOCKET | |||
| 16 | 16 | ||
| 17 | config SND_PDAUDIOCF | 17 | config SND_PDAUDIOCF | 
| 18 | tristate "Sound Core PDAudioCF" | 18 | tristate "Sound Core PDAudioCF" | 
| 19 | depends on SND && PCMCIA && ISA | 19 | depends on SND && PCMCIA | 
| 20 | select SND_PCM | 20 | select SND_PCM | 
| 21 | help | 21 | help | 
| 22 | Say Y here to include support for Sound Core PDAudioCF | 22 | Say Y here to include support for Sound Core PDAudioCF | 
diff --git a/sound/ppc/toonie.c b/sound/ppc/toonie.c index 4e595172e423..1ac7c8552f50 100644 --- a/sound/ppc/toonie.c +++ b/sound/ppc/toonie.c  | |||
| @@ -335,7 +335,7 @@ static void toonie_cleanup(struct snd_pmac *chip) | |||
| 335 | chip->mixer_data = NULL; | 335 | chip->mixer_data = NULL; | 
| 336 | } | 336 | } | 
| 337 | 337 | ||
| 338 | int snd_pmac_toonie_init(struct snd_pmac *chip) | 338 | int __init snd_pmac_toonie_init(struct snd_pmac *chip) | 
| 339 | { | 339 | { | 
| 340 | struct pmac_toonie *mix; | 340 | struct pmac_toonie *mix; | 
| 341 | 341 | ||
diff --git a/sound/usb/usbquirks.h b/sound/usb/usbquirks.h index 0992a0923f1a..9351846d7a9d 100644 --- a/sound/usb/usbquirks.h +++ b/sound/usb/usbquirks.h  | |||
| @@ -1531,6 +1531,15 @@ YAMAHA_DEVICE(0x7010, "UB99"), | |||
| 1531 | } | 1531 | } | 
| 1532 | }, | 1532 | }, | 
| 1533 | { | 1533 | { | 
| 1534 | USB_DEVICE_VENDOR_SPEC(0x0ccd, 0x0014), | ||
| 1535 | .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) { | ||
| 1536 | .vendor_name = "TerraTec", | ||
| 1537 | .product_name = "PHASE 26", | ||
| 1538 | .ifnum = 3, | ||
| 1539 | .type = QUIRK_MIDI_STANDARD_INTERFACE | ||
| 1540 | } | ||
| 1541 | }, | ||
| 1542 | { | ||
| 1534 | USB_DEVICE(0x0ccd, 0x0035), | 1543 | USB_DEVICE(0x0ccd, 0x0035), | 
| 1535 | .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) { | 1544 | .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) { | 
| 1536 | .vendor_name = "Miditech", | 1545 | .vendor_name = "Miditech", | 
