diff options
473 files changed, 7947 insertions, 4445 deletions
diff --git a/Documentation/DocBook/mtdnand.tmpl b/Documentation/DocBook/mtdnand.tmpl index f508a8a27fea..5e7d84b48505 100644 --- a/Documentation/DocBook/mtdnand.tmpl +++ b/Documentation/DocBook/mtdnand.tmpl | |||
@@ -174,7 +174,7 @@ | |||
174 | </para> | 174 | </para> |
175 | <programlisting> | 175 | <programlisting> |
176 | static struct mtd_info *board_mtd; | 176 | static struct mtd_info *board_mtd; |
177 | static unsigned long baseaddr; | 177 | static void __iomem *baseaddr; |
178 | </programlisting> | 178 | </programlisting> |
179 | <para> | 179 | <para> |
180 | Static example | 180 | Static example |
@@ -182,7 +182,7 @@ static unsigned long baseaddr; | |||
182 | <programlisting> | 182 | <programlisting> |
183 | static struct mtd_info board_mtd; | 183 | static struct mtd_info board_mtd; |
184 | static struct nand_chip board_chip; | 184 | static struct nand_chip board_chip; |
185 | static unsigned long baseaddr; | 185 | static void __iomem *baseaddr; |
186 | </programlisting> | 186 | </programlisting> |
187 | </sect1> | 187 | </sect1> |
188 | <sect1 id="Partition_defines"> | 188 | <sect1 id="Partition_defines"> |
@@ -283,8 +283,8 @@ int __init board_init (void) | |||
283 | } | 283 | } |
284 | 284 | ||
285 | /* map physical address */ | 285 | /* map physical address */ |
286 | baseaddr = (unsigned long)ioremap(CHIP_PHYSICAL_ADDRESS, 1024); | 286 | baseaddr = ioremap(CHIP_PHYSICAL_ADDRESS, 1024); |
287 | if(!baseaddr){ | 287 | if (!baseaddr) { |
288 | printk("Ioremap to access NAND chip failed\n"); | 288 | printk("Ioremap to access NAND chip failed\n"); |
289 | err = -EIO; | 289 | err = -EIO; |
290 | goto out_mtd; | 290 | goto out_mtd; |
@@ -316,7 +316,7 @@ int __init board_init (void) | |||
316 | goto out; | 316 | goto out; |
317 | 317 | ||
318 | out_ior: | 318 | out_ior: |
319 | iounmap((void *)baseaddr); | 319 | iounmap(baseaddr); |
320 | out_mtd: | 320 | out_mtd: |
321 | kfree (board_mtd); | 321 | kfree (board_mtd); |
322 | out: | 322 | out: |
@@ -341,7 +341,7 @@ static void __exit board_cleanup (void) | |||
341 | nand_release (board_mtd); | 341 | nand_release (board_mtd); |
342 | 342 | ||
343 | /* unmap physical address */ | 343 | /* unmap physical address */ |
344 | iounmap((void *)baseaddr); | 344 | iounmap(baseaddr); |
345 | 345 | ||
346 | /* Free the MTD device structure */ | 346 | /* Free the MTD device structure */ |
347 | kfree (board_mtd); | 347 | kfree (board_mtd); |
diff --git a/Documentation/IO-mapping.txt b/Documentation/IO-mapping.txt index 78a440695e11..1b5aa10df845 100644 --- a/Documentation/IO-mapping.txt +++ b/Documentation/IO-mapping.txt | |||
@@ -157,7 +157,7 @@ For such memory, you can do things like | |||
157 | * access only the 640k-1MB area, so anything else | 157 | * access only the 640k-1MB area, so anything else |
158 | * has to be remapped. | 158 | * has to be remapped. |
159 | */ | 159 | */ |
160 | char * baseptr = ioremap(0xFC000000, 1024*1024); | 160 | void __iomem *baseptr = ioremap(0xFC000000, 1024*1024); |
161 | 161 | ||
162 | /* write a 'A' to the offset 10 of the area */ | 162 | /* write a 'A' to the offset 10 of the area */ |
163 | writeb('A',baseptr+10); | 163 | writeb('A',baseptr+10); |
diff --git a/Documentation/DMA-mapping.txt b/Documentation/PCI/PCI-DMA-mapping.txt index ecad88d9fe59..ecad88d9fe59 100644 --- a/Documentation/DMA-mapping.txt +++ b/Documentation/PCI/PCI-DMA-mapping.txt | |||
diff --git a/Documentation/block/00-INDEX b/Documentation/block/00-INDEX index 961a0513f8c3..a406286f6f3e 100644 --- a/Documentation/block/00-INDEX +++ b/Documentation/block/00-INDEX | |||
@@ -1,7 +1,5 @@ | |||
1 | 00-INDEX | 1 | 00-INDEX |
2 | - This file | 2 | - This file |
3 | as-iosched.txt | ||
4 | - Anticipatory IO scheduler | ||
5 | barrier.txt | 3 | barrier.txt |
6 | - I/O Barriers | 4 | - I/O Barriers |
7 | biodoc.txt | 5 | biodoc.txt |
diff --git a/Documentation/block/as-iosched.txt b/Documentation/block/as-iosched.txt deleted file mode 100644 index 738b72be128e..000000000000 --- a/Documentation/block/as-iosched.txt +++ /dev/null | |||
@@ -1,172 +0,0 @@ | |||
1 | Anticipatory IO scheduler | ||
2 | ------------------------- | ||
3 | Nick Piggin <piggin@cyberone.com.au> 13 Sep 2003 | ||
4 | |||
5 | Attention! Database servers, especially those using "TCQ" disks should | ||
6 | investigate performance with the 'deadline' IO scheduler. Any system with high | ||
7 | disk performance requirements should do so, in fact. | ||
8 | |||
9 | If you see unusual performance characteristics of your disk systems, or you | ||
10 | see big performance regressions versus the deadline scheduler, please email | ||
11 | me. Database users don't bother unless you're willing to test a lot of patches | ||
12 | from me ;) its a known issue. | ||
13 | |||
14 | Also, users with hardware RAID controllers, doing striping, may find | ||
15 | highly variable performance results with using the as-iosched. The | ||
16 | as-iosched anticipatory implementation is based on the notion that a disk | ||
17 | device has only one physical seeking head. A striped RAID controller | ||
18 | actually has a head for each physical device in the logical RAID device. | ||
19 | |||
20 | However, setting the antic_expire (see tunable parameters below) produces | ||
21 | very similar behavior to the deadline IO scheduler. | ||
22 | |||
23 | Selecting IO schedulers | ||
24 | ----------------------- | ||
25 | Refer to Documentation/block/switching-sched.txt for information on | ||
26 | selecting an io scheduler on a per-device basis. | ||
27 | |||
28 | Anticipatory IO scheduler Policies | ||
29 | ---------------------------------- | ||
30 | The as-iosched implementation implements several layers of policies | ||
31 | to determine when an IO request is dispatched to the disk controller. | ||
32 | Here are the policies outlined, in order of application. | ||
33 | |||
34 | 1. one-way Elevator algorithm. | ||
35 | |||
36 | The elevator algorithm is similar to that used in deadline scheduler, with | ||
37 | the addition that it allows limited backward movement of the elevator | ||
38 | (i.e. seeks backwards). A seek backwards can occur when choosing between | ||
39 | two IO requests where one is behind the elevator's current position, and | ||
40 | the other is in front of the elevator's position. If the seek distance to | ||
41 | the request in back of the elevator is less than half the seek distance to | ||
42 | the request in front of the elevator, then the request in back can be chosen. | ||
43 | Backward seeks are also limited to a maximum of MAXBACK (1024*1024) sectors. | ||
44 | This favors forward movement of the elevator, while allowing opportunistic | ||
45 | "short" backward seeks. | ||
46 | |||
47 | 2. FIFO expiration times for reads and for writes. | ||
48 | |||
49 | This is again very similar to the deadline IO scheduler. The expiration | ||
50 | times for requests on these lists is tunable using the parameters read_expire | ||
51 | and write_expire discussed below. When a read or a write expires in this way, | ||
52 | the IO scheduler will interrupt its current elevator sweep or read anticipation | ||
53 | to service the expired request. | ||
54 | |||
55 | 3. Read and write request batching | ||
56 | |||
57 | A batch is a collection of read requests or a collection of write | ||
58 | requests. The as scheduler alternates dispatching read and write batches | ||
59 | to the driver. In the case a read batch, the scheduler submits read | ||
60 | requests to the driver as long as there are read requests to submit, and | ||
61 | the read batch time limit has not been exceeded (read_batch_expire). | ||
62 | The read batch time limit begins counting down only when there are | ||
63 | competing write requests pending. | ||
64 | |||
65 | In the case of a write batch, the scheduler submits write requests to | ||
66 | the driver as long as there are write requests available, and the | ||
67 | write batch time limit has not been exceeded (write_batch_expire). | ||
68 | However, the length of write batches will be gradually shortened | ||
69 | when read batches frequently exceed their time limit. | ||
70 | |||
71 | When changing between batch types, the scheduler waits for all requests | ||
72 | from the previous batch to complete before scheduling requests for the | ||
73 | next batch. | ||
74 | |||
75 | The read and write fifo expiration times described in policy 2 above | ||
76 | are checked only when in scheduling IO of a batch for the corresponding | ||
77 | (read/write) type. So for example, the read FIFO timeout values are | ||
78 | tested only during read batches. Likewise, the write FIFO timeout | ||
79 | values are tested only during write batches. For this reason, | ||
80 | it is generally not recommended for the read batch time | ||
81 | to be longer than the write expiration time, nor for the write batch | ||
82 | time to exceed the read expiration time (see tunable parameters below). | ||
83 | |||
84 | When the IO scheduler changes from a read to a write batch, | ||
85 | it begins the elevator from the request that is on the head of the | ||
86 | write expiration FIFO. Likewise, when changing from a write batch to | ||
87 | a read batch, scheduler begins the elevator from the first entry | ||
88 | on the read expiration FIFO. | ||
89 | |||
90 | 4. Read anticipation. | ||
91 | |||
92 | Read anticipation occurs only when scheduling a read batch. | ||
93 | This implementation of read anticipation allows only one read request | ||
94 | to be dispatched to the disk controller at a time. In | ||
95 | contrast, many write requests may be dispatched to the disk controller | ||
96 | at a time during a write batch. It is this characteristic that can make | ||
97 | the anticipatory scheduler perform anomalously with controllers supporting | ||
98 | TCQ, or with hardware striped RAID devices. Setting the antic_expire | ||
99 | queue parameter (see below) to zero disables this behavior, and the | ||
100 | anticipatory scheduler behaves essentially like the deadline scheduler. | ||
101 | |||
102 | When read anticipation is enabled (antic_expire is not zero), reads | ||
103 | are dispatched to the disk controller one at a time. | ||
104 | At the end of each read request, the IO scheduler examines its next | ||
105 | candidate read request from its sorted read list. If that next request | ||
106 | is from the same process as the request that just completed, | ||
107 | or if the next request in the queue is "very close" to the | ||
108 | just completed request, it is dispatched immediately. Otherwise, | ||
109 | statistics (average think time, average seek distance) on the process | ||
110 | that submitted the just completed request are examined. If it seems | ||
111 | likely that that process will submit another request soon, and that | ||
112 | request is likely to be near the just completed request, then the IO | ||
113 | scheduler will stop dispatching more read requests for up to (antic_expire) | ||
114 | milliseconds, hoping that process will submit a new request near the one | ||
115 | that just completed. If such a request is made, then it is dispatched | ||
116 | immediately. If the antic_expire wait time expires, then the IO scheduler | ||
117 | will dispatch the next read request from the sorted read queue. | ||
118 | |||
119 | To decide whether an anticipatory wait is worthwhile, the scheduler | ||
120 | maintains statistics for each process that can be used to compute | ||
121 | mean "think time" (the time between read requests), and mean seek | ||
122 | distance for that process. One observation is that these statistics | ||
123 | are associated with each process, but those statistics are not associated | ||
124 | with a specific IO device. So for example, if a process is doing IO | ||
125 | on several file systems on separate devices, the statistics will be | ||
126 | a combination of IO behavior from all those devices. | ||
127 | |||
128 | |||
129 | Tuning the anticipatory IO scheduler | ||
130 | ------------------------------------ | ||
131 | When using 'as', the anticipatory IO scheduler there are 5 parameters under | ||
132 | /sys/block/*/queue/iosched/. All are units of milliseconds. | ||
133 | |||
134 | The parameters are: | ||
135 | * read_expire | ||
136 | Controls how long until a read request becomes "expired". It also controls the | ||
137 | interval between which expired requests are served, so set to 50, a request | ||
138 | might take anywhere < 100ms to be serviced _if_ it is the next on the | ||
139 | expired list. Obviously request expiration strategies won't make the disk | ||
140 | go faster. The result basically equates to the timeslice a single reader | ||
141 | gets in the presence of other IO. 100*((seek time / read_expire) + 1) is | ||
142 | very roughly the % streaming read efficiency your disk should get with | ||
143 | multiple readers. | ||
144 | |||
145 | * read_batch_expire | ||
146 | Controls how much time a batch of reads is given before pending writes are | ||
147 | served. A higher value is more efficient. This might be set below read_expire | ||
148 | if writes are to be given higher priority than reads, but reads are to be | ||
149 | as efficient as possible when there are no writes. Generally though, it | ||
150 | should be some multiple of read_expire. | ||
151 | |||
152 | * write_expire, and | ||
153 | * write_batch_expire are equivalent to the above, for writes. | ||
154 | |||
155 | * antic_expire | ||
156 | Controls the maximum amount of time we can anticipate a good read (one | ||
157 | with a short seek distance from the most recently completed request) before | ||
158 | giving up. Many other factors may cause anticipation to be stopped early, | ||
159 | or some processes will not be "anticipated" at all. Should be a bit higher | ||
160 | for big seek time devices though not a linear correspondence - most | ||
161 | processes have only a few ms thinktime. | ||
162 | |||
163 | In addition to the tunables above there is a read-only file named est_time | ||
164 | which, when read, will show: | ||
165 | |||
166 | - The probability of a task exiting without a cooperating task | ||
167 | submitting an anticipated IO. | ||
168 | |||
169 | - The current mean think time. | ||
170 | |||
171 | - The seek distance used to determine if an incoming IO is better. | ||
172 | |||
diff --git a/Documentation/block/biodoc.txt b/Documentation/block/biodoc.txt index 8d2158a1c6aa..6fab97ea7e6b 100644 --- a/Documentation/block/biodoc.txt +++ b/Documentation/block/biodoc.txt | |||
@@ -186,7 +186,7 @@ a virtual address mapping (unlike the earlier scheme of virtual address | |||
186 | do not have a corresponding kernel virtual address space mapping) and | 186 | do not have a corresponding kernel virtual address space mapping) and |
187 | low-memory pages. | 187 | low-memory pages. |
188 | 188 | ||
189 | Note: Please refer to Documentation/DMA-mapping.txt for a discussion | 189 | Note: Please refer to Documentation/PCI/PCI-DMA-mapping.txt for a discussion |
190 | on PCI high mem DMA aspects and mapping of scatter gather lists, and support | 190 | on PCI high mem DMA aspects and mapping of scatter gather lists, and support |
191 | for 64 bit PCI. | 191 | for 64 bit PCI. |
192 | 192 | ||
diff --git a/Documentation/filesystems/ext4.txt b/Documentation/filesystems/ext4.txt index af6885c3c821..e1def1786e50 100644 --- a/Documentation/filesystems/ext4.txt +++ b/Documentation/filesystems/ext4.txt | |||
@@ -196,7 +196,7 @@ nobarrier This also requires an IO stack which can support | |||
196 | also be used to enable or disable barriers, for | 196 | also be used to enable or disable barriers, for |
197 | consistency with other ext4 mount options. | 197 | consistency with other ext4 mount options. |
198 | 198 | ||
199 | inode_readahead=n This tuning parameter controls the maximum | 199 | inode_readahead_blks=n This tuning parameter controls the maximum |
200 | number of inode table blocks that ext4's inode | 200 | number of inode table blocks that ext4's inode |
201 | table readahead algorithm will pre-read into | 201 | table readahead algorithm will pre-read into |
202 | the buffer cache. The default value is 32 blocks. | 202 | the buffer cache. The default value is 32 blocks. |
diff --git a/Documentation/filesystems/nilfs2.txt b/Documentation/filesystems/nilfs2.txt index 4949fcaa6b6a..839efd8a8a8c 100644 --- a/Documentation/filesystems/nilfs2.txt +++ b/Documentation/filesystems/nilfs2.txt | |||
@@ -28,7 +28,7 @@ described in the man pages included in the package. | |||
28 | Project web page: http://www.nilfs.org/en/ | 28 | Project web page: http://www.nilfs.org/en/ |
29 | Download page: http://www.nilfs.org/en/download.html | 29 | Download page: http://www.nilfs.org/en/download.html |
30 | Git tree web page: http://www.nilfs.org/git/ | 30 | Git tree web page: http://www.nilfs.org/git/ |
31 | NILFS mailing lists: http://www.nilfs.org/mailman/listinfo/users | 31 | List info: http://vger.kernel.org/vger-lists.html#linux-nilfs |
32 | 32 | ||
33 | Caveats | 33 | Caveats |
34 | ======= | 34 | ======= |
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index 5ba4d9dff113..736d45602886 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt | |||
@@ -240,7 +240,7 @@ and is between 256 and 4096 characters. It is defined in the file | |||
240 | 240 | ||
241 | acpi_sleep= [HW,ACPI] Sleep options | 241 | acpi_sleep= [HW,ACPI] Sleep options |
242 | Format: { s3_bios, s3_mode, s3_beep, s4_nohwsig, | 242 | Format: { s3_bios, s3_mode, s3_beep, s4_nohwsig, |
243 | old_ordering, s4_nonvs } | 243 | old_ordering, s4_nonvs, sci_force_enable } |
244 | See Documentation/power/video.txt for information on | 244 | See Documentation/power/video.txt for information on |
245 | s3_bios and s3_mode. | 245 | s3_bios and s3_mode. |
246 | s3_beep is for debugging; it makes the PC's speaker beep | 246 | s3_beep is for debugging; it makes the PC's speaker beep |
@@ -253,6 +253,9 @@ and is between 256 and 4096 characters. It is defined in the file | |||
253 | of _PTS is used by default). | 253 | of _PTS is used by default). |
254 | s4_nonvs prevents the kernel from saving/restoring the | 254 | s4_nonvs prevents the kernel from saving/restoring the |
255 | ACPI NVS memory during hibernation. | 255 | ACPI NVS memory during hibernation. |
256 | sci_force_enable causes the kernel to set SCI_EN directly | ||
257 | on resume from S1/S3 (which is against the ACPI spec, | ||
258 | but some broken systems don't work without it). | ||
256 | 259 | ||
257 | acpi_use_timer_override [HW,ACPI] | 260 | acpi_use_timer_override [HW,ACPI] |
258 | Use timer override. For some broken Nvidia NF5 boards | 261 | Use timer override. For some broken Nvidia NF5 boards |
diff --git a/Documentation/kvm/api.txt b/Documentation/kvm/api.txt index e1a114161027..2811e452f756 100644 --- a/Documentation/kvm/api.txt +++ b/Documentation/kvm/api.txt | |||
@@ -685,7 +685,7 @@ struct kvm_vcpu_events { | |||
685 | __u8 pad; | 685 | __u8 pad; |
686 | } nmi; | 686 | } nmi; |
687 | __u32 sipi_vector; | 687 | __u32 sipi_vector; |
688 | __u32 flags; /* must be zero */ | 688 | __u32 flags; |
689 | }; | 689 | }; |
690 | 690 | ||
691 | 4.30 KVM_SET_VCPU_EVENTS | 691 | 4.30 KVM_SET_VCPU_EVENTS |
@@ -701,6 +701,14 @@ vcpu. | |||
701 | 701 | ||
702 | See KVM_GET_VCPU_EVENTS for the data structure. | 702 | See KVM_GET_VCPU_EVENTS for the data structure. |
703 | 703 | ||
704 | Fields that may be modified asynchronously by running VCPUs can be excluded | ||
705 | from the update. These fields are nmi.pending and sipi_vector. Keep the | ||
706 | corresponding bits in the flags field cleared to suppress overwriting the | ||
707 | current in-kernel state. The bits are: | ||
708 | |||
709 | KVM_VCPUEVENT_VALID_NMI_PENDING - transfer nmi.pending to the kernel | ||
710 | KVM_VCPUEVENT_VALID_SIPI_VECTOR - transfer sipi_vector | ||
711 | |||
704 | 712 | ||
705 | 5. The kvm_run structure | 713 | 5. The kvm_run structure |
706 | 714 | ||
diff --git a/Documentation/laptops/thinkpad-acpi.txt b/Documentation/laptops/thinkpad-acpi.txt index 169091f75e6d..75afa1229fd7 100644 --- a/Documentation/laptops/thinkpad-acpi.txt +++ b/Documentation/laptops/thinkpad-acpi.txt | |||
@@ -1092,8 +1092,8 @@ WARNING: | |||
1092 | its level up and down at every change. | 1092 | its level up and down at every change. |
1093 | 1093 | ||
1094 | 1094 | ||
1095 | Volume control | 1095 | Volume control (Console Audio control) |
1096 | -------------- | 1096 | -------------------------------------- |
1097 | 1097 | ||
1098 | procfs: /proc/acpi/ibm/volume | 1098 | procfs: /proc/acpi/ibm/volume |
1099 | ALSA: "ThinkPad Console Audio Control", default ID: "ThinkPadEC" | 1099 | ALSA: "ThinkPad Console Audio Control", default ID: "ThinkPadEC" |
@@ -1110,9 +1110,53 @@ the desktop environment to just provide on-screen-display feedback. | |||
1110 | Software volume control should be done only in the main AC97/HDA | 1110 | Software volume control should be done only in the main AC97/HDA |
1111 | mixer. | 1111 | mixer. |
1112 | 1112 | ||
1113 | This feature allows volume control on ThinkPad models with a digital | 1113 | |
1114 | volume knob (when available, not all models have it), as well as | 1114 | About the ThinkPad Console Audio control: |
1115 | mute/unmute control. The available commands are: | 1115 | |
1116 | ThinkPads have a built-in amplifier and muting circuit that drives the | ||
1117 | console headphone and speakers. This circuit is after the main AC97 | ||
1118 | or HDA mixer in the audio path, and under exclusive control of the | ||
1119 | firmware. | ||
1120 | |||
1121 | ThinkPads have three special hotkeys to interact with the console | ||
1122 | audio control: volume up, volume down and mute. | ||
1123 | |||
1124 | It is worth noting that the normal way the mute function works (on | ||
1125 | ThinkPads that do not have a "mute LED") is: | ||
1126 | |||
1127 | 1. Press mute to mute. It will *always* mute, you can press it as | ||
1128 | many times as you want, and the sound will remain mute. | ||
1129 | |||
1130 | 2. Press either volume key to unmute the ThinkPad (it will _not_ | ||
1131 | change the volume, it will just unmute). | ||
1132 | |||
1133 | This is a very superior design when compared to the cheap software-only | ||
1134 | mute-toggle solution found on normal consumer laptops: you can be | ||
1135 | absolutely sure the ThinkPad will not make noise if you press the mute | ||
1136 | button, no matter the previous state. | ||
1137 | |||
1138 | The IBM ThinkPads, and the earlier Lenovo ThinkPads have variable-gain | ||
1139 | amplifiers driving the speakers and headphone output, and the firmware | ||
1140 | also handles volume control for the headphone and speakers on these | ||
1141 | ThinkPads without any help from the operating system (this volume | ||
1142 | control stage exists after the main AC97 or HDA mixer in the audio | ||
1143 | path). | ||
1144 | |||
1145 | The newer Lenovo models only have firmware mute control, and depend on | ||
1146 | the main HDA mixer to do volume control (which is done by the operating | ||
1147 | system). In this case, the volume keys are filtered out for unmute | ||
1148 | key press (there are some firmware bugs in this area) and delivered as | ||
1149 | normal key presses to the operating system (thinkpad-acpi is not | ||
1150 | involved). | ||
1151 | |||
1152 | |||
1153 | The ThinkPad-ACPI volume control: | ||
1154 | |||
1155 | The preferred way to interact with the Console Audio control is the | ||
1156 | ALSA interface. | ||
1157 | |||
1158 | The legacy procfs interface allows one to read the current state, | ||
1159 | and if volume control is enabled, accepts the following commands: | ||
1116 | 1160 | ||
1117 | echo up >/proc/acpi/ibm/volume | 1161 | echo up >/proc/acpi/ibm/volume |
1118 | echo down >/proc/acpi/ibm/volume | 1162 | echo down >/proc/acpi/ibm/volume |
@@ -1121,12 +1165,10 @@ mute/unmute control. The available commands are: | |||
1121 | echo 'level <level>' >/proc/acpi/ibm/volume | 1165 | echo 'level <level>' >/proc/acpi/ibm/volume |
1122 | 1166 | ||
1123 | The <level> number range is 0 to 14 although not all of them may be | 1167 | The <level> number range is 0 to 14 although not all of them may be |
1124 | distinct. The unmute the volume after the mute command, use either the | 1168 | distinct. To unmute the volume after the mute command, use either the |
1125 | up or down command (the level command will not unmute the volume), or | 1169 | up or down command (the level command will not unmute the volume), or |
1126 | the unmute command. | 1170 | the unmute command. |
1127 | 1171 | ||
1128 | The current volume level and mute state is shown in the file. | ||
1129 | |||
1130 | You can use the volume_capabilities parameter to tell the driver | 1172 | You can use the volume_capabilities parameter to tell the driver |
1131 | whether your thinkpad has volume control or mute-only control: | 1173 | whether your thinkpad has volume control or mute-only control: |
1132 | volume_capabilities=1 for mixers with mute and volume control, | 1174 | volume_capabilities=1 for mixers with mute and volume control, |
diff --git a/Documentation/sound/alsa/Procfile.txt b/Documentation/sound/alsa/Procfile.txt index 719a819f8cc2..07301de12cc4 100644 --- a/Documentation/sound/alsa/Procfile.txt +++ b/Documentation/sound/alsa/Procfile.txt | |||
@@ -95,7 +95,7 @@ card*/pcm*/xrun_debug | |||
95 | It takes an integer value, can be changed by writing to this | 95 | It takes an integer value, can be changed by writing to this |
96 | file, such as | 96 | file, such as |
97 | 97 | ||
98 | # cat 5 > /proc/asound/card0/pcm0p/xrun_debug | 98 | # echo 5 > /proc/asound/card0/pcm0p/xrun_debug |
99 | 99 | ||
100 | The value consists of the following bit flags: | 100 | The value consists of the following bit flags: |
101 | bit 0 = Enable XRUN/jiffies debug messages | 101 | bit 0 = Enable XRUN/jiffies debug messages |
diff --git a/Documentation/trace/ftrace-design.txt b/Documentation/trace/ftrace-design.txt index 641a1ef2a7ff..239f14b2b55a 100644 --- a/Documentation/trace/ftrace-design.txt +++ b/Documentation/trace/ftrace-design.txt | |||
@@ -53,14 +53,14 @@ size of the mcount call that is embedded in the function). | |||
53 | For example, if the function foo() calls bar(), when the bar() function calls | 53 | For example, if the function foo() calls bar(), when the bar() function calls |
54 | mcount(), the arguments mcount() will pass to the tracer are: | 54 | mcount(), the arguments mcount() will pass to the tracer are: |
55 | "frompc" - the address bar() will use to return to foo() | 55 | "frompc" - the address bar() will use to return to foo() |
56 | "selfpc" - the address bar() (with _mcount() size adjustment) | 56 | "selfpc" - the address bar() (with mcount() size adjustment) |
57 | 57 | ||
58 | Also keep in mind that this mcount function will be called *a lot*, so | 58 | Also keep in mind that this mcount function will be called *a lot*, so |
59 | optimizing for the default case of no tracer will help the smooth running of | 59 | optimizing for the default case of no tracer will help the smooth running of |
60 | your system when tracing is disabled. So the start of the mcount function is | 60 | your system when tracing is disabled. So the start of the mcount function is |
61 | typically the bare min with checking things before returning. That also means | 61 | typically the bare minimum with checking things before returning. That also |
62 | the code flow should usually kept linear (i.e. no branching in the nop case). | 62 | means the code flow should usually be kept linear (i.e. no branching in the nop |
63 | This is of course an optimization and not a hard requirement. | 63 | case). This is of course an optimization and not a hard requirement. |
64 | 64 | ||
65 | Here is some pseudo code that should help (these functions should actually be | 65 | Here is some pseudo code that should help (these functions should actually be |
66 | implemented in assembly): | 66 | implemented in assembly): |
@@ -131,10 +131,10 @@ some functions to save (hijack) and restore the return address. | |||
131 | 131 | ||
132 | The mcount function should check the function pointers ftrace_graph_return | 132 | The mcount function should check the function pointers ftrace_graph_return |
133 | (compare to ftrace_stub) and ftrace_graph_entry (compare to | 133 | (compare to ftrace_stub) and ftrace_graph_entry (compare to |
134 | ftrace_graph_entry_stub). If either of those are not set to the relevant stub | 134 | ftrace_graph_entry_stub). If either of those is not set to the relevant stub |
135 | function, call the arch-specific function ftrace_graph_caller which in turn | 135 | function, call the arch-specific function ftrace_graph_caller which in turn |
136 | calls the arch-specific function prepare_ftrace_return. Neither of these | 136 | calls the arch-specific function prepare_ftrace_return. Neither of these |
137 | function names are strictly required, but you should use them anyways to stay | 137 | function names is strictly required, but you should use them anyway to stay |
138 | consistent across the architecture ports -- easier to compare & contrast | 138 | consistent across the architecture ports -- easier to compare & contrast |
139 | things. | 139 | things. |
140 | 140 | ||
@@ -144,7 +144,7 @@ but the first argument should be a pointer to the "frompc". Typically this is | |||
144 | located on the stack. This allows the function to hijack the return address | 144 | located on the stack. This allows the function to hijack the return address |
145 | temporarily to have it point to the arch-specific function return_to_handler. | 145 | temporarily to have it point to the arch-specific function return_to_handler. |
146 | That function will simply call the common ftrace_return_to_handler function and | 146 | That function will simply call the common ftrace_return_to_handler function and |
147 | that will return the original return address with which, you can return to the | 147 | that will return the original return address with which you can return to the |
148 | original call site. | 148 | original call site. |
149 | 149 | ||
150 | Here is the updated mcount pseudo code: | 150 | Here is the updated mcount pseudo code: |
diff --git a/Documentation/trace/mmiotrace.txt b/Documentation/trace/mmiotrace.txt index 162effbfbdec..664e7386d89e 100644 --- a/Documentation/trace/mmiotrace.txt +++ b/Documentation/trace/mmiotrace.txt | |||
@@ -44,7 +44,8 @@ Check for lost events. | |||
44 | Usage | 44 | Usage |
45 | ----- | 45 | ----- |
46 | 46 | ||
47 | Make sure debugfs is mounted to /sys/kernel/debug. If not, (requires root privileges) | 47 | Make sure debugfs is mounted to /sys/kernel/debug. |
48 | If not (requires root privileges): | ||
48 | $ mount -t debugfs debugfs /sys/kernel/debug | 49 | $ mount -t debugfs debugfs /sys/kernel/debug |
49 | 50 | ||
50 | Check that the driver you are about to trace is not loaded. | 51 | Check that the driver you are about to trace is not loaded. |
@@ -91,7 +92,7 @@ $ dmesg > dmesg.txt | |||
91 | $ tar zcf pciid-nick-mmiotrace.tar.gz mydump.txt lspci.txt dmesg.txt | 92 | $ tar zcf pciid-nick-mmiotrace.tar.gz mydump.txt lspci.txt dmesg.txt |
92 | and then send the .tar.gz file. The trace compresses considerably. Replace | 93 | and then send the .tar.gz file. The trace compresses considerably. Replace |
93 | "pciid" and "nick" with the PCI ID or model name of your piece of hardware | 94 | "pciid" and "nick" with the PCI ID or model name of your piece of hardware |
94 | under investigation and your nick name. | 95 | under investigation and your nickname. |
95 | 96 | ||
96 | 97 | ||
97 | How Mmiotrace Works | 98 | How Mmiotrace Works |
@@ -100,7 +101,7 @@ How Mmiotrace Works | |||
100 | Access to hardware IO-memory is gained by mapping addresses from PCI bus by | 101 | Access to hardware IO-memory is gained by mapping addresses from PCI bus by |
101 | calling one of the ioremap_*() functions. Mmiotrace is hooked into the | 102 | calling one of the ioremap_*() functions. Mmiotrace is hooked into the |
102 | __ioremap() function and gets called whenever a mapping is created. Mapping is | 103 | __ioremap() function and gets called whenever a mapping is created. Mapping is |
103 | an event that is recorded into the trace log. Note, that ISA range mappings | 104 | an event that is recorded into the trace log. Note that ISA range mappings |
104 | are not caught, since the mapping always exists and is returned directly. | 105 | are not caught, since the mapping always exists and is returned directly. |
105 | 106 | ||
106 | MMIO accesses are recorded via page faults. Just before __ioremap() returns, | 107 | MMIO accesses are recorded via page faults. Just before __ioremap() returns, |
@@ -122,11 +123,11 @@ Trace Log Format | |||
122 | ---------------- | 123 | ---------------- |
123 | 124 | ||
124 | The raw log is text and easily filtered with e.g. grep and awk. One record is | 125 | The raw log is text and easily filtered with e.g. grep and awk. One record is |
125 | one line in the log. A record starts with a keyword, followed by keyword | 126 | one line in the log. A record starts with a keyword, followed by keyword- |
126 | dependant arguments. Arguments are separated by a space, or continue until the | 127 | dependent arguments. Arguments are separated by a space, or continue until the |
127 | end of line. The format for version 20070824 is as follows: | 128 | end of line. The format for version 20070824 is as follows: |
128 | 129 | ||
129 | Explanation Keyword Space separated arguments | 130 | Explanation Keyword Space-separated arguments |
130 | --------------------------------------------------------------------------- | 131 | --------------------------------------------------------------------------- |
131 | 132 | ||
132 | read event R width, timestamp, map id, physical, value, PC, PID | 133 | read event R width, timestamp, map id, physical, value, PC, PID |
@@ -136,7 +137,7 @@ iounmap event UNMAP timestamp, map id, PC, PID | |||
136 | marker MARK timestamp, text | 137 | marker MARK timestamp, text |
137 | version VERSION the string "20070824" | 138 | version VERSION the string "20070824" |
138 | info for reader LSPCI one line from lspci -v | 139 | info for reader LSPCI one line from lspci -v |
139 | PCI address map PCIDEV space separated /proc/bus/pci/devices data | 140 | PCI address map PCIDEV space-separated /proc/bus/pci/devices data |
140 | unk. opcode UNKNOWN timestamp, map id, physical, data, PC, PID | 141 | unk. opcode UNKNOWN timestamp, map id, physical, data, PC, PID |
141 | 142 | ||
142 | Timestamp is in seconds with decimals. Physical is a PCI bus address, virtual | 143 | Timestamp is in seconds with decimals. Physical is a PCI bus address, virtual |
diff --git a/Documentation/trace/tracepoint-analysis.txt b/Documentation/trace/tracepoint-analysis.txt index 5eb4e487e667..87bee3c129ba 100644 --- a/Documentation/trace/tracepoint-analysis.txt +++ b/Documentation/trace/tracepoint-analysis.txt | |||
@@ -10,8 +10,8 @@ Tracepoints (see Documentation/trace/tracepoints.txt) can be used without | |||
10 | creating custom kernel modules to register probe functions using the event | 10 | creating custom kernel modules to register probe functions using the event |
11 | tracing infrastructure. | 11 | tracing infrastructure. |
12 | 12 | ||
13 | Simplistically, tracepoints will represent an important event that when can | 13 | Simplistically, tracepoints represent important events that can be |
14 | be taken in conjunction with other tracepoints to build a "Big Picture" of | 14 | taken in conjunction with other tracepoints to build a "Big Picture" of |
15 | what is going on within the system. There are a large number of methods for | 15 | what is going on within the system. There are a large number of methods for |
16 | gathering and interpreting these events. Lacking any current Best Practises, | 16 | gathering and interpreting these events. Lacking any current Best Practises, |
17 | this document describes some of the methods that can be used. | 17 | this document describes some of the methods that can be used. |
@@ -33,12 +33,12 @@ calling | |||
33 | 33 | ||
34 | will give a fair indication of the number of events available. | 34 | will give a fair indication of the number of events available. |
35 | 35 | ||
36 | 2.2 PCL | 36 | 2.2 PCL (Performance Counters for Linux) |
37 | ------- | 37 | ------- |
38 | 38 | ||
39 | Discovery and enumeration of all counters and events, including tracepoints | 39 | Discovery and enumeration of all counters and events, including tracepoints, |
40 | are available with the perf tool. Getting a list of available events is a | 40 | are available with the perf tool. Getting a list of available events is a |
41 | simple case of | 41 | simple case of: |
42 | 42 | ||
43 | $ perf list 2>&1 | grep Tracepoint | 43 | $ perf list 2>&1 | grep Tracepoint |
44 | ext4:ext4_free_inode [Tracepoint event] | 44 | ext4:ext4_free_inode [Tracepoint event] |
@@ -49,19 +49,19 @@ simple case of | |||
49 | [ .... remaining output snipped .... ] | 49 | [ .... remaining output snipped .... ] |
50 | 50 | ||
51 | 51 | ||
52 | 2. Enabling Events | 52 | 3. Enabling Events |
53 | ================== | 53 | ================== |
54 | 54 | ||
55 | 2.1 System-Wide Event Enabling | 55 | 3.1 System-Wide Event Enabling |
56 | ------------------------------ | 56 | ------------------------------ |
57 | 57 | ||
58 | See Documentation/trace/events.txt for a proper description on how events | 58 | See Documentation/trace/events.txt for a proper description on how events |
59 | can be enabled system-wide. A short example of enabling all events related | 59 | can be enabled system-wide. A short example of enabling all events related |
60 | to page allocation would look something like | 60 | to page allocation would look something like: |
61 | 61 | ||
62 | $ for i in `find /sys/kernel/debug/tracing/events -name "enable" | grep mm_`; do echo 1 > $i; done | 62 | $ for i in `find /sys/kernel/debug/tracing/events -name "enable" | grep mm_`; do echo 1 > $i; done |
63 | 63 | ||
64 | 2.2 System-Wide Event Enabling with SystemTap | 64 | 3.2 System-Wide Event Enabling with SystemTap |
65 | --------------------------------------------- | 65 | --------------------------------------------- |
66 | 66 | ||
67 | In SystemTap, tracepoints are accessible using the kernel.trace() function | 67 | In SystemTap, tracepoints are accessible using the kernel.trace() function |
@@ -86,7 +86,7 @@ were allocating the pages. | |||
86 | print_count() | 86 | print_count() |
87 | } | 87 | } |
88 | 88 | ||
89 | 2.3 System-Wide Event Enabling with PCL | 89 | 3.3 System-Wide Event Enabling with PCL |
90 | --------------------------------------- | 90 | --------------------------------------- |
91 | 91 | ||
92 | By specifying the -a switch and analysing sleep, the system-wide events | 92 | By specifying the -a switch and analysing sleep, the system-wide events |
@@ -107,16 +107,16 @@ for a duration of time can be examined. | |||
107 | Similarly, one could execute a shell and exit it as desired to get a report | 107 | Similarly, one could execute a shell and exit it as desired to get a report |
108 | at that point. | 108 | at that point. |
109 | 109 | ||
110 | 2.4 Local Event Enabling | 110 | 3.4 Local Event Enabling |
111 | ------------------------ | 111 | ------------------------ |
112 | 112 | ||
113 | Documentation/trace/ftrace.txt describes how to enable events on a per-thread | 113 | Documentation/trace/ftrace.txt describes how to enable events on a per-thread |
114 | basis using set_ftrace_pid. | 114 | basis using set_ftrace_pid. |
115 | 115 | ||
116 | 2.5 Local Event Enablement with PCL | 116 | 3.5 Local Event Enablement with PCL |
117 | ----------------------------------- | 117 | ----------------------------------- |
118 | 118 | ||
119 | Events can be activate and tracked for the duration of a process on a local | 119 | Events can be activated and tracked for the duration of a process on a local |
120 | basis using PCL such as follows. | 120 | basis using PCL such as follows. |
121 | 121 | ||
122 | $ perf stat -e kmem:mm_page_alloc -e kmem:mm_page_free_direct \ | 122 | $ perf stat -e kmem:mm_page_alloc -e kmem:mm_page_free_direct \ |
@@ -131,18 +131,18 @@ basis using PCL such as follows. | |||
131 | 131 | ||
132 | 0.973913387 seconds time elapsed | 132 | 0.973913387 seconds time elapsed |
133 | 133 | ||
134 | 3. Event Filtering | 134 | 4. Event Filtering |
135 | ================== | 135 | ================== |
136 | 136 | ||
137 | Documentation/trace/ftrace.txt covers in-depth how to filter events in | 137 | Documentation/trace/ftrace.txt covers in-depth how to filter events in |
138 | ftrace. Obviously using grep and awk of trace_pipe is an option as well | 138 | ftrace. Obviously using grep and awk of trace_pipe is an option as well |
139 | as any script reading trace_pipe. | 139 | as any script reading trace_pipe. |
140 | 140 | ||
141 | 4. Analysing Event Variances with PCL | 141 | 5. Analysing Event Variances with PCL |
142 | ===================================== | 142 | ===================================== |
143 | 143 | ||
144 | Any workload can exhibit variances between runs and it can be important | 144 | Any workload can exhibit variances between runs and it can be important |
145 | to know what the standard deviation in. By and large, this is left to the | 145 | to know what the standard deviation is. By and large, this is left to the |
146 | performance analyst to do it by hand. In the event that the discrete event | 146 | performance analyst to do it by hand. In the event that the discrete event |
147 | occurrences are useful to the performance analyst, then perf can be used. | 147 | occurrences are useful to the performance analyst, then perf can be used. |
148 | 148 | ||
@@ -166,7 +166,7 @@ In the event that some higher-level event is required that depends on some | |||
166 | aggregation of discrete events, then a script would need to be developed. | 166 | aggregation of discrete events, then a script would need to be developed. |
167 | 167 | ||
168 | Using --repeat, it is also possible to view how events are fluctuating over | 168 | Using --repeat, it is also possible to view how events are fluctuating over |
169 | time on a system wide basis using -a and sleep. | 169 | time on a system-wide basis using -a and sleep. |
170 | 170 | ||
171 | $ perf stat -e kmem:mm_page_alloc -e kmem:mm_page_free_direct \ | 171 | $ perf stat -e kmem:mm_page_alloc -e kmem:mm_page_free_direct \ |
172 | -e kmem:mm_pagevec_free \ | 172 | -e kmem:mm_pagevec_free \ |
@@ -180,7 +180,7 @@ time on a system wide basis using -a and sleep. | |||
180 | 180 | ||
181 | 1.002251757 seconds time elapsed ( +- 0.005% ) | 181 | 1.002251757 seconds time elapsed ( +- 0.005% ) |
182 | 182 | ||
183 | 5. Higher-Level Analysis with Helper Scripts | 183 | 6. Higher-Level Analysis with Helper Scripts |
184 | ============================================ | 184 | ============================================ |
185 | 185 | ||
186 | When events are enabled the events that are triggering can be read from | 186 | When events are enabled the events that are triggering can be read from |
@@ -190,11 +190,11 @@ be gathered on-line as appropriate. Examples of post-processing might include | |||
190 | 190 | ||
191 | o Reading information from /proc for the PID that triggered the event | 191 | o Reading information from /proc for the PID that triggered the event |
192 | o Deriving a higher-level event from a series of lower-level events. | 192 | o Deriving a higher-level event from a series of lower-level events. |
193 | o Calculate latencies between two events | 193 | o Calculating latencies between two events |
194 | 194 | ||
195 | Documentation/trace/postprocess/trace-pagealloc-postprocess.pl is an example | 195 | Documentation/trace/postprocess/trace-pagealloc-postprocess.pl is an example |
196 | script that can read trace_pipe from STDIN or a copy of a trace. When used | 196 | script that can read trace_pipe from STDIN or a copy of a trace. When used |
197 | on-line, it can be interrupted once to generate a report without existing | 197 | on-line, it can be interrupted once to generate a report without exiting |
198 | and twice to exit. | 198 | and twice to exit. |
199 | 199 | ||
200 | Simplistically, the script just reads STDIN and counts up events but it | 200 | Simplistically, the script just reads STDIN and counts up events but it |
@@ -212,12 +212,12 @@ also can do more such as | |||
212 | processes, the parent process responsible for creating all the helpers | 212 | processes, the parent process responsible for creating all the helpers |
213 | can be identified | 213 | can be identified |
214 | 214 | ||
215 | 6. Lower-Level Analysis with PCL | 215 | 7. Lower-Level Analysis with PCL |
216 | ================================ | 216 | ================================ |
217 | 217 | ||
218 | There may also be a requirement to identify what functions with a program | 218 | There may also be a requirement to identify what functions within a program |
219 | were generating events within the kernel. To begin this sort of analysis, the | 219 | were generating events within the kernel. To begin this sort of analysis, the |
220 | data must be recorded. At the time of writing, this required root | 220 | data must be recorded. At the time of writing, this required root: |
221 | 221 | ||
222 | $ perf record -c 1 \ | 222 | $ perf record -c 1 \ |
223 | -e kmem:mm_page_alloc -e kmem:mm_page_free_direct \ | 223 | -e kmem:mm_page_alloc -e kmem:mm_page_free_direct \ |
@@ -253,11 +253,11 @@ perf report. | |||
253 | # (For more details, try: perf report --sort comm,dso,symbol) | 253 | # (For more details, try: perf report --sort comm,dso,symbol) |
254 | # | 254 | # |
255 | 255 | ||
256 | According to this, the vast majority of events occured triggered on events | 256 | According to this, the vast majority of events triggered on events |
257 | within the VDSO. With simple binaries, this will often be the case so lets | 257 | within the VDSO. With simple binaries, this will often be the case so let's |
258 | take a slightly different example. In the course of writing this, it was | 258 | take a slightly different example. In the course of writing this, it was |
259 | noticed that X was generating an insane amount of page allocations so lets look | 259 | noticed that X was generating an insane amount of page allocations so let's look |
260 | at it | 260 | at it: |
261 | 261 | ||
262 | $ perf record -c 1 -f \ | 262 | $ perf record -c 1 -f \ |
263 | -e kmem:mm_page_alloc -e kmem:mm_page_free_direct \ | 263 | -e kmem:mm_page_alloc -e kmem:mm_page_free_direct \ |
@@ -280,8 +280,8 @@ This was interrupted after a few seconds and | |||
280 | # (For more details, try: perf report --sort comm,dso,symbol) | 280 | # (For more details, try: perf report --sort comm,dso,symbol) |
281 | # | 281 | # |
282 | 282 | ||
283 | So, almost half of the events are occuring in a library. To get an idea which | 283 | So, almost half of the events are occurring in a library. To get an idea which |
284 | symbol. | 284 | symbol: |
285 | 285 | ||
286 | $ perf report --sort comm,dso,symbol | 286 | $ perf report --sort comm,dso,symbol |
287 | # Samples: 27666 | 287 | # Samples: 27666 |
@@ -297,7 +297,7 @@ symbol. | |||
297 | 0.01% Xorg /opt/gfx-test/lib/libpixman-1.so.0.13.1 [.] get_fast_path | 297 | 0.01% Xorg /opt/gfx-test/lib/libpixman-1.so.0.13.1 [.] get_fast_path |
298 | 0.00% Xorg [kernel] [k] ftrace_trace_userstack | 298 | 0.00% Xorg [kernel] [k] ftrace_trace_userstack |
299 | 299 | ||
300 | To see where within the function pixmanFillsse2 things are going wrong | 300 | To see where within the function pixmanFillsse2 things are going wrong: |
301 | 301 | ||
302 | $ perf annotate pixmanFillsse2 | 302 | $ perf annotate pixmanFillsse2 |
303 | [ ... ] | 303 | [ ... ] |
diff --git a/Documentation/vgaarbiter.txt b/Documentation/vgaarbiter.txt index 987f9b0a5ece..43a9b0694fdd 100644 --- a/Documentation/vgaarbiter.txt +++ b/Documentation/vgaarbiter.txt | |||
@@ -103,7 +103,7 @@ I.2 libpciaccess | |||
103 | ---------------- | 103 | ---------------- |
104 | 104 | ||
105 | To use the vga arbiter char device it was implemented an API inside the | 105 | To use the vga arbiter char device it was implemented an API inside the |
106 | libpciaccess library. One fieldd was added to struct pci_device (each device | 106 | libpciaccess library. One field was added to struct pci_device (each device |
107 | on the system): | 107 | on the system): |
108 | 108 | ||
109 | /* the type of resource decoded by the device */ | 109 | /* the type of resource decoded by the device */ |
diff --git a/MAINTAINERS b/MAINTAINERS index 66f5f7dab285..6914588eef89 100644 --- a/MAINTAINERS +++ b/MAINTAINERS | |||
@@ -2169,10 +2169,9 @@ F: drivers/hwmon/f75375s.c | |||
2169 | F: include/linux/f75375s.h | 2169 | F: include/linux/f75375s.h |
2170 | 2170 | ||
2171 | FIREWIRE SUBSYSTEM | 2171 | FIREWIRE SUBSYSTEM |
2172 | M: Kristian Hoegsberg <krh@redhat.com> | ||
2173 | M: Stefan Richter <stefanr@s5r6.in-berlin.de> | 2172 | M: Stefan Richter <stefanr@s5r6.in-berlin.de> |
2174 | L: linux1394-devel@lists.sourceforge.net | 2173 | L: linux1394-devel@lists.sourceforge.net |
2175 | W: http://www.linux1394.org/ | 2174 | W: http://ieee1394.wiki.kernel.org/ |
2176 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6.git | 2175 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6.git |
2177 | S: Maintained | 2176 | S: Maintained |
2178 | F: drivers/firewire/ | 2177 | F: drivers/firewire/ |
@@ -2705,22 +2704,14 @@ S: Supported | |||
2705 | F: drivers/idle/i7300_idle.c | 2704 | F: drivers/idle/i7300_idle.c |
2706 | 2705 | ||
2707 | IEEE 1394 SUBSYSTEM | 2706 | IEEE 1394 SUBSYSTEM |
2708 | M: Ben Collins <ben.collins@ubuntu.com> | ||
2709 | M: Stefan Richter <stefanr@s5r6.in-berlin.de> | 2707 | M: Stefan Richter <stefanr@s5r6.in-berlin.de> |
2710 | L: linux1394-devel@lists.sourceforge.net | 2708 | L: linux1394-devel@lists.sourceforge.net |
2711 | W: http://www.linux1394.org/ | 2709 | W: http://ieee1394.wiki.kernel.org/ |
2712 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6.git | 2710 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6.git |
2713 | S: Maintained | 2711 | S: Obsolete |
2714 | F: Documentation/debugging-via-ohci1394.txt | 2712 | F: Documentation/debugging-via-ohci1394.txt |
2715 | F: drivers/ieee1394/ | 2713 | F: drivers/ieee1394/ |
2716 | 2714 | ||
2717 | IEEE 1394 RAW I/O DRIVER | ||
2718 | M: Dan Dennedy <dan@dennedy.org> | ||
2719 | M: Stefan Richter <stefanr@s5r6.in-berlin.de> | ||
2720 | L: linux1394-devel@lists.sourceforge.net | ||
2721 | S: Maintained | ||
2722 | F: drivers/ieee1394/raw1394* | ||
2723 | |||
2724 | IEEE 802.15.4 SUBSYSTEM | 2715 | IEEE 802.15.4 SUBSYSTEM |
2725 | M: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> | 2716 | M: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> |
2726 | M: Sergey Lapin <slapin@ossfans.org> | 2717 | M: Sergey Lapin <slapin@ossfans.org> |
@@ -3882,7 +3873,7 @@ F: drivers/net/ni5010.* | |||
3882 | 3873 | ||
3883 | NILFS2 FILESYSTEM | 3874 | NILFS2 FILESYSTEM |
3884 | M: KONISHI Ryusuke <konishi.ryusuke@lab.ntt.co.jp> | 3875 | M: KONISHI Ryusuke <konishi.ryusuke@lab.ntt.co.jp> |
3885 | L: users@nilfs.org | 3876 | L: linux-nilfs@vger.kernel.org |
3886 | W: http://www.nilfs.org/en/ | 3877 | W: http://www.nilfs.org/en/ |
3887 | S: Supported | 3878 | S: Supported |
3888 | F: Documentation/filesystems/nilfs2.txt | 3879 | F: Documentation/filesystems/nilfs2.txt |
@@ -1,7 +1,7 @@ | |||
1 | VERSION = 2 | 1 | VERSION = 2 |
2 | PATCHLEVEL = 6 | 2 | PATCHLEVEL = 6 |
3 | SUBLEVEL = 33 | 3 | SUBLEVEL = 33 |
4 | EXTRAVERSION = -rc2 | 4 | EXTRAVERSION = -rc3 |
5 | NAME = Man-Eating Seals of Antiquity | 5 | NAME = Man-Eating Seals of Antiquity |
6 | 6 | ||
7 | # *DOCUMENTATION* | 7 | # *DOCUMENTATION* |
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 233a222752c0..4f8760d7b7a7 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig | |||
@@ -688,6 +688,7 @@ config ARCH_DAVINCI | |||
688 | select HAVE_IDE | 688 | select HAVE_IDE |
689 | select COMMON_CLKDEV | 689 | select COMMON_CLKDEV |
690 | select GENERIC_ALLOCATOR | 690 | select GENERIC_ALLOCATOR |
691 | select ARCH_HAS_HOLES_MEMORYMODEL | ||
691 | help | 692 | help |
692 | Support for TI's DaVinci platform. | 693 | Support for TI's DaVinci platform. |
693 | 694 | ||
diff --git a/arch/arm/mach-davinci/board-dm355-evm.c b/arch/arm/mach-davinci/board-dm355-evm.c index a9b650dcc172..077ecf4fecda 100644 --- a/arch/arm/mach-davinci/board-dm355-evm.c +++ b/arch/arm/mach-davinci/board-dm355-evm.c | |||
@@ -236,6 +236,7 @@ static struct vpfe_subdev_info vpfe_sub_devs[] = { | |||
236 | 236 | ||
237 | static struct vpfe_config vpfe_cfg = { | 237 | static struct vpfe_config vpfe_cfg = { |
238 | .num_subdevs = ARRAY_SIZE(vpfe_sub_devs), | 238 | .num_subdevs = ARRAY_SIZE(vpfe_sub_devs), |
239 | .i2c_adapter_id = 1, | ||
239 | .sub_devs = vpfe_sub_devs, | 240 | .sub_devs = vpfe_sub_devs, |
240 | .card_name = "DM355 EVM", | 241 | .card_name = "DM355 EVM", |
241 | .ccdc = "DM355 CCDC", | 242 | .ccdc = "DM355 CCDC", |
diff --git a/arch/arm/mach-davinci/board-dm365-evm.c b/arch/arm/mach-davinci/board-dm365-evm.c index 289fe1b7d25a..b476395d2cd4 100644 --- a/arch/arm/mach-davinci/board-dm365-evm.c +++ b/arch/arm/mach-davinci/board-dm365-evm.c | |||
@@ -192,7 +192,11 @@ static struct davinci_i2c_platform_data i2c_pdata = { | |||
192 | .bus_delay = 0 /* usec */, | 192 | .bus_delay = 0 /* usec */, |
193 | }; | 193 | }; |
194 | 194 | ||
195 | #ifdef CONFIG_KEYBOARD_DAVINCI | 195 | static int dm365evm_keyscan_enable(struct device *dev) |
196 | { | ||
197 | return davinci_cfg_reg(DM365_KEYSCAN); | ||
198 | } | ||
199 | |||
196 | static unsigned short dm365evm_keymap[] = { | 200 | static unsigned short dm365evm_keymap[] = { |
197 | KEY_KP2, | 201 | KEY_KP2, |
198 | KEY_LEFT, | 202 | KEY_LEFT, |
@@ -214,6 +218,7 @@ static unsigned short dm365evm_keymap[] = { | |||
214 | }; | 218 | }; |
215 | 219 | ||
216 | static struct davinci_ks_platform_data dm365evm_ks_data = { | 220 | static struct davinci_ks_platform_data dm365evm_ks_data = { |
221 | .device_enable = dm365evm_keyscan_enable, | ||
217 | .keymap = dm365evm_keymap, | 222 | .keymap = dm365evm_keymap, |
218 | .keymapsize = ARRAY_SIZE(dm365evm_keymap), | 223 | .keymapsize = ARRAY_SIZE(dm365evm_keymap), |
219 | .rep = 1, | 224 | .rep = 1, |
@@ -222,7 +227,6 @@ static struct davinci_ks_platform_data dm365evm_ks_data = { | |||
222 | .interval = 0x2, | 227 | .interval = 0x2, |
223 | .matrix_type = DAVINCI_KEYSCAN_MATRIX_4X4, | 228 | .matrix_type = DAVINCI_KEYSCAN_MATRIX_4X4, |
224 | }; | 229 | }; |
225 | #endif | ||
226 | 230 | ||
227 | static int cpld_mmc_get_cd(int module) | 231 | static int cpld_mmc_get_cd(int module) |
228 | { | 232 | { |
@@ -511,10 +515,7 @@ static __init void dm365_evm_init(void) | |||
511 | 515 | ||
512 | dm365_init_asp(&dm365_evm_snd_data); | 516 | dm365_init_asp(&dm365_evm_snd_data); |
513 | dm365_init_rtc(); | 517 | dm365_init_rtc(); |
514 | |||
515 | #ifdef CONFIG_KEYBOARD_DAVINCI | ||
516 | dm365_init_ks(&dm365evm_ks_data); | 518 | dm365_init_ks(&dm365evm_ks_data); |
517 | #endif | ||
518 | } | 519 | } |
519 | 520 | ||
520 | static __init void dm365_evm_irq_init(void) | 521 | static __init void dm365_evm_irq_init(void) |
diff --git a/arch/arm/mach-davinci/board-dm644x-evm.c b/arch/arm/mach-davinci/board-dm644x-evm.c index fd0398bc6db3..e9612cf727b7 100644 --- a/arch/arm/mach-davinci/board-dm644x-evm.c +++ b/arch/arm/mach-davinci/board-dm644x-evm.c | |||
@@ -247,6 +247,7 @@ static struct vpfe_subdev_info vpfe_sub_devs[] = { | |||
247 | 247 | ||
248 | static struct vpfe_config vpfe_cfg = { | 248 | static struct vpfe_config vpfe_cfg = { |
249 | .num_subdevs = ARRAY_SIZE(vpfe_sub_devs), | 249 | .num_subdevs = ARRAY_SIZE(vpfe_sub_devs), |
250 | .i2c_adapter_id = 1, | ||
250 | .sub_devs = vpfe_sub_devs, | 251 | .sub_devs = vpfe_sub_devs, |
251 | .card_name = "DM6446 EVM", | 252 | .card_name = "DM6446 EVM", |
252 | .ccdc = "DM6446 CCDC", | 253 | .ccdc = "DM6446 CCDC", |
diff --git a/arch/arm/mach-davinci/cp_intc.c b/arch/arm/mach-davinci/cp_intc.c index 52b287cf3a42..37311d1830eb 100644 --- a/arch/arm/mach-davinci/cp_intc.c +++ b/arch/arm/mach-davinci/cp_intc.c | |||
@@ -81,12 +81,23 @@ static int cp_intc_set_irq_type(unsigned int irq, unsigned int flow_type) | |||
81 | return 0; | 81 | return 0; |
82 | } | 82 | } |
83 | 83 | ||
84 | /* | ||
85 | * Faking this allows us to to work with suspend functions of | ||
86 | * generic drivers which call {enable|disable}_irq_wake for | ||
87 | * wake up interrupt sources (eg RTC on DA850). | ||
88 | */ | ||
89 | static int cp_intc_set_wake(unsigned int irq, unsigned int on) | ||
90 | { | ||
91 | return 0; | ||
92 | } | ||
93 | |||
84 | static struct irq_chip cp_intc_irq_chip = { | 94 | static struct irq_chip cp_intc_irq_chip = { |
85 | .name = "cp_intc", | 95 | .name = "cp_intc", |
86 | .ack = cp_intc_ack_irq, | 96 | .ack = cp_intc_ack_irq, |
87 | .mask = cp_intc_mask_irq, | 97 | .mask = cp_intc_mask_irq, |
88 | .unmask = cp_intc_unmask_irq, | 98 | .unmask = cp_intc_unmask_irq, |
89 | .set_type = cp_intc_set_irq_type, | 99 | .set_type = cp_intc_set_irq_type, |
100 | .set_wake = cp_intc_set_wake, | ||
90 | }; | 101 | }; |
91 | 102 | ||
92 | void __init cp_intc_init(void __iomem *base, unsigned short num_irq, | 103 | void __init cp_intc_init(void __iomem *base, unsigned short num_irq, |
diff --git a/arch/arm/mach-davinci/devices-da8xx.c b/arch/arm/mach-davinci/devices-da8xx.c index dd2d32c4ce86..a5105f03fd86 100644 --- a/arch/arm/mach-davinci/devices-da8xx.c +++ b/arch/arm/mach-davinci/devices-da8xx.c | |||
@@ -481,11 +481,18 @@ static struct platform_device da8xx_rtc_device = { | |||
481 | 481 | ||
482 | int da8xx_register_rtc(void) | 482 | int da8xx_register_rtc(void) |
483 | { | 483 | { |
484 | int ret; | ||
485 | |||
484 | /* Unlock the rtc's registers */ | 486 | /* Unlock the rtc's registers */ |
485 | __raw_writel(0x83e70b13, IO_ADDRESS(DA8XX_RTC_BASE + 0x6c)); | 487 | __raw_writel(0x83e70b13, IO_ADDRESS(DA8XX_RTC_BASE + 0x6c)); |
486 | __raw_writel(0x95a4f1e0, IO_ADDRESS(DA8XX_RTC_BASE + 0x70)); | 488 | __raw_writel(0x95a4f1e0, IO_ADDRESS(DA8XX_RTC_BASE + 0x70)); |
487 | 489 | ||
488 | return platform_device_register(&da8xx_rtc_device); | 490 | ret = platform_device_register(&da8xx_rtc_device); |
491 | if (!ret) | ||
492 | /* Atleast on DA850, RTC is a wakeup source */ | ||
493 | device_init_wakeup(&da8xx_rtc_device.dev, true); | ||
494 | |||
495 | return ret; | ||
489 | } | 496 | } |
490 | 497 | ||
491 | static struct resource da8xx_cpuidle_resources[] = { | 498 | static struct resource da8xx_cpuidle_resources[] = { |
diff --git a/arch/arm/mach-davinci/dm365.c b/arch/arm/mach-davinci/dm365.c index 2ec619ec1657..f53735cb922e 100644 --- a/arch/arm/mach-davinci/dm365.c +++ b/arch/arm/mach-davinci/dm365.c | |||
@@ -993,7 +993,6 @@ void __init dm365_init_asp(struct snd_platform_data *pdata) | |||
993 | 993 | ||
994 | void __init dm365_init_ks(struct davinci_ks_platform_data *pdata) | 994 | void __init dm365_init_ks(struct davinci_ks_platform_data *pdata) |
995 | { | 995 | { |
996 | davinci_cfg_reg(DM365_KEYSCAN); | ||
997 | dm365_ks_device.dev.platform_data = pdata; | 996 | dm365_ks_device.dev.platform_data = pdata; |
998 | platform_device_register(&dm365_ks_device); | 997 | platform_device_register(&dm365_ks_device); |
999 | } | 998 | } |
diff --git a/arch/arm/mach-mmp/ttc_dkb.c b/arch/arm/mach-mmp/ttc_dkb.c index 8f49b2b12608..b22dec4abf78 100644 --- a/arch/arm/mach-mmp/ttc_dkb.c +++ b/arch/arm/mach-mmp/ttc_dkb.c | |||
@@ -24,8 +24,6 @@ | |||
24 | 24 | ||
25 | #include "common.h" | 25 | #include "common.h" |
26 | 26 | ||
27 | #define ARRAY_AND_SIZE(x) (x), ARRAY_SIZE(x) | ||
28 | |||
29 | static unsigned long ttc_dkb_pin_config[] __initdata = { | 27 | static unsigned long ttc_dkb_pin_config[] __initdata = { |
30 | /* UART2 */ | 28 | /* UART2 */ |
31 | GPIO47_UART2_RXD, | 29 | GPIO47_UART2_RXD, |
diff --git a/arch/arm/mach-mx2/mxt_td60.c b/arch/arm/mach-mx2/mxt_td60.c index 03dbbdc98955..8bcc1a5b8829 100644 --- a/arch/arm/mach-mx2/mxt_td60.c +++ b/arch/arm/mach-mx2/mxt_td60.c | |||
@@ -58,21 +58,6 @@ static unsigned int mxt_td60_pins[] __initdata = { | |||
58 | PE9_PF_UART3_RXD, | 58 | PE9_PF_UART3_RXD, |
59 | PE10_PF_UART3_CTS, | 59 | PE10_PF_UART3_CTS, |
60 | PE11_PF_UART3_RTS, | 60 | PE11_PF_UART3_RTS, |
61 | /* UART3 */ | ||
62 | PB26_AF_UART4_RTS, | ||
63 | PB28_AF_UART4_TXD, | ||
64 | PB29_AF_UART4_CTS, | ||
65 | PB31_AF_UART4_RXD, | ||
66 | /* UART4 */ | ||
67 | PB18_AF_UART5_TXD, | ||
68 | PB19_AF_UART5_RXD, | ||
69 | PB20_AF_UART5_CTS, | ||
70 | PB21_AF_UART5_RTS, | ||
71 | /* UART5 */ | ||
72 | PB10_AF_UART6_TXD, | ||
73 | PB12_AF_UART6_CTS, | ||
74 | PB11_AF_UART6_RXD, | ||
75 | PB13_AF_UART6_RTS, | ||
76 | /* FEC */ | 61 | /* FEC */ |
77 | PD0_AIN_FEC_TXD0, | 62 | PD0_AIN_FEC_TXD0, |
78 | PD1_AIN_FEC_TXD1, | 63 | PD1_AIN_FEC_TXD1, |
@@ -261,12 +246,6 @@ static struct imxuart_platform_data uart_pdata[] = { | |||
261 | .flags = IMXUART_HAVE_RTSCTS, | 246 | .flags = IMXUART_HAVE_RTSCTS, |
262 | }, { | 247 | }, { |
263 | .flags = IMXUART_HAVE_RTSCTS, | 248 | .flags = IMXUART_HAVE_RTSCTS, |
264 | }, { | ||
265 | .flags = IMXUART_HAVE_RTSCTS, | ||
266 | }, { | ||
267 | .flags = IMXUART_HAVE_RTSCTS, | ||
268 | }, { | ||
269 | .flags = IMXUART_HAVE_RTSCTS, | ||
270 | }, | 249 | }, |
271 | }; | 250 | }; |
272 | 251 | ||
@@ -278,9 +257,6 @@ static void __init mxt_td60_board_init(void) | |||
278 | mxc_register_device(&mxc_uart_device0, &uart_pdata[0]); | 257 | mxc_register_device(&mxc_uart_device0, &uart_pdata[0]); |
279 | mxc_register_device(&mxc_uart_device1, &uart_pdata[1]); | 258 | mxc_register_device(&mxc_uart_device1, &uart_pdata[1]); |
280 | mxc_register_device(&mxc_uart_device2, &uart_pdata[2]); | 259 | mxc_register_device(&mxc_uart_device2, &uart_pdata[2]); |
281 | mxc_register_device(&mxc_uart_device3, &uart_pdata[3]); | ||
282 | mxc_register_device(&mxc_uart_device4, &uart_pdata[4]); | ||
283 | mxc_register_device(&mxc_uart_device5, &uart_pdata[5]); | ||
284 | mxc_register_device(&mxc_nand_device, &mxt_td60_nand_board_info); | 260 | mxc_register_device(&mxc_nand_device, &mxt_td60_nand_board_info); |
285 | 261 | ||
286 | i2c_register_board_info(0, mxt_td60_i2c_devices, | 262 | i2c_register_board_info(0, mxt_td60_i2c_devices, |
diff --git a/arch/arm/mach-mx25/clock.c b/arch/arm/mach-mx25/clock.c index ef26951a5275..6e838b857712 100644 --- a/arch/arm/mach-mx25/clock.c +++ b/arch/arm/mach-mx25/clock.c | |||
@@ -173,6 +173,7 @@ DEFINE_CLOCK(pwm4_clk, 0, CCM_CGCR2, 2, get_rate_ipg, NULL); | |||
173 | DEFINE_CLOCK(kpp_clk, 0, CCM_CGCR1, 28, get_rate_ipg, NULL); | 173 | DEFINE_CLOCK(kpp_clk, 0, CCM_CGCR1, 28, get_rate_ipg, NULL); |
174 | DEFINE_CLOCK(tsc_clk, 0, CCM_CGCR2, 13, get_rate_ipg, NULL); | 174 | DEFINE_CLOCK(tsc_clk, 0, CCM_CGCR2, 13, get_rate_ipg, NULL); |
175 | DEFINE_CLOCK(i2c_clk, 0, CCM_CGCR0, 6, get_rate_i2c, NULL); | 175 | DEFINE_CLOCK(i2c_clk, 0, CCM_CGCR0, 6, get_rate_i2c, NULL); |
176 | DEFINE_CLOCK(fec_clk, 0, CCM_CGCR0, 23, get_rate_ipg, NULL); | ||
176 | 177 | ||
177 | #define _REGISTER_CLOCK(d, n, c) \ | 178 | #define _REGISTER_CLOCK(d, n, c) \ |
178 | { \ | 179 | { \ |
@@ -204,6 +205,7 @@ static struct clk_lookup lookups[] = { | |||
204 | _REGISTER_CLOCK("imx-i2c.0", NULL, i2c_clk) | 205 | _REGISTER_CLOCK("imx-i2c.0", NULL, i2c_clk) |
205 | _REGISTER_CLOCK("imx-i2c.1", NULL, i2c_clk) | 206 | _REGISTER_CLOCK("imx-i2c.1", NULL, i2c_clk) |
206 | _REGISTER_CLOCK("imx-i2c.2", NULL, i2c_clk) | 207 | _REGISTER_CLOCK("imx-i2c.2", NULL, i2c_clk) |
208 | _REGISTER_CLOCK("fec.0", NULL, fec_clk) | ||
207 | }; | 209 | }; |
208 | 210 | ||
209 | int __init mx25_clocks_init(unsigned long fref) | 211 | int __init mx25_clocks_init(unsigned long fref) |
diff --git a/arch/arm/mach-mx25/devices.c b/arch/arm/mach-mx25/devices.c index 63511de3a559..9fdeea1c083b 100644 --- a/arch/arm/mach-mx25/devices.c +++ b/arch/arm/mach-mx25/devices.c | |||
@@ -419,3 +419,22 @@ int __init mxc_register_gpios(void) | |||
419 | return mxc_gpio_init(imx_gpio_ports, ARRAY_SIZE(imx_gpio_ports)); | 419 | return mxc_gpio_init(imx_gpio_ports, ARRAY_SIZE(imx_gpio_ports)); |
420 | } | 420 | } |
421 | 421 | ||
422 | static struct resource mx25_fec_resources[] = { | ||
423 | { | ||
424 | .start = MX25_FEC_BASE_ADDR, | ||
425 | .end = MX25_FEC_BASE_ADDR + 0xfff, | ||
426 | .flags = IORESOURCE_MEM, | ||
427 | }, | ||
428 | { | ||
429 | .start = MX25_INT_FEC, | ||
430 | .end = MX25_INT_FEC, | ||
431 | .flags = IORESOURCE_IRQ, | ||
432 | }, | ||
433 | }; | ||
434 | |||
435 | struct platform_device mx25_fec_device = { | ||
436 | .name = "fec", | ||
437 | .id = 0, | ||
438 | .num_resources = ARRAY_SIZE(mx25_fec_resources), | ||
439 | .resource = mx25_fec_resources, | ||
440 | }; | ||
diff --git a/arch/arm/mach-mx25/devices.h b/arch/arm/mach-mx25/devices.h index fe6bf88ad1dd..fe5420fcd11f 100644 --- a/arch/arm/mach-mx25/devices.h +++ b/arch/arm/mach-mx25/devices.h | |||
@@ -17,3 +17,4 @@ extern struct platform_device mxc_keypad_device; | |||
17 | extern struct platform_device mxc_i2c_device0; | 17 | extern struct platform_device mxc_i2c_device0; |
18 | extern struct platform_device mxc_i2c_device1; | 18 | extern struct platform_device mxc_i2c_device1; |
19 | extern struct platform_device mxc_i2c_device2; | 19 | extern struct platform_device mxc_i2c_device2; |
20 | extern struct platform_device mx25_fec_device; | ||
diff --git a/arch/arm/mach-mx25/mx25pdk.c b/arch/arm/mach-mx25/mx25pdk.c index d23ae571c03f..921bc99ea231 100644 --- a/arch/arm/mach-mx25/mx25pdk.c +++ b/arch/arm/mach-mx25/mx25pdk.c | |||
@@ -18,10 +18,11 @@ | |||
18 | 18 | ||
19 | #include <linux/types.h> | 19 | #include <linux/types.h> |
20 | #include <linux/init.h> | 20 | #include <linux/init.h> |
21 | #include <linux/delay.h> | ||
21 | #include <linux/clk.h> | 22 | #include <linux/clk.h> |
22 | #include <linux/irq.h> | 23 | #include <linux/irq.h> |
23 | #include <linux/gpio.h> | 24 | #include <linux/gpio.h> |
24 | #include <linux/smsc911x.h> | 25 | #include <linux/fec.h> |
25 | #include <linux/platform_device.h> | 26 | #include <linux/platform_device.h> |
26 | 27 | ||
27 | #include <mach/hardware.h> | 28 | #include <mach/hardware.h> |
@@ -35,16 +36,57 @@ | |||
35 | #include <mach/mx25.h> | 36 | #include <mach/mx25.h> |
36 | #include <mach/mxc_nand.h> | 37 | #include <mach/mxc_nand.h> |
37 | #include "devices.h" | 38 | #include "devices.h" |
38 | #include <mach/iomux-v3.h> | 39 | #include <mach/iomux.h> |
39 | 40 | ||
40 | static struct imxuart_platform_data uart_pdata = { | 41 | static struct imxuart_platform_data uart_pdata = { |
41 | .flags = IMXUART_HAVE_RTSCTS, | 42 | .flags = IMXUART_HAVE_RTSCTS, |
42 | }; | 43 | }; |
43 | 44 | ||
45 | static struct pad_desc mx25pdk_pads[] = { | ||
46 | MX25_PAD_FEC_MDC__FEC_MDC, | ||
47 | MX25_PAD_FEC_MDIO__FEC_MDIO, | ||
48 | MX25_PAD_FEC_TDATA0__FEC_TDATA0, | ||
49 | MX25_PAD_FEC_TDATA1__FEC_TDATA1, | ||
50 | MX25_PAD_FEC_TX_EN__FEC_TX_EN, | ||
51 | MX25_PAD_FEC_RDATA0__FEC_RDATA0, | ||
52 | MX25_PAD_FEC_RDATA1__FEC_RDATA1, | ||
53 | MX25_PAD_FEC_RX_DV__FEC_RX_DV, | ||
54 | MX25_PAD_FEC_TX_CLK__FEC_TX_CLK, | ||
55 | MX25_PAD_A17__GPIO_2_3, /* FEC_EN, GPIO 35 */ | ||
56 | MX25_PAD_D12__GPIO_4_8, /* FEC_RESET_B, GPIO 104 */ | ||
57 | }; | ||
58 | |||
59 | static struct fec_platform_data mx25_fec_pdata = { | ||
60 | .phy = PHY_INTERFACE_MODE_RMII, | ||
61 | }; | ||
62 | |||
63 | #define FEC_ENABLE_GPIO 35 | ||
64 | #define FEC_RESET_B_GPIO 104 | ||
65 | |||
66 | static void __init mx25pdk_fec_reset(void) | ||
67 | { | ||
68 | gpio_request(FEC_ENABLE_GPIO, "FEC PHY enable"); | ||
69 | gpio_request(FEC_RESET_B_GPIO, "FEC PHY reset"); | ||
70 | |||
71 | gpio_direction_output(FEC_ENABLE_GPIO, 0); /* drop PHY power */ | ||
72 | gpio_direction_output(FEC_RESET_B_GPIO, 0); /* assert reset */ | ||
73 | udelay(2); | ||
74 | |||
75 | /* turn on PHY power and lift reset */ | ||
76 | gpio_set_value(FEC_ENABLE_GPIO, 1); | ||
77 | gpio_set_value(FEC_RESET_B_GPIO, 1); | ||
78 | } | ||
79 | |||
44 | static void __init mx25pdk_init(void) | 80 | static void __init mx25pdk_init(void) |
45 | { | 81 | { |
82 | mxc_iomux_v3_setup_multiple_pads(mx25pdk_pads, | ||
83 | ARRAY_SIZE(mx25pdk_pads)); | ||
84 | |||
46 | mxc_register_device(&mxc_uart_device0, &uart_pdata); | 85 | mxc_register_device(&mxc_uart_device0, &uart_pdata); |
47 | mxc_register_device(&mxc_usbh2, NULL); | 86 | mxc_register_device(&mxc_usbh2, NULL); |
87 | |||
88 | mx25pdk_fec_reset(); | ||
89 | mxc_register_device(&mx25_fec_device, &mx25_fec_pdata); | ||
48 | } | 90 | } |
49 | 91 | ||
50 | static void __init mx25pdk_timer_init(void) | 92 | static void __init mx25pdk_timer_init(void) |
diff --git a/arch/arm/mach-mx3/Kconfig b/arch/arm/mach-mx3/Kconfig index ea8ed109a7c2..28294416b0af 100644 --- a/arch/arm/mach-mx3/Kconfig +++ b/arch/arm/mach-mx3/Kconfig | |||
@@ -49,6 +49,7 @@ config MACH_PCM037_EET | |||
49 | config MACH_MX31LITE | 49 | config MACH_MX31LITE |
50 | bool "Support MX31 LITEKIT (LogicPD)" | 50 | bool "Support MX31 LITEKIT (LogicPD)" |
51 | select ARCH_MX31 | 51 | select ARCH_MX31 |
52 | select MXC_ULPI if USB_ULPI | ||
52 | help | 53 | help |
53 | Include support for MX31 LITEKIT platform. This includes specific | 54 | Include support for MX31 LITEKIT platform. This includes specific |
54 | configurations for the board and its peripherals. | 55 | configurations for the board and its peripherals. |
@@ -63,7 +64,7 @@ config MACH_MX31_3DS | |||
63 | config MACH_MX31MOBOARD | 64 | config MACH_MX31MOBOARD |
64 | bool "Support mx31moboard platforms (EPFL Mobots group)" | 65 | bool "Support mx31moboard platforms (EPFL Mobots group)" |
65 | select ARCH_MX31 | 66 | select ARCH_MX31 |
66 | select MXC_ULPI | 67 | select MXC_ULPI if USB_ULPI |
67 | help | 68 | help |
68 | Include support for mx31moboard platform. This includes specific | 69 | Include support for mx31moboard platform. This includes specific |
69 | configurations for the board and its peripherals. | 70 | configurations for the board and its peripherals. |
diff --git a/arch/arm/mach-mx3/mm.c b/arch/arm/mach-mx3/mm.c index bedf5b8d976a..6858a4f9806c 100644 --- a/arch/arm/mach-mx3/mm.c +++ b/arch/arm/mach-mx3/mm.c | |||
@@ -65,6 +65,11 @@ static struct map_desc mxc_io_desc[] __initdata = { | |||
65 | .pfn = __phys_to_pfn(AIPS2_BASE_ADDR), | 65 | .pfn = __phys_to_pfn(AIPS2_BASE_ADDR), |
66 | .length = AIPS2_SIZE, | 66 | .length = AIPS2_SIZE, |
67 | .type = MT_DEVICE_NONSHARED | 67 | .type = MT_DEVICE_NONSHARED |
68 | }, { | ||
69 | .virtual = SPBA0_BASE_ADDR_VIRT, | ||
70 | .pfn = __phys_to_pfn(SPBA0_BASE_ADDR), | ||
71 | .length = SPBA0_SIZE, | ||
72 | .type = MT_DEVICE_NONSHARED | ||
68 | }, | 73 | }, |
69 | }; | 74 | }; |
70 | 75 | ||
diff --git a/arch/arm/mach-mx3/mx31ads.c b/arch/arm/mach-mx3/mx31ads.c index 0497c152be18..3e7bafa2ddbb 100644 --- a/arch/arm/mach-mx3/mx31ads.c +++ b/arch/arm/mach-mx3/mx31ads.c | |||
@@ -494,11 +494,6 @@ static void mxc_init_i2c(void) | |||
494 | */ | 494 | */ |
495 | static struct map_desc mx31ads_io_desc[] __initdata = { | 495 | static struct map_desc mx31ads_io_desc[] __initdata = { |
496 | { | 496 | { |
497 | .virtual = SPBA0_BASE_ADDR_VIRT, | ||
498 | .pfn = __phys_to_pfn(SPBA0_BASE_ADDR), | ||
499 | .length = SPBA0_SIZE, | ||
500 | .type = MT_DEVICE_NONSHARED | ||
501 | }, { | ||
502 | .virtual = CS4_BASE_ADDR_VIRT, | 497 | .virtual = CS4_BASE_ADDR_VIRT, |
503 | .pfn = __phys_to_pfn(CS4_BASE_ADDR), | 498 | .pfn = __phys_to_pfn(CS4_BASE_ADDR), |
504 | .length = CS4_SIZE / 2, | 499 | .length = CS4_SIZE / 2, |
diff --git a/arch/arm/mach-mx3/mx31lite.c b/arch/arm/mach-mx3/mx31lite.c index def6b6736594..789b20d1730f 100644 --- a/arch/arm/mach-mx3/mx31lite.c +++ b/arch/arm/mach-mx3/mx31lite.c | |||
@@ -135,6 +135,7 @@ static struct spi_board_info mc13783_spi_dev __initdata = { | |||
135 | * USB | 135 | * USB |
136 | */ | 136 | */ |
137 | 137 | ||
138 | #if defined(CONFIG_USB_ULPI) | ||
138 | #define USB_PAD_CFG (PAD_CTL_DRV_MAX | PAD_CTL_SRE_FAST | PAD_CTL_HYS_CMOS | \ | 139 | #define USB_PAD_CFG (PAD_CTL_DRV_MAX | PAD_CTL_SRE_FAST | PAD_CTL_HYS_CMOS | \ |
139 | PAD_CTL_ODE_CMOS | PAD_CTL_100K_PU) | 140 | PAD_CTL_ODE_CMOS | PAD_CTL_100K_PU) |
140 | 141 | ||
@@ -180,6 +181,7 @@ static struct mxc_usbh_platform_data usbh2_pdata = { | |||
180 | .portsc = MXC_EHCI_MODE_ULPI | MXC_EHCI_UTMI_8BIT, | 181 | .portsc = MXC_EHCI_MODE_ULPI | MXC_EHCI_UTMI_8BIT, |
181 | .flags = MXC_EHCI_POWER_PINS_ENABLED, | 182 | .flags = MXC_EHCI_POWER_PINS_ENABLED, |
182 | }; | 183 | }; |
184 | #endif | ||
183 | 185 | ||
184 | /* | 186 | /* |
185 | * NOR flash | 187 | * NOR flash |
@@ -212,11 +214,6 @@ static struct platform_device physmap_flash_device = { | |||
212 | */ | 214 | */ |
213 | static struct map_desc mx31lite_io_desc[] __initdata = { | 215 | static struct map_desc mx31lite_io_desc[] __initdata = { |
214 | { | 216 | { |
215 | .virtual = SPBA0_BASE_ADDR_VIRT, | ||
216 | .pfn = __phys_to_pfn(SPBA0_BASE_ADDR), | ||
217 | .length = SPBA0_SIZE, | ||
218 | .type = MT_DEVICE_NONSHARED | ||
219 | }, { | ||
220 | .virtual = CS4_BASE_ADDR_VIRT, | 217 | .virtual = CS4_BASE_ADDR_VIRT, |
221 | .pfn = __phys_to_pfn(CS4_BASE_ADDR), | 218 | .pfn = __phys_to_pfn(CS4_BASE_ADDR), |
222 | .length = CS4_SIZE, | 219 | .length = CS4_SIZE, |
@@ -261,11 +258,13 @@ static void __init mxc_board_init(void) | |||
261 | mxc_register_device(&mxc_spi_device1, &spi1_pdata); | 258 | mxc_register_device(&mxc_spi_device1, &spi1_pdata); |
262 | spi_register_board_info(&mc13783_spi_dev, 1); | 259 | spi_register_board_info(&mc13783_spi_dev, 1); |
263 | 260 | ||
261 | #if defined(CONFIG_USB_ULPI) | ||
264 | /* USB */ | 262 | /* USB */ |
265 | usbh2_pdata.otg = otg_ulpi_create(&mxc_ulpi_access_ops, | 263 | usbh2_pdata.otg = otg_ulpi_create(&mxc_ulpi_access_ops, |
266 | USB_OTG_DRV_VBUS | USB_OTG_DRV_VBUS_EXT); | 264 | USB_OTG_DRV_VBUS | USB_OTG_DRV_VBUS_EXT); |
267 | 265 | ||
268 | mxc_register_device(&mxc_usbh2, &usbh2_pdata); | 266 | mxc_register_device(&mxc_usbh2, &usbh2_pdata); |
267 | #endif | ||
269 | 268 | ||
270 | /* SMSC9117 IRQ pin */ | 269 | /* SMSC9117 IRQ pin */ |
271 | ret = gpio_request(IOMUX_TO_GPIO(MX31_PIN_SFS6), "sms9117-irq"); | 270 | ret = gpio_request(IOMUX_TO_GPIO(MX31_PIN_SFS6), "sms9117-irq"); |
diff --git a/arch/arm/mach-mx3/mx31moboard-devboard.c b/arch/arm/mach-mx3/mx31moboard-devboard.c index 8fc624f141cb..438428eaf769 100644 --- a/arch/arm/mach-mx3/mx31moboard-devboard.c +++ b/arch/arm/mach-mx3/mx31moboard-devboard.c | |||
@@ -179,7 +179,7 @@ static int __init devboard_usbh1_init(void) | |||
179 | 179 | ||
180 | usbh1_pdata.otg = otg; | 180 | usbh1_pdata.otg = otg; |
181 | 181 | ||
182 | return mxc_register_device(&mx31_usbh1, &usbh1_pdata); | 182 | return mxc_register_device(&mxc_usbh1, &usbh1_pdata); |
183 | } | 183 | } |
184 | 184 | ||
185 | /* | 185 | /* |
diff --git a/arch/arm/mach-mx3/mx31moboard-marxbot.c b/arch/arm/mach-mx3/mx31moboard-marxbot.c index 85184a35e674..1f44b9ccbb0f 100644 --- a/arch/arm/mach-mx3/mx31moboard-marxbot.c +++ b/arch/arm/mach-mx3/mx31moboard-marxbot.c | |||
@@ -294,7 +294,7 @@ static int __init marxbot_usbh1_init(void) | |||
294 | 294 | ||
295 | usbh1_pdata.otg = otg; | 295 | usbh1_pdata.otg = otg; |
296 | 296 | ||
297 | return mxc_register_device(&mx31_usbh1, &usbh1_pdata); | 297 | return mxc_register_device(&mxc_usbh1, &usbh1_pdata); |
298 | } | 298 | } |
299 | 299 | ||
300 | /* | 300 | /* |
diff --git a/arch/arm/mach-mx3/mx31moboard.c b/arch/arm/mach-mx3/mx31moboard.c index b70529145936..cfd605d078ec 100644 --- a/arch/arm/mach-mx3/mx31moboard.c +++ b/arch/arm/mach-mx3/mx31moboard.c | |||
@@ -346,6 +346,8 @@ static struct fsl_usb2_platform_data usb_pdata = { | |||
346 | .phy_mode = FSL_USB2_PHY_ULPI, | 346 | .phy_mode = FSL_USB2_PHY_ULPI, |
347 | }; | 347 | }; |
348 | 348 | ||
349 | #if defined(CONFIG_USB_ULPI) | ||
350 | |||
349 | #define USBH2_EN_B IOMUX_TO_GPIO(MX31_PIN_SCK6) | 351 | #define USBH2_EN_B IOMUX_TO_GPIO(MX31_PIN_SCK6) |
350 | 352 | ||
351 | static int moboard_usbh2_hw_init(struct platform_device *pdev) | 353 | static int moboard_usbh2_hw_init(struct platform_device *pdev) |
@@ -392,8 +394,11 @@ static int __init moboard_usbh2_init(void) | |||
392 | usbh2_pdata.otg = otg_ulpi_create(&mxc_ulpi_access_ops, | 394 | usbh2_pdata.otg = otg_ulpi_create(&mxc_ulpi_access_ops, |
393 | USB_OTG_DRV_VBUS | USB_OTG_DRV_VBUS_EXT); | 395 | USB_OTG_DRV_VBUS | USB_OTG_DRV_VBUS_EXT); |
394 | 396 | ||
395 | return mxc_register_device(&mx31_usbh2, &usbh2_pdata); | 397 | return mxc_register_device(&mxc_usbh2, &usbh2_pdata); |
396 | } | 398 | } |
399 | #else | ||
400 | static inline int moboard_usbh2_init(void) { return 0; } | ||
401 | #endif | ||
397 | 402 | ||
398 | 403 | ||
399 | static struct gpio_led mx31moboard_leds[] = { | 404 | static struct gpio_led mx31moboard_leds[] = { |
diff --git a/arch/arm/mach-mx3/mx31pdk.c b/arch/arm/mach-mx3/mx31pdk.c index 0f7a2f06bc2d..18715f1aa7eb 100644 --- a/arch/arm/mach-mx3/mx31pdk.c +++ b/arch/arm/mach-mx3/mx31pdk.c | |||
@@ -211,11 +211,6 @@ static int __init mx31pdk_init_expio(void) | |||
211 | */ | 211 | */ |
212 | static struct map_desc mx31pdk_io_desc[] __initdata = { | 212 | static struct map_desc mx31pdk_io_desc[] __initdata = { |
213 | { | 213 | { |
214 | .virtual = SPBA0_BASE_ADDR_VIRT, | ||
215 | .pfn = __phys_to_pfn(SPBA0_BASE_ADDR), | ||
216 | .length = SPBA0_SIZE, | ||
217 | .type = MT_DEVICE_NONSHARED, | ||
218 | }, { | ||
219 | .virtual = CS5_BASE_ADDR_VIRT, | 214 | .virtual = CS5_BASE_ADDR_VIRT, |
220 | .pfn = __phys_to_pfn(CS5_BASE_ADDR), | 215 | .pfn = __phys_to_pfn(CS5_BASE_ADDR), |
221 | .length = CS5_SIZE, | 216 | .length = CS5_SIZE, |
diff --git a/arch/arm/mach-mx3/pcm037.c b/arch/arm/mach-mx3/pcm037.c index 6cbaabedf386..5be396917c99 100644 --- a/arch/arm/mach-mx3/pcm037.c +++ b/arch/arm/mach-mx3/pcm037.c | |||
@@ -322,16 +322,25 @@ static int pcm037_camera_power(struct device *dev, int on) | |||
322 | return 0; | 322 | return 0; |
323 | } | 323 | } |
324 | 324 | ||
325 | static struct i2c_board_info pcm037_i2c_2_devices[] = { | 325 | static struct i2c_board_info pcm037_i2c_camera[] = { |
326 | { | 326 | { |
327 | I2C_BOARD_INFO("mt9t031", 0x5d), | 327 | I2C_BOARD_INFO("mt9t031", 0x5d), |
328 | }, { | ||
329 | I2C_BOARD_INFO("mt9v022", 0x48), | ||
328 | }, | 330 | }, |
329 | }; | 331 | }; |
330 | 332 | ||
331 | static struct soc_camera_link iclink = { | 333 | static struct soc_camera_link iclink_mt9v022 = { |
334 | .bus_id = 0, /* Must match with the camera ID */ | ||
335 | .board_info = &pcm037_i2c_camera[1], | ||
336 | .i2c_adapter_id = 2, | ||
337 | .module_name = "mt9v022", | ||
338 | }; | ||
339 | |||
340 | static struct soc_camera_link iclink_mt9t031 = { | ||
332 | .bus_id = 0, /* Must match with the camera ID */ | 341 | .bus_id = 0, /* Must match with the camera ID */ |
333 | .power = pcm037_camera_power, | 342 | .power = pcm037_camera_power, |
334 | .board_info = &pcm037_i2c_2_devices[0], | 343 | .board_info = &pcm037_i2c_camera[0], |
335 | .i2c_adapter_id = 2, | 344 | .i2c_adapter_id = 2, |
336 | .module_name = "mt9t031", | 345 | .module_name = "mt9t031", |
337 | }; | 346 | }; |
@@ -345,11 +354,19 @@ static struct i2c_board_info pcm037_i2c_devices[] = { | |||
345 | } | 354 | } |
346 | }; | 355 | }; |
347 | 356 | ||
348 | static struct platform_device pcm037_camera = { | 357 | static struct platform_device pcm037_mt9t031 = { |
349 | .name = "soc-camera-pdrv", | 358 | .name = "soc-camera-pdrv", |
350 | .id = 0, | 359 | .id = 0, |
351 | .dev = { | 360 | .dev = { |
352 | .platform_data = &iclink, | 361 | .platform_data = &iclink_mt9t031, |
362 | }, | ||
363 | }; | ||
364 | |||
365 | static struct platform_device pcm037_mt9v022 = { | ||
366 | .name = "soc-camera-pdrv", | ||
367 | .id = 1, | ||
368 | .dev = { | ||
369 | .platform_data = &iclink_mt9v022, | ||
353 | }, | 370 | }, |
354 | }; | 371 | }; |
355 | 372 | ||
@@ -449,7 +466,8 @@ static int __init pcm037_camera_alloc_dma(const size_t buf_size) | |||
449 | static struct platform_device *devices[] __initdata = { | 466 | static struct platform_device *devices[] __initdata = { |
450 | &pcm037_flash, | 467 | &pcm037_flash, |
451 | &pcm037_sram_device, | 468 | &pcm037_sram_device, |
452 | &pcm037_camera, | 469 | &pcm037_mt9t031, |
470 | &pcm037_mt9v022, | ||
453 | }; | 471 | }; |
454 | 472 | ||
455 | static struct ipu_platform_data mx3_ipu_data = { | 473 | static struct ipu_platform_data mx3_ipu_data = { |
@@ -599,7 +617,7 @@ static void __init mxc_board_init(void) | |||
599 | if (!ret) | 617 | if (!ret) |
600 | gpio_direction_output(IOMUX_TO_GPIO(MX31_PIN_CSI_D5), 1); | 618 | gpio_direction_output(IOMUX_TO_GPIO(MX31_PIN_CSI_D5), 1); |
601 | else | 619 | else |
602 | iclink.power = NULL; | 620 | iclink_mt9t031.power = NULL; |
603 | 621 | ||
604 | if (!pcm037_camera_alloc_dma(4 * 1024 * 1024)) | 622 | if (!pcm037_camera_alloc_dma(4 * 1024 * 1024)) |
605 | mxc_register_device(&mx3_camera, &camera_pdata); | 623 | mxc_register_device(&mx3_camera, &camera_pdata); |
diff --git a/arch/arm/mach-pxa/Kconfig b/arch/arm/mach-pxa/Kconfig index 8a0837ea0294..dee92182749b 100644 --- a/arch/arm/mach-pxa/Kconfig +++ b/arch/arm/mach-pxa/Kconfig | |||
@@ -37,6 +37,8 @@ config MACH_ZYLONITE320 | |||
37 | config MACH_LITTLETON | 37 | config MACH_LITTLETON |
38 | bool "PXA3xx Form Factor Platform (aka Littleton)" | 38 | bool "PXA3xx Form Factor Platform (aka Littleton)" |
39 | select PXA3xx | 39 | select PXA3xx |
40 | select CPU_PXA300 | ||
41 | select CPU_PXA310 | ||
40 | select PXA_SSP | 42 | select PXA_SSP |
41 | 43 | ||
42 | config MACH_TAVOREVB | 44 | config MACH_TAVOREVB |
diff --git a/arch/arm/mach-pxa/include/mach/zylonite.h b/arch/arm/mach-pxa/include/mach/zylonite.h index bf6785adccf4..9edf645368d6 100644 --- a/arch/arm/mach-pxa/include/mach/zylonite.h +++ b/arch/arm/mach-pxa/include/mach/zylonite.h | |||
@@ -8,13 +8,6 @@ | |||
8 | /* the following variables are processor specific and initialized | 8 | /* the following variables are processor specific and initialized |
9 | * by the corresponding zylonite_pxa3xx_init() | 9 | * by the corresponding zylonite_pxa3xx_init() |
10 | */ | 10 | */ |
11 | struct platform_mmc_slot { | ||
12 | int gpio_cd; | ||
13 | int gpio_wp; | ||
14 | }; | ||
15 | |||
16 | extern struct platform_mmc_slot zylonite_mmc_slot[]; | ||
17 | |||
18 | extern int gpio_eth_irq; | 11 | extern int gpio_eth_irq; |
19 | extern int gpio_debug_led1; | 12 | extern int gpio_debug_led1; |
20 | extern int gpio_debug_led2; | 13 | extern int gpio_debug_led2; |
diff --git a/arch/arm/mach-pxa/littleton.c b/arch/arm/mach-pxa/littleton.c index f28c1715b910..fa527b258d61 100644 --- a/arch/arm/mach-pxa/littleton.c +++ b/arch/arm/mach-pxa/littleton.c | |||
@@ -110,6 +110,12 @@ static mfp_cfg_t littleton_mfp_cfg[] __initdata = { | |||
110 | GPIO7_MMC1_CLK, | 110 | GPIO7_MMC1_CLK, |
111 | GPIO8_MMC1_CMD, | 111 | GPIO8_MMC1_CMD, |
112 | GPIO15_GPIO, /* card detect */ | 112 | GPIO15_GPIO, /* card detect */ |
113 | |||
114 | /* UART3 */ | ||
115 | GPIO107_UART3_CTS, | ||
116 | GPIO108_UART3_RTS, | ||
117 | GPIO109_UART3_TXD, | ||
118 | GPIO110_UART3_RXD, | ||
113 | }; | 119 | }; |
114 | 120 | ||
115 | static struct resource smc91x_resources[] = { | 121 | static struct resource smc91x_resources[] = { |
diff --git a/arch/arm/mach-pxa/poodle.c b/arch/arm/mach-pxa/poodle.c index e5eeb3a62d01..c2b938a4d5c9 100644 --- a/arch/arm/mach-pxa/poodle.c +++ b/arch/arm/mach-pxa/poodle.c | |||
@@ -293,7 +293,7 @@ static struct pxamci_platform_data poodle_mci_platform_data = { | |||
293 | .init = poodle_mci_init, | 293 | .init = poodle_mci_init, |
294 | .setpower = poodle_mci_setpower, | 294 | .setpower = poodle_mci_setpower, |
295 | .exit = poodle_mci_exit, | 295 | .exit = poodle_mci_exit, |
296 | .gpio_card_detect = POODLE_IRQ_GPIO_nSD_DETECT, | 296 | .gpio_card_detect = POODLE_GPIO_nSD_DETECT, |
297 | .gpio_card_ro = POODLE_GPIO_nSD_WP, | 297 | .gpio_card_ro = POODLE_GPIO_nSD_WP, |
298 | .gpio_power = -1, | 298 | .gpio_power = -1, |
299 | }; | 299 | }; |
diff --git a/arch/arm/mach-pxa/zeus.c b/arch/arm/mach-pxa/zeus.c index 5b986a8bd9e6..75f2a37f945d 100644 --- a/arch/arm/mach-pxa/zeus.c +++ b/arch/arm/mach-pxa/zeus.c | |||
@@ -25,6 +25,7 @@ | |||
25 | #include <linux/mtd/physmap.h> | 25 | #include <linux/mtd/physmap.h> |
26 | #include <linux/i2c.h> | 26 | #include <linux/i2c.h> |
27 | #include <linux/i2c/pca953x.h> | 27 | #include <linux/i2c/pca953x.h> |
28 | #include <linux/apm-emulation.h> | ||
28 | 29 | ||
29 | #include <asm/mach-types.h> | 30 | #include <asm/mach-types.h> |
30 | #include <asm/mach/arch.h> | 31 | #include <asm/mach/arch.h> |
@@ -626,8 +627,27 @@ static void zeus_power_off(void) | |||
626 | pxa27x_cpu_suspend(PWRMODE_DEEPSLEEP); | 627 | pxa27x_cpu_suspend(PWRMODE_DEEPSLEEP); |
627 | } | 628 | } |
628 | 629 | ||
629 | int zeus_get_pcb_info(struct i2c_client *client, unsigned gpio, | 630 | #ifdef CONFIG_APM_EMULATION |
630 | unsigned ngpio, void *context) | 631 | static void zeus_get_power_status(struct apm_power_info *info) |
632 | { | ||
633 | /* Power supply is always present */ | ||
634 | info->ac_line_status = APM_AC_ONLINE; | ||
635 | info->battery_status = APM_BATTERY_STATUS_NOT_PRESENT; | ||
636 | info->battery_flag = APM_BATTERY_FLAG_NOT_PRESENT; | ||
637 | } | ||
638 | |||
639 | static inline void zeus_setup_apm(void) | ||
640 | { | ||
641 | apm_get_power_status = zeus_get_power_status; | ||
642 | } | ||
643 | #else | ||
644 | static inline void zeus_setup_apm(void) | ||
645 | { | ||
646 | } | ||
647 | #endif | ||
648 | |||
649 | static int zeus_get_pcb_info(struct i2c_client *client, unsigned gpio, | ||
650 | unsigned ngpio, void *context) | ||
631 | { | 651 | { |
632 | int i; | 652 | int i; |
633 | u8 pcb_info = 0; | 653 | u8 pcb_info = 0; |
@@ -726,9 +746,18 @@ static mfp_cfg_t zeus_pin_config[] __initdata = { | |||
726 | GPIO99_GPIO, /* CF RDY */ | 746 | GPIO99_GPIO, /* CF RDY */ |
727 | }; | 747 | }; |
728 | 748 | ||
749 | /* | ||
750 | * DM9k MSCx settings: SRAM, 16 bits | ||
751 | * 17 cycles delay first access | ||
752 | * 5 cycles delay next access | ||
753 | * 13 cycles recovery time | ||
754 | * faster device | ||
755 | */ | ||
756 | #define DM9K_MSC_VALUE 0xe4c9 | ||
757 | |||
729 | static void __init zeus_init(void) | 758 | static void __init zeus_init(void) |
730 | { | 759 | { |
731 | u16 dm9000_msc = 0xe279; | 760 | u16 dm9000_msc = DM9K_MSC_VALUE; |
732 | 761 | ||
733 | system_rev = __raw_readw(ZEUS_CPLD_VERSION); | 762 | system_rev = __raw_readw(ZEUS_CPLD_VERSION); |
734 | pr_info("Zeus CPLD V%dI%d\n", (system_rev & 0xf0) >> 4, (system_rev & 0x0f)); | 763 | pr_info("Zeus CPLD V%dI%d\n", (system_rev & 0xf0) >> 4, (system_rev & 0x0f)); |
@@ -738,6 +767,7 @@ static void __init zeus_init(void) | |||
738 | MSC1 = (MSC1 & 0xffff0000) | dm9000_msc; | 767 | MSC1 = (MSC1 & 0xffff0000) | dm9000_msc; |
739 | 768 | ||
740 | pm_power_off = zeus_power_off; | 769 | pm_power_off = zeus_power_off; |
770 | zeus_setup_apm(); | ||
741 | 771 | ||
742 | pxa2xx_mfp_config(ARRAY_AND_SIZE(zeus_pin_config)); | 772 | pxa2xx_mfp_config(ARRAY_AND_SIZE(zeus_pin_config)); |
743 | 773 | ||
diff --git a/arch/arm/mach-pxa/zylonite.c b/arch/arm/mach-pxa/zylonite.c index b66e9e2d06e7..2b4043c04d0c 100644 --- a/arch/arm/mach-pxa/zylonite.c +++ b/arch/arm/mach-pxa/zylonite.c | |||
@@ -36,9 +36,6 @@ | |||
36 | #include "devices.h" | 36 | #include "devices.h" |
37 | #include "generic.h" | 37 | #include "generic.h" |
38 | 38 | ||
39 | #define MAX_SLOTS 3 | ||
40 | struct platform_mmc_slot zylonite_mmc_slot[MAX_SLOTS]; | ||
41 | |||
42 | int gpio_eth_irq; | 39 | int gpio_eth_irq; |
43 | int gpio_debug_led1; | 40 | int gpio_debug_led1; |
44 | int gpio_debug_led2; | 41 | int gpio_debug_led2; |
@@ -220,84 +217,28 @@ static inline void zylonite_init_lcd(void) {} | |||
220 | #endif | 217 | #endif |
221 | 218 | ||
222 | #if defined(CONFIG_MMC) | 219 | #if defined(CONFIG_MMC) |
223 | static int zylonite_mci_ro(struct device *dev) | ||
224 | { | ||
225 | struct platform_device *pdev = to_platform_device(dev); | ||
226 | |||
227 | return gpio_get_value(zylonite_mmc_slot[pdev->id].gpio_wp); | ||
228 | } | ||
229 | |||
230 | static int zylonite_mci_init(struct device *dev, | ||
231 | irq_handler_t zylonite_detect_int, | ||
232 | void *data) | ||
233 | { | ||
234 | struct platform_device *pdev = to_platform_device(dev); | ||
235 | int err, cd_irq, gpio_cd, gpio_wp; | ||
236 | |||
237 | cd_irq = gpio_to_irq(zylonite_mmc_slot[pdev->id].gpio_cd); | ||
238 | gpio_cd = zylonite_mmc_slot[pdev->id].gpio_cd; | ||
239 | gpio_wp = zylonite_mmc_slot[pdev->id].gpio_wp; | ||
240 | |||
241 | /* | ||
242 | * setup GPIO for Zylonite MMC controller | ||
243 | */ | ||
244 | err = gpio_request(gpio_cd, "mmc card detect"); | ||
245 | if (err) | ||
246 | goto err_request_cd; | ||
247 | gpio_direction_input(gpio_cd); | ||
248 | |||
249 | err = gpio_request(gpio_wp, "mmc write protect"); | ||
250 | if (err) | ||
251 | goto err_request_wp; | ||
252 | gpio_direction_input(gpio_wp); | ||
253 | |||
254 | err = request_irq(cd_irq, zylonite_detect_int, | ||
255 | IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING, | ||
256 | "MMC card detect", data); | ||
257 | if (err) { | ||
258 | printk(KERN_ERR "%s: MMC/SD/SDIO: " | ||
259 | "can't request card detect IRQ\n", __func__); | ||
260 | goto err_request_irq; | ||
261 | } | ||
262 | |||
263 | return 0; | ||
264 | |||
265 | err_request_irq: | ||
266 | gpio_free(gpio_wp); | ||
267 | err_request_wp: | ||
268 | gpio_free(gpio_cd); | ||
269 | err_request_cd: | ||
270 | return err; | ||
271 | } | ||
272 | |||
273 | static void zylonite_mci_exit(struct device *dev, void *data) | ||
274 | { | ||
275 | struct platform_device *pdev = to_platform_device(dev); | ||
276 | int cd_irq, gpio_cd, gpio_wp; | ||
277 | |||
278 | cd_irq = gpio_to_irq(zylonite_mmc_slot[pdev->id].gpio_cd); | ||
279 | gpio_cd = zylonite_mmc_slot[pdev->id].gpio_cd; | ||
280 | gpio_wp = zylonite_mmc_slot[pdev->id].gpio_wp; | ||
281 | |||
282 | free_irq(cd_irq, data); | ||
283 | gpio_free(gpio_cd); | ||
284 | gpio_free(gpio_wp); | ||
285 | } | ||
286 | |||
287 | static struct pxamci_platform_data zylonite_mci_platform_data = { | 220 | static struct pxamci_platform_data zylonite_mci_platform_data = { |
288 | .detect_delay = 20, | 221 | .detect_delay = 20, |
289 | .ocr_mask = MMC_VDD_32_33|MMC_VDD_33_34, | 222 | .ocr_mask = MMC_VDD_32_33|MMC_VDD_33_34, |
290 | .init = zylonite_mci_init, | 223 | .gpio_card_detect = EXT_GPIO(0), |
291 | .exit = zylonite_mci_exit, | 224 | .gpio_card_ro = EXT_GPIO(2), |
292 | .get_ro = zylonite_mci_ro, | ||
293 | .gpio_card_detect = -1, | ||
294 | .gpio_card_ro = -1, | ||
295 | .gpio_power = -1, | 225 | .gpio_power = -1, |
296 | }; | 226 | }; |
297 | 227 | ||
298 | static struct pxamci_platform_data zylonite_mci2_platform_data = { | 228 | static struct pxamci_platform_data zylonite_mci2_platform_data = { |
299 | .detect_delay = 20, | 229 | .detect_delay = 20, |
300 | .ocr_mask = MMC_VDD_32_33|MMC_VDD_33_34, | 230 | .ocr_mask = MMC_VDD_32_33|MMC_VDD_33_34, |
231 | .gpio_card_detect = EXT_GPIO(1), | ||
232 | .gpio_card_ro = EXT_GPIO(3), | ||
233 | .gpio_power = -1, | ||
234 | }; | ||
235 | |||
236 | static struct pxamci_platform_data zylonite_mci3_platform_data = { | ||
237 | .detect_delay = 20, | ||
238 | .ocr_mask = MMC_VDD_32_33|MMC_VDD_33_34, | ||
239 | .gpio_card_detect = EXT_GPIO(30), | ||
240 | .gpio_card_ro = EXT_GPIO(31), | ||
241 | .gpio_power = -1, | ||
301 | }; | 242 | }; |
302 | 243 | ||
303 | static void __init zylonite_init_mmc(void) | 244 | static void __init zylonite_init_mmc(void) |
@@ -305,7 +246,7 @@ static void __init zylonite_init_mmc(void) | |||
305 | pxa_set_mci_info(&zylonite_mci_platform_data); | 246 | pxa_set_mci_info(&zylonite_mci_platform_data); |
306 | pxa3xx_set_mci2_info(&zylonite_mci2_platform_data); | 247 | pxa3xx_set_mci2_info(&zylonite_mci2_platform_data); |
307 | if (cpu_is_pxa310()) | 248 | if (cpu_is_pxa310()) |
308 | pxa3xx_set_mci3_info(&zylonite_mci_platform_data); | 249 | pxa3xx_set_mci3_info(&zylonite_mci3_platform_data); |
309 | } | 250 | } |
310 | #else | 251 | #else |
311 | static inline void zylonite_init_mmc(void) {} | 252 | static inline void zylonite_init_mmc(void) {} |
diff --git a/arch/arm/mach-pxa/zylonite_pxa300.c b/arch/arm/mach-pxa/zylonite_pxa300.c index 84095440a878..3aa73b3e33f2 100644 --- a/arch/arm/mach-pxa/zylonite_pxa300.c +++ b/arch/arm/mach-pxa/zylonite_pxa300.c | |||
@@ -129,8 +129,8 @@ static mfp_cfg_t common_mfp_cfg[] __initdata = { | |||
129 | GPIO22_I2C_SDA, | 129 | GPIO22_I2C_SDA, |
130 | 130 | ||
131 | /* GPIO */ | 131 | /* GPIO */ |
132 | GPIO18_GPIO, /* GPIO Expander #0 INT_N */ | 132 | GPIO18_GPIO | MFP_PULL_HIGH, /* GPIO Expander #0 INT_N */ |
133 | GPIO19_GPIO, /* GPIO Expander #1 INT_N */ | 133 | GPIO19_GPIO | MFP_PULL_HIGH, /* GPIO Expander #1 INT_N */ |
134 | }; | 134 | }; |
135 | 135 | ||
136 | static mfp_cfg_t pxa300_mfp_cfg[] __initdata = { | 136 | static mfp_cfg_t pxa300_mfp_cfg[] __initdata = { |
@@ -258,10 +258,6 @@ void __init zylonite_pxa300_init(void) | |||
258 | /* detect LCD panel */ | 258 | /* detect LCD panel */ |
259 | zylonite_detect_lcd_panel(); | 259 | zylonite_detect_lcd_panel(); |
260 | 260 | ||
261 | /* MMC card detect & write protect for controller 0 */ | ||
262 | zylonite_mmc_slot[0].gpio_cd = EXT_GPIO(0); | ||
263 | zylonite_mmc_slot[0].gpio_wp = EXT_GPIO(2); | ||
264 | |||
265 | /* WM9713 IRQ */ | 261 | /* WM9713 IRQ */ |
266 | wm9713_irq = mfp_to_gpio(MFP_PIN_GPIO26); | 262 | wm9713_irq = mfp_to_gpio(MFP_PIN_GPIO26); |
267 | 263 | ||
@@ -276,10 +272,6 @@ void __init zylonite_pxa300_init(void) | |||
276 | if (cpu_is_pxa310()) { | 272 | if (cpu_is_pxa310()) { |
277 | pxa3xx_mfp_config(ARRAY_AND_SIZE(pxa310_mfp_cfg)); | 273 | pxa3xx_mfp_config(ARRAY_AND_SIZE(pxa310_mfp_cfg)); |
278 | gpio_eth_irq = mfp_to_gpio(MFP_PIN_GPIO102); | 274 | gpio_eth_irq = mfp_to_gpio(MFP_PIN_GPIO102); |
279 | |||
280 | /* MMC card detect & write protect for controller 2 */ | ||
281 | zylonite_mmc_slot[2].gpio_cd = EXT_GPIO(30); | ||
282 | zylonite_mmc_slot[2].gpio_wp = EXT_GPIO(31); | ||
283 | } | 275 | } |
284 | 276 | ||
285 | /* GPIOs for Debug LEDs */ | 277 | /* GPIOs for Debug LEDs */ |
diff --git a/arch/arm/mach-pxa/zylonite_pxa320.c b/arch/arm/mach-pxa/zylonite_pxa320.c index 60d08f23f5e4..9942bac4cf7d 100644 --- a/arch/arm/mach-pxa/zylonite_pxa320.c +++ b/arch/arm/mach-pxa/zylonite_pxa320.c | |||
@@ -209,10 +209,6 @@ void __init zylonite_pxa320_init(void) | |||
209 | gpio_debug_led1 = mfp_to_gpio(MFP_PIN_GPIO1_2); | 209 | gpio_debug_led1 = mfp_to_gpio(MFP_PIN_GPIO1_2); |
210 | gpio_debug_led2 = mfp_to_gpio(MFP_PIN_GPIO4_2); | 210 | gpio_debug_led2 = mfp_to_gpio(MFP_PIN_GPIO4_2); |
211 | 211 | ||
212 | /* MMC card detect & write protect for controller 0 */ | ||
213 | zylonite_mmc_slot[0].gpio_cd = mfp_to_gpio(MFP_PIN_GPIO1); | ||
214 | zylonite_mmc_slot[0].gpio_wp = mfp_to_gpio(MFP_PIN_GPIO5); | ||
215 | |||
216 | /* WM9713 IRQ */ | 212 | /* WM9713 IRQ */ |
217 | wm9713_irq = mfp_to_gpio(MFP_PIN_GPIO15); | 213 | wm9713_irq = mfp_to_gpio(MFP_PIN_GPIO15); |
218 | } | 214 | } |
diff --git a/arch/arm/mach-s3c2410/include/mach/ts.h b/arch/arm/mach-s3c2410/include/mach/ts.h new file mode 100644 index 000000000000..dc361700d695 --- /dev/null +++ b/arch/arm/mach-s3c2410/include/mach/ts.h | |||
@@ -0,0 +1,21 @@ | |||
1 | /* linux/include/asm/arch-s3c2410/ts.h | ||
2 | * | ||
3 | * Copyright (c) 2005 Arnaud Patard <arnaud.patard@rtp-net.org> | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License version 2 as | ||
7 | * published by the Free Software Foundation. | ||
8 | */ | ||
9 | |||
10 | #ifndef __ASM_ARM_TS_H | ||
11 | #define __ASM_ARM_TS_H | ||
12 | |||
13 | struct s3c2410_ts_mach_info { | ||
14 | int delay; | ||
15 | int presc; | ||
16 | int oversampling_shift; | ||
17 | }; | ||
18 | |||
19 | extern void s3c24xx_ts_set_platdata(struct s3c2410_ts_mach_info *); | ||
20 | |||
21 | #endif /* __ASM_ARM_TS_H */ | ||
diff --git a/arch/arm/mach-s3c2410/mach-bast.c b/arch/arm/mach-s3c2410/mach-bast.c index 4c79ac8a6c33..97162fdd0590 100644 --- a/arch/arm/mach-s3c2410/mach-bast.c +++ b/arch/arm/mach-s3c2410/mach-bast.c | |||
@@ -279,6 +279,7 @@ static struct s3c2410_nand_set __initdata bast_nand_sets[] = { | |||
279 | .name = "SmartMedia", | 279 | .name = "SmartMedia", |
280 | .nr_chips = 1, | 280 | .nr_chips = 1, |
281 | .nr_map = smartmedia_map, | 281 | .nr_map = smartmedia_map, |
282 | .options = NAND_SCAN_SILENT_NODEV, | ||
282 | .nr_partitions = ARRAY_SIZE(bast_default_nand_part), | 283 | .nr_partitions = ARRAY_SIZE(bast_default_nand_part), |
283 | .partitions = bast_default_nand_part, | 284 | .partitions = bast_default_nand_part, |
284 | }, | 285 | }, |
@@ -293,6 +294,7 @@ static struct s3c2410_nand_set __initdata bast_nand_sets[] = { | |||
293 | .name = "chip1", | 294 | .name = "chip1", |
294 | .nr_chips = 1, | 295 | .nr_chips = 1, |
295 | .nr_map = chip1_map, | 296 | .nr_map = chip1_map, |
297 | .options = NAND_SCAN_SILENT_NODEV, | ||
296 | .nr_partitions = ARRAY_SIZE(bast_default_nand_part), | 298 | .nr_partitions = ARRAY_SIZE(bast_default_nand_part), |
297 | .partitions = bast_default_nand_part, | 299 | .partitions = bast_default_nand_part, |
298 | }, | 300 | }, |
@@ -300,6 +302,7 @@ static struct s3c2410_nand_set __initdata bast_nand_sets[] = { | |||
300 | .name = "chip2", | 302 | .name = "chip2", |
301 | .nr_chips = 1, | 303 | .nr_chips = 1, |
302 | .nr_map = chip2_map, | 304 | .nr_map = chip2_map, |
305 | .options = NAND_SCAN_SILENT_NODEV, | ||
303 | .nr_partitions = ARRAY_SIZE(bast_default_nand_part), | 306 | .nr_partitions = ARRAY_SIZE(bast_default_nand_part), |
304 | .partitions = bast_default_nand_part, | 307 | .partitions = bast_default_nand_part, |
305 | } | 308 | } |
diff --git a/arch/arm/mach-s3c2410/mach-h1940.c b/arch/arm/mach-s3c2410/mach-h1940.c index 49053254c98d..1e34abe1a19e 100644 --- a/arch/arm/mach-s3c2410/mach-h1940.c +++ b/arch/arm/mach-s3c2410/mach-h1940.c | |||
@@ -46,6 +46,7 @@ | |||
46 | #include <mach/h1940.h> | 46 | #include <mach/h1940.h> |
47 | #include <mach/h1940-latch.h> | 47 | #include <mach/h1940-latch.h> |
48 | #include <mach/fb.h> | 48 | #include <mach/fb.h> |
49 | #include <mach/ts.h> | ||
49 | #include <plat/udc.h> | 50 | #include <plat/udc.h> |
50 | #include <plat/iic.h> | 51 | #include <plat/iic.h> |
51 | 52 | ||
@@ -140,6 +141,11 @@ static struct s3c2410_udc_mach_info h1940_udc_cfg __initdata = { | |||
140 | .vbus_pin_inverted = 1, | 141 | .vbus_pin_inverted = 1, |
141 | }; | 142 | }; |
142 | 143 | ||
144 | static struct s3c2410_ts_mach_info h1940_ts_cfg __initdata = { | ||
145 | .delay = 10000, | ||
146 | .presc = 49, | ||
147 | .oversampling_shift = 2, | ||
148 | }; | ||
143 | 149 | ||
144 | /** | 150 | /** |
145 | * Set lcd on or off | 151 | * Set lcd on or off |
@@ -265,6 +271,7 @@ static struct platform_device h1940_lcd_powerdev = { | |||
265 | }; | 271 | }; |
266 | 272 | ||
267 | static struct platform_device *h1940_devices[] __initdata = { | 273 | static struct platform_device *h1940_devices[] __initdata = { |
274 | &s3c_device_ts, | ||
268 | &s3c_device_usb, | 275 | &s3c_device_usb, |
269 | &s3c_device_lcd, | 276 | &s3c_device_lcd, |
270 | &s3c_device_wdt, | 277 | &s3c_device_wdt, |
@@ -305,6 +312,7 @@ static void __init h1940_init(void) | |||
305 | 312 | ||
306 | s3c24xx_fb_set_platdata(&h1940_fb_info); | 313 | s3c24xx_fb_set_platdata(&h1940_fb_info); |
307 | s3c24xx_udc_set_platdata(&h1940_udc_cfg); | 314 | s3c24xx_udc_set_platdata(&h1940_udc_cfg); |
315 | s3c24xx_ts_set_platdata(&h1940_ts_cfg); | ||
308 | s3c_i2c0_set_platdata(NULL); | 316 | s3c_i2c0_set_platdata(NULL); |
309 | 317 | ||
310 | s3c_device_sdi.dev.platform_data = &h1940_mmc_cfg; | 318 | s3c_device_sdi.dev.platform_data = &h1940_mmc_cfg; |
diff --git a/arch/arm/mach-s3c2440/mach-osiris.c b/arch/arm/mach-s3c2440/mach-osiris.c index 015dfb2a80da..f35371db33f5 100644 --- a/arch/arm/mach-s3c2440/mach-osiris.c +++ b/arch/arm/mach-s3c2440/mach-osiris.c | |||
@@ -208,6 +208,7 @@ static struct s3c2410_nand_set __initdata osiris_nand_sets[] = { | |||
208 | .name = "External", | 208 | .name = "External", |
209 | .nr_chips = 1, | 209 | .nr_chips = 1, |
210 | .nr_map = external_map, | 210 | .nr_map = external_map, |
211 | .options = NAND_SCAN_SILENT_NODEV, | ||
211 | .nr_partitions = ARRAY_SIZE(osiris_default_nand_part), | 212 | .nr_partitions = ARRAY_SIZE(osiris_default_nand_part), |
212 | .partitions = osiris_default_nand_part, | 213 | .partitions = osiris_default_nand_part, |
213 | }, | 214 | }, |
@@ -222,6 +223,7 @@ static struct s3c2410_nand_set __initdata osiris_nand_sets[] = { | |||
222 | .name = "chip1", | 223 | .name = "chip1", |
223 | .nr_chips = 1, | 224 | .nr_chips = 1, |
224 | .nr_map = chip1_map, | 225 | .nr_map = chip1_map, |
226 | .options = NAND_SCAN_SILENT_NODEV, | ||
225 | .nr_partitions = ARRAY_SIZE(osiris_default_nand_part), | 227 | .nr_partitions = ARRAY_SIZE(osiris_default_nand_part), |
226 | .partitions = osiris_default_nand_part, | 228 | .partitions = osiris_default_nand_part, |
227 | }, | 229 | }, |
diff --git a/arch/arm/mach-w90x900/include/mach/system.h b/arch/arm/mach-w90x900/include/mach/system.h index 940640066857..ce228bdc66dd 100644 --- a/arch/arm/mach-w90x900/include/mach/system.h +++ b/arch/arm/mach-w90x900/include/mach/system.h | |||
@@ -15,7 +15,15 @@ | |||
15 | * | 15 | * |
16 | */ | 16 | */ |
17 | 17 | ||
18 | #include <linux/io.h> | ||
18 | #include <asm/proc-fns.h> | 19 | #include <asm/proc-fns.h> |
20 | #include <mach/map.h> | ||
21 | #include <mach/regs-timer.h> | ||
22 | |||
23 | #define WTCR (TMR_BA + 0x1C) | ||
24 | #define WTCLK (1 << 10) | ||
25 | #define WTE (1 << 7) | ||
26 | #define WTRE (1 << 1) | ||
19 | 27 | ||
20 | static void arch_idle(void) | 28 | static void arch_idle(void) |
21 | { | 29 | { |
@@ -23,6 +31,11 @@ static void arch_idle(void) | |||
23 | 31 | ||
24 | static void arch_reset(char mode, const char *cmd) | 32 | static void arch_reset(char mode, const char *cmd) |
25 | { | 33 | { |
26 | cpu_reset(0); | 34 | if (mode == 's') { |
35 | /* Jump into ROM at address 0 */ | ||
36 | cpu_reset(0); | ||
37 | } else { | ||
38 | __raw_writel(WTE | WTRE | WTCLK, WTCR); | ||
39 | } | ||
27 | } | 40 | } |
28 | 41 | ||
diff --git a/arch/arm/mach-w90x900/time.c b/arch/arm/mach-w90x900/time.c index 4128af870b41..b80f769bc135 100644 --- a/arch/arm/mach-w90x900/time.c +++ b/arch/arm/mach-w90x900/time.c | |||
@@ -42,7 +42,10 @@ | |||
42 | #define TICKS_PER_SEC 100 | 42 | #define TICKS_PER_SEC 100 |
43 | #define PRESCALE 0x63 /* Divider = prescale + 1 */ | 43 | #define PRESCALE 0x63 /* Divider = prescale + 1 */ |
44 | 44 | ||
45 | unsigned int timer0_load; | 45 | #define TDR_SHIFT 24 |
46 | #define TDR_MASK ((1 << TDR_SHIFT) - 1) | ||
47 | |||
48 | static unsigned int timer0_load; | ||
46 | 49 | ||
47 | static void nuc900_clockevent_setmode(enum clock_event_mode mode, | 50 | static void nuc900_clockevent_setmode(enum clock_event_mode mode, |
48 | struct clock_event_device *clk) | 51 | struct clock_event_device *clk) |
@@ -88,7 +91,7 @@ static int nuc900_clockevent_setnextevent(unsigned long evt, | |||
88 | static struct clock_event_device nuc900_clockevent_device = { | 91 | static struct clock_event_device nuc900_clockevent_device = { |
89 | .name = "nuc900-timer0", | 92 | .name = "nuc900-timer0", |
90 | .shift = 32, | 93 | .shift = 32, |
91 | .features = CLOCK_EVT_MODE_PERIODIC | CLOCK_EVT_FEAT_ONESHOT, | 94 | .features = CLOCK_EVT_FEAT_PERIODIC | CLOCK_EVT_FEAT_ONESHOT, |
92 | .set_mode = nuc900_clockevent_setmode, | 95 | .set_mode = nuc900_clockevent_setmode, |
93 | .set_next_event = nuc900_clockevent_setnextevent, | 96 | .set_next_event = nuc900_clockevent_setnextevent, |
94 | .rating = 300, | 97 | .rating = 300, |
@@ -112,8 +115,23 @@ static struct irqaction nuc900_timer0_irq = { | |||
112 | .handler = nuc900_timer0_interrupt, | 115 | .handler = nuc900_timer0_interrupt, |
113 | }; | 116 | }; |
114 | 117 | ||
115 | static void __init nuc900_clockevents_init(unsigned int rate) | 118 | static void __init nuc900_clockevents_init(void) |
116 | { | 119 | { |
120 | unsigned int rate; | ||
121 | struct clk *clk = clk_get(NULL, "timer0"); | ||
122 | |||
123 | BUG_ON(IS_ERR(clk)); | ||
124 | |||
125 | __raw_writel(0x00, REG_TCSR0); | ||
126 | |||
127 | clk_enable(clk); | ||
128 | rate = clk_get_rate(clk) / (PRESCALE + 1); | ||
129 | |||
130 | timer0_load = (rate / TICKS_PER_SEC); | ||
131 | |||
132 | __raw_writel(RESETINT, REG_TISR); | ||
133 | setup_irq(IRQ_TIMER0, &nuc900_timer0_irq); | ||
134 | |||
117 | nuc900_clockevent_device.mult = div_sc(rate, NSEC_PER_SEC, | 135 | nuc900_clockevent_device.mult = div_sc(rate, NSEC_PER_SEC, |
118 | nuc900_clockevent_device.shift); | 136 | nuc900_clockevent_device.shift); |
119 | nuc900_clockevent_device.max_delta_ns = clockevent_delta2ns(0xffffffff, | 137 | nuc900_clockevent_device.max_delta_ns = clockevent_delta2ns(0xffffffff, |
@@ -127,26 +145,35 @@ static void __init nuc900_clockevents_init(unsigned int rate) | |||
127 | 145 | ||
128 | static cycle_t nuc900_get_cycles(struct clocksource *cs) | 146 | static cycle_t nuc900_get_cycles(struct clocksource *cs) |
129 | { | 147 | { |
130 | return ~__raw_readl(REG_TDR1); | 148 | return (~__raw_readl(REG_TDR1)) & TDR_MASK; |
131 | } | 149 | } |
132 | 150 | ||
133 | static struct clocksource clocksource_nuc900 = { | 151 | static struct clocksource clocksource_nuc900 = { |
134 | .name = "nuc900-timer1", | 152 | .name = "nuc900-timer1", |
135 | .rating = 200, | 153 | .rating = 200, |
136 | .read = nuc900_get_cycles, | 154 | .read = nuc900_get_cycles, |
137 | .mask = CLOCKSOURCE_MASK(32), | 155 | .mask = CLOCKSOURCE_MASK(TDR_SHIFT), |
138 | .shift = 20, | 156 | .shift = 10, |
139 | .flags = CLOCK_SOURCE_IS_CONTINUOUS, | 157 | .flags = CLOCK_SOURCE_IS_CONTINUOUS, |
140 | }; | 158 | }; |
141 | 159 | ||
142 | static void __init nuc900_clocksource_init(unsigned int rate) | 160 | static void __init nuc900_clocksource_init(void) |
143 | { | 161 | { |
144 | unsigned int val; | 162 | unsigned int val; |
163 | unsigned int rate; | ||
164 | struct clk *clk = clk_get(NULL, "timer1"); | ||
165 | |||
166 | BUG_ON(IS_ERR(clk)); | ||
167 | |||
168 | __raw_writel(0x00, REG_TCSR1); | ||
169 | |||
170 | clk_enable(clk); | ||
171 | rate = clk_get_rate(clk) / (PRESCALE + 1); | ||
145 | 172 | ||
146 | __raw_writel(0xffffffff, REG_TICR1); | 173 | __raw_writel(0xffffffff, REG_TICR1); |
147 | 174 | ||
148 | val = __raw_readl(REG_TCSR1); | 175 | val = __raw_readl(REG_TCSR1); |
149 | val |= (COUNTEN | PERIOD); | 176 | val |= (COUNTEN | PERIOD | PRESCALE); |
150 | __raw_writel(val, REG_TCSR1); | 177 | __raw_writel(val, REG_TCSR1); |
151 | 178 | ||
152 | clocksource_nuc900.mult = | 179 | clocksource_nuc900.mult = |
@@ -156,25 +183,8 @@ static void __init nuc900_clocksource_init(unsigned int rate) | |||
156 | 183 | ||
157 | static void __init nuc900_timer_init(void) | 184 | static void __init nuc900_timer_init(void) |
158 | { | 185 | { |
159 | struct clk *ck_ext = clk_get(NULL, "ext"); | 186 | nuc900_clocksource_init(); |
160 | unsigned int rate; | 187 | nuc900_clockevents_init(); |
161 | |||
162 | BUG_ON(IS_ERR(ck_ext)); | ||
163 | |||
164 | rate = clk_get_rate(ck_ext); | ||
165 | clk_put(ck_ext); | ||
166 | rate = rate / (PRESCALE + 0x01); | ||
167 | |||
168 | /* set a known state */ | ||
169 | __raw_writel(0x00, REG_TCSR0); | ||
170 | __raw_writel(0x00, REG_TCSR1); | ||
171 | __raw_writel(RESETINT, REG_TISR); | ||
172 | timer0_load = (rate / TICKS_PER_SEC); | ||
173 | |||
174 | setup_irq(IRQ_TIMER0, &nuc900_timer0_irq); | ||
175 | |||
176 | nuc900_clocksource_init(rate); | ||
177 | nuc900_clockevents_init(rate); | ||
178 | } | 188 | } |
179 | 189 | ||
180 | struct sys_timer nuc900_timer = { | 190 | struct sys_timer nuc900_timer = { |
diff --git a/arch/arm/mm/tlb-v7.S b/arch/arm/mm/tlb-v7.S index a26a605b73bd..0cb1848bd876 100644 --- a/arch/arm/mm/tlb-v7.S +++ b/arch/arm/mm/tlb-v7.S | |||
@@ -40,7 +40,6 @@ ENTRY(v7wbi_flush_user_tlb_range) | |||
40 | asid r3, r3 @ mask ASID | 40 | asid r3, r3 @ mask ASID |
41 | orr r0, r3, r0, lsl #PAGE_SHIFT @ Create initial MVA | 41 | orr r0, r3, r0, lsl #PAGE_SHIFT @ Create initial MVA |
42 | mov r1, r1, lsl #PAGE_SHIFT | 42 | mov r1, r1, lsl #PAGE_SHIFT |
43 | vma_vm_flags r2, r2 @ get vma->vm_flags | ||
44 | 1: | 43 | 1: |
45 | #ifdef CONFIG_SMP | 44 | #ifdef CONFIG_SMP |
46 | mcr p15, 0, r0, c8, c3, 1 @ TLB invalidate U MVA (shareable) | 45 | mcr p15, 0, r0, c8, c3, 1 @ TLB invalidate U MVA (shareable) |
diff --git a/arch/arm/plat-mxc/include/mach/iomux-mx25.h b/arch/arm/plat-mxc/include/mach/iomux-mx25.h index 810c47f56e77..9af494f0ab3d 100644 --- a/arch/arm/plat-mxc/include/mach/iomux-mx25.h +++ b/arch/arm/plat-mxc/include/mach/iomux-mx25.h | |||
@@ -58,19 +58,19 @@ | |||
58 | 58 | ||
59 | #define MX25_PAD_A18__A18 IOMUX_PAD(0x23c, 0x020, 0x10, 0, 0, NO_PAD_CTRL) | 59 | #define MX25_PAD_A18__A18 IOMUX_PAD(0x23c, 0x020, 0x10, 0, 0, NO_PAD_CTRL) |
60 | #define MX25_PAD_A18__GPIO_2_4 IOMUX_PAD(0x23c, 0x020, 0x15, 0, 0, NO_PAD_CTRL) | 60 | #define MX25_PAD_A18__GPIO_2_4 IOMUX_PAD(0x23c, 0x020, 0x15, 0, 0, NO_PAD_CTRL) |
61 | #define MX25_PAD_A18__FEC_COL IOMUX_PAD(0x23c, 0x020, 0x17, 0x504, 0, NO_PAD_CTL) | 61 | #define MX25_PAD_A18__FEC_COL IOMUX_PAD(0x23c, 0x020, 0x17, 0x504, 0, NO_PAD_CTRL) |
62 | 62 | ||
63 | #define MX25_PAD_A19__A19 IOMUX_PAD(0x240, 0x024, 0x10, 0, 0, NO_PAD_CTRL) | 63 | #define MX25_PAD_A19__A19 IOMUX_PAD(0x240, 0x024, 0x10, 0, 0, NO_PAD_CTRL) |
64 | #define MX25_PAD_A19__FEC_RX_ER IOMUX_PAD(0x240, 0x024, 0x17, 0x518, 0, NO_PAD_CTL) | 64 | #define MX25_PAD_A19__FEC_RX_ER IOMUX_PAD(0x240, 0x024, 0x17, 0x518, 0, NO_PAD_CTRL) |
65 | #define MX25_PAD_A19__GPIO_2_5 IOMUX_PAD(0x240, 0x024, 0x15, 0, 0, NO_PAD_CTRL) | 65 | #define MX25_PAD_A19__GPIO_2_5 IOMUX_PAD(0x240, 0x024, 0x15, 0, 0, NO_PAD_CTRL) |
66 | 66 | ||
67 | #define MX25_PAD_A20__A20 IOMUX_PAD(0x244, 0x028, 0x10, 0, 0, NO_PAD_CTRL) | 67 | #define MX25_PAD_A20__A20 IOMUX_PAD(0x244, 0x028, 0x10, 0, 0, NO_PAD_CTRL) |
68 | #define MX25_PAD_A20__GPIO_2_6 IOMUX_PAD(0x244, 0x028, 0x15, 0, 0, NO_PAD_CTRL) | 68 | #define MX25_PAD_A20__GPIO_2_6 IOMUX_PAD(0x244, 0x028, 0x15, 0, 0, NO_PAD_CTRL) |
69 | #define MX25_PAD_A20__FEC_RDATA2 IOMUX_PAD(0x244, 0x028, 0x17, 0x50c, 0, NO_PAD_CTL) | 69 | #define MX25_PAD_A20__FEC_RDATA2 IOMUX_PAD(0x244, 0x028, 0x17, 0x50c, 0, NO_PAD_CTRL) |
70 | 70 | ||
71 | #define MX25_PAD_A21__A21 IOMUX_PAD(0x248, 0x02c, 0x10, 0, 0, NO_PAD_CTRL) | 71 | #define MX25_PAD_A21__A21 IOMUX_PAD(0x248, 0x02c, 0x10, 0, 0, NO_PAD_CTRL) |
72 | #define MX25_PAD_A21__GPIO_2_7 IOMUX_PAD(0x248, 0x02c, 0x15, 0, 0, NO_PAD_CTRL) | 72 | #define MX25_PAD_A21__GPIO_2_7 IOMUX_PAD(0x248, 0x02c, 0x15, 0, 0, NO_PAD_CTRL) |
73 | #define MX25_PAD_A21__FEC_RDATA3 IOMUX_PAD(0x248, 0x02c, 0x17, 0x510, 0, NO_PAD_CTL) | 73 | #define MX25_PAD_A21__FEC_RDATA3 IOMUX_PAD(0x248, 0x02c, 0x17, 0x510, 0, NO_PAD_CTRL) |
74 | 74 | ||
75 | #define MX25_PAD_A22__A22 IOMUX_PAD(0x000, 0x030, 0x10, 0, 0, NO_PAD_CTRL) | 75 | #define MX25_PAD_A22__A22 IOMUX_PAD(0x000, 0x030, 0x10, 0, 0, NO_PAD_CTRL) |
76 | #define MX25_PAD_A22__GPIO_2_8 IOMUX_PAD(0x000, 0x030, 0x15, 0, 0, NO_PAD_CTRL) | 76 | #define MX25_PAD_A22__GPIO_2_8 IOMUX_PAD(0x000, 0x030, 0x15, 0, 0, NO_PAD_CTRL) |
@@ -80,11 +80,11 @@ | |||
80 | 80 | ||
81 | #define MX25_PAD_A24__A24 IOMUX_PAD(0x250, 0x038, 0x10, 0, 0, NO_PAD_CTRL) | 81 | #define MX25_PAD_A24__A24 IOMUX_PAD(0x250, 0x038, 0x10, 0, 0, NO_PAD_CTRL) |
82 | #define MX25_PAD_A24__GPIO_2_10 IOMUX_PAD(0x250, 0x038, 0x15, 0, 0, NO_PAD_CTRL) | 82 | #define MX25_PAD_A24__GPIO_2_10 IOMUX_PAD(0x250, 0x038, 0x15, 0, 0, NO_PAD_CTRL) |
83 | #define MX25_PAD_A24__FEC_RX_CLK IOMUX_PAD(0x250, 0x038, 0x17, 0x514, 0, NO_PAD_CTL) | 83 | #define MX25_PAD_A24__FEC_RX_CLK IOMUX_PAD(0x250, 0x038, 0x17, 0x514, 0, NO_PAD_CTRL) |
84 | 84 | ||
85 | #define MX25_PAD_A25__A25 IOMUX_PAD(0x254, 0x03c, 0x10, 0, 0, NO_PAD_CTRL) | 85 | #define MX25_PAD_A25__A25 IOMUX_PAD(0x254, 0x03c, 0x10, 0, 0, NO_PAD_CTRL) |
86 | #define MX25_PAD_A25__GPIO_2_11 IOMUX_PAD(0x254, 0x03c, 0x15, 0, 0, NO_PAD_CTRL) | 86 | #define MX25_PAD_A25__GPIO_2_11 IOMUX_PAD(0x254, 0x03c, 0x15, 0, 0, NO_PAD_CTRL) |
87 | #define MX25_PAD_A25__FEC_CRS IOMUX_PAD(0x254, 0x03c, 0x17, 0x508, 0, NO_PAD_CTL) | 87 | #define MX25_PAD_A25__FEC_CRS IOMUX_PAD(0x254, 0x03c, 0x17, 0x508, 0, NO_PAD_CTRL) |
88 | 88 | ||
89 | #define MX25_PAD_EB0__EB0 IOMUX_PAD(0x258, 0x040, 0x10, 0, 0, NO_PAD_CTRL) | 89 | #define MX25_PAD_EB0__EB0 IOMUX_PAD(0x258, 0x040, 0x10, 0, 0, NO_PAD_CTRL) |
90 | #define MX25_PAD_EB0__AUD4_TXD IOMUX_PAD(0x258, 0x040, 0x14, 0x464, 0, NO_PAD_CTRL) | 90 | #define MX25_PAD_EB0__AUD4_TXD IOMUX_PAD(0x258, 0x040, 0x14, 0x464, 0, NO_PAD_CTRL) |
@@ -112,7 +112,7 @@ | |||
112 | #define MX25_PAD_CS5__UART5_RTS IOMUX_PAD(0x268, 0x058, 0x13, 0x574, 0, NO_PAD_CTRL) | 112 | #define MX25_PAD_CS5__UART5_RTS IOMUX_PAD(0x268, 0x058, 0x13, 0x574, 0, NO_PAD_CTRL) |
113 | #define MX25_PAD_CS5__GPIO_3_21 IOMUX_PAD(0x268, 0x058, 0x15, 0, 0, NO_PAD_CTRL) | 113 | #define MX25_PAD_CS5__GPIO_3_21 IOMUX_PAD(0x268, 0x058, 0x15, 0, 0, NO_PAD_CTRL) |
114 | 114 | ||
115 | #define MX25_PAD_NF_CE0__NF_CE0 IOMUX_PAD(0x26c, 0x05c, 0x10, 0, 0, NO_PAD_CTL) | 115 | #define MX25_PAD_NF_CE0__NF_CE0 IOMUX_PAD(0x26c, 0x05c, 0x10, 0, 0, NO_PAD_CTRL) |
116 | #define MX25_PAD_NF_CE0__GPIO_3_22 IOMUX_PAD(0x26c, 0x05c, 0x15, 0, 0, NO_PAD_CTRL) | 116 | #define MX25_PAD_NF_CE0__GPIO_3_22 IOMUX_PAD(0x26c, 0x05c, 0x15, 0, 0, NO_PAD_CTRL) |
117 | 117 | ||
118 | #define MX25_PAD_ECB__ECB IOMUX_PAD(0x270, 0x060, 0x10, 0, 0, NO_PAD_CTRL) | 118 | #define MX25_PAD_ECB__ECB IOMUX_PAD(0x270, 0x060, 0x10, 0, 0, NO_PAD_CTRL) |
@@ -229,28 +229,28 @@ | |||
229 | #define MX25_PAD_LD7__GPIO_1_21 IOMUX_PAD(0x2dc, 0x0e4, 0x15, 0, 0, NO_PAD_CTRL) | 229 | #define MX25_PAD_LD7__GPIO_1_21 IOMUX_PAD(0x2dc, 0x0e4, 0x15, 0, 0, NO_PAD_CTRL) |
230 | 230 | ||
231 | #define MX25_PAD_LD8__LD8 IOMUX_PAD(0x2e0, 0x0e8, 0x10, 0, 0, NO_PAD_CTRL) | 231 | #define MX25_PAD_LD8__LD8 IOMUX_PAD(0x2e0, 0x0e8, 0x10, 0, 0, NO_PAD_CTRL) |
232 | #define MX25_PAD_LD8__FEC_TX_ERR IOMUX_PAD(0x2e0, 0x0e8, 0x15, 0, 0, NO_PAD_CTL) | 232 | #define MX25_PAD_LD8__FEC_TX_ERR IOMUX_PAD(0x2e0, 0x0e8, 0x15, 0, 0, NO_PAD_CTRL) |
233 | 233 | ||
234 | #define MX25_PAD_LD9__LD9 IOMUX_PAD(0x2e4, 0x0ec, 0x10, 0, 0, NO_PAD_CTRL) | 234 | #define MX25_PAD_LD9__LD9 IOMUX_PAD(0x2e4, 0x0ec, 0x10, 0, 0, NO_PAD_CTRL) |
235 | #define MX25_PAD_LD9__FEC_COL IOMUX_PAD(0x2e4, 0x0ec, 0x15, 0x504, 1, NO_PAD_CTL) | 235 | #define MX25_PAD_LD9__FEC_COL IOMUX_PAD(0x2e4, 0x0ec, 0x15, 0x504, 1, NO_PAD_CTRL) |
236 | 236 | ||
237 | #define MX25_PAD_LD10__LD10 IOMUX_PAD(0x2e8, 0x0f0, 0x10, 0, 0, NO_PAD_CTRL) | 237 | #define MX25_PAD_LD10__LD10 IOMUX_PAD(0x2e8, 0x0f0, 0x10, 0, 0, NO_PAD_CTRL) |
238 | #define MX25_PAD_LD10__FEC_RX_ER IOMUX_PAD(0x2e8, 0x0f0, 0x15, 0x518, 1, NO_PAD_CTL) | 238 | #define MX25_PAD_LD10__FEC_RX_ER IOMUX_PAD(0x2e8, 0x0f0, 0x15, 0x518, 1, NO_PAD_CTRL) |
239 | 239 | ||
240 | #define MX25_PAD_LD11__LD11 IOMUX_PAD(0x2ec, 0x0f4, 0x10, 0, 0, NO_PAD_CTRL) | 240 | #define MX25_PAD_LD11__LD11 IOMUX_PAD(0x2ec, 0x0f4, 0x10, 0, 0, NO_PAD_CTRL) |
241 | #define MX25_PAD_LD11__FEC_RDATA2 IOMUX_PAD(0x2ec, 0x0f4, 0x15, 0x50c, 1, NO_PAD_CTL) | 241 | #define MX25_PAD_LD11__FEC_RDATA2 IOMUX_PAD(0x2ec, 0x0f4, 0x15, 0x50c, 1, NO_PAD_CTRL) |
242 | 242 | ||
243 | #define MX25_PAD_LD12__LD12 IOMUX_PAD(0x2f0, 0x0f8, 0x10, 0, 0, NO_PAD_CTRL) | 243 | #define MX25_PAD_LD12__LD12 IOMUX_PAD(0x2f0, 0x0f8, 0x10, 0, 0, NO_PAD_CTRL) |
244 | #define MX25_PAD_LD12__FEC_RDATA3 IOMUX_PAD(0x2f0, 0x0f8, 0x15, 0x510, 1, NO_PAD_CTL) | 244 | #define MX25_PAD_LD12__FEC_RDATA3 IOMUX_PAD(0x2f0, 0x0f8, 0x15, 0x510, 1, NO_PAD_CTRL) |
245 | 245 | ||
246 | #define MX25_PAD_LD13__LD13 IOMUX_PAD(0x2f4, 0x0fc, 0x10, 0, 0, NO_PAD_CTRL) | 246 | #define MX25_PAD_LD13__LD13 IOMUX_PAD(0x2f4, 0x0fc, 0x10, 0, 0, NO_PAD_CTRL) |
247 | #define MX25_PAD_LD13__FEC_TDATA2 IOMUX_PAD(0x2f4, 0x0fc, 0x15, 0, 0, NO_PAD_CTL) | 247 | #define MX25_PAD_LD13__FEC_TDATA2 IOMUX_PAD(0x2f4, 0x0fc, 0x15, 0, 0, NO_PAD_CTRL) |
248 | 248 | ||
249 | #define MX25_PAD_LD14__LD14 IOMUX_PAD(0x2f8, 0x100, 0x10, 0, 0, NO_PAD_CTRL) | 249 | #define MX25_PAD_LD14__LD14 IOMUX_PAD(0x2f8, 0x100, 0x10, 0, 0, NO_PAD_CTRL) |
250 | #define MX25_PAD_LD14__FEC_TDATA3 IOMUX_PAD(0x2f8, 0x100, 0x15, 0, 0, NO_PAD_CTL) | 250 | #define MX25_PAD_LD14__FEC_TDATA3 IOMUX_PAD(0x2f8, 0x100, 0x15, 0, 0, NO_PAD_CTRL) |
251 | 251 | ||
252 | #define MX25_PAD_LD15__LD15 IOMUX_PAD(0x2fc, 0x104, 0x10, 0, 0, NO_PAD_CTRL) | 252 | #define MX25_PAD_LD15__LD15 IOMUX_PAD(0x2fc, 0x104, 0x10, 0, 0, NO_PAD_CTRL) |
253 | #define MX25_PAD_LD15__FEC_RX_CLK IOMUX_PAD(0x2fc, 0x104, 0x15, 0x514, 1, NO_PAD_CTL) | 253 | #define MX25_PAD_LD15__FEC_RX_CLK IOMUX_PAD(0x2fc, 0x104, 0x15, 0x514, 1, NO_PAD_CTRL) |
254 | 254 | ||
255 | #define MX25_PAD_HSYNC__HSYNC IOMUX_PAD(0x300, 0x108, 0x10, 0, 0, NO_PAD_CTRL) | 255 | #define MX25_PAD_HSYNC__HSYNC IOMUX_PAD(0x300, 0x108, 0x10, 0, 0, NO_PAD_CTRL) |
256 | #define MX25_PAD_HSYNC__GPIO_1_22 IOMUX_PAD(0x300, 0x108, 0x15, 0, 0, NO_PAD_CTRL) | 256 | #define MX25_PAD_HSYNC__GPIO_1_22 IOMUX_PAD(0x300, 0x108, 0x15, 0, 0, NO_PAD_CTRL) |
@@ -265,7 +265,7 @@ | |||
265 | #define MX25_PAD_OE_ACD__GPIO_1_25 IOMUX_PAD(0x30c, 0x114, 0x15, 0, 0, NO_PAD_CTRL) | 265 | #define MX25_PAD_OE_ACD__GPIO_1_25 IOMUX_PAD(0x30c, 0x114, 0x15, 0, 0, NO_PAD_CTRL) |
266 | 266 | ||
267 | #define MX25_PAD_CONTRAST__CONTRAST IOMUX_PAD(0x310, 0x118, 0x10, 0, 0, NO_PAD_CTRL) | 267 | #define MX25_PAD_CONTRAST__CONTRAST IOMUX_PAD(0x310, 0x118, 0x10, 0, 0, NO_PAD_CTRL) |
268 | #define MX25_PAD_CONTRAST__FEC_CRS IOMUX_PAD(0x310, 0x118, 0x15, 0x508, 1, NO_PAD_CTL) | 268 | #define MX25_PAD_CONTRAST__FEC_CRS IOMUX_PAD(0x310, 0x118, 0x15, 0x508, 1, NO_PAD_CTRL) |
269 | 269 | ||
270 | #define MX25_PAD_PWM__PWM IOMUX_PAD(0x314, 0x11c, 0x10, 0, 0, NO_PAD_CTRL) | 270 | #define MX25_PAD_PWM__PWM IOMUX_PAD(0x314, 0x11c, 0x10, 0, 0, NO_PAD_CTRL) |
271 | #define MX25_PAD_PWM__GPIO_1_26 IOMUX_PAD(0x314, 0x11c, 0x15, 0, 0, NO_PAD_CTRL) | 271 | #define MX25_PAD_PWM__GPIO_1_26 IOMUX_PAD(0x314, 0x11c, 0x15, 0, 0, NO_PAD_CTRL) |
@@ -354,19 +354,19 @@ | |||
354 | #define MX25_PAD_UART2_TXD__GPIO_4_27 IOMUX_PAD(0x37c, 0x184, 0x15, 0, 0, NO_PAD_CTRL) | 354 | #define MX25_PAD_UART2_TXD__GPIO_4_27 IOMUX_PAD(0x37c, 0x184, 0x15, 0, 0, NO_PAD_CTRL) |
355 | 355 | ||
356 | #define MX25_PAD_UART2_RTS__UART2_RTS IOMUX_PAD(0x380, 0x188, 0x10, 0, 0, NO_PAD_CTRL) | 356 | #define MX25_PAD_UART2_RTS__UART2_RTS IOMUX_PAD(0x380, 0x188, 0x10, 0, 0, NO_PAD_CTRL) |
357 | #define MX25_PAD_UART2_RTS__FEC_COL IOMUX_PAD(0x380, 0x188, 0x12, 0x504, 2, NO_PAD_CTL) | 357 | #define MX25_PAD_UART2_RTS__FEC_COL IOMUX_PAD(0x380, 0x188, 0x12, 0x504, 2, NO_PAD_CTRL) |
358 | #define MX25_PAD_UART2_RTS__GPIO_4_28 IOMUX_PAD(0x380, 0x188, 0x15, 0, 0, NO_PAD_CTRL) | 358 | #define MX25_PAD_UART2_RTS__GPIO_4_28 IOMUX_PAD(0x380, 0x188, 0x15, 0, 0, NO_PAD_CTRL) |
359 | 359 | ||
360 | #define MX25_PAD_UART2_CTS__FEC_RX_ER IOMUX_PAD(0x384, 0x18c, 0x12, 0x518, 2, NO_PAD_CTL) | 360 | #define MX25_PAD_UART2_CTS__FEC_RX_ER IOMUX_PAD(0x384, 0x18c, 0x12, 0x518, 2, NO_PAD_CTRL) |
361 | #define MX25_PAD_UART2_CTS__UART2_CTS IOMUX_PAD(0x384, 0x18c, 0x10, 0, 0, NO_PAD_CTRL) | 361 | #define MX25_PAD_UART2_CTS__UART2_CTS IOMUX_PAD(0x384, 0x18c, 0x10, 0, 0, NO_PAD_CTRL) |
362 | #define MX25_PAD_UART2_CTS__GPIO_4_29 IOMUX_PAD(0x384, 0x18c, 0x15, 0, 0, NO_PAD_CTRL) | 362 | #define MX25_PAD_UART2_CTS__GPIO_4_29 IOMUX_PAD(0x384, 0x18c, 0x15, 0, 0, NO_PAD_CTRL) |
363 | 363 | ||
364 | #define MX25_PAD_SD1_CMD__SD1_CMD IOMUX_PAD(0x388, 0x190, 0x10, 0, 0, PAD_CTL_PUS_47K_UP) | 364 | #define MX25_PAD_SD1_CMD__SD1_CMD IOMUX_PAD(0x388, 0x190, 0x10, 0, 0, PAD_CTL_PUS_47K_UP) |
365 | #define MX25_PAD_SD1_CMD__FEC_RDATA2 IOMUX_PAD(0x388, 0x190, 0x12, 0x50c, 2, NO_PAD_CTL) | 365 | #define MX25_PAD_SD1_CMD__FEC_RDATA2 IOMUX_PAD(0x388, 0x190, 0x12, 0x50c, 2, NO_PAD_CTRL) |
366 | #define MX25_PAD_SD1_CMD__GPIO_2_23 IOMUX_PAD(0x388, 0x190, 0x15, 0, 0, NO_PAD_CTRL) | 366 | #define MX25_PAD_SD1_CMD__GPIO_2_23 IOMUX_PAD(0x388, 0x190, 0x15, 0, 0, NO_PAD_CTRL) |
367 | 367 | ||
368 | #define MX25_PAD_SD1_CLK__SD1_CLK IOMUX_PAD(0x38c, 0x194, 0x10, 0, 0, PAD_CTL_PUS_47K_UP) | 368 | #define MX25_PAD_SD1_CLK__SD1_CLK IOMUX_PAD(0x38c, 0x194, 0x10, 0, 0, PAD_CTL_PUS_47K_UP) |
369 | #define MX25_PAD_SD1_CLK__FEC_RDATA3 IOMUX_PAD(0x38c, 0x194, 0x12, 0x510, 2, NO_PAD_CTL) | 369 | #define MX25_PAD_SD1_CLK__FEC_RDATA3 IOMUX_PAD(0x38c, 0x194, 0x12, 0x510, 2, NO_PAD_CTRL) |
370 | #define MX25_PAD_SD1_CLK__GPIO_2_24 IOMUX_PAD(0x38c, 0x194, 0x15, 0, 0, NO_PAD_CTRL) | 370 | #define MX25_PAD_SD1_CLK__GPIO_2_24 IOMUX_PAD(0x38c, 0x194, 0x15, 0, 0, NO_PAD_CTRL) |
371 | 371 | ||
372 | #define MX25_PAD_SD1_DATA0__SD1_DATA0 IOMUX_PAD(0x390, 0x198, 0x10, 0, 0, PAD_CTL_PUS_47K_UP) | 372 | #define MX25_PAD_SD1_DATA0__SD1_DATA0 IOMUX_PAD(0x390, 0x198, 0x10, 0, 0, PAD_CTL_PUS_47K_UP) |
@@ -377,11 +377,11 @@ | |||
377 | #define MX25_PAD_SD1_DATA1__GPIO_2_26 IOMUX_PAD(0x394, 0x19c, 0x15, 0, 0, NO_PAD_CTRL) | 377 | #define MX25_PAD_SD1_DATA1__GPIO_2_26 IOMUX_PAD(0x394, 0x19c, 0x15, 0, 0, NO_PAD_CTRL) |
378 | 378 | ||
379 | #define MX25_PAD_SD1_DATA2__SD1_DATA2 IOMUX_PAD(0x398, 0x1a0, 0x10, 0, 0, PAD_CTL_PUS_47K_UP) | 379 | #define MX25_PAD_SD1_DATA2__SD1_DATA2 IOMUX_PAD(0x398, 0x1a0, 0x10, 0, 0, PAD_CTL_PUS_47K_UP) |
380 | #define MX25_PAD_SD1_DATA2__FEC_RX_CLK IOMUX_PAD(0x398, 0x1a0, 0x15, 0x514, 2, NO_PAD_CTL) | 380 | #define MX25_PAD_SD1_DATA2__FEC_RX_CLK IOMUX_PAD(0x398, 0x1a0, 0x15, 0x514, 2, NO_PAD_CTRL) |
381 | #define MX25_PAD_SD1_DATA2__GPIO_2_27 IOMUX_PAD(0x398, 0x1a0, 0x15, 0, 0, NO_PAD_CTRL) | 381 | #define MX25_PAD_SD1_DATA2__GPIO_2_27 IOMUX_PAD(0x398, 0x1a0, 0x15, 0, 0, NO_PAD_CTRL) |
382 | 382 | ||
383 | #define MX25_PAD_SD1_DATA3__SD1_DATA3 IOMUX_PAD(0x39c, 0x1a4, 0x10, 0, 0, PAD_CTL_PUS_47K_UP) | 383 | #define MX25_PAD_SD1_DATA3__SD1_DATA3 IOMUX_PAD(0x39c, 0x1a4, 0x10, 0, 0, PAD_CTL_PUS_47K_UP) |
384 | #define MX25_PAD_SD1_DATA3__FEC_CRS IOMUX_PAD(0x39c, 0x1a4, 0x10, 0x508, 2, NO_PAD_CTL) | 384 | #define MX25_PAD_SD1_DATA3__FEC_CRS IOMUX_PAD(0x39c, 0x1a4, 0x10, 0x508, 2, NO_PAD_CTRL) |
385 | #define MX25_PAD_SD1_DATA3__GPIO_2_28 IOMUX_PAD(0x39c, 0x1a4, 0x15, 0, 0, NO_PAD_CTRL) | 385 | #define MX25_PAD_SD1_DATA3__GPIO_2_28 IOMUX_PAD(0x39c, 0x1a4, 0x15, 0, 0, NO_PAD_CTRL) |
386 | 386 | ||
387 | #define MX25_PAD_KPP_ROW0__KPP_ROW0 IOMUX_PAD(0x3a0, 0x1a8, 0x10, 0, 0, PAD_CTL_PKE) | 387 | #define MX25_PAD_KPP_ROW0__KPP_ROW0 IOMUX_PAD(0x3a0, 0x1a8, 0x10, 0, 0, PAD_CTL_PKE) |
@@ -410,7 +410,7 @@ | |||
410 | #define MX25_PAD_KPP_COL3__KPP_COL3 IOMUX_PAD(0x3bc, 0x1c4, 0x10, 0, 0, PAD_CTL_PKE | PAD_CTL_ODE) | 410 | #define MX25_PAD_KPP_COL3__KPP_COL3 IOMUX_PAD(0x3bc, 0x1c4, 0x10, 0, 0, PAD_CTL_PKE | PAD_CTL_ODE) |
411 | #define MX25_PAD_KPP_COL3__GPIO_3_4 IOMUX_PAD(0x3bc, 0x1c4, 0x15, 0, 0, NO_PAD_CTRL) | 411 | #define MX25_PAD_KPP_COL3__GPIO_3_4 IOMUX_PAD(0x3bc, 0x1c4, 0x15, 0, 0, NO_PAD_CTRL) |
412 | 412 | ||
413 | #define MX25_PAD_FEC_MDC__FEC_MDC IOMUX_PAD(0x3c0, 0x1c8, 0x10, 0, 0, NO_PAD_CTL) | 413 | #define MX25_PAD_FEC_MDC__FEC_MDC IOMUX_PAD(0x3c0, 0x1c8, 0x10, 0, 0, NO_PAD_CTRL) |
414 | #define MX25_PAD_FEC_MDC__AUD4_TXD IOMUX_PAD(0x3c0, 0x1c8, 0x12, 0x464, 1, NO_PAD_CTRL) | 414 | #define MX25_PAD_FEC_MDC__AUD4_TXD IOMUX_PAD(0x3c0, 0x1c8, 0x12, 0x464, 1, NO_PAD_CTRL) |
415 | #define MX25_PAD_FEC_MDC__GPIO_3_5 IOMUX_PAD(0x3c0, 0x1c8, 0x15, 0, 0, NO_PAD_CTRL) | 415 | #define MX25_PAD_FEC_MDC__GPIO_3_5 IOMUX_PAD(0x3c0, 0x1c8, 0x15, 0, 0, NO_PAD_CTRL) |
416 | 416 | ||
@@ -418,23 +418,23 @@ | |||
418 | #define MX25_PAD_FEC_MDIO__AUD4_RXD IOMUX_PAD(0x3c4, 0x1cc, 0x12, 0x460, 1, NO_PAD_CTRL) | 418 | #define MX25_PAD_FEC_MDIO__AUD4_RXD IOMUX_PAD(0x3c4, 0x1cc, 0x12, 0x460, 1, NO_PAD_CTRL) |
419 | #define MX25_PAD_FEC_MDIO__GPIO_3_6 IOMUX_PAD(0x3c4, 0x1cc, 0x15, 0, 0, NO_PAD_CTRL) | 419 | #define MX25_PAD_FEC_MDIO__GPIO_3_6 IOMUX_PAD(0x3c4, 0x1cc, 0x15, 0, 0, NO_PAD_CTRL) |
420 | 420 | ||
421 | #define MX25_PAD_FEC_TDATA0__FEC_TDATA0 IOMUX_PAD(0x3c8, 0x1d0, 0x10, 0, 0, NO_PAD_CTL) | 421 | #define MX25_PAD_FEC_TDATA0__FEC_TDATA0 IOMUX_PAD(0x3c8, 0x1d0, 0x10, 0, 0, NO_PAD_CTRL) |
422 | #define MX25_PAD_FEC_TDATA0__GPIO_3_7 IOMUX_PAD(0x3c8, 0x1d0, 0x15, 0, 0, NO_PAD_CTRL) | 422 | #define MX25_PAD_FEC_TDATA0__GPIO_3_7 IOMUX_PAD(0x3c8, 0x1d0, 0x15, 0, 0, NO_PAD_CTRL) |
423 | 423 | ||
424 | #define MX25_PAD_FEC_TDATA1__FEC_TDATA1 IOMUX_PAD(0x3cc, 0x1d4, 0x10, 0, 0, NO_PAD_CTL) | 424 | #define MX25_PAD_FEC_TDATA1__FEC_TDATA1 IOMUX_PAD(0x3cc, 0x1d4, 0x10, 0, 0, NO_PAD_CTRL) |
425 | #define MX25_PAD_FEC_TDATA1__AUD4_TXFS IOMUX_PAD(0x3cc, 0x1d4, 0x12, 0x474, 1, NO_PAD_CTRL) | 425 | #define MX25_PAD_FEC_TDATA1__AUD4_TXFS IOMUX_PAD(0x3cc, 0x1d4, 0x12, 0x474, 1, NO_PAD_CTRL) |
426 | #define MX25_PAD_FEC_TDATA1__GPIO_3_8 IOMUX_PAD(0x3cc, 0x1d4, 0x15, 0, 0, NO_PAD_CTRL) | 426 | #define MX25_PAD_FEC_TDATA1__GPIO_3_8 IOMUX_PAD(0x3cc, 0x1d4, 0x15, 0, 0, NO_PAD_CTRL) |
427 | 427 | ||
428 | #define MX25_PAD_FEC_TX_EN__FEC_TX_EN IOMUX_PAD(0x3d0, 0x1d8, 0x10, 0, 0, NO_PAD_CTL) | 428 | #define MX25_PAD_FEC_TX_EN__FEC_TX_EN IOMUX_PAD(0x3d0, 0x1d8, 0x10, 0, 0, NO_PAD_CTRL) |
429 | #define MX25_PAD_FEC_TX_EN__GPIO_3_9 IOMUX_PAD(0x3d0, 0x1d8, 0x15, 0, 0, NO_PAD_CTRL) | 429 | #define MX25_PAD_FEC_TX_EN__GPIO_3_9 IOMUX_PAD(0x3d0, 0x1d8, 0x15, 0, 0, NO_PAD_CTRL) |
430 | 430 | ||
431 | #define MX25_PAD_FEC_RDATA0__FEC_RDATA0 IOMUX_PAD(0x3d4, 0x1dc, 0x10, 0, 0, PAD_CTL_PUS_100K_DOWN | NO_PAD_CTL) | 431 | #define MX25_PAD_FEC_RDATA0__FEC_RDATA0 IOMUX_PAD(0x3d4, 0x1dc, 0x10, 0, 0, PAD_CTL_PUS_100K_DOWN | NO_PAD_CTRL) |
432 | #define MX25_PAD_FEC_RDATA0__GPIO_3_10 IOMUX_PAD(0x3d4, 0x1dc, 0x15, 0, 0, NO_PAD_CTRL) | 432 | #define MX25_PAD_FEC_RDATA0__GPIO_3_10 IOMUX_PAD(0x3d4, 0x1dc, 0x15, 0, 0, NO_PAD_CTRL) |
433 | 433 | ||
434 | #define MX25_PAD_FEC_RDATA1__FEC_RDATA1 IOMUX_PAD(0x3d8, 0x1e0, 0x10, 0, 0, PAD_CTL_PUS_100K_DOWN | NO_PAD_CTL) | 434 | #define MX25_PAD_FEC_RDATA1__FEC_RDATA1 IOMUX_PAD(0x3d8, 0x1e0, 0x10, 0, 0, PAD_CTL_PUS_100K_DOWN | NO_PAD_CTRL) |
435 | #define MX25_PAD_FEC_RDATA1__GPIO_3_11 IOMUX_PAD(0x3d8, 0x1e0, 0x15, 0, 0, NO_PAD_CTRL) | 435 | #define MX25_PAD_FEC_RDATA1__GPIO_3_11 IOMUX_PAD(0x3d8, 0x1e0, 0x15, 0, 0, NO_PAD_CTRL) |
436 | 436 | ||
437 | #define MX25_PAD_FEC_RX_DV__FEC_RX_DV IOMUX_PAD(0x3dc, 0x1e4, 0x10, 0, 0, PAD_CTL_PUS_100K_DOWN | NO_PAD_CTL) | 437 | #define MX25_PAD_FEC_RX_DV__FEC_RX_DV IOMUX_PAD(0x3dc, 0x1e4, 0x10, 0, 0, PAD_CTL_PUS_100K_DOWN | NO_PAD_CTRL) |
438 | #define MX25_PAD_FEC_RX_DV__CAN2_RX IOMUX_PAD(0x3dc, 0x1e4, 0x14, 0x484, 0, PAD_CTL_PUS_22K_UP) | 438 | #define MX25_PAD_FEC_RX_DV__CAN2_RX IOMUX_PAD(0x3dc, 0x1e4, 0x14, 0x484, 0, PAD_CTL_PUS_22K_UP) |
439 | #define MX25_PAD_FEC_RX_DV__GPIO_3_12 IOMUX_PAD(0x3dc, 0x1e4, 0x15, 0, 0, NO_PAD_CTRL) | 439 | #define MX25_PAD_FEC_RX_DV__GPIO_3_12 IOMUX_PAD(0x3dc, 0x1e4, 0x15, 0, 0, NO_PAD_CTRL) |
440 | 440 | ||
diff --git a/arch/arm/plat-mxc/include/mach/mx25.h b/arch/arm/plat-mxc/include/mach/mx25.h index 91e738144804..854e2dc58481 100644 --- a/arch/arm/plat-mxc/include/mach/mx25.h +++ b/arch/arm/plat-mxc/include/mach/mx25.h | |||
@@ -41,4 +41,8 @@ | |||
41 | #define UART1_BASE_ADDR 0x43f90000 | 41 | #define UART1_BASE_ADDR 0x43f90000 |
42 | #define UART2_BASE_ADDR 0x43f94000 | 42 | #define UART2_BASE_ADDR 0x43f94000 |
43 | 43 | ||
44 | #define MX25_FEC_BASE_ADDR 0x50038000 | ||
45 | |||
46 | #define MX25_INT_FEC 57 | ||
47 | |||
44 | #endif /* __MACH_MX25_H__ */ | 48 | #endif /* __MACH_MX25_H__ */ |
diff --git a/arch/arm/plat-pxa/pwm.c b/arch/arm/plat-pxa/pwm.c index a9eabdcfa163..51dc5c8106c0 100644 --- a/arch/arm/plat-pxa/pwm.c +++ b/arch/arm/plat-pxa/pwm.c | |||
@@ -204,14 +204,14 @@ static int __devinit pwm_probe(struct platform_device *pdev) | |||
204 | goto err_free_clk; | 204 | goto err_free_clk; |
205 | } | 205 | } |
206 | 206 | ||
207 | r = request_mem_region(r->start, r->end - r->start + 1, pdev->name); | 207 | r = request_mem_region(r->start, resource_size(r), pdev->name); |
208 | if (r == NULL) { | 208 | if (r == NULL) { |
209 | dev_err(&pdev->dev, "failed to request memory resource\n"); | 209 | dev_err(&pdev->dev, "failed to request memory resource\n"); |
210 | ret = -EBUSY; | 210 | ret = -EBUSY; |
211 | goto err_free_clk; | 211 | goto err_free_clk; |
212 | } | 212 | } |
213 | 213 | ||
214 | pwm->mmio_base = ioremap(r->start, r->end - r->start + 1); | 214 | pwm->mmio_base = ioremap(r->start, resource_size(r)); |
215 | if (pwm->mmio_base == NULL) { | 215 | if (pwm->mmio_base == NULL) { |
216 | dev_err(&pdev->dev, "failed to ioremap() registers\n"); | 216 | dev_err(&pdev->dev, "failed to ioremap() registers\n"); |
217 | ret = -ENODEV; | 217 | ret = -ENODEV; |
@@ -241,7 +241,7 @@ static int __devinit pwm_probe(struct platform_device *pdev) | |||
241 | return 0; | 241 | return 0; |
242 | 242 | ||
243 | err_free_mem: | 243 | err_free_mem: |
244 | release_mem_region(r->start, r->end - r->start + 1); | 244 | release_mem_region(r->start, resource_size(r)); |
245 | err_free_clk: | 245 | err_free_clk: |
246 | clk_put(pwm->clk); | 246 | clk_put(pwm->clk); |
247 | err_free: | 247 | err_free: |
@@ -271,7 +271,7 @@ static int __devexit pwm_remove(struct platform_device *pdev) | |||
271 | iounmap(pwm->mmio_base); | 271 | iounmap(pwm->mmio_base); |
272 | 272 | ||
273 | r = platform_get_resource(pdev, IORESOURCE_MEM, 0); | 273 | r = platform_get_resource(pdev, IORESOURCE_MEM, 0); |
274 | release_mem_region(r->start, r->end - r->start + 1); | 274 | release_mem_region(r->start, resource_size(r)); |
275 | 275 | ||
276 | clk_put(pwm->clk); | 276 | clk_put(pwm->clk); |
277 | kfree(pwm); | 277 | kfree(pwm); |
diff --git a/arch/arm/plat-s3c/dev-nand.c b/arch/arm/plat-s3c/dev-nand.c index e771e77dcd54..84808ccda70e 100644 --- a/arch/arm/plat-s3c/dev-nand.c +++ b/arch/arm/plat-s3c/dev-nand.c | |||
@@ -114,7 +114,7 @@ void __init s3c_nand_set_platdata(struct s3c2410_platform_nand *nand) | |||
114 | 114 | ||
115 | for (i = 0; i < npd->nr_sets; i++) { | 115 | for (i = 0; i < npd->nr_sets; i++) { |
116 | ret = s3c_nand_copy_set(to); | 116 | ret = s3c_nand_copy_set(to); |
117 | if (!ret) { | 117 | if (ret) { |
118 | printk(KERN_ERR "%s: failed to copy set %d\n", | 118 | printk(KERN_ERR "%s: failed to copy set %d\n", |
119 | __func__, i); | 119 | __func__, i); |
120 | return; | 120 | return; |
@@ -122,6 +122,8 @@ void __init s3c_nand_set_platdata(struct s3c2410_platform_nand *nand) | |||
122 | to++; | 122 | to++; |
123 | } | 123 | } |
124 | } | 124 | } |
125 | |||
126 | s3c_device_nand.dev.platform_data = npd; | ||
125 | } | 127 | } |
126 | 128 | ||
127 | EXPORT_SYMBOL_GPL(s3c_nand_set_platdata); | 129 | EXPORT_SYMBOL_GPL(s3c_nand_set_platdata); |
diff --git a/arch/arm/plat-s3c/include/plat/devs.h b/arch/arm/plat-s3c/include/plat/devs.h index 932cbbbb4273..c1c20b023917 100644 --- a/arch/arm/plat-s3c/include/plat/devs.h +++ b/arch/arm/plat-s3c/include/plat/devs.h | |||
@@ -31,6 +31,7 @@ extern struct platform_device s3c64xx_device_iisv4; | |||
31 | extern struct platform_device s3c64xx_device_pcm0; | 31 | extern struct platform_device s3c64xx_device_pcm0; |
32 | extern struct platform_device s3c64xx_device_pcm1; | 32 | extern struct platform_device s3c64xx_device_pcm1; |
33 | 33 | ||
34 | extern struct platform_device s3c_device_ts; | ||
34 | extern struct platform_device s3c_device_fb; | 35 | extern struct platform_device s3c_device_fb; |
35 | extern struct platform_device s3c_device_usb; | 36 | extern struct platform_device s3c_device_usb; |
36 | extern struct platform_device s3c_device_lcd; | 37 | extern struct platform_device s3c_device_lcd; |
diff --git a/arch/arm/plat-s3c24xx/devs.c b/arch/arm/plat-s3c24xx/devs.c index f52a92ce8dda..7f686a31e672 100644 --- a/arch/arm/plat-s3c24xx/devs.c +++ b/arch/arm/plat-s3c24xx/devs.c | |||
@@ -37,6 +37,8 @@ | |||
37 | #include <plat/cpu.h> | 37 | #include <plat/cpu.h> |
38 | #include <plat/regs-spi.h> | 38 | #include <plat/regs-spi.h> |
39 | 39 | ||
40 | #include <mach/ts.h> | ||
41 | |||
40 | /* Serial port registrations */ | 42 | /* Serial port registrations */ |
41 | 43 | ||
42 | static struct resource s3c2410_uart0_resource[] = { | 44 | static struct resource s3c2410_uart0_resource[] = { |
@@ -182,6 +184,22 @@ void __init s3c24xx_fb_set_platdata(struct s3c2410fb_mach_info *pd) | |||
182 | } | 184 | } |
183 | } | 185 | } |
184 | 186 | ||
187 | /* Touchscreen */ | ||
188 | struct platform_device s3c_device_ts = { | ||
189 | .name = "s3c2410-ts", | ||
190 | .id = -1, | ||
191 | }; | ||
192 | EXPORT_SYMBOL(s3c_device_ts); | ||
193 | |||
194 | static struct s3c2410_ts_mach_info s3c2410ts_info; | ||
195 | |||
196 | void __init s3c24xx_ts_set_platdata(struct s3c2410_ts_mach_info *hard_s3c2410ts_info) | ||
197 | { | ||
198 | memcpy(&s3c2410ts_info, hard_s3c2410ts_info, sizeof(struct s3c2410_ts_mach_info)); | ||
199 | s3c_device_ts.dev.platform_data = &s3c2410ts_info; | ||
200 | } | ||
201 | EXPORT_SYMBOL(s3c24xx_ts_set_platdata); | ||
202 | |||
185 | /* USB Device (Gadget)*/ | 203 | /* USB Device (Gadget)*/ |
186 | 204 | ||
187 | static struct resource s3c_usbgadget_resource[] = { | 205 | static struct resource s3c_usbgadget_resource[] = { |
diff --git a/arch/arm/plat-s3c24xx/s3c244x.c b/arch/arm/plat-s3c24xx/s3c244x.c index 1364317d421e..12623a474b54 100644 --- a/arch/arm/plat-s3c24xx/s3c244x.c +++ b/arch/arm/plat-s3c24xx/s3c244x.c | |||
@@ -70,6 +70,7 @@ void __init s3c244x_map_io(void) | |||
70 | s3c_device_sdi.name = "s3c2440-sdi"; | 70 | s3c_device_sdi.name = "s3c2440-sdi"; |
71 | s3c_device_i2c0.name = "s3c2440-i2c"; | 71 | s3c_device_i2c0.name = "s3c2440-i2c"; |
72 | s3c_device_nand.name = "s3c2440-nand"; | 72 | s3c_device_nand.name = "s3c2440-nand"; |
73 | s3c_device_ts.name = "s3c2440-ts"; | ||
73 | s3c_device_usbgadget.name = "s3c2440-usbgadget"; | 74 | s3c_device_usbgadget.name = "s3c2440-usbgadget"; |
74 | } | 75 | } |
75 | 76 | ||
diff --git a/arch/blackfin/include/asm/page.h b/arch/blackfin/include/asm/page.h index 944a07c6cfd6..1d04e4078340 100644 --- a/arch/blackfin/include/asm/page.h +++ b/arch/blackfin/include/asm/page.h | |||
@@ -10,4 +10,9 @@ | |||
10 | #include <asm-generic/page.h> | 10 | #include <asm-generic/page.h> |
11 | #define MAP_NR(addr) (((unsigned long)(addr)-PAGE_OFFSET) >> PAGE_SHIFT) | 11 | #define MAP_NR(addr) (((unsigned long)(addr)-PAGE_OFFSET) >> PAGE_SHIFT) |
12 | 12 | ||
13 | #define VM_DATA_DEFAULT_FLAGS \ | ||
14 | (VM_READ | VM_WRITE | \ | ||
15 | ((current->personality & READ_IMPLIES_EXEC) ? VM_EXEC : 0 ) | \ | ||
16 | VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC) | ||
17 | |||
13 | #endif | 18 | #endif |
diff --git a/arch/frv/include/asm/page.h b/arch/frv/include/asm/page.h index 25c6a5002355..8c97068ac8fc 100644 --- a/arch/frv/include/asm/page.h +++ b/arch/frv/include/asm/page.h | |||
@@ -63,12 +63,10 @@ extern unsigned long max_pfn; | |||
63 | #define virt_addr_valid(kaddr) pfn_valid(__pa(kaddr) >> PAGE_SHIFT) | 63 | #define virt_addr_valid(kaddr) pfn_valid(__pa(kaddr) >> PAGE_SHIFT) |
64 | 64 | ||
65 | 65 | ||
66 | #ifdef CONFIG_MMU | ||
67 | #define VM_DATA_DEFAULT_FLAGS \ | 66 | #define VM_DATA_DEFAULT_FLAGS \ |
68 | (VM_READ | VM_WRITE | \ | 67 | (VM_READ | VM_WRITE | \ |
69 | ((current->personality & READ_IMPLIES_EXEC) ? VM_EXEC : 0 ) | \ | 68 | ((current->personality & READ_IMPLIES_EXEC) ? VM_EXEC : 0 ) | \ |
70 | VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC) | 69 | VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC) |
71 | #endif | ||
72 | 70 | ||
73 | #endif /* __ASSEMBLY__ */ | 71 | #endif /* __ASSEMBLY__ */ |
74 | 72 | ||
diff --git a/arch/ia64/kvm/vcpu.h b/arch/ia64/kvm/vcpu.h index 360724d3ae69..988911b4cc7a 100644 --- a/arch/ia64/kvm/vcpu.h +++ b/arch/ia64/kvm/vcpu.h | |||
@@ -388,6 +388,9 @@ static inline u64 __gpfn_is_io(u64 gpfn) | |||
388 | #define _vmm_raw_spin_lock(x) do {}while(0) | 388 | #define _vmm_raw_spin_lock(x) do {}while(0) |
389 | #define _vmm_raw_spin_unlock(x) do {}while(0) | 389 | #define _vmm_raw_spin_unlock(x) do {}while(0) |
390 | #else | 390 | #else |
391 | typedef struct { | ||
392 | volatile unsigned int lock; | ||
393 | } vmm_spinlock_t; | ||
391 | #define _vmm_raw_spin_lock(x) \ | 394 | #define _vmm_raw_spin_lock(x) \ |
392 | do { \ | 395 | do { \ |
393 | __u32 *ia64_spinlock_ptr = (__u32 *) (x); \ | 396 | __u32 *ia64_spinlock_ptr = (__u32 *) (x); \ |
@@ -405,12 +408,12 @@ static inline u64 __gpfn_is_io(u64 gpfn) | |||
405 | 408 | ||
406 | #define _vmm_raw_spin_unlock(x) \ | 409 | #define _vmm_raw_spin_unlock(x) \ |
407 | do { barrier(); \ | 410 | do { barrier(); \ |
408 | ((spinlock_t *)x)->raw_lock.lock = 0; } \ | 411 | ((vmm_spinlock_t *)x)->lock = 0; } \ |
409 | while (0) | 412 | while (0) |
410 | #endif | 413 | #endif |
411 | 414 | ||
412 | void vmm_spin_lock(spinlock_t *lock); | 415 | void vmm_spin_lock(vmm_spinlock_t *lock); |
413 | void vmm_spin_unlock(spinlock_t *lock); | 416 | void vmm_spin_unlock(vmm_spinlock_t *lock); |
414 | enum { | 417 | enum { |
415 | I_TLB = 1, | 418 | I_TLB = 1, |
416 | D_TLB = 2 | 419 | D_TLB = 2 |
diff --git a/arch/ia64/kvm/vmm.c b/arch/ia64/kvm/vmm.c index f4b4c899bb6c..7a62f75778c5 100644 --- a/arch/ia64/kvm/vmm.c +++ b/arch/ia64/kvm/vmm.c | |||
@@ -60,12 +60,12 @@ static void __exit kvm_vmm_exit(void) | |||
60 | return ; | 60 | return ; |
61 | } | 61 | } |
62 | 62 | ||
63 | void vmm_spin_lock(spinlock_t *lock) | 63 | void vmm_spin_lock(vmm_spinlock_t *lock) |
64 | { | 64 | { |
65 | _vmm_raw_spin_lock(lock); | 65 | _vmm_raw_spin_lock(lock); |
66 | } | 66 | } |
67 | 67 | ||
68 | void vmm_spin_unlock(spinlock_t *lock) | 68 | void vmm_spin_unlock(vmm_spinlock_t *lock) |
69 | { | 69 | { |
70 | _vmm_raw_spin_unlock(lock); | 70 | _vmm_raw_spin_unlock(lock); |
71 | } | 71 | } |
diff --git a/arch/ia64/kvm/vtlb.c b/arch/ia64/kvm/vtlb.c index 20b3852f7a6e..4332f7ee5203 100644 --- a/arch/ia64/kvm/vtlb.c +++ b/arch/ia64/kvm/vtlb.c | |||
@@ -182,7 +182,7 @@ void mark_pages_dirty(struct kvm_vcpu *v, u64 pte, u64 ps) | |||
182 | { | 182 | { |
183 | u64 i, dirty_pages = 1; | 183 | u64 i, dirty_pages = 1; |
184 | u64 base_gfn = (pte&_PAGE_PPN_MASK) >> PAGE_SHIFT; | 184 | u64 base_gfn = (pte&_PAGE_PPN_MASK) >> PAGE_SHIFT; |
185 | spinlock_t *lock = __kvm_va(v->arch.dirty_log_lock_pa); | 185 | vmm_spinlock_t *lock = __kvm_va(v->arch.dirty_log_lock_pa); |
186 | void *dirty_bitmap = (void *)KVM_MEM_DIRTY_LOG_BASE; | 186 | void *dirty_bitmap = (void *)KVM_MEM_DIRTY_LOG_BASE; |
187 | 187 | ||
188 | dirty_pages <<= ps <= PAGE_SHIFT ? 0 : ps - PAGE_SHIFT; | 188 | dirty_pages <<= ps <= PAGE_SHIFT ? 0 : ps - PAGE_SHIFT; |
diff --git a/arch/powerpc/kernel/pci-common.c b/arch/powerpc/kernel/pci-common.c index e8dfdbd9327a..cadbed679fbb 100644 --- a/arch/powerpc/kernel/pci-common.c +++ b/arch/powerpc/kernel/pci-common.c | |||
@@ -1107,6 +1107,12 @@ void __devinit pcibios_setup_bus_devices(struct pci_bus *bus) | |||
1107 | list_for_each_entry(dev, &bus->devices, bus_list) { | 1107 | list_for_each_entry(dev, &bus->devices, bus_list) { |
1108 | struct dev_archdata *sd = &dev->dev.archdata; | 1108 | struct dev_archdata *sd = &dev->dev.archdata; |
1109 | 1109 | ||
1110 | /* Cardbus can call us to add new devices to a bus, so ignore | ||
1111 | * those who are already fully discovered | ||
1112 | */ | ||
1113 | if (dev->is_added) | ||
1114 | continue; | ||
1115 | |||
1110 | /* Setup OF node pointer in archdata */ | 1116 | /* Setup OF node pointer in archdata */ |
1111 | sd->of_node = pci_device_to_OF_node(dev); | 1117 | sd->of_node = pci_device_to_OF_node(dev); |
1112 | 1118 | ||
@@ -1147,6 +1153,13 @@ void __devinit pcibios_fixup_bus(struct pci_bus *bus) | |||
1147 | } | 1153 | } |
1148 | EXPORT_SYMBOL(pcibios_fixup_bus); | 1154 | EXPORT_SYMBOL(pcibios_fixup_bus); |
1149 | 1155 | ||
1156 | void __devinit pci_fixup_cardbus(struct pci_bus *bus) | ||
1157 | { | ||
1158 | /* Now fixup devices on that bus */ | ||
1159 | pcibios_setup_bus_devices(bus); | ||
1160 | } | ||
1161 | |||
1162 | |||
1150 | static int skip_isa_ioresource_align(struct pci_dev *dev) | 1163 | static int skip_isa_ioresource_align(struct pci_dev *dev) |
1151 | { | 1164 | { |
1152 | if ((ppc_pci_flags & PPC_PCI_CAN_SKIP_ISA_ALIGN) && | 1165 | if ((ppc_pci_flags & PPC_PCI_CAN_SKIP_ISA_ALIGN) && |
diff --git a/arch/powerpc/kvm/book3s_64_mmu.c b/arch/powerpc/kvm/book3s_64_mmu.c index 5598f88f142e..e4beeb371a73 100644 --- a/arch/powerpc/kvm/book3s_64_mmu.c +++ b/arch/powerpc/kvm/book3s_64_mmu.c | |||
@@ -390,6 +390,26 @@ static void kvmppc_mmu_book3s_64_mtsrin(struct kvm_vcpu *vcpu, u32 srnum, | |||
390 | { | 390 | { |
391 | u64 rb = 0, rs = 0; | 391 | u64 rb = 0, rs = 0; |
392 | 392 | ||
393 | /* | ||
394 | * According to Book3 2.01 mtsrin is implemented as: | ||
395 | * | ||
396 | * The SLB entry specified by (RB)32:35 is loaded from register | ||
397 | * RS, as follows. | ||
398 | * | ||
399 | * SLBE Bit Source SLB Field | ||
400 | * | ||
401 | * 0:31 0x0000_0000 ESID-0:31 | ||
402 | * 32:35 (RB)32:35 ESID-32:35 | ||
403 | * 36 0b1 V | ||
404 | * 37:61 0x00_0000|| 0b0 VSID-0:24 | ||
405 | * 62:88 (RS)37:63 VSID-25:51 | ||
406 | * 89:91 (RS)33:35 Ks Kp N | ||
407 | * 92 (RS)36 L ((RS)36 must be 0b0) | ||
408 | * 93 0b0 C | ||
409 | */ | ||
410 | |||
411 | dprintk("KVM MMU: mtsrin(0x%x, 0x%lx)\n", srnum, value); | ||
412 | |||
393 | /* ESID = srnum */ | 413 | /* ESID = srnum */ |
394 | rb |= (srnum & 0xf) << 28; | 414 | rb |= (srnum & 0xf) << 28; |
395 | /* Set the valid bit */ | 415 | /* Set the valid bit */ |
@@ -400,7 +420,7 @@ static void kvmppc_mmu_book3s_64_mtsrin(struct kvm_vcpu *vcpu, u32 srnum, | |||
400 | /* VSID = VSID */ | 420 | /* VSID = VSID */ |
401 | rs |= (value & 0xfffffff) << 12; | 421 | rs |= (value & 0xfffffff) << 12; |
402 | /* flags = flags */ | 422 | /* flags = flags */ |
403 | rs |= ((value >> 27) & 0xf) << 9; | 423 | rs |= ((value >> 28) & 0x7) << 9; |
404 | 424 | ||
405 | kvmppc_mmu_book3s_64_slbmte(vcpu, rs, rb); | 425 | kvmppc_mmu_book3s_64_slbmte(vcpu, rs, rb); |
406 | } | 426 | } |
diff --git a/arch/s390/defconfig b/arch/s390/defconfig index f4e53c6708dc..b416aa11b91e 100644 --- a/arch/s390/defconfig +++ b/arch/s390/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.31 | 3 | # Linux kernel version: 2.6.33-rc2 |
4 | # Tue Sep 22 17:43:13 2009 | 4 | # Mon Jan 4 09:03:07 2010 |
5 | # | 5 | # |
6 | CONFIG_SCHED_MC=y | 6 | CONFIG_SCHED_MC=y |
7 | CONFIG_MMU=y | 7 | CONFIG_MMU=y |
@@ -51,6 +51,7 @@ CONFIG_AUDIT=y | |||
51 | # | 51 | # |
52 | CONFIG_TREE_RCU=y | 52 | CONFIG_TREE_RCU=y |
53 | # CONFIG_TREE_PREEMPT_RCU is not set | 53 | # CONFIG_TREE_PREEMPT_RCU is not set |
54 | # CONFIG_TINY_RCU is not set | ||
54 | # CONFIG_RCU_TRACE is not set | 55 | # CONFIG_RCU_TRACE is not set |
55 | CONFIG_RCU_FANOUT=64 | 56 | CONFIG_RCU_FANOUT=64 |
56 | # CONFIG_RCU_FANOUT_EXACT is not set | 57 | # CONFIG_RCU_FANOUT_EXACT is not set |
@@ -113,7 +114,6 @@ CONFIG_HAVE_PERF_EVENTS=y | |||
113 | # CONFIG_PERF_EVENTS is not set | 114 | # CONFIG_PERF_EVENTS is not set |
114 | # CONFIG_PERF_COUNTERS is not set | 115 | # CONFIG_PERF_COUNTERS is not set |
115 | CONFIG_VM_EVENT_COUNTERS=y | 116 | CONFIG_VM_EVENT_COUNTERS=y |
116 | # CONFIG_STRIP_ASM_SYMS is not set | ||
117 | # CONFIG_COMPAT_BRK is not set | 117 | # CONFIG_COMPAT_BRK is not set |
118 | CONFIG_SLAB=y | 118 | CONFIG_SLAB=y |
119 | # CONFIG_SLUB is not set | 119 | # CONFIG_SLUB is not set |
@@ -149,21 +149,78 @@ CONFIG_STOP_MACHINE=y | |||
149 | CONFIG_BLOCK=y | 149 | CONFIG_BLOCK=y |
150 | CONFIG_BLK_DEV_BSG=y | 150 | CONFIG_BLK_DEV_BSG=y |
151 | # CONFIG_BLK_DEV_INTEGRITY is not set | 151 | # CONFIG_BLK_DEV_INTEGRITY is not set |
152 | # CONFIG_BLK_CGROUP is not set | ||
152 | CONFIG_BLOCK_COMPAT=y | 153 | CONFIG_BLOCK_COMPAT=y |
153 | 154 | ||
154 | # | 155 | # |
155 | # IO Schedulers | 156 | # IO Schedulers |
156 | # | 157 | # |
157 | CONFIG_IOSCHED_NOOP=y | 158 | CONFIG_IOSCHED_NOOP=y |
158 | CONFIG_IOSCHED_AS=y | ||
159 | CONFIG_IOSCHED_DEADLINE=y | 159 | CONFIG_IOSCHED_DEADLINE=y |
160 | CONFIG_IOSCHED_CFQ=y | 160 | CONFIG_IOSCHED_CFQ=y |
161 | # CONFIG_DEFAULT_AS is not set | 161 | # CONFIG_CFQ_GROUP_IOSCHED is not set |
162 | CONFIG_DEFAULT_DEADLINE=y | 162 | CONFIG_DEFAULT_DEADLINE=y |
163 | # CONFIG_DEFAULT_CFQ is not set | 163 | # CONFIG_DEFAULT_CFQ is not set |
164 | # CONFIG_DEFAULT_NOOP is not set | 164 | # CONFIG_DEFAULT_NOOP is not set |
165 | CONFIG_DEFAULT_IOSCHED="deadline" | 165 | CONFIG_DEFAULT_IOSCHED="deadline" |
166 | CONFIG_PREEMPT_NOTIFIERS=y | 166 | CONFIG_PREEMPT_NOTIFIERS=y |
167 | CONFIG_ARCH_INLINE_SPIN_TRYLOCK=y | ||
168 | CONFIG_ARCH_INLINE_SPIN_TRYLOCK_BH=y | ||
169 | CONFIG_ARCH_INLINE_SPIN_LOCK=y | ||
170 | CONFIG_ARCH_INLINE_SPIN_LOCK_BH=y | ||
171 | CONFIG_ARCH_INLINE_SPIN_LOCK_IRQ=y | ||
172 | CONFIG_ARCH_INLINE_SPIN_LOCK_IRQSAVE=y | ||
173 | CONFIG_ARCH_INLINE_SPIN_UNLOCK=y | ||
174 | CONFIG_ARCH_INLINE_SPIN_UNLOCK_BH=y | ||
175 | CONFIG_ARCH_INLINE_SPIN_UNLOCK_IRQ=y | ||
176 | CONFIG_ARCH_INLINE_SPIN_UNLOCK_IRQRESTORE=y | ||
177 | CONFIG_ARCH_INLINE_READ_TRYLOCK=y | ||
178 | CONFIG_ARCH_INLINE_READ_LOCK=y | ||
179 | CONFIG_ARCH_INLINE_READ_LOCK_BH=y | ||
180 | CONFIG_ARCH_INLINE_READ_LOCK_IRQ=y | ||
181 | CONFIG_ARCH_INLINE_READ_LOCK_IRQSAVE=y | ||
182 | CONFIG_ARCH_INLINE_READ_UNLOCK=y | ||
183 | CONFIG_ARCH_INLINE_READ_UNLOCK_BH=y | ||
184 | CONFIG_ARCH_INLINE_READ_UNLOCK_IRQ=y | ||
185 | CONFIG_ARCH_INLINE_READ_UNLOCK_IRQRESTORE=y | ||
186 | CONFIG_ARCH_INLINE_WRITE_TRYLOCK=y | ||
187 | CONFIG_ARCH_INLINE_WRITE_LOCK=y | ||
188 | CONFIG_ARCH_INLINE_WRITE_LOCK_BH=y | ||
189 | CONFIG_ARCH_INLINE_WRITE_LOCK_IRQ=y | ||
190 | CONFIG_ARCH_INLINE_WRITE_LOCK_IRQSAVE=y | ||
191 | CONFIG_ARCH_INLINE_WRITE_UNLOCK=y | ||
192 | CONFIG_ARCH_INLINE_WRITE_UNLOCK_BH=y | ||
193 | CONFIG_ARCH_INLINE_WRITE_UNLOCK_IRQ=y | ||
194 | CONFIG_ARCH_INLINE_WRITE_UNLOCK_IRQRESTORE=y | ||
195 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
196 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
197 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
198 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
199 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
200 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
201 | # CONFIG_INLINE_SPIN_UNLOCK is not set | ||
202 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
203 | # CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set | ||
204 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
205 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
206 | # CONFIG_INLINE_READ_LOCK is not set | ||
207 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
208 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
209 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
210 | # CONFIG_INLINE_READ_UNLOCK is not set | ||
211 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
212 | # CONFIG_INLINE_READ_UNLOCK_IRQ is not set | ||
213 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
214 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
215 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
216 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
217 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
218 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
219 | # CONFIG_INLINE_WRITE_UNLOCK is not set | ||
220 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
221 | # CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set | ||
222 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
223 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
167 | CONFIG_FREEZER=y | 224 | CONFIG_FREEZER=y |
168 | 225 | ||
169 | # | 226 | # |
@@ -227,14 +284,13 @@ CONFIG_MEMORY_HOTPLUG=y | |||
227 | CONFIG_MEMORY_HOTPLUG_SPARSE=y | 284 | CONFIG_MEMORY_HOTPLUG_SPARSE=y |
228 | CONFIG_MEMORY_HOTREMOVE=y | 285 | CONFIG_MEMORY_HOTREMOVE=y |
229 | CONFIG_PAGEFLAGS_EXTENDED=y | 286 | CONFIG_PAGEFLAGS_EXTENDED=y |
230 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 287 | CONFIG_SPLIT_PTLOCK_CPUS=999999 |
231 | CONFIG_MIGRATION=y | 288 | CONFIG_MIGRATION=y |
232 | CONFIG_PHYS_ADDR_T_64BIT=y | 289 | CONFIG_PHYS_ADDR_T_64BIT=y |
233 | CONFIG_ZONE_DMA_FLAG=1 | 290 | CONFIG_ZONE_DMA_FLAG=1 |
234 | CONFIG_BOUNCE=y | 291 | CONFIG_BOUNCE=y |
235 | CONFIG_VIRT_TO_BUS=y | 292 | CONFIG_VIRT_TO_BUS=y |
236 | CONFIG_HAVE_MLOCK=y | 293 | # CONFIG_KSM is not set |
237 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
238 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | 294 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 |
239 | 295 | ||
240 | # | 296 | # |
@@ -339,6 +395,7 @@ CONFIG_INET6_XFRM_MODE_TUNNEL=y | |||
339 | CONFIG_INET6_XFRM_MODE_BEET=y | 395 | CONFIG_INET6_XFRM_MODE_BEET=y |
340 | # CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set | 396 | # CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set |
341 | CONFIG_IPV6_SIT=y | 397 | CONFIG_IPV6_SIT=y |
398 | # CONFIG_IPV6_SIT_6RD is not set | ||
342 | CONFIG_IPV6_NDISC_NODETYPE=y | 399 | CONFIG_IPV6_NDISC_NODETYPE=y |
343 | # CONFIG_IPV6_TUNNEL is not set | 400 | # CONFIG_IPV6_TUNNEL is not set |
344 | # CONFIG_IPV6_MULTIPLE_TABLES is not set | 401 | # CONFIG_IPV6_MULTIPLE_TABLES is not set |
@@ -504,6 +561,10 @@ CONFIG_BLK_DEV=y | |||
504 | # CONFIG_BLK_DEV_COW_COMMON is not set | 561 | # CONFIG_BLK_DEV_COW_COMMON is not set |
505 | CONFIG_BLK_DEV_LOOP=m | 562 | CONFIG_BLK_DEV_LOOP=m |
506 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | 563 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set |
564 | |||
565 | # | ||
566 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
567 | # | ||
507 | CONFIG_BLK_DEV_NBD=m | 568 | CONFIG_BLK_DEV_NBD=m |
508 | # CONFIG_BLK_DEV_OSD is not set | 569 | # CONFIG_BLK_DEV_OSD is not set |
509 | CONFIG_BLK_DEV_RAM=y | 570 | CONFIG_BLK_DEV_RAM=y |
@@ -710,7 +771,6 @@ CONFIG_S390_VMUR=m | |||
710 | # CONFIG_PPS is not set | 771 | # CONFIG_PPS is not set |
711 | # CONFIG_POWER_SUPPLY is not set | 772 | # CONFIG_POWER_SUPPLY is not set |
712 | # CONFIG_THERMAL is not set | 773 | # CONFIG_THERMAL is not set |
713 | # CONFIG_THERMAL_HWMON is not set | ||
714 | # CONFIG_WATCHDOG is not set | 774 | # CONFIG_WATCHDOG is not set |
715 | # CONFIG_REGULATOR is not set | 775 | # CONFIG_REGULATOR is not set |
716 | # CONFIG_MEMSTICK is not set | 776 | # CONFIG_MEMSTICK is not set |
@@ -864,6 +924,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y | |||
864 | CONFIG_ENABLE_MUST_CHECK=y | 924 | CONFIG_ENABLE_MUST_CHECK=y |
865 | CONFIG_FRAME_WARN=2048 | 925 | CONFIG_FRAME_WARN=2048 |
866 | CONFIG_MAGIC_SYSRQ=y | 926 | CONFIG_MAGIC_SYSRQ=y |
927 | # CONFIG_STRIP_ASM_SYMS is not set | ||
867 | # CONFIG_UNUSED_SYMBOLS is not set | 928 | # CONFIG_UNUSED_SYMBOLS is not set |
868 | CONFIG_DEBUG_FS=y | 929 | CONFIG_DEBUG_FS=y |
869 | # CONFIG_HEADERS_CHECK is not set | 930 | # CONFIG_HEADERS_CHECK is not set |
@@ -931,7 +992,6 @@ CONFIG_BRANCH_PROFILE_NONE=y | |||
931 | CONFIG_SAMPLES=y | 992 | CONFIG_SAMPLES=y |
932 | # CONFIG_SAMPLE_KOBJECT is not set | 993 | # CONFIG_SAMPLE_KOBJECT is not set |
933 | # CONFIG_SAMPLE_KPROBES is not set | 994 | # CONFIG_SAMPLE_KPROBES is not set |
934 | # CONFIG_KMEMCHECK is not set | ||
935 | 995 | ||
936 | # | 996 | # |
937 | # Security options | 997 | # Security options |
@@ -939,7 +999,11 @@ CONFIG_SAMPLES=y | |||
939 | # CONFIG_KEYS is not set | 999 | # CONFIG_KEYS is not set |
940 | # CONFIG_SECURITY is not set | 1000 | # CONFIG_SECURITY is not set |
941 | # CONFIG_SECURITYFS is not set | 1001 | # CONFIG_SECURITYFS is not set |
942 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1002 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
1003 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
1004 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
1005 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
1006 | CONFIG_DEFAULT_SECURITY="" | ||
943 | CONFIG_CRYPTO=y | 1007 | CONFIG_CRYPTO=y |
944 | 1008 | ||
945 | # | 1009 | # |
diff --git a/arch/s390/include/asm/param.h b/arch/s390/include/asm/param.h index 34aaa4603347..c616821bf2ac 100644 --- a/arch/s390/include/asm/param.h +++ b/arch/s390/include/asm/param.h | |||
@@ -1,30 +1,6 @@ | |||
1 | /* | ||
2 | * include/asm-s390/param.h | ||
3 | * | ||
4 | * S390 version | ||
5 | * | ||
6 | * Derived from "include/asm-i386/param.h" | ||
7 | */ | ||
8 | |||
9 | #ifndef _ASMS390_PARAM_H | 1 | #ifndef _ASMS390_PARAM_H |
10 | #define _ASMS390_PARAM_H | 2 | #define _ASMS390_PARAM_H |
11 | 3 | ||
12 | #ifdef __KERNEL__ | 4 | #include <asm-generic/param.h> |
13 | # define HZ CONFIG_HZ /* Internal kernel timer frequency */ | ||
14 | # define USER_HZ 100 /* .. some user interfaces are in "ticks" */ | ||
15 | # define CLOCKS_PER_SEC (USER_HZ) /* like times() */ | ||
16 | #endif | ||
17 | |||
18 | #ifndef HZ | ||
19 | #define HZ 100 | ||
20 | #endif | ||
21 | |||
22 | #define EXEC_PAGESIZE 4096 | ||
23 | |||
24 | #ifndef NOGROUP | ||
25 | #define NOGROUP (-1) | ||
26 | #endif | ||
27 | |||
28 | #define MAXHOSTNAMELEN 64 /* max length of hostname */ | ||
29 | 5 | ||
30 | #endif | 6 | #endif /* _ASMS390_PARAM_H */ |
diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig index 0031a6979f3a..2121fbb2ff4c 100644 --- a/arch/sh/Kconfig +++ b/arch/sh/Kconfig | |||
@@ -540,14 +540,16 @@ config SH_TIMER_MTU2 | |||
540 | 540 | ||
541 | config SH_PCLK_FREQ | 541 | config SH_PCLK_FREQ |
542 | int "Peripheral clock frequency (in Hz)" | 542 | int "Peripheral clock frequency (in Hz)" |
543 | default "27000000" if CPU_SUBTYPE_SH7343 | 543 | depends on SH_CLK_CPG_LEGACY |
544 | default "31250000" if CPU_SUBTYPE_SH7619 | 544 | default "31250000" if CPU_SUBTYPE_SH7619 |
545 | default "32000000" if CPU_SUBTYPE_SH7722 | 545 | default "33333333" if CPU_SUBTYPE_SH7770 || \ |
546 | default "33333333" if CPU_SUBTYPE_SH7770 || CPU_SUBTYPE_SH7723 || \ | 546 | CPU_SUBTYPE_SH7760 || \ |
547 | CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \ | 547 | CPU_SUBTYPE_SH7705 || \ |
548 | CPU_SUBTYPE_SH7203 || CPU_SUBTYPE_SH7206 || \ | 548 | CPU_SUBTYPE_SH7203 || \ |
549 | CPU_SUBTYPE_SH7263 || CPU_SUBTYPE_MXG || \ | 549 | CPU_SUBTYPE_SH7206 || \ |
550 | CPU_SUBTYPE_SH7786 || CPU_SUBTYPE_SH7724 | 550 | CPU_SUBTYPE_SH7263 || \ |
551 | CPU_SUBTYPE_MXG || \ | ||
552 | CPU_SUBTYPE_SH7786 | ||
551 | default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R | 553 | default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R |
552 | default "66000000" if CPU_SUBTYPE_SH4_202 | 554 | default "66000000" if CPU_SUBTYPE_SH4_202 |
553 | default "50000000" | 555 | default "50000000" |
diff --git a/arch/sh/configs/ap325rxa_defconfig b/arch/sh/configs/ap325rxa_defconfig index 2f78d01cc6c0..8931a60e37a4 100644 --- a/arch/sh/configs/ap325rxa_defconfig +++ b/arch/sh/configs/ap325rxa_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.31 | 3 | # Linux kernel version: 2.6.33-rc2 |
4 | # Fri Sep 25 11:22:50 2009 | 4 | # Mon Jan 4 11:10:59 2010 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_SUPERH32=y | 7 | CONFIG_SUPERH32=y |
@@ -20,6 +20,7 @@ CONFIG_GENERIC_TIME=y | |||
20 | CONFIG_GENERIC_CLOCKEVENTS=y | 20 | CONFIG_GENERIC_CLOCKEVENTS=y |
21 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 21 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y | 22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y |
23 | CONFIG_SYS_SUPPORTS_HUGETLBFS=y | ||
23 | CONFIG_SYS_SUPPORTS_CMT=y | 24 | CONFIG_SYS_SUPPORTS_CMT=y |
24 | CONFIG_SYS_SUPPORTS_TMU=y | 25 | CONFIG_SYS_SUPPORTS_TMU=y |
25 | CONFIG_STACKTRACE_SUPPORT=y | 26 | CONFIG_STACKTRACE_SUPPORT=y |
@@ -30,6 +31,7 @@ CONFIG_HAVE_LATENCYTOP_SUPPORT=y | |||
30 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | 31 | CONFIG_ARCH_NO_VIRT_TO_BUS=y |
31 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y | 32 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y |
32 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y | 33 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y |
34 | CONFIG_DMA_NONCOHERENT=y | ||
33 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 35 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
34 | CONFIG_CONSTRUCTORS=y | 36 | CONFIG_CONSTRUCTORS=y |
35 | 37 | ||
@@ -62,6 +64,7 @@ CONFIG_BSD_PROCESS_ACCT=y | |||
62 | # | 64 | # |
63 | CONFIG_TREE_RCU=y | 65 | CONFIG_TREE_RCU=y |
64 | # CONFIG_TREE_PREEMPT_RCU is not set | 66 | # CONFIG_TREE_PREEMPT_RCU is not set |
67 | # CONFIG_TINY_RCU is not set | ||
65 | # CONFIG_RCU_TRACE is not set | 68 | # CONFIG_RCU_TRACE is not set |
66 | CONFIG_RCU_FANOUT=32 | 69 | CONFIG_RCU_FANOUT=32 |
67 | # CONFIG_RCU_FANOUT_EXACT is not set | 70 | # CONFIG_RCU_FANOUT_EXACT is not set |
@@ -99,6 +102,7 @@ CONFIG_EVENTFD=y | |||
99 | CONFIG_SHMEM=y | 102 | CONFIG_SHMEM=y |
100 | CONFIG_AIO=y | 103 | CONFIG_AIO=y |
101 | CONFIG_HAVE_PERF_EVENTS=y | 104 | CONFIG_HAVE_PERF_EVENTS=y |
105 | CONFIG_PERF_USE_VMALLOC=y | ||
102 | 106 | ||
103 | # | 107 | # |
104 | # Kernel Performance Events And Counters | 108 | # Kernel Performance Events And Counters |
@@ -116,6 +120,7 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
116 | CONFIG_HAVE_KPROBES=y | 120 | CONFIG_HAVE_KPROBES=y |
117 | CONFIG_HAVE_KRETPROBES=y | 121 | CONFIG_HAVE_KRETPROBES=y |
118 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 122 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
123 | CONFIG_HAVE_DMA_ATTRS=y | ||
119 | CONFIG_HAVE_CLK=y | 124 | CONFIG_HAVE_CLK=y |
120 | CONFIG_HAVE_DMA_API_DEBUG=y | 125 | CONFIG_HAVE_DMA_API_DEBUG=y |
121 | 126 | ||
@@ -142,14 +147,41 @@ CONFIG_LBDAF=y | |||
142 | # IO Schedulers | 147 | # IO Schedulers |
143 | # | 148 | # |
144 | CONFIG_IOSCHED_NOOP=y | 149 | CONFIG_IOSCHED_NOOP=y |
145 | CONFIG_IOSCHED_AS=y | ||
146 | CONFIG_IOSCHED_DEADLINE=y | 150 | CONFIG_IOSCHED_DEADLINE=y |
147 | CONFIG_IOSCHED_CFQ=y | 151 | CONFIG_IOSCHED_CFQ=y |
148 | # CONFIG_DEFAULT_AS is not set | ||
149 | # CONFIG_DEFAULT_DEADLINE is not set | 152 | # CONFIG_DEFAULT_DEADLINE is not set |
150 | CONFIG_DEFAULT_CFQ=y | 153 | CONFIG_DEFAULT_CFQ=y |
151 | # CONFIG_DEFAULT_NOOP is not set | 154 | # CONFIG_DEFAULT_NOOP is not set |
152 | CONFIG_DEFAULT_IOSCHED="cfq" | 155 | CONFIG_DEFAULT_IOSCHED="cfq" |
156 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
157 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
158 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
159 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
160 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
161 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
162 | # CONFIG_INLINE_SPIN_UNLOCK is not set | ||
163 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
164 | # CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set | ||
165 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
166 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
167 | # CONFIG_INLINE_READ_LOCK is not set | ||
168 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
169 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
170 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
171 | # CONFIG_INLINE_READ_UNLOCK is not set | ||
172 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
173 | # CONFIG_INLINE_READ_UNLOCK_IRQ is not set | ||
174 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
175 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
176 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
177 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
178 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
179 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
180 | # CONFIG_INLINE_WRITE_UNLOCK is not set | ||
181 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
182 | # CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set | ||
183 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
184 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
153 | CONFIG_FREEZER=y | 185 | CONFIG_FREEZER=y |
154 | 186 | ||
155 | # | 187 | # |
@@ -205,6 +237,7 @@ CONFIG_FORCE_MAX_ZONEORDER=11 | |||
205 | CONFIG_MEMORY_START=0x08000000 | 237 | CONFIG_MEMORY_START=0x08000000 |
206 | CONFIG_MEMORY_SIZE=0x08000000 | 238 | CONFIG_MEMORY_SIZE=0x08000000 |
207 | CONFIG_29BIT=y | 239 | CONFIG_29BIT=y |
240 | # CONFIG_PMB_ENABLE is not set | ||
208 | # CONFIG_X2TLB is not set | 241 | # CONFIG_X2TLB is not set |
209 | CONFIG_VSYSCALL=y | 242 | CONFIG_VSYSCALL=y |
210 | CONFIG_ARCH_FLATMEM_ENABLE=y | 243 | CONFIG_ARCH_FLATMEM_ENABLE=y |
@@ -229,8 +262,6 @@ CONFIG_SPLIT_PTLOCK_CPUS=4 | |||
229 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 262 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
230 | CONFIG_ZONE_DMA_FLAG=0 | 263 | CONFIG_ZONE_DMA_FLAG=0 |
231 | CONFIG_NR_QUICK=2 | 264 | CONFIG_NR_QUICK=2 |
232 | CONFIG_HAVE_MLOCK=y | ||
233 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
234 | # CONFIG_KSM is not set | 265 | # CONFIG_KSM is not set |
235 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | 266 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 |
236 | 267 | ||
@@ -262,7 +293,6 @@ CONFIG_SH_AP325RXA=y | |||
262 | # | 293 | # |
263 | CONFIG_SH_TIMER_TMU=y | 294 | CONFIG_SH_TIMER_TMU=y |
264 | # CONFIG_SH_TIMER_CMT is not set | 295 | # CONFIG_SH_TIMER_CMT is not set |
265 | CONFIG_SH_PCLK_FREQ=33333333 | ||
266 | CONFIG_SH_CLK_CPG=y | 296 | CONFIG_SH_CLK_CPG=y |
267 | CONFIG_TICK_ONESHOT=y | 297 | CONFIG_TICK_ONESHOT=y |
268 | # CONFIG_NO_HZ is not set | 298 | # CONFIG_NO_HZ is not set |
@@ -418,9 +448,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
418 | # CONFIG_AF_RXRPC is not set | 448 | # CONFIG_AF_RXRPC is not set |
419 | CONFIG_WIRELESS=y | 449 | CONFIG_WIRELESS=y |
420 | # CONFIG_CFG80211 is not set | 450 | # CONFIG_CFG80211 is not set |
421 | CONFIG_CFG80211_DEFAULT_PS_VALUE=0 | ||
422 | # CONFIG_WIRELESS_OLD_REGULATORY is not set | ||
423 | # CONFIG_WIRELESS_EXT is not set | ||
424 | # CONFIG_LIB80211 is not set | 451 | # CONFIG_LIB80211 is not set |
425 | 452 | ||
426 | # | 453 | # |
@@ -550,6 +577,10 @@ CONFIG_MTD_UBI_BEB_RESERVE=1 | |||
550 | CONFIG_BLK_DEV=y | 577 | CONFIG_BLK_DEV=y |
551 | # CONFIG_BLK_DEV_COW_COMMON is not set | 578 | # CONFIG_BLK_DEV_COW_COMMON is not set |
552 | # CONFIG_BLK_DEV_LOOP is not set | 579 | # CONFIG_BLK_DEV_LOOP is not set |
580 | |||
581 | # | ||
582 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
583 | # | ||
553 | # CONFIG_BLK_DEV_NBD is not set | 584 | # CONFIG_BLK_DEV_NBD is not set |
554 | CONFIG_BLK_DEV_RAM=y | 585 | CONFIG_BLK_DEV_RAM=y |
555 | CONFIG_BLK_DEV_RAM_COUNT=4 | 586 | CONFIG_BLK_DEV_RAM_COUNT=4 |
@@ -559,9 +590,12 @@ CONFIG_BLK_DEV_RAM_SIZE=4096 | |||
559 | # CONFIG_ATA_OVER_ETH is not set | 590 | # CONFIG_ATA_OVER_ETH is not set |
560 | # CONFIG_BLK_DEV_HD is not set | 591 | # CONFIG_BLK_DEV_HD is not set |
561 | CONFIG_MISC_DEVICES=y | 592 | CONFIG_MISC_DEVICES=y |
593 | # CONFIG_AD525X_DPOT is not set | ||
562 | # CONFIG_ICS932S401 is not set | 594 | # CONFIG_ICS932S401 is not set |
563 | # CONFIG_ENCLOSURE_SERVICES is not set | 595 | # CONFIG_ENCLOSURE_SERVICES is not set |
564 | # CONFIG_ISL29003 is not set | 596 | # CONFIG_ISL29003 is not set |
597 | # CONFIG_DS1682 is not set | ||
598 | # CONFIG_TI_DAC7512 is not set | ||
565 | # CONFIG_C2PORT is not set | 599 | # CONFIG_C2PORT is not set |
566 | 600 | ||
567 | # | 601 | # |
@@ -572,6 +606,7 @@ CONFIG_MISC_DEVICES=y | |||
572 | # CONFIG_EEPROM_LEGACY is not set | 606 | # CONFIG_EEPROM_LEGACY is not set |
573 | # CONFIG_EEPROM_MAX6875 is not set | 607 | # CONFIG_EEPROM_MAX6875 is not set |
574 | # CONFIG_EEPROM_93CX6 is not set | 608 | # CONFIG_EEPROM_93CX6 is not set |
609 | # CONFIG_IWMC3200TOP is not set | ||
575 | CONFIG_HAVE_IDE=y | 610 | CONFIG_HAVE_IDE=y |
576 | # CONFIG_IDE is not set | 611 | # CONFIG_IDE is not set |
577 | 612 | ||
@@ -664,11 +699,11 @@ CONFIG_SMSC911X=y | |||
664 | # CONFIG_B44 is not set | 699 | # CONFIG_B44 is not set |
665 | # CONFIG_KS8842 is not set | 700 | # CONFIG_KS8842 is not set |
666 | # CONFIG_KS8851 is not set | 701 | # CONFIG_KS8851 is not set |
702 | # CONFIG_KS8851_MLL is not set | ||
667 | # CONFIG_NETDEV_1000 is not set | 703 | # CONFIG_NETDEV_1000 is not set |
668 | # CONFIG_NETDEV_10000 is not set | 704 | # CONFIG_NETDEV_10000 is not set |
669 | CONFIG_WLAN=y | 705 | CONFIG_WLAN=y |
670 | # CONFIG_WLAN_PRE80211 is not set | 706 | # CONFIG_HOSTAP is not set |
671 | # CONFIG_WLAN_80211 is not set | ||
672 | 707 | ||
673 | # | 708 | # |
674 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 709 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -688,6 +723,7 @@ CONFIG_WLAN=y | |||
688 | CONFIG_INPUT=y | 723 | CONFIG_INPUT=y |
689 | # CONFIG_INPUT_FF_MEMLESS is not set | 724 | # CONFIG_INPUT_FF_MEMLESS is not set |
690 | # CONFIG_INPUT_POLLDEV is not set | 725 | # CONFIG_INPUT_POLLDEV is not set |
726 | # CONFIG_INPUT_SPARSEKMAP is not set | ||
691 | 727 | ||
692 | # | 728 | # |
693 | # Userland interfaces | 729 | # Userland interfaces |
@@ -782,7 +818,6 @@ CONFIG_I2C_SH_MOBILE=y | |||
782 | # | 818 | # |
783 | # Miscellaneous I2C Chip support | 819 | # Miscellaneous I2C Chip support |
784 | # | 820 | # |
785 | # CONFIG_DS1682 is not set | ||
786 | # CONFIG_SENSORS_TSL2550 is not set | 821 | # CONFIG_SENSORS_TSL2550 is not set |
787 | # CONFIG_I2C_DEBUG_CORE is not set | 822 | # CONFIG_I2C_DEBUG_CORE is not set |
788 | # CONFIG_I2C_DEBUG_ALGO is not set | 823 | # CONFIG_I2C_DEBUG_ALGO is not set |
@@ -796,7 +831,10 @@ CONFIG_SPI_MASTER=y | |||
796 | # | 831 | # |
797 | CONFIG_SPI_BITBANG=y | 832 | CONFIG_SPI_BITBANG=y |
798 | CONFIG_SPI_GPIO=y | 833 | CONFIG_SPI_GPIO=y |
834 | # CONFIG_SPI_SH_MSIOF is not set | ||
799 | # CONFIG_SPI_SH_SCI is not set | 835 | # CONFIG_SPI_SH_SCI is not set |
836 | # CONFIG_SPI_XILINX is not set | ||
837 | # CONFIG_SPI_DESIGNWARE is not set | ||
800 | 838 | ||
801 | # | 839 | # |
802 | # SPI Protocol Masters | 840 | # SPI Protocol Masters |
@@ -854,11 +892,13 @@ CONFIG_SSB_POSSIBLE=y | |||
854 | # | 892 | # |
855 | # CONFIG_MFD_CORE is not set | 893 | # CONFIG_MFD_CORE is not set |
856 | # CONFIG_MFD_SM501 is not set | 894 | # CONFIG_MFD_SM501 is not set |
895 | # CONFIG_MFD_SH_MOBILE_SDHI is not set | ||
857 | # CONFIG_HTC_PASIC3 is not set | 896 | # CONFIG_HTC_PASIC3 is not set |
858 | # CONFIG_TPS65010 is not set | 897 | # CONFIG_TPS65010 is not set |
859 | # CONFIG_TWL4030_CORE is not set | 898 | # CONFIG_TWL4030_CORE is not set |
860 | # CONFIG_MFD_TMIO is not set | 899 | # CONFIG_MFD_TMIO is not set |
861 | # CONFIG_PMIC_DA903X is not set | 900 | # CONFIG_PMIC_DA903X is not set |
901 | # CONFIG_PMIC_ADP5520 is not set | ||
862 | # CONFIG_MFD_WM8400 is not set | 902 | # CONFIG_MFD_WM8400 is not set |
863 | # CONFIG_MFD_WM831X is not set | 903 | # CONFIG_MFD_WM831X is not set |
864 | # CONFIG_MFD_WM8350_I2C is not set | 904 | # CONFIG_MFD_WM8350_I2C is not set |
@@ -866,6 +906,8 @@ CONFIG_SSB_POSSIBLE=y | |||
866 | # CONFIG_MFD_MC13783 is not set | 906 | # CONFIG_MFD_MC13783 is not set |
867 | # CONFIG_AB3100_CORE is not set | 907 | # CONFIG_AB3100_CORE is not set |
868 | # CONFIG_EZX_PCAP is not set | 908 | # CONFIG_EZX_PCAP is not set |
909 | # CONFIG_MFD_88PM8607 is not set | ||
910 | # CONFIG_AB4500_CORE is not set | ||
869 | # CONFIG_REGULATOR is not set | 911 | # CONFIG_REGULATOR is not set |
870 | CONFIG_MEDIA_SUPPORT=y | 912 | CONFIG_MEDIA_SUPPORT=y |
871 | 913 | ||
@@ -882,6 +924,8 @@ CONFIG_VIDEO_MEDIA=y | |||
882 | # | 924 | # |
883 | # Multimedia drivers | 925 | # Multimedia drivers |
884 | # | 926 | # |
927 | CONFIG_IR_CORE=y | ||
928 | CONFIG_VIDEO_IR=y | ||
885 | # CONFIG_MEDIA_ATTACH is not set | 929 | # CONFIG_MEDIA_ATTACH is not set |
886 | CONFIG_MEDIA_TUNER=y | 930 | CONFIG_MEDIA_TUNER=y |
887 | # CONFIG_MEDIA_TUNER_CUSTOMISE is not set | 931 | # CONFIG_MEDIA_TUNER_CUSTOMISE is not set |
@@ -901,6 +945,7 @@ CONFIG_VIDEO_CAPTURE_DRIVERS=y | |||
901 | # CONFIG_VIDEO_ADV_DEBUG is not set | 945 | # CONFIG_VIDEO_ADV_DEBUG is not set |
902 | # CONFIG_VIDEO_FIXED_MINOR_RANGES is not set | 946 | # CONFIG_VIDEO_FIXED_MINOR_RANGES is not set |
903 | CONFIG_VIDEO_HELPER_CHIPS_AUTO=y | 947 | CONFIG_VIDEO_HELPER_CHIPS_AUTO=y |
948 | CONFIG_VIDEO_IR_I2C=y | ||
904 | # CONFIG_VIDEO_VIVI is not set | 949 | # CONFIG_VIDEO_VIVI is not set |
905 | # CONFIG_VIDEO_SAA5246A is not set | 950 | # CONFIG_VIDEO_SAA5246A is not set |
906 | # CONFIG_VIDEO_SAA5249 is not set | 951 | # CONFIG_VIDEO_SAA5249 is not set |
@@ -908,10 +953,13 @@ CONFIG_SOC_CAMERA=y | |||
908 | # CONFIG_SOC_CAMERA_MT9M001 is not set | 953 | # CONFIG_SOC_CAMERA_MT9M001 is not set |
909 | # CONFIG_SOC_CAMERA_MT9M111 is not set | 954 | # CONFIG_SOC_CAMERA_MT9M111 is not set |
910 | # CONFIG_SOC_CAMERA_MT9T031 is not set | 955 | # CONFIG_SOC_CAMERA_MT9T031 is not set |
956 | # CONFIG_SOC_CAMERA_MT9T112 is not set | ||
911 | # CONFIG_SOC_CAMERA_MT9V022 is not set | 957 | # CONFIG_SOC_CAMERA_MT9V022 is not set |
958 | # CONFIG_SOC_CAMERA_RJ54N1 is not set | ||
912 | # CONFIG_SOC_CAMERA_TW9910 is not set | 959 | # CONFIG_SOC_CAMERA_TW9910 is not set |
913 | CONFIG_SOC_CAMERA_PLATFORM=y | 960 | CONFIG_SOC_CAMERA_PLATFORM=y |
914 | CONFIG_SOC_CAMERA_OV772X=y | 961 | CONFIG_SOC_CAMERA_OV772X=y |
962 | # CONFIG_SOC_CAMERA_OV9640 is not set | ||
915 | CONFIG_VIDEO_SH_MOBILE_CEU=y | 963 | CONFIG_VIDEO_SH_MOBILE_CEU=y |
916 | # CONFIG_RADIO_ADAPTERS is not set | 964 | # CONFIG_RADIO_ADAPTERS is not set |
917 | # CONFIG_DAB is not set | 965 | # CONFIG_DAB is not set |
@@ -996,6 +1044,7 @@ CONFIG_MMC_BLOCK_BOUNCE=y | |||
996 | # CONFIG_MMC_AT91 is not set | 1044 | # CONFIG_MMC_AT91 is not set |
997 | # CONFIG_MMC_ATMELMCI is not set | 1045 | # CONFIG_MMC_ATMELMCI is not set |
998 | CONFIG_MMC_SPI=y | 1046 | CONFIG_MMC_SPI=y |
1047 | # CONFIG_MMC_TMIO is not set | ||
999 | # CONFIG_MEMSTICK is not set | 1048 | # CONFIG_MEMSTICK is not set |
1000 | # CONFIG_NEW_LEDS is not set | 1049 | # CONFIG_NEW_LEDS is not set |
1001 | # CONFIG_ACCESSIBILITY is not set | 1050 | # CONFIG_ACCESSIBILITY is not set |
@@ -1027,6 +1076,7 @@ CONFIG_RTC_INTF_DEV=y | |||
1027 | CONFIG_RTC_DRV_PCF8563=y | 1076 | CONFIG_RTC_DRV_PCF8563=y |
1028 | # CONFIG_RTC_DRV_PCF8583 is not set | 1077 | # CONFIG_RTC_DRV_PCF8583 is not set |
1029 | # CONFIG_RTC_DRV_M41T80 is not set | 1078 | # CONFIG_RTC_DRV_M41T80 is not set |
1079 | # CONFIG_RTC_DRV_BQ32K is not set | ||
1030 | # CONFIG_RTC_DRV_S35390A is not set | 1080 | # CONFIG_RTC_DRV_S35390A is not set |
1031 | # CONFIG_RTC_DRV_FM3130 is not set | 1081 | # CONFIG_RTC_DRV_FM3130 is not set |
1032 | # CONFIG_RTC_DRV_RX8581 is not set | 1082 | # CONFIG_RTC_DRV_RX8581 is not set |
@@ -1055,7 +1105,9 @@ CONFIG_RTC_DRV_PCF8563=y | |||
1055 | # CONFIG_RTC_DRV_M48T86 is not set | 1105 | # CONFIG_RTC_DRV_M48T86 is not set |
1056 | # CONFIG_RTC_DRV_M48T35 is not set | 1106 | # CONFIG_RTC_DRV_M48T35 is not set |
1057 | # CONFIG_RTC_DRV_M48T59 is not set | 1107 | # CONFIG_RTC_DRV_M48T59 is not set |
1108 | # CONFIG_RTC_DRV_MSM6242 is not set | ||
1058 | # CONFIG_RTC_DRV_BQ4802 is not set | 1109 | # CONFIG_RTC_DRV_BQ4802 is not set |
1110 | # CONFIG_RTC_DRV_RP5C01 is not set | ||
1059 | # CONFIG_RTC_DRV_V3020 is not set | 1111 | # CONFIG_RTC_DRV_V3020 is not set |
1060 | 1112 | ||
1061 | # | 1113 | # |
@@ -1248,7 +1300,7 @@ CONFIG_FRAME_WARN=1024 | |||
1248 | # CONFIG_DEBUG_FS is not set | 1300 | # CONFIG_DEBUG_FS is not set |
1249 | # CONFIG_HEADERS_CHECK is not set | 1301 | # CONFIG_HEADERS_CHECK is not set |
1250 | # CONFIG_DEBUG_KERNEL is not set | 1302 | # CONFIG_DEBUG_KERNEL is not set |
1251 | # CONFIG_DEBUG_BUGVERBOSE is not set | 1303 | CONFIG_DEBUG_BUGVERBOSE=y |
1252 | # CONFIG_DEBUG_MEMORY_INIT is not set | 1304 | # CONFIG_DEBUG_MEMORY_INIT is not set |
1253 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | 1305 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set |
1254 | # CONFIG_LATENCYTOP is not set | 1306 | # CONFIG_LATENCYTOP is not set |
@@ -1265,7 +1317,6 @@ CONFIG_TRACING_SUPPORT=y | |||
1265 | # CONFIG_SAMPLES is not set | 1317 | # CONFIG_SAMPLES is not set |
1266 | CONFIG_HAVE_ARCH_KGDB=y | 1318 | CONFIG_HAVE_ARCH_KGDB=y |
1267 | # CONFIG_SH_STANDARD_BIOS is not set | 1319 | # CONFIG_SH_STANDARD_BIOS is not set |
1268 | # CONFIG_EARLY_SCIF_CONSOLE is not set | ||
1269 | # CONFIG_DWARF_UNWINDER is not set | 1320 | # CONFIG_DWARF_UNWINDER is not set |
1270 | 1321 | ||
1271 | # | 1322 | # |
@@ -1274,7 +1325,11 @@ CONFIG_HAVE_ARCH_KGDB=y | |||
1274 | # CONFIG_KEYS is not set | 1325 | # CONFIG_KEYS is not set |
1275 | # CONFIG_SECURITY is not set | 1326 | # CONFIG_SECURITY is not set |
1276 | # CONFIG_SECURITYFS is not set | 1327 | # CONFIG_SECURITYFS is not set |
1277 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1328 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
1329 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
1330 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
1331 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
1332 | CONFIG_DEFAULT_SECURITY="" | ||
1278 | CONFIG_CRYPTO=y | 1333 | CONFIG_CRYPTO=y |
1279 | 1334 | ||
1280 | # | 1335 | # |
diff --git a/arch/sh/configs/cayman_defconfig b/arch/sh/configs/cayman_defconfig index 6b863cb1e248..92589a950d07 100644 --- a/arch/sh/configs/cayman_defconfig +++ b/arch/sh/configs/cayman_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.30 | 3 | # Linux kernel version: 2.6.33-rc2 |
4 | # Thu Jun 18 12:21:54 2009 | 4 | # Mon Jan 4 11:14:50 2010 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | # CONFIG_SUPERH32 is not set | 7 | # CONFIG_SUPERH32 is not set |
@@ -14,11 +14,13 @@ CONFIG_GENERIC_HWEIGHT=y | |||
14 | CONFIG_GENERIC_HARDIRQS=y | 14 | CONFIG_GENERIC_HARDIRQS=y |
15 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y | 15 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y |
16 | CONFIG_GENERIC_IRQ_PROBE=y | 16 | CONFIG_GENERIC_IRQ_PROBE=y |
17 | CONFIG_IRQ_PER_CPU=y | ||
17 | # CONFIG_GENERIC_GPIO is not set | 18 | # CONFIG_GENERIC_GPIO is not set |
18 | CONFIG_GENERIC_TIME=y | 19 | CONFIG_GENERIC_TIME=y |
19 | CONFIG_GENERIC_CLOCKEVENTS=y | 20 | CONFIG_GENERIC_CLOCKEVENTS=y |
20 | # CONFIG_ARCH_SUSPEND_POSSIBLE is not set | 21 | # CONFIG_ARCH_SUSPEND_POSSIBLE is not set |
21 | # CONFIG_ARCH_HIBERNATION_POSSIBLE is not set | 22 | # CONFIG_ARCH_HIBERNATION_POSSIBLE is not set |
23 | CONFIG_SYS_SUPPORTS_HUGETLBFS=y | ||
22 | CONFIG_SYS_SUPPORTS_PCI=y | 24 | CONFIG_SYS_SUPPORTS_PCI=y |
23 | CONFIG_SYS_SUPPORTS_TMU=y | 25 | CONFIG_SYS_SUPPORTS_TMU=y |
24 | CONFIG_STACKTRACE_SUPPORT=y | 26 | CONFIG_STACKTRACE_SUPPORT=y |
@@ -28,7 +30,10 @@ CONFIG_HAVE_LATENCYTOP_SUPPORT=y | |||
28 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set | 30 | # CONFIG_ARCH_HAS_ILOG2_U64 is not set |
29 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | 31 | CONFIG_ARCH_NO_VIRT_TO_BUS=y |
30 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y | 32 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y |
33 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y | ||
34 | CONFIG_DMA_NONCOHERENT=y | ||
31 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 35 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
36 | CONFIG_CONSTRUCTORS=y | ||
32 | 37 | ||
33 | # | 38 | # |
34 | # General setup | 39 | # General setup |
@@ -39,6 +44,12 @@ CONFIG_LOCK_KERNEL=y | |||
39 | CONFIG_INIT_ENV_ARG_LIMIT=32 | 44 | CONFIG_INIT_ENV_ARG_LIMIT=32 |
40 | CONFIG_LOCALVERSION="" | 45 | CONFIG_LOCALVERSION="" |
41 | CONFIG_LOCALVERSION_AUTO=y | 46 | CONFIG_LOCALVERSION_AUTO=y |
47 | CONFIG_HAVE_KERNEL_GZIP=y | ||
48 | CONFIG_HAVE_KERNEL_BZIP2=y | ||
49 | CONFIG_HAVE_KERNEL_LZMA=y | ||
50 | CONFIG_KERNEL_GZIP=y | ||
51 | # CONFIG_KERNEL_BZIP2 is not set | ||
52 | # CONFIG_KERNEL_LZMA is not set | ||
42 | CONFIG_SWAP=y | 53 | CONFIG_SWAP=y |
43 | # CONFIG_SYSVIPC is not set | 54 | # CONFIG_SYSVIPC is not set |
44 | CONFIG_POSIX_MQUEUE=y | 55 | CONFIG_POSIX_MQUEUE=y |
@@ -50,11 +61,13 @@ CONFIG_POSIX_MQUEUE_SYSCTL=y | |||
50 | # | 61 | # |
51 | # RCU Subsystem | 62 | # RCU Subsystem |
52 | # | 63 | # |
53 | CONFIG_CLASSIC_RCU=y | 64 | CONFIG_TREE_RCU=y |
54 | # CONFIG_TREE_RCU is not set | 65 | # CONFIG_TREE_PREEMPT_RCU is not set |
55 | # CONFIG_PREEMPT_RCU is not set | 66 | # CONFIG_TINY_RCU is not set |
67 | # CONFIG_RCU_TRACE is not set | ||
68 | CONFIG_RCU_FANOUT=32 | ||
69 | # CONFIG_RCU_FANOUT_EXACT is not set | ||
56 | # CONFIG_TREE_RCU_TRACE is not set | 70 | # CONFIG_TREE_RCU_TRACE is not set |
57 | # CONFIG_PREEMPT_RCU_TRACE is not set | ||
58 | # CONFIG_IKCONFIG is not set | 71 | # CONFIG_IKCONFIG is not set |
59 | CONFIG_LOG_BUF_SHIFT=14 | 72 | CONFIG_LOG_BUF_SHIFT=14 |
60 | # CONFIG_GROUP_SCHED is not set | 73 | # CONFIG_GROUP_SCHED is not set |
@@ -85,24 +98,32 @@ CONFIG_TIMERFD=y | |||
85 | CONFIG_EVENTFD=y | 98 | CONFIG_EVENTFD=y |
86 | CONFIG_SHMEM=y | 99 | CONFIG_SHMEM=y |
87 | CONFIG_AIO=y | 100 | CONFIG_AIO=y |
101 | CONFIG_HAVE_PERF_EVENTS=y | ||
102 | CONFIG_PERF_USE_VMALLOC=y | ||
88 | 103 | ||
89 | # | 104 | # |
90 | # Performance Counters | 105 | # Kernel Performance Events And Counters |
91 | # | 106 | # |
107 | # CONFIG_PERF_EVENTS is not set | ||
108 | # CONFIG_PERF_COUNTERS is not set | ||
92 | CONFIG_VM_EVENT_COUNTERS=y | 109 | CONFIG_VM_EVENT_COUNTERS=y |
93 | CONFIG_PCI_QUIRKS=y | 110 | CONFIG_PCI_QUIRKS=y |
94 | # CONFIG_STRIP_ASM_SYMS is not set | ||
95 | CONFIG_COMPAT_BRK=y | 111 | CONFIG_COMPAT_BRK=y |
96 | CONFIG_SLAB=y | 112 | CONFIG_SLAB=y |
97 | # CONFIG_SLUB is not set | 113 | # CONFIG_SLUB is not set |
98 | # CONFIG_SLOB is not set | 114 | # CONFIG_SLOB is not set |
99 | # CONFIG_PROFILING is not set | 115 | # CONFIG_PROFILING is not set |
100 | # CONFIG_MARKERS is not set | ||
101 | CONFIG_HAVE_OPROFILE=y | 116 | CONFIG_HAVE_OPROFILE=y |
102 | CONFIG_HAVE_IOREMAP_PROT=y | 117 | CONFIG_HAVE_IOREMAP_PROT=y |
103 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 118 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
119 | CONFIG_HAVE_DMA_ATTRS=y | ||
104 | CONFIG_HAVE_CLK=y | 120 | CONFIG_HAVE_CLK=y |
105 | CONFIG_HAVE_DMA_API_DEBUG=y | 121 | CONFIG_HAVE_DMA_API_DEBUG=y |
122 | |||
123 | # | ||
124 | # GCOV-based kernel profiling | ||
125 | # | ||
126 | # CONFIG_GCOV_KERNEL is not set | ||
106 | # CONFIG_SLOW_WORK is not set | 127 | # CONFIG_SLOW_WORK is not set |
107 | CONFIG_HAVE_GENERIC_DMA_COHERENT=y | 128 | CONFIG_HAVE_GENERIC_DMA_COHERENT=y |
108 | CONFIG_SLABINFO=y | 129 | CONFIG_SLABINFO=y |
@@ -115,7 +136,7 @@ CONFIG_MODULE_UNLOAD=y | |||
115 | # CONFIG_MODVERSIONS is not set | 136 | # CONFIG_MODVERSIONS is not set |
116 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 137 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
117 | CONFIG_BLOCK=y | 138 | CONFIG_BLOCK=y |
118 | # CONFIG_LBD is not set | 139 | CONFIG_LBDAF=y |
119 | # CONFIG_BLK_DEV_BSG is not set | 140 | # CONFIG_BLK_DEV_BSG is not set |
120 | # CONFIG_BLK_DEV_INTEGRITY is not set | 141 | # CONFIG_BLK_DEV_INTEGRITY is not set |
121 | 142 | ||
@@ -123,14 +144,41 @@ CONFIG_BLOCK=y | |||
123 | # IO Schedulers | 144 | # IO Schedulers |
124 | # | 145 | # |
125 | CONFIG_IOSCHED_NOOP=y | 146 | CONFIG_IOSCHED_NOOP=y |
126 | CONFIG_IOSCHED_AS=y | ||
127 | CONFIG_IOSCHED_DEADLINE=y | 147 | CONFIG_IOSCHED_DEADLINE=y |
128 | CONFIG_IOSCHED_CFQ=y | 148 | CONFIG_IOSCHED_CFQ=y |
129 | # CONFIG_DEFAULT_AS is not set | ||
130 | # CONFIG_DEFAULT_DEADLINE is not set | 149 | # CONFIG_DEFAULT_DEADLINE is not set |
131 | CONFIG_DEFAULT_CFQ=y | 150 | CONFIG_DEFAULT_CFQ=y |
132 | # CONFIG_DEFAULT_NOOP is not set | 151 | # CONFIG_DEFAULT_NOOP is not set |
133 | CONFIG_DEFAULT_IOSCHED="cfq" | 152 | CONFIG_DEFAULT_IOSCHED="cfq" |
153 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
154 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
155 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
156 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
157 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
158 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
159 | # CONFIG_INLINE_SPIN_UNLOCK is not set | ||
160 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
161 | # CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set | ||
162 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
163 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
164 | # CONFIG_INLINE_READ_LOCK is not set | ||
165 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
166 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
167 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
168 | # CONFIG_INLINE_READ_UNLOCK is not set | ||
169 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
170 | # CONFIG_INLINE_READ_UNLOCK_IRQ is not set | ||
171 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
172 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
173 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
174 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
175 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
176 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
177 | # CONFIG_INLINE_WRITE_UNLOCK is not set | ||
178 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
179 | # CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set | ||
180 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
181 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
134 | # CONFIG_FREEZER is not set | 182 | # CONFIG_FREEZER is not set |
135 | 183 | ||
136 | # | 184 | # |
@@ -178,8 +226,7 @@ CONFIG_SPLIT_PTLOCK_CPUS=4 | |||
178 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 226 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
179 | CONFIG_ZONE_DMA_FLAG=0 | 227 | CONFIG_ZONE_DMA_FLAG=0 |
180 | CONFIG_NR_QUICK=2 | 228 | CONFIG_NR_QUICK=2 |
181 | CONFIG_HAVE_MLOCK=y | 229 | # CONFIG_KSM is not set |
182 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
183 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | 230 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 |
184 | 231 | ||
185 | # | 232 | # |
@@ -255,13 +302,13 @@ CONFIG_PREEMPT=y | |||
255 | CONFIG_ZERO_PAGE_OFFSET=0x00001000 | 302 | CONFIG_ZERO_PAGE_OFFSET=0x00001000 |
256 | CONFIG_BOOT_LINK_OFFSET=0x00400000 | 303 | CONFIG_BOOT_LINK_OFFSET=0x00400000 |
257 | CONFIG_ENTRY_OFFSET=0x00001000 | 304 | CONFIG_ENTRY_OFFSET=0x00001000 |
258 | # CONFIG_CMDLINE_BOOL is not set | 305 | # CONFIG_CMDLINE_OVERWRITE is not set |
306 | # CONFIG_CMDLINE_EXTEND is not set | ||
259 | 307 | ||
260 | # | 308 | # |
261 | # Bus options | 309 | # Bus options |
262 | # | 310 | # |
263 | CONFIG_PCI=y | 311 | CONFIG_PCI=y |
264 | CONFIG_SH_PCIDMA_NONCOHERENT=y | ||
265 | # CONFIG_PCIEPORTBUS is not set | 312 | # CONFIG_PCIEPORTBUS is not set |
266 | # CONFIG_ARCH_SUPPORTS_MSI is not set | 313 | # CONFIG_ARCH_SUPPORTS_MSI is not set |
267 | CONFIG_PCI_LEGACY=y | 314 | CONFIG_PCI_LEGACY=y |
@@ -330,6 +377,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
330 | # CONFIG_NETFILTER is not set | 377 | # CONFIG_NETFILTER is not set |
331 | # CONFIG_IP_DCCP is not set | 378 | # CONFIG_IP_DCCP is not set |
332 | # CONFIG_IP_SCTP is not set | 379 | # CONFIG_IP_SCTP is not set |
380 | # CONFIG_RDS is not set | ||
333 | # CONFIG_TIPC is not set | 381 | # CONFIG_TIPC is not set |
334 | # CONFIG_ATM is not set | 382 | # CONFIG_ATM is not set |
335 | # CONFIG_BRIDGE is not set | 383 | # CONFIG_BRIDGE is not set |
@@ -359,14 +407,11 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
359 | # CONFIG_AF_RXRPC is not set | 407 | # CONFIG_AF_RXRPC is not set |
360 | CONFIG_WIRELESS=y | 408 | CONFIG_WIRELESS=y |
361 | # CONFIG_CFG80211 is not set | 409 | # CONFIG_CFG80211 is not set |
362 | # CONFIG_WIRELESS_OLD_REGULATORY is not set | ||
363 | # CONFIG_WIRELESS_EXT is not set | ||
364 | # CONFIG_LIB80211 is not set | 410 | # CONFIG_LIB80211 is not set |
365 | 411 | ||
366 | # | 412 | # |
367 | # CFG80211 needs to be enabled for MAC80211 | 413 | # CFG80211 needs to be enabled for MAC80211 |
368 | # | 414 | # |
369 | CONFIG_MAC80211_DEFAULT_PS_VALUE=0 | ||
370 | # CONFIG_WIMAX is not set | 415 | # CONFIG_WIMAX is not set |
371 | # CONFIG_RFKILL is not set | 416 | # CONFIG_RFKILL is not set |
372 | # CONFIG_NET_9P is not set | 417 | # CONFIG_NET_9P is not set |
@@ -379,6 +424,7 @@ CONFIG_MAC80211_DEFAULT_PS_VALUE=0 | |||
379 | # Generic Driver Options | 424 | # Generic Driver Options |
380 | # | 425 | # |
381 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | 426 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" |
427 | # CONFIG_DEVTMPFS is not set | ||
382 | CONFIG_STANDALONE=y | 428 | CONFIG_STANDALONE=y |
383 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 429 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
384 | # CONFIG_FW_LOADER is not set | 430 | # CONFIG_FW_LOADER is not set |
@@ -395,6 +441,10 @@ CONFIG_BLK_DEV=y | |||
395 | # CONFIG_BLK_DEV_COW_COMMON is not set | 441 | # CONFIG_BLK_DEV_COW_COMMON is not set |
396 | CONFIG_BLK_DEV_LOOP=y | 442 | CONFIG_BLK_DEV_LOOP=y |
397 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | 443 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set |
444 | |||
445 | # | ||
446 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
447 | # | ||
398 | # CONFIG_BLK_DEV_NBD is not set | 448 | # CONFIG_BLK_DEV_NBD is not set |
399 | # CONFIG_BLK_DEV_SX8 is not set | 449 | # CONFIG_BLK_DEV_SX8 is not set |
400 | CONFIG_BLK_DEV_RAM=y | 450 | CONFIG_BLK_DEV_RAM=y |
@@ -405,6 +455,7 @@ CONFIG_BLK_DEV_RAM_SIZE=4096 | |||
405 | # CONFIG_ATA_OVER_ETH is not set | 455 | # CONFIG_ATA_OVER_ETH is not set |
406 | # CONFIG_BLK_DEV_HD is not set | 456 | # CONFIG_BLK_DEV_HD is not set |
407 | CONFIG_MISC_DEVICES=y | 457 | CONFIG_MISC_DEVICES=y |
458 | # CONFIG_AD525X_DPOT is not set | ||
408 | # CONFIG_PHANTOM is not set | 459 | # CONFIG_PHANTOM is not set |
409 | # CONFIG_SGI_IOC4 is not set | 460 | # CONFIG_SGI_IOC4 is not set |
410 | # CONFIG_TIFM_CORE is not set | 461 | # CONFIG_TIFM_CORE is not set |
@@ -412,6 +463,7 @@ CONFIG_MISC_DEVICES=y | |||
412 | # CONFIG_ENCLOSURE_SERVICES is not set | 463 | # CONFIG_ENCLOSURE_SERVICES is not set |
413 | # CONFIG_HP_ILO is not set | 464 | # CONFIG_HP_ILO is not set |
414 | # CONFIG_ISL29003 is not set | 465 | # CONFIG_ISL29003 is not set |
466 | # CONFIG_DS1682 is not set | ||
415 | # CONFIG_C2PORT is not set | 467 | # CONFIG_C2PORT is not set |
416 | 468 | ||
417 | # | 469 | # |
@@ -462,8 +514,11 @@ CONFIG_SCSI_LOWLEVEL=y | |||
462 | # CONFIG_ISCSI_TCP is not set | 514 | # CONFIG_ISCSI_TCP is not set |
463 | # CONFIG_SCSI_CXGB3_ISCSI is not set | 515 | # CONFIG_SCSI_CXGB3_ISCSI is not set |
464 | # CONFIG_SCSI_BNX2_ISCSI is not set | 516 | # CONFIG_SCSI_BNX2_ISCSI is not set |
517 | # CONFIG_BE2ISCSI is not set | ||
465 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set | 518 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set |
519 | # CONFIG_SCSI_HPSA is not set | ||
466 | # CONFIG_SCSI_3W_9XXX is not set | 520 | # CONFIG_SCSI_3W_9XXX is not set |
521 | # CONFIG_SCSI_3W_SAS is not set | ||
467 | # CONFIG_SCSI_ACARD is not set | 522 | # CONFIG_SCSI_ACARD is not set |
468 | # CONFIG_SCSI_AACRAID is not set | 523 | # CONFIG_SCSI_AACRAID is not set |
469 | # CONFIG_SCSI_AIC7XXX is not set | 524 | # CONFIG_SCSI_AIC7XXX is not set |
@@ -495,7 +550,10 @@ CONFIG_SCSI_LOWLEVEL=y | |||
495 | # CONFIG_SCSI_DC390T is not set | 550 | # CONFIG_SCSI_DC390T is not set |
496 | # CONFIG_SCSI_NSP32 is not set | 551 | # CONFIG_SCSI_NSP32 is not set |
497 | # CONFIG_SCSI_DEBUG is not set | 552 | # CONFIG_SCSI_DEBUG is not set |
553 | # CONFIG_SCSI_PMCRAID is not set | ||
554 | # CONFIG_SCSI_PM8001 is not set | ||
498 | # CONFIG_SCSI_SRP is not set | 555 | # CONFIG_SCSI_SRP is not set |
556 | # CONFIG_SCSI_BFA_FC is not set | ||
499 | # CONFIG_SCSI_DH is not set | 557 | # CONFIG_SCSI_DH is not set |
500 | # CONFIG_SCSI_OSD_INITIATOR is not set | 558 | # CONFIG_SCSI_OSD_INITIATOR is not set |
501 | # CONFIG_ATA is not set | 559 | # CONFIG_ATA is not set |
@@ -507,7 +565,11 @@ CONFIG_SCSI_LOWLEVEL=y | |||
507 | # | 565 | # |
508 | 566 | ||
509 | # | 567 | # |
510 | # Enable only one of the two stacks, unless you know what you are doing | 568 | # You can enable one or both FireWire driver stacks. |
569 | # | ||
570 | |||
571 | # | ||
572 | # See the help texts for more information. | ||
511 | # | 573 | # |
512 | # CONFIG_FIREWIRE is not set | 574 | # CONFIG_FIREWIRE is not set |
513 | # CONFIG_IEEE1394 is not set | 575 | # CONFIG_IEEE1394 is not set |
@@ -546,6 +608,7 @@ CONFIG_NET_ETHERNET=y | |||
546 | # CONFIG_NET_PCI is not set | 608 | # CONFIG_NET_PCI is not set |
547 | # CONFIG_B44 is not set | 609 | # CONFIG_B44 is not set |
548 | # CONFIG_KS8842 is not set | 610 | # CONFIG_KS8842 is not set |
611 | # CONFIG_KS8851_MLL is not set | ||
549 | # CONFIG_ATL2 is not set | 612 | # CONFIG_ATL2 is not set |
550 | CONFIG_NETDEV_1000=y | 613 | CONFIG_NETDEV_1000=y |
551 | # CONFIG_ACENIC is not set | 614 | # CONFIG_ACENIC is not set |
@@ -565,6 +628,7 @@ CONFIG_NETDEV_1000=y | |||
565 | # CONFIG_VIA_VELOCITY is not set | 628 | # CONFIG_VIA_VELOCITY is not set |
566 | # CONFIG_TIGON3 is not set | 629 | # CONFIG_TIGON3 is not set |
567 | # CONFIG_BNX2 is not set | 630 | # CONFIG_BNX2 is not set |
631 | # CONFIG_CNIC is not set | ||
568 | # CONFIG_QLA3XXX is not set | 632 | # CONFIG_QLA3XXX is not set |
569 | # CONFIG_ATL1 is not set | 633 | # CONFIG_ATL1 is not set |
570 | # CONFIG_ATL1E is not set | 634 | # CONFIG_ATL1E is not set |
@@ -590,12 +654,10 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
590 | # CONFIG_SFC is not set | 654 | # CONFIG_SFC is not set |
591 | # CONFIG_BE2NET is not set | 655 | # CONFIG_BE2NET is not set |
592 | # CONFIG_TR is not set | 656 | # CONFIG_TR is not set |
593 | 657 | CONFIG_WLAN=y | |
594 | # | 658 | # CONFIG_ATMEL is not set |
595 | # Wireless LAN | 659 | # CONFIG_PRISM54 is not set |
596 | # | 660 | # CONFIG_HOSTAP is not set |
597 | # CONFIG_WLAN_PRE80211 is not set | ||
598 | # CONFIG_WLAN_80211 is not set | ||
599 | 661 | ||
600 | # | 662 | # |
601 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 663 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -609,6 +671,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
609 | # CONFIG_NETCONSOLE is not set | 671 | # CONFIG_NETCONSOLE is not set |
610 | # CONFIG_NETPOLL is not set | 672 | # CONFIG_NETPOLL is not set |
611 | # CONFIG_NET_POLL_CONTROLLER is not set | 673 | # CONFIG_NET_POLL_CONTROLLER is not set |
674 | # CONFIG_VMXNET3 is not set | ||
612 | # CONFIG_ISDN is not set | 675 | # CONFIG_ISDN is not set |
613 | # CONFIG_PHONE is not set | 676 | # CONFIG_PHONE is not set |
614 | 677 | ||
@@ -618,6 +681,7 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
618 | CONFIG_INPUT=y | 681 | CONFIG_INPUT=y |
619 | # CONFIG_INPUT_FF_MEMLESS is not set | 682 | # CONFIG_INPUT_FF_MEMLESS is not set |
620 | # CONFIG_INPUT_POLLDEV is not set | 683 | # CONFIG_INPUT_POLLDEV is not set |
684 | # CONFIG_INPUT_SPARSEKMAP is not set | ||
621 | 685 | ||
622 | # | 686 | # |
623 | # Userland interfaces | 687 | # Userland interfaces |
@@ -682,6 +746,7 @@ CONFIG_HW_RANDOM=y | |||
682 | CONFIG_DEVPORT=y | 746 | CONFIG_DEVPORT=y |
683 | CONFIG_I2C=m | 747 | CONFIG_I2C=m |
684 | CONFIG_I2C_BOARDINFO=y | 748 | CONFIG_I2C_BOARDINFO=y |
749 | CONFIG_I2C_COMPAT=y | ||
685 | # CONFIG_I2C_CHARDEV is not set | 750 | # CONFIG_I2C_CHARDEV is not set |
686 | CONFIG_I2C_HELPER_AUTO=y | 751 | CONFIG_I2C_HELPER_AUTO=y |
687 | 752 | ||
@@ -710,6 +775,7 @@ CONFIG_I2C_HELPER_AUTO=y | |||
710 | # | 775 | # |
711 | # I2C system bus drivers (mostly embedded / system-on-chip) | 776 | # I2C system bus drivers (mostly embedded / system-on-chip) |
712 | # | 777 | # |
778 | # CONFIG_I2C_DESIGNWARE is not set | ||
713 | # CONFIG_I2C_OCORES is not set | 779 | # CONFIG_I2C_OCORES is not set |
714 | # CONFIG_I2C_SH_MOBILE is not set | 780 | # CONFIG_I2C_SH_MOBILE is not set |
715 | # CONFIG_I2C_SIMTEC is not set | 781 | # CONFIG_I2C_SIMTEC is not set |
@@ -721,11 +787,6 @@ CONFIG_I2C_HELPER_AUTO=y | |||
721 | # CONFIG_I2C_TAOS_EVM is not set | 787 | # CONFIG_I2C_TAOS_EVM is not set |
722 | 788 | ||
723 | # | 789 | # |
724 | # Graphics adapter I2C/DDC channel drivers | ||
725 | # | ||
726 | # CONFIG_I2C_VOODOO3 is not set | ||
727 | |||
728 | # | ||
729 | # Other I2C/SMBus bus drivers | 790 | # Other I2C/SMBus bus drivers |
730 | # | 791 | # |
731 | # CONFIG_I2C_PCA_PLATFORM is not set | 792 | # CONFIG_I2C_PCA_PLATFORM is not set |
@@ -734,20 +795,26 @@ CONFIG_I2C_HELPER_AUTO=y | |||
734 | # | 795 | # |
735 | # Miscellaneous I2C Chip support | 796 | # Miscellaneous I2C Chip support |
736 | # | 797 | # |
737 | # CONFIG_DS1682 is not set | ||
738 | # CONFIG_SENSORS_PCF8574 is not set | ||
739 | # CONFIG_PCF8575 is not set | ||
740 | # CONFIG_SENSORS_PCA9539 is not set | ||
741 | # CONFIG_SENSORS_TSL2550 is not set | 798 | # CONFIG_SENSORS_TSL2550 is not set |
742 | # CONFIG_I2C_DEBUG_CORE is not set | 799 | # CONFIG_I2C_DEBUG_CORE is not set |
743 | # CONFIG_I2C_DEBUG_ALGO is not set | 800 | # CONFIG_I2C_DEBUG_ALGO is not set |
744 | # CONFIG_I2C_DEBUG_BUS is not set | 801 | # CONFIG_I2C_DEBUG_BUS is not set |
745 | # CONFIG_I2C_DEBUG_CHIP is not set | 802 | # CONFIG_I2C_DEBUG_CHIP is not set |
746 | # CONFIG_SPI is not set | 803 | # CONFIG_SPI is not set |
804 | |||
805 | # | ||
806 | # PPS support | ||
807 | # | ||
808 | # CONFIG_PPS is not set | ||
747 | # CONFIG_W1 is not set | 809 | # CONFIG_W1 is not set |
748 | # CONFIG_POWER_SUPPLY is not set | 810 | # CONFIG_POWER_SUPPLY is not set |
749 | CONFIG_HWMON=y | 811 | CONFIG_HWMON=y |
750 | # CONFIG_HWMON_VID is not set | 812 | # CONFIG_HWMON_VID is not set |
813 | # CONFIG_HWMON_DEBUG_CHIP is not set | ||
814 | |||
815 | # | ||
816 | # Native drivers | ||
817 | # | ||
751 | # CONFIG_SENSORS_AD7414 is not set | 818 | # CONFIG_SENSORS_AD7414 is not set |
752 | # CONFIG_SENSORS_AD7418 is not set | 819 | # CONFIG_SENSORS_AD7418 is not set |
753 | # CONFIG_SENSORS_ADM1021 is not set | 820 | # CONFIG_SENSORS_ADM1021 is not set |
@@ -771,6 +838,7 @@ CONFIG_HWMON=y | |||
771 | # CONFIG_SENSORS_GL520SM is not set | 838 | # CONFIG_SENSORS_GL520SM is not set |
772 | # CONFIG_SENSORS_IT87 is not set | 839 | # CONFIG_SENSORS_IT87 is not set |
773 | # CONFIG_SENSORS_LM63 is not set | 840 | # CONFIG_SENSORS_LM63 is not set |
841 | # CONFIG_SENSORS_LM73 is not set | ||
774 | # CONFIG_SENSORS_LM75 is not set | 842 | # CONFIG_SENSORS_LM75 is not set |
775 | # CONFIG_SENSORS_LM77 is not set | 843 | # CONFIG_SENSORS_LM77 is not set |
776 | # CONFIG_SENSORS_LM78 is not set | 844 | # CONFIG_SENSORS_LM78 is not set |
@@ -797,6 +865,7 @@ CONFIG_HWMON=y | |||
797 | # CONFIG_SENSORS_ADS7828 is not set | 865 | # CONFIG_SENSORS_ADS7828 is not set |
798 | # CONFIG_SENSORS_THMC50 is not set | 866 | # CONFIG_SENSORS_THMC50 is not set |
799 | # CONFIG_SENSORS_TMP401 is not set | 867 | # CONFIG_SENSORS_TMP401 is not set |
868 | # CONFIG_SENSORS_TMP421 is not set | ||
800 | # CONFIG_SENSORS_VIA686A is not set | 869 | # CONFIG_SENSORS_VIA686A is not set |
801 | # CONFIG_SENSORS_VT1211 is not set | 870 | # CONFIG_SENSORS_VT1211 is not set |
802 | # CONFIG_SENSORS_VT8231 is not set | 871 | # CONFIG_SENSORS_VT8231 is not set |
@@ -808,9 +877,8 @@ CONFIG_HWMON=y | |||
808 | # CONFIG_SENSORS_W83L786NG is not set | 877 | # CONFIG_SENSORS_W83L786NG is not set |
809 | # CONFIG_SENSORS_W83627HF is not set | 878 | # CONFIG_SENSORS_W83627HF is not set |
810 | # CONFIG_SENSORS_W83627EHF is not set | 879 | # CONFIG_SENSORS_W83627EHF is not set |
811 | # CONFIG_HWMON_DEBUG_CHIP is not set | 880 | # CONFIG_SENSORS_LIS3_I2C is not set |
812 | # CONFIG_THERMAL is not set | 881 | # CONFIG_THERMAL is not set |
813 | # CONFIG_THERMAL_HWMON is not set | ||
814 | CONFIG_WATCHDOG=y | 882 | CONFIG_WATCHDOG=y |
815 | # CONFIG_WATCHDOG_NOWAYOUT is not set | 883 | # CONFIG_WATCHDOG_NOWAYOUT is not set |
816 | 884 | ||
@@ -837,17 +905,20 @@ CONFIG_SSB_POSSIBLE=y | |||
837 | # | 905 | # |
838 | # CONFIG_MFD_CORE is not set | 906 | # CONFIG_MFD_CORE is not set |
839 | # CONFIG_MFD_SM501 is not set | 907 | # CONFIG_MFD_SM501 is not set |
908 | # CONFIG_MFD_SH_MOBILE_SDHI is not set | ||
840 | # CONFIG_HTC_PASIC3 is not set | 909 | # CONFIG_HTC_PASIC3 is not set |
841 | # CONFIG_MFD_TMIO is not set | 910 | # CONFIG_MFD_TMIO is not set |
842 | # CONFIG_MFD_WM8400 is not set | 911 | # CONFIG_MFD_WM8400 is not set |
843 | # CONFIG_MFD_WM8350_I2C is not set | 912 | # CONFIG_MFD_WM8350_I2C is not set |
844 | # CONFIG_MFD_PCF50633 is not set | 913 | # CONFIG_MFD_PCF50633 is not set |
914 | # CONFIG_AB3100_CORE is not set | ||
845 | # CONFIG_REGULATOR is not set | 915 | # CONFIG_REGULATOR is not set |
846 | # CONFIG_MEDIA_SUPPORT is not set | 916 | # CONFIG_MEDIA_SUPPORT is not set |
847 | 917 | ||
848 | # | 918 | # |
849 | # Graphics support | 919 | # Graphics support |
850 | # | 920 | # |
921 | CONFIG_VGA_ARB=y | ||
851 | # CONFIG_DRM is not set | 922 | # CONFIG_DRM is not set |
852 | # CONFIG_VGASTATE is not set | 923 | # CONFIG_VGASTATE is not set |
853 | CONFIG_VIDEO_OUTPUT_CONTROL=y | 924 | CONFIG_VIDEO_OUTPUT_CONTROL=y |
@@ -939,7 +1010,6 @@ CONFIG_LOGO_SUPERH_CLUT224=y | |||
939 | # CONFIG_SOUND is not set | 1010 | # CONFIG_SOUND is not set |
940 | CONFIG_HID_SUPPORT=y | 1011 | CONFIG_HID_SUPPORT=y |
941 | CONFIG_HID=y | 1012 | CONFIG_HID=y |
942 | # CONFIG_HID_DEBUG is not set | ||
943 | # CONFIG_HIDRAW is not set | 1013 | # CONFIG_HIDRAW is not set |
944 | # CONFIG_HID_PID is not set | 1014 | # CONFIG_HID_PID is not set |
945 | 1015 | ||
@@ -1002,8 +1072,10 @@ CONFIG_FS_MBCACHE=y | |||
1002 | # CONFIG_JFS_FS is not set | 1072 | # CONFIG_JFS_FS is not set |
1003 | # CONFIG_FS_POSIX_ACL is not set | 1073 | # CONFIG_FS_POSIX_ACL is not set |
1004 | # CONFIG_XFS_FS is not set | 1074 | # CONFIG_XFS_FS is not set |
1075 | # CONFIG_GFS2_FS is not set | ||
1005 | # CONFIG_OCFS2_FS is not set | 1076 | # CONFIG_OCFS2_FS is not set |
1006 | # CONFIG_BTRFS_FS is not set | 1077 | # CONFIG_BTRFS_FS is not set |
1078 | # CONFIG_NILFS2_FS is not set | ||
1007 | CONFIG_FILE_LOCKING=y | 1079 | CONFIG_FILE_LOCKING=y |
1008 | CONFIG_FSNOTIFY=y | 1080 | CONFIG_FSNOTIFY=y |
1009 | CONFIG_DNOTIFY=y | 1081 | CONFIG_DNOTIFY=y |
@@ -1067,7 +1139,6 @@ CONFIG_ROMFS_BACKED_BY_BLOCK=y | |||
1067 | CONFIG_ROMFS_ON_BLOCK=y | 1139 | CONFIG_ROMFS_ON_BLOCK=y |
1068 | # CONFIG_SYSV_FS is not set | 1140 | # CONFIG_SYSV_FS is not set |
1069 | # CONFIG_UFS_FS is not set | 1141 | # CONFIG_UFS_FS is not set |
1070 | # CONFIG_NILFS2_FS is not set | ||
1071 | CONFIG_NETWORK_FILESYSTEMS=y | 1142 | CONFIG_NETWORK_FILESYSTEMS=y |
1072 | CONFIG_NFS_FS=y | 1143 | CONFIG_NFS_FS=y |
1073 | CONFIG_NFS_V3=y | 1144 | CONFIG_NFS_V3=y |
@@ -1120,6 +1191,7 @@ CONFIG_ENABLE_WARN_DEPRECATED=y | |||
1120 | CONFIG_ENABLE_MUST_CHECK=y | 1191 | CONFIG_ENABLE_MUST_CHECK=y |
1121 | CONFIG_FRAME_WARN=1024 | 1192 | CONFIG_FRAME_WARN=1024 |
1122 | CONFIG_MAGIC_SYSRQ=y | 1193 | CONFIG_MAGIC_SYSRQ=y |
1194 | # CONFIG_STRIP_ASM_SYMS is not set | ||
1123 | # CONFIG_UNUSED_SYMBOLS is not set | 1195 | # CONFIG_UNUSED_SYMBOLS is not set |
1124 | CONFIG_DEBUG_FS=y | 1196 | CONFIG_DEBUG_FS=y |
1125 | # CONFIG_HEADERS_CHECK is not set | 1197 | # CONFIG_HEADERS_CHECK is not set |
@@ -1155,21 +1227,25 @@ CONFIG_DEBUG_BUGVERBOSE=y | |||
1155 | # CONFIG_DEBUG_LIST is not set | 1227 | # CONFIG_DEBUG_LIST is not set |
1156 | # CONFIG_DEBUG_SG is not set | 1228 | # CONFIG_DEBUG_SG is not set |
1157 | # CONFIG_DEBUG_NOTIFIERS is not set | 1229 | # CONFIG_DEBUG_NOTIFIERS is not set |
1230 | # CONFIG_DEBUG_CREDENTIALS is not set | ||
1158 | CONFIG_FRAME_POINTER=y | 1231 | CONFIG_FRAME_POINTER=y |
1159 | # CONFIG_RCU_TORTURE_TEST is not set | 1232 | # CONFIG_RCU_TORTURE_TEST is not set |
1160 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | 1233 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set |
1161 | # CONFIG_BACKTRACE_SELF_TEST is not set | 1234 | # CONFIG_BACKTRACE_SELF_TEST is not set |
1162 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | 1235 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set |
1236 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set | ||
1163 | # CONFIG_FAULT_INJECTION is not set | 1237 | # CONFIG_FAULT_INJECTION is not set |
1164 | # CONFIG_LATENCYTOP is not set | 1238 | # CONFIG_LATENCYTOP is not set |
1165 | # CONFIG_SYSCTL_SYSCALL_CHECK is not set | 1239 | # CONFIG_SYSCTL_SYSCALL_CHECK is not set |
1166 | # CONFIG_PAGE_POISONING is not set | 1240 | # CONFIG_PAGE_POISONING is not set |
1241 | CONFIG_HAVE_SYSCALL_TRACEPOINTS=y | ||
1167 | CONFIG_TRACING_SUPPORT=y | 1242 | CONFIG_TRACING_SUPPORT=y |
1168 | CONFIG_FTRACE=y | 1243 | CONFIG_FTRACE=y |
1169 | # CONFIG_IRQSOFF_TRACER is not set | 1244 | # CONFIG_IRQSOFF_TRACER is not set |
1170 | # CONFIG_PREEMPT_TRACER is not set | 1245 | # CONFIG_PREEMPT_TRACER is not set |
1171 | # CONFIG_SCHED_TRACER is not set | 1246 | # CONFIG_SCHED_TRACER is not set |
1172 | # CONFIG_ENABLE_DEFAULT_TRACERS is not set | 1247 | # CONFIG_ENABLE_DEFAULT_TRACERS is not set |
1248 | # CONFIG_FTRACE_SYSCALLS is not set | ||
1173 | # CONFIG_BOOT_TRACER is not set | 1249 | # CONFIG_BOOT_TRACER is not set |
1174 | CONFIG_BRANCH_PROFILE_NONE=y | 1250 | CONFIG_BRANCH_PROFILE_NONE=y |
1175 | # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set | 1251 | # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set |
@@ -1180,11 +1256,9 @@ CONFIG_BRANCH_PROFILE_NONE=y | |||
1180 | # CONFIG_DYNAMIC_DEBUG is not set | 1256 | # CONFIG_DYNAMIC_DEBUG is not set |
1181 | # CONFIG_DMA_API_DEBUG is not set | 1257 | # CONFIG_DMA_API_DEBUG is not set |
1182 | # CONFIG_SAMPLES is not set | 1258 | # CONFIG_SAMPLES is not set |
1183 | # CONFIG_KMEMCHECK is not set | ||
1184 | # CONFIG_EARLY_SCIF_CONSOLE is not set | ||
1185 | # CONFIG_DEBUG_BOOTMEM is not set | ||
1186 | # CONFIG_DEBUG_STACK_USAGE is not set | 1259 | # CONFIG_DEBUG_STACK_USAGE is not set |
1187 | # CONFIG_4KSTACKS is not set | 1260 | # CONFIG_4KSTACKS is not set |
1261 | # CONFIG_DWARF_UNWINDER is not set | ||
1188 | # CONFIG_SH_NO_BSS_INIT is not set | 1262 | # CONFIG_SH_NO_BSS_INIT is not set |
1189 | CONFIG_SH64_SR_WATCH=y | 1263 | CONFIG_SH64_SR_WATCH=y |
1190 | 1264 | ||
@@ -1194,13 +1268,16 @@ CONFIG_SH64_SR_WATCH=y | |||
1194 | # CONFIG_KEYS is not set | 1268 | # CONFIG_KEYS is not set |
1195 | # CONFIG_SECURITY is not set | 1269 | # CONFIG_SECURITY is not set |
1196 | # CONFIG_SECURITYFS is not set | 1270 | # CONFIG_SECURITYFS is not set |
1197 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1271 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
1272 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
1273 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
1274 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
1275 | CONFIG_DEFAULT_SECURITY="" | ||
1198 | CONFIG_CRYPTO=y | 1276 | CONFIG_CRYPTO=y |
1199 | 1277 | ||
1200 | # | 1278 | # |
1201 | # Crypto core or helper | 1279 | # Crypto core or helper |
1202 | # | 1280 | # |
1203 | # CONFIG_CRYPTO_FIPS is not set | ||
1204 | # CONFIG_CRYPTO_MANAGER is not set | 1281 | # CONFIG_CRYPTO_MANAGER is not set |
1205 | # CONFIG_CRYPTO_MANAGER2 is not set | 1282 | # CONFIG_CRYPTO_MANAGER2 is not set |
1206 | # CONFIG_CRYPTO_GF128MUL is not set | 1283 | # CONFIG_CRYPTO_GF128MUL is not set |
@@ -1232,11 +1309,13 @@ CONFIG_CRYPTO=y | |||
1232 | # | 1309 | # |
1233 | # CONFIG_CRYPTO_HMAC is not set | 1310 | # CONFIG_CRYPTO_HMAC is not set |
1234 | # CONFIG_CRYPTO_XCBC is not set | 1311 | # CONFIG_CRYPTO_XCBC is not set |
1312 | # CONFIG_CRYPTO_VMAC is not set | ||
1235 | 1313 | ||
1236 | # | 1314 | # |
1237 | # Digest | 1315 | # Digest |
1238 | # | 1316 | # |
1239 | # CONFIG_CRYPTO_CRC32C is not set | 1317 | # CONFIG_CRYPTO_CRC32C is not set |
1318 | # CONFIG_CRYPTO_GHASH is not set | ||
1240 | # CONFIG_CRYPTO_MD4 is not set | 1319 | # CONFIG_CRYPTO_MD4 is not set |
1241 | # CONFIG_CRYPTO_MD5 is not set | 1320 | # CONFIG_CRYPTO_MD5 is not set |
1242 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | 1321 | # CONFIG_CRYPTO_MICHAEL_MIC is not set |
@@ -1299,5 +1378,6 @@ CONFIG_CRC32=y | |||
1299 | CONFIG_HAS_IOMEM=y | 1378 | CONFIG_HAS_IOMEM=y |
1300 | CONFIG_HAS_IOPORT=y | 1379 | CONFIG_HAS_IOPORT=y |
1301 | CONFIG_HAS_DMA=y | 1380 | CONFIG_HAS_DMA=y |
1381 | CONFIG_HAVE_LMB=y | ||
1302 | CONFIG_NLATTR=y | 1382 | CONFIG_NLATTR=y |
1303 | CONFIG_GENERIC_ATOMIC64=y | 1383 | CONFIG_GENERIC_ATOMIC64=y |
diff --git a/arch/sh/configs/dreamcast_defconfig b/arch/sh/configs/dreamcast_defconfig index aedbd4f13046..55f652be954b 100644 --- a/arch/sh/configs/dreamcast_defconfig +++ b/arch/sh/configs/dreamcast_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.31 | 3 | # Linux kernel version: 2.6.33-rc2 |
4 | # Thu Sep 24 17:56:07 2009 | 4 | # Mon Jan 4 11:17:35 2010 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_SUPERH32=y | 7 | CONFIG_SUPERH32=y |
@@ -21,6 +21,7 @@ CONFIG_GENERIC_CLOCKEVENTS=y | |||
21 | CONFIG_GENERIC_CMOS_UPDATE=y | 21 | CONFIG_GENERIC_CMOS_UPDATE=y |
22 | # CONFIG_ARCH_SUSPEND_POSSIBLE is not set | 22 | # CONFIG_ARCH_SUSPEND_POSSIBLE is not set |
23 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y | 23 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y |
24 | CONFIG_SYS_SUPPORTS_HUGETLBFS=y | ||
24 | CONFIG_SYS_SUPPORTS_PCI=y | 25 | CONFIG_SYS_SUPPORTS_PCI=y |
25 | CONFIG_SYS_SUPPORTS_TMU=y | 26 | CONFIG_SYS_SUPPORTS_TMU=y |
26 | CONFIG_STACKTRACE_SUPPORT=y | 27 | CONFIG_STACKTRACE_SUPPORT=y |
@@ -31,6 +32,7 @@ CONFIG_HAVE_LATENCYTOP_SUPPORT=y | |||
31 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | 32 | CONFIG_ARCH_NO_VIRT_TO_BUS=y |
32 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y | 33 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y |
33 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y | 34 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y |
35 | CONFIG_DMA_NONCOHERENT=y | ||
34 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 36 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
35 | CONFIG_CONSTRUCTORS=y | 37 | CONFIG_CONSTRUCTORS=y |
36 | 38 | ||
@@ -63,6 +65,7 @@ CONFIG_BSD_PROCESS_ACCT=y | |||
63 | # | 65 | # |
64 | CONFIG_TREE_RCU=y | 66 | CONFIG_TREE_RCU=y |
65 | # CONFIG_TREE_PREEMPT_RCU is not set | 67 | # CONFIG_TREE_PREEMPT_RCU is not set |
68 | # CONFIG_TINY_RCU is not set | ||
66 | # CONFIG_RCU_TRACE is not set | 69 | # CONFIG_RCU_TRACE is not set |
67 | CONFIG_RCU_FANOUT=32 | 70 | CONFIG_RCU_FANOUT=32 |
68 | # CONFIG_RCU_FANOUT_EXACT is not set | 71 | # CONFIG_RCU_FANOUT_EXACT is not set |
@@ -97,6 +100,7 @@ CONFIG_EVENTFD=y | |||
97 | CONFIG_SHMEM=y | 100 | CONFIG_SHMEM=y |
98 | CONFIG_AIO=y | 101 | CONFIG_AIO=y |
99 | CONFIG_HAVE_PERF_EVENTS=y | 102 | CONFIG_HAVE_PERF_EVENTS=y |
103 | CONFIG_PERF_USE_VMALLOC=y | ||
100 | 104 | ||
101 | # | 105 | # |
102 | # Kernel Performance Events And Counters | 106 | # Kernel Performance Events And Counters |
@@ -117,6 +121,7 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
117 | CONFIG_HAVE_KPROBES=y | 121 | CONFIG_HAVE_KPROBES=y |
118 | CONFIG_HAVE_KRETPROBES=y | 122 | CONFIG_HAVE_KRETPROBES=y |
119 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 123 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
124 | CONFIG_HAVE_DMA_ATTRS=y | ||
120 | CONFIG_HAVE_CLK=y | 125 | CONFIG_HAVE_CLK=y |
121 | CONFIG_HAVE_DMA_API_DEBUG=y | 126 | CONFIG_HAVE_DMA_API_DEBUG=y |
122 | 127 | ||
@@ -143,14 +148,41 @@ CONFIG_LBDAF=y | |||
143 | # IO Schedulers | 148 | # IO Schedulers |
144 | # | 149 | # |
145 | CONFIG_IOSCHED_NOOP=y | 150 | CONFIG_IOSCHED_NOOP=y |
146 | CONFIG_IOSCHED_AS=y | ||
147 | CONFIG_IOSCHED_DEADLINE=y | 151 | CONFIG_IOSCHED_DEADLINE=y |
148 | CONFIG_IOSCHED_CFQ=y | 152 | CONFIG_IOSCHED_CFQ=y |
149 | CONFIG_DEFAULT_AS=y | ||
150 | # CONFIG_DEFAULT_DEADLINE is not set | 153 | # CONFIG_DEFAULT_DEADLINE is not set |
151 | # CONFIG_DEFAULT_CFQ is not set | 154 | CONFIG_DEFAULT_CFQ=y |
152 | # CONFIG_DEFAULT_NOOP is not set | 155 | # CONFIG_DEFAULT_NOOP is not set |
153 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 156 | CONFIG_DEFAULT_IOSCHED="cfq" |
157 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
158 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
159 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
160 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
161 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
162 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
163 | # CONFIG_INLINE_SPIN_UNLOCK is not set | ||
164 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
165 | # CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set | ||
166 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
167 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
168 | # CONFIG_INLINE_READ_LOCK is not set | ||
169 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
170 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
171 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
172 | # CONFIG_INLINE_READ_UNLOCK is not set | ||
173 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
174 | # CONFIG_INLINE_READ_UNLOCK_IRQ is not set | ||
175 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
176 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
177 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
178 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
179 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
180 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
181 | # CONFIG_INLINE_WRITE_UNLOCK is not set | ||
182 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
183 | # CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set | ||
184 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
185 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
154 | # CONFIG_FREEZER is not set | 186 | # CONFIG_FREEZER is not set |
155 | 187 | ||
156 | # | 188 | # |
@@ -232,8 +264,6 @@ CONFIG_SPLIT_PTLOCK_CPUS=4 | |||
232 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 264 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
233 | CONFIG_ZONE_DMA_FLAG=0 | 265 | CONFIG_ZONE_DMA_FLAG=0 |
234 | CONFIG_NR_QUICK=2 | 266 | CONFIG_NR_QUICK=2 |
235 | CONFIG_HAVE_MLOCK=y | ||
236 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
237 | # CONFIG_KSM is not set | 267 | # CONFIG_KSM is not set |
238 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | 268 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 |
239 | 269 | ||
@@ -294,9 +324,9 @@ CONFIG_CPU_FREQ_GOV_USERSPACE=y | |||
294 | # | 324 | # |
295 | # DMA support | 325 | # DMA support |
296 | # | 326 | # |
297 | CONFIG_SH_DMA_API=y | ||
298 | CONFIG_SH_DMA=y | 327 | CONFIG_SH_DMA=y |
299 | CONFIG_SH_DMA_IRQ_MULTI=y | 328 | CONFIG_SH_DMA_IRQ_MULTI=y |
329 | CONFIG_SH_DMA_API=y | ||
300 | CONFIG_NR_ONCHIP_DMA_CHANNELS=4 | 330 | CONFIG_NR_ONCHIP_DMA_CHANNELS=4 |
301 | CONFIG_NR_DMA_CHANNELS_BOOL=y | 331 | CONFIG_NR_DMA_CHANNELS_BOOL=y |
302 | CONFIG_NR_DMA_CHANNELS=9 | 332 | CONFIG_NR_DMA_CHANNELS=9 |
@@ -338,7 +368,6 @@ CONFIG_GUSA=y | |||
338 | CONFIG_ZERO_PAGE_OFFSET=0x00001000 | 368 | CONFIG_ZERO_PAGE_OFFSET=0x00001000 |
339 | CONFIG_BOOT_LINK_OFFSET=0x00800000 | 369 | CONFIG_BOOT_LINK_OFFSET=0x00800000 |
340 | CONFIG_ENTRY_OFFSET=0x00001000 | 370 | CONFIG_ENTRY_OFFSET=0x00001000 |
341 | # CONFIG_UBC_WAKEUP is not set | ||
342 | CONFIG_CMDLINE_OVERWRITE=y | 371 | CONFIG_CMDLINE_OVERWRITE=y |
343 | # CONFIG_CMDLINE_EXTEND is not set | 372 | # CONFIG_CMDLINE_EXTEND is not set |
344 | CONFIG_CMDLINE="console=ttySC1,115200 panic=3" | 373 | CONFIG_CMDLINE="console=ttySC1,115200 panic=3" |
@@ -348,7 +377,6 @@ CONFIG_CMDLINE="console=ttySC1,115200 panic=3" | |||
348 | # | 377 | # |
349 | CONFIG_MAPLE=y | 378 | CONFIG_MAPLE=y |
350 | CONFIG_PCI=y | 379 | CONFIG_PCI=y |
351 | CONFIG_SH_PCIDMA_NONCOHERENT=y | ||
352 | # CONFIG_PCIEPORTBUS is not set | 380 | # CONFIG_PCIEPORTBUS is not set |
353 | # CONFIG_ARCH_SUPPORTS_MSI is not set | 381 | # CONFIG_ARCH_SUPPORTS_MSI is not set |
354 | CONFIG_PCI_LEGACY=y | 382 | CONFIG_PCI_LEGACY=y |
@@ -443,9 +471,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
443 | # CONFIG_AF_RXRPC is not set | 471 | # CONFIG_AF_RXRPC is not set |
444 | CONFIG_WIRELESS=y | 472 | CONFIG_WIRELESS=y |
445 | # CONFIG_CFG80211 is not set | 473 | # CONFIG_CFG80211 is not set |
446 | CONFIG_CFG80211_DEFAULT_PS_VALUE=0 | ||
447 | # CONFIG_WIRELESS_OLD_REGULATORY is not set | ||
448 | # CONFIG_WIRELESS_EXT is not set | ||
449 | # CONFIG_LIB80211 is not set | 474 | # CONFIG_LIB80211 is not set |
450 | 475 | ||
451 | # | 476 | # |
@@ -478,6 +503,10 @@ CONFIG_GDROM=y | |||
478 | # CONFIG_BLK_DEV_UMEM is not set | 503 | # CONFIG_BLK_DEV_UMEM is not set |
479 | # CONFIG_BLK_DEV_COW_COMMON is not set | 504 | # CONFIG_BLK_DEV_COW_COMMON is not set |
480 | # CONFIG_BLK_DEV_LOOP is not set | 505 | # CONFIG_BLK_DEV_LOOP is not set |
506 | |||
507 | # | ||
508 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
509 | # | ||
481 | # CONFIG_BLK_DEV_NBD is not set | 510 | # CONFIG_BLK_DEV_NBD is not set |
482 | # CONFIG_BLK_DEV_SX8 is not set | 511 | # CONFIG_BLK_DEV_SX8 is not set |
483 | # CONFIG_BLK_DEV_RAM is not set | 512 | # CONFIG_BLK_DEV_RAM is not set |
@@ -579,6 +608,7 @@ CONFIG_8139TOO=y | |||
579 | # CONFIG_SUNDANCE is not set | 608 | # CONFIG_SUNDANCE is not set |
580 | # CONFIG_TLAN is not set | 609 | # CONFIG_TLAN is not set |
581 | # CONFIG_KS8842 is not set | 610 | # CONFIG_KS8842 is not set |
611 | # CONFIG_KS8851_MLL is not set | ||
582 | # CONFIG_VIA_RHINE is not set | 612 | # CONFIG_VIA_RHINE is not set |
583 | # CONFIG_SC92031 is not set | 613 | # CONFIG_SC92031 is not set |
584 | # CONFIG_ATL2 is not set | 614 | # CONFIG_ATL2 is not set |
@@ -586,8 +616,9 @@ CONFIG_8139TOO=y | |||
586 | # CONFIG_NETDEV_10000 is not set | 616 | # CONFIG_NETDEV_10000 is not set |
587 | # CONFIG_TR is not set | 617 | # CONFIG_TR is not set |
588 | CONFIG_WLAN=y | 618 | CONFIG_WLAN=y |
589 | # CONFIG_WLAN_PRE80211 is not set | 619 | # CONFIG_ATMEL is not set |
590 | # CONFIG_WLAN_80211 is not set | 620 | # CONFIG_PRISM54 is not set |
621 | # CONFIG_HOSTAP is not set | ||
591 | 622 | ||
592 | # | 623 | # |
593 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 624 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -600,6 +631,7 @@ CONFIG_WLAN=y | |||
600 | # CONFIG_NETCONSOLE is not set | 631 | # CONFIG_NETCONSOLE is not set |
601 | # CONFIG_NETPOLL is not set | 632 | # CONFIG_NETPOLL is not set |
602 | # CONFIG_NET_POLL_CONTROLLER is not set | 633 | # CONFIG_NET_POLL_CONTROLLER is not set |
634 | # CONFIG_VMXNET3 is not set | ||
603 | # CONFIG_ISDN is not set | 635 | # CONFIG_ISDN is not set |
604 | # CONFIG_PHONE is not set | 636 | # CONFIG_PHONE is not set |
605 | 637 | ||
@@ -609,6 +641,7 @@ CONFIG_WLAN=y | |||
609 | CONFIG_INPUT=y | 641 | CONFIG_INPUT=y |
610 | # CONFIG_INPUT_FF_MEMLESS is not set | 642 | # CONFIG_INPUT_FF_MEMLESS is not set |
611 | # CONFIG_INPUT_POLLDEV is not set | 643 | # CONFIG_INPUT_POLLDEV is not set |
644 | # CONFIG_INPUT_SPARSEKMAP is not set | ||
612 | 645 | ||
613 | # | 646 | # |
614 | # Userland interfaces | 647 | # Userland interfaces |
@@ -655,6 +688,7 @@ CONFIG_SERIO=y | |||
655 | # CONFIG_SERIO_PCIPS2 is not set | 688 | # CONFIG_SERIO_PCIPS2 is not set |
656 | CONFIG_SERIO_LIBPS2=y | 689 | CONFIG_SERIO_LIBPS2=y |
657 | # CONFIG_SERIO_RAW is not set | 690 | # CONFIG_SERIO_RAW is not set |
691 | # CONFIG_SERIO_ALTERA_PS2 is not set | ||
658 | # CONFIG_GAMEPORT is not set | 692 | # CONFIG_GAMEPORT is not set |
659 | 693 | ||
660 | # | 694 | # |
@@ -734,6 +768,7 @@ CONFIG_SSB_POSSIBLE=y | |||
734 | # | 768 | # |
735 | # CONFIG_MFD_CORE is not set | 769 | # CONFIG_MFD_CORE is not set |
736 | # CONFIG_MFD_SM501 is not set | 770 | # CONFIG_MFD_SM501 is not set |
771 | # CONFIG_MFD_SH_MOBILE_SDHI is not set | ||
737 | # CONFIG_HTC_PASIC3 is not set | 772 | # CONFIG_HTC_PASIC3 is not set |
738 | # CONFIG_MFD_TMIO is not set | 773 | # CONFIG_MFD_TMIO is not set |
739 | # CONFIG_REGULATOR is not set | 774 | # CONFIG_REGULATOR is not set |
@@ -883,6 +918,7 @@ CONFIG_RTC_LIB=y | |||
883 | # CONFIG_EXT2_FS is not set | 918 | # CONFIG_EXT2_FS is not set |
884 | # CONFIG_EXT3_FS is not set | 919 | # CONFIG_EXT3_FS is not set |
885 | # CONFIG_EXT4_FS is not set | 920 | # CONFIG_EXT4_FS is not set |
921 | CONFIG_EXT4_USE_FOR_EXT23=y | ||
886 | # CONFIG_REISERFS_FS is not set | 922 | # CONFIG_REISERFS_FS is not set |
887 | # CONFIG_JFS_FS is not set | 923 | # CONFIG_JFS_FS is not set |
888 | # CONFIG_FS_POSIX_ACL is not set | 924 | # CONFIG_FS_POSIX_ACL is not set |
@@ -981,10 +1017,11 @@ CONFIG_FRAME_WARN=1024 | |||
981 | # CONFIG_DEBUG_FS is not set | 1017 | # CONFIG_DEBUG_FS is not set |
982 | # CONFIG_HEADERS_CHECK is not set | 1018 | # CONFIG_HEADERS_CHECK is not set |
983 | # CONFIG_DEBUG_KERNEL is not set | 1019 | # CONFIG_DEBUG_KERNEL is not set |
984 | # CONFIG_DEBUG_BUGVERBOSE is not set | 1020 | CONFIG_DEBUG_BUGVERBOSE=y |
985 | # CONFIG_DEBUG_MEMORY_INIT is not set | 1021 | # CONFIG_DEBUG_MEMORY_INIT is not set |
986 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | 1022 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set |
987 | # CONFIG_LATENCYTOP is not set | 1023 | # CONFIG_LATENCYTOP is not set |
1024 | # CONFIG_SYSCTL_SYSCALL_CHECK is not set | ||
988 | CONFIG_HAVE_FUNCTION_TRACER=y | 1025 | CONFIG_HAVE_FUNCTION_TRACER=y |
989 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | 1026 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y |
990 | CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y | 1027 | CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y |
@@ -997,7 +1034,6 @@ CONFIG_TRACING_SUPPORT=y | |||
997 | # CONFIG_SAMPLES is not set | 1034 | # CONFIG_SAMPLES is not set |
998 | CONFIG_HAVE_ARCH_KGDB=y | 1035 | CONFIG_HAVE_ARCH_KGDB=y |
999 | # CONFIG_SH_STANDARD_BIOS is not set | 1036 | # CONFIG_SH_STANDARD_BIOS is not set |
1000 | # CONFIG_EARLY_SCIF_CONSOLE is not set | ||
1001 | # CONFIG_DWARF_UNWINDER is not set | 1037 | # CONFIG_DWARF_UNWINDER is not set |
1002 | 1038 | ||
1003 | # | 1039 | # |
@@ -1006,7 +1042,11 @@ CONFIG_HAVE_ARCH_KGDB=y | |||
1006 | # CONFIG_KEYS is not set | 1042 | # CONFIG_KEYS is not set |
1007 | # CONFIG_SECURITY is not set | 1043 | # CONFIG_SECURITY is not set |
1008 | # CONFIG_SECURITYFS is not set | 1044 | # CONFIG_SECURITYFS is not set |
1009 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1045 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
1046 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
1047 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
1048 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
1049 | CONFIG_DEFAULT_SECURITY="" | ||
1010 | CONFIG_CRYPTO=y | 1050 | CONFIG_CRYPTO=y |
1011 | 1051 | ||
1012 | # | 1052 | # |
diff --git a/arch/sh/configs/ecovec24-romimage_defconfig b/arch/sh/configs/ecovec24-romimage_defconfig index 46874704e4e7..662c1ad20494 100644 --- a/arch/sh/configs/ecovec24-romimage_defconfig +++ b/arch/sh/configs/ecovec24-romimage_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.31 | 3 | # Linux kernel version: 2.6.33-rc2 |
4 | # Thu Sep 24 17:56:41 2009 | 4 | # Mon Jan 4 11:18:17 2010 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_SUPERH32=y | 7 | CONFIG_SUPERH32=y |
@@ -20,6 +20,7 @@ CONFIG_GENERIC_TIME=y | |||
20 | CONFIG_GENERIC_CLOCKEVENTS=y | 20 | CONFIG_GENERIC_CLOCKEVENTS=y |
21 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 21 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y | 22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y |
23 | CONFIG_SYS_SUPPORTS_HUGETLBFS=y | ||
23 | CONFIG_SYS_SUPPORTS_CMT=y | 24 | CONFIG_SYS_SUPPORTS_CMT=y |
24 | CONFIG_SYS_SUPPORTS_TMU=y | 25 | CONFIG_SYS_SUPPORTS_TMU=y |
25 | CONFIG_STACKTRACE_SUPPORT=y | 26 | CONFIG_STACKTRACE_SUPPORT=y |
@@ -30,6 +31,7 @@ CONFIG_HAVE_LATENCYTOP_SUPPORT=y | |||
30 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | 31 | CONFIG_ARCH_NO_VIRT_TO_BUS=y |
31 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y | 32 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y |
32 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y | 33 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y |
34 | CONFIG_DMA_NONCOHERENT=y | ||
33 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 35 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
34 | CONFIG_CONSTRUCTORS=y | 36 | CONFIG_CONSTRUCTORS=y |
35 | 37 | ||
@@ -61,6 +63,7 @@ CONFIG_BSD_PROCESS_ACCT=y | |||
61 | # | 63 | # |
62 | CONFIG_TREE_RCU=y | 64 | CONFIG_TREE_RCU=y |
63 | # CONFIG_TREE_PREEMPT_RCU is not set | 65 | # CONFIG_TREE_PREEMPT_RCU is not set |
66 | # CONFIG_TINY_RCU is not set | ||
64 | # CONFIG_RCU_TRACE is not set | 67 | # CONFIG_RCU_TRACE is not set |
65 | CONFIG_RCU_FANOUT=32 | 68 | CONFIG_RCU_FANOUT=32 |
66 | # CONFIG_RCU_FANOUT_EXACT is not set | 69 | # CONFIG_RCU_FANOUT_EXACT is not set |
@@ -103,6 +106,7 @@ CONFIG_EVENTFD=y | |||
103 | CONFIG_SHMEM=y | 106 | CONFIG_SHMEM=y |
104 | CONFIG_AIO=y | 107 | CONFIG_AIO=y |
105 | CONFIG_HAVE_PERF_EVENTS=y | 108 | CONFIG_HAVE_PERF_EVENTS=y |
109 | CONFIG_PERF_USE_VMALLOC=y | ||
106 | 110 | ||
107 | # | 111 | # |
108 | # Kernel Performance Events And Counters | 112 | # Kernel Performance Events And Counters |
@@ -120,6 +124,7 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
120 | CONFIG_HAVE_KPROBES=y | 124 | CONFIG_HAVE_KPROBES=y |
121 | CONFIG_HAVE_KRETPROBES=y | 125 | CONFIG_HAVE_KRETPROBES=y |
122 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 126 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
127 | CONFIG_HAVE_DMA_ATTRS=y | ||
123 | CONFIG_HAVE_CLK=y | 128 | CONFIG_HAVE_CLK=y |
124 | CONFIG_HAVE_DMA_API_DEBUG=y | 129 | CONFIG_HAVE_DMA_API_DEBUG=y |
125 | 130 | ||
@@ -142,14 +147,41 @@ CONFIG_BLOCK=y | |||
142 | # IO Schedulers | 147 | # IO Schedulers |
143 | # | 148 | # |
144 | CONFIG_IOSCHED_NOOP=y | 149 | CONFIG_IOSCHED_NOOP=y |
145 | CONFIG_IOSCHED_AS=y | ||
146 | CONFIG_IOSCHED_DEADLINE=y | 150 | CONFIG_IOSCHED_DEADLINE=y |
147 | CONFIG_IOSCHED_CFQ=y | 151 | CONFIG_IOSCHED_CFQ=y |
148 | # CONFIG_DEFAULT_AS is not set | ||
149 | # CONFIG_DEFAULT_DEADLINE is not set | 152 | # CONFIG_DEFAULT_DEADLINE is not set |
150 | CONFIG_DEFAULT_CFQ=y | 153 | CONFIG_DEFAULT_CFQ=y |
151 | # CONFIG_DEFAULT_NOOP is not set | 154 | # CONFIG_DEFAULT_NOOP is not set |
152 | CONFIG_DEFAULT_IOSCHED="cfq" | 155 | CONFIG_DEFAULT_IOSCHED="cfq" |
156 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
157 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
158 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
159 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
160 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
161 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
162 | CONFIG_INLINE_SPIN_UNLOCK=y | ||
163 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
164 | CONFIG_INLINE_SPIN_UNLOCK_IRQ=y | ||
165 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
166 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
167 | # CONFIG_INLINE_READ_LOCK is not set | ||
168 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
169 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
170 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
171 | CONFIG_INLINE_READ_UNLOCK=y | ||
172 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
173 | CONFIG_INLINE_READ_UNLOCK_IRQ=y | ||
174 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
175 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
176 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
177 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
178 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
179 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
180 | CONFIG_INLINE_WRITE_UNLOCK=y | ||
181 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
182 | CONFIG_INLINE_WRITE_UNLOCK_IRQ=y | ||
183 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
184 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
153 | # CONFIG_FREEZER is not set | 185 | # CONFIG_FREEZER is not set |
154 | 186 | ||
155 | # | 187 | # |
@@ -205,6 +237,7 @@ CONFIG_FORCE_MAX_ZONEORDER=11 | |||
205 | CONFIG_MEMORY_START=0x08000000 | 237 | CONFIG_MEMORY_START=0x08000000 |
206 | CONFIG_MEMORY_SIZE=0x10000000 | 238 | CONFIG_MEMORY_SIZE=0x10000000 |
207 | CONFIG_29BIT=y | 239 | CONFIG_29BIT=y |
240 | # CONFIG_PMB_ENABLE is not set | ||
208 | # CONFIG_X2TLB is not set | 241 | # CONFIG_X2TLB is not set |
209 | CONFIG_VSYSCALL=y | 242 | CONFIG_VSYSCALL=y |
210 | CONFIG_ARCH_FLATMEM_ENABLE=y | 243 | CONFIG_ARCH_FLATMEM_ENABLE=y |
@@ -229,8 +262,6 @@ CONFIG_SPLIT_PTLOCK_CPUS=4 | |||
229 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 262 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
230 | CONFIG_ZONE_DMA_FLAG=0 | 263 | CONFIG_ZONE_DMA_FLAG=0 |
231 | CONFIG_NR_QUICK=2 | 264 | CONFIG_NR_QUICK=2 |
232 | CONFIG_HAVE_MLOCK=y | ||
233 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
234 | # CONFIG_KSM is not set | 265 | # CONFIG_KSM is not set |
235 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | 266 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 |
236 | 267 | ||
@@ -264,7 +295,6 @@ CONFIG_SH_ECOVEC=y | |||
264 | # | 295 | # |
265 | # CONFIG_SH_TIMER_TMU is not set | 296 | # CONFIG_SH_TIMER_TMU is not set |
266 | CONFIG_SH_TIMER_CMT=y | 297 | CONFIG_SH_TIMER_CMT=y |
267 | CONFIG_SH_PCLK_FREQ=33333333 | ||
268 | CONFIG_SH_CLK_CPG=y | 298 | CONFIG_SH_CLK_CPG=y |
269 | # CONFIG_NO_HZ is not set | 299 | # CONFIG_NO_HZ is not set |
270 | # CONFIG_HIGH_RES_TIMERS is not set | 300 | # CONFIG_HIGH_RES_TIMERS is not set |
@@ -406,7 +436,13 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
406 | # CONFIG_IRDA is not set | 436 | # CONFIG_IRDA is not set |
407 | # CONFIG_BT is not set | 437 | # CONFIG_BT is not set |
408 | # CONFIG_AF_RXRPC is not set | 438 | # CONFIG_AF_RXRPC is not set |
409 | # CONFIG_WIRELESS is not set | 439 | CONFIG_WIRELESS=y |
440 | # CONFIG_CFG80211 is not set | ||
441 | # CONFIG_LIB80211 is not set | ||
442 | |||
443 | # | ||
444 | # CFG80211 needs to be enabled for MAC80211 | ||
445 | # | ||
410 | # CONFIG_WIMAX is not set | 446 | # CONFIG_WIMAX is not set |
411 | # CONFIG_RFKILL is not set | 447 | # CONFIG_RFKILL is not set |
412 | # CONFIG_NET_9P is not set | 448 | # CONFIG_NET_9P is not set |
@@ -432,6 +468,10 @@ CONFIG_EXTRA_FIRMWARE="" | |||
432 | CONFIG_BLK_DEV=y | 468 | CONFIG_BLK_DEV=y |
433 | # CONFIG_BLK_DEV_COW_COMMON is not set | 469 | # CONFIG_BLK_DEV_COW_COMMON is not set |
434 | # CONFIG_BLK_DEV_LOOP is not set | 470 | # CONFIG_BLK_DEV_LOOP is not set |
471 | |||
472 | # | ||
473 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
474 | # | ||
435 | # CONFIG_BLK_DEV_NBD is not set | 475 | # CONFIG_BLK_DEV_NBD is not set |
436 | # CONFIG_BLK_DEV_UB is not set | 476 | # CONFIG_BLK_DEV_UB is not set |
437 | # CONFIG_BLK_DEV_RAM is not set | 477 | # CONFIG_BLK_DEV_RAM is not set |
@@ -526,11 +566,12 @@ CONFIG_SH_ETH=y | |||
526 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | 566 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set |
527 | # CONFIG_B44 is not set | 567 | # CONFIG_B44 is not set |
528 | # CONFIG_KS8842 is not set | 568 | # CONFIG_KS8842 is not set |
569 | # CONFIG_KS8851_MLL is not set | ||
529 | # CONFIG_NETDEV_1000 is not set | 570 | # CONFIG_NETDEV_1000 is not set |
530 | # CONFIG_NETDEV_10000 is not set | 571 | # CONFIG_NETDEV_10000 is not set |
531 | CONFIG_WLAN=y | 572 | CONFIG_WLAN=y |
532 | # CONFIG_WLAN_PRE80211 is not set | 573 | # CONFIG_USB_ZD1201 is not set |
533 | # CONFIG_WLAN_80211 is not set | 574 | # CONFIG_HOSTAP is not set |
534 | 575 | ||
535 | # | 576 | # |
536 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 577 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -559,6 +600,7 @@ CONFIG_WLAN=y | |||
559 | CONFIG_INPUT=y | 600 | CONFIG_INPUT=y |
560 | # CONFIG_INPUT_FF_MEMLESS is not set | 601 | # CONFIG_INPUT_FF_MEMLESS is not set |
561 | # CONFIG_INPUT_POLLDEV is not set | 602 | # CONFIG_INPUT_POLLDEV is not set |
603 | # CONFIG_INPUT_SPARSEKMAP is not set | ||
562 | 604 | ||
563 | # | 605 | # |
564 | # Userland interfaces | 606 | # Userland interfaces |
@@ -652,7 +694,6 @@ CONFIG_I2C_SH_MOBILE=y | |||
652 | # | 694 | # |
653 | # Miscellaneous I2C Chip support | 695 | # Miscellaneous I2C Chip support |
654 | # | 696 | # |
655 | # CONFIG_DS1682 is not set | ||
656 | # CONFIG_SENSORS_TSL2550 is not set | 697 | # CONFIG_SENSORS_TSL2550 is not set |
657 | # CONFIG_I2C_DEBUG_CORE is not set | 698 | # CONFIG_I2C_DEBUG_CORE is not set |
658 | # CONFIG_I2C_DEBUG_ALGO is not set | 699 | # CONFIG_I2C_DEBUG_ALGO is not set |
@@ -707,16 +748,19 @@ CONFIG_SSB_POSSIBLE=y | |||
707 | # | 748 | # |
708 | # CONFIG_MFD_CORE is not set | 749 | # CONFIG_MFD_CORE is not set |
709 | # CONFIG_MFD_SM501 is not set | 750 | # CONFIG_MFD_SM501 is not set |
751 | # CONFIG_MFD_SH_MOBILE_SDHI is not set | ||
710 | # CONFIG_HTC_PASIC3 is not set | 752 | # CONFIG_HTC_PASIC3 is not set |
711 | # CONFIG_TPS65010 is not set | 753 | # CONFIG_TPS65010 is not set |
712 | # CONFIG_TWL4030_CORE is not set | 754 | # CONFIG_TWL4030_CORE is not set |
713 | # CONFIG_MFD_TMIO is not set | 755 | # CONFIG_MFD_TMIO is not set |
714 | # CONFIG_PMIC_DA903X is not set | 756 | # CONFIG_PMIC_DA903X is not set |
757 | # CONFIG_PMIC_ADP5520 is not set | ||
715 | # CONFIG_MFD_WM8400 is not set | 758 | # CONFIG_MFD_WM8400 is not set |
716 | # CONFIG_MFD_WM831X is not set | 759 | # CONFIG_MFD_WM831X is not set |
717 | # CONFIG_MFD_WM8350_I2C is not set | 760 | # CONFIG_MFD_WM8350_I2C is not set |
718 | # CONFIG_MFD_PCF50633 is not set | 761 | # CONFIG_MFD_PCF50633 is not set |
719 | # CONFIG_AB3100_CORE is not set | 762 | # CONFIG_AB3100_CORE is not set |
763 | # CONFIG_MFD_88PM8607 is not set | ||
720 | # CONFIG_REGULATOR is not set | 764 | # CONFIG_REGULATOR is not set |
721 | # CONFIG_MEDIA_SUPPORT is not set | 765 | # CONFIG_MEDIA_SUPPORT is not set |
722 | 766 | ||
@@ -867,6 +911,7 @@ CONFIG_EXT2_FS=y | |||
867 | # CONFIG_EXT2_FS_XIP is not set | 911 | # CONFIG_EXT2_FS_XIP is not set |
868 | # CONFIG_EXT3_FS is not set | 912 | # CONFIG_EXT3_FS is not set |
869 | # CONFIG_EXT4_FS is not set | 913 | # CONFIG_EXT4_FS is not set |
914 | CONFIG_EXT4_USE_FOR_EXT23=y | ||
870 | # CONFIG_REISERFS_FS is not set | 915 | # CONFIG_REISERFS_FS is not set |
871 | # CONFIG_JFS_FS is not set | 916 | # CONFIG_JFS_FS is not set |
872 | # CONFIG_FS_POSIX_ACL is not set | 917 | # CONFIG_FS_POSIX_ACL is not set |
@@ -979,7 +1024,7 @@ CONFIG_FRAME_WARN=1024 | |||
979 | CONFIG_DEBUG_FS=y | 1024 | CONFIG_DEBUG_FS=y |
980 | # CONFIG_HEADERS_CHECK is not set | 1025 | # CONFIG_HEADERS_CHECK is not set |
981 | # CONFIG_DEBUG_KERNEL is not set | 1026 | # CONFIG_DEBUG_KERNEL is not set |
982 | # CONFIG_DEBUG_BUGVERBOSE is not set | 1027 | CONFIG_DEBUG_BUGVERBOSE=y |
983 | # CONFIG_DEBUG_MEMORY_INIT is not set | 1028 | # CONFIG_DEBUG_MEMORY_INIT is not set |
984 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | 1029 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set |
985 | # CONFIG_LATENCYTOP is not set | 1030 | # CONFIG_LATENCYTOP is not set |
@@ -997,7 +1042,6 @@ CONFIG_TRACING_SUPPORT=y | |||
997 | # CONFIG_SAMPLES is not set | 1042 | # CONFIG_SAMPLES is not set |
998 | CONFIG_HAVE_ARCH_KGDB=y | 1043 | CONFIG_HAVE_ARCH_KGDB=y |
999 | # CONFIG_SH_STANDARD_BIOS is not set | 1044 | # CONFIG_SH_STANDARD_BIOS is not set |
1000 | # CONFIG_EARLY_SCIF_CONSOLE is not set | ||
1001 | # CONFIG_DWARF_UNWINDER is not set | 1045 | # CONFIG_DWARF_UNWINDER is not set |
1002 | 1046 | ||
1003 | # | 1047 | # |
@@ -1006,7 +1050,11 @@ CONFIG_HAVE_ARCH_KGDB=y | |||
1006 | # CONFIG_KEYS is not set | 1050 | # CONFIG_KEYS is not set |
1007 | # CONFIG_SECURITY is not set | 1051 | # CONFIG_SECURITY is not set |
1008 | # CONFIG_SECURITYFS is not set | 1052 | # CONFIG_SECURITYFS is not set |
1009 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1053 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
1054 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
1055 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
1056 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
1057 | CONFIG_DEFAULT_SECURITY="" | ||
1010 | # CONFIG_CRYPTO is not set | 1058 | # CONFIG_CRYPTO is not set |
1011 | # CONFIG_BINARY_PRINTF is not set | 1059 | # CONFIG_BINARY_PRINTF is not set |
1012 | 1060 | ||
diff --git a/arch/sh/configs/ecovec24_defconfig b/arch/sh/configs/ecovec24_defconfig index cad918437ca7..18e3356406f3 100644 --- a/arch/sh/configs/ecovec24_defconfig +++ b/arch/sh/configs/ecovec24_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.31 | 3 | # Linux kernel version: 2.6.33-rc2 |
4 | # Thu Sep 24 17:45:39 2009 | 4 | # Mon Jan 4 11:20:36 2010 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_SUPERH32=y | 7 | CONFIG_SUPERH32=y |
@@ -20,6 +20,7 @@ CONFIG_GENERIC_TIME=y | |||
20 | CONFIG_GENERIC_CLOCKEVENTS=y | 20 | CONFIG_GENERIC_CLOCKEVENTS=y |
21 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 21 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y | 22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y |
23 | CONFIG_SYS_SUPPORTS_HUGETLBFS=y | ||
23 | CONFIG_SYS_SUPPORTS_CMT=y | 24 | CONFIG_SYS_SUPPORTS_CMT=y |
24 | CONFIG_SYS_SUPPORTS_TMU=y | 25 | CONFIG_SYS_SUPPORTS_TMU=y |
25 | CONFIG_STACKTRACE_SUPPORT=y | 26 | CONFIG_STACKTRACE_SUPPORT=y |
@@ -30,6 +31,7 @@ CONFIG_HAVE_LATENCYTOP_SUPPORT=y | |||
30 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | 31 | CONFIG_ARCH_NO_VIRT_TO_BUS=y |
31 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y | 32 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y |
32 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y | 33 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y |
34 | CONFIG_DMA_NONCOHERENT=y | ||
33 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 35 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
34 | CONFIG_CONSTRUCTORS=y | 36 | CONFIG_CONSTRUCTORS=y |
35 | 37 | ||
@@ -62,6 +64,7 @@ CONFIG_BSD_PROCESS_ACCT=y | |||
62 | # | 64 | # |
63 | CONFIG_TREE_RCU=y | 65 | CONFIG_TREE_RCU=y |
64 | # CONFIG_TREE_PREEMPT_RCU is not set | 66 | # CONFIG_TREE_PREEMPT_RCU is not set |
67 | # CONFIG_TINY_RCU is not set | ||
65 | # CONFIG_RCU_TRACE is not set | 68 | # CONFIG_RCU_TRACE is not set |
66 | CONFIG_RCU_FANOUT=32 | 69 | CONFIG_RCU_FANOUT=32 |
67 | # CONFIG_RCU_FANOUT_EXACT is not set | 70 | # CONFIG_RCU_FANOUT_EXACT is not set |
@@ -99,6 +102,7 @@ CONFIG_EVENTFD=y | |||
99 | CONFIG_SHMEM=y | 102 | CONFIG_SHMEM=y |
100 | CONFIG_AIO=y | 103 | CONFIG_AIO=y |
101 | CONFIG_HAVE_PERF_EVENTS=y | 104 | CONFIG_HAVE_PERF_EVENTS=y |
105 | CONFIG_PERF_USE_VMALLOC=y | ||
102 | 106 | ||
103 | # | 107 | # |
104 | # Kernel Performance Events And Counters | 108 | # Kernel Performance Events And Counters |
@@ -116,6 +120,7 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
116 | CONFIG_HAVE_KPROBES=y | 120 | CONFIG_HAVE_KPROBES=y |
117 | CONFIG_HAVE_KRETPROBES=y | 121 | CONFIG_HAVE_KRETPROBES=y |
118 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 122 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
123 | CONFIG_HAVE_DMA_ATTRS=y | ||
119 | CONFIG_HAVE_CLK=y | 124 | CONFIG_HAVE_CLK=y |
120 | CONFIG_HAVE_DMA_API_DEBUG=y | 125 | CONFIG_HAVE_DMA_API_DEBUG=y |
121 | 126 | ||
@@ -143,14 +148,41 @@ CONFIG_LBDAF=y | |||
143 | # IO Schedulers | 148 | # IO Schedulers |
144 | # | 149 | # |
145 | CONFIG_IOSCHED_NOOP=y | 150 | CONFIG_IOSCHED_NOOP=y |
146 | CONFIG_IOSCHED_AS=y | ||
147 | CONFIG_IOSCHED_DEADLINE=y | 151 | CONFIG_IOSCHED_DEADLINE=y |
148 | CONFIG_IOSCHED_CFQ=y | 152 | CONFIG_IOSCHED_CFQ=y |
149 | # CONFIG_DEFAULT_AS is not set | ||
150 | # CONFIG_DEFAULT_DEADLINE is not set | 153 | # CONFIG_DEFAULT_DEADLINE is not set |
151 | CONFIG_DEFAULT_CFQ=y | 154 | CONFIG_DEFAULT_CFQ=y |
152 | # CONFIG_DEFAULT_NOOP is not set | 155 | # CONFIG_DEFAULT_NOOP is not set |
153 | CONFIG_DEFAULT_IOSCHED="cfq" | 156 | CONFIG_DEFAULT_IOSCHED="cfq" |
157 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
158 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
159 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
160 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
161 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
162 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
163 | # CONFIG_INLINE_SPIN_UNLOCK is not set | ||
164 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
165 | # CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set | ||
166 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
167 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
168 | # CONFIG_INLINE_READ_LOCK is not set | ||
169 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
170 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
171 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
172 | # CONFIG_INLINE_READ_UNLOCK is not set | ||
173 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
174 | # CONFIG_INLINE_READ_UNLOCK_IRQ is not set | ||
175 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
176 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
177 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
178 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
179 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
180 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
181 | # CONFIG_INLINE_WRITE_UNLOCK is not set | ||
182 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
183 | # CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set | ||
184 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
185 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
154 | CONFIG_FREEZER=y | 186 | CONFIG_FREEZER=y |
155 | 187 | ||
156 | # | 188 | # |
@@ -206,6 +238,7 @@ CONFIG_FORCE_MAX_ZONEORDER=11 | |||
206 | CONFIG_MEMORY_START=0x08000000 | 238 | CONFIG_MEMORY_START=0x08000000 |
207 | CONFIG_MEMORY_SIZE=0x10000000 | 239 | CONFIG_MEMORY_SIZE=0x10000000 |
208 | CONFIG_29BIT=y | 240 | CONFIG_29BIT=y |
241 | # CONFIG_PMB_ENABLE is not set | ||
209 | # CONFIG_X2TLB is not set | 242 | # CONFIG_X2TLB is not set |
210 | CONFIG_VSYSCALL=y | 243 | CONFIG_VSYSCALL=y |
211 | CONFIG_ARCH_FLATMEM_ENABLE=y | 244 | CONFIG_ARCH_FLATMEM_ENABLE=y |
@@ -230,8 +263,6 @@ CONFIG_SPLIT_PTLOCK_CPUS=4 | |||
230 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 263 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
231 | CONFIG_ZONE_DMA_FLAG=0 | 264 | CONFIG_ZONE_DMA_FLAG=0 |
232 | CONFIG_NR_QUICK=2 | 265 | CONFIG_NR_QUICK=2 |
233 | CONFIG_HAVE_MLOCK=y | ||
234 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
235 | # CONFIG_KSM is not set | 266 | # CONFIG_KSM is not set |
236 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | 267 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 |
237 | 268 | ||
@@ -265,7 +296,6 @@ CONFIG_SH_ECOVEC=y | |||
265 | # | 296 | # |
266 | CONFIG_SH_TIMER_TMU=y | 297 | CONFIG_SH_TIMER_TMU=y |
267 | # CONFIG_SH_TIMER_CMT is not set | 298 | # CONFIG_SH_TIMER_CMT is not set |
268 | CONFIG_SH_PCLK_FREQ=33333333 | ||
269 | CONFIG_SH_CLK_CPG=y | 299 | CONFIG_SH_CLK_CPG=y |
270 | # CONFIG_NO_HZ is not set | 300 | # CONFIG_NO_HZ is not set |
271 | # CONFIG_HIGH_RES_TIMERS is not set | 301 | # CONFIG_HIGH_RES_TIMERS is not set |
@@ -420,9 +450,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
420 | # CONFIG_AF_RXRPC is not set | 450 | # CONFIG_AF_RXRPC is not set |
421 | CONFIG_WIRELESS=y | 451 | CONFIG_WIRELESS=y |
422 | # CONFIG_CFG80211 is not set | 452 | # CONFIG_CFG80211 is not set |
423 | CONFIG_CFG80211_DEFAULT_PS_VALUE=0 | ||
424 | # CONFIG_WIRELESS_OLD_REGULATORY is not set | ||
425 | # CONFIG_WIRELESS_EXT is not set | ||
426 | # CONFIG_LIB80211 is not set | 453 | # CONFIG_LIB80211 is not set |
427 | 454 | ||
428 | # | 455 | # |
@@ -552,6 +579,10 @@ CONFIG_MTD_UBI_BEB_RESERVE=1 | |||
552 | CONFIG_BLK_DEV=y | 579 | CONFIG_BLK_DEV=y |
553 | # CONFIG_BLK_DEV_COW_COMMON is not set | 580 | # CONFIG_BLK_DEV_COW_COMMON is not set |
554 | # CONFIG_BLK_DEV_LOOP is not set | 581 | # CONFIG_BLK_DEV_LOOP is not set |
582 | |||
583 | # | ||
584 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
585 | # | ||
555 | # CONFIG_BLK_DEV_NBD is not set | 586 | # CONFIG_BLK_DEV_NBD is not set |
556 | # CONFIG_BLK_DEV_UB is not set | 587 | # CONFIG_BLK_DEV_UB is not set |
557 | CONFIG_BLK_DEV_RAM=y | 588 | CONFIG_BLK_DEV_RAM=y |
@@ -562,9 +593,12 @@ CONFIG_BLK_DEV_RAM_SIZE=4096 | |||
562 | # CONFIG_ATA_OVER_ETH is not set | 593 | # CONFIG_ATA_OVER_ETH is not set |
563 | # CONFIG_BLK_DEV_HD is not set | 594 | # CONFIG_BLK_DEV_HD is not set |
564 | CONFIG_MISC_DEVICES=y | 595 | CONFIG_MISC_DEVICES=y |
596 | # CONFIG_AD525X_DPOT is not set | ||
565 | # CONFIG_ICS932S401 is not set | 597 | # CONFIG_ICS932S401 is not set |
566 | # CONFIG_ENCLOSURE_SERVICES is not set | 598 | # CONFIG_ENCLOSURE_SERVICES is not set |
567 | # CONFIG_ISL29003 is not set | 599 | # CONFIG_ISL29003 is not set |
600 | # CONFIG_DS1682 is not set | ||
601 | # CONFIG_TI_DAC7512 is not set | ||
568 | # CONFIG_C2PORT is not set | 602 | # CONFIG_C2PORT is not set |
569 | 603 | ||
570 | # | 604 | # |
@@ -575,6 +609,7 @@ CONFIG_MISC_DEVICES=y | |||
575 | # CONFIG_EEPROM_LEGACY is not set | 609 | # CONFIG_EEPROM_LEGACY is not set |
576 | # CONFIG_EEPROM_MAX6875 is not set | 610 | # CONFIG_EEPROM_MAX6875 is not set |
577 | # CONFIG_EEPROM_93CX6 is not set | 611 | # CONFIG_EEPROM_93CX6 is not set |
612 | # CONFIG_IWMC3200TOP is not set | ||
578 | CONFIG_HAVE_IDE=y | 613 | CONFIG_HAVE_IDE=y |
579 | # CONFIG_IDE is not set | 614 | # CONFIG_IDE is not set |
580 | 615 | ||
@@ -669,11 +704,12 @@ CONFIG_SH_ETH=y | |||
669 | # CONFIG_B44 is not set | 704 | # CONFIG_B44 is not set |
670 | # CONFIG_KS8842 is not set | 705 | # CONFIG_KS8842 is not set |
671 | # CONFIG_KS8851 is not set | 706 | # CONFIG_KS8851 is not set |
707 | # CONFIG_KS8851_MLL is not set | ||
672 | # CONFIG_NETDEV_1000 is not set | 708 | # CONFIG_NETDEV_1000 is not set |
673 | # CONFIG_NETDEV_10000 is not set | 709 | # CONFIG_NETDEV_10000 is not set |
674 | CONFIG_WLAN=y | 710 | CONFIG_WLAN=y |
675 | # CONFIG_WLAN_PRE80211 is not set | 711 | # CONFIG_USB_ZD1201 is not set |
676 | # CONFIG_WLAN_80211 is not set | 712 | # CONFIG_HOSTAP is not set |
677 | 713 | ||
678 | # | 714 | # |
679 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 715 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -702,6 +738,7 @@ CONFIG_WLAN=y | |||
702 | CONFIG_INPUT=y | 738 | CONFIG_INPUT=y |
703 | # CONFIG_INPUT_FF_MEMLESS is not set | 739 | # CONFIG_INPUT_FF_MEMLESS is not set |
704 | # CONFIG_INPUT_POLLDEV is not set | 740 | # CONFIG_INPUT_POLLDEV is not set |
741 | # CONFIG_INPUT_SPARSEKMAP is not set | ||
705 | 742 | ||
706 | # | 743 | # |
707 | # Userland interfaces | 744 | # Userland interfaces |
@@ -810,7 +847,6 @@ CONFIG_I2C_SH_MOBILE=y | |||
810 | # | 847 | # |
811 | # Miscellaneous I2C Chip support | 848 | # Miscellaneous I2C Chip support |
812 | # | 849 | # |
813 | # CONFIG_DS1682 is not set | ||
814 | # CONFIG_SENSORS_TSL2550 is not set | 850 | # CONFIG_SENSORS_TSL2550 is not set |
815 | # CONFIG_I2C_DEBUG_CORE is not set | 851 | # CONFIG_I2C_DEBUG_CORE is not set |
816 | # CONFIG_I2C_DEBUG_ALGO is not set | 852 | # CONFIG_I2C_DEBUG_ALGO is not set |
@@ -824,7 +860,10 @@ CONFIG_SPI_MASTER=y | |||
824 | # | 860 | # |
825 | CONFIG_SPI_BITBANG=y | 861 | CONFIG_SPI_BITBANG=y |
826 | # CONFIG_SPI_GPIO is not set | 862 | # CONFIG_SPI_GPIO is not set |
863 | # CONFIG_SPI_SH_MSIOF is not set | ||
827 | # CONFIG_SPI_SH_SCI is not set | 864 | # CONFIG_SPI_SH_SCI is not set |
865 | # CONFIG_SPI_XILINX is not set | ||
866 | # CONFIG_SPI_DESIGNWARE is not set | ||
828 | 867 | ||
829 | # | 868 | # |
830 | # SPI Protocol Masters | 869 | # SPI Protocol Masters |
@@ -882,11 +921,13 @@ CONFIG_SSB_POSSIBLE=y | |||
882 | # | 921 | # |
883 | # CONFIG_MFD_CORE is not set | 922 | # CONFIG_MFD_CORE is not set |
884 | # CONFIG_MFD_SM501 is not set | 923 | # CONFIG_MFD_SM501 is not set |
924 | # CONFIG_MFD_SH_MOBILE_SDHI is not set | ||
885 | # CONFIG_HTC_PASIC3 is not set | 925 | # CONFIG_HTC_PASIC3 is not set |
886 | # CONFIG_TPS65010 is not set | 926 | # CONFIG_TPS65010 is not set |
887 | # CONFIG_TWL4030_CORE is not set | 927 | # CONFIG_TWL4030_CORE is not set |
888 | # CONFIG_MFD_TMIO is not set | 928 | # CONFIG_MFD_TMIO is not set |
889 | # CONFIG_PMIC_DA903X is not set | 929 | # CONFIG_PMIC_DA903X is not set |
930 | # CONFIG_PMIC_ADP5520 is not set | ||
890 | # CONFIG_MFD_WM8400 is not set | 931 | # CONFIG_MFD_WM8400 is not set |
891 | # CONFIG_MFD_WM831X is not set | 932 | # CONFIG_MFD_WM831X is not set |
892 | # CONFIG_MFD_WM8350_I2C is not set | 933 | # CONFIG_MFD_WM8350_I2C is not set |
@@ -894,6 +935,8 @@ CONFIG_SSB_POSSIBLE=y | |||
894 | # CONFIG_MFD_MC13783 is not set | 935 | # CONFIG_MFD_MC13783 is not set |
895 | # CONFIG_AB3100_CORE is not set | 936 | # CONFIG_AB3100_CORE is not set |
896 | # CONFIG_EZX_PCAP is not set | 937 | # CONFIG_EZX_PCAP is not set |
938 | # CONFIG_MFD_88PM8607 is not set | ||
939 | # CONFIG_AB4500_CORE is not set | ||
897 | # CONFIG_REGULATOR is not set | 940 | # CONFIG_REGULATOR is not set |
898 | CONFIG_MEDIA_SUPPORT=y | 941 | CONFIG_MEDIA_SUPPORT=y |
899 | 942 | ||
@@ -910,6 +953,8 @@ CONFIG_VIDEO_MEDIA=y | |||
910 | # | 953 | # |
911 | # Multimedia drivers | 954 | # Multimedia drivers |
912 | # | 955 | # |
956 | CONFIG_IR_CORE=y | ||
957 | CONFIG_VIDEO_IR=y | ||
913 | # CONFIG_MEDIA_ATTACH is not set | 958 | # CONFIG_MEDIA_ATTACH is not set |
914 | CONFIG_MEDIA_TUNER=y | 959 | CONFIG_MEDIA_TUNER=y |
915 | # CONFIG_MEDIA_TUNER_CUSTOMISE is not set | 960 | # CONFIG_MEDIA_TUNER_CUSTOMISE is not set |
@@ -930,6 +975,7 @@ CONFIG_VIDEO_CAPTURE_DRIVERS=y | |||
930 | # CONFIG_VIDEO_ADV_DEBUG is not set | 975 | # CONFIG_VIDEO_ADV_DEBUG is not set |
931 | # CONFIG_VIDEO_FIXED_MINOR_RANGES is not set | 976 | # CONFIG_VIDEO_FIXED_MINOR_RANGES is not set |
932 | CONFIG_VIDEO_HELPER_CHIPS_AUTO=y | 977 | CONFIG_VIDEO_HELPER_CHIPS_AUTO=y |
978 | CONFIG_VIDEO_IR_I2C=y | ||
933 | # CONFIG_VIDEO_VIVI is not set | 979 | # CONFIG_VIDEO_VIVI is not set |
934 | # CONFIG_VIDEO_CPIA is not set | 980 | # CONFIG_VIDEO_CPIA is not set |
935 | # CONFIG_VIDEO_CPIA2 is not set | 981 | # CONFIG_VIDEO_CPIA2 is not set |
@@ -939,10 +985,13 @@ CONFIG_SOC_CAMERA=y | |||
939 | # CONFIG_SOC_CAMERA_MT9M001 is not set | 985 | # CONFIG_SOC_CAMERA_MT9M001 is not set |
940 | # CONFIG_SOC_CAMERA_MT9M111 is not set | 986 | # CONFIG_SOC_CAMERA_MT9M111 is not set |
941 | # CONFIG_SOC_CAMERA_MT9T031 is not set | 987 | # CONFIG_SOC_CAMERA_MT9T031 is not set |
988 | # CONFIG_SOC_CAMERA_MT9T112 is not set | ||
942 | # CONFIG_SOC_CAMERA_MT9V022 is not set | 989 | # CONFIG_SOC_CAMERA_MT9V022 is not set |
990 | # CONFIG_SOC_CAMERA_RJ54N1 is not set | ||
943 | # CONFIG_SOC_CAMERA_TW9910 is not set | 991 | # CONFIG_SOC_CAMERA_TW9910 is not set |
944 | # CONFIG_SOC_CAMERA_PLATFORM is not set | 992 | # CONFIG_SOC_CAMERA_PLATFORM is not set |
945 | # CONFIG_SOC_CAMERA_OV772X is not set | 993 | # CONFIG_SOC_CAMERA_OV772X is not set |
994 | # CONFIG_SOC_CAMERA_OV9640 is not set | ||
946 | CONFIG_VIDEO_SH_MOBILE_CEU=y | 995 | CONFIG_VIDEO_SH_MOBILE_CEU=y |
947 | # CONFIG_V4L_USB_DRIVERS is not set | 996 | # CONFIG_V4L_USB_DRIVERS is not set |
948 | CONFIG_RADIO_ADAPTERS=y | 997 | CONFIG_RADIO_ADAPTERS=y |
@@ -952,6 +1001,7 @@ CONFIG_RADIO_ADAPTERS=y | |||
952 | # CONFIG_RADIO_SI470X is not set | 1001 | # CONFIG_RADIO_SI470X is not set |
953 | # CONFIG_USB_MR800 is not set | 1002 | # CONFIG_USB_MR800 is not set |
954 | # CONFIG_RADIO_TEA5764 is not set | 1003 | # CONFIG_RADIO_TEA5764 is not set |
1004 | # CONFIG_RADIO_TEF6862 is not set | ||
955 | # CONFIG_DAB is not set | 1005 | # CONFIG_DAB is not set |
956 | 1006 | ||
957 | # | 1007 | # |
@@ -1177,6 +1227,7 @@ CONFIG_MMC_BLOCK_BOUNCE=y | |||
1177 | # CONFIG_MMC_AT91 is not set | 1227 | # CONFIG_MMC_AT91 is not set |
1178 | # CONFIG_MMC_ATMELMCI is not set | 1228 | # CONFIG_MMC_ATMELMCI is not set |
1179 | CONFIG_MMC_SPI=y | 1229 | CONFIG_MMC_SPI=y |
1230 | # CONFIG_MMC_TMIO is not set | ||
1180 | # CONFIG_MEMSTICK is not set | 1231 | # CONFIG_MEMSTICK is not set |
1181 | # CONFIG_NEW_LEDS is not set | 1232 | # CONFIG_NEW_LEDS is not set |
1182 | # CONFIG_ACCESSIBILITY is not set | 1233 | # CONFIG_ACCESSIBILITY is not set |
@@ -1208,6 +1259,7 @@ CONFIG_RTC_INTF_DEV=y | |||
1208 | CONFIG_RTC_DRV_PCF8563=y | 1259 | CONFIG_RTC_DRV_PCF8563=y |
1209 | # CONFIG_RTC_DRV_PCF8583 is not set | 1260 | # CONFIG_RTC_DRV_PCF8583 is not set |
1210 | # CONFIG_RTC_DRV_M41T80 is not set | 1261 | # CONFIG_RTC_DRV_M41T80 is not set |
1262 | # CONFIG_RTC_DRV_BQ32K is not set | ||
1211 | # CONFIG_RTC_DRV_S35390A is not set | 1263 | # CONFIG_RTC_DRV_S35390A is not set |
1212 | # CONFIG_RTC_DRV_FM3130 is not set | 1264 | # CONFIG_RTC_DRV_FM3130 is not set |
1213 | # CONFIG_RTC_DRV_RX8581 is not set | 1265 | # CONFIG_RTC_DRV_RX8581 is not set |
@@ -1236,7 +1288,9 @@ CONFIG_RTC_DRV_PCF8563=y | |||
1236 | # CONFIG_RTC_DRV_M48T86 is not set | 1288 | # CONFIG_RTC_DRV_M48T86 is not set |
1237 | # CONFIG_RTC_DRV_M48T35 is not set | 1289 | # CONFIG_RTC_DRV_M48T35 is not set |
1238 | # CONFIG_RTC_DRV_M48T59 is not set | 1290 | # CONFIG_RTC_DRV_M48T59 is not set |
1291 | # CONFIG_RTC_DRV_MSM6242 is not set | ||
1239 | # CONFIG_RTC_DRV_BQ4802 is not set | 1292 | # CONFIG_RTC_DRV_BQ4802 is not set |
1293 | # CONFIG_RTC_DRV_RP5C01 is not set | ||
1240 | # CONFIG_RTC_DRV_V3020 is not set | 1294 | # CONFIG_RTC_DRV_V3020 is not set |
1241 | 1295 | ||
1242 | # | 1296 | # |
@@ -1430,7 +1484,7 @@ CONFIG_FRAME_WARN=1024 | |||
1430 | CONFIG_DEBUG_FS=y | 1484 | CONFIG_DEBUG_FS=y |
1431 | # CONFIG_HEADERS_CHECK is not set | 1485 | # CONFIG_HEADERS_CHECK is not set |
1432 | # CONFIG_DEBUG_KERNEL is not set | 1486 | # CONFIG_DEBUG_KERNEL is not set |
1433 | # CONFIG_DEBUG_BUGVERBOSE is not set | 1487 | CONFIG_DEBUG_BUGVERBOSE=y |
1434 | # CONFIG_DEBUG_MEMORY_INIT is not set | 1488 | # CONFIG_DEBUG_MEMORY_INIT is not set |
1435 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | 1489 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set |
1436 | # CONFIG_LATENCYTOP is not set | 1490 | # CONFIG_LATENCYTOP is not set |
@@ -1448,7 +1502,6 @@ CONFIG_TRACING_SUPPORT=y | |||
1448 | # CONFIG_SAMPLES is not set | 1502 | # CONFIG_SAMPLES is not set |
1449 | CONFIG_HAVE_ARCH_KGDB=y | 1503 | CONFIG_HAVE_ARCH_KGDB=y |
1450 | # CONFIG_SH_STANDARD_BIOS is not set | 1504 | # CONFIG_SH_STANDARD_BIOS is not set |
1451 | # CONFIG_EARLY_SCIF_CONSOLE is not set | ||
1452 | # CONFIG_DWARF_UNWINDER is not set | 1505 | # CONFIG_DWARF_UNWINDER is not set |
1453 | 1506 | ||
1454 | # | 1507 | # |
@@ -1457,7 +1510,11 @@ CONFIG_HAVE_ARCH_KGDB=y | |||
1457 | # CONFIG_KEYS is not set | 1510 | # CONFIG_KEYS is not set |
1458 | # CONFIG_SECURITY is not set | 1511 | # CONFIG_SECURITY is not set |
1459 | # CONFIG_SECURITYFS is not set | 1512 | # CONFIG_SECURITYFS is not set |
1460 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1513 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
1514 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
1515 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
1516 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
1517 | CONFIG_DEFAULT_SECURITY="" | ||
1461 | CONFIG_CRYPTO=y | 1518 | CONFIG_CRYPTO=y |
1462 | 1519 | ||
1463 | # | 1520 | # |
diff --git a/arch/sh/configs/edosk7705_defconfig b/arch/sh/configs/edosk7705_defconfig index 86c9bc050629..72f8718dd738 100644 --- a/arch/sh/configs/edosk7705_defconfig +++ b/arch/sh/configs/edosk7705_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.31 | 3 | # Linux kernel version: 2.6.33-rc2 |
4 | # Thu Sep 24 17:57:13 2009 | 4 | # Mon Jan 4 11:24:26 2010 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_SUPERH32=y | 7 | CONFIG_SUPERH32=y |
@@ -28,6 +28,7 @@ CONFIG_HAVE_LATENCYTOP_SUPPORT=y | |||
28 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | 28 | CONFIG_ARCH_NO_VIRT_TO_BUS=y |
29 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y | 29 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y |
30 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y | 30 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y |
31 | CONFIG_DMA_NONCOHERENT=y | ||
31 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 32 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
32 | CONFIG_CONSTRUCTORS=y | 33 | CONFIG_CONSTRUCTORS=y |
33 | 34 | ||
@@ -53,6 +54,7 @@ CONFIG_KERNEL_GZIP=y | |||
53 | # | 54 | # |
54 | CONFIG_TREE_RCU=y | 55 | CONFIG_TREE_RCU=y |
55 | # CONFIG_TREE_PREEMPT_RCU is not set | 56 | # CONFIG_TREE_PREEMPT_RCU is not set |
57 | # CONFIG_TINY_RCU is not set | ||
56 | # CONFIG_RCU_TRACE is not set | 58 | # CONFIG_RCU_TRACE is not set |
57 | CONFIG_RCU_FANOUT=32 | 59 | CONFIG_RCU_FANOUT=32 |
58 | # CONFIG_RCU_FANOUT_EXACT is not set | 60 | # CONFIG_RCU_FANOUT_EXACT is not set |
@@ -66,7 +68,6 @@ CONFIG_LOG_BUF_SHIFT=17 | |||
66 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 68 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
67 | CONFIG_EMBEDDED=y | 69 | CONFIG_EMBEDDED=y |
68 | # CONFIG_UID16 is not set | 70 | # CONFIG_UID16 is not set |
69 | # CONFIG_SYSCTL_SYSCALL is not set | ||
70 | # CONFIG_KALLSYMS is not set | 71 | # CONFIG_KALLSYMS is not set |
71 | # CONFIG_HOTPLUG is not set | 72 | # CONFIG_HOTPLUG is not set |
72 | # CONFIG_PRINTK is not set | 73 | # CONFIG_PRINTK is not set |
@@ -81,6 +82,7 @@ CONFIG_EMBEDDED=y | |||
81 | CONFIG_SHMEM=y | 82 | CONFIG_SHMEM=y |
82 | # CONFIG_AIO is not set | 83 | # CONFIG_AIO is not set |
83 | CONFIG_HAVE_PERF_EVENTS=y | 84 | CONFIG_HAVE_PERF_EVENTS=y |
85 | CONFIG_PERF_USE_VMALLOC=y | ||
84 | 86 | ||
85 | # | 87 | # |
86 | # Kernel Performance Events And Counters | 88 | # Kernel Performance Events And Counters |
@@ -98,6 +100,7 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
98 | CONFIG_HAVE_KPROBES=y | 100 | CONFIG_HAVE_KPROBES=y |
99 | CONFIG_HAVE_KRETPROBES=y | 101 | CONFIG_HAVE_KRETPROBES=y |
100 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 102 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
103 | CONFIG_HAVE_DMA_ATTRS=y | ||
101 | CONFIG_HAVE_CLK=y | 104 | CONFIG_HAVE_CLK=y |
102 | CONFIG_HAVE_DMA_API_DEBUG=y | 105 | CONFIG_HAVE_DMA_API_DEBUG=y |
103 | 106 | ||
@@ -109,6 +112,35 @@ CONFIG_HAVE_GENERIC_DMA_COHERENT=y | |||
109 | CONFIG_BASE_SMALL=1 | 112 | CONFIG_BASE_SMALL=1 |
110 | # CONFIG_MODULES is not set | 113 | # CONFIG_MODULES is not set |
111 | # CONFIG_BLOCK is not set | 114 | # CONFIG_BLOCK is not set |
115 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
116 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
117 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
118 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
119 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
120 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
121 | CONFIG_INLINE_SPIN_UNLOCK=y | ||
122 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
123 | CONFIG_INLINE_SPIN_UNLOCK_IRQ=y | ||
124 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
125 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
126 | # CONFIG_INLINE_READ_LOCK is not set | ||
127 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
128 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
129 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
130 | CONFIG_INLINE_READ_UNLOCK=y | ||
131 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
132 | CONFIG_INLINE_READ_UNLOCK_IRQ=y | ||
133 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
134 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
135 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
136 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
137 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
138 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
139 | CONFIG_INLINE_WRITE_UNLOCK=y | ||
140 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
141 | CONFIG_INLINE_WRITE_UNLOCK_IRQ=y | ||
142 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
143 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
112 | # CONFIG_FREEZER is not set | 144 | # CONFIG_FREEZER is not set |
113 | 145 | ||
114 | # | 146 | # |
@@ -186,8 +218,6 @@ CONFIG_MIGRATION=y | |||
186 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 218 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
187 | CONFIG_ZONE_DMA_FLAG=0 | 219 | CONFIG_ZONE_DMA_FLAG=0 |
188 | CONFIG_NR_QUICK=2 | 220 | CONFIG_NR_QUICK=2 |
189 | CONFIG_HAVE_MLOCK=y | ||
190 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
191 | # CONFIG_KSM is not set | 221 | # CONFIG_KSM is not set |
192 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | 222 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 |
193 | 223 | ||
@@ -359,6 +389,7 @@ CONFIG_SSB_POSSIBLE=y | |||
359 | # | 389 | # |
360 | # CONFIG_MFD_CORE is not set | 390 | # CONFIG_MFD_CORE is not set |
361 | # CONFIG_MFD_SM501 is not set | 391 | # CONFIG_MFD_SM501 is not set |
392 | # CONFIG_MFD_SH_MOBILE_SDHI is not set | ||
362 | # CONFIG_HTC_PASIC3 is not set | 393 | # CONFIG_HTC_PASIC3 is not set |
363 | # CONFIG_MFD_TMIO is not set | 394 | # CONFIG_MFD_TMIO is not set |
364 | # CONFIG_REGULATOR is not set | 395 | # CONFIG_REGULATOR is not set |
@@ -416,7 +447,6 @@ CONFIG_INOTIFY_USER=y | |||
416 | # CONFIG_PROC_FS is not set | 447 | # CONFIG_PROC_FS is not set |
417 | # CONFIG_SYSFS is not set | 448 | # CONFIG_SYSFS is not set |
418 | # CONFIG_TMPFS is not set | 449 | # CONFIG_TMPFS is not set |
419 | # CONFIG_HUGETLBFS is not set | ||
420 | # CONFIG_HUGETLB_PAGE is not set | 450 | # CONFIG_HUGETLB_PAGE is not set |
421 | CONFIG_MISC_FILESYSTEMS=y | 451 | CONFIG_MISC_FILESYSTEMS=y |
422 | # CONFIG_NLS is not set | 452 | # CONFIG_NLS is not set |
@@ -448,7 +478,6 @@ CONFIG_TRACING_SUPPORT=y | |||
448 | # CONFIG_SAMPLES is not set | 478 | # CONFIG_SAMPLES is not set |
449 | CONFIG_HAVE_ARCH_KGDB=y | 479 | CONFIG_HAVE_ARCH_KGDB=y |
450 | # CONFIG_SH_STANDARD_BIOS is not set | 480 | # CONFIG_SH_STANDARD_BIOS is not set |
451 | # CONFIG_EARLY_SCIF_CONSOLE is not set | ||
452 | # CONFIG_DWARF_UNWINDER is not set | 481 | # CONFIG_DWARF_UNWINDER is not set |
453 | 482 | ||
454 | # | 483 | # |
@@ -456,7 +485,11 @@ CONFIG_HAVE_ARCH_KGDB=y | |||
456 | # | 485 | # |
457 | # CONFIG_KEYS is not set | 486 | # CONFIG_KEYS is not set |
458 | # CONFIG_SECURITYFS is not set | 487 | # CONFIG_SECURITYFS is not set |
459 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 488 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
489 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
490 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
491 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
492 | CONFIG_DEFAULT_SECURITY="" | ||
460 | # CONFIG_CRYPTO is not set | 493 | # CONFIG_CRYPTO is not set |
461 | # CONFIG_BINARY_PRINTF is not set | 494 | # CONFIG_BINARY_PRINTF is not set |
462 | 495 | ||
diff --git a/arch/sh/configs/edosk7760_defconfig b/arch/sh/configs/edosk7760_defconfig index 4c0f82b7def2..0932e6d656eb 100644 --- a/arch/sh/configs/edosk7760_defconfig +++ b/arch/sh/configs/edosk7760_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.31 | 3 | # Linux kernel version: 2.6.33-rc2 |
4 | # Thu Sep 24 17:57:30 2009 | 4 | # Mon Jan 4 11:24:44 2010 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_SUPERH32=y | 7 | CONFIG_SUPERH32=y |
@@ -20,6 +20,7 @@ CONFIG_GENERIC_TIME=y | |||
20 | CONFIG_GENERIC_CLOCKEVENTS=y | 20 | CONFIG_GENERIC_CLOCKEVENTS=y |
21 | # CONFIG_ARCH_SUSPEND_POSSIBLE is not set | 21 | # CONFIG_ARCH_SUSPEND_POSSIBLE is not set |
22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y | 22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y |
23 | CONFIG_SYS_SUPPORTS_HUGETLBFS=y | ||
23 | CONFIG_SYS_SUPPORTS_TMU=y | 24 | CONFIG_SYS_SUPPORTS_TMU=y |
24 | CONFIG_STACKTRACE_SUPPORT=y | 25 | CONFIG_STACKTRACE_SUPPORT=y |
25 | CONFIG_LOCKDEP_SUPPORT=y | 26 | CONFIG_LOCKDEP_SUPPORT=y |
@@ -29,6 +30,7 @@ CONFIG_HAVE_LATENCYTOP_SUPPORT=y | |||
29 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | 30 | CONFIG_ARCH_NO_VIRT_TO_BUS=y |
30 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y | 31 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y |
31 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y | 32 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y |
33 | CONFIG_DMA_NONCOHERENT=y | ||
32 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 34 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
33 | CONFIG_CONSTRUCTORS=y | 35 | CONFIG_CONSTRUCTORS=y |
34 | 36 | ||
@@ -62,6 +64,7 @@ CONFIG_BSD_PROCESS_ACCT=y | |||
62 | # | 64 | # |
63 | CONFIG_TREE_RCU=y | 65 | CONFIG_TREE_RCU=y |
64 | # CONFIG_TREE_PREEMPT_RCU is not set | 66 | # CONFIG_TREE_PREEMPT_RCU is not set |
67 | # CONFIG_TINY_RCU is not set | ||
65 | # CONFIG_RCU_TRACE is not set | 68 | # CONFIG_RCU_TRACE is not set |
66 | CONFIG_RCU_FANOUT=32 | 69 | CONFIG_RCU_FANOUT=32 |
67 | # CONFIG_RCU_FANOUT_EXACT is not set | 70 | # CONFIG_RCU_FANOUT_EXACT is not set |
@@ -102,6 +105,7 @@ CONFIG_EVENTFD=y | |||
102 | CONFIG_SHMEM=y | 105 | CONFIG_SHMEM=y |
103 | CONFIG_AIO=y | 106 | CONFIG_AIO=y |
104 | CONFIG_HAVE_PERF_EVENTS=y | 107 | CONFIG_HAVE_PERF_EVENTS=y |
108 | CONFIG_PERF_USE_VMALLOC=y | ||
105 | 109 | ||
106 | # | 110 | # |
107 | # Kernel Performance Events And Counters | 111 | # Kernel Performance Events And Counters |
@@ -121,6 +125,7 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
121 | CONFIG_HAVE_KPROBES=y | 125 | CONFIG_HAVE_KPROBES=y |
122 | CONFIG_HAVE_KRETPROBES=y | 126 | CONFIG_HAVE_KRETPROBES=y |
123 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 127 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
128 | CONFIG_HAVE_DMA_ATTRS=y | ||
124 | CONFIG_HAVE_CLK=y | 129 | CONFIG_HAVE_CLK=y |
125 | CONFIG_HAVE_DMA_API_DEBUG=y | 130 | CONFIG_HAVE_DMA_API_DEBUG=y |
126 | 131 | ||
@@ -147,14 +152,41 @@ CONFIG_LBDAF=y | |||
147 | # IO Schedulers | 152 | # IO Schedulers |
148 | # | 153 | # |
149 | CONFIG_IOSCHED_NOOP=y | 154 | CONFIG_IOSCHED_NOOP=y |
150 | CONFIG_IOSCHED_AS=y | ||
151 | CONFIG_IOSCHED_DEADLINE=y | 155 | CONFIG_IOSCHED_DEADLINE=y |
152 | CONFIG_IOSCHED_CFQ=y | 156 | CONFIG_IOSCHED_CFQ=y |
153 | # CONFIG_DEFAULT_AS is not set | ||
154 | # CONFIG_DEFAULT_DEADLINE is not set | 157 | # CONFIG_DEFAULT_DEADLINE is not set |
155 | CONFIG_DEFAULT_CFQ=y | 158 | CONFIG_DEFAULT_CFQ=y |
156 | # CONFIG_DEFAULT_NOOP is not set | 159 | # CONFIG_DEFAULT_NOOP is not set |
157 | CONFIG_DEFAULT_IOSCHED="cfq" | 160 | CONFIG_DEFAULT_IOSCHED="cfq" |
161 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
162 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
163 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
164 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
165 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
166 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
167 | # CONFIG_INLINE_SPIN_UNLOCK is not set | ||
168 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
169 | # CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set | ||
170 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
171 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
172 | # CONFIG_INLINE_READ_LOCK is not set | ||
173 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
174 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
175 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
176 | # CONFIG_INLINE_READ_UNLOCK is not set | ||
177 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
178 | # CONFIG_INLINE_READ_UNLOCK_IRQ is not set | ||
179 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
180 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
181 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
182 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
183 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
184 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
185 | # CONFIG_INLINE_WRITE_UNLOCK is not set | ||
186 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
187 | # CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set | ||
188 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
189 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
158 | # CONFIG_FREEZER is not set | 190 | # CONFIG_FREEZER is not set |
159 | 191 | ||
160 | # | 192 | # |
@@ -230,8 +262,6 @@ CONFIG_SPLIT_PTLOCK_CPUS=4 | |||
230 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 262 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
231 | CONFIG_ZONE_DMA_FLAG=0 | 263 | CONFIG_ZONE_DMA_FLAG=0 |
232 | CONFIG_NR_QUICK=2 | 264 | CONFIG_NR_QUICK=2 |
233 | CONFIG_HAVE_MLOCK=y | ||
234 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
235 | # CONFIG_KSM is not set | 265 | # CONFIG_KSM is not set |
236 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | 266 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 |
237 | 267 | ||
@@ -278,9 +308,9 @@ CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | |||
278 | # | 308 | # |
279 | # DMA support | 309 | # DMA support |
280 | # | 310 | # |
281 | CONFIG_SH_DMA_API=y | ||
282 | CONFIG_SH_DMA=y | 311 | CONFIG_SH_DMA=y |
283 | CONFIG_SH_DMA_IRQ_MULTI=y | 312 | CONFIG_SH_DMA_IRQ_MULTI=y |
313 | CONFIG_SH_DMA_API=y | ||
284 | CONFIG_NR_ONCHIP_DMA_CHANNELS=8 | 314 | CONFIG_NR_ONCHIP_DMA_CHANNELS=8 |
285 | # CONFIG_NR_DMA_CHANNELS_BOOL is not set | 315 | # CONFIG_NR_DMA_CHANNELS_BOOL is not set |
286 | # CONFIG_SH_DMABRG is not set | 316 | # CONFIG_SH_DMABRG is not set |
@@ -320,7 +350,6 @@ CONFIG_GUSA=y | |||
320 | CONFIG_ZERO_PAGE_OFFSET=0x00001000 | 350 | CONFIG_ZERO_PAGE_OFFSET=0x00001000 |
321 | CONFIG_BOOT_LINK_OFFSET=0x02000000 | 351 | CONFIG_BOOT_LINK_OFFSET=0x02000000 |
322 | CONFIG_ENTRY_OFFSET=0x00001000 | 352 | CONFIG_ENTRY_OFFSET=0x00001000 |
323 | # CONFIG_UBC_WAKEUP is not set | ||
324 | CONFIG_CMDLINE_OVERWRITE=y | 353 | CONFIG_CMDLINE_OVERWRITE=y |
325 | # CONFIG_CMDLINE_EXTEND is not set | 354 | # CONFIG_CMDLINE_EXTEND is not set |
326 | CONFIG_CMDLINE="mem=64M console=ttySC2,115200 root=/dev/nfs rw nfsroot=192.168.0.3:/scripts/filesys ip=192.168.0.4" | 355 | CONFIG_CMDLINE="mem=64M console=ttySC2,115200 root=/dev/nfs rw nfsroot=192.168.0.3:/scripts/filesys ip=192.168.0.4" |
@@ -415,9 +444,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
415 | # CONFIG_AF_RXRPC is not set | 444 | # CONFIG_AF_RXRPC is not set |
416 | CONFIG_WIRELESS=y | 445 | CONFIG_WIRELESS=y |
417 | # CONFIG_CFG80211 is not set | 446 | # CONFIG_CFG80211 is not set |
418 | CONFIG_CFG80211_DEFAULT_PS_VALUE=0 | ||
419 | # CONFIG_WIRELESS_OLD_REGULATORY is not set | ||
420 | # CONFIG_WIRELESS_EXT is not set | ||
421 | # CONFIG_LIB80211 is not set | 447 | # CONFIG_LIB80211 is not set |
422 | 448 | ||
423 | # | 449 | # |
@@ -534,6 +560,10 @@ CONFIG_MTD_PHYSMAP=y | |||
534 | CONFIG_BLK_DEV=y | 560 | CONFIG_BLK_DEV=y |
535 | # CONFIG_BLK_DEV_COW_COMMON is not set | 561 | # CONFIG_BLK_DEV_COW_COMMON is not set |
536 | # CONFIG_BLK_DEV_LOOP is not set | 562 | # CONFIG_BLK_DEV_LOOP is not set |
563 | |||
564 | # | ||
565 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
566 | # | ||
537 | # CONFIG_BLK_DEV_NBD is not set | 567 | # CONFIG_BLK_DEV_NBD is not set |
538 | CONFIG_BLK_DEV_RAM=y | 568 | CONFIG_BLK_DEV_RAM=y |
539 | CONFIG_BLK_DEV_RAM_COUNT=16 | 569 | CONFIG_BLK_DEV_RAM_COUNT=16 |
@@ -581,11 +611,11 @@ CONFIG_SMC91X=y | |||
581 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | 611 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set |
582 | # CONFIG_B44 is not set | 612 | # CONFIG_B44 is not set |
583 | # CONFIG_KS8842 is not set | 613 | # CONFIG_KS8842 is not set |
614 | # CONFIG_KS8851_MLL is not set | ||
584 | # CONFIG_NETDEV_1000 is not set | 615 | # CONFIG_NETDEV_1000 is not set |
585 | # CONFIG_NETDEV_10000 is not set | 616 | # CONFIG_NETDEV_10000 is not set |
586 | CONFIG_WLAN=y | 617 | CONFIG_WLAN=y |
587 | # CONFIG_WLAN_PRE80211 is not set | 618 | # CONFIG_HOSTAP is not set |
588 | # CONFIG_WLAN_80211 is not set | ||
589 | 619 | ||
590 | # | 620 | # |
591 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 621 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -605,6 +635,7 @@ CONFIG_WLAN=y | |||
605 | CONFIG_INPUT=y | 635 | CONFIG_INPUT=y |
606 | # CONFIG_INPUT_FF_MEMLESS is not set | 636 | # CONFIG_INPUT_FF_MEMLESS is not set |
607 | # CONFIG_INPUT_POLLDEV is not set | 637 | # CONFIG_INPUT_POLLDEV is not set |
638 | # CONFIG_INPUT_SPARSEKMAP is not set | ||
608 | 639 | ||
609 | # | 640 | # |
610 | # Userland interfaces | 641 | # Userland interfaces |
@@ -698,7 +729,6 @@ CONFIG_I2C_SH7760=y | |||
698 | # | 729 | # |
699 | # Miscellaneous I2C Chip support | 730 | # Miscellaneous I2C Chip support |
700 | # | 731 | # |
701 | # CONFIG_DS1682 is not set | ||
702 | # CONFIG_SENSORS_TSL2550 is not set | 732 | # CONFIG_SENSORS_TSL2550 is not set |
703 | CONFIG_I2C_DEBUG_CORE=y | 733 | CONFIG_I2C_DEBUG_CORE=y |
704 | CONFIG_I2C_DEBUG_ALGO=y | 734 | CONFIG_I2C_DEBUG_ALGO=y |
@@ -727,15 +757,18 @@ CONFIG_SSB_POSSIBLE=y | |||
727 | # | 757 | # |
728 | # CONFIG_MFD_CORE is not set | 758 | # CONFIG_MFD_CORE is not set |
729 | # CONFIG_MFD_SM501 is not set | 759 | # CONFIG_MFD_SM501 is not set |
760 | # CONFIG_MFD_SH_MOBILE_SDHI is not set | ||
730 | # CONFIG_HTC_PASIC3 is not set | 761 | # CONFIG_HTC_PASIC3 is not set |
731 | # CONFIG_TWL4030_CORE is not set | 762 | # CONFIG_TWL4030_CORE is not set |
732 | # CONFIG_MFD_TMIO is not set | 763 | # CONFIG_MFD_TMIO is not set |
733 | # CONFIG_PMIC_DA903X is not set | 764 | # CONFIG_PMIC_DA903X is not set |
765 | # CONFIG_PMIC_ADP5520 is not set | ||
734 | # CONFIG_MFD_WM8400 is not set | 766 | # CONFIG_MFD_WM8400 is not set |
735 | # CONFIG_MFD_WM831X is not set | 767 | # CONFIG_MFD_WM831X is not set |
736 | # CONFIG_MFD_WM8350_I2C is not set | 768 | # CONFIG_MFD_WM8350_I2C is not set |
737 | # CONFIG_MFD_PCF50633 is not set | 769 | # CONFIG_MFD_PCF50633 is not set |
738 | # CONFIG_AB3100_CORE is not set | 770 | # CONFIG_AB3100_CORE is not set |
771 | # CONFIG_MFD_88PM8607 is not set | ||
739 | # CONFIG_REGULATOR is not set | 772 | # CONFIG_REGULATOR is not set |
740 | # CONFIG_MEDIA_SUPPORT is not set | 773 | # CONFIG_MEDIA_SUPPORT is not set |
741 | 774 | ||
@@ -1072,9 +1105,6 @@ CONFIG_BRANCH_PROFILE_NONE=y | |||
1072 | CONFIG_HAVE_ARCH_KGDB=y | 1105 | CONFIG_HAVE_ARCH_KGDB=y |
1073 | # CONFIG_KGDB is not set | 1106 | # CONFIG_KGDB is not set |
1074 | # CONFIG_SH_STANDARD_BIOS is not set | 1107 | # CONFIG_SH_STANDARD_BIOS is not set |
1075 | CONFIG_EARLY_SCIF_CONSOLE=y | ||
1076 | CONFIG_EARLY_SCIF_CONSOLE_PORT=0xffe80000 | ||
1077 | CONFIG_EARLY_PRINTK=y | ||
1078 | # CONFIG_STACK_DEBUG is not set | 1108 | # CONFIG_STACK_DEBUG is not set |
1079 | # CONFIG_DEBUG_STACK_USAGE is not set | 1109 | # CONFIG_DEBUG_STACK_USAGE is not set |
1080 | # CONFIG_4KSTACKS is not set | 1110 | # CONFIG_4KSTACKS is not set |
@@ -1088,7 +1118,11 @@ CONFIG_DUMP_CODE=y | |||
1088 | # CONFIG_KEYS is not set | 1118 | # CONFIG_KEYS is not set |
1089 | # CONFIG_SECURITY is not set | 1119 | # CONFIG_SECURITY is not set |
1090 | # CONFIG_SECURITYFS is not set | 1120 | # CONFIG_SECURITYFS is not set |
1091 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1121 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
1122 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
1123 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
1124 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
1125 | CONFIG_DEFAULT_SECURITY="" | ||
1092 | CONFIG_CRYPTO=y | 1126 | CONFIG_CRYPTO=y |
1093 | 1127 | ||
1094 | # | 1128 | # |
diff --git a/arch/sh/configs/espt_defconfig b/arch/sh/configs/espt_defconfig index 9b785517abcf..f899e5613f86 100644 --- a/arch/sh/configs/espt_defconfig +++ b/arch/sh/configs/espt_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.31 | 3 | # Linux kernel version: 2.6.33-rc2 |
4 | # Thu Sep 24 17:58:18 2009 | 4 | # Mon Jan 4 11:26:55 2010 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_SUPERH32=y | 7 | CONFIG_SUPERH32=y |
@@ -20,6 +20,7 @@ CONFIG_GENERIC_TIME=y | |||
20 | CONFIG_GENERIC_CLOCKEVENTS=y | 20 | CONFIG_GENERIC_CLOCKEVENTS=y |
21 | # CONFIG_ARCH_SUSPEND_POSSIBLE is not set | 21 | # CONFIG_ARCH_SUSPEND_POSSIBLE is not set |
22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y | 22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y |
23 | CONFIG_SYS_SUPPORTS_HUGETLBFS=y | ||
23 | CONFIG_SYS_SUPPORTS_TMU=y | 24 | CONFIG_SYS_SUPPORTS_TMU=y |
24 | CONFIG_STACKTRACE_SUPPORT=y | 25 | CONFIG_STACKTRACE_SUPPORT=y |
25 | CONFIG_LOCKDEP_SUPPORT=y | 26 | CONFIG_LOCKDEP_SUPPORT=y |
@@ -29,6 +30,7 @@ CONFIG_HAVE_LATENCYTOP_SUPPORT=y | |||
29 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | 30 | CONFIG_ARCH_NO_VIRT_TO_BUS=y |
30 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y | 31 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y |
31 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y | 32 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y |
33 | CONFIG_DMA_NONCOHERENT=y | ||
32 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 34 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
33 | CONFIG_CONSTRUCTORS=y | 35 | CONFIG_CONSTRUCTORS=y |
34 | 36 | ||
@@ -59,6 +61,7 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
59 | # | 61 | # |
60 | CONFIG_TREE_RCU=y | 62 | CONFIG_TREE_RCU=y |
61 | # CONFIG_TREE_PREEMPT_RCU is not set | 63 | # CONFIG_TREE_PREEMPT_RCU is not set |
64 | # CONFIG_TINY_RCU is not set | ||
62 | # CONFIG_RCU_TRACE is not set | 65 | # CONFIG_RCU_TRACE is not set |
63 | CONFIG_RCU_FANOUT=32 | 66 | CONFIG_RCU_FANOUT=32 |
64 | # CONFIG_RCU_FANOUT_EXACT is not set | 67 | # CONFIG_RCU_FANOUT_EXACT is not set |
@@ -103,6 +106,7 @@ CONFIG_EVENTFD=y | |||
103 | CONFIG_SHMEM=y | 106 | CONFIG_SHMEM=y |
104 | CONFIG_AIO=y | 107 | CONFIG_AIO=y |
105 | CONFIG_HAVE_PERF_EVENTS=y | 108 | CONFIG_HAVE_PERF_EVENTS=y |
109 | CONFIG_PERF_USE_VMALLOC=y | ||
106 | 110 | ||
107 | # | 111 | # |
108 | # Kernel Performance Events And Counters | 112 | # Kernel Performance Events And Counters |
@@ -124,6 +128,7 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
124 | CONFIG_HAVE_KPROBES=y | 128 | CONFIG_HAVE_KPROBES=y |
125 | CONFIG_HAVE_KRETPROBES=y | 129 | CONFIG_HAVE_KRETPROBES=y |
126 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 130 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
131 | CONFIG_HAVE_DMA_ATTRS=y | ||
127 | CONFIG_HAVE_CLK=y | 132 | CONFIG_HAVE_CLK=y |
128 | CONFIG_HAVE_DMA_API_DEBUG=y | 133 | CONFIG_HAVE_DMA_API_DEBUG=y |
129 | 134 | ||
@@ -150,14 +155,41 @@ CONFIG_LBDAF=y | |||
150 | # IO Schedulers | 155 | # IO Schedulers |
151 | # | 156 | # |
152 | CONFIG_IOSCHED_NOOP=y | 157 | CONFIG_IOSCHED_NOOP=y |
153 | CONFIG_IOSCHED_AS=y | ||
154 | CONFIG_IOSCHED_DEADLINE=y | 158 | CONFIG_IOSCHED_DEADLINE=y |
155 | CONFIG_IOSCHED_CFQ=y | 159 | CONFIG_IOSCHED_CFQ=y |
156 | CONFIG_DEFAULT_AS=y | ||
157 | # CONFIG_DEFAULT_DEADLINE is not set | 160 | # CONFIG_DEFAULT_DEADLINE is not set |
158 | # CONFIG_DEFAULT_CFQ is not set | 161 | CONFIG_DEFAULT_CFQ=y |
159 | # CONFIG_DEFAULT_NOOP is not set | 162 | # CONFIG_DEFAULT_NOOP is not set |
160 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 163 | CONFIG_DEFAULT_IOSCHED="cfq" |
164 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
165 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
166 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
167 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
168 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
169 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
170 | CONFIG_INLINE_SPIN_UNLOCK=y | ||
171 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
172 | CONFIG_INLINE_SPIN_UNLOCK_IRQ=y | ||
173 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
174 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
175 | # CONFIG_INLINE_READ_LOCK is not set | ||
176 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
177 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
178 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
179 | CONFIG_INLINE_READ_UNLOCK=y | ||
180 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
181 | CONFIG_INLINE_READ_UNLOCK_IRQ=y | ||
182 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
183 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
184 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
185 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
186 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
187 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
188 | CONFIG_INLINE_WRITE_UNLOCK=y | ||
189 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
190 | CONFIG_INLINE_WRITE_UNLOCK_IRQ=y | ||
191 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
192 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
161 | # CONFIG_FREEZER is not set | 193 | # CONFIG_FREEZER is not set |
162 | 194 | ||
163 | # | 195 | # |
@@ -211,6 +243,7 @@ CONFIG_FORCE_MAX_ZONEORDER=11 | |||
211 | CONFIG_MEMORY_START=0x0c000000 | 243 | CONFIG_MEMORY_START=0x0c000000 |
212 | CONFIG_MEMORY_SIZE=0x04000000 | 244 | CONFIG_MEMORY_SIZE=0x04000000 |
213 | CONFIG_29BIT=y | 245 | CONFIG_29BIT=y |
246 | # CONFIG_PMB_ENABLE is not set | ||
214 | CONFIG_VSYSCALL=y | 247 | CONFIG_VSYSCALL=y |
215 | CONFIG_ARCH_FLATMEM_ENABLE=y | 248 | CONFIG_ARCH_FLATMEM_ENABLE=y |
216 | CONFIG_ARCH_SPARSEMEM_ENABLE=y | 249 | CONFIG_ARCH_SPARSEMEM_ENABLE=y |
@@ -237,8 +270,6 @@ CONFIG_MIGRATION=y | |||
237 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 270 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
238 | CONFIG_ZONE_DMA_FLAG=0 | 271 | CONFIG_ZONE_DMA_FLAG=0 |
239 | CONFIG_NR_QUICK=2 | 272 | CONFIG_NR_QUICK=2 |
240 | CONFIG_HAVE_MLOCK=y | ||
241 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
242 | # CONFIG_KSM is not set | 273 | # CONFIG_KSM is not set |
243 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | 274 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 |
244 | 275 | ||
@@ -419,7 +450,13 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
419 | # CONFIG_IRDA is not set | 450 | # CONFIG_IRDA is not set |
420 | # CONFIG_BT is not set | 451 | # CONFIG_BT is not set |
421 | # CONFIG_AF_RXRPC is not set | 452 | # CONFIG_AF_RXRPC is not set |
422 | # CONFIG_WIRELESS is not set | 453 | CONFIG_WIRELESS=y |
454 | # CONFIG_CFG80211 is not set | ||
455 | # CONFIG_LIB80211 is not set | ||
456 | |||
457 | # | ||
458 | # CFG80211 needs to be enabled for MAC80211 | ||
459 | # | ||
423 | # CONFIG_WIMAX is not set | 460 | # CONFIG_WIMAX is not set |
424 | # CONFIG_RFKILL is not set | 461 | # CONFIG_RFKILL is not set |
425 | # CONFIG_NET_9P is not set | 462 | # CONFIG_NET_9P is not set |
@@ -498,7 +535,6 @@ CONFIG_MTD_CFI_UTIL=y | |||
498 | CONFIG_MTD_COMPLEX_MAPPINGS=y | 535 | CONFIG_MTD_COMPLEX_MAPPINGS=y |
499 | CONFIG_MTD_PHYSMAP=y | 536 | CONFIG_MTD_PHYSMAP=y |
500 | # CONFIG_MTD_PHYSMAP_COMPAT is not set | 537 | # CONFIG_MTD_PHYSMAP_COMPAT is not set |
501 | # CONFIG_MTD_GPIO_ADDR is not set | ||
502 | # CONFIG_MTD_PLATRAM is not set | 538 | # CONFIG_MTD_PLATRAM is not set |
503 | 539 | ||
504 | # | 540 | # |
@@ -531,6 +567,10 @@ CONFIG_MTD_PHYSMAP=y | |||
531 | CONFIG_BLK_DEV=y | 567 | CONFIG_BLK_DEV=y |
532 | # CONFIG_BLK_DEV_COW_COMMON is not set | 568 | # CONFIG_BLK_DEV_COW_COMMON is not set |
533 | # CONFIG_BLK_DEV_LOOP is not set | 569 | # CONFIG_BLK_DEV_LOOP is not set |
570 | |||
571 | # | ||
572 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
573 | # | ||
534 | # CONFIG_BLK_DEV_NBD is not set | 574 | # CONFIG_BLK_DEV_NBD is not set |
535 | # CONFIG_BLK_DEV_UB is not set | 575 | # CONFIG_BLK_DEV_UB is not set |
536 | # CONFIG_BLK_DEV_RAM is not set | 576 | # CONFIG_BLK_DEV_RAM is not set |
@@ -629,11 +669,12 @@ CONFIG_SH_ETH=y | |||
629 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | 669 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set |
630 | # CONFIG_B44 is not set | 670 | # CONFIG_B44 is not set |
631 | # CONFIG_KS8842 is not set | 671 | # CONFIG_KS8842 is not set |
672 | # CONFIG_KS8851_MLL is not set | ||
632 | # CONFIG_NETDEV_1000 is not set | 673 | # CONFIG_NETDEV_1000 is not set |
633 | # CONFIG_NETDEV_10000 is not set | 674 | # CONFIG_NETDEV_10000 is not set |
634 | CONFIG_WLAN=y | 675 | CONFIG_WLAN=y |
635 | # CONFIG_WLAN_PRE80211 is not set | 676 | # CONFIG_USB_ZD1201 is not set |
636 | # CONFIG_WLAN_80211 is not set | 677 | # CONFIG_HOSTAP is not set |
637 | 678 | ||
638 | # | 679 | # |
639 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 680 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -662,6 +703,7 @@ CONFIG_WLAN=y | |||
662 | CONFIG_INPUT=y | 703 | CONFIG_INPUT=y |
663 | # CONFIG_INPUT_FF_MEMLESS is not set | 704 | # CONFIG_INPUT_FF_MEMLESS is not set |
664 | # CONFIG_INPUT_POLLDEV is not set | 705 | # CONFIG_INPUT_POLLDEV is not set |
706 | # CONFIG_INPUT_SPARSEKMAP is not set | ||
665 | 707 | ||
666 | # | 708 | # |
667 | # Userland interfaces | 709 | # Userland interfaces |
@@ -745,6 +787,7 @@ CONFIG_SSB_POSSIBLE=y | |||
745 | # | 787 | # |
746 | # CONFIG_MFD_CORE is not set | 788 | # CONFIG_MFD_CORE is not set |
747 | # CONFIG_MFD_SM501 is not set | 789 | # CONFIG_MFD_SM501 is not set |
790 | # CONFIG_MFD_SH_MOBILE_SDHI is not set | ||
748 | # CONFIG_HTC_PASIC3 is not set | 791 | # CONFIG_HTC_PASIC3 is not set |
749 | # CONFIG_MFD_TMIO is not set | 792 | # CONFIG_MFD_TMIO is not set |
750 | # CONFIG_REGULATOR is not set | 793 | # CONFIG_REGULATOR is not set |
@@ -1102,10 +1145,11 @@ CONFIG_DEBUG_FS=y | |||
1102 | # CONFIG_HEADERS_CHECK is not set | 1145 | # CONFIG_HEADERS_CHECK is not set |
1103 | # CONFIG_DEBUG_KERNEL is not set | 1146 | # CONFIG_DEBUG_KERNEL is not set |
1104 | CONFIG_STACKTRACE=y | 1147 | CONFIG_STACKTRACE=y |
1105 | # CONFIG_DEBUG_BUGVERBOSE is not set | 1148 | CONFIG_DEBUG_BUGVERBOSE=y |
1106 | # CONFIG_DEBUG_MEMORY_INIT is not set | 1149 | # CONFIG_DEBUG_MEMORY_INIT is not set |
1107 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | 1150 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set |
1108 | # CONFIG_LATENCYTOP is not set | 1151 | # CONFIG_LATENCYTOP is not set |
1152 | # CONFIG_SYSCTL_SYSCALL_CHECK is not set | ||
1109 | CONFIG_NOP_TRACER=y | 1153 | CONFIG_NOP_TRACER=y |
1110 | CONFIG_HAVE_FUNCTION_TRACER=y | 1154 | CONFIG_HAVE_FUNCTION_TRACER=y |
1111 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | 1155 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y |
@@ -1125,7 +1169,6 @@ CONFIG_TRACING_SUPPORT=y | |||
1125 | # CONFIG_SAMPLES is not set | 1169 | # CONFIG_SAMPLES is not set |
1126 | CONFIG_HAVE_ARCH_KGDB=y | 1170 | CONFIG_HAVE_ARCH_KGDB=y |
1127 | # CONFIG_SH_STANDARD_BIOS is not set | 1171 | # CONFIG_SH_STANDARD_BIOS is not set |
1128 | # CONFIG_EARLY_SCIF_CONSOLE is not set | ||
1129 | # CONFIG_DWARF_UNWINDER is not set | 1172 | # CONFIG_DWARF_UNWINDER is not set |
1130 | 1173 | ||
1131 | # | 1174 | # |
@@ -1134,7 +1177,11 @@ CONFIG_HAVE_ARCH_KGDB=y | |||
1134 | # CONFIG_KEYS is not set | 1177 | # CONFIG_KEYS is not set |
1135 | # CONFIG_SECURITY is not set | 1178 | # CONFIG_SECURITY is not set |
1136 | # CONFIG_SECURITYFS is not set | 1179 | # CONFIG_SECURITYFS is not set |
1137 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1180 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
1181 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
1182 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
1183 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
1184 | CONFIG_DEFAULT_SECURITY="" | ||
1138 | CONFIG_CRYPTO=y | 1185 | CONFIG_CRYPTO=y |
1139 | 1186 | ||
1140 | # | 1187 | # |
diff --git a/arch/sh/configs/hp6xx_defconfig b/arch/sh/configs/hp6xx_defconfig index f59be446f829..06644908631e 100644 --- a/arch/sh/configs/hp6xx_defconfig +++ b/arch/sh/configs/hp6xx_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.31 | 3 | # Linux kernel version: 2.6.33-rc2 |
4 | # Thu Sep 24 17:59:45 2009 | 4 | # Mon Jan 4 11:30:31 2010 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_SUPERH32=y | 7 | CONFIG_SUPERH32=y |
@@ -30,6 +30,7 @@ CONFIG_HAVE_LATENCYTOP_SUPPORT=y | |||
30 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | 30 | CONFIG_ARCH_NO_VIRT_TO_BUS=y |
31 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y | 31 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y |
32 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y | 32 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y |
33 | CONFIG_DMA_NONCOHERENT=y | ||
33 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 34 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
34 | CONFIG_CONSTRUCTORS=y | 35 | CONFIG_CONSTRUCTORS=y |
35 | 36 | ||
@@ -57,6 +58,7 @@ CONFIG_BSD_PROCESS_ACCT=y | |||
57 | # | 58 | # |
58 | CONFIG_TREE_RCU=y | 59 | CONFIG_TREE_RCU=y |
59 | # CONFIG_TREE_PREEMPT_RCU is not set | 60 | # CONFIG_TREE_PREEMPT_RCU is not set |
61 | # CONFIG_TINY_RCU is not set | ||
60 | # CONFIG_RCU_TRACE is not set | 62 | # CONFIG_RCU_TRACE is not set |
61 | CONFIG_RCU_FANOUT=32 | 63 | CONFIG_RCU_FANOUT=32 |
62 | # CONFIG_RCU_FANOUT_EXACT is not set | 64 | # CONFIG_RCU_FANOUT_EXACT is not set |
@@ -92,6 +94,7 @@ CONFIG_EVENTFD=y | |||
92 | CONFIG_SHMEM=y | 94 | CONFIG_SHMEM=y |
93 | CONFIG_AIO=y | 95 | CONFIG_AIO=y |
94 | CONFIG_HAVE_PERF_EVENTS=y | 96 | CONFIG_HAVE_PERF_EVENTS=y |
97 | CONFIG_PERF_USE_VMALLOC=y | ||
95 | 98 | ||
96 | # | 99 | # |
97 | # Kernel Performance Events And Counters | 100 | # Kernel Performance Events And Counters |
@@ -109,6 +112,7 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
109 | CONFIG_HAVE_KPROBES=y | 112 | CONFIG_HAVE_KPROBES=y |
110 | CONFIG_HAVE_KRETPROBES=y | 113 | CONFIG_HAVE_KRETPROBES=y |
111 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 114 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
115 | CONFIG_HAVE_DMA_ATTRS=y | ||
112 | CONFIG_HAVE_CLK=y | 116 | CONFIG_HAVE_CLK=y |
113 | CONFIG_HAVE_DMA_API_DEBUG=y | 117 | CONFIG_HAVE_DMA_API_DEBUG=y |
114 | 118 | ||
@@ -130,14 +134,41 @@ CONFIG_LBDAF=y | |||
130 | # IO Schedulers | 134 | # IO Schedulers |
131 | # | 135 | # |
132 | CONFIG_IOSCHED_NOOP=y | 136 | CONFIG_IOSCHED_NOOP=y |
133 | CONFIG_IOSCHED_AS=y | ||
134 | CONFIG_IOSCHED_DEADLINE=y | 137 | CONFIG_IOSCHED_DEADLINE=y |
135 | CONFIG_IOSCHED_CFQ=y | 138 | CONFIG_IOSCHED_CFQ=y |
136 | CONFIG_DEFAULT_AS=y | ||
137 | # CONFIG_DEFAULT_DEADLINE is not set | 139 | # CONFIG_DEFAULT_DEADLINE is not set |
138 | # CONFIG_DEFAULT_CFQ is not set | 140 | CONFIG_DEFAULT_CFQ=y |
139 | # CONFIG_DEFAULT_NOOP is not set | 141 | # CONFIG_DEFAULT_NOOP is not set |
140 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 142 | CONFIG_DEFAULT_IOSCHED="cfq" |
143 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
144 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
145 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
146 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
147 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
148 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
149 | CONFIG_INLINE_SPIN_UNLOCK=y | ||
150 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
151 | CONFIG_INLINE_SPIN_UNLOCK_IRQ=y | ||
152 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
153 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
154 | # CONFIG_INLINE_READ_LOCK is not set | ||
155 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
156 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
157 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
158 | CONFIG_INLINE_READ_UNLOCK=y | ||
159 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
160 | CONFIG_INLINE_READ_UNLOCK_IRQ=y | ||
161 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
162 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
163 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
164 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
165 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
166 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
167 | CONFIG_INLINE_WRITE_UNLOCK=y | ||
168 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
169 | CONFIG_INLINE_WRITE_UNLOCK_IRQ=y | ||
170 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
171 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
141 | CONFIG_FREEZER=y | 172 | CONFIG_FREEZER=y |
142 | 173 | ||
143 | # | 174 | # |
@@ -213,8 +244,6 @@ CONFIG_SPLIT_PTLOCK_CPUS=4 | |||
213 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 244 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
214 | CONFIG_ZONE_DMA_FLAG=0 | 245 | CONFIG_ZONE_DMA_FLAG=0 |
215 | CONFIG_NR_QUICK=2 | 246 | CONFIG_NR_QUICK=2 |
216 | CONFIG_HAVE_MLOCK=y | ||
217 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
218 | # CONFIG_KSM is not set | 247 | # CONFIG_KSM is not set |
219 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | 248 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 |
220 | 249 | ||
@@ -261,8 +290,8 @@ CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | |||
261 | # | 290 | # |
262 | # DMA support | 291 | # DMA support |
263 | # | 292 | # |
264 | CONFIG_SH_DMA_API=y | ||
265 | CONFIG_SH_DMA=y | 293 | CONFIG_SH_DMA=y |
294 | CONFIG_SH_DMA_API=y | ||
266 | CONFIG_NR_ONCHIP_DMA_CHANNELS=6 | 295 | CONFIG_NR_ONCHIP_DMA_CHANNELS=6 |
267 | # CONFIG_NR_DMA_CHANNELS_BOOL is not set | 296 | # CONFIG_NR_DMA_CHANNELS_BOOL is not set |
268 | 297 | ||
@@ -313,7 +342,6 @@ CONFIG_ENTRY_OFFSET=0x00001000 | |||
313 | # | 342 | # |
314 | # CONFIG_ARCH_SUPPORTS_MSI is not set | 343 | # CONFIG_ARCH_SUPPORTS_MSI is not set |
315 | CONFIG_PCCARD=y | 344 | CONFIG_PCCARD=y |
316 | # CONFIG_PCMCIA_DEBUG is not set | ||
317 | CONFIG_PCMCIA=y | 345 | CONFIG_PCMCIA=y |
318 | CONFIG_PCMCIA_LOAD_CIS=y | 346 | CONFIG_PCMCIA_LOAD_CIS=y |
319 | CONFIG_PCMCIA_IOCTL=y | 347 | CONFIG_PCMCIA_IOCTL=y |
@@ -363,6 +391,10 @@ CONFIG_EXTRA_FIRMWARE="" | |||
363 | CONFIG_BLK_DEV=y | 391 | CONFIG_BLK_DEV=y |
364 | # CONFIG_BLK_DEV_COW_COMMON is not set | 392 | # CONFIG_BLK_DEV_COW_COMMON is not set |
365 | # CONFIG_BLK_DEV_LOOP is not set | 393 | # CONFIG_BLK_DEV_LOOP is not set |
394 | |||
395 | # | ||
396 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
397 | # | ||
366 | # CONFIG_BLK_DEV_RAM is not set | 398 | # CONFIG_BLK_DEV_RAM is not set |
367 | # CONFIG_CDROM_PKTCDVD is not set | 399 | # CONFIG_CDROM_PKTCDVD is not set |
368 | # CONFIG_BLK_DEV_HD is not set | 400 | # CONFIG_BLK_DEV_HD is not set |
@@ -432,6 +464,7 @@ CONFIG_PATA_PLATFORM=y | |||
432 | CONFIG_INPUT=y | 464 | CONFIG_INPUT=y |
433 | # CONFIG_INPUT_FF_MEMLESS is not set | 465 | # CONFIG_INPUT_FF_MEMLESS is not set |
434 | CONFIG_INPUT_POLLDEV=y | 466 | CONFIG_INPUT_POLLDEV=y |
467 | # CONFIG_INPUT_SPARSEKMAP is not set | ||
435 | 468 | ||
436 | # | 469 | # |
437 | # Userland interfaces | 470 | # Userland interfaces |
@@ -460,6 +493,7 @@ CONFIG_KEYBOARD_HP6XX=y | |||
460 | # CONFIG_INPUT_TABLET is not set | 493 | # CONFIG_INPUT_TABLET is not set |
461 | CONFIG_INPUT_TOUCHSCREEN=y | 494 | CONFIG_INPUT_TOUCHSCREEN=y |
462 | # CONFIG_TOUCHSCREEN_AD7879 is not set | 495 | # CONFIG_TOUCHSCREEN_AD7879 is not set |
496 | # CONFIG_TOUCHSCREEN_DYNAPRO is not set | ||
463 | # CONFIG_TOUCHSCREEN_FUJITSU is not set | 497 | # CONFIG_TOUCHSCREEN_FUJITSU is not set |
464 | # CONFIG_TOUCHSCREEN_GUNZE is not set | 498 | # CONFIG_TOUCHSCREEN_GUNZE is not set |
465 | # CONFIG_TOUCHSCREEN_ELO is not set | 499 | # CONFIG_TOUCHSCREEN_ELO is not set |
@@ -483,6 +517,7 @@ CONFIG_SERIO=y | |||
483 | # CONFIG_SERIO_SERPORT is not set | 517 | # CONFIG_SERIO_SERPORT is not set |
484 | # CONFIG_SERIO_LIBPS2 is not set | 518 | # CONFIG_SERIO_LIBPS2 is not set |
485 | # CONFIG_SERIO_RAW is not set | 519 | # CONFIG_SERIO_RAW is not set |
520 | # CONFIG_SERIO_ALTERA_PS2 is not set | ||
486 | # CONFIG_GAMEPORT is not set | 521 | # CONFIG_GAMEPORT is not set |
487 | 522 | ||
488 | # | 523 | # |
@@ -550,6 +585,7 @@ CONFIG_SSB_POSSIBLE=y | |||
550 | # | 585 | # |
551 | # CONFIG_MFD_CORE is not set | 586 | # CONFIG_MFD_CORE is not set |
552 | # CONFIG_MFD_SM501 is not set | 587 | # CONFIG_MFD_SM501 is not set |
588 | # CONFIG_MFD_SH_MOBILE_SDHI is not set | ||
553 | # CONFIG_HTC_PASIC3 is not set | 589 | # CONFIG_HTC_PASIC3 is not set |
554 | # CONFIG_MFD_TMIO is not set | 590 | # CONFIG_MFD_TMIO is not set |
555 | # CONFIG_REGULATOR is not set | 591 | # CONFIG_REGULATOR is not set |
@@ -659,7 +695,9 @@ CONFIG_RTC_INTF_DEV=y | |||
659 | # CONFIG_RTC_DRV_M48T86 is not set | 695 | # CONFIG_RTC_DRV_M48T86 is not set |
660 | # CONFIG_RTC_DRV_M48T35 is not set | 696 | # CONFIG_RTC_DRV_M48T35 is not set |
661 | # CONFIG_RTC_DRV_M48T59 is not set | 697 | # CONFIG_RTC_DRV_M48T59 is not set |
698 | # CONFIG_RTC_DRV_MSM6242 is not set | ||
662 | # CONFIG_RTC_DRV_BQ4802 is not set | 699 | # CONFIG_RTC_DRV_BQ4802 is not set |
700 | # CONFIG_RTC_DRV_RP5C01 is not set | ||
663 | # CONFIG_RTC_DRV_V3020 is not set | 701 | # CONFIG_RTC_DRV_V3020 is not set |
664 | 702 | ||
665 | # | 703 | # |
@@ -684,6 +722,7 @@ CONFIG_EXT2_FS=y | |||
684 | # CONFIG_EXT2_FS_XIP is not set | 722 | # CONFIG_EXT2_FS_XIP is not set |
685 | # CONFIG_EXT3_FS is not set | 723 | # CONFIG_EXT3_FS is not set |
686 | # CONFIG_EXT4_FS is not set | 724 | # CONFIG_EXT4_FS is not set |
725 | CONFIG_EXT4_USE_FOR_EXT23=y | ||
687 | # CONFIG_REISERFS_FS is not set | 726 | # CONFIG_REISERFS_FS is not set |
688 | # CONFIG_JFS_FS is not set | 727 | # CONFIG_JFS_FS is not set |
689 | # CONFIG_FS_POSIX_ACL is not set | 728 | # CONFIG_FS_POSIX_ACL is not set |
@@ -731,7 +770,6 @@ CONFIG_PROC_SYSCTL=y | |||
731 | CONFIG_PROC_PAGE_MONITOR=y | 770 | CONFIG_PROC_PAGE_MONITOR=y |
732 | CONFIG_SYSFS=y | 771 | CONFIG_SYSFS=y |
733 | # CONFIG_TMPFS is not set | 772 | # CONFIG_TMPFS is not set |
734 | # CONFIG_HUGETLBFS is not set | ||
735 | # CONFIG_HUGETLB_PAGE is not set | 773 | # CONFIG_HUGETLB_PAGE is not set |
736 | # CONFIG_CONFIGFS_FS is not set | 774 | # CONFIG_CONFIGFS_FS is not set |
737 | CONFIG_MISC_FILESYSTEMS=y | 775 | CONFIG_MISC_FILESYSTEMS=y |
@@ -813,10 +851,11 @@ CONFIG_FRAME_WARN=1024 | |||
813 | # CONFIG_DEBUG_FS is not set | 851 | # CONFIG_DEBUG_FS is not set |
814 | # CONFIG_HEADERS_CHECK is not set | 852 | # CONFIG_HEADERS_CHECK is not set |
815 | # CONFIG_DEBUG_KERNEL is not set | 853 | # CONFIG_DEBUG_KERNEL is not set |
816 | # CONFIG_DEBUG_BUGVERBOSE is not set | 854 | CONFIG_DEBUG_BUGVERBOSE=y |
817 | # CONFIG_DEBUG_MEMORY_INIT is not set | 855 | # CONFIG_DEBUG_MEMORY_INIT is not set |
818 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | 856 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set |
819 | # CONFIG_LATENCYTOP is not set | 857 | # CONFIG_LATENCYTOP is not set |
858 | # CONFIG_SYSCTL_SYSCALL_CHECK is not set | ||
820 | CONFIG_HAVE_FUNCTION_TRACER=y | 859 | CONFIG_HAVE_FUNCTION_TRACER=y |
821 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | 860 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y |
822 | CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y | 861 | CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y |
@@ -829,7 +868,6 @@ CONFIG_TRACING_SUPPORT=y | |||
829 | # CONFIG_SAMPLES is not set | 868 | # CONFIG_SAMPLES is not set |
830 | CONFIG_HAVE_ARCH_KGDB=y | 869 | CONFIG_HAVE_ARCH_KGDB=y |
831 | # CONFIG_SH_STANDARD_BIOS is not set | 870 | # CONFIG_SH_STANDARD_BIOS is not set |
832 | # CONFIG_EARLY_SCIF_CONSOLE is not set | ||
833 | # CONFIG_DWARF_UNWINDER is not set | 871 | # CONFIG_DWARF_UNWINDER is not set |
834 | 872 | ||
835 | # | 873 | # |
@@ -838,7 +876,11 @@ CONFIG_HAVE_ARCH_KGDB=y | |||
838 | # CONFIG_KEYS is not set | 876 | # CONFIG_KEYS is not set |
839 | # CONFIG_SECURITY is not set | 877 | # CONFIG_SECURITY is not set |
840 | # CONFIG_SECURITYFS is not set | 878 | # CONFIG_SECURITYFS is not set |
841 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 879 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
880 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
881 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
882 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
883 | CONFIG_DEFAULT_SECURITY="" | ||
842 | CONFIG_CRYPTO=y | 884 | CONFIG_CRYPTO=y |
843 | 885 | ||
844 | # | 886 | # |
diff --git a/arch/sh/configs/kfr2r09-romimage_defconfig b/arch/sh/configs/kfr2r09-romimage_defconfig index 02590e127f74..3d834e59e8f9 100644 --- a/arch/sh/configs/kfr2r09-romimage_defconfig +++ b/arch/sh/configs/kfr2r09-romimage_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.31 | 3 | # Linux kernel version: 2.6.33-rc2 |
4 | # Thu Sep 24 18:01:48 2009 | 4 | # Mon Jan 4 11:31:09 2010 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_SUPERH32=y | 7 | CONFIG_SUPERH32=y |
@@ -20,6 +20,7 @@ CONFIG_GENERIC_TIME=y | |||
20 | CONFIG_GENERIC_CLOCKEVENTS=y | 20 | CONFIG_GENERIC_CLOCKEVENTS=y |
21 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 21 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y | 22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y |
23 | CONFIG_SYS_SUPPORTS_HUGETLBFS=y | ||
23 | CONFIG_SYS_SUPPORTS_CMT=y | 24 | CONFIG_SYS_SUPPORTS_CMT=y |
24 | CONFIG_SYS_SUPPORTS_TMU=y | 25 | CONFIG_SYS_SUPPORTS_TMU=y |
25 | CONFIG_STACKTRACE_SUPPORT=y | 26 | CONFIG_STACKTRACE_SUPPORT=y |
@@ -30,6 +31,7 @@ CONFIG_HAVE_LATENCYTOP_SUPPORT=y | |||
30 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | 31 | CONFIG_ARCH_NO_VIRT_TO_BUS=y |
31 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y | 32 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y |
32 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y | 33 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y |
34 | CONFIG_DMA_NONCOHERENT=y | ||
33 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 35 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
34 | CONFIG_CONSTRUCTORS=y | 36 | CONFIG_CONSTRUCTORS=y |
35 | 37 | ||
@@ -60,6 +62,7 @@ CONFIG_BSD_PROCESS_ACCT=y | |||
60 | # | 62 | # |
61 | CONFIG_TREE_RCU=y | 63 | CONFIG_TREE_RCU=y |
62 | # CONFIG_TREE_PREEMPT_RCU is not set | 64 | # CONFIG_TREE_PREEMPT_RCU is not set |
65 | # CONFIG_TINY_RCU is not set | ||
63 | # CONFIG_RCU_TRACE is not set | 66 | # CONFIG_RCU_TRACE is not set |
64 | CONFIG_RCU_FANOUT=32 | 67 | CONFIG_RCU_FANOUT=32 |
65 | # CONFIG_RCU_FANOUT_EXACT is not set | 68 | # CONFIG_RCU_FANOUT_EXACT is not set |
@@ -102,6 +105,7 @@ CONFIG_EVENTFD=y | |||
102 | CONFIG_SHMEM=y | 105 | CONFIG_SHMEM=y |
103 | CONFIG_AIO=y | 106 | CONFIG_AIO=y |
104 | CONFIG_HAVE_PERF_EVENTS=y | 107 | CONFIG_HAVE_PERF_EVENTS=y |
108 | CONFIG_PERF_USE_VMALLOC=y | ||
105 | 109 | ||
106 | # | 110 | # |
107 | # Kernel Performance Events And Counters | 111 | # Kernel Performance Events And Counters |
@@ -119,6 +123,7 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
119 | CONFIG_HAVE_KPROBES=y | 123 | CONFIG_HAVE_KPROBES=y |
120 | CONFIG_HAVE_KRETPROBES=y | 124 | CONFIG_HAVE_KRETPROBES=y |
121 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 125 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
126 | CONFIG_HAVE_DMA_ATTRS=y | ||
122 | CONFIG_HAVE_CLK=y | 127 | CONFIG_HAVE_CLK=y |
123 | CONFIG_HAVE_DMA_API_DEBUG=y | 128 | CONFIG_HAVE_DMA_API_DEBUG=y |
124 | 129 | ||
@@ -133,6 +138,35 @@ CONFIG_RT_MUTEXES=y | |||
133 | CONFIG_BASE_SMALL=0 | 138 | CONFIG_BASE_SMALL=0 |
134 | # CONFIG_MODULES is not set | 139 | # CONFIG_MODULES is not set |
135 | # CONFIG_BLOCK is not set | 140 | # CONFIG_BLOCK is not set |
141 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
142 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
143 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
144 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
145 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
146 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
147 | CONFIG_INLINE_SPIN_UNLOCK=y | ||
148 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
149 | CONFIG_INLINE_SPIN_UNLOCK_IRQ=y | ||
150 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
151 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
152 | # CONFIG_INLINE_READ_LOCK is not set | ||
153 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
154 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
155 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
156 | CONFIG_INLINE_READ_UNLOCK=y | ||
157 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
158 | CONFIG_INLINE_READ_UNLOCK_IRQ=y | ||
159 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
160 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
161 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
162 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
163 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
164 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
165 | CONFIG_INLINE_WRITE_UNLOCK=y | ||
166 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
167 | CONFIG_INLINE_WRITE_UNLOCK_IRQ=y | ||
168 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
169 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
136 | # CONFIG_FREEZER is not set | 170 | # CONFIG_FREEZER is not set |
137 | 171 | ||
138 | # | 172 | # |
@@ -188,6 +222,7 @@ CONFIG_FORCE_MAX_ZONEORDER=11 | |||
188 | CONFIG_MEMORY_START=0x08000000 | 222 | CONFIG_MEMORY_START=0x08000000 |
189 | CONFIG_MEMORY_SIZE=0x08000000 | 223 | CONFIG_MEMORY_SIZE=0x08000000 |
190 | CONFIG_29BIT=y | 224 | CONFIG_29BIT=y |
225 | # CONFIG_PMB_ENABLE is not set | ||
191 | # CONFIG_X2TLB is not set | 226 | # CONFIG_X2TLB is not set |
192 | CONFIG_VSYSCALL=y | 227 | CONFIG_VSYSCALL=y |
193 | CONFIG_ARCH_FLATMEM_ENABLE=y | 228 | CONFIG_ARCH_FLATMEM_ENABLE=y |
@@ -212,8 +247,6 @@ CONFIG_SPLIT_PTLOCK_CPUS=4 | |||
212 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 247 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
213 | CONFIG_ZONE_DMA_FLAG=0 | 248 | CONFIG_ZONE_DMA_FLAG=0 |
214 | CONFIG_NR_QUICK=2 | 249 | CONFIG_NR_QUICK=2 |
215 | CONFIG_HAVE_MLOCK=y | ||
216 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
217 | # CONFIG_KSM is not set | 250 | # CONFIG_KSM is not set |
218 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | 251 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 |
219 | 252 | ||
@@ -247,7 +280,6 @@ CONFIG_SH_KFR2R09=y | |||
247 | # | 280 | # |
248 | # CONFIG_SH_TIMER_TMU is not set | 281 | # CONFIG_SH_TIMER_TMU is not set |
249 | CONFIG_SH_TIMER_CMT=y | 282 | CONFIG_SH_TIMER_CMT=y |
250 | CONFIG_SH_PCLK_FREQ=33333333 | ||
251 | CONFIG_SH_CLK_CPG=y | 283 | CONFIG_SH_CLK_CPG=y |
252 | # CONFIG_NO_HZ is not set | 284 | # CONFIG_NO_HZ is not set |
253 | # CONFIG_HIGH_RES_TIMERS is not set | 285 | # CONFIG_HIGH_RES_TIMERS is not set |
@@ -429,6 +461,7 @@ CONFIG_HAVE_IDE=y | |||
429 | CONFIG_INPUT=y | 461 | CONFIG_INPUT=y |
430 | # CONFIG_INPUT_FF_MEMLESS is not set | 462 | # CONFIG_INPUT_FF_MEMLESS is not set |
431 | # CONFIG_INPUT_POLLDEV is not set | 463 | # CONFIG_INPUT_POLLDEV is not set |
464 | # CONFIG_INPUT_SPARSEKMAP is not set | ||
432 | 465 | ||
433 | # | 466 | # |
434 | # Userland interfaces | 467 | # Userland interfaces |
@@ -520,7 +553,6 @@ CONFIG_I2C_SH_MOBILE=y | |||
520 | # | 553 | # |
521 | # Miscellaneous I2C Chip support | 554 | # Miscellaneous I2C Chip support |
522 | # | 555 | # |
523 | # CONFIG_DS1682 is not set | ||
524 | # CONFIG_SENSORS_TSL2550 is not set | 556 | # CONFIG_SENSORS_TSL2550 is not set |
525 | # CONFIG_I2C_DEBUG_CORE is not set | 557 | # CONFIG_I2C_DEBUG_CORE is not set |
526 | # CONFIG_I2C_DEBUG_ALGO is not set | 558 | # CONFIG_I2C_DEBUG_ALGO is not set |
@@ -575,16 +607,19 @@ CONFIG_SSB_POSSIBLE=y | |||
575 | # | 607 | # |
576 | # CONFIG_MFD_CORE is not set | 608 | # CONFIG_MFD_CORE is not set |
577 | # CONFIG_MFD_SM501 is not set | 609 | # CONFIG_MFD_SM501 is not set |
610 | # CONFIG_MFD_SH_MOBILE_SDHI is not set | ||
578 | # CONFIG_HTC_PASIC3 is not set | 611 | # CONFIG_HTC_PASIC3 is not set |
579 | # CONFIG_TPS65010 is not set | 612 | # CONFIG_TPS65010 is not set |
580 | # CONFIG_TWL4030_CORE is not set | 613 | # CONFIG_TWL4030_CORE is not set |
581 | # CONFIG_MFD_TMIO is not set | 614 | # CONFIG_MFD_TMIO is not set |
582 | # CONFIG_PMIC_DA903X is not set | 615 | # CONFIG_PMIC_DA903X is not set |
616 | # CONFIG_PMIC_ADP5520 is not set | ||
583 | # CONFIG_MFD_WM8400 is not set | 617 | # CONFIG_MFD_WM8400 is not set |
584 | # CONFIG_MFD_WM831X is not set | 618 | # CONFIG_MFD_WM831X is not set |
585 | # CONFIG_MFD_WM8350_I2C is not set | 619 | # CONFIG_MFD_WM8350_I2C is not set |
586 | # CONFIG_MFD_PCF50633 is not set | 620 | # CONFIG_MFD_PCF50633 is not set |
587 | # CONFIG_AB3100_CORE is not set | 621 | # CONFIG_AB3100_CORE is not set |
622 | # CONFIG_MFD_88PM8607 is not set | ||
588 | # CONFIG_REGULATOR is not set | 623 | # CONFIG_REGULATOR is not set |
589 | # CONFIG_MEDIA_SUPPORT is not set | 624 | # CONFIG_MEDIA_SUPPORT is not set |
590 | 625 | ||
@@ -650,10 +685,12 @@ CONFIG_USB_GADGET_DUALSPEED=y | |||
650 | # CONFIG_USB_ETH is not set | 685 | # CONFIG_USB_ETH is not set |
651 | # CONFIG_USB_GADGETFS is not set | 686 | # CONFIG_USB_GADGETFS is not set |
652 | # CONFIG_USB_FILE_STORAGE is not set | 687 | # CONFIG_USB_FILE_STORAGE is not set |
688 | # CONFIG_USB_MASS_STORAGE is not set | ||
653 | # CONFIG_USB_G_SERIAL is not set | 689 | # CONFIG_USB_G_SERIAL is not set |
654 | # CONFIG_USB_MIDI_GADGET is not set | 690 | # CONFIG_USB_MIDI_GADGET is not set |
655 | # CONFIG_USB_G_PRINTER is not set | 691 | # CONFIG_USB_G_PRINTER is not set |
656 | CONFIG_USB_CDC_COMPOSITE=y | 692 | CONFIG_USB_CDC_COMPOSITE=y |
693 | # CONFIG_USB_G_MULTI is not set | ||
657 | 694 | ||
658 | # | 695 | # |
659 | # OTG and related infrastructure | 696 | # OTG and related infrastructure |
@@ -725,7 +762,7 @@ CONFIG_FRAME_WARN=1024 | |||
725 | CONFIG_DEBUG_FS=y | 762 | CONFIG_DEBUG_FS=y |
726 | # CONFIG_HEADERS_CHECK is not set | 763 | # CONFIG_HEADERS_CHECK is not set |
727 | # CONFIG_DEBUG_KERNEL is not set | 764 | # CONFIG_DEBUG_KERNEL is not set |
728 | # CONFIG_DEBUG_BUGVERBOSE is not set | 765 | CONFIG_DEBUG_BUGVERBOSE=y |
729 | # CONFIG_DEBUG_MEMORY_INIT is not set | 766 | # CONFIG_DEBUG_MEMORY_INIT is not set |
730 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | 767 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set |
731 | # CONFIG_LATENCYTOP is not set | 768 | # CONFIG_LATENCYTOP is not set |
@@ -743,7 +780,6 @@ CONFIG_TRACING_SUPPORT=y | |||
743 | # CONFIG_SAMPLES is not set | 780 | # CONFIG_SAMPLES is not set |
744 | CONFIG_HAVE_ARCH_KGDB=y | 781 | CONFIG_HAVE_ARCH_KGDB=y |
745 | # CONFIG_SH_STANDARD_BIOS is not set | 782 | # CONFIG_SH_STANDARD_BIOS is not set |
746 | # CONFIG_EARLY_SCIF_CONSOLE is not set | ||
747 | # CONFIG_DWARF_UNWINDER is not set | 783 | # CONFIG_DWARF_UNWINDER is not set |
748 | 784 | ||
749 | # | 785 | # |
@@ -752,7 +788,11 @@ CONFIG_HAVE_ARCH_KGDB=y | |||
752 | # CONFIG_KEYS is not set | 788 | # CONFIG_KEYS is not set |
753 | # CONFIG_SECURITY is not set | 789 | # CONFIG_SECURITY is not set |
754 | # CONFIG_SECURITYFS is not set | 790 | # CONFIG_SECURITYFS is not set |
755 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 791 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
792 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
793 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
794 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
795 | CONFIG_DEFAULT_SECURITY="" | ||
756 | # CONFIG_CRYPTO is not set | 796 | # CONFIG_CRYPTO is not set |
757 | # CONFIG_BINARY_PRINTF is not set | 797 | # CONFIG_BINARY_PRINTF is not set |
758 | 798 | ||
diff --git a/arch/sh/configs/kfr2r09_defconfig b/arch/sh/configs/kfr2r09_defconfig index 8ae65d294b11..f22be494ed99 100644 --- a/arch/sh/configs/kfr2r09_defconfig +++ b/arch/sh/configs/kfr2r09_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.31 | 3 | # Linux kernel version: 2.6.33-rc2 |
4 | # Fri Sep 25 11:54:22 2009 | 4 | # Mon Jan 4 11:32:55 2010 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_SUPERH32=y | 7 | CONFIG_SUPERH32=y |
@@ -20,6 +20,7 @@ CONFIG_GENERIC_TIME=y | |||
20 | CONFIG_GENERIC_CLOCKEVENTS=y | 20 | CONFIG_GENERIC_CLOCKEVENTS=y |
21 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 21 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y | 22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y |
23 | CONFIG_SYS_SUPPORTS_HUGETLBFS=y | ||
23 | CONFIG_SYS_SUPPORTS_CMT=y | 24 | CONFIG_SYS_SUPPORTS_CMT=y |
24 | CONFIG_SYS_SUPPORTS_TMU=y | 25 | CONFIG_SYS_SUPPORTS_TMU=y |
25 | CONFIG_STACKTRACE_SUPPORT=y | 26 | CONFIG_STACKTRACE_SUPPORT=y |
@@ -30,6 +31,7 @@ CONFIG_HAVE_LATENCYTOP_SUPPORT=y | |||
30 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | 31 | CONFIG_ARCH_NO_VIRT_TO_BUS=y |
31 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y | 32 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y |
32 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y | 33 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y |
34 | CONFIG_DMA_NONCOHERENT=y | ||
33 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 35 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
34 | CONFIG_CONSTRUCTORS=y | 36 | CONFIG_CONSTRUCTORS=y |
35 | 37 | ||
@@ -62,6 +64,7 @@ CONFIG_BSD_PROCESS_ACCT=y | |||
62 | # | 64 | # |
63 | CONFIG_TREE_RCU=y | 65 | CONFIG_TREE_RCU=y |
64 | # CONFIG_TREE_PREEMPT_RCU is not set | 66 | # CONFIG_TREE_PREEMPT_RCU is not set |
67 | # CONFIG_TINY_RCU is not set | ||
65 | # CONFIG_RCU_TRACE is not set | 68 | # CONFIG_RCU_TRACE is not set |
66 | CONFIG_RCU_FANOUT=32 | 69 | CONFIG_RCU_FANOUT=32 |
67 | # CONFIG_RCU_FANOUT_EXACT is not set | 70 | # CONFIG_RCU_FANOUT_EXACT is not set |
@@ -104,6 +107,7 @@ CONFIG_EVENTFD=y | |||
104 | CONFIG_SHMEM=y | 107 | CONFIG_SHMEM=y |
105 | CONFIG_AIO=y | 108 | CONFIG_AIO=y |
106 | CONFIG_HAVE_PERF_EVENTS=y | 109 | CONFIG_HAVE_PERF_EVENTS=y |
110 | CONFIG_PERF_USE_VMALLOC=y | ||
107 | 111 | ||
108 | # | 112 | # |
109 | # Kernel Performance Events And Counters | 113 | # Kernel Performance Events And Counters |
@@ -121,6 +125,7 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
121 | CONFIG_HAVE_KPROBES=y | 125 | CONFIG_HAVE_KPROBES=y |
122 | CONFIG_HAVE_KRETPROBES=y | 126 | CONFIG_HAVE_KRETPROBES=y |
123 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 127 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
128 | CONFIG_HAVE_DMA_ATTRS=y | ||
124 | CONFIG_HAVE_CLK=y | 129 | CONFIG_HAVE_CLK=y |
125 | CONFIG_HAVE_DMA_API_DEBUG=y | 130 | CONFIG_HAVE_DMA_API_DEBUG=y |
126 | 131 | ||
@@ -148,14 +153,41 @@ CONFIG_LBDAF=y | |||
148 | # IO Schedulers | 153 | # IO Schedulers |
149 | # | 154 | # |
150 | CONFIG_IOSCHED_NOOP=y | 155 | CONFIG_IOSCHED_NOOP=y |
151 | # CONFIG_IOSCHED_AS is not set | ||
152 | # CONFIG_IOSCHED_DEADLINE is not set | 156 | # CONFIG_IOSCHED_DEADLINE is not set |
153 | # CONFIG_IOSCHED_CFQ is not set | 157 | # CONFIG_IOSCHED_CFQ is not set |
154 | # CONFIG_DEFAULT_AS is not set | ||
155 | # CONFIG_DEFAULT_DEADLINE is not set | 158 | # CONFIG_DEFAULT_DEADLINE is not set |
156 | # CONFIG_DEFAULT_CFQ is not set | 159 | # CONFIG_DEFAULT_CFQ is not set |
157 | CONFIG_DEFAULT_NOOP=y | 160 | CONFIG_DEFAULT_NOOP=y |
158 | CONFIG_DEFAULT_IOSCHED="noop" | 161 | CONFIG_DEFAULT_IOSCHED="noop" |
162 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
163 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
164 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
165 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
166 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
167 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
168 | # CONFIG_INLINE_SPIN_UNLOCK is not set | ||
169 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
170 | # CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set | ||
171 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
172 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
173 | # CONFIG_INLINE_READ_LOCK is not set | ||
174 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
175 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
176 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
177 | # CONFIG_INLINE_READ_UNLOCK is not set | ||
178 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
179 | # CONFIG_INLINE_READ_UNLOCK_IRQ is not set | ||
180 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
181 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
182 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
183 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
184 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
185 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
186 | # CONFIG_INLINE_WRITE_UNLOCK is not set | ||
187 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
188 | # CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set | ||
189 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
190 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
159 | # CONFIG_FREEZER is not set | 191 | # CONFIG_FREEZER is not set |
160 | 192 | ||
161 | # | 193 | # |
@@ -211,6 +243,7 @@ CONFIG_FORCE_MAX_ZONEORDER=11 | |||
211 | CONFIG_MEMORY_START=0x08000000 | 243 | CONFIG_MEMORY_START=0x08000000 |
212 | CONFIG_MEMORY_SIZE=0x08000000 | 244 | CONFIG_MEMORY_SIZE=0x08000000 |
213 | CONFIG_29BIT=y | 245 | CONFIG_29BIT=y |
246 | # CONFIG_PMB_ENABLE is not set | ||
214 | # CONFIG_X2TLB is not set | 247 | # CONFIG_X2TLB is not set |
215 | CONFIG_VSYSCALL=y | 248 | CONFIG_VSYSCALL=y |
216 | CONFIG_ARCH_FLATMEM_ENABLE=y | 249 | CONFIG_ARCH_FLATMEM_ENABLE=y |
@@ -235,8 +268,6 @@ CONFIG_SPLIT_PTLOCK_CPUS=4 | |||
235 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 268 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
236 | CONFIG_ZONE_DMA_FLAG=0 | 269 | CONFIG_ZONE_DMA_FLAG=0 |
237 | CONFIG_NR_QUICK=2 | 270 | CONFIG_NR_QUICK=2 |
238 | CONFIG_HAVE_MLOCK=y | ||
239 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
240 | # CONFIG_KSM is not set | 271 | # CONFIG_KSM is not set |
241 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | 272 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 |
242 | 273 | ||
@@ -270,7 +301,6 @@ CONFIG_SH_KFR2R09=y | |||
270 | # | 301 | # |
271 | # CONFIG_SH_TIMER_TMU is not set | 302 | # CONFIG_SH_TIMER_TMU is not set |
272 | CONFIG_SH_TIMER_CMT=y | 303 | CONFIG_SH_TIMER_CMT=y |
273 | CONFIG_SH_PCLK_FREQ=33333333 | ||
274 | CONFIG_SH_CLK_CPG=y | 304 | CONFIG_SH_CLK_CPG=y |
275 | CONFIG_TICK_ONESHOT=y | 305 | CONFIG_TICK_ONESHOT=y |
276 | CONFIG_NO_HZ=y | 306 | CONFIG_NO_HZ=y |
@@ -534,6 +564,10 @@ CONFIG_MTD_UBI_BEB_RESERVE=1 | |||
534 | CONFIG_BLK_DEV=y | 564 | CONFIG_BLK_DEV=y |
535 | # CONFIG_BLK_DEV_COW_COMMON is not set | 565 | # CONFIG_BLK_DEV_COW_COMMON is not set |
536 | # CONFIG_BLK_DEV_LOOP is not set | 566 | # CONFIG_BLK_DEV_LOOP is not set |
567 | |||
568 | # | ||
569 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
570 | # | ||
537 | # CONFIG_BLK_DEV_NBD is not set | 571 | # CONFIG_BLK_DEV_NBD is not set |
538 | # CONFIG_BLK_DEV_RAM is not set | 572 | # CONFIG_BLK_DEV_RAM is not set |
539 | # CONFIG_CDROM_PKTCDVD is not set | 573 | # CONFIG_CDROM_PKTCDVD is not set |
@@ -562,6 +596,7 @@ CONFIG_HAVE_IDE=y | |||
562 | CONFIG_INPUT=y | 596 | CONFIG_INPUT=y |
563 | # CONFIG_INPUT_FF_MEMLESS is not set | 597 | # CONFIG_INPUT_FF_MEMLESS is not set |
564 | # CONFIG_INPUT_POLLDEV is not set | 598 | # CONFIG_INPUT_POLLDEV is not set |
599 | # CONFIG_INPUT_SPARSEKMAP is not set | ||
565 | 600 | ||
566 | # | 601 | # |
567 | # Userland interfaces | 602 | # Userland interfaces |
@@ -668,7 +703,6 @@ CONFIG_I2C_SH_MOBILE=y | |||
668 | # | 703 | # |
669 | # Miscellaneous I2C Chip support | 704 | # Miscellaneous I2C Chip support |
670 | # | 705 | # |
671 | # CONFIG_DS1682 is not set | ||
672 | # CONFIG_SENSORS_TSL2550 is not set | 706 | # CONFIG_SENSORS_TSL2550 is not set |
673 | # CONFIG_I2C_DEBUG_CORE is not set | 707 | # CONFIG_I2C_DEBUG_CORE is not set |
674 | # CONFIG_I2C_DEBUG_ALGO is not set | 708 | # CONFIG_I2C_DEBUG_ALGO is not set |
@@ -723,16 +757,19 @@ CONFIG_SSB_POSSIBLE=y | |||
723 | # | 757 | # |
724 | # CONFIG_MFD_CORE is not set | 758 | # CONFIG_MFD_CORE is not set |
725 | # CONFIG_MFD_SM501 is not set | 759 | # CONFIG_MFD_SM501 is not set |
760 | # CONFIG_MFD_SH_MOBILE_SDHI is not set | ||
726 | # CONFIG_HTC_PASIC3 is not set | 761 | # CONFIG_HTC_PASIC3 is not set |
727 | # CONFIG_TPS65010 is not set | 762 | # CONFIG_TPS65010 is not set |
728 | # CONFIG_TWL4030_CORE is not set | 763 | # CONFIG_TWL4030_CORE is not set |
729 | # CONFIG_MFD_TMIO is not set | 764 | # CONFIG_MFD_TMIO is not set |
730 | # CONFIG_PMIC_DA903X is not set | 765 | # CONFIG_PMIC_DA903X is not set |
766 | # CONFIG_PMIC_ADP5520 is not set | ||
731 | # CONFIG_MFD_WM8400 is not set | 767 | # CONFIG_MFD_WM8400 is not set |
732 | # CONFIG_MFD_WM831X is not set | 768 | # CONFIG_MFD_WM831X is not set |
733 | # CONFIG_MFD_WM8350_I2C is not set | 769 | # CONFIG_MFD_WM8350_I2C is not set |
734 | # CONFIG_MFD_PCF50633 is not set | 770 | # CONFIG_MFD_PCF50633 is not set |
735 | # CONFIG_AB3100_CORE is not set | 771 | # CONFIG_AB3100_CORE is not set |
772 | # CONFIG_MFD_88PM8607 is not set | ||
736 | # CONFIG_REGULATOR is not set | 773 | # CONFIG_REGULATOR is not set |
737 | # CONFIG_MEDIA_SUPPORT is not set | 774 | # CONFIG_MEDIA_SUPPORT is not set |
738 | 775 | ||
@@ -847,10 +884,12 @@ CONFIG_USB_GADGET_DUALSPEED=y | |||
847 | # CONFIG_USB_ETH is not set | 884 | # CONFIG_USB_ETH is not set |
848 | # CONFIG_USB_GADGETFS is not set | 885 | # CONFIG_USB_GADGETFS is not set |
849 | # CONFIG_USB_FILE_STORAGE is not set | 886 | # CONFIG_USB_FILE_STORAGE is not set |
887 | # CONFIG_USB_MASS_STORAGE is not set | ||
850 | # CONFIG_USB_G_SERIAL is not set | 888 | # CONFIG_USB_G_SERIAL is not set |
851 | # CONFIG_USB_MIDI_GADGET is not set | 889 | # CONFIG_USB_MIDI_GADGET is not set |
852 | # CONFIG_USB_G_PRINTER is not set | 890 | # CONFIG_USB_G_PRINTER is not set |
853 | CONFIG_USB_CDC_COMPOSITE=y | 891 | CONFIG_USB_CDC_COMPOSITE=m |
892 | # CONFIG_USB_G_MULTI is not set | ||
854 | 893 | ||
855 | # | 894 | # |
856 | # OTG and related infrastructure | 895 | # OTG and related infrastructure |
@@ -875,6 +914,7 @@ CONFIG_MMC_BLOCK_BOUNCE=y | |||
875 | # CONFIG_MMC_SDHCI is not set | 914 | # CONFIG_MMC_SDHCI is not set |
876 | # CONFIG_MMC_AT91 is not set | 915 | # CONFIG_MMC_AT91 is not set |
877 | # CONFIG_MMC_ATMELMCI is not set | 916 | # CONFIG_MMC_ATMELMCI is not set |
917 | # CONFIG_MMC_TMIO is not set | ||
878 | # CONFIG_MEMSTICK is not set | 918 | # CONFIG_MEMSTICK is not set |
879 | # CONFIG_NEW_LEDS is not set | 919 | # CONFIG_NEW_LEDS is not set |
880 | # CONFIG_ACCESSIBILITY is not set | 920 | # CONFIG_ACCESSIBILITY is not set |
@@ -906,6 +946,7 @@ CONFIG_RTC_INTF_DEV=y | |||
906 | # CONFIG_RTC_DRV_PCF8563 is not set | 946 | # CONFIG_RTC_DRV_PCF8563 is not set |
907 | # CONFIG_RTC_DRV_PCF8583 is not set | 947 | # CONFIG_RTC_DRV_PCF8583 is not set |
908 | # CONFIG_RTC_DRV_M41T80 is not set | 948 | # CONFIG_RTC_DRV_M41T80 is not set |
949 | # CONFIG_RTC_DRV_BQ32K is not set | ||
909 | # CONFIG_RTC_DRV_S35390A is not set | 950 | # CONFIG_RTC_DRV_S35390A is not set |
910 | # CONFIG_RTC_DRV_FM3130 is not set | 951 | # CONFIG_RTC_DRV_FM3130 is not set |
911 | # CONFIG_RTC_DRV_RX8581 is not set | 952 | # CONFIG_RTC_DRV_RX8581 is not set |
@@ -926,7 +967,9 @@ CONFIG_RTC_INTF_DEV=y | |||
926 | # CONFIG_RTC_DRV_M48T86 is not set | 967 | # CONFIG_RTC_DRV_M48T86 is not set |
927 | # CONFIG_RTC_DRV_M48T35 is not set | 968 | # CONFIG_RTC_DRV_M48T35 is not set |
928 | # CONFIG_RTC_DRV_M48T59 is not set | 969 | # CONFIG_RTC_DRV_M48T59 is not set |
970 | # CONFIG_RTC_DRV_MSM6242 is not set | ||
929 | # CONFIG_RTC_DRV_BQ4802 is not set | 971 | # CONFIG_RTC_DRV_BQ4802 is not set |
972 | # CONFIG_RTC_DRV_RP5C01 is not set | ||
930 | # CONFIG_RTC_DRV_V3020 is not set | 973 | # CONFIG_RTC_DRV_V3020 is not set |
931 | 974 | ||
932 | # | 975 | # |
@@ -953,6 +996,7 @@ CONFIG_UIO_PDRV_GENIRQ=y | |||
953 | # CONFIG_EXT2_FS is not set | 996 | # CONFIG_EXT2_FS is not set |
954 | # CONFIG_EXT3_FS is not set | 997 | # CONFIG_EXT3_FS is not set |
955 | # CONFIG_EXT4_FS is not set | 998 | # CONFIG_EXT4_FS is not set |
999 | CONFIG_EXT4_USE_FOR_EXT23=y | ||
956 | # CONFIG_REISERFS_FS is not set | 1000 | # CONFIG_REISERFS_FS is not set |
957 | # CONFIG_JFS_FS is not set | 1001 | # CONFIG_JFS_FS is not set |
958 | # CONFIG_FS_POSIX_ACL is not set | 1002 | # CONFIG_FS_POSIX_ACL is not set |
@@ -1027,7 +1071,7 @@ CONFIG_FRAME_WARN=1024 | |||
1027 | CONFIG_DEBUG_FS=y | 1071 | CONFIG_DEBUG_FS=y |
1028 | # CONFIG_HEADERS_CHECK is not set | 1072 | # CONFIG_HEADERS_CHECK is not set |
1029 | # CONFIG_DEBUG_KERNEL is not set | 1073 | # CONFIG_DEBUG_KERNEL is not set |
1030 | # CONFIG_DEBUG_BUGVERBOSE is not set | 1074 | CONFIG_DEBUG_BUGVERBOSE=y |
1031 | # CONFIG_DEBUG_MEMORY_INIT is not set | 1075 | # CONFIG_DEBUG_MEMORY_INIT is not set |
1032 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | 1076 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set |
1033 | # CONFIG_LATENCYTOP is not set | 1077 | # CONFIG_LATENCYTOP is not set |
@@ -1045,7 +1089,6 @@ CONFIG_TRACING_SUPPORT=y | |||
1045 | # CONFIG_SAMPLES is not set | 1089 | # CONFIG_SAMPLES is not set |
1046 | CONFIG_HAVE_ARCH_KGDB=y | 1090 | CONFIG_HAVE_ARCH_KGDB=y |
1047 | # CONFIG_SH_STANDARD_BIOS is not set | 1091 | # CONFIG_SH_STANDARD_BIOS is not set |
1048 | # CONFIG_EARLY_SCIF_CONSOLE is not set | ||
1049 | # CONFIG_DWARF_UNWINDER is not set | 1092 | # CONFIG_DWARF_UNWINDER is not set |
1050 | 1093 | ||
1051 | # | 1094 | # |
@@ -1054,7 +1097,11 @@ CONFIG_HAVE_ARCH_KGDB=y | |||
1054 | # CONFIG_KEYS is not set | 1097 | # CONFIG_KEYS is not set |
1055 | # CONFIG_SECURITY is not set | 1098 | # CONFIG_SECURITY is not set |
1056 | # CONFIG_SECURITYFS is not set | 1099 | # CONFIG_SECURITYFS is not set |
1057 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1100 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
1101 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
1102 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
1103 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
1104 | CONFIG_DEFAULT_SECURITY="" | ||
1058 | # CONFIG_CRYPTO is not set | 1105 | # CONFIG_CRYPTO is not set |
1059 | # CONFIG_BINARY_PRINTF is not set | 1106 | # CONFIG_BINARY_PRINTF is not set |
1060 | 1107 | ||
diff --git a/arch/sh/configs/landisk_defconfig b/arch/sh/configs/landisk_defconfig index c2a9a3996388..2a42d4977fe4 100644 --- a/arch/sh/configs/landisk_defconfig +++ b/arch/sh/configs/landisk_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.31 | 3 | # Linux kernel version: 2.6.33-rc2 |
4 | # Thu Sep 24 18:05:49 2009 | 4 | # Mon Jan 4 11:35:31 2010 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_SUPERH32=y | 7 | CONFIG_SUPERH32=y |
@@ -20,6 +20,7 @@ CONFIG_GENERIC_TIME=y | |||
20 | CONFIG_GENERIC_CLOCKEVENTS=y | 20 | CONFIG_GENERIC_CLOCKEVENTS=y |
21 | # CONFIG_ARCH_SUSPEND_POSSIBLE is not set | 21 | # CONFIG_ARCH_SUSPEND_POSSIBLE is not set |
22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y | 22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y |
23 | CONFIG_SYS_SUPPORTS_HUGETLBFS=y | ||
23 | CONFIG_SYS_SUPPORTS_PCI=y | 24 | CONFIG_SYS_SUPPORTS_PCI=y |
24 | CONFIG_SYS_SUPPORTS_TMU=y | 25 | CONFIG_SYS_SUPPORTS_TMU=y |
25 | CONFIG_STACKTRACE_SUPPORT=y | 26 | CONFIG_STACKTRACE_SUPPORT=y |
@@ -30,6 +31,7 @@ CONFIG_HAVE_LATENCYTOP_SUPPORT=y | |||
30 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | 31 | CONFIG_ARCH_NO_VIRT_TO_BUS=y |
31 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y | 32 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y |
32 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y | 33 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y |
34 | CONFIG_DMA_NONCOHERENT=y | ||
33 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 35 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
34 | CONFIG_CONSTRUCTORS=y | 36 | CONFIG_CONSTRUCTORS=y |
35 | 37 | ||
@@ -60,6 +62,7 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
60 | # | 62 | # |
61 | CONFIG_TREE_RCU=y | 63 | CONFIG_TREE_RCU=y |
62 | # CONFIG_TREE_PREEMPT_RCU is not set | 64 | # CONFIG_TREE_PREEMPT_RCU is not set |
65 | # CONFIG_TINY_RCU is not set | ||
63 | # CONFIG_RCU_TRACE is not set | 66 | # CONFIG_RCU_TRACE is not set |
64 | CONFIG_RCU_FANOUT=32 | 67 | CONFIG_RCU_FANOUT=32 |
65 | # CONFIG_RCU_FANOUT_EXACT is not set | 68 | # CONFIG_RCU_FANOUT_EXACT is not set |
@@ -94,6 +97,7 @@ CONFIG_EVENTFD=y | |||
94 | CONFIG_SHMEM=y | 97 | CONFIG_SHMEM=y |
95 | CONFIG_AIO=y | 98 | CONFIG_AIO=y |
96 | CONFIG_HAVE_PERF_EVENTS=y | 99 | CONFIG_HAVE_PERF_EVENTS=y |
100 | CONFIG_PERF_USE_VMALLOC=y | ||
97 | 101 | ||
98 | # | 102 | # |
99 | # Kernel Performance Events And Counters | 103 | # Kernel Performance Events And Counters |
@@ -113,6 +117,7 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
113 | CONFIG_HAVE_KPROBES=y | 117 | CONFIG_HAVE_KPROBES=y |
114 | CONFIG_HAVE_KRETPROBES=y | 118 | CONFIG_HAVE_KRETPROBES=y |
115 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 119 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
120 | CONFIG_HAVE_DMA_ATTRS=y | ||
116 | CONFIG_HAVE_CLK=y | 121 | CONFIG_HAVE_CLK=y |
117 | CONFIG_HAVE_DMA_API_DEBUG=y | 122 | CONFIG_HAVE_DMA_API_DEBUG=y |
118 | 123 | ||
@@ -139,14 +144,41 @@ CONFIG_LBDAF=y | |||
139 | # IO Schedulers | 144 | # IO Schedulers |
140 | # | 145 | # |
141 | CONFIG_IOSCHED_NOOP=y | 146 | CONFIG_IOSCHED_NOOP=y |
142 | CONFIG_IOSCHED_AS=y | ||
143 | CONFIG_IOSCHED_DEADLINE=y | 147 | CONFIG_IOSCHED_DEADLINE=y |
144 | CONFIG_IOSCHED_CFQ=y | 148 | CONFIG_IOSCHED_CFQ=y |
145 | CONFIG_DEFAULT_AS=y | ||
146 | # CONFIG_DEFAULT_DEADLINE is not set | 149 | # CONFIG_DEFAULT_DEADLINE is not set |
147 | # CONFIG_DEFAULT_CFQ is not set | 150 | CONFIG_DEFAULT_CFQ=y |
148 | # CONFIG_DEFAULT_NOOP is not set | 151 | # CONFIG_DEFAULT_NOOP is not set |
149 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 152 | CONFIG_DEFAULT_IOSCHED="cfq" |
153 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
154 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
155 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
156 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
157 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
158 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
159 | CONFIG_INLINE_SPIN_UNLOCK=y | ||
160 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
161 | CONFIG_INLINE_SPIN_UNLOCK_IRQ=y | ||
162 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
163 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
164 | # CONFIG_INLINE_READ_LOCK is not set | ||
165 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
166 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
167 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
168 | CONFIG_INLINE_READ_UNLOCK=y | ||
169 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
170 | CONFIG_INLINE_READ_UNLOCK_IRQ=y | ||
171 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
172 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
173 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
174 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
175 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
176 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
177 | CONFIG_INLINE_WRITE_UNLOCK=y | ||
178 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
179 | CONFIG_INLINE_WRITE_UNLOCK_IRQ=y | ||
180 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
181 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
150 | # CONFIG_FREEZER is not set | 182 | # CONFIG_FREEZER is not set |
151 | 183 | ||
152 | # | 184 | # |
@@ -222,8 +254,6 @@ CONFIG_SPLIT_PTLOCK_CPUS=4 | |||
222 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 254 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
223 | CONFIG_ZONE_DMA_FLAG=0 | 255 | CONFIG_ZONE_DMA_FLAG=0 |
224 | CONFIG_NR_QUICK=2 | 256 | CONFIG_NR_QUICK=2 |
225 | CONFIG_HAVE_MLOCK=y | ||
226 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
227 | # CONFIG_KSM is not set | 257 | # CONFIG_KSM is not set |
228 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | 258 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 |
229 | 259 | ||
@@ -311,7 +341,6 @@ CONFIG_GUSA=y | |||
311 | CONFIG_ZERO_PAGE_OFFSET=0x00001000 | 341 | CONFIG_ZERO_PAGE_OFFSET=0x00001000 |
312 | CONFIG_BOOT_LINK_OFFSET=0x00800000 | 342 | CONFIG_BOOT_LINK_OFFSET=0x00800000 |
313 | CONFIG_ENTRY_OFFSET=0x00001000 | 343 | CONFIG_ENTRY_OFFSET=0x00001000 |
314 | # CONFIG_UBC_WAKEUP is not set | ||
315 | # CONFIG_CMDLINE_OVERWRITE is not set | 344 | # CONFIG_CMDLINE_OVERWRITE is not set |
316 | # CONFIG_CMDLINE_EXTEND is not set | 345 | # CONFIG_CMDLINE_EXTEND is not set |
317 | 346 | ||
@@ -319,14 +348,12 @@ CONFIG_ENTRY_OFFSET=0x00001000 | |||
319 | # Bus options | 348 | # Bus options |
320 | # | 349 | # |
321 | CONFIG_PCI=y | 350 | CONFIG_PCI=y |
322 | CONFIG_SH_PCIDMA_NONCOHERENT=y | ||
323 | # CONFIG_PCIEPORTBUS is not set | 351 | # CONFIG_PCIEPORTBUS is not set |
324 | # CONFIG_ARCH_SUPPORTS_MSI is not set | 352 | # CONFIG_ARCH_SUPPORTS_MSI is not set |
325 | CONFIG_PCI_LEGACY=y | 353 | CONFIG_PCI_LEGACY=y |
326 | # CONFIG_PCI_STUB is not set | 354 | # CONFIG_PCI_STUB is not set |
327 | # CONFIG_PCI_IOV is not set | 355 | # CONFIG_PCI_IOV is not set |
328 | CONFIG_PCCARD=y | 356 | CONFIG_PCCARD=y |
329 | # CONFIG_PCMCIA_DEBUG is not set | ||
330 | CONFIG_PCMCIA=y | 357 | CONFIG_PCMCIA=y |
331 | CONFIG_PCMCIA_LOAD_CIS=y | 358 | CONFIG_PCMCIA_LOAD_CIS=y |
332 | CONFIG_PCMCIA_IOCTL=y | 359 | CONFIG_PCMCIA_IOCTL=y |
@@ -461,9 +488,6 @@ CONFIG_ATALK=m | |||
461 | # CONFIG_AF_RXRPC is not set | 488 | # CONFIG_AF_RXRPC is not set |
462 | CONFIG_WIRELESS=y | 489 | CONFIG_WIRELESS=y |
463 | # CONFIG_CFG80211 is not set | 490 | # CONFIG_CFG80211 is not set |
464 | CONFIG_CFG80211_DEFAULT_PS_VALUE=0 | ||
465 | # CONFIG_WIRELESS_OLD_REGULATORY is not set | ||
466 | # CONFIG_WIRELESS_EXT is not set | ||
467 | # CONFIG_LIB80211 is not set | 491 | # CONFIG_LIB80211 is not set |
468 | 492 | ||
469 | # | 493 | # |
@@ -498,6 +522,10 @@ CONFIG_BLK_DEV=y | |||
498 | # CONFIG_BLK_DEV_COW_COMMON is not set | 522 | # CONFIG_BLK_DEV_COW_COMMON is not set |
499 | CONFIG_BLK_DEV_LOOP=y | 523 | CONFIG_BLK_DEV_LOOP=y |
500 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | 524 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set |
525 | |||
526 | # | ||
527 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
528 | # | ||
501 | # CONFIG_BLK_DEV_NBD is not set | 529 | # CONFIG_BLK_DEV_NBD is not set |
502 | # CONFIG_BLK_DEV_SX8 is not set | 530 | # CONFIG_BLK_DEV_SX8 is not set |
503 | # CONFIG_BLK_DEV_UB is not set | 531 | # CONFIG_BLK_DEV_UB is not set |
@@ -618,8 +646,11 @@ CONFIG_SCSI_LOWLEVEL=y | |||
618 | # CONFIG_ISCSI_TCP is not set | 646 | # CONFIG_ISCSI_TCP is not set |
619 | # CONFIG_SCSI_CXGB3_ISCSI is not set | 647 | # CONFIG_SCSI_CXGB3_ISCSI is not set |
620 | # CONFIG_SCSI_BNX2_ISCSI is not set | 648 | # CONFIG_SCSI_BNX2_ISCSI is not set |
649 | # CONFIG_BE2ISCSI is not set | ||
621 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set | 650 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set |
651 | # CONFIG_SCSI_HPSA is not set | ||
622 | # CONFIG_SCSI_3W_9XXX is not set | 652 | # CONFIG_SCSI_3W_9XXX is not set |
653 | # CONFIG_SCSI_3W_SAS is not set | ||
623 | # CONFIG_SCSI_ACARD is not set | 654 | # CONFIG_SCSI_ACARD is not set |
624 | # CONFIG_SCSI_AACRAID is not set | 655 | # CONFIG_SCSI_AACRAID is not set |
625 | # CONFIG_SCSI_AIC7XXX is not set | 656 | # CONFIG_SCSI_AIC7XXX is not set |
@@ -652,7 +683,9 @@ CONFIG_SCSI_LOWLEVEL=y | |||
652 | # CONFIG_SCSI_NSP32 is not set | 683 | # CONFIG_SCSI_NSP32 is not set |
653 | # CONFIG_SCSI_DEBUG is not set | 684 | # CONFIG_SCSI_DEBUG is not set |
654 | # CONFIG_SCSI_PMCRAID is not set | 685 | # CONFIG_SCSI_PMCRAID is not set |
686 | # CONFIG_SCSI_PM8001 is not set | ||
655 | # CONFIG_SCSI_SRP is not set | 687 | # CONFIG_SCSI_SRP is not set |
688 | # CONFIG_SCSI_BFA_FC is not set | ||
656 | # CONFIG_SCSI_LOWLEVEL_PCMCIA is not set | 689 | # CONFIG_SCSI_LOWLEVEL_PCMCIA is not set |
657 | # CONFIG_SCSI_DH is not set | 690 | # CONFIG_SCSI_DH is not set |
658 | # CONFIG_SCSI_OSD_INITIATOR is not set | 691 | # CONFIG_SCSI_OSD_INITIATOR is not set |
@@ -733,6 +766,7 @@ CONFIG_8139CP=y | |||
733 | # CONFIG_SUNDANCE is not set | 766 | # CONFIG_SUNDANCE is not set |
734 | # CONFIG_TLAN is not set | 767 | # CONFIG_TLAN is not set |
735 | # CONFIG_KS8842 is not set | 768 | # CONFIG_KS8842 is not set |
769 | # CONFIG_KS8851_MLL is not set | ||
736 | # CONFIG_VIA_RHINE is not set | 770 | # CONFIG_VIA_RHINE is not set |
737 | # CONFIG_SC92031 is not set | 771 | # CONFIG_SC92031 is not set |
738 | # CONFIG_ATL2 is not set | 772 | # CONFIG_ATL2 is not set |
@@ -781,8 +815,13 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
781 | # CONFIG_BE2NET is not set | 815 | # CONFIG_BE2NET is not set |
782 | # CONFIG_TR is not set | 816 | # CONFIG_TR is not set |
783 | CONFIG_WLAN=y | 817 | CONFIG_WLAN=y |
784 | # CONFIG_WLAN_PRE80211 is not set | 818 | # CONFIG_PCMCIA_RAYCS is not set |
785 | # CONFIG_WLAN_80211 is not set | 819 | # CONFIG_ATMEL is not set |
820 | # CONFIG_AIRO_CS is not set | ||
821 | # CONFIG_PCMCIA_WL3501 is not set | ||
822 | # CONFIG_PRISM54 is not set | ||
823 | # CONFIG_USB_ZD1201 is not set | ||
824 | # CONFIG_HOSTAP is not set | ||
786 | 825 | ||
787 | # | 826 | # |
788 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 827 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -806,6 +845,7 @@ CONFIG_USB_RTL8150=m | |||
806 | # CONFIG_NETCONSOLE is not set | 845 | # CONFIG_NETCONSOLE is not set |
807 | # CONFIG_NETPOLL is not set | 846 | # CONFIG_NETPOLL is not set |
808 | # CONFIG_NET_POLL_CONTROLLER is not set | 847 | # CONFIG_NET_POLL_CONTROLLER is not set |
848 | # CONFIG_VMXNET3 is not set | ||
809 | # CONFIG_ISDN is not set | 849 | # CONFIG_ISDN is not set |
810 | # CONFIG_PHONE is not set | 850 | # CONFIG_PHONE is not set |
811 | 851 | ||
@@ -815,6 +855,7 @@ CONFIG_USB_RTL8150=m | |||
815 | CONFIG_INPUT=y | 855 | CONFIG_INPUT=y |
816 | CONFIG_INPUT_FF_MEMLESS=m | 856 | CONFIG_INPUT_FF_MEMLESS=m |
817 | # CONFIG_INPUT_POLLDEV is not set | 857 | # CONFIG_INPUT_POLLDEV is not set |
858 | # CONFIG_INPUT_SPARSEKMAP is not set | ||
818 | 859 | ||
819 | # | 860 | # |
820 | # Userland interfaces | 861 | # Userland interfaces |
@@ -933,6 +974,7 @@ CONFIG_SSB_POSSIBLE=y | |||
933 | # | 974 | # |
934 | # CONFIG_MFD_CORE is not set | 975 | # CONFIG_MFD_CORE is not set |
935 | # CONFIG_MFD_SM501 is not set | 976 | # CONFIG_MFD_SM501 is not set |
977 | # CONFIG_MFD_SH_MOBILE_SDHI is not set | ||
936 | # CONFIG_HTC_PASIC3 is not set | 978 | # CONFIG_HTC_PASIC3 is not set |
937 | # CONFIG_MFD_TMIO is not set | 979 | # CONFIG_MFD_TMIO is not set |
938 | # CONFIG_REGULATOR is not set | 980 | # CONFIG_REGULATOR is not set |
@@ -1371,10 +1413,11 @@ CONFIG_FRAME_WARN=1024 | |||
1371 | # CONFIG_DEBUG_FS is not set | 1413 | # CONFIG_DEBUG_FS is not set |
1372 | # CONFIG_HEADERS_CHECK is not set | 1414 | # CONFIG_HEADERS_CHECK is not set |
1373 | # CONFIG_DEBUG_KERNEL is not set | 1415 | # CONFIG_DEBUG_KERNEL is not set |
1374 | # CONFIG_DEBUG_BUGVERBOSE is not set | 1416 | CONFIG_DEBUG_BUGVERBOSE=y |
1375 | # CONFIG_DEBUG_MEMORY_INIT is not set | 1417 | # CONFIG_DEBUG_MEMORY_INIT is not set |
1376 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | 1418 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set |
1377 | # CONFIG_LATENCYTOP is not set | 1419 | # CONFIG_LATENCYTOP is not set |
1420 | # CONFIG_SYSCTL_SYSCALL_CHECK is not set | ||
1378 | CONFIG_HAVE_FUNCTION_TRACER=y | 1421 | CONFIG_HAVE_FUNCTION_TRACER=y |
1379 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | 1422 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y |
1380 | CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y | 1423 | CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y |
@@ -1387,8 +1430,6 @@ CONFIG_TRACING_SUPPORT=y | |||
1387 | # CONFIG_SAMPLES is not set | 1430 | # CONFIG_SAMPLES is not set |
1388 | CONFIG_HAVE_ARCH_KGDB=y | 1431 | CONFIG_HAVE_ARCH_KGDB=y |
1389 | CONFIG_SH_STANDARD_BIOS=y | 1432 | CONFIG_SH_STANDARD_BIOS=y |
1390 | # CONFIG_EARLY_SCIF_CONSOLE is not set | ||
1391 | # CONFIG_EARLY_PRINTK is not set | ||
1392 | # CONFIG_DWARF_UNWINDER is not set | 1433 | # CONFIG_DWARF_UNWINDER is not set |
1393 | 1434 | ||
1394 | # | 1435 | # |
@@ -1397,7 +1438,11 @@ CONFIG_SH_STANDARD_BIOS=y | |||
1397 | # CONFIG_KEYS is not set | 1438 | # CONFIG_KEYS is not set |
1398 | # CONFIG_SECURITY is not set | 1439 | # CONFIG_SECURITY is not set |
1399 | # CONFIG_SECURITYFS is not set | 1440 | # CONFIG_SECURITYFS is not set |
1400 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1441 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
1442 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
1443 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
1444 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
1445 | CONFIG_DEFAULT_SECURITY="" | ||
1401 | CONFIG_CRYPTO=y | 1446 | CONFIG_CRYPTO=y |
1402 | 1447 | ||
1403 | # | 1448 | # |
diff --git a/arch/sh/configs/lboxre2_defconfig b/arch/sh/configs/lboxre2_defconfig index ec0c0b432c74..f2f1f8c73b2f 100644 --- a/arch/sh/configs/lboxre2_defconfig +++ b/arch/sh/configs/lboxre2_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.31 | 3 | # Linux kernel version: 2.6.33-rc2 |
4 | # Thu Sep 24 18:09:59 2009 | 4 | # Mon Jan 4 11:37:01 2010 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_SUPERH32=y | 7 | CONFIG_SUPERH32=y |
@@ -20,6 +20,7 @@ CONFIG_GENERIC_TIME=y | |||
20 | CONFIG_GENERIC_CLOCKEVENTS=y | 20 | CONFIG_GENERIC_CLOCKEVENTS=y |
21 | # CONFIG_ARCH_SUSPEND_POSSIBLE is not set | 21 | # CONFIG_ARCH_SUSPEND_POSSIBLE is not set |
22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y | 22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y |
23 | CONFIG_SYS_SUPPORTS_HUGETLBFS=y | ||
23 | CONFIG_SYS_SUPPORTS_PCI=y | 24 | CONFIG_SYS_SUPPORTS_PCI=y |
24 | CONFIG_SYS_SUPPORTS_TMU=y | 25 | CONFIG_SYS_SUPPORTS_TMU=y |
25 | CONFIG_STACKTRACE_SUPPORT=y | 26 | CONFIG_STACKTRACE_SUPPORT=y |
@@ -30,6 +31,7 @@ CONFIG_HAVE_LATENCYTOP_SUPPORT=y | |||
30 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | 31 | CONFIG_ARCH_NO_VIRT_TO_BUS=y |
31 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y | 32 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y |
32 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y | 33 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y |
34 | CONFIG_DMA_NONCOHERENT=y | ||
33 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 35 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
34 | CONFIG_CONSTRUCTORS=y | 36 | CONFIG_CONSTRUCTORS=y |
35 | 37 | ||
@@ -60,6 +62,7 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
60 | # | 62 | # |
61 | CONFIG_TREE_RCU=y | 63 | CONFIG_TREE_RCU=y |
62 | # CONFIG_TREE_PREEMPT_RCU is not set | 64 | # CONFIG_TREE_PREEMPT_RCU is not set |
65 | # CONFIG_TINY_RCU is not set | ||
63 | # CONFIG_RCU_TRACE is not set | 66 | # CONFIG_RCU_TRACE is not set |
64 | CONFIG_RCU_FANOUT=32 | 67 | CONFIG_RCU_FANOUT=32 |
65 | # CONFIG_RCU_FANOUT_EXACT is not set | 68 | # CONFIG_RCU_FANOUT_EXACT is not set |
@@ -94,6 +97,7 @@ CONFIG_EVENTFD=y | |||
94 | CONFIG_SHMEM=y | 97 | CONFIG_SHMEM=y |
95 | CONFIG_AIO=y | 98 | CONFIG_AIO=y |
96 | CONFIG_HAVE_PERF_EVENTS=y | 99 | CONFIG_HAVE_PERF_EVENTS=y |
100 | CONFIG_PERF_USE_VMALLOC=y | ||
97 | 101 | ||
98 | # | 102 | # |
99 | # Kernel Performance Events And Counters | 103 | # Kernel Performance Events And Counters |
@@ -113,6 +117,7 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
113 | CONFIG_HAVE_KPROBES=y | 117 | CONFIG_HAVE_KPROBES=y |
114 | CONFIG_HAVE_KRETPROBES=y | 118 | CONFIG_HAVE_KRETPROBES=y |
115 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 119 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
120 | CONFIG_HAVE_DMA_ATTRS=y | ||
116 | CONFIG_HAVE_CLK=y | 121 | CONFIG_HAVE_CLK=y |
117 | CONFIG_HAVE_DMA_API_DEBUG=y | 122 | CONFIG_HAVE_DMA_API_DEBUG=y |
118 | 123 | ||
@@ -139,14 +144,41 @@ CONFIG_LBDAF=y | |||
139 | # IO Schedulers | 144 | # IO Schedulers |
140 | # | 145 | # |
141 | CONFIG_IOSCHED_NOOP=y | 146 | CONFIG_IOSCHED_NOOP=y |
142 | CONFIG_IOSCHED_AS=y | ||
143 | CONFIG_IOSCHED_DEADLINE=y | 147 | CONFIG_IOSCHED_DEADLINE=y |
144 | CONFIG_IOSCHED_CFQ=y | 148 | CONFIG_IOSCHED_CFQ=y |
145 | CONFIG_DEFAULT_AS=y | ||
146 | # CONFIG_DEFAULT_DEADLINE is not set | 149 | # CONFIG_DEFAULT_DEADLINE is not set |
147 | # CONFIG_DEFAULT_CFQ is not set | 150 | CONFIG_DEFAULT_CFQ=y |
148 | # CONFIG_DEFAULT_NOOP is not set | 151 | # CONFIG_DEFAULT_NOOP is not set |
149 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 152 | CONFIG_DEFAULT_IOSCHED="cfq" |
153 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
154 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
155 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
156 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
157 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
158 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
159 | CONFIG_INLINE_SPIN_UNLOCK=y | ||
160 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
161 | CONFIG_INLINE_SPIN_UNLOCK_IRQ=y | ||
162 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
163 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
164 | # CONFIG_INLINE_READ_LOCK is not set | ||
165 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
166 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
167 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
168 | CONFIG_INLINE_READ_UNLOCK=y | ||
169 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
170 | CONFIG_INLINE_READ_UNLOCK_IRQ=y | ||
171 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
172 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
173 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
174 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
175 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
176 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
177 | CONFIG_INLINE_WRITE_UNLOCK=y | ||
178 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
179 | CONFIG_INLINE_WRITE_UNLOCK_IRQ=y | ||
180 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
181 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
150 | # CONFIG_FREEZER is not set | 182 | # CONFIG_FREEZER is not set |
151 | 183 | ||
152 | # | 184 | # |
@@ -222,8 +254,6 @@ CONFIG_SPLIT_PTLOCK_CPUS=4 | |||
222 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 254 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
223 | CONFIG_ZONE_DMA_FLAG=0 | 255 | CONFIG_ZONE_DMA_FLAG=0 |
224 | CONFIG_NR_QUICK=2 | 256 | CONFIG_NR_QUICK=2 |
225 | CONFIG_HAVE_MLOCK=y | ||
226 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
227 | # CONFIG_KSM is not set | 257 | # CONFIG_KSM is not set |
228 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | 258 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 |
229 | 259 | ||
@@ -311,7 +341,6 @@ CONFIG_GUSA=y | |||
311 | CONFIG_ZERO_PAGE_OFFSET=0x00001000 | 341 | CONFIG_ZERO_PAGE_OFFSET=0x00001000 |
312 | CONFIG_BOOT_LINK_OFFSET=0x00800000 | 342 | CONFIG_BOOT_LINK_OFFSET=0x00800000 |
313 | CONFIG_ENTRY_OFFSET=0x00001000 | 343 | CONFIG_ENTRY_OFFSET=0x00001000 |
314 | # CONFIG_UBC_WAKEUP is not set | ||
315 | CONFIG_CMDLINE_OVERWRITE=y | 344 | CONFIG_CMDLINE_OVERWRITE=y |
316 | # CONFIG_CMDLINE_EXTEND is not set | 345 | # CONFIG_CMDLINE_EXTEND is not set |
317 | CONFIG_CMDLINE="console=ttySC1,115200 root=/dev/sda1" | 346 | CONFIG_CMDLINE="console=ttySC1,115200 root=/dev/sda1" |
@@ -320,14 +349,12 @@ CONFIG_CMDLINE="console=ttySC1,115200 root=/dev/sda1" | |||
320 | # Bus options | 349 | # Bus options |
321 | # | 350 | # |
322 | CONFIG_PCI=y | 351 | CONFIG_PCI=y |
323 | CONFIG_SH_PCIDMA_NONCOHERENT=y | ||
324 | # CONFIG_PCIEPORTBUS is not set | 352 | # CONFIG_PCIEPORTBUS is not set |
325 | # CONFIG_ARCH_SUPPORTS_MSI is not set | 353 | # CONFIG_ARCH_SUPPORTS_MSI is not set |
326 | CONFIG_PCI_LEGACY=y | 354 | CONFIG_PCI_LEGACY=y |
327 | # CONFIG_PCI_STUB is not set | 355 | # CONFIG_PCI_STUB is not set |
328 | # CONFIG_PCI_IOV is not set | 356 | # CONFIG_PCI_IOV is not set |
329 | CONFIG_PCCARD=y | 357 | CONFIG_PCCARD=y |
330 | CONFIG_PCMCIA_DEBUG=y | ||
331 | CONFIG_PCMCIA=y | 358 | CONFIG_PCMCIA=y |
332 | CONFIG_PCMCIA_LOAD_CIS=y | 359 | CONFIG_PCMCIA_LOAD_CIS=y |
333 | CONFIG_PCMCIA_IOCTL=y | 360 | CONFIG_PCMCIA_IOCTL=y |
@@ -459,9 +486,6 @@ CONFIG_NETFILTER_ADVANCED=y | |||
459 | # CONFIG_AF_RXRPC is not set | 486 | # CONFIG_AF_RXRPC is not set |
460 | CONFIG_WIRELESS=y | 487 | CONFIG_WIRELESS=y |
461 | # CONFIG_CFG80211 is not set | 488 | # CONFIG_CFG80211 is not set |
462 | CONFIG_CFG80211_DEFAULT_PS_VALUE=0 | ||
463 | # CONFIG_WIRELESS_OLD_REGULATORY is not set | ||
464 | # CONFIG_WIRELESS_EXT is not set | ||
465 | # CONFIG_LIB80211 is not set | 489 | # CONFIG_LIB80211 is not set |
466 | 490 | ||
467 | # | 491 | # |
@@ -496,6 +520,10 @@ CONFIG_BLK_DEV=y | |||
496 | # CONFIG_BLK_DEV_COW_COMMON is not set | 520 | # CONFIG_BLK_DEV_COW_COMMON is not set |
497 | CONFIG_BLK_DEV_LOOP=y | 521 | CONFIG_BLK_DEV_LOOP=y |
498 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | 522 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set |
523 | |||
524 | # | ||
525 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
526 | # | ||
499 | # CONFIG_BLK_DEV_NBD is not set | 527 | # CONFIG_BLK_DEV_NBD is not set |
500 | # CONFIG_BLK_DEV_SX8 is not set | 528 | # CONFIG_BLK_DEV_SX8 is not set |
501 | CONFIG_BLK_DEV_RAM=y | 529 | CONFIG_BLK_DEV_RAM=y |
@@ -558,8 +586,11 @@ CONFIG_SCSI_LOWLEVEL=y | |||
558 | # CONFIG_ISCSI_TCP is not set | 586 | # CONFIG_ISCSI_TCP is not set |
559 | # CONFIG_SCSI_CXGB3_ISCSI is not set | 587 | # CONFIG_SCSI_CXGB3_ISCSI is not set |
560 | # CONFIG_SCSI_BNX2_ISCSI is not set | 588 | # CONFIG_SCSI_BNX2_ISCSI is not set |
589 | # CONFIG_BE2ISCSI is not set | ||
561 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set | 590 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set |
591 | # CONFIG_SCSI_HPSA is not set | ||
562 | # CONFIG_SCSI_3W_9XXX is not set | 592 | # CONFIG_SCSI_3W_9XXX is not set |
593 | # CONFIG_SCSI_3W_SAS is not set | ||
563 | # CONFIG_SCSI_ACARD is not set | 594 | # CONFIG_SCSI_ACARD is not set |
564 | # CONFIG_SCSI_AACRAID is not set | 595 | # CONFIG_SCSI_AACRAID is not set |
565 | # CONFIG_SCSI_AIC7XXX is not set | 596 | # CONFIG_SCSI_AIC7XXX is not set |
@@ -593,7 +624,9 @@ CONFIG_SCSI_LOWLEVEL=y | |||
593 | # CONFIG_SCSI_NSP32 is not set | 624 | # CONFIG_SCSI_NSP32 is not set |
594 | # CONFIG_SCSI_DEBUG is not set | 625 | # CONFIG_SCSI_DEBUG is not set |
595 | # CONFIG_SCSI_PMCRAID is not set | 626 | # CONFIG_SCSI_PMCRAID is not set |
627 | # CONFIG_SCSI_PM8001 is not set | ||
596 | # CONFIG_SCSI_SRP is not set | 628 | # CONFIG_SCSI_SRP is not set |
629 | # CONFIG_SCSI_BFA_FC is not set | ||
597 | # CONFIG_SCSI_LOWLEVEL_PCMCIA is not set | 630 | # CONFIG_SCSI_LOWLEVEL_PCMCIA is not set |
598 | # CONFIG_SCSI_DH is not set | 631 | # CONFIG_SCSI_DH is not set |
599 | # CONFIG_SCSI_OSD_INITIATOR is not set | 632 | # CONFIG_SCSI_OSD_INITIATOR is not set |
@@ -648,15 +681,16 @@ CONFIG_ATA_SFF=y | |||
648 | # CONFIG_PATA_OPTI is not set | 681 | # CONFIG_PATA_OPTI is not set |
649 | # CONFIG_PATA_OPTIDMA is not set | 682 | # CONFIG_PATA_OPTIDMA is not set |
650 | # CONFIG_PATA_PCMCIA is not set | 683 | # CONFIG_PATA_PCMCIA is not set |
684 | # CONFIG_PATA_PDC2027X is not set | ||
651 | # CONFIG_PATA_PDC_OLD is not set | 685 | # CONFIG_PATA_PDC_OLD is not set |
652 | # CONFIG_PATA_RADISYS is not set | 686 | # CONFIG_PATA_RADISYS is not set |
653 | # CONFIG_PATA_RDC is not set | 687 | # CONFIG_PATA_RDC is not set |
654 | # CONFIG_PATA_RZ1000 is not set | 688 | # CONFIG_PATA_RZ1000 is not set |
655 | # CONFIG_PATA_SC1200 is not set | 689 | # CONFIG_PATA_SC1200 is not set |
656 | # CONFIG_PATA_SERVERWORKS is not set | 690 | # CONFIG_PATA_SERVERWORKS is not set |
657 | # CONFIG_PATA_PDC2027X is not set | ||
658 | # CONFIG_PATA_SIL680 is not set | 691 | # CONFIG_PATA_SIL680 is not set |
659 | # CONFIG_PATA_SIS is not set | 692 | # CONFIG_PATA_SIS is not set |
693 | # CONFIG_PATA_TOSHIBA is not set | ||
660 | # CONFIG_PATA_VIA is not set | 694 | # CONFIG_PATA_VIA is not set |
661 | # CONFIG_PATA_WINBOND is not set | 695 | # CONFIG_PATA_WINBOND is not set |
662 | CONFIG_PATA_PLATFORM=y | 696 | CONFIG_PATA_PLATFORM=y |
@@ -732,6 +766,7 @@ CONFIG_8139TOO_TUNE_TWISTER=y | |||
732 | # CONFIG_SUNDANCE is not set | 766 | # CONFIG_SUNDANCE is not set |
733 | # CONFIG_TLAN is not set | 767 | # CONFIG_TLAN is not set |
734 | # CONFIG_KS8842 is not set | 768 | # CONFIG_KS8842 is not set |
769 | # CONFIG_KS8851_MLL is not set | ||
735 | # CONFIG_VIA_RHINE is not set | 770 | # CONFIG_VIA_RHINE is not set |
736 | # CONFIG_SC92031 is not set | 771 | # CONFIG_SC92031 is not set |
737 | # CONFIG_ATL2 is not set | 772 | # CONFIG_ATL2 is not set |
@@ -780,8 +815,12 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
780 | # CONFIG_BE2NET is not set | 815 | # CONFIG_BE2NET is not set |
781 | # CONFIG_TR is not set | 816 | # CONFIG_TR is not set |
782 | CONFIG_WLAN=y | 817 | CONFIG_WLAN=y |
783 | # CONFIG_WLAN_PRE80211 is not set | 818 | # CONFIG_PCMCIA_RAYCS is not set |
784 | # CONFIG_WLAN_80211 is not set | 819 | # CONFIG_ATMEL is not set |
820 | # CONFIG_AIRO_CS is not set | ||
821 | # CONFIG_PCMCIA_WL3501 is not set | ||
822 | # CONFIG_PRISM54 is not set | ||
823 | # CONFIG_HOSTAP is not set | ||
785 | 824 | ||
786 | # | 825 | # |
787 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 826 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -804,6 +843,7 @@ CONFIG_PCMCIA_PCNET=y | |||
804 | # CONFIG_NETCONSOLE is not set | 843 | # CONFIG_NETCONSOLE is not set |
805 | # CONFIG_NETPOLL is not set | 844 | # CONFIG_NETPOLL is not set |
806 | # CONFIG_NET_POLL_CONTROLLER is not set | 845 | # CONFIG_NET_POLL_CONTROLLER is not set |
846 | # CONFIG_VMXNET3 is not set | ||
807 | # CONFIG_ISDN is not set | 847 | # CONFIG_ISDN is not set |
808 | # CONFIG_PHONE is not set | 848 | # CONFIG_PHONE is not set |
809 | 849 | ||
@@ -813,6 +853,7 @@ CONFIG_PCMCIA_PCNET=y | |||
813 | CONFIG_INPUT=y | 853 | CONFIG_INPUT=y |
814 | # CONFIG_INPUT_FF_MEMLESS is not set | 854 | # CONFIG_INPUT_FF_MEMLESS is not set |
815 | # CONFIG_INPUT_POLLDEV is not set | 855 | # CONFIG_INPUT_POLLDEV is not set |
856 | # CONFIG_INPUT_SPARSEKMAP is not set | ||
816 | 857 | ||
817 | # | 858 | # |
818 | # Userland interfaces | 859 | # Userland interfaces |
@@ -931,6 +972,7 @@ CONFIG_SSB_POSSIBLE=y | |||
931 | # | 972 | # |
932 | # CONFIG_MFD_CORE is not set | 973 | # CONFIG_MFD_CORE is not set |
933 | # CONFIG_MFD_SM501 is not set | 974 | # CONFIG_MFD_SM501 is not set |
975 | # CONFIG_MFD_SH_MOBILE_SDHI is not set | ||
934 | # CONFIG_HTC_PASIC3 is not set | 976 | # CONFIG_HTC_PASIC3 is not set |
935 | # CONFIG_MFD_TMIO is not set | 977 | # CONFIG_MFD_TMIO is not set |
936 | # CONFIG_REGULATOR is not set | 978 | # CONFIG_REGULATOR is not set |
@@ -1020,7 +1062,9 @@ CONFIG_RTC_INTF_DEV=y | |||
1020 | # CONFIG_RTC_DRV_M48T86 is not set | 1062 | # CONFIG_RTC_DRV_M48T86 is not set |
1021 | # CONFIG_RTC_DRV_M48T35 is not set | 1063 | # CONFIG_RTC_DRV_M48T35 is not set |
1022 | # CONFIG_RTC_DRV_M48T59 is not set | 1064 | # CONFIG_RTC_DRV_M48T59 is not set |
1065 | # CONFIG_RTC_DRV_MSM6242 is not set | ||
1023 | # CONFIG_RTC_DRV_BQ4802 is not set | 1066 | # CONFIG_RTC_DRV_BQ4802 is not set |
1067 | # CONFIG_RTC_DRV_RP5C01 is not set | ||
1024 | # CONFIG_RTC_DRV_V3020 is not set | 1068 | # CONFIG_RTC_DRV_V3020 is not set |
1025 | 1069 | ||
1026 | # | 1070 | # |
@@ -1195,10 +1239,11 @@ CONFIG_FRAME_WARN=1024 | |||
1195 | # CONFIG_DEBUG_FS is not set | 1239 | # CONFIG_DEBUG_FS is not set |
1196 | # CONFIG_HEADERS_CHECK is not set | 1240 | # CONFIG_HEADERS_CHECK is not set |
1197 | # CONFIG_DEBUG_KERNEL is not set | 1241 | # CONFIG_DEBUG_KERNEL is not set |
1198 | # CONFIG_DEBUG_BUGVERBOSE is not set | 1242 | CONFIG_DEBUG_BUGVERBOSE=y |
1199 | # CONFIG_DEBUG_MEMORY_INIT is not set | 1243 | # CONFIG_DEBUG_MEMORY_INIT is not set |
1200 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | 1244 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set |
1201 | # CONFIG_LATENCYTOP is not set | 1245 | # CONFIG_LATENCYTOP is not set |
1246 | # CONFIG_SYSCTL_SYSCALL_CHECK is not set | ||
1202 | CONFIG_HAVE_FUNCTION_TRACER=y | 1247 | CONFIG_HAVE_FUNCTION_TRACER=y |
1203 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | 1248 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y |
1204 | CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y | 1249 | CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y |
@@ -1211,8 +1256,6 @@ CONFIG_TRACING_SUPPORT=y | |||
1211 | # CONFIG_SAMPLES is not set | 1256 | # CONFIG_SAMPLES is not set |
1212 | CONFIG_HAVE_ARCH_KGDB=y | 1257 | CONFIG_HAVE_ARCH_KGDB=y |
1213 | CONFIG_SH_STANDARD_BIOS=y | 1258 | CONFIG_SH_STANDARD_BIOS=y |
1214 | # CONFIG_EARLY_SCIF_CONSOLE is not set | ||
1215 | # CONFIG_EARLY_PRINTK is not set | ||
1216 | # CONFIG_DWARF_UNWINDER is not set | 1259 | # CONFIG_DWARF_UNWINDER is not set |
1217 | 1260 | ||
1218 | # | 1261 | # |
@@ -1221,7 +1264,11 @@ CONFIG_SH_STANDARD_BIOS=y | |||
1221 | # CONFIG_KEYS is not set | 1264 | # CONFIG_KEYS is not set |
1222 | # CONFIG_SECURITY is not set | 1265 | # CONFIG_SECURITY is not set |
1223 | # CONFIG_SECURITYFS is not set | 1266 | # CONFIG_SECURITYFS is not set |
1224 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1267 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
1268 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
1269 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
1270 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
1271 | CONFIG_DEFAULT_SECURITY="" | ||
1225 | CONFIG_CRYPTO=y | 1272 | CONFIG_CRYPTO=y |
1226 | 1273 | ||
1227 | # | 1274 | # |
diff --git a/arch/sh/configs/magicpanelr2_defconfig b/arch/sh/configs/magicpanelr2_defconfig index 79091e3e32c4..a7a16ce357ad 100644 --- a/arch/sh/configs/magicpanelr2_defconfig +++ b/arch/sh/configs/magicpanelr2_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.31 | 3 | # Linux kernel version: 2.6.33-rc2 |
4 | # Thu Sep 24 18:10:49 2009 | 4 | # Mon Jan 4 11:37:42 2010 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_SUPERH32=y | 7 | CONFIG_SUPERH32=y |
@@ -30,6 +30,7 @@ CONFIG_HAVE_LATENCYTOP_SUPPORT=y | |||
30 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | 30 | CONFIG_ARCH_NO_VIRT_TO_BUS=y |
31 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y | 31 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y |
32 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y | 32 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y |
33 | CONFIG_DMA_NONCOHERENT=y | ||
33 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 34 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
34 | CONFIG_CONSTRUCTORS=y | 35 | CONFIG_CONSTRUCTORS=y |
35 | 36 | ||
@@ -63,6 +64,7 @@ CONFIG_AUDIT=y | |||
63 | # | 64 | # |
64 | CONFIG_TREE_RCU=y | 65 | CONFIG_TREE_RCU=y |
65 | # CONFIG_TREE_PREEMPT_RCU is not set | 66 | # CONFIG_TREE_PREEMPT_RCU is not set |
67 | # CONFIG_TINY_RCU is not set | ||
66 | # CONFIG_RCU_TRACE is not set | 68 | # CONFIG_RCU_TRACE is not set |
67 | CONFIG_RCU_FANOUT=32 | 69 | CONFIG_RCU_FANOUT=32 |
68 | # CONFIG_RCU_FANOUT_EXACT is not set | 70 | # CONFIG_RCU_FANOUT_EXACT is not set |
@@ -102,6 +104,7 @@ CONFIG_EVENTFD=y | |||
102 | CONFIG_SHMEM=y | 104 | CONFIG_SHMEM=y |
103 | CONFIG_AIO=y | 105 | CONFIG_AIO=y |
104 | CONFIG_HAVE_PERF_EVENTS=y | 106 | CONFIG_HAVE_PERF_EVENTS=y |
107 | CONFIG_PERF_USE_VMALLOC=y | ||
105 | 108 | ||
106 | # | 109 | # |
107 | # Kernel Performance Events And Counters | 110 | # Kernel Performance Events And Counters |
@@ -120,6 +123,7 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
120 | CONFIG_HAVE_KPROBES=y | 123 | CONFIG_HAVE_KPROBES=y |
121 | CONFIG_HAVE_KRETPROBES=y | 124 | CONFIG_HAVE_KRETPROBES=y |
122 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 125 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
126 | CONFIG_HAVE_DMA_ATTRS=y | ||
123 | CONFIG_HAVE_CLK=y | 127 | CONFIG_HAVE_CLK=y |
124 | CONFIG_HAVE_DMA_API_DEBUG=y | 128 | CONFIG_HAVE_DMA_API_DEBUG=y |
125 | 129 | ||
@@ -146,14 +150,41 @@ CONFIG_LBDAF=y | |||
146 | # IO Schedulers | 150 | # IO Schedulers |
147 | # | 151 | # |
148 | CONFIG_IOSCHED_NOOP=y | 152 | CONFIG_IOSCHED_NOOP=y |
149 | # CONFIG_IOSCHED_AS is not set | ||
150 | # CONFIG_IOSCHED_DEADLINE is not set | 153 | # CONFIG_IOSCHED_DEADLINE is not set |
151 | # CONFIG_IOSCHED_CFQ is not set | 154 | # CONFIG_IOSCHED_CFQ is not set |
152 | # CONFIG_DEFAULT_AS is not set | ||
153 | # CONFIG_DEFAULT_DEADLINE is not set | 155 | # CONFIG_DEFAULT_DEADLINE is not set |
154 | # CONFIG_DEFAULT_CFQ is not set | 156 | # CONFIG_DEFAULT_CFQ is not set |
155 | CONFIG_DEFAULT_NOOP=y | 157 | CONFIG_DEFAULT_NOOP=y |
156 | CONFIG_DEFAULT_IOSCHED="noop" | 158 | CONFIG_DEFAULT_IOSCHED="noop" |
159 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
160 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
161 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
162 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
163 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
164 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
165 | CONFIG_INLINE_SPIN_UNLOCK=y | ||
166 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
167 | CONFIG_INLINE_SPIN_UNLOCK_IRQ=y | ||
168 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
169 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
170 | # CONFIG_INLINE_READ_LOCK is not set | ||
171 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
172 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
173 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
174 | CONFIG_INLINE_READ_UNLOCK=y | ||
175 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
176 | CONFIG_INLINE_READ_UNLOCK_IRQ=y | ||
177 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
178 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
179 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
180 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
181 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
182 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
183 | CONFIG_INLINE_WRITE_UNLOCK=y | ||
184 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
185 | CONFIG_INLINE_WRITE_UNLOCK_IRQ=y | ||
186 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
187 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
157 | # CONFIG_FREEZER is not set | 188 | # CONFIG_FREEZER is not set |
158 | 189 | ||
159 | # | 190 | # |
@@ -229,8 +260,6 @@ CONFIG_SPLIT_PTLOCK_CPUS=4 | |||
229 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 260 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
230 | CONFIG_ZONE_DMA_FLAG=0 | 261 | CONFIG_ZONE_DMA_FLAG=0 |
231 | CONFIG_NR_QUICK=2 | 262 | CONFIG_NR_QUICK=2 |
232 | CONFIG_HAVE_MLOCK=y | ||
233 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
234 | # CONFIG_KSM is not set | 263 | # CONFIG_KSM is not set |
235 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | 264 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 |
236 | 265 | ||
@@ -283,8 +312,8 @@ CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | |||
283 | # | 312 | # |
284 | # DMA support | 313 | # DMA support |
285 | # | 314 | # |
286 | CONFIG_SH_DMA_API=y | ||
287 | CONFIG_SH_DMA=y | 315 | CONFIG_SH_DMA=y |
316 | CONFIG_SH_DMA_API=y | ||
288 | CONFIG_NR_ONCHIP_DMA_CHANNELS=6 | 317 | CONFIG_NR_ONCHIP_DMA_CHANNELS=6 |
289 | # CONFIG_NR_DMA_CHANNELS_BOOL is not set | 318 | # CONFIG_NR_DMA_CHANNELS_BOOL is not set |
290 | 319 | ||
@@ -416,9 +445,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
416 | # CONFIG_AF_RXRPC is not set | 445 | # CONFIG_AF_RXRPC is not set |
417 | CONFIG_WIRELESS=y | 446 | CONFIG_WIRELESS=y |
418 | # CONFIG_CFG80211 is not set | 447 | # CONFIG_CFG80211 is not set |
419 | CONFIG_CFG80211_DEFAULT_PS_VALUE=0 | ||
420 | # CONFIG_WIRELESS_OLD_REGULATORY is not set | ||
421 | # CONFIG_WIRELESS_EXT is not set | ||
422 | # CONFIG_LIB80211 is not set | 448 | # CONFIG_LIB80211 is not set |
423 | 449 | ||
424 | # | 450 | # |
@@ -534,6 +560,10 @@ CONFIG_MTD_PHYSMAP=y | |||
534 | CONFIG_BLK_DEV=y | 560 | CONFIG_BLK_DEV=y |
535 | # CONFIG_BLK_DEV_COW_COMMON is not set | 561 | # CONFIG_BLK_DEV_COW_COMMON is not set |
536 | # CONFIG_BLK_DEV_LOOP is not set | 562 | # CONFIG_BLK_DEV_LOOP is not set |
563 | |||
564 | # | ||
565 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
566 | # | ||
537 | # CONFIG_BLK_DEV_NBD is not set | 567 | # CONFIG_BLK_DEV_NBD is not set |
538 | CONFIG_BLK_DEV_RAM=y | 568 | CONFIG_BLK_DEV_RAM=y |
539 | CONFIG_BLK_DEV_RAM_COUNT=16 | 569 | CONFIG_BLK_DEV_RAM_COUNT=16 |
@@ -607,11 +637,11 @@ CONFIG_SMSC911X=y | |||
607 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | 637 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set |
608 | # CONFIG_B44 is not set | 638 | # CONFIG_B44 is not set |
609 | # CONFIG_KS8842 is not set | 639 | # CONFIG_KS8842 is not set |
640 | # CONFIG_KS8851_MLL is not set | ||
610 | # CONFIG_NETDEV_1000 is not set | 641 | # CONFIG_NETDEV_1000 is not set |
611 | # CONFIG_NETDEV_10000 is not set | 642 | # CONFIG_NETDEV_10000 is not set |
612 | CONFIG_WLAN=y | 643 | CONFIG_WLAN=y |
613 | # CONFIG_WLAN_PRE80211 is not set | 644 | # CONFIG_HOSTAP is not set |
614 | # CONFIG_WLAN_80211 is not set | ||
615 | 645 | ||
616 | # | 646 | # |
617 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 647 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -631,6 +661,7 @@ CONFIG_WLAN=y | |||
631 | CONFIG_INPUT=y | 661 | CONFIG_INPUT=y |
632 | # CONFIG_INPUT_FF_MEMLESS is not set | 662 | # CONFIG_INPUT_FF_MEMLESS is not set |
633 | # CONFIG_INPUT_POLLDEV is not set | 663 | # CONFIG_INPUT_POLLDEV is not set |
664 | # CONFIG_INPUT_SPARSEKMAP is not set | ||
634 | 665 | ||
635 | # | 666 | # |
636 | # Userland interfaces | 667 | # Userland interfaces |
@@ -675,6 +706,7 @@ CONFIG_SERIO=y | |||
675 | CONFIG_SERIO_SERPORT=y | 706 | CONFIG_SERIO_SERPORT=y |
676 | CONFIG_SERIO_LIBPS2=y | 707 | CONFIG_SERIO_LIBPS2=y |
677 | # CONFIG_SERIO_RAW is not set | 708 | # CONFIG_SERIO_RAW is not set |
709 | # CONFIG_SERIO_ALTERA_PS2 is not set | ||
678 | # CONFIG_GAMEPORT is not set | 710 | # CONFIG_GAMEPORT is not set |
679 | 711 | ||
680 | # | 712 | # |
@@ -766,6 +798,7 @@ CONFIG_SSB_POSSIBLE=y | |||
766 | # | 798 | # |
767 | # CONFIG_MFD_CORE is not set | 799 | # CONFIG_MFD_CORE is not set |
768 | # CONFIG_MFD_SM501 is not set | 800 | # CONFIG_MFD_SM501 is not set |
801 | # CONFIG_MFD_SH_MOBILE_SDHI is not set | ||
769 | # CONFIG_HTC_PASIC3 is not set | 802 | # CONFIG_HTC_PASIC3 is not set |
770 | # CONFIG_MFD_TMIO is not set | 803 | # CONFIG_MFD_TMIO is not set |
771 | # CONFIG_REGULATOR is not set | 804 | # CONFIG_REGULATOR is not set |
@@ -824,7 +857,9 @@ CONFIG_RTC_INTF_DEV=y | |||
824 | # CONFIG_RTC_DRV_M48T86 is not set | 857 | # CONFIG_RTC_DRV_M48T86 is not set |
825 | # CONFIG_RTC_DRV_M48T35 is not set | 858 | # CONFIG_RTC_DRV_M48T35 is not set |
826 | # CONFIG_RTC_DRV_M48T59 is not set | 859 | # CONFIG_RTC_DRV_M48T59 is not set |
860 | # CONFIG_RTC_DRV_MSM6242 is not set | ||
827 | # CONFIG_RTC_DRV_BQ4802 is not set | 861 | # CONFIG_RTC_DRV_BQ4802 is not set |
862 | # CONFIG_RTC_DRV_RP5C01 is not set | ||
828 | # CONFIG_RTC_DRV_V3020 is not set | 863 | # CONFIG_RTC_DRV_V3020 is not set |
829 | 864 | ||
830 | # | 865 | # |
@@ -898,7 +933,6 @@ CONFIG_PROC_PAGE_MONITOR=y | |||
898 | CONFIG_SYSFS=y | 933 | CONFIG_SYSFS=y |
899 | CONFIG_TMPFS=y | 934 | CONFIG_TMPFS=y |
900 | # CONFIG_TMPFS_POSIX_ACL is not set | 935 | # CONFIG_TMPFS_POSIX_ACL is not set |
901 | # CONFIG_HUGETLBFS is not set | ||
902 | # CONFIG_HUGETLB_PAGE is not set | 936 | # CONFIG_HUGETLB_PAGE is not set |
903 | # CONFIG_CONFIGFS_FS is not set | 937 | # CONFIG_CONFIGFS_FS is not set |
904 | CONFIG_MISC_FILESYSTEMS=y | 938 | CONFIG_MISC_FILESYSTEMS=y |
@@ -1072,9 +1106,6 @@ CONFIG_BRANCH_PROFILE_NONE=y | |||
1072 | CONFIG_HAVE_ARCH_KGDB=y | 1106 | CONFIG_HAVE_ARCH_KGDB=y |
1073 | # CONFIG_KGDB is not set | 1107 | # CONFIG_KGDB is not set |
1074 | # CONFIG_SH_STANDARD_BIOS is not set | 1108 | # CONFIG_SH_STANDARD_BIOS is not set |
1075 | CONFIG_EARLY_SCIF_CONSOLE=y | ||
1076 | CONFIG_EARLY_SCIF_CONSOLE_PORT=0xa4430000 | ||
1077 | CONFIG_EARLY_PRINTK=y | ||
1078 | # CONFIG_STACK_DEBUG is not set | 1109 | # CONFIG_STACK_DEBUG is not set |
1079 | # CONFIG_DEBUG_STACK_USAGE is not set | 1110 | # CONFIG_DEBUG_STACK_USAGE is not set |
1080 | # CONFIG_4KSTACKS is not set | 1111 | # CONFIG_4KSTACKS is not set |
@@ -1088,7 +1119,11 @@ CONFIG_DUMP_CODE=y | |||
1088 | # CONFIG_KEYS is not set | 1119 | # CONFIG_KEYS is not set |
1089 | # CONFIG_SECURITY is not set | 1120 | # CONFIG_SECURITY is not set |
1090 | # CONFIG_SECURITYFS is not set | 1121 | # CONFIG_SECURITYFS is not set |
1091 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1122 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
1123 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
1124 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
1125 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
1126 | CONFIG_DEFAULT_SECURITY="" | ||
1092 | # CONFIG_CRYPTO is not set | 1127 | # CONFIG_CRYPTO is not set |
1093 | # CONFIG_BINARY_PRINTF is not set | 1128 | # CONFIG_BINARY_PRINTF is not set |
1094 | 1129 | ||
diff --git a/arch/sh/configs/microdev_defconfig b/arch/sh/configs/microdev_defconfig index 6bb5976aff2a..7d43fabdc073 100644 --- a/arch/sh/configs/microdev_defconfig +++ b/arch/sh/configs/microdev_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.31 | 3 | # Linux kernel version: 2.6.33-rc2 |
4 | # Thu Sep 24 18:14:35 2009 | 4 | # Mon Jan 4 11:40:41 2010 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_SUPERH32=y | 7 | CONFIG_SUPERH32=y |
@@ -20,6 +20,7 @@ CONFIG_GENERIC_TIME=y | |||
20 | CONFIG_GENERIC_CLOCKEVENTS=y | 20 | CONFIG_GENERIC_CLOCKEVENTS=y |
21 | # CONFIG_ARCH_SUSPEND_POSSIBLE is not set | 21 | # CONFIG_ARCH_SUSPEND_POSSIBLE is not set |
22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y | 22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y |
23 | CONFIG_SYS_SUPPORTS_HUGETLBFS=y | ||
23 | CONFIG_SYS_SUPPORTS_TMU=y | 24 | CONFIG_SYS_SUPPORTS_TMU=y |
24 | CONFIG_STACKTRACE_SUPPORT=y | 25 | CONFIG_STACKTRACE_SUPPORT=y |
25 | CONFIG_LOCKDEP_SUPPORT=y | 26 | CONFIG_LOCKDEP_SUPPORT=y |
@@ -29,6 +30,7 @@ CONFIG_HAVE_LATENCYTOP_SUPPORT=y | |||
29 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | 30 | CONFIG_ARCH_NO_VIRT_TO_BUS=y |
30 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y | 31 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y |
31 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y | 32 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y |
33 | CONFIG_DMA_NONCOHERENT=y | ||
32 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 34 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
33 | CONFIG_CONSTRUCTORS=y | 35 | CONFIG_CONSTRUCTORS=y |
34 | 36 | ||
@@ -60,6 +62,7 @@ CONFIG_BSD_PROCESS_ACCT=y | |||
60 | # | 62 | # |
61 | CONFIG_TREE_RCU=y | 63 | CONFIG_TREE_RCU=y |
62 | # CONFIG_TREE_PREEMPT_RCU is not set | 64 | # CONFIG_TREE_PREEMPT_RCU is not set |
65 | # CONFIG_TINY_RCU is not set | ||
63 | # CONFIG_RCU_TRACE is not set | 66 | # CONFIG_RCU_TRACE is not set |
64 | CONFIG_RCU_FANOUT=32 | 67 | CONFIG_RCU_FANOUT=32 |
65 | # CONFIG_RCU_FANOUT_EXACT is not set | 68 | # CONFIG_RCU_FANOUT_EXACT is not set |
@@ -98,6 +101,7 @@ CONFIG_EVENTFD=y | |||
98 | CONFIG_SHMEM=y | 101 | CONFIG_SHMEM=y |
99 | CONFIG_AIO=y | 102 | CONFIG_AIO=y |
100 | CONFIG_HAVE_PERF_EVENTS=y | 103 | CONFIG_HAVE_PERF_EVENTS=y |
104 | CONFIG_PERF_USE_VMALLOC=y | ||
101 | 105 | ||
102 | # | 106 | # |
103 | # Kernel Performance Events And Counters | 107 | # Kernel Performance Events And Counters |
@@ -115,6 +119,7 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
115 | CONFIG_HAVE_KPROBES=y | 119 | CONFIG_HAVE_KPROBES=y |
116 | CONFIG_HAVE_KRETPROBES=y | 120 | CONFIG_HAVE_KRETPROBES=y |
117 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 121 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
122 | CONFIG_HAVE_DMA_ATTRS=y | ||
118 | CONFIG_HAVE_CLK=y | 123 | CONFIG_HAVE_CLK=y |
119 | CONFIG_HAVE_DMA_API_DEBUG=y | 124 | CONFIG_HAVE_DMA_API_DEBUG=y |
120 | 125 | ||
@@ -136,14 +141,41 @@ CONFIG_LBDAF=y | |||
136 | # IO Schedulers | 141 | # IO Schedulers |
137 | # | 142 | # |
138 | CONFIG_IOSCHED_NOOP=y | 143 | CONFIG_IOSCHED_NOOP=y |
139 | CONFIG_IOSCHED_AS=y | ||
140 | CONFIG_IOSCHED_DEADLINE=y | 144 | CONFIG_IOSCHED_DEADLINE=y |
141 | CONFIG_IOSCHED_CFQ=y | 145 | CONFIG_IOSCHED_CFQ=y |
142 | CONFIG_DEFAULT_AS=y | ||
143 | # CONFIG_DEFAULT_DEADLINE is not set | 146 | # CONFIG_DEFAULT_DEADLINE is not set |
144 | # CONFIG_DEFAULT_CFQ is not set | 147 | CONFIG_DEFAULT_CFQ=y |
145 | # CONFIG_DEFAULT_NOOP is not set | 148 | # CONFIG_DEFAULT_NOOP is not set |
146 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 149 | CONFIG_DEFAULT_IOSCHED="cfq" |
150 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
151 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
152 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
153 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
154 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
155 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
156 | # CONFIG_INLINE_SPIN_UNLOCK is not set | ||
157 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
158 | # CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set | ||
159 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
160 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
161 | # CONFIG_INLINE_READ_LOCK is not set | ||
162 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
163 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
164 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
165 | # CONFIG_INLINE_READ_UNLOCK is not set | ||
166 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
167 | # CONFIG_INLINE_READ_UNLOCK_IRQ is not set | ||
168 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
169 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
170 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
171 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
172 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
173 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
174 | # CONFIG_INLINE_WRITE_UNLOCK is not set | ||
175 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
176 | # CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set | ||
177 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
178 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
147 | # CONFIG_FREEZER is not set | 179 | # CONFIG_FREEZER is not set |
148 | 180 | ||
149 | # | 181 | # |
@@ -225,8 +257,6 @@ CONFIG_SPLIT_PTLOCK_CPUS=4 | |||
225 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 257 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
226 | CONFIG_ZONE_DMA_FLAG=0 | 258 | CONFIG_ZONE_DMA_FLAG=0 |
227 | CONFIG_NR_QUICK=2 | 259 | CONFIG_NR_QUICK=2 |
228 | CONFIG_HAVE_MLOCK=y | ||
229 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
230 | # CONFIG_KSM is not set | 260 | # CONFIG_KSM is not set |
231 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | 261 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 |
232 | 262 | ||
@@ -272,8 +302,8 @@ CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | |||
272 | # | 302 | # |
273 | # DMA support | 303 | # DMA support |
274 | # | 304 | # |
275 | CONFIG_SH_DMA_API=y | ||
276 | CONFIG_SH_DMA=y | 305 | CONFIG_SH_DMA=y |
306 | CONFIG_SH_DMA_API=y | ||
277 | CONFIG_NR_ONCHIP_DMA_CHANNELS=6 | 307 | CONFIG_NR_ONCHIP_DMA_CHANNELS=6 |
278 | # CONFIG_NR_DMA_CHANNELS_BOOL is not set | 308 | # CONFIG_NR_DMA_CHANNELS_BOOL is not set |
279 | 309 | ||
@@ -312,7 +342,6 @@ CONFIG_GUSA=y | |||
312 | CONFIG_ZERO_PAGE_OFFSET=0x00001000 | 342 | CONFIG_ZERO_PAGE_OFFSET=0x00001000 |
313 | CONFIG_BOOT_LINK_OFFSET=0x00800000 | 343 | CONFIG_BOOT_LINK_OFFSET=0x00800000 |
314 | CONFIG_ENTRY_OFFSET=0x00001000 | 344 | CONFIG_ENTRY_OFFSET=0x00001000 |
315 | # CONFIG_UBC_WAKEUP is not set | ||
316 | CONFIG_CMDLINE_OVERWRITE=y | 345 | CONFIG_CMDLINE_OVERWRITE=y |
317 | # CONFIG_CMDLINE_EXTEND is not set | 346 | # CONFIG_CMDLINE_EXTEND is not set |
318 | CONFIG_CMDLINE="console=ttySC0,115200 root=/dev/hda1" | 347 | CONFIG_CMDLINE="console=ttySC0,115200 root=/dev/hda1" |
@@ -412,9 +441,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
412 | # CONFIG_AF_RXRPC is not set | 441 | # CONFIG_AF_RXRPC is not set |
413 | CONFIG_WIRELESS=y | 442 | CONFIG_WIRELESS=y |
414 | # CONFIG_CFG80211 is not set | 443 | # CONFIG_CFG80211 is not set |
415 | CONFIG_CFG80211_DEFAULT_PS_VALUE=0 | ||
416 | # CONFIG_WIRELESS_OLD_REGULATORY is not set | ||
417 | # CONFIG_WIRELESS_EXT is not set | ||
418 | # CONFIG_LIB80211 is not set | 444 | # CONFIG_LIB80211 is not set |
419 | 445 | ||
420 | # | 446 | # |
@@ -443,6 +469,10 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y | |||
443 | CONFIG_BLK_DEV=y | 469 | CONFIG_BLK_DEV=y |
444 | # CONFIG_BLK_DEV_COW_COMMON is not set | 470 | # CONFIG_BLK_DEV_COW_COMMON is not set |
445 | # CONFIG_BLK_DEV_LOOP is not set | 471 | # CONFIG_BLK_DEV_LOOP is not set |
472 | |||
473 | # | ||
474 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
475 | # | ||
446 | # CONFIG_BLK_DEV_NBD is not set | 476 | # CONFIG_BLK_DEV_NBD is not set |
447 | CONFIG_BLK_DEV_RAM=y | 477 | CONFIG_BLK_DEV_RAM=y |
448 | CONFIG_BLK_DEV_RAM_COUNT=16 | 478 | CONFIG_BLK_DEV_RAM_COUNT=16 |
@@ -517,11 +547,11 @@ CONFIG_SMC91X=y | |||
517 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | 547 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set |
518 | # CONFIG_B44 is not set | 548 | # CONFIG_B44 is not set |
519 | # CONFIG_KS8842 is not set | 549 | # CONFIG_KS8842 is not set |
550 | # CONFIG_KS8851_MLL is not set | ||
520 | CONFIG_NETDEV_1000=y | 551 | CONFIG_NETDEV_1000=y |
521 | CONFIG_NETDEV_10000=y | 552 | CONFIG_NETDEV_10000=y |
522 | CONFIG_WLAN=y | 553 | CONFIG_WLAN=y |
523 | # CONFIG_WLAN_PRE80211 is not set | 554 | # CONFIG_HOSTAP is not set |
524 | # CONFIG_WLAN_80211 is not set | ||
525 | 555 | ||
526 | # | 556 | # |
527 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 557 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -616,6 +646,7 @@ CONFIG_SSB_POSSIBLE=y | |||
616 | # | 646 | # |
617 | # CONFIG_MFD_CORE is not set | 647 | # CONFIG_MFD_CORE is not set |
618 | # CONFIG_MFD_SM501 is not set | 648 | # CONFIG_MFD_SM501 is not set |
649 | # CONFIG_MFD_SH_MOBILE_SDHI is not set | ||
619 | # CONFIG_HTC_PASIC3 is not set | 650 | # CONFIG_HTC_PASIC3 is not set |
620 | # CONFIG_MFD_TMIO is not set | 651 | # CONFIG_MFD_TMIO is not set |
621 | # CONFIG_REGULATOR is not set | 652 | # CONFIG_REGULATOR is not set |
@@ -835,10 +866,11 @@ CONFIG_FRAME_WARN=1024 | |||
835 | # CONFIG_DEBUG_FS is not set | 866 | # CONFIG_DEBUG_FS is not set |
836 | # CONFIG_HEADERS_CHECK is not set | 867 | # CONFIG_HEADERS_CHECK is not set |
837 | # CONFIG_DEBUG_KERNEL is not set | 868 | # CONFIG_DEBUG_KERNEL is not set |
838 | # CONFIG_DEBUG_BUGVERBOSE is not set | 869 | CONFIG_DEBUG_BUGVERBOSE=y |
839 | # CONFIG_DEBUG_MEMORY_INIT is not set | 870 | # CONFIG_DEBUG_MEMORY_INIT is not set |
840 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | 871 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set |
841 | # CONFIG_LATENCYTOP is not set | 872 | # CONFIG_LATENCYTOP is not set |
873 | # CONFIG_SYSCTL_SYSCALL_CHECK is not set | ||
842 | CONFIG_HAVE_FUNCTION_TRACER=y | 874 | CONFIG_HAVE_FUNCTION_TRACER=y |
843 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | 875 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y |
844 | CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y | 876 | CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y |
@@ -851,7 +883,6 @@ CONFIG_TRACING_SUPPORT=y | |||
851 | # CONFIG_SAMPLES is not set | 883 | # CONFIG_SAMPLES is not set |
852 | CONFIG_HAVE_ARCH_KGDB=y | 884 | CONFIG_HAVE_ARCH_KGDB=y |
853 | # CONFIG_SH_STANDARD_BIOS is not set | 885 | # CONFIG_SH_STANDARD_BIOS is not set |
854 | # CONFIG_EARLY_SCIF_CONSOLE is not set | ||
855 | # CONFIG_DWARF_UNWINDER is not set | 886 | # CONFIG_DWARF_UNWINDER is not set |
856 | 887 | ||
857 | # | 888 | # |
@@ -860,7 +891,11 @@ CONFIG_HAVE_ARCH_KGDB=y | |||
860 | # CONFIG_KEYS is not set | 891 | # CONFIG_KEYS is not set |
861 | # CONFIG_SECURITY is not set | 892 | # CONFIG_SECURITY is not set |
862 | # CONFIG_SECURITYFS is not set | 893 | # CONFIG_SECURITYFS is not set |
863 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 894 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
895 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
896 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
897 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
898 | CONFIG_DEFAULT_SECURITY="" | ||
864 | CONFIG_CRYPTO=y | 899 | CONFIG_CRYPTO=y |
865 | 900 | ||
866 | # | 901 | # |
diff --git a/arch/sh/configs/migor_defconfig b/arch/sh/configs/migor_defconfig index 65018283c3a8..d2b183117771 100644 --- a/arch/sh/configs/migor_defconfig +++ b/arch/sh/configs/migor_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.31 | 3 | # Linux kernel version: 2.6.33-rc2 |
4 | # Thu Sep 24 18:17:41 2009 | 4 | # Mon Jan 4 11:41:41 2010 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_SUPERH32=y | 7 | CONFIG_SUPERH32=y |
@@ -20,6 +20,7 @@ CONFIG_GENERIC_TIME=y | |||
20 | CONFIG_GENERIC_CLOCKEVENTS=y | 20 | CONFIG_GENERIC_CLOCKEVENTS=y |
21 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 21 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y | 22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y |
23 | CONFIG_SYS_SUPPORTS_HUGETLBFS=y | ||
23 | CONFIG_SYS_SUPPORTS_NUMA=y | 24 | CONFIG_SYS_SUPPORTS_NUMA=y |
24 | CONFIG_SYS_SUPPORTS_CMT=y | 25 | CONFIG_SYS_SUPPORTS_CMT=y |
25 | CONFIG_SYS_SUPPORTS_TMU=y | 26 | CONFIG_SYS_SUPPORTS_TMU=y |
@@ -31,6 +32,7 @@ CONFIG_HAVE_LATENCYTOP_SUPPORT=y | |||
31 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | 32 | CONFIG_ARCH_NO_VIRT_TO_BUS=y |
32 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y | 33 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y |
33 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y | 34 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y |
35 | CONFIG_DMA_NONCOHERENT=y | ||
34 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 36 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
35 | CONFIG_CONSTRUCTORS=y | 37 | CONFIG_CONSTRUCTORS=y |
36 | 38 | ||
@@ -61,6 +63,7 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
61 | # | 63 | # |
62 | CONFIG_TREE_RCU=y | 64 | CONFIG_TREE_RCU=y |
63 | # CONFIG_TREE_PREEMPT_RCU is not set | 65 | # CONFIG_TREE_PREEMPT_RCU is not set |
66 | # CONFIG_TINY_RCU is not set | ||
64 | # CONFIG_RCU_TRACE is not set | 67 | # CONFIG_RCU_TRACE is not set |
65 | CONFIG_RCU_FANOUT=32 | 68 | CONFIG_RCU_FANOUT=32 |
66 | # CONFIG_RCU_FANOUT_EXACT is not set | 69 | # CONFIG_RCU_FANOUT_EXACT is not set |
@@ -100,6 +103,7 @@ CONFIG_EVENTFD=y | |||
100 | CONFIG_SHMEM=y | 103 | CONFIG_SHMEM=y |
101 | CONFIG_AIO=y | 104 | CONFIG_AIO=y |
102 | CONFIG_HAVE_PERF_EVENTS=y | 105 | CONFIG_HAVE_PERF_EVENTS=y |
106 | CONFIG_PERF_USE_VMALLOC=y | ||
103 | 107 | ||
104 | # | 108 | # |
105 | # Kernel Performance Events And Counters | 109 | # Kernel Performance Events And Counters |
@@ -121,6 +125,7 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
121 | CONFIG_HAVE_KPROBES=y | 125 | CONFIG_HAVE_KPROBES=y |
122 | CONFIG_HAVE_KRETPROBES=y | 126 | CONFIG_HAVE_KRETPROBES=y |
123 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 127 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
128 | CONFIG_HAVE_DMA_ATTRS=y | ||
124 | CONFIG_HAVE_CLK=y | 129 | CONFIG_HAVE_CLK=y |
125 | CONFIG_HAVE_DMA_API_DEBUG=y | 130 | CONFIG_HAVE_DMA_API_DEBUG=y |
126 | 131 | ||
@@ -147,14 +152,41 @@ CONFIG_LBDAF=y | |||
147 | # IO Schedulers | 152 | # IO Schedulers |
148 | # | 153 | # |
149 | CONFIG_IOSCHED_NOOP=y | 154 | CONFIG_IOSCHED_NOOP=y |
150 | CONFIG_IOSCHED_AS=y | ||
151 | CONFIG_IOSCHED_DEADLINE=y | 155 | CONFIG_IOSCHED_DEADLINE=y |
152 | CONFIG_IOSCHED_CFQ=y | 156 | CONFIG_IOSCHED_CFQ=y |
153 | CONFIG_DEFAULT_AS=y | ||
154 | # CONFIG_DEFAULT_DEADLINE is not set | 157 | # CONFIG_DEFAULT_DEADLINE is not set |
155 | # CONFIG_DEFAULT_CFQ is not set | 158 | CONFIG_DEFAULT_CFQ=y |
156 | # CONFIG_DEFAULT_NOOP is not set | 159 | # CONFIG_DEFAULT_NOOP is not set |
157 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 160 | CONFIG_DEFAULT_IOSCHED="cfq" |
161 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
162 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
163 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
164 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
165 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
166 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
167 | CONFIG_INLINE_SPIN_UNLOCK=y | ||
168 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
169 | CONFIG_INLINE_SPIN_UNLOCK_IRQ=y | ||
170 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
171 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
172 | # CONFIG_INLINE_READ_LOCK is not set | ||
173 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
174 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
175 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
176 | CONFIG_INLINE_READ_UNLOCK=y | ||
177 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
178 | CONFIG_INLINE_READ_UNLOCK_IRQ=y | ||
179 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
180 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
181 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
182 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
183 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
184 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
185 | CONFIG_INLINE_WRITE_UNLOCK=y | ||
186 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
187 | CONFIG_INLINE_WRITE_UNLOCK_IRQ=y | ||
188 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
189 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
158 | CONFIG_FREEZER=y | 190 | CONFIG_FREEZER=y |
159 | 191 | ||
160 | # | 192 | # |
@@ -240,8 +272,6 @@ CONFIG_SPLIT_PTLOCK_CPUS=4 | |||
240 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 272 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
241 | CONFIG_ZONE_DMA_FLAG=0 | 273 | CONFIG_ZONE_DMA_FLAG=0 |
242 | CONFIG_NR_QUICK=2 | 274 | CONFIG_NR_QUICK=2 |
243 | CONFIG_HAVE_MLOCK=y | ||
244 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
245 | # CONFIG_KSM is not set | 275 | # CONFIG_KSM is not set |
246 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | 276 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 |
247 | 277 | ||
@@ -277,7 +307,6 @@ CONFIG_SH_MIGOR_QVGA=y | |||
277 | # | 307 | # |
278 | CONFIG_SH_TIMER_TMU=y | 308 | CONFIG_SH_TIMER_TMU=y |
279 | # CONFIG_SH_TIMER_CMT is not set | 309 | # CONFIG_SH_TIMER_CMT is not set |
280 | CONFIG_SH_PCLK_FREQ=33333333 | ||
281 | CONFIG_SH_CLK_CPG=y | 310 | CONFIG_SH_CLK_CPG=y |
282 | # CONFIG_NO_HZ is not set | 311 | # CONFIG_NO_HZ is not set |
283 | # CONFIG_HIGH_RES_TIMERS is not set | 312 | # CONFIG_HIGH_RES_TIMERS is not set |
@@ -433,10 +462,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
433 | # CONFIG_AF_RXRPC is not set | 462 | # CONFIG_AF_RXRPC is not set |
434 | CONFIG_WIRELESS=y | 463 | CONFIG_WIRELESS=y |
435 | # CONFIG_CFG80211 is not set | 464 | # CONFIG_CFG80211 is not set |
436 | CONFIG_CFG80211_DEFAULT_PS_VALUE=0 | ||
437 | # CONFIG_WIRELESS_OLD_REGULATORY is not set | ||
438 | CONFIG_WIRELESS_EXT=y | ||
439 | CONFIG_WIRELESS_EXT_SYSFS=y | ||
440 | # CONFIG_LIB80211 is not set | 465 | # CONFIG_LIB80211 is not set |
441 | 466 | ||
442 | # | 467 | # |
@@ -554,6 +579,10 @@ CONFIG_MTD_NAND_PLATFORM=y | |||
554 | CONFIG_BLK_DEV=y | 579 | CONFIG_BLK_DEV=y |
555 | # CONFIG_BLK_DEV_COW_COMMON is not set | 580 | # CONFIG_BLK_DEV_COW_COMMON is not set |
556 | # CONFIG_BLK_DEV_LOOP is not set | 581 | # CONFIG_BLK_DEV_LOOP is not set |
582 | |||
583 | # | ||
584 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
585 | # | ||
557 | # CONFIG_BLK_DEV_NBD is not set | 586 | # CONFIG_BLK_DEV_NBD is not set |
558 | CONFIG_BLK_DEV_RAM=y | 587 | CONFIG_BLK_DEV_RAM=y |
559 | CONFIG_BLK_DEV_RAM_COUNT=16 | 588 | CONFIG_BLK_DEV_RAM_COUNT=16 |
@@ -563,9 +592,11 @@ CONFIG_BLK_DEV_RAM_SIZE=4096 | |||
563 | # CONFIG_ATA_OVER_ETH is not set | 592 | # CONFIG_ATA_OVER_ETH is not set |
564 | # CONFIG_BLK_DEV_HD is not set | 593 | # CONFIG_BLK_DEV_HD is not set |
565 | CONFIG_MISC_DEVICES=y | 594 | CONFIG_MISC_DEVICES=y |
595 | # CONFIG_AD525X_DPOT is not set | ||
566 | # CONFIG_ICS932S401 is not set | 596 | # CONFIG_ICS932S401 is not set |
567 | # CONFIG_ENCLOSURE_SERVICES is not set | 597 | # CONFIG_ENCLOSURE_SERVICES is not set |
568 | # CONFIG_ISL29003 is not set | 598 | # CONFIG_ISL29003 is not set |
599 | # CONFIG_DS1682 is not set | ||
569 | # CONFIG_C2PORT is not set | 600 | # CONFIG_C2PORT is not set |
570 | 601 | ||
571 | # | 602 | # |
@@ -646,11 +677,11 @@ CONFIG_SMC91X=y | |||
646 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | 677 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set |
647 | # CONFIG_B44 is not set | 678 | # CONFIG_B44 is not set |
648 | # CONFIG_KS8842 is not set | 679 | # CONFIG_KS8842 is not set |
680 | # CONFIG_KS8851_MLL is not set | ||
649 | # CONFIG_NETDEV_1000 is not set | 681 | # CONFIG_NETDEV_1000 is not set |
650 | # CONFIG_NETDEV_10000 is not set | 682 | # CONFIG_NETDEV_10000 is not set |
651 | CONFIG_WLAN=y | 683 | CONFIG_WLAN=y |
652 | # CONFIG_WLAN_PRE80211 is not set | 684 | # CONFIG_HOSTAP is not set |
653 | # CONFIG_WLAN_80211 is not set | ||
654 | 685 | ||
655 | # | 686 | # |
656 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 687 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -670,6 +701,7 @@ CONFIG_WLAN=y | |||
670 | CONFIG_INPUT=y | 701 | CONFIG_INPUT=y |
671 | # CONFIG_INPUT_FF_MEMLESS is not set | 702 | # CONFIG_INPUT_FF_MEMLESS is not set |
672 | # CONFIG_INPUT_POLLDEV is not set | 703 | # CONFIG_INPUT_POLLDEV is not set |
704 | # CONFIG_INPUT_SPARSEKMAP is not set | ||
673 | 705 | ||
674 | # | 706 | # |
675 | # Userland interfaces | 707 | # Userland interfaces |
@@ -776,7 +808,6 @@ CONFIG_I2C_SH_MOBILE=y | |||
776 | # | 808 | # |
777 | # Miscellaneous I2C Chip support | 809 | # Miscellaneous I2C Chip support |
778 | # | 810 | # |
779 | # CONFIG_DS1682 is not set | ||
780 | # CONFIG_SENSORS_TSL2550 is not set | 811 | # CONFIG_SENSORS_TSL2550 is not set |
781 | # CONFIG_I2C_DEBUG_CORE is not set | 812 | # CONFIG_I2C_DEBUG_CORE is not set |
782 | # CONFIG_I2C_DEBUG_ALGO is not set | 813 | # CONFIG_I2C_DEBUG_ALGO is not set |
@@ -831,16 +862,19 @@ CONFIG_SSB_POSSIBLE=y | |||
831 | # | 862 | # |
832 | # CONFIG_MFD_CORE is not set | 863 | # CONFIG_MFD_CORE is not set |
833 | # CONFIG_MFD_SM501 is not set | 864 | # CONFIG_MFD_SM501 is not set |
865 | # CONFIG_MFD_SH_MOBILE_SDHI is not set | ||
834 | # CONFIG_HTC_PASIC3 is not set | 866 | # CONFIG_HTC_PASIC3 is not set |
835 | # CONFIG_TPS65010 is not set | 867 | # CONFIG_TPS65010 is not set |
836 | # CONFIG_TWL4030_CORE is not set | 868 | # CONFIG_TWL4030_CORE is not set |
837 | # CONFIG_MFD_TMIO is not set | 869 | # CONFIG_MFD_TMIO is not set |
838 | # CONFIG_PMIC_DA903X is not set | 870 | # CONFIG_PMIC_DA903X is not set |
871 | # CONFIG_PMIC_ADP5520 is not set | ||
839 | # CONFIG_MFD_WM8400 is not set | 872 | # CONFIG_MFD_WM8400 is not set |
840 | # CONFIG_MFD_WM831X is not set | 873 | # CONFIG_MFD_WM831X is not set |
841 | # CONFIG_MFD_WM8350_I2C is not set | 874 | # CONFIG_MFD_WM8350_I2C is not set |
842 | # CONFIG_MFD_PCF50633 is not set | 875 | # CONFIG_MFD_PCF50633 is not set |
843 | # CONFIG_AB3100_CORE is not set | 876 | # CONFIG_AB3100_CORE is not set |
877 | # CONFIG_MFD_88PM8607 is not set | ||
844 | # CONFIG_REGULATOR is not set | 878 | # CONFIG_REGULATOR is not set |
845 | CONFIG_MEDIA_SUPPORT=y | 879 | CONFIG_MEDIA_SUPPORT=y |
846 | 880 | ||
@@ -857,6 +891,8 @@ CONFIG_VIDEO_MEDIA=y | |||
857 | # | 891 | # |
858 | # Multimedia drivers | 892 | # Multimedia drivers |
859 | # | 893 | # |
894 | CONFIG_IR_CORE=y | ||
895 | CONFIG_VIDEO_IR=y | ||
860 | # CONFIG_MEDIA_ATTACH is not set | 896 | # CONFIG_MEDIA_ATTACH is not set |
861 | CONFIG_MEDIA_TUNER=y | 897 | CONFIG_MEDIA_TUNER=y |
862 | # CONFIG_MEDIA_TUNER_CUSTOMISE is not set | 898 | # CONFIG_MEDIA_TUNER_CUSTOMISE is not set |
@@ -876,6 +912,7 @@ CONFIG_VIDEO_CAPTURE_DRIVERS=y | |||
876 | # CONFIG_VIDEO_ADV_DEBUG is not set | 912 | # CONFIG_VIDEO_ADV_DEBUG is not set |
877 | # CONFIG_VIDEO_FIXED_MINOR_RANGES is not set | 913 | # CONFIG_VIDEO_FIXED_MINOR_RANGES is not set |
878 | CONFIG_VIDEO_HELPER_CHIPS_AUTO=y | 914 | CONFIG_VIDEO_HELPER_CHIPS_AUTO=y |
915 | CONFIG_VIDEO_IR_I2C=y | ||
879 | # CONFIG_VIDEO_VIVI is not set | 916 | # CONFIG_VIDEO_VIVI is not set |
880 | # CONFIG_VIDEO_SAA5246A is not set | 917 | # CONFIG_VIDEO_SAA5246A is not set |
881 | # CONFIG_VIDEO_SAA5249 is not set | 918 | # CONFIG_VIDEO_SAA5249 is not set |
@@ -883,10 +920,13 @@ CONFIG_SOC_CAMERA=y | |||
883 | # CONFIG_SOC_CAMERA_MT9M001 is not set | 920 | # CONFIG_SOC_CAMERA_MT9M001 is not set |
884 | # CONFIG_SOC_CAMERA_MT9M111 is not set | 921 | # CONFIG_SOC_CAMERA_MT9M111 is not set |
885 | # CONFIG_SOC_CAMERA_MT9T031 is not set | 922 | # CONFIG_SOC_CAMERA_MT9T031 is not set |
923 | # CONFIG_SOC_CAMERA_MT9T112 is not set | ||
886 | # CONFIG_SOC_CAMERA_MT9V022 is not set | 924 | # CONFIG_SOC_CAMERA_MT9V022 is not set |
925 | # CONFIG_SOC_CAMERA_RJ54N1 is not set | ||
887 | CONFIG_SOC_CAMERA_TW9910=y | 926 | CONFIG_SOC_CAMERA_TW9910=y |
888 | # CONFIG_SOC_CAMERA_PLATFORM is not set | 927 | # CONFIG_SOC_CAMERA_PLATFORM is not set |
889 | CONFIG_SOC_CAMERA_OV772X=y | 928 | CONFIG_SOC_CAMERA_OV772X=y |
929 | # CONFIG_SOC_CAMERA_OV9640 is not set | ||
890 | CONFIG_VIDEO_SH_MOBILE_CEU=y | 930 | CONFIG_VIDEO_SH_MOBILE_CEU=y |
891 | # CONFIG_RADIO_ADAPTERS is not set | 931 | # CONFIG_RADIO_ADAPTERS is not set |
892 | # CONFIG_DAB is not set | 932 | # CONFIG_DAB is not set |
@@ -1009,10 +1049,12 @@ CONFIG_USB_GADGET_DUALSPEED=y | |||
1009 | # CONFIG_USB_ETH is not set | 1049 | # CONFIG_USB_ETH is not set |
1010 | # CONFIG_USB_GADGETFS is not set | 1050 | # CONFIG_USB_GADGETFS is not set |
1011 | # CONFIG_USB_FILE_STORAGE is not set | 1051 | # CONFIG_USB_FILE_STORAGE is not set |
1012 | CONFIG_USB_G_SERIAL=y | 1052 | # CONFIG_USB_MASS_STORAGE is not set |
1053 | CONFIG_USB_G_SERIAL=m | ||
1013 | # CONFIG_USB_MIDI_GADGET is not set | 1054 | # CONFIG_USB_MIDI_GADGET is not set |
1014 | # CONFIG_USB_G_PRINTER is not set | 1055 | # CONFIG_USB_G_PRINTER is not set |
1015 | # CONFIG_USB_CDC_COMPOSITE is not set | 1056 | # CONFIG_USB_CDC_COMPOSITE is not set |
1057 | # CONFIG_USB_G_MULTI is not set | ||
1016 | 1058 | ||
1017 | # | 1059 | # |
1018 | # OTG and related infrastructure | 1060 | # OTG and related infrastructure |
@@ -1051,6 +1093,7 @@ CONFIG_RTC_DRV_RS5C372=y | |||
1051 | # CONFIG_RTC_DRV_PCF8563 is not set | 1093 | # CONFIG_RTC_DRV_PCF8563 is not set |
1052 | # CONFIG_RTC_DRV_PCF8583 is not set | 1094 | # CONFIG_RTC_DRV_PCF8583 is not set |
1053 | # CONFIG_RTC_DRV_M41T80 is not set | 1095 | # CONFIG_RTC_DRV_M41T80 is not set |
1096 | # CONFIG_RTC_DRV_BQ32K is not set | ||
1054 | # CONFIG_RTC_DRV_S35390A is not set | 1097 | # CONFIG_RTC_DRV_S35390A is not set |
1055 | # CONFIG_RTC_DRV_FM3130 is not set | 1098 | # CONFIG_RTC_DRV_FM3130 is not set |
1056 | # CONFIG_RTC_DRV_RX8581 is not set | 1099 | # CONFIG_RTC_DRV_RX8581 is not set |
@@ -1071,7 +1114,9 @@ CONFIG_RTC_DRV_RS5C372=y | |||
1071 | # CONFIG_RTC_DRV_M48T86 is not set | 1114 | # CONFIG_RTC_DRV_M48T86 is not set |
1072 | # CONFIG_RTC_DRV_M48T35 is not set | 1115 | # CONFIG_RTC_DRV_M48T35 is not set |
1073 | # CONFIG_RTC_DRV_M48T59 is not set | 1116 | # CONFIG_RTC_DRV_M48T59 is not set |
1117 | # CONFIG_RTC_DRV_MSM6242 is not set | ||
1074 | # CONFIG_RTC_DRV_BQ4802 is not set | 1118 | # CONFIG_RTC_DRV_BQ4802 is not set |
1119 | # CONFIG_RTC_DRV_RP5C01 is not set | ||
1075 | # CONFIG_RTC_DRV_V3020 is not set | 1120 | # CONFIG_RTC_DRV_V3020 is not set |
1076 | 1121 | ||
1077 | # | 1122 | # |
@@ -1098,6 +1143,7 @@ CONFIG_UIO_PDRV_GENIRQ=y | |||
1098 | # CONFIG_EXT2_FS is not set | 1143 | # CONFIG_EXT2_FS is not set |
1099 | # CONFIG_EXT3_FS is not set | 1144 | # CONFIG_EXT3_FS is not set |
1100 | # CONFIG_EXT4_FS is not set | 1145 | # CONFIG_EXT4_FS is not set |
1146 | CONFIG_EXT4_USE_FOR_EXT23=y | ||
1101 | # CONFIG_REISERFS_FS is not set | 1147 | # CONFIG_REISERFS_FS is not set |
1102 | # CONFIG_JFS_FS is not set | 1148 | # CONFIG_JFS_FS is not set |
1103 | # CONFIG_FS_POSIX_ACL is not set | 1149 | # CONFIG_FS_POSIX_ACL is not set |
@@ -1206,10 +1252,11 @@ CONFIG_DEBUG_FS=y | |||
1206 | # CONFIG_HEADERS_CHECK is not set | 1252 | # CONFIG_HEADERS_CHECK is not set |
1207 | # CONFIG_DEBUG_KERNEL is not set | 1253 | # CONFIG_DEBUG_KERNEL is not set |
1208 | CONFIG_STACKTRACE=y | 1254 | CONFIG_STACKTRACE=y |
1209 | # CONFIG_DEBUG_BUGVERBOSE is not set | 1255 | CONFIG_DEBUG_BUGVERBOSE=y |
1210 | # CONFIG_DEBUG_MEMORY_INIT is not set | 1256 | # CONFIG_DEBUG_MEMORY_INIT is not set |
1211 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | 1257 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set |
1212 | # CONFIG_LATENCYTOP is not set | 1258 | # CONFIG_LATENCYTOP is not set |
1259 | # CONFIG_SYSCTL_SYSCALL_CHECK is not set | ||
1213 | CONFIG_NOP_TRACER=y | 1260 | CONFIG_NOP_TRACER=y |
1214 | CONFIG_HAVE_FUNCTION_TRACER=y | 1261 | CONFIG_HAVE_FUNCTION_TRACER=y |
1215 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | 1262 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y |
@@ -1229,9 +1276,6 @@ CONFIG_TRACING_SUPPORT=y | |||
1229 | # CONFIG_SAMPLES is not set | 1276 | # CONFIG_SAMPLES is not set |
1230 | CONFIG_HAVE_ARCH_KGDB=y | 1277 | CONFIG_HAVE_ARCH_KGDB=y |
1231 | # CONFIG_SH_STANDARD_BIOS is not set | 1278 | # CONFIG_SH_STANDARD_BIOS is not set |
1232 | CONFIG_EARLY_SCIF_CONSOLE=y | ||
1233 | CONFIG_EARLY_SCIF_CONSOLE_PORT=0xffe00000 | ||
1234 | CONFIG_EARLY_PRINTK=y | ||
1235 | # CONFIG_DWARF_UNWINDER is not set | 1279 | # CONFIG_DWARF_UNWINDER is not set |
1236 | 1280 | ||
1237 | # | 1281 | # |
@@ -1240,7 +1284,11 @@ CONFIG_EARLY_PRINTK=y | |||
1240 | # CONFIG_KEYS is not set | 1284 | # CONFIG_KEYS is not set |
1241 | # CONFIG_SECURITY is not set | 1285 | # CONFIG_SECURITY is not set |
1242 | # CONFIG_SECURITYFS is not set | 1286 | # CONFIG_SECURITYFS is not set |
1243 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1287 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
1288 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
1289 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
1290 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
1291 | CONFIG_DEFAULT_SECURITY="" | ||
1244 | CONFIG_CRYPTO=y | 1292 | CONFIG_CRYPTO=y |
1245 | 1293 | ||
1246 | # | 1294 | # |
diff --git a/arch/sh/configs/polaris_defconfig b/arch/sh/configs/polaris_defconfig index 7fc1952419aa..d50c0314281e 100644 --- a/arch/sh/configs/polaris_defconfig +++ b/arch/sh/configs/polaris_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.31 | 3 | # Linux kernel version: 2.6.33-rc2 |
4 | # Thu Sep 24 18:20:53 2009 | 4 | # Mon Jan 4 11:45:25 2010 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_SUPERH32=y | 7 | CONFIG_SUPERH32=y |
@@ -29,6 +29,7 @@ CONFIG_HAVE_LATENCYTOP_SUPPORT=y | |||
29 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | 29 | CONFIG_ARCH_NO_VIRT_TO_BUS=y |
30 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y | 30 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y |
31 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y | 31 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y |
32 | CONFIG_DMA_NONCOHERENT=y | ||
32 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 33 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
33 | CONFIG_CONSTRUCTORS=y | 34 | CONFIG_CONSTRUCTORS=y |
34 | 35 | ||
@@ -63,6 +64,7 @@ CONFIG_AUDIT=y | |||
63 | # | 64 | # |
64 | CONFIG_TREE_RCU=y | 65 | CONFIG_TREE_RCU=y |
65 | # CONFIG_TREE_PREEMPT_RCU is not set | 66 | # CONFIG_TREE_PREEMPT_RCU is not set |
67 | # CONFIG_TINY_RCU is not set | ||
66 | # CONFIG_RCU_TRACE is not set | 68 | # CONFIG_RCU_TRACE is not set |
67 | CONFIG_RCU_FANOUT=32 | 69 | CONFIG_RCU_FANOUT=32 |
68 | # CONFIG_RCU_FANOUT_EXACT is not set | 70 | # CONFIG_RCU_FANOUT_EXACT is not set |
@@ -102,6 +104,7 @@ CONFIG_EVENTFD=y | |||
102 | CONFIG_SHMEM=y | 104 | CONFIG_SHMEM=y |
103 | CONFIG_AIO=y | 105 | CONFIG_AIO=y |
104 | CONFIG_HAVE_PERF_EVENTS=y | 106 | CONFIG_HAVE_PERF_EVENTS=y |
107 | CONFIG_PERF_USE_VMALLOC=y | ||
105 | 108 | ||
106 | # | 109 | # |
107 | # Kernel Performance Events And Counters | 110 | # Kernel Performance Events And Counters |
@@ -120,6 +123,7 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
120 | CONFIG_HAVE_KPROBES=y | 123 | CONFIG_HAVE_KPROBES=y |
121 | CONFIG_HAVE_KRETPROBES=y | 124 | CONFIG_HAVE_KRETPROBES=y |
122 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 125 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
126 | CONFIG_HAVE_DMA_ATTRS=y | ||
123 | CONFIG_HAVE_CLK=y | 127 | CONFIG_HAVE_CLK=y |
124 | CONFIG_HAVE_DMA_API_DEBUG=y | 128 | CONFIG_HAVE_DMA_API_DEBUG=y |
125 | 129 | ||
@@ -146,14 +150,41 @@ CONFIG_LBDAF=y | |||
146 | # IO Schedulers | 150 | # IO Schedulers |
147 | # | 151 | # |
148 | CONFIG_IOSCHED_NOOP=y | 152 | CONFIG_IOSCHED_NOOP=y |
149 | # CONFIG_IOSCHED_AS is not set | ||
150 | # CONFIG_IOSCHED_DEADLINE is not set | 153 | # CONFIG_IOSCHED_DEADLINE is not set |
151 | CONFIG_IOSCHED_CFQ=y | 154 | CONFIG_IOSCHED_CFQ=y |
152 | # CONFIG_DEFAULT_AS is not set | ||
153 | # CONFIG_DEFAULT_DEADLINE is not set | 155 | # CONFIG_DEFAULT_DEADLINE is not set |
154 | CONFIG_DEFAULT_CFQ=y | 156 | CONFIG_DEFAULT_CFQ=y |
155 | # CONFIG_DEFAULT_NOOP is not set | 157 | # CONFIG_DEFAULT_NOOP is not set |
156 | CONFIG_DEFAULT_IOSCHED="cfq" | 158 | CONFIG_DEFAULT_IOSCHED="cfq" |
159 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
160 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
161 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
162 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
163 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
164 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
165 | # CONFIG_INLINE_SPIN_UNLOCK is not set | ||
166 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
167 | # CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set | ||
168 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
169 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
170 | # CONFIG_INLINE_READ_LOCK is not set | ||
171 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
172 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
173 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
174 | # CONFIG_INLINE_READ_UNLOCK is not set | ||
175 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
176 | # CONFIG_INLINE_READ_UNLOCK_IRQ is not set | ||
177 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
178 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
179 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
180 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
181 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
182 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
183 | # CONFIG_INLINE_WRITE_UNLOCK is not set | ||
184 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
185 | # CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set | ||
186 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
187 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
157 | # CONFIG_FREEZER is not set | 188 | # CONFIG_FREEZER is not set |
158 | 189 | ||
159 | # | 190 | # |
@@ -225,12 +256,10 @@ CONFIG_FLATMEM=y | |||
225 | CONFIG_FLAT_NODE_MEM_MAP=y | 256 | CONFIG_FLAT_NODE_MEM_MAP=y |
226 | CONFIG_SPARSEMEM_STATIC=y | 257 | CONFIG_SPARSEMEM_STATIC=y |
227 | CONFIG_PAGEFLAGS_EXTENDED=y | 258 | CONFIG_PAGEFLAGS_EXTENDED=y |
228 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 259 | CONFIG_SPLIT_PTLOCK_CPUS=999999 |
229 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 260 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
230 | CONFIG_ZONE_DMA_FLAG=0 | 261 | CONFIG_ZONE_DMA_FLAG=0 |
231 | CONFIG_NR_QUICK=2 | 262 | CONFIG_NR_QUICK=2 |
232 | CONFIG_HAVE_MLOCK=y | ||
233 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
234 | # CONFIG_KSM is not set | 263 | # CONFIG_KSM is not set |
235 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | 264 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 |
236 | 265 | ||
@@ -279,8 +308,8 @@ CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | |||
279 | # | 308 | # |
280 | # DMA support | 309 | # DMA support |
281 | # | 310 | # |
282 | CONFIG_SH_DMA_API=y | ||
283 | CONFIG_SH_DMA=y | 311 | CONFIG_SH_DMA=y |
312 | CONFIG_SH_DMA_API=y | ||
284 | CONFIG_NR_ONCHIP_DMA_CHANNELS=6 | 313 | CONFIG_NR_ONCHIP_DMA_CHANNELS=6 |
285 | # CONFIG_NR_DMA_CHANNELS_BOOL is not set | 314 | # CONFIG_NR_DMA_CHANNELS_BOOL is not set |
286 | 315 | ||
@@ -409,7 +438,13 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
409 | # CONFIG_IRDA is not set | 438 | # CONFIG_IRDA is not set |
410 | # CONFIG_BT is not set | 439 | # CONFIG_BT is not set |
411 | # CONFIG_AF_RXRPC is not set | 440 | # CONFIG_AF_RXRPC is not set |
412 | # CONFIG_WIRELESS is not set | 441 | CONFIG_WIRELESS=y |
442 | # CONFIG_CFG80211 is not set | ||
443 | # CONFIG_LIB80211 is not set | ||
444 | |||
445 | # | ||
446 | # CFG80211 needs to be enabled for MAC80211 | ||
447 | # | ||
413 | # CONFIG_WIMAX is not set | 448 | # CONFIG_WIMAX is not set |
414 | # CONFIG_RFKILL is not set | 449 | # CONFIG_RFKILL is not set |
415 | # CONFIG_NET_9P is not set | 450 | # CONFIG_NET_9P is not set |
@@ -525,6 +560,10 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=2 | |||
525 | CONFIG_BLK_DEV=y | 560 | CONFIG_BLK_DEV=y |
526 | # CONFIG_BLK_DEV_COW_COMMON is not set | 561 | # CONFIG_BLK_DEV_COW_COMMON is not set |
527 | # CONFIG_BLK_DEV_LOOP is not set | 562 | # CONFIG_BLK_DEV_LOOP is not set |
563 | |||
564 | # | ||
565 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
566 | # | ||
528 | # CONFIG_BLK_DEV_NBD is not set | 567 | # CONFIG_BLK_DEV_NBD is not set |
529 | # CONFIG_BLK_DEV_RAM is not set | 568 | # CONFIG_BLK_DEV_RAM is not set |
530 | # CONFIG_CDROM_PKTCDVD is not set | 569 | # CONFIG_CDROM_PKTCDVD is not set |
@@ -595,11 +634,11 @@ CONFIG_SMSC911X=y | |||
595 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | 634 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set |
596 | # CONFIG_B44 is not set | 635 | # CONFIG_B44 is not set |
597 | # CONFIG_KS8842 is not set | 636 | # CONFIG_KS8842 is not set |
637 | # CONFIG_KS8851_MLL is not set | ||
598 | # CONFIG_NETDEV_1000 is not set | 638 | # CONFIG_NETDEV_1000 is not set |
599 | # CONFIG_NETDEV_10000 is not set | 639 | # CONFIG_NETDEV_10000 is not set |
600 | CONFIG_WLAN=y | 640 | CONFIG_WLAN=y |
601 | # CONFIG_WLAN_PRE80211 is not set | 641 | # CONFIG_HOSTAP is not set |
602 | # CONFIG_WLAN_80211 is not set | ||
603 | 642 | ||
604 | # | 643 | # |
605 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 644 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -619,6 +658,7 @@ CONFIG_WLAN=y | |||
619 | CONFIG_INPUT=y | 658 | CONFIG_INPUT=y |
620 | # CONFIG_INPUT_FF_MEMLESS is not set | 659 | # CONFIG_INPUT_FF_MEMLESS is not set |
621 | # CONFIG_INPUT_POLLDEV is not set | 660 | # CONFIG_INPUT_POLLDEV is not set |
661 | # CONFIG_INPUT_SPARSEKMAP is not set | ||
622 | 662 | ||
623 | # | 663 | # |
624 | # Userland interfaces | 664 | # Userland interfaces |
@@ -657,7 +697,6 @@ CONFIG_SERIAL_NONSTANDARD=y | |||
657 | # CONFIG_N_HDLC is not set | 697 | # CONFIG_N_HDLC is not set |
658 | # CONFIG_RISCOM8 is not set | 698 | # CONFIG_RISCOM8 is not set |
659 | # CONFIG_SPECIALIX is not set | 699 | # CONFIG_SPECIALIX is not set |
660 | # CONFIG_RIO is not set | ||
661 | # CONFIG_STALDRV is not set | 700 | # CONFIG_STALDRV is not set |
662 | 701 | ||
663 | # | 702 | # |
@@ -705,6 +744,7 @@ CONFIG_SSB_POSSIBLE=y | |||
705 | # | 744 | # |
706 | # CONFIG_MFD_CORE is not set | 745 | # CONFIG_MFD_CORE is not set |
707 | # CONFIG_MFD_SM501 is not set | 746 | # CONFIG_MFD_SM501 is not set |
747 | # CONFIG_MFD_SH_MOBILE_SDHI is not set | ||
708 | # CONFIG_HTC_PASIC3 is not set | 748 | # CONFIG_HTC_PASIC3 is not set |
709 | # CONFIG_MFD_TMIO is not set | 749 | # CONFIG_MFD_TMIO is not set |
710 | # CONFIG_REGULATOR is not set | 750 | # CONFIG_REGULATOR is not set |
@@ -764,7 +804,9 @@ CONFIG_RTC_INTF_DEV=y | |||
764 | # CONFIG_RTC_DRV_M48T86 is not set | 804 | # CONFIG_RTC_DRV_M48T86 is not set |
765 | # CONFIG_RTC_DRV_M48T35 is not set | 805 | # CONFIG_RTC_DRV_M48T35 is not set |
766 | # CONFIG_RTC_DRV_M48T59 is not set | 806 | # CONFIG_RTC_DRV_M48T59 is not set |
807 | # CONFIG_RTC_DRV_MSM6242 is not set | ||
767 | # CONFIG_RTC_DRV_BQ4802 is not set | 808 | # CONFIG_RTC_DRV_BQ4802 is not set |
809 | # CONFIG_RTC_DRV_RP5C01 is not set | ||
768 | # CONFIG_RTC_DRV_V3020 is not set | 810 | # CONFIG_RTC_DRV_V3020 is not set |
769 | 811 | ||
770 | # | 812 | # |
@@ -787,6 +829,7 @@ CONFIG_RTC_DRV_SH=y | |||
787 | # CONFIG_EXT2_FS is not set | 829 | # CONFIG_EXT2_FS is not set |
788 | # CONFIG_EXT3_FS is not set | 830 | # CONFIG_EXT3_FS is not set |
789 | # CONFIG_EXT4_FS is not set | 831 | # CONFIG_EXT4_FS is not set |
832 | CONFIG_EXT4_USE_FOR_EXT23=y | ||
790 | # CONFIG_REISERFS_FS is not set | 833 | # CONFIG_REISERFS_FS is not set |
791 | # CONFIG_JFS_FS is not set | 834 | # CONFIG_JFS_FS is not set |
792 | # CONFIG_FS_POSIX_ACL is not set | 835 | # CONFIG_FS_POSIX_ACL is not set |
@@ -833,7 +876,6 @@ CONFIG_PROC_PAGE_MONITOR=y | |||
833 | CONFIG_SYSFS=y | 876 | CONFIG_SYSFS=y |
834 | CONFIG_TMPFS=y | 877 | CONFIG_TMPFS=y |
835 | # CONFIG_TMPFS_POSIX_ACL is not set | 878 | # CONFIG_TMPFS_POSIX_ACL is not set |
836 | # CONFIG_HUGETLBFS is not set | ||
837 | # CONFIG_HUGETLB_PAGE is not set | 879 | # CONFIG_HUGETLB_PAGE is not set |
838 | # CONFIG_CONFIGFS_FS is not set | 880 | # CONFIG_CONFIGFS_FS is not set |
839 | CONFIG_MISC_FILESYSTEMS=y | 881 | CONFIG_MISC_FILESYSTEMS=y |
@@ -977,9 +1019,6 @@ CONFIG_BRANCH_PROFILE_NONE=y | |||
977 | CONFIG_HAVE_ARCH_KGDB=y | 1019 | CONFIG_HAVE_ARCH_KGDB=y |
978 | # CONFIG_KGDB is not set | 1020 | # CONFIG_KGDB is not set |
979 | # CONFIG_SH_STANDARD_BIOS is not set | 1021 | # CONFIG_SH_STANDARD_BIOS is not set |
980 | CONFIG_EARLY_SCIF_CONSOLE=y | ||
981 | CONFIG_EARLY_SCIF_CONSOLE_PORT=0xa4000150 | ||
982 | CONFIG_EARLY_PRINTK=y | ||
983 | # CONFIG_STACK_DEBUG is not set | 1022 | # CONFIG_STACK_DEBUG is not set |
984 | # CONFIG_DEBUG_STACK_USAGE is not set | 1023 | # CONFIG_DEBUG_STACK_USAGE is not set |
985 | # CONFIG_4KSTACKS is not set | 1024 | # CONFIG_4KSTACKS is not set |
@@ -993,7 +1032,11 @@ CONFIG_DUMP_CODE=y | |||
993 | # CONFIG_KEYS is not set | 1032 | # CONFIG_KEYS is not set |
994 | # CONFIG_SECURITY is not set | 1033 | # CONFIG_SECURITY is not set |
995 | # CONFIG_SECURITYFS is not set | 1034 | # CONFIG_SECURITYFS is not set |
996 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1035 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
1036 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
1037 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
1038 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
1039 | CONFIG_DEFAULT_SECURITY="" | ||
997 | # CONFIG_CRYPTO is not set | 1040 | # CONFIG_CRYPTO is not set |
998 | # CONFIG_BINARY_PRINTF is not set | 1041 | # CONFIG_BINARY_PRINTF is not set |
999 | 1042 | ||
diff --git a/arch/sh/configs/r7780mp_defconfig b/arch/sh/configs/r7780mp_defconfig index 903b021e8d93..efda63d4070a 100644 --- a/arch/sh/configs/r7780mp_defconfig +++ b/arch/sh/configs/r7780mp_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.31 | 3 | # Linux kernel version: 2.6.33-rc2 |
4 | # Thu Sep 24 18:24:31 2009 | 4 | # Mon Jan 4 13:16:13 2010 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_SUPERH32=y | 7 | CONFIG_SUPERH32=y |
@@ -20,6 +20,7 @@ CONFIG_GENERIC_TIME=y | |||
20 | CONFIG_GENERIC_CLOCKEVENTS=y | 20 | CONFIG_GENERIC_CLOCKEVENTS=y |
21 | # CONFIG_ARCH_SUSPEND_POSSIBLE is not set | 21 | # CONFIG_ARCH_SUSPEND_POSSIBLE is not set |
22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y | 22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y |
23 | CONFIG_SYS_SUPPORTS_HUGETLBFS=y | ||
23 | CONFIG_SYS_SUPPORTS_PCI=y | 24 | CONFIG_SYS_SUPPORTS_PCI=y |
24 | CONFIG_SYS_SUPPORTS_TMU=y | 25 | CONFIG_SYS_SUPPORTS_TMU=y |
25 | CONFIG_STACKTRACE_SUPPORT=y | 26 | CONFIG_STACKTRACE_SUPPORT=y |
@@ -31,6 +32,7 @@ CONFIG_ARCH_NO_VIRT_TO_BUS=y | |||
31 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y | 32 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y |
32 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y | 33 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y |
33 | CONFIG_IO_TRAPPED=y | 34 | CONFIG_IO_TRAPPED=y |
35 | CONFIG_DMA_NONCOHERENT=y | ||
34 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 36 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
35 | CONFIG_CONSTRUCTORS=y | 37 | CONFIG_CONSTRUCTORS=y |
36 | 38 | ||
@@ -63,6 +65,7 @@ CONFIG_BSD_PROCESS_ACCT=y | |||
63 | # | 65 | # |
64 | CONFIG_TREE_RCU=y | 66 | CONFIG_TREE_RCU=y |
65 | # CONFIG_TREE_PREEMPT_RCU is not set | 67 | # CONFIG_TREE_PREEMPT_RCU is not set |
68 | # CONFIG_TINY_RCU is not set | ||
66 | # CONFIG_RCU_TRACE is not set | 69 | # CONFIG_RCU_TRACE is not set |
67 | CONFIG_RCU_FANOUT=32 | 70 | CONFIG_RCU_FANOUT=32 |
68 | # CONFIG_RCU_FANOUT_EXACT is not set | 71 | # CONFIG_RCU_FANOUT_EXACT is not set |
@@ -103,6 +106,7 @@ CONFIG_EVENTFD=y | |||
103 | CONFIG_SHMEM=y | 106 | CONFIG_SHMEM=y |
104 | CONFIG_AIO=y | 107 | CONFIG_AIO=y |
105 | CONFIG_HAVE_PERF_EVENTS=y | 108 | CONFIG_HAVE_PERF_EVENTS=y |
109 | CONFIG_PERF_USE_VMALLOC=y | ||
106 | 110 | ||
107 | # | 111 | # |
108 | # Kernel Performance Events And Counters | 112 | # Kernel Performance Events And Counters |
@@ -110,6 +114,7 @@ CONFIG_HAVE_PERF_EVENTS=y | |||
110 | CONFIG_PERF_EVENTS=y | 114 | CONFIG_PERF_EVENTS=y |
111 | CONFIG_EVENT_PROFILE=y | 115 | CONFIG_EVENT_PROFILE=y |
112 | # CONFIG_PERF_COUNTERS is not set | 116 | # CONFIG_PERF_COUNTERS is not set |
117 | # CONFIG_DEBUG_PERF_USE_VMALLOC is not set | ||
113 | CONFIG_VM_EVENT_COUNTERS=y | 118 | CONFIG_VM_EVENT_COUNTERS=y |
114 | CONFIG_PCI_QUIRKS=y | 119 | CONFIG_PCI_QUIRKS=y |
115 | CONFIG_COMPAT_BRK=y | 120 | CONFIG_COMPAT_BRK=y |
@@ -125,6 +130,7 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
125 | CONFIG_HAVE_KPROBES=y | 130 | CONFIG_HAVE_KPROBES=y |
126 | CONFIG_HAVE_KRETPROBES=y | 131 | CONFIG_HAVE_KRETPROBES=y |
127 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 132 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
133 | CONFIG_HAVE_DMA_ATTRS=y | ||
128 | CONFIG_HAVE_CLK=y | 134 | CONFIG_HAVE_CLK=y |
129 | CONFIG_HAVE_DMA_API_DEBUG=y | 135 | CONFIG_HAVE_DMA_API_DEBUG=y |
130 | 136 | ||
@@ -135,6 +141,7 @@ CONFIG_HAVE_DMA_API_DEBUG=y | |||
135 | # CONFIG_SLOW_WORK is not set | 141 | # CONFIG_SLOW_WORK is not set |
136 | CONFIG_HAVE_GENERIC_DMA_COHERENT=y | 142 | CONFIG_HAVE_GENERIC_DMA_COHERENT=y |
137 | CONFIG_SLABINFO=y | 143 | CONFIG_SLABINFO=y |
144 | CONFIG_RT_MUTEXES=y | ||
138 | CONFIG_BASE_SMALL=0 | 145 | CONFIG_BASE_SMALL=0 |
139 | CONFIG_MODULES=y | 146 | CONFIG_MODULES=y |
140 | # CONFIG_MODULE_FORCE_LOAD is not set | 147 | # CONFIG_MODULE_FORCE_LOAD is not set |
@@ -151,14 +158,41 @@ CONFIG_LBDAF=y | |||
151 | # IO Schedulers | 158 | # IO Schedulers |
152 | # | 159 | # |
153 | CONFIG_IOSCHED_NOOP=y | 160 | CONFIG_IOSCHED_NOOP=y |
154 | # CONFIG_IOSCHED_AS is not set | ||
155 | # CONFIG_IOSCHED_DEADLINE is not set | 161 | # CONFIG_IOSCHED_DEADLINE is not set |
156 | # CONFIG_IOSCHED_CFQ is not set | 162 | # CONFIG_IOSCHED_CFQ is not set |
157 | # CONFIG_DEFAULT_AS is not set | ||
158 | # CONFIG_DEFAULT_DEADLINE is not set | 163 | # CONFIG_DEFAULT_DEADLINE is not set |
159 | # CONFIG_DEFAULT_CFQ is not set | 164 | # CONFIG_DEFAULT_CFQ is not set |
160 | CONFIG_DEFAULT_NOOP=y | 165 | CONFIG_DEFAULT_NOOP=y |
161 | CONFIG_DEFAULT_IOSCHED="noop" | 166 | CONFIG_DEFAULT_IOSCHED="noop" |
167 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
168 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
169 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
170 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
171 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
172 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
173 | # CONFIG_INLINE_SPIN_UNLOCK is not set | ||
174 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
175 | # CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set | ||
176 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
177 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
178 | # CONFIG_INLINE_READ_LOCK is not set | ||
179 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
180 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
181 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
182 | # CONFIG_INLINE_READ_UNLOCK is not set | ||
183 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
184 | # CONFIG_INLINE_READ_UNLOCK_IRQ is not set | ||
185 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
186 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
187 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
188 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
189 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
190 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
191 | # CONFIG_INLINE_WRITE_UNLOCK is not set | ||
192 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
193 | # CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set | ||
194 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
195 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
162 | # CONFIG_FREEZER is not set | 196 | # CONFIG_FREEZER is not set |
163 | 197 | ||
164 | # | 198 | # |
@@ -245,8 +279,6 @@ CONFIG_SPLIT_PTLOCK_CPUS=4 | |||
245 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 279 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
246 | CONFIG_ZONE_DMA_FLAG=0 | 280 | CONFIG_ZONE_DMA_FLAG=0 |
247 | CONFIG_NR_QUICK=2 | 281 | CONFIG_NR_QUICK=2 |
248 | CONFIG_HAVE_MLOCK=y | ||
249 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
250 | # CONFIG_KSM is not set | 282 | # CONFIG_KSM is not set |
251 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | 283 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 |
252 | 284 | ||
@@ -342,7 +374,6 @@ CONFIG_CMDLINE="console=ttySC0,115200 root=/dev/sda1" | |||
342 | # Bus options | 374 | # Bus options |
343 | # | 375 | # |
344 | CONFIG_PCI=y | 376 | CONFIG_PCI=y |
345 | CONFIG_SH_PCIDMA_NONCOHERENT=y | ||
346 | # CONFIG_PCIEPORTBUS is not set | 377 | # CONFIG_PCIEPORTBUS is not set |
347 | # CONFIG_ARCH_SUPPORTS_MSI is not set | 378 | # CONFIG_ARCH_SUPPORTS_MSI is not set |
348 | CONFIG_PCI_LEGACY=y | 379 | CONFIG_PCI_LEGACY=y |
@@ -449,10 +480,6 @@ CONFIG_LLC=m | |||
449 | # CONFIG_AF_RXRPC is not set | 480 | # CONFIG_AF_RXRPC is not set |
450 | CONFIG_WIRELESS=y | 481 | CONFIG_WIRELESS=y |
451 | # CONFIG_CFG80211 is not set | 482 | # CONFIG_CFG80211 is not set |
452 | CONFIG_CFG80211_DEFAULT_PS_VALUE=0 | ||
453 | # CONFIG_WIRELESS_OLD_REGULATORY is not set | ||
454 | CONFIG_WIRELESS_EXT=y | ||
455 | CONFIG_WIRELESS_EXT_SYSFS=y | ||
456 | # CONFIG_LIB80211 is not set | 483 | # CONFIG_LIB80211 is not set |
457 | 484 | ||
458 | # | 485 | # |
@@ -535,7 +562,6 @@ CONFIG_MTD_COMPLEX_MAPPINGS=y | |||
535 | CONFIG_MTD_PHYSMAP=y | 562 | CONFIG_MTD_PHYSMAP=y |
536 | # CONFIG_MTD_PHYSMAP_COMPAT is not set | 563 | # CONFIG_MTD_PHYSMAP_COMPAT is not set |
537 | # CONFIG_MTD_PCI is not set | 564 | # CONFIG_MTD_PCI is not set |
538 | # CONFIG_MTD_GPIO_ADDR is not set | ||
539 | # CONFIG_MTD_INTEL_VR_NOR is not set | 565 | # CONFIG_MTD_INTEL_VR_NOR is not set |
540 | # CONFIG_MTD_PLATRAM is not set | 566 | # CONFIG_MTD_PLATRAM is not set |
541 | 567 | ||
@@ -573,6 +599,10 @@ CONFIG_BLK_DEV=y | |||
573 | # CONFIG_BLK_DEV_UMEM is not set | 599 | # CONFIG_BLK_DEV_UMEM is not set |
574 | # CONFIG_BLK_DEV_COW_COMMON is not set | 600 | # CONFIG_BLK_DEV_COW_COMMON is not set |
575 | # CONFIG_BLK_DEV_LOOP is not set | 601 | # CONFIG_BLK_DEV_LOOP is not set |
602 | |||
603 | # | ||
604 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
605 | # | ||
576 | # CONFIG_BLK_DEV_NBD is not set | 606 | # CONFIG_BLK_DEV_NBD is not set |
577 | # CONFIG_BLK_DEV_SX8 is not set | 607 | # CONFIG_BLK_DEV_SX8 is not set |
578 | CONFIG_BLK_DEV_RAM=y | 608 | CONFIG_BLK_DEV_RAM=y |
@@ -583,6 +613,7 @@ CONFIG_BLK_DEV_RAM_SIZE=4096 | |||
583 | # CONFIG_ATA_OVER_ETH is not set | 613 | # CONFIG_ATA_OVER_ETH is not set |
584 | # CONFIG_BLK_DEV_HD is not set | 614 | # CONFIG_BLK_DEV_HD is not set |
585 | CONFIG_MISC_DEVICES=y | 615 | CONFIG_MISC_DEVICES=y |
616 | # CONFIG_AD525X_DPOT is not set | ||
586 | # CONFIG_PHANTOM is not set | 617 | # CONFIG_PHANTOM is not set |
587 | # CONFIG_SGI_IOC4 is not set | 618 | # CONFIG_SGI_IOC4 is not set |
588 | # CONFIG_TIFM_CORE is not set | 619 | # CONFIG_TIFM_CORE is not set |
@@ -590,6 +621,7 @@ CONFIG_MISC_DEVICES=y | |||
590 | # CONFIG_ENCLOSURE_SERVICES is not set | 621 | # CONFIG_ENCLOSURE_SERVICES is not set |
591 | # CONFIG_HP_ILO is not set | 622 | # CONFIG_HP_ILO is not set |
592 | # CONFIG_ISL29003 is not set | 623 | # CONFIG_ISL29003 is not set |
624 | # CONFIG_DS1682 is not set | ||
593 | # CONFIG_C2PORT is not set | 625 | # CONFIG_C2PORT is not set |
594 | 626 | ||
595 | # | 627 | # |
@@ -640,8 +672,11 @@ CONFIG_SCSI_LOWLEVEL=y | |||
640 | # CONFIG_ISCSI_TCP is not set | 672 | # CONFIG_ISCSI_TCP is not set |
641 | # CONFIG_SCSI_CXGB3_ISCSI is not set | 673 | # CONFIG_SCSI_CXGB3_ISCSI is not set |
642 | # CONFIG_SCSI_BNX2_ISCSI is not set | 674 | # CONFIG_SCSI_BNX2_ISCSI is not set |
675 | # CONFIG_BE2ISCSI is not set | ||
643 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set | 676 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set |
677 | # CONFIG_SCSI_HPSA is not set | ||
644 | # CONFIG_SCSI_3W_9XXX is not set | 678 | # CONFIG_SCSI_3W_9XXX is not set |
679 | # CONFIG_SCSI_3W_SAS is not set | ||
645 | # CONFIG_SCSI_ACARD is not set | 680 | # CONFIG_SCSI_ACARD is not set |
646 | # CONFIG_SCSI_AACRAID is not set | 681 | # CONFIG_SCSI_AACRAID is not set |
647 | # CONFIG_SCSI_AIC7XXX is not set | 682 | # CONFIG_SCSI_AIC7XXX is not set |
@@ -675,7 +710,9 @@ CONFIG_SCSI_LOWLEVEL=y | |||
675 | # CONFIG_SCSI_NSP32 is not set | 710 | # CONFIG_SCSI_NSP32 is not set |
676 | # CONFIG_SCSI_DEBUG is not set | 711 | # CONFIG_SCSI_DEBUG is not set |
677 | # CONFIG_SCSI_PMCRAID is not set | 712 | # CONFIG_SCSI_PMCRAID is not set |
713 | # CONFIG_SCSI_PM8001 is not set | ||
678 | # CONFIG_SCSI_SRP is not set | 714 | # CONFIG_SCSI_SRP is not set |
715 | # CONFIG_SCSI_BFA_FC is not set | ||
679 | # CONFIG_SCSI_DH is not set | 716 | # CONFIG_SCSI_DH is not set |
680 | # CONFIG_SCSI_OSD_INITIATOR is not set | 717 | # CONFIG_SCSI_OSD_INITIATOR is not set |
681 | CONFIG_ATA=y | 718 | CONFIG_ATA=y |
@@ -728,15 +765,16 @@ CONFIG_SATA_SIL=y | |||
728 | # CONFIG_PATA_NS87415 is not set | 765 | # CONFIG_PATA_NS87415 is not set |
729 | # CONFIG_PATA_OPTI is not set | 766 | # CONFIG_PATA_OPTI is not set |
730 | # CONFIG_PATA_OPTIDMA is not set | 767 | # CONFIG_PATA_OPTIDMA is not set |
768 | # CONFIG_PATA_PDC2027X is not set | ||
731 | # CONFIG_PATA_PDC_OLD is not set | 769 | # CONFIG_PATA_PDC_OLD is not set |
732 | # CONFIG_PATA_RADISYS is not set | 770 | # CONFIG_PATA_RADISYS is not set |
733 | # CONFIG_PATA_RDC is not set | 771 | # CONFIG_PATA_RDC is not set |
734 | # CONFIG_PATA_RZ1000 is not set | 772 | # CONFIG_PATA_RZ1000 is not set |
735 | # CONFIG_PATA_SC1200 is not set | 773 | # CONFIG_PATA_SC1200 is not set |
736 | # CONFIG_PATA_SERVERWORKS is not set | 774 | # CONFIG_PATA_SERVERWORKS is not set |
737 | # CONFIG_PATA_PDC2027X is not set | ||
738 | # CONFIG_PATA_SIL680 is not set | 775 | # CONFIG_PATA_SIL680 is not set |
739 | # CONFIG_PATA_SIS is not set | 776 | # CONFIG_PATA_SIS is not set |
777 | # CONFIG_PATA_TOSHIBA is not set | ||
740 | # CONFIG_PATA_VIA is not set | 778 | # CONFIG_PATA_VIA is not set |
741 | # CONFIG_PATA_WINBOND is not set | 779 | # CONFIG_PATA_WINBOND is not set |
742 | CONFIG_PATA_PLATFORM=y | 780 | CONFIG_PATA_PLATFORM=y |
@@ -813,6 +851,7 @@ CONFIG_8139TOO_8129=y | |||
813 | # CONFIG_SUNDANCE is not set | 851 | # CONFIG_SUNDANCE is not set |
814 | # CONFIG_TLAN is not set | 852 | # CONFIG_TLAN is not set |
815 | # CONFIG_KS8842 is not set | 853 | # CONFIG_KS8842 is not set |
854 | # CONFIG_KS8851_MLL is not set | ||
816 | CONFIG_VIA_RHINE=m | 855 | CONFIG_VIA_RHINE=m |
817 | CONFIG_VIA_RHINE_MMIO=y | 856 | CONFIG_VIA_RHINE_MMIO=y |
818 | # CONFIG_SC92031 is not set | 857 | # CONFIG_SC92031 is not set |
@@ -862,8 +901,9 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
862 | # CONFIG_BE2NET is not set | 901 | # CONFIG_BE2NET is not set |
863 | # CONFIG_TR is not set | 902 | # CONFIG_TR is not set |
864 | CONFIG_WLAN=y | 903 | CONFIG_WLAN=y |
865 | # CONFIG_WLAN_PRE80211 is not set | 904 | # CONFIG_ATMEL is not set |
866 | # CONFIG_WLAN_80211 is not set | 905 | # CONFIG_PRISM54 is not set |
906 | # CONFIG_HOSTAP is not set | ||
867 | 907 | ||
868 | # | 908 | # |
869 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 909 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -877,6 +917,7 @@ CONFIG_WLAN=y | |||
877 | # CONFIG_NETCONSOLE is not set | 917 | # CONFIG_NETCONSOLE is not set |
878 | # CONFIG_NETPOLL is not set | 918 | # CONFIG_NETPOLL is not set |
879 | # CONFIG_NET_POLL_CONTROLLER is not set | 919 | # CONFIG_NET_POLL_CONTROLLER is not set |
920 | # CONFIG_VMXNET3 is not set | ||
880 | # CONFIG_ISDN is not set | 921 | # CONFIG_ISDN is not set |
881 | # CONFIG_PHONE is not set | 922 | # CONFIG_PHONE is not set |
882 | 923 | ||
@@ -886,6 +927,7 @@ CONFIG_WLAN=y | |||
886 | CONFIG_INPUT=y | 927 | CONFIG_INPUT=y |
887 | # CONFIG_INPUT_FF_MEMLESS is not set | 928 | # CONFIG_INPUT_FF_MEMLESS is not set |
888 | # CONFIG_INPUT_POLLDEV is not set | 929 | # CONFIG_INPUT_POLLDEV is not set |
930 | # CONFIG_INPUT_SPARSEKMAP is not set | ||
889 | 931 | ||
890 | # | 932 | # |
891 | # Userland interfaces | 933 | # Userland interfaces |
@@ -928,6 +970,7 @@ CONFIG_SERIO=y | |||
928 | # CONFIG_SERIO_PCIPS2 is not set | 970 | # CONFIG_SERIO_PCIPS2 is not set |
929 | CONFIG_SERIO_LIBPS2=y | 971 | CONFIG_SERIO_LIBPS2=y |
930 | # CONFIG_SERIO_RAW is not set | 972 | # CONFIG_SERIO_RAW is not set |
973 | # CONFIG_SERIO_ALTERA_PS2 is not set | ||
931 | # CONFIG_GAMEPORT is not set | 974 | # CONFIG_GAMEPORT is not set |
932 | 975 | ||
933 | # | 976 | # |
@@ -1008,11 +1051,6 @@ CONFIG_I2C_HIGHLANDER=y | |||
1008 | # CONFIG_I2C_TAOS_EVM is not set | 1051 | # CONFIG_I2C_TAOS_EVM is not set |
1009 | 1052 | ||
1010 | # | 1053 | # |
1011 | # Graphics adapter I2C/DDC channel drivers | ||
1012 | # | ||
1013 | # CONFIG_I2C_VOODOO3 is not set | ||
1014 | |||
1015 | # | ||
1016 | # Other I2C/SMBus bus drivers | 1054 | # Other I2C/SMBus bus drivers |
1017 | # | 1055 | # |
1018 | # CONFIG_I2C_PCA_PLATFORM is not set | 1056 | # CONFIG_I2C_PCA_PLATFORM is not set |
@@ -1021,7 +1059,6 @@ CONFIG_I2C_HIGHLANDER=y | |||
1021 | # | 1059 | # |
1022 | # Miscellaneous I2C Chip support | 1060 | # Miscellaneous I2C Chip support |
1023 | # | 1061 | # |
1024 | # CONFIG_DS1682 is not set | ||
1025 | # CONFIG_SENSORS_TSL2550 is not set | 1062 | # CONFIG_SENSORS_TSL2550 is not set |
1026 | # CONFIG_I2C_DEBUG_CORE is not set | 1063 | # CONFIG_I2C_DEBUG_CORE is not set |
1027 | # CONFIG_I2C_DEBUG_ALGO is not set | 1064 | # CONFIG_I2C_DEBUG_ALGO is not set |
@@ -1065,6 +1102,7 @@ CONFIG_HWMON=y | |||
1065 | # CONFIG_SENSORS_GL520SM is not set | 1102 | # CONFIG_SENSORS_GL520SM is not set |
1066 | # CONFIG_SENSORS_IT87 is not set | 1103 | # CONFIG_SENSORS_IT87 is not set |
1067 | # CONFIG_SENSORS_LM63 is not set | 1104 | # CONFIG_SENSORS_LM63 is not set |
1105 | # CONFIG_SENSORS_LM73 is not set | ||
1068 | # CONFIG_SENSORS_LM75 is not set | 1106 | # CONFIG_SENSORS_LM75 is not set |
1069 | # CONFIG_SENSORS_LM77 is not set | 1107 | # CONFIG_SENSORS_LM77 is not set |
1070 | # CONFIG_SENSORS_LM78 is not set | 1108 | # CONFIG_SENSORS_LM78 is not set |
@@ -1103,6 +1141,7 @@ CONFIG_HWMON=y | |||
1103 | # CONFIG_SENSORS_W83L786NG is not set | 1141 | # CONFIG_SENSORS_W83L786NG is not set |
1104 | # CONFIG_SENSORS_W83627HF is not set | 1142 | # CONFIG_SENSORS_W83627HF is not set |
1105 | # CONFIG_SENSORS_W83627EHF is not set | 1143 | # CONFIG_SENSORS_W83627EHF is not set |
1144 | # CONFIG_SENSORS_LIS3_I2C is not set | ||
1106 | CONFIG_THERMAL=y | 1145 | CONFIG_THERMAL=y |
1107 | # CONFIG_THERMAL_HWMON is not set | 1146 | # CONFIG_THERMAL_HWMON is not set |
1108 | # CONFIG_WATCHDOG is not set | 1147 | # CONFIG_WATCHDOG is not set |
@@ -1118,15 +1157,18 @@ CONFIG_SSB_POSSIBLE=y | |||
1118 | # | 1157 | # |
1119 | # CONFIG_MFD_CORE is not set | 1158 | # CONFIG_MFD_CORE is not set |
1120 | # CONFIG_MFD_SM501 is not set | 1159 | # CONFIG_MFD_SM501 is not set |
1160 | # CONFIG_MFD_SH_MOBILE_SDHI is not set | ||
1121 | # CONFIG_HTC_PASIC3 is not set | 1161 | # CONFIG_HTC_PASIC3 is not set |
1122 | # CONFIG_TWL4030_CORE is not set | 1162 | # CONFIG_TWL4030_CORE is not set |
1123 | # CONFIG_MFD_TMIO is not set | 1163 | # CONFIG_MFD_TMIO is not set |
1124 | # CONFIG_PMIC_DA903X is not set | 1164 | # CONFIG_PMIC_DA903X is not set |
1165 | # CONFIG_PMIC_ADP5520 is not set | ||
1125 | # CONFIG_MFD_WM8400 is not set | 1166 | # CONFIG_MFD_WM8400 is not set |
1126 | # CONFIG_MFD_WM831X is not set | 1167 | # CONFIG_MFD_WM831X is not set |
1127 | # CONFIG_MFD_WM8350_I2C is not set | 1168 | # CONFIG_MFD_WM8350_I2C is not set |
1128 | # CONFIG_MFD_PCF50633 is not set | 1169 | # CONFIG_MFD_PCF50633 is not set |
1129 | # CONFIG_AB3100_CORE is not set | 1170 | # CONFIG_AB3100_CORE is not set |
1171 | # CONFIG_MFD_88PM8607 is not set | ||
1130 | # CONFIG_REGULATOR is not set | 1172 | # CONFIG_REGULATOR is not set |
1131 | # CONFIG_MEDIA_SUPPORT is not set | 1173 | # CONFIG_MEDIA_SUPPORT is not set |
1132 | 1174 | ||
@@ -1211,6 +1253,7 @@ CONFIG_RTC_DRV_RS5C372=y | |||
1211 | # CONFIG_RTC_DRV_PCF8563 is not set | 1253 | # CONFIG_RTC_DRV_PCF8563 is not set |
1212 | # CONFIG_RTC_DRV_PCF8583 is not set | 1254 | # CONFIG_RTC_DRV_PCF8583 is not set |
1213 | # CONFIG_RTC_DRV_M41T80 is not set | 1255 | # CONFIG_RTC_DRV_M41T80 is not set |
1256 | # CONFIG_RTC_DRV_BQ32K is not set | ||
1214 | # CONFIG_RTC_DRV_S35390A is not set | 1257 | # CONFIG_RTC_DRV_S35390A is not set |
1215 | # CONFIG_RTC_DRV_FM3130 is not set | 1258 | # CONFIG_RTC_DRV_FM3130 is not set |
1216 | # CONFIG_RTC_DRV_RX8581 is not set | 1259 | # CONFIG_RTC_DRV_RX8581 is not set |
@@ -1231,7 +1274,9 @@ CONFIG_RTC_DRV_RS5C372=y | |||
1231 | # CONFIG_RTC_DRV_M48T86 is not set | 1274 | # CONFIG_RTC_DRV_M48T86 is not set |
1232 | # CONFIG_RTC_DRV_M48T35 is not set | 1275 | # CONFIG_RTC_DRV_M48T35 is not set |
1233 | # CONFIG_RTC_DRV_M48T59 is not set | 1276 | # CONFIG_RTC_DRV_M48T59 is not set |
1277 | # CONFIG_RTC_DRV_MSM6242 is not set | ||
1234 | # CONFIG_RTC_DRV_BQ4802 is not set | 1278 | # CONFIG_RTC_DRV_BQ4802 is not set |
1279 | # CONFIG_RTC_DRV_RP5C01 is not set | ||
1235 | # CONFIG_RTC_DRV_V3020 is not set | 1280 | # CONFIG_RTC_DRV_V3020 is not set |
1236 | 1281 | ||
1237 | # | 1282 | # |
@@ -1436,6 +1481,8 @@ CONFIG_SCHED_DEBUG=y | |||
1436 | # CONFIG_DEBUG_OBJECTS is not set | 1481 | # CONFIG_DEBUG_OBJECTS is not set |
1437 | # CONFIG_DEBUG_SLAB is not set | 1482 | # CONFIG_DEBUG_SLAB is not set |
1438 | # CONFIG_DEBUG_PREEMPT is not set | 1483 | # CONFIG_DEBUG_PREEMPT is not set |
1484 | # CONFIG_DEBUG_RT_MUTEXES is not set | ||
1485 | # CONFIG_RT_MUTEX_TESTER is not set | ||
1439 | # CONFIG_DEBUG_SPINLOCK is not set | 1486 | # CONFIG_DEBUG_SPINLOCK is not set |
1440 | # CONFIG_DEBUG_MUTEXES is not set | 1487 | # CONFIG_DEBUG_MUTEXES is not set |
1441 | # CONFIG_DEBUG_LOCK_ALLOC is not set | 1488 | # CONFIG_DEBUG_LOCK_ALLOC is not set |
@@ -1462,6 +1509,7 @@ CONFIG_DEBUG_INFO=y | |||
1462 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set | 1509 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set |
1463 | # CONFIG_FAULT_INJECTION is not set | 1510 | # CONFIG_FAULT_INJECTION is not set |
1464 | # CONFIG_LATENCYTOP is not set | 1511 | # CONFIG_LATENCYTOP is not set |
1512 | # CONFIG_SYSCTL_SYSCALL_CHECK is not set | ||
1465 | # CONFIG_PAGE_POISONING is not set | 1513 | # CONFIG_PAGE_POISONING is not set |
1466 | CONFIG_NOP_TRACER=y | 1514 | CONFIG_NOP_TRACER=y |
1467 | CONFIG_HAVE_FUNCTION_TRACER=y | 1515 | CONFIG_HAVE_FUNCTION_TRACER=y |
@@ -1498,9 +1546,6 @@ CONFIG_BRANCH_PROFILE_NONE=y | |||
1498 | CONFIG_HAVE_ARCH_KGDB=y | 1546 | CONFIG_HAVE_ARCH_KGDB=y |
1499 | # CONFIG_KGDB is not set | 1547 | # CONFIG_KGDB is not set |
1500 | # CONFIG_SH_STANDARD_BIOS is not set | 1548 | # CONFIG_SH_STANDARD_BIOS is not set |
1501 | CONFIG_EARLY_SCIF_CONSOLE=y | ||
1502 | CONFIG_EARLY_SCIF_CONSOLE_PORT=0xffe00000 | ||
1503 | # CONFIG_EARLY_PRINTK is not set | ||
1504 | # CONFIG_STACK_DEBUG is not set | 1549 | # CONFIG_STACK_DEBUG is not set |
1505 | # CONFIG_DEBUG_STACK_USAGE is not set | 1550 | # CONFIG_DEBUG_STACK_USAGE is not set |
1506 | # CONFIG_4KSTACKS is not set | 1551 | # CONFIG_4KSTACKS is not set |
@@ -1514,7 +1559,11 @@ CONFIG_DUMP_CODE=y | |||
1514 | # CONFIG_KEYS is not set | 1559 | # CONFIG_KEYS is not set |
1515 | # CONFIG_SECURITY is not set | 1560 | # CONFIG_SECURITY is not set |
1516 | # CONFIG_SECURITYFS is not set | 1561 | # CONFIG_SECURITYFS is not set |
1517 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1562 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
1563 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
1564 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
1565 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
1566 | CONFIG_DEFAULT_SECURITY="" | ||
1518 | CONFIG_CRYPTO=y | 1567 | CONFIG_CRYPTO=y |
1519 | 1568 | ||
1520 | # | 1569 | # |
diff --git a/arch/sh/configs/r7785rp_defconfig b/arch/sh/configs/r7785rp_defconfig index 27ff46c13a87..f4b00451dcee 100644 --- a/arch/sh/configs/r7785rp_defconfig +++ b/arch/sh/configs/r7785rp_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.31 | 3 | # Linux kernel version: 2.6.33-rc2 |
4 | # Thu Sep 24 18:29:23 2009 | 4 | # Mon Jan 4 13:19:35 2010 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_SUPERH32=y | 7 | CONFIG_SUPERH32=y |
@@ -20,6 +20,7 @@ CONFIG_GENERIC_TIME=y | |||
20 | CONFIG_GENERIC_CLOCKEVENTS=y | 20 | CONFIG_GENERIC_CLOCKEVENTS=y |
21 | # CONFIG_ARCH_SUSPEND_POSSIBLE is not set | 21 | # CONFIG_ARCH_SUSPEND_POSSIBLE is not set |
22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y | 22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y |
23 | CONFIG_SYS_SUPPORTS_HUGETLBFS=y | ||
23 | CONFIG_SYS_SUPPORTS_NUMA=y | 24 | CONFIG_SYS_SUPPORTS_NUMA=y |
24 | CONFIG_SYS_SUPPORTS_PCI=y | 25 | CONFIG_SYS_SUPPORTS_PCI=y |
25 | CONFIG_SYS_SUPPORTS_TMU=y | 26 | CONFIG_SYS_SUPPORTS_TMU=y |
@@ -32,6 +33,7 @@ CONFIG_ARCH_NO_VIRT_TO_BUS=y | |||
32 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y | 33 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y |
33 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y | 34 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y |
34 | CONFIG_IO_TRAPPED=y | 35 | CONFIG_IO_TRAPPED=y |
36 | CONFIG_DMA_NONCOHERENT=y | ||
35 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 37 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
36 | CONFIG_CONSTRUCTORS=y | 38 | CONFIG_CONSTRUCTORS=y |
37 | 39 | ||
@@ -67,6 +69,7 @@ CONFIG_AUDIT_TREE=y | |||
67 | # | 69 | # |
68 | CONFIG_TREE_RCU=y | 70 | CONFIG_TREE_RCU=y |
69 | # CONFIG_TREE_PREEMPT_RCU is not set | 71 | # CONFIG_TREE_PREEMPT_RCU is not set |
72 | # CONFIG_TINY_RCU is not set | ||
70 | CONFIG_RCU_TRACE=y | 73 | CONFIG_RCU_TRACE=y |
71 | CONFIG_RCU_FANOUT=32 | 74 | CONFIG_RCU_FANOUT=32 |
72 | # CONFIG_RCU_FANOUT_EXACT is not set | 75 | # CONFIG_RCU_FANOUT_EXACT is not set |
@@ -103,6 +106,7 @@ CONFIG_EVENTFD=y | |||
103 | CONFIG_SHMEM=y | 106 | CONFIG_SHMEM=y |
104 | CONFIG_AIO=y | 107 | CONFIG_AIO=y |
105 | CONFIG_HAVE_PERF_EVENTS=y | 108 | CONFIG_HAVE_PERF_EVENTS=y |
109 | CONFIG_PERF_USE_VMALLOC=y | ||
106 | 110 | ||
107 | # | 111 | # |
108 | # Kernel Performance Events And Counters | 112 | # Kernel Performance Events And Counters |
@@ -110,6 +114,7 @@ CONFIG_HAVE_PERF_EVENTS=y | |||
110 | CONFIG_PERF_EVENTS=y | 114 | CONFIG_PERF_EVENTS=y |
111 | CONFIG_EVENT_PROFILE=y | 115 | CONFIG_EVENT_PROFILE=y |
112 | # CONFIG_PERF_COUNTERS is not set | 116 | # CONFIG_PERF_COUNTERS is not set |
117 | # CONFIG_DEBUG_PERF_USE_VMALLOC is not set | ||
113 | CONFIG_VM_EVENT_COUNTERS=y | 118 | CONFIG_VM_EVENT_COUNTERS=y |
114 | CONFIG_PCI_QUIRKS=y | 119 | CONFIG_PCI_QUIRKS=y |
115 | CONFIG_COMPAT_BRK=y | 120 | CONFIG_COMPAT_BRK=y |
@@ -126,6 +131,7 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
126 | CONFIG_HAVE_KPROBES=y | 131 | CONFIG_HAVE_KPROBES=y |
127 | CONFIG_HAVE_KRETPROBES=y | 132 | CONFIG_HAVE_KRETPROBES=y |
128 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 133 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
134 | CONFIG_HAVE_DMA_ATTRS=y | ||
129 | CONFIG_HAVE_CLK=y | 135 | CONFIG_HAVE_CLK=y |
130 | CONFIG_HAVE_DMA_API_DEBUG=y | 136 | CONFIG_HAVE_DMA_API_DEBUG=y |
131 | 137 | ||
@@ -153,14 +159,41 @@ CONFIG_LBDAF=y | |||
153 | # IO Schedulers | 159 | # IO Schedulers |
154 | # | 160 | # |
155 | CONFIG_IOSCHED_NOOP=y | 161 | CONFIG_IOSCHED_NOOP=y |
156 | # CONFIG_IOSCHED_AS is not set | ||
157 | # CONFIG_IOSCHED_DEADLINE is not set | 162 | # CONFIG_IOSCHED_DEADLINE is not set |
158 | # CONFIG_IOSCHED_CFQ is not set | 163 | # CONFIG_IOSCHED_CFQ is not set |
159 | # CONFIG_DEFAULT_AS is not set | ||
160 | # CONFIG_DEFAULT_DEADLINE is not set | 164 | # CONFIG_DEFAULT_DEADLINE is not set |
161 | # CONFIG_DEFAULT_CFQ is not set | 165 | # CONFIG_DEFAULT_CFQ is not set |
162 | CONFIG_DEFAULT_NOOP=y | 166 | CONFIG_DEFAULT_NOOP=y |
163 | CONFIG_DEFAULT_IOSCHED="noop" | 167 | CONFIG_DEFAULT_IOSCHED="noop" |
168 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
169 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
170 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
171 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
172 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
173 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
174 | # CONFIG_INLINE_SPIN_UNLOCK is not set | ||
175 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
176 | # CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set | ||
177 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
178 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
179 | # CONFIG_INLINE_READ_LOCK is not set | ||
180 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
181 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
182 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
183 | # CONFIG_INLINE_READ_UNLOCK is not set | ||
184 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
185 | # CONFIG_INLINE_READ_UNLOCK_IRQ is not set | ||
186 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
187 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
188 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
189 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
190 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
191 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
192 | # CONFIG_INLINE_WRITE_UNLOCK is not set | ||
193 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
194 | # CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set | ||
195 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
196 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
164 | # CONFIG_FREEZER is not set | 197 | # CONFIG_FREEZER is not set |
165 | 198 | ||
166 | # | 199 | # |
@@ -248,13 +281,11 @@ CONFIG_SPARSEMEM=y | |||
248 | CONFIG_HAVE_MEMORY_PRESENT=y | 281 | CONFIG_HAVE_MEMORY_PRESENT=y |
249 | CONFIG_SPARSEMEM_STATIC=y | 282 | CONFIG_SPARSEMEM_STATIC=y |
250 | # CONFIG_MEMORY_HOTPLUG is not set | 283 | # CONFIG_MEMORY_HOTPLUG is not set |
251 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 284 | CONFIG_SPLIT_PTLOCK_CPUS=999999 |
252 | CONFIG_MIGRATION=y | 285 | CONFIG_MIGRATION=y |
253 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 286 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
254 | CONFIG_ZONE_DMA_FLAG=0 | 287 | CONFIG_ZONE_DMA_FLAG=0 |
255 | CONFIG_NR_QUICK=2 | 288 | CONFIG_NR_QUICK=2 |
256 | CONFIG_HAVE_MLOCK=y | ||
257 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
258 | # CONFIG_KSM is not set | 289 | # CONFIG_KSM is not set |
259 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | 290 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 |
260 | 291 | ||
@@ -289,7 +320,6 @@ CONFIG_SH_R7785RP=y | |||
289 | # Timer and clock configuration | 320 | # Timer and clock configuration |
290 | # | 321 | # |
291 | CONFIG_SH_TIMER_TMU=y | 322 | CONFIG_SH_TIMER_TMU=y |
292 | CONFIG_SH_PCLK_FREQ=33333333 | ||
293 | CONFIG_SH_CLK_CPG=y | 323 | CONFIG_SH_CLK_CPG=y |
294 | CONFIG_TICK_ONESHOT=y | 324 | CONFIG_TICK_ONESHOT=y |
295 | CONFIG_NO_HZ=y | 325 | CONFIG_NO_HZ=y |
@@ -363,7 +393,6 @@ CONFIG_CMDLINE="console=ttySC0,115200 root=/dev/sda1" | |||
363 | # Bus options | 393 | # Bus options |
364 | # | 394 | # |
365 | CONFIG_PCI=y | 395 | CONFIG_PCI=y |
366 | CONFIG_SH_PCIDMA_NONCOHERENT=y | ||
367 | # CONFIG_PCIEPORTBUS is not set | 396 | # CONFIG_PCIEPORTBUS is not set |
368 | # CONFIG_ARCH_SUPPORTS_MSI is not set | 397 | # CONFIG_ARCH_SUPPORTS_MSI is not set |
369 | # CONFIG_PCI_LEGACY is not set | 398 | # CONFIG_PCI_LEGACY is not set |
@@ -471,10 +500,6 @@ CONFIG_LLC=m | |||
471 | # CONFIG_AF_RXRPC is not set | 500 | # CONFIG_AF_RXRPC is not set |
472 | CONFIG_WIRELESS=y | 501 | CONFIG_WIRELESS=y |
473 | # CONFIG_CFG80211 is not set | 502 | # CONFIG_CFG80211 is not set |
474 | CONFIG_CFG80211_DEFAULT_PS_VALUE=0 | ||
475 | # CONFIG_WIRELESS_OLD_REGULATORY is not set | ||
476 | CONFIG_WIRELESS_EXT=y | ||
477 | CONFIG_WIRELESS_EXT_SYSFS=y | ||
478 | # CONFIG_LIB80211 is not set | 503 | # CONFIG_LIB80211 is not set |
479 | 504 | ||
480 | # | 505 | # |
@@ -510,6 +535,10 @@ CONFIG_BLK_DEV=y | |||
510 | # CONFIG_BLK_DEV_UMEM is not set | 535 | # CONFIG_BLK_DEV_UMEM is not set |
511 | # CONFIG_BLK_DEV_COW_COMMON is not set | 536 | # CONFIG_BLK_DEV_COW_COMMON is not set |
512 | # CONFIG_BLK_DEV_LOOP is not set | 537 | # CONFIG_BLK_DEV_LOOP is not set |
538 | |||
539 | # | ||
540 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
541 | # | ||
513 | # CONFIG_BLK_DEV_NBD is not set | 542 | # CONFIG_BLK_DEV_NBD is not set |
514 | # CONFIG_BLK_DEV_SX8 is not set | 543 | # CONFIG_BLK_DEV_SX8 is not set |
515 | CONFIG_BLK_DEV_RAM=y | 544 | CONFIG_BLK_DEV_RAM=y |
@@ -520,6 +549,7 @@ CONFIG_BLK_DEV_RAM_SIZE=4096 | |||
520 | # CONFIG_ATA_OVER_ETH is not set | 549 | # CONFIG_ATA_OVER_ETH is not set |
521 | # CONFIG_BLK_DEV_HD is not set | 550 | # CONFIG_BLK_DEV_HD is not set |
522 | CONFIG_MISC_DEVICES=y | 551 | CONFIG_MISC_DEVICES=y |
552 | # CONFIG_AD525X_DPOT is not set | ||
523 | # CONFIG_PHANTOM is not set | 553 | # CONFIG_PHANTOM is not set |
524 | # CONFIG_SGI_IOC4 is not set | 554 | # CONFIG_SGI_IOC4 is not set |
525 | # CONFIG_TIFM_CORE is not set | 555 | # CONFIG_TIFM_CORE is not set |
@@ -527,6 +557,7 @@ CONFIG_MISC_DEVICES=y | |||
527 | # CONFIG_ENCLOSURE_SERVICES is not set | 557 | # CONFIG_ENCLOSURE_SERVICES is not set |
528 | # CONFIG_HP_ILO is not set | 558 | # CONFIG_HP_ILO is not set |
529 | # CONFIG_ISL29003 is not set | 559 | # CONFIG_ISL29003 is not set |
560 | # CONFIG_DS1682 is not set | ||
530 | # CONFIG_C2PORT is not set | 561 | # CONFIG_C2PORT is not set |
531 | 562 | ||
532 | # | 563 | # |
@@ -577,8 +608,11 @@ CONFIG_SCSI_LOWLEVEL=y | |||
577 | # CONFIG_ISCSI_TCP is not set | 608 | # CONFIG_ISCSI_TCP is not set |
578 | # CONFIG_SCSI_CXGB3_ISCSI is not set | 609 | # CONFIG_SCSI_CXGB3_ISCSI is not set |
579 | # CONFIG_SCSI_BNX2_ISCSI is not set | 610 | # CONFIG_SCSI_BNX2_ISCSI is not set |
611 | # CONFIG_BE2ISCSI is not set | ||
580 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set | 612 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set |
613 | # CONFIG_SCSI_HPSA is not set | ||
581 | # CONFIG_SCSI_3W_9XXX is not set | 614 | # CONFIG_SCSI_3W_9XXX is not set |
615 | # CONFIG_SCSI_3W_SAS is not set | ||
582 | # CONFIG_SCSI_ACARD is not set | 616 | # CONFIG_SCSI_ACARD is not set |
583 | # CONFIG_SCSI_AACRAID is not set | 617 | # CONFIG_SCSI_AACRAID is not set |
584 | # CONFIG_SCSI_AIC7XXX is not set | 618 | # CONFIG_SCSI_AIC7XXX is not set |
@@ -612,7 +646,9 @@ CONFIG_SCSI_LOWLEVEL=y | |||
612 | # CONFIG_SCSI_NSP32 is not set | 646 | # CONFIG_SCSI_NSP32 is not set |
613 | # CONFIG_SCSI_DEBUG is not set | 647 | # CONFIG_SCSI_DEBUG is not set |
614 | # CONFIG_SCSI_PMCRAID is not set | 648 | # CONFIG_SCSI_PMCRAID is not set |
649 | # CONFIG_SCSI_PM8001 is not set | ||
615 | # CONFIG_SCSI_SRP is not set | 650 | # CONFIG_SCSI_SRP is not set |
651 | # CONFIG_SCSI_BFA_FC is not set | ||
616 | # CONFIG_SCSI_DH is not set | 652 | # CONFIG_SCSI_DH is not set |
617 | # CONFIG_SCSI_OSD_INITIATOR is not set | 653 | # CONFIG_SCSI_OSD_INITIATOR is not set |
618 | CONFIG_ATA=y | 654 | CONFIG_ATA=y |
@@ -665,15 +701,16 @@ CONFIG_SATA_SIL=y | |||
665 | # CONFIG_PATA_NS87415 is not set | 701 | # CONFIG_PATA_NS87415 is not set |
666 | # CONFIG_PATA_OPTI is not set | 702 | # CONFIG_PATA_OPTI is not set |
667 | # CONFIG_PATA_OPTIDMA is not set | 703 | # CONFIG_PATA_OPTIDMA is not set |
704 | # CONFIG_PATA_PDC2027X is not set | ||
668 | # CONFIG_PATA_PDC_OLD is not set | 705 | # CONFIG_PATA_PDC_OLD is not set |
669 | # CONFIG_PATA_RADISYS is not set | 706 | # CONFIG_PATA_RADISYS is not set |
670 | # CONFIG_PATA_RDC is not set | 707 | # CONFIG_PATA_RDC is not set |
671 | # CONFIG_PATA_RZ1000 is not set | 708 | # CONFIG_PATA_RZ1000 is not set |
672 | # CONFIG_PATA_SC1200 is not set | 709 | # CONFIG_PATA_SC1200 is not set |
673 | # CONFIG_PATA_SERVERWORKS is not set | 710 | # CONFIG_PATA_SERVERWORKS is not set |
674 | # CONFIG_PATA_PDC2027X is not set | ||
675 | # CONFIG_PATA_SIL680 is not set | 711 | # CONFIG_PATA_SIL680 is not set |
676 | # CONFIG_PATA_SIS is not set | 712 | # CONFIG_PATA_SIS is not set |
713 | # CONFIG_PATA_TOSHIBA is not set | ||
677 | # CONFIG_PATA_VIA is not set | 714 | # CONFIG_PATA_VIA is not set |
678 | # CONFIG_PATA_WINBOND is not set | 715 | # CONFIG_PATA_WINBOND is not set |
679 | CONFIG_PATA_PLATFORM=y | 716 | CONFIG_PATA_PLATFORM=y |
@@ -730,6 +767,7 @@ CONFIG_AX88796_93CX6=y | |||
730 | # CONFIG_NET_PCI is not set | 767 | # CONFIG_NET_PCI is not set |
731 | # CONFIG_B44 is not set | 768 | # CONFIG_B44 is not set |
732 | # CONFIG_KS8842 is not set | 769 | # CONFIG_KS8842 is not set |
770 | # CONFIG_KS8851_MLL is not set | ||
733 | # CONFIG_ATL2 is not set | 771 | # CONFIG_ATL2 is not set |
734 | CONFIG_NETDEV_1000=y | 772 | CONFIG_NETDEV_1000=y |
735 | # CONFIG_ACENIC is not set | 773 | # CONFIG_ACENIC is not set |
@@ -776,8 +814,9 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
776 | # CONFIG_BE2NET is not set | 814 | # CONFIG_BE2NET is not set |
777 | # CONFIG_TR is not set | 815 | # CONFIG_TR is not set |
778 | CONFIG_WLAN=y | 816 | CONFIG_WLAN=y |
779 | # CONFIG_WLAN_PRE80211 is not set | 817 | # CONFIG_ATMEL is not set |
780 | # CONFIG_WLAN_80211 is not set | 818 | # CONFIG_PRISM54 is not set |
819 | # CONFIG_HOSTAP is not set | ||
781 | 820 | ||
782 | # | 821 | # |
783 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 822 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -791,6 +830,7 @@ CONFIG_WLAN=y | |||
791 | # CONFIG_NETCONSOLE is not set | 830 | # CONFIG_NETCONSOLE is not set |
792 | # CONFIG_NETPOLL is not set | 831 | # CONFIG_NETPOLL is not set |
793 | # CONFIG_NET_POLL_CONTROLLER is not set | 832 | # CONFIG_NET_POLL_CONTROLLER is not set |
833 | # CONFIG_VMXNET3 is not set | ||
794 | # CONFIG_ISDN is not set | 834 | # CONFIG_ISDN is not set |
795 | # CONFIG_PHONE is not set | 835 | # CONFIG_PHONE is not set |
796 | 836 | ||
@@ -800,6 +840,7 @@ CONFIG_WLAN=y | |||
800 | CONFIG_INPUT=y | 840 | CONFIG_INPUT=y |
801 | # CONFIG_INPUT_FF_MEMLESS is not set | 841 | # CONFIG_INPUT_FF_MEMLESS is not set |
802 | # CONFIG_INPUT_POLLDEV is not set | 842 | # CONFIG_INPUT_POLLDEV is not set |
843 | # CONFIG_INPUT_SPARSEKMAP is not set | ||
803 | 844 | ||
804 | # | 845 | # |
805 | # Userland interfaces | 846 | # Userland interfaces |
@@ -844,6 +885,7 @@ CONFIG_SERIO=y | |||
844 | # CONFIG_SERIO_PCIPS2 is not set | 885 | # CONFIG_SERIO_PCIPS2 is not set |
845 | CONFIG_SERIO_LIBPS2=y | 886 | CONFIG_SERIO_LIBPS2=y |
846 | # CONFIG_SERIO_RAW is not set | 887 | # CONFIG_SERIO_RAW is not set |
888 | # CONFIG_SERIO_ALTERA_PS2 is not set | ||
847 | # CONFIG_GAMEPORT is not set | 889 | # CONFIG_GAMEPORT is not set |
848 | 890 | ||
849 | # | 891 | # |
@@ -925,11 +967,6 @@ CONFIG_I2C_HIGHLANDER=y | |||
925 | # CONFIG_I2C_TAOS_EVM is not set | 967 | # CONFIG_I2C_TAOS_EVM is not set |
926 | 968 | ||
927 | # | 969 | # |
928 | # Graphics adapter I2C/DDC channel drivers | ||
929 | # | ||
930 | # CONFIG_I2C_VOODOO3 is not set | ||
931 | |||
932 | # | ||
933 | # Other I2C/SMBus bus drivers | 970 | # Other I2C/SMBus bus drivers |
934 | # | 971 | # |
935 | # CONFIG_I2C_PCA_PLATFORM is not set | 972 | # CONFIG_I2C_PCA_PLATFORM is not set |
@@ -938,7 +975,6 @@ CONFIG_I2C_HIGHLANDER=y | |||
938 | # | 975 | # |
939 | # Miscellaneous I2C Chip support | 976 | # Miscellaneous I2C Chip support |
940 | # | 977 | # |
941 | # CONFIG_DS1682 is not set | ||
942 | # CONFIG_SENSORS_TSL2550 is not set | 978 | # CONFIG_SENSORS_TSL2550 is not set |
943 | # CONFIG_I2C_DEBUG_CORE is not set | 979 | # CONFIG_I2C_DEBUG_CORE is not set |
944 | # CONFIG_I2C_DEBUG_ALGO is not set | 980 | # CONFIG_I2C_DEBUG_ALGO is not set |
@@ -969,6 +1005,7 @@ CONFIG_GPIOLIB=y | |||
969 | # | 1005 | # |
970 | # PCI GPIO expanders: | 1006 | # PCI GPIO expanders: |
971 | # | 1007 | # |
1008 | # CONFIG_GPIO_CS5535 is not set | ||
972 | # CONFIG_GPIO_BT8XX is not set | 1009 | # CONFIG_GPIO_BT8XX is not set |
973 | # CONFIG_GPIO_LANGWELL is not set | 1010 | # CONFIG_GPIO_LANGWELL is not set |
974 | 1011 | ||
@@ -1011,6 +1048,7 @@ CONFIG_HWMON=y | |||
1011 | # CONFIG_SENSORS_GL520SM is not set | 1048 | # CONFIG_SENSORS_GL520SM is not set |
1012 | # CONFIG_SENSORS_IT87 is not set | 1049 | # CONFIG_SENSORS_IT87 is not set |
1013 | # CONFIG_SENSORS_LM63 is not set | 1050 | # CONFIG_SENSORS_LM63 is not set |
1051 | # CONFIG_SENSORS_LM73 is not set | ||
1014 | # CONFIG_SENSORS_LM75 is not set | 1052 | # CONFIG_SENSORS_LM75 is not set |
1015 | # CONFIG_SENSORS_LM77 is not set | 1053 | # CONFIG_SENSORS_LM77 is not set |
1016 | # CONFIG_SENSORS_LM78 is not set | 1054 | # CONFIG_SENSORS_LM78 is not set |
@@ -1050,6 +1088,7 @@ CONFIG_HWMON=y | |||
1050 | # CONFIG_SENSORS_W83L786NG is not set | 1088 | # CONFIG_SENSORS_W83L786NG is not set |
1051 | # CONFIG_SENSORS_W83627HF is not set | 1089 | # CONFIG_SENSORS_W83627HF is not set |
1052 | # CONFIG_SENSORS_W83627EHF is not set | 1090 | # CONFIG_SENSORS_W83627EHF is not set |
1091 | # CONFIG_SENSORS_LIS3_I2C is not set | ||
1053 | # CONFIG_THERMAL is not set | 1092 | # CONFIG_THERMAL is not set |
1054 | # CONFIG_WATCHDOG is not set | 1093 | # CONFIG_WATCHDOG is not set |
1055 | CONFIG_SSB_POSSIBLE=y | 1094 | CONFIG_SSB_POSSIBLE=y |
@@ -1064,16 +1103,19 @@ CONFIG_SSB_POSSIBLE=y | |||
1064 | # | 1103 | # |
1065 | # CONFIG_MFD_CORE is not set | 1104 | # CONFIG_MFD_CORE is not set |
1066 | # CONFIG_MFD_SM501 is not set | 1105 | # CONFIG_MFD_SM501 is not set |
1106 | # CONFIG_MFD_SH_MOBILE_SDHI is not set | ||
1067 | # CONFIG_HTC_PASIC3 is not set | 1107 | # CONFIG_HTC_PASIC3 is not set |
1068 | # CONFIG_TPS65010 is not set | 1108 | # CONFIG_TPS65010 is not set |
1069 | # CONFIG_TWL4030_CORE is not set | 1109 | # CONFIG_TWL4030_CORE is not set |
1070 | # CONFIG_MFD_TMIO is not set | 1110 | # CONFIG_MFD_TMIO is not set |
1071 | # CONFIG_PMIC_DA903X is not set | 1111 | # CONFIG_PMIC_DA903X is not set |
1112 | # CONFIG_PMIC_ADP5520 is not set | ||
1072 | # CONFIG_MFD_WM8400 is not set | 1113 | # CONFIG_MFD_WM8400 is not set |
1073 | # CONFIG_MFD_WM831X is not set | 1114 | # CONFIG_MFD_WM831X is not set |
1074 | # CONFIG_MFD_WM8350_I2C is not set | 1115 | # CONFIG_MFD_WM8350_I2C is not set |
1075 | # CONFIG_MFD_PCF50633 is not set | 1116 | # CONFIG_MFD_PCF50633 is not set |
1076 | # CONFIG_AB3100_CORE is not set | 1117 | # CONFIG_AB3100_CORE is not set |
1118 | # CONFIG_MFD_88PM8607 is not set | ||
1077 | # CONFIG_REGULATOR is not set | 1119 | # CONFIG_REGULATOR is not set |
1078 | # CONFIG_MEDIA_SUPPORT is not set | 1120 | # CONFIG_MEDIA_SUPPORT is not set |
1079 | 1121 | ||
@@ -1211,6 +1253,7 @@ CONFIG_RTC_DRV_RS5C372=y | |||
1211 | # CONFIG_RTC_DRV_PCF8563 is not set | 1253 | # CONFIG_RTC_DRV_PCF8563 is not set |
1212 | # CONFIG_RTC_DRV_PCF8583 is not set | 1254 | # CONFIG_RTC_DRV_PCF8583 is not set |
1213 | # CONFIG_RTC_DRV_M41T80 is not set | 1255 | # CONFIG_RTC_DRV_M41T80 is not set |
1256 | # CONFIG_RTC_DRV_BQ32K is not set | ||
1214 | # CONFIG_RTC_DRV_S35390A is not set | 1257 | # CONFIG_RTC_DRV_S35390A is not set |
1215 | # CONFIG_RTC_DRV_FM3130 is not set | 1258 | # CONFIG_RTC_DRV_FM3130 is not set |
1216 | # CONFIG_RTC_DRV_RX8581 is not set | 1259 | # CONFIG_RTC_DRV_RX8581 is not set |
@@ -1231,7 +1274,9 @@ CONFIG_RTC_DRV_RS5C372=y | |||
1231 | # CONFIG_RTC_DRV_M48T86 is not set | 1274 | # CONFIG_RTC_DRV_M48T86 is not set |
1232 | # CONFIG_RTC_DRV_M48T35 is not set | 1275 | # CONFIG_RTC_DRV_M48T35 is not set |
1233 | # CONFIG_RTC_DRV_M48T59 is not set | 1276 | # CONFIG_RTC_DRV_M48T59 is not set |
1277 | # CONFIG_RTC_DRV_MSM6242 is not set | ||
1234 | # CONFIG_RTC_DRV_BQ4802 is not set | 1278 | # CONFIG_RTC_DRV_BQ4802 is not set |
1279 | # CONFIG_RTC_DRV_RP5C01 is not set | ||
1235 | # CONFIG_RTC_DRV_V3020 is not set | 1280 | # CONFIG_RTC_DRV_V3020 is not set |
1236 | 1281 | ||
1237 | # | 1282 | # |
@@ -1463,6 +1508,7 @@ CONFIG_FRAME_POINTER=y | |||
1463 | # CONFIG_LKDTM is not set | 1508 | # CONFIG_LKDTM is not set |
1464 | # CONFIG_FAULT_INJECTION is not set | 1509 | # CONFIG_FAULT_INJECTION is not set |
1465 | # CONFIG_LATENCYTOP is not set | 1510 | # CONFIG_LATENCYTOP is not set |
1511 | # CONFIG_SYSCTL_SYSCALL_CHECK is not set | ||
1466 | # CONFIG_PAGE_POISONING is not set | 1512 | # CONFIG_PAGE_POISONING is not set |
1467 | CONFIG_NOP_TRACER=y | 1513 | CONFIG_NOP_TRACER=y |
1468 | CONFIG_HAVE_FUNCTION_TRACER=y | 1514 | CONFIG_HAVE_FUNCTION_TRACER=y |
@@ -1499,8 +1545,6 @@ CONFIG_BRANCH_PROFILE_NONE=y | |||
1499 | CONFIG_HAVE_ARCH_KGDB=y | 1545 | CONFIG_HAVE_ARCH_KGDB=y |
1500 | # CONFIG_KGDB is not set | 1546 | # CONFIG_KGDB is not set |
1501 | CONFIG_SH_STANDARD_BIOS=y | 1547 | CONFIG_SH_STANDARD_BIOS=y |
1502 | # CONFIG_EARLY_SCIF_CONSOLE is not set | ||
1503 | CONFIG_EARLY_PRINTK=y | ||
1504 | # CONFIG_STACK_DEBUG is not set | 1548 | # CONFIG_STACK_DEBUG is not set |
1505 | CONFIG_DEBUG_STACK_USAGE=y | 1549 | CONFIG_DEBUG_STACK_USAGE=y |
1506 | CONFIG_4KSTACKS=y | 1550 | CONFIG_4KSTACKS=y |
@@ -1514,7 +1558,11 @@ CONFIG_DUMP_CODE=y | |||
1514 | # CONFIG_KEYS is not set | 1558 | # CONFIG_KEYS is not set |
1515 | # CONFIG_SECURITY is not set | 1559 | # CONFIG_SECURITY is not set |
1516 | # CONFIG_SECURITYFS is not set | 1560 | # CONFIG_SECURITYFS is not set |
1517 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1561 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
1562 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
1563 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
1564 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
1565 | CONFIG_DEFAULT_SECURITY="" | ||
1518 | CONFIG_CRYPTO=y | 1566 | CONFIG_CRYPTO=y |
1519 | 1567 | ||
1520 | # | 1568 | # |
diff --git a/arch/sh/configs/rsk7201_defconfig b/arch/sh/configs/rsk7201_defconfig index c40db12e9ad7..2fc635a5a8c5 100644 --- a/arch/sh/configs/rsk7201_defconfig +++ b/arch/sh/configs/rsk7201_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.31 | 3 | # Linux kernel version: 2.6.33-rc2 |
4 | # Thu Sep 24 18:34:29 2009 | 4 | # Mon Jan 4 13:23:12 2010 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_SUPERH32=y | 7 | CONFIG_SUPERH32=y |
@@ -29,6 +29,7 @@ CONFIG_HAVE_LATENCYTOP_SUPPORT=y | |||
29 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | 29 | CONFIG_ARCH_NO_VIRT_TO_BUS=y |
30 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y | 30 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y |
31 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y | 31 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y |
32 | CONFIG_DMA_NONCOHERENT=y | ||
32 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 33 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
33 | CONFIG_CONSTRUCTORS=y | 34 | CONFIG_CONSTRUCTORS=y |
34 | 35 | ||
@@ -56,6 +57,7 @@ CONFIG_BSD_PROCESS_ACCT=y | |||
56 | # | 57 | # |
57 | CONFIG_TREE_RCU=y | 58 | CONFIG_TREE_RCU=y |
58 | # CONFIG_TREE_PREEMPT_RCU is not set | 59 | # CONFIG_TREE_PREEMPT_RCU is not set |
60 | # CONFIG_TINY_RCU is not set | ||
59 | # CONFIG_RCU_TRACE is not set | 61 | # CONFIG_RCU_TRACE is not set |
60 | CONFIG_RCU_FANOUT=32 | 62 | CONFIG_RCU_FANOUT=32 |
61 | # CONFIG_RCU_FANOUT_EXACT is not set | 63 | # CONFIG_RCU_FANOUT_EXACT is not set |
@@ -97,6 +99,7 @@ CONFIG_TIMERFD=y | |||
97 | CONFIG_EVENTFD=y | 99 | CONFIG_EVENTFD=y |
98 | # CONFIG_AIO is not set | 100 | # CONFIG_AIO is not set |
99 | CONFIG_HAVE_PERF_EVENTS=y | 101 | CONFIG_HAVE_PERF_EVENTS=y |
102 | CONFIG_PERF_USE_VMALLOC=y | ||
100 | 103 | ||
101 | # | 104 | # |
102 | # Kernel Performance Events And Counters | 105 | # Kernel Performance Events And Counters |
@@ -109,6 +112,7 @@ CONFIG_COMPAT_BRK=y | |||
109 | # CONFIG_SLAB is not set | 112 | # CONFIG_SLAB is not set |
110 | # CONFIG_SLUB is not set | 113 | # CONFIG_SLUB is not set |
111 | CONFIG_SLOB=y | 114 | CONFIG_SLOB=y |
115 | # CONFIG_MMAP_ALLOW_UNINITIALIZED is not set | ||
112 | CONFIG_PROFILING=y | 116 | CONFIG_PROFILING=y |
113 | CONFIG_TRACEPOINTS=y | 117 | CONFIG_TRACEPOINTS=y |
114 | CONFIG_OPROFILE=y | 118 | CONFIG_OPROFILE=y |
@@ -117,6 +121,7 @@ CONFIG_HAVE_OPROFILE=y | |||
117 | CONFIG_HAVE_KPROBES=y | 121 | CONFIG_HAVE_KPROBES=y |
118 | CONFIG_HAVE_KRETPROBES=y | 122 | CONFIG_HAVE_KRETPROBES=y |
119 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 123 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
124 | CONFIG_HAVE_DMA_ATTRS=y | ||
120 | CONFIG_HAVE_CLK=y | 125 | CONFIG_HAVE_CLK=y |
121 | CONFIG_HAVE_DMA_API_DEBUG=y | 126 | CONFIG_HAVE_DMA_API_DEBUG=y |
122 | 127 | ||
@@ -142,14 +147,41 @@ CONFIG_LBDAF=y | |||
142 | # IO Schedulers | 147 | # IO Schedulers |
143 | # | 148 | # |
144 | CONFIG_IOSCHED_NOOP=y | 149 | CONFIG_IOSCHED_NOOP=y |
145 | # CONFIG_IOSCHED_AS is not set | ||
146 | # CONFIG_IOSCHED_DEADLINE is not set | 150 | # CONFIG_IOSCHED_DEADLINE is not set |
147 | # CONFIG_IOSCHED_CFQ is not set | 151 | # CONFIG_IOSCHED_CFQ is not set |
148 | # CONFIG_DEFAULT_AS is not set | ||
149 | # CONFIG_DEFAULT_DEADLINE is not set | 152 | # CONFIG_DEFAULT_DEADLINE is not set |
150 | # CONFIG_DEFAULT_CFQ is not set | 153 | # CONFIG_DEFAULT_CFQ is not set |
151 | CONFIG_DEFAULT_NOOP=y | 154 | CONFIG_DEFAULT_NOOP=y |
152 | CONFIG_DEFAULT_IOSCHED="noop" | 155 | CONFIG_DEFAULT_IOSCHED="noop" |
156 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
157 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
158 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
159 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
160 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
161 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
162 | CONFIG_INLINE_SPIN_UNLOCK=y | ||
163 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
164 | CONFIG_INLINE_SPIN_UNLOCK_IRQ=y | ||
165 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
166 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
167 | # CONFIG_INLINE_READ_LOCK is not set | ||
168 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
169 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
170 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
171 | CONFIG_INLINE_READ_UNLOCK=y | ||
172 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
173 | CONFIG_INLINE_READ_UNLOCK_IRQ=y | ||
174 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
175 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
176 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
177 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
178 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
179 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
180 | CONFIG_INLINE_WRITE_UNLOCK=y | ||
181 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
182 | CONFIG_INLINE_WRITE_UNLOCK_IRQ=y | ||
183 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
184 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
153 | # CONFIG_FREEZER is not set | 185 | # CONFIG_FREEZER is not set |
154 | 186 | ||
155 | # | 187 | # |
@@ -224,7 +256,6 @@ CONFIG_SPLIT_PTLOCK_CPUS=4 | |||
224 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 256 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
225 | CONFIG_ZONE_DMA_FLAG=0 | 257 | CONFIG_ZONE_DMA_FLAG=0 |
226 | CONFIG_NR_QUICK=2 | 258 | CONFIG_NR_QUICK=2 |
227 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | ||
228 | CONFIG_NOMMU_INITIAL_TRIM_EXCESS=1 | 259 | CONFIG_NOMMU_INITIAL_TRIM_EXCESS=1 |
229 | 260 | ||
230 | # | 261 | # |
@@ -433,6 +464,10 @@ CONFIG_MTD_PHYSMAP=y | |||
433 | CONFIG_BLK_DEV=y | 464 | CONFIG_BLK_DEV=y |
434 | # CONFIG_BLK_DEV_COW_COMMON is not set | 465 | # CONFIG_BLK_DEV_COW_COMMON is not set |
435 | # CONFIG_BLK_DEV_LOOP is not set | 466 | # CONFIG_BLK_DEV_LOOP is not set |
467 | |||
468 | # | ||
469 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
470 | # | ||
436 | # CONFIG_BLK_DEV_RAM is not set | 471 | # CONFIG_BLK_DEV_RAM is not set |
437 | # CONFIG_CDROM_PKTCDVD is not set | 472 | # CONFIG_CDROM_PKTCDVD is not set |
438 | # CONFIG_BLK_DEV_HD is not set | 473 | # CONFIG_BLK_DEV_HD is not set |
@@ -464,6 +499,7 @@ CONFIG_HAVE_IDE=y | |||
464 | CONFIG_INPUT=y | 499 | CONFIG_INPUT=y |
465 | # CONFIG_INPUT_FF_MEMLESS is not set | 500 | # CONFIG_INPUT_FF_MEMLESS is not set |
466 | # CONFIG_INPUT_POLLDEV is not set | 501 | # CONFIG_INPUT_POLLDEV is not set |
502 | # CONFIG_INPUT_SPARSEKMAP is not set | ||
467 | 503 | ||
468 | # | 504 | # |
469 | # Userland interfaces | 505 | # Userland interfaces |
@@ -540,6 +576,7 @@ CONFIG_SSB_POSSIBLE=y | |||
540 | # | 576 | # |
541 | # CONFIG_MFD_CORE is not set | 577 | # CONFIG_MFD_CORE is not set |
542 | # CONFIG_MFD_SM501 is not set | 578 | # CONFIG_MFD_SM501 is not set |
579 | # CONFIG_MFD_SH_MOBILE_SDHI is not set | ||
543 | # CONFIG_HTC_PASIC3 is not set | 580 | # CONFIG_HTC_PASIC3 is not set |
544 | # CONFIG_MFD_TMIO is not set | 581 | # CONFIG_MFD_TMIO is not set |
545 | # CONFIG_REGULATOR is not set | 582 | # CONFIG_REGULATOR is not set |
@@ -594,7 +631,9 @@ CONFIG_RTC_INTF_DEV=y | |||
594 | # CONFIG_RTC_DRV_M48T86 is not set | 631 | # CONFIG_RTC_DRV_M48T86 is not set |
595 | # CONFIG_RTC_DRV_M48T35 is not set | 632 | # CONFIG_RTC_DRV_M48T35 is not set |
596 | # CONFIG_RTC_DRV_M48T59 is not set | 633 | # CONFIG_RTC_DRV_M48T59 is not set |
634 | # CONFIG_RTC_DRV_MSM6242 is not set | ||
597 | # CONFIG_RTC_DRV_BQ4802 is not set | 635 | # CONFIG_RTC_DRV_BQ4802 is not set |
636 | # CONFIG_RTC_DRV_RP5C01 is not set | ||
598 | # CONFIG_RTC_DRV_V3020 is not set | 637 | # CONFIG_RTC_DRV_V3020 is not set |
599 | 638 | ||
600 | # | 639 | # |
@@ -618,6 +657,7 @@ CONFIG_EXT2_FS=y | |||
618 | # CONFIG_EXT2_FS_XATTR is not set | 657 | # CONFIG_EXT2_FS_XATTR is not set |
619 | # CONFIG_EXT3_FS is not set | 658 | # CONFIG_EXT3_FS is not set |
620 | # CONFIG_EXT4_FS is not set | 659 | # CONFIG_EXT4_FS is not set |
660 | CONFIG_EXT4_USE_FOR_EXT23=y | ||
621 | # CONFIG_REISERFS_FS is not set | 661 | # CONFIG_REISERFS_FS is not set |
622 | # CONFIG_JFS_FS is not set | 662 | # CONFIG_JFS_FS is not set |
623 | # CONFIG_FS_POSIX_ACL is not set | 663 | # CONFIG_FS_POSIX_ACL is not set |
@@ -717,7 +757,7 @@ CONFIG_DEBUG_FS=y | |||
717 | # CONFIG_HEADERS_CHECK is not set | 757 | # CONFIG_HEADERS_CHECK is not set |
718 | # CONFIG_DEBUG_KERNEL is not set | 758 | # CONFIG_DEBUG_KERNEL is not set |
719 | CONFIG_STACKTRACE=y | 759 | CONFIG_STACKTRACE=y |
720 | # CONFIG_DEBUG_BUGVERBOSE is not set | 760 | CONFIG_DEBUG_BUGVERBOSE=y |
721 | # CONFIG_DEBUG_MEMORY_INIT is not set | 761 | # CONFIG_DEBUG_MEMORY_INIT is not set |
722 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | 762 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set |
723 | # CONFIG_LATENCYTOP is not set | 763 | # CONFIG_LATENCYTOP is not set |
@@ -741,7 +781,6 @@ CONFIG_TRACING_SUPPORT=y | |||
741 | # CONFIG_SAMPLES is not set | 781 | # CONFIG_SAMPLES is not set |
742 | CONFIG_HAVE_ARCH_KGDB=y | 782 | CONFIG_HAVE_ARCH_KGDB=y |
743 | # CONFIG_SH_STANDARD_BIOS is not set | 783 | # CONFIG_SH_STANDARD_BIOS is not set |
744 | # CONFIG_EARLY_SCIF_CONSOLE is not set | ||
745 | # CONFIG_DWARF_UNWINDER is not set | 784 | # CONFIG_DWARF_UNWINDER is not set |
746 | 785 | ||
747 | # | 786 | # |
@@ -750,7 +789,11 @@ CONFIG_HAVE_ARCH_KGDB=y | |||
750 | # CONFIG_KEYS is not set | 789 | # CONFIG_KEYS is not set |
751 | # CONFIG_SECURITY is not set | 790 | # CONFIG_SECURITY is not set |
752 | # CONFIG_SECURITYFS is not set | 791 | # CONFIG_SECURITYFS is not set |
753 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 792 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
793 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
794 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
795 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
796 | CONFIG_DEFAULT_SECURITY="" | ||
754 | # CONFIG_CRYPTO is not set | 797 | # CONFIG_CRYPTO is not set |
755 | CONFIG_BINARY_PRINTF=y | 798 | CONFIG_BINARY_PRINTF=y |
756 | 799 | ||
diff --git a/arch/sh/configs/rsk7203_defconfig b/arch/sh/configs/rsk7203_defconfig index 5cabdb3a84fb..0169e60e0947 100644 --- a/arch/sh/configs/rsk7203_defconfig +++ b/arch/sh/configs/rsk7203_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.31 | 3 | # Linux kernel version: 2.6.33-rc2 |
4 | # Thu Sep 24 18:35:04 2009 | 4 | # Mon Jan 4 13:23:54 2010 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_SUPERH32=y | 7 | CONFIG_SUPERH32=y |
@@ -30,6 +30,7 @@ CONFIG_HAVE_LATENCYTOP_SUPPORT=y | |||
30 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | 30 | CONFIG_ARCH_NO_VIRT_TO_BUS=y |
31 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y | 31 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y |
32 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y | 32 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y |
33 | CONFIG_DMA_NONCOHERENT=y | ||
33 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 34 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
34 | CONFIG_CONSTRUCTORS=y | 35 | CONFIG_CONSTRUCTORS=y |
35 | 36 | ||
@@ -61,6 +62,7 @@ CONFIG_BSD_PROCESS_ACCT=y | |||
61 | # | 62 | # |
62 | CONFIG_TREE_RCU=y | 63 | CONFIG_TREE_RCU=y |
63 | # CONFIG_TREE_PREEMPT_RCU is not set | 64 | # CONFIG_TREE_PREEMPT_RCU is not set |
65 | # CONFIG_TINY_RCU is not set | ||
64 | # CONFIG_RCU_TRACE is not set | 66 | # CONFIG_RCU_TRACE is not set |
65 | CONFIG_RCU_FANOUT=32 | 67 | CONFIG_RCU_FANOUT=32 |
66 | # CONFIG_RCU_FANOUT_EXACT is not set | 68 | # CONFIG_RCU_FANOUT_EXACT is not set |
@@ -104,6 +106,7 @@ CONFIG_TIMERFD=y | |||
104 | CONFIG_EVENTFD=y | 106 | CONFIG_EVENTFD=y |
105 | CONFIG_AIO=y | 107 | CONFIG_AIO=y |
106 | CONFIG_HAVE_PERF_EVENTS=y | 108 | CONFIG_HAVE_PERF_EVENTS=y |
109 | CONFIG_PERF_USE_VMALLOC=y | ||
107 | 110 | ||
108 | # | 111 | # |
109 | # Kernel Performance Events And Counters | 112 | # Kernel Performance Events And Counters |
@@ -111,11 +114,13 @@ CONFIG_HAVE_PERF_EVENTS=y | |||
111 | CONFIG_PERF_EVENTS=y | 114 | CONFIG_PERF_EVENTS=y |
112 | CONFIG_EVENT_PROFILE=y | 115 | CONFIG_EVENT_PROFILE=y |
113 | # CONFIG_PERF_COUNTERS is not set | 116 | # CONFIG_PERF_COUNTERS is not set |
117 | # CONFIG_DEBUG_PERF_USE_VMALLOC is not set | ||
114 | CONFIG_VM_EVENT_COUNTERS=y | 118 | CONFIG_VM_EVENT_COUNTERS=y |
115 | CONFIG_COMPAT_BRK=y | 119 | CONFIG_COMPAT_BRK=y |
116 | # CONFIG_SLAB is not set | 120 | # CONFIG_SLAB is not set |
117 | # CONFIG_SLUB is not set | 121 | # CONFIG_SLUB is not set |
118 | CONFIG_SLOB=y | 122 | CONFIG_SLOB=y |
123 | # CONFIG_MMAP_ALLOW_UNINITIALIZED is not set | ||
119 | CONFIG_PROFILING=y | 124 | CONFIG_PROFILING=y |
120 | CONFIG_TRACEPOINTS=y | 125 | CONFIG_TRACEPOINTS=y |
121 | CONFIG_OPROFILE=y | 126 | CONFIG_OPROFILE=y |
@@ -124,6 +129,7 @@ CONFIG_HAVE_OPROFILE=y | |||
124 | CONFIG_HAVE_KPROBES=y | 129 | CONFIG_HAVE_KPROBES=y |
125 | CONFIG_HAVE_KRETPROBES=y | 130 | CONFIG_HAVE_KRETPROBES=y |
126 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 131 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
132 | CONFIG_HAVE_DMA_ATTRS=y | ||
127 | CONFIG_HAVE_CLK=y | 133 | CONFIG_HAVE_CLK=y |
128 | CONFIG_HAVE_DMA_API_DEBUG=y | 134 | CONFIG_HAVE_DMA_API_DEBUG=y |
129 | 135 | ||
@@ -149,14 +155,41 @@ CONFIG_LBDAF=y | |||
149 | # IO Schedulers | 155 | # IO Schedulers |
150 | # | 156 | # |
151 | CONFIG_IOSCHED_NOOP=y | 157 | CONFIG_IOSCHED_NOOP=y |
152 | # CONFIG_IOSCHED_AS is not set | ||
153 | # CONFIG_IOSCHED_DEADLINE is not set | 158 | # CONFIG_IOSCHED_DEADLINE is not set |
154 | # CONFIG_IOSCHED_CFQ is not set | 159 | # CONFIG_IOSCHED_CFQ is not set |
155 | # CONFIG_DEFAULT_AS is not set | ||
156 | # CONFIG_DEFAULT_DEADLINE is not set | 160 | # CONFIG_DEFAULT_DEADLINE is not set |
157 | # CONFIG_DEFAULT_CFQ is not set | 161 | # CONFIG_DEFAULT_CFQ is not set |
158 | CONFIG_DEFAULT_NOOP=y | 162 | CONFIG_DEFAULT_NOOP=y |
159 | CONFIG_DEFAULT_IOSCHED="noop" | 163 | CONFIG_DEFAULT_IOSCHED="noop" |
164 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
165 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
166 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
167 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
168 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
169 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
170 | CONFIG_INLINE_SPIN_UNLOCK=y | ||
171 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
172 | CONFIG_INLINE_SPIN_UNLOCK_IRQ=y | ||
173 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
174 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
175 | # CONFIG_INLINE_READ_LOCK is not set | ||
176 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
177 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
178 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
179 | CONFIG_INLINE_READ_UNLOCK=y | ||
180 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
181 | CONFIG_INLINE_READ_UNLOCK_IRQ=y | ||
182 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
183 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
184 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
185 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
186 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
187 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
188 | CONFIG_INLINE_WRITE_UNLOCK=y | ||
189 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
190 | CONFIG_INLINE_WRITE_UNLOCK_IRQ=y | ||
191 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
192 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
160 | # CONFIG_FREEZER is not set | 193 | # CONFIG_FREEZER is not set |
161 | 194 | ||
162 | # | 195 | # |
@@ -231,7 +264,6 @@ CONFIG_SPLIT_PTLOCK_CPUS=4 | |||
231 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 264 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
232 | CONFIG_ZONE_DMA_FLAG=0 | 265 | CONFIG_ZONE_DMA_FLAG=0 |
233 | CONFIG_NR_QUICK=2 | 266 | CONFIG_NR_QUICK=2 |
234 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | ||
235 | CONFIG_NOMMU_INITIAL_TRIM_EXCESS=1 | 267 | CONFIG_NOMMU_INITIAL_TRIM_EXCESS=1 |
236 | 268 | ||
237 | # | 269 | # |
@@ -424,9 +456,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
424 | # CONFIG_AF_RXRPC is not set | 456 | # CONFIG_AF_RXRPC is not set |
425 | CONFIG_WIRELESS=y | 457 | CONFIG_WIRELESS=y |
426 | # CONFIG_CFG80211 is not set | 458 | # CONFIG_CFG80211 is not set |
427 | CONFIG_CFG80211_DEFAULT_PS_VALUE=0 | ||
428 | # CONFIG_WIRELESS_OLD_REGULATORY is not set | ||
429 | # CONFIG_WIRELESS_EXT is not set | ||
430 | # CONFIG_LIB80211 is not set | 459 | # CONFIG_LIB80211 is not set |
431 | 460 | ||
432 | # | 461 | # |
@@ -539,6 +568,10 @@ CONFIG_MTD_PHYSMAP=y | |||
539 | CONFIG_BLK_DEV=y | 568 | CONFIG_BLK_DEV=y |
540 | # CONFIG_BLK_DEV_COW_COMMON is not set | 569 | # CONFIG_BLK_DEV_COW_COMMON is not set |
541 | # CONFIG_BLK_DEV_LOOP is not set | 570 | # CONFIG_BLK_DEV_LOOP is not set |
571 | |||
572 | # | ||
573 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
574 | # | ||
542 | # CONFIG_BLK_DEV_NBD is not set | 575 | # CONFIG_BLK_DEV_NBD is not set |
543 | # CONFIG_BLK_DEV_UB is not set | 576 | # CONFIG_BLK_DEV_UB is not set |
544 | # CONFIG_BLK_DEV_RAM is not set | 577 | # CONFIG_BLK_DEV_RAM is not set |
@@ -610,11 +643,12 @@ CONFIG_SMSC911X=y | |||
610 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | 643 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set |
611 | # CONFIG_B44 is not set | 644 | # CONFIG_B44 is not set |
612 | # CONFIG_KS8842 is not set | 645 | # CONFIG_KS8842 is not set |
646 | # CONFIG_KS8851_MLL is not set | ||
613 | # CONFIG_NETDEV_1000 is not set | 647 | # CONFIG_NETDEV_1000 is not set |
614 | # CONFIG_NETDEV_10000 is not set | 648 | # CONFIG_NETDEV_10000 is not set |
615 | CONFIG_WLAN=y | 649 | CONFIG_WLAN=y |
616 | # CONFIG_WLAN_PRE80211 is not set | 650 | # CONFIG_USB_ZD1201 is not set |
617 | # CONFIG_WLAN_80211 is not set | 651 | # CONFIG_HOSTAP is not set |
618 | 652 | ||
619 | # | 653 | # |
620 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 654 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -643,6 +677,7 @@ CONFIG_WLAN=y | |||
643 | CONFIG_INPUT=y | 677 | CONFIG_INPUT=y |
644 | CONFIG_INPUT_FF_MEMLESS=m | 678 | CONFIG_INPUT_FF_MEMLESS=m |
645 | # CONFIG_INPUT_POLLDEV is not set | 679 | # CONFIG_INPUT_POLLDEV is not set |
680 | # CONFIG_INPUT_SPARSEKMAP is not set | ||
646 | 681 | ||
647 | # | 682 | # |
648 | # Userland interfaces | 683 | # Userland interfaces |
@@ -743,6 +778,7 @@ CONFIG_SSB_POSSIBLE=y | |||
743 | # | 778 | # |
744 | # CONFIG_MFD_CORE is not set | 779 | # CONFIG_MFD_CORE is not set |
745 | # CONFIG_MFD_SM501 is not set | 780 | # CONFIG_MFD_SM501 is not set |
781 | # CONFIG_MFD_SH_MOBILE_SDHI is not set | ||
746 | # CONFIG_HTC_PASIC3 is not set | 782 | # CONFIG_HTC_PASIC3 is not set |
747 | # CONFIG_MFD_TMIO is not set | 783 | # CONFIG_MFD_TMIO is not set |
748 | CONFIG_REGULATOR=y | 784 | CONFIG_REGULATOR=y |
@@ -910,6 +946,8 @@ CONFIG_LEDS_CLASS=y | |||
910 | # | 946 | # |
911 | CONFIG_LEDS_GPIO=y | 947 | CONFIG_LEDS_GPIO=y |
912 | CONFIG_LEDS_GPIO_PLATFORM=y | 948 | CONFIG_LEDS_GPIO_PLATFORM=y |
949 | # CONFIG_LEDS_REGULATOR is not set | ||
950 | # CONFIG_LEDS_LT3593 is not set | ||
913 | 951 | ||
914 | # | 952 | # |
915 | # LED Triggers | 953 | # LED Triggers |
@@ -955,7 +993,9 @@ CONFIG_RTC_INTF_DEV=y | |||
955 | # CONFIG_RTC_DRV_M48T86 is not set | 993 | # CONFIG_RTC_DRV_M48T86 is not set |
956 | # CONFIG_RTC_DRV_M48T35 is not set | 994 | # CONFIG_RTC_DRV_M48T35 is not set |
957 | # CONFIG_RTC_DRV_M48T59 is not set | 995 | # CONFIG_RTC_DRV_M48T59 is not set |
996 | # CONFIG_RTC_DRV_MSM6242 is not set | ||
958 | # CONFIG_RTC_DRV_BQ4802 is not set | 997 | # CONFIG_RTC_DRV_BQ4802 is not set |
998 | # CONFIG_RTC_DRV_RP5C01 is not set | ||
959 | # CONFIG_RTC_DRV_V3020 is not set | 999 | # CONFIG_RTC_DRV_V3020 is not set |
960 | 1000 | ||
961 | # | 1001 | # |
@@ -978,6 +1018,7 @@ CONFIG_RTC_DRV_SH=y | |||
978 | # CONFIG_EXT2_FS is not set | 1018 | # CONFIG_EXT2_FS is not set |
979 | # CONFIG_EXT3_FS is not set | 1019 | # CONFIG_EXT3_FS is not set |
980 | # CONFIG_EXT4_FS is not set | 1020 | # CONFIG_EXT4_FS is not set |
1021 | CONFIG_EXT4_USE_FOR_EXT23=y | ||
981 | # CONFIG_REISERFS_FS is not set | 1022 | # CONFIG_REISERFS_FS is not set |
982 | # CONFIG_JFS_FS is not set | 1023 | # CONFIG_JFS_FS is not set |
983 | # CONFIG_FS_POSIX_ACL is not set | 1024 | # CONFIG_FS_POSIX_ACL is not set |
@@ -1137,6 +1178,7 @@ CONFIG_DEBUG_OBJECTS=y | |||
1137 | # CONFIG_DEBUG_OBJECTS_SELFTEST is not set | 1178 | # CONFIG_DEBUG_OBJECTS_SELFTEST is not set |
1138 | # CONFIG_DEBUG_OBJECTS_FREE is not set | 1179 | # CONFIG_DEBUG_OBJECTS_FREE is not set |
1139 | # CONFIG_DEBUG_OBJECTS_TIMERS is not set | 1180 | # CONFIG_DEBUG_OBJECTS_TIMERS is not set |
1181 | # CONFIG_DEBUG_OBJECTS_WORK is not set | ||
1140 | CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1 | 1182 | CONFIG_DEBUG_OBJECTS_ENABLE_DEFAULT=1 |
1141 | # CONFIG_DEBUG_RT_MUTEXES is not set | 1183 | # CONFIG_DEBUG_RT_MUTEXES is not set |
1142 | # CONFIG_RT_MUTEX_TESTER is not set | 1184 | # CONFIG_RT_MUTEX_TESTER is not set |
@@ -1203,9 +1245,6 @@ CONFIG_BRANCH_PROFILE_NONE=y | |||
1203 | CONFIG_HAVE_ARCH_KGDB=y | 1245 | CONFIG_HAVE_ARCH_KGDB=y |
1204 | # CONFIG_KGDB is not set | 1246 | # CONFIG_KGDB is not set |
1205 | # CONFIG_SH_STANDARD_BIOS is not set | 1247 | # CONFIG_SH_STANDARD_BIOS is not set |
1206 | CONFIG_EARLY_SCIF_CONSOLE=y | ||
1207 | CONFIG_EARLY_SCIF_CONSOLE_PORT=0xfffe8000 | ||
1208 | CONFIG_EARLY_PRINTK=y | ||
1209 | # CONFIG_STACK_DEBUG is not set | 1248 | # CONFIG_STACK_DEBUG is not set |
1210 | CONFIG_DEBUG_STACK_USAGE=y | 1249 | CONFIG_DEBUG_STACK_USAGE=y |
1211 | CONFIG_DUMP_CODE=y | 1250 | CONFIG_DUMP_CODE=y |
@@ -1218,7 +1257,11 @@ CONFIG_DUMP_CODE=y | |||
1218 | # CONFIG_KEYS is not set | 1257 | # CONFIG_KEYS is not set |
1219 | # CONFIG_SECURITY is not set | 1258 | # CONFIG_SECURITY is not set |
1220 | # CONFIG_SECURITYFS is not set | 1259 | # CONFIG_SECURITYFS is not set |
1221 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1260 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
1261 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
1262 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
1263 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
1264 | CONFIG_DEFAULT_SECURITY="" | ||
1222 | # CONFIG_CRYPTO is not set | 1265 | # CONFIG_CRYPTO is not set |
1223 | CONFIG_BINARY_PRINTF=y | 1266 | CONFIG_BINARY_PRINTF=y |
1224 | 1267 | ||
diff --git a/arch/sh/configs/rts7751r2d1_defconfig b/arch/sh/configs/rts7751r2d1_defconfig index 6f1126b3e487..fba1f62d56e7 100644 --- a/arch/sh/configs/rts7751r2d1_defconfig +++ b/arch/sh/configs/rts7751r2d1_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.31 | 3 | # Linux kernel version: 2.6.33-rc2 |
4 | # Thu Sep 24 18:36:25 2009 | 4 | # Mon Jan 4 13:25:36 2010 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_SUPERH32=y | 7 | CONFIG_SUPERH32=y |
@@ -20,6 +20,7 @@ CONFIG_GENERIC_TIME=y | |||
20 | CONFIG_GENERIC_CLOCKEVENTS=y | 20 | CONFIG_GENERIC_CLOCKEVENTS=y |
21 | # CONFIG_ARCH_SUSPEND_POSSIBLE is not set | 21 | # CONFIG_ARCH_SUSPEND_POSSIBLE is not set |
22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y | 22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y |
23 | CONFIG_SYS_SUPPORTS_HUGETLBFS=y | ||
23 | CONFIG_SYS_SUPPORTS_PCI=y | 24 | CONFIG_SYS_SUPPORTS_PCI=y |
24 | CONFIG_SYS_SUPPORTS_TMU=y | 25 | CONFIG_SYS_SUPPORTS_TMU=y |
25 | CONFIG_STACKTRACE_SUPPORT=y | 26 | CONFIG_STACKTRACE_SUPPORT=y |
@@ -31,6 +32,7 @@ CONFIG_ARCH_NO_VIRT_TO_BUS=y | |||
31 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y | 32 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y |
32 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y | 33 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y |
33 | CONFIG_IO_TRAPPED=y | 34 | CONFIG_IO_TRAPPED=y |
35 | CONFIG_DMA_NONCOHERENT=y | ||
34 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 36 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
35 | CONFIG_CONSTRUCTORS=y | 37 | CONFIG_CONSTRUCTORS=y |
36 | 38 | ||
@@ -61,6 +63,7 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
61 | # | 63 | # |
62 | CONFIG_TREE_RCU=y | 64 | CONFIG_TREE_RCU=y |
63 | # CONFIG_TREE_PREEMPT_RCU is not set | 65 | # CONFIG_TREE_PREEMPT_RCU is not set |
66 | # CONFIG_TINY_RCU is not set | ||
64 | # CONFIG_RCU_TRACE is not set | 67 | # CONFIG_RCU_TRACE is not set |
65 | CONFIG_RCU_FANOUT=32 | 68 | CONFIG_RCU_FANOUT=32 |
66 | # CONFIG_RCU_FANOUT_EXACT is not set | 69 | # CONFIG_RCU_FANOUT_EXACT is not set |
@@ -95,6 +98,7 @@ CONFIG_EVENTFD=y | |||
95 | CONFIG_SHMEM=y | 98 | CONFIG_SHMEM=y |
96 | CONFIG_AIO=y | 99 | CONFIG_AIO=y |
97 | CONFIG_HAVE_PERF_EVENTS=y | 100 | CONFIG_HAVE_PERF_EVENTS=y |
101 | CONFIG_PERF_USE_VMALLOC=y | ||
98 | 102 | ||
99 | # | 103 | # |
100 | # Kernel Performance Events And Counters | 104 | # Kernel Performance Events And Counters |
@@ -117,6 +121,7 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
117 | CONFIG_HAVE_KPROBES=y | 121 | CONFIG_HAVE_KPROBES=y |
118 | CONFIG_HAVE_KRETPROBES=y | 122 | CONFIG_HAVE_KRETPROBES=y |
119 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 123 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
124 | CONFIG_HAVE_DMA_ATTRS=y | ||
120 | CONFIG_HAVE_CLK=y | 125 | CONFIG_HAVE_CLK=y |
121 | CONFIG_HAVE_DMA_API_DEBUG=y | 126 | CONFIG_HAVE_DMA_API_DEBUG=y |
122 | 127 | ||
@@ -143,14 +148,41 @@ CONFIG_LBDAF=y | |||
143 | # IO Schedulers | 148 | # IO Schedulers |
144 | # | 149 | # |
145 | CONFIG_IOSCHED_NOOP=y | 150 | CONFIG_IOSCHED_NOOP=y |
146 | CONFIG_IOSCHED_AS=y | ||
147 | CONFIG_IOSCHED_DEADLINE=y | 151 | CONFIG_IOSCHED_DEADLINE=y |
148 | CONFIG_IOSCHED_CFQ=y | 152 | CONFIG_IOSCHED_CFQ=y |
149 | CONFIG_DEFAULT_AS=y | ||
150 | # CONFIG_DEFAULT_DEADLINE is not set | 153 | # CONFIG_DEFAULT_DEADLINE is not set |
151 | # CONFIG_DEFAULT_CFQ is not set | 154 | CONFIG_DEFAULT_CFQ=y |
152 | # CONFIG_DEFAULT_NOOP is not set | 155 | # CONFIG_DEFAULT_NOOP is not set |
153 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 156 | CONFIG_DEFAULT_IOSCHED="cfq" |
157 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
158 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
159 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
160 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
161 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
162 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
163 | CONFIG_INLINE_SPIN_UNLOCK=y | ||
164 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
165 | CONFIG_INLINE_SPIN_UNLOCK_IRQ=y | ||
166 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
167 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
168 | # CONFIG_INLINE_READ_LOCK is not set | ||
169 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
170 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
171 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
172 | CONFIG_INLINE_READ_UNLOCK=y | ||
173 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
174 | CONFIG_INLINE_READ_UNLOCK_IRQ=y | ||
175 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
176 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
177 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
178 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
179 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
180 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
181 | CONFIG_INLINE_WRITE_UNLOCK=y | ||
182 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
183 | CONFIG_INLINE_WRITE_UNLOCK_IRQ=y | ||
184 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
185 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
154 | # CONFIG_FREEZER is not set | 186 | # CONFIG_FREEZER is not set |
155 | 187 | ||
156 | # | 188 | # |
@@ -226,8 +258,6 @@ CONFIG_SPLIT_PTLOCK_CPUS=4 | |||
226 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 258 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
227 | CONFIG_ZONE_DMA_FLAG=0 | 259 | CONFIG_ZONE_DMA_FLAG=0 |
228 | CONFIG_NR_QUICK=2 | 260 | CONFIG_NR_QUICK=2 |
229 | CONFIG_HAVE_MLOCK=y | ||
230 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
231 | # CONFIG_KSM is not set | 261 | # CONFIG_KSM is not set |
232 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | 262 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 |
233 | 263 | ||
@@ -321,7 +351,6 @@ CONFIG_GUSA=y | |||
321 | CONFIG_ZERO_PAGE_OFFSET=0x00010000 | 351 | CONFIG_ZERO_PAGE_OFFSET=0x00010000 |
322 | CONFIG_BOOT_LINK_OFFSET=0x00800000 | 352 | CONFIG_BOOT_LINK_OFFSET=0x00800000 |
323 | CONFIG_ENTRY_OFFSET=0x00001000 | 353 | CONFIG_ENTRY_OFFSET=0x00001000 |
324 | # CONFIG_UBC_WAKEUP is not set | ||
325 | CONFIG_CMDLINE_OVERWRITE=y | 354 | CONFIG_CMDLINE_OVERWRITE=y |
326 | # CONFIG_CMDLINE_EXTEND is not set | 355 | # CONFIG_CMDLINE_EXTEND is not set |
327 | CONFIG_CMDLINE="console=tty0 console=ttySC1,115200 root=/dev/sda1" | 356 | CONFIG_CMDLINE="console=tty0 console=ttySC1,115200 root=/dev/sda1" |
@@ -330,7 +359,6 @@ CONFIG_CMDLINE="console=tty0 console=ttySC1,115200 root=/dev/sda1" | |||
330 | # Bus options | 359 | # Bus options |
331 | # | 360 | # |
332 | CONFIG_PCI=y | 361 | CONFIG_PCI=y |
333 | CONFIG_SH_PCIDMA_NONCOHERENT=y | ||
334 | # CONFIG_PCIEPORTBUS is not set | 362 | # CONFIG_PCIEPORTBUS is not set |
335 | # CONFIG_ARCH_SUPPORTS_MSI is not set | 363 | # CONFIG_ARCH_SUPPORTS_MSI is not set |
336 | CONFIG_PCI_LEGACY=y | 364 | CONFIG_PCI_LEGACY=y |
@@ -429,10 +457,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
429 | # CONFIG_AF_RXRPC is not set | 457 | # CONFIG_AF_RXRPC is not set |
430 | CONFIG_WIRELESS=y | 458 | CONFIG_WIRELESS=y |
431 | # CONFIG_CFG80211 is not set | 459 | # CONFIG_CFG80211 is not set |
432 | CONFIG_CFG80211_DEFAULT_PS_VALUE=0 | ||
433 | # CONFIG_WIRELESS_OLD_REGULATORY is not set | ||
434 | CONFIG_WIRELESS_EXT=y | ||
435 | CONFIG_WIRELESS_EXT_SYSFS=y | ||
436 | # CONFIG_LIB80211 is not set | 460 | # CONFIG_LIB80211 is not set |
437 | 461 | ||
438 | # | 462 | # |
@@ -466,6 +490,10 @@ CONFIG_BLK_DEV=y | |||
466 | # CONFIG_BLK_DEV_UMEM is not set | 490 | # CONFIG_BLK_DEV_UMEM is not set |
467 | # CONFIG_BLK_DEV_COW_COMMON is not set | 491 | # CONFIG_BLK_DEV_COW_COMMON is not set |
468 | # CONFIG_BLK_DEV_LOOP is not set | 492 | # CONFIG_BLK_DEV_LOOP is not set |
493 | |||
494 | # | ||
495 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
496 | # | ||
469 | # CONFIG_BLK_DEV_NBD is not set | 497 | # CONFIG_BLK_DEV_NBD is not set |
470 | # CONFIG_BLK_DEV_SX8 is not set | 498 | # CONFIG_BLK_DEV_SX8 is not set |
471 | # CONFIG_BLK_DEV_UB is not set | 499 | # CONFIG_BLK_DEV_UB is not set |
@@ -482,6 +510,7 @@ CONFIG_MISC_DEVICES=y | |||
482 | # CONFIG_TIFM_CORE is not set | 510 | # CONFIG_TIFM_CORE is not set |
483 | # CONFIG_ENCLOSURE_SERVICES is not set | 511 | # CONFIG_ENCLOSURE_SERVICES is not set |
484 | # CONFIG_HP_ILO is not set | 512 | # CONFIG_HP_ILO is not set |
513 | # CONFIG_TI_DAC7512 is not set | ||
485 | # CONFIG_C2PORT is not set | 514 | # CONFIG_C2PORT is not set |
486 | 515 | ||
487 | # | 516 | # |
@@ -530,8 +559,11 @@ CONFIG_SCSI_LOWLEVEL=y | |||
530 | # CONFIG_ISCSI_TCP is not set | 559 | # CONFIG_ISCSI_TCP is not set |
531 | # CONFIG_SCSI_CXGB3_ISCSI is not set | 560 | # CONFIG_SCSI_CXGB3_ISCSI is not set |
532 | # CONFIG_SCSI_BNX2_ISCSI is not set | 561 | # CONFIG_SCSI_BNX2_ISCSI is not set |
562 | # CONFIG_BE2ISCSI is not set | ||
533 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set | 563 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set |
564 | # CONFIG_SCSI_HPSA is not set | ||
534 | # CONFIG_SCSI_3W_9XXX is not set | 565 | # CONFIG_SCSI_3W_9XXX is not set |
566 | # CONFIG_SCSI_3W_SAS is not set | ||
535 | # CONFIG_SCSI_ACARD is not set | 567 | # CONFIG_SCSI_ACARD is not set |
536 | # CONFIG_SCSI_AACRAID is not set | 568 | # CONFIG_SCSI_AACRAID is not set |
537 | # CONFIG_SCSI_AIC7XXX is not set | 569 | # CONFIG_SCSI_AIC7XXX is not set |
@@ -565,7 +597,9 @@ CONFIG_SCSI_LOWLEVEL=y | |||
565 | # CONFIG_SCSI_NSP32 is not set | 597 | # CONFIG_SCSI_NSP32 is not set |
566 | # CONFIG_SCSI_DEBUG is not set | 598 | # CONFIG_SCSI_DEBUG is not set |
567 | # CONFIG_SCSI_PMCRAID is not set | 599 | # CONFIG_SCSI_PMCRAID is not set |
600 | # CONFIG_SCSI_PM8001 is not set | ||
568 | # CONFIG_SCSI_SRP is not set | 601 | # CONFIG_SCSI_SRP is not set |
602 | # CONFIG_SCSI_BFA_FC is not set | ||
569 | # CONFIG_SCSI_DH is not set | 603 | # CONFIG_SCSI_DH is not set |
570 | # CONFIG_SCSI_OSD_INITIATOR is not set | 604 | # CONFIG_SCSI_OSD_INITIATOR is not set |
571 | CONFIG_ATA=y | 605 | CONFIG_ATA=y |
@@ -618,15 +652,16 @@ CONFIG_ATA_SFF=y | |||
618 | # CONFIG_PATA_NS87415 is not set | 652 | # CONFIG_PATA_NS87415 is not set |
619 | # CONFIG_PATA_OPTI is not set | 653 | # CONFIG_PATA_OPTI is not set |
620 | # CONFIG_PATA_OPTIDMA is not set | 654 | # CONFIG_PATA_OPTIDMA is not set |
655 | # CONFIG_PATA_PDC2027X is not set | ||
621 | # CONFIG_PATA_PDC_OLD is not set | 656 | # CONFIG_PATA_PDC_OLD is not set |
622 | # CONFIG_PATA_RADISYS is not set | 657 | # CONFIG_PATA_RADISYS is not set |
623 | # CONFIG_PATA_RDC is not set | 658 | # CONFIG_PATA_RDC is not set |
624 | # CONFIG_PATA_RZ1000 is not set | 659 | # CONFIG_PATA_RZ1000 is not set |
625 | # CONFIG_PATA_SC1200 is not set | 660 | # CONFIG_PATA_SC1200 is not set |
626 | # CONFIG_PATA_SERVERWORKS is not set | 661 | # CONFIG_PATA_SERVERWORKS is not set |
627 | # CONFIG_PATA_PDC2027X is not set | ||
628 | # CONFIG_PATA_SIL680 is not set | 662 | # CONFIG_PATA_SIL680 is not set |
629 | # CONFIG_PATA_SIS is not set | 663 | # CONFIG_PATA_SIS is not set |
664 | # CONFIG_PATA_TOSHIBA is not set | ||
630 | # CONFIG_PATA_VIA is not set | 665 | # CONFIG_PATA_VIA is not set |
631 | # CONFIG_PATA_WINBOND is not set | 666 | # CONFIG_PATA_WINBOND is not set |
632 | CONFIG_PATA_PLATFORM=y | 667 | CONFIG_PATA_PLATFORM=y |
@@ -704,6 +739,7 @@ CONFIG_8139TOO=y | |||
704 | # CONFIG_TLAN is not set | 739 | # CONFIG_TLAN is not set |
705 | # CONFIG_KS8842 is not set | 740 | # CONFIG_KS8842 is not set |
706 | # CONFIG_KS8851 is not set | 741 | # CONFIG_KS8851 is not set |
742 | # CONFIG_KS8851_MLL is not set | ||
707 | # CONFIG_VIA_RHINE is not set | 743 | # CONFIG_VIA_RHINE is not set |
708 | # CONFIG_SC92031 is not set | 744 | # CONFIG_SC92031 is not set |
709 | # CONFIG_ATL2 is not set | 745 | # CONFIG_ATL2 is not set |
@@ -752,8 +788,10 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
752 | # CONFIG_BE2NET is not set | 788 | # CONFIG_BE2NET is not set |
753 | # CONFIG_TR is not set | 789 | # CONFIG_TR is not set |
754 | CONFIG_WLAN=y | 790 | CONFIG_WLAN=y |
755 | # CONFIG_WLAN_PRE80211 is not set | 791 | # CONFIG_ATMEL is not set |
756 | # CONFIG_WLAN_80211 is not set | 792 | # CONFIG_PRISM54 is not set |
793 | # CONFIG_USB_ZD1201 is not set | ||
794 | # CONFIG_HOSTAP is not set | ||
757 | 795 | ||
758 | # | 796 | # |
759 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 797 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -776,6 +814,7 @@ CONFIG_WLAN=y | |||
776 | # CONFIG_NETCONSOLE is not set | 814 | # CONFIG_NETCONSOLE is not set |
777 | # CONFIG_NETPOLL is not set | 815 | # CONFIG_NETPOLL is not set |
778 | # CONFIG_NET_POLL_CONTROLLER is not set | 816 | # CONFIG_NET_POLL_CONTROLLER is not set |
817 | # CONFIG_VMXNET3 is not set | ||
779 | # CONFIG_ISDN is not set | 818 | # CONFIG_ISDN is not set |
780 | # CONFIG_PHONE is not set | 819 | # CONFIG_PHONE is not set |
781 | 820 | ||
@@ -785,6 +824,7 @@ CONFIG_WLAN=y | |||
785 | CONFIG_INPUT=y | 824 | CONFIG_INPUT=y |
786 | CONFIG_INPUT_FF_MEMLESS=m | 825 | CONFIG_INPUT_FF_MEMLESS=m |
787 | # CONFIG_INPUT_POLLDEV is not set | 826 | # CONFIG_INPUT_POLLDEV is not set |
827 | # CONFIG_INPUT_SPARSEKMAP is not set | ||
788 | 828 | ||
789 | # | 829 | # |
790 | # Userland interfaces | 830 | # Userland interfaces |
@@ -862,7 +902,10 @@ CONFIG_SPI_MASTER=y | |||
862 | # SPI Master Controller Drivers | 902 | # SPI Master Controller Drivers |
863 | # | 903 | # |
864 | CONFIG_SPI_BITBANG=y | 904 | CONFIG_SPI_BITBANG=y |
905 | # CONFIG_SPI_SH_MSIOF is not set | ||
865 | CONFIG_SPI_SH_SCI=y | 906 | CONFIG_SPI_SH_SCI=y |
907 | # CONFIG_SPI_XILINX is not set | ||
908 | # CONFIG_SPI_DESIGNWARE is not set | ||
866 | 909 | ||
867 | # | 910 | # |
868 | # SPI Protocol Masters | 911 | # SPI Protocol Masters |
@@ -915,10 +958,12 @@ CONFIG_SSB_POSSIBLE=y | |||
915 | # | 958 | # |
916 | # CONFIG_MFD_CORE is not set | 959 | # CONFIG_MFD_CORE is not set |
917 | CONFIG_MFD_SM501=y | 960 | CONFIG_MFD_SM501=y |
961 | # CONFIG_MFD_SH_MOBILE_SDHI is not set | ||
918 | # CONFIG_HTC_PASIC3 is not set | 962 | # CONFIG_HTC_PASIC3 is not set |
919 | # CONFIG_MFD_TMIO is not set | 963 | # CONFIG_MFD_TMIO is not set |
920 | # CONFIG_MFD_MC13783 is not set | 964 | # CONFIG_MFD_MC13783 is not set |
921 | # CONFIG_EZX_PCAP is not set | 965 | # CONFIG_EZX_PCAP is not set |
966 | # CONFIG_AB4500_CORE is not set | ||
922 | # CONFIG_REGULATOR is not set | 967 | # CONFIG_REGULATOR is not set |
923 | # CONFIG_MEDIA_SUPPORT is not set | 968 | # CONFIG_MEDIA_SUPPORT is not set |
924 | 969 | ||
@@ -1055,6 +1100,7 @@ CONFIG_SND_PCI=y | |||
1055 | # CONFIG_SND_OXYGEN is not set | 1100 | # CONFIG_SND_OXYGEN is not set |
1056 | # CONFIG_SND_CS4281 is not set | 1101 | # CONFIG_SND_CS4281 is not set |
1057 | # CONFIG_SND_CS46XX is not set | 1102 | # CONFIG_SND_CS46XX is not set |
1103 | # CONFIG_SND_CS5535AUDIO is not set | ||
1058 | # CONFIG_SND_CTXFI is not set | 1104 | # CONFIG_SND_CTXFI is not set |
1059 | # CONFIG_SND_DARLA20 is not set | 1105 | # CONFIG_SND_DARLA20 is not set |
1060 | # CONFIG_SND_GINA20 is not set | 1106 | # CONFIG_SND_GINA20 is not set |
@@ -1308,7 +1354,9 @@ CONFIG_RTC_DRV_R9701=y | |||
1308 | # CONFIG_RTC_DRV_M48T86 is not set | 1354 | # CONFIG_RTC_DRV_M48T86 is not set |
1309 | # CONFIG_RTC_DRV_M48T35 is not set | 1355 | # CONFIG_RTC_DRV_M48T35 is not set |
1310 | # CONFIG_RTC_DRV_M48T59 is not set | 1356 | # CONFIG_RTC_DRV_M48T59 is not set |
1357 | # CONFIG_RTC_DRV_MSM6242 is not set | ||
1311 | # CONFIG_RTC_DRV_BQ4802 is not set | 1358 | # CONFIG_RTC_DRV_BQ4802 is not set |
1359 | # CONFIG_RTC_DRV_RP5C01 is not set | ||
1312 | # CONFIG_RTC_DRV_V3020 is not set | 1360 | # CONFIG_RTC_DRV_V3020 is not set |
1313 | 1361 | ||
1314 | # | 1362 | # |
@@ -1333,6 +1381,7 @@ CONFIG_EXT2_FS=y | |||
1333 | # CONFIG_EXT2_FS_XIP is not set | 1381 | # CONFIG_EXT2_FS_XIP is not set |
1334 | # CONFIG_EXT3_FS is not set | 1382 | # CONFIG_EXT3_FS is not set |
1335 | # CONFIG_EXT4_FS is not set | 1383 | # CONFIG_EXT4_FS is not set |
1384 | CONFIG_EXT4_USE_FOR_EXT23=y | ||
1336 | # CONFIG_REISERFS_FS is not set | 1385 | # CONFIG_REISERFS_FS is not set |
1337 | # CONFIG_JFS_FS is not set | 1386 | # CONFIG_JFS_FS is not set |
1338 | # CONFIG_FS_POSIX_ACL is not set | 1387 | # CONFIG_FS_POSIX_ACL is not set |
@@ -1474,10 +1523,11 @@ CONFIG_DEBUG_FS=y | |||
1474 | # CONFIG_HEADERS_CHECK is not set | 1523 | # CONFIG_HEADERS_CHECK is not set |
1475 | # CONFIG_DEBUG_KERNEL is not set | 1524 | # CONFIG_DEBUG_KERNEL is not set |
1476 | CONFIG_STACKTRACE=y | 1525 | CONFIG_STACKTRACE=y |
1477 | # CONFIG_DEBUG_BUGVERBOSE is not set | 1526 | CONFIG_DEBUG_BUGVERBOSE=y |
1478 | # CONFIG_DEBUG_MEMORY_INIT is not set | 1527 | # CONFIG_DEBUG_MEMORY_INIT is not set |
1479 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | 1528 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set |
1480 | # CONFIG_LATENCYTOP is not set | 1529 | # CONFIG_LATENCYTOP is not set |
1530 | # CONFIG_SYSCTL_SYSCALL_CHECK is not set | ||
1481 | CONFIG_NOP_TRACER=y | 1531 | CONFIG_NOP_TRACER=y |
1482 | CONFIG_HAVE_FUNCTION_TRACER=y | 1532 | CONFIG_HAVE_FUNCTION_TRACER=y |
1483 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | 1533 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y |
@@ -1497,9 +1547,6 @@ CONFIG_TRACING_SUPPORT=y | |||
1497 | # CONFIG_SAMPLES is not set | 1547 | # CONFIG_SAMPLES is not set |
1498 | CONFIG_HAVE_ARCH_KGDB=y | 1548 | CONFIG_HAVE_ARCH_KGDB=y |
1499 | # CONFIG_SH_STANDARD_BIOS is not set | 1549 | # CONFIG_SH_STANDARD_BIOS is not set |
1500 | CONFIG_EARLY_SCIF_CONSOLE=y | ||
1501 | CONFIG_EARLY_SCIF_CONSOLE_PORT=0xffe80000 | ||
1502 | CONFIG_EARLY_PRINTK=y | ||
1503 | # CONFIG_DWARF_UNWINDER is not set | 1550 | # CONFIG_DWARF_UNWINDER is not set |
1504 | 1551 | ||
1505 | # | 1552 | # |
@@ -1508,7 +1555,11 @@ CONFIG_EARLY_PRINTK=y | |||
1508 | # CONFIG_KEYS is not set | 1555 | # CONFIG_KEYS is not set |
1509 | # CONFIG_SECURITY is not set | 1556 | # CONFIG_SECURITY is not set |
1510 | # CONFIG_SECURITYFS is not set | 1557 | # CONFIG_SECURITYFS is not set |
1511 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1558 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
1559 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
1560 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
1561 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
1562 | CONFIG_DEFAULT_SECURITY="" | ||
1512 | CONFIG_CRYPTO=y | 1563 | CONFIG_CRYPTO=y |
1513 | 1564 | ||
1514 | # | 1565 | # |
diff --git a/arch/sh/configs/rts7751r2dplus_defconfig b/arch/sh/configs/rts7751r2dplus_defconfig index 9215bbb13d6f..a8d538f06e67 100644 --- a/arch/sh/configs/rts7751r2dplus_defconfig +++ b/arch/sh/configs/rts7751r2dplus_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.31 | 3 | # Linux kernel version: 2.6.33-rc2 |
4 | # Thu Sep 24 18:39:48 2009 | 4 | # Mon Jan 4 13:26:39 2010 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_SUPERH32=y | 7 | CONFIG_SUPERH32=y |
@@ -20,6 +20,7 @@ CONFIG_GENERIC_TIME=y | |||
20 | CONFIG_GENERIC_CLOCKEVENTS=y | 20 | CONFIG_GENERIC_CLOCKEVENTS=y |
21 | # CONFIG_ARCH_SUSPEND_POSSIBLE is not set | 21 | # CONFIG_ARCH_SUSPEND_POSSIBLE is not set |
22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y | 22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y |
23 | CONFIG_SYS_SUPPORTS_HUGETLBFS=y | ||
23 | CONFIG_SYS_SUPPORTS_PCI=y | 24 | CONFIG_SYS_SUPPORTS_PCI=y |
24 | CONFIG_SYS_SUPPORTS_TMU=y | 25 | CONFIG_SYS_SUPPORTS_TMU=y |
25 | CONFIG_STACKTRACE_SUPPORT=y | 26 | CONFIG_STACKTRACE_SUPPORT=y |
@@ -31,6 +32,7 @@ CONFIG_ARCH_NO_VIRT_TO_BUS=y | |||
31 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y | 32 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y |
32 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y | 33 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y |
33 | CONFIG_IO_TRAPPED=y | 34 | CONFIG_IO_TRAPPED=y |
35 | CONFIG_DMA_NONCOHERENT=y | ||
34 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 36 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
35 | CONFIG_CONSTRUCTORS=y | 37 | CONFIG_CONSTRUCTORS=y |
36 | 38 | ||
@@ -61,6 +63,7 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
61 | # | 63 | # |
62 | CONFIG_TREE_RCU=y | 64 | CONFIG_TREE_RCU=y |
63 | # CONFIG_TREE_PREEMPT_RCU is not set | 65 | # CONFIG_TREE_PREEMPT_RCU is not set |
66 | # CONFIG_TINY_RCU is not set | ||
64 | # CONFIG_RCU_TRACE is not set | 67 | # CONFIG_RCU_TRACE is not set |
65 | CONFIG_RCU_FANOUT=32 | 68 | CONFIG_RCU_FANOUT=32 |
66 | # CONFIG_RCU_FANOUT_EXACT is not set | 69 | # CONFIG_RCU_FANOUT_EXACT is not set |
@@ -95,6 +98,7 @@ CONFIG_EVENTFD=y | |||
95 | CONFIG_SHMEM=y | 98 | CONFIG_SHMEM=y |
96 | CONFIG_AIO=y | 99 | CONFIG_AIO=y |
97 | CONFIG_HAVE_PERF_EVENTS=y | 100 | CONFIG_HAVE_PERF_EVENTS=y |
101 | CONFIG_PERF_USE_VMALLOC=y | ||
98 | 102 | ||
99 | # | 103 | # |
100 | # Kernel Performance Events And Counters | 104 | # Kernel Performance Events And Counters |
@@ -117,6 +121,7 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
117 | CONFIG_HAVE_KPROBES=y | 121 | CONFIG_HAVE_KPROBES=y |
118 | CONFIG_HAVE_KRETPROBES=y | 122 | CONFIG_HAVE_KRETPROBES=y |
119 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 123 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
124 | CONFIG_HAVE_DMA_ATTRS=y | ||
120 | CONFIG_HAVE_CLK=y | 125 | CONFIG_HAVE_CLK=y |
121 | CONFIG_HAVE_DMA_API_DEBUG=y | 126 | CONFIG_HAVE_DMA_API_DEBUG=y |
122 | 127 | ||
@@ -143,14 +148,41 @@ CONFIG_LBDAF=y | |||
143 | # IO Schedulers | 148 | # IO Schedulers |
144 | # | 149 | # |
145 | CONFIG_IOSCHED_NOOP=y | 150 | CONFIG_IOSCHED_NOOP=y |
146 | CONFIG_IOSCHED_AS=y | ||
147 | CONFIG_IOSCHED_DEADLINE=y | 151 | CONFIG_IOSCHED_DEADLINE=y |
148 | CONFIG_IOSCHED_CFQ=y | 152 | CONFIG_IOSCHED_CFQ=y |
149 | CONFIG_DEFAULT_AS=y | ||
150 | # CONFIG_DEFAULT_DEADLINE is not set | 153 | # CONFIG_DEFAULT_DEADLINE is not set |
151 | # CONFIG_DEFAULT_CFQ is not set | 154 | CONFIG_DEFAULT_CFQ=y |
152 | # CONFIG_DEFAULT_NOOP is not set | 155 | # CONFIG_DEFAULT_NOOP is not set |
153 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 156 | CONFIG_DEFAULT_IOSCHED="cfq" |
157 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
158 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
159 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
160 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
161 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
162 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
163 | CONFIG_INLINE_SPIN_UNLOCK=y | ||
164 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
165 | CONFIG_INLINE_SPIN_UNLOCK_IRQ=y | ||
166 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
167 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
168 | # CONFIG_INLINE_READ_LOCK is not set | ||
169 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
170 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
171 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
172 | CONFIG_INLINE_READ_UNLOCK=y | ||
173 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
174 | CONFIG_INLINE_READ_UNLOCK_IRQ=y | ||
175 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
176 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
177 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
178 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
179 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
180 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
181 | CONFIG_INLINE_WRITE_UNLOCK=y | ||
182 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
183 | CONFIG_INLINE_WRITE_UNLOCK_IRQ=y | ||
184 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
185 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
154 | # CONFIG_FREEZER is not set | 186 | # CONFIG_FREEZER is not set |
155 | 187 | ||
156 | # | 188 | # |
@@ -226,8 +258,6 @@ CONFIG_SPLIT_PTLOCK_CPUS=4 | |||
226 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 258 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
227 | CONFIG_ZONE_DMA_FLAG=0 | 259 | CONFIG_ZONE_DMA_FLAG=0 |
228 | CONFIG_NR_QUICK=2 | 260 | CONFIG_NR_QUICK=2 |
229 | CONFIG_HAVE_MLOCK=y | ||
230 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
231 | # CONFIG_KSM is not set | 261 | # CONFIG_KSM is not set |
232 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | 262 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 |
233 | 263 | ||
@@ -321,7 +351,6 @@ CONFIG_GUSA=y | |||
321 | CONFIG_ZERO_PAGE_OFFSET=0x00010000 | 351 | CONFIG_ZERO_PAGE_OFFSET=0x00010000 |
322 | CONFIG_BOOT_LINK_OFFSET=0x00800000 | 352 | CONFIG_BOOT_LINK_OFFSET=0x00800000 |
323 | CONFIG_ENTRY_OFFSET=0x00001000 | 353 | CONFIG_ENTRY_OFFSET=0x00001000 |
324 | # CONFIG_UBC_WAKEUP is not set | ||
325 | CONFIG_CMDLINE_OVERWRITE=y | 354 | CONFIG_CMDLINE_OVERWRITE=y |
326 | # CONFIG_CMDLINE_EXTEND is not set | 355 | # CONFIG_CMDLINE_EXTEND is not set |
327 | CONFIG_CMDLINE="console=tty0 console=ttySC1,115200 root=/dev/sda1" | 356 | CONFIG_CMDLINE="console=tty0 console=ttySC1,115200 root=/dev/sda1" |
@@ -330,7 +359,6 @@ CONFIG_CMDLINE="console=tty0 console=ttySC1,115200 root=/dev/sda1" | |||
330 | # Bus options | 359 | # Bus options |
331 | # | 360 | # |
332 | CONFIG_PCI=y | 361 | CONFIG_PCI=y |
333 | CONFIG_SH_PCIDMA_NONCOHERENT=y | ||
334 | # CONFIG_PCIEPORTBUS is not set | 362 | # CONFIG_PCIEPORTBUS is not set |
335 | # CONFIG_ARCH_SUPPORTS_MSI is not set | 363 | # CONFIG_ARCH_SUPPORTS_MSI is not set |
336 | CONFIG_PCI_LEGACY=y | 364 | CONFIG_PCI_LEGACY=y |
@@ -429,10 +457,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
429 | # CONFIG_AF_RXRPC is not set | 457 | # CONFIG_AF_RXRPC is not set |
430 | CONFIG_WIRELESS=y | 458 | CONFIG_WIRELESS=y |
431 | # CONFIG_CFG80211 is not set | 459 | # CONFIG_CFG80211 is not set |
432 | CONFIG_CFG80211_DEFAULT_PS_VALUE=0 | ||
433 | # CONFIG_WIRELESS_OLD_REGULATORY is not set | ||
434 | CONFIG_WIRELESS_EXT=y | ||
435 | CONFIG_WIRELESS_EXT_SYSFS=y | ||
436 | # CONFIG_LIB80211 is not set | 460 | # CONFIG_LIB80211 is not set |
437 | 461 | ||
438 | # | 462 | # |
@@ -552,6 +576,10 @@ CONFIG_BLK_DEV=y | |||
552 | # CONFIG_BLK_DEV_UMEM is not set | 576 | # CONFIG_BLK_DEV_UMEM is not set |
553 | # CONFIG_BLK_DEV_COW_COMMON is not set | 577 | # CONFIG_BLK_DEV_COW_COMMON is not set |
554 | # CONFIG_BLK_DEV_LOOP is not set | 578 | # CONFIG_BLK_DEV_LOOP is not set |
579 | |||
580 | # | ||
581 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
582 | # | ||
555 | # CONFIG_BLK_DEV_NBD is not set | 583 | # CONFIG_BLK_DEV_NBD is not set |
556 | # CONFIG_BLK_DEV_SX8 is not set | 584 | # CONFIG_BLK_DEV_SX8 is not set |
557 | # CONFIG_BLK_DEV_UB is not set | 585 | # CONFIG_BLK_DEV_UB is not set |
@@ -568,6 +596,7 @@ CONFIG_MISC_DEVICES=y | |||
568 | # CONFIG_TIFM_CORE is not set | 596 | # CONFIG_TIFM_CORE is not set |
569 | # CONFIG_ENCLOSURE_SERVICES is not set | 597 | # CONFIG_ENCLOSURE_SERVICES is not set |
570 | # CONFIG_HP_ILO is not set | 598 | # CONFIG_HP_ILO is not set |
599 | # CONFIG_TI_DAC7512 is not set | ||
571 | # CONFIG_C2PORT is not set | 600 | # CONFIG_C2PORT is not set |
572 | 601 | ||
573 | # | 602 | # |
@@ -616,8 +645,11 @@ CONFIG_SCSI_LOWLEVEL=y | |||
616 | # CONFIG_ISCSI_TCP is not set | 645 | # CONFIG_ISCSI_TCP is not set |
617 | # CONFIG_SCSI_CXGB3_ISCSI is not set | 646 | # CONFIG_SCSI_CXGB3_ISCSI is not set |
618 | # CONFIG_SCSI_BNX2_ISCSI is not set | 647 | # CONFIG_SCSI_BNX2_ISCSI is not set |
648 | # CONFIG_BE2ISCSI is not set | ||
619 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set | 649 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set |
650 | # CONFIG_SCSI_HPSA is not set | ||
620 | # CONFIG_SCSI_3W_9XXX is not set | 651 | # CONFIG_SCSI_3W_9XXX is not set |
652 | # CONFIG_SCSI_3W_SAS is not set | ||
621 | # CONFIG_SCSI_ACARD is not set | 653 | # CONFIG_SCSI_ACARD is not set |
622 | # CONFIG_SCSI_AACRAID is not set | 654 | # CONFIG_SCSI_AACRAID is not set |
623 | # CONFIG_SCSI_AIC7XXX is not set | 655 | # CONFIG_SCSI_AIC7XXX is not set |
@@ -651,7 +683,9 @@ CONFIG_SCSI_LOWLEVEL=y | |||
651 | # CONFIG_SCSI_NSP32 is not set | 683 | # CONFIG_SCSI_NSP32 is not set |
652 | # CONFIG_SCSI_DEBUG is not set | 684 | # CONFIG_SCSI_DEBUG is not set |
653 | # CONFIG_SCSI_PMCRAID is not set | 685 | # CONFIG_SCSI_PMCRAID is not set |
686 | # CONFIG_SCSI_PM8001 is not set | ||
654 | # CONFIG_SCSI_SRP is not set | 687 | # CONFIG_SCSI_SRP is not set |
688 | # CONFIG_SCSI_BFA_FC is not set | ||
655 | # CONFIG_SCSI_DH is not set | 689 | # CONFIG_SCSI_DH is not set |
656 | # CONFIG_SCSI_OSD_INITIATOR is not set | 690 | # CONFIG_SCSI_OSD_INITIATOR is not set |
657 | CONFIG_ATA=y | 691 | CONFIG_ATA=y |
@@ -704,15 +738,16 @@ CONFIG_ATA_SFF=y | |||
704 | # CONFIG_PATA_NS87415 is not set | 738 | # CONFIG_PATA_NS87415 is not set |
705 | # CONFIG_PATA_OPTI is not set | 739 | # CONFIG_PATA_OPTI is not set |
706 | # CONFIG_PATA_OPTIDMA is not set | 740 | # CONFIG_PATA_OPTIDMA is not set |
741 | # CONFIG_PATA_PDC2027X is not set | ||
707 | # CONFIG_PATA_PDC_OLD is not set | 742 | # CONFIG_PATA_PDC_OLD is not set |
708 | # CONFIG_PATA_RADISYS is not set | 743 | # CONFIG_PATA_RADISYS is not set |
709 | # CONFIG_PATA_RDC is not set | 744 | # CONFIG_PATA_RDC is not set |
710 | # CONFIG_PATA_RZ1000 is not set | 745 | # CONFIG_PATA_RZ1000 is not set |
711 | # CONFIG_PATA_SC1200 is not set | 746 | # CONFIG_PATA_SC1200 is not set |
712 | # CONFIG_PATA_SERVERWORKS is not set | 747 | # CONFIG_PATA_SERVERWORKS is not set |
713 | # CONFIG_PATA_PDC2027X is not set | ||
714 | # CONFIG_PATA_SIL680 is not set | 748 | # CONFIG_PATA_SIL680 is not set |
715 | # CONFIG_PATA_SIS is not set | 749 | # CONFIG_PATA_SIS is not set |
750 | # CONFIG_PATA_TOSHIBA is not set | ||
716 | # CONFIG_PATA_VIA is not set | 751 | # CONFIG_PATA_VIA is not set |
717 | # CONFIG_PATA_WINBOND is not set | 752 | # CONFIG_PATA_WINBOND is not set |
718 | CONFIG_PATA_PLATFORM=y | 753 | CONFIG_PATA_PLATFORM=y |
@@ -790,6 +825,7 @@ CONFIG_8139TOO=y | |||
790 | # CONFIG_TLAN is not set | 825 | # CONFIG_TLAN is not set |
791 | # CONFIG_KS8842 is not set | 826 | # CONFIG_KS8842 is not set |
792 | # CONFIG_KS8851 is not set | 827 | # CONFIG_KS8851 is not set |
828 | # CONFIG_KS8851_MLL is not set | ||
793 | # CONFIG_VIA_RHINE is not set | 829 | # CONFIG_VIA_RHINE is not set |
794 | # CONFIG_SC92031 is not set | 830 | # CONFIG_SC92031 is not set |
795 | # CONFIG_ATL2 is not set | 831 | # CONFIG_ATL2 is not set |
@@ -838,8 +874,10 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
838 | # CONFIG_BE2NET is not set | 874 | # CONFIG_BE2NET is not set |
839 | # CONFIG_TR is not set | 875 | # CONFIG_TR is not set |
840 | CONFIG_WLAN=y | 876 | CONFIG_WLAN=y |
841 | # CONFIG_WLAN_PRE80211 is not set | 877 | # CONFIG_ATMEL is not set |
842 | # CONFIG_WLAN_80211 is not set | 878 | # CONFIG_PRISM54 is not set |
879 | # CONFIG_USB_ZD1201 is not set | ||
880 | # CONFIG_HOSTAP is not set | ||
843 | 881 | ||
844 | # | 882 | # |
845 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 883 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -862,6 +900,7 @@ CONFIG_WLAN=y | |||
862 | # CONFIG_NETCONSOLE is not set | 900 | # CONFIG_NETCONSOLE is not set |
863 | # CONFIG_NETPOLL is not set | 901 | # CONFIG_NETPOLL is not set |
864 | # CONFIG_NET_POLL_CONTROLLER is not set | 902 | # CONFIG_NET_POLL_CONTROLLER is not set |
903 | # CONFIG_VMXNET3 is not set | ||
865 | # CONFIG_ISDN is not set | 904 | # CONFIG_ISDN is not set |
866 | # CONFIG_PHONE is not set | 905 | # CONFIG_PHONE is not set |
867 | 906 | ||
@@ -871,6 +910,7 @@ CONFIG_WLAN=y | |||
871 | CONFIG_INPUT=y | 910 | CONFIG_INPUT=y |
872 | CONFIG_INPUT_FF_MEMLESS=m | 911 | CONFIG_INPUT_FF_MEMLESS=m |
873 | # CONFIG_INPUT_POLLDEV is not set | 912 | # CONFIG_INPUT_POLLDEV is not set |
913 | # CONFIG_INPUT_SPARSEKMAP is not set | ||
874 | 914 | ||
875 | # | 915 | # |
876 | # Userland interfaces | 916 | # Userland interfaces |
@@ -948,7 +988,10 @@ CONFIG_SPI_MASTER=y | |||
948 | # SPI Master Controller Drivers | 988 | # SPI Master Controller Drivers |
949 | # | 989 | # |
950 | CONFIG_SPI_BITBANG=y | 990 | CONFIG_SPI_BITBANG=y |
991 | # CONFIG_SPI_SH_MSIOF is not set | ||
951 | CONFIG_SPI_SH_SCI=y | 992 | CONFIG_SPI_SH_SCI=y |
993 | # CONFIG_SPI_XILINX is not set | ||
994 | # CONFIG_SPI_DESIGNWARE is not set | ||
952 | 995 | ||
953 | # | 996 | # |
954 | # SPI Protocol Masters | 997 | # SPI Protocol Masters |
@@ -1001,10 +1044,12 @@ CONFIG_SSB_POSSIBLE=y | |||
1001 | # | 1044 | # |
1002 | # CONFIG_MFD_CORE is not set | 1045 | # CONFIG_MFD_CORE is not set |
1003 | CONFIG_MFD_SM501=y | 1046 | CONFIG_MFD_SM501=y |
1047 | # CONFIG_MFD_SH_MOBILE_SDHI is not set | ||
1004 | # CONFIG_HTC_PASIC3 is not set | 1048 | # CONFIG_HTC_PASIC3 is not set |
1005 | # CONFIG_MFD_TMIO is not set | 1049 | # CONFIG_MFD_TMIO is not set |
1006 | # CONFIG_MFD_MC13783 is not set | 1050 | # CONFIG_MFD_MC13783 is not set |
1007 | # CONFIG_EZX_PCAP is not set | 1051 | # CONFIG_EZX_PCAP is not set |
1052 | # CONFIG_AB4500_CORE is not set | ||
1008 | # CONFIG_REGULATOR is not set | 1053 | # CONFIG_REGULATOR is not set |
1009 | # CONFIG_MEDIA_SUPPORT is not set | 1054 | # CONFIG_MEDIA_SUPPORT is not set |
1010 | 1055 | ||
@@ -1141,6 +1186,7 @@ CONFIG_SND_PCI=y | |||
1141 | # CONFIG_SND_OXYGEN is not set | 1186 | # CONFIG_SND_OXYGEN is not set |
1142 | # CONFIG_SND_CS4281 is not set | 1187 | # CONFIG_SND_CS4281 is not set |
1143 | # CONFIG_SND_CS46XX is not set | 1188 | # CONFIG_SND_CS46XX is not set |
1189 | # CONFIG_SND_CS5535AUDIO is not set | ||
1144 | # CONFIG_SND_CTXFI is not set | 1190 | # CONFIG_SND_CTXFI is not set |
1145 | # CONFIG_SND_DARLA20 is not set | 1191 | # CONFIG_SND_DARLA20 is not set |
1146 | # CONFIG_SND_GINA20 is not set | 1192 | # CONFIG_SND_GINA20 is not set |
@@ -1394,7 +1440,9 @@ CONFIG_RTC_DRV_R9701=y | |||
1394 | # CONFIG_RTC_DRV_M48T86 is not set | 1440 | # CONFIG_RTC_DRV_M48T86 is not set |
1395 | # CONFIG_RTC_DRV_M48T35 is not set | 1441 | # CONFIG_RTC_DRV_M48T35 is not set |
1396 | # CONFIG_RTC_DRV_M48T59 is not set | 1442 | # CONFIG_RTC_DRV_M48T59 is not set |
1443 | # CONFIG_RTC_DRV_MSM6242 is not set | ||
1397 | # CONFIG_RTC_DRV_BQ4802 is not set | 1444 | # CONFIG_RTC_DRV_BQ4802 is not set |
1445 | # CONFIG_RTC_DRV_RP5C01 is not set | ||
1398 | # CONFIG_RTC_DRV_V3020 is not set | 1446 | # CONFIG_RTC_DRV_V3020 is not set |
1399 | 1447 | ||
1400 | # | 1448 | # |
@@ -1419,6 +1467,7 @@ CONFIG_EXT2_FS=y | |||
1419 | # CONFIG_EXT2_FS_XIP is not set | 1467 | # CONFIG_EXT2_FS_XIP is not set |
1420 | # CONFIG_EXT3_FS is not set | 1468 | # CONFIG_EXT3_FS is not set |
1421 | # CONFIG_EXT4_FS is not set | 1469 | # CONFIG_EXT4_FS is not set |
1470 | CONFIG_EXT4_USE_FOR_EXT23=y | ||
1422 | # CONFIG_REISERFS_FS is not set | 1471 | # CONFIG_REISERFS_FS is not set |
1423 | # CONFIG_JFS_FS is not set | 1472 | # CONFIG_JFS_FS is not set |
1424 | # CONFIG_FS_POSIX_ACL is not set | 1473 | # CONFIG_FS_POSIX_ACL is not set |
@@ -1561,10 +1610,11 @@ CONFIG_DEBUG_FS=y | |||
1561 | # CONFIG_HEADERS_CHECK is not set | 1610 | # CONFIG_HEADERS_CHECK is not set |
1562 | # CONFIG_DEBUG_KERNEL is not set | 1611 | # CONFIG_DEBUG_KERNEL is not set |
1563 | CONFIG_STACKTRACE=y | 1612 | CONFIG_STACKTRACE=y |
1564 | # CONFIG_DEBUG_BUGVERBOSE is not set | 1613 | CONFIG_DEBUG_BUGVERBOSE=y |
1565 | # CONFIG_DEBUG_MEMORY_INIT is not set | 1614 | # CONFIG_DEBUG_MEMORY_INIT is not set |
1566 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | 1615 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set |
1567 | # CONFIG_LATENCYTOP is not set | 1616 | # CONFIG_LATENCYTOP is not set |
1617 | # CONFIG_SYSCTL_SYSCALL_CHECK is not set | ||
1568 | CONFIG_NOP_TRACER=y | 1618 | CONFIG_NOP_TRACER=y |
1569 | CONFIG_HAVE_FUNCTION_TRACER=y | 1619 | CONFIG_HAVE_FUNCTION_TRACER=y |
1570 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | 1620 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y |
@@ -1584,9 +1634,6 @@ CONFIG_TRACING_SUPPORT=y | |||
1584 | # CONFIG_SAMPLES is not set | 1634 | # CONFIG_SAMPLES is not set |
1585 | CONFIG_HAVE_ARCH_KGDB=y | 1635 | CONFIG_HAVE_ARCH_KGDB=y |
1586 | # CONFIG_SH_STANDARD_BIOS is not set | 1636 | # CONFIG_SH_STANDARD_BIOS is not set |
1587 | CONFIG_EARLY_SCIF_CONSOLE=y | ||
1588 | CONFIG_EARLY_SCIF_CONSOLE_PORT=0xffe80000 | ||
1589 | CONFIG_EARLY_PRINTK=y | ||
1590 | # CONFIG_DWARF_UNWINDER is not set | 1637 | # CONFIG_DWARF_UNWINDER is not set |
1591 | 1638 | ||
1592 | # | 1639 | # |
@@ -1595,7 +1642,11 @@ CONFIG_EARLY_PRINTK=y | |||
1595 | # CONFIG_KEYS is not set | 1642 | # CONFIG_KEYS is not set |
1596 | # CONFIG_SECURITY is not set | 1643 | # CONFIG_SECURITY is not set |
1597 | # CONFIG_SECURITYFS is not set | 1644 | # CONFIG_SECURITYFS is not set |
1598 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1645 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
1646 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
1647 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
1648 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
1649 | CONFIG_DEFAULT_SECURITY="" | ||
1599 | CONFIG_CRYPTO=y | 1650 | CONFIG_CRYPTO=y |
1600 | 1651 | ||
1601 | # | 1652 | # |
diff --git a/arch/sh/configs/sdk7780_defconfig b/arch/sh/configs/sdk7780_defconfig index 055536b5c5cd..1859ba099945 100644 --- a/arch/sh/configs/sdk7780_defconfig +++ b/arch/sh/configs/sdk7780_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.31 | 3 | # Linux kernel version: 2.6.33-rc2 |
4 | # Thu Sep 24 18:40:25 2009 | 4 | # Mon Jan 4 13:27:20 2010 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_SUPERH32=y | 7 | CONFIG_SUPERH32=y |
@@ -20,6 +20,7 @@ CONFIG_GENERIC_TIME=y | |||
20 | CONFIG_GENERIC_CLOCKEVENTS=y | 20 | CONFIG_GENERIC_CLOCKEVENTS=y |
21 | # CONFIG_ARCH_SUSPEND_POSSIBLE is not set | 21 | # CONFIG_ARCH_SUSPEND_POSSIBLE is not set |
22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y | 22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y |
23 | CONFIG_SYS_SUPPORTS_HUGETLBFS=y | ||
23 | CONFIG_SYS_SUPPORTS_PCI=y | 24 | CONFIG_SYS_SUPPORTS_PCI=y |
24 | CONFIG_SYS_SUPPORTS_TMU=y | 25 | CONFIG_SYS_SUPPORTS_TMU=y |
25 | CONFIG_STACKTRACE_SUPPORT=y | 26 | CONFIG_STACKTRACE_SUPPORT=y |
@@ -30,6 +31,7 @@ CONFIG_HAVE_LATENCYTOP_SUPPORT=y | |||
30 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | 31 | CONFIG_ARCH_NO_VIRT_TO_BUS=y |
31 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y | 32 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y |
32 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y | 33 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y |
34 | CONFIG_DMA_NONCOHERENT=y | ||
33 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 35 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
34 | CONFIG_CONSTRUCTORS=y | 36 | CONFIG_CONSTRUCTORS=y |
35 | 37 | ||
@@ -63,6 +65,7 @@ CONFIG_BSD_PROCESS_ACCT=y | |||
63 | # | 65 | # |
64 | CONFIG_TREE_RCU=y | 66 | CONFIG_TREE_RCU=y |
65 | # CONFIG_TREE_PREEMPT_RCU is not set | 67 | # CONFIG_TREE_PREEMPT_RCU is not set |
68 | # CONFIG_TINY_RCU is not set | ||
66 | # CONFIG_RCU_TRACE is not set | 69 | # CONFIG_RCU_TRACE is not set |
67 | CONFIG_RCU_FANOUT=32 | 70 | CONFIG_RCU_FANOUT=32 |
68 | # CONFIG_RCU_FANOUT_EXACT is not set | 71 | # CONFIG_RCU_FANOUT_EXACT is not set |
@@ -99,6 +102,7 @@ CONFIG_EVENTFD=y | |||
99 | CONFIG_SHMEM=y | 102 | CONFIG_SHMEM=y |
100 | CONFIG_AIO=y | 103 | CONFIG_AIO=y |
101 | CONFIG_HAVE_PERF_EVENTS=y | 104 | CONFIG_HAVE_PERF_EVENTS=y |
105 | CONFIG_PERF_USE_VMALLOC=y | ||
102 | 106 | ||
103 | # | 107 | # |
104 | # Kernel Performance Events And Counters | 108 | # Kernel Performance Events And Counters |
@@ -119,6 +123,7 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
119 | CONFIG_HAVE_KPROBES=y | 123 | CONFIG_HAVE_KPROBES=y |
120 | CONFIG_HAVE_KRETPROBES=y | 124 | CONFIG_HAVE_KRETPROBES=y |
121 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 125 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
126 | CONFIG_HAVE_DMA_ATTRS=y | ||
122 | CONFIG_HAVE_CLK=y | 127 | CONFIG_HAVE_CLK=y |
123 | CONFIG_HAVE_DMA_API_DEBUG=y | 128 | CONFIG_HAVE_DMA_API_DEBUG=y |
124 | 129 | ||
@@ -145,14 +150,41 @@ CONFIG_LBDAF=y | |||
145 | # IO Schedulers | 150 | # IO Schedulers |
146 | # | 151 | # |
147 | CONFIG_IOSCHED_NOOP=y | 152 | CONFIG_IOSCHED_NOOP=y |
148 | CONFIG_IOSCHED_AS=y | ||
149 | CONFIG_IOSCHED_DEADLINE=y | 153 | CONFIG_IOSCHED_DEADLINE=y |
150 | CONFIG_IOSCHED_CFQ=y | 154 | CONFIG_IOSCHED_CFQ=y |
151 | CONFIG_DEFAULT_AS=y | ||
152 | # CONFIG_DEFAULT_DEADLINE is not set | 155 | # CONFIG_DEFAULT_DEADLINE is not set |
153 | # CONFIG_DEFAULT_CFQ is not set | 156 | CONFIG_DEFAULT_CFQ=y |
154 | # CONFIG_DEFAULT_NOOP is not set | 157 | # CONFIG_DEFAULT_NOOP is not set |
155 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 158 | CONFIG_DEFAULT_IOSCHED="cfq" |
159 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
160 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
161 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
162 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
163 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
164 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
165 | # CONFIG_INLINE_SPIN_UNLOCK is not set | ||
166 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
167 | # CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set | ||
168 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
169 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
170 | # CONFIG_INLINE_READ_LOCK is not set | ||
171 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
172 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
173 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
174 | # CONFIG_INLINE_READ_UNLOCK is not set | ||
175 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
176 | # CONFIG_INLINE_READ_UNLOCK_IRQ is not set | ||
177 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
178 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
179 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
180 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
181 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
182 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
183 | # CONFIG_INLINE_WRITE_UNLOCK is not set | ||
184 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
185 | # CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set | ||
186 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
187 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
156 | # CONFIG_FREEZER is not set | 188 | # CONFIG_FREEZER is not set |
157 | 189 | ||
158 | # | 190 | # |
@@ -239,8 +271,6 @@ CONFIG_SPLIT_PTLOCK_CPUS=4 | |||
239 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 271 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
240 | CONFIG_ZONE_DMA_FLAG=0 | 272 | CONFIG_ZONE_DMA_FLAG=0 |
241 | CONFIG_NR_QUICK=2 | 273 | CONFIG_NR_QUICK=2 |
242 | CONFIG_HAVE_MLOCK=y | ||
243 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
244 | # CONFIG_KSM is not set | 274 | # CONFIG_KSM is not set |
245 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | 275 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 |
246 | 276 | ||
@@ -291,9 +321,9 @@ CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | |||
291 | # | 321 | # |
292 | # DMA support | 322 | # DMA support |
293 | # | 323 | # |
294 | CONFIG_SH_DMA_API=y | ||
295 | CONFIG_SH_DMA=y | 324 | CONFIG_SH_DMA=y |
296 | CONFIG_SH_DMA_IRQ_MULTI=y | 325 | CONFIG_SH_DMA_IRQ_MULTI=y |
326 | CONFIG_SH_DMA_API=y | ||
297 | CONFIG_NR_ONCHIP_DMA_CHANNELS=12 | 327 | CONFIG_NR_ONCHIP_DMA_CHANNELS=12 |
298 | # CONFIG_NR_DMA_CHANNELS_BOOL is not set | 328 | # CONFIG_NR_DMA_CHANNELS_BOOL is not set |
299 | 329 | ||
@@ -339,7 +369,6 @@ CONFIG_CMDLINE="mem=128M console=tty0 console=ttySC0,115200 ip=bootp root=/dev/n | |||
339 | # Bus options | 369 | # Bus options |
340 | # | 370 | # |
341 | CONFIG_PCI=y | 371 | CONFIG_PCI=y |
342 | CONFIG_SH_PCIDMA_NONCOHERENT=y | ||
343 | # CONFIG_PCIEPORTBUS is not set | 372 | # CONFIG_PCIEPORTBUS is not set |
344 | # CONFIG_ARCH_SUPPORTS_MSI is not set | 373 | # CONFIG_ARCH_SUPPORTS_MSI is not set |
345 | # CONFIG_PCI_LEGACY is not set | 374 | # CONFIG_PCI_LEGACY is not set |
@@ -347,7 +376,6 @@ CONFIG_PCI_DEBUG=y | |||
347 | # CONFIG_PCI_STUB is not set | 376 | # CONFIG_PCI_STUB is not set |
348 | # CONFIG_PCI_IOV is not set | 377 | # CONFIG_PCI_IOV is not set |
349 | CONFIG_PCCARD=y | 378 | CONFIG_PCCARD=y |
350 | # CONFIG_PCMCIA_DEBUG is not set | ||
351 | CONFIG_PCMCIA=y | 379 | CONFIG_PCMCIA=y |
352 | CONFIG_PCMCIA_LOAD_CIS=y | 380 | CONFIG_PCMCIA_LOAD_CIS=y |
353 | CONFIG_PCMCIA_IOCTL=y | 381 | CONFIG_PCMCIA_IOCTL=y |
@@ -445,6 +473,7 @@ CONFIG_INET6_XFRM_MODE_TUNNEL=y | |||
445 | # CONFIG_INET6_XFRM_MODE_BEET is not set | 473 | # CONFIG_INET6_XFRM_MODE_BEET is not set |
446 | # CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set | 474 | # CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set |
447 | CONFIG_IPV6_SIT=y | 475 | CONFIG_IPV6_SIT=y |
476 | # CONFIG_IPV6_SIT_6RD is not set | ||
448 | CONFIG_IPV6_NDISC_NODETYPE=y | 477 | CONFIG_IPV6_NDISC_NODETYPE=y |
449 | # CONFIG_IPV6_TUNNEL is not set | 478 | # CONFIG_IPV6_TUNNEL is not set |
450 | # CONFIG_IPV6_MULTIPLE_TABLES is not set | 479 | # CONFIG_IPV6_MULTIPLE_TABLES is not set |
@@ -515,9 +544,6 @@ CONFIG_NET_SCH_FIFO=y | |||
515 | # CONFIG_AF_RXRPC is not set | 544 | # CONFIG_AF_RXRPC is not set |
516 | CONFIG_WIRELESS=y | 545 | CONFIG_WIRELESS=y |
517 | # CONFIG_CFG80211 is not set | 546 | # CONFIG_CFG80211 is not set |
518 | CONFIG_CFG80211_DEFAULT_PS_VALUE=0 | ||
519 | # CONFIG_WIRELESS_OLD_REGULATORY is not set | ||
520 | # CONFIG_WIRELESS_EXT is not set | ||
521 | # CONFIG_LIB80211 is not set | 547 | # CONFIG_LIB80211 is not set |
522 | 548 | ||
523 | # | 549 | # |
@@ -558,6 +584,10 @@ CONFIG_BLK_DEV=y | |||
558 | # CONFIG_BLK_DEV_COW_COMMON is not set | 584 | # CONFIG_BLK_DEV_COW_COMMON is not set |
559 | CONFIG_BLK_DEV_LOOP=y | 585 | CONFIG_BLK_DEV_LOOP=y |
560 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | 586 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set |
587 | |||
588 | # | ||
589 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
590 | # | ||
561 | # CONFIG_BLK_DEV_NBD is not set | 591 | # CONFIG_BLK_DEV_NBD is not set |
562 | # CONFIG_BLK_DEV_SX8 is not set | 592 | # CONFIG_BLK_DEV_SX8 is not set |
563 | # CONFIG_BLK_DEV_UB is not set | 593 | # CONFIG_BLK_DEV_UB is not set |
@@ -663,8 +693,11 @@ CONFIG_SCSI_FC_ATTRS=y | |||
663 | CONFIG_SCSI_LOWLEVEL=y | 693 | CONFIG_SCSI_LOWLEVEL=y |
664 | # CONFIG_ISCSI_TCP is not set | 694 | # CONFIG_ISCSI_TCP is not set |
665 | # CONFIG_SCSI_BNX2_ISCSI is not set | 695 | # CONFIG_SCSI_BNX2_ISCSI is not set |
696 | # CONFIG_BE2ISCSI is not set | ||
666 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set | 697 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set |
698 | # CONFIG_SCSI_HPSA is not set | ||
667 | # CONFIG_SCSI_3W_9XXX is not set | 699 | # CONFIG_SCSI_3W_9XXX is not set |
700 | # CONFIG_SCSI_3W_SAS is not set | ||
668 | # CONFIG_SCSI_ACARD is not set | 701 | # CONFIG_SCSI_ACARD is not set |
669 | # CONFIG_SCSI_AACRAID is not set | 702 | # CONFIG_SCSI_AACRAID is not set |
670 | # CONFIG_SCSI_AIC7XXX is not set | 703 | # CONFIG_SCSI_AIC7XXX is not set |
@@ -698,7 +731,9 @@ CONFIG_SCSI_LOWLEVEL=y | |||
698 | # CONFIG_SCSI_NSP32 is not set | 731 | # CONFIG_SCSI_NSP32 is not set |
699 | # CONFIG_SCSI_DEBUG is not set | 732 | # CONFIG_SCSI_DEBUG is not set |
700 | # CONFIG_SCSI_PMCRAID is not set | 733 | # CONFIG_SCSI_PMCRAID is not set |
734 | # CONFIG_SCSI_PM8001 is not set | ||
701 | # CONFIG_SCSI_SRP is not set | 735 | # CONFIG_SCSI_SRP is not set |
736 | # CONFIG_SCSI_BFA_FC is not set | ||
702 | # CONFIG_SCSI_LOWLEVEL_PCMCIA is not set | 737 | # CONFIG_SCSI_LOWLEVEL_PCMCIA is not set |
703 | # CONFIG_SCSI_DH is not set | 738 | # CONFIG_SCSI_DH is not set |
704 | # CONFIG_SCSI_OSD_INITIATOR is not set | 739 | # CONFIG_SCSI_OSD_INITIATOR is not set |
@@ -753,15 +788,16 @@ CONFIG_ATA_SFF=y | |||
753 | # CONFIG_PATA_OPTI is not set | 788 | # CONFIG_PATA_OPTI is not set |
754 | # CONFIG_PATA_OPTIDMA is not set | 789 | # CONFIG_PATA_OPTIDMA is not set |
755 | # CONFIG_PATA_PCMCIA is not set | 790 | # CONFIG_PATA_PCMCIA is not set |
791 | # CONFIG_PATA_PDC2027X is not set | ||
756 | # CONFIG_PATA_PDC_OLD is not set | 792 | # CONFIG_PATA_PDC_OLD is not set |
757 | # CONFIG_PATA_RADISYS is not set | 793 | # CONFIG_PATA_RADISYS is not set |
758 | # CONFIG_PATA_RDC is not set | 794 | # CONFIG_PATA_RDC is not set |
759 | # CONFIG_PATA_RZ1000 is not set | 795 | # CONFIG_PATA_RZ1000 is not set |
760 | # CONFIG_PATA_SC1200 is not set | 796 | # CONFIG_PATA_SC1200 is not set |
761 | # CONFIG_PATA_SERVERWORKS is not set | 797 | # CONFIG_PATA_SERVERWORKS is not set |
762 | # CONFIG_PATA_PDC2027X is not set | ||
763 | # CONFIG_PATA_SIL680 is not set | 798 | # CONFIG_PATA_SIL680 is not set |
764 | # CONFIG_PATA_SIS is not set | 799 | # CONFIG_PATA_SIS is not set |
800 | # CONFIG_PATA_TOSHIBA is not set | ||
765 | # CONFIG_PATA_VIA is not set | 801 | # CONFIG_PATA_VIA is not set |
766 | # CONFIG_PATA_WINBOND is not set | 802 | # CONFIG_PATA_WINBOND is not set |
767 | # CONFIG_PATA_PLATFORM is not set | 803 | # CONFIG_PATA_PLATFORM is not set |
@@ -827,14 +863,20 @@ CONFIG_SMC91X=y | |||
827 | # CONFIG_NET_PCI is not set | 863 | # CONFIG_NET_PCI is not set |
828 | # CONFIG_B44 is not set | 864 | # CONFIG_B44 is not set |
829 | # CONFIG_KS8842 is not set | 865 | # CONFIG_KS8842 is not set |
866 | # CONFIG_KS8851_MLL is not set | ||
830 | # CONFIG_NET_POCKET is not set | 867 | # CONFIG_NET_POCKET is not set |
831 | # CONFIG_ATL2 is not set | 868 | # CONFIG_ATL2 is not set |
832 | # CONFIG_NETDEV_1000 is not set | 869 | # CONFIG_NETDEV_1000 is not set |
833 | # CONFIG_NETDEV_10000 is not set | 870 | # CONFIG_NETDEV_10000 is not set |
834 | # CONFIG_TR is not set | 871 | # CONFIG_TR is not set |
835 | CONFIG_WLAN=y | 872 | CONFIG_WLAN=y |
836 | # CONFIG_WLAN_PRE80211 is not set | 873 | # CONFIG_PCMCIA_RAYCS is not set |
837 | # CONFIG_WLAN_80211 is not set | 874 | # CONFIG_ATMEL is not set |
875 | # CONFIG_AIRO_CS is not set | ||
876 | # CONFIG_PCMCIA_WL3501 is not set | ||
877 | # CONFIG_PRISM54 is not set | ||
878 | # CONFIG_USB_ZD1201 is not set | ||
879 | # CONFIG_HOSTAP is not set | ||
838 | 880 | ||
839 | # | 881 | # |
840 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 882 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -861,6 +903,7 @@ CONFIG_NETCONSOLE=y | |||
861 | CONFIG_NETPOLL=y | 903 | CONFIG_NETPOLL=y |
862 | # CONFIG_NETPOLL_TRAP is not set | 904 | # CONFIG_NETPOLL_TRAP is not set |
863 | CONFIG_NET_POLL_CONTROLLER=y | 905 | CONFIG_NET_POLL_CONTROLLER=y |
906 | # CONFIG_VMXNET3 is not set | ||
864 | # CONFIG_ISDN is not set | 907 | # CONFIG_ISDN is not set |
865 | # CONFIG_PHONE is not set | 908 | # CONFIG_PHONE is not set |
866 | 909 | ||
@@ -870,6 +913,7 @@ CONFIG_NET_POLL_CONTROLLER=y | |||
870 | CONFIG_INPUT=y | 913 | CONFIG_INPUT=y |
871 | CONFIG_INPUT_FF_MEMLESS=m | 914 | CONFIG_INPUT_FF_MEMLESS=m |
872 | # CONFIG_INPUT_POLLDEV is not set | 915 | # CONFIG_INPUT_POLLDEV is not set |
916 | # CONFIG_INPUT_SPARSEKMAP is not set | ||
873 | 917 | ||
874 | # | 918 | # |
875 | # Userland interfaces | 919 | # Userland interfaces |
@@ -922,6 +966,7 @@ CONFIG_SERIO=y | |||
922 | # CONFIG_SERIO_PCIPS2 is not set | 966 | # CONFIG_SERIO_PCIPS2 is not set |
923 | CONFIG_SERIO_LIBPS2=y | 967 | CONFIG_SERIO_LIBPS2=y |
924 | # CONFIG_SERIO_RAW is not set | 968 | # CONFIG_SERIO_RAW is not set |
969 | # CONFIG_SERIO_ALTERA_PS2 is not set | ||
925 | # CONFIG_GAMEPORT is not set | 970 | # CONFIG_GAMEPORT is not set |
926 | 971 | ||
927 | # | 972 | # |
@@ -1009,6 +1054,7 @@ CONFIG_SSB_DRIVER_PCICORE=y | |||
1009 | # | 1054 | # |
1010 | # CONFIG_MFD_CORE is not set | 1055 | # CONFIG_MFD_CORE is not set |
1011 | # CONFIG_MFD_SM501 is not set | 1056 | # CONFIG_MFD_SM501 is not set |
1057 | # CONFIG_MFD_SH_MOBILE_SDHI is not set | ||
1012 | # CONFIG_HTC_PASIC3 is not set | 1058 | # CONFIG_HTC_PASIC3 is not set |
1013 | # CONFIG_MFD_TMIO is not set | 1059 | # CONFIG_MFD_TMIO is not set |
1014 | # CONFIG_REGULATOR is not set | 1060 | # CONFIG_REGULATOR is not set |
@@ -1534,8 +1580,6 @@ CONFIG_BRANCH_PROFILE_NONE=y | |||
1534 | CONFIG_HAVE_ARCH_KGDB=y | 1580 | CONFIG_HAVE_ARCH_KGDB=y |
1535 | # CONFIG_KGDB is not set | 1581 | # CONFIG_KGDB is not set |
1536 | CONFIG_SH_STANDARD_BIOS=y | 1582 | CONFIG_SH_STANDARD_BIOS=y |
1537 | # CONFIG_EARLY_SCIF_CONSOLE is not set | ||
1538 | # CONFIG_EARLY_PRINTK is not set | ||
1539 | # CONFIG_STACK_DEBUG is not set | 1583 | # CONFIG_STACK_DEBUG is not set |
1540 | # CONFIG_DEBUG_STACK_USAGE is not set | 1584 | # CONFIG_DEBUG_STACK_USAGE is not set |
1541 | # CONFIG_4KSTACKS is not set | 1585 | # CONFIG_4KSTACKS is not set |
@@ -1549,7 +1593,11 @@ CONFIG_DUMP_CODE=y | |||
1549 | # CONFIG_KEYS is not set | 1593 | # CONFIG_KEYS is not set |
1550 | # CONFIG_SECURITY is not set | 1594 | # CONFIG_SECURITY is not set |
1551 | # CONFIG_SECURITYFS is not set | 1595 | # CONFIG_SECURITYFS is not set |
1552 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1596 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
1597 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
1598 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
1599 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
1600 | CONFIG_DEFAULT_SECURITY="" | ||
1553 | CONFIG_CRYPTO=y | 1601 | CONFIG_CRYPTO=y |
1554 | 1602 | ||
1555 | # | 1603 | # |
diff --git a/arch/sh/configs/se7206_defconfig b/arch/sh/configs/se7206_defconfig index 1cd1777aa436..43e6780a89d1 100644 --- a/arch/sh/configs/se7206_defconfig +++ b/arch/sh/configs/se7206_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.31 | 3 | # Linux kernel version: 2.6.33-rc2 |
4 | # Thu Sep 24 18:45:28 2009 | 4 | # Mon Jan 4 13:30:00 2010 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_SUPERH32=y | 7 | CONFIG_SUPERH32=y |
@@ -30,6 +30,7 @@ CONFIG_HAVE_LATENCYTOP_SUPPORT=y | |||
30 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | 30 | CONFIG_ARCH_NO_VIRT_TO_BUS=y |
31 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y | 31 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y |
32 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y | 32 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y |
33 | CONFIG_DMA_NONCOHERENT=y | ||
33 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 34 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
34 | CONFIG_CONSTRUCTORS=y | 35 | CONFIG_CONSTRUCTORS=y |
35 | 36 | ||
@@ -64,6 +65,7 @@ CONFIG_AUDIT_TREE=y | |||
64 | # | 65 | # |
65 | CONFIG_TREE_RCU=y | 66 | CONFIG_TREE_RCU=y |
66 | # CONFIG_TREE_PREEMPT_RCU is not set | 67 | # CONFIG_TREE_PREEMPT_RCU is not set |
68 | # CONFIG_TINY_RCU is not set | ||
67 | CONFIG_RCU_TRACE=y | 69 | CONFIG_RCU_TRACE=y |
68 | CONFIG_RCU_FANOUT=32 | 70 | CONFIG_RCU_FANOUT=32 |
69 | # CONFIG_RCU_FANOUT_EXACT is not set | 71 | # CONFIG_RCU_FANOUT_EXACT is not set |
@@ -115,6 +117,7 @@ CONFIG_TIMERFD=y | |||
115 | CONFIG_EVENTFD=y | 117 | CONFIG_EVENTFD=y |
116 | CONFIG_AIO=y | 118 | CONFIG_AIO=y |
117 | CONFIG_HAVE_PERF_EVENTS=y | 119 | CONFIG_HAVE_PERF_EVENTS=y |
120 | CONFIG_PERF_USE_VMALLOC=y | ||
118 | 121 | ||
119 | # | 122 | # |
120 | # Kernel Performance Events And Counters | 123 | # Kernel Performance Events And Counters |
@@ -122,11 +125,13 @@ CONFIG_HAVE_PERF_EVENTS=y | |||
122 | CONFIG_PERF_EVENTS=y | 125 | CONFIG_PERF_EVENTS=y |
123 | CONFIG_EVENT_PROFILE=y | 126 | CONFIG_EVENT_PROFILE=y |
124 | # CONFIG_PERF_COUNTERS is not set | 127 | # CONFIG_PERF_COUNTERS is not set |
128 | # CONFIG_DEBUG_PERF_USE_VMALLOC is not set | ||
125 | CONFIG_VM_EVENT_COUNTERS=y | 129 | CONFIG_VM_EVENT_COUNTERS=y |
126 | # CONFIG_COMPAT_BRK is not set | 130 | # CONFIG_COMPAT_BRK is not set |
127 | # CONFIG_SLAB is not set | 131 | # CONFIG_SLAB is not set |
128 | # CONFIG_SLUB is not set | 132 | # CONFIG_SLUB is not set |
129 | CONFIG_SLOB=y | 133 | CONFIG_SLOB=y |
134 | # CONFIG_MMAP_ALLOW_UNINITIALIZED is not set | ||
130 | CONFIG_PROFILING=y | 135 | CONFIG_PROFILING=y |
131 | CONFIG_TRACEPOINTS=y | 136 | CONFIG_TRACEPOINTS=y |
132 | CONFIG_OPROFILE=y | 137 | CONFIG_OPROFILE=y |
@@ -135,6 +140,7 @@ CONFIG_HAVE_OPROFILE=y | |||
135 | CONFIG_HAVE_KPROBES=y | 140 | CONFIG_HAVE_KPROBES=y |
136 | CONFIG_HAVE_KRETPROBES=y | 141 | CONFIG_HAVE_KRETPROBES=y |
137 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 142 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
143 | CONFIG_HAVE_DMA_ATTRS=y | ||
138 | CONFIG_HAVE_CLK=y | 144 | CONFIG_HAVE_CLK=y |
139 | CONFIG_HAVE_DMA_API_DEBUG=y | 145 | CONFIG_HAVE_DMA_API_DEBUG=y |
140 | 146 | ||
@@ -156,19 +162,47 @@ CONFIG_BLOCK=y | |||
156 | CONFIG_LBDAF=y | 162 | CONFIG_LBDAF=y |
157 | # CONFIG_BLK_DEV_BSG is not set | 163 | # CONFIG_BLK_DEV_BSG is not set |
158 | # CONFIG_BLK_DEV_INTEGRITY is not set | 164 | # CONFIG_BLK_DEV_INTEGRITY is not set |
165 | # CONFIG_BLK_CGROUP is not set | ||
159 | 166 | ||
160 | # | 167 | # |
161 | # IO Schedulers | 168 | # IO Schedulers |
162 | # | 169 | # |
163 | CONFIG_IOSCHED_NOOP=y | 170 | CONFIG_IOSCHED_NOOP=y |
164 | # CONFIG_IOSCHED_AS is not set | ||
165 | # CONFIG_IOSCHED_DEADLINE is not set | 171 | # CONFIG_IOSCHED_DEADLINE is not set |
166 | # CONFIG_IOSCHED_CFQ is not set | 172 | # CONFIG_IOSCHED_CFQ is not set |
167 | # CONFIG_DEFAULT_AS is not set | ||
168 | # CONFIG_DEFAULT_DEADLINE is not set | 173 | # CONFIG_DEFAULT_DEADLINE is not set |
169 | # CONFIG_DEFAULT_CFQ is not set | 174 | # CONFIG_DEFAULT_CFQ is not set |
170 | CONFIG_DEFAULT_NOOP=y | 175 | CONFIG_DEFAULT_NOOP=y |
171 | CONFIG_DEFAULT_IOSCHED="noop" | 176 | CONFIG_DEFAULT_IOSCHED="noop" |
177 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
178 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
179 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
180 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
181 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
182 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
183 | # CONFIG_INLINE_SPIN_UNLOCK is not set | ||
184 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
185 | # CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set | ||
186 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
187 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
188 | # CONFIG_INLINE_READ_LOCK is not set | ||
189 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
190 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
191 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
192 | # CONFIG_INLINE_READ_UNLOCK is not set | ||
193 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
194 | # CONFIG_INLINE_READ_UNLOCK_IRQ is not set | ||
195 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
196 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
197 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
198 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
199 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
200 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
201 | # CONFIG_INLINE_WRITE_UNLOCK is not set | ||
202 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
203 | # CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set | ||
204 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
205 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
172 | # CONFIG_FREEZER is not set | 206 | # CONFIG_FREEZER is not set |
173 | 207 | ||
174 | # | 208 | # |
@@ -243,7 +277,6 @@ CONFIG_SPLIT_PTLOCK_CPUS=4 | |||
243 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 277 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
244 | CONFIG_ZONE_DMA_FLAG=0 | 278 | CONFIG_ZONE_DMA_FLAG=0 |
245 | CONFIG_NR_QUICK=2 | 279 | CONFIG_NR_QUICK=2 |
246 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | ||
247 | CONFIG_NOMMU_INITIAL_TRIM_EXCESS=1 | 280 | CONFIG_NOMMU_INITIAL_TRIM_EXCESS=1 |
248 | 281 | ||
249 | # | 282 | # |
@@ -438,9 +471,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
438 | # CONFIG_AF_RXRPC is not set | 471 | # CONFIG_AF_RXRPC is not set |
439 | CONFIG_WIRELESS=y | 472 | CONFIG_WIRELESS=y |
440 | # CONFIG_CFG80211 is not set | 473 | # CONFIG_CFG80211 is not set |
441 | CONFIG_CFG80211_DEFAULT_PS_VALUE=0 | ||
442 | # CONFIG_WIRELESS_OLD_REGULATORY is not set | ||
443 | # CONFIG_WIRELESS_EXT is not set | ||
444 | # CONFIG_LIB80211 is not set | 474 | # CONFIG_LIB80211 is not set |
445 | 475 | ||
446 | # | 476 | # |
@@ -551,6 +581,10 @@ CONFIG_BLK_DEV=y | |||
551 | # CONFIG_BLK_DEV_COW_COMMON is not set | 581 | # CONFIG_BLK_DEV_COW_COMMON is not set |
552 | CONFIG_BLK_DEV_LOOP=y | 582 | CONFIG_BLK_DEV_LOOP=y |
553 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | 583 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set |
584 | |||
585 | # | ||
586 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
587 | # | ||
554 | # CONFIG_BLK_DEV_NBD is not set | 588 | # CONFIG_BLK_DEV_NBD is not set |
555 | CONFIG_BLK_DEV_RAM=y | 589 | CONFIG_BLK_DEV_RAM=y |
556 | CONFIG_BLK_DEV_RAM_COUNT=16 | 590 | CONFIG_BLK_DEV_RAM_COUNT=16 |
@@ -605,11 +639,11 @@ CONFIG_SMC91X=y | |||
605 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | 639 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set |
606 | # CONFIG_B44 is not set | 640 | # CONFIG_B44 is not set |
607 | # CONFIG_KS8842 is not set | 641 | # CONFIG_KS8842 is not set |
642 | # CONFIG_KS8851_MLL is not set | ||
608 | # CONFIG_NETDEV_1000 is not set | 643 | # CONFIG_NETDEV_1000 is not set |
609 | # CONFIG_NETDEV_10000 is not set | 644 | # CONFIG_NETDEV_10000 is not set |
610 | CONFIG_WLAN=y | 645 | CONFIG_WLAN=y |
611 | # CONFIG_WLAN_PRE80211 is not set | 646 | # CONFIG_HOSTAP is not set |
612 | # CONFIG_WLAN_80211 is not set | ||
613 | 647 | ||
614 | # | 648 | # |
615 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 649 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -685,6 +719,7 @@ CONFIG_SSB_POSSIBLE=y | |||
685 | # | 719 | # |
686 | # CONFIG_MFD_CORE is not set | 720 | # CONFIG_MFD_CORE is not set |
687 | # CONFIG_MFD_SM501 is not set | 721 | # CONFIG_MFD_SM501 is not set |
722 | # CONFIG_MFD_SH_MOBILE_SDHI is not set | ||
688 | # CONFIG_HTC_PASIC3 is not set | 723 | # CONFIG_HTC_PASIC3 is not set |
689 | # CONFIG_MFD_TMIO is not set | 724 | # CONFIG_MFD_TMIO is not set |
690 | # CONFIG_REGULATOR is not set | 725 | # CONFIG_REGULATOR is not set |
@@ -738,7 +773,9 @@ CONFIG_RTC_INTF_DEV=y | |||
738 | # CONFIG_RTC_DRV_M48T86 is not set | 773 | # CONFIG_RTC_DRV_M48T86 is not set |
739 | # CONFIG_RTC_DRV_M48T35 is not set | 774 | # CONFIG_RTC_DRV_M48T35 is not set |
740 | # CONFIG_RTC_DRV_M48T59 is not set | 775 | # CONFIG_RTC_DRV_M48T59 is not set |
776 | # CONFIG_RTC_DRV_MSM6242 is not set | ||
741 | # CONFIG_RTC_DRV_BQ4802 is not set | 777 | # CONFIG_RTC_DRV_BQ4802 is not set |
778 | # CONFIG_RTC_DRV_RP5C01 is not set | ||
742 | # CONFIG_RTC_DRV_V3020 is not set | 779 | # CONFIG_RTC_DRV_V3020 is not set |
743 | 780 | ||
744 | # | 781 | # |
@@ -762,6 +799,7 @@ CONFIG_EXT2_FS=y | |||
762 | # CONFIG_EXT2_FS_XATTR is not set | 799 | # CONFIG_EXT2_FS_XATTR is not set |
763 | # CONFIG_EXT3_FS is not set | 800 | # CONFIG_EXT3_FS is not set |
764 | # CONFIG_EXT4_FS is not set | 801 | # CONFIG_EXT4_FS is not set |
802 | CONFIG_EXT4_USE_FOR_EXT23=y | ||
765 | # CONFIG_REISERFS_FS is not set | 803 | # CONFIG_REISERFS_FS is not set |
766 | # CONFIG_JFS_FS is not set | 804 | # CONFIG_JFS_FS is not set |
767 | # CONFIG_FS_POSIX_ACL is not set | 805 | # CONFIG_FS_POSIX_ACL is not set |
@@ -911,6 +949,7 @@ CONFIG_FRAME_POINTER=y | |||
911 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set | 949 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set |
912 | # CONFIG_FAULT_INJECTION is not set | 950 | # CONFIG_FAULT_INJECTION is not set |
913 | # CONFIG_LATENCYTOP is not set | 951 | # CONFIG_LATENCYTOP is not set |
952 | # CONFIG_SYSCTL_SYSCALL_CHECK is not set | ||
914 | # CONFIG_PAGE_POISONING is not set | 953 | # CONFIG_PAGE_POISONING is not set |
915 | CONFIG_NOP_TRACER=y | 954 | CONFIG_NOP_TRACER=y |
916 | CONFIG_HAVE_FUNCTION_TRACER=y | 955 | CONFIG_HAVE_FUNCTION_TRACER=y |
@@ -947,7 +986,6 @@ CONFIG_BRANCH_PROFILE_NONE=y | |||
947 | CONFIG_HAVE_ARCH_KGDB=y | 986 | CONFIG_HAVE_ARCH_KGDB=y |
948 | # CONFIG_KGDB is not set | 987 | # CONFIG_KGDB is not set |
949 | # CONFIG_SH_STANDARD_BIOS is not set | 988 | # CONFIG_SH_STANDARD_BIOS is not set |
950 | # CONFIG_EARLY_SCIF_CONSOLE is not set | ||
951 | # CONFIG_STACK_DEBUG is not set | 989 | # CONFIG_STACK_DEBUG is not set |
952 | CONFIG_DEBUG_STACK_USAGE=y | 990 | CONFIG_DEBUG_STACK_USAGE=y |
953 | CONFIG_DUMP_CODE=y | 991 | CONFIG_DUMP_CODE=y |
@@ -960,7 +998,11 @@ CONFIG_DUMP_CODE=y | |||
960 | # CONFIG_KEYS is not set | 998 | # CONFIG_KEYS is not set |
961 | # CONFIG_SECURITY is not set | 999 | # CONFIG_SECURITY is not set |
962 | # CONFIG_SECURITYFS is not set | 1000 | # CONFIG_SECURITYFS is not set |
963 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1001 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
1002 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
1003 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
1004 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
1005 | CONFIG_DEFAULT_SECURITY="" | ||
964 | CONFIG_CRYPTO=y | 1006 | CONFIG_CRYPTO=y |
965 | 1007 | ||
966 | # | 1008 | # |
diff --git a/arch/sh/configs/se7343_defconfig b/arch/sh/configs/se7343_defconfig index 5531444b808c..ec494e32fa2e 100644 --- a/arch/sh/configs/se7343_defconfig +++ b/arch/sh/configs/se7343_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.31 | 3 | # Linux kernel version: 2.6.33-rc2 |
4 | # Thu Sep 24 18:46:55 2009 | 4 | # Mon Jan 4 13:30:41 2010 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_SUPERH32=y | 7 | CONFIG_SUPERH32=y |
@@ -20,6 +20,7 @@ CONFIG_GENERIC_TIME=y | |||
20 | CONFIG_GENERIC_CLOCKEVENTS=y | 20 | CONFIG_GENERIC_CLOCKEVENTS=y |
21 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 21 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y | 22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y |
23 | CONFIG_SYS_SUPPORTS_HUGETLBFS=y | ||
23 | CONFIG_SYS_SUPPORTS_CMT=y | 24 | CONFIG_SYS_SUPPORTS_CMT=y |
24 | CONFIG_SYS_SUPPORTS_TMU=y | 25 | CONFIG_SYS_SUPPORTS_TMU=y |
25 | CONFIG_STACKTRACE_SUPPORT=y | 26 | CONFIG_STACKTRACE_SUPPORT=y |
@@ -30,6 +31,7 @@ CONFIG_HAVE_LATENCYTOP_SUPPORT=y | |||
30 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | 31 | CONFIG_ARCH_NO_VIRT_TO_BUS=y |
31 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y | 32 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y |
32 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y | 33 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y |
34 | CONFIG_DMA_NONCOHERENT=y | ||
33 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 35 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
34 | CONFIG_CONSTRUCTORS=y | 36 | CONFIG_CONSTRUCTORS=y |
35 | 37 | ||
@@ -61,6 +63,7 @@ CONFIG_POSIX_MQUEUE_SYSCTL=y | |||
61 | # | 63 | # |
62 | CONFIG_TREE_RCU=y | 64 | CONFIG_TREE_RCU=y |
63 | # CONFIG_TREE_PREEMPT_RCU is not set | 65 | # CONFIG_TREE_PREEMPT_RCU is not set |
66 | # CONFIG_TINY_RCU is not set | ||
64 | # CONFIG_RCU_TRACE is not set | 67 | # CONFIG_RCU_TRACE is not set |
65 | CONFIG_RCU_FANOUT=32 | 68 | CONFIG_RCU_FANOUT=32 |
66 | # CONFIG_RCU_FANOUT_EXACT is not set | 69 | # CONFIG_RCU_FANOUT_EXACT is not set |
@@ -99,6 +102,7 @@ CONFIG_EVENTFD=y | |||
99 | # CONFIG_SHMEM is not set | 102 | # CONFIG_SHMEM is not set |
100 | CONFIG_AIO=y | 103 | CONFIG_AIO=y |
101 | CONFIG_HAVE_PERF_EVENTS=y | 104 | CONFIG_HAVE_PERF_EVENTS=y |
105 | CONFIG_PERF_USE_VMALLOC=y | ||
102 | 106 | ||
103 | # | 107 | # |
104 | # Kernel Performance Events And Counters | 108 | # Kernel Performance Events And Counters |
@@ -117,6 +121,7 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
117 | CONFIG_HAVE_KPROBES=y | 121 | CONFIG_HAVE_KPROBES=y |
118 | CONFIG_HAVE_KRETPROBES=y | 122 | CONFIG_HAVE_KRETPROBES=y |
119 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 123 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
124 | CONFIG_HAVE_DMA_ATTRS=y | ||
120 | CONFIG_HAVE_CLK=y | 125 | CONFIG_HAVE_CLK=y |
121 | CONFIG_HAVE_DMA_API_DEBUG=y | 126 | CONFIG_HAVE_DMA_API_DEBUG=y |
122 | 127 | ||
@@ -126,6 +131,7 @@ CONFIG_HAVE_DMA_API_DEBUG=y | |||
126 | # CONFIG_SLOW_WORK is not set | 131 | # CONFIG_SLOW_WORK is not set |
127 | CONFIG_HAVE_GENERIC_DMA_COHERENT=y | 132 | CONFIG_HAVE_GENERIC_DMA_COHERENT=y |
128 | CONFIG_SLABINFO=y | 133 | CONFIG_SLABINFO=y |
134 | CONFIG_RT_MUTEXES=y | ||
129 | CONFIG_BASE_SMALL=0 | 135 | CONFIG_BASE_SMALL=0 |
130 | CONFIG_MODULES=y | 136 | CONFIG_MODULES=y |
131 | # CONFIG_MODULE_FORCE_LOAD is not set | 137 | # CONFIG_MODULE_FORCE_LOAD is not set |
@@ -142,14 +148,41 @@ CONFIG_LBDAF=y | |||
142 | # IO Schedulers | 148 | # IO Schedulers |
143 | # | 149 | # |
144 | CONFIG_IOSCHED_NOOP=y | 150 | CONFIG_IOSCHED_NOOP=y |
145 | # CONFIG_IOSCHED_AS is not set | ||
146 | CONFIG_IOSCHED_DEADLINE=y | 151 | CONFIG_IOSCHED_DEADLINE=y |
147 | # CONFIG_IOSCHED_CFQ is not set | 152 | # CONFIG_IOSCHED_CFQ is not set |
148 | # CONFIG_DEFAULT_AS is not set | ||
149 | CONFIG_DEFAULT_DEADLINE=y | 153 | CONFIG_DEFAULT_DEADLINE=y |
150 | # CONFIG_DEFAULT_CFQ is not set | 154 | # CONFIG_DEFAULT_CFQ is not set |
151 | # CONFIG_DEFAULT_NOOP is not set | 155 | # CONFIG_DEFAULT_NOOP is not set |
152 | CONFIG_DEFAULT_IOSCHED="deadline" | 156 | CONFIG_DEFAULT_IOSCHED="deadline" |
157 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
158 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
159 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
160 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
161 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
162 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
163 | CONFIG_INLINE_SPIN_UNLOCK=y | ||
164 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
165 | CONFIG_INLINE_SPIN_UNLOCK_IRQ=y | ||
166 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
167 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
168 | # CONFIG_INLINE_READ_LOCK is not set | ||
169 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
170 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
171 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
172 | CONFIG_INLINE_READ_UNLOCK=y | ||
173 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
174 | CONFIG_INLINE_READ_UNLOCK_IRQ=y | ||
175 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
176 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
177 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
178 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
179 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
180 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
181 | CONFIG_INLINE_WRITE_UNLOCK=y | ||
182 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
183 | CONFIG_INLINE_WRITE_UNLOCK_IRQ=y | ||
184 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
185 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
153 | CONFIG_FREEZER=y | 186 | CONFIG_FREEZER=y |
154 | 187 | ||
155 | # | 188 | # |
@@ -228,8 +261,6 @@ CONFIG_SPLIT_PTLOCK_CPUS=4 | |||
228 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 261 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
229 | CONFIG_ZONE_DMA_FLAG=0 | 262 | CONFIG_ZONE_DMA_FLAG=0 |
230 | CONFIG_NR_QUICK=2 | 263 | CONFIG_NR_QUICK=2 |
231 | CONFIG_HAVE_MLOCK=y | ||
232 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
233 | # CONFIG_KSM is not set | 264 | # CONFIG_KSM is not set |
234 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | 265 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 |
235 | 266 | ||
@@ -263,7 +294,6 @@ CONFIG_SH_7343_SOLUTION_ENGINE=y | |||
263 | # | 294 | # |
264 | CONFIG_SH_TIMER_TMU=y | 295 | CONFIG_SH_TIMER_TMU=y |
265 | # CONFIG_SH_TIMER_CMT is not set | 296 | # CONFIG_SH_TIMER_CMT is not set |
266 | CONFIG_SH_PCLK_FREQ=33333333 | ||
267 | CONFIG_SH_CLK_CPG=y | 297 | CONFIG_SH_CLK_CPG=y |
268 | # CONFIG_NO_HZ is not set | 298 | # CONFIG_NO_HZ is not set |
269 | # CONFIG_HIGH_RES_TIMERS is not set | 299 | # CONFIG_HIGH_RES_TIMERS is not set |
@@ -413,9 +443,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
413 | # CONFIG_AF_RXRPC is not set | 443 | # CONFIG_AF_RXRPC is not set |
414 | CONFIG_WIRELESS=y | 444 | CONFIG_WIRELESS=y |
415 | # CONFIG_CFG80211 is not set | 445 | # CONFIG_CFG80211 is not set |
416 | CONFIG_CFG80211_DEFAULT_PS_VALUE=0 | ||
417 | # CONFIG_WIRELESS_OLD_REGULATORY is not set | ||
418 | # CONFIG_WIRELESS_EXT is not set | ||
419 | # CONFIG_LIB80211 is not set | 446 | # CONFIG_LIB80211 is not set |
420 | 447 | ||
421 | # | 448 | # |
@@ -525,6 +552,10 @@ CONFIG_MTD_PHYSMAP=y | |||
525 | CONFIG_BLK_DEV=y | 552 | CONFIG_BLK_DEV=y |
526 | # CONFIG_BLK_DEV_COW_COMMON is not set | 553 | # CONFIG_BLK_DEV_COW_COMMON is not set |
527 | # CONFIG_BLK_DEV_LOOP is not set | 554 | # CONFIG_BLK_DEV_LOOP is not set |
555 | |||
556 | # | ||
557 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
558 | # | ||
528 | # CONFIG_BLK_DEV_NBD is not set | 559 | # CONFIG_BLK_DEV_NBD is not set |
529 | # CONFIG_BLK_DEV_UB is not set | 560 | # CONFIG_BLK_DEV_UB is not set |
530 | # CONFIG_BLK_DEV_RAM is not set | 561 | # CONFIG_BLK_DEV_RAM is not set |
@@ -585,8 +616,8 @@ CONFIG_MII=y | |||
585 | # CONFIG_NETDEV_1000 is not set | 616 | # CONFIG_NETDEV_1000 is not set |
586 | # CONFIG_NETDEV_10000 is not set | 617 | # CONFIG_NETDEV_10000 is not set |
587 | CONFIG_WLAN=y | 618 | CONFIG_WLAN=y |
588 | # CONFIG_WLAN_PRE80211 is not set | 619 | # CONFIG_USB_ZD1201 is not set |
589 | # CONFIG_WLAN_80211 is not set | 620 | # CONFIG_HOSTAP is not set |
590 | 621 | ||
591 | # | 622 | # |
592 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 623 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -628,6 +659,7 @@ CONFIG_USB_NET_DM9601=y | |||
628 | CONFIG_INPUT=y | 659 | CONFIG_INPUT=y |
629 | # CONFIG_INPUT_FF_MEMLESS is not set | 660 | # CONFIG_INPUT_FF_MEMLESS is not set |
630 | # CONFIG_INPUT_POLLDEV is not set | 661 | # CONFIG_INPUT_POLLDEV is not set |
662 | # CONFIG_INPUT_SPARSEKMAP is not set | ||
631 | 663 | ||
632 | # | 664 | # |
633 | # Userland interfaces | 665 | # Userland interfaces |
@@ -724,7 +756,6 @@ CONFIG_I2C_SH_MOBILE=y | |||
724 | # | 756 | # |
725 | # Miscellaneous I2C Chip support | 757 | # Miscellaneous I2C Chip support |
726 | # | 758 | # |
727 | # CONFIG_DS1682 is not set | ||
728 | # CONFIG_SENSORS_TSL2550 is not set | 759 | # CONFIG_SENSORS_TSL2550 is not set |
729 | # CONFIG_I2C_DEBUG_CORE is not set | 760 | # CONFIG_I2C_DEBUG_CORE is not set |
730 | # CONFIG_I2C_DEBUG_ALGO is not set | 761 | # CONFIG_I2C_DEBUG_ALGO is not set |
@@ -753,15 +784,18 @@ CONFIG_SSB_POSSIBLE=y | |||
753 | # | 784 | # |
754 | # CONFIG_MFD_CORE is not set | 785 | # CONFIG_MFD_CORE is not set |
755 | # CONFIG_MFD_SM501 is not set | 786 | # CONFIG_MFD_SM501 is not set |
787 | # CONFIG_MFD_SH_MOBILE_SDHI is not set | ||
756 | # CONFIG_HTC_PASIC3 is not set | 788 | # CONFIG_HTC_PASIC3 is not set |
757 | # CONFIG_TWL4030_CORE is not set | 789 | # CONFIG_TWL4030_CORE is not set |
758 | # CONFIG_MFD_TMIO is not set | 790 | # CONFIG_MFD_TMIO is not set |
759 | # CONFIG_PMIC_DA903X is not set | 791 | # CONFIG_PMIC_DA903X is not set |
792 | # CONFIG_PMIC_ADP5520 is not set | ||
760 | # CONFIG_MFD_WM8400 is not set | 793 | # CONFIG_MFD_WM8400 is not set |
761 | # CONFIG_MFD_WM831X is not set | 794 | # CONFIG_MFD_WM831X is not set |
762 | # CONFIG_MFD_WM8350_I2C is not set | 795 | # CONFIG_MFD_WM8350_I2C is not set |
763 | # CONFIG_MFD_PCF50633 is not set | 796 | # CONFIG_MFD_PCF50633 is not set |
764 | # CONFIG_AB3100_CORE is not set | 797 | # CONFIG_AB3100_CORE is not set |
798 | # CONFIG_MFD_88PM8607 is not set | ||
765 | # CONFIG_REGULATOR is not set | 799 | # CONFIG_REGULATOR is not set |
766 | # CONFIG_MEDIA_SUPPORT is not set | 800 | # CONFIG_MEDIA_SUPPORT is not set |
767 | 801 | ||
@@ -1173,10 +1207,11 @@ CONFIG_FRAME_WARN=1024 | |||
1173 | # CONFIG_DEBUG_FS is not set | 1207 | # CONFIG_DEBUG_FS is not set |
1174 | # CONFIG_HEADERS_CHECK is not set | 1208 | # CONFIG_HEADERS_CHECK is not set |
1175 | # CONFIG_DEBUG_KERNEL is not set | 1209 | # CONFIG_DEBUG_KERNEL is not set |
1176 | # CONFIG_DEBUG_BUGVERBOSE is not set | 1210 | CONFIG_DEBUG_BUGVERBOSE=y |
1177 | # CONFIG_DEBUG_MEMORY_INIT is not set | 1211 | # CONFIG_DEBUG_MEMORY_INIT is not set |
1178 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | 1212 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set |
1179 | # CONFIG_LATENCYTOP is not set | 1213 | # CONFIG_LATENCYTOP is not set |
1214 | # CONFIG_SYSCTL_SYSCALL_CHECK is not set | ||
1180 | CONFIG_HAVE_FUNCTION_TRACER=y | 1215 | CONFIG_HAVE_FUNCTION_TRACER=y |
1181 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | 1216 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y |
1182 | CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y | 1217 | CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y |
@@ -1189,9 +1224,6 @@ CONFIG_TRACING_SUPPORT=y | |||
1189 | # CONFIG_SAMPLES is not set | 1224 | # CONFIG_SAMPLES is not set |
1190 | CONFIG_HAVE_ARCH_KGDB=y | 1225 | CONFIG_HAVE_ARCH_KGDB=y |
1191 | # CONFIG_SH_STANDARD_BIOS is not set | 1226 | # CONFIG_SH_STANDARD_BIOS is not set |
1192 | CONFIG_EARLY_SCIF_CONSOLE=y | ||
1193 | CONFIG_EARLY_SCIF_CONSOLE_PORT=0xffe00000 | ||
1194 | CONFIG_EARLY_PRINTK=y | ||
1195 | # CONFIG_DWARF_UNWINDER is not set | 1227 | # CONFIG_DWARF_UNWINDER is not set |
1196 | 1228 | ||
1197 | # | 1229 | # |
@@ -1200,7 +1232,11 @@ CONFIG_EARLY_PRINTK=y | |||
1200 | # CONFIG_KEYS is not set | 1232 | # CONFIG_KEYS is not set |
1201 | # CONFIG_SECURITY is not set | 1233 | # CONFIG_SECURITY is not set |
1202 | # CONFIG_SECURITYFS is not set | 1234 | # CONFIG_SECURITYFS is not set |
1203 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1235 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
1236 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
1237 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
1238 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
1239 | CONFIG_DEFAULT_SECURITY="" | ||
1204 | CONFIG_CRYPTO=y | 1240 | CONFIG_CRYPTO=y |
1205 | 1241 | ||
1206 | # | 1242 | # |
diff --git a/arch/sh/configs/se7619_defconfig b/arch/sh/configs/se7619_defconfig index 6921b199b1d6..ee87e2b2168f 100644 --- a/arch/sh/configs/se7619_defconfig +++ b/arch/sh/configs/se7619_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.31 | 3 | # Linux kernel version: 2.6.33-rc2 |
4 | # Thu Sep 24 18:50:05 2009 | 4 | # Mon Jan 4 13:34:15 2010 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_SUPERH32=y | 7 | CONFIG_SUPERH32=y |
@@ -29,6 +29,7 @@ CONFIG_HAVE_LATENCYTOP_SUPPORT=y | |||
29 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | 29 | CONFIG_ARCH_NO_VIRT_TO_BUS=y |
30 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y | 30 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y |
31 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y | 31 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y |
32 | CONFIG_DMA_NONCOHERENT=y | ||
32 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 33 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
33 | CONFIG_CONSTRUCTORS=y | 34 | CONFIG_CONSTRUCTORS=y |
34 | 35 | ||
@@ -54,6 +55,7 @@ CONFIG_KERNEL_GZIP=y | |||
54 | # | 55 | # |
55 | CONFIG_TREE_RCU=y | 56 | CONFIG_TREE_RCU=y |
56 | # CONFIG_TREE_PREEMPT_RCU is not set | 57 | # CONFIG_TREE_PREEMPT_RCU is not set |
58 | # CONFIG_TINY_RCU is not set | ||
57 | # CONFIG_RCU_TRACE is not set | 59 | # CONFIG_RCU_TRACE is not set |
58 | CONFIG_RCU_FANOUT=32 | 60 | CONFIG_RCU_FANOUT=32 |
59 | # CONFIG_RCU_FANOUT_EXACT is not set | 61 | # CONFIG_RCU_FANOUT_EXACT is not set |
@@ -84,6 +86,7 @@ CONFIG_TIMERFD=y | |||
84 | CONFIG_EVENTFD=y | 86 | CONFIG_EVENTFD=y |
85 | CONFIG_AIO=y | 87 | CONFIG_AIO=y |
86 | CONFIG_HAVE_PERF_EVENTS=y | 88 | CONFIG_HAVE_PERF_EVENTS=y |
89 | CONFIG_PERF_USE_VMALLOC=y | ||
87 | 90 | ||
88 | # | 91 | # |
89 | # Kernel Performance Events And Counters | 92 | # Kernel Performance Events And Counters |
@@ -95,11 +98,13 @@ CONFIG_COMPAT_BRK=y | |||
95 | CONFIG_SLAB=y | 98 | CONFIG_SLAB=y |
96 | # CONFIG_SLUB is not set | 99 | # CONFIG_SLUB is not set |
97 | # CONFIG_SLOB is not set | 100 | # CONFIG_SLOB is not set |
101 | # CONFIG_MMAP_ALLOW_UNINITIALIZED is not set | ||
98 | # CONFIG_PROFILING is not set | 102 | # CONFIG_PROFILING is not set |
99 | CONFIG_HAVE_OPROFILE=y | 103 | CONFIG_HAVE_OPROFILE=y |
100 | CONFIG_HAVE_KPROBES=y | 104 | CONFIG_HAVE_KPROBES=y |
101 | CONFIG_HAVE_KRETPROBES=y | 105 | CONFIG_HAVE_KRETPROBES=y |
102 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 106 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
107 | CONFIG_HAVE_DMA_ATTRS=y | ||
103 | CONFIG_HAVE_CLK=y | 108 | CONFIG_HAVE_CLK=y |
104 | CONFIG_HAVE_DMA_API_DEBUG=y | 109 | CONFIG_HAVE_DMA_API_DEBUG=y |
105 | 110 | ||
@@ -120,14 +125,41 @@ CONFIG_LBDAF=y | |||
120 | # IO Schedulers | 125 | # IO Schedulers |
121 | # | 126 | # |
122 | CONFIG_IOSCHED_NOOP=y | 127 | CONFIG_IOSCHED_NOOP=y |
123 | # CONFIG_IOSCHED_AS is not set | ||
124 | # CONFIG_IOSCHED_DEADLINE is not set | 128 | # CONFIG_IOSCHED_DEADLINE is not set |
125 | # CONFIG_IOSCHED_CFQ is not set | 129 | # CONFIG_IOSCHED_CFQ is not set |
126 | # CONFIG_DEFAULT_AS is not set | ||
127 | # CONFIG_DEFAULT_DEADLINE is not set | 130 | # CONFIG_DEFAULT_DEADLINE is not set |
128 | # CONFIG_DEFAULT_CFQ is not set | 131 | # CONFIG_DEFAULT_CFQ is not set |
129 | CONFIG_DEFAULT_NOOP=y | 132 | CONFIG_DEFAULT_NOOP=y |
130 | CONFIG_DEFAULT_IOSCHED="noop" | 133 | CONFIG_DEFAULT_IOSCHED="noop" |
134 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
135 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
136 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
137 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
138 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
139 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
140 | CONFIG_INLINE_SPIN_UNLOCK=y | ||
141 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
142 | CONFIG_INLINE_SPIN_UNLOCK_IRQ=y | ||
143 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
144 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
145 | # CONFIG_INLINE_READ_LOCK is not set | ||
146 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
147 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
148 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
149 | CONFIG_INLINE_READ_UNLOCK=y | ||
150 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
151 | CONFIG_INLINE_READ_UNLOCK_IRQ=y | ||
152 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
153 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
154 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
155 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
156 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
157 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
158 | CONFIG_INLINE_WRITE_UNLOCK=y | ||
159 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
160 | CONFIG_INLINE_WRITE_UNLOCK_IRQ=y | ||
161 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
162 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
131 | # CONFIG_FREEZER is not set | 163 | # CONFIG_FREEZER is not set |
132 | 164 | ||
133 | # | 165 | # |
@@ -201,7 +233,6 @@ CONFIG_SPLIT_PTLOCK_CPUS=4 | |||
201 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 233 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
202 | CONFIG_ZONE_DMA_FLAG=0 | 234 | CONFIG_ZONE_DMA_FLAG=0 |
203 | CONFIG_NR_QUICK=2 | 235 | CONFIG_NR_QUICK=2 |
204 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | ||
205 | CONFIG_NOMMU_INITIAL_TRIM_EXCESS=1 | 236 | CONFIG_NOMMU_INITIAL_TRIM_EXCESS=1 |
206 | 237 | ||
207 | # | 238 | # |
@@ -401,6 +432,10 @@ CONFIG_MTD_PHYSMAP=y | |||
401 | CONFIG_BLK_DEV=y | 432 | CONFIG_BLK_DEV=y |
402 | # CONFIG_BLK_DEV_COW_COMMON is not set | 433 | # CONFIG_BLK_DEV_COW_COMMON is not set |
403 | # CONFIG_BLK_DEV_LOOP is not set | 434 | # CONFIG_BLK_DEV_LOOP is not set |
435 | |||
436 | # | ||
437 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
438 | # | ||
404 | # CONFIG_BLK_DEV_RAM is not set | 439 | # CONFIG_BLK_DEV_RAM is not set |
405 | # CONFIG_CDROM_PKTCDVD is not set | 440 | # CONFIG_CDROM_PKTCDVD is not set |
406 | # CONFIG_BLK_DEV_HD is not set | 441 | # CONFIG_BLK_DEV_HD is not set |
@@ -432,6 +467,7 @@ CONFIG_HAVE_IDE=y | |||
432 | CONFIG_INPUT=y | 467 | CONFIG_INPUT=y |
433 | # CONFIG_INPUT_FF_MEMLESS is not set | 468 | # CONFIG_INPUT_FF_MEMLESS is not set |
434 | # CONFIG_INPUT_POLLDEV is not set | 469 | # CONFIG_INPUT_POLLDEV is not set |
470 | # CONFIG_INPUT_SPARSEKMAP is not set | ||
435 | 471 | ||
436 | # | 472 | # |
437 | # Userland interfaces | 473 | # Userland interfaces |
@@ -508,6 +544,7 @@ CONFIG_SSB_POSSIBLE=y | |||
508 | # | 544 | # |
509 | # CONFIG_MFD_CORE is not set | 545 | # CONFIG_MFD_CORE is not set |
510 | # CONFIG_MFD_SM501 is not set | 546 | # CONFIG_MFD_SM501 is not set |
547 | # CONFIG_MFD_SH_MOBILE_SDHI is not set | ||
511 | # CONFIG_HTC_PASIC3 is not set | 548 | # CONFIG_HTC_PASIC3 is not set |
512 | # CONFIG_MFD_TMIO is not set | 549 | # CONFIG_MFD_TMIO is not set |
513 | # CONFIG_REGULATOR is not set | 550 | # CONFIG_REGULATOR is not set |
@@ -575,6 +612,7 @@ CONFIG_RTC_LIB=y | |||
575 | # CONFIG_EXT2_FS is not set | 612 | # CONFIG_EXT2_FS is not set |
576 | # CONFIG_EXT3_FS is not set | 613 | # CONFIG_EXT3_FS is not set |
577 | # CONFIG_EXT4_FS is not set | 614 | # CONFIG_EXT4_FS is not set |
615 | CONFIG_EXT4_USE_FOR_EXT23=y | ||
578 | # CONFIG_REISERFS_FS is not set | 616 | # CONFIG_REISERFS_FS is not set |
579 | # CONFIG_JFS_FS is not set | 617 | # CONFIG_JFS_FS is not set |
580 | # CONFIG_FS_POSIX_ACL is not set | 618 | # CONFIG_FS_POSIX_ACL is not set |
@@ -661,10 +699,11 @@ CONFIG_FRAME_WARN=1024 | |||
661 | # CONFIG_UNUSED_SYMBOLS is not set | 699 | # CONFIG_UNUSED_SYMBOLS is not set |
662 | # CONFIG_HEADERS_CHECK is not set | 700 | # CONFIG_HEADERS_CHECK is not set |
663 | # CONFIG_DEBUG_KERNEL is not set | 701 | # CONFIG_DEBUG_KERNEL is not set |
664 | # CONFIG_DEBUG_BUGVERBOSE is not set | 702 | CONFIG_DEBUG_BUGVERBOSE=y |
665 | # CONFIG_DEBUG_MEMORY_INIT is not set | 703 | # CONFIG_DEBUG_MEMORY_INIT is not set |
666 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | 704 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set |
667 | # CONFIG_LATENCYTOP is not set | 705 | # CONFIG_LATENCYTOP is not set |
706 | # CONFIG_SYSCTL_SYSCALL_CHECK is not set | ||
668 | CONFIG_HAVE_FUNCTION_TRACER=y | 707 | CONFIG_HAVE_FUNCTION_TRACER=y |
669 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | 708 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y |
670 | CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y | 709 | CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y |
@@ -677,7 +716,6 @@ CONFIG_TRACING_SUPPORT=y | |||
677 | # CONFIG_SAMPLES is not set | 716 | # CONFIG_SAMPLES is not set |
678 | CONFIG_HAVE_ARCH_KGDB=y | 717 | CONFIG_HAVE_ARCH_KGDB=y |
679 | # CONFIG_SH_STANDARD_BIOS is not set | 718 | # CONFIG_SH_STANDARD_BIOS is not set |
680 | # CONFIG_EARLY_SCIF_CONSOLE is not set | ||
681 | # CONFIG_DWARF_UNWINDER is not set | 719 | # CONFIG_DWARF_UNWINDER is not set |
682 | 720 | ||
683 | # | 721 | # |
@@ -685,7 +723,11 @@ CONFIG_HAVE_ARCH_KGDB=y | |||
685 | # | 723 | # |
686 | # CONFIG_KEYS is not set | 724 | # CONFIG_KEYS is not set |
687 | # CONFIG_SECURITYFS is not set | 725 | # CONFIG_SECURITYFS is not set |
688 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 726 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
727 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
728 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
729 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
730 | CONFIG_DEFAULT_SECURITY="" | ||
689 | # CONFIG_CRYPTO is not set | 731 | # CONFIG_CRYPTO is not set |
690 | # CONFIG_BINARY_PRINTF is not set | 732 | # CONFIG_BINARY_PRINTF is not set |
691 | 733 | ||
diff --git a/arch/sh/configs/se7705_defconfig b/arch/sh/configs/se7705_defconfig index 3abb06879f02..03f4219f2086 100644 --- a/arch/sh/configs/se7705_defconfig +++ b/arch/sh/configs/se7705_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.31 | 3 | # Linux kernel version: 2.6.33-rc2 |
4 | # Thu Sep 24 18:50:52 2009 | 4 | # Mon Jan 4 13:34:37 2010 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_SUPERH32=y | 7 | CONFIG_SUPERH32=y |
@@ -29,6 +29,7 @@ CONFIG_HAVE_LATENCYTOP_SUPPORT=y | |||
29 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | 29 | CONFIG_ARCH_NO_VIRT_TO_BUS=y |
30 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y | 30 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y |
31 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y | 31 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y |
32 | CONFIG_DMA_NONCOHERENT=y | ||
32 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 33 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
33 | CONFIG_CONSTRUCTORS=y | 34 | CONFIG_CONSTRUCTORS=y |
34 | 35 | ||
@@ -59,6 +60,7 @@ CONFIG_KERNEL_GZIP=y | |||
59 | # | 60 | # |
60 | CONFIG_TREE_RCU=y | 61 | CONFIG_TREE_RCU=y |
61 | # CONFIG_TREE_PREEMPT_RCU is not set | 62 | # CONFIG_TREE_PREEMPT_RCU is not set |
63 | # CONFIG_TINY_RCU is not set | ||
62 | # CONFIG_RCU_TRACE is not set | 64 | # CONFIG_RCU_TRACE is not set |
63 | CONFIG_RCU_FANOUT=32 | 65 | CONFIG_RCU_FANOUT=32 |
64 | # CONFIG_RCU_FANOUT_EXACT is not set | 66 | # CONFIG_RCU_FANOUT_EXACT is not set |
@@ -94,6 +96,7 @@ CONFIG_EVENTFD=y | |||
94 | CONFIG_SHMEM=y | 96 | CONFIG_SHMEM=y |
95 | CONFIG_AIO=y | 97 | CONFIG_AIO=y |
96 | CONFIG_HAVE_PERF_EVENTS=y | 98 | CONFIG_HAVE_PERF_EVENTS=y |
99 | CONFIG_PERF_USE_VMALLOC=y | ||
97 | 100 | ||
98 | # | 101 | # |
99 | # Kernel Performance Events And Counters | 102 | # Kernel Performance Events And Counters |
@@ -111,6 +114,7 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
111 | CONFIG_HAVE_KPROBES=y | 114 | CONFIG_HAVE_KPROBES=y |
112 | CONFIG_HAVE_KRETPROBES=y | 115 | CONFIG_HAVE_KRETPROBES=y |
113 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 116 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
117 | CONFIG_HAVE_DMA_ATTRS=y | ||
114 | CONFIG_HAVE_CLK=y | 118 | CONFIG_HAVE_CLK=y |
115 | CONFIG_HAVE_DMA_API_DEBUG=y | 119 | CONFIG_HAVE_DMA_API_DEBUG=y |
116 | 120 | ||
@@ -136,14 +140,41 @@ CONFIG_LBDAF=y | |||
136 | # IO Schedulers | 140 | # IO Schedulers |
137 | # | 141 | # |
138 | CONFIG_IOSCHED_NOOP=y | 142 | CONFIG_IOSCHED_NOOP=y |
139 | CONFIG_IOSCHED_AS=y | ||
140 | # CONFIG_IOSCHED_DEADLINE is not set | 143 | # CONFIG_IOSCHED_DEADLINE is not set |
141 | # CONFIG_IOSCHED_CFQ is not set | 144 | # CONFIG_IOSCHED_CFQ is not set |
142 | CONFIG_DEFAULT_AS=y | ||
143 | # CONFIG_DEFAULT_DEADLINE is not set | 145 | # CONFIG_DEFAULT_DEADLINE is not set |
144 | # CONFIG_DEFAULT_CFQ is not set | 146 | # CONFIG_DEFAULT_CFQ is not set |
145 | # CONFIG_DEFAULT_NOOP is not set | 147 | CONFIG_DEFAULT_NOOP=y |
146 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 148 | CONFIG_DEFAULT_IOSCHED="noop" |
149 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
150 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
151 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
152 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
153 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
154 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
155 | # CONFIG_INLINE_SPIN_UNLOCK is not set | ||
156 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
157 | # CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set | ||
158 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
159 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
160 | # CONFIG_INLINE_READ_LOCK is not set | ||
161 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
162 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
163 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
164 | # CONFIG_INLINE_READ_UNLOCK is not set | ||
165 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
166 | # CONFIG_INLINE_READ_UNLOCK_IRQ is not set | ||
167 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
168 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
169 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
170 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
171 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
172 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
173 | # CONFIG_INLINE_WRITE_UNLOCK is not set | ||
174 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
175 | # CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set | ||
176 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
177 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
147 | # CONFIG_FREEZER is not set | 178 | # CONFIG_FREEZER is not set |
148 | 179 | ||
149 | # | 180 | # |
@@ -219,8 +250,6 @@ CONFIG_SPLIT_PTLOCK_CPUS=4 | |||
219 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 250 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
220 | CONFIG_ZONE_DMA_FLAG=0 | 251 | CONFIG_ZONE_DMA_FLAG=0 |
221 | CONFIG_NR_QUICK=2 | 252 | CONFIG_NR_QUICK=2 |
222 | CONFIG_HAVE_MLOCK=y | ||
223 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
224 | # CONFIG_KSM is not set | 253 | # CONFIG_KSM is not set |
225 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | 254 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 |
226 | 255 | ||
@@ -403,9 +432,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
403 | # CONFIG_AF_RXRPC is not set | 432 | # CONFIG_AF_RXRPC is not set |
404 | CONFIG_WIRELESS=y | 433 | CONFIG_WIRELESS=y |
405 | # CONFIG_CFG80211 is not set | 434 | # CONFIG_CFG80211 is not set |
406 | CONFIG_CFG80211_DEFAULT_PS_VALUE=0 | ||
407 | # CONFIG_WIRELESS_OLD_REGULATORY is not set | ||
408 | # CONFIG_WIRELESS_EXT is not set | ||
409 | # CONFIG_LIB80211 is not set | 435 | # CONFIG_LIB80211 is not set |
410 | 436 | ||
411 | # | 437 | # |
@@ -510,6 +536,10 @@ CONFIG_MTD_CFI_UTIL=y | |||
510 | CONFIG_BLK_DEV=y | 536 | CONFIG_BLK_DEV=y |
511 | # CONFIG_BLK_DEV_COW_COMMON is not set | 537 | # CONFIG_BLK_DEV_COW_COMMON is not set |
512 | # CONFIG_BLK_DEV_LOOP is not set | 538 | # CONFIG_BLK_DEV_LOOP is not set |
539 | |||
540 | # | ||
541 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
542 | # | ||
513 | # CONFIG_BLK_DEV_NBD is not set | 543 | # CONFIG_BLK_DEV_NBD is not set |
514 | CONFIG_BLK_DEV_RAM=y | 544 | CONFIG_BLK_DEV_RAM=y |
515 | CONFIG_BLK_DEV_RAM_COUNT=16 | 545 | CONFIG_BLK_DEV_RAM_COUNT=16 |
@@ -564,11 +594,11 @@ CONFIG_STNIC=y | |||
564 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | 594 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set |
565 | # CONFIG_B44 is not set | 595 | # CONFIG_B44 is not set |
566 | # CONFIG_KS8842 is not set | 596 | # CONFIG_KS8842 is not set |
597 | # CONFIG_KS8851_MLL is not set | ||
567 | CONFIG_NETDEV_1000=y | 598 | CONFIG_NETDEV_1000=y |
568 | CONFIG_NETDEV_10000=y | 599 | CONFIG_NETDEV_10000=y |
569 | CONFIG_WLAN=y | 600 | CONFIG_WLAN=y |
570 | # CONFIG_WLAN_PRE80211 is not set | 601 | # CONFIG_HOSTAP is not set |
571 | # CONFIG_WLAN_80211 is not set | ||
572 | 602 | ||
573 | # | 603 | # |
574 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 604 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -598,6 +628,7 @@ CONFIG_SLHC=y | |||
598 | CONFIG_INPUT=y | 628 | CONFIG_INPUT=y |
599 | # CONFIG_INPUT_FF_MEMLESS is not set | 629 | # CONFIG_INPUT_FF_MEMLESS is not set |
600 | # CONFIG_INPUT_POLLDEV is not set | 630 | # CONFIG_INPUT_POLLDEV is not set |
631 | # CONFIG_INPUT_SPARSEKMAP is not set | ||
601 | 632 | ||
602 | # | 633 | # |
603 | # Userland interfaces | 634 | # Userland interfaces |
@@ -625,6 +656,7 @@ CONFIG_SERIO=y | |||
625 | # CONFIG_SERIO_SERPORT is not set | 656 | # CONFIG_SERIO_SERPORT is not set |
626 | # CONFIG_SERIO_LIBPS2 is not set | 657 | # CONFIG_SERIO_LIBPS2 is not set |
627 | # CONFIG_SERIO_RAW is not set | 658 | # CONFIG_SERIO_RAW is not set |
659 | # CONFIG_SERIO_ALTERA_PS2 is not set | ||
628 | # CONFIG_GAMEPORT is not set | 660 | # CONFIG_GAMEPORT is not set |
629 | 661 | ||
630 | # | 662 | # |
@@ -696,6 +728,7 @@ CONFIG_SSB_POSSIBLE=y | |||
696 | # | 728 | # |
697 | # CONFIG_MFD_CORE is not set | 729 | # CONFIG_MFD_CORE is not set |
698 | # CONFIG_MFD_SM501 is not set | 730 | # CONFIG_MFD_SM501 is not set |
731 | # CONFIG_MFD_SH_MOBILE_SDHI is not set | ||
699 | # CONFIG_HTC_PASIC3 is not set | 732 | # CONFIG_HTC_PASIC3 is not set |
700 | # CONFIG_MFD_TMIO is not set | 733 | # CONFIG_MFD_TMIO is not set |
701 | # CONFIG_REGULATOR is not set | 734 | # CONFIG_REGULATOR is not set |
@@ -765,6 +798,7 @@ CONFIG_EXT2_FS=y | |||
765 | # CONFIG_EXT2_FS_XIP is not set | 798 | # CONFIG_EXT2_FS_XIP is not set |
766 | # CONFIG_EXT3_FS is not set | 799 | # CONFIG_EXT3_FS is not set |
767 | # CONFIG_EXT4_FS is not set | 800 | # CONFIG_EXT4_FS is not set |
801 | CONFIG_EXT4_USE_FOR_EXT23=y | ||
768 | # CONFIG_REISERFS_FS is not set | 802 | # CONFIG_REISERFS_FS is not set |
769 | # CONFIG_JFS_FS is not set | 803 | # CONFIG_JFS_FS is not set |
770 | # CONFIG_FS_POSIX_ACL is not set | 804 | # CONFIG_FS_POSIX_ACL is not set |
@@ -809,7 +843,6 @@ CONFIG_PROC_SYSCTL=y | |||
809 | CONFIG_PROC_PAGE_MONITOR=y | 843 | CONFIG_PROC_PAGE_MONITOR=y |
810 | # CONFIG_SYSFS is not set | 844 | # CONFIG_SYSFS is not set |
811 | # CONFIG_TMPFS is not set | 845 | # CONFIG_TMPFS is not set |
812 | # CONFIG_HUGETLBFS is not set | ||
813 | # CONFIG_HUGETLB_PAGE is not set | 846 | # CONFIG_HUGETLB_PAGE is not set |
814 | CONFIG_MISC_FILESYSTEMS=y | 847 | CONFIG_MISC_FILESYSTEMS=y |
815 | # CONFIG_ADFS_FS is not set | 848 | # CONFIG_ADFS_FS is not set |
@@ -877,10 +910,11 @@ CONFIG_FRAME_WARN=1024 | |||
877 | # CONFIG_UNUSED_SYMBOLS is not set | 910 | # CONFIG_UNUSED_SYMBOLS is not set |
878 | # CONFIG_HEADERS_CHECK is not set | 911 | # CONFIG_HEADERS_CHECK is not set |
879 | # CONFIG_DEBUG_KERNEL is not set | 912 | # CONFIG_DEBUG_KERNEL is not set |
880 | # CONFIG_DEBUG_BUGVERBOSE is not set | 913 | CONFIG_DEBUG_BUGVERBOSE=y |
881 | # CONFIG_DEBUG_MEMORY_INIT is not set | 914 | # CONFIG_DEBUG_MEMORY_INIT is not set |
882 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | 915 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set |
883 | # CONFIG_LATENCYTOP is not set | 916 | # CONFIG_LATENCYTOP is not set |
917 | # CONFIG_SYSCTL_SYSCALL_CHECK is not set | ||
884 | CONFIG_HAVE_FUNCTION_TRACER=y | 918 | CONFIG_HAVE_FUNCTION_TRACER=y |
885 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | 919 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y |
886 | CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y | 920 | CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y |
@@ -893,7 +927,6 @@ CONFIG_TRACING_SUPPORT=y | |||
893 | # CONFIG_SAMPLES is not set | 927 | # CONFIG_SAMPLES is not set |
894 | CONFIG_HAVE_ARCH_KGDB=y | 928 | CONFIG_HAVE_ARCH_KGDB=y |
895 | # CONFIG_SH_STANDARD_BIOS is not set | 929 | # CONFIG_SH_STANDARD_BIOS is not set |
896 | # CONFIG_EARLY_SCIF_CONSOLE is not set | ||
897 | # CONFIG_DWARF_UNWINDER is not set | 930 | # CONFIG_DWARF_UNWINDER is not set |
898 | 931 | ||
899 | # | 932 | # |
@@ -901,7 +934,11 @@ CONFIG_HAVE_ARCH_KGDB=y | |||
901 | # | 934 | # |
902 | # CONFIG_KEYS is not set | 935 | # CONFIG_KEYS is not set |
903 | # CONFIG_SECURITYFS is not set | 936 | # CONFIG_SECURITYFS is not set |
904 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 937 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
938 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
939 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
940 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
941 | CONFIG_DEFAULT_SECURITY="" | ||
905 | CONFIG_CRYPTO=y | 942 | CONFIG_CRYPTO=y |
906 | 943 | ||
907 | # | 944 | # |
diff --git a/arch/sh/configs/se7712_defconfig b/arch/sh/configs/se7712_defconfig index 1a43cfecb392..cfa58199a368 100644 --- a/arch/sh/configs/se7712_defconfig +++ b/arch/sh/configs/se7712_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.31 | 3 | # Linux kernel version: 2.6.33-rc2 |
4 | # Thu Sep 24 18:53:32 2009 | 4 | # Mon Jan 4 13:44:56 2010 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_SUPERH32=y | 7 | CONFIG_SUPERH32=y |
@@ -28,6 +28,7 @@ CONFIG_HAVE_LATENCYTOP_SUPPORT=y | |||
28 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | 28 | CONFIG_ARCH_NO_VIRT_TO_BUS=y |
29 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y | 29 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y |
30 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y | 30 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y |
31 | CONFIG_DMA_NONCOHERENT=y | ||
31 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 32 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
32 | CONFIG_CONSTRUCTORS=y | 33 | CONFIG_CONSTRUCTORS=y |
33 | 34 | ||
@@ -60,6 +61,7 @@ CONFIG_BSD_PROCESS_ACCT=y | |||
60 | # | 61 | # |
61 | CONFIG_TREE_RCU=y | 62 | CONFIG_TREE_RCU=y |
62 | # CONFIG_TREE_PREEMPT_RCU is not set | 63 | # CONFIG_TREE_PREEMPT_RCU is not set |
64 | # CONFIG_TINY_RCU is not set | ||
63 | # CONFIG_RCU_TRACE is not set | 65 | # CONFIG_RCU_TRACE is not set |
64 | CONFIG_RCU_FANOUT=32 | 66 | CONFIG_RCU_FANOUT=32 |
65 | # CONFIG_RCU_FANOUT_EXACT is not set | 67 | # CONFIG_RCU_FANOUT_EXACT is not set |
@@ -95,6 +97,7 @@ CONFIG_EVENTFD=y | |||
95 | # CONFIG_SHMEM is not set | 97 | # CONFIG_SHMEM is not set |
96 | CONFIG_AIO=y | 98 | CONFIG_AIO=y |
97 | CONFIG_HAVE_PERF_EVENTS=y | 99 | CONFIG_HAVE_PERF_EVENTS=y |
100 | CONFIG_PERF_USE_VMALLOC=y | ||
98 | 101 | ||
99 | # | 102 | # |
100 | # Kernel Performance Events And Counters | 103 | # Kernel Performance Events And Counters |
@@ -113,6 +116,7 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
113 | CONFIG_HAVE_KPROBES=y | 116 | CONFIG_HAVE_KPROBES=y |
114 | CONFIG_HAVE_KRETPROBES=y | 117 | CONFIG_HAVE_KRETPROBES=y |
115 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 118 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
119 | CONFIG_HAVE_DMA_ATTRS=y | ||
116 | CONFIG_HAVE_CLK=y | 120 | CONFIG_HAVE_CLK=y |
117 | CONFIG_HAVE_DMA_API_DEBUG=y | 121 | CONFIG_HAVE_DMA_API_DEBUG=y |
118 | 122 | ||
@@ -138,14 +142,41 @@ CONFIG_LBDAF=y | |||
138 | # IO Schedulers | 142 | # IO Schedulers |
139 | # | 143 | # |
140 | CONFIG_IOSCHED_NOOP=y | 144 | CONFIG_IOSCHED_NOOP=y |
141 | # CONFIG_IOSCHED_AS is not set | ||
142 | # CONFIG_IOSCHED_DEADLINE is not set | 145 | # CONFIG_IOSCHED_DEADLINE is not set |
143 | # CONFIG_IOSCHED_CFQ is not set | 146 | # CONFIG_IOSCHED_CFQ is not set |
144 | # CONFIG_DEFAULT_AS is not set | ||
145 | # CONFIG_DEFAULT_DEADLINE is not set | 147 | # CONFIG_DEFAULT_DEADLINE is not set |
146 | # CONFIG_DEFAULT_CFQ is not set | 148 | # CONFIG_DEFAULT_CFQ is not set |
147 | CONFIG_DEFAULT_NOOP=y | 149 | CONFIG_DEFAULT_NOOP=y |
148 | CONFIG_DEFAULT_IOSCHED="noop" | 150 | CONFIG_DEFAULT_IOSCHED="noop" |
151 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
152 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
153 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
154 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
155 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
156 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
157 | CONFIG_INLINE_SPIN_UNLOCK=y | ||
158 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
159 | CONFIG_INLINE_SPIN_UNLOCK_IRQ=y | ||
160 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
161 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
162 | # CONFIG_INLINE_READ_LOCK is not set | ||
163 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
164 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
165 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
166 | CONFIG_INLINE_READ_UNLOCK=y | ||
167 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
168 | CONFIG_INLINE_READ_UNLOCK_IRQ=y | ||
169 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
170 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
171 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
172 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
173 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
174 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
175 | CONFIG_INLINE_WRITE_UNLOCK=y | ||
176 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
177 | CONFIG_INLINE_WRITE_UNLOCK_IRQ=y | ||
178 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
179 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
149 | # CONFIG_FREEZER is not set | 180 | # CONFIG_FREEZER is not set |
150 | 181 | ||
151 | # | 182 | # |
@@ -221,8 +252,6 @@ CONFIG_SPLIT_PTLOCK_CPUS=4 | |||
221 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 252 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
222 | CONFIG_ZONE_DMA_FLAG=0 | 253 | CONFIG_ZONE_DMA_FLAG=0 |
223 | CONFIG_NR_QUICK=2 | 254 | CONFIG_NR_QUICK=2 |
224 | CONFIG_HAVE_MLOCK=y | ||
225 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
226 | # CONFIG_KSM is not set | 255 | # CONFIG_KSM is not set |
227 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | 256 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 |
228 | 257 | ||
@@ -452,9 +481,6 @@ CONFIG_NET_SCH_FIFO=y | |||
452 | CONFIG_FIB_RULES=y | 481 | CONFIG_FIB_RULES=y |
453 | CONFIG_WIRELESS=y | 482 | CONFIG_WIRELESS=y |
454 | # CONFIG_CFG80211 is not set | 483 | # CONFIG_CFG80211 is not set |
455 | CONFIG_CFG80211_DEFAULT_PS_VALUE=0 | ||
456 | # CONFIG_WIRELESS_OLD_REGULATORY is not set | ||
457 | # CONFIG_WIRELESS_EXT is not set | ||
458 | # CONFIG_LIB80211 is not set | 484 | # CONFIG_LIB80211 is not set |
459 | 485 | ||
460 | # | 486 | # |
@@ -565,6 +591,10 @@ CONFIG_MTD_CFI_UTIL=y | |||
565 | CONFIG_BLK_DEV=y | 591 | CONFIG_BLK_DEV=y |
566 | # CONFIG_BLK_DEV_COW_COMMON is not set | 592 | # CONFIG_BLK_DEV_COW_COMMON is not set |
567 | # CONFIG_BLK_DEV_LOOP is not set | 593 | # CONFIG_BLK_DEV_LOOP is not set |
594 | |||
595 | # | ||
596 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
597 | # | ||
568 | # CONFIG_BLK_DEV_NBD is not set | 598 | # CONFIG_BLK_DEV_NBD is not set |
569 | # CONFIG_BLK_DEV_RAM is not set | 599 | # CONFIG_BLK_DEV_RAM is not set |
570 | # CONFIG_CDROM_PKTCDVD is not set | 600 | # CONFIG_CDROM_PKTCDVD is not set |
@@ -675,11 +705,11 @@ CONFIG_SH_ETH=y | |||
675 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | 705 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set |
676 | # CONFIG_B44 is not set | 706 | # CONFIG_B44 is not set |
677 | # CONFIG_KS8842 is not set | 707 | # CONFIG_KS8842 is not set |
708 | # CONFIG_KS8851_MLL is not set | ||
678 | CONFIG_NETDEV_1000=y | 709 | CONFIG_NETDEV_1000=y |
679 | CONFIG_NETDEV_10000=y | 710 | CONFIG_NETDEV_10000=y |
680 | CONFIG_WLAN=y | 711 | CONFIG_WLAN=y |
681 | # CONFIG_WLAN_PRE80211 is not set | 712 | # CONFIG_HOSTAP is not set |
682 | # CONFIG_WLAN_80211 is not set | ||
683 | 713 | ||
684 | # | 714 | # |
685 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 715 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -757,6 +787,7 @@ CONFIG_SSB_POSSIBLE=y | |||
757 | # | 787 | # |
758 | # CONFIG_MFD_CORE is not set | 788 | # CONFIG_MFD_CORE is not set |
759 | # CONFIG_MFD_SM501 is not set | 789 | # CONFIG_MFD_SM501 is not set |
790 | # CONFIG_MFD_SH_MOBILE_SDHI is not set | ||
760 | # CONFIG_HTC_PASIC3 is not set | 791 | # CONFIG_HTC_PASIC3 is not set |
761 | # CONFIG_MFD_TMIO is not set | 792 | # CONFIG_MFD_TMIO is not set |
762 | # CONFIG_REGULATOR is not set | 793 | # CONFIG_REGULATOR is not set |
@@ -888,7 +919,6 @@ CONFIG_PROC_FS=y | |||
888 | CONFIG_PROC_SYSCTL=y | 919 | CONFIG_PROC_SYSCTL=y |
889 | CONFIG_PROC_PAGE_MONITOR=y | 920 | CONFIG_PROC_PAGE_MONITOR=y |
890 | CONFIG_SYSFS=y | 921 | CONFIG_SYSFS=y |
891 | # CONFIG_HUGETLBFS is not set | ||
892 | # CONFIG_HUGETLB_PAGE is not set | 922 | # CONFIG_HUGETLB_PAGE is not set |
893 | # CONFIG_CONFIGFS_FS is not set | 923 | # CONFIG_CONFIGFS_FS is not set |
894 | CONFIG_MISC_FILESYSTEMS=y | 924 | CONFIG_MISC_FILESYSTEMS=y |
@@ -1021,7 +1051,6 @@ CONFIG_BRANCH_PROFILE_NONE=y | |||
1021 | CONFIG_HAVE_ARCH_KGDB=y | 1051 | CONFIG_HAVE_ARCH_KGDB=y |
1022 | # CONFIG_KGDB is not set | 1052 | # CONFIG_KGDB is not set |
1023 | # CONFIG_SH_STANDARD_BIOS is not set | 1053 | # CONFIG_SH_STANDARD_BIOS is not set |
1024 | # CONFIG_EARLY_SCIF_CONSOLE is not set | ||
1025 | # CONFIG_STACK_DEBUG is not set | 1054 | # CONFIG_STACK_DEBUG is not set |
1026 | # CONFIG_DEBUG_STACK_USAGE is not set | 1055 | # CONFIG_DEBUG_STACK_USAGE is not set |
1027 | # CONFIG_4KSTACKS is not set | 1056 | # CONFIG_4KSTACKS is not set |
@@ -1035,7 +1064,11 @@ CONFIG_HAVE_ARCH_KGDB=y | |||
1035 | # CONFIG_KEYS is not set | 1064 | # CONFIG_KEYS is not set |
1036 | # CONFIG_SECURITY is not set | 1065 | # CONFIG_SECURITY is not set |
1037 | # CONFIG_SECURITYFS is not set | 1066 | # CONFIG_SECURITYFS is not set |
1038 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1067 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
1068 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
1069 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
1070 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
1071 | CONFIG_DEFAULT_SECURITY="" | ||
1039 | CONFIG_CRYPTO=y | 1072 | CONFIG_CRYPTO=y |
1040 | 1073 | ||
1041 | # | 1074 | # |
diff --git a/arch/sh/configs/se7721_defconfig b/arch/sh/configs/se7721_defconfig index b8a3c8c4bac3..201283c829a1 100644 --- a/arch/sh/configs/se7721_defconfig +++ b/arch/sh/configs/se7721_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.31 | 3 | # Linux kernel version: 2.6.33-rc2 |
4 | # Thu Sep 24 18:57:11 2009 | 4 | # Mon Jan 4 13:46:58 2010 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_SUPERH32=y | 7 | CONFIG_SUPERH32=y |
@@ -29,6 +29,7 @@ CONFIG_HAVE_LATENCYTOP_SUPPORT=y | |||
29 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | 29 | CONFIG_ARCH_NO_VIRT_TO_BUS=y |
30 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y | 30 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y |
31 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y | 31 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y |
32 | CONFIG_DMA_NONCOHERENT=y | ||
32 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 33 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
33 | CONFIG_CONSTRUCTORS=y | 34 | CONFIG_CONSTRUCTORS=y |
34 | 35 | ||
@@ -61,6 +62,7 @@ CONFIG_BSD_PROCESS_ACCT=y | |||
61 | # | 62 | # |
62 | CONFIG_TREE_RCU=y | 63 | CONFIG_TREE_RCU=y |
63 | # CONFIG_TREE_PREEMPT_RCU is not set | 64 | # CONFIG_TREE_PREEMPT_RCU is not set |
65 | # CONFIG_TINY_RCU is not set | ||
64 | # CONFIG_RCU_TRACE is not set | 66 | # CONFIG_RCU_TRACE is not set |
65 | CONFIG_RCU_FANOUT=32 | 67 | CONFIG_RCU_FANOUT=32 |
66 | # CONFIG_RCU_FANOUT_EXACT is not set | 68 | # CONFIG_RCU_FANOUT_EXACT is not set |
@@ -100,6 +102,7 @@ CONFIG_EVENTFD=y | |||
100 | # CONFIG_SHMEM is not set | 102 | # CONFIG_SHMEM is not set |
101 | CONFIG_AIO=y | 103 | CONFIG_AIO=y |
102 | CONFIG_HAVE_PERF_EVENTS=y | 104 | CONFIG_HAVE_PERF_EVENTS=y |
105 | CONFIG_PERF_USE_VMALLOC=y | ||
103 | 106 | ||
104 | # | 107 | # |
105 | # Kernel Performance Events And Counters | 108 | # Kernel Performance Events And Counters |
@@ -118,6 +121,7 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
118 | CONFIG_HAVE_KPROBES=y | 121 | CONFIG_HAVE_KPROBES=y |
119 | CONFIG_HAVE_KRETPROBES=y | 122 | CONFIG_HAVE_KRETPROBES=y |
120 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 123 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
124 | CONFIG_HAVE_DMA_ATTRS=y | ||
121 | CONFIG_HAVE_CLK=y | 125 | CONFIG_HAVE_CLK=y |
122 | CONFIG_HAVE_DMA_API_DEBUG=y | 126 | CONFIG_HAVE_DMA_API_DEBUG=y |
123 | 127 | ||
@@ -143,14 +147,41 @@ CONFIG_LBDAF=y | |||
143 | # IO Schedulers | 147 | # IO Schedulers |
144 | # | 148 | # |
145 | CONFIG_IOSCHED_NOOP=y | 149 | CONFIG_IOSCHED_NOOP=y |
146 | # CONFIG_IOSCHED_AS is not set | ||
147 | # CONFIG_IOSCHED_DEADLINE is not set | 150 | # CONFIG_IOSCHED_DEADLINE is not set |
148 | # CONFIG_IOSCHED_CFQ is not set | 151 | # CONFIG_IOSCHED_CFQ is not set |
149 | # CONFIG_DEFAULT_AS is not set | ||
150 | # CONFIG_DEFAULT_DEADLINE is not set | 152 | # CONFIG_DEFAULT_DEADLINE is not set |
151 | # CONFIG_DEFAULT_CFQ is not set | 153 | # CONFIG_DEFAULT_CFQ is not set |
152 | CONFIG_DEFAULT_NOOP=y | 154 | CONFIG_DEFAULT_NOOP=y |
153 | CONFIG_DEFAULT_IOSCHED="noop" | 155 | CONFIG_DEFAULT_IOSCHED="noop" |
156 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
157 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
158 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
159 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
160 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
161 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
162 | CONFIG_INLINE_SPIN_UNLOCK=y | ||
163 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
164 | CONFIG_INLINE_SPIN_UNLOCK_IRQ=y | ||
165 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
166 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
167 | # CONFIG_INLINE_READ_LOCK is not set | ||
168 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
169 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
170 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
171 | CONFIG_INLINE_READ_UNLOCK=y | ||
172 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
173 | CONFIG_INLINE_READ_UNLOCK_IRQ=y | ||
174 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
175 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
176 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
177 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
178 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
179 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
180 | CONFIG_INLINE_WRITE_UNLOCK=y | ||
181 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
182 | CONFIG_INLINE_WRITE_UNLOCK_IRQ=y | ||
183 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
184 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
154 | # CONFIG_FREEZER is not set | 185 | # CONFIG_FREEZER is not set |
155 | 186 | ||
156 | # | 187 | # |
@@ -226,8 +257,6 @@ CONFIG_SPLIT_PTLOCK_CPUS=4 | |||
226 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 257 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
227 | CONFIG_ZONE_DMA_FLAG=0 | 258 | CONFIG_ZONE_DMA_FLAG=0 |
228 | CONFIG_NR_QUICK=2 | 259 | CONFIG_NR_QUICK=2 |
229 | CONFIG_HAVE_MLOCK=y | ||
230 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
231 | # CONFIG_KSM is not set | 260 | # CONFIG_KSM is not set |
232 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | 261 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 |
233 | 262 | ||
@@ -457,9 +486,6 @@ CONFIG_NET_SCH_FIFO=y | |||
457 | CONFIG_FIB_RULES=y | 486 | CONFIG_FIB_RULES=y |
458 | CONFIG_WIRELESS=y | 487 | CONFIG_WIRELESS=y |
459 | # CONFIG_CFG80211 is not set | 488 | # CONFIG_CFG80211 is not set |
460 | CONFIG_CFG80211_DEFAULT_PS_VALUE=0 | ||
461 | # CONFIG_WIRELESS_OLD_REGULATORY is not set | ||
462 | # CONFIG_WIRELESS_EXT is not set | ||
463 | # CONFIG_LIB80211 is not set | 489 | # CONFIG_LIB80211 is not set |
464 | 490 | ||
465 | # | 491 | # |
@@ -570,6 +596,10 @@ CONFIG_MTD_CFI_UTIL=y | |||
570 | CONFIG_BLK_DEV=y | 596 | CONFIG_BLK_DEV=y |
571 | # CONFIG_BLK_DEV_COW_COMMON is not set | 597 | # CONFIG_BLK_DEV_COW_COMMON is not set |
572 | # CONFIG_BLK_DEV_LOOP is not set | 598 | # CONFIG_BLK_DEV_LOOP is not set |
599 | |||
600 | # | ||
601 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
602 | # | ||
573 | # CONFIG_BLK_DEV_NBD is not set | 603 | # CONFIG_BLK_DEV_NBD is not set |
574 | # CONFIG_BLK_DEV_UB is not set | 604 | # CONFIG_BLK_DEV_UB is not set |
575 | # CONFIG_BLK_DEV_RAM is not set | 605 | # CONFIG_BLK_DEV_RAM is not set |
@@ -642,8 +672,8 @@ CONFIG_NETDEVICES=y | |||
642 | CONFIG_NETDEV_1000=y | 672 | CONFIG_NETDEV_1000=y |
643 | CONFIG_NETDEV_10000=y | 673 | CONFIG_NETDEV_10000=y |
644 | CONFIG_WLAN=y | 674 | CONFIG_WLAN=y |
645 | # CONFIG_WLAN_PRE80211 is not set | 675 | # CONFIG_USB_ZD1201 is not set |
646 | # CONFIG_WLAN_80211 is not set | 676 | # CONFIG_HOSTAP is not set |
647 | 677 | ||
648 | # | 678 | # |
649 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 679 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -672,6 +702,7 @@ CONFIG_WLAN=y | |||
672 | CONFIG_INPUT=y | 702 | CONFIG_INPUT=y |
673 | CONFIG_INPUT_FF_MEMLESS=m | 703 | CONFIG_INPUT_FF_MEMLESS=m |
674 | # CONFIG_INPUT_POLLDEV is not set | 704 | # CONFIG_INPUT_POLLDEV is not set |
705 | # CONFIG_INPUT_SPARSEKMAP is not set | ||
675 | 706 | ||
676 | # | 707 | # |
677 | # Userland interfaces | 708 | # Userland interfaces |
@@ -765,6 +796,7 @@ CONFIG_SSB_POSSIBLE=y | |||
765 | # | 796 | # |
766 | # CONFIG_MFD_CORE is not set | 797 | # CONFIG_MFD_CORE is not set |
767 | # CONFIG_MFD_SM501 is not set | 798 | # CONFIG_MFD_SM501 is not set |
799 | # CONFIG_MFD_SH_MOBILE_SDHI is not set | ||
768 | # CONFIG_HTC_PASIC3 is not set | 800 | # CONFIG_HTC_PASIC3 is not set |
769 | # CONFIG_MFD_TMIO is not set | 801 | # CONFIG_MFD_TMIO is not set |
770 | # CONFIG_REGULATOR is not set | 802 | # CONFIG_REGULATOR is not set |
@@ -1029,7 +1061,6 @@ CONFIG_PROC_FS=y | |||
1029 | CONFIG_PROC_SYSCTL=y | 1061 | CONFIG_PROC_SYSCTL=y |
1030 | CONFIG_PROC_PAGE_MONITOR=y | 1062 | CONFIG_PROC_PAGE_MONITOR=y |
1031 | CONFIG_SYSFS=y | 1063 | CONFIG_SYSFS=y |
1032 | # CONFIG_HUGETLBFS is not set | ||
1033 | # CONFIG_HUGETLB_PAGE is not set | 1064 | # CONFIG_HUGETLB_PAGE is not set |
1034 | # CONFIG_CONFIGFS_FS is not set | 1065 | # CONFIG_CONFIGFS_FS is not set |
1035 | CONFIG_MISC_FILESYSTEMS=y | 1066 | CONFIG_MISC_FILESYSTEMS=y |
@@ -1186,7 +1217,6 @@ CONFIG_BRANCH_PROFILE_NONE=y | |||
1186 | CONFIG_HAVE_ARCH_KGDB=y | 1217 | CONFIG_HAVE_ARCH_KGDB=y |
1187 | # CONFIG_KGDB is not set | 1218 | # CONFIG_KGDB is not set |
1188 | # CONFIG_SH_STANDARD_BIOS is not set | 1219 | # CONFIG_SH_STANDARD_BIOS is not set |
1189 | # CONFIG_EARLY_SCIF_CONSOLE is not set | ||
1190 | # CONFIG_STACK_DEBUG is not set | 1220 | # CONFIG_STACK_DEBUG is not set |
1191 | # CONFIG_DEBUG_STACK_USAGE is not set | 1221 | # CONFIG_DEBUG_STACK_USAGE is not set |
1192 | # CONFIG_4KSTACKS is not set | 1222 | # CONFIG_4KSTACKS is not set |
@@ -1200,7 +1230,11 @@ CONFIG_HAVE_ARCH_KGDB=y | |||
1200 | # CONFIG_KEYS is not set | 1230 | # CONFIG_KEYS is not set |
1201 | # CONFIG_SECURITY is not set | 1231 | # CONFIG_SECURITY is not set |
1202 | # CONFIG_SECURITYFS is not set | 1232 | # CONFIG_SECURITYFS is not set |
1203 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1233 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
1234 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
1235 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
1236 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
1237 | CONFIG_DEFAULT_SECURITY="" | ||
1204 | CONFIG_CRYPTO=y | 1238 | CONFIG_CRYPTO=y |
1205 | 1239 | ||
1206 | # | 1240 | # |
diff --git a/arch/sh/configs/se7722_defconfig b/arch/sh/configs/se7722_defconfig index d709b7f35ace..4a4efd261d03 100644 --- a/arch/sh/configs/se7722_defconfig +++ b/arch/sh/configs/se7722_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.31 | 3 | # Linux kernel version: 2.6.33-rc2 |
4 | # Thu Sep 24 18:57:41 2009 | 4 | # Mon Jan 4 13:49:15 2010 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_SUPERH32=y | 7 | CONFIG_SUPERH32=y |
@@ -20,6 +20,7 @@ CONFIG_GENERIC_TIME=y | |||
20 | CONFIG_GENERIC_CLOCKEVENTS=y | 20 | CONFIG_GENERIC_CLOCKEVENTS=y |
21 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 21 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y | 22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y |
23 | CONFIG_SYS_SUPPORTS_HUGETLBFS=y | ||
23 | CONFIG_SYS_SUPPORTS_NUMA=y | 24 | CONFIG_SYS_SUPPORTS_NUMA=y |
24 | CONFIG_SYS_SUPPORTS_CMT=y | 25 | CONFIG_SYS_SUPPORTS_CMT=y |
25 | CONFIG_SYS_SUPPORTS_TMU=y | 26 | CONFIG_SYS_SUPPORTS_TMU=y |
@@ -31,6 +32,7 @@ CONFIG_HAVE_LATENCYTOP_SUPPORT=y | |||
31 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | 32 | CONFIG_ARCH_NO_VIRT_TO_BUS=y |
32 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y | 33 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y |
33 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y | 34 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y |
35 | CONFIG_DMA_NONCOHERENT=y | ||
34 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 36 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
35 | CONFIG_CONSTRUCTORS=y | 37 | CONFIG_CONSTRUCTORS=y |
36 | 38 | ||
@@ -63,6 +65,7 @@ CONFIG_BSD_PROCESS_ACCT=y | |||
63 | # | 65 | # |
64 | CONFIG_TREE_RCU=y | 66 | CONFIG_TREE_RCU=y |
65 | # CONFIG_TREE_PREEMPT_RCU is not set | 67 | # CONFIG_TREE_PREEMPT_RCU is not set |
68 | # CONFIG_TINY_RCU is not set | ||
66 | # CONFIG_RCU_TRACE is not set | 69 | # CONFIG_RCU_TRACE is not set |
67 | CONFIG_RCU_FANOUT=32 | 70 | CONFIG_RCU_FANOUT=32 |
68 | # CONFIG_RCU_FANOUT_EXACT is not set | 71 | # CONFIG_RCU_FANOUT_EXACT is not set |
@@ -102,6 +105,7 @@ CONFIG_EVENTFD=y | |||
102 | CONFIG_SHMEM=y | 105 | CONFIG_SHMEM=y |
103 | CONFIG_AIO=y | 106 | CONFIG_AIO=y |
104 | CONFIG_HAVE_PERF_EVENTS=y | 107 | CONFIG_HAVE_PERF_EVENTS=y |
108 | CONFIG_PERF_USE_VMALLOC=y | ||
105 | 109 | ||
106 | # | 110 | # |
107 | # Kernel Performance Events And Counters | 111 | # Kernel Performance Events And Counters |
@@ -122,6 +126,7 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
122 | CONFIG_HAVE_KPROBES=y | 126 | CONFIG_HAVE_KPROBES=y |
123 | CONFIG_HAVE_KRETPROBES=y | 127 | CONFIG_HAVE_KRETPROBES=y |
124 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 128 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
129 | CONFIG_HAVE_DMA_ATTRS=y | ||
125 | CONFIG_HAVE_CLK=y | 130 | CONFIG_HAVE_CLK=y |
126 | CONFIG_HAVE_DMA_API_DEBUG=y | 131 | CONFIG_HAVE_DMA_API_DEBUG=y |
127 | 132 | ||
@@ -149,14 +154,41 @@ CONFIG_LBDAF=y | |||
149 | # IO Schedulers | 154 | # IO Schedulers |
150 | # | 155 | # |
151 | CONFIG_IOSCHED_NOOP=y | 156 | CONFIG_IOSCHED_NOOP=y |
152 | # CONFIG_IOSCHED_AS is not set | ||
153 | # CONFIG_IOSCHED_DEADLINE is not set | 157 | # CONFIG_IOSCHED_DEADLINE is not set |
154 | # CONFIG_IOSCHED_CFQ is not set | 158 | # CONFIG_IOSCHED_CFQ is not set |
155 | # CONFIG_DEFAULT_AS is not set | ||
156 | # CONFIG_DEFAULT_DEADLINE is not set | 159 | # CONFIG_DEFAULT_DEADLINE is not set |
157 | # CONFIG_DEFAULT_CFQ is not set | 160 | # CONFIG_DEFAULT_CFQ is not set |
158 | CONFIG_DEFAULT_NOOP=y | 161 | CONFIG_DEFAULT_NOOP=y |
159 | CONFIG_DEFAULT_IOSCHED="noop" | 162 | CONFIG_DEFAULT_IOSCHED="noop" |
163 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
164 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
165 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
166 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
167 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
168 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
169 | # CONFIG_INLINE_SPIN_UNLOCK is not set | ||
170 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
171 | # CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set | ||
172 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
173 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
174 | # CONFIG_INLINE_READ_LOCK is not set | ||
175 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
176 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
177 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
178 | # CONFIG_INLINE_READ_UNLOCK is not set | ||
179 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
180 | # CONFIG_INLINE_READ_UNLOCK_IRQ is not set | ||
181 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
182 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
183 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
184 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
185 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
186 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
187 | # CONFIG_INLINE_WRITE_UNLOCK is not set | ||
188 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
189 | # CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set | ||
190 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
191 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
160 | CONFIG_FREEZER=y | 192 | CONFIG_FREEZER=y |
161 | 193 | ||
162 | # | 194 | # |
@@ -248,8 +280,6 @@ CONFIG_MIGRATION=y | |||
248 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 280 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
249 | CONFIG_ZONE_DMA_FLAG=0 | 281 | CONFIG_ZONE_DMA_FLAG=0 |
250 | CONFIG_NR_QUICK=2 | 282 | CONFIG_NR_QUICK=2 |
251 | CONFIG_HAVE_MLOCK=y | ||
252 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
253 | # CONFIG_KSM is not set | 283 | # CONFIG_KSM is not set |
254 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | 284 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 |
255 | 285 | ||
@@ -284,7 +314,6 @@ CONFIG_SH_7722_SOLUTION_ENGINE=y | |||
284 | # | 314 | # |
285 | CONFIG_SH_TIMER_TMU=y | 315 | CONFIG_SH_TIMER_TMU=y |
286 | # CONFIG_SH_TIMER_CMT is not set | 316 | # CONFIG_SH_TIMER_CMT is not set |
287 | CONFIG_SH_PCLK_FREQ=33333333 | ||
288 | CONFIG_SH_CLK_CPG=y | 317 | CONFIG_SH_CLK_CPG=y |
289 | CONFIG_TICK_ONESHOT=y | 318 | CONFIG_TICK_ONESHOT=y |
290 | CONFIG_NO_HZ=y | 319 | CONFIG_NO_HZ=y |
@@ -436,9 +465,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
436 | # CONFIG_AF_RXRPC is not set | 465 | # CONFIG_AF_RXRPC is not set |
437 | CONFIG_WIRELESS=y | 466 | CONFIG_WIRELESS=y |
438 | # CONFIG_CFG80211 is not set | 467 | # CONFIG_CFG80211 is not set |
439 | CONFIG_CFG80211_DEFAULT_PS_VALUE=0 | ||
440 | # CONFIG_WIRELESS_OLD_REGULATORY is not set | ||
441 | # CONFIG_WIRELESS_EXT is not set | ||
442 | # CONFIG_LIB80211 is not set | 468 | # CONFIG_LIB80211 is not set |
443 | 469 | ||
444 | # | 470 | # |
@@ -467,6 +493,10 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y | |||
467 | CONFIG_BLK_DEV=y | 493 | CONFIG_BLK_DEV=y |
468 | # CONFIG_BLK_DEV_COW_COMMON is not set | 494 | # CONFIG_BLK_DEV_COW_COMMON is not set |
469 | # CONFIG_BLK_DEV_LOOP is not set | 495 | # CONFIG_BLK_DEV_LOOP is not set |
496 | |||
497 | # | ||
498 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
499 | # | ||
470 | # CONFIG_BLK_DEV_NBD is not set | 500 | # CONFIG_BLK_DEV_NBD is not set |
471 | CONFIG_BLK_DEV_RAM=y | 501 | CONFIG_BLK_DEV_RAM=y |
472 | CONFIG_BLK_DEV_RAM_COUNT=16 | 502 | CONFIG_BLK_DEV_RAM_COUNT=16 |
@@ -560,11 +590,11 @@ CONFIG_SMC91X=y | |||
560 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | 590 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set |
561 | # CONFIG_B44 is not set | 591 | # CONFIG_B44 is not set |
562 | # CONFIG_KS8842 is not set | 592 | # CONFIG_KS8842 is not set |
593 | # CONFIG_KS8851_MLL is not set | ||
563 | CONFIG_NETDEV_1000=y | 594 | CONFIG_NETDEV_1000=y |
564 | CONFIG_NETDEV_10000=y | 595 | CONFIG_NETDEV_10000=y |
565 | CONFIG_WLAN=y | 596 | CONFIG_WLAN=y |
566 | # CONFIG_WLAN_PRE80211 is not set | 597 | # CONFIG_HOSTAP is not set |
567 | # CONFIG_WLAN_80211 is not set | ||
568 | 598 | ||
569 | # | 599 | # |
570 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 600 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -584,6 +614,7 @@ CONFIG_WLAN=y | |||
584 | CONFIG_INPUT=y | 614 | CONFIG_INPUT=y |
585 | # CONFIG_INPUT_FF_MEMLESS is not set | 615 | # CONFIG_INPUT_FF_MEMLESS is not set |
586 | # CONFIG_INPUT_POLLDEV is not set | 616 | # CONFIG_INPUT_POLLDEV is not set |
617 | # CONFIG_INPUT_SPARSEKMAP is not set | ||
587 | 618 | ||
588 | # | 619 | # |
589 | # Userland interfaces | 620 | # Userland interfaces |
@@ -622,6 +653,7 @@ CONFIG_SERIO=y | |||
622 | # CONFIG_SERIO_SERPORT is not set | 653 | # CONFIG_SERIO_SERPORT is not set |
623 | CONFIG_SERIO_LIBPS2=y | 654 | CONFIG_SERIO_LIBPS2=y |
624 | # CONFIG_SERIO_RAW is not set | 655 | # CONFIG_SERIO_RAW is not set |
656 | # CONFIG_SERIO_ALTERA_PS2 is not set | ||
625 | # CONFIG_GAMEPORT is not set | 657 | # CONFIG_GAMEPORT is not set |
626 | 658 | ||
627 | # | 659 | # |
@@ -694,6 +726,7 @@ CONFIG_SSB_POSSIBLE=y | |||
694 | # | 726 | # |
695 | # CONFIG_MFD_CORE is not set | 727 | # CONFIG_MFD_CORE is not set |
696 | # CONFIG_MFD_SM501 is not set | 728 | # CONFIG_MFD_SM501 is not set |
729 | # CONFIG_MFD_SH_MOBILE_SDHI is not set | ||
697 | # CONFIG_HTC_PASIC3 is not set | 730 | # CONFIG_HTC_PASIC3 is not set |
698 | # CONFIG_MFD_TMIO is not set | 731 | # CONFIG_MFD_TMIO is not set |
699 | # CONFIG_REGULATOR is not set | 732 | # CONFIG_REGULATOR is not set |
@@ -774,7 +807,9 @@ CONFIG_RTC_INTF_DEV=y | |||
774 | # CONFIG_RTC_DRV_M48T86 is not set | 807 | # CONFIG_RTC_DRV_M48T86 is not set |
775 | # CONFIG_RTC_DRV_M48T35 is not set | 808 | # CONFIG_RTC_DRV_M48T35 is not set |
776 | # CONFIG_RTC_DRV_M48T59 is not set | 809 | # CONFIG_RTC_DRV_M48T59 is not set |
810 | # CONFIG_RTC_DRV_MSM6242 is not set | ||
777 | # CONFIG_RTC_DRV_BQ4802 is not set | 811 | # CONFIG_RTC_DRV_BQ4802 is not set |
812 | # CONFIG_RTC_DRV_RP5C01 is not set | ||
778 | # CONFIG_RTC_DRV_V3020 is not set | 813 | # CONFIG_RTC_DRV_V3020 is not set |
779 | 814 | ||
780 | # | 815 | # |
@@ -906,7 +941,7 @@ CONFIG_DEBUG_FS=y | |||
906 | # CONFIG_DEBUG_KERNEL is not set | 941 | # CONFIG_DEBUG_KERNEL is not set |
907 | # CONFIG_SLUB_DEBUG_ON is not set | 942 | # CONFIG_SLUB_DEBUG_ON is not set |
908 | # CONFIG_SLUB_STATS is not set | 943 | # CONFIG_SLUB_STATS is not set |
909 | # CONFIG_DEBUG_BUGVERBOSE is not set | 944 | CONFIG_DEBUG_BUGVERBOSE=y |
910 | # CONFIG_DEBUG_MEMORY_INIT is not set | 945 | # CONFIG_DEBUG_MEMORY_INIT is not set |
911 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | 946 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set |
912 | # CONFIG_LATENCYTOP is not set | 947 | # CONFIG_LATENCYTOP is not set |
@@ -924,8 +959,6 @@ CONFIG_TRACING_SUPPORT=y | |||
924 | # CONFIG_SAMPLES is not set | 959 | # CONFIG_SAMPLES is not set |
925 | CONFIG_HAVE_ARCH_KGDB=y | 960 | CONFIG_HAVE_ARCH_KGDB=y |
926 | CONFIG_SH_STANDARD_BIOS=y | 961 | CONFIG_SH_STANDARD_BIOS=y |
927 | # CONFIG_EARLY_SCIF_CONSOLE is not set | ||
928 | # CONFIG_EARLY_PRINTK is not set | ||
929 | # CONFIG_DWARF_UNWINDER is not set | 962 | # CONFIG_DWARF_UNWINDER is not set |
930 | 963 | ||
931 | # | 964 | # |
@@ -934,7 +967,11 @@ CONFIG_SH_STANDARD_BIOS=y | |||
934 | # CONFIG_KEYS is not set | 967 | # CONFIG_KEYS is not set |
935 | # CONFIG_SECURITY is not set | 968 | # CONFIG_SECURITY is not set |
936 | # CONFIG_SECURITYFS is not set | 969 | # CONFIG_SECURITYFS is not set |
937 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 970 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
971 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
972 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
973 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
974 | CONFIG_DEFAULT_SECURITY="" | ||
938 | CONFIG_CRYPTO=y | 975 | CONFIG_CRYPTO=y |
939 | 976 | ||
940 | # | 977 | # |
diff --git a/arch/sh/configs/se7724_defconfig b/arch/sh/configs/se7724_defconfig index 56b0b9ff9e05..ab371afe3595 100644 --- a/arch/sh/configs/se7724_defconfig +++ b/arch/sh/configs/se7724_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.31 | 3 | # Linux kernel version: 2.6.33-rc2 |
4 | # Fri Sep 25 11:50:59 2009 | 4 | # Mon Jan 4 14:36:56 2010 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_SUPERH32=y | 7 | CONFIG_SUPERH32=y |
@@ -20,6 +20,7 @@ CONFIG_GENERIC_TIME=y | |||
20 | CONFIG_GENERIC_CLOCKEVENTS=y | 20 | CONFIG_GENERIC_CLOCKEVENTS=y |
21 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 21 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y | 22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y |
23 | CONFIG_SYS_SUPPORTS_HUGETLBFS=y | ||
23 | CONFIG_SYS_SUPPORTS_CMT=y | 24 | CONFIG_SYS_SUPPORTS_CMT=y |
24 | CONFIG_SYS_SUPPORTS_TMU=y | 25 | CONFIG_SYS_SUPPORTS_TMU=y |
25 | CONFIG_STACKTRACE_SUPPORT=y | 26 | CONFIG_STACKTRACE_SUPPORT=y |
@@ -30,6 +31,7 @@ CONFIG_HAVE_LATENCYTOP_SUPPORT=y | |||
30 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | 31 | CONFIG_ARCH_NO_VIRT_TO_BUS=y |
31 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y | 32 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y |
32 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y | 33 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y |
34 | CONFIG_DMA_NONCOHERENT=y | ||
33 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 35 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
34 | CONFIG_CONSTRUCTORS=y | 36 | CONFIG_CONSTRUCTORS=y |
35 | 37 | ||
@@ -62,6 +64,7 @@ CONFIG_BSD_PROCESS_ACCT=y | |||
62 | # | 64 | # |
63 | CONFIG_TREE_RCU=y | 65 | CONFIG_TREE_RCU=y |
64 | # CONFIG_TREE_PREEMPT_RCU is not set | 66 | # CONFIG_TREE_PREEMPT_RCU is not set |
67 | # CONFIG_TINY_RCU is not set | ||
65 | # CONFIG_RCU_TRACE is not set | 68 | # CONFIG_RCU_TRACE is not set |
66 | CONFIG_RCU_FANOUT=32 | 69 | CONFIG_RCU_FANOUT=32 |
67 | # CONFIG_RCU_FANOUT_EXACT is not set | 70 | # CONFIG_RCU_FANOUT_EXACT is not set |
@@ -99,6 +102,7 @@ CONFIG_EVENTFD=y | |||
99 | CONFIG_SHMEM=y | 102 | CONFIG_SHMEM=y |
100 | CONFIG_AIO=y | 103 | CONFIG_AIO=y |
101 | CONFIG_HAVE_PERF_EVENTS=y | 104 | CONFIG_HAVE_PERF_EVENTS=y |
105 | CONFIG_PERF_USE_VMALLOC=y | ||
102 | 106 | ||
103 | # | 107 | # |
104 | # Kernel Performance Events And Counters | 108 | # Kernel Performance Events And Counters |
@@ -116,6 +120,7 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
116 | CONFIG_HAVE_KPROBES=y | 120 | CONFIG_HAVE_KPROBES=y |
117 | CONFIG_HAVE_KRETPROBES=y | 121 | CONFIG_HAVE_KRETPROBES=y |
118 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 122 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
123 | CONFIG_HAVE_DMA_ATTRS=y | ||
119 | CONFIG_HAVE_CLK=y | 124 | CONFIG_HAVE_CLK=y |
120 | CONFIG_HAVE_DMA_API_DEBUG=y | 125 | CONFIG_HAVE_DMA_API_DEBUG=y |
121 | 126 | ||
@@ -142,14 +147,41 @@ CONFIG_LBDAF=y | |||
142 | # IO Schedulers | 147 | # IO Schedulers |
143 | # | 148 | # |
144 | CONFIG_IOSCHED_NOOP=y | 149 | CONFIG_IOSCHED_NOOP=y |
145 | CONFIG_IOSCHED_AS=y | ||
146 | CONFIG_IOSCHED_DEADLINE=y | 150 | CONFIG_IOSCHED_DEADLINE=y |
147 | CONFIG_IOSCHED_CFQ=y | 151 | CONFIG_IOSCHED_CFQ=y |
148 | # CONFIG_DEFAULT_AS is not set | ||
149 | # CONFIG_DEFAULT_DEADLINE is not set | 152 | # CONFIG_DEFAULT_DEADLINE is not set |
150 | CONFIG_DEFAULT_CFQ=y | 153 | CONFIG_DEFAULT_CFQ=y |
151 | # CONFIG_DEFAULT_NOOP is not set | 154 | # CONFIG_DEFAULT_NOOP is not set |
152 | CONFIG_DEFAULT_IOSCHED="cfq" | 155 | CONFIG_DEFAULT_IOSCHED="cfq" |
156 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
157 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
158 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
159 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
160 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
161 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
162 | # CONFIG_INLINE_SPIN_UNLOCK is not set | ||
163 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
164 | # CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set | ||
165 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
166 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
167 | # CONFIG_INLINE_READ_LOCK is not set | ||
168 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
169 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
170 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
171 | # CONFIG_INLINE_READ_UNLOCK is not set | ||
172 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
173 | # CONFIG_INLINE_READ_UNLOCK_IRQ is not set | ||
174 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
175 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
176 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
177 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
178 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
179 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
180 | # CONFIG_INLINE_WRITE_UNLOCK is not set | ||
181 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
182 | # CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set | ||
183 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
184 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
153 | CONFIG_FREEZER=y | 185 | CONFIG_FREEZER=y |
154 | 186 | ||
155 | # | 187 | # |
@@ -205,6 +237,7 @@ CONFIG_FORCE_MAX_ZONEORDER=11 | |||
205 | CONFIG_MEMORY_START=0x08000000 | 237 | CONFIG_MEMORY_START=0x08000000 |
206 | CONFIG_MEMORY_SIZE=0x08000000 | 238 | CONFIG_MEMORY_SIZE=0x08000000 |
207 | CONFIG_29BIT=y | 239 | CONFIG_29BIT=y |
240 | # CONFIG_PMB_ENABLE is not set | ||
208 | # CONFIG_X2TLB is not set | 241 | # CONFIG_X2TLB is not set |
209 | CONFIG_VSYSCALL=y | 242 | CONFIG_VSYSCALL=y |
210 | CONFIG_ARCH_FLATMEM_ENABLE=y | 243 | CONFIG_ARCH_FLATMEM_ENABLE=y |
@@ -229,8 +262,6 @@ CONFIG_SPLIT_PTLOCK_CPUS=4 | |||
229 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 262 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
230 | CONFIG_ZONE_DMA_FLAG=0 | 263 | CONFIG_ZONE_DMA_FLAG=0 |
231 | CONFIG_NR_QUICK=2 | 264 | CONFIG_NR_QUICK=2 |
232 | CONFIG_HAVE_MLOCK=y | ||
233 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
234 | # CONFIG_KSM is not set | 265 | # CONFIG_KSM is not set |
235 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | 266 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 |
236 | 267 | ||
@@ -265,7 +296,6 @@ CONFIG_SH_7724_SOLUTION_ENGINE=y | |||
265 | # | 296 | # |
266 | CONFIG_SH_TIMER_TMU=y | 297 | CONFIG_SH_TIMER_TMU=y |
267 | # CONFIG_SH_TIMER_CMT is not set | 298 | # CONFIG_SH_TIMER_CMT is not set |
268 | CONFIG_SH_PCLK_FREQ=33333333 | ||
269 | CONFIG_SH_CLK_CPG=y | 299 | CONFIG_SH_CLK_CPG=y |
270 | # CONFIG_NO_HZ is not set | 300 | # CONFIG_NO_HZ is not set |
271 | # CONFIG_HIGH_RES_TIMERS is not set | 301 | # CONFIG_HIGH_RES_TIMERS is not set |
@@ -279,8 +309,8 @@ CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | |||
279 | # | 309 | # |
280 | # DMA support | 310 | # DMA support |
281 | # | 311 | # |
282 | CONFIG_SH_DMA_API=y | ||
283 | CONFIG_SH_DMA=y | 312 | CONFIG_SH_DMA=y |
313 | CONFIG_SH_DMA_API=y | ||
284 | CONFIG_NR_ONCHIP_DMA_CHANNELS=12 | 314 | CONFIG_NR_ONCHIP_DMA_CHANNELS=12 |
285 | # CONFIG_NR_DMA_CHANNELS_BOOL is not set | 315 | # CONFIG_NR_DMA_CHANNELS_BOOL is not set |
286 | 316 | ||
@@ -423,9 +453,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
423 | # CONFIG_AF_RXRPC is not set | 453 | # CONFIG_AF_RXRPC is not set |
424 | CONFIG_WIRELESS=y | 454 | CONFIG_WIRELESS=y |
425 | # CONFIG_CFG80211 is not set | 455 | # CONFIG_CFG80211 is not set |
426 | CONFIG_CFG80211_DEFAULT_PS_VALUE=0 | ||
427 | # CONFIG_WIRELESS_OLD_REGULATORY is not set | ||
428 | # CONFIG_WIRELESS_EXT is not set | ||
429 | # CONFIG_LIB80211 is not set | 456 | # CONFIG_LIB80211 is not set |
430 | 457 | ||
431 | # | 458 | # |
@@ -555,6 +582,10 @@ CONFIG_MTD_UBI_BEB_RESERVE=1 | |||
555 | CONFIG_BLK_DEV=y | 582 | CONFIG_BLK_DEV=y |
556 | # CONFIG_BLK_DEV_COW_COMMON is not set | 583 | # CONFIG_BLK_DEV_COW_COMMON is not set |
557 | # CONFIG_BLK_DEV_LOOP is not set | 584 | # CONFIG_BLK_DEV_LOOP is not set |
585 | |||
586 | # | ||
587 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
588 | # | ||
558 | # CONFIG_BLK_DEV_NBD is not set | 589 | # CONFIG_BLK_DEV_NBD is not set |
559 | # CONFIG_BLK_DEV_UB is not set | 590 | # CONFIG_BLK_DEV_UB is not set |
560 | CONFIG_BLK_DEV_RAM=y | 591 | CONFIG_BLK_DEV_RAM=y |
@@ -565,9 +596,12 @@ CONFIG_BLK_DEV_RAM_SIZE=4096 | |||
565 | # CONFIG_ATA_OVER_ETH is not set | 596 | # CONFIG_ATA_OVER_ETH is not set |
566 | # CONFIG_BLK_DEV_HD is not set | 597 | # CONFIG_BLK_DEV_HD is not set |
567 | CONFIG_MISC_DEVICES=y | 598 | CONFIG_MISC_DEVICES=y |
599 | # CONFIG_AD525X_DPOT is not set | ||
568 | # CONFIG_ICS932S401 is not set | 600 | # CONFIG_ICS932S401 is not set |
569 | # CONFIG_ENCLOSURE_SERVICES is not set | 601 | # CONFIG_ENCLOSURE_SERVICES is not set |
570 | # CONFIG_ISL29003 is not set | 602 | # CONFIG_ISL29003 is not set |
603 | # CONFIG_DS1682 is not set | ||
604 | # CONFIG_TI_DAC7512 is not set | ||
571 | # CONFIG_C2PORT is not set | 605 | # CONFIG_C2PORT is not set |
572 | 606 | ||
573 | # | 607 | # |
@@ -578,6 +612,7 @@ CONFIG_MISC_DEVICES=y | |||
578 | # CONFIG_EEPROM_LEGACY is not set | 612 | # CONFIG_EEPROM_LEGACY is not set |
579 | # CONFIG_EEPROM_MAX6875 is not set | 613 | # CONFIG_EEPROM_MAX6875 is not set |
580 | # CONFIG_EEPROM_93CX6 is not set | 614 | # CONFIG_EEPROM_93CX6 is not set |
615 | # CONFIG_IWMC3200TOP is not set | ||
581 | CONFIG_HAVE_IDE=y | 616 | CONFIG_HAVE_IDE=y |
582 | # CONFIG_IDE is not set | 617 | # CONFIG_IDE is not set |
583 | 618 | ||
@@ -672,11 +707,12 @@ CONFIG_SMC91X=y | |||
672 | # CONFIG_B44 is not set | 707 | # CONFIG_B44 is not set |
673 | # CONFIG_KS8842 is not set | 708 | # CONFIG_KS8842 is not set |
674 | # CONFIG_KS8851 is not set | 709 | # CONFIG_KS8851 is not set |
710 | # CONFIG_KS8851_MLL is not set | ||
675 | # CONFIG_NETDEV_1000 is not set | 711 | # CONFIG_NETDEV_1000 is not set |
676 | # CONFIG_NETDEV_10000 is not set | 712 | # CONFIG_NETDEV_10000 is not set |
677 | CONFIG_WLAN=y | 713 | CONFIG_WLAN=y |
678 | # CONFIG_WLAN_PRE80211 is not set | 714 | # CONFIG_USB_ZD1201 is not set |
679 | # CONFIG_WLAN_80211 is not set | 715 | # CONFIG_HOSTAP is not set |
680 | 716 | ||
681 | # | 717 | # |
682 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 718 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -705,6 +741,7 @@ CONFIG_WLAN=y | |||
705 | CONFIG_INPUT=y | 741 | CONFIG_INPUT=y |
706 | # CONFIG_INPUT_FF_MEMLESS is not set | 742 | # CONFIG_INPUT_FF_MEMLESS is not set |
707 | # CONFIG_INPUT_POLLDEV is not set | 743 | # CONFIG_INPUT_POLLDEV is not set |
744 | # CONFIG_INPUT_SPARSEKMAP is not set | ||
708 | 745 | ||
709 | # | 746 | # |
710 | # Userland interfaces | 747 | # Userland interfaces |
@@ -813,7 +850,6 @@ CONFIG_I2C_SH_MOBILE=y | |||
813 | # | 850 | # |
814 | # Miscellaneous I2C Chip support | 851 | # Miscellaneous I2C Chip support |
815 | # | 852 | # |
816 | # CONFIG_DS1682 is not set | ||
817 | # CONFIG_SENSORS_TSL2550 is not set | 853 | # CONFIG_SENSORS_TSL2550 is not set |
818 | # CONFIG_I2C_DEBUG_CORE is not set | 854 | # CONFIG_I2C_DEBUG_CORE is not set |
819 | # CONFIG_I2C_DEBUG_ALGO is not set | 855 | # CONFIG_I2C_DEBUG_ALGO is not set |
@@ -827,7 +863,10 @@ CONFIG_SPI_MASTER=y | |||
827 | # | 863 | # |
828 | CONFIG_SPI_BITBANG=y | 864 | CONFIG_SPI_BITBANG=y |
829 | # CONFIG_SPI_GPIO is not set | 865 | # CONFIG_SPI_GPIO is not set |
866 | # CONFIG_SPI_SH_MSIOF is not set | ||
830 | # CONFIG_SPI_SH_SCI is not set | 867 | # CONFIG_SPI_SH_SCI is not set |
868 | # CONFIG_SPI_XILINX is not set | ||
869 | # CONFIG_SPI_DESIGNWARE is not set | ||
831 | 870 | ||
832 | # | 871 | # |
833 | # SPI Protocol Masters | 872 | # SPI Protocol Masters |
@@ -885,11 +924,13 @@ CONFIG_SSB_POSSIBLE=y | |||
885 | # | 924 | # |
886 | # CONFIG_MFD_CORE is not set | 925 | # CONFIG_MFD_CORE is not set |
887 | # CONFIG_MFD_SM501 is not set | 926 | # CONFIG_MFD_SM501 is not set |
927 | # CONFIG_MFD_SH_MOBILE_SDHI is not set | ||
888 | # CONFIG_HTC_PASIC3 is not set | 928 | # CONFIG_HTC_PASIC3 is not set |
889 | # CONFIG_TPS65010 is not set | 929 | # CONFIG_TPS65010 is not set |
890 | # CONFIG_TWL4030_CORE is not set | 930 | # CONFIG_TWL4030_CORE is not set |
891 | # CONFIG_MFD_TMIO is not set | 931 | # CONFIG_MFD_TMIO is not set |
892 | # CONFIG_PMIC_DA903X is not set | 932 | # CONFIG_PMIC_DA903X is not set |
933 | # CONFIG_PMIC_ADP5520 is not set | ||
893 | # CONFIG_MFD_WM8400 is not set | 934 | # CONFIG_MFD_WM8400 is not set |
894 | # CONFIG_MFD_WM831X is not set | 935 | # CONFIG_MFD_WM831X is not set |
895 | # CONFIG_MFD_WM8350_I2C is not set | 936 | # CONFIG_MFD_WM8350_I2C is not set |
@@ -897,6 +938,8 @@ CONFIG_SSB_POSSIBLE=y | |||
897 | # CONFIG_MFD_MC13783 is not set | 938 | # CONFIG_MFD_MC13783 is not set |
898 | # CONFIG_AB3100_CORE is not set | 939 | # CONFIG_AB3100_CORE is not set |
899 | # CONFIG_EZX_PCAP is not set | 940 | # CONFIG_EZX_PCAP is not set |
941 | # CONFIG_MFD_88PM8607 is not set | ||
942 | # CONFIG_AB4500_CORE is not set | ||
900 | # CONFIG_REGULATOR is not set | 943 | # CONFIG_REGULATOR is not set |
901 | CONFIG_MEDIA_SUPPORT=y | 944 | CONFIG_MEDIA_SUPPORT=y |
902 | 945 | ||
@@ -913,6 +956,8 @@ CONFIG_VIDEO_MEDIA=m | |||
913 | # | 956 | # |
914 | # Multimedia drivers | 957 | # Multimedia drivers |
915 | # | 958 | # |
959 | CONFIG_IR_CORE=y | ||
960 | CONFIG_VIDEO_IR=y | ||
916 | # CONFIG_MEDIA_ATTACH is not set | 961 | # CONFIG_MEDIA_ATTACH is not set |
917 | CONFIG_MEDIA_TUNER=m | 962 | CONFIG_MEDIA_TUNER=m |
918 | # CONFIG_MEDIA_TUNER_CUSTOMISE is not set | 963 | # CONFIG_MEDIA_TUNER_CUSTOMISE is not set |
@@ -932,6 +977,7 @@ CONFIG_VIDEO_CAPTURE_DRIVERS=y | |||
932 | # CONFIG_VIDEO_ADV_DEBUG is not set | 977 | # CONFIG_VIDEO_ADV_DEBUG is not set |
933 | # CONFIG_VIDEO_FIXED_MINOR_RANGES is not set | 978 | # CONFIG_VIDEO_FIXED_MINOR_RANGES is not set |
934 | CONFIG_VIDEO_HELPER_CHIPS_AUTO=y | 979 | CONFIG_VIDEO_HELPER_CHIPS_AUTO=y |
980 | CONFIG_VIDEO_IR_I2C=y | ||
935 | # CONFIG_VIDEO_VIVI is not set | 981 | # CONFIG_VIDEO_VIVI is not set |
936 | # CONFIG_VIDEO_SAA5246A is not set | 982 | # CONFIG_VIDEO_SAA5246A is not set |
937 | # CONFIG_VIDEO_SAA5249 is not set | 983 | # CONFIG_VIDEO_SAA5249 is not set |
@@ -940,10 +986,13 @@ CONFIG_SOC_CAMERA=y | |||
940 | # CONFIG_SOC_CAMERA_MT9M001 is not set | 986 | # CONFIG_SOC_CAMERA_MT9M001 is not set |
941 | # CONFIG_SOC_CAMERA_MT9M111 is not set | 987 | # CONFIG_SOC_CAMERA_MT9M111 is not set |
942 | # CONFIG_SOC_CAMERA_MT9T031 is not set | 988 | # CONFIG_SOC_CAMERA_MT9T031 is not set |
989 | # CONFIG_SOC_CAMERA_MT9T112 is not set | ||
943 | # CONFIG_SOC_CAMERA_MT9V022 is not set | 990 | # CONFIG_SOC_CAMERA_MT9V022 is not set |
991 | # CONFIG_SOC_CAMERA_RJ54N1 is not set | ||
944 | # CONFIG_SOC_CAMERA_TW9910 is not set | 992 | # CONFIG_SOC_CAMERA_TW9910 is not set |
945 | # CONFIG_SOC_CAMERA_PLATFORM is not set | 993 | # CONFIG_SOC_CAMERA_PLATFORM is not set |
946 | CONFIG_SOC_CAMERA_OV772X=y | 994 | CONFIG_SOC_CAMERA_OV772X=y |
995 | # CONFIG_SOC_CAMERA_OV9640 is not set | ||
947 | CONFIG_VIDEO_SH_MOBILE_CEU=y | 996 | CONFIG_VIDEO_SH_MOBILE_CEU=y |
948 | CONFIG_V4L_USB_DRIVERS=y | 997 | CONFIG_V4L_USB_DRIVERS=y |
949 | # CONFIG_USB_VIDEO_CLASS is not set | 998 | # CONFIG_USB_VIDEO_CLASS is not set |
@@ -961,6 +1010,7 @@ CONFIG_USB_GSPCA=m | |||
961 | # CONFIG_USB_GSPCA_OV519 is not set | 1010 | # CONFIG_USB_GSPCA_OV519 is not set |
962 | # CONFIG_USB_GSPCA_OV534 is not set | 1011 | # CONFIG_USB_GSPCA_OV534 is not set |
963 | # CONFIG_USB_GSPCA_PAC207 is not set | 1012 | # CONFIG_USB_GSPCA_PAC207 is not set |
1013 | # CONFIG_USB_GSPCA_PAC7302 is not set | ||
964 | # CONFIG_USB_GSPCA_PAC7311 is not set | 1014 | # CONFIG_USB_GSPCA_PAC7311 is not set |
965 | # CONFIG_USB_GSPCA_SN9C20X is not set | 1015 | # CONFIG_USB_GSPCA_SN9C20X is not set |
966 | # CONFIG_USB_GSPCA_SONIXB is not set | 1016 | # CONFIG_USB_GSPCA_SONIXB is not set |
@@ -974,6 +1024,7 @@ CONFIG_USB_GSPCA=m | |||
974 | # CONFIG_USB_GSPCA_SQ905 is not set | 1024 | # CONFIG_USB_GSPCA_SQ905 is not set |
975 | # CONFIG_USB_GSPCA_SQ905C is not set | 1025 | # CONFIG_USB_GSPCA_SQ905C is not set |
976 | # CONFIG_USB_GSPCA_STK014 is not set | 1026 | # CONFIG_USB_GSPCA_STK014 is not set |
1027 | # CONFIG_USB_GSPCA_STV0680 is not set | ||
977 | # CONFIG_USB_GSPCA_SUNPLUS is not set | 1028 | # CONFIG_USB_GSPCA_SUNPLUS is not set |
978 | # CONFIG_USB_GSPCA_T613 is not set | 1029 | # CONFIG_USB_GSPCA_T613 is not set |
979 | # CONFIG_USB_GSPCA_TV8532 is not set | 1030 | # CONFIG_USB_GSPCA_TV8532 is not set |
@@ -1110,9 +1161,11 @@ CONFIG_SND_SOC_WM_HUBS=m | |||
1110 | CONFIG_SND_SOC_AD1836=m | 1161 | CONFIG_SND_SOC_AD1836=m |
1111 | CONFIG_SND_SOC_AD1938=m | 1162 | CONFIG_SND_SOC_AD1938=m |
1112 | CONFIG_SND_SOC_AD73311=m | 1163 | CONFIG_SND_SOC_AD73311=m |
1164 | CONFIG_SND_SOC_ADS117X=m | ||
1113 | CONFIG_SND_SOC_AK4104=m | 1165 | CONFIG_SND_SOC_AK4104=m |
1114 | CONFIG_SND_SOC_AK4535=m | 1166 | CONFIG_SND_SOC_AK4535=m |
1115 | CONFIG_SND_SOC_AK4642=m | 1167 | CONFIG_SND_SOC_AK4642=m |
1168 | CONFIG_SND_SOC_AK4671=m | ||
1116 | CONFIG_SND_SOC_CS4270=m | 1169 | CONFIG_SND_SOC_CS4270=m |
1117 | CONFIG_SND_SOC_L3=m | 1170 | CONFIG_SND_SOC_L3=m |
1118 | CONFIG_SND_SOC_PCM3008=m | 1171 | CONFIG_SND_SOC_PCM3008=m |
@@ -1121,11 +1174,14 @@ CONFIG_SND_SOC_SSM2602=m | |||
1121 | CONFIG_SND_SOC_TLV320AIC23=m | 1174 | CONFIG_SND_SOC_TLV320AIC23=m |
1122 | CONFIG_SND_SOC_TLV320AIC26=m | 1175 | CONFIG_SND_SOC_TLV320AIC26=m |
1123 | CONFIG_SND_SOC_TLV320AIC3X=m | 1176 | CONFIG_SND_SOC_TLV320AIC3X=m |
1177 | CONFIG_SND_SOC_TLV320DAC33=m | ||
1124 | CONFIG_SND_SOC_UDA134X=m | 1178 | CONFIG_SND_SOC_UDA134X=m |
1125 | CONFIG_SND_SOC_UDA1380=m | 1179 | CONFIG_SND_SOC_UDA1380=m |
1126 | CONFIG_SND_SOC_WM8510=m | 1180 | CONFIG_SND_SOC_WM8510=m |
1127 | CONFIG_SND_SOC_WM8523=m | 1181 | CONFIG_SND_SOC_WM8523=m |
1128 | CONFIG_SND_SOC_WM8580=m | 1182 | CONFIG_SND_SOC_WM8580=m |
1183 | CONFIG_SND_SOC_WM8711=m | ||
1184 | CONFIG_SND_SOC_WM8727=m | ||
1129 | CONFIG_SND_SOC_WM8728=m | 1185 | CONFIG_SND_SOC_WM8728=m |
1130 | CONFIG_SND_SOC_WM8731=m | 1186 | CONFIG_SND_SOC_WM8731=m |
1131 | CONFIG_SND_SOC_WM8750=m | 1187 | CONFIG_SND_SOC_WM8750=m |
@@ -1143,6 +1199,7 @@ CONFIG_SND_SOC_WM8990=m | |||
1143 | CONFIG_SND_SOC_WM8993=m | 1199 | CONFIG_SND_SOC_WM8993=m |
1144 | CONFIG_SND_SOC_WM9081=m | 1200 | CONFIG_SND_SOC_WM9081=m |
1145 | CONFIG_SND_SOC_MAX9877=m | 1201 | CONFIG_SND_SOC_MAX9877=m |
1202 | CONFIG_SND_SOC_TPA6130A2=m | ||
1146 | # CONFIG_SOUND_PRIME is not set | 1203 | # CONFIG_SOUND_PRIME is not set |
1147 | CONFIG_HID_SUPPORT=y | 1204 | CONFIG_HID_SUPPORT=y |
1148 | CONFIG_HID=y | 1205 | CONFIG_HID=y |
@@ -1316,10 +1373,12 @@ CONFIG_USB_ETH_RNDIS=y | |||
1316 | CONFIG_USB_GADGETFS=m | 1373 | CONFIG_USB_GADGETFS=m |
1317 | CONFIG_USB_FILE_STORAGE=m | 1374 | CONFIG_USB_FILE_STORAGE=m |
1318 | # CONFIG_USB_FILE_STORAGE_TEST is not set | 1375 | # CONFIG_USB_FILE_STORAGE_TEST is not set |
1376 | # CONFIG_USB_MASS_STORAGE is not set | ||
1319 | CONFIG_USB_G_SERIAL=m | 1377 | CONFIG_USB_G_SERIAL=m |
1320 | # CONFIG_USB_MIDI_GADGET is not set | 1378 | # CONFIG_USB_MIDI_GADGET is not set |
1321 | # CONFIG_USB_G_PRINTER is not set | 1379 | # CONFIG_USB_G_PRINTER is not set |
1322 | # CONFIG_USB_CDC_COMPOSITE is not set | 1380 | # CONFIG_USB_CDC_COMPOSITE is not set |
1381 | # CONFIG_USB_G_MULTI is not set | ||
1323 | 1382 | ||
1324 | # | 1383 | # |
1325 | # OTG and related infrastructure | 1384 | # OTG and related infrastructure |
@@ -1345,6 +1404,7 @@ CONFIG_MMC_BLOCK_BOUNCE=y | |||
1345 | # CONFIG_MMC_AT91 is not set | 1404 | # CONFIG_MMC_AT91 is not set |
1346 | # CONFIG_MMC_ATMELMCI is not set | 1405 | # CONFIG_MMC_ATMELMCI is not set |
1347 | CONFIG_MMC_SPI=y | 1406 | CONFIG_MMC_SPI=y |
1407 | # CONFIG_MMC_TMIO is not set | ||
1348 | # CONFIG_MEMSTICK is not set | 1408 | # CONFIG_MEMSTICK is not set |
1349 | # CONFIG_NEW_LEDS is not set | 1409 | # CONFIG_NEW_LEDS is not set |
1350 | # CONFIG_ACCESSIBILITY is not set | 1410 | # CONFIG_ACCESSIBILITY is not set |
@@ -1376,6 +1436,7 @@ CONFIG_RTC_INTF_DEV=y | |||
1376 | CONFIG_RTC_DRV_PCF8563=y | 1436 | CONFIG_RTC_DRV_PCF8563=y |
1377 | # CONFIG_RTC_DRV_PCF8583 is not set | 1437 | # CONFIG_RTC_DRV_PCF8583 is not set |
1378 | # CONFIG_RTC_DRV_M41T80 is not set | 1438 | # CONFIG_RTC_DRV_M41T80 is not set |
1439 | # CONFIG_RTC_DRV_BQ32K is not set | ||
1379 | # CONFIG_RTC_DRV_S35390A is not set | 1440 | # CONFIG_RTC_DRV_S35390A is not set |
1380 | # CONFIG_RTC_DRV_FM3130 is not set | 1441 | # CONFIG_RTC_DRV_FM3130 is not set |
1381 | # CONFIG_RTC_DRV_RX8581 is not set | 1442 | # CONFIG_RTC_DRV_RX8581 is not set |
@@ -1404,7 +1465,9 @@ CONFIG_RTC_DRV_PCF8563=y | |||
1404 | # CONFIG_RTC_DRV_M48T86 is not set | 1465 | # CONFIG_RTC_DRV_M48T86 is not set |
1405 | # CONFIG_RTC_DRV_M48T35 is not set | 1466 | # CONFIG_RTC_DRV_M48T35 is not set |
1406 | # CONFIG_RTC_DRV_M48T59 is not set | 1467 | # CONFIG_RTC_DRV_M48T59 is not set |
1468 | # CONFIG_RTC_DRV_MSM6242 is not set | ||
1407 | # CONFIG_RTC_DRV_BQ4802 is not set | 1469 | # CONFIG_RTC_DRV_BQ4802 is not set |
1470 | # CONFIG_RTC_DRV_RP5C01 is not set | ||
1408 | # CONFIG_RTC_DRV_V3020 is not set | 1471 | # CONFIG_RTC_DRV_V3020 is not set |
1409 | 1472 | ||
1410 | # | 1473 | # |
@@ -1597,7 +1660,7 @@ CONFIG_FRAME_WARN=1024 | |||
1597 | # CONFIG_DEBUG_FS is not set | 1660 | # CONFIG_DEBUG_FS is not set |
1598 | # CONFIG_HEADERS_CHECK is not set | 1661 | # CONFIG_HEADERS_CHECK is not set |
1599 | # CONFIG_DEBUG_KERNEL is not set | 1662 | # CONFIG_DEBUG_KERNEL is not set |
1600 | # CONFIG_DEBUG_BUGVERBOSE is not set | 1663 | CONFIG_DEBUG_BUGVERBOSE=y |
1601 | # CONFIG_DEBUG_MEMORY_INIT is not set | 1664 | # CONFIG_DEBUG_MEMORY_INIT is not set |
1602 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | 1665 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set |
1603 | # CONFIG_LATENCYTOP is not set | 1666 | # CONFIG_LATENCYTOP is not set |
@@ -1614,7 +1677,6 @@ CONFIG_TRACING_SUPPORT=y | |||
1614 | # CONFIG_SAMPLES is not set | 1677 | # CONFIG_SAMPLES is not set |
1615 | CONFIG_HAVE_ARCH_KGDB=y | 1678 | CONFIG_HAVE_ARCH_KGDB=y |
1616 | # CONFIG_SH_STANDARD_BIOS is not set | 1679 | # CONFIG_SH_STANDARD_BIOS is not set |
1617 | # CONFIG_EARLY_SCIF_CONSOLE is not set | ||
1618 | # CONFIG_DWARF_UNWINDER is not set | 1680 | # CONFIG_DWARF_UNWINDER is not set |
1619 | 1681 | ||
1620 | # | 1682 | # |
@@ -1623,7 +1685,11 @@ CONFIG_HAVE_ARCH_KGDB=y | |||
1623 | # CONFIG_KEYS is not set | 1685 | # CONFIG_KEYS is not set |
1624 | # CONFIG_SECURITY is not set | 1686 | # CONFIG_SECURITY is not set |
1625 | # CONFIG_SECURITYFS is not set | 1687 | # CONFIG_SECURITYFS is not set |
1626 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1688 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
1689 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
1690 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
1691 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
1692 | CONFIG_DEFAULT_SECURITY="" | ||
1627 | CONFIG_CRYPTO=y | 1693 | CONFIG_CRYPTO=y |
1628 | 1694 | ||
1629 | # | 1695 | # |
diff --git a/arch/sh/configs/se7750_defconfig b/arch/sh/configs/se7750_defconfig index 7bc926c17b79..b15a44e2ec43 100644 --- a/arch/sh/configs/se7750_defconfig +++ b/arch/sh/configs/se7750_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.31 | 3 | # Linux kernel version: 2.6.33-rc2 |
4 | # Thu Sep 24 18:58:58 2009 | 4 | # Mon Jan 4 14:39:10 2010 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_SUPERH32=y | 7 | CONFIG_SUPERH32=y |
@@ -20,6 +20,7 @@ CONFIG_GENERIC_TIME=y | |||
20 | CONFIG_GENERIC_CLOCKEVENTS=y | 20 | CONFIG_GENERIC_CLOCKEVENTS=y |
21 | # CONFIG_ARCH_SUSPEND_POSSIBLE is not set | 21 | # CONFIG_ARCH_SUSPEND_POSSIBLE is not set |
22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y | 22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y |
23 | CONFIG_SYS_SUPPORTS_HUGETLBFS=y | ||
23 | CONFIG_SYS_SUPPORTS_TMU=y | 24 | CONFIG_SYS_SUPPORTS_TMU=y |
24 | CONFIG_STACKTRACE_SUPPORT=y | 25 | CONFIG_STACKTRACE_SUPPORT=y |
25 | CONFIG_LOCKDEP_SUPPORT=y | 26 | CONFIG_LOCKDEP_SUPPORT=y |
@@ -29,6 +30,7 @@ CONFIG_HAVE_LATENCYTOP_SUPPORT=y | |||
29 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | 30 | CONFIG_ARCH_NO_VIRT_TO_BUS=y |
30 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y | 31 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y |
31 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y | 32 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y |
33 | CONFIG_DMA_NONCOHERENT=y | ||
32 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 34 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
33 | CONFIG_CONSTRUCTORS=y | 35 | CONFIG_CONSTRUCTORS=y |
34 | 36 | ||
@@ -60,6 +62,7 @@ CONFIG_BSD_PROCESS_ACCT=y | |||
60 | # | 62 | # |
61 | CONFIG_TREE_RCU=y | 63 | CONFIG_TREE_RCU=y |
62 | # CONFIG_TREE_PREEMPT_RCU is not set | 64 | # CONFIG_TREE_PREEMPT_RCU is not set |
65 | # CONFIG_TINY_RCU is not set | ||
63 | # CONFIG_RCU_TRACE is not set | 66 | # CONFIG_RCU_TRACE is not set |
64 | CONFIG_RCU_FANOUT=32 | 67 | CONFIG_RCU_FANOUT=32 |
65 | # CONFIG_RCU_FANOUT_EXACT is not set | 68 | # CONFIG_RCU_FANOUT_EXACT is not set |
@@ -95,6 +98,7 @@ CONFIG_EVENTFD=y | |||
95 | CONFIG_SHMEM=y | 98 | CONFIG_SHMEM=y |
96 | CONFIG_AIO=y | 99 | CONFIG_AIO=y |
97 | CONFIG_HAVE_PERF_EVENTS=y | 100 | CONFIG_HAVE_PERF_EVENTS=y |
101 | CONFIG_PERF_USE_VMALLOC=y | ||
98 | 102 | ||
99 | # | 103 | # |
100 | # Kernel Performance Events And Counters | 104 | # Kernel Performance Events And Counters |
@@ -113,6 +117,7 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
113 | CONFIG_HAVE_KPROBES=y | 117 | CONFIG_HAVE_KPROBES=y |
114 | CONFIG_HAVE_KRETPROBES=y | 118 | CONFIG_HAVE_KRETPROBES=y |
115 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 119 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
120 | CONFIG_HAVE_DMA_ATTRS=y | ||
116 | CONFIG_HAVE_CLK=y | 121 | CONFIG_HAVE_CLK=y |
117 | CONFIG_HAVE_DMA_API_DEBUG=y | 122 | CONFIG_HAVE_DMA_API_DEBUG=y |
118 | 123 | ||
@@ -138,14 +143,41 @@ CONFIG_LBDAF=y | |||
138 | # IO Schedulers | 143 | # IO Schedulers |
139 | # | 144 | # |
140 | CONFIG_IOSCHED_NOOP=y | 145 | CONFIG_IOSCHED_NOOP=y |
141 | CONFIG_IOSCHED_AS=y | ||
142 | CONFIG_IOSCHED_DEADLINE=y | 146 | CONFIG_IOSCHED_DEADLINE=y |
143 | CONFIG_IOSCHED_CFQ=y | 147 | CONFIG_IOSCHED_CFQ=y |
144 | CONFIG_DEFAULT_AS=y | ||
145 | # CONFIG_DEFAULT_DEADLINE is not set | 148 | # CONFIG_DEFAULT_DEADLINE is not set |
146 | # CONFIG_DEFAULT_CFQ is not set | 149 | CONFIG_DEFAULT_CFQ=y |
147 | # CONFIG_DEFAULT_NOOP is not set | 150 | # CONFIG_DEFAULT_NOOP is not set |
148 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 151 | CONFIG_DEFAULT_IOSCHED="cfq" |
152 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
153 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
154 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
155 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
156 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
157 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
158 | CONFIG_INLINE_SPIN_UNLOCK=y | ||
159 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
160 | CONFIG_INLINE_SPIN_UNLOCK_IRQ=y | ||
161 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
162 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
163 | # CONFIG_INLINE_READ_LOCK is not set | ||
164 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
165 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
166 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
167 | CONFIG_INLINE_READ_UNLOCK=y | ||
168 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
169 | CONFIG_INLINE_READ_UNLOCK_IRQ=y | ||
170 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
171 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
172 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
173 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
174 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
175 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
176 | CONFIG_INLINE_WRITE_UNLOCK=y | ||
177 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
178 | CONFIG_INLINE_WRITE_UNLOCK_IRQ=y | ||
179 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
180 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
149 | # CONFIG_FREEZER is not set | 181 | # CONFIG_FREEZER is not set |
150 | 182 | ||
151 | # | 183 | # |
@@ -221,8 +253,6 @@ CONFIG_SPLIT_PTLOCK_CPUS=4 | |||
221 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 253 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
222 | CONFIG_ZONE_DMA_FLAG=0 | 254 | CONFIG_ZONE_DMA_FLAG=0 |
223 | CONFIG_NR_QUICK=2 | 255 | CONFIG_NR_QUICK=2 |
224 | CONFIG_HAVE_MLOCK=y | ||
225 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
226 | # CONFIG_KSM is not set | 256 | # CONFIG_KSM is not set |
227 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | 257 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 |
228 | 258 | ||
@@ -307,7 +337,6 @@ CONFIG_GUSA=y | |||
307 | CONFIG_ZERO_PAGE_OFFSET=0x00001000 | 337 | CONFIG_ZERO_PAGE_OFFSET=0x00001000 |
308 | CONFIG_BOOT_LINK_OFFSET=0x00800000 | 338 | CONFIG_BOOT_LINK_OFFSET=0x00800000 |
309 | CONFIG_ENTRY_OFFSET=0x00001000 | 339 | CONFIG_ENTRY_OFFSET=0x00001000 |
310 | # CONFIG_UBC_WAKEUP is not set | ||
311 | # CONFIG_CMDLINE_OVERWRITE is not set | 340 | # CONFIG_CMDLINE_OVERWRITE is not set |
312 | # CONFIG_CMDLINE_EXTEND is not set | 341 | # CONFIG_CMDLINE_EXTEND is not set |
313 | 342 | ||
@@ -406,9 +435,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
406 | # CONFIG_AF_RXRPC is not set | 435 | # CONFIG_AF_RXRPC is not set |
407 | CONFIG_WIRELESS=y | 436 | CONFIG_WIRELESS=y |
408 | # CONFIG_CFG80211 is not set | 437 | # CONFIG_CFG80211 is not set |
409 | CONFIG_CFG80211_DEFAULT_PS_VALUE=0 | ||
410 | # CONFIG_WIRELESS_OLD_REGULATORY is not set | ||
411 | # CONFIG_WIRELESS_EXT is not set | ||
412 | # CONFIG_LIB80211 is not set | 438 | # CONFIG_LIB80211 is not set |
413 | 439 | ||
414 | # | 440 | # |
@@ -513,6 +539,10 @@ CONFIG_MTD_ROM=y | |||
513 | CONFIG_BLK_DEV=y | 539 | CONFIG_BLK_DEV=y |
514 | # CONFIG_BLK_DEV_COW_COMMON is not set | 540 | # CONFIG_BLK_DEV_COW_COMMON is not set |
515 | # CONFIG_BLK_DEV_LOOP is not set | 541 | # CONFIG_BLK_DEV_LOOP is not set |
542 | |||
543 | # | ||
544 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
545 | # | ||
516 | # CONFIG_BLK_DEV_NBD is not set | 546 | # CONFIG_BLK_DEV_NBD is not set |
517 | # CONFIG_BLK_DEV_RAM is not set | 547 | # CONFIG_BLK_DEV_RAM is not set |
518 | # CONFIG_CDROM_PKTCDVD is not set | 548 | # CONFIG_CDROM_PKTCDVD is not set |
@@ -615,11 +645,11 @@ CONFIG_STNIC=y | |||
615 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | 645 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set |
616 | # CONFIG_B44 is not set | 646 | # CONFIG_B44 is not set |
617 | # CONFIG_KS8842 is not set | 647 | # CONFIG_KS8842 is not set |
648 | # CONFIG_KS8851_MLL is not set | ||
618 | CONFIG_NETDEV_1000=y | 649 | CONFIG_NETDEV_1000=y |
619 | CONFIG_NETDEV_10000=y | 650 | CONFIG_NETDEV_10000=y |
620 | CONFIG_WLAN=y | 651 | CONFIG_WLAN=y |
621 | # CONFIG_WLAN_PRE80211 is not set | 652 | # CONFIG_HOSTAP is not set |
622 | # CONFIG_WLAN_80211 is not set | ||
623 | 653 | ||
624 | # | 654 | # |
625 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 655 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -726,6 +756,7 @@ CONFIG_SSB_POSSIBLE=y | |||
726 | # | 756 | # |
727 | # CONFIG_MFD_CORE is not set | 757 | # CONFIG_MFD_CORE is not set |
728 | # CONFIG_MFD_SM501 is not set | 758 | # CONFIG_MFD_SM501 is not set |
759 | # CONFIG_MFD_SH_MOBILE_SDHI is not set | ||
729 | # CONFIG_HTC_PASIC3 is not set | 760 | # CONFIG_HTC_PASIC3 is not set |
730 | # CONFIG_MFD_TMIO is not set | 761 | # CONFIG_MFD_TMIO is not set |
731 | # CONFIG_REGULATOR is not set | 762 | # CONFIG_REGULATOR is not set |
@@ -785,6 +816,7 @@ CONFIG_RTC_LIB=y | |||
785 | # CONFIG_EXT2_FS is not set | 816 | # CONFIG_EXT2_FS is not set |
786 | # CONFIG_EXT3_FS is not set | 817 | # CONFIG_EXT3_FS is not set |
787 | # CONFIG_EXT4_FS is not set | 818 | # CONFIG_EXT4_FS is not set |
819 | CONFIG_EXT4_USE_FOR_EXT23=y | ||
788 | # CONFIG_REISERFS_FS is not set | 820 | # CONFIG_REISERFS_FS is not set |
789 | # CONFIG_JFS_FS is not set | 821 | # CONFIG_JFS_FS is not set |
790 | # CONFIG_FS_POSIX_ACL is not set | 822 | # CONFIG_FS_POSIX_ACL is not set |
@@ -914,10 +946,11 @@ CONFIG_FRAME_WARN=1024 | |||
914 | # CONFIG_DEBUG_FS is not set | 946 | # CONFIG_DEBUG_FS is not set |
915 | # CONFIG_HEADERS_CHECK is not set | 947 | # CONFIG_HEADERS_CHECK is not set |
916 | # CONFIG_DEBUG_KERNEL is not set | 948 | # CONFIG_DEBUG_KERNEL is not set |
917 | # CONFIG_DEBUG_BUGVERBOSE is not set | 949 | CONFIG_DEBUG_BUGVERBOSE=y |
918 | # CONFIG_DEBUG_MEMORY_INIT is not set | 950 | # CONFIG_DEBUG_MEMORY_INIT is not set |
919 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | 951 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set |
920 | # CONFIG_LATENCYTOP is not set | 952 | # CONFIG_LATENCYTOP is not set |
953 | # CONFIG_SYSCTL_SYSCALL_CHECK is not set | ||
921 | CONFIG_HAVE_FUNCTION_TRACER=y | 954 | CONFIG_HAVE_FUNCTION_TRACER=y |
922 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | 955 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y |
923 | CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y | 956 | CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y |
@@ -930,7 +963,6 @@ CONFIG_TRACING_SUPPORT=y | |||
930 | # CONFIG_SAMPLES is not set | 963 | # CONFIG_SAMPLES is not set |
931 | CONFIG_HAVE_ARCH_KGDB=y | 964 | CONFIG_HAVE_ARCH_KGDB=y |
932 | # CONFIG_SH_STANDARD_BIOS is not set | 965 | # CONFIG_SH_STANDARD_BIOS is not set |
933 | # CONFIG_EARLY_SCIF_CONSOLE is not set | ||
934 | # CONFIG_DWARF_UNWINDER is not set | 966 | # CONFIG_DWARF_UNWINDER is not set |
935 | 967 | ||
936 | # | 968 | # |
@@ -939,7 +971,11 @@ CONFIG_HAVE_ARCH_KGDB=y | |||
939 | # CONFIG_KEYS is not set | 971 | # CONFIG_KEYS is not set |
940 | # CONFIG_SECURITY is not set | 972 | # CONFIG_SECURITY is not set |
941 | # CONFIG_SECURITYFS is not set | 973 | # CONFIG_SECURITYFS is not set |
942 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 974 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
975 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
976 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
977 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
978 | CONFIG_DEFAULT_SECURITY="" | ||
943 | CONFIG_CRYPTO=y | 979 | CONFIG_CRYPTO=y |
944 | 980 | ||
945 | # | 981 | # |
diff --git a/arch/sh/configs/se7751_defconfig b/arch/sh/configs/se7751_defconfig index c20ae5e35c81..d1effdeaa416 100644 --- a/arch/sh/configs/se7751_defconfig +++ b/arch/sh/configs/se7751_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.31 | 3 | # Linux kernel version: 2.6.33-rc2 |
4 | # Thu Sep 24 19:01:41 2009 | 4 | # Mon Jan 4 14:39:56 2010 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_SUPERH32=y | 7 | CONFIG_SUPERH32=y |
@@ -20,6 +20,7 @@ CONFIG_GENERIC_TIME=y | |||
20 | CONFIG_GENERIC_CLOCKEVENTS=y | 20 | CONFIG_GENERIC_CLOCKEVENTS=y |
21 | # CONFIG_ARCH_SUSPEND_POSSIBLE is not set | 21 | # CONFIG_ARCH_SUSPEND_POSSIBLE is not set |
22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y | 22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y |
23 | CONFIG_SYS_SUPPORTS_HUGETLBFS=y | ||
23 | CONFIG_SYS_SUPPORTS_TMU=y | 24 | CONFIG_SYS_SUPPORTS_TMU=y |
24 | CONFIG_STACKTRACE_SUPPORT=y | 25 | CONFIG_STACKTRACE_SUPPORT=y |
25 | CONFIG_LOCKDEP_SUPPORT=y | 26 | CONFIG_LOCKDEP_SUPPORT=y |
@@ -29,6 +30,7 @@ CONFIG_HAVE_LATENCYTOP_SUPPORT=y | |||
29 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | 30 | CONFIG_ARCH_NO_VIRT_TO_BUS=y |
30 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y | 31 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y |
31 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y | 32 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y |
33 | CONFIG_DMA_NONCOHERENT=y | ||
32 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 34 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
33 | CONFIG_CONSTRUCTORS=y | 35 | CONFIG_CONSTRUCTORS=y |
34 | 36 | ||
@@ -60,6 +62,7 @@ CONFIG_BSD_PROCESS_ACCT=y | |||
60 | # | 62 | # |
61 | CONFIG_TREE_RCU=y | 63 | CONFIG_TREE_RCU=y |
62 | # CONFIG_TREE_PREEMPT_RCU is not set | 64 | # CONFIG_TREE_PREEMPT_RCU is not set |
65 | # CONFIG_TINY_RCU is not set | ||
63 | # CONFIG_RCU_TRACE is not set | 66 | # CONFIG_RCU_TRACE is not set |
64 | CONFIG_RCU_FANOUT=32 | 67 | CONFIG_RCU_FANOUT=32 |
65 | # CONFIG_RCU_FANOUT_EXACT is not set | 68 | # CONFIG_RCU_FANOUT_EXACT is not set |
@@ -98,6 +101,7 @@ CONFIG_EVENTFD=y | |||
98 | CONFIG_SHMEM=y | 101 | CONFIG_SHMEM=y |
99 | CONFIG_AIO=y | 102 | CONFIG_AIO=y |
100 | CONFIG_HAVE_PERF_EVENTS=y | 103 | CONFIG_HAVE_PERF_EVENTS=y |
104 | CONFIG_PERF_USE_VMALLOC=y | ||
101 | 105 | ||
102 | # | 106 | # |
103 | # Kernel Performance Events And Counters | 107 | # Kernel Performance Events And Counters |
@@ -116,6 +120,7 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
116 | CONFIG_HAVE_KPROBES=y | 120 | CONFIG_HAVE_KPROBES=y |
117 | CONFIG_HAVE_KRETPROBES=y | 121 | CONFIG_HAVE_KRETPROBES=y |
118 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 122 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
123 | CONFIG_HAVE_DMA_ATTRS=y | ||
119 | CONFIG_HAVE_CLK=y | 124 | CONFIG_HAVE_CLK=y |
120 | CONFIG_HAVE_DMA_API_DEBUG=y | 125 | CONFIG_HAVE_DMA_API_DEBUG=y |
121 | 126 | ||
@@ -141,14 +146,41 @@ CONFIG_LBDAF=y | |||
141 | # IO Schedulers | 146 | # IO Schedulers |
142 | # | 147 | # |
143 | CONFIG_IOSCHED_NOOP=y | 148 | CONFIG_IOSCHED_NOOP=y |
144 | CONFIG_IOSCHED_AS=y | ||
145 | CONFIG_IOSCHED_DEADLINE=y | 149 | CONFIG_IOSCHED_DEADLINE=y |
146 | CONFIG_IOSCHED_CFQ=y | 150 | CONFIG_IOSCHED_CFQ=y |
147 | CONFIG_DEFAULT_AS=y | ||
148 | # CONFIG_DEFAULT_DEADLINE is not set | 151 | # CONFIG_DEFAULT_DEADLINE is not set |
149 | # CONFIG_DEFAULT_CFQ is not set | 152 | CONFIG_DEFAULT_CFQ=y |
150 | # CONFIG_DEFAULT_NOOP is not set | 153 | # CONFIG_DEFAULT_NOOP is not set |
151 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 154 | CONFIG_DEFAULT_IOSCHED="cfq" |
155 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
156 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
157 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
158 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
159 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
160 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
161 | CONFIG_INLINE_SPIN_UNLOCK=y | ||
162 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
163 | CONFIG_INLINE_SPIN_UNLOCK_IRQ=y | ||
164 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
165 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
166 | # CONFIG_INLINE_READ_LOCK is not set | ||
167 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
168 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
169 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
170 | CONFIG_INLINE_READ_UNLOCK=y | ||
171 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
172 | CONFIG_INLINE_READ_UNLOCK_IRQ=y | ||
173 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
174 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
175 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
176 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
177 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
178 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
179 | CONFIG_INLINE_WRITE_UNLOCK=y | ||
180 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
181 | CONFIG_INLINE_WRITE_UNLOCK_IRQ=y | ||
182 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
183 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
152 | # CONFIG_FREEZER is not set | 184 | # CONFIG_FREEZER is not set |
153 | 185 | ||
154 | # | 186 | # |
@@ -224,8 +256,6 @@ CONFIG_SPLIT_PTLOCK_CPUS=4 | |||
224 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 256 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
225 | CONFIG_ZONE_DMA_FLAG=0 | 257 | CONFIG_ZONE_DMA_FLAG=0 |
226 | CONFIG_NR_QUICK=2 | 258 | CONFIG_NR_QUICK=2 |
227 | CONFIG_HAVE_MLOCK=y | ||
228 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
229 | # CONFIG_KSM is not set | 259 | # CONFIG_KSM is not set |
230 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | 260 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 |
231 | 261 | ||
@@ -311,7 +341,6 @@ CONFIG_GUSA=y | |||
311 | CONFIG_ZERO_PAGE_OFFSET=0x00010000 | 341 | CONFIG_ZERO_PAGE_OFFSET=0x00010000 |
312 | CONFIG_BOOT_LINK_OFFSET=0x00800000 | 342 | CONFIG_BOOT_LINK_OFFSET=0x00800000 |
313 | CONFIG_ENTRY_OFFSET=0x00001000 | 343 | CONFIG_ENTRY_OFFSET=0x00001000 |
314 | # CONFIG_UBC_WAKEUP is not set | ||
315 | CONFIG_CMDLINE_OVERWRITE=y | 344 | CONFIG_CMDLINE_OVERWRITE=y |
316 | # CONFIG_CMDLINE_EXTEND is not set | 345 | # CONFIG_CMDLINE_EXTEND is not set |
317 | CONFIG_CMDLINE="console=ttySC1,38400" | 346 | CONFIG_CMDLINE="console=ttySC1,38400" |
@@ -430,9 +459,6 @@ CONFIG_IP_NF_QUEUE=y | |||
430 | # CONFIG_AF_RXRPC is not set | 459 | # CONFIG_AF_RXRPC is not set |
431 | CONFIG_WIRELESS=y | 460 | CONFIG_WIRELESS=y |
432 | # CONFIG_CFG80211 is not set | 461 | # CONFIG_CFG80211 is not set |
433 | CONFIG_CFG80211_DEFAULT_PS_VALUE=0 | ||
434 | # CONFIG_WIRELESS_OLD_REGULATORY is not set | ||
435 | # CONFIG_WIRELESS_EXT is not set | ||
436 | # CONFIG_LIB80211 is not set | 462 | # CONFIG_LIB80211 is not set |
437 | 463 | ||
438 | # | 464 | # |
@@ -537,6 +563,10 @@ CONFIG_MTD_RAM=y | |||
537 | CONFIG_BLK_DEV=y | 563 | CONFIG_BLK_DEV=y |
538 | # CONFIG_BLK_DEV_COW_COMMON is not set | 564 | # CONFIG_BLK_DEV_COW_COMMON is not set |
539 | # CONFIG_BLK_DEV_LOOP is not set | 565 | # CONFIG_BLK_DEV_LOOP is not set |
566 | |||
567 | # | ||
568 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
569 | # | ||
540 | # CONFIG_BLK_DEV_NBD is not set | 570 | # CONFIG_BLK_DEV_NBD is not set |
541 | CONFIG_BLK_DEV_RAM=y | 571 | CONFIG_BLK_DEV_RAM=y |
542 | CONFIG_BLK_DEV_RAM_COUNT=16 | 572 | CONFIG_BLK_DEV_RAM_COUNT=16 |
@@ -591,11 +621,11 @@ CONFIG_MII=y | |||
591 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | 621 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set |
592 | # CONFIG_B44 is not set | 622 | # CONFIG_B44 is not set |
593 | # CONFIG_KS8842 is not set | 623 | # CONFIG_KS8842 is not set |
624 | # CONFIG_KS8851_MLL is not set | ||
594 | CONFIG_NETDEV_1000=y | 625 | CONFIG_NETDEV_1000=y |
595 | CONFIG_NETDEV_10000=y | 626 | CONFIG_NETDEV_10000=y |
596 | CONFIG_WLAN=y | 627 | CONFIG_WLAN=y |
597 | # CONFIG_WLAN_PRE80211 is not set | 628 | # CONFIG_HOSTAP is not set |
598 | # CONFIG_WLAN_80211 is not set | ||
599 | 629 | ||
600 | # | 630 | # |
601 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 631 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -693,6 +723,7 @@ CONFIG_SSB_POSSIBLE=y | |||
693 | # | 723 | # |
694 | # CONFIG_MFD_CORE is not set | 724 | # CONFIG_MFD_CORE is not set |
695 | # CONFIG_MFD_SM501 is not set | 725 | # CONFIG_MFD_SM501 is not set |
726 | # CONFIG_MFD_SH_MOBILE_SDHI is not set | ||
696 | # CONFIG_HTC_PASIC3 is not set | 727 | # CONFIG_HTC_PASIC3 is not set |
697 | # CONFIG_MFD_TMIO is not set | 728 | # CONFIG_MFD_TMIO is not set |
698 | # CONFIG_REGULATOR is not set | 729 | # CONFIG_REGULATOR is not set |
@@ -754,6 +785,7 @@ CONFIG_EXT2_FS=y | |||
754 | # CONFIG_EXT2_FS_XIP is not set | 785 | # CONFIG_EXT2_FS_XIP is not set |
755 | # CONFIG_EXT3_FS is not set | 786 | # CONFIG_EXT3_FS is not set |
756 | # CONFIG_EXT4_FS is not set | 787 | # CONFIG_EXT4_FS is not set |
788 | CONFIG_EXT4_USE_FOR_EXT23=y | ||
757 | # CONFIG_REISERFS_FS is not set | 789 | # CONFIG_REISERFS_FS is not set |
758 | # CONFIG_JFS_FS is not set | 790 | # CONFIG_JFS_FS is not set |
759 | # CONFIG_FS_POSIX_ACL is not set | 791 | # CONFIG_FS_POSIX_ACL is not set |
@@ -863,10 +895,11 @@ CONFIG_FRAME_WARN=1024 | |||
863 | # CONFIG_DEBUG_FS is not set | 895 | # CONFIG_DEBUG_FS is not set |
864 | # CONFIG_HEADERS_CHECK is not set | 896 | # CONFIG_HEADERS_CHECK is not set |
865 | # CONFIG_DEBUG_KERNEL is not set | 897 | # CONFIG_DEBUG_KERNEL is not set |
866 | # CONFIG_DEBUG_BUGVERBOSE is not set | 898 | CONFIG_DEBUG_BUGVERBOSE=y |
867 | # CONFIG_DEBUG_MEMORY_INIT is not set | 899 | # CONFIG_DEBUG_MEMORY_INIT is not set |
868 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | 900 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set |
869 | # CONFIG_LATENCYTOP is not set | 901 | # CONFIG_LATENCYTOP is not set |
902 | # CONFIG_SYSCTL_SYSCALL_CHECK is not set | ||
870 | CONFIG_HAVE_FUNCTION_TRACER=y | 903 | CONFIG_HAVE_FUNCTION_TRACER=y |
871 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | 904 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y |
872 | CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y | 905 | CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y |
@@ -879,7 +912,6 @@ CONFIG_TRACING_SUPPORT=y | |||
879 | # CONFIG_SAMPLES is not set | 912 | # CONFIG_SAMPLES is not set |
880 | CONFIG_HAVE_ARCH_KGDB=y | 913 | CONFIG_HAVE_ARCH_KGDB=y |
881 | # CONFIG_SH_STANDARD_BIOS is not set | 914 | # CONFIG_SH_STANDARD_BIOS is not set |
882 | # CONFIG_EARLY_SCIF_CONSOLE is not set | ||
883 | # CONFIG_DWARF_UNWINDER is not set | 915 | # CONFIG_DWARF_UNWINDER is not set |
884 | 916 | ||
885 | # | 917 | # |
@@ -888,7 +920,11 @@ CONFIG_HAVE_ARCH_KGDB=y | |||
888 | # CONFIG_KEYS is not set | 920 | # CONFIG_KEYS is not set |
889 | # CONFIG_SECURITY is not set | 921 | # CONFIG_SECURITY is not set |
890 | # CONFIG_SECURITYFS is not set | 922 | # CONFIG_SECURITYFS is not set |
891 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 923 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
924 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
925 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
926 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
927 | CONFIG_DEFAULT_SECURITY="" | ||
892 | CONFIG_CRYPTO=y | 928 | CONFIG_CRYPTO=y |
893 | 929 | ||
894 | # | 930 | # |
diff --git a/arch/sh/configs/se7780_defconfig b/arch/sh/configs/se7780_defconfig index 82baeef40a96..58533d50f06e 100644 --- a/arch/sh/configs/se7780_defconfig +++ b/arch/sh/configs/se7780_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.31 | 3 | # Linux kernel version: 2.6.33-rc2 |
4 | # Thu Sep 24 19:03:59 2009 | 4 | # Mon Jan 4 14:40:32 2010 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_SUPERH32=y | 7 | CONFIG_SUPERH32=y |
@@ -20,6 +20,7 @@ CONFIG_GENERIC_TIME=y | |||
20 | CONFIG_GENERIC_CLOCKEVENTS=y | 20 | CONFIG_GENERIC_CLOCKEVENTS=y |
21 | # CONFIG_ARCH_SUSPEND_POSSIBLE is not set | 21 | # CONFIG_ARCH_SUSPEND_POSSIBLE is not set |
22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y | 22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y |
23 | CONFIG_SYS_SUPPORTS_HUGETLBFS=y | ||
23 | CONFIG_SYS_SUPPORTS_PCI=y | 24 | CONFIG_SYS_SUPPORTS_PCI=y |
24 | CONFIG_SYS_SUPPORTS_TMU=y | 25 | CONFIG_SYS_SUPPORTS_TMU=y |
25 | CONFIG_STACKTRACE_SUPPORT=y | 26 | CONFIG_STACKTRACE_SUPPORT=y |
@@ -30,6 +31,7 @@ CONFIG_HAVE_LATENCYTOP_SUPPORT=y | |||
30 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | 31 | CONFIG_ARCH_NO_VIRT_TO_BUS=y |
31 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y | 32 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y |
32 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y | 33 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y |
34 | CONFIG_DMA_NONCOHERENT=y | ||
33 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 35 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
34 | CONFIG_CONSTRUCTORS=y | 36 | CONFIG_CONSTRUCTORS=y |
35 | 37 | ||
@@ -59,6 +61,7 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
59 | # | 61 | # |
60 | CONFIG_TREE_RCU=y | 62 | CONFIG_TREE_RCU=y |
61 | # CONFIG_TREE_PREEMPT_RCU is not set | 63 | # CONFIG_TREE_PREEMPT_RCU is not set |
64 | # CONFIG_TINY_RCU is not set | ||
62 | # CONFIG_RCU_TRACE is not set | 65 | # CONFIG_RCU_TRACE is not set |
63 | CONFIG_RCU_FANOUT=32 | 66 | CONFIG_RCU_FANOUT=32 |
64 | # CONFIG_RCU_FANOUT_EXACT is not set | 67 | # CONFIG_RCU_FANOUT_EXACT is not set |
@@ -92,6 +95,7 @@ CONFIG_EVENTFD=y | |||
92 | CONFIG_SHMEM=y | 95 | CONFIG_SHMEM=y |
93 | CONFIG_AIO=y | 96 | CONFIG_AIO=y |
94 | CONFIG_HAVE_PERF_EVENTS=y | 97 | CONFIG_HAVE_PERF_EVENTS=y |
98 | CONFIG_PERF_USE_VMALLOC=y | ||
95 | 99 | ||
96 | # | 100 | # |
97 | # Kernel Performance Events And Counters | 101 | # Kernel Performance Events And Counters |
@@ -110,6 +114,7 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
110 | CONFIG_HAVE_KPROBES=y | 114 | CONFIG_HAVE_KPROBES=y |
111 | CONFIG_HAVE_KRETPROBES=y | 115 | CONFIG_HAVE_KRETPROBES=y |
112 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 116 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
117 | CONFIG_HAVE_DMA_ATTRS=y | ||
113 | CONFIG_HAVE_CLK=y | 118 | CONFIG_HAVE_CLK=y |
114 | CONFIG_HAVE_DMA_API_DEBUG=y | 119 | CONFIG_HAVE_DMA_API_DEBUG=y |
115 | 120 | ||
@@ -136,14 +141,41 @@ CONFIG_BLK_DEV_BSG=y | |||
136 | # IO Schedulers | 141 | # IO Schedulers |
137 | # | 142 | # |
138 | CONFIG_IOSCHED_NOOP=y | 143 | CONFIG_IOSCHED_NOOP=y |
139 | # CONFIG_IOSCHED_AS is not set | ||
140 | CONFIG_IOSCHED_DEADLINE=y | 144 | CONFIG_IOSCHED_DEADLINE=y |
141 | # CONFIG_IOSCHED_CFQ is not set | 145 | # CONFIG_IOSCHED_CFQ is not set |
142 | # CONFIG_DEFAULT_AS is not set | ||
143 | CONFIG_DEFAULT_DEADLINE=y | 146 | CONFIG_DEFAULT_DEADLINE=y |
144 | # CONFIG_DEFAULT_CFQ is not set | 147 | # CONFIG_DEFAULT_CFQ is not set |
145 | # CONFIG_DEFAULT_NOOP is not set | 148 | # CONFIG_DEFAULT_NOOP is not set |
146 | CONFIG_DEFAULT_IOSCHED="deadline" | 149 | CONFIG_DEFAULT_IOSCHED="deadline" |
150 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
151 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
152 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
153 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
154 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
155 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
156 | CONFIG_INLINE_SPIN_UNLOCK=y | ||
157 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
158 | CONFIG_INLINE_SPIN_UNLOCK_IRQ=y | ||
159 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
160 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
161 | # CONFIG_INLINE_READ_LOCK is not set | ||
162 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
163 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
164 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
165 | CONFIG_INLINE_READ_UNLOCK=y | ||
166 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
167 | CONFIG_INLINE_READ_UNLOCK_IRQ=y | ||
168 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
169 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
170 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
171 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
172 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
173 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
174 | CONFIG_INLINE_WRITE_UNLOCK=y | ||
175 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
176 | CONFIG_INLINE_WRITE_UNLOCK_IRQ=y | ||
177 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
178 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
147 | # CONFIG_FREEZER is not set | 179 | # CONFIG_FREEZER is not set |
148 | 180 | ||
149 | # | 181 | # |
@@ -222,8 +254,6 @@ CONFIG_MIGRATION=y | |||
222 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 254 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
223 | CONFIG_ZONE_DMA_FLAG=0 | 255 | CONFIG_ZONE_DMA_FLAG=0 |
224 | CONFIG_NR_QUICK=2 | 256 | CONFIG_NR_QUICK=2 |
225 | CONFIG_HAVE_MLOCK=y | ||
226 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
227 | # CONFIG_KSM is not set | 257 | # CONFIG_KSM is not set |
228 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | 258 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 |
229 | 259 | ||
@@ -313,7 +343,6 @@ CONFIG_CMDLINE="console=ttySC0,115200 root=/dev/sda1" | |||
313 | # Bus options | 343 | # Bus options |
314 | # | 344 | # |
315 | CONFIG_PCI=y | 345 | CONFIG_PCI=y |
316 | CONFIG_SH_PCIDMA_NONCOHERENT=y | ||
317 | # CONFIG_PCIEPORTBUS is not set | 346 | # CONFIG_PCIEPORTBUS is not set |
318 | # CONFIG_ARCH_SUPPORTS_MSI is not set | 347 | # CONFIG_ARCH_SUPPORTS_MSI is not set |
319 | CONFIG_PCI_LEGACY=y | 348 | CONFIG_PCI_LEGACY=y |
@@ -401,9 +430,6 @@ CONFIG_IPV6=y | |||
401 | # CONFIG_BT is not set | 430 | # CONFIG_BT is not set |
402 | CONFIG_WIRELESS=y | 431 | CONFIG_WIRELESS=y |
403 | # CONFIG_CFG80211 is not set | 432 | # CONFIG_CFG80211 is not set |
404 | CONFIG_CFG80211_DEFAULT_PS_VALUE=0 | ||
405 | # CONFIG_WIRELESS_OLD_REGULATORY is not set | ||
406 | # CONFIG_WIRELESS_EXT is not set | ||
407 | # CONFIG_LIB80211 is not set | 433 | # CONFIG_LIB80211 is not set |
408 | 434 | ||
409 | # | 435 | # |
@@ -517,6 +543,10 @@ CONFIG_BLK_DEV=y | |||
517 | # CONFIG_BLK_DEV_COW_COMMON is not set | 543 | # CONFIG_BLK_DEV_COW_COMMON is not set |
518 | CONFIG_BLK_DEV_LOOP=y | 544 | CONFIG_BLK_DEV_LOOP=y |
519 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | 545 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set |
546 | |||
547 | # | ||
548 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
549 | # | ||
520 | # CONFIG_BLK_DEV_NBD is not set | 550 | # CONFIG_BLK_DEV_NBD is not set |
521 | # CONFIG_BLK_DEV_SX8 is not set | 551 | # CONFIG_BLK_DEV_SX8 is not set |
522 | # CONFIG_BLK_DEV_UB is not set | 552 | # CONFIG_BLK_DEV_UB is not set |
@@ -574,8 +604,11 @@ CONFIG_SCSI_WAIT_SCAN=m | |||
574 | CONFIG_SCSI_LOWLEVEL=y | 604 | CONFIG_SCSI_LOWLEVEL=y |
575 | # CONFIG_ISCSI_TCP is not set | 605 | # CONFIG_ISCSI_TCP is not set |
576 | # CONFIG_SCSI_BNX2_ISCSI is not set | 606 | # CONFIG_SCSI_BNX2_ISCSI is not set |
607 | # CONFIG_BE2ISCSI is not set | ||
577 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set | 608 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set |
609 | # CONFIG_SCSI_HPSA is not set | ||
578 | # CONFIG_SCSI_3W_9XXX is not set | 610 | # CONFIG_SCSI_3W_9XXX is not set |
611 | # CONFIG_SCSI_3W_SAS is not set | ||
579 | # CONFIG_SCSI_ACARD is not set | 612 | # CONFIG_SCSI_ACARD is not set |
580 | # CONFIG_SCSI_AACRAID is not set | 613 | # CONFIG_SCSI_AACRAID is not set |
581 | # CONFIG_SCSI_AIC7XXX is not set | 614 | # CONFIG_SCSI_AIC7XXX is not set |
@@ -608,7 +641,9 @@ CONFIG_SCSI_LOWLEVEL=y | |||
608 | # CONFIG_SCSI_NSP32 is not set | 641 | # CONFIG_SCSI_NSP32 is not set |
609 | # CONFIG_SCSI_DEBUG is not set | 642 | # CONFIG_SCSI_DEBUG is not set |
610 | # CONFIG_SCSI_PMCRAID is not set | 643 | # CONFIG_SCSI_PMCRAID is not set |
644 | # CONFIG_SCSI_PM8001 is not set | ||
611 | # CONFIG_SCSI_SRP is not set | 645 | # CONFIG_SCSI_SRP is not set |
646 | # CONFIG_SCSI_BFA_FC is not set | ||
612 | # CONFIG_SCSI_DH is not set | 647 | # CONFIG_SCSI_DH is not set |
613 | # CONFIG_SCSI_OSD_INITIATOR is not set | 648 | # CONFIG_SCSI_OSD_INITIATOR is not set |
614 | CONFIG_ATA=y | 649 | CONFIG_ATA=y |
@@ -642,6 +677,8 @@ CONFIG_SATA_SIL=y | |||
642 | # CONFIG_PATA_EFAR is not set | 677 | # CONFIG_PATA_EFAR is not set |
643 | # CONFIG_ATA_GENERIC is not set | 678 | # CONFIG_ATA_GENERIC is not set |
644 | # CONFIG_PATA_HPT366 is not set | 679 | # CONFIG_PATA_HPT366 is not set |
680 | # CONFIG_PATA_HPT37X is not set | ||
681 | # CONFIG_PATA_HPT3X2N is not set | ||
645 | # CONFIG_PATA_HPT3X3 is not set | 682 | # CONFIG_PATA_HPT3X3 is not set |
646 | # CONFIG_PATA_IT821X is not set | 683 | # CONFIG_PATA_IT821X is not set |
647 | # CONFIG_PATA_JMICRON is not set | 684 | # CONFIG_PATA_JMICRON is not set |
@@ -650,14 +687,15 @@ CONFIG_SATA_SIL=y | |||
650 | # CONFIG_PATA_MPIIX is not set | 687 | # CONFIG_PATA_MPIIX is not set |
651 | # CONFIG_PATA_OLDPIIX is not set | 688 | # CONFIG_PATA_OLDPIIX is not set |
652 | # CONFIG_PATA_NETCELL is not set | 689 | # CONFIG_PATA_NETCELL is not set |
690 | # CONFIG_PATA_NINJA32 is not set | ||
653 | # CONFIG_PATA_NS87410 is not set | 691 | # CONFIG_PATA_NS87410 is not set |
654 | # CONFIG_PATA_NS87415 is not set | 692 | # CONFIG_PATA_NS87415 is not set |
693 | # CONFIG_PATA_PDC2027X is not set | ||
655 | # CONFIG_PATA_PDC_OLD is not set | 694 | # CONFIG_PATA_PDC_OLD is not set |
656 | # CONFIG_PATA_RDC is not set | 695 | # CONFIG_PATA_RDC is not set |
657 | # CONFIG_PATA_RZ1000 is not set | 696 | # CONFIG_PATA_RZ1000 is not set |
658 | # CONFIG_PATA_SC1200 is not set | 697 | # CONFIG_PATA_SC1200 is not set |
659 | # CONFIG_PATA_SERVERWORKS is not set | 698 | # CONFIG_PATA_SERVERWORKS is not set |
660 | # CONFIG_PATA_PDC2027X is not set | ||
661 | # CONFIG_PATA_SIL680 is not set | 699 | # CONFIG_PATA_SIL680 is not set |
662 | # CONFIG_PATA_SIS is not set | 700 | # CONFIG_PATA_SIS is not set |
663 | # CONFIG_PATA_VIA is not set | 701 | # CONFIG_PATA_VIA is not set |
@@ -748,14 +786,16 @@ CONFIG_NET_PCI=y | |||
748 | # CONFIG_SUNDANCE is not set | 786 | # CONFIG_SUNDANCE is not set |
749 | # CONFIG_TLAN is not set | 787 | # CONFIG_TLAN is not set |
750 | # CONFIG_KS8842 is not set | 788 | # CONFIG_KS8842 is not set |
789 | # CONFIG_KS8851_MLL is not set | ||
751 | # CONFIG_VIA_RHINE is not set | 790 | # CONFIG_VIA_RHINE is not set |
752 | # CONFIG_ATL2 is not set | 791 | # CONFIG_ATL2 is not set |
753 | # CONFIG_NETDEV_1000 is not set | 792 | # CONFIG_NETDEV_1000 is not set |
754 | # CONFIG_NETDEV_10000 is not set | 793 | # CONFIG_NETDEV_10000 is not set |
755 | # CONFIG_TR is not set | 794 | # CONFIG_TR is not set |
756 | CONFIG_WLAN=y | 795 | CONFIG_WLAN=y |
757 | # CONFIG_WLAN_PRE80211 is not set | 796 | # CONFIG_ATMEL is not set |
758 | # CONFIG_WLAN_80211 is not set | 797 | # CONFIG_USB_ZD1201 is not set |
798 | # CONFIG_HOSTAP is not set | ||
759 | 799 | ||
760 | # | 800 | # |
761 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 801 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -774,6 +814,7 @@ CONFIG_WLAN=y | |||
774 | # CONFIG_NET_FC is not set | 814 | # CONFIG_NET_FC is not set |
775 | # CONFIG_NETPOLL is not set | 815 | # CONFIG_NETPOLL is not set |
776 | # CONFIG_NET_POLL_CONTROLLER is not set | 816 | # CONFIG_NET_POLL_CONTROLLER is not set |
817 | # CONFIG_VMXNET3 is not set | ||
777 | # CONFIG_ISDN is not set | 818 | # CONFIG_ISDN is not set |
778 | # CONFIG_PHONE is not set | 819 | # CONFIG_PHONE is not set |
779 | 820 | ||
@@ -783,6 +824,7 @@ CONFIG_WLAN=y | |||
783 | CONFIG_INPUT=y | 824 | CONFIG_INPUT=y |
784 | CONFIG_INPUT_FF_MEMLESS=m | 825 | CONFIG_INPUT_FF_MEMLESS=m |
785 | # CONFIG_INPUT_POLLDEV is not set | 826 | # CONFIG_INPUT_POLLDEV is not set |
827 | # CONFIG_INPUT_SPARSEKMAP is not set | ||
786 | 828 | ||
787 | # | 829 | # |
788 | # Userland interfaces | 830 | # Userland interfaces |
@@ -883,6 +925,7 @@ CONFIG_SSB_POSSIBLE=y | |||
883 | # | 925 | # |
884 | # CONFIG_MFD_CORE is not set | 926 | # CONFIG_MFD_CORE is not set |
885 | # CONFIG_MFD_SM501 is not set | 927 | # CONFIG_MFD_SM501 is not set |
928 | # CONFIG_MFD_SH_MOBILE_SDHI is not set | ||
886 | # CONFIG_HTC_PASIC3 is not set | 929 | # CONFIG_HTC_PASIC3 is not set |
887 | # CONFIG_MFD_TMIO is not set | 930 | # CONFIG_MFD_TMIO is not set |
888 | # CONFIG_REGULATOR is not set | 931 | # CONFIG_REGULATOR is not set |
@@ -1149,6 +1192,7 @@ CONFIG_EXT2_FS=y | |||
1149 | # CONFIG_EXT2_FS_XIP is not set | 1192 | # CONFIG_EXT2_FS_XIP is not set |
1150 | # CONFIG_EXT3_FS is not set | 1193 | # CONFIG_EXT3_FS is not set |
1151 | # CONFIG_EXT4_FS is not set | 1194 | # CONFIG_EXT4_FS is not set |
1195 | CONFIG_EXT4_USE_FOR_EXT23=y | ||
1152 | # CONFIG_REISERFS_FS is not set | 1196 | # CONFIG_REISERFS_FS is not set |
1153 | # CONFIG_JFS_FS is not set | 1197 | # CONFIG_JFS_FS is not set |
1154 | # CONFIG_FS_POSIX_ACL is not set | 1198 | # CONFIG_FS_POSIX_ACL is not set |
@@ -1285,7 +1329,7 @@ CONFIG_FRAME_WARN=1024 | |||
1285 | CONFIG_DEBUG_FS=y | 1329 | CONFIG_DEBUG_FS=y |
1286 | # CONFIG_HEADERS_CHECK is not set | 1330 | # CONFIG_HEADERS_CHECK is not set |
1287 | # CONFIG_DEBUG_KERNEL is not set | 1331 | # CONFIG_DEBUG_KERNEL is not set |
1288 | # CONFIG_DEBUG_BUGVERBOSE is not set | 1332 | CONFIG_DEBUG_BUGVERBOSE=y |
1289 | # CONFIG_DEBUG_MEMORY_INIT is not set | 1333 | # CONFIG_DEBUG_MEMORY_INIT is not set |
1290 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | 1334 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set |
1291 | # CONFIG_LATENCYTOP is not set | 1335 | # CONFIG_LATENCYTOP is not set |
@@ -1303,7 +1347,6 @@ CONFIG_TRACING_SUPPORT=y | |||
1303 | # CONFIG_SAMPLES is not set | 1347 | # CONFIG_SAMPLES is not set |
1304 | CONFIG_HAVE_ARCH_KGDB=y | 1348 | CONFIG_HAVE_ARCH_KGDB=y |
1305 | # CONFIG_SH_STANDARD_BIOS is not set | 1349 | # CONFIG_SH_STANDARD_BIOS is not set |
1306 | # CONFIG_EARLY_SCIF_CONSOLE is not set | ||
1307 | # CONFIG_DWARF_UNWINDER is not set | 1350 | # CONFIG_DWARF_UNWINDER is not set |
1308 | 1351 | ||
1309 | # | 1352 | # |
@@ -1312,7 +1355,11 @@ CONFIG_HAVE_ARCH_KGDB=y | |||
1312 | # CONFIG_KEYS is not set | 1355 | # CONFIG_KEYS is not set |
1313 | # CONFIG_SECURITY is not set | 1356 | # CONFIG_SECURITY is not set |
1314 | # CONFIG_SECURITYFS is not set | 1357 | # CONFIG_SECURITYFS is not set |
1315 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1358 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
1359 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
1360 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
1361 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
1362 | CONFIG_DEFAULT_SECURITY="" | ||
1316 | CONFIG_CRYPTO=y | 1363 | CONFIG_CRYPTO=y |
1317 | 1364 | ||
1318 | # | 1365 | # |
diff --git a/arch/sh/configs/sh03_defconfig b/arch/sh/configs/sh03_defconfig index dd0e8900afb7..666fde110b27 100644 --- a/arch/sh/configs/sh03_defconfig +++ b/arch/sh/configs/sh03_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.31 | 3 | # Linux kernel version: 2.6.33-rc2 |
4 | # Thu Sep 24 19:07:14 2009 | 4 | # Mon Jan 4 14:41:25 2010 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_SUPERH32=y | 7 | CONFIG_SUPERH32=y |
@@ -21,6 +21,7 @@ CONFIG_GENERIC_CLOCKEVENTS=y | |||
21 | CONFIG_GENERIC_CMOS_UPDATE=y | 21 | CONFIG_GENERIC_CMOS_UPDATE=y |
22 | # CONFIG_ARCH_SUSPEND_POSSIBLE is not set | 22 | # CONFIG_ARCH_SUSPEND_POSSIBLE is not set |
23 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y | 23 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y |
24 | CONFIG_SYS_SUPPORTS_HUGETLBFS=y | ||
24 | CONFIG_SYS_SUPPORTS_PCI=y | 25 | CONFIG_SYS_SUPPORTS_PCI=y |
25 | CONFIG_SYS_SUPPORTS_TMU=y | 26 | CONFIG_SYS_SUPPORTS_TMU=y |
26 | CONFIG_STACKTRACE_SUPPORT=y | 27 | CONFIG_STACKTRACE_SUPPORT=y |
@@ -31,6 +32,7 @@ CONFIG_HAVE_LATENCYTOP_SUPPORT=y | |||
31 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | 32 | CONFIG_ARCH_NO_VIRT_TO_BUS=y |
32 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y | 33 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y |
33 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y | 34 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y |
35 | CONFIG_DMA_NONCOHERENT=y | ||
34 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 36 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
35 | CONFIG_CONSTRUCTORS=y | 37 | CONFIG_CONSTRUCTORS=y |
36 | 38 | ||
@@ -64,6 +66,7 @@ CONFIG_BSD_PROCESS_ACCT=y | |||
64 | # | 66 | # |
65 | CONFIG_TREE_RCU=y | 67 | CONFIG_TREE_RCU=y |
66 | # CONFIG_TREE_PREEMPT_RCU is not set | 68 | # CONFIG_TREE_PREEMPT_RCU is not set |
69 | # CONFIG_TINY_RCU is not set | ||
67 | # CONFIG_RCU_TRACE is not set | 70 | # CONFIG_RCU_TRACE is not set |
68 | CONFIG_RCU_FANOUT=32 | 71 | CONFIG_RCU_FANOUT=32 |
69 | # CONFIG_RCU_FANOUT_EXACT is not set | 72 | # CONFIG_RCU_FANOUT_EXACT is not set |
@@ -102,6 +105,7 @@ CONFIG_EVENTFD=y | |||
102 | CONFIG_SHMEM=y | 105 | CONFIG_SHMEM=y |
103 | CONFIG_AIO=y | 106 | CONFIG_AIO=y |
104 | CONFIG_HAVE_PERF_EVENTS=y | 107 | CONFIG_HAVE_PERF_EVENTS=y |
108 | CONFIG_PERF_USE_VMALLOC=y | ||
105 | 109 | ||
106 | # | 110 | # |
107 | # Kernel Performance Events And Counters | 111 | # Kernel Performance Events And Counters |
@@ -124,6 +128,7 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
124 | CONFIG_HAVE_KPROBES=y | 128 | CONFIG_HAVE_KPROBES=y |
125 | CONFIG_HAVE_KRETPROBES=y | 129 | CONFIG_HAVE_KRETPROBES=y |
126 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 130 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
131 | CONFIG_HAVE_DMA_ATTRS=y | ||
127 | CONFIG_HAVE_CLK=y | 132 | CONFIG_HAVE_CLK=y |
128 | CONFIG_HAVE_DMA_API_DEBUG=y | 133 | CONFIG_HAVE_DMA_API_DEBUG=y |
129 | 134 | ||
@@ -151,14 +156,41 @@ CONFIG_LBDAF=y | |||
151 | # IO Schedulers | 156 | # IO Schedulers |
152 | # | 157 | # |
153 | CONFIG_IOSCHED_NOOP=y | 158 | CONFIG_IOSCHED_NOOP=y |
154 | CONFIG_IOSCHED_AS=y | ||
155 | CONFIG_IOSCHED_DEADLINE=y | 159 | CONFIG_IOSCHED_DEADLINE=y |
156 | CONFIG_IOSCHED_CFQ=y | 160 | CONFIG_IOSCHED_CFQ=y |
157 | CONFIG_DEFAULT_AS=y | ||
158 | # CONFIG_DEFAULT_DEADLINE is not set | 161 | # CONFIG_DEFAULT_DEADLINE is not set |
159 | # CONFIG_DEFAULT_CFQ is not set | 162 | CONFIG_DEFAULT_CFQ=y |
160 | # CONFIG_DEFAULT_NOOP is not set | 163 | # CONFIG_DEFAULT_NOOP is not set |
161 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 164 | CONFIG_DEFAULT_IOSCHED="cfq" |
165 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
166 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
167 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
168 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
169 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
170 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
171 | # CONFIG_INLINE_SPIN_UNLOCK is not set | ||
172 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
173 | # CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set | ||
174 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
175 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
176 | # CONFIG_INLINE_READ_LOCK is not set | ||
177 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
178 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
179 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
180 | # CONFIG_INLINE_READ_UNLOCK is not set | ||
181 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
182 | # CONFIG_INLINE_READ_UNLOCK_IRQ is not set | ||
183 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
184 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
185 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
186 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
187 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
188 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
189 | # CONFIG_INLINE_WRITE_UNLOCK is not set | ||
190 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
191 | # CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set | ||
192 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
193 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
162 | # CONFIG_FREEZER is not set | 194 | # CONFIG_FREEZER is not set |
163 | 195 | ||
164 | # | 196 | # |
@@ -234,8 +266,6 @@ CONFIG_SPLIT_PTLOCK_CPUS=4 | |||
234 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 266 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
235 | CONFIG_ZONE_DMA_FLAG=0 | 267 | CONFIG_ZONE_DMA_FLAG=0 |
236 | CONFIG_NR_QUICK=2 | 268 | CONFIG_NR_QUICK=2 |
237 | CONFIG_HAVE_MLOCK=y | ||
238 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
239 | # CONFIG_KSM is not set | 269 | # CONFIG_KSM is not set |
240 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | 270 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 |
241 | 271 | ||
@@ -320,7 +350,6 @@ CONFIG_GUSA=y | |||
320 | CONFIG_ZERO_PAGE_OFFSET=0x00004000 | 350 | CONFIG_ZERO_PAGE_OFFSET=0x00004000 |
321 | CONFIG_BOOT_LINK_OFFSET=0x00800000 | 351 | CONFIG_BOOT_LINK_OFFSET=0x00800000 |
322 | CONFIG_ENTRY_OFFSET=0x00001000 | 352 | CONFIG_ENTRY_OFFSET=0x00001000 |
323 | # CONFIG_UBC_WAKEUP is not set | ||
324 | CONFIG_CMDLINE_OVERWRITE=y | 353 | CONFIG_CMDLINE_OVERWRITE=y |
325 | # CONFIG_CMDLINE_EXTEND is not set | 354 | # CONFIG_CMDLINE_EXTEND is not set |
326 | CONFIG_CMDLINE="console=ttySC1,115200 mem=64M root=/dev/nfs" | 355 | CONFIG_CMDLINE="console=ttySC1,115200 mem=64M root=/dev/nfs" |
@@ -329,7 +358,6 @@ CONFIG_CMDLINE="console=ttySC1,115200 mem=64M root=/dev/nfs" | |||
329 | # Bus options | 358 | # Bus options |
330 | # | 359 | # |
331 | CONFIG_PCI=y | 360 | CONFIG_PCI=y |
332 | CONFIG_SH_PCIDMA_NONCOHERENT=y | ||
333 | # CONFIG_PCIEPORTBUS is not set | 361 | # CONFIG_PCIEPORTBUS is not set |
334 | # CONFIG_ARCH_SUPPORTS_MSI is not set | 362 | # CONFIG_ARCH_SUPPORTS_MSI is not set |
335 | CONFIG_PCI_LEGACY=y | 363 | CONFIG_PCI_LEGACY=y |
@@ -433,9 +461,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
433 | # CONFIG_AF_RXRPC is not set | 461 | # CONFIG_AF_RXRPC is not set |
434 | CONFIG_WIRELESS=y | 462 | CONFIG_WIRELESS=y |
435 | # CONFIG_CFG80211 is not set | 463 | # CONFIG_CFG80211 is not set |
436 | CONFIG_CFG80211_DEFAULT_PS_VALUE=0 | ||
437 | # CONFIG_WIRELESS_OLD_REGULATORY is not set | ||
438 | # CONFIG_WIRELESS_EXT is not set | ||
439 | # CONFIG_LIB80211 is not set | 464 | # CONFIG_LIB80211 is not set |
440 | 465 | ||
441 | # | 466 | # |
@@ -468,6 +493,10 @@ CONFIG_BLK_DEV=y | |||
468 | # CONFIG_BLK_DEV_COW_COMMON is not set | 493 | # CONFIG_BLK_DEV_COW_COMMON is not set |
469 | CONFIG_BLK_DEV_LOOP=y | 494 | CONFIG_BLK_DEV_LOOP=y |
470 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | 495 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set |
496 | |||
497 | # | ||
498 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
499 | # | ||
471 | CONFIG_BLK_DEV_NBD=y | 500 | CONFIG_BLK_DEV_NBD=y |
472 | # CONFIG_BLK_DEV_SX8 is not set | 501 | # CONFIG_BLK_DEV_SX8 is not set |
473 | CONFIG_BLK_DEV_RAM=y | 502 | CONFIG_BLK_DEV_RAM=y |
@@ -580,8 +609,11 @@ CONFIG_SCSI_LOWLEVEL=y | |||
580 | # CONFIG_ISCSI_TCP is not set | 609 | # CONFIG_ISCSI_TCP is not set |
581 | # CONFIG_SCSI_CXGB3_ISCSI is not set | 610 | # CONFIG_SCSI_CXGB3_ISCSI is not set |
582 | # CONFIG_SCSI_BNX2_ISCSI is not set | 611 | # CONFIG_SCSI_BNX2_ISCSI is not set |
612 | # CONFIG_BE2ISCSI is not set | ||
583 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set | 613 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set |
614 | # CONFIG_SCSI_HPSA is not set | ||
584 | # CONFIG_SCSI_3W_9XXX is not set | 615 | # CONFIG_SCSI_3W_9XXX is not set |
616 | # CONFIG_SCSI_3W_SAS is not set | ||
585 | # CONFIG_SCSI_ACARD is not set | 617 | # CONFIG_SCSI_ACARD is not set |
586 | # CONFIG_SCSI_AACRAID is not set | 618 | # CONFIG_SCSI_AACRAID is not set |
587 | # CONFIG_SCSI_AIC7XXX is not set | 619 | # CONFIG_SCSI_AIC7XXX is not set |
@@ -614,7 +646,9 @@ CONFIG_SCSI_LOWLEVEL=y | |||
614 | # CONFIG_SCSI_NSP32 is not set | 646 | # CONFIG_SCSI_NSP32 is not set |
615 | # CONFIG_SCSI_DEBUG is not set | 647 | # CONFIG_SCSI_DEBUG is not set |
616 | # CONFIG_SCSI_PMCRAID is not set | 648 | # CONFIG_SCSI_PMCRAID is not set |
649 | # CONFIG_SCSI_PM8001 is not set | ||
617 | # CONFIG_SCSI_SRP is not set | 650 | # CONFIG_SCSI_SRP is not set |
651 | # CONFIG_SCSI_BFA_FC is not set | ||
618 | # CONFIG_SCSI_DH is not set | 652 | # CONFIG_SCSI_DH is not set |
619 | # CONFIG_SCSI_OSD_INITIATOR is not set | 653 | # CONFIG_SCSI_OSD_INITIATOR is not set |
620 | # CONFIG_ATA is not set | 654 | # CONFIG_ATA is not set |
@@ -685,6 +719,7 @@ CONFIG_8139CP=y | |||
685 | # CONFIG_SUNDANCE is not set | 719 | # CONFIG_SUNDANCE is not set |
686 | # CONFIG_TLAN is not set | 720 | # CONFIG_TLAN is not set |
687 | # CONFIG_KS8842 is not set | 721 | # CONFIG_KS8842 is not set |
722 | # CONFIG_KS8851_MLL is not set | ||
688 | # CONFIG_VIA_RHINE is not set | 723 | # CONFIG_VIA_RHINE is not set |
689 | # CONFIG_SC92031 is not set | 724 | # CONFIG_SC92031 is not set |
690 | # CONFIG_ATL2 is not set | 725 | # CONFIG_ATL2 is not set |
@@ -733,8 +768,9 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
733 | # CONFIG_BE2NET is not set | 768 | # CONFIG_BE2NET is not set |
734 | # CONFIG_TR is not set | 769 | # CONFIG_TR is not set |
735 | CONFIG_WLAN=y | 770 | CONFIG_WLAN=y |
736 | # CONFIG_WLAN_PRE80211 is not set | 771 | # CONFIG_ATMEL is not set |
737 | # CONFIG_WLAN_80211 is not set | 772 | # CONFIG_PRISM54 is not set |
773 | # CONFIG_HOSTAP is not set | ||
738 | 774 | ||
739 | # | 775 | # |
740 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 776 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -748,6 +784,7 @@ CONFIG_WLAN=y | |||
748 | # CONFIG_NETCONSOLE is not set | 784 | # CONFIG_NETCONSOLE is not set |
749 | # CONFIG_NETPOLL is not set | 785 | # CONFIG_NETPOLL is not set |
750 | # CONFIG_NET_POLL_CONTROLLER is not set | 786 | # CONFIG_NET_POLL_CONTROLLER is not set |
787 | # CONFIG_VMXNET3 is not set | ||
751 | # CONFIG_ISDN is not set | 788 | # CONFIG_ISDN is not set |
752 | # CONFIG_PHONE is not set | 789 | # CONFIG_PHONE is not set |
753 | 790 | ||
@@ -757,6 +794,7 @@ CONFIG_WLAN=y | |||
757 | CONFIG_INPUT=y | 794 | CONFIG_INPUT=y |
758 | # CONFIG_INPUT_FF_MEMLESS is not set | 795 | # CONFIG_INPUT_FF_MEMLESS is not set |
759 | # CONFIG_INPUT_POLLDEV is not set | 796 | # CONFIG_INPUT_POLLDEV is not set |
797 | # CONFIG_INPUT_SPARSEKMAP is not set | ||
760 | 798 | ||
761 | # | 799 | # |
762 | # Userland interfaces | 800 | # Userland interfaces |
@@ -886,6 +924,7 @@ CONFIG_SSB_POSSIBLE=y | |||
886 | # | 924 | # |
887 | # CONFIG_MFD_CORE is not set | 925 | # CONFIG_MFD_CORE is not set |
888 | # CONFIG_MFD_SM501 is not set | 926 | # CONFIG_MFD_SM501 is not set |
927 | # CONFIG_MFD_SH_MOBILE_SDHI is not set | ||
889 | # CONFIG_HTC_PASIC3 is not set | 928 | # CONFIG_HTC_PASIC3 is not set |
890 | # CONFIG_MFD_TMIO is not set | 929 | # CONFIG_MFD_TMIO is not set |
891 | # CONFIG_REGULATOR is not set | 930 | # CONFIG_REGULATOR is not set |
@@ -1149,10 +1188,11 @@ CONFIG_DEBUG_FS=y | |||
1149 | # CONFIG_HEADERS_CHECK is not set | 1188 | # CONFIG_HEADERS_CHECK is not set |
1150 | # CONFIG_DEBUG_KERNEL is not set | 1189 | # CONFIG_DEBUG_KERNEL is not set |
1151 | CONFIG_STACKTRACE=y | 1190 | CONFIG_STACKTRACE=y |
1152 | # CONFIG_DEBUG_BUGVERBOSE is not set | 1191 | CONFIG_DEBUG_BUGVERBOSE=y |
1153 | # CONFIG_DEBUG_MEMORY_INIT is not set | 1192 | # CONFIG_DEBUG_MEMORY_INIT is not set |
1154 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | 1193 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set |
1155 | # CONFIG_LATENCYTOP is not set | 1194 | # CONFIG_LATENCYTOP is not set |
1195 | # CONFIG_SYSCTL_SYSCALL_CHECK is not set | ||
1156 | CONFIG_NOP_TRACER=y | 1196 | CONFIG_NOP_TRACER=y |
1157 | CONFIG_HAVE_FUNCTION_TRACER=y | 1197 | CONFIG_HAVE_FUNCTION_TRACER=y |
1158 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | 1198 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y |
@@ -1172,8 +1212,6 @@ CONFIG_TRACING_SUPPORT=y | |||
1172 | # CONFIG_SAMPLES is not set | 1212 | # CONFIG_SAMPLES is not set |
1173 | CONFIG_HAVE_ARCH_KGDB=y | 1213 | CONFIG_HAVE_ARCH_KGDB=y |
1174 | CONFIG_SH_STANDARD_BIOS=y | 1214 | CONFIG_SH_STANDARD_BIOS=y |
1175 | # CONFIG_EARLY_SCIF_CONSOLE is not set | ||
1176 | # CONFIG_EARLY_PRINTK is not set | ||
1177 | # CONFIG_DWARF_UNWINDER is not set | 1215 | # CONFIG_DWARF_UNWINDER is not set |
1178 | 1216 | ||
1179 | # | 1217 | # |
@@ -1182,7 +1220,11 @@ CONFIG_SH_STANDARD_BIOS=y | |||
1182 | # CONFIG_KEYS is not set | 1220 | # CONFIG_KEYS is not set |
1183 | # CONFIG_SECURITY is not set | 1221 | # CONFIG_SECURITY is not set |
1184 | # CONFIG_SECURITYFS is not set | 1222 | # CONFIG_SECURITYFS is not set |
1185 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1223 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
1224 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
1225 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
1226 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
1227 | CONFIG_DEFAULT_SECURITY="" | ||
1186 | CONFIG_CRYPTO=y | 1228 | CONFIG_CRYPTO=y |
1187 | 1229 | ||
1188 | # | 1230 | # |
diff --git a/arch/sh/configs/sh7710voipgw_defconfig b/arch/sh/configs/sh7710voipgw_defconfig index 662156ec9211..35a3beeba182 100644 --- a/arch/sh/configs/sh7710voipgw_defconfig +++ b/arch/sh/configs/sh7710voipgw_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.31 | 3 | # Linux kernel version: 2.6.33-rc2 |
4 | # Thu Sep 24 19:11:49 2009 | 4 | # Mon Jan 4 14:43:04 2010 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_SUPERH32=y | 7 | CONFIG_SUPERH32=y |
@@ -29,6 +29,7 @@ CONFIG_HAVE_LATENCYTOP_SUPPORT=y | |||
29 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | 29 | CONFIG_ARCH_NO_VIRT_TO_BUS=y |
30 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y | 30 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y |
31 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y | 31 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y |
32 | CONFIG_DMA_NONCOHERENT=y | ||
32 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 33 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
33 | CONFIG_CONSTRUCTORS=y | 34 | CONFIG_CONSTRUCTORS=y |
34 | 35 | ||
@@ -60,6 +61,7 @@ CONFIG_POSIX_MQUEUE_SYSCTL=y | |||
60 | # | 61 | # |
61 | CONFIG_TREE_RCU=y | 62 | CONFIG_TREE_RCU=y |
62 | # CONFIG_TREE_PREEMPT_RCU is not set | 63 | # CONFIG_TREE_PREEMPT_RCU is not set |
64 | # CONFIG_TINY_RCU is not set | ||
63 | # CONFIG_RCU_TRACE is not set | 65 | # CONFIG_RCU_TRACE is not set |
64 | CONFIG_RCU_FANOUT=32 | 66 | CONFIG_RCU_FANOUT=32 |
65 | # CONFIG_RCU_FANOUT_EXACT is not set | 67 | # CONFIG_RCU_FANOUT_EXACT is not set |
@@ -98,6 +100,7 @@ CONFIG_EVENTFD=y | |||
98 | # CONFIG_SHMEM is not set | 100 | # CONFIG_SHMEM is not set |
99 | CONFIG_AIO=y | 101 | CONFIG_AIO=y |
100 | CONFIG_HAVE_PERF_EVENTS=y | 102 | CONFIG_HAVE_PERF_EVENTS=y |
103 | CONFIG_PERF_USE_VMALLOC=y | ||
101 | 104 | ||
102 | # | 105 | # |
103 | # Kernel Performance Events And Counters | 106 | # Kernel Performance Events And Counters |
@@ -116,6 +119,7 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
116 | CONFIG_HAVE_KPROBES=y | 119 | CONFIG_HAVE_KPROBES=y |
117 | CONFIG_HAVE_KRETPROBES=y | 120 | CONFIG_HAVE_KRETPROBES=y |
118 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 121 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
122 | CONFIG_HAVE_DMA_ATTRS=y | ||
119 | CONFIG_HAVE_CLK=y | 123 | CONFIG_HAVE_CLK=y |
120 | CONFIG_HAVE_DMA_API_DEBUG=y | 124 | CONFIG_HAVE_DMA_API_DEBUG=y |
121 | 125 | ||
@@ -142,14 +146,41 @@ CONFIG_LBDAF=y | |||
142 | # IO Schedulers | 146 | # IO Schedulers |
143 | # | 147 | # |
144 | CONFIG_IOSCHED_NOOP=y | 148 | CONFIG_IOSCHED_NOOP=y |
145 | # CONFIG_IOSCHED_AS is not set | ||
146 | CONFIG_IOSCHED_DEADLINE=y | 149 | CONFIG_IOSCHED_DEADLINE=y |
147 | # CONFIG_IOSCHED_CFQ is not set | 150 | # CONFIG_IOSCHED_CFQ is not set |
148 | # CONFIG_DEFAULT_AS is not set | ||
149 | CONFIG_DEFAULT_DEADLINE=y | 151 | CONFIG_DEFAULT_DEADLINE=y |
150 | # CONFIG_DEFAULT_CFQ is not set | 152 | # CONFIG_DEFAULT_CFQ is not set |
151 | # CONFIG_DEFAULT_NOOP is not set | 153 | # CONFIG_DEFAULT_NOOP is not set |
152 | CONFIG_DEFAULT_IOSCHED="deadline" | 154 | CONFIG_DEFAULT_IOSCHED="deadline" |
155 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
156 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
157 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
158 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
159 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
160 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
161 | CONFIG_INLINE_SPIN_UNLOCK=y | ||
162 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
163 | CONFIG_INLINE_SPIN_UNLOCK_IRQ=y | ||
164 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
165 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
166 | # CONFIG_INLINE_READ_LOCK is not set | ||
167 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
168 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
169 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
170 | CONFIG_INLINE_READ_UNLOCK=y | ||
171 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
172 | CONFIG_INLINE_READ_UNLOCK_IRQ=y | ||
173 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
174 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
175 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
176 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
177 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
178 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
179 | CONFIG_INLINE_WRITE_UNLOCK=y | ||
180 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
181 | CONFIG_INLINE_WRITE_UNLOCK_IRQ=y | ||
182 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
183 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
153 | # CONFIG_FREEZER is not set | 184 | # CONFIG_FREEZER is not set |
154 | 185 | ||
155 | # | 186 | # |
@@ -225,8 +256,6 @@ CONFIG_SPLIT_PTLOCK_CPUS=4 | |||
225 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 256 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
226 | CONFIG_ZONE_DMA_FLAG=0 | 257 | CONFIG_ZONE_DMA_FLAG=0 |
227 | CONFIG_NR_QUICK=2 | 258 | CONFIG_NR_QUICK=2 |
228 | CONFIG_HAVE_MLOCK=y | ||
229 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
230 | # CONFIG_KSM is not set | 259 | # CONFIG_KSM is not set |
231 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | 260 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 |
232 | 261 | ||
@@ -460,9 +489,6 @@ CONFIG_NET_SCH_FIFO=y | |||
460 | # CONFIG_AF_RXRPC is not set | 489 | # CONFIG_AF_RXRPC is not set |
461 | CONFIG_WIRELESS=y | 490 | CONFIG_WIRELESS=y |
462 | # CONFIG_CFG80211 is not set | 491 | # CONFIG_CFG80211 is not set |
463 | CONFIG_CFG80211_DEFAULT_PS_VALUE=0 | ||
464 | # CONFIG_WIRELESS_OLD_REGULATORY is not set | ||
465 | # CONFIG_WIRELESS_EXT is not set | ||
466 | # CONFIG_LIB80211 is not set | 492 | # CONFIG_LIB80211 is not set |
467 | 493 | ||
468 | # | 494 | # |
@@ -571,6 +597,10 @@ CONFIG_MTD_RAM=y | |||
571 | CONFIG_BLK_DEV=y | 597 | CONFIG_BLK_DEV=y |
572 | # CONFIG_BLK_DEV_COW_COMMON is not set | 598 | # CONFIG_BLK_DEV_COW_COMMON is not set |
573 | # CONFIG_BLK_DEV_LOOP is not set | 599 | # CONFIG_BLK_DEV_LOOP is not set |
600 | |||
601 | # | ||
602 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
603 | # | ||
574 | # CONFIG_BLK_DEV_NBD is not set | 604 | # CONFIG_BLK_DEV_NBD is not set |
575 | # CONFIG_BLK_DEV_RAM is not set | 605 | # CONFIG_BLK_DEV_RAM is not set |
576 | # CONFIG_CDROM_PKTCDVD is not set | 606 | # CONFIG_CDROM_PKTCDVD is not set |
@@ -623,11 +653,11 @@ CONFIG_NET_ETHERNET=y | |||
623 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | 653 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set |
624 | # CONFIG_B44 is not set | 654 | # CONFIG_B44 is not set |
625 | # CONFIG_KS8842 is not set | 655 | # CONFIG_KS8842 is not set |
656 | # CONFIG_KS8851_MLL is not set | ||
626 | CONFIG_NETDEV_1000=y | 657 | CONFIG_NETDEV_1000=y |
627 | CONFIG_NETDEV_10000=y | 658 | CONFIG_NETDEV_10000=y |
628 | CONFIG_WLAN=y | 659 | CONFIG_WLAN=y |
629 | # CONFIG_WLAN_PRE80211 is not set | 660 | # CONFIG_HOSTAP is not set |
630 | # CONFIG_WLAN_80211 is not set | ||
631 | 661 | ||
632 | # | 662 | # |
633 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 663 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -647,6 +677,7 @@ CONFIG_PHONE=y | |||
647 | CONFIG_INPUT=y | 677 | CONFIG_INPUT=y |
648 | # CONFIG_INPUT_FF_MEMLESS is not set | 678 | # CONFIG_INPUT_FF_MEMLESS is not set |
649 | # CONFIG_INPUT_POLLDEV is not set | 679 | # CONFIG_INPUT_POLLDEV is not set |
680 | # CONFIG_INPUT_SPARSEKMAP is not set | ||
650 | 681 | ||
651 | # | 682 | # |
652 | # Userland interfaces | 683 | # Userland interfaces |
@@ -725,6 +756,7 @@ CONFIG_SSB_POSSIBLE=y | |||
725 | # | 756 | # |
726 | # CONFIG_MFD_CORE is not set | 757 | # CONFIG_MFD_CORE is not set |
727 | # CONFIG_MFD_SM501 is not set | 758 | # CONFIG_MFD_SM501 is not set |
759 | # CONFIG_MFD_SH_MOBILE_SDHI is not set | ||
728 | # CONFIG_HTC_PASIC3 is not set | 760 | # CONFIG_HTC_PASIC3 is not set |
729 | # CONFIG_MFD_TMIO is not set | 761 | # CONFIG_MFD_TMIO is not set |
730 | # CONFIG_REGULATOR is not set | 762 | # CONFIG_REGULATOR is not set |
@@ -792,6 +824,7 @@ CONFIG_RTC_LIB=y | |||
792 | # CONFIG_EXT2_FS is not set | 824 | # CONFIG_EXT2_FS is not set |
793 | # CONFIG_EXT3_FS is not set | 825 | # CONFIG_EXT3_FS is not set |
794 | # CONFIG_EXT4_FS is not set | 826 | # CONFIG_EXT4_FS is not set |
827 | CONFIG_EXT4_USE_FOR_EXT23=y | ||
795 | # CONFIG_REISERFS_FS is not set | 828 | # CONFIG_REISERFS_FS is not set |
796 | # CONFIG_JFS_FS is not set | 829 | # CONFIG_JFS_FS is not set |
797 | # CONFIG_FS_POSIX_ACL is not set | 830 | # CONFIG_FS_POSIX_ACL is not set |
@@ -836,7 +869,6 @@ CONFIG_PROC_FS=y | |||
836 | CONFIG_PROC_SYSCTL=y | 869 | CONFIG_PROC_SYSCTL=y |
837 | CONFIG_PROC_PAGE_MONITOR=y | 870 | CONFIG_PROC_PAGE_MONITOR=y |
838 | CONFIG_SYSFS=y | 871 | CONFIG_SYSFS=y |
839 | # CONFIG_HUGETLBFS is not set | ||
840 | # CONFIG_HUGETLB_PAGE is not set | 872 | # CONFIG_HUGETLB_PAGE is not set |
841 | # CONFIG_CONFIGFS_FS is not set | 873 | # CONFIG_CONFIGFS_FS is not set |
842 | CONFIG_MISC_FILESYSTEMS=y | 874 | CONFIG_MISC_FILESYSTEMS=y |
@@ -899,10 +931,11 @@ CONFIG_FRAME_WARN=1024 | |||
899 | CONFIG_DEBUG_FS=y | 931 | CONFIG_DEBUG_FS=y |
900 | # CONFIG_HEADERS_CHECK is not set | 932 | # CONFIG_HEADERS_CHECK is not set |
901 | # CONFIG_DEBUG_KERNEL is not set | 933 | # CONFIG_DEBUG_KERNEL is not set |
902 | # CONFIG_DEBUG_BUGVERBOSE is not set | 934 | CONFIG_DEBUG_BUGVERBOSE=y |
903 | # CONFIG_DEBUG_MEMORY_INIT is not set | 935 | # CONFIG_DEBUG_MEMORY_INIT is not set |
904 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | 936 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set |
905 | # CONFIG_LATENCYTOP is not set | 937 | # CONFIG_LATENCYTOP is not set |
938 | # CONFIG_SYSCTL_SYSCALL_CHECK is not set | ||
906 | CONFIG_HAVE_FUNCTION_TRACER=y | 939 | CONFIG_HAVE_FUNCTION_TRACER=y |
907 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | 940 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y |
908 | CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y | 941 | CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y |
@@ -916,7 +949,6 @@ CONFIG_TRACING_SUPPORT=y | |||
916 | # CONFIG_SAMPLES is not set | 949 | # CONFIG_SAMPLES is not set |
917 | CONFIG_HAVE_ARCH_KGDB=y | 950 | CONFIG_HAVE_ARCH_KGDB=y |
918 | # CONFIG_SH_STANDARD_BIOS is not set | 951 | # CONFIG_SH_STANDARD_BIOS is not set |
919 | # CONFIG_EARLY_SCIF_CONSOLE is not set | ||
920 | # CONFIG_DWARF_UNWINDER is not set | 952 | # CONFIG_DWARF_UNWINDER is not set |
921 | 953 | ||
922 | # | 954 | # |
@@ -925,7 +957,11 @@ CONFIG_HAVE_ARCH_KGDB=y | |||
925 | # CONFIG_KEYS is not set | 957 | # CONFIG_KEYS is not set |
926 | # CONFIG_SECURITY is not set | 958 | # CONFIG_SECURITY is not set |
927 | # CONFIG_SECURITYFS is not set | 959 | # CONFIG_SECURITYFS is not set |
928 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 960 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
961 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
962 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
963 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
964 | CONFIG_DEFAULT_SECURITY="" | ||
929 | CONFIG_CRYPTO=y | 965 | CONFIG_CRYPTO=y |
930 | 966 | ||
931 | # | 967 | # |
diff --git a/arch/sh/configs/sh7724_generic_defconfig b/arch/sh/configs/sh7724_generic_defconfig index e06719a30ba1..a3056b69d2ba 100644 --- a/arch/sh/configs/sh7724_generic_defconfig +++ b/arch/sh/configs/sh7724_generic_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.31 | 3 | # Linux kernel version: 2.6.33-rc2 |
4 | # Thu Sep 24 19:14:00 2009 | 4 | # Mon Jan 4 15:03:45 2010 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_SUPERH32=y | 7 | CONFIG_SUPERH32=y |
@@ -20,6 +20,7 @@ CONFIG_GENERIC_TIME=y | |||
20 | CONFIG_GENERIC_CLOCKEVENTS=y | 20 | CONFIG_GENERIC_CLOCKEVENTS=y |
21 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 21 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y | 22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y |
23 | CONFIG_SYS_SUPPORTS_HUGETLBFS=y | ||
23 | CONFIG_SYS_SUPPORTS_CMT=y | 24 | CONFIG_SYS_SUPPORTS_CMT=y |
24 | CONFIG_SYS_SUPPORTS_TMU=y | 25 | CONFIG_SYS_SUPPORTS_TMU=y |
25 | CONFIG_STACKTRACE_SUPPORT=y | 26 | CONFIG_STACKTRACE_SUPPORT=y |
@@ -30,6 +31,7 @@ CONFIG_HAVE_LATENCYTOP_SUPPORT=y | |||
30 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | 31 | CONFIG_ARCH_NO_VIRT_TO_BUS=y |
31 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y | 32 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y |
32 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y | 33 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y |
34 | CONFIG_DMA_NONCOHERENT=y | ||
33 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 35 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
34 | CONFIG_CONSTRUCTORS=y | 36 | CONFIG_CONSTRUCTORS=y |
35 | 37 | ||
@@ -49,7 +51,6 @@ CONFIG_KERNEL_GZIP=y | |||
49 | # CONFIG_KERNEL_LZMA is not set | 51 | # CONFIG_KERNEL_LZMA is not set |
50 | CONFIG_SWAP=y | 52 | CONFIG_SWAP=y |
51 | CONFIG_SYSVIPC=y | 53 | CONFIG_SYSVIPC=y |
52 | CONFIG_SYSVIPC_SYSCTL=y | ||
53 | # CONFIG_BSD_PROCESS_ACCT is not set | 54 | # CONFIG_BSD_PROCESS_ACCT is not set |
54 | 55 | ||
55 | # | 56 | # |
@@ -57,6 +58,7 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
57 | # | 58 | # |
58 | CONFIG_TREE_RCU=y | 59 | CONFIG_TREE_RCU=y |
59 | # CONFIG_TREE_PREEMPT_RCU is not set | 60 | # CONFIG_TREE_PREEMPT_RCU is not set |
61 | # CONFIG_TINY_RCU is not set | ||
60 | # CONFIG_RCU_TRACE is not set | 62 | # CONFIG_RCU_TRACE is not set |
61 | CONFIG_RCU_FANOUT=32 | 63 | CONFIG_RCU_FANOUT=32 |
62 | # CONFIG_RCU_FANOUT_EXACT is not set | 64 | # CONFIG_RCU_FANOUT_EXACT is not set |
@@ -80,11 +82,9 @@ CONFIG_CGROUPS=y | |||
80 | # CONFIG_NAMESPACES is not set | 82 | # CONFIG_NAMESPACES is not set |
81 | # CONFIG_BLK_DEV_INITRD is not set | 83 | # CONFIG_BLK_DEV_INITRD is not set |
82 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 84 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
83 | CONFIG_SYSCTL=y | ||
84 | CONFIG_ANON_INODES=y | 85 | CONFIG_ANON_INODES=y |
85 | CONFIG_EMBEDDED=y | 86 | CONFIG_EMBEDDED=y |
86 | # CONFIG_UID16 is not set | 87 | # CONFIG_UID16 is not set |
87 | CONFIG_SYSCTL_SYSCALL=y | ||
88 | CONFIG_KALLSYMS=y | 88 | CONFIG_KALLSYMS=y |
89 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 89 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
90 | CONFIG_HOTPLUG=y | 90 | CONFIG_HOTPLUG=y |
@@ -100,6 +100,7 @@ CONFIG_EVENTFD=y | |||
100 | CONFIG_SHMEM=y | 100 | CONFIG_SHMEM=y |
101 | CONFIG_AIO=y | 101 | CONFIG_AIO=y |
102 | CONFIG_HAVE_PERF_EVENTS=y | 102 | CONFIG_HAVE_PERF_EVENTS=y |
103 | CONFIG_PERF_USE_VMALLOC=y | ||
103 | 104 | ||
104 | # | 105 | # |
105 | # Kernel Performance Events And Counters | 106 | # Kernel Performance Events And Counters |
@@ -120,6 +121,7 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
120 | CONFIG_HAVE_KPROBES=y | 121 | CONFIG_HAVE_KPROBES=y |
121 | CONFIG_HAVE_KRETPROBES=y | 122 | CONFIG_HAVE_KRETPROBES=y |
122 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 123 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
124 | CONFIG_HAVE_DMA_ATTRS=y | ||
123 | CONFIG_HAVE_CLK=y | 125 | CONFIG_HAVE_CLK=y |
124 | CONFIG_HAVE_DMA_API_DEBUG=y | 126 | CONFIG_HAVE_DMA_API_DEBUG=y |
125 | 127 | ||
@@ -136,19 +138,48 @@ CONFIG_BLOCK=y | |||
136 | CONFIG_LBDAF=y | 138 | CONFIG_LBDAF=y |
137 | # CONFIG_BLK_DEV_BSG is not set | 139 | # CONFIG_BLK_DEV_BSG is not set |
138 | # CONFIG_BLK_DEV_INTEGRITY is not set | 140 | # CONFIG_BLK_DEV_INTEGRITY is not set |
141 | # CONFIG_BLK_CGROUP is not set | ||
139 | 142 | ||
140 | # | 143 | # |
141 | # IO Schedulers | 144 | # IO Schedulers |
142 | # | 145 | # |
143 | CONFIG_IOSCHED_NOOP=y | 146 | CONFIG_IOSCHED_NOOP=y |
144 | CONFIG_IOSCHED_AS=y | ||
145 | CONFIG_IOSCHED_DEADLINE=y | 147 | CONFIG_IOSCHED_DEADLINE=y |
146 | CONFIG_IOSCHED_CFQ=y | 148 | CONFIG_IOSCHED_CFQ=y |
147 | CONFIG_DEFAULT_AS=y | 149 | # CONFIG_CFQ_GROUP_IOSCHED is not set |
148 | # CONFIG_DEFAULT_DEADLINE is not set | 150 | # CONFIG_DEFAULT_DEADLINE is not set |
149 | # CONFIG_DEFAULT_CFQ is not set | 151 | CONFIG_DEFAULT_CFQ=y |
150 | # CONFIG_DEFAULT_NOOP is not set | 152 | # CONFIG_DEFAULT_NOOP is not set |
151 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 153 | CONFIG_DEFAULT_IOSCHED="cfq" |
154 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
155 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
156 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
157 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
158 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
159 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
160 | CONFIG_INLINE_SPIN_UNLOCK=y | ||
161 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
162 | CONFIG_INLINE_SPIN_UNLOCK_IRQ=y | ||
163 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
164 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
165 | # CONFIG_INLINE_READ_LOCK is not set | ||
166 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
167 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
168 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
169 | CONFIG_INLINE_READ_UNLOCK=y | ||
170 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
171 | CONFIG_INLINE_READ_UNLOCK_IRQ=y | ||
172 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
173 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
174 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
175 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
176 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
177 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
178 | CONFIG_INLINE_WRITE_UNLOCK=y | ||
179 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
180 | CONFIG_INLINE_WRITE_UNLOCK_IRQ=y | ||
181 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
182 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
152 | CONFIG_FREEZER=y | 183 | CONFIG_FREEZER=y |
153 | 184 | ||
154 | # | 185 | # |
@@ -204,6 +235,7 @@ CONFIG_FORCE_MAX_ZONEORDER=11 | |||
204 | CONFIG_MEMORY_START=0x08000000 | 235 | CONFIG_MEMORY_START=0x08000000 |
205 | CONFIG_MEMORY_SIZE=0x04000000 | 236 | CONFIG_MEMORY_SIZE=0x04000000 |
206 | CONFIG_29BIT=y | 237 | CONFIG_29BIT=y |
238 | # CONFIG_PMB_ENABLE is not set | ||
207 | # CONFIG_X2TLB is not set | 239 | # CONFIG_X2TLB is not set |
208 | CONFIG_VSYSCALL=y | 240 | CONFIG_VSYSCALL=y |
209 | CONFIG_ARCH_FLATMEM_ENABLE=y | 241 | CONFIG_ARCH_FLATMEM_ENABLE=y |
@@ -225,17 +257,12 @@ CONFIG_SPARSEMEM_MANUAL=y | |||
225 | CONFIG_SPARSEMEM=y | 257 | CONFIG_SPARSEMEM=y |
226 | CONFIG_HAVE_MEMORY_PRESENT=y | 258 | CONFIG_HAVE_MEMORY_PRESENT=y |
227 | CONFIG_SPARSEMEM_STATIC=y | 259 | CONFIG_SPARSEMEM_STATIC=y |
228 | 260 | # CONFIG_MEMORY_HOTPLUG is not set | |
229 | # | ||
230 | # Memory hotplug is currently incompatible with Software Suspend | ||
231 | # | ||
232 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 261 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
233 | CONFIG_MIGRATION=y | 262 | CONFIG_MIGRATION=y |
234 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 263 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
235 | CONFIG_ZONE_DMA_FLAG=0 | 264 | CONFIG_ZONE_DMA_FLAG=0 |
236 | CONFIG_NR_QUICK=2 | 265 | CONFIG_NR_QUICK=2 |
237 | CONFIG_HAVE_MLOCK=y | ||
238 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
239 | # CONFIG_KSM is not set | 266 | # CONFIG_KSM is not set |
240 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | 267 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 |
241 | 268 | ||
@@ -269,7 +296,6 @@ CONFIG_CPU_HAS_FPU=y | |||
269 | # | 296 | # |
270 | CONFIG_SH_TIMER_TMU=y | 297 | CONFIG_SH_TIMER_TMU=y |
271 | CONFIG_SH_TIMER_CMT=y | 298 | CONFIG_SH_TIMER_CMT=y |
272 | CONFIG_SH_PCLK_FREQ=41666666 | ||
273 | CONFIG_SH_CLK_CPG=y | 299 | CONFIG_SH_CLK_CPG=y |
274 | CONFIG_TICK_ONESHOT=y | 300 | CONFIG_TICK_ONESHOT=y |
275 | CONFIG_NO_HZ=y | 301 | CONFIG_NO_HZ=y |
@@ -388,6 +414,10 @@ CONFIG_EXTRA_FIRMWARE="" | |||
388 | CONFIG_BLK_DEV=y | 414 | CONFIG_BLK_DEV=y |
389 | # CONFIG_BLK_DEV_COW_COMMON is not set | 415 | # CONFIG_BLK_DEV_COW_COMMON is not set |
390 | # CONFIG_BLK_DEV_LOOP is not set | 416 | # CONFIG_BLK_DEV_LOOP is not set |
417 | |||
418 | # | ||
419 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
420 | # | ||
391 | # CONFIG_BLK_DEV_RAM is not set | 421 | # CONFIG_BLK_DEV_RAM is not set |
392 | # CONFIG_CDROM_PKTCDVD is not set | 422 | # CONFIG_CDROM_PKTCDVD is not set |
393 | # CONFIG_BLK_DEV_HD is not set | 423 | # CONFIG_BLK_DEV_HD is not set |
@@ -476,7 +506,6 @@ CONFIG_I2C_SH_MOBILE=y | |||
476 | # | 506 | # |
477 | # Miscellaneous I2C Chip support | 507 | # Miscellaneous I2C Chip support |
478 | # | 508 | # |
479 | # CONFIG_DS1682 is not set | ||
480 | # CONFIG_SENSORS_TSL2550 is not set | 509 | # CONFIG_SENSORS_TSL2550 is not set |
481 | # CONFIG_I2C_DEBUG_CORE is not set | 510 | # CONFIG_I2C_DEBUG_CORE is not set |
482 | # CONFIG_I2C_DEBUG_ALGO is not set | 511 | # CONFIG_I2C_DEBUG_ALGO is not set |
@@ -505,15 +534,18 @@ CONFIG_SSB_POSSIBLE=y | |||
505 | # | 534 | # |
506 | # CONFIG_MFD_CORE is not set | 535 | # CONFIG_MFD_CORE is not set |
507 | # CONFIG_MFD_SM501 is not set | 536 | # CONFIG_MFD_SM501 is not set |
537 | # CONFIG_MFD_SH_MOBILE_SDHI is not set | ||
508 | # CONFIG_HTC_PASIC3 is not set | 538 | # CONFIG_HTC_PASIC3 is not set |
509 | # CONFIG_TWL4030_CORE is not set | 539 | # CONFIG_TWL4030_CORE is not set |
510 | # CONFIG_MFD_TMIO is not set | 540 | # CONFIG_MFD_TMIO is not set |
511 | # CONFIG_PMIC_DA903X is not set | 541 | # CONFIG_PMIC_DA903X is not set |
542 | # CONFIG_PMIC_ADP5520 is not set | ||
512 | # CONFIG_MFD_WM8400 is not set | 543 | # CONFIG_MFD_WM8400 is not set |
513 | # CONFIG_MFD_WM831X is not set | 544 | # CONFIG_MFD_WM831X is not set |
514 | # CONFIG_MFD_WM8350_I2C is not set | 545 | # CONFIG_MFD_WM8350_I2C is not set |
515 | # CONFIG_MFD_PCF50633 is not set | 546 | # CONFIG_MFD_PCF50633 is not set |
516 | # CONFIG_AB3100_CORE is not set | 547 | # CONFIG_AB3100_CORE is not set |
548 | # CONFIG_MFD_88PM8607 is not set | ||
517 | # CONFIG_REGULATOR is not set | 549 | # CONFIG_REGULATOR is not set |
518 | # CONFIG_MEDIA_SUPPORT is not set | 550 | # CONFIG_MEDIA_SUPPORT is not set |
519 | 551 | ||
@@ -561,6 +593,7 @@ CONFIG_RTC_INTF_DEV=y | |||
561 | # CONFIG_RTC_DRV_PCF8563 is not set | 593 | # CONFIG_RTC_DRV_PCF8563 is not set |
562 | # CONFIG_RTC_DRV_PCF8583 is not set | 594 | # CONFIG_RTC_DRV_PCF8583 is not set |
563 | # CONFIG_RTC_DRV_M41T80 is not set | 595 | # CONFIG_RTC_DRV_M41T80 is not set |
596 | # CONFIG_RTC_DRV_BQ32K is not set | ||
564 | # CONFIG_RTC_DRV_S35390A is not set | 597 | # CONFIG_RTC_DRV_S35390A is not set |
565 | # CONFIG_RTC_DRV_FM3130 is not set | 598 | # CONFIG_RTC_DRV_FM3130 is not set |
566 | # CONFIG_RTC_DRV_RX8581 is not set | 599 | # CONFIG_RTC_DRV_RX8581 is not set |
@@ -581,7 +614,9 @@ CONFIG_RTC_INTF_DEV=y | |||
581 | # CONFIG_RTC_DRV_M48T86 is not set | 614 | # CONFIG_RTC_DRV_M48T86 is not set |
582 | # CONFIG_RTC_DRV_M48T35 is not set | 615 | # CONFIG_RTC_DRV_M48T35 is not set |
583 | # CONFIG_RTC_DRV_M48T59 is not set | 616 | # CONFIG_RTC_DRV_M48T59 is not set |
617 | # CONFIG_RTC_DRV_MSM6242 is not set | ||
584 | # CONFIG_RTC_DRV_BQ4802 is not set | 618 | # CONFIG_RTC_DRV_BQ4802 is not set |
619 | # CONFIG_RTC_DRV_RP5C01 is not set | ||
585 | # CONFIG_RTC_DRV_V3020 is not set | 620 | # CONFIG_RTC_DRV_V3020 is not set |
586 | 621 | ||
587 | # | 622 | # |
@@ -608,6 +643,7 @@ CONFIG_UIO_PDRV_GENIRQ=y | |||
608 | # CONFIG_EXT2_FS is not set | 643 | # CONFIG_EXT2_FS is not set |
609 | # CONFIG_EXT3_FS is not set | 644 | # CONFIG_EXT3_FS is not set |
610 | # CONFIG_EXT4_FS is not set | 645 | # CONFIG_EXT4_FS is not set |
646 | CONFIG_EXT4_USE_FOR_EXT23=y | ||
611 | # CONFIG_REISERFS_FS is not set | 647 | # CONFIG_REISERFS_FS is not set |
612 | # CONFIG_JFS_FS is not set | 648 | # CONFIG_JFS_FS is not set |
613 | # CONFIG_FS_POSIX_ACL is not set | 649 | # CONFIG_FS_POSIX_ACL is not set |
@@ -675,11 +711,10 @@ CONFIG_DEBUG_FS=y | |||
675 | # CONFIG_HEADERS_CHECK is not set | 711 | # CONFIG_HEADERS_CHECK is not set |
676 | # CONFIG_DEBUG_KERNEL is not set | 712 | # CONFIG_DEBUG_KERNEL is not set |
677 | CONFIG_STACKTRACE=y | 713 | CONFIG_STACKTRACE=y |
678 | # CONFIG_DEBUG_BUGVERBOSE is not set | 714 | CONFIG_DEBUG_BUGVERBOSE=y |
679 | # CONFIG_DEBUG_MEMORY_INIT is not set | 715 | # CONFIG_DEBUG_MEMORY_INIT is not set |
680 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | 716 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set |
681 | # CONFIG_LATENCYTOP is not set | 717 | # CONFIG_LATENCYTOP is not set |
682 | # CONFIG_SYSCTL_SYSCALL_CHECK is not set | ||
683 | CONFIG_NOP_TRACER=y | 718 | CONFIG_NOP_TRACER=y |
684 | CONFIG_HAVE_FUNCTION_TRACER=y | 719 | CONFIG_HAVE_FUNCTION_TRACER=y |
685 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | 720 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y |
@@ -699,7 +734,6 @@ CONFIG_TRACING_SUPPORT=y | |||
699 | # CONFIG_SAMPLES is not set | 734 | # CONFIG_SAMPLES is not set |
700 | CONFIG_HAVE_ARCH_KGDB=y | 735 | CONFIG_HAVE_ARCH_KGDB=y |
701 | # CONFIG_SH_STANDARD_BIOS is not set | 736 | # CONFIG_SH_STANDARD_BIOS is not set |
702 | # CONFIG_EARLY_SCIF_CONSOLE is not set | ||
703 | # CONFIG_DWARF_UNWINDER is not set | 737 | # CONFIG_DWARF_UNWINDER is not set |
704 | 738 | ||
705 | # | 739 | # |
@@ -707,7 +741,11 @@ CONFIG_HAVE_ARCH_KGDB=y | |||
707 | # | 741 | # |
708 | # CONFIG_KEYS is not set | 742 | # CONFIG_KEYS is not set |
709 | # CONFIG_SECURITYFS is not set | 743 | # CONFIG_SECURITYFS is not set |
710 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 744 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
745 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
746 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
747 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
748 | CONFIG_DEFAULT_SECURITY="" | ||
711 | # CONFIG_CRYPTO is not set | 749 | # CONFIG_CRYPTO is not set |
712 | CONFIG_BINARY_PRINTF=y | 750 | CONFIG_BINARY_PRINTF=y |
713 | 751 | ||
diff --git a/arch/sh/configs/sh7763rdp_defconfig b/arch/sh/configs/sh7763rdp_defconfig index 194ff703e23d..04b841b29427 100644 --- a/arch/sh/configs/sh7763rdp_defconfig +++ b/arch/sh/configs/sh7763rdp_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.31 | 3 | # Linux kernel version: 2.6.33-rc2 |
4 | # Thu Sep 24 19:15:37 2009 | 4 | # Mon Jan 4 15:05:29 2010 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_SUPERH32=y | 7 | CONFIG_SUPERH32=y |
@@ -20,6 +20,7 @@ CONFIG_GENERIC_TIME=y | |||
20 | CONFIG_GENERIC_CLOCKEVENTS=y | 20 | CONFIG_GENERIC_CLOCKEVENTS=y |
21 | # CONFIG_ARCH_SUSPEND_POSSIBLE is not set | 21 | # CONFIG_ARCH_SUSPEND_POSSIBLE is not set |
22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y | 22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y |
23 | CONFIG_SYS_SUPPORTS_HUGETLBFS=y | ||
23 | CONFIG_SYS_SUPPORTS_TMU=y | 24 | CONFIG_SYS_SUPPORTS_TMU=y |
24 | CONFIG_STACKTRACE_SUPPORT=y | 25 | CONFIG_STACKTRACE_SUPPORT=y |
25 | CONFIG_LOCKDEP_SUPPORT=y | 26 | CONFIG_LOCKDEP_SUPPORT=y |
@@ -29,6 +30,7 @@ CONFIG_HAVE_LATENCYTOP_SUPPORT=y | |||
29 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | 30 | CONFIG_ARCH_NO_VIRT_TO_BUS=y |
30 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y | 31 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y |
31 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y | 32 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y |
33 | CONFIG_DMA_NONCOHERENT=y | ||
32 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 34 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
33 | CONFIG_CONSTRUCTORS=y | 35 | CONFIG_CONSTRUCTORS=y |
34 | 36 | ||
@@ -59,6 +61,7 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
59 | # | 61 | # |
60 | CONFIG_TREE_RCU=y | 62 | CONFIG_TREE_RCU=y |
61 | # CONFIG_TREE_PREEMPT_RCU is not set | 63 | # CONFIG_TREE_PREEMPT_RCU is not set |
64 | # CONFIG_TINY_RCU is not set | ||
62 | # CONFIG_RCU_TRACE is not set | 65 | # CONFIG_RCU_TRACE is not set |
63 | CONFIG_RCU_FANOUT=32 | 66 | CONFIG_RCU_FANOUT=32 |
64 | # CONFIG_RCU_FANOUT_EXACT is not set | 67 | # CONFIG_RCU_FANOUT_EXACT is not set |
@@ -103,6 +106,7 @@ CONFIG_EVENTFD=y | |||
103 | CONFIG_SHMEM=y | 106 | CONFIG_SHMEM=y |
104 | CONFIG_AIO=y | 107 | CONFIG_AIO=y |
105 | CONFIG_HAVE_PERF_EVENTS=y | 108 | CONFIG_HAVE_PERF_EVENTS=y |
109 | CONFIG_PERF_USE_VMALLOC=y | ||
106 | 110 | ||
107 | # | 111 | # |
108 | # Kernel Performance Events And Counters | 112 | # Kernel Performance Events And Counters |
@@ -124,6 +128,7 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
124 | CONFIG_HAVE_KPROBES=y | 128 | CONFIG_HAVE_KPROBES=y |
125 | CONFIG_HAVE_KRETPROBES=y | 129 | CONFIG_HAVE_KRETPROBES=y |
126 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 130 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
131 | CONFIG_HAVE_DMA_ATTRS=y | ||
127 | CONFIG_HAVE_CLK=y | 132 | CONFIG_HAVE_CLK=y |
128 | CONFIG_HAVE_DMA_API_DEBUG=y | 133 | CONFIG_HAVE_DMA_API_DEBUG=y |
129 | 134 | ||
@@ -150,14 +155,41 @@ CONFIG_LBDAF=y | |||
150 | # IO Schedulers | 155 | # IO Schedulers |
151 | # | 156 | # |
152 | CONFIG_IOSCHED_NOOP=y | 157 | CONFIG_IOSCHED_NOOP=y |
153 | CONFIG_IOSCHED_AS=y | ||
154 | CONFIG_IOSCHED_DEADLINE=y | 158 | CONFIG_IOSCHED_DEADLINE=y |
155 | CONFIG_IOSCHED_CFQ=y | 159 | CONFIG_IOSCHED_CFQ=y |
156 | CONFIG_DEFAULT_AS=y | ||
157 | # CONFIG_DEFAULT_DEADLINE is not set | 160 | # CONFIG_DEFAULT_DEADLINE is not set |
158 | # CONFIG_DEFAULT_CFQ is not set | 161 | CONFIG_DEFAULT_CFQ=y |
159 | # CONFIG_DEFAULT_NOOP is not set | 162 | # CONFIG_DEFAULT_NOOP is not set |
160 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 163 | CONFIG_DEFAULT_IOSCHED="cfq" |
164 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
165 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
166 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
167 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
168 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
169 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
170 | CONFIG_INLINE_SPIN_UNLOCK=y | ||
171 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
172 | CONFIG_INLINE_SPIN_UNLOCK_IRQ=y | ||
173 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
174 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
175 | # CONFIG_INLINE_READ_LOCK is not set | ||
176 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
177 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
178 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
179 | CONFIG_INLINE_READ_UNLOCK=y | ||
180 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
181 | CONFIG_INLINE_READ_UNLOCK_IRQ=y | ||
182 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
183 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
184 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
185 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
186 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
187 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
188 | CONFIG_INLINE_WRITE_UNLOCK=y | ||
189 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
190 | CONFIG_INLINE_WRITE_UNLOCK_IRQ=y | ||
191 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
192 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
161 | # CONFIG_FREEZER is not set | 193 | # CONFIG_FREEZER is not set |
162 | 194 | ||
163 | # | 195 | # |
@@ -211,6 +243,7 @@ CONFIG_FORCE_MAX_ZONEORDER=11 | |||
211 | CONFIG_MEMORY_START=0x0c000000 | 243 | CONFIG_MEMORY_START=0x0c000000 |
212 | CONFIG_MEMORY_SIZE=0x04000000 | 244 | CONFIG_MEMORY_SIZE=0x04000000 |
213 | CONFIG_29BIT=y | 245 | CONFIG_29BIT=y |
246 | # CONFIG_PMB_ENABLE is not set | ||
214 | CONFIG_VSYSCALL=y | 247 | CONFIG_VSYSCALL=y |
215 | CONFIG_ARCH_FLATMEM_ENABLE=y | 248 | CONFIG_ARCH_FLATMEM_ENABLE=y |
216 | CONFIG_ARCH_SPARSEMEM_ENABLE=y | 249 | CONFIG_ARCH_SPARSEMEM_ENABLE=y |
@@ -237,8 +270,6 @@ CONFIG_MIGRATION=y | |||
237 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 270 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
238 | CONFIG_ZONE_DMA_FLAG=0 | 271 | CONFIG_ZONE_DMA_FLAG=0 |
239 | CONFIG_NR_QUICK=2 | 272 | CONFIG_NR_QUICK=2 |
240 | CONFIG_HAVE_MLOCK=y | ||
241 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
242 | # CONFIG_KSM is not set | 273 | # CONFIG_KSM is not set |
243 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | 274 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 |
244 | 275 | ||
@@ -421,10 +452,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
421 | # CONFIG_AF_RXRPC is not set | 452 | # CONFIG_AF_RXRPC is not set |
422 | CONFIG_WIRELESS=y | 453 | CONFIG_WIRELESS=y |
423 | # CONFIG_CFG80211 is not set | 454 | # CONFIG_CFG80211 is not set |
424 | CONFIG_CFG80211_DEFAULT_PS_VALUE=0 | ||
425 | # CONFIG_WIRELESS_OLD_REGULATORY is not set | ||
426 | CONFIG_WIRELESS_EXT=y | ||
427 | CONFIG_WIRELESS_EXT_SYSFS=y | ||
428 | # CONFIG_LIB80211 is not set | 455 | # CONFIG_LIB80211 is not set |
429 | 456 | ||
430 | # | 457 | # |
@@ -509,7 +536,6 @@ CONFIG_MTD_CFI_UTIL=y | |||
509 | CONFIG_MTD_COMPLEX_MAPPINGS=y | 536 | CONFIG_MTD_COMPLEX_MAPPINGS=y |
510 | CONFIG_MTD_PHYSMAP=y | 537 | CONFIG_MTD_PHYSMAP=y |
511 | # CONFIG_MTD_PHYSMAP_COMPAT is not set | 538 | # CONFIG_MTD_PHYSMAP_COMPAT is not set |
512 | # CONFIG_MTD_GPIO_ADDR is not set | ||
513 | # CONFIG_MTD_PLATRAM is not set | 539 | # CONFIG_MTD_PLATRAM is not set |
514 | 540 | ||
515 | # | 541 | # |
@@ -542,6 +568,10 @@ CONFIG_MTD_PHYSMAP=y | |||
542 | CONFIG_BLK_DEV=y | 568 | CONFIG_BLK_DEV=y |
543 | # CONFIG_BLK_DEV_COW_COMMON is not set | 569 | # CONFIG_BLK_DEV_COW_COMMON is not set |
544 | # CONFIG_BLK_DEV_LOOP is not set | 570 | # CONFIG_BLK_DEV_LOOP is not set |
571 | |||
572 | # | ||
573 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
574 | # | ||
545 | # CONFIG_BLK_DEV_NBD is not set | 575 | # CONFIG_BLK_DEV_NBD is not set |
546 | # CONFIG_BLK_DEV_UB is not set | 576 | # CONFIG_BLK_DEV_UB is not set |
547 | # CONFIG_BLK_DEV_RAM is not set | 577 | # CONFIG_BLK_DEV_RAM is not set |
@@ -640,11 +670,12 @@ CONFIG_SH_ETH=y | |||
640 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | 670 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set |
641 | # CONFIG_B44 is not set | 671 | # CONFIG_B44 is not set |
642 | # CONFIG_KS8842 is not set | 672 | # CONFIG_KS8842 is not set |
673 | # CONFIG_KS8851_MLL is not set | ||
643 | # CONFIG_NETDEV_1000 is not set | 674 | # CONFIG_NETDEV_1000 is not set |
644 | # CONFIG_NETDEV_10000 is not set | 675 | # CONFIG_NETDEV_10000 is not set |
645 | CONFIG_WLAN=y | 676 | CONFIG_WLAN=y |
646 | # CONFIG_WLAN_PRE80211 is not set | 677 | # CONFIG_USB_ZD1201 is not set |
647 | # CONFIG_WLAN_80211 is not set | 678 | # CONFIG_HOSTAP is not set |
648 | 679 | ||
649 | # | 680 | # |
650 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 681 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -673,6 +704,7 @@ CONFIG_WLAN=y | |||
673 | CONFIG_INPUT=y | 704 | CONFIG_INPUT=y |
674 | # CONFIG_INPUT_FF_MEMLESS is not set | 705 | # CONFIG_INPUT_FF_MEMLESS is not set |
675 | # CONFIG_INPUT_POLLDEV is not set | 706 | # CONFIG_INPUT_POLLDEV is not set |
707 | # CONFIG_INPUT_SPARSEKMAP is not set | ||
676 | 708 | ||
677 | # | 709 | # |
678 | # Userland interfaces | 710 | # Userland interfaces |
@@ -756,6 +788,7 @@ CONFIG_SSB_POSSIBLE=y | |||
756 | # | 788 | # |
757 | # CONFIG_MFD_CORE is not set | 789 | # CONFIG_MFD_CORE is not set |
758 | # CONFIG_MFD_SM501 is not set | 790 | # CONFIG_MFD_SM501 is not set |
791 | # CONFIG_MFD_SH_MOBILE_SDHI is not set | ||
759 | # CONFIG_HTC_PASIC3 is not set | 792 | # CONFIG_HTC_PASIC3 is not set |
760 | # CONFIG_MFD_TMIO is not set | 793 | # CONFIG_MFD_TMIO is not set |
761 | # CONFIG_REGULATOR is not set | 794 | # CONFIG_REGULATOR is not set |
@@ -949,6 +982,7 @@ CONFIG_MMC_BLOCK_BOUNCE=y | |||
949 | # CONFIG_MMC_SDHCI is not set | 982 | # CONFIG_MMC_SDHCI is not set |
950 | # CONFIG_MMC_AT91 is not set | 983 | # CONFIG_MMC_AT91 is not set |
951 | # CONFIG_MMC_ATMELMCI is not set | 984 | # CONFIG_MMC_ATMELMCI is not set |
985 | # CONFIG_MMC_TMIO is not set | ||
952 | # CONFIG_MEMSTICK is not set | 986 | # CONFIG_MEMSTICK is not set |
953 | # CONFIG_NEW_LEDS is not set | 987 | # CONFIG_NEW_LEDS is not set |
954 | # CONFIG_ACCESSIBILITY is not set | 988 | # CONFIG_ACCESSIBILITY is not set |
@@ -1129,10 +1163,11 @@ CONFIG_DEBUG_FS=y | |||
1129 | # CONFIG_HEADERS_CHECK is not set | 1163 | # CONFIG_HEADERS_CHECK is not set |
1130 | # CONFIG_DEBUG_KERNEL is not set | 1164 | # CONFIG_DEBUG_KERNEL is not set |
1131 | CONFIG_STACKTRACE=y | 1165 | CONFIG_STACKTRACE=y |
1132 | # CONFIG_DEBUG_BUGVERBOSE is not set | 1166 | CONFIG_DEBUG_BUGVERBOSE=y |
1133 | # CONFIG_DEBUG_MEMORY_INIT is not set | 1167 | # CONFIG_DEBUG_MEMORY_INIT is not set |
1134 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | 1168 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set |
1135 | # CONFIG_LATENCYTOP is not set | 1169 | # CONFIG_LATENCYTOP is not set |
1170 | # CONFIG_SYSCTL_SYSCALL_CHECK is not set | ||
1136 | CONFIG_NOP_TRACER=y | 1171 | CONFIG_NOP_TRACER=y |
1137 | CONFIG_HAVE_FUNCTION_TRACER=y | 1172 | CONFIG_HAVE_FUNCTION_TRACER=y |
1138 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | 1173 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y |
@@ -1152,7 +1187,6 @@ CONFIG_TRACING_SUPPORT=y | |||
1152 | # CONFIG_SAMPLES is not set | 1187 | # CONFIG_SAMPLES is not set |
1153 | CONFIG_HAVE_ARCH_KGDB=y | 1188 | CONFIG_HAVE_ARCH_KGDB=y |
1154 | # CONFIG_SH_STANDARD_BIOS is not set | 1189 | # CONFIG_SH_STANDARD_BIOS is not set |
1155 | # CONFIG_EARLY_SCIF_CONSOLE is not set | ||
1156 | # CONFIG_DWARF_UNWINDER is not set | 1190 | # CONFIG_DWARF_UNWINDER is not set |
1157 | 1191 | ||
1158 | # | 1192 | # |
@@ -1161,7 +1195,11 @@ CONFIG_HAVE_ARCH_KGDB=y | |||
1161 | # CONFIG_KEYS is not set | 1195 | # CONFIG_KEYS is not set |
1162 | # CONFIG_SECURITY is not set | 1196 | # CONFIG_SECURITY is not set |
1163 | # CONFIG_SECURITYFS is not set | 1197 | # CONFIG_SECURITYFS is not set |
1164 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1198 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
1199 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
1200 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
1201 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
1202 | CONFIG_DEFAULT_SECURITY="" | ||
1165 | CONFIG_CRYPTO=y | 1203 | CONFIG_CRYPTO=y |
1166 | 1204 | ||
1167 | # | 1205 | # |
diff --git a/arch/sh/configs/sh7770_generic_defconfig b/arch/sh/configs/sh7770_generic_defconfig index 34bed5541f31..7b247053ece6 100644 --- a/arch/sh/configs/sh7770_generic_defconfig +++ b/arch/sh/configs/sh7770_generic_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.31 | 3 | # Linux kernel version: 2.6.33-rc2 |
4 | # Thu Sep 24 19:17:16 2009 | 4 | # Mon Jan 4 15:06:28 2010 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_SUPERH32=y | 7 | CONFIG_SUPERH32=y |
@@ -20,6 +20,7 @@ CONFIG_GENERIC_TIME=y | |||
20 | CONFIG_GENERIC_CLOCKEVENTS=y | 20 | CONFIG_GENERIC_CLOCKEVENTS=y |
21 | # CONFIG_ARCH_SUSPEND_POSSIBLE is not set | 21 | # CONFIG_ARCH_SUSPEND_POSSIBLE is not set |
22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y | 22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y |
23 | CONFIG_SYS_SUPPORTS_HUGETLBFS=y | ||
23 | CONFIG_SYS_SUPPORTS_TMU=y | 24 | CONFIG_SYS_SUPPORTS_TMU=y |
24 | CONFIG_STACKTRACE_SUPPORT=y | 25 | CONFIG_STACKTRACE_SUPPORT=y |
25 | CONFIG_LOCKDEP_SUPPORT=y | 26 | CONFIG_LOCKDEP_SUPPORT=y |
@@ -29,6 +30,7 @@ CONFIG_HAVE_LATENCYTOP_SUPPORT=y | |||
29 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | 30 | CONFIG_ARCH_NO_VIRT_TO_BUS=y |
30 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y | 31 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y |
31 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y | 32 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y |
33 | CONFIG_DMA_NONCOHERENT=y | ||
32 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 34 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
33 | CONFIG_CONSTRUCTORS=y | 35 | CONFIG_CONSTRUCTORS=y |
34 | 36 | ||
@@ -48,7 +50,6 @@ CONFIG_KERNEL_GZIP=y | |||
48 | # CONFIG_KERNEL_LZMA is not set | 50 | # CONFIG_KERNEL_LZMA is not set |
49 | CONFIG_SWAP=y | 51 | CONFIG_SWAP=y |
50 | CONFIG_SYSVIPC=y | 52 | CONFIG_SYSVIPC=y |
51 | CONFIG_SYSVIPC_SYSCTL=y | ||
52 | # CONFIG_BSD_PROCESS_ACCT is not set | 53 | # CONFIG_BSD_PROCESS_ACCT is not set |
53 | 54 | ||
54 | # | 55 | # |
@@ -56,6 +57,7 @@ CONFIG_SYSVIPC_SYSCTL=y | |||
56 | # | 57 | # |
57 | CONFIG_TREE_RCU=y | 58 | CONFIG_TREE_RCU=y |
58 | # CONFIG_TREE_PREEMPT_RCU is not set | 59 | # CONFIG_TREE_PREEMPT_RCU is not set |
60 | # CONFIG_TINY_RCU is not set | ||
59 | # CONFIG_RCU_TRACE is not set | 61 | # CONFIG_RCU_TRACE is not set |
60 | CONFIG_RCU_FANOUT=32 | 62 | CONFIG_RCU_FANOUT=32 |
61 | # CONFIG_RCU_FANOUT_EXACT is not set | 63 | # CONFIG_RCU_FANOUT_EXACT is not set |
@@ -79,11 +81,9 @@ CONFIG_CGROUPS=y | |||
79 | # CONFIG_NAMESPACES is not set | 81 | # CONFIG_NAMESPACES is not set |
80 | # CONFIG_BLK_DEV_INITRD is not set | 82 | # CONFIG_BLK_DEV_INITRD is not set |
81 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 83 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
82 | CONFIG_SYSCTL=y | ||
83 | CONFIG_ANON_INODES=y | 84 | CONFIG_ANON_INODES=y |
84 | CONFIG_EMBEDDED=y | 85 | CONFIG_EMBEDDED=y |
85 | # CONFIG_UID16 is not set | 86 | # CONFIG_UID16 is not set |
86 | CONFIG_SYSCTL_SYSCALL=y | ||
87 | CONFIG_KALLSYMS=y | 87 | CONFIG_KALLSYMS=y |
88 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | 88 | # CONFIG_KALLSYMS_EXTRA_PASS is not set |
89 | CONFIG_HOTPLUG=y | 89 | CONFIG_HOTPLUG=y |
@@ -99,6 +99,7 @@ CONFIG_EVENTFD=y | |||
99 | CONFIG_SHMEM=y | 99 | CONFIG_SHMEM=y |
100 | CONFIG_AIO=y | 100 | CONFIG_AIO=y |
101 | CONFIG_HAVE_PERF_EVENTS=y | 101 | CONFIG_HAVE_PERF_EVENTS=y |
102 | CONFIG_PERF_USE_VMALLOC=y | ||
102 | 103 | ||
103 | # | 104 | # |
104 | # Kernel Performance Events And Counters | 105 | # Kernel Performance Events And Counters |
@@ -119,6 +120,7 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
119 | CONFIG_HAVE_KPROBES=y | 120 | CONFIG_HAVE_KPROBES=y |
120 | CONFIG_HAVE_KRETPROBES=y | 121 | CONFIG_HAVE_KRETPROBES=y |
121 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 122 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
123 | CONFIG_HAVE_DMA_ATTRS=y | ||
122 | CONFIG_HAVE_CLK=y | 124 | CONFIG_HAVE_CLK=y |
123 | CONFIG_HAVE_DMA_API_DEBUG=y | 125 | CONFIG_HAVE_DMA_API_DEBUG=y |
124 | 126 | ||
@@ -135,19 +137,48 @@ CONFIG_BLOCK=y | |||
135 | CONFIG_LBDAF=y | 137 | CONFIG_LBDAF=y |
136 | # CONFIG_BLK_DEV_BSG is not set | 138 | # CONFIG_BLK_DEV_BSG is not set |
137 | # CONFIG_BLK_DEV_INTEGRITY is not set | 139 | # CONFIG_BLK_DEV_INTEGRITY is not set |
140 | # CONFIG_BLK_CGROUP is not set | ||
138 | 141 | ||
139 | # | 142 | # |
140 | # IO Schedulers | 143 | # IO Schedulers |
141 | # | 144 | # |
142 | CONFIG_IOSCHED_NOOP=y | 145 | CONFIG_IOSCHED_NOOP=y |
143 | CONFIG_IOSCHED_AS=y | ||
144 | CONFIG_IOSCHED_DEADLINE=y | 146 | CONFIG_IOSCHED_DEADLINE=y |
145 | CONFIG_IOSCHED_CFQ=y | 147 | CONFIG_IOSCHED_CFQ=y |
146 | CONFIG_DEFAULT_AS=y | 148 | # CONFIG_CFQ_GROUP_IOSCHED is not set |
147 | # CONFIG_DEFAULT_DEADLINE is not set | 149 | # CONFIG_DEFAULT_DEADLINE is not set |
148 | # CONFIG_DEFAULT_CFQ is not set | 150 | CONFIG_DEFAULT_CFQ=y |
149 | # CONFIG_DEFAULT_NOOP is not set | 151 | # CONFIG_DEFAULT_NOOP is not set |
150 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 152 | CONFIG_DEFAULT_IOSCHED="cfq" |
153 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
154 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
155 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
156 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
157 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
158 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
159 | CONFIG_INLINE_SPIN_UNLOCK=y | ||
160 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
161 | CONFIG_INLINE_SPIN_UNLOCK_IRQ=y | ||
162 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
163 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
164 | # CONFIG_INLINE_READ_LOCK is not set | ||
165 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
166 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
167 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
168 | CONFIG_INLINE_READ_UNLOCK=y | ||
169 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
170 | CONFIG_INLINE_READ_UNLOCK_IRQ=y | ||
171 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
172 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
173 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
174 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
175 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
176 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
177 | CONFIG_INLINE_WRITE_UNLOCK=y | ||
178 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
179 | CONFIG_INLINE_WRITE_UNLOCK_IRQ=y | ||
180 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
181 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
151 | CONFIG_FREEZER=y | 182 | CONFIG_FREEZER=y |
152 | 183 | ||
153 | # | 184 | # |
@@ -201,6 +232,7 @@ CONFIG_FORCE_MAX_ZONEORDER=11 | |||
201 | CONFIG_MEMORY_START=0x08000000 | 232 | CONFIG_MEMORY_START=0x08000000 |
202 | CONFIG_MEMORY_SIZE=0x04000000 | 233 | CONFIG_MEMORY_SIZE=0x04000000 |
203 | CONFIG_29BIT=y | 234 | CONFIG_29BIT=y |
235 | # CONFIG_PMB_ENABLE is not set | ||
204 | CONFIG_VSYSCALL=y | 236 | CONFIG_VSYSCALL=y |
205 | CONFIG_ARCH_FLATMEM_ENABLE=y | 237 | CONFIG_ARCH_FLATMEM_ENABLE=y |
206 | CONFIG_ARCH_SPARSEMEM_ENABLE=y | 238 | CONFIG_ARCH_SPARSEMEM_ENABLE=y |
@@ -221,17 +253,12 @@ CONFIG_SPARSEMEM_MANUAL=y | |||
221 | CONFIG_SPARSEMEM=y | 253 | CONFIG_SPARSEMEM=y |
222 | CONFIG_HAVE_MEMORY_PRESENT=y | 254 | CONFIG_HAVE_MEMORY_PRESENT=y |
223 | CONFIG_SPARSEMEM_STATIC=y | 255 | CONFIG_SPARSEMEM_STATIC=y |
224 | 256 | # CONFIG_MEMORY_HOTPLUG is not set | |
225 | # | ||
226 | # Memory hotplug is currently incompatible with Software Suspend | ||
227 | # | ||
228 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 257 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
229 | CONFIG_MIGRATION=y | 258 | CONFIG_MIGRATION=y |
230 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 259 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
231 | CONFIG_ZONE_DMA_FLAG=0 | 260 | CONFIG_ZONE_DMA_FLAG=0 |
232 | CONFIG_NR_QUICK=2 | 261 | CONFIG_NR_QUICK=2 |
233 | CONFIG_HAVE_MLOCK=y | ||
234 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
235 | # CONFIG_KSM is not set | 262 | # CONFIG_KSM is not set |
236 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | 263 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 |
237 | 264 | ||
@@ -379,6 +406,10 @@ CONFIG_EXTRA_FIRMWARE="" | |||
379 | CONFIG_BLK_DEV=y | 406 | CONFIG_BLK_DEV=y |
380 | # CONFIG_BLK_DEV_COW_COMMON is not set | 407 | # CONFIG_BLK_DEV_COW_COMMON is not set |
381 | # CONFIG_BLK_DEV_LOOP is not set | 408 | # CONFIG_BLK_DEV_LOOP is not set |
409 | |||
410 | # | ||
411 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
412 | # | ||
382 | # CONFIG_BLK_DEV_RAM is not set | 413 | # CONFIG_BLK_DEV_RAM is not set |
383 | # CONFIG_CDROM_PKTCDVD is not set | 414 | # CONFIG_CDROM_PKTCDVD is not set |
384 | # CONFIG_BLK_DEV_HD is not set | 415 | # CONFIG_BLK_DEV_HD is not set |
@@ -467,7 +498,6 @@ CONFIG_I2C_SH_MOBILE=y | |||
467 | # | 498 | # |
468 | # Miscellaneous I2C Chip support | 499 | # Miscellaneous I2C Chip support |
469 | # | 500 | # |
470 | # CONFIG_DS1682 is not set | ||
471 | # CONFIG_SENSORS_TSL2550 is not set | 501 | # CONFIG_SENSORS_TSL2550 is not set |
472 | # CONFIG_I2C_DEBUG_CORE is not set | 502 | # CONFIG_I2C_DEBUG_CORE is not set |
473 | # CONFIG_I2C_DEBUG_ALGO is not set | 503 | # CONFIG_I2C_DEBUG_ALGO is not set |
@@ -496,15 +526,18 @@ CONFIG_SSB_POSSIBLE=y | |||
496 | # | 526 | # |
497 | # CONFIG_MFD_CORE is not set | 527 | # CONFIG_MFD_CORE is not set |
498 | # CONFIG_MFD_SM501 is not set | 528 | # CONFIG_MFD_SM501 is not set |
529 | # CONFIG_MFD_SH_MOBILE_SDHI is not set | ||
499 | # CONFIG_HTC_PASIC3 is not set | 530 | # CONFIG_HTC_PASIC3 is not set |
500 | # CONFIG_TWL4030_CORE is not set | 531 | # CONFIG_TWL4030_CORE is not set |
501 | # CONFIG_MFD_TMIO is not set | 532 | # CONFIG_MFD_TMIO is not set |
502 | # CONFIG_PMIC_DA903X is not set | 533 | # CONFIG_PMIC_DA903X is not set |
534 | # CONFIG_PMIC_ADP5520 is not set | ||
503 | # CONFIG_MFD_WM8400 is not set | 535 | # CONFIG_MFD_WM8400 is not set |
504 | # CONFIG_MFD_WM831X is not set | 536 | # CONFIG_MFD_WM831X is not set |
505 | # CONFIG_MFD_WM8350_I2C is not set | 537 | # CONFIG_MFD_WM8350_I2C is not set |
506 | # CONFIG_MFD_PCF50633 is not set | 538 | # CONFIG_MFD_PCF50633 is not set |
507 | # CONFIG_AB3100_CORE is not set | 539 | # CONFIG_AB3100_CORE is not set |
540 | # CONFIG_MFD_88PM8607 is not set | ||
508 | # CONFIG_REGULATOR is not set | 541 | # CONFIG_REGULATOR is not set |
509 | # CONFIG_MEDIA_SUPPORT is not set | 542 | # CONFIG_MEDIA_SUPPORT is not set |
510 | 543 | ||
@@ -552,6 +585,7 @@ CONFIG_RTC_INTF_DEV=y | |||
552 | # CONFIG_RTC_DRV_PCF8563 is not set | 585 | # CONFIG_RTC_DRV_PCF8563 is not set |
553 | # CONFIG_RTC_DRV_PCF8583 is not set | 586 | # CONFIG_RTC_DRV_PCF8583 is not set |
554 | # CONFIG_RTC_DRV_M41T80 is not set | 587 | # CONFIG_RTC_DRV_M41T80 is not set |
588 | # CONFIG_RTC_DRV_BQ32K is not set | ||
555 | # CONFIG_RTC_DRV_S35390A is not set | 589 | # CONFIG_RTC_DRV_S35390A is not set |
556 | # CONFIG_RTC_DRV_FM3130 is not set | 590 | # CONFIG_RTC_DRV_FM3130 is not set |
557 | # CONFIG_RTC_DRV_RX8581 is not set | 591 | # CONFIG_RTC_DRV_RX8581 is not set |
@@ -572,7 +606,9 @@ CONFIG_RTC_INTF_DEV=y | |||
572 | # CONFIG_RTC_DRV_M48T86 is not set | 606 | # CONFIG_RTC_DRV_M48T86 is not set |
573 | # CONFIG_RTC_DRV_M48T35 is not set | 607 | # CONFIG_RTC_DRV_M48T35 is not set |
574 | # CONFIG_RTC_DRV_M48T59 is not set | 608 | # CONFIG_RTC_DRV_M48T59 is not set |
609 | # CONFIG_RTC_DRV_MSM6242 is not set | ||
575 | # CONFIG_RTC_DRV_BQ4802 is not set | 610 | # CONFIG_RTC_DRV_BQ4802 is not set |
611 | # CONFIG_RTC_DRV_RP5C01 is not set | ||
576 | # CONFIG_RTC_DRV_V3020 is not set | 612 | # CONFIG_RTC_DRV_V3020 is not set |
577 | 613 | ||
578 | # | 614 | # |
@@ -599,6 +635,7 @@ CONFIG_UIO_PDRV_GENIRQ=y | |||
599 | # CONFIG_EXT2_FS is not set | 635 | # CONFIG_EXT2_FS is not set |
600 | # CONFIG_EXT3_FS is not set | 636 | # CONFIG_EXT3_FS is not set |
601 | # CONFIG_EXT4_FS is not set | 637 | # CONFIG_EXT4_FS is not set |
638 | CONFIG_EXT4_USE_FOR_EXT23=y | ||
602 | # CONFIG_REISERFS_FS is not set | 639 | # CONFIG_REISERFS_FS is not set |
603 | # CONFIG_JFS_FS is not set | 640 | # CONFIG_JFS_FS is not set |
604 | # CONFIG_FS_POSIX_ACL is not set | 641 | # CONFIG_FS_POSIX_ACL is not set |
@@ -666,11 +703,10 @@ CONFIG_DEBUG_FS=y | |||
666 | # CONFIG_HEADERS_CHECK is not set | 703 | # CONFIG_HEADERS_CHECK is not set |
667 | # CONFIG_DEBUG_KERNEL is not set | 704 | # CONFIG_DEBUG_KERNEL is not set |
668 | CONFIG_STACKTRACE=y | 705 | CONFIG_STACKTRACE=y |
669 | # CONFIG_DEBUG_BUGVERBOSE is not set | 706 | CONFIG_DEBUG_BUGVERBOSE=y |
670 | # CONFIG_DEBUG_MEMORY_INIT is not set | 707 | # CONFIG_DEBUG_MEMORY_INIT is not set |
671 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | 708 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set |
672 | # CONFIG_LATENCYTOP is not set | 709 | # CONFIG_LATENCYTOP is not set |
673 | # CONFIG_SYSCTL_SYSCALL_CHECK is not set | ||
674 | CONFIG_NOP_TRACER=y | 710 | CONFIG_NOP_TRACER=y |
675 | CONFIG_HAVE_FUNCTION_TRACER=y | 711 | CONFIG_HAVE_FUNCTION_TRACER=y |
676 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | 712 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y |
@@ -690,7 +726,6 @@ CONFIG_TRACING_SUPPORT=y | |||
690 | # CONFIG_SAMPLES is not set | 726 | # CONFIG_SAMPLES is not set |
691 | CONFIG_HAVE_ARCH_KGDB=y | 727 | CONFIG_HAVE_ARCH_KGDB=y |
692 | # CONFIG_SH_STANDARD_BIOS is not set | 728 | # CONFIG_SH_STANDARD_BIOS is not set |
693 | # CONFIG_EARLY_SCIF_CONSOLE is not set | ||
694 | # CONFIG_DWARF_UNWINDER is not set | 729 | # CONFIG_DWARF_UNWINDER is not set |
695 | 730 | ||
696 | # | 731 | # |
@@ -698,7 +733,11 @@ CONFIG_HAVE_ARCH_KGDB=y | |||
698 | # | 733 | # |
699 | # CONFIG_KEYS is not set | 734 | # CONFIG_KEYS is not set |
700 | # CONFIG_SECURITYFS is not set | 735 | # CONFIG_SECURITYFS is not set |
701 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 736 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
737 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
738 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
739 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
740 | CONFIG_DEFAULT_SECURITY="" | ||
702 | # CONFIG_CRYPTO is not set | 741 | # CONFIG_CRYPTO is not set |
703 | CONFIG_BINARY_PRINTF=y | 742 | CONFIG_BINARY_PRINTF=y |
704 | 743 | ||
diff --git a/arch/sh/configs/sh7785lcr_32bit_defconfig b/arch/sh/configs/sh7785lcr_32bit_defconfig index 51cbaedf7a56..8330813b0c1d 100644 --- a/arch/sh/configs/sh7785lcr_32bit_defconfig +++ b/arch/sh/configs/sh7785lcr_32bit_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.31 | 3 | # Linux kernel version: 2.6.33-rc2 |
4 | # Fri Sep 25 11:39:20 2009 | 4 | # Mon Jan 4 15:07:40 2010 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_SUPERH32=y | 7 | CONFIG_SUPERH32=y |
@@ -20,6 +20,7 @@ CONFIG_GENERIC_TIME=y | |||
20 | CONFIG_GENERIC_CLOCKEVENTS=y | 20 | CONFIG_GENERIC_CLOCKEVENTS=y |
21 | # CONFIG_ARCH_SUSPEND_POSSIBLE is not set | 21 | # CONFIG_ARCH_SUSPEND_POSSIBLE is not set |
22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y | 22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y |
23 | CONFIG_SYS_SUPPORTS_HUGETLBFS=y | ||
23 | CONFIG_SYS_SUPPORTS_NUMA=y | 24 | CONFIG_SYS_SUPPORTS_NUMA=y |
24 | CONFIG_SYS_SUPPORTS_PCI=y | 25 | CONFIG_SYS_SUPPORTS_PCI=y |
25 | CONFIG_SYS_SUPPORTS_TMU=y | 26 | CONFIG_SYS_SUPPORTS_TMU=y |
@@ -31,6 +32,7 @@ CONFIG_HAVE_LATENCYTOP_SUPPORT=y | |||
31 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | 32 | CONFIG_ARCH_NO_VIRT_TO_BUS=y |
32 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y | 33 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y |
33 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y | 34 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y |
35 | CONFIG_DMA_NONCOHERENT=y | ||
34 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 36 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
35 | CONFIG_CONSTRUCTORS=y | 37 | CONFIG_CONSTRUCTORS=y |
36 | 38 | ||
@@ -64,6 +66,7 @@ CONFIG_BSD_PROCESS_ACCT=y | |||
64 | # | 66 | # |
65 | CONFIG_TREE_RCU=y | 67 | CONFIG_TREE_RCU=y |
66 | # CONFIG_TREE_PREEMPT_RCU is not set | 68 | # CONFIG_TREE_PREEMPT_RCU is not set |
69 | # CONFIG_TINY_RCU is not set | ||
67 | # CONFIG_RCU_TRACE is not set | 70 | # CONFIG_RCU_TRACE is not set |
68 | CONFIG_RCU_FANOUT=32 | 71 | CONFIG_RCU_FANOUT=32 |
69 | # CONFIG_RCU_FANOUT_EXACT is not set | 72 | # CONFIG_RCU_FANOUT_EXACT is not set |
@@ -103,6 +106,7 @@ CONFIG_EVENTFD=y | |||
103 | CONFIG_SHMEM=y | 106 | CONFIG_SHMEM=y |
104 | CONFIG_AIO=y | 107 | CONFIG_AIO=y |
105 | CONFIG_HAVE_PERF_EVENTS=y | 108 | CONFIG_HAVE_PERF_EVENTS=y |
109 | CONFIG_PERF_USE_VMALLOC=y | ||
106 | 110 | ||
107 | # | 111 | # |
108 | # Kernel Performance Events And Counters | 112 | # Kernel Performance Events And Counters |
@@ -126,6 +130,7 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
126 | CONFIG_HAVE_KPROBES=y | 130 | CONFIG_HAVE_KPROBES=y |
127 | CONFIG_HAVE_KRETPROBES=y | 131 | CONFIG_HAVE_KRETPROBES=y |
128 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 132 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
133 | CONFIG_HAVE_DMA_ATTRS=y | ||
129 | CONFIG_HAVE_CLK=y | 134 | CONFIG_HAVE_CLK=y |
130 | CONFIG_HAVE_DMA_API_DEBUG=y | 135 | CONFIG_HAVE_DMA_API_DEBUG=y |
131 | 136 | ||
@@ -153,14 +158,41 @@ CONFIG_BLOCK=y | |||
153 | # IO Schedulers | 158 | # IO Schedulers |
154 | # | 159 | # |
155 | CONFIG_IOSCHED_NOOP=y | 160 | CONFIG_IOSCHED_NOOP=y |
156 | CONFIG_IOSCHED_AS=y | ||
157 | CONFIG_IOSCHED_DEADLINE=y | 161 | CONFIG_IOSCHED_DEADLINE=y |
158 | CONFIG_IOSCHED_CFQ=y | 162 | CONFIG_IOSCHED_CFQ=y |
159 | # CONFIG_DEFAULT_AS is not set | ||
160 | # CONFIG_DEFAULT_DEADLINE is not set | 163 | # CONFIG_DEFAULT_DEADLINE is not set |
161 | CONFIG_DEFAULT_CFQ=y | 164 | CONFIG_DEFAULT_CFQ=y |
162 | # CONFIG_DEFAULT_NOOP is not set | 165 | # CONFIG_DEFAULT_NOOP is not set |
163 | CONFIG_DEFAULT_IOSCHED="cfq" | 166 | CONFIG_DEFAULT_IOSCHED="cfq" |
167 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
168 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
169 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
170 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
171 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
172 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
173 | # CONFIG_INLINE_SPIN_UNLOCK is not set | ||
174 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
175 | # CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set | ||
176 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
177 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
178 | # CONFIG_INLINE_READ_LOCK is not set | ||
179 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
180 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
181 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
182 | # CONFIG_INLINE_READ_UNLOCK is not set | ||
183 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
184 | # CONFIG_INLINE_READ_UNLOCK_IRQ is not set | ||
185 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
186 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
187 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
188 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
189 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
190 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
191 | # CONFIG_INLINE_WRITE_UNLOCK is not set | ||
192 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
193 | # CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set | ||
194 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
195 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
164 | # CONFIG_FREEZER is not set | 196 | # CONFIG_FREEZER is not set |
165 | 197 | ||
166 | # | 198 | # |
@@ -253,8 +285,6 @@ CONFIG_MIGRATION=y | |||
253 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 285 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
254 | CONFIG_ZONE_DMA_FLAG=0 | 286 | CONFIG_ZONE_DMA_FLAG=0 |
255 | CONFIG_NR_QUICK=2 | 287 | CONFIG_NR_QUICK=2 |
256 | CONFIG_HAVE_MLOCK=y | ||
257 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
258 | # CONFIG_KSM is not set | 288 | # CONFIG_KSM is not set |
259 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | 289 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 |
260 | 290 | ||
@@ -287,7 +317,6 @@ CONFIG_SH_SH7785LCR=y | |||
287 | # Timer and clock configuration | 317 | # Timer and clock configuration |
288 | # | 318 | # |
289 | CONFIG_SH_TIMER_TMU=y | 319 | CONFIG_SH_TIMER_TMU=y |
290 | CONFIG_SH_PCLK_FREQ=50000000 | ||
291 | CONFIG_SH_CLK_CPG=y | 320 | CONFIG_SH_CLK_CPG=y |
292 | CONFIG_TICK_ONESHOT=y | 321 | CONFIG_TICK_ONESHOT=y |
293 | CONFIG_NO_HZ=y | 322 | CONFIG_NO_HZ=y |
@@ -360,7 +389,6 @@ CONFIG_ENTRY_OFFSET=0x00001000 | |||
360 | # Bus options | 389 | # Bus options |
361 | # | 390 | # |
362 | CONFIG_PCI=y | 391 | CONFIG_PCI=y |
363 | CONFIG_SH_PCIDMA_NONCOHERENT=y | ||
364 | # CONFIG_PCIEPORTBUS is not set | 392 | # CONFIG_PCIEPORTBUS is not set |
365 | # CONFIG_ARCH_SUPPORTS_MSI is not set | 393 | # CONFIG_ARCH_SUPPORTS_MSI is not set |
366 | # CONFIG_PCI_LEGACY is not set | 394 | # CONFIG_PCI_LEGACY is not set |
@@ -470,10 +498,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
470 | # CONFIG_AF_RXRPC is not set | 498 | # CONFIG_AF_RXRPC is not set |
471 | CONFIG_WIRELESS=y | 499 | CONFIG_WIRELESS=y |
472 | # CONFIG_CFG80211 is not set | 500 | # CONFIG_CFG80211 is not set |
473 | CONFIG_CFG80211_DEFAULT_PS_VALUE=0 | ||
474 | # CONFIG_WIRELESS_OLD_REGULATORY is not set | ||
475 | CONFIG_WIRELESS_EXT=y | ||
476 | CONFIG_WIRELESS_EXT_SYSFS=y | ||
477 | # CONFIG_LIB80211 is not set | 501 | # CONFIG_LIB80211 is not set |
478 | 502 | ||
479 | # | 503 | # |
@@ -588,6 +612,10 @@ CONFIG_BLK_DEV=y | |||
588 | # CONFIG_BLK_DEV_COW_COMMON is not set | 612 | # CONFIG_BLK_DEV_COW_COMMON is not set |
589 | CONFIG_BLK_DEV_LOOP=y | 613 | CONFIG_BLK_DEV_LOOP=y |
590 | CONFIG_BLK_DEV_CRYPTOLOOP=m | 614 | CONFIG_BLK_DEV_CRYPTOLOOP=m |
615 | |||
616 | # | ||
617 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
618 | # | ||
591 | # CONFIG_BLK_DEV_NBD is not set | 619 | # CONFIG_BLK_DEV_NBD is not set |
592 | # CONFIG_BLK_DEV_SX8 is not set | 620 | # CONFIG_BLK_DEV_SX8 is not set |
593 | # CONFIG_BLK_DEV_UB is not set | 621 | # CONFIG_BLK_DEV_UB is not set |
@@ -688,15 +716,16 @@ CONFIG_SATA_SIL=y | |||
688 | # CONFIG_PATA_NS87415 is not set | 716 | # CONFIG_PATA_NS87415 is not set |
689 | # CONFIG_PATA_OPTI is not set | 717 | # CONFIG_PATA_OPTI is not set |
690 | # CONFIG_PATA_OPTIDMA is not set | 718 | # CONFIG_PATA_OPTIDMA is not set |
719 | # CONFIG_PATA_PDC2027X is not set | ||
691 | # CONFIG_PATA_PDC_OLD is not set | 720 | # CONFIG_PATA_PDC_OLD is not set |
692 | # CONFIG_PATA_RADISYS is not set | 721 | # CONFIG_PATA_RADISYS is not set |
693 | # CONFIG_PATA_RDC is not set | 722 | # CONFIG_PATA_RDC is not set |
694 | # CONFIG_PATA_RZ1000 is not set | 723 | # CONFIG_PATA_RZ1000 is not set |
695 | # CONFIG_PATA_SC1200 is not set | 724 | # CONFIG_PATA_SC1200 is not set |
696 | # CONFIG_PATA_SERVERWORKS is not set | 725 | # CONFIG_PATA_SERVERWORKS is not set |
697 | # CONFIG_PATA_PDC2027X is not set | ||
698 | # CONFIG_PATA_SIL680 is not set | 726 | # CONFIG_PATA_SIL680 is not set |
699 | # CONFIG_PATA_SIS is not set | 727 | # CONFIG_PATA_SIS is not set |
728 | # CONFIG_PATA_TOSHIBA is not set | ||
700 | # CONFIG_PATA_VIA is not set | 729 | # CONFIG_PATA_VIA is not set |
701 | # CONFIG_PATA_WINBOND is not set | 730 | # CONFIG_PATA_WINBOND is not set |
702 | # CONFIG_PATA_PLATFORM is not set | 731 | # CONFIG_PATA_PLATFORM is not set |
@@ -777,6 +806,7 @@ CONFIG_R8169=y | |||
777 | # CONFIG_NETCONSOLE is not set | 806 | # CONFIG_NETCONSOLE is not set |
778 | # CONFIG_NETPOLL is not set | 807 | # CONFIG_NETPOLL is not set |
779 | # CONFIG_NET_POLL_CONTROLLER is not set | 808 | # CONFIG_NET_POLL_CONTROLLER is not set |
809 | # CONFIG_VMXNET3 is not set | ||
780 | # CONFIG_ISDN is not set | 810 | # CONFIG_ISDN is not set |
781 | # CONFIG_PHONE is not set | 811 | # CONFIG_PHONE is not set |
782 | 812 | ||
@@ -786,6 +816,7 @@ CONFIG_R8169=y | |||
786 | CONFIG_INPUT=y | 816 | CONFIG_INPUT=y |
787 | CONFIG_INPUT_FF_MEMLESS=m | 817 | CONFIG_INPUT_FF_MEMLESS=m |
788 | # CONFIG_INPUT_POLLDEV is not set | 818 | # CONFIG_INPUT_POLLDEV is not set |
819 | # CONFIG_INPUT_SPARSEKMAP is not set | ||
789 | 820 | ||
790 | # | 821 | # |
791 | # Userland interfaces | 822 | # Userland interfaces |
@@ -841,6 +872,7 @@ CONFIG_SERIO_SERPORT=y | |||
841 | # CONFIG_SERIO_PCIPS2 is not set | 872 | # CONFIG_SERIO_PCIPS2 is not set |
842 | CONFIG_SERIO_LIBPS2=y | 873 | CONFIG_SERIO_LIBPS2=y |
843 | # CONFIG_SERIO_RAW is not set | 874 | # CONFIG_SERIO_RAW is not set |
875 | # CONFIG_SERIO_ALTERA_PS2 is not set | ||
844 | # CONFIG_GAMEPORT is not set | 876 | # CONFIG_GAMEPORT is not set |
845 | 877 | ||
846 | # | 878 | # |
@@ -924,11 +956,6 @@ CONFIG_I2C_ALGOPCA=y | |||
924 | # CONFIG_I2C_TINY_USB is not set | 956 | # CONFIG_I2C_TINY_USB is not set |
925 | 957 | ||
926 | # | 958 | # |
927 | # Graphics adapter I2C/DDC channel drivers | ||
928 | # | ||
929 | # CONFIG_I2C_VOODOO3 is not set | ||
930 | |||
931 | # | ||
932 | # Other I2C/SMBus bus drivers | 959 | # Other I2C/SMBus bus drivers |
933 | # | 960 | # |
934 | CONFIG_I2C_PCA_PLATFORM=y | 961 | CONFIG_I2C_PCA_PLATFORM=y |
@@ -937,7 +964,6 @@ CONFIG_I2C_PCA_PLATFORM=y | |||
937 | # | 964 | # |
938 | # Miscellaneous I2C Chip support | 965 | # Miscellaneous I2C Chip support |
939 | # | 966 | # |
940 | # CONFIG_DS1682 is not set | ||
941 | # CONFIG_SENSORS_TSL2550 is not set | 967 | # CONFIG_SENSORS_TSL2550 is not set |
942 | # CONFIG_I2C_DEBUG_CORE is not set | 968 | # CONFIG_I2C_DEBUG_CORE is not set |
943 | # CONFIG_I2C_DEBUG_ALGO is not set | 969 | # CONFIG_I2C_DEBUG_ALGO is not set |
@@ -986,15 +1012,18 @@ CONFIG_SSB_POSSIBLE=y | |||
986 | # | 1012 | # |
987 | # CONFIG_MFD_CORE is not set | 1013 | # CONFIG_MFD_CORE is not set |
988 | CONFIG_MFD_SM501=y | 1014 | CONFIG_MFD_SM501=y |
1015 | # CONFIG_MFD_SH_MOBILE_SDHI is not set | ||
989 | # CONFIG_HTC_PASIC3 is not set | 1016 | # CONFIG_HTC_PASIC3 is not set |
990 | # CONFIG_TWL4030_CORE is not set | 1017 | # CONFIG_TWL4030_CORE is not set |
991 | # CONFIG_MFD_TMIO is not set | 1018 | # CONFIG_MFD_TMIO is not set |
992 | # CONFIG_PMIC_DA903X is not set | 1019 | # CONFIG_PMIC_DA903X is not set |
1020 | # CONFIG_PMIC_ADP5520 is not set | ||
993 | # CONFIG_MFD_WM8400 is not set | 1021 | # CONFIG_MFD_WM8400 is not set |
994 | # CONFIG_MFD_WM831X is not set | 1022 | # CONFIG_MFD_WM831X is not set |
995 | # CONFIG_MFD_WM8350_I2C is not set | 1023 | # CONFIG_MFD_WM8350_I2C is not set |
996 | # CONFIG_MFD_PCF50633 is not set | 1024 | # CONFIG_MFD_PCF50633 is not set |
997 | # CONFIG_AB3100_CORE is not set | 1025 | # CONFIG_AB3100_CORE is not set |
1026 | # CONFIG_MFD_88PM8607 is not set | ||
998 | # CONFIG_REGULATOR is not set | 1027 | # CONFIG_REGULATOR is not set |
999 | # CONFIG_MEDIA_SUPPORT is not set | 1028 | # CONFIG_MEDIA_SUPPORT is not set |
1000 | 1029 | ||
@@ -1129,6 +1158,7 @@ CONFIG_SND_CMIPCI=y | |||
1129 | # CONFIG_SND_OXYGEN is not set | 1158 | # CONFIG_SND_OXYGEN is not set |
1130 | # CONFIG_SND_CS4281 is not set | 1159 | # CONFIG_SND_CS4281 is not set |
1131 | # CONFIG_SND_CS46XX is not set | 1160 | # CONFIG_SND_CS46XX is not set |
1161 | # CONFIG_SND_CS5535AUDIO is not set | ||
1132 | # CONFIG_SND_CTXFI is not set | 1162 | # CONFIG_SND_CTXFI is not set |
1133 | # CONFIG_SND_DARLA20 is not set | 1163 | # CONFIG_SND_DARLA20 is not set |
1134 | # CONFIG_SND_GINA20 is not set | 1164 | # CONFIG_SND_GINA20 is not set |
@@ -1363,6 +1393,7 @@ CONFIG_MMC_SDHCI_PLTFM=m | |||
1363 | # CONFIG_MMC_AT91 is not set | 1393 | # CONFIG_MMC_AT91 is not set |
1364 | # CONFIG_MMC_ATMELMCI is not set | 1394 | # CONFIG_MMC_ATMELMCI is not set |
1365 | # CONFIG_MMC_TIFM_SD is not set | 1395 | # CONFIG_MMC_TIFM_SD is not set |
1396 | # CONFIG_MMC_TMIO is not set | ||
1366 | # CONFIG_MMC_CB710 is not set | 1397 | # CONFIG_MMC_CB710 is not set |
1367 | # CONFIG_MMC_VIA_SDMMC is not set | 1398 | # CONFIG_MMC_VIA_SDMMC is not set |
1368 | # CONFIG_MEMSTICK is not set | 1399 | # CONFIG_MEMSTICK is not set |
@@ -1397,6 +1428,7 @@ CONFIG_RTC_DRV_RS5C372=y | |||
1397 | # CONFIG_RTC_DRV_PCF8563 is not set | 1428 | # CONFIG_RTC_DRV_PCF8563 is not set |
1398 | # CONFIG_RTC_DRV_PCF8583 is not set | 1429 | # CONFIG_RTC_DRV_PCF8583 is not set |
1399 | # CONFIG_RTC_DRV_M41T80 is not set | 1430 | # CONFIG_RTC_DRV_M41T80 is not set |
1431 | # CONFIG_RTC_DRV_BQ32K is not set | ||
1400 | # CONFIG_RTC_DRV_S35390A is not set | 1432 | # CONFIG_RTC_DRV_S35390A is not set |
1401 | # CONFIG_RTC_DRV_FM3130 is not set | 1433 | # CONFIG_RTC_DRV_FM3130 is not set |
1402 | # CONFIG_RTC_DRV_RX8581 is not set | 1434 | # CONFIG_RTC_DRV_RX8581 is not set |
@@ -1417,7 +1449,9 @@ CONFIG_RTC_DRV_RS5C372=y | |||
1417 | # CONFIG_RTC_DRV_M48T86 is not set | 1449 | # CONFIG_RTC_DRV_M48T86 is not set |
1418 | # CONFIG_RTC_DRV_M48T35 is not set | 1450 | # CONFIG_RTC_DRV_M48T35 is not set |
1419 | # CONFIG_RTC_DRV_M48T59 is not set | 1451 | # CONFIG_RTC_DRV_M48T59 is not set |
1452 | # CONFIG_RTC_DRV_MSM6242 is not set | ||
1420 | # CONFIG_RTC_DRV_BQ4802 is not set | 1453 | # CONFIG_RTC_DRV_BQ4802 is not set |
1454 | # CONFIG_RTC_DRV_RP5C01 is not set | ||
1421 | # CONFIG_RTC_DRV_V3020 is not set | 1455 | # CONFIG_RTC_DRV_V3020 is not set |
1422 | 1456 | ||
1423 | # | 1457 | # |
@@ -1622,13 +1656,14 @@ CONFIG_SCHED_DEBUG=y | |||
1622 | CONFIG_SCHEDSTATS=y | 1656 | CONFIG_SCHEDSTATS=y |
1623 | CONFIG_TRACE_IRQFLAGS=y | 1657 | CONFIG_TRACE_IRQFLAGS=y |
1624 | CONFIG_STACKTRACE=y | 1658 | CONFIG_STACKTRACE=y |
1625 | # CONFIG_DEBUG_BUGVERBOSE is not set | 1659 | CONFIG_DEBUG_BUGVERBOSE=y |
1626 | # CONFIG_DEBUG_MEMORY_INIT is not set | 1660 | # CONFIG_DEBUG_MEMORY_INIT is not set |
1627 | CONFIG_FRAME_POINTER=y | 1661 | CONFIG_FRAME_POINTER=y |
1628 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | 1662 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set |
1629 | CONFIG_LATENCYTOP=y | 1663 | CONFIG_LATENCYTOP=y |
1630 | CONFIG_SYSCTL_SYSCALL_CHECK=y | 1664 | CONFIG_SYSCTL_SYSCALL_CHECK=y |
1631 | CONFIG_NOP_TRACER=y | 1665 | CONFIG_NOP_TRACER=y |
1666 | CONFIG_HAVE_FTRACE_NMI_ENTER=y | ||
1632 | CONFIG_HAVE_FUNCTION_TRACER=y | 1667 | CONFIG_HAVE_FUNCTION_TRACER=y |
1633 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | 1668 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y |
1634 | CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y | 1669 | CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y |
@@ -1637,6 +1672,7 @@ CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | |||
1637 | CONFIG_HAVE_SYSCALL_TRACEPOINTS=y | 1672 | CONFIG_HAVE_SYSCALL_TRACEPOINTS=y |
1638 | CONFIG_TRACER_MAX_TRACE=y | 1673 | CONFIG_TRACER_MAX_TRACE=y |
1639 | CONFIG_RING_BUFFER=y | 1674 | CONFIG_RING_BUFFER=y |
1675 | CONFIG_FTRACE_NMI_ENTER=y | ||
1640 | CONFIG_EVENT_TRACING=y | 1676 | CONFIG_EVENT_TRACING=y |
1641 | CONFIG_CONTEXT_SWITCH_TRACER=y | 1677 | CONFIG_CONTEXT_SWITCH_TRACER=y |
1642 | CONFIG_RING_BUFFER_ALLOW_SWAP=y | 1678 | CONFIG_RING_BUFFER_ALLOW_SWAP=y |
@@ -1668,7 +1704,6 @@ CONFIG_FTRACE_MCOUNT_RECORD=y | |||
1668 | # CONFIG_SAMPLES is not set | 1704 | # CONFIG_SAMPLES is not set |
1669 | CONFIG_HAVE_ARCH_KGDB=y | 1705 | CONFIG_HAVE_ARCH_KGDB=y |
1670 | # CONFIG_SH_STANDARD_BIOS is not set | 1706 | # CONFIG_SH_STANDARD_BIOS is not set |
1671 | # CONFIG_EARLY_SCIF_CONSOLE is not set | ||
1672 | CONFIG_DWARF_UNWINDER=y | 1707 | CONFIG_DWARF_UNWINDER=y |
1673 | CONFIG_MCOUNT=y | 1708 | CONFIG_MCOUNT=y |
1674 | 1709 | ||
@@ -1678,7 +1713,11 @@ CONFIG_MCOUNT=y | |||
1678 | # CONFIG_KEYS is not set | 1713 | # CONFIG_KEYS is not set |
1679 | # CONFIG_SECURITY is not set | 1714 | # CONFIG_SECURITY is not set |
1680 | # CONFIG_SECURITYFS is not set | 1715 | # CONFIG_SECURITYFS is not set |
1681 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1716 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
1717 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
1718 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
1719 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
1720 | CONFIG_DEFAULT_SECURITY="" | ||
1682 | CONFIG_CRYPTO=y | 1721 | CONFIG_CRYPTO=y |
1683 | 1722 | ||
1684 | # | 1723 | # |
diff --git a/arch/sh/configs/sh7785lcr_defconfig b/arch/sh/configs/sh7785lcr_defconfig index 8c2c47ed3991..f196e87c7665 100644 --- a/arch/sh/configs/sh7785lcr_defconfig +++ b/arch/sh/configs/sh7785lcr_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.31 | 3 | # Linux kernel version: 2.6.33-rc2 |
4 | # Thu Sep 24 19:23:18 2009 | 4 | # Mon Jan 4 15:09:09 2010 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_SUPERH32=y | 7 | CONFIG_SUPERH32=y |
@@ -20,6 +20,7 @@ CONFIG_GENERIC_TIME=y | |||
20 | CONFIG_GENERIC_CLOCKEVENTS=y | 20 | CONFIG_GENERIC_CLOCKEVENTS=y |
21 | # CONFIG_ARCH_SUSPEND_POSSIBLE is not set | 21 | # CONFIG_ARCH_SUSPEND_POSSIBLE is not set |
22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y | 22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y |
23 | CONFIG_SYS_SUPPORTS_HUGETLBFS=y | ||
23 | CONFIG_SYS_SUPPORTS_NUMA=y | 24 | CONFIG_SYS_SUPPORTS_NUMA=y |
24 | CONFIG_SYS_SUPPORTS_PCI=y | 25 | CONFIG_SYS_SUPPORTS_PCI=y |
25 | CONFIG_SYS_SUPPORTS_TMU=y | 26 | CONFIG_SYS_SUPPORTS_TMU=y |
@@ -31,6 +32,7 @@ CONFIG_HAVE_LATENCYTOP_SUPPORT=y | |||
31 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | 32 | CONFIG_ARCH_NO_VIRT_TO_BUS=y |
32 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y | 33 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y |
33 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y | 34 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y |
35 | CONFIG_DMA_NONCOHERENT=y | ||
34 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 36 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
35 | CONFIG_CONSTRUCTORS=y | 37 | CONFIG_CONSTRUCTORS=y |
36 | 38 | ||
@@ -63,6 +65,7 @@ CONFIG_BSD_PROCESS_ACCT=y | |||
63 | # | 65 | # |
64 | CONFIG_TREE_RCU=y | 66 | CONFIG_TREE_RCU=y |
65 | # CONFIG_TREE_PREEMPT_RCU is not set | 67 | # CONFIG_TREE_PREEMPT_RCU is not set |
68 | # CONFIG_TINY_RCU is not set | ||
66 | # CONFIG_RCU_TRACE is not set | 69 | # CONFIG_RCU_TRACE is not set |
67 | CONFIG_RCU_FANOUT=32 | 70 | CONFIG_RCU_FANOUT=32 |
68 | # CONFIG_RCU_FANOUT_EXACT is not set | 71 | # CONFIG_RCU_FANOUT_EXACT is not set |
@@ -103,12 +106,14 @@ CONFIG_EVENTFD=y | |||
103 | CONFIG_SHMEM=y | 106 | CONFIG_SHMEM=y |
104 | CONFIG_AIO=y | 107 | CONFIG_AIO=y |
105 | CONFIG_HAVE_PERF_EVENTS=y | 108 | CONFIG_HAVE_PERF_EVENTS=y |
109 | CONFIG_PERF_USE_VMALLOC=y | ||
106 | 110 | ||
107 | # | 111 | # |
108 | # Kernel Performance Events And Counters | 112 | # Kernel Performance Events And Counters |
109 | # | 113 | # |
110 | CONFIG_PERF_EVENTS=y | 114 | CONFIG_PERF_EVENTS=y |
111 | # CONFIG_PERF_COUNTERS is not set | 115 | # CONFIG_PERF_COUNTERS is not set |
116 | # CONFIG_DEBUG_PERF_USE_VMALLOC is not set | ||
112 | CONFIG_VM_EVENT_COUNTERS=y | 117 | CONFIG_VM_EVENT_COUNTERS=y |
113 | CONFIG_PCI_QUIRKS=y | 118 | CONFIG_PCI_QUIRKS=y |
114 | CONFIG_COMPAT_BRK=y | 119 | CONFIG_COMPAT_BRK=y |
@@ -123,6 +128,7 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
123 | CONFIG_HAVE_KPROBES=y | 128 | CONFIG_HAVE_KPROBES=y |
124 | CONFIG_HAVE_KRETPROBES=y | 129 | CONFIG_HAVE_KRETPROBES=y |
125 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 130 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
131 | CONFIG_HAVE_DMA_ATTRS=y | ||
126 | CONFIG_HAVE_CLK=y | 132 | CONFIG_HAVE_CLK=y |
127 | CONFIG_HAVE_DMA_API_DEBUG=y | 133 | CONFIG_HAVE_DMA_API_DEBUG=y |
128 | 134 | ||
@@ -149,14 +155,41 @@ CONFIG_LBDAF=y | |||
149 | # IO Schedulers | 155 | # IO Schedulers |
150 | # | 156 | # |
151 | CONFIG_IOSCHED_NOOP=y | 157 | CONFIG_IOSCHED_NOOP=y |
152 | CONFIG_IOSCHED_AS=y | ||
153 | CONFIG_IOSCHED_DEADLINE=y | 158 | CONFIG_IOSCHED_DEADLINE=y |
154 | CONFIG_IOSCHED_CFQ=y | 159 | CONFIG_IOSCHED_CFQ=y |
155 | # CONFIG_DEFAULT_AS is not set | ||
156 | # CONFIG_DEFAULT_DEADLINE is not set | 160 | # CONFIG_DEFAULT_DEADLINE is not set |
157 | CONFIG_DEFAULT_CFQ=y | 161 | CONFIG_DEFAULT_CFQ=y |
158 | # CONFIG_DEFAULT_NOOP is not set | 162 | # CONFIG_DEFAULT_NOOP is not set |
159 | CONFIG_DEFAULT_IOSCHED="cfq" | 163 | CONFIG_DEFAULT_IOSCHED="cfq" |
164 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
165 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
166 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
167 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
168 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
169 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
170 | # CONFIG_INLINE_SPIN_UNLOCK is not set | ||
171 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
172 | # CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set | ||
173 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
174 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
175 | # CONFIG_INLINE_READ_LOCK is not set | ||
176 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
177 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
178 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
179 | # CONFIG_INLINE_READ_UNLOCK is not set | ||
180 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
181 | # CONFIG_INLINE_READ_UNLOCK_IRQ is not set | ||
182 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
183 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
184 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
185 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
186 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
187 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
188 | # CONFIG_INLINE_WRITE_UNLOCK is not set | ||
189 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
190 | # CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set | ||
191 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
192 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
160 | # CONFIG_FREEZER is not set | 193 | # CONFIG_FREEZER is not set |
161 | 194 | ||
162 | # | 195 | # |
@@ -237,8 +270,6 @@ CONFIG_SPLIT_PTLOCK_CPUS=4 | |||
237 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 270 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
238 | CONFIG_ZONE_DMA_FLAG=0 | 271 | CONFIG_ZONE_DMA_FLAG=0 |
239 | CONFIG_NR_QUICK=2 | 272 | CONFIG_NR_QUICK=2 |
240 | CONFIG_HAVE_MLOCK=y | ||
241 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
242 | # CONFIG_KSM is not set | 273 | # CONFIG_KSM is not set |
243 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | 274 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 |
244 | 275 | ||
@@ -271,7 +302,6 @@ CONFIG_SH_SH7785LCR_29BIT_PHYSMAPS=y | |||
271 | # Timer and clock configuration | 302 | # Timer and clock configuration |
272 | # | 303 | # |
273 | CONFIG_SH_TIMER_TMU=y | 304 | CONFIG_SH_TIMER_TMU=y |
274 | CONFIG_SH_PCLK_FREQ=50000000 | ||
275 | CONFIG_SH_CLK_CPG=y | 305 | CONFIG_SH_CLK_CPG=y |
276 | CONFIG_TICK_ONESHOT=y | 306 | CONFIG_TICK_ONESHOT=y |
277 | # CONFIG_NO_HZ is not set | 307 | # CONFIG_NO_HZ is not set |
@@ -329,7 +359,6 @@ CONFIG_ENTRY_OFFSET=0x00001000 | |||
329 | # Bus options | 359 | # Bus options |
330 | # | 360 | # |
331 | CONFIG_PCI=y | 361 | CONFIG_PCI=y |
332 | CONFIG_SH_PCIDMA_NONCOHERENT=y | ||
333 | # CONFIG_PCIEPORTBUS is not set | 362 | # CONFIG_PCIEPORTBUS is not set |
334 | # CONFIG_ARCH_SUPPORTS_MSI is not set | 363 | # CONFIG_ARCH_SUPPORTS_MSI is not set |
335 | CONFIG_PCI_LEGACY=y | 364 | CONFIG_PCI_LEGACY=y |
@@ -433,10 +462,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
433 | # CONFIG_AF_RXRPC is not set | 462 | # CONFIG_AF_RXRPC is not set |
434 | CONFIG_WIRELESS=y | 463 | CONFIG_WIRELESS=y |
435 | # CONFIG_CFG80211 is not set | 464 | # CONFIG_CFG80211 is not set |
436 | CONFIG_CFG80211_DEFAULT_PS_VALUE=0 | ||
437 | # CONFIG_WIRELESS_OLD_REGULATORY is not set | ||
438 | CONFIG_WIRELESS_EXT=y | ||
439 | CONFIG_WIRELESS_EXT_SYSFS=y | ||
440 | # CONFIG_LIB80211 is not set | 465 | # CONFIG_LIB80211 is not set |
441 | 466 | ||
442 | # | 467 | # |
@@ -552,6 +577,10 @@ CONFIG_BLK_DEV=y | |||
552 | # CONFIG_BLK_DEV_UMEM is not set | 577 | # CONFIG_BLK_DEV_UMEM is not set |
553 | # CONFIG_BLK_DEV_COW_COMMON is not set | 578 | # CONFIG_BLK_DEV_COW_COMMON is not set |
554 | # CONFIG_BLK_DEV_LOOP is not set | 579 | # CONFIG_BLK_DEV_LOOP is not set |
580 | |||
581 | # | ||
582 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
583 | # | ||
555 | # CONFIG_BLK_DEV_NBD is not set | 584 | # CONFIG_BLK_DEV_NBD is not set |
556 | # CONFIG_BLK_DEV_SX8 is not set | 585 | # CONFIG_BLK_DEV_SX8 is not set |
557 | # CONFIG_BLK_DEV_UB is not set | 586 | # CONFIG_BLK_DEV_UB is not set |
@@ -652,15 +681,16 @@ CONFIG_SATA_SIL=y | |||
652 | # CONFIG_PATA_NS87415 is not set | 681 | # CONFIG_PATA_NS87415 is not set |
653 | # CONFIG_PATA_OPTI is not set | 682 | # CONFIG_PATA_OPTI is not set |
654 | # CONFIG_PATA_OPTIDMA is not set | 683 | # CONFIG_PATA_OPTIDMA is not set |
684 | # CONFIG_PATA_PDC2027X is not set | ||
655 | # CONFIG_PATA_PDC_OLD is not set | 685 | # CONFIG_PATA_PDC_OLD is not set |
656 | # CONFIG_PATA_RADISYS is not set | 686 | # CONFIG_PATA_RADISYS is not set |
657 | # CONFIG_PATA_RDC is not set | 687 | # CONFIG_PATA_RDC is not set |
658 | # CONFIG_PATA_RZ1000 is not set | 688 | # CONFIG_PATA_RZ1000 is not set |
659 | # CONFIG_PATA_SC1200 is not set | 689 | # CONFIG_PATA_SC1200 is not set |
660 | # CONFIG_PATA_SERVERWORKS is not set | 690 | # CONFIG_PATA_SERVERWORKS is not set |
661 | # CONFIG_PATA_PDC2027X is not set | ||
662 | # CONFIG_PATA_SIL680 is not set | 691 | # CONFIG_PATA_SIL680 is not set |
663 | # CONFIG_PATA_SIS is not set | 692 | # CONFIG_PATA_SIS is not set |
693 | # CONFIG_PATA_TOSHIBA is not set | ||
664 | # CONFIG_PATA_VIA is not set | 694 | # CONFIG_PATA_VIA is not set |
665 | # CONFIG_PATA_WINBOND is not set | 695 | # CONFIG_PATA_WINBOND is not set |
666 | # CONFIG_PATA_PLATFORM is not set | 696 | # CONFIG_PATA_PLATFORM is not set |
@@ -719,8 +749,10 @@ CONFIG_R8169=y | |||
719 | # CONFIG_NETDEV_10000 is not set | 749 | # CONFIG_NETDEV_10000 is not set |
720 | # CONFIG_TR is not set | 750 | # CONFIG_TR is not set |
721 | CONFIG_WLAN=y | 751 | CONFIG_WLAN=y |
722 | # CONFIG_WLAN_PRE80211 is not set | 752 | # CONFIG_ATMEL is not set |
723 | # CONFIG_WLAN_80211 is not set | 753 | # CONFIG_PRISM54 is not set |
754 | # CONFIG_USB_ZD1201 is not set | ||
755 | # CONFIG_HOSTAP is not set | ||
724 | 756 | ||
725 | # | 757 | # |
726 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 758 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -743,6 +775,7 @@ CONFIG_WLAN=y | |||
743 | # CONFIG_NETCONSOLE is not set | 775 | # CONFIG_NETCONSOLE is not set |
744 | # CONFIG_NETPOLL is not set | 776 | # CONFIG_NETPOLL is not set |
745 | # CONFIG_NET_POLL_CONTROLLER is not set | 777 | # CONFIG_NET_POLL_CONTROLLER is not set |
778 | # CONFIG_VMXNET3 is not set | ||
746 | # CONFIG_ISDN is not set | 779 | # CONFIG_ISDN is not set |
747 | # CONFIG_PHONE is not set | 780 | # CONFIG_PHONE is not set |
748 | 781 | ||
@@ -752,6 +785,7 @@ CONFIG_WLAN=y | |||
752 | CONFIG_INPUT=y | 785 | CONFIG_INPUT=y |
753 | CONFIG_INPUT_FF_MEMLESS=m | 786 | CONFIG_INPUT_FF_MEMLESS=m |
754 | # CONFIG_INPUT_POLLDEV is not set | 787 | # CONFIG_INPUT_POLLDEV is not set |
788 | # CONFIG_INPUT_SPARSEKMAP is not set | ||
755 | 789 | ||
756 | # | 790 | # |
757 | # Userland interfaces | 791 | # Userland interfaces |
@@ -874,11 +908,6 @@ CONFIG_I2C_ALGOPCA=y | |||
874 | # CONFIG_I2C_TINY_USB is not set | 908 | # CONFIG_I2C_TINY_USB is not set |
875 | 909 | ||
876 | # | 910 | # |
877 | # Graphics adapter I2C/DDC channel drivers | ||
878 | # | ||
879 | # CONFIG_I2C_VOODOO3 is not set | ||
880 | |||
881 | # | ||
882 | # Other I2C/SMBus bus drivers | 911 | # Other I2C/SMBus bus drivers |
883 | # | 912 | # |
884 | CONFIG_I2C_PCA_PLATFORM=y | 913 | CONFIG_I2C_PCA_PLATFORM=y |
@@ -887,7 +916,6 @@ CONFIG_I2C_PCA_PLATFORM=y | |||
887 | # | 916 | # |
888 | # Miscellaneous I2C Chip support | 917 | # Miscellaneous I2C Chip support |
889 | # | 918 | # |
890 | # CONFIG_DS1682 is not set | ||
891 | # CONFIG_SENSORS_TSL2550 is not set | 919 | # CONFIG_SENSORS_TSL2550 is not set |
892 | # CONFIG_I2C_DEBUG_CORE is not set | 920 | # CONFIG_I2C_DEBUG_CORE is not set |
893 | # CONFIG_I2C_DEBUG_ALGO is not set | 921 | # CONFIG_I2C_DEBUG_ALGO is not set |
@@ -916,15 +944,18 @@ CONFIG_SSB_POSSIBLE=y | |||
916 | # | 944 | # |
917 | # CONFIG_MFD_CORE is not set | 945 | # CONFIG_MFD_CORE is not set |
918 | CONFIG_MFD_SM501=y | 946 | CONFIG_MFD_SM501=y |
947 | # CONFIG_MFD_SH_MOBILE_SDHI is not set | ||
919 | # CONFIG_HTC_PASIC3 is not set | 948 | # CONFIG_HTC_PASIC3 is not set |
920 | # CONFIG_TWL4030_CORE is not set | 949 | # CONFIG_TWL4030_CORE is not set |
921 | # CONFIG_MFD_TMIO is not set | 950 | # CONFIG_MFD_TMIO is not set |
922 | # CONFIG_PMIC_DA903X is not set | 951 | # CONFIG_PMIC_DA903X is not set |
952 | # CONFIG_PMIC_ADP5520 is not set | ||
923 | # CONFIG_MFD_WM8400 is not set | 953 | # CONFIG_MFD_WM8400 is not set |
924 | # CONFIG_MFD_WM831X is not set | 954 | # CONFIG_MFD_WM831X is not set |
925 | # CONFIG_MFD_WM8350_I2C is not set | 955 | # CONFIG_MFD_WM8350_I2C is not set |
926 | # CONFIG_MFD_PCF50633 is not set | 956 | # CONFIG_MFD_PCF50633 is not set |
927 | # CONFIG_AB3100_CORE is not set | 957 | # CONFIG_AB3100_CORE is not set |
958 | # CONFIG_MFD_88PM8607 is not set | ||
928 | # CONFIG_REGULATOR is not set | 959 | # CONFIG_REGULATOR is not set |
929 | # CONFIG_MEDIA_SUPPORT is not set | 960 | # CONFIG_MEDIA_SUPPORT is not set |
930 | 961 | ||
@@ -1205,6 +1236,7 @@ CONFIG_RTC_DRV_RS5C372=y | |||
1205 | # CONFIG_RTC_DRV_PCF8563 is not set | 1236 | # CONFIG_RTC_DRV_PCF8563 is not set |
1206 | # CONFIG_RTC_DRV_PCF8583 is not set | 1237 | # CONFIG_RTC_DRV_PCF8583 is not set |
1207 | # CONFIG_RTC_DRV_M41T80 is not set | 1238 | # CONFIG_RTC_DRV_M41T80 is not set |
1239 | # CONFIG_RTC_DRV_BQ32K is not set | ||
1208 | # CONFIG_RTC_DRV_S35390A is not set | 1240 | # CONFIG_RTC_DRV_S35390A is not set |
1209 | # CONFIG_RTC_DRV_FM3130 is not set | 1241 | # CONFIG_RTC_DRV_FM3130 is not set |
1210 | # CONFIG_RTC_DRV_RX8581 is not set | 1242 | # CONFIG_RTC_DRV_RX8581 is not set |
@@ -1225,7 +1257,9 @@ CONFIG_RTC_DRV_RS5C372=y | |||
1225 | # CONFIG_RTC_DRV_M48T86 is not set | 1257 | # CONFIG_RTC_DRV_M48T86 is not set |
1226 | # CONFIG_RTC_DRV_M48T35 is not set | 1258 | # CONFIG_RTC_DRV_M48T35 is not set |
1227 | # CONFIG_RTC_DRV_M48T59 is not set | 1259 | # CONFIG_RTC_DRV_M48T59 is not set |
1260 | # CONFIG_RTC_DRV_MSM6242 is not set | ||
1228 | # CONFIG_RTC_DRV_BQ4802 is not set | 1261 | # CONFIG_RTC_DRV_BQ4802 is not set |
1262 | # CONFIG_RTC_DRV_RP5C01 is not set | ||
1229 | # CONFIG_RTC_DRV_V3020 is not set | 1263 | # CONFIG_RTC_DRV_V3020 is not set |
1230 | 1264 | ||
1231 | # | 1265 | # |
@@ -1484,7 +1518,6 @@ CONFIG_BRANCH_PROFILE_NONE=y | |||
1484 | CONFIG_HAVE_ARCH_KGDB=y | 1518 | CONFIG_HAVE_ARCH_KGDB=y |
1485 | # CONFIG_KGDB is not set | 1519 | # CONFIG_KGDB is not set |
1486 | # CONFIG_SH_STANDARD_BIOS is not set | 1520 | # CONFIG_SH_STANDARD_BIOS is not set |
1487 | # CONFIG_EARLY_SCIF_CONSOLE is not set | ||
1488 | # CONFIG_STACK_DEBUG is not set | 1521 | # CONFIG_STACK_DEBUG is not set |
1489 | # CONFIG_DEBUG_STACK_USAGE is not set | 1522 | # CONFIG_DEBUG_STACK_USAGE is not set |
1490 | # CONFIG_4KSTACKS is not set | 1523 | # CONFIG_4KSTACKS is not set |
@@ -1498,7 +1531,11 @@ CONFIG_HAVE_ARCH_KGDB=y | |||
1498 | # CONFIG_KEYS is not set | 1531 | # CONFIG_KEYS is not set |
1499 | # CONFIG_SECURITY is not set | 1532 | # CONFIG_SECURITY is not set |
1500 | # CONFIG_SECURITYFS is not set | 1533 | # CONFIG_SECURITYFS is not set |
1501 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1534 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
1535 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
1536 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
1537 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
1538 | CONFIG_DEFAULT_SECURITY="" | ||
1502 | CONFIG_CRYPTO=y | 1539 | CONFIG_CRYPTO=y |
1503 | 1540 | ||
1504 | # | 1541 | # |
diff --git a/arch/sh/configs/shmin_defconfig b/arch/sh/configs/shmin_defconfig index 92115e612750..45441c0ab30c 100644 --- a/arch/sh/configs/shmin_defconfig +++ b/arch/sh/configs/shmin_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.31 | 3 | # Linux kernel version: 2.6.33-rc2 |
4 | # Thu Sep 24 19:27:17 2009 | 4 | # Mon Jan 4 15:10:09 2010 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_SUPERH32=y | 7 | CONFIG_SUPERH32=y |
@@ -28,6 +28,7 @@ CONFIG_HAVE_LATENCYTOP_SUPPORT=y | |||
28 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | 28 | CONFIG_ARCH_NO_VIRT_TO_BUS=y |
29 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y | 29 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y |
30 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y | 30 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y |
31 | CONFIG_DMA_NONCOHERENT=y | ||
31 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 32 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
32 | CONFIG_CONSTRUCTORS=y | 33 | CONFIG_CONSTRUCTORS=y |
33 | 34 | ||
@@ -57,6 +58,7 @@ CONFIG_KERNEL_GZIP=y | |||
57 | # | 58 | # |
58 | CONFIG_TREE_RCU=y | 59 | CONFIG_TREE_RCU=y |
59 | # CONFIG_TREE_PREEMPT_RCU is not set | 60 | # CONFIG_TREE_PREEMPT_RCU is not set |
61 | # CONFIG_TINY_RCU is not set | ||
60 | # CONFIG_RCU_TRACE is not set | 62 | # CONFIG_RCU_TRACE is not set |
61 | CONFIG_RCU_FANOUT=32 | 63 | CONFIG_RCU_FANOUT=32 |
62 | # CONFIG_RCU_FANOUT_EXACT is not set | 64 | # CONFIG_RCU_FANOUT_EXACT is not set |
@@ -88,6 +90,7 @@ CONFIG_EVENTFD=y | |||
88 | # CONFIG_SHMEM is not set | 90 | # CONFIG_SHMEM is not set |
89 | CONFIG_AIO=y | 91 | CONFIG_AIO=y |
90 | CONFIG_HAVE_PERF_EVENTS=y | 92 | CONFIG_HAVE_PERF_EVENTS=y |
93 | CONFIG_PERF_USE_VMALLOC=y | ||
91 | 94 | ||
92 | # | 95 | # |
93 | # Kernel Performance Events And Counters | 96 | # Kernel Performance Events And Counters |
@@ -105,6 +108,7 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
105 | CONFIG_HAVE_KPROBES=y | 108 | CONFIG_HAVE_KPROBES=y |
106 | CONFIG_HAVE_KRETPROBES=y | 109 | CONFIG_HAVE_KRETPROBES=y |
107 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 110 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
111 | CONFIG_HAVE_DMA_ATTRS=y | ||
108 | CONFIG_HAVE_CLK=y | 112 | CONFIG_HAVE_CLK=y |
109 | CONFIG_HAVE_DMA_API_DEBUG=y | 113 | CONFIG_HAVE_DMA_API_DEBUG=y |
110 | 114 | ||
@@ -124,14 +128,41 @@ CONFIG_LBDAF=y | |||
124 | # IO Schedulers | 128 | # IO Schedulers |
125 | # | 129 | # |
126 | CONFIG_IOSCHED_NOOP=y | 130 | CONFIG_IOSCHED_NOOP=y |
127 | # CONFIG_IOSCHED_AS is not set | ||
128 | # CONFIG_IOSCHED_DEADLINE is not set | 131 | # CONFIG_IOSCHED_DEADLINE is not set |
129 | # CONFIG_IOSCHED_CFQ is not set | 132 | # CONFIG_IOSCHED_CFQ is not set |
130 | # CONFIG_DEFAULT_AS is not set | ||
131 | # CONFIG_DEFAULT_DEADLINE is not set | 133 | # CONFIG_DEFAULT_DEADLINE is not set |
132 | # CONFIG_DEFAULT_CFQ is not set | 134 | # CONFIG_DEFAULT_CFQ is not set |
133 | CONFIG_DEFAULT_NOOP=y | 135 | CONFIG_DEFAULT_NOOP=y |
134 | CONFIG_DEFAULT_IOSCHED="noop" | 136 | CONFIG_DEFAULT_IOSCHED="noop" |
137 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
138 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
139 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
140 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
141 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
142 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
143 | CONFIG_INLINE_SPIN_UNLOCK=y | ||
144 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
145 | CONFIG_INLINE_SPIN_UNLOCK_IRQ=y | ||
146 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
147 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
148 | # CONFIG_INLINE_READ_LOCK is not set | ||
149 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
150 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
151 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
152 | CONFIG_INLINE_READ_UNLOCK=y | ||
153 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
154 | CONFIG_INLINE_READ_UNLOCK_IRQ=y | ||
155 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
156 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
157 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
158 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
159 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
160 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
161 | CONFIG_INLINE_WRITE_UNLOCK=y | ||
162 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
163 | CONFIG_INLINE_WRITE_UNLOCK_IRQ=y | ||
164 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
165 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
135 | # CONFIG_FREEZER is not set | 166 | # CONFIG_FREEZER is not set |
136 | 167 | ||
137 | # | 168 | # |
@@ -207,8 +238,6 @@ CONFIG_SPLIT_PTLOCK_CPUS=4 | |||
207 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 238 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
208 | CONFIG_ZONE_DMA_FLAG=0 | 239 | CONFIG_ZONE_DMA_FLAG=0 |
209 | CONFIG_NR_QUICK=2 | 240 | CONFIG_NR_QUICK=2 |
210 | CONFIG_HAVE_MLOCK=y | ||
211 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
212 | # CONFIG_KSM is not set | 241 | # CONFIG_KSM is not set |
213 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | 242 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 |
214 | 243 | ||
@@ -387,9 +416,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
387 | # CONFIG_AF_RXRPC is not set | 416 | # CONFIG_AF_RXRPC is not set |
388 | CONFIG_WIRELESS=y | 417 | CONFIG_WIRELESS=y |
389 | # CONFIG_CFG80211 is not set | 418 | # CONFIG_CFG80211 is not set |
390 | CONFIG_CFG80211_DEFAULT_PS_VALUE=0 | ||
391 | # CONFIG_WIRELESS_OLD_REGULATORY is not set | ||
392 | # CONFIG_WIRELESS_EXT is not set | ||
393 | # CONFIG_LIB80211 is not set | 419 | # CONFIG_LIB80211 is not set |
394 | 420 | ||
395 | # | 421 | # |
@@ -495,6 +521,10 @@ CONFIG_BLK_DEV=y | |||
495 | # CONFIG_BLK_DEV_COW_COMMON is not set | 521 | # CONFIG_BLK_DEV_COW_COMMON is not set |
496 | CONFIG_BLK_DEV_LOOP=y | 522 | CONFIG_BLK_DEV_LOOP=y |
497 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | 523 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set |
524 | |||
525 | # | ||
526 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
527 | # | ||
498 | # CONFIG_BLK_DEV_NBD is not set | 528 | # CONFIG_BLK_DEV_NBD is not set |
499 | # CONFIG_BLK_DEV_RAM is not set | 529 | # CONFIG_BLK_DEV_RAM is not set |
500 | # CONFIG_CDROM_PKTCDVD is not set | 530 | # CONFIG_CDROM_PKTCDVD is not set |
@@ -546,11 +576,11 @@ CONFIG_NET_ETHERNET=y | |||
546 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | 576 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set |
547 | # CONFIG_B44 is not set | 577 | # CONFIG_B44 is not set |
548 | # CONFIG_KS8842 is not set | 578 | # CONFIG_KS8842 is not set |
579 | # CONFIG_KS8851_MLL is not set | ||
549 | CONFIG_NETDEV_1000=y | 580 | CONFIG_NETDEV_1000=y |
550 | CONFIG_NETDEV_10000=y | 581 | CONFIG_NETDEV_10000=y |
551 | CONFIG_WLAN=y | 582 | CONFIG_WLAN=y |
552 | # CONFIG_WLAN_PRE80211 is not set | 583 | # CONFIG_HOSTAP is not set |
553 | # CONFIG_WLAN_80211 is not set | ||
554 | 584 | ||
555 | # | 585 | # |
556 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 586 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -629,6 +659,7 @@ CONFIG_SSB_POSSIBLE=y | |||
629 | # | 659 | # |
630 | # CONFIG_MFD_CORE is not set | 660 | # CONFIG_MFD_CORE is not set |
631 | # CONFIG_MFD_SM501 is not set | 661 | # CONFIG_MFD_SM501 is not set |
662 | # CONFIG_MFD_SH_MOBILE_SDHI is not set | ||
632 | # CONFIG_HTC_PASIC3 is not set | 663 | # CONFIG_HTC_PASIC3 is not set |
633 | # CONFIG_MFD_TMIO is not set | 664 | # CONFIG_MFD_TMIO is not set |
634 | # CONFIG_REGULATOR is not set | 665 | # CONFIG_REGULATOR is not set |
@@ -688,6 +719,7 @@ CONFIG_RTC_LIB=y | |||
688 | # CONFIG_EXT2_FS is not set | 719 | # CONFIG_EXT2_FS is not set |
689 | # CONFIG_EXT3_FS is not set | 720 | # CONFIG_EXT3_FS is not set |
690 | # CONFIG_EXT4_FS is not set | 721 | # CONFIG_EXT4_FS is not set |
722 | CONFIG_EXT4_USE_FOR_EXT23=y | ||
691 | # CONFIG_REISERFS_FS is not set | 723 | # CONFIG_REISERFS_FS is not set |
692 | # CONFIG_JFS_FS is not set | 724 | # CONFIG_JFS_FS is not set |
693 | # CONFIG_FS_POSIX_ACL is not set | 725 | # CONFIG_FS_POSIX_ACL is not set |
@@ -731,7 +763,6 @@ CONFIG_PROC_FS=y | |||
731 | CONFIG_PROC_SYSCTL=y | 763 | CONFIG_PROC_SYSCTL=y |
732 | CONFIG_PROC_PAGE_MONITOR=y | 764 | CONFIG_PROC_PAGE_MONITOR=y |
733 | # CONFIG_SYSFS is not set | 765 | # CONFIG_SYSFS is not set |
734 | # CONFIG_HUGETLBFS is not set | ||
735 | # CONFIG_HUGETLB_PAGE is not set | 766 | # CONFIG_HUGETLB_PAGE is not set |
736 | CONFIG_MISC_FILESYSTEMS=y | 767 | CONFIG_MISC_FILESYSTEMS=y |
737 | # CONFIG_ADFS_FS is not set | 768 | # CONFIG_ADFS_FS is not set |
@@ -794,6 +825,7 @@ CONFIG_FRAME_WARN=1024 | |||
794 | # CONFIG_DEBUG_MEMORY_INIT is not set | 825 | # CONFIG_DEBUG_MEMORY_INIT is not set |
795 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | 826 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set |
796 | # CONFIG_LATENCYTOP is not set | 827 | # CONFIG_LATENCYTOP is not set |
828 | # CONFIG_SYSCTL_SYSCALL_CHECK is not set | ||
797 | CONFIG_HAVE_FUNCTION_TRACER=y | 829 | CONFIG_HAVE_FUNCTION_TRACER=y |
798 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | 830 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y |
799 | CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y | 831 | CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y |
@@ -806,8 +838,6 @@ CONFIG_TRACING_SUPPORT=y | |||
806 | # CONFIG_SAMPLES is not set | 838 | # CONFIG_SAMPLES is not set |
807 | CONFIG_HAVE_ARCH_KGDB=y | 839 | CONFIG_HAVE_ARCH_KGDB=y |
808 | CONFIG_SH_STANDARD_BIOS=y | 840 | CONFIG_SH_STANDARD_BIOS=y |
809 | # CONFIG_EARLY_SCIF_CONSOLE is not set | ||
810 | CONFIG_EARLY_PRINTK=y | ||
811 | # CONFIG_DWARF_UNWINDER is not set | 841 | # CONFIG_DWARF_UNWINDER is not set |
812 | 842 | ||
813 | # | 843 | # |
@@ -815,7 +845,11 @@ CONFIG_EARLY_PRINTK=y | |||
815 | # | 845 | # |
816 | # CONFIG_KEYS is not set | 846 | # CONFIG_KEYS is not set |
817 | # CONFIG_SECURITYFS is not set | 847 | # CONFIG_SECURITYFS is not set |
818 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 848 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
849 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
850 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
851 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
852 | CONFIG_DEFAULT_SECURITY="" | ||
819 | CONFIG_CRYPTO=y | 853 | CONFIG_CRYPTO=y |
820 | 854 | ||
821 | # | 855 | # |
diff --git a/arch/sh/configs/shx3_defconfig b/arch/sh/configs/shx3_defconfig index e3858d757d5e..ecf50cda4cbc 100644 --- a/arch/sh/configs/shx3_defconfig +++ b/arch/sh/configs/shx3_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.31 | 3 | # Linux kernel version: 2.6.33-rc2 |
4 | # Thu Sep 24 19:29:26 2009 | 4 | # Mon Jan 4 15:10:45 2010 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_SUPERH32=y | 7 | CONFIG_SUPERH32=y |
@@ -22,6 +22,7 @@ CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y | |||
22 | CONFIG_GENERIC_LOCKBREAK=y | 22 | CONFIG_GENERIC_LOCKBREAK=y |
23 | # CONFIG_ARCH_SUSPEND_POSSIBLE is not set | 23 | # CONFIG_ARCH_SUSPEND_POSSIBLE is not set |
24 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y | 24 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y |
25 | CONFIG_SYS_SUPPORTS_HUGETLBFS=y | ||
25 | CONFIG_SYS_SUPPORTS_SMP=y | 26 | CONFIG_SYS_SUPPORTS_SMP=y |
26 | CONFIG_SYS_SUPPORTS_NUMA=y | 27 | CONFIG_SYS_SUPPORTS_NUMA=y |
27 | CONFIG_SYS_SUPPORTS_TMU=y | 28 | CONFIG_SYS_SUPPORTS_TMU=y |
@@ -32,6 +33,8 @@ CONFIG_LOCKDEP_SUPPORT=y | |||
32 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | 33 | CONFIG_ARCH_NO_VIRT_TO_BUS=y |
33 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y | 34 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y |
34 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y | 35 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y |
36 | CONFIG_DMA_COHERENT=y | ||
37 | # CONFIG_DMA_NONCOHERENT is not set | ||
35 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 38 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
36 | CONFIG_CONSTRUCTORS=y | 39 | CONFIG_CONSTRUCTORS=y |
37 | 40 | ||
@@ -66,6 +69,7 @@ CONFIG_AUDIT_TREE=y | |||
66 | # | 69 | # |
67 | CONFIG_TREE_RCU=y | 70 | CONFIG_TREE_RCU=y |
68 | # CONFIG_TREE_PREEMPT_RCU is not set | 71 | # CONFIG_TREE_PREEMPT_RCU is not set |
72 | # CONFIG_TINY_RCU is not set | ||
69 | CONFIG_RCU_TRACE=y | 73 | CONFIG_RCU_TRACE=y |
70 | CONFIG_RCU_FANOUT=32 | 74 | CONFIG_RCU_FANOUT=32 |
71 | # CONFIG_RCU_FANOUT_EXACT is not set | 75 | # CONFIG_RCU_FANOUT_EXACT is not set |
@@ -121,6 +125,7 @@ CONFIG_EVENTFD=y | |||
121 | CONFIG_SHMEM=y | 125 | CONFIG_SHMEM=y |
122 | CONFIG_AIO=y | 126 | CONFIG_AIO=y |
123 | CONFIG_HAVE_PERF_EVENTS=y | 127 | CONFIG_HAVE_PERF_EVENTS=y |
128 | CONFIG_PERF_USE_VMALLOC=y | ||
124 | 129 | ||
125 | # | 130 | # |
126 | # Kernel Performance Events And Counters | 131 | # Kernel Performance Events And Counters |
@@ -128,6 +133,7 @@ CONFIG_HAVE_PERF_EVENTS=y | |||
128 | CONFIG_PERF_EVENTS=y | 133 | CONFIG_PERF_EVENTS=y |
129 | CONFIG_EVENT_PROFILE=y | 134 | CONFIG_EVENT_PROFILE=y |
130 | # CONFIG_PERF_COUNTERS is not set | 135 | # CONFIG_PERF_COUNTERS is not set |
136 | # CONFIG_DEBUG_PERF_USE_VMALLOC is not set | ||
131 | CONFIG_VM_EVENT_COUNTERS=y | 137 | CONFIG_VM_EVENT_COUNTERS=y |
132 | CONFIG_COMPAT_BRK=y | 138 | CONFIG_COMPAT_BRK=y |
133 | # CONFIG_SLAB is not set | 139 | # CONFIG_SLAB is not set |
@@ -143,6 +149,7 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
143 | CONFIG_HAVE_KPROBES=y | 149 | CONFIG_HAVE_KPROBES=y |
144 | CONFIG_HAVE_KRETPROBES=y | 150 | CONFIG_HAVE_KRETPROBES=y |
145 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 151 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
152 | CONFIG_HAVE_DMA_ATTRS=y | ||
146 | CONFIG_USE_GENERIC_SMP_HELPERS=y | 153 | CONFIG_USE_GENERIC_SMP_HELPERS=y |
147 | CONFIG_HAVE_CLK=y | 154 | CONFIG_HAVE_CLK=y |
148 | CONFIG_HAVE_DMA_API_DEBUG=y | 155 | CONFIG_HAVE_DMA_API_DEBUG=y |
@@ -166,19 +173,48 @@ CONFIG_BLOCK=y | |||
166 | CONFIG_LBDAF=y | 173 | CONFIG_LBDAF=y |
167 | # CONFIG_BLK_DEV_BSG is not set | 174 | # CONFIG_BLK_DEV_BSG is not set |
168 | # CONFIG_BLK_DEV_INTEGRITY is not set | 175 | # CONFIG_BLK_DEV_INTEGRITY is not set |
176 | # CONFIG_BLK_CGROUP is not set | ||
169 | 177 | ||
170 | # | 178 | # |
171 | # IO Schedulers | 179 | # IO Schedulers |
172 | # | 180 | # |
173 | CONFIG_IOSCHED_NOOP=y | 181 | CONFIG_IOSCHED_NOOP=y |
174 | CONFIG_IOSCHED_AS=y | ||
175 | CONFIG_IOSCHED_DEADLINE=y | 182 | CONFIG_IOSCHED_DEADLINE=y |
176 | CONFIG_IOSCHED_CFQ=y | 183 | CONFIG_IOSCHED_CFQ=y |
177 | CONFIG_DEFAULT_AS=y | 184 | # CONFIG_CFQ_GROUP_IOSCHED is not set |
178 | # CONFIG_DEFAULT_DEADLINE is not set | 185 | # CONFIG_DEFAULT_DEADLINE is not set |
179 | # CONFIG_DEFAULT_CFQ is not set | 186 | CONFIG_DEFAULT_CFQ=y |
180 | # CONFIG_DEFAULT_NOOP is not set | 187 | # CONFIG_DEFAULT_NOOP is not set |
181 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 188 | CONFIG_DEFAULT_IOSCHED="cfq" |
189 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
190 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
191 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
192 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
193 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
194 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
195 | # CONFIG_INLINE_SPIN_UNLOCK is not set | ||
196 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
197 | # CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set | ||
198 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
199 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
200 | # CONFIG_INLINE_READ_LOCK is not set | ||
201 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
202 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
203 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
204 | # CONFIG_INLINE_READ_UNLOCK is not set | ||
205 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
206 | # CONFIG_INLINE_READ_UNLOCK_IRQ is not set | ||
207 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
208 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
209 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
210 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
211 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
212 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
213 | # CONFIG_INLINE_WRITE_UNLOCK is not set | ||
214 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
215 | # CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set | ||
216 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
217 | CONFIG_MUTEX_SPIN_ON_OWNER=y | ||
182 | CONFIG_FREEZER=y | 218 | CONFIG_FREEZER=y |
183 | 219 | ||
184 | # | 220 | # |
@@ -233,6 +269,7 @@ CONFIG_FORCE_MAX_ZONEORDER=7 | |||
233 | CONFIG_MEMORY_START=0x0c000000 | 269 | CONFIG_MEMORY_START=0x0c000000 |
234 | CONFIG_MEMORY_SIZE=0x04000000 | 270 | CONFIG_MEMORY_SIZE=0x04000000 |
235 | CONFIG_29BIT=y | 271 | CONFIG_29BIT=y |
272 | # CONFIG_PMB_ENABLE is not set | ||
236 | # CONFIG_X2TLB is not set | 273 | # CONFIG_X2TLB is not set |
237 | CONFIG_VSYSCALL=y | 274 | CONFIG_VSYSCALL=y |
238 | CONFIG_NUMA=y | 275 | CONFIG_NUMA=y |
@@ -271,10 +308,9 @@ CONFIG_MIGRATION=y | |||
271 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 308 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
272 | CONFIG_ZONE_DMA_FLAG=0 | 309 | CONFIG_ZONE_DMA_FLAG=0 |
273 | CONFIG_NR_QUICK=2 | 310 | CONFIG_NR_QUICK=2 |
274 | CONFIG_HAVE_MLOCK=y | ||
275 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
276 | # CONFIG_KSM is not set | 311 | # CONFIG_KSM is not set |
277 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | 312 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 |
313 | CONFIG_SCHED_MC=y | ||
278 | 314 | ||
279 | # | 315 | # |
280 | # Cache configuration | 316 | # Cache configuration |
@@ -449,6 +485,7 @@ CONFIG_INET6_XFRM_MODE_TUNNEL=m | |||
449 | CONFIG_INET6_XFRM_MODE_BEET=m | 485 | CONFIG_INET6_XFRM_MODE_BEET=m |
450 | # CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set | 486 | # CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set |
451 | CONFIG_IPV6_SIT=m | 487 | CONFIG_IPV6_SIT=m |
488 | # CONFIG_IPV6_SIT_6RD is not set | ||
452 | CONFIG_IPV6_NDISC_NODETYPE=y | 489 | CONFIG_IPV6_NDISC_NODETYPE=y |
453 | # CONFIG_IPV6_TUNNEL is not set | 490 | # CONFIG_IPV6_TUNNEL is not set |
454 | # CONFIG_IPV6_MULTIPLE_TABLES is not set | 491 | # CONFIG_IPV6_MULTIPLE_TABLES is not set |
@@ -496,7 +533,13 @@ CONFIG_CAN_VCAN=m | |||
496 | # CONFIG_IRDA is not set | 533 | # CONFIG_IRDA is not set |
497 | # CONFIG_BT is not set | 534 | # CONFIG_BT is not set |
498 | # CONFIG_AF_RXRPC is not set | 535 | # CONFIG_AF_RXRPC is not set |
499 | # CONFIG_WIRELESS is not set | 536 | CONFIG_WIRELESS=y |
537 | # CONFIG_CFG80211 is not set | ||
538 | # CONFIG_LIB80211 is not set | ||
539 | |||
540 | # | ||
541 | # CFG80211 needs to be enabled for MAC80211 | ||
542 | # | ||
500 | # CONFIG_WIMAX is not set | 543 | # CONFIG_WIMAX is not set |
501 | # CONFIG_RFKILL is not set | 544 | # CONFIG_RFKILL is not set |
502 | # CONFIG_NET_9P is not set | 545 | # CONFIG_NET_9P is not set |
@@ -522,6 +565,10 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y | |||
522 | CONFIG_BLK_DEV=y | 565 | CONFIG_BLK_DEV=y |
523 | # CONFIG_BLK_DEV_COW_COMMON is not set | 566 | # CONFIG_BLK_DEV_COW_COMMON is not set |
524 | # CONFIG_BLK_DEV_LOOP is not set | 567 | # CONFIG_BLK_DEV_LOOP is not set |
568 | |||
569 | # | ||
570 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
571 | # | ||
525 | # CONFIG_BLK_DEV_NBD is not set | 572 | # CONFIG_BLK_DEV_NBD is not set |
526 | # CONFIG_BLK_DEV_UB is not set | 573 | # CONFIG_BLK_DEV_UB is not set |
527 | CONFIG_BLK_DEV_RAM=y | 574 | CONFIG_BLK_DEV_RAM=y |
@@ -532,9 +579,12 @@ CONFIG_BLK_DEV_RAM_SIZE=4096 | |||
532 | # CONFIG_ATA_OVER_ETH is not set | 579 | # CONFIG_ATA_OVER_ETH is not set |
533 | # CONFIG_BLK_DEV_HD is not set | 580 | # CONFIG_BLK_DEV_HD is not set |
534 | CONFIG_MISC_DEVICES=y | 581 | CONFIG_MISC_DEVICES=y |
582 | # CONFIG_AD525X_DPOT is not set | ||
535 | # CONFIG_ICS932S401 is not set | 583 | # CONFIG_ICS932S401 is not set |
536 | # CONFIG_ENCLOSURE_SERVICES is not set | 584 | # CONFIG_ENCLOSURE_SERVICES is not set |
537 | # CONFIG_ISL29003 is not set | 585 | # CONFIG_ISL29003 is not set |
586 | # CONFIG_DS1682 is not set | ||
587 | # CONFIG_TI_DAC7512 is not set | ||
538 | # CONFIG_C2PORT is not set | 588 | # CONFIG_C2PORT is not set |
539 | 589 | ||
540 | # | 590 | # |
@@ -624,11 +674,12 @@ CONFIG_SMC91X=y | |||
624 | # CONFIG_B44 is not set | 674 | # CONFIG_B44 is not set |
625 | # CONFIG_KS8842 is not set | 675 | # CONFIG_KS8842 is not set |
626 | # CONFIG_KS8851 is not set | 676 | # CONFIG_KS8851 is not set |
677 | # CONFIG_KS8851_MLL is not set | ||
627 | # CONFIG_NETDEV_1000 is not set | 678 | # CONFIG_NETDEV_1000 is not set |
628 | # CONFIG_NETDEV_10000 is not set | 679 | # CONFIG_NETDEV_10000 is not set |
629 | CONFIG_WLAN=y | 680 | CONFIG_WLAN=y |
630 | # CONFIG_WLAN_PRE80211 is not set | 681 | # CONFIG_USB_ZD1201 is not set |
631 | # CONFIG_WLAN_80211 is not set | 682 | # CONFIG_HOSTAP is not set |
632 | 683 | ||
633 | # | 684 | # |
634 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 685 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -726,7 +777,6 @@ CONFIG_I2C_HELPER_AUTO=y | |||
726 | # | 777 | # |
727 | # Miscellaneous I2C Chip support | 778 | # Miscellaneous I2C Chip support |
728 | # | 779 | # |
729 | # CONFIG_DS1682 is not set | ||
730 | # CONFIG_SENSORS_TSL2550 is not set | 780 | # CONFIG_SENSORS_TSL2550 is not set |
731 | # CONFIG_I2C_DEBUG_CORE is not set | 781 | # CONFIG_I2C_DEBUG_CORE is not set |
732 | # CONFIG_I2C_DEBUG_ALGO is not set | 782 | # CONFIG_I2C_DEBUG_ALGO is not set |
@@ -740,7 +790,10 @@ CONFIG_SPI_MASTER=y | |||
740 | # SPI Master Controller Drivers | 790 | # SPI Master Controller Drivers |
741 | # | 791 | # |
742 | # CONFIG_SPI_BITBANG is not set | 792 | # CONFIG_SPI_BITBANG is not set |
793 | # CONFIG_SPI_SH_MSIOF is not set | ||
743 | # CONFIG_SPI_SH_SCI is not set | 794 | # CONFIG_SPI_SH_SCI is not set |
795 | # CONFIG_SPI_XILINX is not set | ||
796 | # CONFIG_SPI_DESIGNWARE is not set | ||
744 | 797 | ||
745 | # | 798 | # |
746 | # SPI Protocol Masters | 799 | # SPI Protocol Masters |
@@ -781,15 +834,16 @@ CONFIG_SSB_POSSIBLE=y | |||
781 | # | 834 | # |
782 | # CONFIG_MFD_CORE is not set | 835 | # CONFIG_MFD_CORE is not set |
783 | # CONFIG_MFD_SM501 is not set | 836 | # CONFIG_MFD_SM501 is not set |
837 | # CONFIG_MFD_SH_MOBILE_SDHI is not set | ||
784 | # CONFIG_HTC_PASIC3 is not set | 838 | # CONFIG_HTC_PASIC3 is not set |
785 | # CONFIG_MFD_TMIO is not set | 839 | # CONFIG_MFD_TMIO is not set |
786 | # CONFIG_MFD_WM8400 is not set | 840 | # CONFIG_MFD_WM8400 is not set |
787 | # CONFIG_MFD_WM831X is not set | ||
788 | # CONFIG_MFD_WM8350_I2C is not set | 841 | # CONFIG_MFD_WM8350_I2C is not set |
789 | # CONFIG_MFD_PCF50633 is not set | 842 | # CONFIG_MFD_PCF50633 is not set |
790 | # CONFIG_MFD_MC13783 is not set | 843 | # CONFIG_MFD_MC13783 is not set |
791 | # CONFIG_AB3100_CORE is not set | 844 | # CONFIG_AB3100_CORE is not set |
792 | # CONFIG_EZX_PCAP is not set | 845 | # CONFIG_EZX_PCAP is not set |
846 | # CONFIG_AB4500_CORE is not set | ||
793 | # CONFIG_REGULATOR is not set | 847 | # CONFIG_REGULATOR is not set |
794 | # CONFIG_MEDIA_SUPPORT is not set | 848 | # CONFIG_MEDIA_SUPPORT is not set |
795 | 849 | ||
@@ -924,10 +978,12 @@ CONFIG_USB_GADGET_DUALSPEED=y | |||
924 | # CONFIG_USB_ETH is not set | 978 | # CONFIG_USB_ETH is not set |
925 | # CONFIG_USB_GADGETFS is not set | 979 | # CONFIG_USB_GADGETFS is not set |
926 | # CONFIG_USB_FILE_STORAGE is not set | 980 | # CONFIG_USB_FILE_STORAGE is not set |
981 | # CONFIG_USB_MASS_STORAGE is not set | ||
927 | # CONFIG_USB_G_SERIAL is not set | 982 | # CONFIG_USB_G_SERIAL is not set |
928 | # CONFIG_USB_MIDI_GADGET is not set | 983 | # CONFIG_USB_MIDI_GADGET is not set |
929 | # CONFIG_USB_G_PRINTER is not set | 984 | # CONFIG_USB_G_PRINTER is not set |
930 | # CONFIG_USB_CDC_COMPOSITE is not set | 985 | # CONFIG_USB_CDC_COMPOSITE is not set |
986 | # CONFIG_USB_G_MULTI is not set | ||
931 | 987 | ||
932 | # | 988 | # |
933 | # OTG and related infrastructure | 989 | # OTG and related infrastructure |
@@ -965,6 +1021,7 @@ CONFIG_RTC_INTF_DEV=y | |||
965 | # CONFIG_RTC_DRV_PCF8563 is not set | 1021 | # CONFIG_RTC_DRV_PCF8563 is not set |
966 | # CONFIG_RTC_DRV_PCF8583 is not set | 1022 | # CONFIG_RTC_DRV_PCF8583 is not set |
967 | # CONFIG_RTC_DRV_M41T80 is not set | 1023 | # CONFIG_RTC_DRV_M41T80 is not set |
1024 | # CONFIG_RTC_DRV_BQ32K is not set | ||
968 | # CONFIG_RTC_DRV_S35390A is not set | 1025 | # CONFIG_RTC_DRV_S35390A is not set |
969 | # CONFIG_RTC_DRV_FM3130 is not set | 1026 | # CONFIG_RTC_DRV_FM3130 is not set |
970 | # CONFIG_RTC_DRV_RX8581 is not set | 1027 | # CONFIG_RTC_DRV_RX8581 is not set |
@@ -993,7 +1050,9 @@ CONFIG_RTC_INTF_DEV=y | |||
993 | # CONFIG_RTC_DRV_M48T86 is not set | 1050 | # CONFIG_RTC_DRV_M48T86 is not set |
994 | # CONFIG_RTC_DRV_M48T35 is not set | 1051 | # CONFIG_RTC_DRV_M48T35 is not set |
995 | # CONFIG_RTC_DRV_M48T59 is not set | 1052 | # CONFIG_RTC_DRV_M48T59 is not set |
1053 | # CONFIG_RTC_DRV_MSM6242 is not set | ||
996 | # CONFIG_RTC_DRV_BQ4802 is not set | 1054 | # CONFIG_RTC_DRV_BQ4802 is not set |
1055 | # CONFIG_RTC_DRV_RP5C01 is not set | ||
997 | # CONFIG_RTC_DRV_V3020 is not set | 1056 | # CONFIG_RTC_DRV_V3020 is not set |
998 | 1057 | ||
999 | # | 1058 | # |
@@ -1244,8 +1303,6 @@ CONFIG_BRANCH_PROFILE_NONE=y | |||
1244 | CONFIG_HAVE_ARCH_KGDB=y | 1303 | CONFIG_HAVE_ARCH_KGDB=y |
1245 | # CONFIG_KGDB is not set | 1304 | # CONFIG_KGDB is not set |
1246 | CONFIG_SH_STANDARD_BIOS=y | 1305 | CONFIG_SH_STANDARD_BIOS=y |
1247 | # CONFIG_EARLY_SCIF_CONSOLE is not set | ||
1248 | CONFIG_EARLY_PRINTK=y | ||
1249 | # CONFIG_STACK_DEBUG is not set | 1306 | # CONFIG_STACK_DEBUG is not set |
1250 | CONFIG_DEBUG_STACK_USAGE=y | 1307 | CONFIG_DEBUG_STACK_USAGE=y |
1251 | CONFIG_DUMP_CODE=y | 1308 | CONFIG_DUMP_CODE=y |
@@ -1258,7 +1315,11 @@ CONFIG_DUMP_CODE=y | |||
1258 | # CONFIG_KEYS is not set | 1315 | # CONFIG_KEYS is not set |
1259 | # CONFIG_SECURITY is not set | 1316 | # CONFIG_SECURITY is not set |
1260 | # CONFIG_SECURITYFS is not set | 1317 | # CONFIG_SECURITYFS is not set |
1261 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1318 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
1319 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
1320 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
1321 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
1322 | CONFIG_DEFAULT_SECURITY="" | ||
1262 | CONFIG_CRYPTO=y | 1323 | CONFIG_CRYPTO=y |
1263 | 1324 | ||
1264 | # | 1325 | # |
diff --git a/arch/sh/configs/snapgear_defconfig b/arch/sh/configs/snapgear_defconfig index cb919a0de4b2..98352d757851 100644 --- a/arch/sh/configs/snapgear_defconfig +++ b/arch/sh/configs/snapgear_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.31 | 3 | # Linux kernel version: 2.6.33-rc2 |
4 | # Thu Sep 24 19:33:00 2009 | 4 | # Mon Jan 4 15:14:18 2010 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_SUPERH32=y | 7 | CONFIG_SUPERH32=y |
@@ -20,6 +20,7 @@ CONFIG_GENERIC_TIME=y | |||
20 | CONFIG_GENERIC_CLOCKEVENTS=y | 20 | CONFIG_GENERIC_CLOCKEVENTS=y |
21 | # CONFIG_ARCH_SUSPEND_POSSIBLE is not set | 21 | # CONFIG_ARCH_SUSPEND_POSSIBLE is not set |
22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y | 22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y |
23 | CONFIG_SYS_SUPPORTS_HUGETLBFS=y | ||
23 | CONFIG_SYS_SUPPORTS_PCI=y | 24 | CONFIG_SYS_SUPPORTS_PCI=y |
24 | CONFIG_SYS_SUPPORTS_TMU=y | 25 | CONFIG_SYS_SUPPORTS_TMU=y |
25 | CONFIG_STACKTRACE_SUPPORT=y | 26 | CONFIG_STACKTRACE_SUPPORT=y |
@@ -30,6 +31,7 @@ CONFIG_HAVE_LATENCYTOP_SUPPORT=y | |||
30 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | 31 | CONFIG_ARCH_NO_VIRT_TO_BUS=y |
31 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y | 32 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y |
32 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y | 33 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y |
34 | CONFIG_DMA_NONCOHERENT=y | ||
33 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 35 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
34 | CONFIG_CONSTRUCTORS=y | 36 | CONFIG_CONSTRUCTORS=y |
35 | 37 | ||
@@ -59,6 +61,7 @@ CONFIG_KERNEL_GZIP=y | |||
59 | # | 61 | # |
60 | CONFIG_TREE_RCU=y | 62 | CONFIG_TREE_RCU=y |
61 | # CONFIG_TREE_PREEMPT_RCU is not set | 63 | # CONFIG_TREE_PREEMPT_RCU is not set |
64 | # CONFIG_TINY_RCU is not set | ||
62 | # CONFIG_RCU_TRACE is not set | 65 | # CONFIG_RCU_TRACE is not set |
63 | CONFIG_RCU_FANOUT=32 | 66 | CONFIG_RCU_FANOUT=32 |
64 | # CONFIG_RCU_FANOUT_EXACT is not set | 67 | # CONFIG_RCU_FANOUT_EXACT is not set |
@@ -97,6 +100,7 @@ CONFIG_EVENTFD=y | |||
97 | CONFIG_SHMEM=y | 100 | CONFIG_SHMEM=y |
98 | CONFIG_AIO=y | 101 | CONFIG_AIO=y |
99 | CONFIG_HAVE_PERF_EVENTS=y | 102 | CONFIG_HAVE_PERF_EVENTS=y |
103 | CONFIG_PERF_USE_VMALLOC=y | ||
100 | 104 | ||
101 | # | 105 | # |
102 | # Kernel Performance Events And Counters | 106 | # Kernel Performance Events And Counters |
@@ -115,6 +119,7 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
115 | CONFIG_HAVE_KPROBES=y | 119 | CONFIG_HAVE_KPROBES=y |
116 | CONFIG_HAVE_KRETPROBES=y | 120 | CONFIG_HAVE_KRETPROBES=y |
117 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 121 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
122 | CONFIG_HAVE_DMA_ATTRS=y | ||
118 | CONFIG_HAVE_CLK=y | 123 | CONFIG_HAVE_CLK=y |
119 | CONFIG_HAVE_DMA_API_DEBUG=y | 124 | CONFIG_HAVE_DMA_API_DEBUG=y |
120 | 125 | ||
@@ -136,14 +141,41 @@ CONFIG_LBDAF=y | |||
136 | # IO Schedulers | 141 | # IO Schedulers |
137 | # | 142 | # |
138 | CONFIG_IOSCHED_NOOP=y | 143 | CONFIG_IOSCHED_NOOP=y |
139 | CONFIG_IOSCHED_AS=y | ||
140 | CONFIG_IOSCHED_DEADLINE=y | 144 | CONFIG_IOSCHED_DEADLINE=y |
141 | CONFIG_IOSCHED_CFQ=y | 145 | CONFIG_IOSCHED_CFQ=y |
142 | CONFIG_DEFAULT_AS=y | ||
143 | # CONFIG_DEFAULT_DEADLINE is not set | 146 | # CONFIG_DEFAULT_DEADLINE is not set |
144 | # CONFIG_DEFAULT_CFQ is not set | 147 | CONFIG_DEFAULT_CFQ=y |
145 | # CONFIG_DEFAULT_NOOP is not set | 148 | # CONFIG_DEFAULT_NOOP is not set |
146 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 149 | CONFIG_DEFAULT_IOSCHED="cfq" |
150 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
151 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
152 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
153 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
154 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
155 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
156 | CONFIG_INLINE_SPIN_UNLOCK=y | ||
157 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
158 | CONFIG_INLINE_SPIN_UNLOCK_IRQ=y | ||
159 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
160 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
161 | # CONFIG_INLINE_READ_LOCK is not set | ||
162 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
163 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
164 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
165 | CONFIG_INLINE_READ_UNLOCK=y | ||
166 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
167 | CONFIG_INLINE_READ_UNLOCK_IRQ=y | ||
168 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
169 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
170 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
171 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
172 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
173 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
174 | CONFIG_INLINE_WRITE_UNLOCK=y | ||
175 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
176 | CONFIG_INLINE_WRITE_UNLOCK_IRQ=y | ||
177 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
178 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
147 | # CONFIG_FREEZER is not set | 179 | # CONFIG_FREEZER is not set |
148 | 180 | ||
149 | # | 181 | # |
@@ -219,8 +251,6 @@ CONFIG_SPLIT_PTLOCK_CPUS=4 | |||
219 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 251 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
220 | CONFIG_ZONE_DMA_FLAG=0 | 252 | CONFIG_ZONE_DMA_FLAG=0 |
221 | CONFIG_NR_QUICK=2 | 253 | CONFIG_NR_QUICK=2 |
222 | CONFIG_HAVE_MLOCK=y | ||
223 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
224 | # CONFIG_KSM is not set | 254 | # CONFIG_KSM is not set |
225 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | 255 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 |
226 | 256 | ||
@@ -272,9 +302,9 @@ CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | |||
272 | # | 302 | # |
273 | # DMA support | 303 | # DMA support |
274 | # | 304 | # |
275 | CONFIG_SH_DMA_API=y | ||
276 | CONFIG_SH_DMA=y | 305 | CONFIG_SH_DMA=y |
277 | CONFIG_SH_DMA_IRQ_MULTI=y | 306 | CONFIG_SH_DMA_IRQ_MULTI=y |
307 | CONFIG_SH_DMA_API=y | ||
278 | CONFIG_NR_ONCHIP_DMA_CHANNELS=8 | 308 | CONFIG_NR_ONCHIP_DMA_CHANNELS=8 |
279 | # CONFIG_NR_DMA_CHANNELS_BOOL is not set | 309 | # CONFIG_NR_DMA_CHANNELS_BOOL is not set |
280 | 310 | ||
@@ -313,7 +343,6 @@ CONFIG_GUSA=y | |||
313 | CONFIG_ZERO_PAGE_OFFSET=0x00001000 | 343 | CONFIG_ZERO_PAGE_OFFSET=0x00001000 |
314 | CONFIG_BOOT_LINK_OFFSET=0x00800000 | 344 | CONFIG_BOOT_LINK_OFFSET=0x00800000 |
315 | CONFIG_ENTRY_OFFSET=0x00001000 | 345 | CONFIG_ENTRY_OFFSET=0x00001000 |
316 | # CONFIG_UBC_WAKEUP is not set | ||
317 | # CONFIG_CMDLINE_OVERWRITE is not set | 346 | # CONFIG_CMDLINE_OVERWRITE is not set |
318 | # CONFIG_CMDLINE_EXTEND is not set | 347 | # CONFIG_CMDLINE_EXTEND is not set |
319 | 348 | ||
@@ -321,7 +350,6 @@ CONFIG_ENTRY_OFFSET=0x00001000 | |||
321 | # Bus options | 350 | # Bus options |
322 | # | 351 | # |
323 | CONFIG_PCI=y | 352 | CONFIG_PCI=y |
324 | CONFIG_SH_PCIDMA_NONCOHERENT=y | ||
325 | # CONFIG_PCIEPORTBUS is not set | 353 | # CONFIG_PCIEPORTBUS is not set |
326 | # CONFIG_ARCH_SUPPORTS_MSI is not set | 354 | # CONFIG_ARCH_SUPPORTS_MSI is not set |
327 | CONFIG_PCI_LEGACY=y | 355 | CONFIG_PCI_LEGACY=y |
@@ -407,9 +435,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
407 | # CONFIG_AF_RXRPC is not set | 435 | # CONFIG_AF_RXRPC is not set |
408 | CONFIG_WIRELESS=y | 436 | CONFIG_WIRELESS=y |
409 | # CONFIG_CFG80211 is not set | 437 | # CONFIG_CFG80211 is not set |
410 | CONFIG_CFG80211_DEFAULT_PS_VALUE=0 | ||
411 | # CONFIG_WIRELESS_OLD_REGULATORY is not set | ||
412 | # CONFIG_WIRELESS_EXT is not set | ||
413 | # CONFIG_LIB80211 is not set | 438 | # CONFIG_LIB80211 is not set |
414 | 439 | ||
415 | # | 440 | # |
@@ -524,6 +549,10 @@ CONFIG_BLK_DEV=y | |||
524 | # CONFIG_BLK_DEV_UMEM is not set | 549 | # CONFIG_BLK_DEV_UMEM is not set |
525 | # CONFIG_BLK_DEV_COW_COMMON is not set | 550 | # CONFIG_BLK_DEV_COW_COMMON is not set |
526 | # CONFIG_BLK_DEV_LOOP is not set | 551 | # CONFIG_BLK_DEV_LOOP is not set |
552 | |||
553 | # | ||
554 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
555 | # | ||
527 | # CONFIG_BLK_DEV_NBD is not set | 556 | # CONFIG_BLK_DEV_NBD is not set |
528 | # CONFIG_BLK_DEV_SX8 is not set | 557 | # CONFIG_BLK_DEV_SX8 is not set |
529 | CONFIG_BLK_DEV_RAM=y | 558 | CONFIG_BLK_DEV_RAM=y |
@@ -616,6 +645,7 @@ CONFIG_8139TOO_PIO=y | |||
616 | # CONFIG_SUNDANCE is not set | 645 | # CONFIG_SUNDANCE is not set |
617 | # CONFIG_TLAN is not set | 646 | # CONFIG_TLAN is not set |
618 | # CONFIG_KS8842 is not set | 647 | # CONFIG_KS8842 is not set |
648 | # CONFIG_KS8851_MLL is not set | ||
619 | # CONFIG_VIA_RHINE is not set | 649 | # CONFIG_VIA_RHINE is not set |
620 | # CONFIG_SC92031 is not set | 650 | # CONFIG_SC92031 is not set |
621 | # CONFIG_ATL2 is not set | 651 | # CONFIG_ATL2 is not set |
@@ -623,8 +653,9 @@ CONFIG_8139TOO_PIO=y | |||
623 | # CONFIG_NETDEV_10000 is not set | 653 | # CONFIG_NETDEV_10000 is not set |
624 | # CONFIG_TR is not set | 654 | # CONFIG_TR is not set |
625 | CONFIG_WLAN=y | 655 | CONFIG_WLAN=y |
626 | # CONFIG_WLAN_PRE80211 is not set | 656 | # CONFIG_ATMEL is not set |
627 | # CONFIG_WLAN_80211 is not set | 657 | # CONFIG_PRISM54 is not set |
658 | # CONFIG_HOSTAP is not set | ||
628 | 659 | ||
629 | # | 660 | # |
630 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 661 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -637,6 +668,7 @@ CONFIG_WLAN=y | |||
637 | # CONFIG_NETCONSOLE is not set | 668 | # CONFIG_NETCONSOLE is not set |
638 | # CONFIG_NETPOLL is not set | 669 | # CONFIG_NETPOLL is not set |
639 | # CONFIG_NET_POLL_CONTROLLER is not set | 670 | # CONFIG_NET_POLL_CONTROLLER is not set |
671 | # CONFIG_VMXNET3 is not set | ||
640 | # CONFIG_ISDN is not set | 672 | # CONFIG_ISDN is not set |
641 | # CONFIG_PHONE is not set | 673 | # CONFIG_PHONE is not set |
642 | 674 | ||
@@ -646,6 +678,7 @@ CONFIG_WLAN=y | |||
646 | CONFIG_INPUT=y | 678 | CONFIG_INPUT=y |
647 | # CONFIG_INPUT_FF_MEMLESS is not set | 679 | # CONFIG_INPUT_FF_MEMLESS is not set |
648 | # CONFIG_INPUT_POLLDEV is not set | 680 | # CONFIG_INPUT_POLLDEV is not set |
681 | # CONFIG_INPUT_SPARSEKMAP is not set | ||
649 | 682 | ||
650 | # | 683 | # |
651 | # Userland interfaces | 684 | # Userland interfaces |
@@ -728,6 +761,7 @@ CONFIG_SSB_POSSIBLE=y | |||
728 | # | 761 | # |
729 | # CONFIG_MFD_CORE is not set | 762 | # CONFIG_MFD_CORE is not set |
730 | # CONFIG_MFD_SM501 is not set | 763 | # CONFIG_MFD_SM501 is not set |
764 | # CONFIG_MFD_SH_MOBILE_SDHI is not set | ||
731 | # CONFIG_HTC_PASIC3 is not set | 765 | # CONFIG_HTC_PASIC3 is not set |
732 | # CONFIG_MFD_TMIO is not set | 766 | # CONFIG_MFD_TMIO is not set |
733 | # CONFIG_REGULATOR is not set | 767 | # CONFIG_REGULATOR is not set |
@@ -787,7 +821,9 @@ CONFIG_RTC_DRV_DS1302=y | |||
787 | # CONFIG_RTC_DRV_M48T86 is not set | 821 | # CONFIG_RTC_DRV_M48T86 is not set |
788 | # CONFIG_RTC_DRV_M48T35 is not set | 822 | # CONFIG_RTC_DRV_M48T35 is not set |
789 | # CONFIG_RTC_DRV_M48T59 is not set | 823 | # CONFIG_RTC_DRV_M48T59 is not set |
824 | # CONFIG_RTC_DRV_MSM6242 is not set | ||
790 | # CONFIG_RTC_DRV_BQ4802 is not set | 825 | # CONFIG_RTC_DRV_BQ4802 is not set |
826 | # CONFIG_RTC_DRV_RP5C01 is not set | ||
791 | # CONFIG_RTC_DRV_V3020 is not set | 827 | # CONFIG_RTC_DRV_V3020 is not set |
792 | 828 | ||
793 | # | 829 | # |
@@ -812,6 +848,7 @@ CONFIG_EXT2_FS=y | |||
812 | # CONFIG_EXT2_FS_XIP is not set | 848 | # CONFIG_EXT2_FS_XIP is not set |
813 | # CONFIG_EXT3_FS is not set | 849 | # CONFIG_EXT3_FS is not set |
814 | # CONFIG_EXT4_FS is not set | 850 | # CONFIG_EXT4_FS is not set |
851 | CONFIG_EXT4_USE_FOR_EXT23=y | ||
815 | # CONFIG_REISERFS_FS is not set | 852 | # CONFIG_REISERFS_FS is not set |
816 | # CONFIG_JFS_FS is not set | 853 | # CONFIG_JFS_FS is not set |
817 | # CONFIG_FS_POSIX_ACL is not set | 854 | # CONFIG_FS_POSIX_ACL is not set |
@@ -915,10 +952,11 @@ CONFIG_FRAME_WARN=1024 | |||
915 | # CONFIG_DEBUG_FS is not set | 952 | # CONFIG_DEBUG_FS is not set |
916 | # CONFIG_HEADERS_CHECK is not set | 953 | # CONFIG_HEADERS_CHECK is not set |
917 | # CONFIG_DEBUG_KERNEL is not set | 954 | # CONFIG_DEBUG_KERNEL is not set |
918 | # CONFIG_DEBUG_BUGVERBOSE is not set | 955 | CONFIG_DEBUG_BUGVERBOSE=y |
919 | # CONFIG_DEBUG_MEMORY_INIT is not set | 956 | # CONFIG_DEBUG_MEMORY_INIT is not set |
920 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | 957 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set |
921 | # CONFIG_LATENCYTOP is not set | 958 | # CONFIG_LATENCYTOP is not set |
959 | # CONFIG_SYSCTL_SYSCALL_CHECK is not set | ||
922 | CONFIG_HAVE_FUNCTION_TRACER=y | 960 | CONFIG_HAVE_FUNCTION_TRACER=y |
923 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | 961 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y |
924 | CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y | 962 | CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y |
@@ -931,7 +969,6 @@ CONFIG_TRACING_SUPPORT=y | |||
931 | # CONFIG_SAMPLES is not set | 969 | # CONFIG_SAMPLES is not set |
932 | CONFIG_HAVE_ARCH_KGDB=y | 970 | CONFIG_HAVE_ARCH_KGDB=y |
933 | # CONFIG_SH_STANDARD_BIOS is not set | 971 | # CONFIG_SH_STANDARD_BIOS is not set |
934 | # CONFIG_EARLY_SCIF_CONSOLE is not set | ||
935 | # CONFIG_DWARF_UNWINDER is not set | 972 | # CONFIG_DWARF_UNWINDER is not set |
936 | 973 | ||
937 | # | 974 | # |
@@ -940,7 +977,11 @@ CONFIG_HAVE_ARCH_KGDB=y | |||
940 | # CONFIG_KEYS is not set | 977 | # CONFIG_KEYS is not set |
941 | # CONFIG_SECURITY is not set | 978 | # CONFIG_SECURITY is not set |
942 | # CONFIG_SECURITYFS is not set | 979 | # CONFIG_SECURITYFS is not set |
943 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 980 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
981 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
982 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
983 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
984 | CONFIG_DEFAULT_SECURITY="" | ||
944 | # CONFIG_CRYPTO is not set | 985 | # CONFIG_CRYPTO is not set |
945 | # CONFIG_BINARY_PRINTF is not set | 986 | # CONFIG_BINARY_PRINTF is not set |
946 | 987 | ||
diff --git a/arch/sh/configs/systemh_defconfig b/arch/sh/configs/systemh_defconfig index b9fe960309f5..72982e360e3f 100644 --- a/arch/sh/configs/systemh_defconfig +++ b/arch/sh/configs/systemh_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.31 | 3 | # Linux kernel version: 2.6.33-rc2 |
4 | # Thu Sep 24 19:35:03 2009 | 4 | # Mon Jan 4 15:14:50 2010 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_SUPERH32=y | 7 | CONFIG_SUPERH32=y |
@@ -20,6 +20,7 @@ CONFIG_GENERIC_TIME=y | |||
20 | CONFIG_GENERIC_CLOCKEVENTS=y | 20 | CONFIG_GENERIC_CLOCKEVENTS=y |
21 | # CONFIG_ARCH_SUSPEND_POSSIBLE is not set | 21 | # CONFIG_ARCH_SUSPEND_POSSIBLE is not set |
22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y | 22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y |
23 | CONFIG_SYS_SUPPORTS_HUGETLBFS=y | ||
23 | CONFIG_SYS_SUPPORTS_TMU=y | 24 | CONFIG_SYS_SUPPORTS_TMU=y |
24 | CONFIG_STACKTRACE_SUPPORT=y | 25 | CONFIG_STACKTRACE_SUPPORT=y |
25 | CONFIG_LOCKDEP_SUPPORT=y | 26 | CONFIG_LOCKDEP_SUPPORT=y |
@@ -29,6 +30,7 @@ CONFIG_HAVE_LATENCYTOP_SUPPORT=y | |||
29 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | 30 | CONFIG_ARCH_NO_VIRT_TO_BUS=y |
30 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y | 31 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y |
31 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y | 32 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y |
33 | CONFIG_DMA_NONCOHERENT=y | ||
32 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 34 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
33 | CONFIG_CONSTRUCTORS=y | 35 | CONFIG_CONSTRUCTORS=y |
34 | 36 | ||
@@ -56,6 +58,7 @@ CONFIG_SWAP=y | |||
56 | # | 58 | # |
57 | CONFIG_TREE_RCU=y | 59 | CONFIG_TREE_RCU=y |
58 | # CONFIG_TREE_PREEMPT_RCU is not set | 60 | # CONFIG_TREE_PREEMPT_RCU is not set |
61 | # CONFIG_TINY_RCU is not set | ||
59 | # CONFIG_RCU_TRACE is not set | 62 | # CONFIG_RCU_TRACE is not set |
60 | CONFIG_RCU_FANOUT=32 | 63 | CONFIG_RCU_FANOUT=32 |
61 | # CONFIG_RCU_FANOUT_EXACT is not set | 64 | # CONFIG_RCU_FANOUT_EXACT is not set |
@@ -94,6 +97,7 @@ CONFIG_EVENTFD=y | |||
94 | CONFIG_SHMEM=y | 97 | CONFIG_SHMEM=y |
95 | CONFIG_AIO=y | 98 | CONFIG_AIO=y |
96 | CONFIG_HAVE_PERF_EVENTS=y | 99 | CONFIG_HAVE_PERF_EVENTS=y |
100 | CONFIG_PERF_USE_VMALLOC=y | ||
97 | 101 | ||
98 | # | 102 | # |
99 | # Kernel Performance Events And Counters | 103 | # Kernel Performance Events And Counters |
@@ -112,6 +116,7 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
112 | CONFIG_HAVE_KPROBES=y | 116 | CONFIG_HAVE_KPROBES=y |
113 | CONFIG_HAVE_KRETPROBES=y | 117 | CONFIG_HAVE_KRETPROBES=y |
114 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 118 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
119 | CONFIG_HAVE_DMA_ATTRS=y | ||
115 | CONFIG_HAVE_CLK=y | 120 | CONFIG_HAVE_CLK=y |
116 | CONFIG_HAVE_DMA_API_DEBUG=y | 121 | CONFIG_HAVE_DMA_API_DEBUG=y |
117 | 122 | ||
@@ -138,14 +143,41 @@ CONFIG_LBDAF=y | |||
138 | # IO Schedulers | 143 | # IO Schedulers |
139 | # | 144 | # |
140 | CONFIG_IOSCHED_NOOP=y | 145 | CONFIG_IOSCHED_NOOP=y |
141 | CONFIG_IOSCHED_AS=y | ||
142 | CONFIG_IOSCHED_DEADLINE=y | 146 | CONFIG_IOSCHED_DEADLINE=y |
143 | CONFIG_IOSCHED_CFQ=y | 147 | CONFIG_IOSCHED_CFQ=y |
144 | CONFIG_DEFAULT_AS=y | ||
145 | # CONFIG_DEFAULT_DEADLINE is not set | 148 | # CONFIG_DEFAULT_DEADLINE is not set |
146 | # CONFIG_DEFAULT_CFQ is not set | 149 | CONFIG_DEFAULT_CFQ=y |
147 | # CONFIG_DEFAULT_NOOP is not set | 150 | # CONFIG_DEFAULT_NOOP is not set |
148 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 151 | CONFIG_DEFAULT_IOSCHED="cfq" |
152 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
153 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
154 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
155 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
156 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
157 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
158 | # CONFIG_INLINE_SPIN_UNLOCK is not set | ||
159 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
160 | # CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set | ||
161 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
162 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
163 | # CONFIG_INLINE_READ_LOCK is not set | ||
164 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
165 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
166 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
167 | # CONFIG_INLINE_READ_UNLOCK is not set | ||
168 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
169 | # CONFIG_INLINE_READ_UNLOCK_IRQ is not set | ||
170 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
171 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
172 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
173 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
174 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
175 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
176 | # CONFIG_INLINE_WRITE_UNLOCK is not set | ||
177 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
178 | # CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set | ||
179 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
180 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
149 | # CONFIG_FREEZER is not set | 181 | # CONFIG_FREEZER is not set |
150 | 182 | ||
151 | # | 183 | # |
@@ -221,8 +253,6 @@ CONFIG_SPLIT_PTLOCK_CPUS=4 | |||
221 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 253 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
222 | CONFIG_ZONE_DMA_FLAG=0 | 254 | CONFIG_ZONE_DMA_FLAG=0 |
223 | CONFIG_NR_QUICK=2 | 255 | CONFIG_NR_QUICK=2 |
224 | CONFIG_HAVE_MLOCK=y | ||
225 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
226 | # CONFIG_KSM is not set | 256 | # CONFIG_KSM is not set |
227 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | 257 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 |
228 | 258 | ||
@@ -310,7 +340,6 @@ CONFIG_GUSA=y | |||
310 | CONFIG_ZERO_PAGE_OFFSET=0x00001000 | 340 | CONFIG_ZERO_PAGE_OFFSET=0x00001000 |
311 | CONFIG_BOOT_LINK_OFFSET=0x00800000 | 341 | CONFIG_BOOT_LINK_OFFSET=0x00800000 |
312 | CONFIG_ENTRY_OFFSET=0x00001000 | 342 | CONFIG_ENTRY_OFFSET=0x00001000 |
313 | # CONFIG_UBC_WAKEUP is not set | ||
314 | # CONFIG_CMDLINE_OVERWRITE is not set | 343 | # CONFIG_CMDLINE_OVERWRITE is not set |
315 | # CONFIG_CMDLINE_EXTEND is not set | 344 | # CONFIG_CMDLINE_EXTEND is not set |
316 | 345 | ||
@@ -349,6 +378,10 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y | |||
349 | CONFIG_BLK_DEV=y | 378 | CONFIG_BLK_DEV=y |
350 | # CONFIG_BLK_DEV_COW_COMMON is not set | 379 | # CONFIG_BLK_DEV_COW_COMMON is not set |
351 | # CONFIG_BLK_DEV_LOOP is not set | 380 | # CONFIG_BLK_DEV_LOOP is not set |
381 | |||
382 | # | ||
383 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
384 | # | ||
352 | CONFIG_BLK_DEV_RAM=y | 385 | CONFIG_BLK_DEV_RAM=y |
353 | CONFIG_BLK_DEV_RAM_COUNT=16 | 386 | CONFIG_BLK_DEV_RAM_COUNT=16 |
354 | CONFIG_BLK_DEV_RAM_SIZE=1024 | 387 | CONFIG_BLK_DEV_RAM_SIZE=1024 |
@@ -390,6 +423,7 @@ CONFIG_SERIO=y | |||
390 | # CONFIG_SERIO_SERPORT is not set | 423 | # CONFIG_SERIO_SERPORT is not set |
391 | # CONFIG_SERIO_LIBPS2 is not set | 424 | # CONFIG_SERIO_LIBPS2 is not set |
392 | # CONFIG_SERIO_RAW is not set | 425 | # CONFIG_SERIO_RAW is not set |
426 | # CONFIG_SERIO_ALTERA_PS2 is not set | ||
393 | # CONFIG_GAMEPORT is not set | 427 | # CONFIG_GAMEPORT is not set |
394 | 428 | ||
395 | # | 429 | # |
@@ -458,6 +492,7 @@ CONFIG_SSB_POSSIBLE=y | |||
458 | # | 492 | # |
459 | # CONFIG_MFD_CORE is not set | 493 | # CONFIG_MFD_CORE is not set |
460 | # CONFIG_MFD_SM501 is not set | 494 | # CONFIG_MFD_SM501 is not set |
495 | # CONFIG_MFD_SH_MOBILE_SDHI is not set | ||
461 | # CONFIG_HTC_PASIC3 is not set | 496 | # CONFIG_HTC_PASIC3 is not set |
462 | # CONFIG_MFD_TMIO is not set | 497 | # CONFIG_MFD_TMIO is not set |
463 | # CONFIG_REGULATOR is not set | 498 | # CONFIG_REGULATOR is not set |
@@ -517,6 +552,7 @@ CONFIG_RTC_LIB=y | |||
517 | # CONFIG_EXT2_FS is not set | 552 | # CONFIG_EXT2_FS is not set |
518 | # CONFIG_EXT3_FS is not set | 553 | # CONFIG_EXT3_FS is not set |
519 | # CONFIG_EXT4_FS is not set | 554 | # CONFIG_EXT4_FS is not set |
555 | CONFIG_EXT4_USE_FOR_EXT23=y | ||
520 | # CONFIG_REISERFS_FS is not set | 556 | # CONFIG_REISERFS_FS is not set |
521 | # CONFIG_JFS_FS is not set | 557 | # CONFIG_JFS_FS is not set |
522 | # CONFIG_FS_POSIX_ACL is not set | 558 | # CONFIG_FS_POSIX_ACL is not set |
@@ -609,10 +645,11 @@ CONFIG_FRAME_WARN=1024 | |||
609 | # CONFIG_DEBUG_FS is not set | 645 | # CONFIG_DEBUG_FS is not set |
610 | # CONFIG_HEADERS_CHECK is not set | 646 | # CONFIG_HEADERS_CHECK is not set |
611 | # CONFIG_DEBUG_KERNEL is not set | 647 | # CONFIG_DEBUG_KERNEL is not set |
612 | # CONFIG_DEBUG_BUGVERBOSE is not set | 648 | CONFIG_DEBUG_BUGVERBOSE=y |
613 | # CONFIG_DEBUG_MEMORY_INIT is not set | 649 | # CONFIG_DEBUG_MEMORY_INIT is not set |
614 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | 650 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set |
615 | # CONFIG_LATENCYTOP is not set | 651 | # CONFIG_LATENCYTOP is not set |
652 | # CONFIG_SYSCTL_SYSCALL_CHECK is not set | ||
616 | CONFIG_HAVE_FUNCTION_TRACER=y | 653 | CONFIG_HAVE_FUNCTION_TRACER=y |
617 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | 654 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y |
618 | CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y | 655 | CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y |
@@ -625,7 +662,6 @@ CONFIG_TRACING_SUPPORT=y | |||
625 | # CONFIG_SAMPLES is not set | 662 | # CONFIG_SAMPLES is not set |
626 | CONFIG_HAVE_ARCH_KGDB=y | 663 | CONFIG_HAVE_ARCH_KGDB=y |
627 | # CONFIG_SH_STANDARD_BIOS is not set | 664 | # CONFIG_SH_STANDARD_BIOS is not set |
628 | # CONFIG_EARLY_SCIF_CONSOLE is not set | ||
629 | # CONFIG_DWARF_UNWINDER is not set | 665 | # CONFIG_DWARF_UNWINDER is not set |
630 | 666 | ||
631 | # | 667 | # |
@@ -634,7 +670,11 @@ CONFIG_HAVE_ARCH_KGDB=y | |||
634 | # CONFIG_KEYS is not set | 670 | # CONFIG_KEYS is not set |
635 | # CONFIG_SECURITY is not set | 671 | # CONFIG_SECURITY is not set |
636 | # CONFIG_SECURITYFS is not set | 672 | # CONFIG_SECURITYFS is not set |
637 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 673 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
674 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
675 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
676 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
677 | CONFIG_DEFAULT_SECURITY="" | ||
638 | # CONFIG_CRYPTO is not set | 678 | # CONFIG_CRYPTO is not set |
639 | # CONFIG_BINARY_PRINTF is not set | 679 | # CONFIG_BINARY_PRINTF is not set |
640 | 680 | ||
diff --git a/arch/sh/configs/titan_defconfig b/arch/sh/configs/titan_defconfig index 2ca79ed9fb62..78c257053c79 100644 --- a/arch/sh/configs/titan_defconfig +++ b/arch/sh/configs/titan_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.31 | 3 | # Linux kernel version: 2.6.33-rc2 |
4 | # Thu Sep 24 19:36:36 2009 | 4 | # Mon Jan 4 15:17:20 2010 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_SUPERH32=y | 7 | CONFIG_SUPERH32=y |
@@ -20,6 +20,7 @@ CONFIG_GENERIC_TIME=y | |||
20 | CONFIG_GENERIC_CLOCKEVENTS=y | 20 | CONFIG_GENERIC_CLOCKEVENTS=y |
21 | # CONFIG_ARCH_SUSPEND_POSSIBLE is not set | 21 | # CONFIG_ARCH_SUSPEND_POSSIBLE is not set |
22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y | 22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y |
23 | CONFIG_SYS_SUPPORTS_HUGETLBFS=y | ||
23 | CONFIG_SYS_SUPPORTS_PCI=y | 24 | CONFIG_SYS_SUPPORTS_PCI=y |
24 | CONFIG_SYS_SUPPORTS_TMU=y | 25 | CONFIG_SYS_SUPPORTS_TMU=y |
25 | CONFIG_STACKTRACE_SUPPORT=y | 26 | CONFIG_STACKTRACE_SUPPORT=y |
@@ -30,6 +31,7 @@ CONFIG_HAVE_LATENCYTOP_SUPPORT=y | |||
30 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | 31 | CONFIG_ARCH_NO_VIRT_TO_BUS=y |
31 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y | 32 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y |
32 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y | 33 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y |
34 | CONFIG_DMA_NONCOHERENT=y | ||
33 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 35 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
34 | CONFIG_CONSTRUCTORS=y | 36 | CONFIG_CONSTRUCTORS=y |
35 | 37 | ||
@@ -61,6 +63,7 @@ CONFIG_POSIX_MQUEUE_SYSCTL=y | |||
61 | # | 63 | # |
62 | CONFIG_TREE_RCU=y | 64 | CONFIG_TREE_RCU=y |
63 | # CONFIG_TREE_PREEMPT_RCU is not set | 65 | # CONFIG_TREE_PREEMPT_RCU is not set |
66 | # CONFIG_TINY_RCU is not set | ||
64 | # CONFIG_RCU_TRACE is not set | 67 | # CONFIG_RCU_TRACE is not set |
65 | CONFIG_RCU_FANOUT=32 | 68 | CONFIG_RCU_FANOUT=32 |
66 | # CONFIG_RCU_FANOUT_EXACT is not set | 69 | # CONFIG_RCU_FANOUT_EXACT is not set |
@@ -101,6 +104,7 @@ CONFIG_EVENTFD=y | |||
101 | CONFIG_SHMEM=y | 104 | CONFIG_SHMEM=y |
102 | CONFIG_AIO=y | 105 | CONFIG_AIO=y |
103 | CONFIG_HAVE_PERF_EVENTS=y | 106 | CONFIG_HAVE_PERF_EVENTS=y |
107 | CONFIG_PERF_USE_VMALLOC=y | ||
104 | 108 | ||
105 | # | 109 | # |
106 | # Kernel Performance Events And Counters | 110 | # Kernel Performance Events And Counters |
@@ -120,13 +124,14 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
120 | CONFIG_HAVE_KPROBES=y | 124 | CONFIG_HAVE_KPROBES=y |
121 | CONFIG_HAVE_KRETPROBES=y | 125 | CONFIG_HAVE_KRETPROBES=y |
122 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 126 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
127 | CONFIG_HAVE_DMA_ATTRS=y | ||
123 | CONFIG_HAVE_CLK=y | 128 | CONFIG_HAVE_CLK=y |
124 | CONFIG_HAVE_DMA_API_DEBUG=y | 129 | CONFIG_HAVE_DMA_API_DEBUG=y |
125 | 130 | ||
126 | # | 131 | # |
127 | # GCOV-based kernel profiling | 132 | # GCOV-based kernel profiling |
128 | # | 133 | # |
129 | # CONFIG_SLOW_WORK is not set | 134 | CONFIG_SLOW_WORK=y |
130 | CONFIG_HAVE_GENERIC_DMA_COHERENT=y | 135 | CONFIG_HAVE_GENERIC_DMA_COHERENT=y |
131 | CONFIG_SLABINFO=y | 136 | CONFIG_SLABINFO=y |
132 | CONFIG_RT_MUTEXES=y | 137 | CONFIG_RT_MUTEXES=y |
@@ -146,14 +151,41 @@ CONFIG_LBDAF=y | |||
146 | # IO Schedulers | 151 | # IO Schedulers |
147 | # | 152 | # |
148 | CONFIG_IOSCHED_NOOP=y | 153 | CONFIG_IOSCHED_NOOP=y |
149 | CONFIG_IOSCHED_AS=y | ||
150 | CONFIG_IOSCHED_DEADLINE=y | 154 | CONFIG_IOSCHED_DEADLINE=y |
151 | CONFIG_IOSCHED_CFQ=y | 155 | CONFIG_IOSCHED_CFQ=y |
152 | CONFIG_DEFAULT_AS=y | ||
153 | # CONFIG_DEFAULT_DEADLINE is not set | 156 | # CONFIG_DEFAULT_DEADLINE is not set |
154 | # CONFIG_DEFAULT_CFQ is not set | 157 | CONFIG_DEFAULT_CFQ=y |
155 | # CONFIG_DEFAULT_NOOP is not set | 158 | # CONFIG_DEFAULT_NOOP is not set |
156 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 159 | CONFIG_DEFAULT_IOSCHED="cfq" |
160 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
161 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
162 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
163 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
164 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
165 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
166 | CONFIG_INLINE_SPIN_UNLOCK=y | ||
167 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
168 | CONFIG_INLINE_SPIN_UNLOCK_IRQ=y | ||
169 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
170 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
171 | # CONFIG_INLINE_READ_LOCK is not set | ||
172 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
173 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
174 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
175 | CONFIG_INLINE_READ_UNLOCK=y | ||
176 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
177 | CONFIG_INLINE_READ_UNLOCK_IRQ=y | ||
178 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
179 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
180 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
181 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
182 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
183 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
184 | CONFIG_INLINE_WRITE_UNLOCK=y | ||
185 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
186 | CONFIG_INLINE_WRITE_UNLOCK_IRQ=y | ||
187 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
188 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
157 | # CONFIG_FREEZER is not set | 189 | # CONFIG_FREEZER is not set |
158 | 190 | ||
159 | # | 191 | # |
@@ -229,8 +261,6 @@ CONFIG_SPLIT_PTLOCK_CPUS=4 | |||
229 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 261 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
230 | CONFIG_ZONE_DMA_FLAG=0 | 262 | CONFIG_ZONE_DMA_FLAG=0 |
231 | CONFIG_NR_QUICK=2 | 263 | CONFIG_NR_QUICK=2 |
232 | CONFIG_HAVE_MLOCK=y | ||
233 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
234 | # CONFIG_KSM is not set | 264 | # CONFIG_KSM is not set |
235 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | 265 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 |
236 | 266 | ||
@@ -282,9 +312,9 @@ CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | |||
282 | # | 312 | # |
283 | # DMA support | 313 | # DMA support |
284 | # | 314 | # |
285 | CONFIG_SH_DMA_API=y | ||
286 | CONFIG_SH_DMA=y | 315 | CONFIG_SH_DMA=y |
287 | CONFIG_SH_DMA_IRQ_MULTI=y | 316 | CONFIG_SH_DMA_IRQ_MULTI=y |
317 | CONFIG_SH_DMA_API=y | ||
288 | CONFIG_NR_ONCHIP_DMA_CHANNELS=8 | 318 | CONFIG_NR_ONCHIP_DMA_CHANNELS=8 |
289 | # CONFIG_NR_DMA_CHANNELS_BOOL is not set | 319 | # CONFIG_NR_DMA_CHANNELS_BOOL is not set |
290 | 320 | ||
@@ -323,7 +353,6 @@ CONFIG_GUSA=y | |||
323 | CONFIG_ZERO_PAGE_OFFSET=0x00001000 | 353 | CONFIG_ZERO_PAGE_OFFSET=0x00001000 |
324 | CONFIG_BOOT_LINK_OFFSET=0x009e0000 | 354 | CONFIG_BOOT_LINK_OFFSET=0x009e0000 |
325 | CONFIG_ENTRY_OFFSET=0x00001000 | 355 | CONFIG_ENTRY_OFFSET=0x00001000 |
326 | # CONFIG_UBC_WAKEUP is not set | ||
327 | CONFIG_CMDLINE_OVERWRITE=y | 356 | CONFIG_CMDLINE_OVERWRITE=y |
328 | # CONFIG_CMDLINE_EXTEND is not set | 357 | # CONFIG_CMDLINE_EXTEND is not set |
329 | CONFIG_CMDLINE="console=ttySC1,38400N81 root=/dev/nfs ip=:::::eth1:autoconf rw" | 358 | CONFIG_CMDLINE="console=ttySC1,38400N81 root=/dev/nfs ip=:::::eth1:autoconf rw" |
@@ -332,7 +361,6 @@ CONFIG_CMDLINE="console=ttySC1,38400N81 root=/dev/nfs ip=:::::eth1:autoconf rw" | |||
332 | # Bus options | 361 | # Bus options |
333 | # | 362 | # |
334 | CONFIG_PCI=y | 363 | CONFIG_PCI=y |
335 | CONFIG_SH_PCIDMA_NONCOHERENT=y | ||
336 | # CONFIG_PCIEPORTBUS is not set | 364 | # CONFIG_PCIEPORTBUS is not set |
337 | # CONFIG_ARCH_SUPPORTS_MSI is not set | 365 | # CONFIG_ARCH_SUPPORTS_MSI is not set |
338 | CONFIG_PCI_LEGACY=y | 366 | CONFIG_PCI_LEGACY=y |
@@ -425,6 +453,7 @@ CONFIG_INET6_XFRM_MODE_TUNNEL=y | |||
425 | CONFIG_INET6_XFRM_MODE_BEET=y | 453 | CONFIG_INET6_XFRM_MODE_BEET=y |
426 | # CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set | 454 | # CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set |
427 | CONFIG_IPV6_SIT=m | 455 | CONFIG_IPV6_SIT=m |
456 | # CONFIG_IPV6_SIT_6RD is not set | ||
428 | CONFIG_IPV6_NDISC_NODETYPE=y | 457 | CONFIG_IPV6_NDISC_NODETYPE=y |
429 | CONFIG_IPV6_TUNNEL=y | 458 | CONFIG_IPV6_TUNNEL=y |
430 | # CONFIG_IPV6_MULTIPLE_TABLES is not set | 459 | # CONFIG_IPV6_MULTIPLE_TABLES is not set |
@@ -614,10 +643,6 @@ CONFIG_NET_SCH_FIFO=y | |||
614 | CONFIG_FIB_RULES=y | 643 | CONFIG_FIB_RULES=y |
615 | CONFIG_WIRELESS=y | 644 | CONFIG_WIRELESS=y |
616 | # CONFIG_CFG80211 is not set | 645 | # CONFIG_CFG80211 is not set |
617 | CONFIG_CFG80211_DEFAULT_PS_VALUE=0 | ||
618 | # CONFIG_WIRELESS_OLD_REGULATORY is not set | ||
619 | CONFIG_WIRELESS_EXT=y | ||
620 | CONFIG_WIRELESS_EXT_SYSFS=y | ||
621 | # CONFIG_LIB80211 is not set | 646 | # CONFIG_LIB80211 is not set |
622 | 647 | ||
623 | # | 648 | # |
@@ -743,6 +768,11 @@ CONFIG_BLK_DEV=y | |||
743 | # CONFIG_BLK_DEV_COW_COMMON is not set | 768 | # CONFIG_BLK_DEV_COW_COMMON is not set |
744 | CONFIG_BLK_DEV_LOOP=m | 769 | CONFIG_BLK_DEV_LOOP=m |
745 | CONFIG_BLK_DEV_CRYPTOLOOP=m | 770 | CONFIG_BLK_DEV_CRYPTOLOOP=m |
771 | |||
772 | # | ||
773 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
774 | # | ||
775 | # CONFIG_BLK_DEV_DRBD is not set | ||
746 | # CONFIG_BLK_DEV_NBD is not set | 776 | # CONFIG_BLK_DEV_NBD is not set |
747 | # CONFIG_BLK_DEV_SX8 is not set | 777 | # CONFIG_BLK_DEV_SX8 is not set |
748 | # CONFIG_BLK_DEV_UB is not set | 778 | # CONFIG_BLK_DEV_UB is not set |
@@ -807,8 +837,11 @@ CONFIG_SCSI_LOWLEVEL=y | |||
807 | # CONFIG_ISCSI_TCP is not set | 837 | # CONFIG_ISCSI_TCP is not set |
808 | # CONFIG_SCSI_CXGB3_ISCSI is not set | 838 | # CONFIG_SCSI_CXGB3_ISCSI is not set |
809 | # CONFIG_SCSI_BNX2_ISCSI is not set | 839 | # CONFIG_SCSI_BNX2_ISCSI is not set |
840 | # CONFIG_BE2ISCSI is not set | ||
810 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set | 841 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set |
842 | # CONFIG_SCSI_HPSA is not set | ||
811 | # CONFIG_SCSI_3W_9XXX is not set | 843 | # CONFIG_SCSI_3W_9XXX is not set |
844 | # CONFIG_SCSI_3W_SAS is not set | ||
812 | # CONFIG_SCSI_ACARD is not set | 845 | # CONFIG_SCSI_ACARD is not set |
813 | # CONFIG_SCSI_AACRAID is not set | 846 | # CONFIG_SCSI_AACRAID is not set |
814 | # CONFIG_SCSI_AIC7XXX is not set | 847 | # CONFIG_SCSI_AIC7XXX is not set |
@@ -841,7 +874,9 @@ CONFIG_SCSI_LOWLEVEL=y | |||
841 | # CONFIG_SCSI_NSP32 is not set | 874 | # CONFIG_SCSI_NSP32 is not set |
842 | # CONFIG_SCSI_DEBUG is not set | 875 | # CONFIG_SCSI_DEBUG is not set |
843 | # CONFIG_SCSI_PMCRAID is not set | 876 | # CONFIG_SCSI_PMCRAID is not set |
877 | # CONFIG_SCSI_PM8001 is not set | ||
844 | # CONFIG_SCSI_SRP is not set | 878 | # CONFIG_SCSI_SRP is not set |
879 | # CONFIG_SCSI_BFA_FC is not set | ||
845 | # CONFIG_SCSI_DH is not set | 880 | # CONFIG_SCSI_DH is not set |
846 | # CONFIG_SCSI_OSD_INITIATOR is not set | 881 | # CONFIG_SCSI_OSD_INITIATOR is not set |
847 | # CONFIG_ATA is not set | 882 | # CONFIG_ATA is not set |
@@ -935,6 +970,7 @@ CONFIG_8139_OLD_RX_RESET=y | |||
935 | # CONFIG_SUNDANCE is not set | 970 | # CONFIG_SUNDANCE is not set |
936 | # CONFIG_TLAN is not set | 971 | # CONFIG_TLAN is not set |
937 | # CONFIG_KS8842 is not set | 972 | # CONFIG_KS8842 is not set |
973 | # CONFIG_KS8851_MLL is not set | ||
938 | # CONFIG_VIA_RHINE is not set | 974 | # CONFIG_VIA_RHINE is not set |
939 | # CONFIG_SC92031 is not set | 975 | # CONFIG_SC92031 is not set |
940 | # CONFIG_ATL2 is not set | 976 | # CONFIG_ATL2 is not set |
@@ -983,8 +1019,10 @@ CONFIG_CHELSIO_T3_DEPENDS=y | |||
983 | # CONFIG_BE2NET is not set | 1019 | # CONFIG_BE2NET is not set |
984 | # CONFIG_TR is not set | 1020 | # CONFIG_TR is not set |
985 | CONFIG_WLAN=y | 1021 | CONFIG_WLAN=y |
986 | # CONFIG_WLAN_PRE80211 is not set | 1022 | # CONFIG_ATMEL is not set |
987 | # CONFIG_WLAN_80211 is not set | 1023 | # CONFIG_PRISM54 is not set |
1024 | # CONFIG_USB_ZD1201 is not set | ||
1025 | # CONFIG_HOSTAP is not set | ||
988 | 1026 | ||
989 | # | 1027 | # |
990 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 1028 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -1033,6 +1071,7 @@ CONFIG_SLIP_SMART=y | |||
1033 | # CONFIG_NETCONSOLE is not set | 1071 | # CONFIG_NETCONSOLE is not set |
1034 | # CONFIG_NETPOLL is not set | 1072 | # CONFIG_NETPOLL is not set |
1035 | # CONFIG_NET_POLL_CONTROLLER is not set | 1073 | # CONFIG_NET_POLL_CONTROLLER is not set |
1074 | # CONFIG_VMXNET3 is not set | ||
1036 | # CONFIG_ISDN is not set | 1075 | # CONFIG_ISDN is not set |
1037 | # CONFIG_PHONE is not set | 1076 | # CONFIG_PHONE is not set |
1038 | 1077 | ||
@@ -1042,6 +1081,7 @@ CONFIG_SLIP_SMART=y | |||
1042 | CONFIG_INPUT=y | 1081 | CONFIG_INPUT=y |
1043 | # CONFIG_INPUT_FF_MEMLESS is not set | 1082 | # CONFIG_INPUT_FF_MEMLESS is not set |
1044 | # CONFIG_INPUT_POLLDEV is not set | 1083 | # CONFIG_INPUT_POLLDEV is not set |
1084 | # CONFIG_INPUT_SPARSEKMAP is not set | ||
1045 | 1085 | ||
1046 | # | 1086 | # |
1047 | # Userland interfaces | 1087 | # Userland interfaces |
@@ -1172,6 +1212,7 @@ CONFIG_SSB_POSSIBLE=y | |||
1172 | # | 1212 | # |
1173 | # CONFIG_MFD_CORE is not set | 1213 | # CONFIG_MFD_CORE is not set |
1174 | # CONFIG_MFD_SM501 is not set | 1214 | # CONFIG_MFD_SM501 is not set |
1215 | # CONFIG_MFD_SH_MOBILE_SDHI is not set | ||
1175 | # CONFIG_HTC_PASIC3 is not set | 1216 | # CONFIG_HTC_PASIC3 is not set |
1176 | # CONFIG_MFD_TMIO is not set | 1217 | # CONFIG_MFD_TMIO is not set |
1177 | # CONFIG_REGULATOR is not set | 1218 | # CONFIG_REGULATOR is not set |
@@ -1409,7 +1450,9 @@ CONFIG_RTC_INTF_DEV=y | |||
1409 | # CONFIG_RTC_DRV_M48T86 is not set | 1450 | # CONFIG_RTC_DRV_M48T86 is not set |
1410 | # CONFIG_RTC_DRV_M48T35 is not set | 1451 | # CONFIG_RTC_DRV_M48T35 is not set |
1411 | # CONFIG_RTC_DRV_M48T59 is not set | 1452 | # CONFIG_RTC_DRV_M48T59 is not set |
1453 | # CONFIG_RTC_DRV_MSM6242 is not set | ||
1412 | # CONFIG_RTC_DRV_BQ4802 is not set | 1454 | # CONFIG_RTC_DRV_BQ4802 is not set |
1455 | # CONFIG_RTC_DRV_RP5C01 is not set | ||
1413 | # CONFIG_RTC_DRV_V3020 is not set | 1456 | # CONFIG_RTC_DRV_V3020 is not set |
1414 | 1457 | ||
1415 | # | 1458 | # |
@@ -1664,6 +1707,7 @@ CONFIG_SCHED_DEBUG=y | |||
1664 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set | 1707 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set |
1665 | # CONFIG_FAULT_INJECTION is not set | 1708 | # CONFIG_FAULT_INJECTION is not set |
1666 | # CONFIG_LATENCYTOP is not set | 1709 | # CONFIG_LATENCYTOP is not set |
1710 | # CONFIG_SYSCTL_SYSCALL_CHECK is not set | ||
1667 | # CONFIG_PAGE_POISONING is not set | 1711 | # CONFIG_PAGE_POISONING is not set |
1668 | CONFIG_HAVE_FUNCTION_TRACER=y | 1712 | CONFIG_HAVE_FUNCTION_TRACER=y |
1669 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | 1713 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y |
@@ -1691,7 +1735,6 @@ CONFIG_BRANCH_PROFILE_NONE=y | |||
1691 | CONFIG_HAVE_ARCH_KGDB=y | 1735 | CONFIG_HAVE_ARCH_KGDB=y |
1692 | # CONFIG_KGDB is not set | 1736 | # CONFIG_KGDB is not set |
1693 | # CONFIG_SH_STANDARD_BIOS is not set | 1737 | # CONFIG_SH_STANDARD_BIOS is not set |
1694 | # CONFIG_EARLY_SCIF_CONSOLE is not set | ||
1695 | # CONFIG_STACK_DEBUG is not set | 1738 | # CONFIG_STACK_DEBUG is not set |
1696 | # CONFIG_DEBUG_STACK_USAGE is not set | 1739 | # CONFIG_DEBUG_STACK_USAGE is not set |
1697 | # CONFIG_4KSTACKS is not set | 1740 | # CONFIG_4KSTACKS is not set |
@@ -1705,7 +1748,11 @@ CONFIG_HAVE_ARCH_KGDB=y | |||
1705 | # CONFIG_KEYS is not set | 1748 | # CONFIG_KEYS is not set |
1706 | # CONFIG_SECURITY is not set | 1749 | # CONFIG_SECURITY is not set |
1707 | # CONFIG_SECURITYFS is not set | 1750 | # CONFIG_SECURITYFS is not set |
1708 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1751 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
1752 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
1753 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
1754 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
1755 | CONFIG_DEFAULT_SECURITY="" | ||
1709 | CONFIG_CRYPTO=y | 1756 | CONFIG_CRYPTO=y |
1710 | 1757 | ||
1711 | # | 1758 | # |
diff --git a/arch/sh/configs/ul2_defconfig b/arch/sh/configs/ul2_defconfig index b012ca77f029..4fa03bf086dd 100644 --- a/arch/sh/configs/ul2_defconfig +++ b/arch/sh/configs/ul2_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.31 | 3 | # Linux kernel version: 2.6.33-rc2 |
4 | # Thu Sep 24 19:42:33 2009 | 4 | # Mon Jan 4 15:18:53 2010 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_SUPERH32=y | 7 | CONFIG_SUPERH32=y |
@@ -20,6 +20,7 @@ CONFIG_GENERIC_TIME=y | |||
20 | CONFIG_GENERIC_CLOCKEVENTS=y | 20 | CONFIG_GENERIC_CLOCKEVENTS=y |
21 | CONFIG_ARCH_SUSPEND_POSSIBLE=y | 21 | CONFIG_ARCH_SUSPEND_POSSIBLE=y |
22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y | 22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y |
23 | CONFIG_SYS_SUPPORTS_HUGETLBFS=y | ||
23 | CONFIG_SYS_SUPPORTS_NUMA=y | 24 | CONFIG_SYS_SUPPORTS_NUMA=y |
24 | CONFIG_SYS_SUPPORTS_CMT=y | 25 | CONFIG_SYS_SUPPORTS_CMT=y |
25 | CONFIG_SYS_SUPPORTS_TMU=y | 26 | CONFIG_SYS_SUPPORTS_TMU=y |
@@ -31,6 +32,7 @@ CONFIG_HAVE_LATENCYTOP_SUPPORT=y | |||
31 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | 32 | CONFIG_ARCH_NO_VIRT_TO_BUS=y |
32 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y | 33 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y |
33 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y | 34 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y |
35 | CONFIG_DMA_NONCOHERENT=y | ||
34 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 36 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
35 | CONFIG_CONSTRUCTORS=y | 37 | CONFIG_CONSTRUCTORS=y |
36 | 38 | ||
@@ -63,6 +65,7 @@ CONFIG_BSD_PROCESS_ACCT=y | |||
63 | # | 65 | # |
64 | CONFIG_TREE_RCU=y | 66 | CONFIG_TREE_RCU=y |
65 | # CONFIG_TREE_PREEMPT_RCU is not set | 67 | # CONFIG_TREE_PREEMPT_RCU is not set |
68 | # CONFIG_TINY_RCU is not set | ||
66 | # CONFIG_RCU_TRACE is not set | 69 | # CONFIG_RCU_TRACE is not set |
67 | CONFIG_RCU_FANOUT=32 | 70 | CONFIG_RCU_FANOUT=32 |
68 | # CONFIG_RCU_FANOUT_EXACT is not set | 71 | # CONFIG_RCU_FANOUT_EXACT is not set |
@@ -102,6 +105,7 @@ CONFIG_EVENTFD=y | |||
102 | CONFIG_SHMEM=y | 105 | CONFIG_SHMEM=y |
103 | CONFIG_AIO=y | 106 | CONFIG_AIO=y |
104 | CONFIG_HAVE_PERF_EVENTS=y | 107 | CONFIG_HAVE_PERF_EVENTS=y |
108 | CONFIG_PERF_USE_VMALLOC=y | ||
105 | 109 | ||
106 | # | 110 | # |
107 | # Kernel Performance Events And Counters | 111 | # Kernel Performance Events And Counters |
@@ -122,6 +126,7 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
122 | CONFIG_HAVE_KPROBES=y | 126 | CONFIG_HAVE_KPROBES=y |
123 | CONFIG_HAVE_KRETPROBES=y | 127 | CONFIG_HAVE_KRETPROBES=y |
124 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 128 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
129 | CONFIG_HAVE_DMA_ATTRS=y | ||
125 | CONFIG_HAVE_CLK=y | 130 | CONFIG_HAVE_CLK=y |
126 | CONFIG_HAVE_DMA_API_DEBUG=y | 131 | CONFIG_HAVE_DMA_API_DEBUG=y |
127 | 132 | ||
@@ -148,14 +153,41 @@ CONFIG_LBDAF=y | |||
148 | # IO Schedulers | 153 | # IO Schedulers |
149 | # | 154 | # |
150 | CONFIG_IOSCHED_NOOP=y | 155 | CONFIG_IOSCHED_NOOP=y |
151 | # CONFIG_IOSCHED_AS is not set | ||
152 | # CONFIG_IOSCHED_DEADLINE is not set | 156 | # CONFIG_IOSCHED_DEADLINE is not set |
153 | # CONFIG_IOSCHED_CFQ is not set | 157 | # CONFIG_IOSCHED_CFQ is not set |
154 | # CONFIG_DEFAULT_AS is not set | ||
155 | # CONFIG_DEFAULT_DEADLINE is not set | 158 | # CONFIG_DEFAULT_DEADLINE is not set |
156 | # CONFIG_DEFAULT_CFQ is not set | 159 | # CONFIG_DEFAULT_CFQ is not set |
157 | CONFIG_DEFAULT_NOOP=y | 160 | CONFIG_DEFAULT_NOOP=y |
158 | CONFIG_DEFAULT_IOSCHED="noop" | 161 | CONFIG_DEFAULT_IOSCHED="noop" |
162 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
163 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
164 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
165 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
166 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
167 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
168 | # CONFIG_INLINE_SPIN_UNLOCK is not set | ||
169 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
170 | # CONFIG_INLINE_SPIN_UNLOCK_IRQ is not set | ||
171 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
172 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
173 | # CONFIG_INLINE_READ_LOCK is not set | ||
174 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
175 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
176 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
177 | # CONFIG_INLINE_READ_UNLOCK is not set | ||
178 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
179 | # CONFIG_INLINE_READ_UNLOCK_IRQ is not set | ||
180 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
181 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
182 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
183 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
184 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
185 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
186 | # CONFIG_INLINE_WRITE_UNLOCK is not set | ||
187 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
188 | # CONFIG_INLINE_WRITE_UNLOCK_IRQ is not set | ||
189 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
190 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
159 | CONFIG_FREEZER=y | 191 | CONFIG_FREEZER=y |
160 | 192 | ||
161 | # | 193 | # |
@@ -247,8 +279,6 @@ CONFIG_SPLIT_PTLOCK_CPUS=4 | |||
247 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 279 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
248 | CONFIG_ZONE_DMA_FLAG=0 | 280 | CONFIG_ZONE_DMA_FLAG=0 |
249 | CONFIG_NR_QUICK=2 | 281 | CONFIG_NR_QUICK=2 |
250 | CONFIG_HAVE_MLOCK=y | ||
251 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
252 | # CONFIG_KSM is not set | 282 | # CONFIG_KSM is not set |
253 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | 283 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 |
254 | 284 | ||
@@ -280,7 +310,6 @@ CONFIG_CPU_HAS_DSP=y | |||
280 | # | 310 | # |
281 | CONFIG_SH_TIMER_TMU=y | 311 | CONFIG_SH_TIMER_TMU=y |
282 | # CONFIG_SH_TIMER_CMT is not set | 312 | # CONFIG_SH_TIMER_CMT is not set |
283 | CONFIG_SH_PCLK_FREQ=33333333 | ||
284 | CONFIG_SH_CLK_CPG=y | 313 | CONFIG_SH_CLK_CPG=y |
285 | CONFIG_TICK_ONESHOT=y | 314 | CONFIG_TICK_ONESHOT=y |
286 | # CONFIG_NO_HZ is not set | 315 | # CONFIG_NO_HZ is not set |
@@ -435,14 +464,17 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
435 | # CONFIG_BT is not set | 464 | # CONFIG_BT is not set |
436 | # CONFIG_AF_RXRPC is not set | 465 | # CONFIG_AF_RXRPC is not set |
437 | CONFIG_WIRELESS=y | 466 | CONFIG_WIRELESS=y |
467 | CONFIG_WIRELESS_EXT=y | ||
468 | CONFIG_WEXT_CORE=y | ||
469 | CONFIG_WEXT_PROC=y | ||
470 | CONFIG_WEXT_SPY=y | ||
438 | CONFIG_CFG80211=y | 471 | CONFIG_CFG80211=y |
439 | # CONFIG_NL80211_TESTMODE is not set | 472 | # CONFIG_NL80211_TESTMODE is not set |
440 | # CONFIG_CFG80211_DEVELOPER_WARNINGS is not set | 473 | # CONFIG_CFG80211_DEVELOPER_WARNINGS is not set |
441 | # CONFIG_CFG80211_REG_DEBUG is not set | 474 | # CONFIG_CFG80211_REG_DEBUG is not set |
442 | CONFIG_CFG80211_DEFAULT_PS=y | 475 | CONFIG_CFG80211_DEFAULT_PS=y |
443 | CONFIG_CFG80211_DEFAULT_PS_VALUE=1 | ||
444 | # CONFIG_WIRELESS_OLD_REGULATORY is not set | 476 | # CONFIG_WIRELESS_OLD_REGULATORY is not set |
445 | CONFIG_WIRELESS_EXT=y | 477 | CONFIG_CFG80211_WEXT=y |
446 | CONFIG_WIRELESS_EXT_SYSFS=y | 478 | CONFIG_WIRELESS_EXT_SYSFS=y |
447 | CONFIG_LIB80211=m | 479 | CONFIG_LIB80211=m |
448 | # CONFIG_LIB80211_DEBUG is not set | 480 | # CONFIG_LIB80211_DEBUG is not set |
@@ -559,6 +591,10 @@ CONFIG_MTD_RAM=y | |||
559 | CONFIG_BLK_DEV=y | 591 | CONFIG_BLK_DEV=y |
560 | # CONFIG_BLK_DEV_COW_COMMON is not set | 592 | # CONFIG_BLK_DEV_COW_COMMON is not set |
561 | # CONFIG_BLK_DEV_LOOP is not set | 593 | # CONFIG_BLK_DEV_LOOP is not set |
594 | |||
595 | # | ||
596 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
597 | # | ||
562 | # CONFIG_BLK_DEV_NBD is not set | 598 | # CONFIG_BLK_DEV_NBD is not set |
563 | # CONFIG_BLK_DEV_UB is not set | 599 | # CONFIG_BLK_DEV_UB is not set |
564 | CONFIG_BLK_DEV_RAM=y | 600 | CONFIG_BLK_DEV_RAM=y |
@@ -576,6 +612,7 @@ CONFIG_MISC_DEVICES=y | |||
576 | # EEPROM support | 612 | # EEPROM support |
577 | # | 613 | # |
578 | # CONFIG_EEPROM_93CX6 is not set | 614 | # CONFIG_EEPROM_93CX6 is not set |
615 | # CONFIG_IWMC3200TOP is not set | ||
579 | CONFIG_HAVE_IDE=y | 616 | CONFIG_HAVE_IDE=y |
580 | # CONFIG_IDE is not set | 617 | # CONFIG_IDE is not set |
581 | 618 | ||
@@ -653,30 +690,29 @@ CONFIG_MII=y | |||
653 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | 690 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set |
654 | # CONFIG_B44 is not set | 691 | # CONFIG_B44 is not set |
655 | # CONFIG_KS8842 is not set | 692 | # CONFIG_KS8842 is not set |
693 | # CONFIG_KS8851_MLL is not set | ||
656 | # CONFIG_NETDEV_1000 is not set | 694 | # CONFIG_NETDEV_1000 is not set |
657 | # CONFIG_NETDEV_10000 is not set | 695 | # CONFIG_NETDEV_10000 is not set |
658 | CONFIG_WLAN=y | 696 | CONFIG_WLAN=y |
659 | # CONFIG_WLAN_PRE80211 is not set | ||
660 | CONFIG_WLAN_80211=y | ||
661 | CONFIG_LIBERTAS=m | ||
662 | # CONFIG_LIBERTAS_USB is not set | ||
663 | CONFIG_LIBERTAS_SDIO=m | ||
664 | CONFIG_LIBERTAS_DEBUG=y | ||
665 | # CONFIG_LIBERTAS_THINFIRM is not set | 697 | # CONFIG_LIBERTAS_THINFIRM is not set |
666 | # CONFIG_AT76C50X_USB is not set | 698 | # CONFIG_AT76C50X_USB is not set |
667 | # CONFIG_USB_ZD1201 is not set | 699 | # CONFIG_USB_ZD1201 is not set |
668 | # CONFIG_USB_NET_RNDIS_WLAN is not set | 700 | # CONFIG_USB_NET_RNDIS_WLAN is not set |
669 | # CONFIG_RTL8187 is not set | 701 | # CONFIG_RTL8187 is not set |
670 | # CONFIG_MAC80211_HWSIM is not set | 702 | # CONFIG_MAC80211_HWSIM is not set |
671 | # CONFIG_P54_COMMON is not set | ||
672 | # CONFIG_ATH_COMMON is not set | 703 | # CONFIG_ATH_COMMON is not set |
673 | # CONFIG_HOSTAP is not set | ||
674 | # CONFIG_B43 is not set | 704 | # CONFIG_B43 is not set |
675 | # CONFIG_B43LEGACY is not set | 705 | # CONFIG_B43LEGACY is not set |
676 | # CONFIG_ZD1211RW is not set | 706 | # CONFIG_HOSTAP is not set |
707 | # CONFIG_IWM is not set | ||
708 | CONFIG_LIBERTAS=m | ||
709 | # CONFIG_LIBERTAS_USB is not set | ||
710 | CONFIG_LIBERTAS_SDIO=m | ||
711 | CONFIG_LIBERTAS_DEBUG=y | ||
712 | # CONFIG_P54_COMMON is not set | ||
677 | # CONFIG_RT2X00 is not set | 713 | # CONFIG_RT2X00 is not set |
678 | # CONFIG_WL12XX is not set | 714 | # CONFIG_WL12XX is not set |
679 | # CONFIG_IWM is not set | 715 | # CONFIG_ZD1211RW is not set |
680 | 716 | ||
681 | # | 717 | # |
682 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 718 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -718,6 +754,7 @@ CONFIG_USB_NET_CDCETHER=y | |||
718 | CONFIG_INPUT=y | 754 | CONFIG_INPUT=y |
719 | # CONFIG_INPUT_FF_MEMLESS is not set | 755 | # CONFIG_INPUT_FF_MEMLESS is not set |
720 | # CONFIG_INPUT_POLLDEV is not set | 756 | # CONFIG_INPUT_POLLDEV is not set |
757 | # CONFIG_INPUT_SPARSEKMAP is not set | ||
721 | 758 | ||
722 | # | 759 | # |
723 | # Userland interfaces | 760 | # Userland interfaces |
@@ -810,6 +847,7 @@ CONFIG_SSB_POSSIBLE=y | |||
810 | # | 847 | # |
811 | # CONFIG_MFD_CORE is not set | 848 | # CONFIG_MFD_CORE is not set |
812 | # CONFIG_MFD_SM501 is not set | 849 | # CONFIG_MFD_SM501 is not set |
850 | # CONFIG_MFD_SH_MOBILE_SDHI is not set | ||
813 | # CONFIG_HTC_PASIC3 is not set | 851 | # CONFIG_HTC_PASIC3 is not set |
814 | # CONFIG_MFD_TMIO is not set | 852 | # CONFIG_MFD_TMIO is not set |
815 | # CONFIG_REGULATOR is not set | 853 | # CONFIG_REGULATOR is not set |
@@ -951,6 +989,7 @@ CONFIG_MMC_BLOCK_BOUNCE=y | |||
951 | # CONFIG_MMC_SDHCI is not set | 989 | # CONFIG_MMC_SDHCI is not set |
952 | # CONFIG_MMC_AT91 is not set | 990 | # CONFIG_MMC_AT91 is not set |
953 | # CONFIG_MMC_ATMELMCI is not set | 991 | # CONFIG_MMC_ATMELMCI is not set |
992 | # CONFIG_MMC_TMIO is not set | ||
954 | # CONFIG_MEMSTICK is not set | 993 | # CONFIG_MEMSTICK is not set |
955 | # CONFIG_NEW_LEDS is not set | 994 | # CONFIG_NEW_LEDS is not set |
956 | # CONFIG_ACCESSIBILITY is not set | 995 | # CONFIG_ACCESSIBILITY is not set |
@@ -1133,7 +1172,7 @@ CONFIG_FRAME_WARN=1024 | |||
1133 | # CONFIG_DEBUG_KERNEL is not set | 1172 | # CONFIG_DEBUG_KERNEL is not set |
1134 | # CONFIG_SLUB_DEBUG_ON is not set | 1173 | # CONFIG_SLUB_DEBUG_ON is not set |
1135 | # CONFIG_SLUB_STATS is not set | 1174 | # CONFIG_SLUB_STATS is not set |
1136 | # CONFIG_DEBUG_BUGVERBOSE is not set | 1175 | CONFIG_DEBUG_BUGVERBOSE=y |
1137 | # CONFIG_DEBUG_MEMORY_INIT is not set | 1176 | # CONFIG_DEBUG_MEMORY_INIT is not set |
1138 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | 1177 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set |
1139 | # CONFIG_LATENCYTOP is not set | 1178 | # CONFIG_LATENCYTOP is not set |
@@ -1150,7 +1189,6 @@ CONFIG_TRACING_SUPPORT=y | |||
1150 | # CONFIG_SAMPLES is not set | 1189 | # CONFIG_SAMPLES is not set |
1151 | CONFIG_HAVE_ARCH_KGDB=y | 1190 | CONFIG_HAVE_ARCH_KGDB=y |
1152 | # CONFIG_SH_STANDARD_BIOS is not set | 1191 | # CONFIG_SH_STANDARD_BIOS is not set |
1153 | # CONFIG_EARLY_SCIF_CONSOLE is not set | ||
1154 | # CONFIG_DWARF_UNWINDER is not set | 1192 | # CONFIG_DWARF_UNWINDER is not set |
1155 | 1193 | ||
1156 | # | 1194 | # |
@@ -1159,7 +1197,11 @@ CONFIG_HAVE_ARCH_KGDB=y | |||
1159 | # CONFIG_KEYS is not set | 1197 | # CONFIG_KEYS is not set |
1160 | # CONFIG_SECURITY is not set | 1198 | # CONFIG_SECURITY is not set |
1161 | # CONFIG_SECURITYFS is not set | 1199 | # CONFIG_SECURITYFS is not set |
1162 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1200 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
1201 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
1202 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
1203 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
1204 | CONFIG_DEFAULT_SECURITY="" | ||
1163 | CONFIG_CRYPTO=y | 1205 | CONFIG_CRYPTO=y |
1164 | 1206 | ||
1165 | # | 1207 | # |
diff --git a/arch/sh/configs/urquell_defconfig b/arch/sh/configs/urquell_defconfig index 9f8aee5bc559..23bda1916f4d 100644 --- a/arch/sh/configs/urquell_defconfig +++ b/arch/sh/configs/urquell_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.31 | 3 | # Linux kernel version: 2.6.33-rc2 |
4 | # Thu Sep 24 19:46:13 2009 | 4 | # Mon Jan 4 15:27:53 2010 |
5 | # | 5 | # |
6 | CONFIG_SUPERH=y | 6 | CONFIG_SUPERH=y |
7 | CONFIG_SUPERH32=y | 7 | CONFIG_SUPERH32=y |
@@ -20,6 +20,7 @@ CONFIG_GENERIC_TIME=y | |||
20 | CONFIG_GENERIC_CLOCKEVENTS=y | 20 | CONFIG_GENERIC_CLOCKEVENTS=y |
21 | # CONFIG_ARCH_SUSPEND_POSSIBLE is not set | 21 | # CONFIG_ARCH_SUSPEND_POSSIBLE is not set |
22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y | 22 | CONFIG_ARCH_HIBERNATION_POSSIBLE=y |
23 | CONFIG_SYS_SUPPORTS_HUGETLBFS=y | ||
23 | CONFIG_SYS_SUPPORTS_SMP=y | 24 | CONFIG_SYS_SUPPORTS_SMP=y |
24 | CONFIG_SYS_SUPPORTS_NUMA=y | 25 | CONFIG_SYS_SUPPORTS_NUMA=y |
25 | CONFIG_SYS_SUPPORTS_PCI=y | 26 | CONFIG_SYS_SUPPORTS_PCI=y |
@@ -32,6 +33,8 @@ CONFIG_HAVE_LATENCYTOP_SUPPORT=y | |||
32 | CONFIG_ARCH_NO_VIRT_TO_BUS=y | 33 | CONFIG_ARCH_NO_VIRT_TO_BUS=y |
33 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y | 34 | CONFIG_ARCH_HAS_DEFAULT_IDLE=y |
34 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y | 35 | CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y |
36 | CONFIG_DMA_COHERENT=y | ||
37 | # CONFIG_DMA_NONCOHERENT is not set | ||
35 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | 38 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" |
36 | CONFIG_CONSTRUCTORS=y | 39 | CONFIG_CONSTRUCTORS=y |
37 | 40 | ||
@@ -66,6 +69,7 @@ CONFIG_AUDIT_TREE=y | |||
66 | # | 69 | # |
67 | CONFIG_TREE_RCU=y | 70 | CONFIG_TREE_RCU=y |
68 | # CONFIG_TREE_PREEMPT_RCU is not set | 71 | # CONFIG_TREE_PREEMPT_RCU is not set |
72 | # CONFIG_TINY_RCU is not set | ||
69 | # CONFIG_RCU_TRACE is not set | 73 | # CONFIG_RCU_TRACE is not set |
70 | CONFIG_RCU_FANOUT=32 | 74 | CONFIG_RCU_FANOUT=32 |
71 | # CONFIG_RCU_FANOUT_EXACT is not set | 75 | # CONFIG_RCU_FANOUT_EXACT is not set |
@@ -120,12 +124,14 @@ CONFIG_EVENTFD=y | |||
120 | CONFIG_SHMEM=y | 124 | CONFIG_SHMEM=y |
121 | CONFIG_AIO=y | 125 | CONFIG_AIO=y |
122 | CONFIG_HAVE_PERF_EVENTS=y | 126 | CONFIG_HAVE_PERF_EVENTS=y |
127 | CONFIG_PERF_USE_VMALLOC=y | ||
123 | 128 | ||
124 | # | 129 | # |
125 | # Kernel Performance Events And Counters | 130 | # Kernel Performance Events And Counters |
126 | # | 131 | # |
127 | CONFIG_PERF_EVENTS=y | 132 | CONFIG_PERF_EVENTS=y |
128 | # CONFIG_PERF_COUNTERS is not set | 133 | # CONFIG_PERF_COUNTERS is not set |
134 | # CONFIG_DEBUG_PERF_USE_VMALLOC is not set | ||
129 | CONFIG_VM_EVENT_COUNTERS=y | 135 | CONFIG_VM_EVENT_COUNTERS=y |
130 | CONFIG_PCI_QUIRKS=y | 136 | CONFIG_PCI_QUIRKS=y |
131 | CONFIG_COMPAT_BRK=y | 137 | CONFIG_COMPAT_BRK=y |
@@ -140,6 +146,7 @@ CONFIG_HAVE_IOREMAP_PROT=y | |||
140 | CONFIG_HAVE_KPROBES=y | 146 | CONFIG_HAVE_KPROBES=y |
141 | CONFIG_HAVE_KRETPROBES=y | 147 | CONFIG_HAVE_KRETPROBES=y |
142 | CONFIG_HAVE_ARCH_TRACEHOOK=y | 148 | CONFIG_HAVE_ARCH_TRACEHOOK=y |
149 | CONFIG_HAVE_DMA_ATTRS=y | ||
143 | CONFIG_HAVE_CLK=y | 150 | CONFIG_HAVE_CLK=y |
144 | CONFIG_HAVE_DMA_API_DEBUG=y | 151 | CONFIG_HAVE_DMA_API_DEBUG=y |
145 | 152 | ||
@@ -162,19 +169,48 @@ CONFIG_BLOCK=y | |||
162 | CONFIG_LBDAF=y | 169 | CONFIG_LBDAF=y |
163 | # CONFIG_BLK_DEV_BSG is not set | 170 | # CONFIG_BLK_DEV_BSG is not set |
164 | # CONFIG_BLK_DEV_INTEGRITY is not set | 171 | # CONFIG_BLK_DEV_INTEGRITY is not set |
172 | # CONFIG_BLK_CGROUP is not set | ||
165 | 173 | ||
166 | # | 174 | # |
167 | # IO Schedulers | 175 | # IO Schedulers |
168 | # | 176 | # |
169 | CONFIG_IOSCHED_NOOP=y | 177 | CONFIG_IOSCHED_NOOP=y |
170 | CONFIG_IOSCHED_AS=y | ||
171 | CONFIG_IOSCHED_DEADLINE=y | 178 | CONFIG_IOSCHED_DEADLINE=y |
172 | CONFIG_IOSCHED_CFQ=y | 179 | CONFIG_IOSCHED_CFQ=y |
173 | CONFIG_DEFAULT_AS=y | 180 | # CONFIG_CFQ_GROUP_IOSCHED is not set |
174 | # CONFIG_DEFAULT_DEADLINE is not set | 181 | # CONFIG_DEFAULT_DEADLINE is not set |
175 | # CONFIG_DEFAULT_CFQ is not set | 182 | CONFIG_DEFAULT_CFQ=y |
176 | # CONFIG_DEFAULT_NOOP is not set | 183 | # CONFIG_DEFAULT_NOOP is not set |
177 | CONFIG_DEFAULT_IOSCHED="anticipatory" | 184 | CONFIG_DEFAULT_IOSCHED="cfq" |
185 | # CONFIG_INLINE_SPIN_TRYLOCK is not set | ||
186 | # CONFIG_INLINE_SPIN_TRYLOCK_BH is not set | ||
187 | # CONFIG_INLINE_SPIN_LOCK is not set | ||
188 | # CONFIG_INLINE_SPIN_LOCK_BH is not set | ||
189 | # CONFIG_INLINE_SPIN_LOCK_IRQ is not set | ||
190 | # CONFIG_INLINE_SPIN_LOCK_IRQSAVE is not set | ||
191 | CONFIG_INLINE_SPIN_UNLOCK=y | ||
192 | # CONFIG_INLINE_SPIN_UNLOCK_BH is not set | ||
193 | CONFIG_INLINE_SPIN_UNLOCK_IRQ=y | ||
194 | # CONFIG_INLINE_SPIN_UNLOCK_IRQRESTORE is not set | ||
195 | # CONFIG_INLINE_READ_TRYLOCK is not set | ||
196 | # CONFIG_INLINE_READ_LOCK is not set | ||
197 | # CONFIG_INLINE_READ_LOCK_BH is not set | ||
198 | # CONFIG_INLINE_READ_LOCK_IRQ is not set | ||
199 | # CONFIG_INLINE_READ_LOCK_IRQSAVE is not set | ||
200 | CONFIG_INLINE_READ_UNLOCK=y | ||
201 | # CONFIG_INLINE_READ_UNLOCK_BH is not set | ||
202 | CONFIG_INLINE_READ_UNLOCK_IRQ=y | ||
203 | # CONFIG_INLINE_READ_UNLOCK_IRQRESTORE is not set | ||
204 | # CONFIG_INLINE_WRITE_TRYLOCK is not set | ||
205 | # CONFIG_INLINE_WRITE_LOCK is not set | ||
206 | # CONFIG_INLINE_WRITE_LOCK_BH is not set | ||
207 | # CONFIG_INLINE_WRITE_LOCK_IRQ is not set | ||
208 | # CONFIG_INLINE_WRITE_LOCK_IRQSAVE is not set | ||
209 | CONFIG_INLINE_WRITE_UNLOCK=y | ||
210 | # CONFIG_INLINE_WRITE_UNLOCK_BH is not set | ||
211 | CONFIG_INLINE_WRITE_UNLOCK_IRQ=y | ||
212 | # CONFIG_INLINE_WRITE_UNLOCK_IRQRESTORE is not set | ||
213 | # CONFIG_MUTEX_SPIN_ON_OWNER is not set | ||
178 | CONFIG_FREEZER=y | 214 | CONFIG_FREEZER=y |
179 | 215 | ||
180 | # | 216 | # |
@@ -229,6 +265,7 @@ CONFIG_FORCE_MAX_ZONEORDER=11 | |||
229 | CONFIG_MEMORY_START=0x08000000 | 265 | CONFIG_MEMORY_START=0x08000000 |
230 | CONFIG_MEMORY_SIZE=0x08000000 | 266 | CONFIG_MEMORY_SIZE=0x08000000 |
231 | CONFIG_29BIT=y | 267 | CONFIG_29BIT=y |
268 | # CONFIG_PMB_ENABLE is not set | ||
232 | # CONFIG_X2TLB is not set | 269 | # CONFIG_X2TLB is not set |
233 | CONFIG_VSYSCALL=y | 270 | CONFIG_VSYSCALL=y |
234 | # CONFIG_NUMA is not set | 271 | # CONFIG_NUMA is not set |
@@ -263,8 +300,6 @@ CONFIG_MIGRATION=y | |||
263 | # CONFIG_PHYS_ADDR_T_64BIT is not set | 300 | # CONFIG_PHYS_ADDR_T_64BIT is not set |
264 | CONFIG_ZONE_DMA_FLAG=0 | 301 | CONFIG_ZONE_DMA_FLAG=0 |
265 | CONFIG_NR_QUICK=2 | 302 | CONFIG_NR_QUICK=2 |
266 | CONFIG_HAVE_MLOCK=y | ||
267 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
268 | # CONFIG_KSM is not set | 303 | # CONFIG_KSM is not set |
269 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | 304 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 |
270 | 305 | ||
@@ -356,7 +391,6 @@ CONFIG_ENTRY_OFFSET=0x00001000 | |||
356 | # Bus options | 391 | # Bus options |
357 | # | 392 | # |
358 | CONFIG_PCI=y | 393 | CONFIG_PCI=y |
359 | # CONFIG_SH_PCIDMA_NONCOHERENT is not set | ||
360 | CONFIG_PCIEPORTBUS=y | 394 | CONFIG_PCIEPORTBUS=y |
361 | CONFIG_PCIEAER=y | 395 | CONFIG_PCIEAER=y |
362 | # CONFIG_PCIE_ECRC is not set | 396 | # CONFIG_PCIE_ECRC is not set |
@@ -469,10 +503,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic" | |||
469 | # CONFIG_AF_RXRPC is not set | 503 | # CONFIG_AF_RXRPC is not set |
470 | CONFIG_WIRELESS=y | 504 | CONFIG_WIRELESS=y |
471 | # CONFIG_CFG80211 is not set | 505 | # CONFIG_CFG80211 is not set |
472 | CONFIG_CFG80211_DEFAULT_PS_VALUE=0 | ||
473 | # CONFIG_WIRELESS_OLD_REGULATORY is not set | ||
474 | CONFIG_WIRELESS_EXT=y | ||
475 | CONFIG_WIRELESS_EXT_SYSFS=y | ||
476 | # CONFIG_LIB80211 is not set | 506 | # CONFIG_LIB80211 is not set |
477 | 507 | ||
478 | # | 508 | # |
@@ -588,6 +618,10 @@ CONFIG_BLK_DEV=y | |||
588 | # CONFIG_BLK_DEV_UMEM is not set | 618 | # CONFIG_BLK_DEV_UMEM is not set |
589 | # CONFIG_BLK_DEV_COW_COMMON is not set | 619 | # CONFIG_BLK_DEV_COW_COMMON is not set |
590 | # CONFIG_BLK_DEV_LOOP is not set | 620 | # CONFIG_BLK_DEV_LOOP is not set |
621 | |||
622 | # | ||
623 | # DRBD disabled because PROC_FS, INET or CONNECTOR not selected | ||
624 | # | ||
591 | # CONFIG_BLK_DEV_NBD is not set | 625 | # CONFIG_BLK_DEV_NBD is not set |
592 | # CONFIG_BLK_DEV_SX8 is not set | 626 | # CONFIG_BLK_DEV_SX8 is not set |
593 | # CONFIG_BLK_DEV_UB is not set | 627 | # CONFIG_BLK_DEV_UB is not set |
@@ -688,15 +722,16 @@ CONFIG_ATA_SFF=y | |||
688 | # CONFIG_PATA_NS87415 is not set | 722 | # CONFIG_PATA_NS87415 is not set |
689 | # CONFIG_PATA_OPTI is not set | 723 | # CONFIG_PATA_OPTI is not set |
690 | # CONFIG_PATA_OPTIDMA is not set | 724 | # CONFIG_PATA_OPTIDMA is not set |
725 | # CONFIG_PATA_PDC2027X is not set | ||
691 | # CONFIG_PATA_PDC_OLD is not set | 726 | # CONFIG_PATA_PDC_OLD is not set |
692 | # CONFIG_PATA_RADISYS is not set | 727 | # CONFIG_PATA_RADISYS is not set |
693 | # CONFIG_PATA_RDC is not set | 728 | # CONFIG_PATA_RDC is not set |
694 | # CONFIG_PATA_RZ1000 is not set | 729 | # CONFIG_PATA_RZ1000 is not set |
695 | # CONFIG_PATA_SC1200 is not set | 730 | # CONFIG_PATA_SC1200 is not set |
696 | # CONFIG_PATA_SERVERWORKS is not set | 731 | # CONFIG_PATA_SERVERWORKS is not set |
697 | # CONFIG_PATA_PDC2027X is not set | ||
698 | # CONFIG_PATA_SIL680 is not set | 732 | # CONFIG_PATA_SIL680 is not set |
699 | # CONFIG_PATA_SIS is not set | 733 | # CONFIG_PATA_SIS is not set |
734 | # CONFIG_PATA_TOSHIBA is not set | ||
700 | # CONFIG_PATA_VIA is not set | 735 | # CONFIG_PATA_VIA is not set |
701 | # CONFIG_PATA_WINBOND is not set | 736 | # CONFIG_PATA_WINBOND is not set |
702 | # CONFIG_PATA_PLATFORM is not set | 737 | # CONFIG_PATA_PLATFORM is not set |
@@ -787,6 +822,7 @@ CONFIG_8139CP=y | |||
787 | # CONFIG_SUNDANCE is not set | 822 | # CONFIG_SUNDANCE is not set |
788 | # CONFIG_TLAN is not set | 823 | # CONFIG_TLAN is not set |
789 | # CONFIG_KS8842 is not set | 824 | # CONFIG_KS8842 is not set |
825 | # CONFIG_KS8851_MLL is not set | ||
790 | # CONFIG_VIA_RHINE is not set | 826 | # CONFIG_VIA_RHINE is not set |
791 | # CONFIG_SC92031 is not set | 827 | # CONFIG_SC92031 is not set |
792 | # CONFIG_ATL2 is not set | 828 | # CONFIG_ATL2 is not set |
@@ -818,8 +854,10 @@ CONFIG_SKY2_DEBUG=y | |||
818 | # CONFIG_NETDEV_10000 is not set | 854 | # CONFIG_NETDEV_10000 is not set |
819 | # CONFIG_TR is not set | 855 | # CONFIG_TR is not set |
820 | CONFIG_WLAN=y | 856 | CONFIG_WLAN=y |
821 | # CONFIG_WLAN_PRE80211 is not set | 857 | # CONFIG_ATMEL is not set |
822 | # CONFIG_WLAN_80211 is not set | 858 | # CONFIG_PRISM54 is not set |
859 | # CONFIG_USB_ZD1201 is not set | ||
860 | # CONFIG_HOSTAP is not set | ||
823 | 861 | ||
824 | # | 862 | # |
825 | # Enable WiMAX (Networking options) to see the WiMAX drivers | 863 | # Enable WiMAX (Networking options) to see the WiMAX drivers |
@@ -842,6 +880,7 @@ CONFIG_WLAN=y | |||
842 | # CONFIG_NETCONSOLE is not set | 880 | # CONFIG_NETCONSOLE is not set |
843 | # CONFIG_NETPOLL is not set | 881 | # CONFIG_NETPOLL is not set |
844 | # CONFIG_NET_POLL_CONTROLLER is not set | 882 | # CONFIG_NET_POLL_CONTROLLER is not set |
883 | # CONFIG_VMXNET3 is not set | ||
845 | # CONFIG_ISDN is not set | 884 | # CONFIG_ISDN is not set |
846 | # CONFIG_PHONE is not set | 885 | # CONFIG_PHONE is not set |
847 | 886 | ||
@@ -851,6 +890,7 @@ CONFIG_WLAN=y | |||
851 | CONFIG_INPUT=y | 890 | CONFIG_INPUT=y |
852 | CONFIG_INPUT_FF_MEMLESS=m | 891 | CONFIG_INPUT_FF_MEMLESS=m |
853 | # CONFIG_INPUT_POLLDEV is not set | 892 | # CONFIG_INPUT_POLLDEV is not set |
893 | # CONFIG_INPUT_SPARSEKMAP is not set | ||
854 | 894 | ||
855 | # | 895 | # |
856 | # Userland interfaces | 896 | # Userland interfaces |
@@ -976,11 +1016,6 @@ CONFIG_I2C_ALGOPCA=y | |||
976 | # CONFIG_I2C_TINY_USB is not set | 1016 | # CONFIG_I2C_TINY_USB is not set |
977 | 1017 | ||
978 | # | 1018 | # |
979 | # Graphics adapter I2C/DDC channel drivers | ||
980 | # | ||
981 | # CONFIG_I2C_VOODOO3 is not set | ||
982 | |||
983 | # | ||
984 | # Other I2C/SMBus bus drivers | 1019 | # Other I2C/SMBus bus drivers |
985 | # | 1020 | # |
986 | CONFIG_I2C_PCA_PLATFORM=y | 1021 | CONFIG_I2C_PCA_PLATFORM=y |
@@ -989,7 +1024,6 @@ CONFIG_I2C_PCA_PLATFORM=y | |||
989 | # | 1024 | # |
990 | # Miscellaneous I2C Chip support | 1025 | # Miscellaneous I2C Chip support |
991 | # | 1026 | # |
992 | # CONFIG_DS1682 is not set | ||
993 | # CONFIG_SENSORS_TSL2550 is not set | 1027 | # CONFIG_SENSORS_TSL2550 is not set |
994 | # CONFIG_I2C_DEBUG_CORE is not set | 1028 | # CONFIG_I2C_DEBUG_CORE is not set |
995 | # CONFIG_I2C_DEBUG_ALGO is not set | 1029 | # CONFIG_I2C_DEBUG_ALGO is not set |
@@ -1020,6 +1054,7 @@ CONFIG_GPIOLIB=y | |||
1020 | # | 1054 | # |
1021 | # PCI GPIO expanders: | 1055 | # PCI GPIO expanders: |
1022 | # | 1056 | # |
1057 | # CONFIG_GPIO_CS5535 is not set | ||
1023 | # CONFIG_GPIO_BT8XX is not set | 1058 | # CONFIG_GPIO_BT8XX is not set |
1024 | # CONFIG_GPIO_LANGWELL is not set | 1059 | # CONFIG_GPIO_LANGWELL is not set |
1025 | 1060 | ||
@@ -1062,6 +1097,7 @@ CONFIG_HWMON=y | |||
1062 | # CONFIG_SENSORS_GL520SM is not set | 1097 | # CONFIG_SENSORS_GL520SM is not set |
1063 | # CONFIG_SENSORS_IT87 is not set | 1098 | # CONFIG_SENSORS_IT87 is not set |
1064 | # CONFIG_SENSORS_LM63 is not set | 1099 | # CONFIG_SENSORS_LM63 is not set |
1100 | # CONFIG_SENSORS_LM73 is not set | ||
1065 | # CONFIG_SENSORS_LM75 is not set | 1101 | # CONFIG_SENSORS_LM75 is not set |
1066 | # CONFIG_SENSORS_LM77 is not set | 1102 | # CONFIG_SENSORS_LM77 is not set |
1067 | # CONFIG_SENSORS_LM78 is not set | 1103 | # CONFIG_SENSORS_LM78 is not set |
@@ -1101,6 +1137,7 @@ CONFIG_HWMON=y | |||
1101 | # CONFIG_SENSORS_W83L786NG is not set | 1137 | # CONFIG_SENSORS_W83L786NG is not set |
1102 | # CONFIG_SENSORS_W83627HF is not set | 1138 | # CONFIG_SENSORS_W83627HF is not set |
1103 | # CONFIG_SENSORS_W83627EHF is not set | 1139 | # CONFIG_SENSORS_W83627EHF is not set |
1140 | # CONFIG_SENSORS_LIS3_I2C is not set | ||
1104 | # CONFIG_THERMAL is not set | 1141 | # CONFIG_THERMAL is not set |
1105 | # CONFIG_WATCHDOG is not set | 1142 | # CONFIG_WATCHDOG is not set |
1106 | CONFIG_SSB_POSSIBLE=y | 1143 | CONFIG_SSB_POSSIBLE=y |
@@ -1116,16 +1153,19 @@ CONFIG_SSB_POSSIBLE=y | |||
1116 | # CONFIG_MFD_CORE is not set | 1153 | # CONFIG_MFD_CORE is not set |
1117 | CONFIG_MFD_SM501=y | 1154 | CONFIG_MFD_SM501=y |
1118 | # CONFIG_MFD_SM501_GPIO is not set | 1155 | # CONFIG_MFD_SM501_GPIO is not set |
1156 | # CONFIG_MFD_SH_MOBILE_SDHI is not set | ||
1119 | # CONFIG_HTC_PASIC3 is not set | 1157 | # CONFIG_HTC_PASIC3 is not set |
1120 | # CONFIG_TPS65010 is not set | 1158 | # CONFIG_TPS65010 is not set |
1121 | # CONFIG_TWL4030_CORE is not set | 1159 | # CONFIG_TWL4030_CORE is not set |
1122 | # CONFIG_MFD_TMIO is not set | 1160 | # CONFIG_MFD_TMIO is not set |
1123 | # CONFIG_PMIC_DA903X is not set | 1161 | # CONFIG_PMIC_DA903X is not set |
1162 | # CONFIG_PMIC_ADP5520 is not set | ||
1124 | # CONFIG_MFD_WM8400 is not set | 1163 | # CONFIG_MFD_WM8400 is not set |
1125 | # CONFIG_MFD_WM831X is not set | 1164 | # CONFIG_MFD_WM831X is not set |
1126 | # CONFIG_MFD_WM8350_I2C is not set | 1165 | # CONFIG_MFD_WM8350_I2C is not set |
1127 | # CONFIG_MFD_PCF50633 is not set | 1166 | # CONFIG_MFD_PCF50633 is not set |
1128 | # CONFIG_AB3100_CORE is not set | 1167 | # CONFIG_AB3100_CORE is not set |
1168 | # CONFIG_MFD_88PM8607 is not set | ||
1129 | # CONFIG_REGULATOR is not set | 1169 | # CONFIG_REGULATOR is not set |
1130 | CONFIG_MEDIA_SUPPORT=y | 1170 | CONFIG_MEDIA_SUPPORT=y |
1131 | 1171 | ||
@@ -1139,6 +1179,8 @@ CONFIG_MEDIA_SUPPORT=y | |||
1139 | # | 1179 | # |
1140 | # Multimedia drivers | 1180 | # Multimedia drivers |
1141 | # | 1181 | # |
1182 | CONFIG_IR_CORE=y | ||
1183 | CONFIG_VIDEO_IR=y | ||
1142 | # CONFIG_DAB is not set | 1184 | # CONFIG_DAB is not set |
1143 | 1185 | ||
1144 | # | 1186 | # |
@@ -1417,6 +1459,7 @@ CONFIG_RTC_INTF_DEV=y | |||
1417 | # CONFIG_RTC_DRV_PCF8563 is not set | 1459 | # CONFIG_RTC_DRV_PCF8563 is not set |
1418 | # CONFIG_RTC_DRV_PCF8583 is not set | 1460 | # CONFIG_RTC_DRV_PCF8583 is not set |
1419 | # CONFIG_RTC_DRV_M41T80 is not set | 1461 | # CONFIG_RTC_DRV_M41T80 is not set |
1462 | # CONFIG_RTC_DRV_BQ32K is not set | ||
1420 | # CONFIG_RTC_DRV_S35390A is not set | 1463 | # CONFIG_RTC_DRV_S35390A is not set |
1421 | # CONFIG_RTC_DRV_FM3130 is not set | 1464 | # CONFIG_RTC_DRV_FM3130 is not set |
1422 | # CONFIG_RTC_DRV_RX8581 is not set | 1465 | # CONFIG_RTC_DRV_RX8581 is not set |
@@ -1437,7 +1480,9 @@ CONFIG_RTC_INTF_DEV=y | |||
1437 | # CONFIG_RTC_DRV_M48T86 is not set | 1480 | # CONFIG_RTC_DRV_M48T86 is not set |
1438 | # CONFIG_RTC_DRV_M48T35 is not set | 1481 | # CONFIG_RTC_DRV_M48T35 is not set |
1439 | # CONFIG_RTC_DRV_M48T59 is not set | 1482 | # CONFIG_RTC_DRV_M48T59 is not set |
1483 | # CONFIG_RTC_DRV_MSM6242 is not set | ||
1440 | # CONFIG_RTC_DRV_BQ4802 is not set | 1484 | # CONFIG_RTC_DRV_BQ4802 is not set |
1485 | # CONFIG_RTC_DRV_RP5C01 is not set | ||
1441 | # CONFIG_RTC_DRV_V3020 is not set | 1486 | # CONFIG_RTC_DRV_V3020 is not set |
1442 | 1487 | ||
1443 | # | 1488 | # |
@@ -1466,7 +1511,6 @@ CONFIG_EXT3_FS_XATTR=y | |||
1466 | # CONFIG_EXT3_FS_POSIX_ACL is not set | 1511 | # CONFIG_EXT3_FS_POSIX_ACL is not set |
1467 | # CONFIG_EXT3_FS_SECURITY is not set | 1512 | # CONFIG_EXT3_FS_SECURITY is not set |
1468 | CONFIG_EXT4_FS=y | 1513 | CONFIG_EXT4_FS=y |
1469 | # CONFIG_EXT4DEV_COMPAT is not set | ||
1470 | CONFIG_EXT4_FS_XATTR=y | 1514 | CONFIG_EXT4_FS_XATTR=y |
1471 | # CONFIG_EXT4_FS_POSIX_ACL is not set | 1515 | # CONFIG_EXT4_FS_POSIX_ACL is not set |
1472 | # CONFIG_EXT4_FS_SECURITY is not set | 1516 | # CONFIG_EXT4_FS_SECURITY is not set |
@@ -1687,9 +1731,6 @@ CONFIG_TRACING_SUPPORT=y | |||
1687 | CONFIG_HAVE_ARCH_KGDB=y | 1731 | CONFIG_HAVE_ARCH_KGDB=y |
1688 | # CONFIG_KGDB is not set | 1732 | # CONFIG_KGDB is not set |
1689 | # CONFIG_SH_STANDARD_BIOS is not set | 1733 | # CONFIG_SH_STANDARD_BIOS is not set |
1690 | CONFIG_EARLY_SCIF_CONSOLE=y | ||
1691 | CONFIG_EARLY_SCIF_CONSOLE_PORT=0xffeb0000 | ||
1692 | CONFIG_EARLY_PRINTK=y | ||
1693 | # CONFIG_STACK_DEBUG is not set | 1734 | # CONFIG_STACK_DEBUG is not set |
1694 | # CONFIG_DEBUG_STACK_USAGE is not set | 1735 | # CONFIG_DEBUG_STACK_USAGE is not set |
1695 | # CONFIG_4KSTACKS is not set | 1736 | # CONFIG_4KSTACKS is not set |
@@ -1703,7 +1744,11 @@ CONFIG_EARLY_PRINTK=y | |||
1703 | # CONFIG_KEYS is not set | 1744 | # CONFIG_KEYS is not set |
1704 | # CONFIG_SECURITY is not set | 1745 | # CONFIG_SECURITY is not set |
1705 | # CONFIG_SECURITYFS is not set | 1746 | # CONFIG_SECURITYFS is not set |
1706 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | 1747 | # CONFIG_DEFAULT_SECURITY_SELINUX is not set |
1748 | # CONFIG_DEFAULT_SECURITY_SMACK is not set | ||
1749 | # CONFIG_DEFAULT_SECURITY_TOMOYO is not set | ||
1750 | CONFIG_DEFAULT_SECURITY_DAC=y | ||
1751 | CONFIG_DEFAULT_SECURITY="" | ||
1707 | CONFIG_CRYPTO=y | 1752 | CONFIG_CRYPTO=y |
1708 | 1753 | ||
1709 | # | 1754 | # |
diff --git a/arch/sh/include/asm/timex.h b/arch/sh/include/asm/timex.h index b556d49e5f2b..18bf06d9c764 100644 --- a/arch/sh/include/asm/timex.h +++ b/arch/sh/include/asm/timex.h | |||
@@ -6,7 +6,17 @@ | |||
6 | #ifndef __ASM_SH_TIMEX_H | 6 | #ifndef __ASM_SH_TIMEX_H |
7 | #define __ASM_SH_TIMEX_H | 7 | #define __ASM_SH_TIMEX_H |
8 | 8 | ||
9 | /* | ||
10 | * Only parts using the legacy CPG code for their clock framework | ||
11 | * implementation need to define their own Pclk value. If provided, this | ||
12 | * can be used for accurately setting CLOCK_TICK_RATE, otherwise we | ||
13 | * simply fall back on the i8253 PIT value. | ||
14 | */ | ||
15 | #ifdef CONFIG_SH_PCLK_FREQ | ||
9 | #define CLOCK_TICK_RATE (CONFIG_SH_PCLK_FREQ / 4) /* Underlying HZ */ | 16 | #define CLOCK_TICK_RATE (CONFIG_SH_PCLK_FREQ / 4) /* Underlying HZ */ |
17 | #else | ||
18 | #define CLOCK_TICK_RATE 1193180 | ||
19 | #endif | ||
10 | 20 | ||
11 | #include <asm-generic/timex.h> | 21 | #include <asm-generic/timex.h> |
12 | 22 | ||
diff --git a/arch/sh/mm/Kconfig b/arch/sh/mm/Kconfig index 0e7ba8e891cf..986a71b88ca3 100644 --- a/arch/sh/mm/Kconfig +++ b/arch/sh/mm/Kconfig | |||
@@ -82,8 +82,7 @@ config 32BIT | |||
82 | 82 | ||
83 | config PMB_ENABLE | 83 | config PMB_ENABLE |
84 | bool "Support 32-bit physical addressing through PMB" | 84 | bool "Support 32-bit physical addressing through PMB" |
85 | depends on MMU && EXPERIMENTAL && CPU_SH4A | 85 | depends on MMU && EXPERIMENTAL && CPU_SH4A && !CPU_SH4AL_DSP |
86 | default y | ||
87 | help | 86 | help |
88 | If you say Y here, physical addressing will be extended to | 87 | If you say Y here, physical addressing will be extended to |
89 | 32-bits through the SH-4A PMB. If this is not set, legacy | 88 | 32-bits through the SH-4A PMB. If this is not set, legacy |
@@ -96,7 +95,7 @@ choice | |||
96 | 95 | ||
97 | config PMB | 96 | config PMB |
98 | bool "PMB" | 97 | bool "PMB" |
99 | depends on MMU && EXPERIMENTAL && CPU_SH4A | 98 | depends on MMU && EXPERIMENTAL && CPU_SH4A && !CPU_SH4AL_DSP |
100 | help | 99 | help |
101 | If you say Y here, physical addressing will be extended to | 100 | If you say Y here, physical addressing will be extended to |
102 | 32-bits through the SH-4A PMB. If this is not set, legacy | 101 | 32-bits through the SH-4A PMB. If this is not set, legacy |
@@ -104,7 +103,7 @@ config PMB | |||
104 | 103 | ||
105 | config PMB_FIXED | 104 | config PMB_FIXED |
106 | bool "fixed PMB" | 105 | bool "fixed PMB" |
107 | depends on MMU && EXPERIMENTAL && CPU_SH4A | 106 | depends on MMU && EXPERIMENTAL && CPU_SH4A && !CPU_SH4AL_DSP |
108 | select 32BIT | 107 | select 32BIT |
109 | help | 108 | help |
110 | If this option is enabled, fixed PMB mappings are inherited | 109 | If this option is enabled, fixed PMB mappings are inherited |
diff --git a/arch/sparc/kernel/nmi.c b/arch/sparc/kernel/nmi.c index f30f4a1ead23..d242a7340541 100644 --- a/arch/sparc/kernel/nmi.c +++ b/arch/sparc/kernel/nmi.c | |||
@@ -96,7 +96,6 @@ notrace __kprobes void perfctr_irq(int irq, struct pt_regs *regs) | |||
96 | int cpu = smp_processor_id(); | 96 | int cpu = smp_processor_id(); |
97 | 97 | ||
98 | clear_softint(1 << irq); | 98 | clear_softint(1 << irq); |
99 | pcr_ops->write(PCR_PIC_PRIV); | ||
100 | 99 | ||
101 | local_cpu_data().__nmi_count++; | 100 | local_cpu_data().__nmi_count++; |
102 | 101 | ||
@@ -105,6 +104,8 @@ notrace __kprobes void perfctr_irq(int irq, struct pt_regs *regs) | |||
105 | if (notify_die(DIE_NMI, "nmi", regs, 0, | 104 | if (notify_die(DIE_NMI, "nmi", regs, 0, |
106 | pt_regs_trap_type(regs), SIGINT) == NOTIFY_STOP) | 105 | pt_regs_trap_type(regs), SIGINT) == NOTIFY_STOP) |
107 | touched = 1; | 106 | touched = 1; |
107 | else | ||
108 | pcr_ops->write(PCR_PIC_PRIV); | ||
108 | 109 | ||
109 | sum = kstat_irqs_cpu(0, cpu); | 110 | sum = kstat_irqs_cpu(0, cpu); |
110 | if (__get_cpu_var(nmi_touch)) { | 111 | if (__get_cpu_var(nmi_touch)) { |
diff --git a/arch/sparc/kernel/perf_event.c b/arch/sparc/kernel/perf_event.c index fa5936e1c3b9..198fb4e79ba2 100644 --- a/arch/sparc/kernel/perf_event.c +++ b/arch/sparc/kernel/perf_event.c | |||
@@ -986,6 +986,17 @@ static int __kprobes perf_event_nmi_handler(struct notifier_block *self, | |||
986 | data.addr = 0; | 986 | data.addr = 0; |
987 | 987 | ||
988 | cpuc = &__get_cpu_var(cpu_hw_events); | 988 | cpuc = &__get_cpu_var(cpu_hw_events); |
989 | |||
990 | /* If the PMU has the TOE IRQ enable bits, we need to do a | ||
991 | * dummy write to the %pcr to clear the overflow bits and thus | ||
992 | * the interrupt. | ||
993 | * | ||
994 | * Do this before we peek at the counters to determine | ||
995 | * overflow so we don't lose any events. | ||
996 | */ | ||
997 | if (sparc_pmu->irq_bit) | ||
998 | pcr_ops->write(cpuc->pcr); | ||
999 | |||
989 | for (idx = 0; idx < MAX_HWEVENTS; idx++) { | 1000 | for (idx = 0; idx < MAX_HWEVENTS; idx++) { |
990 | struct perf_event *event = cpuc->events[idx]; | 1001 | struct perf_event *event = cpuc->events[idx]; |
991 | struct hw_perf_event *hwc; | 1002 | struct hw_perf_event *hwc; |
diff --git a/arch/x86/Kconfig.cpu b/arch/x86/Kconfig.cpu index 08e442bc3ab9..f20ddf84a893 100644 --- a/arch/x86/Kconfig.cpu +++ b/arch/x86/Kconfig.cpu | |||
@@ -396,7 +396,7 @@ config X86_TSC | |||
396 | 396 | ||
397 | config X86_CMPXCHG64 | 397 | config X86_CMPXCHG64 |
398 | def_bool y | 398 | def_bool y |
399 | depends on !M386 && !M486 | 399 | depends on X86_PAE || X86_64 || MCORE2 || MPENTIUM4 || MPENTIUMM || MPENTIUMIII || MPENTIUMII || M686 || MATOM |
400 | 400 | ||
401 | # this should be set for all -march=.. options where the compiler | 401 | # this should be set for all -march=.. options where the compiler |
402 | # generates cmov. | 402 | # generates cmov. |
diff --git a/arch/x86/boot/compressed/Makefile b/arch/x86/boot/compressed/Makefile index f8ed0658404c..f25bbd37765a 100644 --- a/arch/x86/boot/compressed/Makefile +++ b/arch/x86/boot/compressed/Makefile | |||
@@ -9,6 +9,7 @@ targets := vmlinux.lds vmlinux vmlinux.bin vmlinux.bin.gz vmlinux.bin.bz2 vmlinu | |||
9 | KBUILD_CFLAGS := -m$(BITS) -D__KERNEL__ $(LINUX_INCLUDE) -O2 | 9 | KBUILD_CFLAGS := -m$(BITS) -D__KERNEL__ $(LINUX_INCLUDE) -O2 |
10 | KBUILD_CFLAGS += -fno-strict-aliasing -fPIC | 10 | KBUILD_CFLAGS += -fno-strict-aliasing -fPIC |
11 | KBUILD_CFLAGS += -DDISABLE_BRANCH_PROFILING | 11 | KBUILD_CFLAGS += -DDISABLE_BRANCH_PROFILING |
12 | cflags-$(CONFIG_X86_32) := -march=i386 | ||
12 | cflags-$(CONFIG_X86_64) := -mcmodel=small | 13 | cflags-$(CONFIG_X86_64) := -mcmodel=small |
13 | KBUILD_CFLAGS += $(cflags-y) | 14 | KBUILD_CFLAGS += $(cflags-y) |
14 | KBUILD_CFLAGS += $(call cc-option,-ffreestanding) | 15 | KBUILD_CFLAGS += $(call cc-option,-ffreestanding) |
diff --git a/arch/x86/include/asm/kvm.h b/arch/x86/include/asm/kvm.h index 950df434763f..f46b79f6c16c 100644 --- a/arch/x86/include/asm/kvm.h +++ b/arch/x86/include/asm/kvm.h | |||
@@ -254,6 +254,10 @@ struct kvm_reinject_control { | |||
254 | __u8 reserved[31]; | 254 | __u8 reserved[31]; |
255 | }; | 255 | }; |
256 | 256 | ||
257 | /* When set in flags, include corresponding fields on KVM_SET_VCPU_EVENTS */ | ||
258 | #define KVM_VCPUEVENT_VALID_NMI_PENDING 0x00000001 | ||
259 | #define KVM_VCPUEVENT_VALID_SIPI_VECTOR 0x00000002 | ||
260 | |||
257 | /* for KVM_GET/SET_VCPU_EVENTS */ | 261 | /* for KVM_GET/SET_VCPU_EVENTS */ |
258 | struct kvm_vcpu_events { | 262 | struct kvm_vcpu_events { |
259 | struct { | 263 | struct { |
diff --git a/arch/x86/include/asm/uv/uv_hub.h b/arch/x86/include/asm/uv/uv_hub.h index 811bfabc80b7..bc54fa965af3 100644 --- a/arch/x86/include/asm/uv/uv_hub.h +++ b/arch/x86/include/asm/uv/uv_hub.h | |||
@@ -31,20 +31,20 @@ | |||
31 | * contiguous (although various IO spaces may punch holes in | 31 | * contiguous (although various IO spaces may punch holes in |
32 | * it).. | 32 | * it).. |
33 | * | 33 | * |
34 | * N - Number of bits in the node portion of a socket physical | 34 | * N - Number of bits in the node portion of a socket physical |
35 | * address. | 35 | * address. |
36 | * | 36 | * |
37 | * NASID - network ID of a router, Mbrick or Cbrick. Nasid values of | 37 | * NASID - network ID of a router, Mbrick or Cbrick. Nasid values of |
38 | * routers always have low bit of 1, C/MBricks have low bit | 38 | * routers always have low bit of 1, C/MBricks have low bit |
39 | * equal to 0. Most addressing macros that target UV hub chips | 39 | * equal to 0. Most addressing macros that target UV hub chips |
40 | * right shift the NASID by 1 to exclude the always-zero bit. | 40 | * right shift the NASID by 1 to exclude the always-zero bit. |
41 | * NASIDs contain up to 15 bits. | 41 | * NASIDs contain up to 15 bits. |
42 | * | 42 | * |
43 | * GNODE - NASID right shifted by 1 bit. Most mmrs contain gnodes instead | 43 | * GNODE - NASID right shifted by 1 bit. Most mmrs contain gnodes instead |
44 | * of nasids. | 44 | * of nasids. |
45 | * | 45 | * |
46 | * PNODE - the low N bits of the GNODE. The PNODE is the most useful variant | 46 | * PNODE - the low N bits of the GNODE. The PNODE is the most useful variant |
47 | * of the nasid for socket usage. | 47 | * of the nasid for socket usage. |
48 | * | 48 | * |
49 | * | 49 | * |
50 | * NumaLink Global Physical Address Format: | 50 | * NumaLink Global Physical Address Format: |
@@ -71,12 +71,12 @@ | |||
71 | * | 71 | * |
72 | * | 72 | * |
73 | * APICID format | 73 | * APICID format |
74 | * NOTE!!!!!! This is the current format of the APICID. However, code | 74 | * NOTE!!!!!! This is the current format of the APICID. However, code |
75 | * should assume that this will change in the future. Use functions | 75 | * should assume that this will change in the future. Use functions |
76 | * in this file for all APICID bit manipulations and conversion. | 76 | * in this file for all APICID bit manipulations and conversion. |
77 | * | 77 | * |
78 | * 1111110000000000 | 78 | * 1111110000000000 |
79 | * 5432109876543210 | 79 | * 5432109876543210 |
80 | * pppppppppplc0cch | 80 | * pppppppppplc0cch |
81 | * sssssssssss | 81 | * sssssssssss |
82 | * | 82 | * |
@@ -89,9 +89,9 @@ | |||
89 | * Note: Processor only supports 12 bits in the APICID register. The ACPI | 89 | * Note: Processor only supports 12 bits in the APICID register. The ACPI |
90 | * tables hold all 16 bits. Software needs to be aware of this. | 90 | * tables hold all 16 bits. Software needs to be aware of this. |
91 | * | 91 | * |
92 | * Unless otherwise specified, all references to APICID refer to | 92 | * Unless otherwise specified, all references to APICID refer to |
93 | * the FULL value contained in ACPI tables, not the subset in the | 93 | * the FULL value contained in ACPI tables, not the subset in the |
94 | * processor APICID register. | 94 | * processor APICID register. |
95 | */ | 95 | */ |
96 | 96 | ||
97 | 97 | ||
@@ -151,16 +151,16 @@ struct uv_hub_info_s { | |||
151 | }; | 151 | }; |
152 | 152 | ||
153 | DECLARE_PER_CPU(struct uv_hub_info_s, __uv_hub_info); | 153 | DECLARE_PER_CPU(struct uv_hub_info_s, __uv_hub_info); |
154 | #define uv_hub_info (&__get_cpu_var(__uv_hub_info)) | 154 | #define uv_hub_info (&__get_cpu_var(__uv_hub_info)) |
155 | #define uv_cpu_hub_info(cpu) (&per_cpu(__uv_hub_info, cpu)) | 155 | #define uv_cpu_hub_info(cpu) (&per_cpu(__uv_hub_info, cpu)) |
156 | 156 | ||
157 | /* | 157 | /* |
158 | * Local & Global MMR space macros. | 158 | * Local & Global MMR space macros. |
159 | * Note: macros are intended to be used ONLY by inline functions | 159 | * Note: macros are intended to be used ONLY by inline functions |
160 | * in this file - not by other kernel code. | 160 | * in this file - not by other kernel code. |
161 | * n - NASID (full 15-bit global nasid) | 161 | * n - NASID (full 15-bit global nasid) |
162 | * g - GNODE (full 15-bit global nasid, right shifted 1) | 162 | * g - GNODE (full 15-bit global nasid, right shifted 1) |
163 | * p - PNODE (local part of nsids, right shifted 1) | 163 | * p - PNODE (local part of nsids, right shifted 1) |
164 | */ | 164 | */ |
165 | #define UV_NASID_TO_PNODE(n) (((n) >> 1) & uv_hub_info->pnode_mask) | 165 | #define UV_NASID_TO_PNODE(n) (((n) >> 1) & uv_hub_info->pnode_mask) |
166 | #define UV_PNODE_TO_GNODE(p) ((p) |uv_hub_info->gnode_extra) | 166 | #define UV_PNODE_TO_GNODE(p) ((p) |uv_hub_info->gnode_extra) |
@@ -215,8 +215,8 @@ DECLARE_PER_CPU(struct uv_hub_info_s, __uv_hub_info); | |||
215 | /* | 215 | /* |
216 | * Macros for converting between kernel virtual addresses, socket local physical | 216 | * Macros for converting between kernel virtual addresses, socket local physical |
217 | * addresses, and UV global physical addresses. | 217 | * addresses, and UV global physical addresses. |
218 | * Note: use the standard __pa() & __va() macros for converting | 218 | * Note: use the standard __pa() & __va() macros for converting |
219 | * between socket virtual and socket physical addresses. | 219 | * between socket virtual and socket physical addresses. |
220 | */ | 220 | */ |
221 | 221 | ||
222 | /* socket phys RAM --> UV global physical address */ | 222 | /* socket phys RAM --> UV global physical address */ |
@@ -287,21 +287,18 @@ static inline int uv_apicid_to_pnode(int apicid) | |||
287 | * Access global MMRs using the low memory MMR32 space. This region supports | 287 | * Access global MMRs using the low memory MMR32 space. This region supports |
288 | * faster MMR access but not all MMRs are accessible in this space. | 288 | * faster MMR access but not all MMRs are accessible in this space. |
289 | */ | 289 | */ |
290 | static inline unsigned long *uv_global_mmr32_address(int pnode, | 290 | static inline unsigned long *uv_global_mmr32_address(int pnode, unsigned long offset) |
291 | unsigned long offset) | ||
292 | { | 291 | { |
293 | return __va(UV_GLOBAL_MMR32_BASE | | 292 | return __va(UV_GLOBAL_MMR32_BASE | |
294 | UV_GLOBAL_MMR32_PNODE_BITS(pnode) | offset); | 293 | UV_GLOBAL_MMR32_PNODE_BITS(pnode) | offset); |
295 | } | 294 | } |
296 | 295 | ||
297 | static inline void uv_write_global_mmr32(int pnode, unsigned long offset, | 296 | static inline void uv_write_global_mmr32(int pnode, unsigned long offset, unsigned long val) |
298 | unsigned long val) | ||
299 | { | 297 | { |
300 | writeq(val, uv_global_mmr32_address(pnode, offset)); | 298 | writeq(val, uv_global_mmr32_address(pnode, offset)); |
301 | } | 299 | } |
302 | 300 | ||
303 | static inline unsigned long uv_read_global_mmr32(int pnode, | 301 | static inline unsigned long uv_read_global_mmr32(int pnode, unsigned long offset) |
304 | unsigned long offset) | ||
305 | { | 302 | { |
306 | return readq(uv_global_mmr32_address(pnode, offset)); | 303 | return readq(uv_global_mmr32_address(pnode, offset)); |
307 | } | 304 | } |
@@ -310,21 +307,18 @@ static inline unsigned long uv_read_global_mmr32(int pnode, | |||
310 | * Access Global MMR space using the MMR space located at the top of physical | 307 | * Access Global MMR space using the MMR space located at the top of physical |
311 | * memory. | 308 | * memory. |
312 | */ | 309 | */ |
313 | static inline unsigned long *uv_global_mmr64_address(int pnode, | 310 | static inline unsigned long *uv_global_mmr64_address(int pnode, unsigned long offset) |
314 | unsigned long offset) | ||
315 | { | 311 | { |
316 | return __va(UV_GLOBAL_MMR64_BASE | | 312 | return __va(UV_GLOBAL_MMR64_BASE | |
317 | UV_GLOBAL_MMR64_PNODE_BITS(pnode) | offset); | 313 | UV_GLOBAL_MMR64_PNODE_BITS(pnode) | offset); |
318 | } | 314 | } |
319 | 315 | ||
320 | static inline void uv_write_global_mmr64(int pnode, unsigned long offset, | 316 | static inline void uv_write_global_mmr64(int pnode, unsigned long offset, unsigned long val) |
321 | unsigned long val) | ||
322 | { | 317 | { |
323 | writeq(val, uv_global_mmr64_address(pnode, offset)); | 318 | writeq(val, uv_global_mmr64_address(pnode, offset)); |
324 | } | 319 | } |
325 | 320 | ||
326 | static inline unsigned long uv_read_global_mmr64(int pnode, | 321 | static inline unsigned long uv_read_global_mmr64(int pnode, unsigned long offset) |
327 | unsigned long offset) | ||
328 | { | 322 | { |
329 | return readq(uv_global_mmr64_address(pnode, offset)); | 323 | return readq(uv_global_mmr64_address(pnode, offset)); |
330 | } | 324 | } |
@@ -338,6 +332,16 @@ static inline unsigned long uv_global_gru_mmr_address(int pnode, unsigned long o | |||
338 | return UV_GLOBAL_GRU_MMR_BASE | offset | (pnode << uv_hub_info->m_val); | 332 | return UV_GLOBAL_GRU_MMR_BASE | offset | (pnode << uv_hub_info->m_val); |
339 | } | 333 | } |
340 | 334 | ||
335 | static inline void uv_write_global_mmr8(int pnode, unsigned long offset, unsigned char val) | ||
336 | { | ||
337 | writeb(val, uv_global_mmr64_address(pnode, offset)); | ||
338 | } | ||
339 | |||
340 | static inline unsigned char uv_read_global_mmr8(int pnode, unsigned long offset) | ||
341 | { | ||
342 | return readb(uv_global_mmr64_address(pnode, offset)); | ||
343 | } | ||
344 | |||
341 | /* | 345 | /* |
342 | * Access hub local MMRs. Faster than using global space but only local MMRs | 346 | * Access hub local MMRs. Faster than using global space but only local MMRs |
343 | * are accessible. | 347 | * are accessible. |
@@ -457,11 +461,17 @@ static inline void uv_set_scir_bits(unsigned char value) | |||
457 | } | 461 | } |
458 | } | 462 | } |
459 | 463 | ||
464 | static inline unsigned long uv_scir_offset(int apicid) | ||
465 | { | ||
466 | return SCIR_LOCAL_MMR_BASE | (apicid & 0x3f); | ||
467 | } | ||
468 | |||
460 | static inline void uv_set_cpu_scir_bits(int cpu, unsigned char value) | 469 | static inline void uv_set_cpu_scir_bits(int cpu, unsigned char value) |
461 | { | 470 | { |
462 | if (uv_cpu_hub_info(cpu)->scir.state != value) { | 471 | if (uv_cpu_hub_info(cpu)->scir.state != value) { |
472 | uv_write_global_mmr8(uv_cpu_to_pnode(cpu), | ||
473 | uv_cpu_hub_info(cpu)->scir.offset, value); | ||
463 | uv_cpu_hub_info(cpu)->scir.state = value; | 474 | uv_cpu_hub_info(cpu)->scir.state = value; |
464 | uv_write_local_mmr8(uv_cpu_hub_info(cpu)->scir.offset, value); | ||
465 | } | 475 | } |
466 | } | 476 | } |
467 | 477 | ||
diff --git a/arch/x86/kernel/acpi/sleep.c b/arch/x86/kernel/acpi/sleep.c index 82e508677b91..f9961034e557 100644 --- a/arch/x86/kernel/acpi/sleep.c +++ b/arch/x86/kernel/acpi/sleep.c | |||
@@ -162,6 +162,8 @@ static int __init acpi_sleep_setup(char *str) | |||
162 | #endif | 162 | #endif |
163 | if (strncmp(str, "old_ordering", 12) == 0) | 163 | if (strncmp(str, "old_ordering", 12) == 0) |
164 | acpi_old_suspend_ordering(); | 164 | acpi_old_suspend_ordering(); |
165 | if (strncmp(str, "sci_force_enable", 16) == 0) | ||
166 | acpi_set_sci_en_on_resume(); | ||
165 | str = strchr(str, ','); | 167 | str = strchr(str, ','); |
166 | if (str != NULL) | 168 | if (str != NULL) |
167 | str += strspn(str, ", \t"); | 169 | str += strspn(str, ", \t"); |
diff --git a/arch/x86/kernel/amd_iommu_init.c b/arch/x86/kernel/amd_iommu_init.c index 1dca9c34eaeb..fb490ce7dd55 100644 --- a/arch/x86/kernel/amd_iommu_init.c +++ b/arch/x86/kernel/amd_iommu_init.c | |||
@@ -138,6 +138,11 @@ int amd_iommus_present; | |||
138 | bool amd_iommu_np_cache __read_mostly; | 138 | bool amd_iommu_np_cache __read_mostly; |
139 | 139 | ||
140 | /* | 140 | /* |
141 | * Set to true if ACPI table parsing and hardware intialization went properly | ||
142 | */ | ||
143 | static bool amd_iommu_initialized; | ||
144 | |||
145 | /* | ||
141 | * List of protection domains - used during resume | 146 | * List of protection domains - used during resume |
142 | */ | 147 | */ |
143 | LIST_HEAD(amd_iommu_pd_list); | 148 | LIST_HEAD(amd_iommu_pd_list); |
@@ -929,6 +934,8 @@ static int __init init_iommu_all(struct acpi_table_header *table) | |||
929 | } | 934 | } |
930 | WARN_ON(p != end); | 935 | WARN_ON(p != end); |
931 | 936 | ||
937 | amd_iommu_initialized = true; | ||
938 | |||
932 | return 0; | 939 | return 0; |
933 | } | 940 | } |
934 | 941 | ||
@@ -1263,6 +1270,9 @@ static int __init amd_iommu_init(void) | |||
1263 | if (acpi_table_parse("IVRS", init_iommu_all) != 0) | 1270 | if (acpi_table_parse("IVRS", init_iommu_all) != 0) |
1264 | goto free; | 1271 | goto free; |
1265 | 1272 | ||
1273 | if (!amd_iommu_initialized) | ||
1274 | goto free; | ||
1275 | |||
1266 | if (acpi_table_parse("IVRS", init_memory_definitions) != 0) | 1276 | if (acpi_table_parse("IVRS", init_memory_definitions) != 0) |
1267 | goto free; | 1277 | goto free; |
1268 | 1278 | ||
diff --git a/arch/x86/kernel/apic/x2apic_uv_x.c b/arch/x86/kernel/apic/x2apic_uv_x.c index d56b0efb2057..5f92494dab61 100644 --- a/arch/x86/kernel/apic/x2apic_uv_x.c +++ b/arch/x86/kernel/apic/x2apic_uv_x.c | |||
@@ -629,8 +629,10 @@ void __init uv_system_init(void) | |||
629 | uv_rtc_init(); | 629 | uv_rtc_init(); |
630 | 630 | ||
631 | for_each_present_cpu(cpu) { | 631 | for_each_present_cpu(cpu) { |
632 | int apicid = per_cpu(x86_cpu_to_apicid, cpu); | ||
633 | |||
632 | nid = cpu_to_node(cpu); | 634 | nid = cpu_to_node(cpu); |
633 | pnode = uv_apicid_to_pnode(per_cpu(x86_cpu_to_apicid, cpu)); | 635 | pnode = uv_apicid_to_pnode(apicid); |
634 | blade = boot_pnode_to_blade(pnode); | 636 | blade = boot_pnode_to_blade(pnode); |
635 | lcpu = uv_blade_info[blade].nr_possible_cpus; | 637 | lcpu = uv_blade_info[blade].nr_possible_cpus; |
636 | uv_blade_info[blade].nr_possible_cpus++; | 638 | uv_blade_info[blade].nr_possible_cpus++; |
@@ -651,15 +653,13 @@ void __init uv_system_init(void) | |||
651 | uv_cpu_hub_info(cpu)->gnode_extra = gnode_extra; | 653 | uv_cpu_hub_info(cpu)->gnode_extra = gnode_extra; |
652 | uv_cpu_hub_info(cpu)->global_mmr_base = mmr_base; | 654 | uv_cpu_hub_info(cpu)->global_mmr_base = mmr_base; |
653 | uv_cpu_hub_info(cpu)->coherency_domain_number = sn_coherency_id; | 655 | uv_cpu_hub_info(cpu)->coherency_domain_number = sn_coherency_id; |
654 | uv_cpu_hub_info(cpu)->scir.offset = SCIR_LOCAL_MMR_BASE + lcpu; | 656 | uv_cpu_hub_info(cpu)->scir.offset = uv_scir_offset(apicid); |
655 | uv_node_to_blade[nid] = blade; | 657 | uv_node_to_blade[nid] = blade; |
656 | uv_cpu_to_blade[cpu] = blade; | 658 | uv_cpu_to_blade[cpu] = blade; |
657 | max_pnode = max(pnode, max_pnode); | 659 | max_pnode = max(pnode, max_pnode); |
658 | 660 | ||
659 | printk(KERN_DEBUG "UV: cpu %d, apicid 0x%x, pnode %d, nid %d, " | 661 | printk(KERN_DEBUG "UV: cpu %d, apicid 0x%x, pnode %d, nid %d, lcpu %d, blade %d\n", |
660 | "lcpu %d, blade %d\n", | 662 | cpu, apicid, pnode, nid, lcpu, blade); |
661 | cpu, per_cpu(x86_cpu_to_apicid, cpu), pnode, nid, | ||
662 | lcpu, blade); | ||
663 | } | 663 | } |
664 | 664 | ||
665 | /* Add blade/pnode info for nodes without cpus */ | 665 | /* Add blade/pnode info for nodes without cpus */ |
diff --git a/arch/x86/kernel/cpu/perf_event.c b/arch/x86/kernel/cpu/perf_event.c index c223b7e895d9..d616c06e99b4 100644 --- a/arch/x86/kernel/cpu/perf_event.c +++ b/arch/x86/kernel/cpu/perf_event.c | |||
@@ -2347,7 +2347,7 @@ perf_callchain_kernel(struct pt_regs *regs, struct perf_callchain_entry *entry) | |||
2347 | callchain_store(entry, PERF_CONTEXT_KERNEL); | 2347 | callchain_store(entry, PERF_CONTEXT_KERNEL); |
2348 | callchain_store(entry, regs->ip); | 2348 | callchain_store(entry, regs->ip); |
2349 | 2349 | ||
2350 | dump_trace(NULL, regs, NULL, 0, &backtrace_ops, entry); | 2350 | dump_trace(NULL, regs, NULL, regs->bp, &backtrace_ops, entry); |
2351 | } | 2351 | } |
2352 | 2352 | ||
2353 | /* | 2353 | /* |
diff --git a/arch/x86/kernel/process.c b/arch/x86/kernel/process.c index 98c2cdeb599e..c6ee241c8a98 100644 --- a/arch/x86/kernel/process.c +++ b/arch/x86/kernel/process.c | |||
@@ -103,8 +103,8 @@ void show_regs_common(void) | |||
103 | if (!product) | 103 | if (!product) |
104 | product = ""; | 104 | product = ""; |
105 | 105 | ||
106 | printk("\n"); | 106 | printk(KERN_CONT "\n"); |
107 | printk(KERN_INFO "Pid: %d, comm: %.20s %s %s %.*s %s/%s\n", | 107 | printk(KERN_DEFAULT "Pid: %d, comm: %.20s %s %s %.*s %s/%s\n", |
108 | current->pid, current->comm, print_tainted(), | 108 | current->pid, current->comm, print_tainted(), |
109 | init_utsname()->release, | 109 | init_utsname()->release, |
110 | (int)strcspn(init_utsname()->version, " "), | 110 | (int)strcspn(init_utsname()->version, " "), |
diff --git a/arch/x86/kernel/process_32.c b/arch/x86/kernel/process_32.c index 9c517b5858f0..37ad1e046aae 100644 --- a/arch/x86/kernel/process_32.c +++ b/arch/x86/kernel/process_32.c | |||
@@ -139,16 +139,16 @@ void __show_regs(struct pt_regs *regs, int all) | |||
139 | 139 | ||
140 | show_regs_common(); | 140 | show_regs_common(); |
141 | 141 | ||
142 | printk("EIP: %04x:[<%08lx>] EFLAGS: %08lx CPU: %d\n", | 142 | printk(KERN_DEFAULT "EIP: %04x:[<%08lx>] EFLAGS: %08lx CPU: %d\n", |
143 | (u16)regs->cs, regs->ip, regs->flags, | 143 | (u16)regs->cs, regs->ip, regs->flags, |
144 | smp_processor_id()); | 144 | smp_processor_id()); |
145 | print_symbol("EIP is at %s\n", regs->ip); | 145 | print_symbol("EIP is at %s\n", regs->ip); |
146 | 146 | ||
147 | printk("EAX: %08lx EBX: %08lx ECX: %08lx EDX: %08lx\n", | 147 | printk(KERN_DEFAULT "EAX: %08lx EBX: %08lx ECX: %08lx EDX: %08lx\n", |
148 | regs->ax, regs->bx, regs->cx, regs->dx); | 148 | regs->ax, regs->bx, regs->cx, regs->dx); |
149 | printk("ESI: %08lx EDI: %08lx EBP: %08lx ESP: %08lx\n", | 149 | printk(KERN_DEFAULT "ESI: %08lx EDI: %08lx EBP: %08lx ESP: %08lx\n", |
150 | regs->si, regs->di, regs->bp, sp); | 150 | regs->si, regs->di, regs->bp, sp); |
151 | printk(" DS: %04x ES: %04x FS: %04x GS: %04x SS: %04x\n", | 151 | printk(KERN_DEFAULT " DS: %04x ES: %04x FS: %04x GS: %04x SS: %04x\n", |
152 | (u16)regs->ds, (u16)regs->es, (u16)regs->fs, gs, ss); | 152 | (u16)regs->ds, (u16)regs->es, (u16)regs->fs, gs, ss); |
153 | 153 | ||
154 | if (!all) | 154 | if (!all) |
@@ -158,19 +158,19 @@ void __show_regs(struct pt_regs *regs, int all) | |||
158 | cr2 = read_cr2(); | 158 | cr2 = read_cr2(); |
159 | cr3 = read_cr3(); | 159 | cr3 = read_cr3(); |
160 | cr4 = read_cr4_safe(); | 160 | cr4 = read_cr4_safe(); |
161 | printk("CR0: %08lx CR2: %08lx CR3: %08lx CR4: %08lx\n", | 161 | printk(KERN_DEFAULT "CR0: %08lx CR2: %08lx CR3: %08lx CR4: %08lx\n", |
162 | cr0, cr2, cr3, cr4); | 162 | cr0, cr2, cr3, cr4); |
163 | 163 | ||
164 | get_debugreg(d0, 0); | 164 | get_debugreg(d0, 0); |
165 | get_debugreg(d1, 1); | 165 | get_debugreg(d1, 1); |
166 | get_debugreg(d2, 2); | 166 | get_debugreg(d2, 2); |
167 | get_debugreg(d3, 3); | 167 | get_debugreg(d3, 3); |
168 | printk("DR0: %08lx DR1: %08lx DR2: %08lx DR3: %08lx\n", | 168 | printk(KERN_DEFAULT "DR0: %08lx DR1: %08lx DR2: %08lx DR3: %08lx\n", |
169 | d0, d1, d2, d3); | 169 | d0, d1, d2, d3); |
170 | 170 | ||
171 | get_debugreg(d6, 6); | 171 | get_debugreg(d6, 6); |
172 | get_debugreg(d7, 7); | 172 | get_debugreg(d7, 7); |
173 | printk("DR6: %08lx DR7: %08lx\n", | 173 | printk(KERN_DEFAULT "DR6: %08lx DR7: %08lx\n", |
174 | d6, d7); | 174 | d6, d7); |
175 | } | 175 | } |
176 | 176 | ||
diff --git a/arch/x86/kernel/process_64.c b/arch/x86/kernel/process_64.c index 52fbd0c60198..f9e033150cdf 100644 --- a/arch/x86/kernel/process_64.c +++ b/arch/x86/kernel/process_64.c | |||
@@ -161,19 +161,19 @@ void __show_regs(struct pt_regs *regs, int all) | |||
161 | unsigned int ds, cs, es; | 161 | unsigned int ds, cs, es; |
162 | 162 | ||
163 | show_regs_common(); | 163 | show_regs_common(); |
164 | printk(KERN_INFO "RIP: %04lx:[<%016lx>] ", regs->cs & 0xffff, regs->ip); | 164 | printk(KERN_DEFAULT "RIP: %04lx:[<%016lx>] ", regs->cs & 0xffff, regs->ip); |
165 | printk_address(regs->ip, 1); | 165 | printk_address(regs->ip, 1); |
166 | printk(KERN_INFO "RSP: %04lx:%016lx EFLAGS: %08lx\n", regs->ss, | 166 | printk(KERN_DEFAULT "RSP: %04lx:%016lx EFLAGS: %08lx\n", regs->ss, |
167 | regs->sp, regs->flags); | 167 | regs->sp, regs->flags); |
168 | printk(KERN_INFO "RAX: %016lx RBX: %016lx RCX: %016lx\n", | 168 | printk(KERN_DEFAULT "RAX: %016lx RBX: %016lx RCX: %016lx\n", |
169 | regs->ax, regs->bx, regs->cx); | 169 | regs->ax, regs->bx, regs->cx); |
170 | printk(KERN_INFO "RDX: %016lx RSI: %016lx RDI: %016lx\n", | 170 | printk(KERN_DEFAULT "RDX: %016lx RSI: %016lx RDI: %016lx\n", |
171 | regs->dx, regs->si, regs->di); | 171 | regs->dx, regs->si, regs->di); |
172 | printk(KERN_INFO "RBP: %016lx R08: %016lx R09: %016lx\n", | 172 | printk(KERN_DEFAULT "RBP: %016lx R08: %016lx R09: %016lx\n", |
173 | regs->bp, regs->r8, regs->r9); | 173 | regs->bp, regs->r8, regs->r9); |
174 | printk(KERN_INFO "R10: %016lx R11: %016lx R12: %016lx\n", | 174 | printk(KERN_DEFAULT "R10: %016lx R11: %016lx R12: %016lx\n", |
175 | regs->r10, regs->r11, regs->r12); | 175 | regs->r10, regs->r11, regs->r12); |
176 | printk(KERN_INFO "R13: %016lx R14: %016lx R15: %016lx\n", | 176 | printk(KERN_DEFAULT "R13: %016lx R14: %016lx R15: %016lx\n", |
177 | regs->r13, regs->r14, regs->r15); | 177 | regs->r13, regs->r14, regs->r15); |
178 | 178 | ||
179 | asm("movl %%ds,%0" : "=r" (ds)); | 179 | asm("movl %%ds,%0" : "=r" (ds)); |
@@ -194,21 +194,21 @@ void __show_regs(struct pt_regs *regs, int all) | |||
194 | cr3 = read_cr3(); | 194 | cr3 = read_cr3(); |
195 | cr4 = read_cr4(); | 195 | cr4 = read_cr4(); |
196 | 196 | ||
197 | printk(KERN_INFO "FS: %016lx(%04x) GS:%016lx(%04x) knlGS:%016lx\n", | 197 | printk(KERN_DEFAULT "FS: %016lx(%04x) GS:%016lx(%04x) knlGS:%016lx\n", |
198 | fs, fsindex, gs, gsindex, shadowgs); | 198 | fs, fsindex, gs, gsindex, shadowgs); |
199 | printk(KERN_INFO "CS: %04x DS: %04x ES: %04x CR0: %016lx\n", cs, ds, | 199 | printk(KERN_DEFAULT "CS: %04x DS: %04x ES: %04x CR0: %016lx\n", cs, ds, |
200 | es, cr0); | 200 | es, cr0); |
201 | printk(KERN_INFO "CR2: %016lx CR3: %016lx CR4: %016lx\n", cr2, cr3, | 201 | printk(KERN_DEFAULT "CR2: %016lx CR3: %016lx CR4: %016lx\n", cr2, cr3, |
202 | cr4); | 202 | cr4); |
203 | 203 | ||
204 | get_debugreg(d0, 0); | 204 | get_debugreg(d0, 0); |
205 | get_debugreg(d1, 1); | 205 | get_debugreg(d1, 1); |
206 | get_debugreg(d2, 2); | 206 | get_debugreg(d2, 2); |
207 | printk(KERN_INFO "DR0: %016lx DR1: %016lx DR2: %016lx\n", d0, d1, d2); | 207 | printk(KERN_DEFAULT "DR0: %016lx DR1: %016lx DR2: %016lx\n", d0, d1, d2); |
208 | get_debugreg(d3, 3); | 208 | get_debugreg(d3, 3); |
209 | get_debugreg(d6, 6); | 209 | get_debugreg(d6, 6); |
210 | get_debugreg(d7, 7); | 210 | get_debugreg(d7, 7); |
211 | printk(KERN_INFO "DR3: %016lx DR6: %016lx DR7: %016lx\n", d3, d6, d7); | 211 | printk(KERN_DEFAULT "DR3: %016lx DR6: %016lx DR7: %016lx\n", d3, d6, d7); |
212 | } | 212 | } |
213 | 213 | ||
214 | void show_regs(struct pt_regs *regs) | 214 | void show_regs(struct pt_regs *regs) |
diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c index cd60c0bd1b32..3063a0c4858b 100644 --- a/arch/x86/kvm/lapic.c +++ b/arch/x86/kvm/lapic.c | |||
@@ -1150,6 +1150,7 @@ void kvm_apic_post_state_restore(struct kvm_vcpu *vcpu) | |||
1150 | hrtimer_cancel(&apic->lapic_timer.timer); | 1150 | hrtimer_cancel(&apic->lapic_timer.timer); |
1151 | update_divide_count(apic); | 1151 | update_divide_count(apic); |
1152 | start_apic_timer(apic); | 1152 | start_apic_timer(apic); |
1153 | apic->irr_pending = true; | ||
1153 | } | 1154 | } |
1154 | 1155 | ||
1155 | void __kvm_migrate_apic_timer(struct kvm_vcpu *vcpu) | 1156 | void __kvm_migrate_apic_timer(struct kvm_vcpu *vcpu) |
diff --git a/arch/x86/kvm/paging_tmpl.h b/arch/x86/kvm/paging_tmpl.h index a6017132fba8..58a0f1e88596 100644 --- a/arch/x86/kvm/paging_tmpl.h +++ b/arch/x86/kvm/paging_tmpl.h | |||
@@ -455,8 +455,6 @@ out_unlock: | |||
455 | static void FNAME(invlpg)(struct kvm_vcpu *vcpu, gva_t gva) | 455 | static void FNAME(invlpg)(struct kvm_vcpu *vcpu, gva_t gva) |
456 | { | 456 | { |
457 | struct kvm_shadow_walk_iterator iterator; | 457 | struct kvm_shadow_walk_iterator iterator; |
458 | pt_element_t gpte; | ||
459 | gpa_t pte_gpa = -1; | ||
460 | int level; | 458 | int level; |
461 | u64 *sptep; | 459 | u64 *sptep; |
462 | int need_flush = 0; | 460 | int need_flush = 0; |
@@ -470,10 +468,6 @@ static void FNAME(invlpg)(struct kvm_vcpu *vcpu, gva_t gva) | |||
470 | if (level == PT_PAGE_TABLE_LEVEL || | 468 | if (level == PT_PAGE_TABLE_LEVEL || |
471 | ((level == PT_DIRECTORY_LEVEL && is_large_pte(*sptep))) || | 469 | ((level == PT_DIRECTORY_LEVEL && is_large_pte(*sptep))) || |
472 | ((level == PT_PDPE_LEVEL && is_large_pte(*sptep)))) { | 470 | ((level == PT_PDPE_LEVEL && is_large_pte(*sptep)))) { |
473 | struct kvm_mmu_page *sp = page_header(__pa(sptep)); | ||
474 | |||
475 | pte_gpa = (sp->gfn << PAGE_SHIFT); | ||
476 | pte_gpa += (sptep - sp->spt) * sizeof(pt_element_t); | ||
477 | 471 | ||
478 | if (is_shadow_present_pte(*sptep)) { | 472 | if (is_shadow_present_pte(*sptep)) { |
479 | rmap_remove(vcpu->kvm, sptep); | 473 | rmap_remove(vcpu->kvm, sptep); |
@@ -492,18 +486,6 @@ static void FNAME(invlpg)(struct kvm_vcpu *vcpu, gva_t gva) | |||
492 | if (need_flush) | 486 | if (need_flush) |
493 | kvm_flush_remote_tlbs(vcpu->kvm); | 487 | kvm_flush_remote_tlbs(vcpu->kvm); |
494 | spin_unlock(&vcpu->kvm->mmu_lock); | 488 | spin_unlock(&vcpu->kvm->mmu_lock); |
495 | |||
496 | if (pte_gpa == -1) | ||
497 | return; | ||
498 | if (kvm_read_guest_atomic(vcpu->kvm, pte_gpa, &gpte, | ||
499 | sizeof(pt_element_t))) | ||
500 | return; | ||
501 | if (is_present_gpte(gpte) && (gpte & PT_ACCESSED_MASK)) { | ||
502 | if (mmu_topup_memory_caches(vcpu)) | ||
503 | return; | ||
504 | kvm_mmu_pte_write(vcpu, pte_gpa, (const u8 *)&gpte, | ||
505 | sizeof(pt_element_t), 0); | ||
506 | } | ||
507 | } | 489 | } |
508 | 490 | ||
509 | static gpa_t FNAME(gva_to_gpa)(struct kvm_vcpu *vcpu, gva_t vaddr) | 491 | static gpa_t FNAME(gva_to_gpa)(struct kvm_vcpu *vcpu, gva_t vaddr) |
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c index 9d068966fb2a..6651dbf58675 100644 --- a/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c | |||
@@ -1913,7 +1913,8 @@ static void kvm_vcpu_ioctl_x86_get_vcpu_events(struct kvm_vcpu *vcpu, | |||
1913 | 1913 | ||
1914 | events->sipi_vector = vcpu->arch.sipi_vector; | 1914 | events->sipi_vector = vcpu->arch.sipi_vector; |
1915 | 1915 | ||
1916 | events->flags = 0; | 1916 | events->flags = (KVM_VCPUEVENT_VALID_NMI_PENDING |
1917 | | KVM_VCPUEVENT_VALID_SIPI_VECTOR); | ||
1917 | 1918 | ||
1918 | vcpu_put(vcpu); | 1919 | vcpu_put(vcpu); |
1919 | } | 1920 | } |
@@ -1921,7 +1922,8 @@ static void kvm_vcpu_ioctl_x86_get_vcpu_events(struct kvm_vcpu *vcpu, | |||
1921 | static int kvm_vcpu_ioctl_x86_set_vcpu_events(struct kvm_vcpu *vcpu, | 1922 | static int kvm_vcpu_ioctl_x86_set_vcpu_events(struct kvm_vcpu *vcpu, |
1922 | struct kvm_vcpu_events *events) | 1923 | struct kvm_vcpu_events *events) |
1923 | { | 1924 | { |
1924 | if (events->flags) | 1925 | if (events->flags & ~(KVM_VCPUEVENT_VALID_NMI_PENDING |
1926 | | KVM_VCPUEVENT_VALID_SIPI_VECTOR)) | ||
1925 | return -EINVAL; | 1927 | return -EINVAL; |
1926 | 1928 | ||
1927 | vcpu_load(vcpu); | 1929 | vcpu_load(vcpu); |
@@ -1938,10 +1940,12 @@ static int kvm_vcpu_ioctl_x86_set_vcpu_events(struct kvm_vcpu *vcpu, | |||
1938 | kvm_pic_clear_isr_ack(vcpu->kvm); | 1940 | kvm_pic_clear_isr_ack(vcpu->kvm); |
1939 | 1941 | ||
1940 | vcpu->arch.nmi_injected = events->nmi.injected; | 1942 | vcpu->arch.nmi_injected = events->nmi.injected; |
1941 | vcpu->arch.nmi_pending = events->nmi.pending; | 1943 | if (events->flags & KVM_VCPUEVENT_VALID_NMI_PENDING) |
1944 | vcpu->arch.nmi_pending = events->nmi.pending; | ||
1942 | kvm_x86_ops->set_nmi_mask(vcpu, events->nmi.masked); | 1945 | kvm_x86_ops->set_nmi_mask(vcpu, events->nmi.masked); |
1943 | 1946 | ||
1944 | vcpu->arch.sipi_vector = events->sipi_vector; | 1947 | if (events->flags & KVM_VCPUEVENT_VALID_SIPI_VECTOR) |
1948 | vcpu->arch.sipi_vector = events->sipi_vector; | ||
1945 | 1949 | ||
1946 | vcpu_put(vcpu); | 1950 | vcpu_put(vcpu); |
1947 | 1951 | ||
diff --git a/arch/x86/mm/kmemcheck/error.c b/arch/x86/mm/kmemcheck/error.c index 4901d0dafda6..af3b6c8a436f 100644 --- a/arch/x86/mm/kmemcheck/error.c +++ b/arch/x86/mm/kmemcheck/error.c | |||
@@ -106,26 +106,25 @@ void kmemcheck_error_recall(void) | |||
106 | 106 | ||
107 | switch (e->type) { | 107 | switch (e->type) { |
108 | case KMEMCHECK_ERROR_INVALID_ACCESS: | 108 | case KMEMCHECK_ERROR_INVALID_ACCESS: |
109 | printk(KERN_ERR "WARNING: kmemcheck: Caught %d-bit read " | 109 | printk(KERN_WARNING "WARNING: kmemcheck: Caught %d-bit read from %s memory (%p)\n", |
110 | "from %s memory (%p)\n", | ||
111 | 8 * e->size, e->state < ARRAY_SIZE(desc) ? | 110 | 8 * e->size, e->state < ARRAY_SIZE(desc) ? |
112 | desc[e->state] : "(invalid shadow state)", | 111 | desc[e->state] : "(invalid shadow state)", |
113 | (void *) e->address); | 112 | (void *) e->address); |
114 | 113 | ||
115 | printk(KERN_INFO); | 114 | printk(KERN_WARNING); |
116 | for (i = 0; i < SHADOW_COPY_SIZE; ++i) | 115 | for (i = 0; i < SHADOW_COPY_SIZE; ++i) |
117 | printk("%02x", e->memory_copy[i]); | 116 | printk(KERN_CONT "%02x", e->memory_copy[i]); |
118 | printk("\n"); | 117 | printk(KERN_CONT "\n"); |
119 | 118 | ||
120 | printk(KERN_INFO); | 119 | printk(KERN_WARNING); |
121 | for (i = 0; i < SHADOW_COPY_SIZE; ++i) { | 120 | for (i = 0; i < SHADOW_COPY_SIZE; ++i) { |
122 | if (e->shadow_copy[i] < ARRAY_SIZE(short_desc)) | 121 | if (e->shadow_copy[i] < ARRAY_SIZE(short_desc)) |
123 | printk(" %c", short_desc[e->shadow_copy[i]]); | 122 | printk(KERN_CONT " %c", short_desc[e->shadow_copy[i]]); |
124 | else | 123 | else |
125 | printk(" ?"); | 124 | printk(KERN_CONT " ?"); |
126 | } | 125 | } |
127 | printk("\n"); | 126 | printk(KERN_CONT "\n"); |
128 | printk(KERN_INFO "%*c\n", 2 + 2 | 127 | printk(KERN_WARNING "%*c\n", 2 + 2 |
129 | * (int) (e->address & (SHADOW_COPY_SIZE - 1)), '^'); | 128 | * (int) (e->address & (SHADOW_COPY_SIZE - 1)), '^'); |
130 | break; | 129 | break; |
131 | case KMEMCHECK_ERROR_BUG: | 130 | case KMEMCHECK_ERROR_BUG: |
diff --git a/arch/x86/pci/bus_numa.c b/arch/x86/pci/bus_numa.c index 145df00e0387..f939d603adfa 100644 --- a/arch/x86/pci/bus_numa.c +++ b/arch/x86/pci/bus_numa.c | |||
@@ -51,7 +51,7 @@ void x86_pci_root_bus_res_quirks(struct pci_bus *b) | |||
51 | } | 51 | } |
52 | } | 52 | } |
53 | 53 | ||
54 | void __init update_res(struct pci_root_info *info, size_t start, | 54 | void __devinit update_res(struct pci_root_info *info, size_t start, |
55 | size_t end, unsigned long flags, int merge) | 55 | size_t end, unsigned long flags, int merge) |
56 | { | 56 | { |
57 | int i; | 57 | int i; |
diff --git a/arch/x86/tools/chkobjdump.awk b/arch/x86/tools/chkobjdump.awk index 5bbb5a33f220..fd1ab80be0de 100644 --- a/arch/x86/tools/chkobjdump.awk +++ b/arch/x86/tools/chkobjdump.awk | |||
@@ -8,14 +8,24 @@ BEGIN { | |||
8 | od_sver = 19; | 8 | od_sver = 19; |
9 | } | 9 | } |
10 | 10 | ||
11 | /^GNU/ { | 11 | /^GNU objdump/ { |
12 | split($3, ver, "."); | 12 | verstr = "" |
13 | for (i = 3; i <= NF; i++) | ||
14 | if (match($(i), "^[0-9]")) { | ||
15 | verstr = $(i); | ||
16 | break; | ||
17 | } | ||
18 | if (verstr == "") { | ||
19 | printf("Warning: Failed to find objdump version number.\n"); | ||
20 | exit 0; | ||
21 | } | ||
22 | split(verstr, ver, "."); | ||
13 | if (ver[1] > od_ver || | 23 | if (ver[1] > od_ver || |
14 | (ver[1] == od_ver && ver[2] >= od_sver)) { | 24 | (ver[1] == od_ver && ver[2] >= od_sver)) { |
15 | exit 1; | 25 | exit 1; |
16 | } else { | 26 | } else { |
17 | printf("Warning: objdump version %s is older than %d.%d\n", | 27 | printf("Warning: objdump version %s is older than %d.%d\n", |
18 | $4, od_ver, od_sver); | 28 | verstr, od_ver, od_sver); |
19 | print("Warning: Skipping posttest."); | 29 | print("Warning: Skipping posttest."); |
20 | # Logic is inverted, because we just skip test without error. | 30 | # Logic is inverted, because we just skip test without error. |
21 | exit 0; | 31 | exit 0; |
diff --git a/block/blk-barrier.c b/block/blk-barrier.c index 8873b9b439ff..8618d8996fea 100644 --- a/block/blk-barrier.c +++ b/block/blk-barrier.c | |||
@@ -402,7 +402,7 @@ int blkdev_issue_discard(struct block_device *bdev, sector_t sector, | |||
402 | * our current implementations need. If we'll ever need | 402 | * our current implementations need. If we'll ever need |
403 | * more the interface will need revisiting. | 403 | * more the interface will need revisiting. |
404 | */ | 404 | */ |
405 | page = alloc_page(GFP_KERNEL | __GFP_ZERO); | 405 | page = alloc_page(gfp_mask | __GFP_ZERO); |
406 | if (!page) | 406 | if (!page) |
407 | goto out_free_bio; | 407 | goto out_free_bio; |
408 | if (bio_add_pc_page(q, bio, page, sector_size, 0) < sector_size) | 408 | if (bio_add_pc_page(q, bio, page, sector_size, 0) < sector_size) |
diff --git a/block/blk-settings.c b/block/blk-settings.c index 6ae118d6e193..d52d4adc440b 100644 --- a/block/blk-settings.c +++ b/block/blk-settings.c | |||
@@ -505,21 +505,30 @@ static unsigned int lcm(unsigned int a, unsigned int b) | |||
505 | 505 | ||
506 | /** | 506 | /** |
507 | * blk_stack_limits - adjust queue_limits for stacked devices | 507 | * blk_stack_limits - adjust queue_limits for stacked devices |
508 | * @t: the stacking driver limits (top) | 508 | * @t: the stacking driver limits (top device) |
509 | * @b: the underlying queue limits (bottom) | 509 | * @b: the underlying queue limits (bottom, component device) |
510 | * @offset: offset to beginning of data within component device | 510 | * @offset: offset to beginning of data within component device |
511 | * | 511 | * |
512 | * Description: | 512 | * Description: |
513 | * Merges two queue_limit structs. Returns 0 if alignment didn't | 513 | * This function is used by stacking drivers like MD and DM to ensure |
514 | * change. Returns -1 if adding the bottom device caused | 514 | * that all component devices have compatible block sizes and |
515 | * misalignment. | 515 | * alignments. The stacking driver must provide a queue_limits |
516 | * struct (top) and then iteratively call the stacking function for | ||
517 | * all component (bottom) devices. The stacking function will | ||
518 | * attempt to combine the values and ensure proper alignment. | ||
519 | * | ||
520 | * Returns 0 if the top and bottom queue_limits are compatible. The | ||
521 | * top device's block sizes and alignment offsets may be adjusted to | ||
522 | * ensure alignment with the bottom device. If no compatible sizes | ||
523 | * and alignments exist, -1 is returned and the resulting top | ||
524 | * queue_limits will have the misaligned flag set to indicate that | ||
525 | * the alignment_offset is undefined. | ||
516 | */ | 526 | */ |
517 | int blk_stack_limits(struct queue_limits *t, struct queue_limits *b, | 527 | int blk_stack_limits(struct queue_limits *t, struct queue_limits *b, |
518 | sector_t offset) | 528 | sector_t offset) |
519 | { | 529 | { |
520 | int ret; | 530 | sector_t alignment; |
521 | 531 | unsigned int top, bottom; | |
522 | ret = 0; | ||
523 | 532 | ||
524 | t->max_sectors = min_not_zero(t->max_sectors, b->max_sectors); | 533 | t->max_sectors = min_not_zero(t->max_sectors, b->max_sectors); |
525 | t->max_hw_sectors = min_not_zero(t->max_hw_sectors, b->max_hw_sectors); | 534 | t->max_hw_sectors = min_not_zero(t->max_hw_sectors, b->max_hw_sectors); |
@@ -537,6 +546,22 @@ int blk_stack_limits(struct queue_limits *t, struct queue_limits *b, | |||
537 | t->max_segment_size = min_not_zero(t->max_segment_size, | 546 | t->max_segment_size = min_not_zero(t->max_segment_size, |
538 | b->max_segment_size); | 547 | b->max_segment_size); |
539 | 548 | ||
549 | alignment = queue_limit_alignment_offset(b, offset); | ||
550 | |||
551 | /* Bottom device has different alignment. Check that it is | ||
552 | * compatible with the current top alignment. | ||
553 | */ | ||
554 | if (t->alignment_offset != alignment) { | ||
555 | |||
556 | top = max(t->physical_block_size, t->io_min) | ||
557 | + t->alignment_offset; | ||
558 | bottom = max(b->physical_block_size, b->io_min) + alignment; | ||
559 | |||
560 | /* Verify that top and bottom intervals line up */ | ||
561 | if (max(top, bottom) & (min(top, bottom) - 1)) | ||
562 | t->misaligned = 1; | ||
563 | } | ||
564 | |||
540 | t->logical_block_size = max(t->logical_block_size, | 565 | t->logical_block_size = max(t->logical_block_size, |
541 | b->logical_block_size); | 566 | b->logical_block_size); |
542 | 567 | ||
@@ -544,54 +569,64 @@ int blk_stack_limits(struct queue_limits *t, struct queue_limits *b, | |||
544 | b->physical_block_size); | 569 | b->physical_block_size); |
545 | 570 | ||
546 | t->io_min = max(t->io_min, b->io_min); | 571 | t->io_min = max(t->io_min, b->io_min); |
572 | t->io_opt = lcm(t->io_opt, b->io_opt); | ||
573 | |||
547 | t->no_cluster |= b->no_cluster; | 574 | t->no_cluster |= b->no_cluster; |
548 | t->discard_zeroes_data &= b->discard_zeroes_data; | 575 | t->discard_zeroes_data &= b->discard_zeroes_data; |
549 | 576 | ||
550 | /* Bottom device offset aligned? */ | 577 | /* Physical block size a multiple of the logical block size? */ |
551 | if (offset && | 578 | if (t->physical_block_size & (t->logical_block_size - 1)) { |
552 | (offset & (b->physical_block_size - 1)) != b->alignment_offset) { | 579 | t->physical_block_size = t->logical_block_size; |
553 | t->misaligned = 1; | 580 | t->misaligned = 1; |
554 | ret = -1; | ||
555 | } | 581 | } |
556 | 582 | ||
557 | /* | 583 | /* Minimum I/O a multiple of the physical block size? */ |
558 | * Temporarily disable discard granularity. It's currently buggy | 584 | if (t->io_min & (t->physical_block_size - 1)) { |
559 | * since we default to 0 for discard_granularity, hence this | 585 | t->io_min = t->physical_block_size; |
560 | * "failure" will always trigger for non-zero offsets. | 586 | t->misaligned = 1; |
561 | */ | ||
562 | #if 0 | ||
563 | if (offset && | ||
564 | (offset & (b->discard_granularity - 1)) != b->discard_alignment) { | ||
565 | t->discard_misaligned = 1; | ||
566 | ret = -1; | ||
567 | } | 587 | } |
568 | #endif | ||
569 | |||
570 | /* If top has no alignment offset, inherit from bottom */ | ||
571 | if (!t->alignment_offset) | ||
572 | t->alignment_offset = | ||
573 | b->alignment_offset & (b->physical_block_size - 1); | ||
574 | 588 | ||
575 | if (!t->discard_alignment) | 589 | /* Optimal I/O a multiple of the physical block size? */ |
576 | t->discard_alignment = | 590 | if (t->io_opt & (t->physical_block_size - 1)) { |
577 | b->discard_alignment & (b->discard_granularity - 1); | 591 | t->io_opt = 0; |
578 | |||
579 | /* Top device aligned on logical block boundary? */ | ||
580 | if (t->alignment_offset & (t->logical_block_size - 1)) { | ||
581 | t->misaligned = 1; | 592 | t->misaligned = 1; |
582 | ret = -1; | ||
583 | } | 593 | } |
584 | 594 | ||
585 | /* Find lcm() of optimal I/O size and granularity */ | 595 | /* Find lowest common alignment_offset */ |
586 | t->io_opt = lcm(t->io_opt, b->io_opt); | 596 | t->alignment_offset = lcm(t->alignment_offset, alignment) |
587 | t->discard_granularity = lcm(t->discard_granularity, | 597 | & (max(t->physical_block_size, t->io_min) - 1); |
588 | b->discard_granularity); | ||
589 | 598 | ||
590 | /* Verify that optimal I/O size is a multiple of io_min */ | 599 | /* Verify that new alignment_offset is on a logical block boundary */ |
591 | if (t->io_min && t->io_opt % t->io_min) | 600 | if (t->alignment_offset & (t->logical_block_size - 1)) |
592 | ret = -1; | 601 | t->misaligned = 1; |
602 | |||
603 | /* Discard alignment and granularity */ | ||
604 | if (b->discard_granularity) { | ||
605 | unsigned int granularity = b->discard_granularity; | ||
606 | offset &= granularity - 1; | ||
607 | |||
608 | alignment = (granularity + b->discard_alignment - offset) | ||
609 | & (granularity - 1); | ||
610 | |||
611 | if (t->discard_granularity != 0 && | ||
612 | t->discard_alignment != alignment) { | ||
613 | top = t->discard_granularity + t->discard_alignment; | ||
614 | bottom = b->discard_granularity + alignment; | ||
615 | |||
616 | /* Verify that top and bottom intervals line up */ | ||
617 | if (max(top, bottom) & (min(top, bottom) - 1)) | ||
618 | t->discard_misaligned = 1; | ||
619 | } | ||
620 | |||
621 | t->max_discard_sectors = min_not_zero(t->max_discard_sectors, | ||
622 | b->max_discard_sectors); | ||
623 | t->discard_granularity = max(t->discard_granularity, | ||
624 | b->discard_granularity); | ||
625 | t->discard_alignment = lcm(t->discard_alignment, alignment) & | ||
626 | (t->discard_granularity - 1); | ||
627 | } | ||
593 | 628 | ||
594 | return ret; | 629 | return t->misaligned ? -1 : 0; |
595 | } | 630 | } |
596 | EXPORT_SYMBOL(blk_stack_limits); | 631 | EXPORT_SYMBOL(blk_stack_limits); |
597 | 632 | ||
diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c index e2f80463ed0d..918c7fd9aeb1 100644 --- a/block/cfq-iosched.c +++ b/block/cfq-iosched.c | |||
@@ -208,8 +208,6 @@ struct cfq_data { | |||
208 | /* Root service tree for cfq_groups */ | 208 | /* Root service tree for cfq_groups */ |
209 | struct cfq_rb_root grp_service_tree; | 209 | struct cfq_rb_root grp_service_tree; |
210 | struct cfq_group root_group; | 210 | struct cfq_group root_group; |
211 | /* Number of active cfq groups on group service tree */ | ||
212 | int nr_groups; | ||
213 | 211 | ||
214 | /* | 212 | /* |
215 | * The priority currently being served | 213 | * The priority currently being served |
@@ -294,8 +292,7 @@ static struct cfq_group *cfq_get_next_cfqg(struct cfq_data *cfqd); | |||
294 | 292 | ||
295 | static struct cfq_rb_root *service_tree_for(struct cfq_group *cfqg, | 293 | static struct cfq_rb_root *service_tree_for(struct cfq_group *cfqg, |
296 | enum wl_prio_t prio, | 294 | enum wl_prio_t prio, |
297 | enum wl_type_t type, | 295 | enum wl_type_t type) |
298 | struct cfq_data *cfqd) | ||
299 | { | 296 | { |
300 | if (!cfqg) | 297 | if (!cfqg) |
301 | return NULL; | 298 | return NULL; |
@@ -842,7 +839,6 @@ cfq_group_service_tree_add(struct cfq_data *cfqd, struct cfq_group *cfqg) | |||
842 | 839 | ||
843 | __cfq_group_service_tree_add(st, cfqg); | 840 | __cfq_group_service_tree_add(st, cfqg); |
844 | cfqg->on_st = true; | 841 | cfqg->on_st = true; |
845 | cfqd->nr_groups++; | ||
846 | st->total_weight += cfqg->weight; | 842 | st->total_weight += cfqg->weight; |
847 | } | 843 | } |
848 | 844 | ||
@@ -863,7 +859,6 @@ cfq_group_service_tree_del(struct cfq_data *cfqd, struct cfq_group *cfqg) | |||
863 | 859 | ||
864 | cfq_log_cfqg(cfqd, cfqg, "del_from_rr group"); | 860 | cfq_log_cfqg(cfqd, cfqg, "del_from_rr group"); |
865 | cfqg->on_st = false; | 861 | cfqg->on_st = false; |
866 | cfqd->nr_groups--; | ||
867 | st->total_weight -= cfqg->weight; | 862 | st->total_weight -= cfqg->weight; |
868 | if (!RB_EMPTY_NODE(&cfqg->rb_node)) | 863 | if (!RB_EMPTY_NODE(&cfqg->rb_node)) |
869 | cfq_rb_erase(&cfqg->rb_node, st); | 864 | cfq_rb_erase(&cfqg->rb_node, st); |
@@ -1150,7 +1145,7 @@ static void cfq_service_tree_add(struct cfq_data *cfqd, struct cfq_queue *cfqq, | |||
1150 | #endif | 1145 | #endif |
1151 | 1146 | ||
1152 | service_tree = service_tree_for(cfqq->cfqg, cfqq_prio(cfqq), | 1147 | service_tree = service_tree_for(cfqq->cfqg, cfqq_prio(cfqq), |
1153 | cfqq_type(cfqq), cfqd); | 1148 | cfqq_type(cfqq)); |
1154 | if (cfq_class_idle(cfqq)) { | 1149 | if (cfq_class_idle(cfqq)) { |
1155 | rb_key = CFQ_IDLE_DELAY; | 1150 | rb_key = CFQ_IDLE_DELAY; |
1156 | parent = rb_last(&service_tree->rb); | 1151 | parent = rb_last(&service_tree->rb); |
@@ -1513,9 +1508,6 @@ static int cfq_allow_merge(struct request_queue *q, struct request *rq, | |||
1513 | struct cfq_io_context *cic; | 1508 | struct cfq_io_context *cic; |
1514 | struct cfq_queue *cfqq; | 1509 | struct cfq_queue *cfqq; |
1515 | 1510 | ||
1516 | /* Deny merge if bio and rq don't belong to same cfq group */ | ||
1517 | if ((RQ_CFQQ(rq))->cfqg != cfq_get_cfqg(cfqd, 0)) | ||
1518 | return false; | ||
1519 | /* | 1511 | /* |
1520 | * Disallow merge of a sync bio into an async request. | 1512 | * Disallow merge of a sync bio into an async request. |
1521 | */ | 1513 | */ |
@@ -1616,7 +1608,7 @@ static struct cfq_queue *cfq_get_next_queue(struct cfq_data *cfqd) | |||
1616 | { | 1608 | { |
1617 | struct cfq_rb_root *service_tree = | 1609 | struct cfq_rb_root *service_tree = |
1618 | service_tree_for(cfqd->serving_group, cfqd->serving_prio, | 1610 | service_tree_for(cfqd->serving_group, cfqd->serving_prio, |
1619 | cfqd->serving_type, cfqd); | 1611 | cfqd->serving_type); |
1620 | 1612 | ||
1621 | if (!cfqd->rq_queued) | 1613 | if (!cfqd->rq_queued) |
1622 | return NULL; | 1614 | return NULL; |
@@ -1675,13 +1667,17 @@ static inline sector_t cfq_dist_from_last(struct cfq_data *cfqd, | |||
1675 | #define CFQQ_SEEKY(cfqq) ((cfqq)->seek_mean > CFQQ_SEEK_THR) | 1667 | #define CFQQ_SEEKY(cfqq) ((cfqq)->seek_mean > CFQQ_SEEK_THR) |
1676 | 1668 | ||
1677 | static inline int cfq_rq_close(struct cfq_data *cfqd, struct cfq_queue *cfqq, | 1669 | static inline int cfq_rq_close(struct cfq_data *cfqd, struct cfq_queue *cfqq, |
1678 | struct request *rq) | 1670 | struct request *rq, bool for_preempt) |
1679 | { | 1671 | { |
1680 | sector_t sdist = cfqq->seek_mean; | 1672 | sector_t sdist = cfqq->seek_mean; |
1681 | 1673 | ||
1682 | if (!sample_valid(cfqq->seek_samples)) | 1674 | if (!sample_valid(cfqq->seek_samples)) |
1683 | sdist = CFQQ_SEEK_THR; | 1675 | sdist = CFQQ_SEEK_THR; |
1684 | 1676 | ||
1677 | /* if seek_mean is big, using it as close criteria is meaningless */ | ||
1678 | if (sdist > CFQQ_SEEK_THR && !for_preempt) | ||
1679 | sdist = CFQQ_SEEK_THR; | ||
1680 | |||
1685 | return cfq_dist_from_last(cfqd, rq) <= sdist; | 1681 | return cfq_dist_from_last(cfqd, rq) <= sdist; |
1686 | } | 1682 | } |
1687 | 1683 | ||
@@ -1709,7 +1705,7 @@ static struct cfq_queue *cfqq_close(struct cfq_data *cfqd, | |||
1709 | * will contain the closest sector. | 1705 | * will contain the closest sector. |
1710 | */ | 1706 | */ |
1711 | __cfqq = rb_entry(parent, struct cfq_queue, p_node); | 1707 | __cfqq = rb_entry(parent, struct cfq_queue, p_node); |
1712 | if (cfq_rq_close(cfqd, cur_cfqq, __cfqq->next_rq)) | 1708 | if (cfq_rq_close(cfqd, cur_cfqq, __cfqq->next_rq, false)) |
1713 | return __cfqq; | 1709 | return __cfqq; |
1714 | 1710 | ||
1715 | if (blk_rq_pos(__cfqq->next_rq) < sector) | 1711 | if (blk_rq_pos(__cfqq->next_rq) < sector) |
@@ -1720,7 +1716,7 @@ static struct cfq_queue *cfqq_close(struct cfq_data *cfqd, | |||
1720 | return NULL; | 1716 | return NULL; |
1721 | 1717 | ||
1722 | __cfqq = rb_entry(node, struct cfq_queue, p_node); | 1718 | __cfqq = rb_entry(node, struct cfq_queue, p_node); |
1723 | if (cfq_rq_close(cfqd, cur_cfqq, __cfqq->next_rq)) | 1719 | if (cfq_rq_close(cfqd, cur_cfqq, __cfqq->next_rq, false)) |
1724 | return __cfqq; | 1720 | return __cfqq; |
1725 | 1721 | ||
1726 | return NULL; | 1722 | return NULL; |
@@ -1963,8 +1959,7 @@ static void cfq_setup_merge(struct cfq_queue *cfqq, struct cfq_queue *new_cfqq) | |||
1963 | } | 1959 | } |
1964 | 1960 | ||
1965 | static enum wl_type_t cfq_choose_wl(struct cfq_data *cfqd, | 1961 | static enum wl_type_t cfq_choose_wl(struct cfq_data *cfqd, |
1966 | struct cfq_group *cfqg, enum wl_prio_t prio, | 1962 | struct cfq_group *cfqg, enum wl_prio_t prio) |
1967 | bool prio_changed) | ||
1968 | { | 1963 | { |
1969 | struct cfq_queue *queue; | 1964 | struct cfq_queue *queue; |
1970 | int i; | 1965 | int i; |
@@ -1972,24 +1967,9 @@ static enum wl_type_t cfq_choose_wl(struct cfq_data *cfqd, | |||
1972 | unsigned long lowest_key = 0; | 1967 | unsigned long lowest_key = 0; |
1973 | enum wl_type_t cur_best = SYNC_NOIDLE_WORKLOAD; | 1968 | enum wl_type_t cur_best = SYNC_NOIDLE_WORKLOAD; |
1974 | 1969 | ||
1975 | if (prio_changed) { | 1970 | for (i = 0; i <= SYNC_WORKLOAD; ++i) { |
1976 | /* | 1971 | /* select the one with lowest rb_key */ |
1977 | * When priorities switched, we prefer starting | 1972 | queue = cfq_rb_first(service_tree_for(cfqg, prio, i)); |
1978 | * from SYNC_NOIDLE (first choice), or just SYNC | ||
1979 | * over ASYNC | ||
1980 | */ | ||
1981 | if (service_tree_for(cfqg, prio, cur_best, cfqd)->count) | ||
1982 | return cur_best; | ||
1983 | cur_best = SYNC_WORKLOAD; | ||
1984 | if (service_tree_for(cfqg, prio, cur_best, cfqd)->count) | ||
1985 | return cur_best; | ||
1986 | |||
1987 | return ASYNC_WORKLOAD; | ||
1988 | } | ||
1989 | |||
1990 | for (i = 0; i < 3; ++i) { | ||
1991 | /* otherwise, select the one with lowest rb_key */ | ||
1992 | queue = cfq_rb_first(service_tree_for(cfqg, prio, i, cfqd)); | ||
1993 | if (queue && | 1973 | if (queue && |
1994 | (!key_valid || time_before(queue->rb_key, lowest_key))) { | 1974 | (!key_valid || time_before(queue->rb_key, lowest_key))) { |
1995 | lowest_key = queue->rb_key; | 1975 | lowest_key = queue->rb_key; |
@@ -2003,8 +1983,6 @@ static enum wl_type_t cfq_choose_wl(struct cfq_data *cfqd, | |||
2003 | 1983 | ||
2004 | static void choose_service_tree(struct cfq_data *cfqd, struct cfq_group *cfqg) | 1984 | static void choose_service_tree(struct cfq_data *cfqd, struct cfq_group *cfqg) |
2005 | { | 1985 | { |
2006 | enum wl_prio_t previous_prio = cfqd->serving_prio; | ||
2007 | bool prio_changed; | ||
2008 | unsigned slice; | 1986 | unsigned slice; |
2009 | unsigned count; | 1987 | unsigned count; |
2010 | struct cfq_rb_root *st; | 1988 | struct cfq_rb_root *st; |
@@ -2032,24 +2010,19 @@ static void choose_service_tree(struct cfq_data *cfqd, struct cfq_group *cfqg) | |||
2032 | * (SYNC, SYNC_NOIDLE, ASYNC), and to compute a workload | 2010 | * (SYNC, SYNC_NOIDLE, ASYNC), and to compute a workload |
2033 | * expiration time | 2011 | * expiration time |
2034 | */ | 2012 | */ |
2035 | prio_changed = (cfqd->serving_prio != previous_prio); | 2013 | st = service_tree_for(cfqg, cfqd->serving_prio, cfqd->serving_type); |
2036 | st = service_tree_for(cfqg, cfqd->serving_prio, cfqd->serving_type, | ||
2037 | cfqd); | ||
2038 | count = st->count; | 2014 | count = st->count; |
2039 | 2015 | ||
2040 | /* | 2016 | /* |
2041 | * If priority didn't change, check workload expiration, | 2017 | * check workload expiration, and that we still have other queues ready |
2042 | * and that we still have other queues ready | ||
2043 | */ | 2018 | */ |
2044 | if (!prio_changed && count && | 2019 | if (count && !time_after(jiffies, cfqd->workload_expires)) |
2045 | !time_after(jiffies, cfqd->workload_expires)) | ||
2046 | return; | 2020 | return; |
2047 | 2021 | ||
2048 | /* otherwise select new workload type */ | 2022 | /* otherwise select new workload type */ |
2049 | cfqd->serving_type = | 2023 | cfqd->serving_type = |
2050 | cfq_choose_wl(cfqd, cfqg, cfqd->serving_prio, prio_changed); | 2024 | cfq_choose_wl(cfqd, cfqg, cfqd->serving_prio); |
2051 | st = service_tree_for(cfqg, cfqd->serving_prio, cfqd->serving_type, | 2025 | st = service_tree_for(cfqg, cfqd->serving_prio, cfqd->serving_type); |
2052 | cfqd); | ||
2053 | count = st->count; | 2026 | count = st->count; |
2054 | 2027 | ||
2055 | /* | 2028 | /* |
@@ -3143,7 +3116,7 @@ cfq_should_preempt(struct cfq_data *cfqd, struct cfq_queue *new_cfqq, | |||
3143 | * if this request is as-good as one we would expect from the | 3116 | * if this request is as-good as one we would expect from the |
3144 | * current cfqq, let it preempt | 3117 | * current cfqq, let it preempt |
3145 | */ | 3118 | */ |
3146 | if (cfq_rq_close(cfqd, cfqq, rq)) | 3119 | if (cfq_rq_close(cfqd, cfqq, rq, true)) |
3147 | return true; | 3120 | return true; |
3148 | 3121 | ||
3149 | return false; | 3122 | return false; |
diff --git a/crypto/async_tx/raid6test.c b/crypto/async_tx/raid6test.c index 3ec27c7e62ea..f84f6b4301d9 100644 --- a/crypto/async_tx/raid6test.c +++ b/crypto/async_tx/raid6test.c | |||
@@ -214,6 +214,13 @@ static int raid6_test(void) | |||
214 | err += test(4, &tests); | 214 | err += test(4, &tests); |
215 | if (NDISKS > 5) | 215 | if (NDISKS > 5) |
216 | err += test(5, &tests); | 216 | err += test(5, &tests); |
217 | /* the 11 and 12 disk cases are special for ioatdma (p-disabled | ||
218 | * q-continuation without extended descriptor) | ||
219 | */ | ||
220 | if (NDISKS > 12) { | ||
221 | err += test(11, &tests); | ||
222 | err += test(12, &tests); | ||
223 | } | ||
217 | err += test(NDISKS, &tests); | 224 | err += test(NDISKS, &tests); |
218 | 225 | ||
219 | pr("\n"); | 226 | pr("\n"); |
diff --git a/drivers/Kconfig b/drivers/Kconfig index 8a07363417ed..368ae6d3a096 100644 --- a/drivers/Kconfig +++ b/drivers/Kconfig | |||
@@ -28,7 +28,7 @@ source "drivers/md/Kconfig" | |||
28 | 28 | ||
29 | source "drivers/message/fusion/Kconfig" | 29 | source "drivers/message/fusion/Kconfig" |
30 | 30 | ||
31 | source "drivers/ieee1394/Kconfig" | 31 | source "drivers/firewire/Kconfig" |
32 | 32 | ||
33 | source "drivers/message/i2o/Kconfig" | 33 | source "drivers/message/i2o/Kconfig" |
34 | 34 | ||
diff --git a/drivers/acpi/sleep.c b/drivers/acpi/sleep.c index 5f2c379ab7bf..79d33d908b5a 100644 --- a/drivers/acpi/sleep.c +++ b/drivers/acpi/sleep.c | |||
@@ -81,6 +81,23 @@ static int acpi_sleep_prepare(u32 acpi_state) | |||
81 | #ifdef CONFIG_ACPI_SLEEP | 81 | #ifdef CONFIG_ACPI_SLEEP |
82 | static u32 acpi_target_sleep_state = ACPI_STATE_S0; | 82 | static u32 acpi_target_sleep_state = ACPI_STATE_S0; |
83 | /* | 83 | /* |
84 | * According to the ACPI specification the BIOS should make sure that ACPI is | ||
85 | * enabled and SCI_EN bit is set on wake-up from S1 - S3 sleep states. Still, | ||
86 | * some BIOSes don't do that and therefore we use acpi_enable() to enable ACPI | ||
87 | * on such systems during resume. Unfortunately that doesn't help in | ||
88 | * particularly pathological cases in which SCI_EN has to be set directly on | ||
89 | * resume, although the specification states very clearly that this flag is | ||
90 | * owned by the hardware. The set_sci_en_on_resume variable will be set in such | ||
91 | * cases. | ||
92 | */ | ||
93 | static bool set_sci_en_on_resume; | ||
94 | |||
95 | void __init acpi_set_sci_en_on_resume(void) | ||
96 | { | ||
97 | set_sci_en_on_resume = true; | ||
98 | } | ||
99 | |||
100 | /* | ||
84 | * ACPI 1.0 wants us to execute _PTS before suspending devices, so we allow the | 101 | * ACPI 1.0 wants us to execute _PTS before suspending devices, so we allow the |
85 | * user to request that behavior by using the 'acpi_old_suspend_ordering' | 102 | * user to request that behavior by using the 'acpi_old_suspend_ordering' |
86 | * kernel command line option that causes the following variable to be set. | 103 | * kernel command line option that causes the following variable to be set. |
@@ -170,18 +187,6 @@ static void acpi_pm_end(void) | |||
170 | #endif /* CONFIG_ACPI_SLEEP */ | 187 | #endif /* CONFIG_ACPI_SLEEP */ |
171 | 188 | ||
172 | #ifdef CONFIG_SUSPEND | 189 | #ifdef CONFIG_SUSPEND |
173 | /* | ||
174 | * According to the ACPI specification the BIOS should make sure that ACPI is | ||
175 | * enabled and SCI_EN bit is set on wake-up from S1 - S3 sleep states. Still, | ||
176 | * some BIOSes don't do that and therefore we use acpi_enable() to enable ACPI | ||
177 | * on such systems during resume. Unfortunately that doesn't help in | ||
178 | * particularly pathological cases in which SCI_EN has to be set directly on | ||
179 | * resume, although the specification states very clearly that this flag is | ||
180 | * owned by the hardware. The set_sci_en_on_resume variable will be set in such | ||
181 | * cases. | ||
182 | */ | ||
183 | static bool set_sci_en_on_resume; | ||
184 | |||
185 | extern void do_suspend_lowlevel(void); | 190 | extern void do_suspend_lowlevel(void); |
186 | 191 | ||
187 | static u32 acpi_suspend_states[] = { | 192 | static u32 acpi_suspend_states[] = { |
diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c index 05dff631591c..72e76b4b6538 100644 --- a/drivers/acpi/video.c +++ b/drivers/acpi/video.c | |||
@@ -999,8 +999,10 @@ static void acpi_video_device_find_cap(struct acpi_video_device *device) | |||
999 | sprintf(name, "acpi_video%d", count++); | 999 | sprintf(name, "acpi_video%d", count++); |
1000 | device->backlight = backlight_device_register(name, | 1000 | device->backlight = backlight_device_register(name, |
1001 | NULL, device, &acpi_backlight_ops); | 1001 | NULL, device, &acpi_backlight_ops); |
1002 | device->backlight->props.max_brightness = device->brightness->count-3; | ||
1003 | kfree(name); | 1002 | kfree(name); |
1003 | if (IS_ERR(device->backlight)) | ||
1004 | return; | ||
1005 | device->backlight->props.max_brightness = device->brightness->count-3; | ||
1004 | 1006 | ||
1005 | result = sysfs_create_link(&device->backlight->dev.kobj, | 1007 | result = sysfs_create_link(&device->backlight->dev.kobj, |
1006 | &device->dev->dev.kobj, "device"); | 1008 | &device->dev->dev.kobj, "device"); |
@@ -1979,6 +1981,10 @@ acpi_video_switch_brightness(struct acpi_video_device *device, int event) | |||
1979 | unsigned long long level_current, level_next; | 1981 | unsigned long long level_current, level_next; |
1980 | int result = -EINVAL; | 1982 | int result = -EINVAL; |
1981 | 1983 | ||
1984 | /* no warning message if acpi_backlight=vendor is used */ | ||
1985 | if (!acpi_video_backlight_support()) | ||
1986 | return 0; | ||
1987 | |||
1982 | if (!device->brightness) | 1988 | if (!device->brightness) |
1983 | goto out; | 1989 | goto out; |
1984 | 1990 | ||
diff --git a/drivers/block/DAC960.c b/drivers/block/DAC960.c index eb4fa1943944..ce1fa923c414 100644 --- a/drivers/block/DAC960.c +++ b/drivers/block/DAC960.c | |||
@@ -7101,7 +7101,7 @@ static struct DAC960_privdata DAC960_BA_privdata = { | |||
7101 | 7101 | ||
7102 | static struct DAC960_privdata DAC960_LP_privdata = { | 7102 | static struct DAC960_privdata DAC960_LP_privdata = { |
7103 | .HardwareType = DAC960_LP_Controller, | 7103 | .HardwareType = DAC960_LP_Controller, |
7104 | .FirmwareType = DAC960_LP_Controller, | 7104 | .FirmwareType = DAC960_V2_Controller, |
7105 | .InterruptHandler = DAC960_LP_InterruptHandler, | 7105 | .InterruptHandler = DAC960_LP_InterruptHandler, |
7106 | .MemoryWindowSize = DAC960_LP_RegisterWindowSize, | 7106 | .MemoryWindowSize = DAC960_LP_RegisterWindowSize, |
7107 | }; | 7107 | }; |
diff --git a/drivers/block/aoe/aoecmd.c b/drivers/block/aoe/aoecmd.c index 13bb69d2abb3..64a223b0cc22 100644 --- a/drivers/block/aoe/aoecmd.c +++ b/drivers/block/aoe/aoecmd.c | |||
@@ -735,21 +735,6 @@ diskstats(struct gendisk *disk, struct bio *bio, ulong duration, sector_t sector | |||
735 | part_stat_unlock(); | 735 | part_stat_unlock(); |
736 | } | 736 | } |
737 | 737 | ||
738 | /* | ||
739 | * Ensure we don't create aliases in VI caches | ||
740 | */ | ||
741 | static inline void | ||
742 | killalias(struct bio *bio) | ||
743 | { | ||
744 | struct bio_vec *bv; | ||
745 | int i; | ||
746 | |||
747 | if (bio_data_dir(bio) == READ) | ||
748 | __bio_for_each_segment(bv, bio, i, 0) { | ||
749 | flush_dcache_page(bv->bv_page); | ||
750 | } | ||
751 | } | ||
752 | |||
753 | void | 738 | void |
754 | aoecmd_ata_rsp(struct sk_buff *skb) | 739 | aoecmd_ata_rsp(struct sk_buff *skb) |
755 | { | 740 | { |
@@ -871,7 +856,7 @@ aoecmd_ata_rsp(struct sk_buff *skb) | |||
871 | if (buf->flags & BUFFL_FAIL) | 856 | if (buf->flags & BUFFL_FAIL) |
872 | bio_endio(buf->bio, -EIO); | 857 | bio_endio(buf->bio, -EIO); |
873 | else { | 858 | else { |
874 | killalias(buf->bio); | 859 | bio_flush_dcache_pages(buf->bio); |
875 | bio_endio(buf->bio, 0); | 860 | bio_endio(buf->bio, 0); |
876 | } | 861 | } |
877 | mempool_free(buf, d->bufpool); | 862 | mempool_free(buf, d->bufpool); |
diff --git a/drivers/block/drbd/drbd_int.h b/drivers/block/drbd/drbd_int.h index 2312d782fe99..c97558763430 100644 --- a/drivers/block/drbd/drbd_int.h +++ b/drivers/block/drbd/drbd_int.h | |||
@@ -1490,7 +1490,7 @@ void drbd_bump_write_ordering(struct drbd_conf *mdev, enum write_ordering_e wo); | |||
1490 | 1490 | ||
1491 | /* drbd_proc.c */ | 1491 | /* drbd_proc.c */ |
1492 | extern struct proc_dir_entry *drbd_proc; | 1492 | extern struct proc_dir_entry *drbd_proc; |
1493 | extern struct file_operations drbd_proc_fops; | 1493 | extern const struct file_operations drbd_proc_fops; |
1494 | extern const char *drbd_conn_str(enum drbd_conns s); | 1494 | extern const char *drbd_conn_str(enum drbd_conns s); |
1495 | extern const char *drbd_role_str(enum drbd_role s); | 1495 | extern const char *drbd_role_str(enum drbd_role s); |
1496 | 1496 | ||
diff --git a/drivers/block/drbd/drbd_main.c b/drivers/block/drbd/drbd_main.c index 157d1e4343c2..9348f33f6242 100644 --- a/drivers/block/drbd/drbd_main.c +++ b/drivers/block/drbd/drbd_main.c | |||
@@ -27,7 +27,6 @@ | |||
27 | */ | 27 | */ |
28 | 28 | ||
29 | #include <linux/module.h> | 29 | #include <linux/module.h> |
30 | #include <linux/version.h> | ||
31 | #include <linux/drbd.h> | 30 | #include <linux/drbd.h> |
32 | #include <asm/uaccess.h> | 31 | #include <asm/uaccess.h> |
33 | #include <asm/types.h> | 32 | #include <asm/types.h> |
@@ -151,7 +150,7 @@ wait_queue_head_t drbd_pp_wait; | |||
151 | 150 | ||
152 | DEFINE_RATELIMIT_STATE(drbd_ratelimit_state, 5 * HZ, 5); | 151 | DEFINE_RATELIMIT_STATE(drbd_ratelimit_state, 5 * HZ, 5); |
153 | 152 | ||
154 | static struct block_device_operations drbd_ops = { | 153 | static const struct block_device_operations drbd_ops = { |
155 | .owner = THIS_MODULE, | 154 | .owner = THIS_MODULE, |
156 | .open = drbd_open, | 155 | .open = drbd_open, |
157 | .release = drbd_release, | 156 | .release = drbd_release, |
@@ -3623,7 +3622,7 @@ _drbd_fault_random(struct fault_random_state *rsp) | |||
3623 | { | 3622 | { |
3624 | long refresh; | 3623 | long refresh; |
3625 | 3624 | ||
3626 | if (--rsp->count < 0) { | 3625 | if (!rsp->count--) { |
3627 | get_random_bytes(&refresh, sizeof(refresh)); | 3626 | get_random_bytes(&refresh, sizeof(refresh)); |
3628 | rsp->state += refresh; | 3627 | rsp->state += refresh; |
3629 | rsp->count = FAULT_RANDOM_REFRESH; | 3628 | rsp->count = FAULT_RANDOM_REFRESH; |
diff --git a/drivers/block/drbd/drbd_proc.c b/drivers/block/drbd/drbd_proc.c index bdd0b4943b10..df8ad9660d8f 100644 --- a/drivers/block/drbd/drbd_proc.c +++ b/drivers/block/drbd/drbd_proc.c | |||
@@ -38,7 +38,7 @@ static int drbd_proc_open(struct inode *inode, struct file *file); | |||
38 | 38 | ||
39 | 39 | ||
40 | struct proc_dir_entry *drbd_proc; | 40 | struct proc_dir_entry *drbd_proc; |
41 | struct file_operations drbd_proc_fops = { | 41 | const struct file_operations drbd_proc_fops = { |
42 | .owner = THIS_MODULE, | 42 | .owner = THIS_MODULE, |
43 | .open = drbd_proc_open, | 43 | .open = drbd_proc_open, |
44 | .read = seq_read, | 44 | .read = seq_read, |
diff --git a/drivers/block/drbd/drbd_receiver.c b/drivers/block/drbd/drbd_receiver.c index c548f24f54a1..259c1351b152 100644 --- a/drivers/block/drbd/drbd_receiver.c +++ b/drivers/block/drbd/drbd_receiver.c | |||
@@ -28,7 +28,6 @@ | |||
28 | #include <asm/uaccess.h> | 28 | #include <asm/uaccess.h> |
29 | #include <net/sock.h> | 29 | #include <net/sock.h> |
30 | 30 | ||
31 | #include <linux/version.h> | ||
32 | #include <linux/drbd.h> | 31 | #include <linux/drbd.h> |
33 | #include <linux/fs.h> | 32 | #include <linux/fs.h> |
34 | #include <linux/file.h> | 33 | #include <linux/file.h> |
diff --git a/drivers/block/drbd/drbd_worker.c b/drivers/block/drbd/drbd_worker.c index ed8796f1112d..b453c2bca3be 100644 --- a/drivers/block/drbd/drbd_worker.c +++ b/drivers/block/drbd/drbd_worker.c | |||
@@ -24,7 +24,6 @@ | |||
24 | */ | 24 | */ |
25 | 25 | ||
26 | #include <linux/module.h> | 26 | #include <linux/module.h> |
27 | #include <linux/version.h> | ||
28 | #include <linux/drbd.h> | 27 | #include <linux/drbd.h> |
29 | #include <linux/sched.h> | 28 | #include <linux/sched.h> |
30 | #include <linux/smp_lock.h> | 29 | #include <linux/smp_lock.h> |
@@ -34,7 +33,6 @@ | |||
34 | #include <linux/mm_inline.h> | 33 | #include <linux/mm_inline.h> |
35 | #include <linux/slab.h> | 34 | #include <linux/slab.h> |
36 | #include <linux/random.h> | 35 | #include <linux/random.h> |
37 | #include <linux/mm.h> | ||
38 | #include <linux/string.h> | 36 | #include <linux/string.h> |
39 | #include <linux/scatterlist.h> | 37 | #include <linux/scatterlist.h> |
40 | 38 | ||
diff --git a/drivers/block/mg_disk.c b/drivers/block/mg_disk.c index e0339aaa1815..02b2583df7fc 100644 --- a/drivers/block/mg_disk.c +++ b/drivers/block/mg_disk.c | |||
@@ -860,7 +860,7 @@ static int mg_probe(struct platform_device *plat_dev) | |||
860 | err = -EINVAL; | 860 | err = -EINVAL; |
861 | goto probe_err_2; | 861 | goto probe_err_2; |
862 | } | 862 | } |
863 | host->dev_base = ioremap(rsc->start , rsc->end + 1); | 863 | host->dev_base = ioremap(rsc->start, resource_size(rsc)); |
864 | if (!host->dev_base) { | 864 | if (!host->dev_base) { |
865 | printk(KERN_ERR "%s:%d ioremap fail\n", | 865 | printk(KERN_ERR "%s:%d ioremap fail\n", |
866 | __func__, __LINE__); | 866 | __func__, __LINE__); |
diff --git a/drivers/char/agp/amd64-agp.c b/drivers/char/agp/amd64-agp.c index 2fb2e6cc322a..5aa7a586a7ff 100644 --- a/drivers/char/agp/amd64-agp.c +++ b/drivers/char/agp/amd64-agp.c | |||
@@ -725,9 +725,14 @@ static struct pci_driver agp_amd64_pci_driver = { | |||
725 | int __init agp_amd64_init(void) | 725 | int __init agp_amd64_init(void) |
726 | { | 726 | { |
727 | int err = 0; | 727 | int err = 0; |
728 | static int done = 0; | ||
728 | 729 | ||
729 | if (agp_off) | 730 | if (agp_off) |
730 | return -EINVAL; | 731 | return -EINVAL; |
732 | |||
733 | if (done++) | ||
734 | return agp_bridges_found ? 0 : -ENODEV; | ||
735 | |||
731 | err = pci_register_driver(&agp_amd64_pci_driver); | 736 | err = pci_register_driver(&agp_amd64_pci_driver); |
732 | if (err < 0) | 737 | if (err < 0) |
733 | return err; | 738 | return err; |
@@ -771,12 +776,8 @@ static void __exit agp_amd64_cleanup(void) | |||
771 | pci_unregister_driver(&agp_amd64_pci_driver); | 776 | pci_unregister_driver(&agp_amd64_pci_driver); |
772 | } | 777 | } |
773 | 778 | ||
774 | /* On AMD64 the PCI driver needs to initialize this driver early | ||
775 | for the IOMMU, so it has to be called via a backdoor. */ | ||
776 | #ifndef CONFIG_GART_IOMMU | ||
777 | module_init(agp_amd64_init); | 779 | module_init(agp_amd64_init); |
778 | module_exit(agp_amd64_cleanup); | 780 | module_exit(agp_amd64_cleanup); |
779 | #endif | ||
780 | 781 | ||
781 | MODULE_AUTHOR("Dave Jones <davej@redhat.com>, Andi Kleen"); | 782 | MODULE_AUTHOR("Dave Jones <davej@redhat.com>, Andi Kleen"); |
782 | module_param(agp_try_unsupported, bool, 0); | 783 | module_param(agp_try_unsupported, bool, 0); |
diff --git a/drivers/char/hw_random/core.c b/drivers/char/hw_random/core.c index e989f67bb61f..3d9c61e5acbf 100644 --- a/drivers/char/hw_random/core.c +++ b/drivers/char/hw_random/core.c | |||
@@ -158,10 +158,11 @@ static ssize_t rng_dev_read(struct file *filp, char __user *buf, | |||
158 | goto out; | 158 | goto out; |
159 | } | 159 | } |
160 | } | 160 | } |
161 | out_unlock: | ||
162 | mutex_unlock(&rng_mutex); | ||
163 | out: | 161 | out: |
164 | return ret ? : err; | 162 | return ret ? : err; |
163 | out_unlock: | ||
164 | mutex_unlock(&rng_mutex); | ||
165 | goto out; | ||
165 | } | 166 | } |
166 | 167 | ||
167 | 168 | ||
diff --git a/drivers/char/ipmi/ipmi_si_intf.c b/drivers/char/ipmi/ipmi_si_intf.c index 679cd08b80b4..176f1751237f 100644 --- a/drivers/char/ipmi/ipmi_si_intf.c +++ b/drivers/char/ipmi/ipmi_si_intf.c | |||
@@ -3204,7 +3204,7 @@ static __devinit int init_ipmi_si(void) | |||
3204 | #ifdef CONFIG_ACPI | 3204 | #ifdef CONFIG_ACPI |
3205 | spmi_find_bmc(); | 3205 | spmi_find_bmc(); |
3206 | #endif | 3206 | #endif |
3207 | #ifdef CONFIG_PNP | 3207 | #ifdef CONFIG_ACPI |
3208 | pnp_register_driver(&ipmi_pnp_driver); | 3208 | pnp_register_driver(&ipmi_pnp_driver); |
3209 | #endif | 3209 | #endif |
3210 | 3210 | ||
@@ -3330,7 +3330,7 @@ static __exit void cleanup_ipmi_si(void) | |||
3330 | #ifdef CONFIG_PCI | 3330 | #ifdef CONFIG_PCI |
3331 | pci_unregister_driver(&ipmi_pci_driver); | 3331 | pci_unregister_driver(&ipmi_pci_driver); |
3332 | #endif | 3332 | #endif |
3333 | #ifdef CONFIG_PNP | 3333 | #ifdef CONFIG_ACPI |
3334 | pnp_unregister_driver(&ipmi_pnp_driver); | 3334 | pnp_unregister_driver(&ipmi_pnp_driver); |
3335 | #endif | 3335 | #endif |
3336 | 3336 | ||
diff --git a/drivers/char/sonypi.c b/drivers/char/sonypi.c index 0798754a607c..bba727c3807e 100644 --- a/drivers/char/sonypi.c +++ b/drivers/char/sonypi.c | |||
@@ -50,7 +50,6 @@ | |||
50 | #include <linux/err.h> | 50 | #include <linux/err.h> |
51 | #include <linux/kfifo.h> | 51 | #include <linux/kfifo.h> |
52 | #include <linux/platform_device.h> | 52 | #include <linux/platform_device.h> |
53 | #include <linux/smp_lock.h> | ||
54 | 53 | ||
55 | #include <asm/uaccess.h> | 54 | #include <asm/uaccess.h> |
56 | #include <asm/io.h> | 55 | #include <asm/io.h> |
@@ -905,14 +904,13 @@ static int sonypi_misc_release(struct inode *inode, struct file *file) | |||
905 | 904 | ||
906 | static int sonypi_misc_open(struct inode *inode, struct file *file) | 905 | static int sonypi_misc_open(struct inode *inode, struct file *file) |
907 | { | 906 | { |
908 | lock_kernel(); | ||
909 | mutex_lock(&sonypi_device.lock); | 907 | mutex_lock(&sonypi_device.lock); |
910 | /* Flush input queue on first open */ | 908 | /* Flush input queue on first open */ |
911 | if (!sonypi_device.open_count) | 909 | if (!sonypi_device.open_count) |
912 | kfifo_reset(&sonypi_device.fifo); | 910 | kfifo_reset(&sonypi_device.fifo); |
913 | sonypi_device.open_count++; | 911 | sonypi_device.open_count++; |
914 | mutex_unlock(&sonypi_device.lock); | 912 | mutex_unlock(&sonypi_device.lock); |
915 | unlock_kernel(); | 913 | |
916 | return 0; | 914 | return 0; |
917 | } | 915 | } |
918 | 916 | ||
@@ -955,10 +953,10 @@ static unsigned int sonypi_misc_poll(struct file *file, poll_table *wait) | |||
955 | return 0; | 953 | return 0; |
956 | } | 954 | } |
957 | 955 | ||
958 | static int sonypi_misc_ioctl(struct inode *ip, struct file *fp, | 956 | static long sonypi_misc_ioctl(struct file *fp, |
959 | unsigned int cmd, unsigned long arg) | 957 | unsigned int cmd, unsigned long arg) |
960 | { | 958 | { |
961 | int ret = 0; | 959 | long ret = 0; |
962 | void __user *argp = (void __user *)arg; | 960 | void __user *argp = (void __user *)arg; |
963 | u8 val8; | 961 | u8 val8; |
964 | u16 val16; | 962 | u16 val16; |
@@ -1074,7 +1072,8 @@ static const struct file_operations sonypi_misc_fops = { | |||
1074 | .open = sonypi_misc_open, | 1072 | .open = sonypi_misc_open, |
1075 | .release = sonypi_misc_release, | 1073 | .release = sonypi_misc_release, |
1076 | .fasync = sonypi_misc_fasync, | 1074 | .fasync = sonypi_misc_fasync, |
1077 | .ioctl = sonypi_misc_ioctl, | 1075 | .unlocked_ioctl = sonypi_misc_ioctl, |
1076 | .llseek = no_llseek, | ||
1078 | }; | 1077 | }; |
1079 | 1078 | ||
1080 | static struct miscdevice sonypi_misc_device = { | 1079 | static struct miscdevice sonypi_misc_device = { |
diff --git a/drivers/char/toshiba.c b/drivers/char/toshiba.c index 663cd15d7c78..f8bc79f6de34 100644 --- a/drivers/char/toshiba.c +++ b/drivers/char/toshiba.c | |||
@@ -68,7 +68,7 @@ | |||
68 | #include <linux/stat.h> | 68 | #include <linux/stat.h> |
69 | #include <linux/proc_fs.h> | 69 | #include <linux/proc_fs.h> |
70 | #include <linux/seq_file.h> | 70 | #include <linux/seq_file.h> |
71 | 71 | #include <linux/smp_lock.h> | |
72 | #include <linux/toshiba.h> | 72 | #include <linux/toshiba.h> |
73 | 73 | ||
74 | #define TOSH_MINOR_DEV 181 | 74 | #define TOSH_MINOR_DEV 181 |
@@ -88,13 +88,13 @@ static int tosh_date; | |||
88 | static int tosh_sci; | 88 | static int tosh_sci; |
89 | static int tosh_fan; | 89 | static int tosh_fan; |
90 | 90 | ||
91 | static int tosh_ioctl(struct inode *, struct file *, unsigned int, | 91 | static long tosh_ioctl(struct file *, unsigned int, |
92 | unsigned long); | 92 | unsigned long); |
93 | 93 | ||
94 | 94 | ||
95 | static const struct file_operations tosh_fops = { | 95 | static const struct file_operations tosh_fops = { |
96 | .owner = THIS_MODULE, | 96 | .owner = THIS_MODULE, |
97 | .ioctl = tosh_ioctl, | 97 | .unlocked_ioctl = tosh_ioctl, |
98 | }; | 98 | }; |
99 | 99 | ||
100 | static struct miscdevice tosh_device = { | 100 | static struct miscdevice tosh_device = { |
@@ -252,8 +252,7 @@ int tosh_smm(SMMRegisters *regs) | |||
252 | EXPORT_SYMBOL(tosh_smm); | 252 | EXPORT_SYMBOL(tosh_smm); |
253 | 253 | ||
254 | 254 | ||
255 | static int tosh_ioctl(struct inode *ip, struct file *fp, unsigned int cmd, | 255 | static long tosh_ioctl(struct file *fp, unsigned int cmd, unsigned long arg) |
256 | unsigned long arg) | ||
257 | { | 256 | { |
258 | SMMRegisters regs; | 257 | SMMRegisters regs; |
259 | SMMRegisters __user *argp = (SMMRegisters __user *)arg; | 258 | SMMRegisters __user *argp = (SMMRegisters __user *)arg; |
@@ -275,13 +274,16 @@ static int tosh_ioctl(struct inode *ip, struct file *fp, unsigned int cmd, | |||
275 | return -EINVAL; | 274 | return -EINVAL; |
276 | 275 | ||
277 | /* do we need to emulate the fan ? */ | 276 | /* do we need to emulate the fan ? */ |
277 | lock_kernel(); | ||
278 | if (tosh_fan==1) { | 278 | if (tosh_fan==1) { |
279 | if (((ax==0xf300) || (ax==0xf400)) && (bx==0x0004)) { | 279 | if (((ax==0xf300) || (ax==0xf400)) && (bx==0x0004)) { |
280 | err = tosh_emulate_fan(®s); | 280 | err = tosh_emulate_fan(®s); |
281 | unlock_kernel(); | ||
281 | break; | 282 | break; |
282 | } | 283 | } |
283 | } | 284 | } |
284 | err = tosh_smm(®s); | 285 | err = tosh_smm(®s); |
286 | unlock_kernel(); | ||
285 | break; | 287 | break; |
286 | default: | 288 | default: |
287 | return -EINVAL; | 289 | return -EINVAL; |
diff --git a/drivers/dma/at_hdmac.c b/drivers/dma/at_hdmac.c index f15112569c1d..efc1a61ca231 100644 --- a/drivers/dma/at_hdmac.c +++ b/drivers/dma/at_hdmac.c | |||
@@ -815,7 +815,7 @@ atc_is_tx_complete(struct dma_chan *chan, | |||
815 | dev_vdbg(chan2dev(chan), "is_tx_complete: %d (d%d, u%d)\n", | 815 | dev_vdbg(chan2dev(chan), "is_tx_complete: %d (d%d, u%d)\n", |
816 | cookie, done ? *done : 0, used ? *used : 0); | 816 | cookie, done ? *done : 0, used ? *used : 0); |
817 | 817 | ||
818 | spin_lock_bh(atchan->lock); | 818 | spin_lock_bh(&atchan->lock); |
819 | 819 | ||
820 | last_complete = atchan->completed_cookie; | 820 | last_complete = atchan->completed_cookie; |
821 | last_used = chan->cookie; | 821 | last_used = chan->cookie; |
@@ -830,7 +830,7 @@ atc_is_tx_complete(struct dma_chan *chan, | |||
830 | ret = dma_async_is_complete(cookie, last_complete, last_used); | 830 | ret = dma_async_is_complete(cookie, last_complete, last_used); |
831 | } | 831 | } |
832 | 832 | ||
833 | spin_unlock_bh(atchan->lock); | 833 | spin_unlock_bh(&atchan->lock); |
834 | 834 | ||
835 | if (done) | 835 | if (done) |
836 | *done = last_complete; | 836 | *done = last_complete; |
diff --git a/drivers/dma/coh901318.c b/drivers/dma/coh901318.c index 4a99cd94536b..b5f2ee0f8e2c 100644 --- a/drivers/dma/coh901318.c +++ b/drivers/dma/coh901318.c | |||
@@ -1294,8 +1294,8 @@ static int __exit coh901318_remove(struct platform_device *pdev) | |||
1294 | dma_async_device_unregister(&base->dma_slave); | 1294 | dma_async_device_unregister(&base->dma_slave); |
1295 | coh901318_pool_destroy(&base->pool); | 1295 | coh901318_pool_destroy(&base->pool); |
1296 | free_irq(platform_get_irq(pdev, 0), base); | 1296 | free_irq(platform_get_irq(pdev, 0), base); |
1297 | kfree(base); | ||
1298 | iounmap(base->virtbase); | 1297 | iounmap(base->virtbase); |
1298 | kfree(base); | ||
1299 | release_mem_region(pdev->resource->start, | 1299 | release_mem_region(pdev->resource->start, |
1300 | resource_size(pdev->resource)); | 1300 | resource_size(pdev->resource)); |
1301 | return 0; | 1301 | return 0; |
diff --git a/drivers/dma/dw_dmac.c b/drivers/dma/dw_dmac.c index 285bed0fe17b..d28369f7afd2 100644 --- a/drivers/dma/dw_dmac.c +++ b/drivers/dma/dw_dmac.c | |||
@@ -1270,8 +1270,6 @@ static int __init dw_probe(struct platform_device *pdev) | |||
1270 | goto err_kfree; | 1270 | goto err_kfree; |
1271 | } | 1271 | } |
1272 | 1272 | ||
1273 | memset(dw, 0, sizeof *dw); | ||
1274 | |||
1275 | dw->regs = ioremap(io->start, DW_REGLEN); | 1273 | dw->regs = ioremap(io->start, DW_REGLEN); |
1276 | if (!dw->regs) { | 1274 | if (!dw->regs) { |
1277 | err = -ENOMEM; | 1275 | err = -ENOMEM; |
diff --git a/drivers/dma/ioat/dma.c b/drivers/dma/ioat/dma.c index c524d36d3c2e..dcc4ab78b32b 100644 --- a/drivers/dma/ioat/dma.c +++ b/drivers/dma/ioat/dma.c | |||
@@ -1032,7 +1032,7 @@ int __devinit ioat_probe(struct ioatdma_device *device) | |||
1032 | dma->dev = &pdev->dev; | 1032 | dma->dev = &pdev->dev; |
1033 | 1033 | ||
1034 | if (!dma->chancnt) { | 1034 | if (!dma->chancnt) { |
1035 | dev_err(dev, "zero channels detected\n"); | 1035 | dev_err(dev, "channel enumeration error\n"); |
1036 | goto err_setup_interrupts; | 1036 | goto err_setup_interrupts; |
1037 | } | 1037 | } |
1038 | 1038 | ||
diff --git a/drivers/dma/ioat/dma.h b/drivers/dma/ioat/dma.h index 45edde996480..bbc3e78ef333 100644 --- a/drivers/dma/ioat/dma.h +++ b/drivers/dma/ioat/dma.h | |||
@@ -60,6 +60,7 @@ | |||
60 | * @dca: direct cache access context | 60 | * @dca: direct cache access context |
61 | * @intr_quirk: interrupt setup quirk (for ioat_v1 devices) | 61 | * @intr_quirk: interrupt setup quirk (for ioat_v1 devices) |
62 | * @enumerate_channels: hw version specific channel enumeration | 62 | * @enumerate_channels: hw version specific channel enumeration |
63 | * @reset_hw: hw version specific channel (re)initialization | ||
63 | * @cleanup_tasklet: select between the v2 and v3 cleanup routines | 64 | * @cleanup_tasklet: select between the v2 and v3 cleanup routines |
64 | * @timer_fn: select between the v2 and v3 timer watchdog routines | 65 | * @timer_fn: select between the v2 and v3 timer watchdog routines |
65 | * @self_test: hardware version specific self test for each supported op type | 66 | * @self_test: hardware version specific self test for each supported op type |
@@ -78,6 +79,7 @@ struct ioatdma_device { | |||
78 | struct dca_provider *dca; | 79 | struct dca_provider *dca; |
79 | void (*intr_quirk)(struct ioatdma_device *device); | 80 | void (*intr_quirk)(struct ioatdma_device *device); |
80 | int (*enumerate_channels)(struct ioatdma_device *device); | 81 | int (*enumerate_channels)(struct ioatdma_device *device); |
82 | int (*reset_hw)(struct ioat_chan_common *chan); | ||
81 | void (*cleanup_tasklet)(unsigned long data); | 83 | void (*cleanup_tasklet)(unsigned long data); |
82 | void (*timer_fn)(unsigned long data); | 84 | void (*timer_fn)(unsigned long data); |
83 | int (*self_test)(struct ioatdma_device *device); | 85 | int (*self_test)(struct ioatdma_device *device); |
@@ -264,6 +266,22 @@ static inline void ioat_suspend(struct ioat_chan_common *chan) | |||
264 | writeb(IOAT_CHANCMD_SUSPEND, chan->reg_base + IOAT_CHANCMD_OFFSET(ver)); | 266 | writeb(IOAT_CHANCMD_SUSPEND, chan->reg_base + IOAT_CHANCMD_OFFSET(ver)); |
265 | } | 267 | } |
266 | 268 | ||
269 | static inline void ioat_reset(struct ioat_chan_common *chan) | ||
270 | { | ||
271 | u8 ver = chan->device->version; | ||
272 | |||
273 | writeb(IOAT_CHANCMD_RESET, chan->reg_base + IOAT_CHANCMD_OFFSET(ver)); | ||
274 | } | ||
275 | |||
276 | static inline bool ioat_reset_pending(struct ioat_chan_common *chan) | ||
277 | { | ||
278 | u8 ver = chan->device->version; | ||
279 | u8 cmd; | ||
280 | |||
281 | cmd = readb(chan->reg_base + IOAT_CHANCMD_OFFSET(ver)); | ||
282 | return (cmd & IOAT_CHANCMD_RESET) == IOAT_CHANCMD_RESET; | ||
283 | } | ||
284 | |||
267 | static inline void ioat_set_chainaddr(struct ioat_dma_chan *ioat, u64 addr) | 285 | static inline void ioat_set_chainaddr(struct ioat_dma_chan *ioat, u64 addr) |
268 | { | 286 | { |
269 | struct ioat_chan_common *chan = &ioat->base; | 287 | struct ioat_chan_common *chan = &ioat->base; |
diff --git a/drivers/dma/ioat/dma_v2.c b/drivers/dma/ioat/dma_v2.c index 8f1f7f05deaa..5f7a500e18d0 100644 --- a/drivers/dma/ioat/dma_v2.c +++ b/drivers/dma/ioat/dma_v2.c | |||
@@ -239,20 +239,50 @@ void __ioat2_restart_chan(struct ioat2_dma_chan *ioat) | |||
239 | __ioat2_start_null_desc(ioat); | 239 | __ioat2_start_null_desc(ioat); |
240 | } | 240 | } |
241 | 241 | ||
242 | static void ioat2_restart_channel(struct ioat2_dma_chan *ioat) | 242 | int ioat2_quiesce(struct ioat_chan_common *chan, unsigned long tmo) |
243 | { | 243 | { |
244 | struct ioat_chan_common *chan = &ioat->base; | 244 | unsigned long end = jiffies + tmo; |
245 | unsigned long phys_complete; | 245 | int err = 0; |
246 | u32 status; | 246 | u32 status; |
247 | 247 | ||
248 | status = ioat_chansts(chan); | 248 | status = ioat_chansts(chan); |
249 | if (is_ioat_active(status) || is_ioat_idle(status)) | 249 | if (is_ioat_active(status) || is_ioat_idle(status)) |
250 | ioat_suspend(chan); | 250 | ioat_suspend(chan); |
251 | while (is_ioat_active(status) || is_ioat_idle(status)) { | 251 | while (is_ioat_active(status) || is_ioat_idle(status)) { |
252 | if (end && time_after(jiffies, end)) { | ||
253 | err = -ETIMEDOUT; | ||
254 | break; | ||
255 | } | ||
252 | status = ioat_chansts(chan); | 256 | status = ioat_chansts(chan); |
253 | cpu_relax(); | 257 | cpu_relax(); |
254 | } | 258 | } |
255 | 259 | ||
260 | return err; | ||
261 | } | ||
262 | |||
263 | int ioat2_reset_sync(struct ioat_chan_common *chan, unsigned long tmo) | ||
264 | { | ||
265 | unsigned long end = jiffies + tmo; | ||
266 | int err = 0; | ||
267 | |||
268 | ioat_reset(chan); | ||
269 | while (ioat_reset_pending(chan)) { | ||
270 | if (end && time_after(jiffies, end)) { | ||
271 | err = -ETIMEDOUT; | ||
272 | break; | ||
273 | } | ||
274 | cpu_relax(); | ||
275 | } | ||
276 | |||
277 | return err; | ||
278 | } | ||
279 | |||
280 | static void ioat2_restart_channel(struct ioat2_dma_chan *ioat) | ||
281 | { | ||
282 | struct ioat_chan_common *chan = &ioat->base; | ||
283 | unsigned long phys_complete; | ||
284 | |||
285 | ioat2_quiesce(chan, 0); | ||
256 | if (ioat_cleanup_preamble(chan, &phys_complete)) | 286 | if (ioat_cleanup_preamble(chan, &phys_complete)) |
257 | __cleanup(ioat, phys_complete); | 287 | __cleanup(ioat, phys_complete); |
258 | 288 | ||
@@ -318,6 +348,19 @@ void ioat2_timer_event(unsigned long data) | |||
318 | spin_unlock_bh(&chan->cleanup_lock); | 348 | spin_unlock_bh(&chan->cleanup_lock); |
319 | } | 349 | } |
320 | 350 | ||
351 | static int ioat2_reset_hw(struct ioat_chan_common *chan) | ||
352 | { | ||
353 | /* throw away whatever the channel was doing and get it initialized */ | ||
354 | u32 chanerr; | ||
355 | |||
356 | ioat2_quiesce(chan, msecs_to_jiffies(100)); | ||
357 | |||
358 | chanerr = readl(chan->reg_base + IOAT_CHANERR_OFFSET); | ||
359 | writel(chanerr, chan->reg_base + IOAT_CHANERR_OFFSET); | ||
360 | |||
361 | return ioat2_reset_sync(chan, msecs_to_jiffies(200)); | ||
362 | } | ||
363 | |||
321 | /** | 364 | /** |
322 | * ioat2_enumerate_channels - find and initialize the device's channels | 365 | * ioat2_enumerate_channels - find and initialize the device's channels |
323 | * @device: the device to be enumerated | 366 | * @device: the device to be enumerated |
@@ -360,6 +403,10 @@ int ioat2_enumerate_channels(struct ioatdma_device *device) | |||
360 | (unsigned long) ioat); | 403 | (unsigned long) ioat); |
361 | ioat->xfercap_log = xfercap_log; | 404 | ioat->xfercap_log = xfercap_log; |
362 | spin_lock_init(&ioat->ring_lock); | 405 | spin_lock_init(&ioat->ring_lock); |
406 | if (device->reset_hw(&ioat->base)) { | ||
407 | i = 0; | ||
408 | break; | ||
409 | } | ||
363 | } | 410 | } |
364 | dma->chancnt = i; | 411 | dma->chancnt = i; |
365 | return i; | 412 | return i; |
@@ -467,7 +514,6 @@ int ioat2_alloc_chan_resources(struct dma_chan *c) | |||
467 | struct ioat2_dma_chan *ioat = to_ioat2_chan(c); | 514 | struct ioat2_dma_chan *ioat = to_ioat2_chan(c); |
468 | struct ioat_chan_common *chan = &ioat->base; | 515 | struct ioat_chan_common *chan = &ioat->base; |
469 | struct ioat_ring_ent **ring; | 516 | struct ioat_ring_ent **ring; |
470 | u32 chanerr; | ||
471 | int order; | 517 | int order; |
472 | 518 | ||
473 | /* have we already been set up? */ | 519 | /* have we already been set up? */ |
@@ -477,12 +523,6 @@ int ioat2_alloc_chan_resources(struct dma_chan *c) | |||
477 | /* Setup register to interrupt and write completion status on error */ | 523 | /* Setup register to interrupt and write completion status on error */ |
478 | writew(IOAT_CHANCTRL_RUN, chan->reg_base + IOAT_CHANCTRL_OFFSET); | 524 | writew(IOAT_CHANCTRL_RUN, chan->reg_base + IOAT_CHANCTRL_OFFSET); |
479 | 525 | ||
480 | chanerr = readl(chan->reg_base + IOAT_CHANERR_OFFSET); | ||
481 | if (chanerr) { | ||
482 | dev_err(to_dev(chan), "CHANERR = %x, clearing\n", chanerr); | ||
483 | writel(chanerr, chan->reg_base + IOAT_CHANERR_OFFSET); | ||
484 | } | ||
485 | |||
486 | /* allocate a completion writeback area */ | 526 | /* allocate a completion writeback area */ |
487 | /* doing 2 32bit writes to mmio since 1 64b write doesn't work */ | 527 | /* doing 2 32bit writes to mmio since 1 64b write doesn't work */ |
488 | chan->completion = pci_pool_alloc(chan->device->completion_pool, | 528 | chan->completion = pci_pool_alloc(chan->device->completion_pool, |
@@ -746,13 +786,7 @@ void ioat2_free_chan_resources(struct dma_chan *c) | |||
746 | tasklet_disable(&chan->cleanup_task); | 786 | tasklet_disable(&chan->cleanup_task); |
747 | del_timer_sync(&chan->timer); | 787 | del_timer_sync(&chan->timer); |
748 | device->cleanup_tasklet((unsigned long) ioat); | 788 | device->cleanup_tasklet((unsigned long) ioat); |
749 | 789 | device->reset_hw(chan); | |
750 | /* Delay 100ms after reset to allow internal DMA logic to quiesce | ||
751 | * before removing DMA descriptor resources. | ||
752 | */ | ||
753 | writeb(IOAT_CHANCMD_RESET, | ||
754 | chan->reg_base + IOAT_CHANCMD_OFFSET(chan->device->version)); | ||
755 | mdelay(100); | ||
756 | 790 | ||
757 | spin_lock_bh(&ioat->ring_lock); | 791 | spin_lock_bh(&ioat->ring_lock); |
758 | descs = ioat2_ring_space(ioat); | 792 | descs = ioat2_ring_space(ioat); |
@@ -839,6 +873,7 @@ int __devinit ioat2_dma_probe(struct ioatdma_device *device, int dca) | |||
839 | int err; | 873 | int err; |
840 | 874 | ||
841 | device->enumerate_channels = ioat2_enumerate_channels; | 875 | device->enumerate_channels = ioat2_enumerate_channels; |
876 | device->reset_hw = ioat2_reset_hw; | ||
842 | device->cleanup_tasklet = ioat2_cleanup_tasklet; | 877 | device->cleanup_tasklet = ioat2_cleanup_tasklet; |
843 | device->timer_fn = ioat2_timer_event; | 878 | device->timer_fn = ioat2_timer_event; |
844 | device->self_test = ioat_dma_self_test; | 879 | device->self_test = ioat_dma_self_test; |
diff --git a/drivers/dma/ioat/dma_v2.h b/drivers/dma/ioat/dma_v2.h index 1d849ef74d5f..3afad8da43cc 100644 --- a/drivers/dma/ioat/dma_v2.h +++ b/drivers/dma/ioat/dma_v2.h | |||
@@ -185,6 +185,8 @@ bool reshape_ring(struct ioat2_dma_chan *ioat, int order); | |||
185 | void __ioat2_issue_pending(struct ioat2_dma_chan *ioat); | 185 | void __ioat2_issue_pending(struct ioat2_dma_chan *ioat); |
186 | void ioat2_cleanup_tasklet(unsigned long data); | 186 | void ioat2_cleanup_tasklet(unsigned long data); |
187 | void ioat2_timer_event(unsigned long data); | 187 | void ioat2_timer_event(unsigned long data); |
188 | int ioat2_quiesce(struct ioat_chan_common *chan, unsigned long tmo); | ||
189 | int ioat2_reset_sync(struct ioat_chan_common *chan, unsigned long tmo); | ||
188 | extern struct kobj_type ioat2_ktype; | 190 | extern struct kobj_type ioat2_ktype; |
189 | extern struct kmem_cache *ioat2_cache; | 191 | extern struct kmem_cache *ioat2_cache; |
190 | #endif /* IOATDMA_V2_H */ | 192 | #endif /* IOATDMA_V2_H */ |
diff --git a/drivers/dma/ioat/dma_v3.c b/drivers/dma/ioat/dma_v3.c index 42f6f10fb0cc..9908c9e94b2d 100644 --- a/drivers/dma/ioat/dma_v3.c +++ b/drivers/dma/ioat/dma_v3.c | |||
@@ -650,9 +650,11 @@ __ioat3_prep_pq_lock(struct dma_chan *c, enum sum_check_flags *result, | |||
650 | 650 | ||
651 | num_descs = ioat2_xferlen_to_descs(ioat, len); | 651 | num_descs = ioat2_xferlen_to_descs(ioat, len); |
652 | /* we need 2x the number of descriptors to cover greater than 3 | 652 | /* we need 2x the number of descriptors to cover greater than 3 |
653 | * sources | 653 | * sources (we need 1 extra source in the q-only continuation |
654 | * case and 3 extra sources in the p+q continuation case. | ||
654 | */ | 655 | */ |
655 | if (src_cnt > 3 || flags & DMA_PREP_CONTINUE) { | 656 | if (src_cnt + dmaf_p_disabled_continue(flags) > 3 || |
657 | (dmaf_continue(flags) && !dmaf_p_disabled_continue(flags))) { | ||
656 | with_ext = 1; | 658 | with_ext = 1; |
657 | num_descs *= 2; | 659 | num_descs *= 2; |
658 | } else | 660 | } else |
@@ -1128,6 +1130,45 @@ static int __devinit ioat3_dma_self_test(struct ioatdma_device *device) | |||
1128 | return 0; | 1130 | return 0; |
1129 | } | 1131 | } |
1130 | 1132 | ||
1133 | static int ioat3_reset_hw(struct ioat_chan_common *chan) | ||
1134 | { | ||
1135 | /* throw away whatever the channel was doing and get it | ||
1136 | * initialized, with ioat3 specific workarounds | ||
1137 | */ | ||
1138 | struct ioatdma_device *device = chan->device; | ||
1139 | struct pci_dev *pdev = device->pdev; | ||
1140 | u32 chanerr; | ||
1141 | u16 dev_id; | ||
1142 | int err; | ||
1143 | |||
1144 | ioat2_quiesce(chan, msecs_to_jiffies(100)); | ||
1145 | |||
1146 | chanerr = readl(chan->reg_base + IOAT_CHANERR_OFFSET); | ||
1147 | writel(chanerr, chan->reg_base + IOAT_CHANERR_OFFSET); | ||
1148 | |||
1149 | /* -= IOAT ver.3 workarounds =- */ | ||
1150 | /* Write CHANERRMSK_INT with 3E07h to mask out the errors | ||
1151 | * that can cause stability issues for IOAT ver.3, and clear any | ||
1152 | * pending errors | ||
1153 | */ | ||
1154 | pci_write_config_dword(pdev, IOAT_PCI_CHANERRMASK_INT_OFFSET, 0x3e07); | ||
1155 | err = pci_read_config_dword(pdev, IOAT_PCI_CHANERR_INT_OFFSET, &chanerr); | ||
1156 | if (err) { | ||
1157 | dev_err(&pdev->dev, "channel error register unreachable\n"); | ||
1158 | return err; | ||
1159 | } | ||
1160 | pci_write_config_dword(pdev, IOAT_PCI_CHANERR_INT_OFFSET, chanerr); | ||
1161 | |||
1162 | /* Clear DMAUNCERRSTS Cfg-Reg Parity Error status bit | ||
1163 | * (workaround for spurious config parity error after restart) | ||
1164 | */ | ||
1165 | pci_read_config_word(pdev, IOAT_PCI_DEVICE_ID_OFFSET, &dev_id); | ||
1166 | if (dev_id == PCI_DEVICE_ID_INTEL_IOAT_TBG0) | ||
1167 | pci_write_config_dword(pdev, IOAT_PCI_DMAUNCERRSTS_OFFSET, 0x10); | ||
1168 | |||
1169 | return ioat2_reset_sync(chan, msecs_to_jiffies(200)); | ||
1170 | } | ||
1171 | |||
1131 | int __devinit ioat3_dma_probe(struct ioatdma_device *device, int dca) | 1172 | int __devinit ioat3_dma_probe(struct ioatdma_device *device, int dca) |
1132 | { | 1173 | { |
1133 | struct pci_dev *pdev = device->pdev; | 1174 | struct pci_dev *pdev = device->pdev; |
@@ -1137,10 +1178,10 @@ int __devinit ioat3_dma_probe(struct ioatdma_device *device, int dca) | |||
1137 | struct ioat_chan_common *chan; | 1178 | struct ioat_chan_common *chan; |
1138 | bool is_raid_device = false; | 1179 | bool is_raid_device = false; |
1139 | int err; | 1180 | int err; |
1140 | u16 dev_id; | ||
1141 | u32 cap; | 1181 | u32 cap; |
1142 | 1182 | ||
1143 | device->enumerate_channels = ioat2_enumerate_channels; | 1183 | device->enumerate_channels = ioat2_enumerate_channels; |
1184 | device->reset_hw = ioat3_reset_hw; | ||
1144 | device->self_test = ioat3_dma_self_test; | 1185 | device->self_test = ioat3_dma_self_test; |
1145 | dma = &device->common; | 1186 | dma = &device->common; |
1146 | dma->device_prep_dma_memcpy = ioat2_dma_prep_memcpy_lock; | 1187 | dma->device_prep_dma_memcpy = ioat2_dma_prep_memcpy_lock; |
@@ -1216,19 +1257,6 @@ int __devinit ioat3_dma_probe(struct ioatdma_device *device, int dca) | |||
1216 | dma->device_prep_dma_xor_val = NULL; | 1257 | dma->device_prep_dma_xor_val = NULL; |
1217 | #endif | 1258 | #endif |
1218 | 1259 | ||
1219 | /* -= IOAT ver.3 workarounds =- */ | ||
1220 | /* Write CHANERRMSK_INT with 3E07h to mask out the errors | ||
1221 | * that can cause stability issues for IOAT ver.3 | ||
1222 | */ | ||
1223 | pci_write_config_dword(pdev, IOAT_PCI_CHANERRMASK_INT_OFFSET, 0x3e07); | ||
1224 | |||
1225 | /* Clear DMAUNCERRSTS Cfg-Reg Parity Error status bit | ||
1226 | * (workaround for spurious config parity error after restart) | ||
1227 | */ | ||
1228 | pci_read_config_word(pdev, IOAT_PCI_DEVICE_ID_OFFSET, &dev_id); | ||
1229 | if (dev_id == PCI_DEVICE_ID_INTEL_IOAT_TBG0) | ||
1230 | pci_write_config_dword(pdev, IOAT_PCI_DMAUNCERRSTS_OFFSET, 0x10); | ||
1231 | |||
1232 | err = ioat_probe(device); | 1260 | err = ioat_probe(device); |
1233 | if (err) | 1261 | if (err) |
1234 | return err; | 1262 | return err; |
diff --git a/drivers/dma/ioat/registers.h b/drivers/dma/ioat/registers.h index f015ec196700..e8ae63baf588 100644 --- a/drivers/dma/ioat/registers.h +++ b/drivers/dma/ioat/registers.h | |||
@@ -27,6 +27,7 @@ | |||
27 | 27 | ||
28 | #define IOAT_PCI_DEVICE_ID_OFFSET 0x02 | 28 | #define IOAT_PCI_DEVICE_ID_OFFSET 0x02 |
29 | #define IOAT_PCI_DMAUNCERRSTS_OFFSET 0x148 | 29 | #define IOAT_PCI_DMAUNCERRSTS_OFFSET 0x148 |
30 | #define IOAT_PCI_CHANERR_INT_OFFSET 0x180 | ||
30 | #define IOAT_PCI_CHANERRMASK_INT_OFFSET 0x184 | 31 | #define IOAT_PCI_CHANERRMASK_INT_OFFSET 0x184 |
31 | 32 | ||
32 | /* MMIO Device Registers */ | 33 | /* MMIO Device Registers */ |
diff --git a/drivers/dma/shdma.c b/drivers/dma/shdma.c index 2e4a54c8afeb..d10cc899c460 100644 --- a/drivers/dma/shdma.c +++ b/drivers/dma/shdma.c | |||
@@ -23,16 +23,19 @@ | |||
23 | #include <linux/dmaengine.h> | 23 | #include <linux/dmaengine.h> |
24 | #include <linux/delay.h> | 24 | #include <linux/delay.h> |
25 | #include <linux/dma-mapping.h> | 25 | #include <linux/dma-mapping.h> |
26 | #include <linux/dmapool.h> | ||
27 | #include <linux/platform_device.h> | 26 | #include <linux/platform_device.h> |
28 | #include <cpu/dma.h> | 27 | #include <cpu/dma.h> |
29 | #include <asm/dma-sh.h> | 28 | #include <asm/dma-sh.h> |
30 | #include "shdma.h" | 29 | #include "shdma.h" |
31 | 30 | ||
32 | /* DMA descriptor control */ | 31 | /* DMA descriptor control */ |
33 | #define DESC_LAST (-1) | 32 | enum sh_dmae_desc_status { |
34 | #define DESC_COMP (1) | 33 | DESC_IDLE, |
35 | #define DESC_NCOMP (0) | 34 | DESC_PREPARED, |
35 | DESC_SUBMITTED, | ||
36 | DESC_COMPLETED, /* completed, have to call callback */ | ||
37 | DESC_WAITING, /* callback called, waiting for ack / re-submit */ | ||
38 | }; | ||
36 | 39 | ||
37 | #define NR_DESCS_PER_CHANNEL 32 | 40 | #define NR_DESCS_PER_CHANNEL 32 |
38 | /* | 41 | /* |
@@ -45,6 +48,8 @@ | |||
45 | */ | 48 | */ |
46 | #define RS_DEFAULT (RS_DUAL) | 49 | #define RS_DEFAULT (RS_DUAL) |
47 | 50 | ||
51 | static void sh_dmae_chan_ld_cleanup(struct sh_dmae_chan *sh_chan, bool all); | ||
52 | |||
48 | #define SH_DMAC_CHAN_BASE(id) (dma_base_addr[id]) | 53 | #define SH_DMAC_CHAN_BASE(id) (dma_base_addr[id]) |
49 | static void sh_dmae_writel(struct sh_dmae_chan *sh_dc, u32 data, u32 reg) | 54 | static void sh_dmae_writel(struct sh_dmae_chan *sh_dc, u32 data, u32 reg) |
50 | { | 55 | { |
@@ -106,11 +111,11 @@ static inline unsigned int calc_xmit_shift(struct sh_dmae_chan *sh_chan) | |||
106 | return ts_shift[(chcr & CHCR_TS_MASK) >> CHCR_TS_SHIFT]; | 111 | return ts_shift[(chcr & CHCR_TS_MASK) >> CHCR_TS_SHIFT]; |
107 | } | 112 | } |
108 | 113 | ||
109 | static void dmae_set_reg(struct sh_dmae_chan *sh_chan, struct sh_dmae_regs hw) | 114 | static void dmae_set_reg(struct sh_dmae_chan *sh_chan, struct sh_dmae_regs *hw) |
110 | { | 115 | { |
111 | sh_dmae_writel(sh_chan, hw.sar, SAR); | 116 | sh_dmae_writel(sh_chan, hw->sar, SAR); |
112 | sh_dmae_writel(sh_chan, hw.dar, DAR); | 117 | sh_dmae_writel(sh_chan, hw->dar, DAR); |
113 | sh_dmae_writel(sh_chan, hw.tcr >> calc_xmit_shift(sh_chan), TCR); | 118 | sh_dmae_writel(sh_chan, hw->tcr >> calc_xmit_shift(sh_chan), TCR); |
114 | } | 119 | } |
115 | 120 | ||
116 | static void dmae_start(struct sh_dmae_chan *sh_chan) | 121 | static void dmae_start(struct sh_dmae_chan *sh_chan) |
@@ -184,8 +189,9 @@ static int dmae_set_dmars(struct sh_dmae_chan *sh_chan, u16 val) | |||
184 | 189 | ||
185 | static dma_cookie_t sh_dmae_tx_submit(struct dma_async_tx_descriptor *tx) | 190 | static dma_cookie_t sh_dmae_tx_submit(struct dma_async_tx_descriptor *tx) |
186 | { | 191 | { |
187 | struct sh_desc *desc = tx_to_sh_desc(tx); | 192 | struct sh_desc *desc = tx_to_sh_desc(tx), *chunk, *last = desc, *c; |
188 | struct sh_dmae_chan *sh_chan = to_sh_chan(tx->chan); | 193 | struct sh_dmae_chan *sh_chan = to_sh_chan(tx->chan); |
194 | dma_async_tx_callback callback = tx->callback; | ||
189 | dma_cookie_t cookie; | 195 | dma_cookie_t cookie; |
190 | 196 | ||
191 | spin_lock_bh(&sh_chan->desc_lock); | 197 | spin_lock_bh(&sh_chan->desc_lock); |
@@ -195,45 +201,53 @@ static dma_cookie_t sh_dmae_tx_submit(struct dma_async_tx_descriptor *tx) | |||
195 | if (cookie < 0) | 201 | if (cookie < 0) |
196 | cookie = 1; | 202 | cookie = 1; |
197 | 203 | ||
198 | /* If desc only in the case of 1 */ | 204 | sh_chan->common.cookie = cookie; |
199 | if (desc->async_tx.cookie != -EBUSY) | 205 | tx->cookie = cookie; |
200 | desc->async_tx.cookie = cookie; | 206 | |
201 | sh_chan->common.cookie = desc->async_tx.cookie; | 207 | /* Mark all chunks of this descriptor as submitted, move to the queue */ |
208 | list_for_each_entry_safe(chunk, c, desc->node.prev, node) { | ||
209 | /* | ||
210 | * All chunks are on the global ld_free, so, we have to find | ||
211 | * the end of the chain ourselves | ||
212 | */ | ||
213 | if (chunk != desc && (chunk->mark == DESC_IDLE || | ||
214 | chunk->async_tx.cookie > 0 || | ||
215 | chunk->async_tx.cookie == -EBUSY || | ||
216 | &chunk->node == &sh_chan->ld_free)) | ||
217 | break; | ||
218 | chunk->mark = DESC_SUBMITTED; | ||
219 | /* Callback goes to the last chunk */ | ||
220 | chunk->async_tx.callback = NULL; | ||
221 | chunk->cookie = cookie; | ||
222 | list_move_tail(&chunk->node, &sh_chan->ld_queue); | ||
223 | last = chunk; | ||
224 | } | ||
225 | |||
226 | last->async_tx.callback = callback; | ||
227 | last->async_tx.callback_param = tx->callback_param; | ||
202 | 228 | ||
203 | list_splice_init(&desc->tx_list, sh_chan->ld_queue.prev); | 229 | dev_dbg(sh_chan->dev, "submit #%d@%p on %d: %x[%d] -> %x\n", |
230 | tx->cookie, &last->async_tx, sh_chan->id, | ||
231 | desc->hw.sar, desc->hw.tcr, desc->hw.dar); | ||
204 | 232 | ||
205 | spin_unlock_bh(&sh_chan->desc_lock); | 233 | spin_unlock_bh(&sh_chan->desc_lock); |
206 | 234 | ||
207 | return cookie; | 235 | return cookie; |
208 | } | 236 | } |
209 | 237 | ||
238 | /* Called with desc_lock held */ | ||
210 | static struct sh_desc *sh_dmae_get_desc(struct sh_dmae_chan *sh_chan) | 239 | static struct sh_desc *sh_dmae_get_desc(struct sh_dmae_chan *sh_chan) |
211 | { | 240 | { |
212 | struct sh_desc *desc, *_desc, *ret = NULL; | 241 | struct sh_desc *desc; |
213 | 242 | ||
214 | spin_lock_bh(&sh_chan->desc_lock); | 243 | list_for_each_entry(desc, &sh_chan->ld_free, node) |
215 | list_for_each_entry_safe(desc, _desc, &sh_chan->ld_free, node) { | 244 | if (desc->mark != DESC_PREPARED) { |
216 | if (async_tx_test_ack(&desc->async_tx)) { | 245 | BUG_ON(desc->mark != DESC_IDLE); |
217 | list_del(&desc->node); | 246 | list_del(&desc->node); |
218 | ret = desc; | 247 | return desc; |
219 | break; | ||
220 | } | 248 | } |
221 | } | ||
222 | spin_unlock_bh(&sh_chan->desc_lock); | ||
223 | |||
224 | return ret; | ||
225 | } | ||
226 | |||
227 | static void sh_dmae_put_desc(struct sh_dmae_chan *sh_chan, struct sh_desc *desc) | ||
228 | { | ||
229 | if (desc) { | ||
230 | spin_lock_bh(&sh_chan->desc_lock); | ||
231 | |||
232 | list_splice_init(&desc->tx_list, &sh_chan->ld_free); | ||
233 | list_add(&desc->node, &sh_chan->ld_free); | ||
234 | 249 | ||
235 | spin_unlock_bh(&sh_chan->desc_lock); | 250 | return NULL; |
236 | } | ||
237 | } | 251 | } |
238 | 252 | ||
239 | static int sh_dmae_alloc_chan_resources(struct dma_chan *chan) | 253 | static int sh_dmae_alloc_chan_resources(struct dma_chan *chan) |
@@ -252,11 +266,10 @@ static int sh_dmae_alloc_chan_resources(struct dma_chan *chan) | |||
252 | dma_async_tx_descriptor_init(&desc->async_tx, | 266 | dma_async_tx_descriptor_init(&desc->async_tx, |
253 | &sh_chan->common); | 267 | &sh_chan->common); |
254 | desc->async_tx.tx_submit = sh_dmae_tx_submit; | 268 | desc->async_tx.tx_submit = sh_dmae_tx_submit; |
255 | desc->async_tx.flags = DMA_CTRL_ACK; | 269 | desc->mark = DESC_IDLE; |
256 | INIT_LIST_HEAD(&desc->tx_list); | ||
257 | sh_dmae_put_desc(sh_chan, desc); | ||
258 | 270 | ||
259 | spin_lock_bh(&sh_chan->desc_lock); | 271 | spin_lock_bh(&sh_chan->desc_lock); |
272 | list_add(&desc->node, &sh_chan->ld_free); | ||
260 | sh_chan->descs_allocated++; | 273 | sh_chan->descs_allocated++; |
261 | } | 274 | } |
262 | spin_unlock_bh(&sh_chan->desc_lock); | 275 | spin_unlock_bh(&sh_chan->desc_lock); |
@@ -273,7 +286,10 @@ static void sh_dmae_free_chan_resources(struct dma_chan *chan) | |||
273 | struct sh_desc *desc, *_desc; | 286 | struct sh_desc *desc, *_desc; |
274 | LIST_HEAD(list); | 287 | LIST_HEAD(list); |
275 | 288 | ||
276 | BUG_ON(!list_empty(&sh_chan->ld_queue)); | 289 | /* Prepared and not submitted descriptors can still be on the queue */ |
290 | if (!list_empty(&sh_chan->ld_queue)) | ||
291 | sh_dmae_chan_ld_cleanup(sh_chan, true); | ||
292 | |||
277 | spin_lock_bh(&sh_chan->desc_lock); | 293 | spin_lock_bh(&sh_chan->desc_lock); |
278 | 294 | ||
279 | list_splice_init(&sh_chan->ld_free, &list); | 295 | list_splice_init(&sh_chan->ld_free, &list); |
@@ -292,6 +308,8 @@ static struct dma_async_tx_descriptor *sh_dmae_prep_memcpy( | |||
292 | struct sh_dmae_chan *sh_chan; | 308 | struct sh_dmae_chan *sh_chan; |
293 | struct sh_desc *first = NULL, *prev = NULL, *new; | 309 | struct sh_desc *first = NULL, *prev = NULL, *new; |
294 | size_t copy_size; | 310 | size_t copy_size; |
311 | LIST_HEAD(tx_list); | ||
312 | int chunks = (len + SH_DMA_TCR_MAX) / (SH_DMA_TCR_MAX + 1); | ||
295 | 313 | ||
296 | if (!chan) | 314 | if (!chan) |
297 | return NULL; | 315 | return NULL; |
@@ -301,108 +319,189 @@ static struct dma_async_tx_descriptor *sh_dmae_prep_memcpy( | |||
301 | 319 | ||
302 | sh_chan = to_sh_chan(chan); | 320 | sh_chan = to_sh_chan(chan); |
303 | 321 | ||
322 | /* Have to lock the whole loop to protect against concurrent release */ | ||
323 | spin_lock_bh(&sh_chan->desc_lock); | ||
324 | |||
325 | /* | ||
326 | * Chaining: | ||
327 | * first descriptor is what user is dealing with in all API calls, its | ||
328 | * cookie is at first set to -EBUSY, at tx-submit to a positive | ||
329 | * number | ||
330 | * if more than one chunk is needed further chunks have cookie = -EINVAL | ||
331 | * the last chunk, if not equal to the first, has cookie = -ENOSPC | ||
332 | * all chunks are linked onto the tx_list head with their .node heads | ||
333 | * only during this function, then they are immediately spliced | ||
334 | * back onto the free list in form of a chain | ||
335 | */ | ||
304 | do { | 336 | do { |
305 | /* Allocate the link descriptor from DMA pool */ | 337 | /* Allocate the link descriptor from the free list */ |
306 | new = sh_dmae_get_desc(sh_chan); | 338 | new = sh_dmae_get_desc(sh_chan); |
307 | if (!new) { | 339 | if (!new) { |
308 | dev_err(sh_chan->dev, | 340 | dev_err(sh_chan->dev, |
309 | "No free memory for link descriptor\n"); | 341 | "No free memory for link descriptor\n"); |
310 | goto err_get_desc; | 342 | list_for_each_entry(new, &tx_list, node) |
343 | new->mark = DESC_IDLE; | ||
344 | list_splice(&tx_list, &sh_chan->ld_free); | ||
345 | spin_unlock_bh(&sh_chan->desc_lock); | ||
346 | return NULL; | ||
311 | } | 347 | } |
312 | 348 | ||
313 | copy_size = min(len, (size_t)SH_DMA_TCR_MAX); | 349 | copy_size = min(len, (size_t)SH_DMA_TCR_MAX + 1); |
314 | 350 | ||
315 | new->hw.sar = dma_src; | 351 | new->hw.sar = dma_src; |
316 | new->hw.dar = dma_dest; | 352 | new->hw.dar = dma_dest; |
317 | new->hw.tcr = copy_size; | 353 | new->hw.tcr = copy_size; |
318 | if (!first) | 354 | if (!first) { |
355 | /* First desc */ | ||
356 | new->async_tx.cookie = -EBUSY; | ||
319 | first = new; | 357 | first = new; |
358 | } else { | ||
359 | /* Other desc - invisible to the user */ | ||
360 | new->async_tx.cookie = -EINVAL; | ||
361 | } | ||
320 | 362 | ||
321 | new->mark = DESC_NCOMP; | 363 | dev_dbg(sh_chan->dev, |
322 | async_tx_ack(&new->async_tx); | 364 | "chaining %u of %u with %p, dst %x, cookie %d\n", |
365 | copy_size, len, &new->async_tx, dma_dest, | ||
366 | new->async_tx.cookie); | ||
367 | |||
368 | new->mark = DESC_PREPARED; | ||
369 | new->async_tx.flags = flags; | ||
370 | new->chunks = chunks--; | ||
323 | 371 | ||
324 | prev = new; | 372 | prev = new; |
325 | len -= copy_size; | 373 | len -= copy_size; |
326 | dma_src += copy_size; | 374 | dma_src += copy_size; |
327 | dma_dest += copy_size; | 375 | dma_dest += copy_size; |
328 | /* Insert the link descriptor to the LD ring */ | 376 | /* Insert the link descriptor to the LD ring */ |
329 | list_add_tail(&new->node, &first->tx_list); | 377 | list_add_tail(&new->node, &tx_list); |
330 | } while (len); | 378 | } while (len); |
331 | 379 | ||
332 | new->async_tx.flags = flags; /* client is in control of this ack */ | 380 | if (new != first) |
333 | new->async_tx.cookie = -EBUSY; /* Last desc */ | 381 | new->async_tx.cookie = -ENOSPC; |
334 | 382 | ||
335 | return &first->async_tx; | 383 | /* Put them back on the free list, so, they don't get lost */ |
384 | list_splice_tail(&tx_list, &sh_chan->ld_free); | ||
336 | 385 | ||
337 | err_get_desc: | 386 | spin_unlock_bh(&sh_chan->desc_lock); |
338 | sh_dmae_put_desc(sh_chan, first); | ||
339 | return NULL; | ||
340 | 387 | ||
388 | return &first->async_tx; | ||
341 | } | 389 | } |
342 | 390 | ||
343 | /* | 391 | static dma_async_tx_callback __ld_cleanup(struct sh_dmae_chan *sh_chan, bool all) |
344 | * sh_chan_ld_cleanup - Clean up link descriptors | ||
345 | * | ||
346 | * This function clean up the ld_queue of DMA channel. | ||
347 | */ | ||
348 | static void sh_dmae_chan_ld_cleanup(struct sh_dmae_chan *sh_chan) | ||
349 | { | 392 | { |
350 | struct sh_desc *desc, *_desc; | 393 | struct sh_desc *desc, *_desc; |
394 | /* Is the "exposed" head of a chain acked? */ | ||
395 | bool head_acked = false; | ||
396 | dma_cookie_t cookie = 0; | ||
397 | dma_async_tx_callback callback = NULL; | ||
398 | void *param = NULL; | ||
351 | 399 | ||
352 | spin_lock_bh(&sh_chan->desc_lock); | 400 | spin_lock_bh(&sh_chan->desc_lock); |
353 | list_for_each_entry_safe(desc, _desc, &sh_chan->ld_queue, node) { | 401 | list_for_each_entry_safe(desc, _desc, &sh_chan->ld_queue, node) { |
354 | dma_async_tx_callback callback; | 402 | struct dma_async_tx_descriptor *tx = &desc->async_tx; |
355 | void *callback_param; | 403 | |
356 | 404 | BUG_ON(tx->cookie > 0 && tx->cookie != desc->cookie); | |
357 | /* non send data */ | 405 | BUG_ON(desc->mark != DESC_SUBMITTED && |
358 | if (desc->mark == DESC_NCOMP) | 406 | desc->mark != DESC_COMPLETED && |
407 | desc->mark != DESC_WAITING); | ||
408 | |||
409 | /* | ||
410 | * queue is ordered, and we use this loop to (1) clean up all | ||
411 | * completed descriptors, and to (2) update descriptor flags of | ||
412 | * any chunks in a (partially) completed chain | ||
413 | */ | ||
414 | if (!all && desc->mark == DESC_SUBMITTED && | ||
415 | desc->cookie != cookie) | ||
359 | break; | 416 | break; |
360 | 417 | ||
361 | /* send data sesc */ | 418 | if (tx->cookie > 0) |
362 | callback = desc->async_tx.callback; | 419 | cookie = tx->cookie; |
363 | callback_param = desc->async_tx.callback_param; | ||
364 | 420 | ||
365 | /* Remove from ld_queue list */ | 421 | if (desc->mark == DESC_COMPLETED && desc->chunks == 1) { |
366 | list_splice_init(&desc->tx_list, &sh_chan->ld_free); | 422 | BUG_ON(sh_chan->completed_cookie != desc->cookie - 1); |
423 | sh_chan->completed_cookie = desc->cookie; | ||
424 | } | ||
367 | 425 | ||
368 | dev_dbg(sh_chan->dev, "link descriptor %p will be recycle.\n", | 426 | /* Call callback on the last chunk */ |
369 | desc); | 427 | if (desc->mark == DESC_COMPLETED && tx->callback) { |
428 | desc->mark = DESC_WAITING; | ||
429 | callback = tx->callback; | ||
430 | param = tx->callback_param; | ||
431 | dev_dbg(sh_chan->dev, "descriptor #%d@%p on %d callback\n", | ||
432 | tx->cookie, tx, sh_chan->id); | ||
433 | BUG_ON(desc->chunks != 1); | ||
434 | break; | ||
435 | } | ||
370 | 436 | ||
371 | list_move(&desc->node, &sh_chan->ld_free); | 437 | if (tx->cookie > 0 || tx->cookie == -EBUSY) { |
372 | /* Run the link descriptor callback function */ | 438 | if (desc->mark == DESC_COMPLETED) { |
373 | if (callback) { | 439 | BUG_ON(tx->cookie < 0); |
374 | spin_unlock_bh(&sh_chan->desc_lock); | 440 | desc->mark = DESC_WAITING; |
375 | dev_dbg(sh_chan->dev, "link descriptor %p callback\n", | 441 | } |
376 | desc); | 442 | head_acked = async_tx_test_ack(tx); |
377 | callback(callback_param); | 443 | } else { |
378 | spin_lock_bh(&sh_chan->desc_lock); | 444 | switch (desc->mark) { |
445 | case DESC_COMPLETED: | ||
446 | desc->mark = DESC_WAITING; | ||
447 | /* Fall through */ | ||
448 | case DESC_WAITING: | ||
449 | if (head_acked) | ||
450 | async_tx_ack(&desc->async_tx); | ||
451 | } | ||
452 | } | ||
453 | |||
454 | dev_dbg(sh_chan->dev, "descriptor %p #%d completed.\n", | ||
455 | tx, tx->cookie); | ||
456 | |||
457 | if (((desc->mark == DESC_COMPLETED || | ||
458 | desc->mark == DESC_WAITING) && | ||
459 | async_tx_test_ack(&desc->async_tx)) || all) { | ||
460 | /* Remove from ld_queue list */ | ||
461 | desc->mark = DESC_IDLE; | ||
462 | list_move(&desc->node, &sh_chan->ld_free); | ||
379 | } | 463 | } |
380 | } | 464 | } |
381 | spin_unlock_bh(&sh_chan->desc_lock); | 465 | spin_unlock_bh(&sh_chan->desc_lock); |
466 | |||
467 | if (callback) | ||
468 | callback(param); | ||
469 | |||
470 | return callback; | ||
471 | } | ||
472 | |||
473 | /* | ||
474 | * sh_chan_ld_cleanup - Clean up link descriptors | ||
475 | * | ||
476 | * This function cleans up the ld_queue of DMA channel. | ||
477 | */ | ||
478 | static void sh_dmae_chan_ld_cleanup(struct sh_dmae_chan *sh_chan, bool all) | ||
479 | { | ||
480 | while (__ld_cleanup(sh_chan, all)) | ||
481 | ; | ||
382 | } | 482 | } |
383 | 483 | ||
384 | static void sh_chan_xfer_ld_queue(struct sh_dmae_chan *sh_chan) | 484 | static void sh_chan_xfer_ld_queue(struct sh_dmae_chan *sh_chan) |
385 | { | 485 | { |
386 | struct list_head *ld_node; | 486 | struct sh_desc *sd; |
387 | struct sh_dmae_regs hw; | ||
388 | 487 | ||
488 | spin_lock_bh(&sh_chan->desc_lock); | ||
389 | /* DMA work check */ | 489 | /* DMA work check */ |
390 | if (dmae_is_busy(sh_chan)) | 490 | if (dmae_is_busy(sh_chan)) { |
491 | spin_unlock_bh(&sh_chan->desc_lock); | ||
391 | return; | 492 | return; |
493 | } | ||
392 | 494 | ||
393 | /* Find the first un-transfer desciptor */ | 495 | /* Find the first un-transfer desciptor */ |
394 | for (ld_node = sh_chan->ld_queue.next; | 496 | list_for_each_entry(sd, &sh_chan->ld_queue, node) |
395 | (ld_node != &sh_chan->ld_queue) | 497 | if (sd->mark == DESC_SUBMITTED) { |
396 | && (to_sh_desc(ld_node)->mark == DESC_COMP); | 498 | /* Get the ld start address from ld_queue */ |
397 | ld_node = ld_node->next) | 499 | dmae_set_reg(sh_chan, &sd->hw); |
398 | cpu_relax(); | 500 | dmae_start(sh_chan); |
399 | 501 | break; | |
400 | if (ld_node != &sh_chan->ld_queue) { | 502 | } |
401 | /* Get the ld start address from ld_queue */ | 503 | |
402 | hw = to_sh_desc(ld_node)->hw; | 504 | spin_unlock_bh(&sh_chan->desc_lock); |
403 | dmae_set_reg(sh_chan, hw); | ||
404 | dmae_start(sh_chan); | ||
405 | } | ||
406 | } | 505 | } |
407 | 506 | ||
408 | static void sh_dmae_memcpy_issue_pending(struct dma_chan *chan) | 507 | static void sh_dmae_memcpy_issue_pending(struct dma_chan *chan) |
@@ -420,12 +519,11 @@ static enum dma_status sh_dmae_is_complete(struct dma_chan *chan, | |||
420 | dma_cookie_t last_used; | 519 | dma_cookie_t last_used; |
421 | dma_cookie_t last_complete; | 520 | dma_cookie_t last_complete; |
422 | 521 | ||
423 | sh_dmae_chan_ld_cleanup(sh_chan); | 522 | sh_dmae_chan_ld_cleanup(sh_chan, false); |
424 | 523 | ||
425 | last_used = chan->cookie; | 524 | last_used = chan->cookie; |
426 | last_complete = sh_chan->completed_cookie; | 525 | last_complete = sh_chan->completed_cookie; |
427 | if (last_complete == -EBUSY) | 526 | BUG_ON(last_complete < 0); |
428 | last_complete = last_used; | ||
429 | 527 | ||
430 | if (done) | 528 | if (done) |
431 | *done = last_complete; | 529 | *done = last_complete; |
@@ -480,11 +578,13 @@ static irqreturn_t sh_dmae_err(int irq, void *data) | |||
480 | err = sh_dmae_rst(0); | 578 | err = sh_dmae_rst(0); |
481 | if (err) | 579 | if (err) |
482 | return err; | 580 | return err; |
581 | #ifdef SH_DMAC_BASE1 | ||
483 | if (shdev->pdata.mode & SHDMA_DMAOR1) { | 582 | if (shdev->pdata.mode & SHDMA_DMAOR1) { |
484 | err = sh_dmae_rst(1); | 583 | err = sh_dmae_rst(1); |
485 | if (err) | 584 | if (err) |
486 | return err; | 585 | return err; |
487 | } | 586 | } |
587 | #endif | ||
488 | disable_irq(irq); | 588 | disable_irq(irq); |
489 | return IRQ_HANDLED; | 589 | return IRQ_HANDLED; |
490 | } | 590 | } |
@@ -494,35 +594,25 @@ static irqreturn_t sh_dmae_err(int irq, void *data) | |||
494 | static void dmae_do_tasklet(unsigned long data) | 594 | static void dmae_do_tasklet(unsigned long data) |
495 | { | 595 | { |
496 | struct sh_dmae_chan *sh_chan = (struct sh_dmae_chan *)data; | 596 | struct sh_dmae_chan *sh_chan = (struct sh_dmae_chan *)data; |
497 | struct sh_desc *desc, *_desc, *cur_desc = NULL; | 597 | struct sh_desc *desc; |
498 | u32 sar_buf = sh_dmae_readl(sh_chan, SAR); | 598 | u32 sar_buf = sh_dmae_readl(sh_chan, SAR); |
499 | 599 | ||
500 | list_for_each_entry_safe(desc, _desc, | 600 | spin_lock(&sh_chan->desc_lock); |
501 | &sh_chan->ld_queue, node) { | 601 | list_for_each_entry(desc, &sh_chan->ld_queue, node) { |
502 | if ((desc->hw.sar + desc->hw.tcr) == sar_buf) { | 602 | if ((desc->hw.sar + desc->hw.tcr) == sar_buf && |
503 | cur_desc = desc; | 603 | desc->mark == DESC_SUBMITTED) { |
604 | dev_dbg(sh_chan->dev, "done #%d@%p dst %u\n", | ||
605 | desc->async_tx.cookie, &desc->async_tx, | ||
606 | desc->hw.dar); | ||
607 | desc->mark = DESC_COMPLETED; | ||
504 | break; | 608 | break; |
505 | } | 609 | } |
506 | } | 610 | } |
611 | spin_unlock(&sh_chan->desc_lock); | ||
507 | 612 | ||
508 | if (cur_desc) { | ||
509 | switch (cur_desc->async_tx.cookie) { | ||
510 | case 0: /* other desc data */ | ||
511 | break; | ||
512 | case -EBUSY: /* last desc */ | ||
513 | sh_chan->completed_cookie = | ||
514 | cur_desc->async_tx.cookie; | ||
515 | break; | ||
516 | default: /* first desc ( 0 < )*/ | ||
517 | sh_chan->completed_cookie = | ||
518 | cur_desc->async_tx.cookie - 1; | ||
519 | break; | ||
520 | } | ||
521 | cur_desc->mark = DESC_COMP; | ||
522 | } | ||
523 | /* Next desc */ | 613 | /* Next desc */ |
524 | sh_chan_xfer_ld_queue(sh_chan); | 614 | sh_chan_xfer_ld_queue(sh_chan); |
525 | sh_dmae_chan_ld_cleanup(sh_chan); | 615 | sh_dmae_chan_ld_cleanup(sh_chan, false); |
526 | } | 616 | } |
527 | 617 | ||
528 | static unsigned int get_dmae_irq(unsigned int id) | 618 | static unsigned int get_dmae_irq(unsigned int id) |
diff --git a/drivers/dma/shdma.h b/drivers/dma/shdma.h index 60b81e529b42..108f1cffb6f5 100644 --- a/drivers/dma/shdma.h +++ b/drivers/dma/shdma.h | |||
@@ -13,9 +13,9 @@ | |||
13 | #ifndef __DMA_SHDMA_H | 13 | #ifndef __DMA_SHDMA_H |
14 | #define __DMA_SHDMA_H | 14 | #define __DMA_SHDMA_H |
15 | 15 | ||
16 | #include <linux/device.h> | ||
17 | #include <linux/dmapool.h> | ||
18 | #include <linux/dmaengine.h> | 16 | #include <linux/dmaengine.h> |
17 | #include <linux/interrupt.h> | ||
18 | #include <linux/list.h> | ||
19 | 19 | ||
20 | #define SH_DMA_TCR_MAX 0x00FFFFFF /* 16MB */ | 20 | #define SH_DMA_TCR_MAX 0x00FFFFFF /* 16MB */ |
21 | 21 | ||
@@ -26,13 +26,16 @@ struct sh_dmae_regs { | |||
26 | }; | 26 | }; |
27 | 27 | ||
28 | struct sh_desc { | 28 | struct sh_desc { |
29 | struct list_head tx_list; | ||
30 | struct sh_dmae_regs hw; | 29 | struct sh_dmae_regs hw; |
31 | struct list_head node; | 30 | struct list_head node; |
32 | struct dma_async_tx_descriptor async_tx; | 31 | struct dma_async_tx_descriptor async_tx; |
32 | dma_cookie_t cookie; | ||
33 | int chunks; | ||
33 | int mark; | 34 | int mark; |
34 | }; | 35 | }; |
35 | 36 | ||
37 | struct device; | ||
38 | |||
36 | struct sh_dmae_chan { | 39 | struct sh_dmae_chan { |
37 | dma_cookie_t completed_cookie; /* The maximum cookie completed */ | 40 | dma_cookie_t completed_cookie; /* The maximum cookie completed */ |
38 | spinlock_t desc_lock; /* Descriptor operation lock */ | 41 | spinlock_t desc_lock; /* Descriptor operation lock */ |
diff --git a/drivers/firewire/Kconfig b/drivers/firewire/Kconfig index 13efcd362072..a9371b36a9b9 100644 --- a/drivers/firewire/Kconfig +++ b/drivers/firewire/Kconfig | |||
@@ -1,5 +1,10 @@ | |||
1 | menu "IEEE 1394 (FireWire) support" | ||
2 | depends on PCI || BROKEN | ||
3 | # firewire-core does not depend on PCI but is | ||
4 | # not useful without PCI controller driver | ||
5 | |||
1 | comment "You can enable one or both FireWire driver stacks." | 6 | comment "You can enable one or both FireWire driver stacks." |
2 | comment "See the help texts for more information." | 7 | comment "The newer stack is recommended." |
3 | 8 | ||
4 | config FIREWIRE | 9 | config FIREWIRE |
5 | tristate "FireWire driver stack" | 10 | tristate "FireWire driver stack" |
@@ -15,16 +20,6 @@ config FIREWIRE | |||
15 | To compile this driver as a module, say M here: the module will be | 20 | To compile this driver as a module, say M here: the module will be |
16 | called firewire-core. | 21 | called firewire-core. |
17 | 22 | ||
18 | This module functionally replaces ieee1394, raw1394, and video1394. | ||
19 | To access it from application programs, you generally need at least | ||
20 | libraw1394 v2. IIDC/DCAM applications need libdc1394 v2. | ||
21 | No libraries are required to access storage devices through the | ||
22 | firewire-sbp2 driver. | ||
23 | |||
24 | NOTE: | ||
25 | FireWire audio devices currently require the old drivers (ieee1394, | ||
26 | ohci1394, raw1394). | ||
27 | |||
28 | config FIREWIRE_OHCI | 23 | config FIREWIRE_OHCI |
29 | tristate "OHCI-1394 controllers" | 24 | tristate "OHCI-1394 controllers" |
30 | depends on PCI && FIREWIRE | 25 | depends on PCI && FIREWIRE |
@@ -34,22 +29,7 @@ config FIREWIRE_OHCI | |||
34 | is the only chipset in use, so say Y here. | 29 | is the only chipset in use, so say Y here. |
35 | 30 | ||
36 | To compile this driver as a module, say M here: The module will be | 31 | To compile this driver as a module, say M here: The module will be |
37 | called firewire-ohci. It replaces ohci1394 of the classic IEEE 1394 | 32 | called firewire-ohci. |
38 | stack. | ||
39 | |||
40 | NOTE: | ||
41 | If you want to install firewire-ohci and ohci1394 together, you | ||
42 | should configure them only as modules and blacklist the driver(s) | ||
43 | which you don't want to have auto-loaded. Add either | ||
44 | |||
45 | blacklist firewire-ohci | ||
46 | or | ||
47 | blacklist ohci1394 | ||
48 | blacklist video1394 | ||
49 | blacklist dv1394 | ||
50 | |||
51 | to /etc/modprobe.conf or /etc/modprobe.d/* and update modprobe.conf | ||
52 | depending on your distribution. | ||
53 | 33 | ||
54 | config FIREWIRE_OHCI_DEBUG | 34 | config FIREWIRE_OHCI_DEBUG |
55 | bool | 35 | bool |
@@ -66,8 +46,7 @@ config FIREWIRE_SBP2 | |||
66 | like scanners. | 46 | like scanners. |
67 | 47 | ||
68 | To compile this driver as a module, say M here: The module will be | 48 | To compile this driver as a module, say M here: The module will be |
69 | called firewire-sbp2. It replaces sbp2 of the classic IEEE 1394 | 49 | called firewire-sbp2. |
70 | stack. | ||
71 | 50 | ||
72 | You should also enable support for disks, CD-ROMs, etc. in the SCSI | 51 | You should also enable support for disks, CD-ROMs, etc. in the SCSI |
73 | configuration section. | 52 | configuration section. |
@@ -83,5 +62,8 @@ config FIREWIRE_NET | |||
83 | NOTE, this driver is not stable yet! | 62 | NOTE, this driver is not stable yet! |
84 | 63 | ||
85 | To compile this driver as a module, say M here: The module will be | 64 | To compile this driver as a module, say M here: The module will be |
86 | called firewire-net. It replaces eth1394 of the classic IEEE 1394 | 65 | called firewire-net. |
87 | stack. | 66 | |
67 | source "drivers/ieee1394/Kconfig" | ||
68 | |||
69 | endmenu | ||
diff --git a/drivers/firewire/core-cdev.c b/drivers/firewire/core-cdev.c index 231e6ee5ba43..e6d63849e78e 100644 --- a/drivers/firewire/core-cdev.c +++ b/drivers/firewire/core-cdev.c | |||
@@ -601,8 +601,9 @@ static void release_request(struct client *client, | |||
601 | struct inbound_transaction_resource *r = container_of(resource, | 601 | struct inbound_transaction_resource *r = container_of(resource, |
602 | struct inbound_transaction_resource, resource); | 602 | struct inbound_transaction_resource, resource); |
603 | 603 | ||
604 | fw_send_response(client->device->card, r->request, | 604 | if (r->request) |
605 | RCODE_CONFLICT_ERROR); | 605 | fw_send_response(client->device->card, r->request, |
606 | RCODE_CONFLICT_ERROR); | ||
606 | kfree(r); | 607 | kfree(r); |
607 | } | 608 | } |
608 | 609 | ||
@@ -645,7 +646,8 @@ static void handle_request(struct fw_card *card, struct fw_request *request, | |||
645 | failed: | 646 | failed: |
646 | kfree(r); | 647 | kfree(r); |
647 | kfree(e); | 648 | kfree(e); |
648 | fw_send_response(card, request, RCODE_CONFLICT_ERROR); | 649 | if (request) |
650 | fw_send_response(card, request, RCODE_CONFLICT_ERROR); | ||
649 | } | 651 | } |
650 | 652 | ||
651 | static void release_address_handler(struct client *client, | 653 | static void release_address_handler(struct client *client, |
@@ -715,15 +717,18 @@ static int ioctl_send_response(struct client *client, void *buffer) | |||
715 | 717 | ||
716 | r = container_of(resource, struct inbound_transaction_resource, | 718 | r = container_of(resource, struct inbound_transaction_resource, |
717 | resource); | 719 | resource); |
718 | if (request->length < r->length) | 720 | if (r->request) { |
719 | r->length = request->length; | 721 | if (request->length < r->length) |
720 | 722 | r->length = request->length; | |
721 | if (copy_from_user(r->data, u64_to_uptr(request->data), r->length)) { | 723 | if (copy_from_user(r->data, u64_to_uptr(request->data), |
722 | ret = -EFAULT; | 724 | r->length)) { |
723 | goto out; | 725 | ret = -EFAULT; |
726 | kfree(r->request); | ||
727 | goto out; | ||
728 | } | ||
729 | fw_send_response(client->device->card, r->request, | ||
730 | request->rcode); | ||
724 | } | 731 | } |
725 | |||
726 | fw_send_response(client->device->card, r->request, request->rcode); | ||
727 | out: | 732 | out: |
728 | kfree(r); | 733 | kfree(r); |
729 | 734 | ||
diff --git a/drivers/firewire/core-transaction.c b/drivers/firewire/core-transaction.c index 842739df23e2..495849eb13cc 100644 --- a/drivers/firewire/core-transaction.c +++ b/drivers/firewire/core-transaction.c | |||
@@ -432,14 +432,20 @@ static struct fw_address_handler *lookup_overlapping_address_handler( | |||
432 | return NULL; | 432 | return NULL; |
433 | } | 433 | } |
434 | 434 | ||
435 | static bool is_enclosing_handler(struct fw_address_handler *handler, | ||
436 | unsigned long long offset, size_t length) | ||
437 | { | ||
438 | return handler->offset <= offset && | ||
439 | offset + length <= handler->offset + handler->length; | ||
440 | } | ||
441 | |||
435 | static struct fw_address_handler *lookup_enclosing_address_handler( | 442 | static struct fw_address_handler *lookup_enclosing_address_handler( |
436 | struct list_head *list, unsigned long long offset, size_t length) | 443 | struct list_head *list, unsigned long long offset, size_t length) |
437 | { | 444 | { |
438 | struct fw_address_handler *handler; | 445 | struct fw_address_handler *handler; |
439 | 446 | ||
440 | list_for_each_entry(handler, list, link) { | 447 | list_for_each_entry(handler, list, link) { |
441 | if (handler->offset <= offset && | 448 | if (is_enclosing_handler(handler, offset, length)) |
442 | offset + length <= handler->offset + handler->length) | ||
443 | return handler; | 449 | return handler; |
444 | } | 450 | } |
445 | 451 | ||
@@ -465,6 +471,12 @@ const struct fw_address_region fw_unit_space_region = | |||
465 | { .start = 0xfffff0000900ULL, .end = 0x1000000000000ULL, }; | 471 | { .start = 0xfffff0000900ULL, .end = 0x1000000000000ULL, }; |
466 | #endif /* 0 */ | 472 | #endif /* 0 */ |
467 | 473 | ||
474 | static bool is_in_fcp_region(u64 offset, size_t length) | ||
475 | { | ||
476 | return offset >= (CSR_REGISTER_BASE | CSR_FCP_COMMAND) && | ||
477 | offset + length <= (CSR_REGISTER_BASE | CSR_FCP_END); | ||
478 | } | ||
479 | |||
468 | /** | 480 | /** |
469 | * fw_core_add_address_handler - register for incoming requests | 481 | * fw_core_add_address_handler - register for incoming requests |
470 | * @handler: callback | 482 | * @handler: callback |
@@ -477,8 +489,11 @@ const struct fw_address_region fw_unit_space_region = | |||
477 | * give the details of the particular request. | 489 | * give the details of the particular request. |
478 | * | 490 | * |
479 | * Return value: 0 on success, non-zero otherwise. | 491 | * Return value: 0 on success, non-zero otherwise. |
492 | * | ||
480 | * The start offset of the handler's address region is determined by | 493 | * The start offset of the handler's address region is determined by |
481 | * fw_core_add_address_handler() and is returned in handler->offset. | 494 | * fw_core_add_address_handler() and is returned in handler->offset. |
495 | * | ||
496 | * Address allocations are exclusive, except for the FCP registers. | ||
482 | */ | 497 | */ |
483 | int fw_core_add_address_handler(struct fw_address_handler *handler, | 498 | int fw_core_add_address_handler(struct fw_address_handler *handler, |
484 | const struct fw_address_region *region) | 499 | const struct fw_address_region *region) |
@@ -498,10 +513,12 @@ int fw_core_add_address_handler(struct fw_address_handler *handler, | |||
498 | 513 | ||
499 | handler->offset = region->start; | 514 | handler->offset = region->start; |
500 | while (handler->offset + handler->length <= region->end) { | 515 | while (handler->offset + handler->length <= region->end) { |
501 | other = | 516 | if (is_in_fcp_region(handler->offset, handler->length)) |
502 | lookup_overlapping_address_handler(&address_handler_list, | 517 | other = NULL; |
503 | handler->offset, | 518 | else |
504 | handler->length); | 519 | other = lookup_overlapping_address_handler |
520 | (&address_handler_list, | ||
521 | handler->offset, handler->length); | ||
505 | if (other != NULL) { | 522 | if (other != NULL) { |
506 | handler->offset += other->length; | 523 | handler->offset += other->length; |
507 | } else { | 524 | } else { |
@@ -668,6 +685,9 @@ static struct fw_request *allocate_request(struct fw_packet *p) | |||
668 | void fw_send_response(struct fw_card *card, | 685 | void fw_send_response(struct fw_card *card, |
669 | struct fw_request *request, int rcode) | 686 | struct fw_request *request, int rcode) |
670 | { | 687 | { |
688 | if (WARN_ONCE(!request, "invalid for FCP address handlers")) | ||
689 | return; | ||
690 | |||
671 | /* unified transaction or broadcast transaction: don't respond */ | 691 | /* unified transaction or broadcast transaction: don't respond */ |
672 | if (request->ack != ACK_PENDING || | 692 | if (request->ack != ACK_PENDING || |
673 | HEADER_DESTINATION_IS_BROADCAST(request->request_header[0])) { | 693 | HEADER_DESTINATION_IS_BROADCAST(request->request_header[0])) { |
@@ -686,26 +706,15 @@ void fw_send_response(struct fw_card *card, | |||
686 | } | 706 | } |
687 | EXPORT_SYMBOL(fw_send_response); | 707 | EXPORT_SYMBOL(fw_send_response); |
688 | 708 | ||
689 | void fw_core_handle_request(struct fw_card *card, struct fw_packet *p) | 709 | static void handle_exclusive_region_request(struct fw_card *card, |
710 | struct fw_packet *p, | ||
711 | struct fw_request *request, | ||
712 | unsigned long long offset) | ||
690 | { | 713 | { |
691 | struct fw_address_handler *handler; | 714 | struct fw_address_handler *handler; |
692 | struct fw_request *request; | ||
693 | unsigned long long offset; | ||
694 | unsigned long flags; | 715 | unsigned long flags; |
695 | int tcode, destination, source; | 716 | int tcode, destination, source; |
696 | 717 | ||
697 | if (p->ack != ACK_PENDING && p->ack != ACK_COMPLETE) | ||
698 | return; | ||
699 | |||
700 | request = allocate_request(p); | ||
701 | if (request == NULL) { | ||
702 | /* FIXME: send statically allocated busy packet. */ | ||
703 | return; | ||
704 | } | ||
705 | |||
706 | offset = | ||
707 | ((unsigned long long) | ||
708 | HEADER_GET_OFFSET_HIGH(p->header[1]) << 32) | p->header[2]; | ||
709 | tcode = HEADER_GET_TCODE(p->header[0]); | 718 | tcode = HEADER_GET_TCODE(p->header[0]); |
710 | destination = HEADER_GET_DESTINATION(p->header[0]); | 719 | destination = HEADER_GET_DESTINATION(p->header[0]); |
711 | source = HEADER_GET_SOURCE(p->header[1]); | 720 | source = HEADER_GET_SOURCE(p->header[1]); |
@@ -732,6 +741,73 @@ void fw_core_handle_request(struct fw_card *card, struct fw_packet *p) | |||
732 | request->data, request->length, | 741 | request->data, request->length, |
733 | handler->callback_data); | 742 | handler->callback_data); |
734 | } | 743 | } |
744 | |||
745 | static void handle_fcp_region_request(struct fw_card *card, | ||
746 | struct fw_packet *p, | ||
747 | struct fw_request *request, | ||
748 | unsigned long long offset) | ||
749 | { | ||
750 | struct fw_address_handler *handler; | ||
751 | unsigned long flags; | ||
752 | int tcode, destination, source; | ||
753 | |||
754 | if ((offset != (CSR_REGISTER_BASE | CSR_FCP_COMMAND) && | ||
755 | offset != (CSR_REGISTER_BASE | CSR_FCP_RESPONSE)) || | ||
756 | request->length > 0x200) { | ||
757 | fw_send_response(card, request, RCODE_ADDRESS_ERROR); | ||
758 | |||
759 | return; | ||
760 | } | ||
761 | |||
762 | tcode = HEADER_GET_TCODE(p->header[0]); | ||
763 | destination = HEADER_GET_DESTINATION(p->header[0]); | ||
764 | source = HEADER_GET_SOURCE(p->header[1]); | ||
765 | |||
766 | if (tcode != TCODE_WRITE_QUADLET_REQUEST && | ||
767 | tcode != TCODE_WRITE_BLOCK_REQUEST) { | ||
768 | fw_send_response(card, request, RCODE_TYPE_ERROR); | ||
769 | |||
770 | return; | ||
771 | } | ||
772 | |||
773 | spin_lock_irqsave(&address_handler_lock, flags); | ||
774 | list_for_each_entry(handler, &address_handler_list, link) { | ||
775 | if (is_enclosing_handler(handler, offset, request->length)) | ||
776 | handler->address_callback(card, NULL, tcode, | ||
777 | destination, source, | ||
778 | p->generation, p->speed, | ||
779 | offset, request->data, | ||
780 | request->length, | ||
781 | handler->callback_data); | ||
782 | } | ||
783 | spin_unlock_irqrestore(&address_handler_lock, flags); | ||
784 | |||
785 | fw_send_response(card, request, RCODE_COMPLETE); | ||
786 | } | ||
787 | |||
788 | void fw_core_handle_request(struct fw_card *card, struct fw_packet *p) | ||
789 | { | ||
790 | struct fw_request *request; | ||
791 | unsigned long long offset; | ||
792 | |||
793 | if (p->ack != ACK_PENDING && p->ack != ACK_COMPLETE) | ||
794 | return; | ||
795 | |||
796 | request = allocate_request(p); | ||
797 | if (request == NULL) { | ||
798 | /* FIXME: send statically allocated busy packet. */ | ||
799 | return; | ||
800 | } | ||
801 | |||
802 | offset = ((u64)HEADER_GET_OFFSET_HIGH(p->header[1]) << 32) | | ||
803 | p->header[2]; | ||
804 | |||
805 | if (!is_in_fcp_region(offset, request->length)) | ||
806 | handle_exclusive_region_request(card, p, request, offset); | ||
807 | else | ||
808 | handle_fcp_region_request(card, p, request, offset); | ||
809 | |||
810 | } | ||
735 | EXPORT_SYMBOL(fw_core_handle_request); | 811 | EXPORT_SYMBOL(fw_core_handle_request); |
736 | 812 | ||
737 | void fw_core_handle_response(struct fw_card *card, struct fw_packet *p) | 813 | void fw_core_handle_response(struct fw_card *card, struct fw_packet *p) |
diff --git a/drivers/firewire/ohci.c b/drivers/firewire/ohci.c index 96768e160866..a61571c63c59 100644 --- a/drivers/firewire/ohci.c +++ b/drivers/firewire/ohci.c | |||
@@ -2226,7 +2226,6 @@ static int ohci_queue_iso_receive_dualbuffer(struct fw_iso_context *base, | |||
2226 | if (rest == 0) | 2226 | if (rest == 0) |
2227 | return -EINVAL; | 2227 | return -EINVAL; |
2228 | 2228 | ||
2229 | /* FIXME: make packet-per-buffer/dual-buffer a context option */ | ||
2230 | while (rest > 0) { | 2229 | while (rest > 0) { |
2231 | d = context_get_descriptors(&ctx->context, | 2230 | d = context_get_descriptors(&ctx->context, |
2232 | z + header_z, &d_bus); | 2231 | z + header_z, &d_bus); |
@@ -2470,7 +2469,10 @@ static int __devinit pci_probe(struct pci_dev *dev, | |||
2470 | } | 2469 | } |
2471 | 2470 | ||
2472 | version = reg_read(ohci, OHCI1394_Version) & 0x00ff00ff; | 2471 | version = reg_read(ohci, OHCI1394_Version) & 0x00ff00ff; |
2472 | #if 0 | ||
2473 | /* FIXME: make it a context option or remove dual-buffer mode */ | ||
2473 | ohci->use_dualbuffer = version >= OHCI_VERSION_1_1; | 2474 | ohci->use_dualbuffer = version >= OHCI_VERSION_1_1; |
2475 | #endif | ||
2474 | 2476 | ||
2475 | /* dual-buffer mode is broken if more than one IR context is active */ | 2477 | /* dual-buffer mode is broken if more than one IR context is active */ |
2476 | if (dev->vendor == PCI_VENDOR_ID_AGERE && | 2478 | if (dev->vendor == PCI_VENDOR_ID_AGERE && |
diff --git a/drivers/gpu/drm/ati_pcigart.c b/drivers/gpu/drm/ati_pcigart.c index 628eae3e9b83..a1fce68e3bbe 100644 --- a/drivers/gpu/drm/ati_pcigart.c +++ b/drivers/gpu/drm/ati_pcigart.c | |||
@@ -39,8 +39,7 @@ static int drm_ati_alloc_pcigart_table(struct drm_device *dev, | |||
39 | struct drm_ati_pcigart_info *gart_info) | 39 | struct drm_ati_pcigart_info *gart_info) |
40 | { | 40 | { |
41 | gart_info->table_handle = drm_pci_alloc(dev, gart_info->table_size, | 41 | gart_info->table_handle = drm_pci_alloc(dev, gart_info->table_size, |
42 | PAGE_SIZE, | 42 | PAGE_SIZE); |
43 | gart_info->table_mask); | ||
44 | if (gart_info->table_handle == NULL) | 43 | if (gart_info->table_handle == NULL) |
45 | return -ENOMEM; | 44 | return -ENOMEM; |
46 | 45 | ||
@@ -112,6 +111,13 @@ int drm_ati_pcigart_init(struct drm_device *dev, struct drm_ati_pcigart_info *ga | |||
112 | if (gart_info->gart_table_location == DRM_ATI_GART_MAIN) { | 111 | if (gart_info->gart_table_location == DRM_ATI_GART_MAIN) { |
113 | DRM_DEBUG("PCI: no table in VRAM: using normal RAM\n"); | 112 | DRM_DEBUG("PCI: no table in VRAM: using normal RAM\n"); |
114 | 113 | ||
114 | if (pci_set_dma_mask(dev->pdev, gart_info->table_mask)) { | ||
115 | DRM_ERROR("fail to set dma mask to 0x%Lx\n", | ||
116 | gart_info->table_mask); | ||
117 | ret = 1; | ||
118 | goto done; | ||
119 | } | ||
120 | |||
115 | ret = drm_ati_alloc_pcigart_table(dev, gart_info); | 121 | ret = drm_ati_alloc_pcigart_table(dev, gart_info); |
116 | if (ret) { | 122 | if (ret) { |
117 | DRM_ERROR("cannot allocate PCI GART page!\n"); | 123 | DRM_ERROR("cannot allocate PCI GART page!\n"); |
diff --git a/drivers/gpu/drm/drm_bufs.c b/drivers/gpu/drm/drm_bufs.c index 3d09e304f6f4..8417cc4c43f1 100644 --- a/drivers/gpu/drm/drm_bufs.c +++ b/drivers/gpu/drm/drm_bufs.c | |||
@@ -326,7 +326,7 @@ static int drm_addmap_core(struct drm_device * dev, resource_size_t offset, | |||
326 | * As we're limiting the address to 2^32-1 (or less), | 326 | * As we're limiting the address to 2^32-1 (or less), |
327 | * casting it down to 32 bits is no problem, but we | 327 | * casting it down to 32 bits is no problem, but we |
328 | * need to point to a 64bit variable first. */ | 328 | * need to point to a 64bit variable first. */ |
329 | dmah = drm_pci_alloc(dev, map->size, map->size, 0xffffffffUL); | 329 | dmah = drm_pci_alloc(dev, map->size, map->size); |
330 | if (!dmah) { | 330 | if (!dmah) { |
331 | kfree(map); | 331 | kfree(map); |
332 | return -ENOMEM; | 332 | return -ENOMEM; |
@@ -885,7 +885,7 @@ int drm_addbufs_pci(struct drm_device * dev, struct drm_buf_desc * request) | |||
885 | 885 | ||
886 | while (entry->buf_count < count) { | 886 | while (entry->buf_count < count) { |
887 | 887 | ||
888 | dmah = drm_pci_alloc(dev, PAGE_SIZE << page_order, 0x1000, 0xfffffffful); | 888 | dmah = drm_pci_alloc(dev, PAGE_SIZE << page_order, 0x1000); |
889 | 889 | ||
890 | if (!dmah) { | 890 | if (!dmah) { |
891 | /* Set count correctly so we free the proper amount. */ | 891 | /* Set count correctly so we free the proper amount. */ |
diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c index 5c9f79877cbf..defcaf108460 100644 --- a/drivers/gpu/drm/drm_edid.c +++ b/drivers/gpu/drm/drm_edid.c | |||
@@ -911,23 +911,27 @@ static int drm_cvt_modes(struct drm_connector *connector, | |||
911 | struct drm_device *dev = connector->dev; | 911 | struct drm_device *dev = connector->dev; |
912 | struct cvt_timing *cvt; | 912 | struct cvt_timing *cvt; |
913 | const int rates[] = { 60, 85, 75, 60, 50 }; | 913 | const int rates[] = { 60, 85, 75, 60, 50 }; |
914 | const u8 empty[3] = { 0, 0, 0 }; | ||
914 | 915 | ||
915 | for (i = 0; i < 4; i++) { | 916 | for (i = 0; i < 4; i++) { |
916 | int uninitialized_var(width), height; | 917 | int uninitialized_var(width), height; |
917 | cvt = &(timing->data.other_data.data.cvt[i]); | 918 | cvt = &(timing->data.other_data.data.cvt[i]); |
918 | 919 | ||
919 | height = (cvt->code[0] + ((cvt->code[1] & 0xf0) << 8) + 1) * 2; | 920 | if (!memcmp(cvt->code, empty, 3)) |
920 | switch (cvt->code[1] & 0xc0) { | 921 | continue; |
922 | |||
923 | height = (cvt->code[0] + ((cvt->code[1] & 0xf0) << 4) + 1) * 2; | ||
924 | switch (cvt->code[1] & 0x0c) { | ||
921 | case 0x00: | 925 | case 0x00: |
922 | width = height * 4 / 3; | 926 | width = height * 4 / 3; |
923 | break; | 927 | break; |
924 | case 0x40: | 928 | case 0x04: |
925 | width = height * 16 / 9; | 929 | width = height * 16 / 9; |
926 | break; | 930 | break; |
927 | case 0x80: | 931 | case 0x08: |
928 | width = height * 16 / 10; | 932 | width = height * 16 / 10; |
929 | break; | 933 | break; |
930 | case 0xc0: | 934 | case 0x0c: |
931 | width = height * 15 / 9; | 935 | width = height * 15 / 9; |
932 | break; | 936 | break; |
933 | } | 937 | } |
diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c index 1b49fa055f4f..100ee48760b7 100644 --- a/drivers/gpu/drm/drm_fb_helper.c +++ b/drivers/gpu/drm/drm_fb_helper.c | |||
@@ -156,7 +156,7 @@ static bool drm_fb_helper_connector_parse_command_line(struct drm_connector *con | |||
156 | force = DRM_FORCE_ON; | 156 | force = DRM_FORCE_ON; |
157 | break; | 157 | break; |
158 | case 'D': | 158 | case 'D': |
159 | if ((connector->connector_type != DRM_MODE_CONNECTOR_DVII) || | 159 | if ((connector->connector_type != DRM_MODE_CONNECTOR_DVII) && |
160 | (connector->connector_type != DRM_MODE_CONNECTOR_HDMIB)) | 160 | (connector->connector_type != DRM_MODE_CONNECTOR_HDMIB)) |
161 | force = DRM_FORCE_ON; | 161 | force = DRM_FORCE_ON; |
162 | else | 162 | else |
diff --git a/drivers/gpu/drm/drm_pci.c b/drivers/gpu/drm/drm_pci.c index 577094fb1995..e68ebf92fa2a 100644 --- a/drivers/gpu/drm/drm_pci.c +++ b/drivers/gpu/drm/drm_pci.c | |||
@@ -47,8 +47,7 @@ | |||
47 | /** | 47 | /** |
48 | * \brief Allocate a PCI consistent memory block, for DMA. | 48 | * \brief Allocate a PCI consistent memory block, for DMA. |
49 | */ | 49 | */ |
50 | drm_dma_handle_t *drm_pci_alloc(struct drm_device * dev, size_t size, size_t align, | 50 | drm_dma_handle_t *drm_pci_alloc(struct drm_device * dev, size_t size, size_t align) |
51 | dma_addr_t maxaddr) | ||
52 | { | 51 | { |
53 | drm_dma_handle_t *dmah; | 52 | drm_dma_handle_t *dmah; |
54 | #if 1 | 53 | #if 1 |
@@ -63,11 +62,6 @@ drm_dma_handle_t *drm_pci_alloc(struct drm_device * dev, size_t size, size_t ali | |||
63 | if (align > size) | 62 | if (align > size) |
64 | return NULL; | 63 | return NULL; |
65 | 64 | ||
66 | if (pci_set_dma_mask(dev->pdev, maxaddr) != 0) { | ||
67 | DRM_ERROR("Setting pci dma mask failed\n"); | ||
68 | return NULL; | ||
69 | } | ||
70 | |||
71 | dmah = kmalloc(sizeof(drm_dma_handle_t), GFP_KERNEL); | 65 | dmah = kmalloc(sizeof(drm_dma_handle_t), GFP_KERNEL); |
72 | if (!dmah) | 66 | if (!dmah) |
73 | return NULL; | 67 | return NULL; |
diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c index 18476bf0b580..9c9998c4dceb 100644 --- a/drivers/gpu/drm/i915/i915_debugfs.c +++ b/drivers/gpu/drm/i915/i915_debugfs.c | |||
@@ -272,7 +272,7 @@ static void i915_dump_pages(struct seq_file *m, struct page **pages, int page_co | |||
272 | mem = kmap_atomic(pages[page], KM_USER0); | 272 | mem = kmap_atomic(pages[page], KM_USER0); |
273 | for (i = 0; i < PAGE_SIZE; i += 4) | 273 | for (i = 0; i < PAGE_SIZE; i += 4) |
274 | seq_printf(m, "%08x : %08x\n", i, mem[i / 4]); | 274 | seq_printf(m, "%08x : %08x\n", i, mem[i / 4]); |
275 | kunmap_atomic(pages[page], KM_USER0); | 275 | kunmap_atomic(mem, KM_USER0); |
276 | } | 276 | } |
277 | } | 277 | } |
278 | 278 | ||
@@ -386,34 +386,6 @@ out: | |||
386 | return 0; | 386 | return 0; |
387 | } | 387 | } |
388 | 388 | ||
389 | static int i915_registers_info(struct seq_file *m, void *data) { | ||
390 | struct drm_info_node *node = (struct drm_info_node *) m->private; | ||
391 | struct drm_device *dev = node->minor->dev; | ||
392 | drm_i915_private_t *dev_priv = dev->dev_private; | ||
393 | uint32_t reg; | ||
394 | |||
395 | #define DUMP_RANGE(start, end) \ | ||
396 | for (reg=start; reg < end; reg += 4) \ | ||
397 | seq_printf(m, "%08x\t%08x\n", reg, I915_READ(reg)); | ||
398 | |||
399 | DUMP_RANGE(0x00000, 0x00fff); /* VGA registers */ | ||
400 | DUMP_RANGE(0x02000, 0x02fff); /* instruction, memory, interrupt control registers */ | ||
401 | DUMP_RANGE(0x03000, 0x031ff); /* FENCE and PPGTT control registers */ | ||
402 | DUMP_RANGE(0x03200, 0x03fff); /* frame buffer compression registers */ | ||
403 | DUMP_RANGE(0x05000, 0x05fff); /* I/O control registers */ | ||
404 | DUMP_RANGE(0x06000, 0x06fff); /* clock control registers */ | ||
405 | DUMP_RANGE(0x07000, 0x07fff); /* 3D internal debug registers */ | ||
406 | DUMP_RANGE(0x07400, 0x088ff); /* GPE debug registers */ | ||
407 | DUMP_RANGE(0x0a000, 0x0afff); /* display palette registers */ | ||
408 | DUMP_RANGE(0x10000, 0x13fff); /* MMIO MCHBAR */ | ||
409 | DUMP_RANGE(0x30000, 0x3ffff); /* overlay registers */ | ||
410 | DUMP_RANGE(0x60000, 0x6ffff); /* display engine pipeline registers */ | ||
411 | DUMP_RANGE(0x70000, 0x72fff); /* display and cursor registers */ | ||
412 | DUMP_RANGE(0x73000, 0x73fff); /* performance counters */ | ||
413 | |||
414 | return 0; | ||
415 | } | ||
416 | |||
417 | static int | 389 | static int |
418 | i915_wedged_open(struct inode *inode, | 390 | i915_wedged_open(struct inode *inode, |
419 | struct file *filp) | 391 | struct file *filp) |
@@ -519,7 +491,6 @@ static int i915_wedged_create(struct dentry *root, struct drm_minor *minor) | |||
519 | } | 491 | } |
520 | 492 | ||
521 | static struct drm_info_list i915_debugfs_list[] = { | 493 | static struct drm_info_list i915_debugfs_list[] = { |
522 | {"i915_regs", i915_registers_info, 0}, | ||
523 | {"i915_gem_active", i915_gem_object_list_info, 0, (void *) ACTIVE_LIST}, | 494 | {"i915_gem_active", i915_gem_object_list_info, 0, (void *) ACTIVE_LIST}, |
524 | {"i915_gem_flushing", i915_gem_object_list_info, 0, (void *) FLUSHING_LIST}, | 495 | {"i915_gem_flushing", i915_gem_object_list_info, 0, (void *) FLUSHING_LIST}, |
525 | {"i915_gem_inactive", i915_gem_object_list_info, 0, (void *) INACTIVE_LIST}, | 496 | {"i915_gem_inactive", i915_gem_object_list_info, 0, (void *) INACTIVE_LIST}, |
diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c index 701bfeac7f57..bbe47812e4b6 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c | |||
@@ -123,7 +123,7 @@ static int i915_init_phys_hws(struct drm_device *dev) | |||
123 | drm_i915_private_t *dev_priv = dev->dev_private; | 123 | drm_i915_private_t *dev_priv = dev->dev_private; |
124 | /* Program Hardware Status Page */ | 124 | /* Program Hardware Status Page */ |
125 | dev_priv->status_page_dmah = | 125 | dev_priv->status_page_dmah = |
126 | drm_pci_alloc(dev, PAGE_SIZE, PAGE_SIZE, 0xffffffff); | 126 | drm_pci_alloc(dev, PAGE_SIZE, PAGE_SIZE); |
127 | 127 | ||
128 | if (!dev_priv->status_page_dmah) { | 128 | if (!dev_priv->status_page_dmah) { |
129 | DRM_ERROR("Can not allocate hardware status page\n"); | 129 | DRM_ERROR("Can not allocate hardware status page\n"); |
@@ -813,9 +813,13 @@ static int i915_getparam(struct drm_device *dev, void *data, | |||
813 | case I915_PARAM_HAS_PAGEFLIPPING: | 813 | case I915_PARAM_HAS_PAGEFLIPPING: |
814 | value = 1; | 814 | value = 1; |
815 | break; | 815 | break; |
816 | case I915_PARAM_HAS_EXECBUF2: | ||
817 | /* depends on GEM */ | ||
818 | value = dev_priv->has_gem; | ||
819 | break; | ||
816 | default: | 820 | default: |
817 | DRM_DEBUG_DRIVER("Unknown parameter %d\n", | 821 | DRM_DEBUG_DRIVER("Unknown parameter %d\n", |
818 | param->param); | 822 | param->param); |
819 | return -EINVAL; | 823 | return -EINVAL; |
820 | } | 824 | } |
821 | 825 | ||
@@ -1117,7 +1121,8 @@ static void i915_setup_compression(struct drm_device *dev, int size) | |||
1117 | { | 1121 | { |
1118 | struct drm_i915_private *dev_priv = dev->dev_private; | 1122 | struct drm_i915_private *dev_priv = dev->dev_private; |
1119 | struct drm_mm_node *compressed_fb, *compressed_llb; | 1123 | struct drm_mm_node *compressed_fb, *compressed_llb; |
1120 | unsigned long cfb_base, ll_base; | 1124 | unsigned long cfb_base; |
1125 | unsigned long ll_base = 0; | ||
1121 | 1126 | ||
1122 | /* Leave 1M for line length buffer & misc. */ | 1127 | /* Leave 1M for line length buffer & misc. */ |
1123 | compressed_fb = drm_mm_search_free(&dev_priv->vram, size, 4096, 0); | 1128 | compressed_fb = drm_mm_search_free(&dev_priv->vram, size, 4096, 0); |
@@ -1200,14 +1205,6 @@ static int i915_load_modeset_init(struct drm_device *dev, | |||
1200 | dev->mode_config.fb_base = drm_get_resource_start(dev, fb_bar) & | 1205 | dev->mode_config.fb_base = drm_get_resource_start(dev, fb_bar) & |
1201 | 0xff000000; | 1206 | 0xff000000; |
1202 | 1207 | ||
1203 | if (IS_MOBILE(dev) || IS_I9XX(dev)) | ||
1204 | dev_priv->cursor_needs_physical = true; | ||
1205 | else | ||
1206 | dev_priv->cursor_needs_physical = false; | ||
1207 | |||
1208 | if (IS_I965G(dev) || IS_G33(dev)) | ||
1209 | dev_priv->cursor_needs_physical = false; | ||
1210 | |||
1211 | /* Basic memrange allocator for stolen space (aka vram) */ | 1208 | /* Basic memrange allocator for stolen space (aka vram) */ |
1212 | drm_mm_init(&dev_priv->vram, 0, prealloc_size); | 1209 | drm_mm_init(&dev_priv->vram, 0, prealloc_size); |
1213 | DRM_INFO("set up %ldM of stolen space\n", prealloc_size / (1024*1024)); | 1210 | DRM_INFO("set up %ldM of stolen space\n", prealloc_size / (1024*1024)); |
@@ -1257,6 +1254,8 @@ static int i915_load_modeset_init(struct drm_device *dev, | |||
1257 | if (ret) | 1254 | if (ret) |
1258 | goto destroy_ringbuffer; | 1255 | goto destroy_ringbuffer; |
1259 | 1256 | ||
1257 | intel_modeset_init(dev); | ||
1258 | |||
1260 | ret = drm_irq_install(dev); | 1259 | ret = drm_irq_install(dev); |
1261 | if (ret) | 1260 | if (ret) |
1262 | goto destroy_ringbuffer; | 1261 | goto destroy_ringbuffer; |
@@ -1271,8 +1270,6 @@ static int i915_load_modeset_init(struct drm_device *dev, | |||
1271 | 1270 | ||
1272 | I915_WRITE(INSTPM, (1 << 5) | (1 << 21)); | 1271 | I915_WRITE(INSTPM, (1 << 5) | (1 << 21)); |
1273 | 1272 | ||
1274 | intel_modeset_init(dev); | ||
1275 | |||
1276 | drm_helper_initial_config(dev); | 1273 | drm_helper_initial_config(dev); |
1277 | 1274 | ||
1278 | return 0; | 1275 | return 0; |
@@ -1360,7 +1357,7 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags) | |||
1360 | { | 1357 | { |
1361 | struct drm_i915_private *dev_priv = dev->dev_private; | 1358 | struct drm_i915_private *dev_priv = dev->dev_private; |
1362 | resource_size_t base, size; | 1359 | resource_size_t base, size; |
1363 | int ret = 0, mmio_bar = IS_I9XX(dev) ? 0 : 1; | 1360 | int ret = 0, mmio_bar; |
1364 | uint32_t agp_size, prealloc_size, prealloc_start; | 1361 | uint32_t agp_size, prealloc_size, prealloc_start; |
1365 | 1362 | ||
1366 | /* i915 has 4 more counters */ | 1363 | /* i915 has 4 more counters */ |
@@ -1376,8 +1373,10 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags) | |||
1376 | 1373 | ||
1377 | dev->dev_private = (void *)dev_priv; | 1374 | dev->dev_private = (void *)dev_priv; |
1378 | dev_priv->dev = dev; | 1375 | dev_priv->dev = dev; |
1376 | dev_priv->info = (struct intel_device_info *) flags; | ||
1379 | 1377 | ||
1380 | /* Add register map (needed for suspend/resume) */ | 1378 | /* Add register map (needed for suspend/resume) */ |
1379 | mmio_bar = IS_I9XX(dev) ? 0 : 1; | ||
1381 | base = drm_get_resource_start(dev, mmio_bar); | 1380 | base = drm_get_resource_start(dev, mmio_bar); |
1382 | size = drm_get_resource_len(dev, mmio_bar); | 1381 | size = drm_get_resource_len(dev, mmio_bar); |
1383 | 1382 | ||
@@ -1652,6 +1651,7 @@ struct drm_ioctl_desc i915_ioctls[] = { | |||
1652 | DRM_IOCTL_DEF(DRM_I915_HWS_ADDR, i915_set_status_page, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY), | 1651 | DRM_IOCTL_DEF(DRM_I915_HWS_ADDR, i915_set_status_page, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY), |
1653 | DRM_IOCTL_DEF(DRM_I915_GEM_INIT, i915_gem_init_ioctl, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY), | 1652 | DRM_IOCTL_DEF(DRM_I915_GEM_INIT, i915_gem_init_ioctl, DRM_AUTH|DRM_MASTER|DRM_ROOT_ONLY), |
1654 | DRM_IOCTL_DEF(DRM_I915_GEM_EXECBUFFER, i915_gem_execbuffer, DRM_AUTH), | 1653 | DRM_IOCTL_DEF(DRM_I915_GEM_EXECBUFFER, i915_gem_execbuffer, DRM_AUTH), |
1654 | DRM_IOCTL_DEF(DRM_I915_GEM_EXECBUFFER2, i915_gem_execbuffer2, DRM_AUTH), | ||
1655 | DRM_IOCTL_DEF(DRM_I915_GEM_PIN, i915_gem_pin_ioctl, DRM_AUTH|DRM_ROOT_ONLY), | 1655 | DRM_IOCTL_DEF(DRM_I915_GEM_PIN, i915_gem_pin_ioctl, DRM_AUTH|DRM_ROOT_ONLY), |
1656 | DRM_IOCTL_DEF(DRM_I915_GEM_UNPIN, i915_gem_unpin_ioctl, DRM_AUTH|DRM_ROOT_ONLY), | 1656 | DRM_IOCTL_DEF(DRM_I915_GEM_UNPIN, i915_gem_unpin_ioctl, DRM_AUTH|DRM_ROOT_ONLY), |
1657 | DRM_IOCTL_DEF(DRM_I915_GEM_BUSY, i915_gem_busy_ioctl, DRM_AUTH), | 1657 | DRM_IOCTL_DEF(DRM_I915_GEM_BUSY, i915_gem_busy_ioctl, DRM_AUTH), |
diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c index 24286ca168fc..2ffffd7ae09a 100644 --- a/drivers/gpu/drm/i915/i915_drv.c +++ b/drivers/gpu/drm/i915/i915_drv.c | |||
@@ -33,7 +33,6 @@ | |||
33 | #include "i915_drm.h" | 33 | #include "i915_drm.h" |
34 | #include "i915_drv.h" | 34 | #include "i915_drv.h" |
35 | 35 | ||
36 | #include "drm_pciids.h" | ||
37 | #include <linux/console.h> | 36 | #include <linux/console.h> |
38 | #include "drm_crtc_helper.h" | 37 | #include "drm_crtc_helper.h" |
39 | 38 | ||
@@ -48,8 +47,124 @@ module_param_named(powersave, i915_powersave, int, 0400); | |||
48 | 47 | ||
49 | static struct drm_driver driver; | 48 | static struct drm_driver driver; |
50 | 49 | ||
51 | static struct pci_device_id pciidlist[] = { | 50 | #define INTEL_VGA_DEVICE(id, info) { \ |
52 | i915_PCI_IDS | 51 | .class = PCI_CLASS_DISPLAY_VGA << 8, \ |
52 | .class_mask = 0xffff00, \ | ||
53 | .vendor = 0x8086, \ | ||
54 | .device = id, \ | ||
55 | .subvendor = PCI_ANY_ID, \ | ||
56 | .subdevice = PCI_ANY_ID, \ | ||
57 | .driver_data = (unsigned long) info } | ||
58 | |||
59 | const static struct intel_device_info intel_i830_info = { | ||
60 | .is_i8xx = 1, .is_mobile = 1, .cursor_needs_physical = 1, | ||
61 | }; | ||
62 | |||
63 | const static struct intel_device_info intel_845g_info = { | ||
64 | .is_i8xx = 1, | ||
65 | }; | ||
66 | |||
67 | const static struct intel_device_info intel_i85x_info = { | ||
68 | .is_i8xx = 1, .is_mobile = 1, .cursor_needs_physical = 1, | ||
69 | }; | ||
70 | |||
71 | const static struct intel_device_info intel_i865g_info = { | ||
72 | .is_i8xx = 1, | ||
73 | }; | ||
74 | |||
75 | const static struct intel_device_info intel_i915g_info = { | ||
76 | .is_i915g = 1, .is_i9xx = 1, .cursor_needs_physical = 1, | ||
77 | }; | ||
78 | const static struct intel_device_info intel_i915gm_info = { | ||
79 | .is_i9xx = 1, .is_mobile = 1, .has_fbc = 1, | ||
80 | .cursor_needs_physical = 1, | ||
81 | }; | ||
82 | const static struct intel_device_info intel_i945g_info = { | ||
83 | .is_i9xx = 1, .has_hotplug = 1, .cursor_needs_physical = 1, | ||
84 | }; | ||
85 | const static struct intel_device_info intel_i945gm_info = { | ||
86 | .is_i945gm = 1, .is_i9xx = 1, .is_mobile = 1, .has_fbc = 1, | ||
87 | .has_hotplug = 1, .cursor_needs_physical = 1, | ||
88 | }; | ||
89 | |||
90 | const static struct intel_device_info intel_i965g_info = { | ||
91 | .is_i965g = 1, .is_i9xx = 1, .has_hotplug = 1, | ||
92 | }; | ||
93 | |||
94 | const static struct intel_device_info intel_i965gm_info = { | ||
95 | .is_i965g = 1, .is_mobile = 1, .is_i965gm = 1, .is_i9xx = 1, | ||
96 | .is_mobile = 1, .has_fbc = 1, .has_rc6 = 1, | ||
97 | .has_hotplug = 1, | ||
98 | }; | ||
99 | |||
100 | const static struct intel_device_info intel_g33_info = { | ||
101 | .is_g33 = 1, .is_i9xx = 1, .need_gfx_hws = 1, | ||
102 | .has_hotplug = 1, | ||
103 | }; | ||
104 | |||
105 | const static struct intel_device_info intel_g45_info = { | ||
106 | .is_i965g = 1, .is_g4x = 1, .is_i9xx = 1, .need_gfx_hws = 1, | ||
107 | .has_pipe_cxsr = 1, | ||
108 | .has_hotplug = 1, | ||
109 | }; | ||
110 | |||
111 | const static struct intel_device_info intel_gm45_info = { | ||
112 | .is_i965g = 1, .is_mobile = 1, .is_g4x = 1, .is_i9xx = 1, | ||
113 | .is_mobile = 1, .need_gfx_hws = 1, .has_fbc = 1, .has_rc6 = 1, | ||
114 | .has_pipe_cxsr = 1, | ||
115 | .has_hotplug = 1, | ||
116 | }; | ||
117 | |||
118 | const static struct intel_device_info intel_pineview_info = { | ||
119 | .is_g33 = 1, .is_pineview = 1, .is_mobile = 1, .is_i9xx = 1, | ||
120 | .has_pipe_cxsr = 1, | ||
121 | .has_hotplug = 1, | ||
122 | }; | ||
123 | |||
124 | const static struct intel_device_info intel_ironlake_d_info = { | ||
125 | .is_ironlake = 1, .is_i965g = 1, .is_i9xx = 1, .need_gfx_hws = 1, | ||
126 | .has_pipe_cxsr = 1, | ||
127 | .has_hotplug = 1, | ||
128 | }; | ||
129 | |||
130 | const static struct intel_device_info intel_ironlake_m_info = { | ||
131 | .is_ironlake = 1, .is_mobile = 1, .is_i965g = 1, .is_i9xx = 1, | ||
132 | .need_gfx_hws = 1, .has_rc6 = 1, | ||
133 | .has_hotplug = 1, | ||
134 | }; | ||
135 | |||
136 | const static struct pci_device_id pciidlist[] = { | ||
137 | INTEL_VGA_DEVICE(0x3577, &intel_i830_info), | ||
138 | INTEL_VGA_DEVICE(0x2562, &intel_845g_info), | ||
139 | INTEL_VGA_DEVICE(0x3582, &intel_i85x_info), | ||
140 | INTEL_VGA_DEVICE(0x35e8, &intel_i85x_info), | ||
141 | INTEL_VGA_DEVICE(0x2572, &intel_i865g_info), | ||
142 | INTEL_VGA_DEVICE(0x2582, &intel_i915g_info), | ||
143 | INTEL_VGA_DEVICE(0x258a, &intel_i915g_info), | ||
144 | INTEL_VGA_DEVICE(0x2592, &intel_i915gm_info), | ||
145 | INTEL_VGA_DEVICE(0x2772, &intel_i945g_info), | ||
146 | INTEL_VGA_DEVICE(0x27a2, &intel_i945gm_info), | ||
147 | INTEL_VGA_DEVICE(0x27ae, &intel_i945gm_info), | ||
148 | INTEL_VGA_DEVICE(0x2972, &intel_i965g_info), | ||
149 | INTEL_VGA_DEVICE(0x2982, &intel_i965g_info), | ||
150 | INTEL_VGA_DEVICE(0x2992, &intel_i965g_info), | ||
151 | INTEL_VGA_DEVICE(0x29a2, &intel_i965g_info), | ||
152 | INTEL_VGA_DEVICE(0x29b2, &intel_g33_info), | ||
153 | INTEL_VGA_DEVICE(0x29c2, &intel_g33_info), | ||
154 | INTEL_VGA_DEVICE(0x29d2, &intel_g33_info), | ||
155 | INTEL_VGA_DEVICE(0x2a02, &intel_i965gm_info), | ||
156 | INTEL_VGA_DEVICE(0x2a12, &intel_i965gm_info), | ||
157 | INTEL_VGA_DEVICE(0x2a42, &intel_gm45_info), | ||
158 | INTEL_VGA_DEVICE(0x2e02, &intel_g45_info), | ||
159 | INTEL_VGA_DEVICE(0x2e12, &intel_g45_info), | ||
160 | INTEL_VGA_DEVICE(0x2e22, &intel_g45_info), | ||
161 | INTEL_VGA_DEVICE(0x2e32, &intel_g45_info), | ||
162 | INTEL_VGA_DEVICE(0x2e42, &intel_g45_info), | ||
163 | INTEL_VGA_DEVICE(0xa001, &intel_pineview_info), | ||
164 | INTEL_VGA_DEVICE(0xa011, &intel_pineview_info), | ||
165 | INTEL_VGA_DEVICE(0x0042, &intel_ironlake_d_info), | ||
166 | INTEL_VGA_DEVICE(0x0046, &intel_ironlake_m_info), | ||
167 | {0, 0, 0} | ||
53 | }; | 168 | }; |
54 | 169 | ||
55 | #if defined(CONFIG_DRM_I915_KMS) | 170 | #if defined(CONFIG_DRM_I915_KMS) |
@@ -284,6 +399,52 @@ i915_pci_resume(struct pci_dev *pdev) | |||
284 | return i915_resume(dev); | 399 | return i915_resume(dev); |
285 | } | 400 | } |
286 | 401 | ||
402 | static int | ||
403 | i915_pm_suspend(struct device *dev) | ||
404 | { | ||
405 | return i915_pci_suspend(to_pci_dev(dev), PMSG_SUSPEND); | ||
406 | } | ||
407 | |||
408 | static int | ||
409 | i915_pm_resume(struct device *dev) | ||
410 | { | ||
411 | return i915_pci_resume(to_pci_dev(dev)); | ||
412 | } | ||
413 | |||
414 | static int | ||
415 | i915_pm_freeze(struct device *dev) | ||
416 | { | ||
417 | return i915_pci_suspend(to_pci_dev(dev), PMSG_FREEZE); | ||
418 | } | ||
419 | |||
420 | static int | ||
421 | i915_pm_thaw(struct device *dev) | ||
422 | { | ||
423 | /* thaw during hibernate, do nothing! */ | ||
424 | return 0; | ||
425 | } | ||
426 | |||
427 | static int | ||
428 | i915_pm_poweroff(struct device *dev) | ||
429 | { | ||
430 | return i915_pci_suspend(to_pci_dev(dev), PMSG_HIBERNATE); | ||
431 | } | ||
432 | |||
433 | static int | ||
434 | i915_pm_restore(struct device *dev) | ||
435 | { | ||
436 | return i915_pci_resume(to_pci_dev(dev)); | ||
437 | } | ||
438 | |||
439 | const struct dev_pm_ops i915_pm_ops = { | ||
440 | .suspend = i915_pm_suspend, | ||
441 | .resume = i915_pm_resume, | ||
442 | .freeze = i915_pm_freeze, | ||
443 | .thaw = i915_pm_thaw, | ||
444 | .poweroff = i915_pm_poweroff, | ||
445 | .restore = i915_pm_restore, | ||
446 | }; | ||
447 | |||
287 | static struct vm_operations_struct i915_gem_vm_ops = { | 448 | static struct vm_operations_struct i915_gem_vm_ops = { |
288 | .fault = i915_gem_fault, | 449 | .fault = i915_gem_fault, |
289 | .open = drm_gem_vm_open, | 450 | .open = drm_gem_vm_open, |
@@ -303,8 +464,6 @@ static struct drm_driver driver = { | |||
303 | .lastclose = i915_driver_lastclose, | 464 | .lastclose = i915_driver_lastclose, |
304 | .preclose = i915_driver_preclose, | 465 | .preclose = i915_driver_preclose, |
305 | .postclose = i915_driver_postclose, | 466 | .postclose = i915_driver_postclose, |
306 | .suspend = i915_suspend, | ||
307 | .resume = i915_resume, | ||
308 | .device_is_agp = i915_driver_device_is_agp, | 467 | .device_is_agp = i915_driver_device_is_agp, |
309 | .enable_vblank = i915_enable_vblank, | 468 | .enable_vblank = i915_enable_vblank, |
310 | .disable_vblank = i915_disable_vblank, | 469 | .disable_vblank = i915_disable_vblank, |
@@ -344,10 +503,7 @@ static struct drm_driver driver = { | |||
344 | .id_table = pciidlist, | 503 | .id_table = pciidlist, |
345 | .probe = i915_pci_probe, | 504 | .probe = i915_pci_probe, |
346 | .remove = i915_pci_remove, | 505 | .remove = i915_pci_remove, |
347 | #ifdef CONFIG_PM | 506 | .driver.pm = &i915_pm_ops, |
348 | .resume = i915_pci_resume, | ||
349 | .suspend = i915_pci_suspend, | ||
350 | #endif | ||
351 | }, | 507 | }, |
352 | 508 | ||
353 | .name = DRIVER_NAME, | 509 | .name = DRIVER_NAME, |
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h index fbecac72f5bb..29dd67626967 100644 --- a/drivers/gpu/drm/i915/i915_drv.h +++ b/drivers/gpu/drm/i915/i915_drv.h | |||
@@ -172,9 +172,31 @@ struct drm_i915_display_funcs { | |||
172 | 172 | ||
173 | struct intel_overlay; | 173 | struct intel_overlay; |
174 | 174 | ||
175 | struct intel_device_info { | ||
176 | u8 is_mobile : 1; | ||
177 | u8 is_i8xx : 1; | ||
178 | u8 is_i915g : 1; | ||
179 | u8 is_i9xx : 1; | ||
180 | u8 is_i945gm : 1; | ||
181 | u8 is_i965g : 1; | ||
182 | u8 is_i965gm : 1; | ||
183 | u8 is_g33 : 1; | ||
184 | u8 need_gfx_hws : 1; | ||
185 | u8 is_g4x : 1; | ||
186 | u8 is_pineview : 1; | ||
187 | u8 is_ironlake : 1; | ||
188 | u8 has_fbc : 1; | ||
189 | u8 has_rc6 : 1; | ||
190 | u8 has_pipe_cxsr : 1; | ||
191 | u8 has_hotplug : 1; | ||
192 | u8 cursor_needs_physical : 1; | ||
193 | }; | ||
194 | |||
175 | typedef struct drm_i915_private { | 195 | typedef struct drm_i915_private { |
176 | struct drm_device *dev; | 196 | struct drm_device *dev; |
177 | 197 | ||
198 | const struct intel_device_info *info; | ||
199 | |||
178 | int has_gem; | 200 | int has_gem; |
179 | 201 | ||
180 | void __iomem *regs; | 202 | void __iomem *regs; |
@@ -232,8 +254,6 @@ typedef struct drm_i915_private { | |||
232 | int hangcheck_count; | 254 | int hangcheck_count; |
233 | uint32_t last_acthd; | 255 | uint32_t last_acthd; |
234 | 256 | ||
235 | bool cursor_needs_physical; | ||
236 | |||
237 | struct drm_mm vram; | 257 | struct drm_mm vram; |
238 | 258 | ||
239 | unsigned long cfb_size; | 259 | unsigned long cfb_size; |
@@ -287,8 +307,6 @@ typedef struct drm_i915_private { | |||
287 | u32 saveDSPACNTR; | 307 | u32 saveDSPACNTR; |
288 | u32 saveDSPBCNTR; | 308 | u32 saveDSPBCNTR; |
289 | u32 saveDSPARB; | 309 | u32 saveDSPARB; |
290 | u32 saveRENDERSTANDBY; | ||
291 | u32 savePWRCTXA; | ||
292 | u32 saveHWS; | 310 | u32 saveHWS; |
293 | u32 savePIPEACONF; | 311 | u32 savePIPEACONF; |
294 | u32 savePIPEBCONF; | 312 | u32 savePIPEBCONF; |
@@ -561,6 +579,7 @@ typedef struct drm_i915_private { | |||
561 | u16 orig_clock; | 579 | u16 orig_clock; |
562 | int child_dev_num; | 580 | int child_dev_num; |
563 | struct child_device_config *child_dev; | 581 | struct child_device_config *child_dev; |
582 | struct drm_connector *int_lvds_connector; | ||
564 | } drm_i915_private_t; | 583 | } drm_i915_private_t; |
565 | 584 | ||
566 | /** driver private structure attached to each drm_gem_object */ | 585 | /** driver private structure attached to each drm_gem_object */ |
@@ -794,6 +813,8 @@ int i915_gem_sw_finish_ioctl(struct drm_device *dev, void *data, | |||
794 | struct drm_file *file_priv); | 813 | struct drm_file *file_priv); |
795 | int i915_gem_execbuffer(struct drm_device *dev, void *data, | 814 | int i915_gem_execbuffer(struct drm_device *dev, void *data, |
796 | struct drm_file *file_priv); | 815 | struct drm_file *file_priv); |
816 | int i915_gem_execbuffer2(struct drm_device *dev, void *data, | ||
817 | struct drm_file *file_priv); | ||
797 | int i915_gem_pin_ioctl(struct drm_device *dev, void *data, | 818 | int i915_gem_pin_ioctl(struct drm_device *dev, void *data, |
798 | struct drm_file *file_priv); | 819 | struct drm_file *file_priv); |
799 | int i915_gem_unpin_ioctl(struct drm_device *dev, void *data, | 820 | int i915_gem_unpin_ioctl(struct drm_device *dev, void *data, |
@@ -860,6 +881,9 @@ void i915_gem_shrinker_exit(void); | |||
860 | void i915_gem_detect_bit_6_swizzle(struct drm_device *dev); | 881 | void i915_gem_detect_bit_6_swizzle(struct drm_device *dev); |
861 | void i915_gem_object_do_bit_17_swizzle(struct drm_gem_object *obj); | 882 | void i915_gem_object_do_bit_17_swizzle(struct drm_gem_object *obj); |
862 | void i915_gem_object_save_bit_17_swizzle(struct drm_gem_object *obj); | 883 | void i915_gem_object_save_bit_17_swizzle(struct drm_gem_object *obj); |
884 | bool i915_tiling_ok(struct drm_device *dev, int stride, int size, | ||
885 | int tiling_mode); | ||
886 | bool i915_obj_fenceable(struct drm_device *dev, struct drm_gem_object *obj); | ||
863 | 887 | ||
864 | /* i915_gem_debug.c */ | 888 | /* i915_gem_debug.c */ |
865 | void i915_gem_dump_object(struct drm_gem_object *obj, int len, | 889 | void i915_gem_dump_object(struct drm_gem_object *obj, int len, |
@@ -982,67 +1006,33 @@ extern void g4x_disable_fbc(struct drm_device *dev); | |||
982 | extern int i915_wrap_ring(struct drm_device * dev); | 1006 | extern int i915_wrap_ring(struct drm_device * dev); |
983 | extern int i915_wait_ring(struct drm_device * dev, int n, const char *caller); | 1007 | extern int i915_wait_ring(struct drm_device * dev, int n, const char *caller); |
984 | 1008 | ||
985 | #define IS_I830(dev) ((dev)->pci_device == 0x3577) | 1009 | #define INTEL_INFO(dev) (((struct drm_i915_private *) (dev)->dev_private)->info) |
986 | #define IS_845G(dev) ((dev)->pci_device == 0x2562) | 1010 | |
987 | #define IS_I85X(dev) ((dev)->pci_device == 0x3582) | 1011 | #define IS_I830(dev) ((dev)->pci_device == 0x3577) |
988 | #define IS_I865G(dev) ((dev)->pci_device == 0x2572) | 1012 | #define IS_845G(dev) ((dev)->pci_device == 0x2562) |
989 | #define IS_I8XX(dev) (IS_I830(dev) || IS_845G(dev) || IS_I85X(dev) || IS_I865G(dev)) | 1013 | #define IS_I85X(dev) ((dev)->pci_device == 0x3582) |
990 | 1014 | #define IS_I865G(dev) ((dev)->pci_device == 0x2572) | |
991 | #define IS_I915G(dev) ((dev)->pci_device == 0x2582 || (dev)->pci_device == 0x258a) | 1015 | #define IS_I8XX(dev) (INTEL_INFO(dev)->is_i8xx) |
992 | #define IS_I915GM(dev) ((dev)->pci_device == 0x2592) | 1016 | #define IS_I915G(dev) (INTEL_INFO(dev)->is_i915g) |
993 | #define IS_I945G(dev) ((dev)->pci_device == 0x2772) | 1017 | #define IS_I915GM(dev) ((dev)->pci_device == 0x2592) |
994 | #define IS_I945GM(dev) ((dev)->pci_device == 0x27A2 ||\ | 1018 | #define IS_I945G(dev) ((dev)->pci_device == 0x2772) |
995 | (dev)->pci_device == 0x27AE) | 1019 | #define IS_I945GM(dev) (INTEL_INFO(dev)->is_i945gm) |
996 | #define IS_I965G(dev) ((dev)->pci_device == 0x2972 || \ | 1020 | #define IS_I965G(dev) (INTEL_INFO(dev)->is_i965g) |
997 | (dev)->pci_device == 0x2982 || \ | 1021 | #define IS_I965GM(dev) (INTEL_INFO(dev)->is_i965gm) |
998 | (dev)->pci_device == 0x2992 || \ | 1022 | #define IS_GM45(dev) ((dev)->pci_device == 0x2A42) |
999 | (dev)->pci_device == 0x29A2 || \ | 1023 | #define IS_G4X(dev) (INTEL_INFO(dev)->is_g4x) |
1000 | (dev)->pci_device == 0x2A02 || \ | 1024 | #define IS_PINEVIEW_G(dev) ((dev)->pci_device == 0xa001) |
1001 | (dev)->pci_device == 0x2A12 || \ | 1025 | #define IS_PINEVIEW_M(dev) ((dev)->pci_device == 0xa011) |
1002 | (dev)->pci_device == 0x2A42 || \ | 1026 | #define IS_PINEVIEW(dev) (INTEL_INFO(dev)->is_pineview) |
1003 | (dev)->pci_device == 0x2E02 || \ | 1027 | #define IS_G33(dev) (INTEL_INFO(dev)->is_g33) |
1004 | (dev)->pci_device == 0x2E12 || \ | ||
1005 | (dev)->pci_device == 0x2E22 || \ | ||
1006 | (dev)->pci_device == 0x2E32 || \ | ||
1007 | (dev)->pci_device == 0x2E42 || \ | ||
1008 | (dev)->pci_device == 0x0042 || \ | ||
1009 | (dev)->pci_device == 0x0046) | ||
1010 | |||
1011 | #define IS_I965GM(dev) ((dev)->pci_device == 0x2A02 || \ | ||
1012 | (dev)->pci_device == 0x2A12) | ||
1013 | |||
1014 | #define IS_GM45(dev) ((dev)->pci_device == 0x2A42) | ||
1015 | |||
1016 | #define IS_G4X(dev) ((dev)->pci_device == 0x2E02 || \ | ||
1017 | (dev)->pci_device == 0x2E12 || \ | ||
1018 | (dev)->pci_device == 0x2E22 || \ | ||
1019 | (dev)->pci_device == 0x2E32 || \ | ||
1020 | (dev)->pci_device == 0x2E42 || \ | ||
1021 | IS_GM45(dev)) | ||
1022 | |||
1023 | #define IS_PINEVIEW_G(dev) ((dev)->pci_device == 0xa001) | ||
1024 | #define IS_PINEVIEW_M(dev) ((dev)->pci_device == 0xa011) | ||
1025 | #define IS_PINEVIEW(dev) (IS_PINEVIEW_G(dev) || IS_PINEVIEW_M(dev)) | ||
1026 | |||
1027 | #define IS_G33(dev) ((dev)->pci_device == 0x29C2 || \ | ||
1028 | (dev)->pci_device == 0x29B2 || \ | ||
1029 | (dev)->pci_device == 0x29D2 || \ | ||
1030 | (IS_PINEVIEW(dev))) | ||
1031 | |||
1032 | #define IS_IRONLAKE_D(dev) ((dev)->pci_device == 0x0042) | 1028 | #define IS_IRONLAKE_D(dev) ((dev)->pci_device == 0x0042) |
1033 | #define IS_IRONLAKE_M(dev) ((dev)->pci_device == 0x0046) | 1029 | #define IS_IRONLAKE_M(dev) ((dev)->pci_device == 0x0046) |
1034 | #define IS_IRONLAKE(dev) (IS_IRONLAKE_D(dev) || IS_IRONLAKE_M(dev)) | 1030 | #define IS_IRONLAKE(dev) (INTEL_INFO(dev)->is_ironlake) |
1035 | 1031 | #define IS_I9XX(dev) (INTEL_INFO(dev)->is_i9xx) | |
1036 | #define IS_I9XX(dev) (IS_I915G(dev) || IS_I915GM(dev) || IS_I945G(dev) || \ | 1032 | #define IS_MOBILE(dev) (INTEL_INFO(dev)->is_mobile) |
1037 | IS_I945GM(dev) || IS_I965G(dev) || IS_G33(dev) || \ | ||
1038 | IS_IRONLAKE(dev)) | ||
1039 | 1033 | ||
1040 | #define IS_MOBILE(dev) (IS_I830(dev) || IS_I85X(dev) || IS_I915GM(dev) || \ | 1034 | #define I915_NEED_GFX_HWS(dev) (INTEL_INFO(dev)->need_gfx_hws) |
1041 | IS_I945GM(dev) || IS_I965GM(dev) || IS_GM45(dev) || \ | ||
1042 | IS_PINEVIEW(dev) || IS_IRONLAKE_M(dev)) | ||
1043 | 1035 | ||
1044 | #define I915_NEED_GFX_HWS(dev) (IS_G33(dev) || IS_GM45(dev) || IS_G4X(dev) || \ | ||
1045 | IS_IRONLAKE(dev)) | ||
1046 | /* With the 945 and later, Y tiling got adjusted so that it was 32 128-byte | 1036 | /* With the 945 and later, Y tiling got adjusted so that it was 32 128-byte |
1047 | * rows, which changed the alignment requirements and fence programming. | 1037 | * rows, which changed the alignment requirements and fence programming. |
1048 | */ | 1038 | */ |
@@ -1054,17 +1044,14 @@ extern int i915_wait_ring(struct drm_device * dev, int n, const char *caller); | |||
1054 | #define SUPPORTS_EDP(dev) (IS_IRONLAKE_M(dev)) | 1044 | #define SUPPORTS_EDP(dev) (IS_IRONLAKE_M(dev)) |
1055 | #define SUPPORTS_TV(dev) (IS_I9XX(dev) && IS_MOBILE(dev) && \ | 1045 | #define SUPPORTS_TV(dev) (IS_I9XX(dev) && IS_MOBILE(dev) && \ |
1056 | !IS_IRONLAKE(dev) && !IS_PINEVIEW(dev)) | 1046 | !IS_IRONLAKE(dev) && !IS_PINEVIEW(dev)) |
1057 | #define I915_HAS_HOTPLUG(dev) (IS_I945G(dev) || IS_I945GM(dev) || IS_G33(dev) || IS_I965G(dev)) | 1047 | #define I915_HAS_HOTPLUG(dev) (INTEL_INFO(dev)->has_hotplug) |
1058 | /* dsparb controlled by hw only */ | 1048 | /* dsparb controlled by hw only */ |
1059 | #define DSPARB_HWCONTROL(dev) (IS_G4X(dev) || IS_IRONLAKE(dev)) | 1049 | #define DSPARB_HWCONTROL(dev) (IS_G4X(dev) || IS_IRONLAKE(dev)) |
1060 | 1050 | ||
1061 | #define HAS_FW_BLC(dev) (IS_I9XX(dev) || IS_G4X(dev) || IS_IRONLAKE(dev)) | 1051 | #define HAS_FW_BLC(dev) (IS_I9XX(dev) || IS_G4X(dev) || IS_IRONLAKE(dev)) |
1062 | #define HAS_PIPE_CXSR(dev) (IS_G4X(dev) || IS_IRONLAKE(dev)) | 1052 | #define HAS_PIPE_CXSR(dev) (INTEL_INFO(dev)->has_pipe_cxsr) |
1063 | #define I915_HAS_FBC(dev) (IS_MOBILE(dev) && \ | 1053 | #define I915_HAS_FBC(dev) (INTEL_INFO(dev)->has_fbc) |
1064 | (IS_I9XX(dev) || IS_GM45(dev)) && \ | 1054 | #define I915_HAS_RC6(dev) (INTEL_INFO(dev)->has_rc6) |
1065 | !IS_PINEVIEW(dev) && \ | ||
1066 | !IS_IRONLAKE(dev)) | ||
1067 | #define I915_HAS_RC6(dev) (IS_I965GM(dev) || IS_GM45(dev) || IS_IRONLAKE_M(dev)) | ||
1068 | 1055 | ||
1069 | #define PRIMARY_RINGBUFFER_SIZE (128*1024) | 1056 | #define PRIMARY_RINGBUFFER_SIZE (128*1024) |
1070 | 1057 | ||
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index 8c463cf2050a..2748609f05b3 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c | |||
@@ -2021,9 +2021,6 @@ i915_gem_object_unbind(struct drm_gem_object *obj) | |||
2021 | /* blow away mappings if mapped through GTT */ | 2021 | /* blow away mappings if mapped through GTT */ |
2022 | i915_gem_release_mmap(obj); | 2022 | i915_gem_release_mmap(obj); |
2023 | 2023 | ||
2024 | if (obj_priv->fence_reg != I915_FENCE_REG_NONE) | ||
2025 | i915_gem_clear_fence_reg(obj); | ||
2026 | |||
2027 | /* Move the object to the CPU domain to ensure that | 2024 | /* Move the object to the CPU domain to ensure that |
2028 | * any possible CPU writes while it's not in the GTT | 2025 | * any possible CPU writes while it's not in the GTT |
2029 | * are flushed when we go to remap it. This will | 2026 | * are flushed when we go to remap it. This will |
@@ -2039,6 +2036,10 @@ i915_gem_object_unbind(struct drm_gem_object *obj) | |||
2039 | 2036 | ||
2040 | BUG_ON(obj_priv->active); | 2037 | BUG_ON(obj_priv->active); |
2041 | 2038 | ||
2039 | /* release the fence reg _after_ flushing */ | ||
2040 | if (obj_priv->fence_reg != I915_FENCE_REG_NONE) | ||
2041 | i915_gem_clear_fence_reg(obj); | ||
2042 | |||
2042 | if (obj_priv->agp_mem != NULL) { | 2043 | if (obj_priv->agp_mem != NULL) { |
2043 | drm_unbind_agp(obj_priv->agp_mem); | 2044 | drm_unbind_agp(obj_priv->agp_mem); |
2044 | drm_free_agp(obj_priv->agp_mem, obj->size / PAGE_SIZE); | 2045 | drm_free_agp(obj_priv->agp_mem, obj->size / PAGE_SIZE); |
@@ -2581,9 +2582,6 @@ i915_gem_object_bind_to_gtt(struct drm_gem_object *obj, unsigned alignment) | |||
2581 | bool retry_alloc = false; | 2582 | bool retry_alloc = false; |
2582 | int ret; | 2583 | int ret; |
2583 | 2584 | ||
2584 | if (dev_priv->mm.suspended) | ||
2585 | return -EBUSY; | ||
2586 | |||
2587 | if (obj_priv->madv != I915_MADV_WILLNEED) { | 2585 | if (obj_priv->madv != I915_MADV_WILLNEED) { |
2588 | DRM_ERROR("Attempting to bind a purgeable object\n"); | 2586 | DRM_ERROR("Attempting to bind a purgeable object\n"); |
2589 | return -EINVAL; | 2587 | return -EINVAL; |
@@ -3198,7 +3196,7 @@ i915_gem_object_set_cpu_read_domain_range(struct drm_gem_object *obj, | |||
3198 | static int | 3196 | static int |
3199 | i915_gem_object_pin_and_relocate(struct drm_gem_object *obj, | 3197 | i915_gem_object_pin_and_relocate(struct drm_gem_object *obj, |
3200 | struct drm_file *file_priv, | 3198 | struct drm_file *file_priv, |
3201 | struct drm_i915_gem_exec_object *entry, | 3199 | struct drm_i915_gem_exec_object2 *entry, |
3202 | struct drm_i915_gem_relocation_entry *relocs) | 3200 | struct drm_i915_gem_relocation_entry *relocs) |
3203 | { | 3201 | { |
3204 | struct drm_device *dev = obj->dev; | 3202 | struct drm_device *dev = obj->dev; |
@@ -3206,12 +3204,35 @@ i915_gem_object_pin_and_relocate(struct drm_gem_object *obj, | |||
3206 | struct drm_i915_gem_object *obj_priv = obj->driver_private; | 3204 | struct drm_i915_gem_object *obj_priv = obj->driver_private; |
3207 | int i, ret; | 3205 | int i, ret; |
3208 | void __iomem *reloc_page; | 3206 | void __iomem *reloc_page; |
3207 | bool need_fence; | ||
3208 | |||
3209 | need_fence = entry->flags & EXEC_OBJECT_NEEDS_FENCE && | ||
3210 | obj_priv->tiling_mode != I915_TILING_NONE; | ||
3211 | |||
3212 | /* Check fence reg constraints and rebind if necessary */ | ||
3213 | if (need_fence && !i915_obj_fenceable(dev, obj)) | ||
3214 | i915_gem_object_unbind(obj); | ||
3209 | 3215 | ||
3210 | /* Choose the GTT offset for our buffer and put it there. */ | 3216 | /* Choose the GTT offset for our buffer and put it there. */ |
3211 | ret = i915_gem_object_pin(obj, (uint32_t) entry->alignment); | 3217 | ret = i915_gem_object_pin(obj, (uint32_t) entry->alignment); |
3212 | if (ret) | 3218 | if (ret) |
3213 | return ret; | 3219 | return ret; |
3214 | 3220 | ||
3221 | /* | ||
3222 | * Pre-965 chips need a fence register set up in order to | ||
3223 | * properly handle blits to/from tiled surfaces. | ||
3224 | */ | ||
3225 | if (need_fence) { | ||
3226 | ret = i915_gem_object_get_fence_reg(obj); | ||
3227 | if (ret != 0) { | ||
3228 | if (ret != -EBUSY && ret != -ERESTARTSYS) | ||
3229 | DRM_ERROR("Failure to install fence: %d\n", | ||
3230 | ret); | ||
3231 | i915_gem_object_unpin(obj); | ||
3232 | return ret; | ||
3233 | } | ||
3234 | } | ||
3235 | |||
3215 | entry->offset = obj_priv->gtt_offset; | 3236 | entry->offset = obj_priv->gtt_offset; |
3216 | 3237 | ||
3217 | /* Apply the relocations, using the GTT aperture to avoid cache | 3238 | /* Apply the relocations, using the GTT aperture to avoid cache |
@@ -3373,7 +3394,7 @@ i915_gem_object_pin_and_relocate(struct drm_gem_object *obj, | |||
3373 | */ | 3394 | */ |
3374 | static int | 3395 | static int |
3375 | i915_dispatch_gem_execbuffer(struct drm_device *dev, | 3396 | i915_dispatch_gem_execbuffer(struct drm_device *dev, |
3376 | struct drm_i915_gem_execbuffer *exec, | 3397 | struct drm_i915_gem_execbuffer2 *exec, |
3377 | struct drm_clip_rect *cliprects, | 3398 | struct drm_clip_rect *cliprects, |
3378 | uint64_t exec_offset) | 3399 | uint64_t exec_offset) |
3379 | { | 3400 | { |
@@ -3463,7 +3484,7 @@ i915_gem_ring_throttle(struct drm_device *dev, struct drm_file *file_priv) | |||
3463 | } | 3484 | } |
3464 | 3485 | ||
3465 | static int | 3486 | static int |
3466 | i915_gem_get_relocs_from_user(struct drm_i915_gem_exec_object *exec_list, | 3487 | i915_gem_get_relocs_from_user(struct drm_i915_gem_exec_object2 *exec_list, |
3467 | uint32_t buffer_count, | 3488 | uint32_t buffer_count, |
3468 | struct drm_i915_gem_relocation_entry **relocs) | 3489 | struct drm_i915_gem_relocation_entry **relocs) |
3469 | { | 3490 | { |
@@ -3478,8 +3499,10 @@ i915_gem_get_relocs_from_user(struct drm_i915_gem_exec_object *exec_list, | |||
3478 | } | 3499 | } |
3479 | 3500 | ||
3480 | *relocs = drm_calloc_large(reloc_count, sizeof(**relocs)); | 3501 | *relocs = drm_calloc_large(reloc_count, sizeof(**relocs)); |
3481 | if (*relocs == NULL) | 3502 | if (*relocs == NULL) { |
3503 | DRM_ERROR("failed to alloc relocs, count %d\n", reloc_count); | ||
3482 | return -ENOMEM; | 3504 | return -ENOMEM; |
3505 | } | ||
3483 | 3506 | ||
3484 | for (i = 0; i < buffer_count; i++) { | 3507 | for (i = 0; i < buffer_count; i++) { |
3485 | struct drm_i915_gem_relocation_entry __user *user_relocs; | 3508 | struct drm_i915_gem_relocation_entry __user *user_relocs; |
@@ -3503,7 +3526,7 @@ i915_gem_get_relocs_from_user(struct drm_i915_gem_exec_object *exec_list, | |||
3503 | } | 3526 | } |
3504 | 3527 | ||
3505 | static int | 3528 | static int |
3506 | i915_gem_put_relocs_to_user(struct drm_i915_gem_exec_object *exec_list, | 3529 | i915_gem_put_relocs_to_user(struct drm_i915_gem_exec_object2 *exec_list, |
3507 | uint32_t buffer_count, | 3530 | uint32_t buffer_count, |
3508 | struct drm_i915_gem_relocation_entry *relocs) | 3531 | struct drm_i915_gem_relocation_entry *relocs) |
3509 | { | 3532 | { |
@@ -3536,7 +3559,7 @@ err: | |||
3536 | } | 3559 | } |
3537 | 3560 | ||
3538 | static int | 3561 | static int |
3539 | i915_gem_check_execbuffer (struct drm_i915_gem_execbuffer *exec, | 3562 | i915_gem_check_execbuffer (struct drm_i915_gem_execbuffer2 *exec, |
3540 | uint64_t exec_offset) | 3563 | uint64_t exec_offset) |
3541 | { | 3564 | { |
3542 | uint32_t exec_start, exec_len; | 3565 | uint32_t exec_start, exec_len; |
@@ -3589,18 +3612,18 @@ i915_gem_wait_for_pending_flip(struct drm_device *dev, | |||
3589 | } | 3612 | } |
3590 | 3613 | ||
3591 | int | 3614 | int |
3592 | i915_gem_execbuffer(struct drm_device *dev, void *data, | 3615 | i915_gem_do_execbuffer(struct drm_device *dev, void *data, |
3593 | struct drm_file *file_priv) | 3616 | struct drm_file *file_priv, |
3617 | struct drm_i915_gem_execbuffer2 *args, | ||
3618 | struct drm_i915_gem_exec_object2 *exec_list) | ||
3594 | { | 3619 | { |
3595 | drm_i915_private_t *dev_priv = dev->dev_private; | 3620 | drm_i915_private_t *dev_priv = dev->dev_private; |
3596 | struct drm_i915_gem_execbuffer *args = data; | ||
3597 | struct drm_i915_gem_exec_object *exec_list = NULL; | ||
3598 | struct drm_gem_object **object_list = NULL; | 3621 | struct drm_gem_object **object_list = NULL; |
3599 | struct drm_gem_object *batch_obj; | 3622 | struct drm_gem_object *batch_obj; |
3600 | struct drm_i915_gem_object *obj_priv; | 3623 | struct drm_i915_gem_object *obj_priv; |
3601 | struct drm_clip_rect *cliprects = NULL; | 3624 | struct drm_clip_rect *cliprects = NULL; |
3602 | struct drm_i915_gem_relocation_entry *relocs; | 3625 | struct drm_i915_gem_relocation_entry *relocs; |
3603 | int ret, ret2, i, pinned = 0; | 3626 | int ret = 0, ret2, i, pinned = 0; |
3604 | uint64_t exec_offset; | 3627 | uint64_t exec_offset; |
3605 | uint32_t seqno, flush_domains, reloc_index; | 3628 | uint32_t seqno, flush_domains, reloc_index; |
3606 | int pin_tries, flips; | 3629 | int pin_tries, flips; |
@@ -3614,25 +3637,13 @@ i915_gem_execbuffer(struct drm_device *dev, void *data, | |||
3614 | DRM_ERROR("execbuf with %d buffers\n", args->buffer_count); | 3637 | DRM_ERROR("execbuf with %d buffers\n", args->buffer_count); |
3615 | return -EINVAL; | 3638 | return -EINVAL; |
3616 | } | 3639 | } |
3617 | /* Copy in the exec list from userland */ | ||
3618 | exec_list = drm_malloc_ab(sizeof(*exec_list), args->buffer_count); | ||
3619 | object_list = drm_malloc_ab(sizeof(*object_list), args->buffer_count); | 3640 | object_list = drm_malloc_ab(sizeof(*object_list), args->buffer_count); |
3620 | if (exec_list == NULL || object_list == NULL) { | 3641 | if (object_list == NULL) { |
3621 | DRM_ERROR("Failed to allocate exec or object list " | 3642 | DRM_ERROR("Failed to allocate object list for %d buffers\n", |
3622 | "for %d buffers\n", | ||
3623 | args->buffer_count); | 3643 | args->buffer_count); |
3624 | ret = -ENOMEM; | 3644 | ret = -ENOMEM; |
3625 | goto pre_mutex_err; | 3645 | goto pre_mutex_err; |
3626 | } | 3646 | } |
3627 | ret = copy_from_user(exec_list, | ||
3628 | (struct drm_i915_relocation_entry __user *) | ||
3629 | (uintptr_t) args->buffers_ptr, | ||
3630 | sizeof(*exec_list) * args->buffer_count); | ||
3631 | if (ret != 0) { | ||
3632 | DRM_ERROR("copy %d exec entries failed %d\n", | ||
3633 | args->buffer_count, ret); | ||
3634 | goto pre_mutex_err; | ||
3635 | } | ||
3636 | 3647 | ||
3637 | if (args->num_cliprects != 0) { | 3648 | if (args->num_cliprects != 0) { |
3638 | cliprects = kcalloc(args->num_cliprects, sizeof(*cliprects), | 3649 | cliprects = kcalloc(args->num_cliprects, sizeof(*cliprects), |
@@ -3884,20 +3895,6 @@ err: | |||
3884 | 3895 | ||
3885 | mutex_unlock(&dev->struct_mutex); | 3896 | mutex_unlock(&dev->struct_mutex); |
3886 | 3897 | ||
3887 | if (!ret) { | ||
3888 | /* Copy the new buffer offsets back to the user's exec list. */ | ||
3889 | ret = copy_to_user((struct drm_i915_relocation_entry __user *) | ||
3890 | (uintptr_t) args->buffers_ptr, | ||
3891 | exec_list, | ||
3892 | sizeof(*exec_list) * args->buffer_count); | ||
3893 | if (ret) { | ||
3894 | ret = -EFAULT; | ||
3895 | DRM_ERROR("failed to copy %d exec entries " | ||
3896 | "back to user (%d)\n", | ||
3897 | args->buffer_count, ret); | ||
3898 | } | ||
3899 | } | ||
3900 | |||
3901 | /* Copy the updated relocations out regardless of current error | 3898 | /* Copy the updated relocations out regardless of current error |
3902 | * state. Failure to update the relocs would mean that the next | 3899 | * state. Failure to update the relocs would mean that the next |
3903 | * time userland calls execbuf, it would do so with presumed offset | 3900 | * time userland calls execbuf, it would do so with presumed offset |
@@ -3914,12 +3911,158 @@ err: | |||
3914 | 3911 | ||
3915 | pre_mutex_err: | 3912 | pre_mutex_err: |
3916 | drm_free_large(object_list); | 3913 | drm_free_large(object_list); |
3917 | drm_free_large(exec_list); | ||
3918 | kfree(cliprects); | 3914 | kfree(cliprects); |
3919 | 3915 | ||
3920 | return ret; | 3916 | return ret; |
3921 | } | 3917 | } |
3922 | 3918 | ||
3919 | /* | ||
3920 | * Legacy execbuffer just creates an exec2 list from the original exec object | ||
3921 | * list array and passes it to the real function. | ||
3922 | */ | ||
3923 | int | ||
3924 | i915_gem_execbuffer(struct drm_device *dev, void *data, | ||
3925 | struct drm_file *file_priv) | ||
3926 | { | ||
3927 | struct drm_i915_gem_execbuffer *args = data; | ||
3928 | struct drm_i915_gem_execbuffer2 exec2; | ||
3929 | struct drm_i915_gem_exec_object *exec_list = NULL; | ||
3930 | struct drm_i915_gem_exec_object2 *exec2_list = NULL; | ||
3931 | int ret, i; | ||
3932 | |||
3933 | #if WATCH_EXEC | ||
3934 | DRM_INFO("buffers_ptr %d buffer_count %d len %08x\n", | ||
3935 | (int) args->buffers_ptr, args->buffer_count, args->batch_len); | ||
3936 | #endif | ||
3937 | |||
3938 | if (args->buffer_count < 1) { | ||
3939 | DRM_ERROR("execbuf with %d buffers\n", args->buffer_count); | ||
3940 | return -EINVAL; | ||
3941 | } | ||
3942 | |||
3943 | /* Copy in the exec list from userland */ | ||
3944 | exec_list = drm_malloc_ab(sizeof(*exec_list), args->buffer_count); | ||
3945 | exec2_list = drm_malloc_ab(sizeof(*exec2_list), args->buffer_count); | ||
3946 | if (exec_list == NULL || exec2_list == NULL) { | ||
3947 | DRM_ERROR("Failed to allocate exec list for %d buffers\n", | ||
3948 | args->buffer_count); | ||
3949 | drm_free_large(exec_list); | ||
3950 | drm_free_large(exec2_list); | ||
3951 | return -ENOMEM; | ||
3952 | } | ||
3953 | ret = copy_from_user(exec_list, | ||
3954 | (struct drm_i915_relocation_entry __user *) | ||
3955 | (uintptr_t) args->buffers_ptr, | ||
3956 | sizeof(*exec_list) * args->buffer_count); | ||
3957 | if (ret != 0) { | ||
3958 | DRM_ERROR("copy %d exec entries failed %d\n", | ||
3959 | args->buffer_count, ret); | ||
3960 | drm_free_large(exec_list); | ||
3961 | drm_free_large(exec2_list); | ||
3962 | return -EFAULT; | ||
3963 | } | ||
3964 | |||
3965 | for (i = 0; i < args->buffer_count; i++) { | ||
3966 | exec2_list[i].handle = exec_list[i].handle; | ||
3967 | exec2_list[i].relocation_count = exec_list[i].relocation_count; | ||
3968 | exec2_list[i].relocs_ptr = exec_list[i].relocs_ptr; | ||
3969 | exec2_list[i].alignment = exec_list[i].alignment; | ||
3970 | exec2_list[i].offset = exec_list[i].offset; | ||
3971 | if (!IS_I965G(dev)) | ||
3972 | exec2_list[i].flags = EXEC_OBJECT_NEEDS_FENCE; | ||
3973 | else | ||
3974 | exec2_list[i].flags = 0; | ||
3975 | } | ||
3976 | |||
3977 | exec2.buffers_ptr = args->buffers_ptr; | ||
3978 | exec2.buffer_count = args->buffer_count; | ||
3979 | exec2.batch_start_offset = args->batch_start_offset; | ||
3980 | exec2.batch_len = args->batch_len; | ||
3981 | exec2.DR1 = args->DR1; | ||
3982 | exec2.DR4 = args->DR4; | ||
3983 | exec2.num_cliprects = args->num_cliprects; | ||
3984 | exec2.cliprects_ptr = args->cliprects_ptr; | ||
3985 | exec2.flags = 0; | ||
3986 | |||
3987 | ret = i915_gem_do_execbuffer(dev, data, file_priv, &exec2, exec2_list); | ||
3988 | if (!ret) { | ||
3989 | /* Copy the new buffer offsets back to the user's exec list. */ | ||
3990 | for (i = 0; i < args->buffer_count; i++) | ||
3991 | exec_list[i].offset = exec2_list[i].offset; | ||
3992 | /* ... and back out to userspace */ | ||
3993 | ret = copy_to_user((struct drm_i915_relocation_entry __user *) | ||
3994 | (uintptr_t) args->buffers_ptr, | ||
3995 | exec_list, | ||
3996 | sizeof(*exec_list) * args->buffer_count); | ||
3997 | if (ret) { | ||
3998 | ret = -EFAULT; | ||
3999 | DRM_ERROR("failed to copy %d exec entries " | ||
4000 | "back to user (%d)\n", | ||
4001 | args->buffer_count, ret); | ||
4002 | } | ||
4003 | } else { | ||
4004 | DRM_ERROR("i915_gem_do_execbuffer returns %d\n", ret); | ||
4005 | } | ||
4006 | |||
4007 | drm_free_large(exec_list); | ||
4008 | drm_free_large(exec2_list); | ||
4009 | return ret; | ||
4010 | } | ||
4011 | |||
4012 | int | ||
4013 | i915_gem_execbuffer2(struct drm_device *dev, void *data, | ||
4014 | struct drm_file *file_priv) | ||
4015 | { | ||
4016 | struct drm_i915_gem_execbuffer2 *args = data; | ||
4017 | struct drm_i915_gem_exec_object2 *exec2_list = NULL; | ||
4018 | int ret; | ||
4019 | |||
4020 | #if WATCH_EXEC | ||
4021 | DRM_INFO("buffers_ptr %d buffer_count %d len %08x\n", | ||
4022 | (int) args->buffers_ptr, args->buffer_count, args->batch_len); | ||
4023 | #endif | ||
4024 | |||
4025 | if (args->buffer_count < 1) { | ||
4026 | DRM_ERROR("execbuf2 with %d buffers\n", args->buffer_count); | ||
4027 | return -EINVAL; | ||
4028 | } | ||
4029 | |||
4030 | exec2_list = drm_malloc_ab(sizeof(*exec2_list), args->buffer_count); | ||
4031 | if (exec2_list == NULL) { | ||
4032 | DRM_ERROR("Failed to allocate exec list for %d buffers\n", | ||
4033 | args->buffer_count); | ||
4034 | return -ENOMEM; | ||
4035 | } | ||
4036 | ret = copy_from_user(exec2_list, | ||
4037 | (struct drm_i915_relocation_entry __user *) | ||
4038 | (uintptr_t) args->buffers_ptr, | ||
4039 | sizeof(*exec2_list) * args->buffer_count); | ||
4040 | if (ret != 0) { | ||
4041 | DRM_ERROR("copy %d exec entries failed %d\n", | ||
4042 | args->buffer_count, ret); | ||
4043 | drm_free_large(exec2_list); | ||
4044 | return -EFAULT; | ||
4045 | } | ||
4046 | |||
4047 | ret = i915_gem_do_execbuffer(dev, data, file_priv, args, exec2_list); | ||
4048 | if (!ret) { | ||
4049 | /* Copy the new buffer offsets back to the user's exec list. */ | ||
4050 | ret = copy_to_user((struct drm_i915_relocation_entry __user *) | ||
4051 | (uintptr_t) args->buffers_ptr, | ||
4052 | exec2_list, | ||
4053 | sizeof(*exec2_list) * args->buffer_count); | ||
4054 | if (ret) { | ||
4055 | ret = -EFAULT; | ||
4056 | DRM_ERROR("failed to copy %d exec entries " | ||
4057 | "back to user (%d)\n", | ||
4058 | args->buffer_count, ret); | ||
4059 | } | ||
4060 | } | ||
4061 | |||
4062 | drm_free_large(exec2_list); | ||
4063 | return ret; | ||
4064 | } | ||
4065 | |||
3923 | int | 4066 | int |
3924 | i915_gem_object_pin(struct drm_gem_object *obj, uint32_t alignment) | 4067 | i915_gem_object_pin(struct drm_gem_object *obj, uint32_t alignment) |
3925 | { | 4068 | { |
@@ -3933,19 +4076,7 @@ i915_gem_object_pin(struct drm_gem_object *obj, uint32_t alignment) | |||
3933 | if (ret) | 4076 | if (ret) |
3934 | return ret; | 4077 | return ret; |
3935 | } | 4078 | } |
3936 | /* | 4079 | |
3937 | * Pre-965 chips need a fence register set up in order to | ||
3938 | * properly handle tiled surfaces. | ||
3939 | */ | ||
3940 | if (!IS_I965G(dev) && obj_priv->tiling_mode != I915_TILING_NONE) { | ||
3941 | ret = i915_gem_object_get_fence_reg(obj); | ||
3942 | if (ret != 0) { | ||
3943 | if (ret != -EBUSY && ret != -ERESTARTSYS) | ||
3944 | DRM_ERROR("Failure to install fence: %d\n", | ||
3945 | ret); | ||
3946 | return ret; | ||
3947 | } | ||
3948 | } | ||
3949 | obj_priv->pin_count++; | 4080 | obj_priv->pin_count++; |
3950 | 4081 | ||
3951 | /* If the object is not active and not pending a flush, | 4082 | /* If the object is not active and not pending a flush, |
@@ -4708,7 +4839,7 @@ int i915_gem_init_phys_object(struct drm_device *dev, | |||
4708 | 4839 | ||
4709 | phys_obj->id = id; | 4840 | phys_obj->id = id; |
4710 | 4841 | ||
4711 | phys_obj->handle = drm_pci_alloc(dev, size, 0, 0xffffffff); | 4842 | phys_obj->handle = drm_pci_alloc(dev, size, 0); |
4712 | if (!phys_obj->handle) { | 4843 | if (!phys_obj->handle) { |
4713 | ret = -ENOMEM; | 4844 | ret = -ENOMEM; |
4714 | goto kfree_obj; | 4845 | goto kfree_obj; |
diff --git a/drivers/gpu/drm/i915/i915_gem_tiling.c b/drivers/gpu/drm/i915/i915_gem_tiling.c index 30d6af6c09bb..df278b2685bf 100644 --- a/drivers/gpu/drm/i915/i915_gem_tiling.c +++ b/drivers/gpu/drm/i915/i915_gem_tiling.c | |||
@@ -304,35 +304,39 @@ i915_gem_detect_bit_6_swizzle(struct drm_device *dev) | |||
304 | 304 | ||
305 | 305 | ||
306 | /** | 306 | /** |
307 | * Returns the size of the fence for a tiled object of the given size. | 307 | * Returns whether an object is currently fenceable. If not, it may need |
308 | * to be unbound and have its pitch adjusted. | ||
308 | */ | 309 | */ |
309 | static int | 310 | bool |
310 | i915_get_fence_size(struct drm_device *dev, int size) | 311 | i915_obj_fenceable(struct drm_device *dev, struct drm_gem_object *obj) |
311 | { | 312 | { |
312 | int i; | 313 | struct drm_i915_gem_object *obj_priv = obj->driver_private; |
313 | int start; | ||
314 | 314 | ||
315 | if (IS_I965G(dev)) { | 315 | if (IS_I965G(dev)) { |
316 | /* The 965 can have fences at any page boundary. */ | 316 | /* The 965 can have fences at any page boundary. */ |
317 | return ALIGN(size, 4096); | 317 | if (obj->size & 4095) |
318 | return false; | ||
319 | return true; | ||
320 | } else if (IS_I9XX(dev)) { | ||
321 | if (obj_priv->gtt_offset & ~I915_FENCE_START_MASK) | ||
322 | return false; | ||
318 | } else { | 323 | } else { |
319 | /* Align the size to a power of two greater than the smallest | 324 | if (obj_priv->gtt_offset & ~I830_FENCE_START_MASK) |
320 | * fence size. | 325 | return false; |
321 | */ | 326 | } |
322 | if (IS_I9XX(dev)) | ||
323 | start = 1024 * 1024; | ||
324 | else | ||
325 | start = 512 * 1024; | ||
326 | 327 | ||
327 | for (i = start; i < size; i <<= 1) | 328 | /* Power of two sized... */ |
328 | ; | 329 | if (obj->size & (obj->size - 1)) |
330 | return false; | ||
329 | 331 | ||
330 | return i; | 332 | /* Objects must be size aligned as well */ |
331 | } | 333 | if (obj_priv->gtt_offset & (obj->size - 1)) |
334 | return false; | ||
335 | return true; | ||
332 | } | 336 | } |
333 | 337 | ||
334 | /* Check pitch constriants for all chips & tiling formats */ | 338 | /* Check pitch constriants for all chips & tiling formats */ |
335 | static bool | 339 | bool |
336 | i915_tiling_ok(struct drm_device *dev, int stride, int size, int tiling_mode) | 340 | i915_tiling_ok(struct drm_device *dev, int stride, int size, int tiling_mode) |
337 | { | 341 | { |
338 | int tile_width; | 342 | int tile_width; |
@@ -384,12 +388,6 @@ i915_tiling_ok(struct drm_device *dev, int stride, int size, int tiling_mode) | |||
384 | if (stride & (stride - 1)) | 388 | if (stride & (stride - 1)) |
385 | return false; | 389 | return false; |
386 | 390 | ||
387 | /* We don't 0handle the aperture area covered by the fence being bigger | ||
388 | * than the object size. | ||
389 | */ | ||
390 | if (i915_get_fence_size(dev, size) != size) | ||
391 | return false; | ||
392 | |||
393 | return true; | 391 | return true; |
394 | } | 392 | } |
395 | 393 | ||
diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c index 85f4c5de97e2..7cd8110051b6 100644 --- a/drivers/gpu/drm/i915/i915_irq.c +++ b/drivers/gpu/drm/i915/i915_irq.c | |||
@@ -313,6 +313,8 @@ irqreturn_t ironlake_irq_handler(struct drm_device *dev) | |||
313 | dev_priv->mm.irq_gem_seqno = seqno; | 313 | dev_priv->mm.irq_gem_seqno = seqno; |
314 | trace_i915_gem_request_complete(dev, seqno); | 314 | trace_i915_gem_request_complete(dev, seqno); |
315 | DRM_WAKEUP(&dev_priv->irq_queue); | 315 | DRM_WAKEUP(&dev_priv->irq_queue); |
316 | dev_priv->hangcheck_count = 0; | ||
317 | mod_timer(&dev_priv->hangcheck_timer, jiffies + DRM_I915_HANGCHECK_PERIOD); | ||
316 | } | 318 | } |
317 | 319 | ||
318 | if (de_iir & DE_GSE) | 320 | if (de_iir & DE_GSE) |
@@ -1084,6 +1086,10 @@ void i915_driver_irq_preinstall(struct drm_device * dev) | |||
1084 | (void) I915_READ(IER); | 1086 | (void) I915_READ(IER); |
1085 | } | 1087 | } |
1086 | 1088 | ||
1089 | /* | ||
1090 | * Must be called after intel_modeset_init or hotplug interrupts won't be | ||
1091 | * enabled correctly. | ||
1092 | */ | ||
1087 | int i915_driver_irq_postinstall(struct drm_device *dev) | 1093 | int i915_driver_irq_postinstall(struct drm_device *dev) |
1088 | { | 1094 | { |
1089 | drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; | 1095 | drm_i915_private_t *dev_priv = (drm_i915_private_t *) dev->dev_private; |
@@ -1106,19 +1112,23 @@ int i915_driver_irq_postinstall(struct drm_device *dev) | |||
1106 | if (I915_HAS_HOTPLUG(dev)) { | 1112 | if (I915_HAS_HOTPLUG(dev)) { |
1107 | u32 hotplug_en = I915_READ(PORT_HOTPLUG_EN); | 1113 | u32 hotplug_en = I915_READ(PORT_HOTPLUG_EN); |
1108 | 1114 | ||
1109 | /* Leave other bits alone */ | 1115 | /* Note HDMI and DP share bits */ |
1110 | hotplug_en |= HOTPLUG_EN_MASK; | 1116 | if (dev_priv->hotplug_supported_mask & HDMIB_HOTPLUG_INT_STATUS) |
1117 | hotplug_en |= HDMIB_HOTPLUG_INT_EN; | ||
1118 | if (dev_priv->hotplug_supported_mask & HDMIC_HOTPLUG_INT_STATUS) | ||
1119 | hotplug_en |= HDMIC_HOTPLUG_INT_EN; | ||
1120 | if (dev_priv->hotplug_supported_mask & HDMID_HOTPLUG_INT_STATUS) | ||
1121 | hotplug_en |= HDMID_HOTPLUG_INT_EN; | ||
1122 | if (dev_priv->hotplug_supported_mask & SDVOC_HOTPLUG_INT_STATUS) | ||
1123 | hotplug_en |= SDVOC_HOTPLUG_INT_EN; | ||
1124 | if (dev_priv->hotplug_supported_mask & SDVOB_HOTPLUG_INT_STATUS) | ||
1125 | hotplug_en |= SDVOB_HOTPLUG_INT_EN; | ||
1126 | if (dev_priv->hotplug_supported_mask & CRT_HOTPLUG_INT_STATUS) | ||
1127 | hotplug_en |= CRT_HOTPLUG_INT_EN; | ||
1128 | /* Ignore TV since it's buggy */ | ||
1129 | |||
1111 | I915_WRITE(PORT_HOTPLUG_EN, hotplug_en); | 1130 | I915_WRITE(PORT_HOTPLUG_EN, hotplug_en); |
1112 | 1131 | ||
1113 | dev_priv->hotplug_supported_mask = CRT_HOTPLUG_INT_STATUS | | ||
1114 | TV_HOTPLUG_INT_STATUS | SDVOC_HOTPLUG_INT_STATUS | | ||
1115 | SDVOB_HOTPLUG_INT_STATUS; | ||
1116 | if (IS_G4X(dev)) { | ||
1117 | dev_priv->hotplug_supported_mask |= | ||
1118 | HDMIB_HOTPLUG_INT_STATUS | | ||
1119 | HDMIC_HOTPLUG_INT_STATUS | | ||
1120 | HDMID_HOTPLUG_INT_STATUS; | ||
1121 | } | ||
1122 | /* Enable in IER... */ | 1132 | /* Enable in IER... */ |
1123 | enable_mask |= I915_DISPLAY_PORT_INTERRUPT; | 1133 | enable_mask |= I915_DISPLAY_PORT_INTERRUPT; |
1124 | /* and unmask in IMR */ | 1134 | /* and unmask in IMR */ |
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h index 974b3cf70618..149d360d64a3 100644 --- a/drivers/gpu/drm/i915/i915_reg.h +++ b/drivers/gpu/drm/i915/i915_reg.h | |||
@@ -879,13 +879,6 @@ | |||
879 | #define CRT_HOTPLUG_DETECT_VOLTAGE_475MV (1 << 2) | 879 | #define CRT_HOTPLUG_DETECT_VOLTAGE_475MV (1 << 2) |
880 | #define CRT_HOTPLUG_MASK (0x3fc) /* Bits 9-2 */ | 880 | #define CRT_HOTPLUG_MASK (0x3fc) /* Bits 9-2 */ |
881 | #define CRT_FORCE_HOTPLUG_MASK 0xfffffe1f | 881 | #define CRT_FORCE_HOTPLUG_MASK 0xfffffe1f |
882 | #define HOTPLUG_EN_MASK (HDMIB_HOTPLUG_INT_EN | \ | ||
883 | HDMIC_HOTPLUG_INT_EN | \ | ||
884 | HDMID_HOTPLUG_INT_EN | \ | ||
885 | SDVOB_HOTPLUG_INT_EN | \ | ||
886 | SDVOC_HOTPLUG_INT_EN | \ | ||
887 | CRT_HOTPLUG_INT_EN) | ||
888 | |||
889 | 882 | ||
890 | #define PORT_HOTPLUG_STAT 0x61114 | 883 | #define PORT_HOTPLUG_STAT 0x61114 |
891 | #define HDMIB_HOTPLUG_INT_STATUS (1 << 29) | 884 | #define HDMIB_HOTPLUG_INT_STATUS (1 << 29) |
@@ -982,6 +975,8 @@ | |||
982 | #define LVDS_PORT_EN (1 << 31) | 975 | #define LVDS_PORT_EN (1 << 31) |
983 | /* Selects pipe B for LVDS data. Must be set on pre-965. */ | 976 | /* Selects pipe B for LVDS data. Must be set on pre-965. */ |
984 | #define LVDS_PIPEB_SELECT (1 << 30) | 977 | #define LVDS_PIPEB_SELECT (1 << 30) |
978 | /* LVDS dithering flag on 965/g4x platform */ | ||
979 | #define LVDS_ENABLE_DITHER (1 << 25) | ||
985 | /* Enable border for unscaled (or aspect-scaled) display */ | 980 | /* Enable border for unscaled (or aspect-scaled) display */ |
986 | #define LVDS_BORDER_ENABLE (1 << 15) | 981 | #define LVDS_BORDER_ENABLE (1 << 15) |
987 | /* | 982 | /* |
@@ -1751,6 +1746,8 @@ | |||
1751 | 1746 | ||
1752 | /* Display & cursor control */ | 1747 | /* Display & cursor control */ |
1753 | 1748 | ||
1749 | /* dithering flag on Ironlake */ | ||
1750 | #define PIPE_ENABLE_DITHER (1 << 4) | ||
1754 | /* Pipe A */ | 1751 | /* Pipe A */ |
1755 | #define PIPEADSL 0x70000 | 1752 | #define PIPEADSL 0x70000 |
1756 | #define PIPEACONF 0x70008 | 1753 | #define PIPEACONF 0x70008 |
diff --git a/drivers/gpu/drm/i915/i915_suspend.c b/drivers/gpu/drm/i915/i915_suspend.c index d5ebb00a9d49..a3b90c9561dc 100644 --- a/drivers/gpu/drm/i915/i915_suspend.c +++ b/drivers/gpu/drm/i915/i915_suspend.c | |||
@@ -732,12 +732,6 @@ int i915_save_state(struct drm_device *dev) | |||
732 | 732 | ||
733 | pci_read_config_byte(dev->pdev, LBB, &dev_priv->saveLBB); | 733 | pci_read_config_byte(dev->pdev, LBB, &dev_priv->saveLBB); |
734 | 734 | ||
735 | /* Render Standby */ | ||
736 | if (I915_HAS_RC6(dev)) { | ||
737 | dev_priv->saveRENDERSTANDBY = I915_READ(MCHBAR_RENDER_STANDBY); | ||
738 | dev_priv->savePWRCTXA = I915_READ(PWRCTXA); | ||
739 | } | ||
740 | |||
741 | /* Hardware status page */ | 735 | /* Hardware status page */ |
742 | dev_priv->saveHWS = I915_READ(HWS_PGA); | 736 | dev_priv->saveHWS = I915_READ(HWS_PGA); |
743 | 737 | ||
@@ -793,12 +787,6 @@ int i915_restore_state(struct drm_device *dev) | |||
793 | 787 | ||
794 | pci_write_config_byte(dev->pdev, LBB, dev_priv->saveLBB); | 788 | pci_write_config_byte(dev->pdev, LBB, dev_priv->saveLBB); |
795 | 789 | ||
796 | /* Render Standby */ | ||
797 | if (I915_HAS_RC6(dev)) { | ||
798 | I915_WRITE(MCHBAR_RENDER_STANDBY, dev_priv->saveRENDERSTANDBY); | ||
799 | I915_WRITE(PWRCTXA, dev_priv->savePWRCTXA); | ||
800 | } | ||
801 | |||
802 | /* Hardware status page */ | 790 | /* Hardware status page */ |
803 | I915_WRITE(HWS_PGA, dev_priv->saveHWS); | 791 | I915_WRITE(HWS_PGA, dev_priv->saveHWS); |
804 | 792 | ||
diff --git a/drivers/gpu/drm/i915/intel_crt.c b/drivers/gpu/drm/i915/intel_crt.c index 9f3d3e563414..ddefc871edfe 100644 --- a/drivers/gpu/drm/i915/intel_crt.c +++ b/drivers/gpu/drm/i915/intel_crt.c | |||
@@ -548,4 +548,6 @@ void intel_crt_init(struct drm_device *dev) | |||
548 | drm_connector_helper_add(connector, &intel_crt_connector_helper_funcs); | 548 | drm_connector_helper_add(connector, &intel_crt_connector_helper_funcs); |
549 | 549 | ||
550 | drm_sysfs_connector_add(connector); | 550 | drm_sysfs_connector_add(connector); |
551 | |||
552 | dev_priv->hotplug_supported_mask |= CRT_HOTPLUG_INT_STATUS; | ||
551 | } | 553 | } |
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index 52cd9b006da2..002612fae717 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c | |||
@@ -262,6 +262,14 @@ struct intel_limit { | |||
262 | #define IRONLAKE_P2_LVDS_FAST 7 /* double channel */ | 262 | #define IRONLAKE_P2_LVDS_FAST 7 /* double channel */ |
263 | #define IRONLAKE_P2_DOT_LIMIT 225000 /* 225Mhz */ | 263 | #define IRONLAKE_P2_DOT_LIMIT 225000 /* 225Mhz */ |
264 | 264 | ||
265 | #define IRONLAKE_P_DISPLAY_PORT_MIN 10 | ||
266 | #define IRONLAKE_P_DISPLAY_PORT_MAX 20 | ||
267 | #define IRONLAKE_P2_DISPLAY_PORT_FAST 10 | ||
268 | #define IRONLAKE_P2_DISPLAY_PORT_SLOW 10 | ||
269 | #define IRONLAKE_P2_DISPLAY_PORT_LIMIT 0 | ||
270 | #define IRONLAKE_P1_DISPLAY_PORT_MIN 1 | ||
271 | #define IRONLAKE_P1_DISPLAY_PORT_MAX 2 | ||
272 | |||
265 | static bool | 273 | static bool |
266 | intel_find_best_PLL(const intel_limit_t *limit, struct drm_crtc *crtc, | 274 | intel_find_best_PLL(const intel_limit_t *limit, struct drm_crtc *crtc, |
267 | int target, int refclk, intel_clock_t *best_clock); | 275 | int target, int refclk, intel_clock_t *best_clock); |
@@ -271,9 +279,6 @@ intel_find_best_reduced_PLL(const intel_limit_t *limit, struct drm_crtc *crtc, | |||
271 | static bool | 279 | static bool |
272 | intel_g4x_find_best_PLL(const intel_limit_t *limit, struct drm_crtc *crtc, | 280 | intel_g4x_find_best_PLL(const intel_limit_t *limit, struct drm_crtc *crtc, |
273 | int target, int refclk, intel_clock_t *best_clock); | 281 | int target, int refclk, intel_clock_t *best_clock); |
274 | static bool | ||
275 | intel_ironlake_find_best_PLL(const intel_limit_t *limit, struct drm_crtc *crtc, | ||
276 | int target, int refclk, intel_clock_t *best_clock); | ||
277 | 282 | ||
278 | static bool | 283 | static bool |
279 | intel_find_pll_g4x_dp(const intel_limit_t *, struct drm_crtc *crtc, | 284 | intel_find_pll_g4x_dp(const intel_limit_t *, struct drm_crtc *crtc, |
@@ -496,7 +501,7 @@ static const intel_limit_t intel_limits_ironlake_sdvo = { | |||
496 | .p2 = { .dot_limit = IRONLAKE_P2_DOT_LIMIT, | 501 | .p2 = { .dot_limit = IRONLAKE_P2_DOT_LIMIT, |
497 | .p2_slow = IRONLAKE_P2_SDVO_DAC_SLOW, | 502 | .p2_slow = IRONLAKE_P2_SDVO_DAC_SLOW, |
498 | .p2_fast = IRONLAKE_P2_SDVO_DAC_FAST }, | 503 | .p2_fast = IRONLAKE_P2_SDVO_DAC_FAST }, |
499 | .find_pll = intel_ironlake_find_best_PLL, | 504 | .find_pll = intel_g4x_find_best_PLL, |
500 | }; | 505 | }; |
501 | 506 | ||
502 | static const intel_limit_t intel_limits_ironlake_lvds = { | 507 | static const intel_limit_t intel_limits_ironlake_lvds = { |
@@ -511,7 +516,30 @@ static const intel_limit_t intel_limits_ironlake_lvds = { | |||
511 | .p2 = { .dot_limit = IRONLAKE_P2_DOT_LIMIT, | 516 | .p2 = { .dot_limit = IRONLAKE_P2_DOT_LIMIT, |
512 | .p2_slow = IRONLAKE_P2_LVDS_SLOW, | 517 | .p2_slow = IRONLAKE_P2_LVDS_SLOW, |
513 | .p2_fast = IRONLAKE_P2_LVDS_FAST }, | 518 | .p2_fast = IRONLAKE_P2_LVDS_FAST }, |
514 | .find_pll = intel_ironlake_find_best_PLL, | 519 | .find_pll = intel_g4x_find_best_PLL, |
520 | }; | ||
521 | |||
522 | static const intel_limit_t intel_limits_ironlake_display_port = { | ||
523 | .dot = { .min = IRONLAKE_DOT_MIN, | ||
524 | .max = IRONLAKE_DOT_MAX }, | ||
525 | .vco = { .min = IRONLAKE_VCO_MIN, | ||
526 | .max = IRONLAKE_VCO_MAX}, | ||
527 | .n = { .min = IRONLAKE_N_MIN, | ||
528 | .max = IRONLAKE_N_MAX }, | ||
529 | .m = { .min = IRONLAKE_M_MIN, | ||
530 | .max = IRONLAKE_M_MAX }, | ||
531 | .m1 = { .min = IRONLAKE_M1_MIN, | ||
532 | .max = IRONLAKE_M1_MAX }, | ||
533 | .m2 = { .min = IRONLAKE_M2_MIN, | ||
534 | .max = IRONLAKE_M2_MAX }, | ||
535 | .p = { .min = IRONLAKE_P_DISPLAY_PORT_MIN, | ||
536 | .max = IRONLAKE_P_DISPLAY_PORT_MAX }, | ||
537 | .p1 = { .min = IRONLAKE_P1_DISPLAY_PORT_MIN, | ||
538 | .max = IRONLAKE_P1_DISPLAY_PORT_MAX}, | ||
539 | .p2 = { .dot_limit = IRONLAKE_P2_DISPLAY_PORT_LIMIT, | ||
540 | .p2_slow = IRONLAKE_P2_DISPLAY_PORT_SLOW, | ||
541 | .p2_fast = IRONLAKE_P2_DISPLAY_PORT_FAST }, | ||
542 | .find_pll = intel_find_pll_ironlake_dp, | ||
515 | }; | 543 | }; |
516 | 544 | ||
517 | static const intel_limit_t *intel_ironlake_limit(struct drm_crtc *crtc) | 545 | static const intel_limit_t *intel_ironlake_limit(struct drm_crtc *crtc) |
@@ -519,6 +547,9 @@ static const intel_limit_t *intel_ironlake_limit(struct drm_crtc *crtc) | |||
519 | const intel_limit_t *limit; | 547 | const intel_limit_t *limit; |
520 | if (intel_pipe_has_type(crtc, INTEL_OUTPUT_LVDS)) | 548 | if (intel_pipe_has_type(crtc, INTEL_OUTPUT_LVDS)) |
521 | limit = &intel_limits_ironlake_lvds; | 549 | limit = &intel_limits_ironlake_lvds; |
550 | else if (intel_pipe_has_type(crtc, INTEL_OUTPUT_DISPLAYPORT) || | ||
551 | HAS_eDP) | ||
552 | limit = &intel_limits_ironlake_display_port; | ||
522 | else | 553 | else |
523 | limit = &intel_limits_ironlake_sdvo; | 554 | limit = &intel_limits_ironlake_sdvo; |
524 | 555 | ||
@@ -791,7 +822,13 @@ intel_g4x_find_best_PLL(const intel_limit_t *limit, struct drm_crtc *crtc, | |||
791 | found = false; | 822 | found = false; |
792 | 823 | ||
793 | if (intel_pipe_has_type(crtc, INTEL_OUTPUT_LVDS)) { | 824 | if (intel_pipe_has_type(crtc, INTEL_OUTPUT_LVDS)) { |
794 | if ((I915_READ(LVDS) & LVDS_CLKB_POWER_MASK) == | 825 | int lvds_reg; |
826 | |||
827 | if (IS_IRONLAKE(dev)) | ||
828 | lvds_reg = PCH_LVDS; | ||
829 | else | ||
830 | lvds_reg = LVDS; | ||
831 | if ((I915_READ(lvds_reg) & LVDS_CLKB_POWER_MASK) == | ||
795 | LVDS_CLKB_POWER_UP) | 832 | LVDS_CLKB_POWER_UP) |
796 | clock.p2 = limit->p2.p2_fast; | 833 | clock.p2 = limit->p2.p2_fast; |
797 | else | 834 | else |
@@ -839,6 +876,11 @@ intel_find_pll_ironlake_dp(const intel_limit_t *limit, struct drm_crtc *crtc, | |||
839 | { | 876 | { |
840 | struct drm_device *dev = crtc->dev; | 877 | struct drm_device *dev = crtc->dev; |
841 | intel_clock_t clock; | 878 | intel_clock_t clock; |
879 | |||
880 | /* return directly when it is eDP */ | ||
881 | if (HAS_eDP) | ||
882 | return true; | ||
883 | |||
842 | if (target < 200000) { | 884 | if (target < 200000) { |
843 | clock.n = 1; | 885 | clock.n = 1; |
844 | clock.p1 = 2; | 886 | clock.p1 = 2; |
@@ -857,68 +899,6 @@ intel_find_pll_ironlake_dp(const intel_limit_t *limit, struct drm_crtc *crtc, | |||
857 | return true; | 899 | return true; |
858 | } | 900 | } |
859 | 901 | ||
860 | static bool | ||
861 | intel_ironlake_find_best_PLL(const intel_limit_t *limit, struct drm_crtc *crtc, | ||
862 | int target, int refclk, intel_clock_t *best_clock) | ||
863 | { | ||
864 | struct drm_device *dev = crtc->dev; | ||
865 | struct drm_i915_private *dev_priv = dev->dev_private; | ||
866 | intel_clock_t clock; | ||
867 | int err_most = 47; | ||
868 | int err_min = 10000; | ||
869 | |||
870 | /* eDP has only 2 clock choice, no n/m/p setting */ | ||
871 | if (HAS_eDP) | ||
872 | return true; | ||
873 | |||
874 | if (intel_pipe_has_type(crtc, INTEL_OUTPUT_DISPLAYPORT)) | ||
875 | return intel_find_pll_ironlake_dp(limit, crtc, target, | ||
876 | refclk, best_clock); | ||
877 | |||
878 | if (intel_pipe_has_type(crtc, INTEL_OUTPUT_LVDS)) { | ||
879 | if ((I915_READ(PCH_LVDS) & LVDS_CLKB_POWER_MASK) == | ||
880 | LVDS_CLKB_POWER_UP) | ||
881 | clock.p2 = limit->p2.p2_fast; | ||
882 | else | ||
883 | clock.p2 = limit->p2.p2_slow; | ||
884 | } else { | ||
885 | if (target < limit->p2.dot_limit) | ||
886 | clock.p2 = limit->p2.p2_slow; | ||
887 | else | ||
888 | clock.p2 = limit->p2.p2_fast; | ||
889 | } | ||
890 | |||
891 | memset(best_clock, 0, sizeof(*best_clock)); | ||
892 | for (clock.p1 = limit->p1.max; clock.p1 >= limit->p1.min; clock.p1--) { | ||
893 | /* based on hardware requriment prefer smaller n to precision */ | ||
894 | for (clock.n = limit->n.min; clock.n <= limit->n.max; clock.n++) { | ||
895 | /* based on hardware requirment prefere larger m1,m2 */ | ||
896 | for (clock.m1 = limit->m1.max; | ||
897 | clock.m1 >= limit->m1.min; clock.m1--) { | ||
898 | for (clock.m2 = limit->m2.max; | ||
899 | clock.m2 >= limit->m2.min; clock.m2--) { | ||
900 | int this_err; | ||
901 | |||
902 | intel_clock(dev, refclk, &clock); | ||
903 | if (!intel_PLL_is_valid(crtc, &clock)) | ||
904 | continue; | ||
905 | this_err = abs((10000 - (target*10000/clock.dot))); | ||
906 | if (this_err < err_most) { | ||
907 | *best_clock = clock; | ||
908 | /* found on first matching */ | ||
909 | goto out; | ||
910 | } else if (this_err < err_min) { | ||
911 | *best_clock = clock; | ||
912 | err_min = this_err; | ||
913 | } | ||
914 | } | ||
915 | } | ||
916 | } | ||
917 | } | ||
918 | out: | ||
919 | return true; | ||
920 | } | ||
921 | |||
922 | /* DisplayPort has only two frequencies, 162MHz and 270MHz */ | 902 | /* DisplayPort has only two frequencies, 162MHz and 270MHz */ |
923 | static bool | 903 | static bool |
924 | intel_find_pll_g4x_dp(const intel_limit_t *limit, struct drm_crtc *crtc, | 904 | intel_find_pll_g4x_dp(const intel_limit_t *limit, struct drm_crtc *crtc, |
@@ -1493,6 +1473,10 @@ static void ironlake_crtc_dpms(struct drm_crtc *crtc, int mode) | |||
1493 | int trans_vsync_reg = (pipe == 0) ? TRANS_VSYNC_A : TRANS_VSYNC_B; | 1473 | int trans_vsync_reg = (pipe == 0) ? TRANS_VSYNC_A : TRANS_VSYNC_B; |
1494 | u32 temp; | 1474 | u32 temp; |
1495 | int tries = 5, j, n; | 1475 | int tries = 5, j, n; |
1476 | u32 pipe_bpc; | ||
1477 | |||
1478 | temp = I915_READ(pipeconf_reg); | ||
1479 | pipe_bpc = temp & PIPE_BPC_MASK; | ||
1496 | 1480 | ||
1497 | /* XXX: When our outputs are all unaware of DPMS modes other than off | 1481 | /* XXX: When our outputs are all unaware of DPMS modes other than off |
1498 | * and on, we should map those modes to DRM_MODE_DPMS_OFF in the CRTC. | 1482 | * and on, we should map those modes to DRM_MODE_DPMS_OFF in the CRTC. |
@@ -1524,6 +1508,12 @@ static void ironlake_crtc_dpms(struct drm_crtc *crtc, int mode) | |||
1524 | 1508 | ||
1525 | /* enable PCH FDI RX PLL, wait warmup plus DMI latency */ | 1509 | /* enable PCH FDI RX PLL, wait warmup plus DMI latency */ |
1526 | temp = I915_READ(fdi_rx_reg); | 1510 | temp = I915_READ(fdi_rx_reg); |
1511 | /* | ||
1512 | * make the BPC in FDI Rx be consistent with that in | ||
1513 | * pipeconf reg. | ||
1514 | */ | ||
1515 | temp &= ~(0x7 << 16); | ||
1516 | temp |= (pipe_bpc << 11); | ||
1527 | I915_WRITE(fdi_rx_reg, temp | FDI_RX_PLL_ENABLE | | 1517 | I915_WRITE(fdi_rx_reg, temp | FDI_RX_PLL_ENABLE | |
1528 | FDI_SEL_PCDCLK | | 1518 | FDI_SEL_PCDCLK | |
1529 | FDI_DP_PORT_WIDTH_X4); /* default 4 lanes */ | 1519 | FDI_DP_PORT_WIDTH_X4); /* default 4 lanes */ |
@@ -1666,6 +1656,12 @@ static void ironlake_crtc_dpms(struct drm_crtc *crtc, int mode) | |||
1666 | 1656 | ||
1667 | /* enable PCH transcoder */ | 1657 | /* enable PCH transcoder */ |
1668 | temp = I915_READ(transconf_reg); | 1658 | temp = I915_READ(transconf_reg); |
1659 | /* | ||
1660 | * make the BPC in transcoder be consistent with | ||
1661 | * that in pipeconf reg. | ||
1662 | */ | ||
1663 | temp &= ~PIPE_BPC_MASK; | ||
1664 | temp |= pipe_bpc; | ||
1669 | I915_WRITE(transconf_reg, temp | TRANS_ENABLE); | 1665 | I915_WRITE(transconf_reg, temp | TRANS_ENABLE); |
1670 | I915_READ(transconf_reg); | 1666 | I915_READ(transconf_reg); |
1671 | 1667 | ||
@@ -1745,6 +1741,9 @@ static void ironlake_crtc_dpms(struct drm_crtc *crtc, int mode) | |||
1745 | I915_READ(fdi_tx_reg); | 1741 | I915_READ(fdi_tx_reg); |
1746 | 1742 | ||
1747 | temp = I915_READ(fdi_rx_reg); | 1743 | temp = I915_READ(fdi_rx_reg); |
1744 | /* BPC in FDI rx is consistent with that in pipeconf */ | ||
1745 | temp &= ~(0x07 << 16); | ||
1746 | temp |= (pipe_bpc << 11); | ||
1748 | I915_WRITE(fdi_rx_reg, temp & ~FDI_RX_ENABLE); | 1747 | I915_WRITE(fdi_rx_reg, temp & ~FDI_RX_ENABLE); |
1749 | I915_READ(fdi_rx_reg); | 1748 | I915_READ(fdi_rx_reg); |
1750 | 1749 | ||
@@ -1789,7 +1788,12 @@ static void ironlake_crtc_dpms(struct drm_crtc *crtc, int mode) | |||
1789 | } | 1788 | } |
1790 | } | 1789 | } |
1791 | } | 1790 | } |
1792 | 1791 | temp = I915_READ(transconf_reg); | |
1792 | /* BPC in transcoder is consistent with that in pipeconf */ | ||
1793 | temp &= ~PIPE_BPC_MASK; | ||
1794 | temp |= pipe_bpc; | ||
1795 | I915_WRITE(transconf_reg, temp); | ||
1796 | I915_READ(transconf_reg); | ||
1793 | udelay(100); | 1797 | udelay(100); |
1794 | 1798 | ||
1795 | /* disable PCH DPLL */ | 1799 | /* disable PCH DPLL */ |
@@ -2448,7 +2452,7 @@ static void pineview_enable_cxsr(struct drm_device *dev, unsigned long clock, | |||
2448 | * A value of 5us seems to be a good balance; safe for very low end | 2452 | * A value of 5us seems to be a good balance; safe for very low end |
2449 | * platforms but not overly aggressive on lower latency configs. | 2453 | * platforms but not overly aggressive on lower latency configs. |
2450 | */ | 2454 | */ |
2451 | const static int latency_ns = 5000; | 2455 | static const int latency_ns = 5000; |
2452 | 2456 | ||
2453 | static int i9xx_get_fifo_size(struct drm_device *dev, int plane) | 2457 | static int i9xx_get_fifo_size(struct drm_device *dev, int plane) |
2454 | { | 2458 | { |
@@ -2559,7 +2563,7 @@ static void g4x_update_wm(struct drm_device *dev, int planea_clock, | |||
2559 | /* Calc sr entries for one plane configs */ | 2563 | /* Calc sr entries for one plane configs */ |
2560 | if (sr_hdisplay && (!planea_clock || !planeb_clock)) { | 2564 | if (sr_hdisplay && (!planea_clock || !planeb_clock)) { |
2561 | /* self-refresh has much higher latency */ | 2565 | /* self-refresh has much higher latency */ |
2562 | const static int sr_latency_ns = 12000; | 2566 | static const int sr_latency_ns = 12000; |
2563 | 2567 | ||
2564 | sr_clock = planea_clock ? planea_clock : planeb_clock; | 2568 | sr_clock = planea_clock ? planea_clock : planeb_clock; |
2565 | line_time_us = ((sr_hdisplay * 1000) / sr_clock); | 2569 | line_time_us = ((sr_hdisplay * 1000) / sr_clock); |
@@ -2598,7 +2602,7 @@ static void i965_update_wm(struct drm_device *dev, int planea_clock, | |||
2598 | /* Calc sr entries for one plane configs */ | 2602 | /* Calc sr entries for one plane configs */ |
2599 | if (sr_hdisplay && (!planea_clock || !planeb_clock)) { | 2603 | if (sr_hdisplay && (!planea_clock || !planeb_clock)) { |
2600 | /* self-refresh has much higher latency */ | 2604 | /* self-refresh has much higher latency */ |
2601 | const static int sr_latency_ns = 12000; | 2605 | static const int sr_latency_ns = 12000; |
2602 | 2606 | ||
2603 | sr_clock = planea_clock ? planea_clock : planeb_clock; | 2607 | sr_clock = planea_clock ? planea_clock : planeb_clock; |
2604 | line_time_us = ((sr_hdisplay * 1000) / sr_clock); | 2608 | line_time_us = ((sr_hdisplay * 1000) / sr_clock); |
@@ -2667,7 +2671,7 @@ static void i9xx_update_wm(struct drm_device *dev, int planea_clock, | |||
2667 | if (HAS_FW_BLC(dev) && sr_hdisplay && | 2671 | if (HAS_FW_BLC(dev) && sr_hdisplay && |
2668 | (!planea_clock || !planeb_clock)) { | 2672 | (!planea_clock || !planeb_clock)) { |
2669 | /* self-refresh has much higher latency */ | 2673 | /* self-refresh has much higher latency */ |
2670 | const static int sr_latency_ns = 6000; | 2674 | static const int sr_latency_ns = 6000; |
2671 | 2675 | ||
2672 | sr_clock = planea_clock ? planea_clock : planeb_clock; | 2676 | sr_clock = planea_clock ? planea_clock : planeb_clock; |
2673 | line_time_us = ((sr_hdisplay * 1000) / sr_clock); | 2677 | line_time_us = ((sr_hdisplay * 1000) / sr_clock); |
@@ -2969,6 +2973,18 @@ static int intel_crtc_mode_set(struct drm_crtc *crtc, | |||
2969 | 2973 | ||
2970 | /* determine panel color depth */ | 2974 | /* determine panel color depth */ |
2971 | temp = I915_READ(pipeconf_reg); | 2975 | temp = I915_READ(pipeconf_reg); |
2976 | temp &= ~PIPE_BPC_MASK; | ||
2977 | if (is_lvds) { | ||
2978 | int lvds_reg = I915_READ(PCH_LVDS); | ||
2979 | /* the BPC will be 6 if it is 18-bit LVDS panel */ | ||
2980 | if ((lvds_reg & LVDS_A3_POWER_MASK) == LVDS_A3_POWER_UP) | ||
2981 | temp |= PIPE_8BPC; | ||
2982 | else | ||
2983 | temp |= PIPE_6BPC; | ||
2984 | } else | ||
2985 | temp |= PIPE_8BPC; | ||
2986 | I915_WRITE(pipeconf_reg, temp); | ||
2987 | I915_READ(pipeconf_reg); | ||
2972 | 2988 | ||
2973 | switch (temp & PIPE_BPC_MASK) { | 2989 | switch (temp & PIPE_BPC_MASK) { |
2974 | case PIPE_8BPC: | 2990 | case PIPE_8BPC: |
@@ -3195,7 +3211,20 @@ static int intel_crtc_mode_set(struct drm_crtc *crtc, | |||
3195 | * appropriately here, but we need to look more thoroughly into how | 3211 | * appropriately here, but we need to look more thoroughly into how |
3196 | * panels behave in the two modes. | 3212 | * panels behave in the two modes. |
3197 | */ | 3213 | */ |
3198 | 3214 | /* set the dithering flag */ | |
3215 | if (IS_I965G(dev)) { | ||
3216 | if (dev_priv->lvds_dither) { | ||
3217 | if (IS_IRONLAKE(dev)) | ||
3218 | pipeconf |= PIPE_ENABLE_DITHER; | ||
3219 | else | ||
3220 | lvds |= LVDS_ENABLE_DITHER; | ||
3221 | } else { | ||
3222 | if (IS_IRONLAKE(dev)) | ||
3223 | pipeconf &= ~PIPE_ENABLE_DITHER; | ||
3224 | else | ||
3225 | lvds &= ~LVDS_ENABLE_DITHER; | ||
3226 | } | ||
3227 | } | ||
3199 | I915_WRITE(lvds_reg, lvds); | 3228 | I915_WRITE(lvds_reg, lvds); |
3200 | I915_READ(lvds_reg); | 3229 | I915_READ(lvds_reg); |
3201 | } | 3230 | } |
@@ -3385,7 +3414,7 @@ static int intel_crtc_cursor_set(struct drm_crtc *crtc, | |||
3385 | 3414 | ||
3386 | /* we only need to pin inside GTT if cursor is non-phy */ | 3415 | /* we only need to pin inside GTT if cursor is non-phy */ |
3387 | mutex_lock(&dev->struct_mutex); | 3416 | mutex_lock(&dev->struct_mutex); |
3388 | if (!dev_priv->cursor_needs_physical) { | 3417 | if (!dev_priv->info->cursor_needs_physical) { |
3389 | ret = i915_gem_object_pin(bo, PAGE_SIZE); | 3418 | ret = i915_gem_object_pin(bo, PAGE_SIZE); |
3390 | if (ret) { | 3419 | if (ret) { |
3391 | DRM_ERROR("failed to pin cursor bo\n"); | 3420 | DRM_ERROR("failed to pin cursor bo\n"); |
@@ -3420,7 +3449,7 @@ static int intel_crtc_cursor_set(struct drm_crtc *crtc, | |||
3420 | I915_WRITE(base, addr); | 3449 | I915_WRITE(base, addr); |
3421 | 3450 | ||
3422 | if (intel_crtc->cursor_bo) { | 3451 | if (intel_crtc->cursor_bo) { |
3423 | if (dev_priv->cursor_needs_physical) { | 3452 | if (dev_priv->info->cursor_needs_physical) { |
3424 | if (intel_crtc->cursor_bo != bo) | 3453 | if (intel_crtc->cursor_bo != bo) |
3425 | i915_gem_detach_phys_object(dev, intel_crtc->cursor_bo); | 3454 | i915_gem_detach_phys_object(dev, intel_crtc->cursor_bo); |
3426 | } else | 3455 | } else |
@@ -3779,125 +3808,6 @@ static void intel_gpu_idle_timer(unsigned long arg) | |||
3779 | queue_work(dev_priv->wq, &dev_priv->idle_work); | 3808 | queue_work(dev_priv->wq, &dev_priv->idle_work); |
3780 | } | 3809 | } |
3781 | 3810 | ||
3782 | void intel_increase_renderclock(struct drm_device *dev, bool schedule) | ||
3783 | { | ||
3784 | drm_i915_private_t *dev_priv = dev->dev_private; | ||
3785 | |||
3786 | if (IS_IRONLAKE(dev)) | ||
3787 | return; | ||
3788 | |||
3789 | if (!dev_priv->render_reclock_avail) { | ||
3790 | DRM_DEBUG_DRIVER("not reclocking render clock\n"); | ||
3791 | return; | ||
3792 | } | ||
3793 | |||
3794 | /* Restore render clock frequency to original value */ | ||
3795 | if (IS_G4X(dev) || IS_I9XX(dev)) | ||
3796 | pci_write_config_word(dev->pdev, GCFGC, dev_priv->orig_clock); | ||
3797 | else if (IS_I85X(dev)) | ||
3798 | pci_write_config_word(dev->pdev, HPLLCC, dev_priv->orig_clock); | ||
3799 | DRM_DEBUG_DRIVER("increasing render clock frequency\n"); | ||
3800 | |||
3801 | /* Schedule downclock */ | ||
3802 | if (schedule) | ||
3803 | mod_timer(&dev_priv->idle_timer, jiffies + | ||
3804 | msecs_to_jiffies(GPU_IDLE_TIMEOUT)); | ||
3805 | } | ||
3806 | |||
3807 | void intel_decrease_renderclock(struct drm_device *dev) | ||
3808 | { | ||
3809 | drm_i915_private_t *dev_priv = dev->dev_private; | ||
3810 | |||
3811 | if (IS_IRONLAKE(dev)) | ||
3812 | return; | ||
3813 | |||
3814 | if (!dev_priv->render_reclock_avail) { | ||
3815 | DRM_DEBUG_DRIVER("not reclocking render clock\n"); | ||
3816 | return; | ||
3817 | } | ||
3818 | |||
3819 | if (IS_G4X(dev)) { | ||
3820 | u16 gcfgc; | ||
3821 | |||
3822 | /* Adjust render clock... */ | ||
3823 | pci_read_config_word(dev->pdev, GCFGC, &gcfgc); | ||
3824 | |||
3825 | /* Down to minimum... */ | ||
3826 | gcfgc &= ~GM45_GC_RENDER_CLOCK_MASK; | ||
3827 | gcfgc |= GM45_GC_RENDER_CLOCK_266_MHZ; | ||
3828 | |||
3829 | pci_write_config_word(dev->pdev, GCFGC, gcfgc); | ||
3830 | } else if (IS_I965G(dev)) { | ||
3831 | u16 gcfgc; | ||
3832 | |||
3833 | /* Adjust render clock... */ | ||
3834 | pci_read_config_word(dev->pdev, GCFGC, &gcfgc); | ||
3835 | |||
3836 | /* Down to minimum... */ | ||
3837 | gcfgc &= ~I965_GC_RENDER_CLOCK_MASK; | ||
3838 | gcfgc |= I965_GC_RENDER_CLOCK_267_MHZ; | ||
3839 | |||
3840 | pci_write_config_word(dev->pdev, GCFGC, gcfgc); | ||
3841 | } else if (IS_I945G(dev) || IS_I945GM(dev)) { | ||
3842 | u16 gcfgc; | ||
3843 | |||
3844 | /* Adjust render clock... */ | ||
3845 | pci_read_config_word(dev->pdev, GCFGC, &gcfgc); | ||
3846 | |||
3847 | /* Down to minimum... */ | ||
3848 | gcfgc &= ~I945_GC_RENDER_CLOCK_MASK; | ||
3849 | gcfgc |= I945_GC_RENDER_CLOCK_166_MHZ; | ||
3850 | |||
3851 | pci_write_config_word(dev->pdev, GCFGC, gcfgc); | ||
3852 | } else if (IS_I915G(dev)) { | ||
3853 | u16 gcfgc; | ||
3854 | |||
3855 | /* Adjust render clock... */ | ||
3856 | pci_read_config_word(dev->pdev, GCFGC, &gcfgc); | ||
3857 | |||
3858 | /* Down to minimum... */ | ||
3859 | gcfgc &= ~I915_GC_RENDER_CLOCK_MASK; | ||
3860 | gcfgc |= I915_GC_RENDER_CLOCK_166_MHZ; | ||
3861 | |||
3862 | pci_write_config_word(dev->pdev, GCFGC, gcfgc); | ||
3863 | } else if (IS_I85X(dev)) { | ||
3864 | u16 hpllcc; | ||
3865 | |||
3866 | /* Adjust render clock... */ | ||
3867 | pci_read_config_word(dev->pdev, HPLLCC, &hpllcc); | ||
3868 | |||
3869 | /* Up to maximum... */ | ||
3870 | hpllcc &= ~GC_CLOCK_CONTROL_MASK; | ||
3871 | hpllcc |= GC_CLOCK_133_200; | ||
3872 | |||
3873 | pci_write_config_word(dev->pdev, HPLLCC, hpllcc); | ||
3874 | } | ||
3875 | DRM_DEBUG_DRIVER("decreasing render clock frequency\n"); | ||
3876 | } | ||
3877 | |||
3878 | /* Note that no increase function is needed for this - increase_renderclock() | ||
3879 | * will also rewrite these bits | ||
3880 | */ | ||
3881 | void intel_decrease_displayclock(struct drm_device *dev) | ||
3882 | { | ||
3883 | if (IS_IRONLAKE(dev)) | ||
3884 | return; | ||
3885 | |||
3886 | if (IS_I945G(dev) || IS_I945GM(dev) || IS_I915G(dev) || | ||
3887 | IS_I915GM(dev)) { | ||
3888 | u16 gcfgc; | ||
3889 | |||
3890 | /* Adjust render clock... */ | ||
3891 | pci_read_config_word(dev->pdev, GCFGC, &gcfgc); | ||
3892 | |||
3893 | /* Down to minimum... */ | ||
3894 | gcfgc &= ~0xf0; | ||
3895 | gcfgc |= 0x80; | ||
3896 | |||
3897 | pci_write_config_word(dev->pdev, GCFGC, gcfgc); | ||
3898 | } | ||
3899 | } | ||
3900 | |||
3901 | #define CRTC_IDLE_TIMEOUT 1000 /* ms */ | 3811 | #define CRTC_IDLE_TIMEOUT 1000 /* ms */ |
3902 | 3812 | ||
3903 | static void intel_crtc_idle_timer(unsigned long arg) | 3813 | static void intel_crtc_idle_timer(unsigned long arg) |
@@ -4011,12 +3921,6 @@ static void intel_idle_update(struct work_struct *work) | |||
4011 | 3921 | ||
4012 | mutex_lock(&dev->struct_mutex); | 3922 | mutex_lock(&dev->struct_mutex); |
4013 | 3923 | ||
4014 | /* GPU isn't processing, downclock it. */ | ||
4015 | if (!dev_priv->busy) { | ||
4016 | intel_decrease_renderclock(dev); | ||
4017 | intel_decrease_displayclock(dev); | ||
4018 | } | ||
4019 | |||
4020 | list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) { | 3924 | list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) { |
4021 | /* Skip inactive CRTCs */ | 3925 | /* Skip inactive CRTCs */ |
4022 | if (!crtc->fb) | 3926 | if (!crtc->fb) |
@@ -4050,13 +3954,11 @@ void intel_mark_busy(struct drm_device *dev, struct drm_gem_object *obj) | |||
4050 | if (!drm_core_check_feature(dev, DRIVER_MODESET)) | 3954 | if (!drm_core_check_feature(dev, DRIVER_MODESET)) |
4051 | return; | 3955 | return; |
4052 | 3956 | ||
4053 | if (!dev_priv->busy) { | 3957 | if (!dev_priv->busy) |
4054 | dev_priv->busy = true; | 3958 | dev_priv->busy = true; |
4055 | intel_increase_renderclock(dev, true); | 3959 | else |
4056 | } else { | ||
4057 | mod_timer(&dev_priv->idle_timer, jiffies + | 3960 | mod_timer(&dev_priv->idle_timer, jiffies + |
4058 | msecs_to_jiffies(GPU_IDLE_TIMEOUT)); | 3961 | msecs_to_jiffies(GPU_IDLE_TIMEOUT)); |
4059 | } | ||
4060 | 3962 | ||
4061 | list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) { | 3963 | list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) { |
4062 | if (!crtc->fb) | 3964 | if (!crtc->fb) |
@@ -4400,29 +4302,43 @@ static void intel_setup_outputs(struct drm_device *dev) | |||
4400 | bool found = false; | 4302 | bool found = false; |
4401 | 4303 | ||
4402 | if (I915_READ(SDVOB) & SDVO_DETECTED) { | 4304 | if (I915_READ(SDVOB) & SDVO_DETECTED) { |
4305 | DRM_DEBUG_KMS("probing SDVOB\n"); | ||
4403 | found = intel_sdvo_init(dev, SDVOB); | 4306 | found = intel_sdvo_init(dev, SDVOB); |
4404 | if (!found && SUPPORTS_INTEGRATED_HDMI(dev)) | 4307 | if (!found && SUPPORTS_INTEGRATED_HDMI(dev)) { |
4308 | DRM_DEBUG_KMS("probing HDMI on SDVOB\n"); | ||
4405 | intel_hdmi_init(dev, SDVOB); | 4309 | intel_hdmi_init(dev, SDVOB); |
4310 | } | ||
4406 | 4311 | ||
4407 | if (!found && SUPPORTS_INTEGRATED_DP(dev)) | 4312 | if (!found && SUPPORTS_INTEGRATED_DP(dev)) { |
4313 | DRM_DEBUG_KMS("probing DP_B\n"); | ||
4408 | intel_dp_init(dev, DP_B); | 4314 | intel_dp_init(dev, DP_B); |
4315 | } | ||
4409 | } | 4316 | } |
4410 | 4317 | ||
4411 | /* Before G4X SDVOC doesn't have its own detect register */ | 4318 | /* Before G4X SDVOC doesn't have its own detect register */ |
4412 | 4319 | ||
4413 | if (I915_READ(SDVOB) & SDVO_DETECTED) | 4320 | if (I915_READ(SDVOB) & SDVO_DETECTED) { |
4321 | DRM_DEBUG_KMS("probing SDVOC\n"); | ||
4414 | found = intel_sdvo_init(dev, SDVOC); | 4322 | found = intel_sdvo_init(dev, SDVOC); |
4323 | } | ||
4415 | 4324 | ||
4416 | if (!found && (I915_READ(SDVOC) & SDVO_DETECTED)) { | 4325 | if (!found && (I915_READ(SDVOC) & SDVO_DETECTED)) { |
4417 | 4326 | ||
4418 | if (SUPPORTS_INTEGRATED_HDMI(dev)) | 4327 | if (SUPPORTS_INTEGRATED_HDMI(dev)) { |
4328 | DRM_DEBUG_KMS("probing HDMI on SDVOC\n"); | ||
4419 | intel_hdmi_init(dev, SDVOC); | 4329 | intel_hdmi_init(dev, SDVOC); |
4420 | if (SUPPORTS_INTEGRATED_DP(dev)) | 4330 | } |
4331 | if (SUPPORTS_INTEGRATED_DP(dev)) { | ||
4332 | DRM_DEBUG_KMS("probing DP_C\n"); | ||
4421 | intel_dp_init(dev, DP_C); | 4333 | intel_dp_init(dev, DP_C); |
4334 | } | ||
4422 | } | 4335 | } |
4423 | 4336 | ||
4424 | if (SUPPORTS_INTEGRATED_DP(dev) && (I915_READ(DP_D) & DP_DETECTED)) | 4337 | if (SUPPORTS_INTEGRATED_DP(dev) && |
4338 | (I915_READ(DP_D) & DP_DETECTED)) { | ||
4339 | DRM_DEBUG_KMS("probing DP_D\n"); | ||
4425 | intel_dp_init(dev, DP_D); | 4340 | intel_dp_init(dev, DP_D); |
4341 | } | ||
4426 | } else if (IS_I8XX(dev)) | 4342 | } else if (IS_I8XX(dev)) |
4427 | intel_dvo_init(dev); | 4343 | intel_dvo_init(dev); |
4428 | 4344 | ||
@@ -4527,6 +4443,42 @@ static const struct drm_mode_config_funcs intel_mode_funcs = { | |||
4527 | .fb_changed = intelfb_probe, | 4443 | .fb_changed = intelfb_probe, |
4528 | }; | 4444 | }; |
4529 | 4445 | ||
4446 | static struct drm_gem_object * | ||
4447 | intel_alloc_power_context(struct drm_device *dev) | ||
4448 | { | ||
4449 | struct drm_gem_object *pwrctx; | ||
4450 | int ret; | ||
4451 | |||
4452 | pwrctx = drm_gem_object_alloc(dev, 4096); | ||
4453 | if (!pwrctx) { | ||
4454 | DRM_DEBUG("failed to alloc power context, RC6 disabled\n"); | ||
4455 | return NULL; | ||
4456 | } | ||
4457 | |||
4458 | mutex_lock(&dev->struct_mutex); | ||
4459 | ret = i915_gem_object_pin(pwrctx, 4096); | ||
4460 | if (ret) { | ||
4461 | DRM_ERROR("failed to pin power context: %d\n", ret); | ||
4462 | goto err_unref; | ||
4463 | } | ||
4464 | |||
4465 | ret = i915_gem_object_set_to_gtt_domain(pwrctx, 1); | ||
4466 | if (ret) { | ||
4467 | DRM_ERROR("failed to set-domain on power context: %d\n", ret); | ||
4468 | goto err_unpin; | ||
4469 | } | ||
4470 | mutex_unlock(&dev->struct_mutex); | ||
4471 | |||
4472 | return pwrctx; | ||
4473 | |||
4474 | err_unpin: | ||
4475 | i915_gem_object_unpin(pwrctx); | ||
4476 | err_unref: | ||
4477 | drm_gem_object_unreference(pwrctx); | ||
4478 | mutex_unlock(&dev->struct_mutex); | ||
4479 | return NULL; | ||
4480 | } | ||
4481 | |||
4530 | void intel_init_clock_gating(struct drm_device *dev) | 4482 | void intel_init_clock_gating(struct drm_device *dev) |
4531 | { | 4483 | { |
4532 | struct drm_i915_private *dev_priv = dev->dev_private; | 4484 | struct drm_i915_private *dev_priv = dev->dev_private; |
@@ -4579,42 +4531,27 @@ void intel_init_clock_gating(struct drm_device *dev) | |||
4579 | * GPU can automatically power down the render unit if given a page | 4531 | * GPU can automatically power down the render unit if given a page |
4580 | * to save state. | 4532 | * to save state. |
4581 | */ | 4533 | */ |
4582 | if (I915_HAS_RC6(dev)) { | 4534 | if (I915_HAS_RC6(dev) && drm_core_check_feature(dev, DRIVER_MODESET)) { |
4583 | struct drm_gem_object *pwrctx; | 4535 | struct drm_i915_gem_object *obj_priv = NULL; |
4584 | struct drm_i915_gem_object *obj_priv; | ||
4585 | int ret; | ||
4586 | 4536 | ||
4587 | if (dev_priv->pwrctx) { | 4537 | if (dev_priv->pwrctx) { |
4588 | obj_priv = dev_priv->pwrctx->driver_private; | 4538 | obj_priv = dev_priv->pwrctx->driver_private; |
4589 | } else { | 4539 | } else { |
4590 | pwrctx = drm_gem_object_alloc(dev, 4096); | 4540 | struct drm_gem_object *pwrctx; |
4591 | if (!pwrctx) { | ||
4592 | DRM_DEBUG("failed to alloc power context, " | ||
4593 | "RC6 disabled\n"); | ||
4594 | goto out; | ||
4595 | } | ||
4596 | 4541 | ||
4597 | ret = i915_gem_object_pin(pwrctx, 4096); | 4542 | pwrctx = intel_alloc_power_context(dev); |
4598 | if (ret) { | 4543 | if (pwrctx) { |
4599 | DRM_ERROR("failed to pin power context: %d\n", | 4544 | dev_priv->pwrctx = pwrctx; |
4600 | ret); | 4545 | obj_priv = pwrctx->driver_private; |
4601 | drm_gem_object_unreference(pwrctx); | ||
4602 | goto out; | ||
4603 | } | 4546 | } |
4604 | |||
4605 | i915_gem_object_set_to_gtt_domain(pwrctx, 1); | ||
4606 | |||
4607 | dev_priv->pwrctx = pwrctx; | ||
4608 | obj_priv = pwrctx->driver_private; | ||
4609 | } | 4547 | } |
4610 | 4548 | ||
4611 | I915_WRITE(PWRCTXA, obj_priv->gtt_offset | PWRCTX_EN); | 4549 | if (obj_priv) { |
4612 | I915_WRITE(MCHBAR_RENDER_STANDBY, | 4550 | I915_WRITE(PWRCTXA, obj_priv->gtt_offset | PWRCTX_EN); |
4613 | I915_READ(MCHBAR_RENDER_STANDBY) & ~RCX_SW_EXIT); | 4551 | I915_WRITE(MCHBAR_RENDER_STANDBY, |
4552 | I915_READ(MCHBAR_RENDER_STANDBY) & ~RCX_SW_EXIT); | ||
4553 | } | ||
4614 | } | 4554 | } |
4615 | |||
4616 | out: | ||
4617 | return; | ||
4618 | } | 4555 | } |
4619 | 4556 | ||
4620 | /* Set up chip specific display functions */ | 4557 | /* Set up chip specific display functions */ |
@@ -4770,7 +4707,6 @@ void intel_modeset_cleanup(struct drm_device *dev) | |||
4770 | del_timer_sync(&intel_crtc->idle_timer); | 4707 | del_timer_sync(&intel_crtc->idle_timer); |
4771 | } | 4708 | } |
4772 | 4709 | ||
4773 | intel_increase_renderclock(dev, false); | ||
4774 | del_timer_sync(&dev_priv->idle_timer); | 4710 | del_timer_sync(&dev_priv->idle_timer); |
4775 | 4711 | ||
4776 | if (dev_priv->display.disable_fbc) | 4712 | if (dev_priv->display.disable_fbc) |
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c index 4e7aa8b7b938..1349d9fd01c4 100644 --- a/drivers/gpu/drm/i915/intel_dp.c +++ b/drivers/gpu/drm/i915/intel_dp.c | |||
@@ -1402,14 +1402,20 @@ intel_dp_init(struct drm_device *dev, int output_reg) | |||
1402 | break; | 1402 | break; |
1403 | case DP_B: | 1403 | case DP_B: |
1404 | case PCH_DP_B: | 1404 | case PCH_DP_B: |
1405 | dev_priv->hotplug_supported_mask |= | ||
1406 | HDMIB_HOTPLUG_INT_STATUS; | ||
1405 | name = "DPDDC-B"; | 1407 | name = "DPDDC-B"; |
1406 | break; | 1408 | break; |
1407 | case DP_C: | 1409 | case DP_C: |
1408 | case PCH_DP_C: | 1410 | case PCH_DP_C: |
1411 | dev_priv->hotplug_supported_mask |= | ||
1412 | HDMIC_HOTPLUG_INT_STATUS; | ||
1409 | name = "DPDDC-C"; | 1413 | name = "DPDDC-C"; |
1410 | break; | 1414 | break; |
1411 | case DP_D: | 1415 | case DP_D: |
1412 | case PCH_DP_D: | 1416 | case PCH_DP_D: |
1417 | dev_priv->hotplug_supported_mask |= | ||
1418 | HDMID_HOTPLUG_INT_STATUS; | ||
1413 | name = "DPDDC-D"; | 1419 | name = "DPDDC-D"; |
1414 | break; | 1420 | break; |
1415 | } | 1421 | } |
diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c index f04dbbe7d400..06431941b233 100644 --- a/drivers/gpu/drm/i915/intel_hdmi.c +++ b/drivers/gpu/drm/i915/intel_hdmi.c | |||
@@ -303,21 +303,26 @@ void intel_hdmi_init(struct drm_device *dev, int sdvox_reg) | |||
303 | if (sdvox_reg == SDVOB) { | 303 | if (sdvox_reg == SDVOB) { |
304 | intel_output->clone_mask = (1 << INTEL_HDMIB_CLONE_BIT); | 304 | intel_output->clone_mask = (1 << INTEL_HDMIB_CLONE_BIT); |
305 | intel_output->ddc_bus = intel_i2c_create(dev, GPIOE, "HDMIB"); | 305 | intel_output->ddc_bus = intel_i2c_create(dev, GPIOE, "HDMIB"); |
306 | dev_priv->hotplug_supported_mask |= HDMIB_HOTPLUG_INT_STATUS; | ||
306 | } else if (sdvox_reg == SDVOC) { | 307 | } else if (sdvox_reg == SDVOC) { |
307 | intel_output->clone_mask = (1 << INTEL_HDMIC_CLONE_BIT); | 308 | intel_output->clone_mask = (1 << INTEL_HDMIC_CLONE_BIT); |
308 | intel_output->ddc_bus = intel_i2c_create(dev, GPIOD, "HDMIC"); | 309 | intel_output->ddc_bus = intel_i2c_create(dev, GPIOD, "HDMIC"); |
310 | dev_priv->hotplug_supported_mask |= HDMIC_HOTPLUG_INT_STATUS; | ||
309 | } else if (sdvox_reg == HDMIB) { | 311 | } else if (sdvox_reg == HDMIB) { |
310 | intel_output->clone_mask = (1 << INTEL_HDMID_CLONE_BIT); | 312 | intel_output->clone_mask = (1 << INTEL_HDMID_CLONE_BIT); |
311 | intel_output->ddc_bus = intel_i2c_create(dev, PCH_GPIOE, | 313 | intel_output->ddc_bus = intel_i2c_create(dev, PCH_GPIOE, |
312 | "HDMIB"); | 314 | "HDMIB"); |
315 | dev_priv->hotplug_supported_mask |= HDMIB_HOTPLUG_INT_STATUS; | ||
313 | } else if (sdvox_reg == HDMIC) { | 316 | } else if (sdvox_reg == HDMIC) { |
314 | intel_output->clone_mask = (1 << INTEL_HDMIE_CLONE_BIT); | 317 | intel_output->clone_mask = (1 << INTEL_HDMIE_CLONE_BIT); |
315 | intel_output->ddc_bus = intel_i2c_create(dev, PCH_GPIOD, | 318 | intel_output->ddc_bus = intel_i2c_create(dev, PCH_GPIOD, |
316 | "HDMIC"); | 319 | "HDMIC"); |
320 | dev_priv->hotplug_supported_mask |= HDMIC_HOTPLUG_INT_STATUS; | ||
317 | } else if (sdvox_reg == HDMID) { | 321 | } else if (sdvox_reg == HDMID) { |
318 | intel_output->clone_mask = (1 << INTEL_HDMIF_CLONE_BIT); | 322 | intel_output->clone_mask = (1 << INTEL_HDMIF_CLONE_BIT); |
319 | intel_output->ddc_bus = intel_i2c_create(dev, PCH_GPIOF, | 323 | intel_output->ddc_bus = intel_i2c_create(dev, PCH_GPIOF, |
320 | "HDMID"); | 324 | "HDMID"); |
325 | dev_priv->hotplug_supported_mask |= HDMID_HOTPLUG_INT_STATUS; | ||
321 | } | 326 | } |
322 | if (!intel_output->ddc_bus) | 327 | if (!intel_output->ddc_bus) |
323 | goto err_connector; | 328 | goto err_connector; |
diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c index 3118ce274e67..f4b4aa242df1 100644 --- a/drivers/gpu/drm/i915/intel_lvds.c +++ b/drivers/gpu/drm/i915/intel_lvds.c | |||
@@ -608,6 +608,13 @@ static const struct dmi_system_id bad_lid_status[] = { | |||
608 | DMI_MATCH(DMI_PRODUCT_NAME, "Aspire one"), | 608 | DMI_MATCH(DMI_PRODUCT_NAME, "Aspire one"), |
609 | }, | 609 | }, |
610 | }, | 610 | }, |
611 | { | ||
612 | .ident = "PC-81005", | ||
613 | .matches = { | ||
614 | DMI_MATCH(DMI_SYS_VENDOR, "MALATA"), | ||
615 | DMI_MATCH(DMI_PRODUCT_NAME, "PC-81005"), | ||
616 | }, | ||
617 | }, | ||
611 | { } | 618 | { } |
612 | }; | 619 | }; |
613 | 620 | ||
@@ -679,7 +686,14 @@ static int intel_lid_notify(struct notifier_block *nb, unsigned long val, | |||
679 | struct drm_i915_private *dev_priv = | 686 | struct drm_i915_private *dev_priv = |
680 | container_of(nb, struct drm_i915_private, lid_notifier); | 687 | container_of(nb, struct drm_i915_private, lid_notifier); |
681 | struct drm_device *dev = dev_priv->dev; | 688 | struct drm_device *dev = dev_priv->dev; |
689 | struct drm_connector *connector = dev_priv->int_lvds_connector; | ||
682 | 690 | ||
691 | /* | ||
692 | * check and update the status of LVDS connector after receiving | ||
693 | * the LID nofication event. | ||
694 | */ | ||
695 | if (connector) | ||
696 | connector->status = connector->funcs->detect(connector); | ||
683 | if (!acpi_lid_open()) { | 697 | if (!acpi_lid_open()) { |
684 | dev_priv->modeset_on_lid = 1; | 698 | dev_priv->modeset_on_lid = 1; |
685 | return NOTIFY_OK; | 699 | return NOTIFY_OK; |
@@ -854,65 +868,6 @@ static const struct dmi_system_id intel_no_lvds[] = { | |||
854 | { } /* terminating entry */ | 868 | { } /* terminating entry */ |
855 | }; | 869 | }; |
856 | 870 | ||
857 | #ifdef CONFIG_ACPI | ||
858 | /* | ||
859 | * check_lid_device -- check whether @handle is an ACPI LID device. | ||
860 | * @handle: ACPI device handle | ||
861 | * @level : depth in the ACPI namespace tree | ||
862 | * @context: the number of LID device when we find the device | ||
863 | * @rv: a return value to fill if desired (Not use) | ||
864 | */ | ||
865 | static acpi_status | ||
866 | check_lid_device(acpi_handle handle, u32 level, void *context, | ||
867 | void **return_value) | ||
868 | { | ||
869 | struct acpi_device *acpi_dev; | ||
870 | int *lid_present = context; | ||
871 | |||
872 | acpi_dev = NULL; | ||
873 | /* Get the acpi device for device handle */ | ||
874 | if (acpi_bus_get_device(handle, &acpi_dev) || !acpi_dev) { | ||
875 | /* If there is no ACPI device for handle, return */ | ||
876 | return AE_OK; | ||
877 | } | ||
878 | |||
879 | if (!strncmp(acpi_device_hid(acpi_dev), "PNP0C0D", 7)) | ||
880 | *lid_present = 1; | ||
881 | |||
882 | return AE_OK; | ||
883 | } | ||
884 | |||
885 | /** | ||
886 | * check whether there exists the ACPI LID device by enumerating the ACPI | ||
887 | * device tree. | ||
888 | */ | ||
889 | static int intel_lid_present(void) | ||
890 | { | ||
891 | int lid_present = 0; | ||
892 | |||
893 | if (acpi_disabled) { | ||
894 | /* If ACPI is disabled, there is no ACPI device tree to | ||
895 | * check, so assume the LID device would have been present. | ||
896 | */ | ||
897 | return 1; | ||
898 | } | ||
899 | |||
900 | acpi_walk_namespace(ACPI_TYPE_DEVICE, ACPI_ROOT_OBJECT, | ||
901 | ACPI_UINT32_MAX, | ||
902 | check_lid_device, NULL, &lid_present, NULL); | ||
903 | |||
904 | return lid_present; | ||
905 | } | ||
906 | #else | ||
907 | static int intel_lid_present(void) | ||
908 | { | ||
909 | /* In the absence of ACPI built in, assume that the LID device would | ||
910 | * have been present. | ||
911 | */ | ||
912 | return 1; | ||
913 | } | ||
914 | #endif | ||
915 | |||
916 | /** | 871 | /** |
917 | * intel_find_lvds_downclock - find the reduced downclock for LVDS in EDID | 872 | * intel_find_lvds_downclock - find the reduced downclock for LVDS in EDID |
918 | * @dev: drm device | 873 | * @dev: drm device |
@@ -1031,12 +986,8 @@ void intel_lvds_init(struct drm_device *dev) | |||
1031 | if (dmi_check_system(intel_no_lvds)) | 986 | if (dmi_check_system(intel_no_lvds)) |
1032 | return; | 987 | return; |
1033 | 988 | ||
1034 | /* | 989 | if (!lvds_is_present_in_vbt(dev)) { |
1035 | * Assume LVDS is present if there's an ACPI lid device or if the | 990 | DRM_DEBUG_KMS("LVDS is not present in VBT\n"); |
1036 | * device is present in the VBT. | ||
1037 | */ | ||
1038 | if (!lvds_is_present_in_vbt(dev) && !intel_lid_present()) { | ||
1039 | DRM_DEBUG_KMS("LVDS is not present in VBT and no lid detected\n"); | ||
1040 | return; | 991 | return; |
1041 | } | 992 | } |
1042 | 993 | ||
@@ -1180,6 +1131,8 @@ out: | |||
1180 | DRM_DEBUG_KMS("lid notifier registration failed\n"); | 1131 | DRM_DEBUG_KMS("lid notifier registration failed\n"); |
1181 | dev_priv->lid_notifier.notifier_call = NULL; | 1132 | dev_priv->lid_notifier.notifier_call = NULL; |
1182 | } | 1133 | } |
1134 | /* keep the LVDS connector */ | ||
1135 | dev_priv->int_lvds_connector = connector; | ||
1183 | drm_sysfs_connector_add(connector); | 1136 | drm_sysfs_connector_add(connector); |
1184 | return; | 1137 | return; |
1185 | 1138 | ||
diff --git a/drivers/gpu/drm/i915/intel_sdvo.c b/drivers/gpu/drm/i915/intel_sdvo.c index 24a3dc99716c..de5144c8c153 100644 --- a/drivers/gpu/drm/i915/intel_sdvo.c +++ b/drivers/gpu/drm/i915/intel_sdvo.c | |||
@@ -2662,6 +2662,7 @@ static void intel_sdvo_create_enhance_property(struct drm_connector *connector) | |||
2662 | 2662 | ||
2663 | bool intel_sdvo_init(struct drm_device *dev, int output_device) | 2663 | bool intel_sdvo_init(struct drm_device *dev, int output_device) |
2664 | { | 2664 | { |
2665 | struct drm_i915_private *dev_priv = dev->dev_private; | ||
2665 | struct drm_connector *connector; | 2666 | struct drm_connector *connector; |
2666 | struct intel_output *intel_output; | 2667 | struct intel_output *intel_output; |
2667 | struct intel_sdvo_priv *sdvo_priv; | 2668 | struct intel_sdvo_priv *sdvo_priv; |
@@ -2708,10 +2709,12 @@ bool intel_sdvo_init(struct drm_device *dev, int output_device) | |||
2708 | intel_output->ddc_bus = intel_i2c_create(dev, GPIOE, "SDVOB DDC BUS"); | 2709 | intel_output->ddc_bus = intel_i2c_create(dev, GPIOE, "SDVOB DDC BUS"); |
2709 | sdvo_priv->analog_ddc_bus = intel_i2c_create(dev, GPIOA, | 2710 | sdvo_priv->analog_ddc_bus = intel_i2c_create(dev, GPIOA, |
2710 | "SDVOB/VGA DDC BUS"); | 2711 | "SDVOB/VGA DDC BUS"); |
2712 | dev_priv->hotplug_supported_mask |= SDVOB_HOTPLUG_INT_STATUS; | ||
2711 | } else { | 2713 | } else { |
2712 | intel_output->ddc_bus = intel_i2c_create(dev, GPIOE, "SDVOC DDC BUS"); | 2714 | intel_output->ddc_bus = intel_i2c_create(dev, GPIOE, "SDVOC DDC BUS"); |
2713 | sdvo_priv->analog_ddc_bus = intel_i2c_create(dev, GPIOA, | 2715 | sdvo_priv->analog_ddc_bus = intel_i2c_create(dev, GPIOA, |
2714 | "SDVOC/VGA DDC BUS"); | 2716 | "SDVOC/VGA DDC BUS"); |
2717 | dev_priv->hotplug_supported_mask |= SDVOC_HOTPLUG_INT_STATUS; | ||
2715 | } | 2718 | } |
2716 | 2719 | ||
2717 | if (intel_output->ddc_bus == NULL) | 2720 | if (intel_output->ddc_bus == NULL) |
diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c index 552ec110b741..1d5b9b7b033f 100644 --- a/drivers/gpu/drm/i915/intel_tv.c +++ b/drivers/gpu/drm/i915/intel_tv.c | |||
@@ -1840,6 +1840,8 @@ intel_tv_init(struct drm_device *dev) | |||
1840 | drm_connector_attach_property(connector, | 1840 | drm_connector_attach_property(connector, |
1841 | dev->mode_config.tv_bottom_margin_property, | 1841 | dev->mode_config.tv_bottom_margin_property, |
1842 | tv_priv->margin[TV_MARGIN_BOTTOM]); | 1842 | tv_priv->margin[TV_MARGIN_BOTTOM]); |
1843 | |||
1844 | dev_priv->hotplug_supported_mask |= TV_HOTPLUG_INT_STATUS; | ||
1843 | out: | 1845 | out: |
1844 | drm_sysfs_connector_add(connector); | 1846 | drm_sysfs_connector_add(connector); |
1845 | } | 1847 | } |
diff --git a/drivers/gpu/drm/radeon/radeon_atombios.c b/drivers/gpu/drm/radeon/radeon_atombios.c index 321044bef71c..41dd8ebff219 100644 --- a/drivers/gpu/drm/radeon/radeon_atombios.c +++ b/drivers/gpu/drm/radeon/radeon_atombios.c | |||
@@ -114,6 +114,7 @@ static inline struct radeon_i2c_bus_rec radeon_lookup_i2c_gpio(struct radeon_dev | |||
114 | i2c.i2c_id = gpio->sucI2cId.ucAccess; | 114 | i2c.i2c_id = gpio->sucI2cId.ucAccess; |
115 | 115 | ||
116 | i2c.valid = true; | 116 | i2c.valid = true; |
117 | break; | ||
117 | } | 118 | } |
118 | } | 119 | } |
119 | 120 | ||
@@ -1026,6 +1027,7 @@ static struct radeon_atom_ss *radeon_atombios_get_ss_info(struct | |||
1026 | ss->delay = ss_info->asSS_Info[i].ucSS_Delay; | 1027 | ss->delay = ss_info->asSS_Info[i].ucSS_Delay; |
1027 | ss->range = ss_info->asSS_Info[i].ucSS_Range; | 1028 | ss->range = ss_info->asSS_Info[i].ucSS_Range; |
1028 | ss->refdiv = ss_info->asSS_Info[i].ucRecommendedRef_Div; | 1029 | ss->refdiv = ss_info->asSS_Info[i].ucRecommendedRef_Div; |
1030 | break; | ||
1029 | } | 1031 | } |
1030 | } | 1032 | } |
1031 | } | 1033 | } |
diff --git a/drivers/gpu/drm/radeon/radeon_combios.c b/drivers/gpu/drm/radeon/radeon_combios.c index fd94dbca33ac..58f342659cc7 100644 --- a/drivers/gpu/drm/radeon/radeon_combios.c +++ b/drivers/gpu/drm/radeon/radeon_combios.c | |||
@@ -595,6 +595,34 @@ bool radeon_combios_get_clock_info(struct drm_device *dev) | |||
595 | return false; | 595 | return false; |
596 | } | 596 | } |
597 | 597 | ||
598 | static const uint32_t default_primarydac_adj[CHIP_LAST] = { | ||
599 | 0x00000808, /* r100 */ | ||
600 | 0x00000808, /* rv100 */ | ||
601 | 0x00000808, /* rs100 */ | ||
602 | 0x00000808, /* rv200 */ | ||
603 | 0x00000808, /* rs200 */ | ||
604 | 0x00000808, /* r200 */ | ||
605 | 0x00000808, /* rv250 */ | ||
606 | 0x00000000, /* rs300 */ | ||
607 | 0x00000808, /* rv280 */ | ||
608 | 0x00000808, /* r300 */ | ||
609 | 0x00000808, /* r350 */ | ||
610 | 0x00000808, /* rv350 */ | ||
611 | 0x00000808, /* rv380 */ | ||
612 | 0x00000808, /* r420 */ | ||
613 | 0x00000808, /* r423 */ | ||
614 | 0x00000808, /* rv410 */ | ||
615 | 0x00000000, /* rs400 */ | ||
616 | 0x00000000, /* rs480 */ | ||
617 | }; | ||
618 | |||
619 | static void radeon_legacy_get_primary_dac_info_from_table(struct radeon_device *rdev, | ||
620 | struct radeon_encoder_primary_dac *p_dac) | ||
621 | { | ||
622 | p_dac->ps2_pdac_adj = default_primarydac_adj[rdev->family]; | ||
623 | return; | ||
624 | } | ||
625 | |||
598 | struct radeon_encoder_primary_dac *radeon_combios_get_primary_dac_info(struct | 626 | struct radeon_encoder_primary_dac *radeon_combios_get_primary_dac_info(struct |
599 | radeon_encoder | 627 | radeon_encoder |
600 | *encoder) | 628 | *encoder) |
@@ -604,20 +632,20 @@ struct radeon_encoder_primary_dac *radeon_combios_get_primary_dac_info(struct | |||
604 | uint16_t dac_info; | 632 | uint16_t dac_info; |
605 | uint8_t rev, bg, dac; | 633 | uint8_t rev, bg, dac; |
606 | struct radeon_encoder_primary_dac *p_dac = NULL; | 634 | struct radeon_encoder_primary_dac *p_dac = NULL; |
635 | int found = 0; | ||
607 | 636 | ||
608 | if (rdev->bios == NULL) | 637 | p_dac = kzalloc(sizeof(struct radeon_encoder_primary_dac), |
638 | GFP_KERNEL); | ||
639 | |||
640 | if (!p_dac) | ||
609 | return NULL; | 641 | return NULL; |
610 | 642 | ||
643 | if (rdev->bios == NULL) | ||
644 | goto out; | ||
645 | |||
611 | /* check CRT table */ | 646 | /* check CRT table */ |
612 | dac_info = combios_get_table_offset(dev, COMBIOS_CRT_INFO_TABLE); | 647 | dac_info = combios_get_table_offset(dev, COMBIOS_CRT_INFO_TABLE); |
613 | if (dac_info) { | 648 | if (dac_info) { |
614 | p_dac = | ||
615 | kzalloc(sizeof(struct radeon_encoder_primary_dac), | ||
616 | GFP_KERNEL); | ||
617 | |||
618 | if (!p_dac) | ||
619 | return NULL; | ||
620 | |||
621 | rev = RBIOS8(dac_info) & 0x3; | 649 | rev = RBIOS8(dac_info) & 0x3; |
622 | if (rev < 2) { | 650 | if (rev < 2) { |
623 | bg = RBIOS8(dac_info + 0x2) & 0xf; | 651 | bg = RBIOS8(dac_info + 0x2) & 0xf; |
@@ -628,9 +656,13 @@ struct radeon_encoder_primary_dac *radeon_combios_get_primary_dac_info(struct | |||
628 | dac = RBIOS8(dac_info + 0x3) & 0xf; | 656 | dac = RBIOS8(dac_info + 0x3) & 0xf; |
629 | p_dac->ps2_pdac_adj = (bg << 8) | (dac); | 657 | p_dac->ps2_pdac_adj = (bg << 8) | (dac); |
630 | } | 658 | } |
631 | 659 | found = 1; | |
632 | } | 660 | } |
633 | 661 | ||
662 | out: | ||
663 | if (!found) /* fallback to defaults */ | ||
664 | radeon_legacy_get_primary_dac_info_from_table(rdev, p_dac); | ||
665 | |||
634 | return p_dac; | 666 | return p_dac; |
635 | } | 667 | } |
636 | 668 | ||
diff --git a/drivers/gpu/drm/radeon/radeon_connectors.c b/drivers/gpu/drm/radeon/radeon_connectors.c index 20161567dbff..b82ae61d4d17 100644 --- a/drivers/gpu/drm/radeon/radeon_connectors.c +++ b/drivers/gpu/drm/radeon/radeon_connectors.c | |||
@@ -615,7 +615,7 @@ static enum drm_connector_status radeon_vga_detect(struct drm_connector *connect | |||
615 | ret = connector_status_connected; | 615 | ret = connector_status_connected; |
616 | } | 616 | } |
617 | } else { | 617 | } else { |
618 | if (radeon_connector->dac_load_detect) { | 618 | if (radeon_connector->dac_load_detect && encoder) { |
619 | encoder_funcs = encoder->helper_private; | 619 | encoder_funcs = encoder->helper_private; |
620 | ret = encoder_funcs->detect(encoder, connector); | 620 | ret = encoder_funcs->detect(encoder, connector); |
621 | } | 621 | } |
diff --git a/drivers/gpu/drm/radeon/radeon_cp.c b/drivers/gpu/drm/radeon/radeon_cp.c index 0b2f9c2ad2c1..06123ba31d31 100644 --- a/drivers/gpu/drm/radeon/radeon_cp.c +++ b/drivers/gpu/drm/radeon/radeon_cp.c | |||
@@ -2145,6 +2145,7 @@ int radeon_master_create(struct drm_device *dev, struct drm_master *master) | |||
2145 | &master_priv->sarea); | 2145 | &master_priv->sarea); |
2146 | if (ret) { | 2146 | if (ret) { |
2147 | DRM_ERROR("SAREA setup failed\n"); | 2147 | DRM_ERROR("SAREA setup failed\n"); |
2148 | kfree(master_priv); | ||
2148 | return ret; | 2149 | return ret; |
2149 | } | 2150 | } |
2150 | master_priv->sarea_priv = master_priv->sarea->handle + sizeof(struct drm_sarea); | 2151 | master_priv->sarea_priv = master_priv->sarea->handle + sizeof(struct drm_sarea); |
diff --git a/drivers/gpu/drm/radeon/radeon_device.c b/drivers/gpu/drm/radeon/radeon_device.c index 7c6848096bcd..0c51f8e46613 100644 --- a/drivers/gpu/drm/radeon/radeon_device.c +++ b/drivers/gpu/drm/radeon/radeon_device.c | |||
@@ -733,16 +733,18 @@ void radeon_device_fini(struct radeon_device *rdev) | |||
733 | */ | 733 | */ |
734 | int radeon_suspend_kms(struct drm_device *dev, pm_message_t state) | 734 | int radeon_suspend_kms(struct drm_device *dev, pm_message_t state) |
735 | { | 735 | { |
736 | struct radeon_device *rdev = dev->dev_private; | 736 | struct radeon_device *rdev; |
737 | struct drm_crtc *crtc; | 737 | struct drm_crtc *crtc; |
738 | int r; | 738 | int r; |
739 | 739 | ||
740 | if (dev == NULL || rdev == NULL) { | 740 | if (dev == NULL || dev->dev_private == NULL) { |
741 | return -ENODEV; | 741 | return -ENODEV; |
742 | } | 742 | } |
743 | if (state.event == PM_EVENT_PRETHAW) { | 743 | if (state.event == PM_EVENT_PRETHAW) { |
744 | return 0; | 744 | return 0; |
745 | } | 745 | } |
746 | rdev = dev->dev_private; | ||
747 | |||
746 | /* unpin the front buffers */ | 748 | /* unpin the front buffers */ |
747 | list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) { | 749 | list_for_each_entry(crtc, &dev->mode_config.crtc_list, head) { |
748 | struct radeon_framebuffer *rfb = to_radeon_framebuffer(crtc->fb); | 750 | struct radeon_framebuffer *rfb = to_radeon_framebuffer(crtc->fb); |
diff --git a/drivers/gpu/drm/radeon/radeon_display.c b/drivers/gpu/drm/radeon/radeon_display.c index 91d72b70abc9..1fb2f029d7e8 100644 --- a/drivers/gpu/drm/radeon/radeon_display.c +++ b/drivers/gpu/drm/radeon/radeon_display.c | |||
@@ -329,8 +329,11 @@ static bool radeon_setup_enc_conn(struct drm_device *dev) | |||
329 | ret = radeon_get_atom_connector_info_from_object_table(dev); | 329 | ret = radeon_get_atom_connector_info_from_object_table(dev); |
330 | else | 330 | else |
331 | ret = radeon_get_atom_connector_info_from_supported_devices_table(dev); | 331 | ret = radeon_get_atom_connector_info_from_supported_devices_table(dev); |
332 | } else | 332 | } else { |
333 | ret = radeon_get_legacy_connector_info_from_bios(dev); | 333 | ret = radeon_get_legacy_connector_info_from_bios(dev); |
334 | if (ret == false) | ||
335 | ret = radeon_get_legacy_connector_info_from_table(dev); | ||
336 | } | ||
334 | } else { | 337 | } else { |
335 | if (!ASIC_IS_AVIVO(rdev)) | 338 | if (!ASIC_IS_AVIVO(rdev)) |
336 | ret = radeon_get_legacy_connector_info_from_table(dev); | 339 | ret = radeon_get_legacy_connector_info_from_table(dev); |
diff --git a/drivers/gpu/drm/radeon/radeon_fence.c b/drivers/gpu/drm/radeon/radeon_fence.c index 4cdd8b4f7549..8495d4e32e18 100644 --- a/drivers/gpu/drm/radeon/radeon_fence.c +++ b/drivers/gpu/drm/radeon/radeon_fence.c | |||
@@ -140,16 +140,15 @@ int radeon_fence_create(struct radeon_device *rdev, struct radeon_fence **fence) | |||
140 | 140 | ||
141 | bool radeon_fence_signaled(struct radeon_fence *fence) | 141 | bool radeon_fence_signaled(struct radeon_fence *fence) |
142 | { | 142 | { |
143 | struct radeon_device *rdev = fence->rdev; | ||
144 | unsigned long irq_flags; | 143 | unsigned long irq_flags; |
145 | bool signaled = false; | 144 | bool signaled = false; |
146 | 145 | ||
147 | if (rdev->gpu_lockup) { | 146 | if (!fence) |
148 | return true; | 147 | return true; |
149 | } | 148 | |
150 | if (fence == NULL) { | 149 | if (fence->rdev->gpu_lockup) |
151 | return true; | 150 | return true; |
152 | } | 151 | |
153 | write_lock_irqsave(&fence->rdev->fence_drv.lock, irq_flags); | 152 | write_lock_irqsave(&fence->rdev->fence_drv.lock, irq_flags); |
154 | signaled = fence->signaled; | 153 | signaled = fence->signaled; |
155 | /* if we are shuting down report all fence as signaled */ | 154 | /* if we are shuting down report all fence as signaled */ |
diff --git a/drivers/gpu/drm/radeon/radeon_irq.c b/drivers/gpu/drm/radeon/radeon_irq.c index b79ecc4a7cc4..2f349a300195 100644 --- a/drivers/gpu/drm/radeon/radeon_irq.c +++ b/drivers/gpu/drm/radeon/radeon_irq.c | |||
@@ -289,16 +289,16 @@ int radeon_irq_emit(struct drm_device *dev, void *data, struct drm_file *file_pr | |||
289 | drm_radeon_irq_emit_t *emit = data; | 289 | drm_radeon_irq_emit_t *emit = data; |
290 | int result; | 290 | int result; |
291 | 291 | ||
292 | if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_R600) | ||
293 | return -EINVAL; | ||
294 | |||
295 | LOCK_TEST_WITH_RETURN(dev, file_priv); | ||
296 | |||
297 | if (!dev_priv) { | 292 | if (!dev_priv) { |
298 | DRM_ERROR("called with no initialization\n"); | 293 | DRM_ERROR("called with no initialization\n"); |
299 | return -EINVAL; | 294 | return -EINVAL; |
300 | } | 295 | } |
301 | 296 | ||
297 | if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_R600) | ||
298 | return -EINVAL; | ||
299 | |||
300 | LOCK_TEST_WITH_RETURN(dev, file_priv); | ||
301 | |||
302 | result = radeon_emit_irq(dev); | 302 | result = radeon_emit_irq(dev); |
303 | 303 | ||
304 | if (DRM_COPY_TO_USER(emit->irq_seq, &result, sizeof(int))) { | 304 | if (DRM_COPY_TO_USER(emit->irq_seq, &result, sizeof(int))) { |
diff --git a/drivers/gpu/drm/radeon/rs600.c b/drivers/gpu/drm/radeon/rs600.c index 4f8ea4260572..4245218e954f 100644 --- a/drivers/gpu/drm/radeon/rs600.c +++ b/drivers/gpu/drm/radeon/rs600.c | |||
@@ -396,7 +396,7 @@ int rs600_irq_process(struct radeon_device *rdev) | |||
396 | } | 396 | } |
397 | while (status || r500_disp_int) { | 397 | while (status || r500_disp_int) { |
398 | /* SW interrupt */ | 398 | /* SW interrupt */ |
399 | if (G_000040_SW_INT_EN(status)) | 399 | if (G_000044_SW_INT(status)) |
400 | radeon_fence_process(rdev); | 400 | radeon_fence_process(rdev); |
401 | /* Vertical blank interrupts */ | 401 | /* Vertical blank interrupts */ |
402 | if (G_007EDC_LB_D1_VBLANK_INTERRUPT(r500_disp_int)) | 402 | if (G_007EDC_LB_D1_VBLANK_INTERRUPT(r500_disp_int)) |
diff --git a/drivers/ieee1394/Kconfig b/drivers/ieee1394/Kconfig index f102fcc7e52a..e02096cf7d95 100644 --- a/drivers/ieee1394/Kconfig +++ b/drivers/ieee1394/Kconfig | |||
@@ -1,8 +1,3 @@ | |||
1 | menu "IEEE 1394 (FireWire) support" | ||
2 | depends on PCI || BROKEN | ||
3 | |||
4 | source "drivers/firewire/Kconfig" | ||
5 | |||
6 | config IEEE1394 | 1 | config IEEE1394 |
7 | tristate "Legacy alternative FireWire driver stack" | 2 | tristate "Legacy alternative FireWire driver stack" |
8 | depends on PCI || BROKEN | 3 | depends on PCI || BROKEN |
@@ -16,8 +11,13 @@ config IEEE1394 | |||
16 | is the core support only, you will also need to select a driver for | 11 | is the core support only, you will also need to select a driver for |
17 | your IEEE 1394 adapter. | 12 | your IEEE 1394 adapter. |
18 | 13 | ||
19 | To compile this driver as a module, say M here: the | 14 | To compile this driver as a module, say M here: the module will be |
20 | module will be called ieee1394. | 15 | called ieee1394. |
16 | |||
17 | NOTE: | ||
18 | ieee1394 is superseded by the newer firewire-core driver. See | ||
19 | http://ieee1394.wiki.kernel.org/index.php/Juju_Migration for | ||
20 | further information on how to switch to the new FireWire drivers. | ||
21 | 21 | ||
22 | config IEEE1394_OHCI1394 | 22 | config IEEE1394_OHCI1394 |
23 | tristate "OHCI-1394 controllers" | 23 | tristate "OHCI-1394 controllers" |
@@ -29,19 +29,23 @@ config IEEE1394_OHCI1394 | |||
29 | use one of these chipsets. It should work with any OHCI-1394 | 29 | use one of these chipsets. It should work with any OHCI-1394 |
30 | compliant card, however. | 30 | compliant card, however. |
31 | 31 | ||
32 | To compile this driver as a module, say M here: the | 32 | To compile this driver as a module, say M here: the module will be |
33 | module will be called ohci1394. | 33 | called ohci1394. |
34 | 34 | ||
35 | NOTE: | 35 | NOTE: |
36 | ohci1394 is superseded by the newer firewire-ohci driver. See | ||
37 | http://ieee1394.wiki.kernel.org/index.php/Juju_Migration for | ||
38 | further information on how to switch to the new FireWire drivers. | ||
39 | |||
36 | If you want to install firewire-ohci and ohci1394 together, you | 40 | If you want to install firewire-ohci and ohci1394 together, you |
37 | should configure them only as modules and blacklist the driver(s) | 41 | should configure them only as modules and blacklist the driver(s) |
38 | which you don't want to have auto-loaded. Add either | 42 | which you don't want to have auto-loaded. Add either |
39 | 43 | ||
40 | blacklist firewire-ohci | ||
41 | or | ||
42 | blacklist ohci1394 | 44 | blacklist ohci1394 |
43 | blacklist video1394 | 45 | blacklist video1394 |
44 | blacklist dv1394 | 46 | blacklist dv1394 |
47 | or | ||
48 | blacklist firewire-ohci | ||
45 | 49 | ||
46 | to /etc/modprobe.conf or /etc/modprobe.d/* and update modprobe.conf | 50 | to /etc/modprobe.conf or /etc/modprobe.d/* and update modprobe.conf |
47 | depending on your distribution. | 51 | depending on your distribution. |
@@ -58,8 +62,8 @@ config IEEE1394_PCILYNX | |||
58 | Instruments PCILynx chip. Note: this driver is written for revision | 62 | Instruments PCILynx chip. Note: this driver is written for revision |
59 | 2 of this chip and may not work with revision 0. | 63 | 2 of this chip and may not work with revision 0. |
60 | 64 | ||
61 | To compile this driver as a module, say M here: the | 65 | To compile this driver as a module, say M here: the module will be |
62 | module will be called pcilynx. | 66 | called pcilynx. |
63 | 67 | ||
64 | Only some old and now very rare PCI and CardBus cards and | 68 | Only some old and now very rare PCI and CardBus cards and |
65 | PowerMacs G3 B&W contain the PCILynx controller. Therefore | 69 | PowerMacs G3 B&W contain the PCILynx controller. Therefore |
@@ -79,6 +83,14 @@ config IEEE1394_SBP2 | |||
79 | You should also enable support for disks, CD-ROMs, etc. in the SCSI | 83 | You should also enable support for disks, CD-ROMs, etc. in the SCSI |
80 | configuration section. | 84 | configuration section. |
81 | 85 | ||
86 | To compile this driver as a module, say M here: the module will be | ||
87 | called sbp2. | ||
88 | |||
89 | NOTE: | ||
90 | sbp2 is superseded by the newer firewire-sbp2 driver. See | ||
91 | http://ieee1394.wiki.kernel.org/index.php/Juju_Migration for | ||
92 | further information on how to switch to the new FireWire drivers. | ||
93 | |||
82 | config IEEE1394_SBP2_PHYS_DMA | 94 | config IEEE1394_SBP2_PHYS_DMA |
83 | bool "Enable replacement for physical DMA in SBP2" | 95 | bool "Enable replacement for physical DMA in SBP2" |
84 | depends on IEEE1394_SBP2 && VIRT_TO_BUS && EXPERIMENTAL | 96 | depends on IEEE1394_SBP2 && VIRT_TO_BUS && EXPERIMENTAL |
@@ -111,6 +123,11 @@ config IEEE1394_ETH1394 | |||
111 | 123 | ||
112 | The module is called eth1394 although it does not emulate Ethernet. | 124 | The module is called eth1394 although it does not emulate Ethernet. |
113 | 125 | ||
126 | NOTE: | ||
127 | eth1394 is superseded by the newer firewire-net driver. See | ||
128 | http://ieee1394.wiki.kernel.org/index.php/Juju_Migration for | ||
129 | further information on how to switch to the new FireWire drivers. | ||
130 | |||
114 | config IEEE1394_RAWIO | 131 | config IEEE1394_RAWIO |
115 | tristate "raw1394 userspace interface" | 132 | tristate "raw1394 userspace interface" |
116 | depends on IEEE1394 | 133 | depends on IEEE1394 |
@@ -123,6 +140,11 @@ config IEEE1394_RAWIO | |||
123 | To compile this driver as a module, say M here: the module will be | 140 | To compile this driver as a module, say M here: the module will be |
124 | called raw1394. | 141 | called raw1394. |
125 | 142 | ||
143 | NOTE: | ||
144 | raw1394 is superseded by the newer firewire-core driver. See | ||
145 | http://ieee1394.wiki.kernel.org/index.php/Juju_Migration for | ||
146 | further information on how to switch to the new FireWire drivers. | ||
147 | |||
126 | config IEEE1394_VIDEO1394 | 148 | config IEEE1394_VIDEO1394 |
127 | tristate "video1394 userspace interface" | 149 | tristate "video1394 userspace interface" |
128 | depends on IEEE1394 && IEEE1394_OHCI1394 | 150 | depends on IEEE1394 && IEEE1394_OHCI1394 |
@@ -136,13 +158,18 @@ config IEEE1394_VIDEO1394 | |||
136 | To compile this driver as a module, say M here: the module will be | 158 | To compile this driver as a module, say M here: the module will be |
137 | called video1394. | 159 | called video1394. |
138 | 160 | ||
161 | NOTE: | ||
162 | video1394 is superseded by the newer firewire-core driver. See | ||
163 | http://ieee1394.wiki.kernel.org/index.php/Juju_Migration for | ||
164 | further information on how to switch to the new FireWire drivers. | ||
165 | |||
139 | config IEEE1394_DV1394 | 166 | config IEEE1394_DV1394 |
140 | tristate "dv1394 userspace interface (deprecated)" | 167 | tristate "dv1394 userspace interface (deprecated)" |
141 | depends on IEEE1394 && IEEE1394_OHCI1394 | 168 | depends on IEEE1394 && IEEE1394_OHCI1394 |
142 | help | 169 | help |
143 | The dv1394 driver is unsupported and may be removed from Linux in a | 170 | The dv1394 driver is unsupported and may be removed from Linux in a |
144 | future release. Its functionality is now provided by raw1394 together | 171 | future release. Its functionality is now provided by either |
145 | with libraries such as libiec61883. | 172 | raw1394 or firewire-core together with libraries such as libiec61883. |
146 | 173 | ||
147 | config IEEE1394_VERBOSEDEBUG | 174 | config IEEE1394_VERBOSEDEBUG |
148 | bool "Excessive debugging output" | 175 | bool "Excessive debugging output" |
@@ -153,5 +180,3 @@ config IEEE1394_VERBOSEDEBUG | |||
153 | will quickly result in large amounts of data sent to the system log. | 180 | will quickly result in large amounts of data sent to the system log. |
154 | 181 | ||
155 | Say Y if you really need the debugging output. Everyone else says N. | 182 | Say Y if you really need the debugging output. Everyone else says N. |
156 | |||
157 | endmenu | ||
diff --git a/drivers/input/ff-memless.c b/drivers/input/ff-memless.c index b483b2995fa9..f967008f332e 100644 --- a/drivers/input/ff-memless.c +++ b/drivers/input/ff-memless.c | |||
@@ -221,11 +221,27 @@ static int get_compatible_type(struct ff_device *ff, int effect_type) | |||
221 | } | 221 | } |
222 | 222 | ||
223 | /* | 223 | /* |
224 | * Only left/right direction should be used (under/over 0x8000) for | ||
225 | * forward/reverse motor direction (to keep calculation fast & simple). | ||
226 | */ | ||
227 | static u16 ml_calculate_direction(u16 direction, u16 force, | ||
228 | u16 new_direction, u16 new_force) | ||
229 | { | ||
230 | if (!force) | ||
231 | return new_direction; | ||
232 | if (!new_force) | ||
233 | return direction; | ||
234 | return (((u32)(direction >> 1) * force + | ||
235 | (new_direction >> 1) * new_force) / | ||
236 | (force + new_force)) << 1; | ||
237 | } | ||
238 | |||
239 | /* | ||
224 | * Combine two effects and apply gain. | 240 | * Combine two effects and apply gain. |
225 | */ | 241 | */ |
226 | static void ml_combine_effects(struct ff_effect *effect, | 242 | static void ml_combine_effects(struct ff_effect *effect, |
227 | struct ml_effect_state *state, | 243 | struct ml_effect_state *state, |
228 | unsigned int gain) | 244 | int gain) |
229 | { | 245 | { |
230 | struct ff_effect *new = state->effect; | 246 | struct ff_effect *new = state->effect; |
231 | unsigned int strong, weak, i; | 247 | unsigned int strong, weak, i; |
@@ -252,8 +268,21 @@ static void ml_combine_effects(struct ff_effect *effect, | |||
252 | break; | 268 | break; |
253 | 269 | ||
254 | case FF_RUMBLE: | 270 | case FF_RUMBLE: |
255 | strong = new->u.rumble.strong_magnitude * gain / 0xffff; | 271 | strong = (u32)new->u.rumble.strong_magnitude * gain / 0xffff; |
256 | weak = new->u.rumble.weak_magnitude * gain / 0xffff; | 272 | weak = (u32)new->u.rumble.weak_magnitude * gain / 0xffff; |
273 | |||
274 | if (effect->u.rumble.strong_magnitude + strong) | ||
275 | effect->direction = ml_calculate_direction( | ||
276 | effect->direction, | ||
277 | effect->u.rumble.strong_magnitude, | ||
278 | new->direction, strong); | ||
279 | else if (effect->u.rumble.weak_magnitude + weak) | ||
280 | effect->direction = ml_calculate_direction( | ||
281 | effect->direction, | ||
282 | effect->u.rumble.weak_magnitude, | ||
283 | new->direction, weak); | ||
284 | else | ||
285 | effect->direction = 0; | ||
257 | effect->u.rumble.strong_magnitude = | 286 | effect->u.rumble.strong_magnitude = |
258 | min(strong + effect->u.rumble.strong_magnitude, | 287 | min(strong + effect->u.rumble.strong_magnitude, |
259 | 0xffffU); | 288 | 0xffffU); |
@@ -268,6 +297,13 @@ static void ml_combine_effects(struct ff_effect *effect, | |||
268 | /* here we also scale it 0x7fff => 0xffff */ | 297 | /* here we also scale it 0x7fff => 0xffff */ |
269 | i = i * gain / 0x7fff; | 298 | i = i * gain / 0x7fff; |
270 | 299 | ||
300 | if (effect->u.rumble.strong_magnitude + i) | ||
301 | effect->direction = ml_calculate_direction( | ||
302 | effect->direction, | ||
303 | effect->u.rumble.strong_magnitude, | ||
304 | new->direction, i); | ||
305 | else | ||
306 | effect->direction = 0; | ||
271 | effect->u.rumble.strong_magnitude = | 307 | effect->u.rumble.strong_magnitude = |
272 | min(i + effect->u.rumble.strong_magnitude, 0xffffU); | 308 | min(i + effect->u.rumble.strong_magnitude, 0xffffU); |
273 | effect->u.rumble.weak_magnitude = | 309 | effect->u.rumble.weak_magnitude = |
@@ -411,8 +447,6 @@ static int ml_ff_playback(struct input_dev *dev, int effect_id, int value) | |||
411 | msecs_to_jiffies(state->effect->replay.length); | 447 | msecs_to_jiffies(state->effect->replay.length); |
412 | state->adj_at = state->play_at; | 448 | state->adj_at = state->play_at; |
413 | 449 | ||
414 | ml_schedule_timer(ml); | ||
415 | |||
416 | } else { | 450 | } else { |
417 | debug("initiated stop"); | 451 | debug("initiated stop"); |
418 | 452 | ||
@@ -420,10 +454,10 @@ static int ml_ff_playback(struct input_dev *dev, int effect_id, int value) | |||
420 | __set_bit(FF_EFFECT_ABORTING, &state->flags); | 454 | __set_bit(FF_EFFECT_ABORTING, &state->flags); |
421 | else | 455 | else |
422 | __clear_bit(FF_EFFECT_STARTED, &state->flags); | 456 | __clear_bit(FF_EFFECT_STARTED, &state->flags); |
423 | |||
424 | ml_play_effects(ml); | ||
425 | } | 457 | } |
426 | 458 | ||
459 | ml_play_effects(ml); | ||
460 | |||
427 | return 0; | 461 | return 0; |
428 | } | 462 | } |
429 | 463 | ||
diff --git a/drivers/input/joystick/iforce/iforce-main.c b/drivers/input/joystick/iforce/iforce-main.c index f6c688cae334..b1edd778639c 100644 --- a/drivers/input/joystick/iforce/iforce-main.c +++ b/drivers/input/joystick/iforce/iforce-main.c | |||
@@ -210,7 +210,7 @@ static int iforce_open(struct input_dev *dev) | |||
210 | return 0; | 210 | return 0; |
211 | } | 211 | } |
212 | 212 | ||
213 | static void iforce_release(struct input_dev *dev) | 213 | static void iforce_close(struct input_dev *dev) |
214 | { | 214 | { |
215 | struct iforce *iforce = input_get_drvdata(dev); | 215 | struct iforce *iforce = input_get_drvdata(dev); |
216 | int i; | 216 | int i; |
@@ -228,30 +228,17 @@ static void iforce_release(struct input_dev *dev) | |||
228 | 228 | ||
229 | /* Disable force feedback playback */ | 229 | /* Disable force feedback playback */ |
230 | iforce_send_packet(iforce, FF_CMD_ENABLE, "\001"); | 230 | iforce_send_packet(iforce, FF_CMD_ENABLE, "\001"); |
231 | /* Wait for the command to complete */ | ||
232 | wait_event_interruptible(iforce->wait, | ||
233 | !test_bit(IFORCE_XMIT_RUNNING, iforce->xmit_flags)); | ||
231 | } | 234 | } |
232 | 235 | ||
233 | switch (iforce->bus) { | 236 | switch (iforce->bus) { |
234 | #ifdef CONFIG_JOYSTICK_IFORCE_USB | 237 | #ifdef CONFIG_JOYSTICK_IFORCE_USB |
235 | case IFORCE_USB: | ||
236 | usb_kill_urb(iforce->irq); | ||
237 | |||
238 | /* The device was unplugged before the file | ||
239 | * was released */ | ||
240 | if (iforce->usbdev == NULL) { | ||
241 | iforce_delete_device(iforce); | ||
242 | kfree(iforce); | ||
243 | } | ||
244 | break; | ||
245 | #endif | ||
246 | } | ||
247 | } | ||
248 | |||
249 | void iforce_delete_device(struct iforce *iforce) | ||
250 | { | ||
251 | switch (iforce->bus) { | ||
252 | #ifdef CONFIG_JOYSTICK_IFORCE_USB | ||
253 | case IFORCE_USB: | 238 | case IFORCE_USB: |
254 | iforce_usb_delete(iforce); | 239 | usb_kill_urb(iforce->irq); |
240 | usb_kill_urb(iforce->out); | ||
241 | usb_kill_urb(iforce->ctrl); | ||
255 | break; | 242 | break; |
256 | #endif | 243 | #endif |
257 | #ifdef CONFIG_JOYSTICK_IFORCE_232 | 244 | #ifdef CONFIG_JOYSTICK_IFORCE_232 |
@@ -303,7 +290,7 @@ int iforce_init_device(struct iforce *iforce) | |||
303 | 290 | ||
304 | input_dev->name = "Unknown I-Force device"; | 291 | input_dev->name = "Unknown I-Force device"; |
305 | input_dev->open = iforce_open; | 292 | input_dev->open = iforce_open; |
306 | input_dev->close = iforce_release; | 293 | input_dev->close = iforce_close; |
307 | 294 | ||
308 | /* | 295 | /* |
309 | * On-device memory allocation. | 296 | * On-device memory allocation. |
diff --git a/drivers/input/joystick/iforce/iforce-usb.c b/drivers/input/joystick/iforce/iforce-usb.c index 9f289d8f52c6..b41303d3ec54 100644 --- a/drivers/input/joystick/iforce/iforce-usb.c +++ b/drivers/input/joystick/iforce/iforce-usb.c | |||
@@ -109,6 +109,7 @@ static void iforce_usb_out(struct urb *urb) | |||
109 | struct iforce *iforce = urb->context; | 109 | struct iforce *iforce = urb->context; |
110 | 110 | ||
111 | if (urb->status) { | 111 | if (urb->status) { |
112 | clear_bit(IFORCE_XMIT_RUNNING, iforce->xmit_flags); | ||
112 | dbg("urb->status %d, exiting", urb->status); | 113 | dbg("urb->status %d, exiting", urb->status); |
113 | return; | 114 | return; |
114 | } | 115 | } |
@@ -186,33 +187,19 @@ fail: | |||
186 | return err; | 187 | return err; |
187 | } | 188 | } |
188 | 189 | ||
189 | /* Called by iforce_delete() */ | ||
190 | void iforce_usb_delete(struct iforce* iforce) | ||
191 | { | ||
192 | usb_kill_urb(iforce->irq); | ||
193 | usb_kill_urb(iforce->out); | ||
194 | usb_kill_urb(iforce->ctrl); | ||
195 | |||
196 | usb_free_urb(iforce->irq); | ||
197 | usb_free_urb(iforce->out); | ||
198 | usb_free_urb(iforce->ctrl); | ||
199 | } | ||
200 | |||
201 | static void iforce_usb_disconnect(struct usb_interface *intf) | 190 | static void iforce_usb_disconnect(struct usb_interface *intf) |
202 | { | 191 | { |
203 | struct iforce *iforce = usb_get_intfdata(intf); | 192 | struct iforce *iforce = usb_get_intfdata(intf); |
204 | int open = 0; /* FIXME! iforce->dev.handle->open; */ | ||
205 | 193 | ||
206 | usb_set_intfdata(intf, NULL); | 194 | usb_set_intfdata(intf, NULL); |
207 | if (iforce) { | ||
208 | iforce->usbdev = NULL; | ||
209 | input_unregister_device(iforce->dev); | ||
210 | 195 | ||
211 | if (!open) { | 196 | input_unregister_device(iforce->dev); |
212 | iforce_delete_device(iforce); | 197 | |
213 | kfree(iforce); | 198 | usb_free_urb(iforce->irq); |
214 | } | 199 | usb_free_urb(iforce->out); |
215 | } | 200 | usb_free_urb(iforce->ctrl); |
201 | |||
202 | kfree(iforce); | ||
216 | } | 203 | } |
217 | 204 | ||
218 | static struct usb_device_id iforce_usb_ids [] = { | 205 | static struct usb_device_id iforce_usb_ids [] = { |
diff --git a/drivers/input/joystick/iforce/iforce.h b/drivers/input/joystick/iforce/iforce.h index f2d91f4028ca..9f494b75848a 100644 --- a/drivers/input/joystick/iforce/iforce.h +++ b/drivers/input/joystick/iforce/iforce.h | |||
@@ -150,11 +150,9 @@ void iforce_serial_xmit(struct iforce *iforce); | |||
150 | 150 | ||
151 | /* iforce-usb.c */ | 151 | /* iforce-usb.c */ |
152 | void iforce_usb_xmit(struct iforce *iforce); | 152 | void iforce_usb_xmit(struct iforce *iforce); |
153 | void iforce_usb_delete(struct iforce *iforce); | ||
154 | 153 | ||
155 | /* iforce-main.c */ | 154 | /* iforce-main.c */ |
156 | int iforce_init_device(struct iforce *iforce); | 155 | int iforce_init_device(struct iforce *iforce); |
157 | void iforce_delete_device(struct iforce *iforce); | ||
158 | 156 | ||
159 | /* iforce-packets.c */ | 157 | /* iforce-packets.c */ |
160 | int iforce_control_playback(struct iforce*, u16 id, unsigned int); | 158 | int iforce_control_playback(struct iforce*, u16 id, unsigned int); |
diff --git a/drivers/input/keyboard/atkbd.c b/drivers/input/keyboard/atkbd.c index a3573570c52f..1f5e2ce327d6 100644 --- a/drivers/input/keyboard/atkbd.c +++ b/drivers/input/keyboard/atkbd.c | |||
@@ -134,7 +134,8 @@ static const unsigned short atkbd_unxlate_table[128] = { | |||
134 | #define ATKBD_CMD_GETID 0x02f2 | 134 | #define ATKBD_CMD_GETID 0x02f2 |
135 | #define ATKBD_CMD_SETREP 0x10f3 | 135 | #define ATKBD_CMD_SETREP 0x10f3 |
136 | #define ATKBD_CMD_ENABLE 0x00f4 | 136 | #define ATKBD_CMD_ENABLE 0x00f4 |
137 | #define ATKBD_CMD_RESET_DIS 0x00f5 | 137 | #define ATKBD_CMD_RESET_DIS 0x00f5 /* Reset to defaults and disable */ |
138 | #define ATKBD_CMD_RESET_DEF 0x00f6 /* Reset to defaults */ | ||
138 | #define ATKBD_CMD_SETALL_MBR 0x00fa | 139 | #define ATKBD_CMD_SETALL_MBR 0x00fa |
139 | #define ATKBD_CMD_RESET_BAT 0x02ff | 140 | #define ATKBD_CMD_RESET_BAT 0x02ff |
140 | #define ATKBD_CMD_RESEND 0x00fe | 141 | #define ATKBD_CMD_RESEND 0x00fe |
@@ -836,7 +837,7 @@ static void atkbd_cleanup(struct serio *serio) | |||
836 | struct atkbd *atkbd = serio_get_drvdata(serio); | 837 | struct atkbd *atkbd = serio_get_drvdata(serio); |
837 | 838 | ||
838 | atkbd_disable(atkbd); | 839 | atkbd_disable(atkbd); |
839 | ps2_command(&atkbd->ps2dev, NULL, ATKBD_CMD_RESET_BAT); | 840 | ps2_command(&atkbd->ps2dev, NULL, ATKBD_CMD_RESET_DEF); |
840 | } | 841 | } |
841 | 842 | ||
842 | 843 | ||
diff --git a/drivers/input/keyboard/matrix_keypad.c b/drivers/input/keyboard/matrix_keypad.c index 34f4a29d4973..d3c8b61a941d 100644 --- a/drivers/input/keyboard/matrix_keypad.c +++ b/drivers/input/keyboard/matrix_keypad.c | |||
@@ -29,11 +29,13 @@ struct matrix_keypad { | |||
29 | unsigned short *keycodes; | 29 | unsigned short *keycodes; |
30 | unsigned int row_shift; | 30 | unsigned int row_shift; |
31 | 31 | ||
32 | DECLARE_BITMAP(disabled_gpios, MATRIX_MAX_ROWS); | ||
33 | |||
32 | uint32_t last_key_state[MATRIX_MAX_COLS]; | 34 | uint32_t last_key_state[MATRIX_MAX_COLS]; |
33 | struct delayed_work work; | 35 | struct delayed_work work; |
36 | spinlock_t lock; | ||
34 | bool scan_pending; | 37 | bool scan_pending; |
35 | bool stopped; | 38 | bool stopped; |
36 | spinlock_t lock; | ||
37 | }; | 39 | }; |
38 | 40 | ||
39 | /* | 41 | /* |
@@ -222,9 +224,16 @@ static int matrix_keypad_suspend(struct device *dev) | |||
222 | 224 | ||
223 | matrix_keypad_stop(keypad->input_dev); | 225 | matrix_keypad_stop(keypad->input_dev); |
224 | 226 | ||
225 | if (device_may_wakeup(&pdev->dev)) | 227 | if (device_may_wakeup(&pdev->dev)) { |
226 | for (i = 0; i < pdata->num_row_gpios; i++) | 228 | for (i = 0; i < pdata->num_row_gpios; i++) { |
227 | enable_irq_wake(gpio_to_irq(pdata->row_gpios[i])); | 229 | if (!test_bit(i, keypad->disabled_gpios)) { |
230 | unsigned int gpio = pdata->row_gpios[i]; | ||
231 | |||
232 | if (enable_irq_wake(gpio_to_irq(gpio)) == 0) | ||
233 | __set_bit(i, keypad->disabled_gpios); | ||
234 | } | ||
235 | } | ||
236 | } | ||
228 | 237 | ||
229 | return 0; | 238 | return 0; |
230 | } | 239 | } |
@@ -236,9 +245,15 @@ static int matrix_keypad_resume(struct device *dev) | |||
236 | const struct matrix_keypad_platform_data *pdata = keypad->pdata; | 245 | const struct matrix_keypad_platform_data *pdata = keypad->pdata; |
237 | int i; | 246 | int i; |
238 | 247 | ||
239 | if (device_may_wakeup(&pdev->dev)) | 248 | if (device_may_wakeup(&pdev->dev)) { |
240 | for (i = 0; i < pdata->num_row_gpios; i++) | 249 | for (i = 0; i < pdata->num_row_gpios; i++) { |
241 | disable_irq_wake(gpio_to_irq(pdata->row_gpios[i])); | 250 | if (test_and_clear_bit(i, keypad->disabled_gpios)) { |
251 | unsigned int gpio = pdata->row_gpios[i]; | ||
252 | |||
253 | disable_irq_wake(gpio_to_irq(gpio)); | ||
254 | } | ||
255 | } | ||
256 | } | ||
242 | 257 | ||
243 | matrix_keypad_start(keypad->input_dev); | 258 | matrix_keypad_start(keypad->input_dev); |
244 | 259 | ||
diff --git a/drivers/input/keyboard/twl4030_keypad.c b/drivers/input/keyboard/twl4030_keypad.c index eeaa7acb9cfc..21d6184efa96 100644 --- a/drivers/input/keyboard/twl4030_keypad.c +++ b/drivers/input/keyboard/twl4030_keypad.c | |||
@@ -253,14 +253,6 @@ static irqreturn_t do_kp_irq(int irq, void *_kp) | |||
253 | u8 reg; | 253 | u8 reg; |
254 | int ret; | 254 | int ret; |
255 | 255 | ||
256 | #ifdef CONFIG_LOCKDEP | ||
257 | /* WORKAROUND for lockdep forcing IRQF_DISABLED on us, which | ||
258 | * we don't want and can't tolerate. Although it might be | ||
259 | * friendlier not to borrow this thread context... | ||
260 | */ | ||
261 | local_irq_enable(); | ||
262 | #endif | ||
263 | |||
264 | /* Read & Clear TWL4030 pending interrupt */ | 256 | /* Read & Clear TWL4030 pending interrupt */ |
265 | ret = twl4030_kpread(kp, ®, KEYP_ISR1, 1); | 257 | ret = twl4030_kpread(kp, ®, KEYP_ISR1, 1); |
266 | 258 | ||
@@ -403,7 +395,8 @@ static int __devinit twl4030_kp_probe(struct platform_device *pdev) | |||
403 | * | 395 | * |
404 | * NOTE: we assume this host is wired to TWL4040 INT1, not INT2 ... | 396 | * NOTE: we assume this host is wired to TWL4040 INT1, not INT2 ... |
405 | */ | 397 | */ |
406 | error = request_irq(kp->irq, do_kp_irq, 0, pdev->name, kp); | 398 | error = request_threaded_irq(kp->irq, NULL, do_kp_irq, |
399 | 0, pdev->name, kp); | ||
407 | if (error) { | 400 | if (error) { |
408 | dev_info(kp->dbg_dev, "request_irq failed for irq no=%d\n", | 401 | dev_info(kp->dbg_dev, "request_irq failed for irq no=%d\n", |
409 | kp->irq); | 402 | kp->irq); |
diff --git a/drivers/input/misc/twl4030-pwrbutton.c b/drivers/input/misc/twl4030-pwrbutton.c index bdde5c889035..e9069b87fde2 100644 --- a/drivers/input/misc/twl4030-pwrbutton.c +++ b/drivers/input/misc/twl4030-pwrbutton.c | |||
@@ -39,18 +39,8 @@ static irqreturn_t powerbutton_irq(int irq, void *_pwr) | |||
39 | int err; | 39 | int err; |
40 | u8 value; | 40 | u8 value; |
41 | 41 | ||
42 | #ifdef CONFIG_LOCKDEP | ||
43 | /* WORKAROUND for lockdep forcing IRQF_DISABLED on us, which | ||
44 | * we don't want and can't tolerate since this is a threaded | ||
45 | * IRQ and can sleep due to the i2c reads it has to issue. | ||
46 | * Although it might be friendlier not to borrow this thread | ||
47 | * context... | ||
48 | */ | ||
49 | local_irq_enable(); | ||
50 | #endif | ||
51 | |||
52 | err = twl_i2c_read_u8(TWL4030_MODULE_PM_MASTER, &value, | 42 | err = twl_i2c_read_u8(TWL4030_MODULE_PM_MASTER, &value, |
53 | STS_HW_CONDITIONS); | 43 | STS_HW_CONDITIONS); |
54 | if (!err) { | 44 | if (!err) { |
55 | input_report_key(pwr, KEY_POWER, value & PWR_PWRON_IRQ); | 45 | input_report_key(pwr, KEY_POWER, value & PWR_PWRON_IRQ); |
56 | input_sync(pwr); | 46 | input_sync(pwr); |
@@ -80,7 +70,7 @@ static int __devinit twl4030_pwrbutton_probe(struct platform_device *pdev) | |||
80 | pwr->phys = "twl4030_pwrbutton/input0"; | 70 | pwr->phys = "twl4030_pwrbutton/input0"; |
81 | pwr->dev.parent = &pdev->dev; | 71 | pwr->dev.parent = &pdev->dev; |
82 | 72 | ||
83 | err = request_irq(irq, powerbutton_irq, | 73 | err = request_threaded_irq(irq, NULL, powerbutton_irq, |
84 | IRQF_TRIGGER_FALLING | IRQF_TRIGGER_RISING, | 74 | IRQF_TRIGGER_FALLING | IRQF_TRIGGER_RISING, |
85 | "twl4030_pwrbutton", pwr); | 75 | "twl4030_pwrbutton", pwr); |
86 | if (err < 0) { | 76 | if (err < 0) { |
diff --git a/drivers/input/misc/wistron_btns.c b/drivers/input/misc/wistron_btns.c index 38da6ab04384..c0afb71a3a6d 100644 --- a/drivers/input/misc/wistron_btns.c +++ b/drivers/input/misc/wistron_btns.c | |||
@@ -1328,7 +1328,7 @@ static struct platform_driver wistron_driver = { | |||
1328 | .driver = { | 1328 | .driver = { |
1329 | .name = "wistron-bios", | 1329 | .name = "wistron-bios", |
1330 | .owner = THIS_MODULE, | 1330 | .owner = THIS_MODULE, |
1331 | #if CONFIG_PM | 1331 | #ifdef CONFIG_PM |
1332 | .pm = &wistron_pm_ops, | 1332 | .pm = &wistron_pm_ops, |
1333 | #endif | 1333 | #endif |
1334 | }, | 1334 | }, |
diff --git a/drivers/input/mouse/Kconfig b/drivers/input/mouse/Kconfig index 3feeb3af8abd..c714ca2407f8 100644 --- a/drivers/input/mouse/Kconfig +++ b/drivers/input/mouse/Kconfig | |||
@@ -70,7 +70,7 @@ config MOUSE_PS2_SYNAPTICS | |||
70 | config MOUSE_PS2_LIFEBOOK | 70 | config MOUSE_PS2_LIFEBOOK |
71 | bool "Fujitsu Lifebook PS/2 mouse protocol extension" if EMBEDDED | 71 | bool "Fujitsu Lifebook PS/2 mouse protocol extension" if EMBEDDED |
72 | default y | 72 | default y |
73 | depends on MOUSE_PS2 && X86 | 73 | depends on MOUSE_PS2 && X86 && DMI |
74 | help | 74 | help |
75 | Say Y here if you have a Fujitsu B-series Lifebook PS/2 | 75 | Say Y here if you have a Fujitsu B-series Lifebook PS/2 |
76 | TouchScreen connected to your system. | 76 | TouchScreen connected to your system. |
diff --git a/drivers/input/mouse/hgpk.c b/drivers/input/mouse/hgpk.c index b146237266d8..90be30e93556 100644 --- a/drivers/input/mouse/hgpk.c +++ b/drivers/input/mouse/hgpk.c | |||
@@ -427,7 +427,6 @@ static void hgpk_recalib_work(struct work_struct *work) | |||
427 | 427 | ||
428 | static int hgpk_register(struct psmouse *psmouse) | 428 | static int hgpk_register(struct psmouse *psmouse) |
429 | { | 429 | { |
430 | struct input_dev *dev = psmouse->dev; | ||
431 | int err; | 430 | int err; |
432 | 431 | ||
433 | /* register handlers */ | 432 | /* register handlers */ |
diff --git a/drivers/input/mouse/lifebook.c b/drivers/input/mouse/lifebook.c index 2e6bdfea0165..6d7aa10d10f0 100644 --- a/drivers/input/mouse/lifebook.c +++ b/drivers/input/mouse/lifebook.c | |||
@@ -44,7 +44,6 @@ static int lifebook_set_6byte_proto(const struct dmi_system_id *d) | |||
44 | } | 44 | } |
45 | 45 | ||
46 | static const struct dmi_system_id __initconst lifebook_dmi_table[] = { | 46 | static const struct dmi_system_id __initconst lifebook_dmi_table[] = { |
47 | #if defined(CONFIG_DMI) && defined(CONFIG_X86) | ||
48 | { | 47 | { |
49 | /* FLORA-ie 55mi */ | 48 | /* FLORA-ie 55mi */ |
50 | .matches = { | 49 | .matches = { |
@@ -118,7 +117,6 @@ static const struct dmi_system_id __initconst lifebook_dmi_table[] = { | |||
118 | }, | 117 | }, |
119 | }, | 118 | }, |
120 | { } | 119 | { } |
121 | #endif | ||
122 | }; | 120 | }; |
123 | 121 | ||
124 | void __init lifebook_module_init(void) | 122 | void __init lifebook_module_init(void) |
diff --git a/drivers/input/mouse/psmouse-base.c b/drivers/input/mouse/psmouse-base.c index fd0bc094616a..401ac6b6edd4 100644 --- a/drivers/input/mouse/psmouse-base.c +++ b/drivers/input/mouse/psmouse-base.c | |||
@@ -1137,7 +1137,10 @@ static void psmouse_cleanup(struct serio *serio) | |||
1137 | if (psmouse->cleanup) | 1137 | if (psmouse->cleanup) |
1138 | psmouse->cleanup(psmouse); | 1138 | psmouse->cleanup(psmouse); |
1139 | 1139 | ||
1140 | psmouse_reset(psmouse); | 1140 | /* |
1141 | * Reset the mouse to defaults (bare PS/2 protocol). | ||
1142 | */ | ||
1143 | ps2_command(&psmouse->ps2dev, NULL, PSMOUSE_CMD_RESET_DIS); | ||
1141 | 1144 | ||
1142 | /* | 1145 | /* |
1143 | * Some boxes, such as HP nx7400, get terribly confused if mouse | 1146 | * Some boxes, such as HP nx7400, get terribly confused if mouse |
diff --git a/drivers/input/serio/serio.c b/drivers/input/serio/serio.c index 0236f0d5fd91..e0f30186d513 100644 --- a/drivers/input/serio/serio.c +++ b/drivers/input/serio/serio.c | |||
@@ -284,13 +284,7 @@ static void serio_handle_event(void) | |||
284 | 284 | ||
285 | mutex_lock(&serio_mutex); | 285 | mutex_lock(&serio_mutex); |
286 | 286 | ||
287 | /* | 287 | while ((event = serio_get_event())) { |
288 | * Note that we handle only one event here to give swsusp | ||
289 | * a chance to freeze kseriod thread. Serio events should | ||
290 | * be pretty rare so we are not concerned about taking | ||
291 | * performance hit. | ||
292 | */ | ||
293 | if ((event = serio_get_event())) { | ||
294 | 288 | ||
295 | switch (event->type) { | 289 | switch (event->type) { |
296 | case SERIO_REGISTER_PORT: | 290 | case SERIO_REGISTER_PORT: |
@@ -380,10 +374,9 @@ static struct serio *serio_get_pending_child(struct serio *parent) | |||
380 | 374 | ||
381 | static int serio_thread(void *nothing) | 375 | static int serio_thread(void *nothing) |
382 | { | 376 | { |
383 | set_freezable(); | ||
384 | do { | 377 | do { |
385 | serio_handle_event(); | 378 | serio_handle_event(); |
386 | wait_event_freezable(serio_wait, | 379 | wait_event_interruptible(serio_wait, |
387 | kthread_should_stop() || !list_empty(&serio_event_list)); | 380 | kthread_should_stop() || !list_empty(&serio_event_list)); |
388 | } while (!kthread_should_stop()); | 381 | } while (!kthread_should_stop()); |
389 | 382 | ||
diff --git a/drivers/lguest/segments.c b/drivers/lguest/segments.c index 951c57b0a7e0..ede46581351a 100644 --- a/drivers/lguest/segments.c +++ b/drivers/lguest/segments.c | |||
@@ -179,8 +179,10 @@ void load_guest_gdt_entry(struct lg_cpu *cpu, u32 num, u32 lo, u32 hi) | |||
179 | * We assume the Guest has the same number of GDT entries as the | 179 | * We assume the Guest has the same number of GDT entries as the |
180 | * Host, otherwise we'd have to dynamically allocate the Guest GDT. | 180 | * Host, otherwise we'd have to dynamically allocate the Guest GDT. |
181 | */ | 181 | */ |
182 | if (num >= ARRAY_SIZE(cpu->arch.gdt)) | 182 | if (num >= ARRAY_SIZE(cpu->arch.gdt)) { |
183 | kill_guest(cpu, "too many gdt entries %i", num); | 183 | kill_guest(cpu, "too many gdt entries %i", num); |
184 | return; | ||
185 | } | ||
184 | 186 | ||
185 | /* Set it up, then fix it. */ | 187 | /* Set it up, then fix it. */ |
186 | cpu->arch.gdt[num].a = lo; | 188 | cpu->arch.gdt[num].a = lo; |
diff --git a/drivers/md/md.c b/drivers/md/md.c index f4f5f82f9f53..dd3dfe42d5a9 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c | |||
@@ -386,7 +386,9 @@ static void mddev_put(mddev_t *mddev) | |||
386 | if (!atomic_dec_and_lock(&mddev->active, &all_mddevs_lock)) | 386 | if (!atomic_dec_and_lock(&mddev->active, &all_mddevs_lock)) |
387 | return; | 387 | return; |
388 | if (!mddev->raid_disks && list_empty(&mddev->disks) && | 388 | if (!mddev->raid_disks && list_empty(&mddev->disks) && |
389 | !mddev->hold_active) { | 389 | mddev->ctime == 0 && !mddev->hold_active) { |
390 | /* Array is not configured at all, and not held active, | ||
391 | * so destroy it */ | ||
390 | list_del(&mddev->all_mddevs); | 392 | list_del(&mddev->all_mddevs); |
391 | if (mddev->gendisk) { | 393 | if (mddev->gendisk) { |
392 | /* we did a probe so need to clean up. | 394 | /* we did a probe so need to clean up. |
@@ -4355,7 +4357,7 @@ static int do_md_run(mddev_t * mddev) | |||
4355 | mddev->barriers_work = 1; | 4357 | mddev->barriers_work = 1; |
4356 | mddev->ok_start_degraded = start_dirty_degraded; | 4358 | mddev->ok_start_degraded = start_dirty_degraded; |
4357 | 4359 | ||
4358 | if (start_readonly) | 4360 | if (start_readonly && mddev->ro == 0) |
4359 | mddev->ro = 2; /* read-only, but switch on first write */ | 4361 | mddev->ro = 2; /* read-only, but switch on first write */ |
4360 | 4362 | ||
4361 | err = mddev->pers->run(mddev); | 4363 | err = mddev->pers->run(mddev); |
@@ -4419,33 +4421,6 @@ static int do_md_run(mddev_t * mddev) | |||
4419 | 4421 | ||
4420 | set_capacity(disk, mddev->array_sectors); | 4422 | set_capacity(disk, mddev->array_sectors); |
4421 | 4423 | ||
4422 | /* If there is a partially-recovered drive we need to | ||
4423 | * start recovery here. If we leave it to md_check_recovery, | ||
4424 | * it will remove the drives and not do the right thing | ||
4425 | */ | ||
4426 | if (mddev->degraded && !mddev->sync_thread) { | ||
4427 | int spares = 0; | ||
4428 | list_for_each_entry(rdev, &mddev->disks, same_set) | ||
4429 | if (rdev->raid_disk >= 0 && | ||
4430 | !test_bit(In_sync, &rdev->flags) && | ||
4431 | !test_bit(Faulty, &rdev->flags)) | ||
4432 | /* complete an interrupted recovery */ | ||
4433 | spares++; | ||
4434 | if (spares && mddev->pers->sync_request) { | ||
4435 | mddev->recovery = 0; | ||
4436 | set_bit(MD_RECOVERY_RUNNING, &mddev->recovery); | ||
4437 | mddev->sync_thread = md_register_thread(md_do_sync, | ||
4438 | mddev, | ||
4439 | "resync"); | ||
4440 | if (!mddev->sync_thread) { | ||
4441 | printk(KERN_ERR "%s: could not start resync" | ||
4442 | " thread...\n", | ||
4443 | mdname(mddev)); | ||
4444 | /* leave the spares where they are, it shouldn't hurt */ | ||
4445 | mddev->recovery = 0; | ||
4446 | } | ||
4447 | } | ||
4448 | } | ||
4449 | md_wakeup_thread(mddev->thread); | 4424 | md_wakeup_thread(mddev->thread); |
4450 | md_wakeup_thread(mddev->sync_thread); /* possibly kick off a reshape */ | 4425 | md_wakeup_thread(mddev->sync_thread); /* possibly kick off a reshape */ |
4451 | 4426 | ||
@@ -5262,6 +5237,10 @@ static int set_array_info(mddev_t * mddev, mdu_array_info_t *info) | |||
5262 | mddev->minor_version = info->minor_version; | 5237 | mddev->minor_version = info->minor_version; |
5263 | mddev->patch_version = info->patch_version; | 5238 | mddev->patch_version = info->patch_version; |
5264 | mddev->persistent = !info->not_persistent; | 5239 | mddev->persistent = !info->not_persistent; |
5240 | /* ensure mddev_put doesn't delete this now that there | ||
5241 | * is some minimal configuration. | ||
5242 | */ | ||
5243 | mddev->ctime = get_seconds(); | ||
5265 | return 0; | 5244 | return 0; |
5266 | } | 5245 | } |
5267 | mddev->major_version = MD_MAJOR_VERSION; | 5246 | mddev->major_version = MD_MAJOR_VERSION; |
@@ -6494,10 +6473,11 @@ void md_do_sync(mddev_t *mddev) | |||
6494 | mddev->curr_resync = 2; | 6473 | mddev->curr_resync = 2; |
6495 | 6474 | ||
6496 | try_again: | 6475 | try_again: |
6497 | if (kthread_should_stop()) { | 6476 | if (kthread_should_stop()) |
6498 | set_bit(MD_RECOVERY_INTR, &mddev->recovery); | 6477 | set_bit(MD_RECOVERY_INTR, &mddev->recovery); |
6478 | |||
6479 | if (test_bit(MD_RECOVERY_INTR, &mddev->recovery)) | ||
6499 | goto skip; | 6480 | goto skip; |
6500 | } | ||
6501 | for_each_mddev(mddev2, tmp) { | 6481 | for_each_mddev(mddev2, tmp) { |
6502 | if (mddev2 == mddev) | 6482 | if (mddev2 == mddev) |
6503 | continue; | 6483 | continue; |
diff --git a/drivers/media/dvb/firewire/firedtv-fw.c b/drivers/media/dvb/firewire/firedtv-fw.c index fe44789ab037..6223bf01efe9 100644 --- a/drivers/media/dvb/firewire/firedtv-fw.c +++ b/drivers/media/dvb/firewire/firedtv-fw.c | |||
@@ -202,14 +202,8 @@ static void handle_fcp(struct fw_card *card, struct fw_request *request, | |||
202 | unsigned long flags; | 202 | unsigned long flags; |
203 | int su; | 203 | int su; |
204 | 204 | ||
205 | if ((tcode != TCODE_WRITE_QUADLET_REQUEST && | 205 | if (length < 2 || (((u8 *)payload)[0] & 0xf0) != 0) |
206 | tcode != TCODE_WRITE_BLOCK_REQUEST) || | ||
207 | offset != CSR_REGISTER_BASE + CSR_FCP_RESPONSE || | ||
208 | length == 0 || | ||
209 | (((u8 *)payload)[0] & 0xf0) != 0) { | ||
210 | fw_send_response(card, request, RCODE_TYPE_ERROR); | ||
211 | return; | 206 | return; |
212 | } | ||
213 | 207 | ||
214 | su = ((u8 *)payload)[1] & 0x7; | 208 | su = ((u8 *)payload)[1] & 0x7; |
215 | 209 | ||
@@ -230,10 +224,8 @@ static void handle_fcp(struct fw_card *card, struct fw_request *request, | |||
230 | } | 224 | } |
231 | spin_unlock_irqrestore(&node_list_lock, flags); | 225 | spin_unlock_irqrestore(&node_list_lock, flags); |
232 | 226 | ||
233 | if (fdtv) { | 227 | if (fdtv) |
234 | avc_recv(fdtv, payload, length); | 228 | avc_recv(fdtv, payload, length); |
235 | fw_send_response(card, request, RCODE_COMPLETE); | ||
236 | } | ||
237 | } | 229 | } |
238 | 230 | ||
239 | static struct fw_address_handler fcp_handler = { | 231 | static struct fw_address_handler fcp_handler = { |
diff --git a/drivers/message/i2o/i2o_config.c b/drivers/message/i2o/i2o_config.c index efba7021948a..3d5f40cd69df 100644 --- a/drivers/message/i2o/i2o_config.c +++ b/drivers/message/i2o/i2o_config.c | |||
@@ -40,8 +40,7 @@ | |||
40 | 40 | ||
41 | #define SG_TABLESIZE 30 | 41 | #define SG_TABLESIZE 30 |
42 | 42 | ||
43 | static int i2o_cfg_ioctl(struct inode *, struct file *, unsigned int, | 43 | static long i2o_cfg_ioctl(struct file *, unsigned int, unsigned long); |
44 | unsigned long); | ||
45 | 44 | ||
46 | static spinlock_t i2o_config_lock; | 45 | static spinlock_t i2o_config_lock; |
47 | 46 | ||
@@ -751,7 +750,7 @@ static long i2o_cfg_compat_ioctl(struct file *file, unsigned cmd, | |||
751 | lock_kernel(); | 750 | lock_kernel(); |
752 | switch (cmd) { | 751 | switch (cmd) { |
753 | case I2OGETIOPS: | 752 | case I2OGETIOPS: |
754 | ret = i2o_cfg_ioctl(NULL, file, cmd, arg); | 753 | ret = i2o_cfg_ioctl(file, cmd, arg); |
755 | break; | 754 | break; |
756 | case I2OPASSTHRU32: | 755 | case I2OPASSTHRU32: |
757 | ret = i2o_cfg_passthru32(file, cmd, arg); | 756 | ret = i2o_cfg_passthru32(file, cmd, arg); |
@@ -984,11 +983,11 @@ out: | |||
984 | /* | 983 | /* |
985 | * IOCTL Handler | 984 | * IOCTL Handler |
986 | */ | 985 | */ |
987 | static int i2o_cfg_ioctl(struct inode *inode, struct file *fp, unsigned int cmd, | 986 | static long i2o_cfg_ioctl(struct file *fp, unsigned int cmd, unsigned long arg) |
988 | unsigned long arg) | ||
989 | { | 987 | { |
990 | int ret; | 988 | int ret; |
991 | 989 | ||
990 | lock_kernel(); | ||
992 | switch (cmd) { | 991 | switch (cmd) { |
993 | case I2OGETIOPS: | 992 | case I2OGETIOPS: |
994 | ret = i2o_cfg_getiops(arg); | 993 | ret = i2o_cfg_getiops(arg); |
@@ -1044,7 +1043,7 @@ static int i2o_cfg_ioctl(struct inode *inode, struct file *fp, unsigned int cmd, | |||
1044 | osm_debug("unknown ioctl called!\n"); | 1043 | osm_debug("unknown ioctl called!\n"); |
1045 | ret = -EINVAL; | 1044 | ret = -EINVAL; |
1046 | } | 1045 | } |
1047 | 1046 | unlock_kernel(); | |
1048 | return ret; | 1047 | return ret; |
1049 | } | 1048 | } |
1050 | 1049 | ||
@@ -1118,7 +1117,7 @@ static int cfg_release(struct inode *inode, struct file *file) | |||
1118 | static const struct file_operations config_fops = { | 1117 | static const struct file_operations config_fops = { |
1119 | .owner = THIS_MODULE, | 1118 | .owner = THIS_MODULE, |
1120 | .llseek = no_llseek, | 1119 | .llseek = no_llseek, |
1121 | .ioctl = i2o_cfg_ioctl, | 1120 | .unlocked_ioctl = i2o_cfg_ioctl, |
1122 | #ifdef CONFIG_COMPAT | 1121 | #ifdef CONFIG_COMPAT |
1123 | .compat_ioctl = i2o_cfg_compat_ioctl, | 1122 | .compat_ioctl = i2o_cfg_compat_ioctl, |
1124 | #endif | 1123 | #endif |
diff --git a/drivers/mfd/twl4030-irq.c b/drivers/mfd/twl4030-irq.c index 20d29bafc9f5..9df9a5ad38f9 100644 --- a/drivers/mfd/twl4030-irq.c +++ b/drivers/mfd/twl4030-irq.c | |||
@@ -568,12 +568,12 @@ static void twl4030_sih_do_edge(struct work_struct *work) | |||
568 | 568 | ||
569 | bytes[byte] &= ~(0x03 << off); | 569 | bytes[byte] &= ~(0x03 << off); |
570 | 570 | ||
571 | spin_lock_irq(&d->lock); | 571 | raw_spin_lock_irq(&d->lock); |
572 | if (d->status & IRQ_TYPE_EDGE_RISING) | 572 | if (d->status & IRQ_TYPE_EDGE_RISING) |
573 | bytes[byte] |= BIT(off + 1); | 573 | bytes[byte] |= BIT(off + 1); |
574 | if (d->status & IRQ_TYPE_EDGE_FALLING) | 574 | if (d->status & IRQ_TYPE_EDGE_FALLING) |
575 | bytes[byte] |= BIT(off + 0); | 575 | bytes[byte] |= BIT(off + 0); |
576 | spin_unlock_irq(&d->lock); | 576 | raw_spin_unlock_irq(&d->lock); |
577 | 577 | ||
578 | edge_change &= ~BIT(i); | 578 | edge_change &= ~BIT(i); |
579 | } | 579 | } |
diff --git a/drivers/net/3c507.c b/drivers/net/3c507.c index fbc231153e55..77cf0901a441 100644 --- a/drivers/net/3c507.c +++ b/drivers/net/3c507.c | |||
@@ -56,6 +56,7 @@ static const char version[] = | |||
56 | #include <linux/errno.h> | 56 | #include <linux/errno.h> |
57 | #include <linux/netdevice.h> | 57 | #include <linux/netdevice.h> |
58 | #include <linux/etherdevice.h> | 58 | #include <linux/etherdevice.h> |
59 | #include <linux/if_ether.h> | ||
59 | #include <linux/skbuff.h> | 60 | #include <linux/skbuff.h> |
60 | #include <linux/slab.h> | 61 | #include <linux/slab.h> |
61 | #include <linux/init.h> | 62 | #include <linux/init.h> |
@@ -734,8 +735,7 @@ static void init_82586_mem(struct net_device *dev) | |||
734 | memcpy_toio(lp->base, init_words + 5, sizeof(init_words) - 10); | 735 | memcpy_toio(lp->base, init_words + 5, sizeof(init_words) - 10); |
735 | 736 | ||
736 | /* Fill in the station address. */ | 737 | /* Fill in the station address. */ |
737 | memcpy_toio(lp->base+SA_OFFSET, dev->dev_addr, | 738 | memcpy_toio(lp->base+SA_OFFSET, dev->dev_addr, ETH_ALEN); |
738 | sizeof(dev->dev_addr)); | ||
739 | 739 | ||
740 | /* The Tx-block list is written as needed. We just set up the values. */ | 740 | /* The Tx-block list is written as needed. We just set up the values. */ |
741 | lp->tx_cmd_link = IDLELOOP + 4; | 741 | lp->tx_cmd_link = IDLELOOP + 4; |
diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig index e58a65391ad2..dd9a09c72dff 100644 --- a/drivers/net/Kconfig +++ b/drivers/net/Kconfig | |||
@@ -2346,6 +2346,7 @@ config GELIC_NET | |||
2346 | 2346 | ||
2347 | config GELIC_WIRELESS | 2347 | config GELIC_WIRELESS |
2348 | bool "PS3 Wireless support" | 2348 | bool "PS3 Wireless support" |
2349 | depends on WLAN | ||
2349 | depends on GELIC_NET | 2350 | depends on GELIC_NET |
2350 | select WIRELESS_EXT | 2351 | select WIRELESS_EXT |
2351 | help | 2352 | help |
@@ -2358,6 +2359,7 @@ config GELIC_WIRELESS | |||
2358 | config GELIC_WIRELESS_OLD_PSK_INTERFACE | 2359 | config GELIC_WIRELESS_OLD_PSK_INTERFACE |
2359 | bool "PS3 Wireless private PSK interface (OBSOLETE)" | 2360 | bool "PS3 Wireless private PSK interface (OBSOLETE)" |
2360 | depends on GELIC_WIRELESS | 2361 | depends on GELIC_WIRELESS |
2362 | select WEXT_PRIV | ||
2361 | help | 2363 | help |
2362 | This option retains the obsolete private interface to pass | 2364 | This option retains the obsolete private interface to pass |
2363 | the PSK from user space programs to the driver. The PSK | 2365 | the PSK from user space programs to the driver. The PSK |
diff --git a/drivers/net/arm/Kconfig b/drivers/net/arm/Kconfig index c37ee9e6b67b..39e1c0d39476 100644 --- a/drivers/net/arm/Kconfig +++ b/drivers/net/arm/Kconfig | |||
@@ -68,6 +68,7 @@ config W90P910_ETH | |||
68 | tristate "Nuvoton w90p910 Ethernet support" | 68 | tristate "Nuvoton w90p910 Ethernet support" |
69 | depends on ARM && ARCH_W90X900 | 69 | depends on ARM && ARCH_W90X900 |
70 | select PHYLIB | 70 | select PHYLIB |
71 | select MII | ||
71 | help | 72 | help |
72 | Say Y here if you want to use built-in Ethernet ports | 73 | Say Y here if you want to use built-in Ethernet ports |
73 | on w90p910 processor. | 74 | on w90p910 processor. |
diff --git a/drivers/net/benet/be.h b/drivers/net/benet/be.h index 9e56014d27ed..9fd8e5ecd5d7 100644 --- a/drivers/net/benet/be.h +++ b/drivers/net/benet/be.h | |||
@@ -275,6 +275,7 @@ struct be_adapter { | |||
275 | u32 tx_fc; /* Tx flow control */ | 275 | u32 tx_fc; /* Tx flow control */ |
276 | int link_speed; | 276 | int link_speed; |
277 | u8 port_type; | 277 | u8 port_type; |
278 | u8 transceiver; | ||
278 | }; | 279 | }; |
279 | 280 | ||
280 | extern const struct ethtool_ops be_ethtool_ops; | 281 | extern const struct ethtool_ops be_ethtool_ops; |
diff --git a/drivers/net/benet/be_cmds.c b/drivers/net/benet/be_cmds.c index 1b68bd98dc0c..102ade134165 100644 --- a/drivers/net/benet/be_cmds.c +++ b/drivers/net/benet/be_cmds.c | |||
@@ -1479,6 +1479,41 @@ err: | |||
1479 | return status; | 1479 | return status; |
1480 | } | 1480 | } |
1481 | 1481 | ||
1482 | int be_cmd_set_loopback(struct be_adapter *adapter, u8 port_num, | ||
1483 | u8 loopback_type, u8 enable) | ||
1484 | { | ||
1485 | struct be_mcc_wrb *wrb; | ||
1486 | struct be_cmd_req_set_lmode *req; | ||
1487 | int status; | ||
1488 | |||
1489 | spin_lock_bh(&adapter->mcc_lock); | ||
1490 | |||
1491 | wrb = wrb_from_mccq(adapter); | ||
1492 | if (!wrb) { | ||
1493 | status = -EBUSY; | ||
1494 | goto err; | ||
1495 | } | ||
1496 | |||
1497 | req = embedded_payload(wrb); | ||
1498 | |||
1499 | be_wrb_hdr_prepare(wrb, sizeof(*req), true, 0, | ||
1500 | OPCODE_LOWLEVEL_SET_LOOPBACK_MODE); | ||
1501 | |||
1502 | be_cmd_hdr_prepare(&req->hdr, CMD_SUBSYSTEM_LOWLEVEL, | ||
1503 | OPCODE_LOWLEVEL_SET_LOOPBACK_MODE, | ||
1504 | sizeof(*req)); | ||
1505 | |||
1506 | req->src_port = port_num; | ||
1507 | req->dest_port = port_num; | ||
1508 | req->loopback_type = loopback_type; | ||
1509 | req->loopback_state = enable; | ||
1510 | |||
1511 | status = be_mcc_notify_wait(adapter); | ||
1512 | err: | ||
1513 | spin_unlock_bh(&adapter->mcc_lock); | ||
1514 | return status; | ||
1515 | } | ||
1516 | |||
1482 | int be_cmd_loopback_test(struct be_adapter *adapter, u32 port_num, | 1517 | int be_cmd_loopback_test(struct be_adapter *adapter, u32 port_num, |
1483 | u32 loopback_type, u32 pkt_size, u32 num_pkts, u64 pattern) | 1518 | u32 loopback_type, u32 pkt_size, u32 num_pkts, u64 pattern) |
1484 | { | 1519 | { |
@@ -1501,6 +1536,7 @@ int be_cmd_loopback_test(struct be_adapter *adapter, u32 port_num, | |||
1501 | 1536 | ||
1502 | be_cmd_hdr_prepare(&req->hdr, CMD_SUBSYSTEM_LOWLEVEL, | 1537 | be_cmd_hdr_prepare(&req->hdr, CMD_SUBSYSTEM_LOWLEVEL, |
1503 | OPCODE_LOWLEVEL_LOOPBACK_TEST, sizeof(*req)); | 1538 | OPCODE_LOWLEVEL_LOOPBACK_TEST, sizeof(*req)); |
1539 | req->hdr.timeout = 4; | ||
1504 | 1540 | ||
1505 | req->pattern = cpu_to_le64(pattern); | 1541 | req->pattern = cpu_to_le64(pattern); |
1506 | req->src_port = cpu_to_le32(port_num); | 1542 | req->src_port = cpu_to_le32(port_num); |
diff --git a/drivers/net/benet/be_cmds.h b/drivers/net/benet/be_cmds.h index 92b87ef156ed..c002b8391b4d 100644 --- a/drivers/net/benet/be_cmds.h +++ b/drivers/net/benet/be_cmds.h | |||
@@ -155,6 +155,7 @@ struct be_mcc_mailbox { | |||
155 | 155 | ||
156 | #define OPCODE_LOWLEVEL_HOST_DDR_DMA 17 | 156 | #define OPCODE_LOWLEVEL_HOST_DDR_DMA 17 |
157 | #define OPCODE_LOWLEVEL_LOOPBACK_TEST 18 | 157 | #define OPCODE_LOWLEVEL_LOOPBACK_TEST 18 |
158 | #define OPCODE_LOWLEVEL_SET_LOOPBACK_MODE 19 | ||
158 | 159 | ||
159 | struct be_cmd_req_hdr { | 160 | struct be_cmd_req_hdr { |
160 | u8 opcode; /* dword 0 */ | 161 | u8 opcode; /* dword 0 */ |
@@ -821,6 +822,19 @@ struct be_cmd_resp_loopback_test { | |||
821 | u32 ticks_compl; | 822 | u32 ticks_compl; |
822 | }; | 823 | }; |
823 | 824 | ||
825 | struct be_cmd_req_set_lmode { | ||
826 | struct be_cmd_req_hdr hdr; | ||
827 | u8 src_port; | ||
828 | u8 dest_port; | ||
829 | u8 loopback_type; | ||
830 | u8 loopback_state; | ||
831 | }; | ||
832 | |||
833 | struct be_cmd_resp_set_lmode { | ||
834 | struct be_cmd_resp_hdr resp_hdr; | ||
835 | u8 rsvd0[4]; | ||
836 | }; | ||
837 | |||
824 | /********************** DDR DMA test *********************/ | 838 | /********************** DDR DMA test *********************/ |
825 | struct be_cmd_req_ddrdma_test { | 839 | struct be_cmd_req_ddrdma_test { |
826 | struct be_cmd_req_hdr hdr; | 840 | struct be_cmd_req_hdr hdr; |
@@ -912,3 +926,5 @@ extern int be_cmd_loopback_test(struct be_adapter *adapter, u32 port_num, | |||
912 | u32 num_pkts, u64 pattern); | 926 | u32 num_pkts, u64 pattern); |
913 | extern int be_cmd_ddr_dma_test(struct be_adapter *adapter, u64 pattern, | 927 | extern int be_cmd_ddr_dma_test(struct be_adapter *adapter, u64 pattern, |
914 | u32 byte_cnt, struct be_dma_mem *cmd); | 928 | u32 byte_cnt, struct be_dma_mem *cmd); |
929 | extern int be_cmd_set_loopback(struct be_adapter *adapter, u8 port_num, | ||
930 | u8 loopback_type, u8 enable); | ||
diff --git a/drivers/net/benet/be_ethtool.c b/drivers/net/benet/be_ethtool.c index 298b92cbd689..5d001c4deac1 100644 --- a/drivers/net/benet/be_ethtool.c +++ b/drivers/net/benet/be_ethtool.c | |||
@@ -118,6 +118,7 @@ static const char et_self_tests[][ETH_GSTRING_LEN] = { | |||
118 | #define BE_MAC_LOOPBACK 0x0 | 118 | #define BE_MAC_LOOPBACK 0x0 |
119 | #define BE_PHY_LOOPBACK 0x1 | 119 | #define BE_PHY_LOOPBACK 0x1 |
120 | #define BE_ONE_PORT_EXT_LOOPBACK 0x2 | 120 | #define BE_ONE_PORT_EXT_LOOPBACK 0x2 |
121 | #define BE_NO_LOOPBACK 0xff | ||
121 | 122 | ||
122 | static void | 123 | static void |
123 | be_get_drvinfo(struct net_device *netdev, struct ethtool_drvinfo *drvinfo) | 124 | be_get_drvinfo(struct net_device *netdev, struct ethtool_drvinfo *drvinfo) |
@@ -339,28 +340,50 @@ static int be_get_settings(struct net_device *netdev, struct ethtool_cmd *ecmd) | |||
339 | 340 | ||
340 | status = be_cmd_read_port_type(adapter, adapter->port_num, | 341 | status = be_cmd_read_port_type(adapter, adapter->port_num, |
341 | &connector); | 342 | &connector); |
342 | switch (connector) { | 343 | if (!status) { |
343 | case 7: | 344 | switch (connector) { |
344 | ecmd->port = PORT_FIBRE; | 345 | case 7: |
345 | break; | 346 | ecmd->port = PORT_FIBRE; |
346 | default: | 347 | ecmd->transceiver = XCVR_EXTERNAL; |
347 | ecmd->port = PORT_TP; | 348 | break; |
348 | break; | 349 | case 0: |
350 | ecmd->port = PORT_TP; | ||
351 | ecmd->transceiver = XCVR_EXTERNAL; | ||
352 | break; | ||
353 | default: | ||
354 | ecmd->port = PORT_TP; | ||
355 | ecmd->transceiver = XCVR_INTERNAL; | ||
356 | break; | ||
357 | } | ||
358 | } else { | ||
359 | ecmd->port = PORT_AUI; | ||
360 | ecmd->transceiver = XCVR_INTERNAL; | ||
349 | } | 361 | } |
350 | 362 | ||
351 | /* Save for future use */ | 363 | /* Save for future use */ |
352 | adapter->link_speed = ecmd->speed; | 364 | adapter->link_speed = ecmd->speed; |
353 | adapter->port_type = ecmd->port; | 365 | adapter->port_type = ecmd->port; |
366 | adapter->transceiver = ecmd->transceiver; | ||
354 | } else { | 367 | } else { |
355 | ecmd->speed = adapter->link_speed; | 368 | ecmd->speed = adapter->link_speed; |
356 | ecmd->port = adapter->port_type; | 369 | ecmd->port = adapter->port_type; |
370 | ecmd->transceiver = adapter->transceiver; | ||
357 | } | 371 | } |
358 | 372 | ||
359 | ecmd->duplex = DUPLEX_FULL; | 373 | ecmd->duplex = DUPLEX_FULL; |
360 | ecmd->autoneg = AUTONEG_DISABLE; | 374 | ecmd->autoneg = AUTONEG_DISABLE; |
361 | ecmd->supported = (SUPPORTED_10000baseT_Full | SUPPORTED_TP); | ||
362 | ecmd->phy_address = adapter->port_num; | 375 | ecmd->phy_address = adapter->port_num; |
363 | ecmd->transceiver = XCVR_INTERNAL; | 376 | switch (ecmd->port) { |
377 | case PORT_FIBRE: | ||
378 | ecmd->supported = (SUPPORTED_10000baseT_Full | SUPPORTED_FIBRE); | ||
379 | break; | ||
380 | case PORT_TP: | ||
381 | ecmd->supported = (SUPPORTED_10000baseT_Full | SUPPORTED_TP); | ||
382 | break; | ||
383 | case PORT_AUI: | ||
384 | ecmd->supported = (SUPPORTED_10000baseT_Full | SUPPORTED_AUI); | ||
385 | break; | ||
386 | } | ||
364 | 387 | ||
365 | return 0; | 388 | return 0; |
366 | } | 389 | } |
@@ -489,6 +512,19 @@ err: | |||
489 | return ret; | 512 | return ret; |
490 | } | 513 | } |
491 | 514 | ||
515 | static u64 be_loopback_test(struct be_adapter *adapter, u8 loopback_type, | ||
516 | u64 *status) | ||
517 | { | ||
518 | be_cmd_set_loopback(adapter, adapter->port_num, | ||
519 | loopback_type, 1); | ||
520 | *status = be_cmd_loopback_test(adapter, adapter->port_num, | ||
521 | loopback_type, 1500, | ||
522 | 2, 0xabc); | ||
523 | be_cmd_set_loopback(adapter, adapter->port_num, | ||
524 | BE_NO_LOOPBACK, 1); | ||
525 | return *status; | ||
526 | } | ||
527 | |||
492 | static void | 528 | static void |
493 | be_self_test(struct net_device *netdev, struct ethtool_test *test, u64 *data) | 529 | be_self_test(struct net_device *netdev, struct ethtool_test *test, u64 *data) |
494 | { | 530 | { |
@@ -497,23 +533,18 @@ be_self_test(struct net_device *netdev, struct ethtool_test *test, u64 *data) | |||
497 | memset(data, 0, sizeof(u64) * ETHTOOL_TESTS_NUM); | 533 | memset(data, 0, sizeof(u64) * ETHTOOL_TESTS_NUM); |
498 | 534 | ||
499 | if (test->flags & ETH_TEST_FL_OFFLINE) { | 535 | if (test->flags & ETH_TEST_FL_OFFLINE) { |
500 | data[0] = be_cmd_loopback_test(adapter, adapter->port_num, | 536 | if (be_loopback_test(adapter, BE_MAC_LOOPBACK, |
501 | BE_MAC_LOOPBACK, 1500, | 537 | &data[0]) != 0) { |
502 | 2, 0xabc); | ||
503 | if (data[0] != 0) | ||
504 | test->flags |= ETH_TEST_FL_FAILED; | 538 | test->flags |= ETH_TEST_FL_FAILED; |
505 | 539 | } | |
506 | data[1] = be_cmd_loopback_test(adapter, adapter->port_num, | 540 | if (be_loopback_test(adapter, BE_PHY_LOOPBACK, |
507 | BE_PHY_LOOPBACK, 1500, | 541 | &data[1]) != 0) { |
508 | 2, 0xabc); | ||
509 | if (data[1] != 0) | ||
510 | test->flags |= ETH_TEST_FL_FAILED; | 542 | test->flags |= ETH_TEST_FL_FAILED; |
511 | 543 | } | |
512 | data[2] = be_cmd_loopback_test(adapter, adapter->port_num, | 544 | if (be_loopback_test(adapter, BE_ONE_PORT_EXT_LOOPBACK, |
513 | BE_ONE_PORT_EXT_LOOPBACK, | 545 | &data[2]) != 0) { |
514 | 1500, 2, 0xabc); | ||
515 | if (data[2] != 0) | ||
516 | test->flags |= ETH_TEST_FL_FAILED; | 546 | test->flags |= ETH_TEST_FL_FAILED; |
547 | } | ||
517 | 548 | ||
518 | data[3] = be_test_ddr_dma(adapter); | 549 | data[3] = be_test_ddr_dma(adapter); |
519 | if (data[3] != 0) | 550 | if (data[3] != 0) |
diff --git a/drivers/net/bnx2x_main.c b/drivers/net/bnx2x_main.c index 77ba13520d87..306c2b8165e2 100644 --- a/drivers/net/bnx2x_main.c +++ b/drivers/net/bnx2x_main.c | |||
@@ -7593,6 +7593,8 @@ static int bnx2x_nic_load(struct bnx2x *bp, int load_mode) | |||
7593 | if (bp->cnic_eth_dev.drv_state & CNIC_DRV_STATE_REGD) { | 7593 | if (bp->cnic_eth_dev.drv_state & CNIC_DRV_STATE_REGD) { |
7594 | bnx2x_set_iscsi_eth_mac_addr(bp, 1); | 7594 | bnx2x_set_iscsi_eth_mac_addr(bp, 1); |
7595 | bp->cnic_flags |= BNX2X_CNIC_FLAG_MAC_SET; | 7595 | bp->cnic_flags |= BNX2X_CNIC_FLAG_MAC_SET; |
7596 | bnx2x_init_sb(bp, bp->cnic_sb, bp->cnic_sb_mapping, | ||
7597 | CNIC_SB_ID(bp)); | ||
7596 | } | 7598 | } |
7597 | mutex_unlock(&bp->cnic_mutex); | 7599 | mutex_unlock(&bp->cnic_mutex); |
7598 | #endif | 7600 | #endif |
diff --git a/drivers/net/bonding/bond_3ad.c b/drivers/net/bonding/bond_3ad.c index 0fb7a4964e75..822f586d72af 100644 --- a/drivers/net/bonding/bond_3ad.c +++ b/drivers/net/bonding/bond_3ad.c | |||
@@ -1580,7 +1580,7 @@ static void ad_agg_selection_logic(struct aggregator *agg) | |||
1580 | // check if any partner replys | 1580 | // check if any partner replys |
1581 | if (best->is_individual) { | 1581 | if (best->is_individual) { |
1582 | pr_warning("%s: Warning: No 802.3ad response from the link partner for any adapters in the bond\n", | 1582 | pr_warning("%s: Warning: No 802.3ad response from the link partner for any adapters in the bond\n", |
1583 | best->slave->dev->master->name); | 1583 | best->slave ? best->slave->dev->master->name : "NULL"); |
1584 | } | 1584 | } |
1585 | 1585 | ||
1586 | best->is_active = 1; | 1586 | best->is_active = 1; |
diff --git a/drivers/net/gianfar.c b/drivers/net/gianfar.c index e0620d084644..8bd3c9f17532 100644 --- a/drivers/net/gianfar.c +++ b/drivers/net/gianfar.c | |||
@@ -143,7 +143,6 @@ void gfar_start(struct net_device *dev); | |||
143 | static void gfar_clear_exact_match(struct net_device *dev); | 143 | static void gfar_clear_exact_match(struct net_device *dev); |
144 | static void gfar_set_mac_for_addr(struct net_device *dev, int num, u8 *addr); | 144 | static void gfar_set_mac_for_addr(struct net_device *dev, int num, u8 *addr); |
145 | static int gfar_ioctl(struct net_device *dev, struct ifreq *rq, int cmd); | 145 | static int gfar_ioctl(struct net_device *dev, struct ifreq *rq, int cmd); |
146 | u16 gfar_select_queue(struct net_device *dev, struct sk_buff *skb); | ||
147 | 146 | ||
148 | MODULE_AUTHOR("Freescale Semiconductor, Inc"); | 147 | MODULE_AUTHOR("Freescale Semiconductor, Inc"); |
149 | MODULE_DESCRIPTION("Gianfar Ethernet Driver"); | 148 | MODULE_DESCRIPTION("Gianfar Ethernet Driver"); |
@@ -455,7 +454,6 @@ static const struct net_device_ops gfar_netdev_ops = { | |||
455 | .ndo_set_multicast_list = gfar_set_multi, | 454 | .ndo_set_multicast_list = gfar_set_multi, |
456 | .ndo_tx_timeout = gfar_timeout, | 455 | .ndo_tx_timeout = gfar_timeout, |
457 | .ndo_do_ioctl = gfar_ioctl, | 456 | .ndo_do_ioctl = gfar_ioctl, |
458 | .ndo_select_queue = gfar_select_queue, | ||
459 | .ndo_get_stats = gfar_get_stats, | 457 | .ndo_get_stats = gfar_get_stats, |
460 | .ndo_vlan_rx_register = gfar_vlan_rx_register, | 458 | .ndo_vlan_rx_register = gfar_vlan_rx_register, |
461 | .ndo_set_mac_address = eth_mac_addr, | 459 | .ndo_set_mac_address = eth_mac_addr, |
@@ -506,10 +504,6 @@ static inline int gfar_uses_fcb(struct gfar_private *priv) | |||
506 | return priv->vlgrp || priv->rx_csum_enable; | 504 | return priv->vlgrp || priv->rx_csum_enable; |
507 | } | 505 | } |
508 | 506 | ||
509 | u16 gfar_select_queue(struct net_device *dev, struct sk_buff *skb) | ||
510 | { | ||
511 | return skb_get_queue_mapping(skb); | ||
512 | } | ||
513 | static void free_tx_pointers(struct gfar_private *priv) | 507 | static void free_tx_pointers(struct gfar_private *priv) |
514 | { | 508 | { |
515 | int i = 0; | 509 | int i = 0; |
@@ -2470,10 +2464,11 @@ static int gfar_process_frame(struct net_device *dev, struct sk_buff *skb, | |||
2470 | fcb = (struct rxfcb *)skb->data; | 2464 | fcb = (struct rxfcb *)skb->data; |
2471 | 2465 | ||
2472 | /* Remove the FCB from the skb */ | 2466 | /* Remove the FCB from the skb */ |
2473 | skb_set_queue_mapping(skb, fcb->rq); | ||
2474 | /* Remove the padded bytes, if there are any */ | 2467 | /* Remove the padded bytes, if there are any */ |
2475 | if (amount_pull) | 2468 | if (amount_pull) { |
2469 | skb_record_rx_queue(skb, fcb->rq); | ||
2476 | skb_pull(skb, amount_pull); | 2470 | skb_pull(skb, amount_pull); |
2471 | } | ||
2477 | 2472 | ||
2478 | if (priv->rx_csum_enable) | 2473 | if (priv->rx_csum_enable) |
2479 | gfar_rx_checksum(skb, fcb); | 2474 | gfar_rx_checksum(skb, fcb); |
@@ -2554,7 +2549,7 @@ int gfar_clean_rx_ring(struct gfar_priv_rx_q *rx_queue, int rx_work_limit) | |||
2554 | /* Remove the FCS from the packet length */ | 2549 | /* Remove the FCS from the packet length */ |
2555 | skb_put(skb, pkt_len); | 2550 | skb_put(skb, pkt_len); |
2556 | rx_queue->stats.rx_bytes += pkt_len; | 2551 | rx_queue->stats.rx_bytes += pkt_len; |
2557 | 2552 | skb_record_rx_queue(skb, rx_queue->qindex); | |
2558 | gfar_process_frame(dev, skb, amount_pull); | 2553 | gfar_process_frame(dev, skb, amount_pull); |
2559 | 2554 | ||
2560 | } else { | 2555 | } else { |
diff --git a/drivers/net/ibmlana.c b/drivers/net/ibmlana.c index 090a6d3af112..052c74091d91 100644 --- a/drivers/net/ibmlana.c +++ b/drivers/net/ibmlana.c | |||
@@ -87,6 +87,7 @@ History: | |||
87 | #include <linux/module.h> | 87 | #include <linux/module.h> |
88 | #include <linux/netdevice.h> | 88 | #include <linux/netdevice.h> |
89 | #include <linux/etherdevice.h> | 89 | #include <linux/etherdevice.h> |
90 | #include <linux/if_ether.h> | ||
90 | #include <linux/skbuff.h> | 91 | #include <linux/skbuff.h> |
91 | #include <linux/bitops.h> | 92 | #include <linux/bitops.h> |
92 | 93 | ||
@@ -988,7 +989,7 @@ static int __devinit ibmlana_init_one(struct device *kdev) | |||
988 | 989 | ||
989 | /* copy out MAC address */ | 990 | /* copy out MAC address */ |
990 | 991 | ||
991 | for (z = 0; z < sizeof(dev->dev_addr); z++) | 992 | for (z = 0; z < ETH_ALEN; z++) |
992 | dev->dev_addr[z] = inb(dev->base_addr + MACADDRPROM + z); | 993 | dev->dev_addr[z] = inb(dev->base_addr + MACADDRPROM + z); |
993 | 994 | ||
994 | /* print config */ | 995 | /* print config */ |
diff --git a/drivers/net/igb/e1000_82575.c b/drivers/net/igb/e1000_82575.c index e8e9e9194a88..c505b50d1fa3 100644 --- a/drivers/net/igb/e1000_82575.c +++ b/drivers/net/igb/e1000_82575.c | |||
@@ -1096,9 +1096,7 @@ static s32 igb_setup_serdes_link_82575(struct e1000_hw *hw) | |||
1096 | hw_dbg("Configuring Autoneg:PCS_LCTL=0x%08X\n", reg); | 1096 | hw_dbg("Configuring Autoneg:PCS_LCTL=0x%08X\n", reg); |
1097 | } else { | 1097 | } else { |
1098 | /* Set PCS register for forced link */ | 1098 | /* Set PCS register for forced link */ |
1099 | reg |= E1000_PCS_LCTL_FSD | /* Force Speed */ | 1099 | reg |= E1000_PCS_LCTL_FSD; /* Force Speed */ |
1100 | E1000_PCS_LCTL_FORCE_LINK | /* Force Link */ | ||
1101 | E1000_PCS_LCTL_FLV_LINK_UP; /* Force link value up */ | ||
1102 | 1100 | ||
1103 | hw_dbg("Configuring Forced Link:PCS_LCTL=0x%08X\n", reg); | 1101 | hw_dbg("Configuring Forced Link:PCS_LCTL=0x%08X\n", reg); |
1104 | } | 1102 | } |
diff --git a/drivers/net/igb/e1000_phy.c b/drivers/net/igb/e1000_phy.c index 5c9d73e9bb8d..3670a66401b8 100644 --- a/drivers/net/igb/e1000_phy.c +++ b/drivers/net/igb/e1000_phy.c | |||
@@ -457,15 +457,6 @@ s32 igb_copper_link_setup_82580(struct e1000_hw *hw) | |||
457 | phy_data |= I82580_CFG_ENABLE_DOWNSHIFT; | 457 | phy_data |= I82580_CFG_ENABLE_DOWNSHIFT; |
458 | 458 | ||
459 | ret_val = phy->ops.write_reg(hw, I82580_CFG_REG, phy_data); | 459 | ret_val = phy->ops.write_reg(hw, I82580_CFG_REG, phy_data); |
460 | if (ret_val) | ||
461 | goto out; | ||
462 | |||
463 | /* Set number of link attempts before downshift */ | ||
464 | ret_val = phy->ops.read_reg(hw, I82580_CTRL_REG, &phy_data); | ||
465 | if (ret_val) | ||
466 | goto out; | ||
467 | phy_data &= ~I82580_CTRL_DOWNSHIFT_MASK; | ||
468 | ret_val = phy->ops.write_reg(hw, I82580_CTRL_REG, phy_data); | ||
469 | 460 | ||
470 | out: | 461 | out: |
471 | return ret_val; | 462 | return ret_val; |
diff --git a/drivers/net/igb/igb_ethtool.c b/drivers/net/igb/igb_ethtool.c index ac9d5272650d..f771a6c08777 100644 --- a/drivers/net/igb/igb_ethtool.c +++ b/drivers/net/igb/igb_ethtool.c | |||
@@ -1795,7 +1795,7 @@ static int igb_wol_exclusion(struct igb_adapter *adapter, | |||
1795 | /* dual port cards only support WoL on port A from now on | 1795 | /* dual port cards only support WoL on port A from now on |
1796 | * unless it was enabled in the eeprom for port B | 1796 | * unless it was enabled in the eeprom for port B |
1797 | * so exclude FUNC_1 ports from having WoL enabled */ | 1797 | * so exclude FUNC_1 ports from having WoL enabled */ |
1798 | if (rd32(E1000_STATUS) & E1000_STATUS_FUNC_1 && | 1798 | if ((rd32(E1000_STATUS) & E1000_STATUS_FUNC_MASK) && |
1799 | !adapter->eeprom_wol) { | 1799 | !adapter->eeprom_wol) { |
1800 | wol->supported = 0; | 1800 | wol->supported = 0; |
1801 | break; | 1801 | break; |
diff --git a/drivers/net/igb/igb_main.c b/drivers/net/igb/igb_main.c index 78963a0e128d..933c64ff2465 100644 --- a/drivers/net/igb/igb_main.c +++ b/drivers/net/igb/igb_main.c | |||
@@ -1306,13 +1306,8 @@ void igb_reset(struct igb_adapter *adapter) | |||
1306 | hwm = min(((pba << 10) * 9 / 10), | 1306 | hwm = min(((pba << 10) * 9 / 10), |
1307 | ((pba << 10) - 2 * adapter->max_frame_size)); | 1307 | ((pba << 10) - 2 * adapter->max_frame_size)); |
1308 | 1308 | ||
1309 | if (mac->type < e1000_82576) { | 1309 | fc->high_water = hwm & 0xFFF0; /* 16-byte granularity */ |
1310 | fc->high_water = hwm & 0xFFF8; /* 8-byte granularity */ | 1310 | fc->low_water = fc->high_water - 16; |
1311 | fc->low_water = fc->high_water - 8; | ||
1312 | } else { | ||
1313 | fc->high_water = hwm & 0xFFF0; /* 16-byte granularity */ | ||
1314 | fc->low_water = fc->high_water - 16; | ||
1315 | } | ||
1316 | fc->pause_time = 0xFFFF; | 1311 | fc->pause_time = 0xFFFF; |
1317 | fc->send_xon = 1; | 1312 | fc->send_xon = 1; |
1318 | fc->current_mode = fc->requested_mode; | 1313 | fc->current_mode = fc->requested_mode; |
diff --git a/drivers/net/igbvf/netdev.c b/drivers/net/igbvf/netdev.c index e9dd95f136aa..0dbd0320023a 100644 --- a/drivers/net/igbvf/netdev.c +++ b/drivers/net/igbvf/netdev.c | |||
@@ -2763,7 +2763,8 @@ static int __devinit igbvf_probe(struct pci_dev *pdev, | |||
2763 | err = hw->mac.ops.reset_hw(hw); | 2763 | err = hw->mac.ops.reset_hw(hw); |
2764 | if (err) { | 2764 | if (err) { |
2765 | dev_info(&pdev->dev, | 2765 | dev_info(&pdev->dev, |
2766 | "PF still in reset state, assigning new address\n"); | 2766 | "PF still in reset state, assigning new address." |
2767 | " Is the PF interface up?\n"); | ||
2767 | random_ether_addr(hw->mac.addr); | 2768 | random_ether_addr(hw->mac.addr); |
2768 | } else { | 2769 | } else { |
2769 | err = hw->mac.ops.read_mac_addr(hw); | 2770 | err = hw->mac.ops.read_mac_addr(hw); |
diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c index bd64387563f0..1a2ea621e371 100644 --- a/drivers/net/ixgbe/ixgbe_main.c +++ b/drivers/net/ixgbe/ixgbe_main.c | |||
@@ -4373,6 +4373,11 @@ static int ixgbe_resume(struct pci_dev *pdev) | |||
4373 | 4373 | ||
4374 | pci_set_power_state(pdev, PCI_D0); | 4374 | pci_set_power_state(pdev, PCI_D0); |
4375 | pci_restore_state(pdev); | 4375 | pci_restore_state(pdev); |
4376 | /* | ||
4377 | * pci_restore_state clears dev->state_saved so call | ||
4378 | * pci_save_state to restore it. | ||
4379 | */ | ||
4380 | pci_save_state(pdev); | ||
4376 | 4381 | ||
4377 | err = pci_enable_device_mem(pdev); | 4382 | err = pci_enable_device_mem(pdev); |
4378 | if (err) { | 4383 | if (err) { |
diff --git a/drivers/net/pcnet32.c b/drivers/net/pcnet32.c index dcc67a35e8f2..e154677ff706 100644 --- a/drivers/net/pcnet32.c +++ b/drivers/net/pcnet32.c | |||
@@ -45,6 +45,7 @@ static const char *const version = | |||
45 | #include <linux/crc32.h> | 45 | #include <linux/crc32.h> |
46 | #include <linux/netdevice.h> | 46 | #include <linux/netdevice.h> |
47 | #include <linux/etherdevice.h> | 47 | #include <linux/etherdevice.h> |
48 | #include <linux/if_ether.h> | ||
48 | #include <linux/skbuff.h> | 49 | #include <linux/skbuff.h> |
49 | #include <linux/spinlock.h> | 50 | #include <linux/spinlock.h> |
50 | #include <linux/moduleparam.h> | 51 | #include <linux/moduleparam.h> |
@@ -1765,7 +1766,7 @@ pcnet32_probe1(unsigned long ioaddr, int shared, struct pci_dev *pdev) | |||
1765 | 1766 | ||
1766 | /* if the ethernet address is not valid, force to 00:00:00:00:00:00 */ | 1767 | /* if the ethernet address is not valid, force to 00:00:00:00:00:00 */ |
1767 | if (!is_valid_ether_addr(dev->perm_addr)) | 1768 | if (!is_valid_ether_addr(dev->perm_addr)) |
1768 | memset(dev->dev_addr, 0, sizeof(dev->dev_addr)); | 1769 | memset(dev->dev_addr, 0, ETH_ALEN); |
1769 | 1770 | ||
1770 | if (pcnet32_debug & NETIF_MSG_PROBE) { | 1771 | if (pcnet32_debug & NETIF_MSG_PROBE) { |
1771 | printk(" %pM", dev->dev_addr); | 1772 | printk(" %pM", dev->dev_addr); |
diff --git a/drivers/net/sfc/efx.c b/drivers/net/sfc/efx.c index f983e3b507cc..103e8b0e2a0d 100644 --- a/drivers/net/sfc/efx.c +++ b/drivers/net/sfc/efx.c | |||
@@ -741,14 +741,14 @@ static int efx_probe_port(struct efx_nic *efx) | |||
741 | 741 | ||
742 | EFX_LOG(efx, "create port\n"); | 742 | EFX_LOG(efx, "create port\n"); |
743 | 743 | ||
744 | if (phy_flash_cfg) | ||
745 | efx->phy_mode = PHY_MODE_SPECIAL; | ||
746 | |||
744 | /* Connect up MAC/PHY operations table */ | 747 | /* Connect up MAC/PHY operations table */ |
745 | rc = efx->type->probe_port(efx); | 748 | rc = efx->type->probe_port(efx); |
746 | if (rc) | 749 | if (rc) |
747 | goto err; | 750 | goto err; |
748 | 751 | ||
749 | if (phy_flash_cfg) | ||
750 | efx->phy_mode = PHY_MODE_SPECIAL; | ||
751 | |||
752 | /* Sanity check MAC address */ | 752 | /* Sanity check MAC address */ |
753 | if (is_valid_ether_addr(efx->mac_address)) { | 753 | if (is_valid_ether_addr(efx->mac_address)) { |
754 | memcpy(efx->net_dev->dev_addr, efx->mac_address, ETH_ALEN); | 754 | memcpy(efx->net_dev->dev_addr, efx->mac_address, ETH_ALEN); |
diff --git a/drivers/net/sfc/falcon.c b/drivers/net/sfc/falcon.c index 17afcd26e870..9d009c46e962 100644 --- a/drivers/net/sfc/falcon.c +++ b/drivers/net/sfc/falcon.c | |||
@@ -925,6 +925,7 @@ static int falcon_probe_port(struct efx_nic *efx) | |||
925 | 925 | ||
926 | static void falcon_remove_port(struct efx_nic *efx) | 926 | static void falcon_remove_port(struct efx_nic *efx) |
927 | { | 927 | { |
928 | efx->phy_op->remove(efx); | ||
928 | efx_nic_free_buffer(efx, &efx->stats_buffer); | 929 | efx_nic_free_buffer(efx, &efx->stats_buffer); |
929 | } | 930 | } |
930 | 931 | ||
diff --git a/drivers/net/sfc/falcon_xmac.c b/drivers/net/sfc/falcon_xmac.c index 3da933f8f079..8ccab2c67a20 100644 --- a/drivers/net/sfc/falcon_xmac.c +++ b/drivers/net/sfc/falcon_xmac.c | |||
@@ -111,16 +111,12 @@ static void falcon_mask_status_intr(struct efx_nic *efx, bool enable) | |||
111 | efx_writeo(efx, ®, FR_AB_XM_MGT_INT_MASK); | 111 | efx_writeo(efx, ®, FR_AB_XM_MGT_INT_MASK); |
112 | } | 112 | } |
113 | 113 | ||
114 | /* Get status of XAUI link */ | 114 | static bool falcon_xgxs_link_ok(struct efx_nic *efx) |
115 | static bool falcon_xaui_link_ok(struct efx_nic *efx) | ||
116 | { | 115 | { |
117 | efx_oword_t reg; | 116 | efx_oword_t reg; |
118 | bool align_done, link_ok = false; | 117 | bool align_done, link_ok = false; |
119 | int sync_status; | 118 | int sync_status; |
120 | 119 | ||
121 | if (LOOPBACK_INTERNAL(efx)) | ||
122 | return true; | ||
123 | |||
124 | /* Read link status */ | 120 | /* Read link status */ |
125 | efx_reado(efx, ®, FR_AB_XX_CORE_STAT); | 121 | efx_reado(efx, ®, FR_AB_XX_CORE_STAT); |
126 | 122 | ||
@@ -135,14 +131,24 @@ static bool falcon_xaui_link_ok(struct efx_nic *efx) | |||
135 | EFX_SET_OWORD_FIELD(reg, FRF_AB_XX_DISPERR, FFE_AB_XX_STAT_ALL_LANES); | 131 | EFX_SET_OWORD_FIELD(reg, FRF_AB_XX_DISPERR, FFE_AB_XX_STAT_ALL_LANES); |
136 | efx_writeo(efx, ®, FR_AB_XX_CORE_STAT); | 132 | efx_writeo(efx, ®, FR_AB_XX_CORE_STAT); |
137 | 133 | ||
138 | /* If the link is up, then check the phy side of the xaui link */ | ||
139 | if (efx->link_state.up && link_ok) | ||
140 | if (efx->mdio.mmds & (1 << MDIO_MMD_PHYXS)) | ||
141 | link_ok = efx_mdio_phyxgxs_lane_sync(efx); | ||
142 | |||
143 | return link_ok; | 134 | return link_ok; |
144 | } | 135 | } |
145 | 136 | ||
137 | static bool falcon_xmac_link_ok(struct efx_nic *efx) | ||
138 | { | ||
139 | /* | ||
140 | * Check MAC's XGXS link status except when using XGMII loopback | ||
141 | * which bypasses the XGXS block. | ||
142 | * If possible, check PHY's XGXS link status except when using | ||
143 | * MAC loopback. | ||
144 | */ | ||
145 | return (efx->loopback_mode == LOOPBACK_XGMII || | ||
146 | falcon_xgxs_link_ok(efx)) && | ||
147 | (!(efx->mdio.mmds & (1 << MDIO_MMD_PHYXS)) || | ||
148 | LOOPBACK_INTERNAL(efx) || | ||
149 | efx_mdio_phyxgxs_lane_sync(efx)); | ||
150 | } | ||
151 | |||
146 | void falcon_reconfigure_xmac_core(struct efx_nic *efx) | 152 | void falcon_reconfigure_xmac_core(struct efx_nic *efx) |
147 | { | 153 | { |
148 | unsigned int max_frame_len; | 154 | unsigned int max_frame_len; |
@@ -245,9 +251,9 @@ static void falcon_reconfigure_xgxs_core(struct efx_nic *efx) | |||
245 | 251 | ||
246 | 252 | ||
247 | /* Try to bring up the Falcon side of the Falcon-Phy XAUI link */ | 253 | /* Try to bring up the Falcon side of the Falcon-Phy XAUI link */ |
248 | static bool falcon_check_xaui_link_up(struct efx_nic *efx, int tries) | 254 | static bool falcon_xmac_link_ok_retry(struct efx_nic *efx, int tries) |
249 | { | 255 | { |
250 | bool mac_up = falcon_xaui_link_ok(efx); | 256 | bool mac_up = falcon_xmac_link_ok(efx); |
251 | 257 | ||
252 | if (LOOPBACK_MASK(efx) & LOOPBACKS_EXTERNAL(efx) & LOOPBACKS_WS || | 258 | if (LOOPBACK_MASK(efx) & LOOPBACKS_EXTERNAL(efx) & LOOPBACKS_WS || |
253 | efx_phy_mode_disabled(efx->phy_mode)) | 259 | efx_phy_mode_disabled(efx->phy_mode)) |
@@ -261,7 +267,7 @@ static bool falcon_check_xaui_link_up(struct efx_nic *efx, int tries) | |||
261 | falcon_reset_xaui(efx); | 267 | falcon_reset_xaui(efx); |
262 | udelay(200); | 268 | udelay(200); |
263 | 269 | ||
264 | mac_up = falcon_xaui_link_ok(efx); | 270 | mac_up = falcon_xmac_link_ok(efx); |
265 | --tries; | 271 | --tries; |
266 | } | 272 | } |
267 | 273 | ||
@@ -272,7 +278,7 @@ static bool falcon_check_xaui_link_up(struct efx_nic *efx, int tries) | |||
272 | 278 | ||
273 | static bool falcon_xmac_check_fault(struct efx_nic *efx) | 279 | static bool falcon_xmac_check_fault(struct efx_nic *efx) |
274 | { | 280 | { |
275 | return !falcon_check_xaui_link_up(efx, 5); | 281 | return !falcon_xmac_link_ok_retry(efx, 5); |
276 | } | 282 | } |
277 | 283 | ||
278 | static int falcon_reconfigure_xmac(struct efx_nic *efx) | 284 | static int falcon_reconfigure_xmac(struct efx_nic *efx) |
@@ -284,7 +290,7 @@ static int falcon_reconfigure_xmac(struct efx_nic *efx) | |||
284 | 290 | ||
285 | falcon_reconfigure_mac_wrapper(efx); | 291 | falcon_reconfigure_mac_wrapper(efx); |
286 | 292 | ||
287 | efx->xmac_poll_required = !falcon_check_xaui_link_up(efx, 5); | 293 | efx->xmac_poll_required = !falcon_xmac_link_ok_retry(efx, 5); |
288 | falcon_mask_status_intr(efx, true); | 294 | falcon_mask_status_intr(efx, true); |
289 | 295 | ||
290 | return 0; | 296 | return 0; |
@@ -357,7 +363,7 @@ void falcon_poll_xmac(struct efx_nic *efx) | |||
357 | return; | 363 | return; |
358 | 364 | ||
359 | falcon_mask_status_intr(efx, false); | 365 | falcon_mask_status_intr(efx, false); |
360 | efx->xmac_poll_required = !falcon_check_xaui_link_up(efx, 1); | 366 | efx->xmac_poll_required = !falcon_xmac_link_ok_retry(efx, 1); |
361 | falcon_mask_status_intr(efx, true); | 367 | falcon_mask_status_intr(efx, true); |
362 | } | 368 | } |
363 | 369 | ||
diff --git a/drivers/net/sfc/mcdi_phy.c b/drivers/net/sfc/mcdi_phy.c index 0e1bcc5a0d52..eb694af7a473 100644 --- a/drivers/net/sfc/mcdi_phy.c +++ b/drivers/net/sfc/mcdi_phy.c | |||
@@ -304,31 +304,47 @@ static u32 mcdi_to_ethtool_media(u32 media) | |||
304 | 304 | ||
305 | static int efx_mcdi_phy_probe(struct efx_nic *efx) | 305 | static int efx_mcdi_phy_probe(struct efx_nic *efx) |
306 | { | 306 | { |
307 | struct efx_mcdi_phy_cfg *phy_cfg; | 307 | struct efx_mcdi_phy_cfg *phy_data; |
308 | u8 outbuf[MC_CMD_GET_LINK_OUT_LEN]; | ||
309 | u32 caps; | ||
308 | int rc; | 310 | int rc; |
309 | 311 | ||
310 | /* TODO: Move phy_data initialisation to | 312 | /* Initialise and populate phy_data */ |
311 | * phy_op->probe/remove, rather than init/fini */ | 313 | phy_data = kzalloc(sizeof(*phy_data), GFP_KERNEL); |
312 | phy_cfg = kzalloc(sizeof(*phy_cfg), GFP_KERNEL); | 314 | if (phy_data == NULL) |
313 | if (phy_cfg == NULL) { | 315 | return -ENOMEM; |
314 | rc = -ENOMEM; | 316 | |
315 | goto fail_alloc; | 317 | rc = efx_mcdi_get_phy_cfg(efx, phy_data); |
316 | } | ||
317 | rc = efx_mcdi_get_phy_cfg(efx, phy_cfg); | ||
318 | if (rc != 0) | 318 | if (rc != 0) |
319 | goto fail; | 319 | goto fail; |
320 | 320 | ||
321 | efx->phy_type = phy_cfg->type; | 321 | /* Read initial link advertisement */ |
322 | BUILD_BUG_ON(MC_CMD_GET_LINK_IN_LEN != 0); | ||
323 | rc = efx_mcdi_rpc(efx, MC_CMD_GET_LINK, NULL, 0, | ||
324 | outbuf, sizeof(outbuf), NULL); | ||
325 | if (rc) | ||
326 | goto fail; | ||
327 | |||
328 | /* Fill out nic state */ | ||
329 | efx->phy_data = phy_data; | ||
330 | efx->phy_type = phy_data->type; | ||
322 | 331 | ||
323 | efx->mdio_bus = phy_cfg->channel; | 332 | efx->mdio_bus = phy_data->channel; |
324 | efx->mdio.prtad = phy_cfg->port; | 333 | efx->mdio.prtad = phy_data->port; |
325 | efx->mdio.mmds = phy_cfg->mmd_mask & ~(1 << MC_CMD_MMD_CLAUSE22); | 334 | efx->mdio.mmds = phy_data->mmd_mask & ~(1 << MC_CMD_MMD_CLAUSE22); |
326 | efx->mdio.mode_support = 0; | 335 | efx->mdio.mode_support = 0; |
327 | if (phy_cfg->mmd_mask & (1 << MC_CMD_MMD_CLAUSE22)) | 336 | if (phy_data->mmd_mask & (1 << MC_CMD_MMD_CLAUSE22)) |
328 | efx->mdio.mode_support |= MDIO_SUPPORTS_C22; | 337 | efx->mdio.mode_support |= MDIO_SUPPORTS_C22; |
329 | if (phy_cfg->mmd_mask & ~(1 << MC_CMD_MMD_CLAUSE22)) | 338 | if (phy_data->mmd_mask & ~(1 << MC_CMD_MMD_CLAUSE22)) |
330 | efx->mdio.mode_support |= MDIO_SUPPORTS_C45 | MDIO_EMULATE_C22; | 339 | efx->mdio.mode_support |= MDIO_SUPPORTS_C45 | MDIO_EMULATE_C22; |
331 | 340 | ||
341 | caps = MCDI_DWORD(outbuf, GET_LINK_OUT_CAP); | ||
342 | if (caps & (1 << MC_CMD_PHY_CAP_AN_LBN)) | ||
343 | efx->link_advertising = | ||
344 | mcdi_to_ethtool_cap(phy_data->media, caps); | ||
345 | else | ||
346 | phy_data->forced_cap = caps; | ||
347 | |||
332 | /* Assert that we can map efx -> mcdi loopback modes */ | 348 | /* Assert that we can map efx -> mcdi loopback modes */ |
333 | BUILD_BUG_ON(LOOPBACK_NONE != MC_CMD_LOOPBACK_NONE); | 349 | BUILD_BUG_ON(LOOPBACK_NONE != MC_CMD_LOOPBACK_NONE); |
334 | BUILD_BUG_ON(LOOPBACK_DATA != MC_CMD_LOOPBACK_DATA); | 350 | BUILD_BUG_ON(LOOPBACK_DATA != MC_CMD_LOOPBACK_DATA); |
@@ -365,46 +381,6 @@ static int efx_mcdi_phy_probe(struct efx_nic *efx) | |||
365 | * but by convention we don't */ | 381 | * but by convention we don't */ |
366 | efx->loopback_modes &= ~(1 << LOOPBACK_NONE); | 382 | efx->loopback_modes &= ~(1 << LOOPBACK_NONE); |
367 | 383 | ||
368 | kfree(phy_cfg); | ||
369 | |||
370 | return 0; | ||
371 | |||
372 | fail: | ||
373 | kfree(phy_cfg); | ||
374 | fail_alloc: | ||
375 | return rc; | ||
376 | } | ||
377 | |||
378 | static int efx_mcdi_phy_init(struct efx_nic *efx) | ||
379 | { | ||
380 | struct efx_mcdi_phy_cfg *phy_data; | ||
381 | u8 outbuf[MC_CMD_GET_LINK_OUT_LEN]; | ||
382 | u32 caps; | ||
383 | int rc; | ||
384 | |||
385 | phy_data = kzalloc(sizeof(*phy_data), GFP_KERNEL); | ||
386 | if (phy_data == NULL) | ||
387 | return -ENOMEM; | ||
388 | |||
389 | rc = efx_mcdi_get_phy_cfg(efx, phy_data); | ||
390 | if (rc != 0) | ||
391 | goto fail; | ||
392 | |||
393 | efx->phy_data = phy_data; | ||
394 | |||
395 | BUILD_BUG_ON(MC_CMD_GET_LINK_IN_LEN != 0); | ||
396 | rc = efx_mcdi_rpc(efx, MC_CMD_GET_LINK, NULL, 0, | ||
397 | outbuf, sizeof(outbuf), NULL); | ||
398 | if (rc) | ||
399 | goto fail; | ||
400 | |||
401 | caps = MCDI_DWORD(outbuf, GET_LINK_OUT_CAP); | ||
402 | if (caps & (1 << MC_CMD_PHY_CAP_AN_LBN)) | ||
403 | efx->link_advertising = | ||
404 | mcdi_to_ethtool_cap(phy_data->media, caps); | ||
405 | else | ||
406 | phy_data->forced_cap = caps; | ||
407 | |||
408 | return 0; | 384 | return 0; |
409 | 385 | ||
410 | fail: | 386 | fail: |
@@ -504,7 +480,7 @@ static bool efx_mcdi_phy_poll(struct efx_nic *efx) | |||
504 | return !efx_link_state_equal(&efx->link_state, &old_state); | 480 | return !efx_link_state_equal(&efx->link_state, &old_state); |
505 | } | 481 | } |
506 | 482 | ||
507 | static void efx_mcdi_phy_fini(struct efx_nic *efx) | 483 | static void efx_mcdi_phy_remove(struct efx_nic *efx) |
508 | { | 484 | { |
509 | struct efx_mcdi_phy_data *phy_data = efx->phy_data; | 485 | struct efx_mcdi_phy_data *phy_data = efx->phy_data; |
510 | 486 | ||
@@ -586,10 +562,11 @@ static int efx_mcdi_phy_set_settings(struct efx_nic *efx, struct ethtool_cmd *ec | |||
586 | 562 | ||
587 | struct efx_phy_operations efx_mcdi_phy_ops = { | 563 | struct efx_phy_operations efx_mcdi_phy_ops = { |
588 | .probe = efx_mcdi_phy_probe, | 564 | .probe = efx_mcdi_phy_probe, |
589 | .init = efx_mcdi_phy_init, | 565 | .init = efx_port_dummy_op_int, |
590 | .reconfigure = efx_mcdi_phy_reconfigure, | 566 | .reconfigure = efx_mcdi_phy_reconfigure, |
591 | .poll = efx_mcdi_phy_poll, | 567 | .poll = efx_mcdi_phy_poll, |
592 | .fini = efx_mcdi_phy_fini, | 568 | .fini = efx_port_dummy_op_void, |
569 | .remove = efx_mcdi_phy_remove, | ||
593 | .get_settings = efx_mcdi_phy_get_settings, | 570 | .get_settings = efx_mcdi_phy_get_settings, |
594 | .set_settings = efx_mcdi_phy_set_settings, | 571 | .set_settings = efx_mcdi_phy_set_settings, |
595 | .run_tests = NULL, | 572 | .run_tests = NULL, |
diff --git a/drivers/net/sfc/net_driver.h b/drivers/net/sfc/net_driver.h index 34c381f009b7..d5aab5b3fa06 100644 --- a/drivers/net/sfc/net_driver.h +++ b/drivers/net/sfc/net_driver.h | |||
@@ -524,6 +524,7 @@ struct efx_phy_operations { | |||
524 | int (*probe) (struct efx_nic *efx); | 524 | int (*probe) (struct efx_nic *efx); |
525 | int (*init) (struct efx_nic *efx); | 525 | int (*init) (struct efx_nic *efx); |
526 | void (*fini) (struct efx_nic *efx); | 526 | void (*fini) (struct efx_nic *efx); |
527 | void (*remove) (struct efx_nic *efx); | ||
527 | int (*reconfigure) (struct efx_nic *efx); | 528 | int (*reconfigure) (struct efx_nic *efx); |
528 | bool (*poll) (struct efx_nic *efx); | 529 | bool (*poll) (struct efx_nic *efx); |
529 | void (*get_settings) (struct efx_nic *efx, | 530 | void (*get_settings) (struct efx_nic *efx, |
diff --git a/drivers/net/sfc/nic.c b/drivers/net/sfc/nic.c index a577be227862..db44224ed2ca 100644 --- a/drivers/net/sfc/nic.c +++ b/drivers/net/sfc/nic.c | |||
@@ -1576,6 +1576,8 @@ void efx_nic_init_common(struct efx_nic *efx) | |||
1576 | EFX_SET_OWORD_FIELD(temp, FRF_AZ_TX_SOFT_EVT_EN, 1); | 1576 | EFX_SET_OWORD_FIELD(temp, FRF_AZ_TX_SOFT_EVT_EN, 1); |
1577 | /* Prefetch threshold 2 => fetch when descriptor cache half empty */ | 1577 | /* Prefetch threshold 2 => fetch when descriptor cache half empty */ |
1578 | EFX_SET_OWORD_FIELD(temp, FRF_AZ_TX_PREF_THRESHOLD, 2); | 1578 | EFX_SET_OWORD_FIELD(temp, FRF_AZ_TX_PREF_THRESHOLD, 2); |
1579 | /* Disable hardware watchdog which can misfire */ | ||
1580 | EFX_SET_OWORD_FIELD(temp, FRF_AZ_TX_PREF_WD_TMR, 0x3fffff); | ||
1579 | /* Squash TX of packets of 16 bytes or less */ | 1581 | /* Squash TX of packets of 16 bytes or less */ |
1580 | if (efx_nic_rev(efx) >= EFX_REV_FALCON_B0) | 1582 | if (efx_nic_rev(efx) >= EFX_REV_FALCON_B0) |
1581 | EFX_SET_OWORD_FIELD(temp, FRF_BZ_TX_FLUSH_MIN_LEN_EN, 1); | 1583 | EFX_SET_OWORD_FIELD(temp, FRF_BZ_TX_FLUSH_MIN_LEN_EN, 1); |
diff --git a/drivers/net/sfc/qt202x_phy.c b/drivers/net/sfc/qt202x_phy.c index 3800fc791b2f..ff8f0a417fa3 100644 --- a/drivers/net/sfc/qt202x_phy.c +++ b/drivers/net/sfc/qt202x_phy.c | |||
@@ -33,6 +33,9 @@ | |||
33 | #define PCS_FW_HEARTBEAT_REG 0xd7ee | 33 | #define PCS_FW_HEARTBEAT_REG 0xd7ee |
34 | #define PCS_FW_HEARTB_LBN 0 | 34 | #define PCS_FW_HEARTB_LBN 0 |
35 | #define PCS_FW_HEARTB_WIDTH 8 | 35 | #define PCS_FW_HEARTB_WIDTH 8 |
36 | #define PCS_FW_PRODUCT_CODE_1 0xd7f0 | ||
37 | #define PCS_FW_VERSION_1 0xd7f3 | ||
38 | #define PCS_FW_BUILD_1 0xd7f6 | ||
36 | #define PCS_UC8051_STATUS_REG 0xd7fd | 39 | #define PCS_UC8051_STATUS_REG 0xd7fd |
37 | #define PCS_UC_STATUS_LBN 0 | 40 | #define PCS_UC_STATUS_LBN 0 |
38 | #define PCS_UC_STATUS_WIDTH 8 | 41 | #define PCS_UC_STATUS_WIDTH 8 |
@@ -52,14 +55,24 @@ void falcon_qt202x_set_led(struct efx_nic *p, int led, int mode) | |||
52 | 55 | ||
53 | struct qt202x_phy_data { | 56 | struct qt202x_phy_data { |
54 | enum efx_phy_mode phy_mode; | 57 | enum efx_phy_mode phy_mode; |
58 | bool bug17190_in_bad_state; | ||
59 | unsigned long bug17190_timer; | ||
60 | u32 firmware_ver; | ||
55 | }; | 61 | }; |
56 | 62 | ||
57 | #define QT2022C2_MAX_RESET_TIME 500 | 63 | #define QT2022C2_MAX_RESET_TIME 500 |
58 | #define QT2022C2_RESET_WAIT 10 | 64 | #define QT2022C2_RESET_WAIT 10 |
59 | 65 | ||
60 | static int qt2025c_wait_reset(struct efx_nic *efx) | 66 | #define QT2025C_MAX_HEARTB_TIME (5 * HZ) |
67 | #define QT2025C_HEARTB_WAIT 100 | ||
68 | #define QT2025C_MAX_FWSTART_TIME (25 * HZ / 10) | ||
69 | #define QT2025C_FWSTART_WAIT 100 | ||
70 | |||
71 | #define BUG17190_INTERVAL (2 * HZ) | ||
72 | |||
73 | static int qt2025c_wait_heartbeat(struct efx_nic *efx) | ||
61 | { | 74 | { |
62 | unsigned long timeout = jiffies + 10 * HZ; | 75 | unsigned long timeout = jiffies + QT2025C_MAX_HEARTB_TIME; |
63 | int reg, old_counter = 0; | 76 | int reg, old_counter = 0; |
64 | 77 | ||
65 | /* Wait for firmware heartbeat to start */ | 78 | /* Wait for firmware heartbeat to start */ |
@@ -74,11 +87,25 @@ static int qt2025c_wait_reset(struct efx_nic *efx) | |||
74 | old_counter = counter; | 87 | old_counter = counter; |
75 | else if (counter != old_counter) | 88 | else if (counter != old_counter) |
76 | break; | 89 | break; |
77 | if (time_after(jiffies, timeout)) | 90 | if (time_after(jiffies, timeout)) { |
91 | /* Some cables have EEPROMs that conflict with the | ||
92 | * PHY's on-board EEPROM so it cannot load firmware */ | ||
93 | EFX_ERR(efx, "If an SFP+ direct attach cable is" | ||
94 | " connected, please check that it complies" | ||
95 | " with the SFP+ specification\n"); | ||
78 | return -ETIMEDOUT; | 96 | return -ETIMEDOUT; |
79 | msleep(10); | 97 | } |
98 | msleep(QT2025C_HEARTB_WAIT); | ||
80 | } | 99 | } |
81 | 100 | ||
101 | return 0; | ||
102 | } | ||
103 | |||
104 | static int qt2025c_wait_fw_status_good(struct efx_nic *efx) | ||
105 | { | ||
106 | unsigned long timeout = jiffies + QT2025C_MAX_FWSTART_TIME; | ||
107 | int reg; | ||
108 | |||
82 | /* Wait for firmware status to look good */ | 109 | /* Wait for firmware status to look good */ |
83 | for (;;) { | 110 | for (;;) { |
84 | reg = efx_mdio_read(efx, MDIO_MMD_PCS, PCS_UC8051_STATUS_REG); | 111 | reg = efx_mdio_read(efx, MDIO_MMD_PCS, PCS_UC8051_STATUS_REG); |
@@ -90,7 +117,178 @@ static int qt2025c_wait_reset(struct efx_nic *efx) | |||
90 | break; | 117 | break; |
91 | if (time_after(jiffies, timeout)) | 118 | if (time_after(jiffies, timeout)) |
92 | return -ETIMEDOUT; | 119 | return -ETIMEDOUT; |
120 | msleep(QT2025C_FWSTART_WAIT); | ||
121 | } | ||
122 | |||
123 | return 0; | ||
124 | } | ||
125 | |||
126 | static void qt2025c_restart_firmware(struct efx_nic *efx) | ||
127 | { | ||
128 | /* Restart microcontroller execution of firmware from RAM */ | ||
129 | efx_mdio_write(efx, 3, 0xe854, 0x00c0); | ||
130 | efx_mdio_write(efx, 3, 0xe854, 0x0040); | ||
131 | msleep(50); | ||
132 | } | ||
133 | |||
134 | static int qt2025c_wait_reset(struct efx_nic *efx) | ||
135 | { | ||
136 | int rc; | ||
137 | |||
138 | rc = qt2025c_wait_heartbeat(efx); | ||
139 | if (rc != 0) | ||
140 | return rc; | ||
141 | |||
142 | rc = qt2025c_wait_fw_status_good(efx); | ||
143 | if (rc == -ETIMEDOUT) { | ||
144 | /* Bug 17689: occasionally heartbeat starts but firmware status | ||
145 | * code never progresses beyond 0x00. Try again, once, after | ||
146 | * restarting execution of the firmware image. */ | ||
147 | EFX_LOG(efx, "bashing QT2025C microcontroller\n"); | ||
148 | qt2025c_restart_firmware(efx); | ||
149 | rc = qt2025c_wait_heartbeat(efx); | ||
150 | if (rc != 0) | ||
151 | return rc; | ||
152 | rc = qt2025c_wait_fw_status_good(efx); | ||
153 | } | ||
154 | |||
155 | return rc; | ||
156 | } | ||
157 | |||
158 | static void qt2025c_firmware_id(struct efx_nic *efx) | ||
159 | { | ||
160 | struct qt202x_phy_data *phy_data = efx->phy_data; | ||
161 | u8 firmware_id[9]; | ||
162 | size_t i; | ||
163 | |||
164 | for (i = 0; i < sizeof(firmware_id); i++) | ||
165 | firmware_id[i] = efx_mdio_read(efx, MDIO_MMD_PCS, | ||
166 | PCS_FW_PRODUCT_CODE_1 + i); | ||
167 | EFX_INFO(efx, "QT2025C firmware %xr%d v%d.%d.%d.%d [20%02d-%02d-%02d]\n", | ||
168 | (firmware_id[0] << 8) | firmware_id[1], firmware_id[2], | ||
169 | firmware_id[3] >> 4, firmware_id[3] & 0xf, | ||
170 | firmware_id[4], firmware_id[5], | ||
171 | firmware_id[6], firmware_id[7], firmware_id[8]); | ||
172 | phy_data->firmware_ver = ((firmware_id[3] & 0xf0) << 20) | | ||
173 | ((firmware_id[3] & 0x0f) << 16) | | ||
174 | (firmware_id[4] << 8) | firmware_id[5]; | ||
175 | } | ||
176 | |||
177 | static void qt2025c_bug17190_workaround(struct efx_nic *efx) | ||
178 | { | ||
179 | struct qt202x_phy_data *phy_data = efx->phy_data; | ||
180 | |||
181 | /* The PHY can get stuck in a state where it reports PHY_XS and PMA/PMD | ||
182 | * layers up, but PCS down (no block_lock). If we notice this state | ||
183 | * persisting for a couple of seconds, we switch PMA/PMD loopback | ||
184 | * briefly on and then off again, which is normally sufficient to | ||
185 | * recover it. | ||
186 | */ | ||
187 | if (efx->link_state.up || | ||
188 | !efx_mdio_links_ok(efx, MDIO_DEVS_PMAPMD | MDIO_DEVS_PHYXS)) { | ||
189 | phy_data->bug17190_in_bad_state = false; | ||
190 | return; | ||
191 | } | ||
192 | |||
193 | if (!phy_data->bug17190_in_bad_state) { | ||
194 | phy_data->bug17190_in_bad_state = true; | ||
195 | phy_data->bug17190_timer = jiffies + BUG17190_INTERVAL; | ||
196 | return; | ||
197 | } | ||
198 | |||
199 | if (time_after_eq(jiffies, phy_data->bug17190_timer)) { | ||
200 | EFX_LOG(efx, "bashing QT2025C PMA/PMD\n"); | ||
201 | efx_mdio_set_flag(efx, MDIO_MMD_PMAPMD, MDIO_CTRL1, | ||
202 | MDIO_PMA_CTRL1_LOOPBACK, true); | ||
93 | msleep(100); | 203 | msleep(100); |
204 | efx_mdio_set_flag(efx, MDIO_MMD_PMAPMD, MDIO_CTRL1, | ||
205 | MDIO_PMA_CTRL1_LOOPBACK, false); | ||
206 | phy_data->bug17190_timer = jiffies + BUG17190_INTERVAL; | ||
207 | } | ||
208 | } | ||
209 | |||
210 | static int qt2025c_select_phy_mode(struct efx_nic *efx) | ||
211 | { | ||
212 | struct qt202x_phy_data *phy_data = efx->phy_data; | ||
213 | struct falcon_board *board = falcon_board(efx); | ||
214 | int reg, rc, i; | ||
215 | uint16_t phy_op_mode; | ||
216 | |||
217 | /* Only 2.0.1.0+ PHY firmware supports the more optimal SFP+ | ||
218 | * Self-Configure mode. Don't attempt any switching if we encounter | ||
219 | * older firmware. */ | ||
220 | if (phy_data->firmware_ver < 0x02000100) | ||
221 | return 0; | ||
222 | |||
223 | /* In general we will get optimal behaviour in "SFP+ Self-Configure" | ||
224 | * mode; however, that powers down most of the PHY when no module is | ||
225 | * present, so we must use a different mode (any fixed mode will do) | ||
226 | * to be sure that loopbacks will work. */ | ||
227 | phy_op_mode = (efx->loopback_mode == LOOPBACK_NONE) ? 0x0038 : 0x0020; | ||
228 | |||
229 | /* Only change mode if really necessary */ | ||
230 | reg = efx_mdio_read(efx, 1, 0xc319); | ||
231 | if ((reg & 0x0038) == phy_op_mode) | ||
232 | return 0; | ||
233 | EFX_LOG(efx, "Switching PHY to mode 0x%04x\n", phy_op_mode); | ||
234 | |||
235 | /* This sequence replicates the register writes configured in the boot | ||
236 | * EEPROM (including the differences between board revisions), except | ||
237 | * that the operating mode is changed, and the PHY is prevented from | ||
238 | * unnecessarily reloading the main firmware image again. */ | ||
239 | efx_mdio_write(efx, 1, 0xc300, 0x0000); | ||
240 | /* (Note: this portion of the boot EEPROM sequence, which bit-bashes 9 | ||
241 | * STOPs onto the firmware/module I2C bus to reset it, varies across | ||
242 | * board revisions, as the bus is connected to different GPIO/LED | ||
243 | * outputs on the PHY.) */ | ||
244 | if (board->major == 0 && board->minor < 2) { | ||
245 | efx_mdio_write(efx, 1, 0xc303, 0x4498); | ||
246 | for (i = 0; i < 9; i++) { | ||
247 | efx_mdio_write(efx, 1, 0xc303, 0x4488); | ||
248 | efx_mdio_write(efx, 1, 0xc303, 0x4480); | ||
249 | efx_mdio_write(efx, 1, 0xc303, 0x4490); | ||
250 | efx_mdio_write(efx, 1, 0xc303, 0x4498); | ||
251 | } | ||
252 | } else { | ||
253 | efx_mdio_write(efx, 1, 0xc303, 0x0920); | ||
254 | efx_mdio_write(efx, 1, 0xd008, 0x0004); | ||
255 | for (i = 0; i < 9; i++) { | ||
256 | efx_mdio_write(efx, 1, 0xc303, 0x0900); | ||
257 | efx_mdio_write(efx, 1, 0xd008, 0x0005); | ||
258 | efx_mdio_write(efx, 1, 0xc303, 0x0920); | ||
259 | efx_mdio_write(efx, 1, 0xd008, 0x0004); | ||
260 | } | ||
261 | efx_mdio_write(efx, 1, 0xc303, 0x4900); | ||
262 | } | ||
263 | efx_mdio_write(efx, 1, 0xc303, 0x4900); | ||
264 | efx_mdio_write(efx, 1, 0xc302, 0x0004); | ||
265 | efx_mdio_write(efx, 1, 0xc316, 0x0013); | ||
266 | efx_mdio_write(efx, 1, 0xc318, 0x0054); | ||
267 | efx_mdio_write(efx, 1, 0xc319, phy_op_mode); | ||
268 | efx_mdio_write(efx, 1, 0xc31a, 0x0098); | ||
269 | efx_mdio_write(efx, 3, 0x0026, 0x0e00); | ||
270 | efx_mdio_write(efx, 3, 0x0027, 0x0013); | ||
271 | efx_mdio_write(efx, 3, 0x0028, 0xa528); | ||
272 | efx_mdio_write(efx, 1, 0xd006, 0x000a); | ||
273 | efx_mdio_write(efx, 1, 0xd007, 0x0009); | ||
274 | efx_mdio_write(efx, 1, 0xd008, 0x0004); | ||
275 | /* This additional write is not present in the boot EEPROM. It | ||
276 | * prevents the PHY's internal boot ROM doing another pointless (and | ||
277 | * slow) reload of the firmware image (the microcontroller's code | ||
278 | * memory is not affected by the microcontroller reset). */ | ||
279 | efx_mdio_write(efx, 1, 0xc317, 0x00ff); | ||
280 | efx_mdio_write(efx, 1, 0xc300, 0x0002); | ||
281 | msleep(20); | ||
282 | |||
283 | /* Restart microcontroller execution of firmware from RAM */ | ||
284 | qt2025c_restart_firmware(efx); | ||
285 | |||
286 | /* Wait for the microcontroller to be ready again */ | ||
287 | rc = qt2025c_wait_reset(efx); | ||
288 | if (rc < 0) { | ||
289 | EFX_ERR(efx, "PHY microcontroller reset during mode switch " | ||
290 | "timed out\n"); | ||
291 | return rc; | ||
94 | } | 292 | } |
95 | 293 | ||
96 | return 0; | 294 | return 0; |
@@ -137,6 +335,16 @@ static int qt202x_reset_phy(struct efx_nic *efx) | |||
137 | 335 | ||
138 | static int qt202x_phy_probe(struct efx_nic *efx) | 336 | static int qt202x_phy_probe(struct efx_nic *efx) |
139 | { | 337 | { |
338 | struct qt202x_phy_data *phy_data; | ||
339 | |||
340 | phy_data = kzalloc(sizeof(struct qt202x_phy_data), GFP_KERNEL); | ||
341 | if (!phy_data) | ||
342 | return -ENOMEM; | ||
343 | efx->phy_data = phy_data; | ||
344 | phy_data->phy_mode = efx->phy_mode; | ||
345 | phy_data->bug17190_in_bad_state = false; | ||
346 | phy_data->bug17190_timer = 0; | ||
347 | |||
140 | efx->mdio.mmds = QT202X_REQUIRED_DEVS; | 348 | efx->mdio.mmds = QT202X_REQUIRED_DEVS; |
141 | efx->mdio.mode_support = MDIO_SUPPORTS_C45 | MDIO_EMULATE_C22; | 349 | efx->mdio.mode_support = MDIO_SUPPORTS_C45 | MDIO_EMULATE_C22; |
142 | efx->loopback_modes = QT202X_LOOPBACKS | FALCON_XMAC_LOOPBACKS; | 350 | efx->loopback_modes = QT202X_LOOPBACKS | FALCON_XMAC_LOOPBACKS; |
@@ -145,7 +353,6 @@ static int qt202x_phy_probe(struct efx_nic *efx) | |||
145 | 353 | ||
146 | static int qt202x_phy_init(struct efx_nic *efx) | 354 | static int qt202x_phy_init(struct efx_nic *efx) |
147 | { | 355 | { |
148 | struct qt202x_phy_data *phy_data; | ||
149 | u32 devid; | 356 | u32 devid; |
150 | int rc; | 357 | int rc; |
151 | 358 | ||
@@ -155,17 +362,14 @@ static int qt202x_phy_init(struct efx_nic *efx) | |||
155 | return rc; | 362 | return rc; |
156 | } | 363 | } |
157 | 364 | ||
158 | phy_data = kzalloc(sizeof(struct qt202x_phy_data), GFP_KERNEL); | ||
159 | if (!phy_data) | ||
160 | return -ENOMEM; | ||
161 | efx->phy_data = phy_data; | ||
162 | |||
163 | devid = efx_mdio_read_id(efx, MDIO_MMD_PHYXS); | 365 | devid = efx_mdio_read_id(efx, MDIO_MMD_PHYXS); |
164 | EFX_INFO(efx, "PHY ID reg %x (OUI %06x model %02x revision %x)\n", | 366 | EFX_INFO(efx, "PHY ID reg %x (OUI %06x model %02x revision %x)\n", |
165 | devid, efx_mdio_id_oui(devid), efx_mdio_id_model(devid), | 367 | devid, efx_mdio_id_oui(devid), efx_mdio_id_model(devid), |
166 | efx_mdio_id_rev(devid)); | 368 | efx_mdio_id_rev(devid)); |
167 | 369 | ||
168 | phy_data->phy_mode = efx->phy_mode; | 370 | if (efx->phy_type == PHY_TYPE_QT2025C) |
371 | qt2025c_firmware_id(efx); | ||
372 | |||
169 | return 0; | 373 | return 0; |
170 | } | 374 | } |
171 | 375 | ||
@@ -183,6 +387,9 @@ static bool qt202x_phy_poll(struct efx_nic *efx) | |||
183 | efx->link_state.fd = true; | 387 | efx->link_state.fd = true; |
184 | efx->link_state.fc = efx->wanted_fc; | 388 | efx->link_state.fc = efx->wanted_fc; |
185 | 389 | ||
390 | if (efx->phy_type == PHY_TYPE_QT2025C) | ||
391 | qt2025c_bug17190_workaround(efx); | ||
392 | |||
186 | return efx->link_state.up != was_up; | 393 | return efx->link_state.up != was_up; |
187 | } | 394 | } |
188 | 395 | ||
@@ -191,6 +398,10 @@ static int qt202x_phy_reconfigure(struct efx_nic *efx) | |||
191 | struct qt202x_phy_data *phy_data = efx->phy_data; | 398 | struct qt202x_phy_data *phy_data = efx->phy_data; |
192 | 399 | ||
193 | if (efx->phy_type == PHY_TYPE_QT2025C) { | 400 | if (efx->phy_type == PHY_TYPE_QT2025C) { |
401 | int rc = qt2025c_select_phy_mode(efx); | ||
402 | if (rc) | ||
403 | return rc; | ||
404 | |||
194 | /* There are several different register bits which can | 405 | /* There are several different register bits which can |
195 | * disable TX (and save power) on direct-attach cables | 406 | * disable TX (and save power) on direct-attach cables |
196 | * or optical transceivers, varying somewhat between | 407 | * or optical transceivers, varying somewhat between |
@@ -224,7 +435,7 @@ static void qt202x_phy_get_settings(struct efx_nic *efx, struct ethtool_cmd *ecm | |||
224 | mdio45_ethtool_gset(&efx->mdio, ecmd); | 435 | mdio45_ethtool_gset(&efx->mdio, ecmd); |
225 | } | 436 | } |
226 | 437 | ||
227 | static void qt202x_phy_fini(struct efx_nic *efx) | 438 | static void qt202x_phy_remove(struct efx_nic *efx) |
228 | { | 439 | { |
229 | /* Free the context block */ | 440 | /* Free the context block */ |
230 | kfree(efx->phy_data); | 441 | kfree(efx->phy_data); |
@@ -236,7 +447,8 @@ struct efx_phy_operations falcon_qt202x_phy_ops = { | |||
236 | .init = qt202x_phy_init, | 447 | .init = qt202x_phy_init, |
237 | .reconfigure = qt202x_phy_reconfigure, | 448 | .reconfigure = qt202x_phy_reconfigure, |
238 | .poll = qt202x_phy_poll, | 449 | .poll = qt202x_phy_poll, |
239 | .fini = qt202x_phy_fini, | 450 | .fini = efx_port_dummy_op_void, |
451 | .remove = qt202x_phy_remove, | ||
240 | .get_settings = qt202x_phy_get_settings, | 452 | .get_settings = qt202x_phy_get_settings, |
241 | .set_settings = efx_mdio_set_settings, | 453 | .set_settings = efx_mdio_set_settings, |
242 | }; | 454 | }; |
diff --git a/drivers/net/sfc/siena.c b/drivers/net/sfc/siena.c index de07a4f031b2..f8c6771e66d8 100644 --- a/drivers/net/sfc/siena.c +++ b/drivers/net/sfc/siena.c | |||
@@ -133,6 +133,7 @@ static int siena_probe_port(struct efx_nic *efx) | |||
133 | 133 | ||
134 | void siena_remove_port(struct efx_nic *efx) | 134 | void siena_remove_port(struct efx_nic *efx) |
135 | { | 135 | { |
136 | efx->phy_op->remove(efx); | ||
136 | efx_nic_free_buffer(efx, &efx->stats_buffer); | 137 | efx_nic_free_buffer(efx, &efx->stats_buffer); |
137 | } | 138 | } |
138 | 139 | ||
diff --git a/drivers/net/sfc/tenxpress.c b/drivers/net/sfc/tenxpress.c index ca11572a49a9..3009c297c135 100644 --- a/drivers/net/sfc/tenxpress.c +++ b/drivers/net/sfc/tenxpress.c | |||
@@ -202,10 +202,14 @@ static ssize_t set_phy_short_reach(struct device *dev, | |||
202 | int rc; | 202 | int rc; |
203 | 203 | ||
204 | rtnl_lock(); | 204 | rtnl_lock(); |
205 | efx_mdio_set_flag(efx, MDIO_MMD_PMAPMD, MDIO_PMA_10GBT_TXPWR, | 205 | if (efx->state != STATE_RUNNING) { |
206 | MDIO_PMA_10GBT_TXPWR_SHORT, | 206 | rc = -EBUSY; |
207 | count != 0 && *buf != '0'); | 207 | } else { |
208 | rc = efx_reconfigure_port(efx); | 208 | efx_mdio_set_flag(efx, MDIO_MMD_PMAPMD, MDIO_PMA_10GBT_TXPWR, |
209 | MDIO_PMA_10GBT_TXPWR_SHORT, | ||
210 | count != 0 && *buf != '0'); | ||
211 | rc = efx_reconfigure_port(efx); | ||
212 | } | ||
209 | rtnl_unlock(); | 213 | rtnl_unlock(); |
210 | 214 | ||
211 | return rc < 0 ? rc : (ssize_t)count; | 215 | return rc < 0 ? rc : (ssize_t)count; |
@@ -298,36 +302,62 @@ static int tenxpress_init(struct efx_nic *efx) | |||
298 | return 0; | 302 | return 0; |
299 | } | 303 | } |
300 | 304 | ||
301 | static int sfx7101_phy_probe(struct efx_nic *efx) | 305 | static int tenxpress_phy_probe(struct efx_nic *efx) |
302 | { | 306 | { |
303 | efx->mdio.mmds = TENXPRESS_REQUIRED_DEVS; | 307 | struct tenxpress_phy_data *phy_data; |
304 | efx->mdio.mode_support = MDIO_SUPPORTS_C45 | MDIO_EMULATE_C22; | 308 | int rc; |
305 | efx->loopback_modes = SFX7101_LOOPBACKS | FALCON_XMAC_LOOPBACKS; | 309 | |
306 | return 0; | 310 | /* Allocate phy private storage */ |
307 | } | 311 | phy_data = kzalloc(sizeof(*phy_data), GFP_KERNEL); |
312 | if (!phy_data) | ||
313 | return -ENOMEM; | ||
314 | efx->phy_data = phy_data; | ||
315 | phy_data->phy_mode = efx->phy_mode; | ||
316 | |||
317 | /* Create any special files */ | ||
318 | if (efx->phy_type == PHY_TYPE_SFT9001B) { | ||
319 | rc = device_create_file(&efx->pci_dev->dev, | ||
320 | &dev_attr_phy_short_reach); | ||
321 | if (rc) | ||
322 | goto fail; | ||
323 | } | ||
324 | |||
325 | if (efx->phy_type == PHY_TYPE_SFX7101) { | ||
326 | efx->mdio.mmds = TENXPRESS_REQUIRED_DEVS; | ||
327 | efx->mdio.mode_support = MDIO_SUPPORTS_C45; | ||
328 | |||
329 | efx->loopback_modes = SFX7101_LOOPBACKS | FALCON_XMAC_LOOPBACKS; | ||
330 | |||
331 | efx->link_advertising = (ADVERTISED_TP | ADVERTISED_Autoneg | | ||
332 | ADVERTISED_10000baseT_Full); | ||
333 | } else { | ||
334 | efx->mdio.mmds = TENXPRESS_REQUIRED_DEVS; | ||
335 | efx->mdio.mode_support = MDIO_SUPPORTS_C45 | MDIO_EMULATE_C22; | ||
336 | |||
337 | efx->loopback_modes = (SFT9001_LOOPBACKS | | ||
338 | FALCON_XMAC_LOOPBACKS | | ||
339 | FALCON_GMAC_LOOPBACKS); | ||
340 | |||
341 | efx->link_advertising = (ADVERTISED_TP | ADVERTISED_Autoneg | | ||
342 | ADVERTISED_10000baseT_Full | | ||
343 | ADVERTISED_1000baseT_Full | | ||
344 | ADVERTISED_100baseT_Full); | ||
345 | } | ||
308 | 346 | ||
309 | static int sft9001_phy_probe(struct efx_nic *efx) | ||
310 | { | ||
311 | efx->mdio.mmds = TENXPRESS_REQUIRED_DEVS; | ||
312 | efx->mdio.mode_support = MDIO_SUPPORTS_C45 | MDIO_EMULATE_C22; | ||
313 | efx->loopback_modes = (SFT9001_LOOPBACKS | FALCON_XMAC_LOOPBACKS | | ||
314 | FALCON_GMAC_LOOPBACKS); | ||
315 | return 0; | 347 | return 0; |
348 | |||
349 | fail: | ||
350 | kfree(efx->phy_data); | ||
351 | efx->phy_data = NULL; | ||
352 | return rc; | ||
316 | } | 353 | } |
317 | 354 | ||
318 | static int tenxpress_phy_init(struct efx_nic *efx) | 355 | static int tenxpress_phy_init(struct efx_nic *efx) |
319 | { | 356 | { |
320 | struct tenxpress_phy_data *phy_data; | 357 | int rc; |
321 | int rc = 0; | ||
322 | 358 | ||
323 | falcon_board(efx)->type->init_phy(efx); | 359 | falcon_board(efx)->type->init_phy(efx); |
324 | 360 | ||
325 | phy_data = kzalloc(sizeof(*phy_data), GFP_KERNEL); | ||
326 | if (!phy_data) | ||
327 | return -ENOMEM; | ||
328 | efx->phy_data = phy_data; | ||
329 | phy_data->phy_mode = efx->phy_mode; | ||
330 | |||
331 | if (!(efx->phy_mode & PHY_MODE_SPECIAL)) { | 361 | if (!(efx->phy_mode & PHY_MODE_SPECIAL)) { |
332 | if (efx->phy_type == PHY_TYPE_SFT9001A) { | 362 | if (efx->phy_type == PHY_TYPE_SFT9001A) { |
333 | int reg; | 363 | int reg; |
@@ -341,44 +371,27 @@ static int tenxpress_phy_init(struct efx_nic *efx) | |||
341 | 371 | ||
342 | rc = efx_mdio_wait_reset_mmds(efx, TENXPRESS_REQUIRED_DEVS); | 372 | rc = efx_mdio_wait_reset_mmds(efx, TENXPRESS_REQUIRED_DEVS); |
343 | if (rc < 0) | 373 | if (rc < 0) |
344 | goto fail; | 374 | return rc; |
345 | 375 | ||
346 | rc = efx_mdio_check_mmds(efx, TENXPRESS_REQUIRED_DEVS, 0); | 376 | rc = efx_mdio_check_mmds(efx, TENXPRESS_REQUIRED_DEVS, 0); |
347 | if (rc < 0) | 377 | if (rc < 0) |
348 | goto fail; | 378 | return rc; |
349 | } | 379 | } |
350 | 380 | ||
351 | rc = tenxpress_init(efx); | 381 | rc = tenxpress_init(efx); |
352 | if (rc < 0) | 382 | if (rc < 0) |
353 | goto fail; | 383 | return rc; |
354 | 384 | ||
355 | /* Initialise advertising flags */ | 385 | /* Reinitialise flow control settings */ |
356 | efx->link_advertising = (ADVERTISED_TP | ADVERTISED_Autoneg | | ||
357 | ADVERTISED_10000baseT_Full); | ||
358 | if (efx->phy_type != PHY_TYPE_SFX7101) | ||
359 | efx->link_advertising |= (ADVERTISED_1000baseT_Full | | ||
360 | ADVERTISED_100baseT_Full); | ||
361 | efx_link_set_wanted_fc(efx, efx->wanted_fc); | 386 | efx_link_set_wanted_fc(efx, efx->wanted_fc); |
362 | efx_mdio_an_reconfigure(efx); | 387 | efx_mdio_an_reconfigure(efx); |
363 | 388 | ||
364 | if (efx->phy_type == PHY_TYPE_SFT9001B) { | ||
365 | rc = device_create_file(&efx->pci_dev->dev, | ||
366 | &dev_attr_phy_short_reach); | ||
367 | if (rc) | ||
368 | goto fail; | ||
369 | } | ||
370 | |||
371 | schedule_timeout_uninterruptible(HZ / 5); /* 200ms */ | 389 | schedule_timeout_uninterruptible(HZ / 5); /* 200ms */ |
372 | 390 | ||
373 | /* Let XGXS and SerDes out of reset */ | 391 | /* Let XGXS and SerDes out of reset */ |
374 | falcon_reset_xaui(efx); | 392 | falcon_reset_xaui(efx); |
375 | 393 | ||
376 | return 0; | 394 | return 0; |
377 | |||
378 | fail: | ||
379 | kfree(efx->phy_data); | ||
380 | efx->phy_data = NULL; | ||
381 | return rc; | ||
382 | } | 395 | } |
383 | 396 | ||
384 | /* Perform a "special software reset" on the PHY. The caller is | 397 | /* Perform a "special software reset" on the PHY. The caller is |
@@ -589,25 +602,26 @@ static bool tenxpress_phy_poll(struct efx_nic *efx) | |||
589 | return !efx_link_state_equal(&efx->link_state, &old_state); | 602 | return !efx_link_state_equal(&efx->link_state, &old_state); |
590 | } | 603 | } |
591 | 604 | ||
592 | static void tenxpress_phy_fini(struct efx_nic *efx) | 605 | static void sfx7101_phy_fini(struct efx_nic *efx) |
593 | { | 606 | { |
594 | int reg; | 607 | int reg; |
595 | 608 | ||
609 | /* Power down the LNPGA */ | ||
610 | reg = (1 << PMA_PMD_LNPGA_POWERDOWN_LBN); | ||
611 | efx_mdio_write(efx, MDIO_MMD_PMAPMD, PMA_PMD_XCONTROL_REG, reg); | ||
612 | |||
613 | /* Waiting here ensures that the board fini, which can turn | ||
614 | * off the power to the PHY, won't get run until the LNPGA | ||
615 | * powerdown has been given long enough to complete. */ | ||
616 | schedule_timeout_uninterruptible(LNPGA_PDOWN_WAIT); /* 200 ms */ | ||
617 | } | ||
618 | |||
619 | static void tenxpress_phy_remove(struct efx_nic *efx) | ||
620 | { | ||
596 | if (efx->phy_type == PHY_TYPE_SFT9001B) | 621 | if (efx->phy_type == PHY_TYPE_SFT9001B) |
597 | device_remove_file(&efx->pci_dev->dev, | 622 | device_remove_file(&efx->pci_dev->dev, |
598 | &dev_attr_phy_short_reach); | 623 | &dev_attr_phy_short_reach); |
599 | 624 | ||
600 | if (efx->phy_type == PHY_TYPE_SFX7101) { | ||
601 | /* Power down the LNPGA */ | ||
602 | reg = (1 << PMA_PMD_LNPGA_POWERDOWN_LBN); | ||
603 | efx_mdio_write(efx, MDIO_MMD_PMAPMD, PMA_PMD_XCONTROL_REG, reg); | ||
604 | |||
605 | /* Waiting here ensures that the board fini, which can turn | ||
606 | * off the power to the PHY, won't get run until the LNPGA | ||
607 | * powerdown has been given long enough to complete. */ | ||
608 | schedule_timeout_uninterruptible(LNPGA_PDOWN_WAIT); /* 200 ms */ | ||
609 | } | ||
610 | |||
611 | kfree(efx->phy_data); | 625 | kfree(efx->phy_data); |
612 | efx->phy_data = NULL; | 626 | efx->phy_data = NULL; |
613 | } | 627 | } |
@@ -819,11 +833,12 @@ static void sft9001_set_npage_adv(struct efx_nic *efx, u32 advertising) | |||
819 | } | 833 | } |
820 | 834 | ||
821 | struct efx_phy_operations falcon_sfx7101_phy_ops = { | 835 | struct efx_phy_operations falcon_sfx7101_phy_ops = { |
822 | .probe = sfx7101_phy_probe, | 836 | .probe = tenxpress_phy_probe, |
823 | .init = tenxpress_phy_init, | 837 | .init = tenxpress_phy_init, |
824 | .reconfigure = tenxpress_phy_reconfigure, | 838 | .reconfigure = tenxpress_phy_reconfigure, |
825 | .poll = tenxpress_phy_poll, | 839 | .poll = tenxpress_phy_poll, |
826 | .fini = tenxpress_phy_fini, | 840 | .fini = sfx7101_phy_fini, |
841 | .remove = tenxpress_phy_remove, | ||
827 | .get_settings = tenxpress_get_settings, | 842 | .get_settings = tenxpress_get_settings, |
828 | .set_settings = tenxpress_set_settings, | 843 | .set_settings = tenxpress_set_settings, |
829 | .set_npage_adv = sfx7101_set_npage_adv, | 844 | .set_npage_adv = sfx7101_set_npage_adv, |
@@ -832,11 +847,12 @@ struct efx_phy_operations falcon_sfx7101_phy_ops = { | |||
832 | }; | 847 | }; |
833 | 848 | ||
834 | struct efx_phy_operations falcon_sft9001_phy_ops = { | 849 | struct efx_phy_operations falcon_sft9001_phy_ops = { |
835 | .probe = sft9001_phy_probe, | 850 | .probe = tenxpress_phy_probe, |
836 | .init = tenxpress_phy_init, | 851 | .init = tenxpress_phy_init, |
837 | .reconfigure = tenxpress_phy_reconfigure, | 852 | .reconfigure = tenxpress_phy_reconfigure, |
838 | .poll = tenxpress_phy_poll, | 853 | .poll = tenxpress_phy_poll, |
839 | .fini = tenxpress_phy_fini, | 854 | .fini = efx_port_dummy_op_void, |
855 | .remove = tenxpress_phy_remove, | ||
840 | .get_settings = tenxpress_get_settings, | 856 | .get_settings = tenxpress_get_settings, |
841 | .set_settings = tenxpress_set_settings, | 857 | .set_settings = tenxpress_set_settings, |
842 | .set_npage_adv = sft9001_set_npage_adv, | 858 | .set_npage_adv = sft9001_set_npage_adv, |
diff --git a/drivers/net/sfc/tx.c b/drivers/net/sfc/tx.c index e669f94e821b..a8b70ef6d817 100644 --- a/drivers/net/sfc/tx.c +++ b/drivers/net/sfc/tx.c | |||
@@ -821,8 +821,6 @@ static void efx_enqueue_unwind(struct efx_tx_queue *tx_queue) | |||
821 | EFX_TXQ_MASK]; | 821 | EFX_TXQ_MASK]; |
822 | efx_tsoh_free(tx_queue, buffer); | 822 | efx_tsoh_free(tx_queue, buffer); |
823 | EFX_BUG_ON_PARANOID(buffer->skb); | 823 | EFX_BUG_ON_PARANOID(buffer->skb); |
824 | buffer->len = 0; | ||
825 | buffer->continuation = true; | ||
826 | if (buffer->unmap_len) { | 824 | if (buffer->unmap_len) { |
827 | unmap_addr = (buffer->dma_addr + buffer->len - | 825 | unmap_addr = (buffer->dma_addr + buffer->len - |
828 | buffer->unmap_len); | 826 | buffer->unmap_len); |
@@ -836,6 +834,8 @@ static void efx_enqueue_unwind(struct efx_tx_queue *tx_queue) | |||
836 | PCI_DMA_TODEVICE); | 834 | PCI_DMA_TODEVICE); |
837 | buffer->unmap_len = 0; | 835 | buffer->unmap_len = 0; |
838 | } | 836 | } |
837 | buffer->len = 0; | ||
838 | buffer->continuation = true; | ||
839 | } | 839 | } |
840 | } | 840 | } |
841 | 841 | ||
diff --git a/drivers/net/tun.c b/drivers/net/tun.c index 01e99f22210e..2834a01bae24 100644 --- a/drivers/net/tun.c +++ b/drivers/net/tun.c | |||
@@ -849,13 +849,13 @@ static void tun_sock_write_space(struct sock *sk) | |||
849 | if (sk->sk_sleep && waitqueue_active(sk->sk_sleep)) | 849 | if (sk->sk_sleep && waitqueue_active(sk->sk_sleep)) |
850 | wake_up_interruptible_sync(sk->sk_sleep); | 850 | wake_up_interruptible_sync(sk->sk_sleep); |
851 | 851 | ||
852 | tun = container_of(sk, struct tun_sock, sk)->tun; | 852 | tun = tun_sk(sk)->tun; |
853 | kill_fasync(&tun->fasync, SIGIO, POLL_OUT); | 853 | kill_fasync(&tun->fasync, SIGIO, POLL_OUT); |
854 | } | 854 | } |
855 | 855 | ||
856 | static void tun_sock_destruct(struct sock *sk) | 856 | static void tun_sock_destruct(struct sock *sk) |
857 | { | 857 | { |
858 | free_netdev(container_of(sk, struct tun_sock, sk)->tun->dev); | 858 | free_netdev(tun_sk(sk)->tun->dev); |
859 | } | 859 | } |
860 | 860 | ||
861 | static struct proto tun_proto = { | 861 | static struct proto tun_proto = { |
@@ -990,7 +990,7 @@ static int tun_set_iff(struct net *net, struct file *file, struct ifreq *ifr) | |||
990 | sk->sk_write_space = tun_sock_write_space; | 990 | sk->sk_write_space = tun_sock_write_space; |
991 | sk->sk_sndbuf = INT_MAX; | 991 | sk->sk_sndbuf = INT_MAX; |
992 | 992 | ||
993 | container_of(sk, struct tun_sock, sk)->tun = tun; | 993 | tun_sk(sk)->tun = tun; |
994 | 994 | ||
995 | security_tun_dev_post_create(sk); | 995 | security_tun_dev_post_create(sk); |
996 | 996 | ||
diff --git a/drivers/net/ucc_geth.c b/drivers/net/ucc_geth.c index afaf088b72ea..41ad2f3697c7 100644 --- a/drivers/net/ucc_geth.c +++ b/drivers/net/ucc_geth.c | |||
@@ -1563,7 +1563,10 @@ static int ugeth_disable(struct ucc_geth_private *ugeth, enum comm_dir mode) | |||
1563 | 1563 | ||
1564 | static void ugeth_quiesce(struct ucc_geth_private *ugeth) | 1564 | static void ugeth_quiesce(struct ucc_geth_private *ugeth) |
1565 | { | 1565 | { |
1566 | /* Wait for and prevent any further xmits. */ | 1566 | /* Prevent any further xmits, plus detach the device. */ |
1567 | netif_device_detach(ugeth->ndev); | ||
1568 | |||
1569 | /* Wait for any current xmits to finish. */ | ||
1567 | netif_tx_disable(ugeth->ndev); | 1570 | netif_tx_disable(ugeth->ndev); |
1568 | 1571 | ||
1569 | /* Disable the interrupt to avoid NAPI rescheduling. */ | 1572 | /* Disable the interrupt to avoid NAPI rescheduling. */ |
@@ -1577,7 +1580,7 @@ static void ugeth_activate(struct ucc_geth_private *ugeth) | |||
1577 | { | 1580 | { |
1578 | napi_enable(&ugeth->napi); | 1581 | napi_enable(&ugeth->napi); |
1579 | enable_irq(ugeth->ug_info->uf_info.irq); | 1582 | enable_irq(ugeth->ug_info->uf_info.irq); |
1580 | netif_tx_wake_all_queues(ugeth->ndev); | 1583 | netif_device_attach(ugeth->ndev); |
1581 | } | 1584 | } |
1582 | 1585 | ||
1583 | /* Called every time the controller might need to be made | 1586 | /* Called every time the controller might need to be made |
@@ -1648,25 +1651,28 @@ static void adjust_link(struct net_device *dev) | |||
1648 | ugeth->oldspeed = phydev->speed; | 1651 | ugeth->oldspeed = phydev->speed; |
1649 | } | 1652 | } |
1650 | 1653 | ||
1651 | /* | ||
1652 | * To change the MAC configuration we need to disable the | ||
1653 | * controller. To do so, we have to either grab ugeth->lock, | ||
1654 | * which is a bad idea since 'graceful stop' commands might | ||
1655 | * take quite a while, or we can quiesce driver's activity. | ||
1656 | */ | ||
1657 | ugeth_quiesce(ugeth); | ||
1658 | ugeth_disable(ugeth, COMM_DIR_RX_AND_TX); | ||
1659 | |||
1660 | out_be32(&ug_regs->maccfg2, tempval); | ||
1661 | out_be32(&uf_regs->upsmr, upsmr); | ||
1662 | |||
1663 | ugeth_enable(ugeth, COMM_DIR_RX_AND_TX); | ||
1664 | ugeth_activate(ugeth); | ||
1665 | |||
1666 | if (!ugeth->oldlink) { | 1654 | if (!ugeth->oldlink) { |
1667 | new_state = 1; | 1655 | new_state = 1; |
1668 | ugeth->oldlink = 1; | 1656 | ugeth->oldlink = 1; |
1669 | } | 1657 | } |
1658 | |||
1659 | if (new_state) { | ||
1660 | /* | ||
1661 | * To change the MAC configuration we need to disable | ||
1662 | * the controller. To do so, we have to either grab | ||
1663 | * ugeth->lock, which is a bad idea since 'graceful | ||
1664 | * stop' commands might take quite a while, or we can | ||
1665 | * quiesce driver's activity. | ||
1666 | */ | ||
1667 | ugeth_quiesce(ugeth); | ||
1668 | ugeth_disable(ugeth, COMM_DIR_RX_AND_TX); | ||
1669 | |||
1670 | out_be32(&ug_regs->maccfg2, tempval); | ||
1671 | out_be32(&uf_regs->upsmr, upsmr); | ||
1672 | |||
1673 | ugeth_enable(ugeth, COMM_DIR_RX_AND_TX); | ||
1674 | ugeth_activate(ugeth); | ||
1675 | } | ||
1670 | } else if (ugeth->oldlink) { | 1676 | } else if (ugeth->oldlink) { |
1671 | new_state = 1; | 1677 | new_state = 1; |
1672 | ugeth->oldlink = 0; | 1678 | ugeth->oldlink = 0; |
@@ -3273,7 +3279,7 @@ static int ucc_geth_tx(struct net_device *dev, u8 txQ) | |||
3273 | /* Handle the transmitted buffer and release */ | 3279 | /* Handle the transmitted buffer and release */ |
3274 | /* the BD to be used with the current frame */ | 3280 | /* the BD to be used with the current frame */ |
3275 | 3281 | ||
3276 | if ((bd == ugeth->txBd[txQ]) && (netif_queue_stopped(dev) == 0)) | 3282 | if (bd == ugeth->txBd[txQ]) /* queue empty? */ |
3277 | break; | 3283 | break; |
3278 | 3284 | ||
3279 | dev->stats.tx_packets++; | 3285 | dev->stats.tx_packets++; |
diff --git a/drivers/net/via-rhine.c b/drivers/net/via-rhine.c index 593e01f64e9b..611b80435955 100644 --- a/drivers/net/via-rhine.c +++ b/drivers/net/via-rhine.c | |||
@@ -102,6 +102,7 @@ static const int multicast_filter_limit = 32; | |||
102 | #include <linux/ethtool.h> | 102 | #include <linux/ethtool.h> |
103 | #include <linux/crc32.h> | 103 | #include <linux/crc32.h> |
104 | #include <linux/bitops.h> | 104 | #include <linux/bitops.h> |
105 | #include <linux/workqueue.h> | ||
105 | #include <asm/processor.h> /* Processor type for cache alignment. */ | 106 | #include <asm/processor.h> /* Processor type for cache alignment. */ |
106 | #include <asm/io.h> | 107 | #include <asm/io.h> |
107 | #include <asm/irq.h> | 108 | #include <asm/irq.h> |
@@ -389,6 +390,7 @@ struct rhine_private { | |||
389 | struct net_device *dev; | 390 | struct net_device *dev; |
390 | struct napi_struct napi; | 391 | struct napi_struct napi; |
391 | spinlock_t lock; | 392 | spinlock_t lock; |
393 | struct work_struct reset_task; | ||
392 | 394 | ||
393 | /* Frequently used values: keep some adjacent for cache effect. */ | 395 | /* Frequently used values: keep some adjacent for cache effect. */ |
394 | u32 quirks; | 396 | u32 quirks; |
@@ -407,6 +409,7 @@ struct rhine_private { | |||
407 | static int mdio_read(struct net_device *dev, int phy_id, int location); | 409 | static int mdio_read(struct net_device *dev, int phy_id, int location); |
408 | static void mdio_write(struct net_device *dev, int phy_id, int location, int value); | 410 | static void mdio_write(struct net_device *dev, int phy_id, int location, int value); |
409 | static int rhine_open(struct net_device *dev); | 411 | static int rhine_open(struct net_device *dev); |
412 | static void rhine_reset_task(struct work_struct *work); | ||
410 | static void rhine_tx_timeout(struct net_device *dev); | 413 | static void rhine_tx_timeout(struct net_device *dev); |
411 | static netdev_tx_t rhine_start_tx(struct sk_buff *skb, | 414 | static netdev_tx_t rhine_start_tx(struct sk_buff *skb, |
412 | struct net_device *dev); | 415 | struct net_device *dev); |
@@ -775,6 +778,8 @@ static int __devinit rhine_init_one(struct pci_dev *pdev, | |||
775 | dev->irq = pdev->irq; | 778 | dev->irq = pdev->irq; |
776 | 779 | ||
777 | spin_lock_init(&rp->lock); | 780 | spin_lock_init(&rp->lock); |
781 | INIT_WORK(&rp->reset_task, rhine_reset_task); | ||
782 | |||
778 | rp->mii_if.dev = dev; | 783 | rp->mii_if.dev = dev; |
779 | rp->mii_if.mdio_read = mdio_read; | 784 | rp->mii_if.mdio_read = mdio_read; |
780 | rp->mii_if.mdio_write = mdio_write; | 785 | rp->mii_if.mdio_write = mdio_write; |
@@ -1179,22 +1184,18 @@ static int rhine_open(struct net_device *dev) | |||
1179 | return 0; | 1184 | return 0; |
1180 | } | 1185 | } |
1181 | 1186 | ||
1182 | static void rhine_tx_timeout(struct net_device *dev) | 1187 | static void rhine_reset_task(struct work_struct *work) |
1183 | { | 1188 | { |
1184 | struct rhine_private *rp = netdev_priv(dev); | 1189 | struct rhine_private *rp = container_of(work, struct rhine_private, |
1185 | void __iomem *ioaddr = rp->base; | 1190 | reset_task); |
1186 | 1191 | struct net_device *dev = rp->dev; | |
1187 | printk(KERN_WARNING "%s: Transmit timed out, status %4.4x, PHY status " | ||
1188 | "%4.4x, resetting...\n", | ||
1189 | dev->name, ioread16(ioaddr + IntrStatus), | ||
1190 | mdio_read(dev, rp->mii_if.phy_id, MII_BMSR)); | ||
1191 | 1192 | ||
1192 | /* protect against concurrent rx interrupts */ | 1193 | /* protect against concurrent rx interrupts */ |
1193 | disable_irq(rp->pdev->irq); | 1194 | disable_irq(rp->pdev->irq); |
1194 | 1195 | ||
1195 | napi_disable(&rp->napi); | 1196 | napi_disable(&rp->napi); |
1196 | 1197 | ||
1197 | spin_lock(&rp->lock); | 1198 | spin_lock_bh(&rp->lock); |
1198 | 1199 | ||
1199 | /* clear all descriptors */ | 1200 | /* clear all descriptors */ |
1200 | free_tbufs(dev); | 1201 | free_tbufs(dev); |
@@ -1206,7 +1207,7 @@ static void rhine_tx_timeout(struct net_device *dev) | |||
1206 | rhine_chip_reset(dev); | 1207 | rhine_chip_reset(dev); |
1207 | init_registers(dev); | 1208 | init_registers(dev); |
1208 | 1209 | ||
1209 | spin_unlock(&rp->lock); | 1210 | spin_unlock_bh(&rp->lock); |
1210 | enable_irq(rp->pdev->irq); | 1211 | enable_irq(rp->pdev->irq); |
1211 | 1212 | ||
1212 | dev->trans_start = jiffies; | 1213 | dev->trans_start = jiffies; |
@@ -1214,6 +1215,19 @@ static void rhine_tx_timeout(struct net_device *dev) | |||
1214 | netif_wake_queue(dev); | 1215 | netif_wake_queue(dev); |
1215 | } | 1216 | } |
1216 | 1217 | ||
1218 | static void rhine_tx_timeout(struct net_device *dev) | ||
1219 | { | ||
1220 | struct rhine_private *rp = netdev_priv(dev); | ||
1221 | void __iomem *ioaddr = rp->base; | ||
1222 | |||
1223 | printk(KERN_WARNING "%s: Transmit timed out, status %4.4x, PHY status " | ||
1224 | "%4.4x, resetting...\n", | ||
1225 | dev->name, ioread16(ioaddr + IntrStatus), | ||
1226 | mdio_read(dev, rp->mii_if.phy_id, MII_BMSR)); | ||
1227 | |||
1228 | schedule_work(&rp->reset_task); | ||
1229 | } | ||
1230 | |||
1217 | static netdev_tx_t rhine_start_tx(struct sk_buff *skb, | 1231 | static netdev_tx_t rhine_start_tx(struct sk_buff *skb, |
1218 | struct net_device *dev) | 1232 | struct net_device *dev) |
1219 | { | 1233 | { |
@@ -1830,10 +1844,11 @@ static int rhine_close(struct net_device *dev) | |||
1830 | struct rhine_private *rp = netdev_priv(dev); | 1844 | struct rhine_private *rp = netdev_priv(dev); |
1831 | void __iomem *ioaddr = rp->base; | 1845 | void __iomem *ioaddr = rp->base; |
1832 | 1846 | ||
1833 | spin_lock_irq(&rp->lock); | ||
1834 | |||
1835 | netif_stop_queue(dev); | ||
1836 | napi_disable(&rp->napi); | 1847 | napi_disable(&rp->napi); |
1848 | cancel_work_sync(&rp->reset_task); | ||
1849 | netif_stop_queue(dev); | ||
1850 | |||
1851 | spin_lock_irq(&rp->lock); | ||
1837 | 1852 | ||
1838 | if (debug > 1) | 1853 | if (debug > 1) |
1839 | printk(KERN_DEBUG "%s: Shutting down ethercard, " | 1854 | printk(KERN_DEBUG "%s: Shutting down ethercard, " |
diff --git a/drivers/net/vxge/vxge-main.c b/drivers/net/vxge/vxge-main.c index f1c4b2a1e867..0fdfd58a35a1 100644 --- a/drivers/net/vxge/vxge-main.c +++ b/drivers/net/vxge/vxge-main.c | |||
@@ -4087,21 +4087,21 @@ vxge_probe(struct pci_dev *pdev, const struct pci_device_id *pre) | |||
4087 | goto _exit0; | 4087 | goto _exit0; |
4088 | } | 4088 | } |
4089 | 4089 | ||
4090 | if (!pci_set_dma_mask(pdev, 0xffffffffffffffffULL)) { | 4090 | if (!pci_set_dma_mask(pdev, DMA_BIT_MASK(64))) { |
4091 | vxge_debug_ll_config(VXGE_TRACE, | 4091 | vxge_debug_ll_config(VXGE_TRACE, |
4092 | "%s : using 64bit DMA", __func__); | 4092 | "%s : using 64bit DMA", __func__); |
4093 | 4093 | ||
4094 | high_dma = 1; | 4094 | high_dma = 1; |
4095 | 4095 | ||
4096 | if (pci_set_consistent_dma_mask(pdev, | 4096 | if (pci_set_consistent_dma_mask(pdev, |
4097 | 0xffffffffffffffffULL)) { | 4097 | DMA_BIT_MASK(64))) { |
4098 | vxge_debug_init(VXGE_ERR, | 4098 | vxge_debug_init(VXGE_ERR, |
4099 | "%s : unable to obtain 64bit DMA for " | 4099 | "%s : unable to obtain 64bit DMA for " |
4100 | "consistent allocations", __func__); | 4100 | "consistent allocations", __func__); |
4101 | ret = -ENOMEM; | 4101 | ret = -ENOMEM; |
4102 | goto _exit1; | 4102 | goto _exit1; |
4103 | } | 4103 | } |
4104 | } else if (!pci_set_dma_mask(pdev, 0xffffffffUL)) { | 4104 | } else if (!pci_set_dma_mask(pdev, DMA_BIT_MASK(32))) { |
4105 | vxge_debug_ll_config(VXGE_TRACE, | 4105 | vxge_debug_ll_config(VXGE_TRACE, |
4106 | "%s : using 32bit DMA", __func__); | 4106 | "%s : using 32bit DMA", __func__); |
4107 | } else { | 4107 | } else { |
diff --git a/drivers/net/wireless/ath/ath5k/base.c b/drivers/net/wireless/ath/ath5k/base.c index a4c086f069b1..e63b7c40d0ee 100644 --- a/drivers/net/wireless/ath/ath5k/base.c +++ b/drivers/net/wireless/ath/ath5k/base.c | |||
@@ -1903,17 +1903,6 @@ accept: | |||
1903 | rxs->noise = sc->ah->ah_noise_floor; | 1903 | rxs->noise = sc->ah->ah_noise_floor; |
1904 | rxs->signal = rxs->noise + rs.rs_rssi; | 1904 | rxs->signal = rxs->noise + rs.rs_rssi; |
1905 | 1905 | ||
1906 | /* An rssi of 35 indicates you should be able use | ||
1907 | * 54 Mbps reliably. A more elaborate scheme can be used | ||
1908 | * here but it requires a map of SNR/throughput for each | ||
1909 | * possible mode used */ | ||
1910 | rxs->qual = rs.rs_rssi * 100 / 35; | ||
1911 | |||
1912 | /* rssi can be more than 35 though, anything above that | ||
1913 | * should be considered at 100% */ | ||
1914 | if (rxs->qual > 100) | ||
1915 | rxs->qual = 100; | ||
1916 | |||
1917 | rxs->antenna = rs.rs_antenna; | 1906 | rxs->antenna = rs.rs_antenna; |
1918 | rxs->rate_idx = ath5k_hw_to_driver_rix(sc, rs.rs_rate); | 1907 | rxs->rate_idx = ath5k_hw_to_driver_rix(sc, rs.rs_rate); |
1919 | rxs->flag |= ath5k_rx_decrypted(sc, ds, skb, &rs); | 1908 | rxs->flag |= ath5k_rx_decrypted(sc, ds, skb, &rs); |
@@ -2381,6 +2370,9 @@ ath5k_init(struct ath5k_softc *sc) | |||
2381 | */ | 2370 | */ |
2382 | ath5k_stop_locked(sc); | 2371 | ath5k_stop_locked(sc); |
2383 | 2372 | ||
2373 | /* Set PHY calibration interval */ | ||
2374 | ah->ah_cal_intval = ath5k_calinterval; | ||
2375 | |||
2384 | /* | 2376 | /* |
2385 | * The basic interface to setting the hardware in a good | 2377 | * The basic interface to setting the hardware in a good |
2386 | * state is ``reset''. On return the hardware is known to | 2378 | * state is ``reset''. On return the hardware is known to |
@@ -2408,10 +2400,6 @@ ath5k_init(struct ath5k_softc *sc) | |||
2408 | 2400 | ||
2409 | /* Set ack to be sent at low bit-rates */ | 2401 | /* Set ack to be sent at low bit-rates */ |
2410 | ath5k_hw_set_ack_bitrate_high(ah, false); | 2402 | ath5k_hw_set_ack_bitrate_high(ah, false); |
2411 | |||
2412 | /* Set PHY calibration inteval */ | ||
2413 | ah->ah_cal_intval = ath5k_calinterval; | ||
2414 | |||
2415 | ret = 0; | 2403 | ret = 0; |
2416 | done: | 2404 | done: |
2417 | mmiowb(); | 2405 | mmiowb(); |
diff --git a/drivers/net/wireless/ath/ath9k/mac.c b/drivers/net/wireless/ath/ath9k/mac.c index 71b84d91dcff..efc420cd42bf 100644 --- a/drivers/net/wireless/ath/ath9k/mac.c +++ b/drivers/net/wireless/ath/ath9k/mac.c | |||
@@ -186,7 +186,7 @@ bool ath9k_hw_stoptxdma(struct ath_hw *ah, u32 q) | |||
186 | wait = wait_time; | 186 | wait = wait_time; |
187 | while (ath9k_hw_numtxpending(ah, q)) { | 187 | while (ath9k_hw_numtxpending(ah, q)) { |
188 | if ((--wait) == 0) { | 188 | if ((--wait) == 0) { |
189 | ath_print(common, ATH_DBG_QUEUE, | 189 | ath_print(common, ATH_DBG_FATAL, |
190 | "Failed to stop TX DMA in 100 " | 190 | "Failed to stop TX DMA in 100 " |
191 | "msec after killing last frame\n"); | 191 | "msec after killing last frame\n"); |
192 | break; | 192 | break; |
diff --git a/drivers/net/wireless/ath/ath9k/mac.h b/drivers/net/wireless/ath/ath9k/mac.h index 0c87771383f0..e185479e295e 100644 --- a/drivers/net/wireless/ath/ath9k/mac.h +++ b/drivers/net/wireless/ath/ath9k/mac.h | |||
@@ -77,6 +77,9 @@ | |||
77 | #define ATH9K_TXERR_XTXOP 0x08 | 77 | #define ATH9K_TXERR_XTXOP 0x08 |
78 | #define ATH9K_TXERR_TIMER_EXPIRED 0x10 | 78 | #define ATH9K_TXERR_TIMER_EXPIRED 0x10 |
79 | #define ATH9K_TX_ACKED 0x20 | 79 | #define ATH9K_TX_ACKED 0x20 |
80 | #define ATH9K_TXERR_MASK \ | ||
81 | (ATH9K_TXERR_XRETRY | ATH9K_TXERR_FILT | ATH9K_TXERR_FIFO | \ | ||
82 | ATH9K_TXERR_XTXOP | ATH9K_TXERR_TIMER_EXPIRED) | ||
80 | 83 | ||
81 | #define ATH9K_TX_BA 0x01 | 84 | #define ATH9K_TX_BA 0x01 |
82 | #define ATH9K_TX_PWRMGMT 0x02 | 85 | #define ATH9K_TX_PWRMGMT 0x02 |
diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c index c48743452515..996eb90263cc 100644 --- a/drivers/net/wireless/ath/ath9k/main.c +++ b/drivers/net/wireless/ath/ath9k/main.c | |||
@@ -1973,6 +1973,9 @@ int ath_reset(struct ath_softc *sc, bool retry_tx) | |||
1973 | struct ieee80211_hw *hw = sc->hw; | 1973 | struct ieee80211_hw *hw = sc->hw; |
1974 | int r; | 1974 | int r; |
1975 | 1975 | ||
1976 | /* Stop ANI */ | ||
1977 | del_timer_sync(&common->ani.timer); | ||
1978 | |||
1976 | ath9k_hw_set_interrupts(ah, 0); | 1979 | ath9k_hw_set_interrupts(ah, 0); |
1977 | ath_drain_all_txq(sc, retry_tx); | 1980 | ath_drain_all_txq(sc, retry_tx); |
1978 | ath_stoprecv(sc); | 1981 | ath_stoprecv(sc); |
@@ -2014,6 +2017,9 @@ int ath_reset(struct ath_softc *sc, bool retry_tx) | |||
2014 | } | 2017 | } |
2015 | } | 2018 | } |
2016 | 2019 | ||
2020 | /* Start ANI */ | ||
2021 | ath_start_ani(common); | ||
2022 | |||
2017 | return r; | 2023 | return r; |
2018 | } | 2024 | } |
2019 | 2025 | ||
@@ -2508,6 +2514,9 @@ static void ath9k_stop(struct ieee80211_hw *hw) | |||
2508 | return; /* another wiphy still in use */ | 2514 | return; /* another wiphy still in use */ |
2509 | } | 2515 | } |
2510 | 2516 | ||
2517 | /* Ensure HW is awake when we try to shut it down. */ | ||
2518 | ath9k_ps_wakeup(sc); | ||
2519 | |||
2511 | if (ah->btcoex_hw.enabled) { | 2520 | if (ah->btcoex_hw.enabled) { |
2512 | ath9k_hw_btcoex_disable(ah); | 2521 | ath9k_hw_btcoex_disable(ah); |
2513 | if (ah->btcoex_hw.scheme == ATH_BTCOEX_CFG_3WIRE) | 2522 | if (ah->btcoex_hw.scheme == ATH_BTCOEX_CFG_3WIRE) |
@@ -2528,6 +2537,9 @@ static void ath9k_stop(struct ieee80211_hw *hw) | |||
2528 | /* disable HAL and put h/w to sleep */ | 2537 | /* disable HAL and put h/w to sleep */ |
2529 | ath9k_hw_disable(ah); | 2538 | ath9k_hw_disable(ah); |
2530 | ath9k_hw_configpcipowersave(ah, 1, 1); | 2539 | ath9k_hw_configpcipowersave(ah, 1, 1); |
2540 | ath9k_ps_restore(sc); | ||
2541 | |||
2542 | /* Finally, put the chip in FULL SLEEP mode */ | ||
2531 | ath9k_setpower(sc, ATH9K_PM_FULL_SLEEP); | 2543 | ath9k_setpower(sc, ATH9K_PM_FULL_SLEEP); |
2532 | 2544 | ||
2533 | sc->sc_flags |= SC_OP_INVALID; | 2545 | sc->sc_flags |= SC_OP_INVALID; |
@@ -2641,8 +2653,10 @@ static void ath9k_remove_interface(struct ieee80211_hw *hw, | |||
2641 | if ((sc->sc_ah->opmode == NL80211_IFTYPE_AP) || | 2653 | if ((sc->sc_ah->opmode == NL80211_IFTYPE_AP) || |
2642 | (sc->sc_ah->opmode == NL80211_IFTYPE_ADHOC) || | 2654 | (sc->sc_ah->opmode == NL80211_IFTYPE_ADHOC) || |
2643 | (sc->sc_ah->opmode == NL80211_IFTYPE_MESH_POINT)) { | 2655 | (sc->sc_ah->opmode == NL80211_IFTYPE_MESH_POINT)) { |
2656 | ath9k_ps_wakeup(sc); | ||
2644 | ath9k_hw_stoptxdma(sc->sc_ah, sc->beacon.beaconq); | 2657 | ath9k_hw_stoptxdma(sc->sc_ah, sc->beacon.beaconq); |
2645 | ath_beacon_return(sc, avp); | 2658 | ath_beacon_return(sc, avp); |
2659 | ath9k_ps_restore(sc); | ||
2646 | } | 2660 | } |
2647 | 2661 | ||
2648 | sc->sc_flags &= ~SC_OP_BEACONS; | 2662 | sc->sc_flags &= ~SC_OP_BEACONS; |
@@ -3091,15 +3105,21 @@ static int ath9k_ampdu_action(struct ieee80211_hw *hw, | |||
3091 | case IEEE80211_AMPDU_RX_STOP: | 3105 | case IEEE80211_AMPDU_RX_STOP: |
3092 | break; | 3106 | break; |
3093 | case IEEE80211_AMPDU_TX_START: | 3107 | case IEEE80211_AMPDU_TX_START: |
3108 | ath9k_ps_wakeup(sc); | ||
3094 | ath_tx_aggr_start(sc, sta, tid, ssn); | 3109 | ath_tx_aggr_start(sc, sta, tid, ssn); |
3095 | ieee80211_start_tx_ba_cb_irqsafe(vif, sta->addr, tid); | 3110 | ieee80211_start_tx_ba_cb_irqsafe(vif, sta->addr, tid); |
3111 | ath9k_ps_restore(sc); | ||
3096 | break; | 3112 | break; |
3097 | case IEEE80211_AMPDU_TX_STOP: | 3113 | case IEEE80211_AMPDU_TX_STOP: |
3114 | ath9k_ps_wakeup(sc); | ||
3098 | ath_tx_aggr_stop(sc, sta, tid); | 3115 | ath_tx_aggr_stop(sc, sta, tid); |
3099 | ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid); | 3116 | ieee80211_stop_tx_ba_cb_irqsafe(vif, sta->addr, tid); |
3117 | ath9k_ps_restore(sc); | ||
3100 | break; | 3118 | break; |
3101 | case IEEE80211_AMPDU_TX_OPERATIONAL: | 3119 | case IEEE80211_AMPDU_TX_OPERATIONAL: |
3120 | ath9k_ps_wakeup(sc); | ||
3102 | ath_tx_aggr_resume(sc, sta, tid); | 3121 | ath_tx_aggr_resume(sc, sta, tid); |
3122 | ath9k_ps_restore(sc); | ||
3103 | break; | 3123 | break; |
3104 | default: | 3124 | default: |
3105 | ath_print(ath9k_hw_common(sc->sc_ah), ATH_DBG_FATAL, | 3125 | ath_print(ath9k_hw_common(sc->sc_ah), ATH_DBG_FATAL, |
diff --git a/drivers/net/wireless/ath/ath9k/pci.c b/drivers/net/wireless/ath/ath9k/pci.c index 5321f735e5a0..f7af5ea54753 100644 --- a/drivers/net/wireless/ath/ath9k/pci.c +++ b/drivers/net/wireless/ath/ath9k/pci.c | |||
@@ -96,7 +96,7 @@ static void ath_pci_bt_coex_prep(struct ath_common *common) | |||
96 | pci_write_config_byte(pdev, ATH_PCIE_CAP_LINK_CTRL, aspm); | 96 | pci_write_config_byte(pdev, ATH_PCIE_CAP_LINK_CTRL, aspm); |
97 | } | 97 | } |
98 | 98 | ||
99 | const static struct ath_bus_ops ath_pci_bus_ops = { | 99 | static const struct ath_bus_ops ath_pci_bus_ops = { |
100 | .read_cachesize = ath_pci_read_cachesize, | 100 | .read_cachesize = ath_pci_read_cachesize, |
101 | .cleanup = ath_pci_cleanup, | 101 | .cleanup = ath_pci_cleanup, |
102 | .eeprom_read = ath_pci_eeprom_read, | 102 | .eeprom_read = ath_pci_eeprom_read, |
diff --git a/drivers/net/wireless/ath/ath9k/xmit.c b/drivers/net/wireless/ath/ath9k/xmit.c index 2a11cc57ceea..fa12b9060b0b 100644 --- a/drivers/net/wireless/ath/ath9k/xmit.c +++ b/drivers/net/wireless/ath/ath9k/xmit.c | |||
@@ -1108,11 +1108,11 @@ void ath_drain_all_txq(struct ath_softc *sc, bool retry_tx) | |||
1108 | if (npend) { | 1108 | if (npend) { |
1109 | int r; | 1109 | int r; |
1110 | 1110 | ||
1111 | ath_print(common, ATH_DBG_XMIT, | 1111 | ath_print(common, ATH_DBG_FATAL, |
1112 | "Unable to stop TxDMA. Reset HAL!\n"); | 1112 | "Unable to stop TxDMA. Reset HAL!\n"); |
1113 | 1113 | ||
1114 | spin_lock_bh(&sc->sc_resetlock); | 1114 | spin_lock_bh(&sc->sc_resetlock); |
1115 | r = ath9k_hw_reset(ah, sc->sc_ah->curchan, true); | 1115 | r = ath9k_hw_reset(ah, sc->sc_ah->curchan, false); |
1116 | if (r) | 1116 | if (r) |
1117 | ath_print(common, ATH_DBG_FATAL, | 1117 | ath_print(common, ATH_DBG_FATAL, |
1118 | "Unable to reset hardware; reset status %d\n", | 1118 | "Unable to reset hardware; reset status %d\n", |
@@ -1414,17 +1414,9 @@ static void assign_aggr_tid_seqno(struct sk_buff *skb, | |||
1414 | * For HT capable stations, we save tidno for later use. | 1414 | * For HT capable stations, we save tidno for later use. |
1415 | * We also override seqno set by upper layer with the one | 1415 | * We also override seqno set by upper layer with the one |
1416 | * in tx aggregation state. | 1416 | * in tx aggregation state. |
1417 | * | ||
1418 | * If fragmentation is on, the sequence number is | ||
1419 | * not overridden, since it has been | ||
1420 | * incremented by the fragmentation routine. | ||
1421 | * | ||
1422 | * FIXME: check if the fragmentation threshold exceeds | ||
1423 | * IEEE80211 max. | ||
1424 | */ | 1417 | */ |
1425 | tid = ATH_AN_2_TID(an, bf->bf_tidno); | 1418 | tid = ATH_AN_2_TID(an, bf->bf_tidno); |
1426 | hdr->seq_ctrl = cpu_to_le16(tid->seq_next << | 1419 | hdr->seq_ctrl = cpu_to_le16(tid->seq_next << IEEE80211_SEQ_SEQ_SHIFT); |
1427 | IEEE80211_SEQ_SEQ_SHIFT); | ||
1428 | bf->bf_seqno = tid->seq_next; | 1420 | bf->bf_seqno = tid->seq_next; |
1429 | INCR(tid->seq_next, IEEE80211_SEQ_MAX); | 1421 | INCR(tid->seq_next, IEEE80211_SEQ_MAX); |
1430 | } | 1422 | } |
@@ -1636,7 +1628,8 @@ static int ath_tx_setup_buffer(struct ieee80211_hw *hw, struct ath_buf *bf, | |||
1636 | bf->bf_keyix = ATH9K_TXKEYIX_INVALID; | 1628 | bf->bf_keyix = ATH9K_TXKEYIX_INVALID; |
1637 | } | 1629 | } |
1638 | 1630 | ||
1639 | if (ieee80211_is_data_qos(fc) && (sc->sc_flags & SC_OP_TXAGGR)) | 1631 | if (ieee80211_is_data_qos(fc) && bf_isht(bf) && |
1632 | (sc->sc_flags & SC_OP_TXAGGR)) | ||
1640 | assign_aggr_tid_seqno(skb, bf); | 1633 | assign_aggr_tid_seqno(skb, bf); |
1641 | 1634 | ||
1642 | bf->bf_mpdu = skb; | 1635 | bf->bf_mpdu = skb; |
@@ -1780,7 +1773,8 @@ void ath_tx_cabq(struct ieee80211_hw *hw, struct sk_buff *skb) | |||
1780 | struct ath_wiphy *aphy = hw->priv; | 1773 | struct ath_wiphy *aphy = hw->priv; |
1781 | struct ath_softc *sc = aphy->sc; | 1774 | struct ath_softc *sc = aphy->sc; |
1782 | struct ath_common *common = ath9k_hw_common(sc->sc_ah); | 1775 | struct ath_common *common = ath9k_hw_common(sc->sc_ah); |
1783 | int hdrlen, padsize; | 1776 | struct ieee80211_hdr *hdr = (struct ieee80211_hdr *) skb->data; |
1777 | int padpos, padsize; | ||
1784 | struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb); | 1778 | struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb); |
1785 | struct ath_tx_control txctl; | 1779 | struct ath_tx_control txctl; |
1786 | 1780 | ||
@@ -1792,7 +1786,6 @@ void ath_tx_cabq(struct ieee80211_hw *hw, struct sk_buff *skb) | |||
1792 | * BSSes. | 1786 | * BSSes. |
1793 | */ | 1787 | */ |
1794 | if (info->flags & IEEE80211_TX_CTL_ASSIGN_SEQ) { | 1788 | if (info->flags & IEEE80211_TX_CTL_ASSIGN_SEQ) { |
1795 | struct ieee80211_hdr *hdr = (struct ieee80211_hdr *) skb->data; | ||
1796 | if (info->flags & IEEE80211_TX_CTL_FIRST_FRAGMENT) | 1789 | if (info->flags & IEEE80211_TX_CTL_FIRST_FRAGMENT) |
1797 | sc->tx.seq_no += 0x10; | 1790 | sc->tx.seq_no += 0x10; |
1798 | hdr->seq_ctrl &= cpu_to_le16(IEEE80211_SCTL_FRAG); | 1791 | hdr->seq_ctrl &= cpu_to_le16(IEEE80211_SCTL_FRAG); |
@@ -1800,9 +1793,9 @@ void ath_tx_cabq(struct ieee80211_hw *hw, struct sk_buff *skb) | |||
1800 | } | 1793 | } |
1801 | 1794 | ||
1802 | /* Add the padding after the header if this is not already done */ | 1795 | /* Add the padding after the header if this is not already done */ |
1803 | hdrlen = ieee80211_get_hdrlen_from_skb(skb); | 1796 | padpos = ath9k_cmn_padpos(hdr->frame_control); |
1804 | if (hdrlen & 3) { | 1797 | padsize = padpos & 3; |
1805 | padsize = hdrlen % 4; | 1798 | if (padsize && skb->len>padpos) { |
1806 | if (skb_headroom(skb) < padsize) { | 1799 | if (skb_headroom(skb) < padsize) { |
1807 | ath_print(common, ATH_DBG_XMIT, | 1800 | ath_print(common, ATH_DBG_XMIT, |
1808 | "TX CABQ padding failed\n"); | 1801 | "TX CABQ padding failed\n"); |
@@ -1810,7 +1803,7 @@ void ath_tx_cabq(struct ieee80211_hw *hw, struct sk_buff *skb) | |||
1810 | return; | 1803 | return; |
1811 | } | 1804 | } |
1812 | skb_push(skb, padsize); | 1805 | skb_push(skb, padsize); |
1813 | memmove(skb->data, skb->data + padsize, hdrlen); | 1806 | memmove(skb->data, skb->data + padsize, padpos); |
1814 | } | 1807 | } |
1815 | 1808 | ||
1816 | txctl.txq = sc->beacon.cabq; | 1809 | txctl.txq = sc->beacon.cabq; |
@@ -1838,7 +1831,8 @@ static void ath_tx_complete(struct ath_softc *sc, struct sk_buff *skb, | |||
1838 | struct ieee80211_hw *hw = sc->hw; | 1831 | struct ieee80211_hw *hw = sc->hw; |
1839 | struct ieee80211_tx_info *tx_info = IEEE80211_SKB_CB(skb); | 1832 | struct ieee80211_tx_info *tx_info = IEEE80211_SKB_CB(skb); |
1840 | struct ath_common *common = ath9k_hw_common(sc->sc_ah); | 1833 | struct ath_common *common = ath9k_hw_common(sc->sc_ah); |
1841 | int hdrlen, padsize; | 1834 | struct ieee80211_hdr * hdr = (struct ieee80211_hdr *)skb->data; |
1835 | int padpos, padsize; | ||
1842 | 1836 | ||
1843 | ath_print(common, ATH_DBG_XMIT, "TX complete: skb: %p\n", skb); | 1837 | ath_print(common, ATH_DBG_XMIT, "TX complete: skb: %p\n", skb); |
1844 | 1838 | ||
@@ -1853,14 +1847,14 @@ static void ath_tx_complete(struct ath_softc *sc, struct sk_buff *skb, | |||
1853 | tx_info->flags |= IEEE80211_TX_STAT_ACK; | 1847 | tx_info->flags |= IEEE80211_TX_STAT_ACK; |
1854 | } | 1848 | } |
1855 | 1849 | ||
1856 | hdrlen = ieee80211_get_hdrlen_from_skb(skb); | 1850 | padpos = ath9k_cmn_padpos(hdr->frame_control); |
1857 | padsize = hdrlen & 3; | 1851 | padsize = padpos & 3; |
1858 | if (padsize && hdrlen >= 24) { | 1852 | if (padsize && skb->len>padpos+padsize) { |
1859 | /* | 1853 | /* |
1860 | * Remove MAC header padding before giving the frame back to | 1854 | * Remove MAC header padding before giving the frame back to |
1861 | * mac80211. | 1855 | * mac80211. |
1862 | */ | 1856 | */ |
1863 | memmove(skb->data + padsize, skb->data, hdrlen); | 1857 | memmove(skb->data + padsize, skb->data, padpos); |
1864 | skb_pull(skb, padsize); | 1858 | skb_pull(skb, padsize); |
1865 | } | 1859 | } |
1866 | 1860 | ||
@@ -2078,7 +2072,7 @@ static void ath_tx_processq(struct ath_softc *sc, struct ath_txq *txq) | |||
2078 | &txq->axq_q, lastbf->list.prev); | 2072 | &txq->axq_q, lastbf->list.prev); |
2079 | 2073 | ||
2080 | txq->axq_depth--; | 2074 | txq->axq_depth--; |
2081 | txok = !(ds->ds_txstat.ts_status & ATH9K_TXERR_FILT); | 2075 | txok = !(ds->ds_txstat.ts_status & ATH9K_TXERR_MASK); |
2082 | txq->axq_tx_inprogress = false; | 2076 | txq->axq_tx_inprogress = false; |
2083 | spin_unlock_bh(&txq->axq_lock); | 2077 | spin_unlock_bh(&txq->axq_lock); |
2084 | 2078 | ||
diff --git a/drivers/net/wireless/b43/dma.c b/drivers/net/wireless/b43/dma.c index 027be275e035..88d1fd02d40a 100644 --- a/drivers/net/wireless/b43/dma.c +++ b/drivers/net/wireless/b43/dma.c | |||
@@ -383,160 +383,44 @@ static inline | |||
383 | } | 383 | } |
384 | } | 384 | } |
385 | 385 | ||
386 | /* Check if a DMA region fits the device constraints. | ||
387 | * Returns true, if the region is OK for usage with this device. */ | ||
388 | static inline bool b43_dma_address_ok(struct b43_dmaring *ring, | ||
389 | dma_addr_t addr, size_t size) | ||
390 | { | ||
391 | switch (ring->type) { | ||
392 | case B43_DMA_30BIT: | ||
393 | if ((u64)addr + size > (1ULL << 30)) | ||
394 | return 0; | ||
395 | break; | ||
396 | case B43_DMA_32BIT: | ||
397 | if ((u64)addr + size > (1ULL << 32)) | ||
398 | return 0; | ||
399 | break; | ||
400 | case B43_DMA_64BIT: | ||
401 | /* Currently we can't have addresses beyond | ||
402 | * 64bit in the kernel. */ | ||
403 | break; | ||
404 | } | ||
405 | return 1; | ||
406 | } | ||
407 | |||
408 | #define is_4k_aligned(addr) (((u64)(addr) & 0x0FFFull) == 0) | ||
409 | #define is_8k_aligned(addr) (((u64)(addr) & 0x1FFFull) == 0) | ||
410 | |||
411 | static void b43_unmap_and_free_ringmem(struct b43_dmaring *ring, void *base, | ||
412 | dma_addr_t dmaaddr, size_t size) | ||
413 | { | ||
414 | ssb_dma_unmap_single(ring->dev->dev, dmaaddr, size, DMA_TO_DEVICE); | ||
415 | free_pages((unsigned long)base, get_order(size)); | ||
416 | } | ||
417 | |||
418 | static void * __b43_get_and_map_ringmem(struct b43_dmaring *ring, | ||
419 | dma_addr_t *dmaaddr, size_t size, | ||
420 | gfp_t gfp_flags) | ||
421 | { | ||
422 | void *base; | ||
423 | |||
424 | base = (void *)__get_free_pages(gfp_flags, get_order(size)); | ||
425 | if (!base) | ||
426 | return NULL; | ||
427 | memset(base, 0, size); | ||
428 | *dmaaddr = ssb_dma_map_single(ring->dev->dev, base, size, | ||
429 | DMA_TO_DEVICE); | ||
430 | if (ssb_dma_mapping_error(ring->dev->dev, *dmaaddr)) { | ||
431 | free_pages((unsigned long)base, get_order(size)); | ||
432 | return NULL; | ||
433 | } | ||
434 | |||
435 | return base; | ||
436 | } | ||
437 | |||
438 | static void * b43_get_and_map_ringmem(struct b43_dmaring *ring, | ||
439 | dma_addr_t *dmaaddr, size_t size) | ||
440 | { | ||
441 | void *base; | ||
442 | |||
443 | base = __b43_get_and_map_ringmem(ring, dmaaddr, size, | ||
444 | GFP_KERNEL); | ||
445 | if (!base) { | ||
446 | b43err(ring->dev->wl, "Failed to allocate or map pages " | ||
447 | "for DMA ringmemory\n"); | ||
448 | return NULL; | ||
449 | } | ||
450 | if (!b43_dma_address_ok(ring, *dmaaddr, size)) { | ||
451 | /* The memory does not fit our device constraints. | ||
452 | * Retry with GFP_DMA set to get lower memory. */ | ||
453 | b43_unmap_and_free_ringmem(ring, base, *dmaaddr, size); | ||
454 | base = __b43_get_and_map_ringmem(ring, dmaaddr, size, | ||
455 | GFP_KERNEL | GFP_DMA); | ||
456 | if (!base) { | ||
457 | b43err(ring->dev->wl, "Failed to allocate or map pages " | ||
458 | "in the GFP_DMA region for DMA ringmemory\n"); | ||
459 | return NULL; | ||
460 | } | ||
461 | if (!b43_dma_address_ok(ring, *dmaaddr, size)) { | ||
462 | b43_unmap_and_free_ringmem(ring, base, *dmaaddr, size); | ||
463 | b43err(ring->dev->wl, "Failed to allocate DMA " | ||
464 | "ringmemory that fits device constraints\n"); | ||
465 | return NULL; | ||
466 | } | ||
467 | } | ||
468 | /* We expect the memory to be 4k aligned, at least. */ | ||
469 | if (B43_WARN_ON(!is_4k_aligned(*dmaaddr))) { | ||
470 | b43_unmap_and_free_ringmem(ring, base, *dmaaddr, size); | ||
471 | return NULL; | ||
472 | } | ||
473 | |||
474 | return base; | ||
475 | } | ||
476 | |||
477 | static int alloc_ringmemory(struct b43_dmaring *ring) | 386 | static int alloc_ringmemory(struct b43_dmaring *ring) |
478 | { | 387 | { |
479 | unsigned int required; | 388 | gfp_t flags = GFP_KERNEL; |
480 | void *base; | 389 | |
481 | dma_addr_t dmaaddr; | 390 | /* The specs call for 4K buffers for 30- and 32-bit DMA with 4K |
482 | 391 | * alignment and 8K buffers for 64-bit DMA with 8K alignment. Testing | |
483 | /* There are several requirements to the descriptor ring memory: | 392 | * has shown that 4K is sufficient for the latter as long as the buffer |
484 | * - The memory region needs to fit the address constraints for the | 393 | * does not cross an 8K boundary. |
485 | * device (same as for frame buffers). | 394 | * |
486 | * - For 30/32bit DMA devices, the descriptor ring must be 4k aligned. | 395 | * For unknown reasons - possibly a hardware error - the BCM4311 rev |
487 | * - For 64bit DMA devices, the descriptor ring must be 8k aligned. | 396 | * 02, which uses 64-bit DMA, needs the ring buffer in very low memory, |
397 | * which accounts for the GFP_DMA flag below. | ||
398 | * | ||
399 | * The flags here must match the flags in free_ringmemory below! | ||
488 | */ | 400 | */ |
489 | |||
490 | if (ring->type == B43_DMA_64BIT) | 401 | if (ring->type == B43_DMA_64BIT) |
491 | required = ring->nr_slots * sizeof(struct b43_dmadesc64); | 402 | flags |= GFP_DMA; |
492 | else | 403 | ring->descbase = ssb_dma_alloc_consistent(ring->dev->dev, |
493 | required = ring->nr_slots * sizeof(struct b43_dmadesc32); | 404 | B43_DMA_RINGMEMSIZE, |
494 | if (B43_WARN_ON(required > 0x1000)) | 405 | &(ring->dmabase), flags); |
406 | if (!ring->descbase) { | ||
407 | b43err(ring->dev->wl, "DMA ringmemory allocation failed\n"); | ||
495 | return -ENOMEM; | 408 | return -ENOMEM; |
496 | |||
497 | ring->alloc_descsize = 0x1000; | ||
498 | base = b43_get_and_map_ringmem(ring, &dmaaddr, ring->alloc_descsize); | ||
499 | if (!base) | ||
500 | return -ENOMEM; | ||
501 | ring->alloc_descbase = base; | ||
502 | ring->alloc_dmabase = dmaaddr; | ||
503 | |||
504 | if ((ring->type != B43_DMA_64BIT) || is_8k_aligned(dmaaddr)) { | ||
505 | /* We're on <=32bit DMA, or we already got 8k aligned memory. | ||
506 | * That's all we need, so we're fine. */ | ||
507 | ring->descbase = base; | ||
508 | ring->dmabase = dmaaddr; | ||
509 | return 0; | ||
510 | } | ||
511 | b43_unmap_and_free_ringmem(ring, base, dmaaddr, ring->alloc_descsize); | ||
512 | |||
513 | /* Ok, we failed at the 8k alignment requirement. | ||
514 | * Try to force-align the memory region now. */ | ||
515 | ring->alloc_descsize = 0x2000; | ||
516 | base = b43_get_and_map_ringmem(ring, &dmaaddr, ring->alloc_descsize); | ||
517 | if (!base) | ||
518 | return -ENOMEM; | ||
519 | ring->alloc_descbase = base; | ||
520 | ring->alloc_dmabase = dmaaddr; | ||
521 | |||
522 | if (is_8k_aligned(dmaaddr)) { | ||
523 | /* We're already 8k aligned. That Ok, too. */ | ||
524 | ring->descbase = base; | ||
525 | ring->dmabase = dmaaddr; | ||
526 | return 0; | ||
527 | } | 409 | } |
528 | /* Force-align it to 8k */ | 410 | memset(ring->descbase, 0, B43_DMA_RINGMEMSIZE); |
529 | ring->descbase = (void *)((u8 *)base + 0x1000); | ||
530 | ring->dmabase = dmaaddr + 0x1000; | ||
531 | B43_WARN_ON(!is_8k_aligned(ring->dmabase)); | ||
532 | 411 | ||
533 | return 0; | 412 | return 0; |
534 | } | 413 | } |
535 | 414 | ||
536 | static void free_ringmemory(struct b43_dmaring *ring) | 415 | static void free_ringmemory(struct b43_dmaring *ring) |
537 | { | 416 | { |
538 | b43_unmap_and_free_ringmem(ring, ring->alloc_descbase, | 417 | gfp_t flags = GFP_KERNEL; |
539 | ring->alloc_dmabase, ring->alloc_descsize); | 418 | |
419 | if (ring->type == B43_DMA_64BIT) | ||
420 | flags |= GFP_DMA; | ||
421 | |||
422 | ssb_dma_free_consistent(ring->dev->dev, B43_DMA_RINGMEMSIZE, | ||
423 | ring->descbase, ring->dmabase, flags); | ||
540 | } | 424 | } |
541 | 425 | ||
542 | /* Reset the RX DMA channel */ | 426 | /* Reset the RX DMA channel */ |
@@ -646,14 +530,29 @@ static bool b43_dma_mapping_error(struct b43_dmaring *ring, | |||
646 | if (unlikely(ssb_dma_mapping_error(ring->dev->dev, addr))) | 530 | if (unlikely(ssb_dma_mapping_error(ring->dev->dev, addr))) |
647 | return 1; | 531 | return 1; |
648 | 532 | ||
649 | if (!b43_dma_address_ok(ring, addr, buffersize)) { | 533 | switch (ring->type) { |
650 | /* We can't support this address. Unmap it again. */ | 534 | case B43_DMA_30BIT: |
651 | unmap_descbuffer(ring, addr, buffersize, dma_to_device); | 535 | if ((u64)addr + buffersize > (1ULL << 30)) |
652 | return 1; | 536 | goto address_error; |
537 | break; | ||
538 | case B43_DMA_32BIT: | ||
539 | if ((u64)addr + buffersize > (1ULL << 32)) | ||
540 | goto address_error; | ||
541 | break; | ||
542 | case B43_DMA_64BIT: | ||
543 | /* Currently we can't have addresses beyond | ||
544 | * 64bit in the kernel. */ | ||
545 | break; | ||
653 | } | 546 | } |
654 | 547 | ||
655 | /* The address is OK. */ | 548 | /* The address is OK. */ |
656 | return 0; | 549 | return 0; |
550 | |||
551 | address_error: | ||
552 | /* We can't support this address. Unmap it again. */ | ||
553 | unmap_descbuffer(ring, addr, buffersize, dma_to_device); | ||
554 | |||
555 | return 1; | ||
657 | } | 556 | } |
658 | 557 | ||
659 | static bool b43_rx_buffer_is_poisoned(struct b43_dmaring *ring, struct sk_buff *skb) | 558 | static bool b43_rx_buffer_is_poisoned(struct b43_dmaring *ring, struct sk_buff *skb) |
@@ -715,9 +614,6 @@ static int setup_rx_descbuffer(struct b43_dmaring *ring, | |||
715 | meta->dmaaddr = dmaaddr; | 614 | meta->dmaaddr = dmaaddr; |
716 | ring->ops->fill_descriptor(ring, desc, dmaaddr, | 615 | ring->ops->fill_descriptor(ring, desc, dmaaddr, |
717 | ring->rx_buffersize, 0, 0, 0); | 616 | ring->rx_buffersize, 0, 0, 0); |
718 | ssb_dma_sync_single_for_device(ring->dev->dev, | ||
719 | ring->alloc_dmabase, | ||
720 | ring->alloc_descsize, DMA_TO_DEVICE); | ||
721 | 617 | ||
722 | return 0; | 618 | return 0; |
723 | } | 619 | } |
@@ -1354,9 +1250,6 @@ static int dma_tx_fragment(struct b43_dmaring *ring, | |||
1354 | } | 1250 | } |
1355 | /* Now transfer the whole frame. */ | 1251 | /* Now transfer the whole frame. */ |
1356 | wmb(); | 1252 | wmb(); |
1357 | ssb_dma_sync_single_for_device(ring->dev->dev, | ||
1358 | ring->alloc_dmabase, | ||
1359 | ring->alloc_descsize, DMA_TO_DEVICE); | ||
1360 | ops->poke_tx(ring, next_slot(ring, slot)); | 1253 | ops->poke_tx(ring, next_slot(ring, slot)); |
1361 | return 0; | 1254 | return 0; |
1362 | 1255 | ||
diff --git a/drivers/net/wireless/b43/dma.h b/drivers/net/wireless/b43/dma.h index e607b392314c..f7ab37c4cdbc 100644 --- a/drivers/net/wireless/b43/dma.h +++ b/drivers/net/wireless/b43/dma.h | |||
@@ -157,6 +157,7 @@ struct b43_dmadesc_generic { | |||
157 | } __attribute__ ((__packed__)); | 157 | } __attribute__ ((__packed__)); |
158 | 158 | ||
159 | /* Misc DMA constants */ | 159 | /* Misc DMA constants */ |
160 | #define B43_DMA_RINGMEMSIZE PAGE_SIZE | ||
160 | #define B43_DMA0_RX_FRAMEOFFSET 30 | 161 | #define B43_DMA0_RX_FRAMEOFFSET 30 |
161 | 162 | ||
162 | /* DMA engine tuning knobs */ | 163 | /* DMA engine tuning knobs */ |
@@ -246,12 +247,6 @@ struct b43_dmaring { | |||
246 | /* The QOS priority assigned to this ring. Only used for TX rings. | 247 | /* The QOS priority assigned to this ring. Only used for TX rings. |
247 | * This is the mac80211 "queue" value. */ | 248 | * This is the mac80211 "queue" value. */ |
248 | u8 queue_prio; | 249 | u8 queue_prio; |
249 | /* Pointers and size of the originally allocated and mapped memory | ||
250 | * region for the descriptor ring. */ | ||
251 | void *alloc_descbase; | ||
252 | dma_addr_t alloc_dmabase; | ||
253 | unsigned int alloc_descsize; | ||
254 | /* Pointer to our wireless device. */ | ||
255 | struct b43_wldev *dev; | 250 | struct b43_wldev *dev; |
256 | #ifdef CONFIG_B43_DEBUG | 251 | #ifdef CONFIG_B43_DEBUG |
257 | /* Maximum number of used slots. */ | 252 | /* Maximum number of used slots. */ |
diff --git a/drivers/net/wireless/iwlwifi/iwl-3945.c b/drivers/net/wireless/iwlwifi/iwl-3945.c index 7da1dab933d9..234891d8cc10 100644 --- a/drivers/net/wireless/iwlwifi/iwl-3945.c +++ b/drivers/net/wireless/iwlwifi/iwl-3945.c | |||
@@ -681,19 +681,13 @@ static void iwl3945_rx_reply_rx(struct iwl_priv *priv, | |||
681 | snr = rx_stats_sig_avg / rx_stats_noise_diff; | 681 | snr = rx_stats_sig_avg / rx_stats_noise_diff; |
682 | rx_status.noise = rx_status.signal - | 682 | rx_status.noise = rx_status.signal - |
683 | iwl3945_calc_db_from_ratio(snr); | 683 | iwl3945_calc_db_from_ratio(snr); |
684 | rx_status.qual = iwl3945_calc_sig_qual(rx_status.signal, | ||
685 | rx_status.noise); | ||
686 | |||
687 | /* If noise info not available, calculate signal quality indicator (%) | ||
688 | * using just the dBm signal level. */ | ||
689 | } else { | 684 | } else { |
690 | rx_status.noise = priv->last_rx_noise; | 685 | rx_status.noise = priv->last_rx_noise; |
691 | rx_status.qual = iwl3945_calc_sig_qual(rx_status.signal, 0); | ||
692 | } | 686 | } |
693 | 687 | ||
694 | 688 | ||
695 | IWL_DEBUG_STATS(priv, "Rssi %d noise %d qual %d sig_avg %d noise_diff %d\n", | 689 | IWL_DEBUG_STATS(priv, "Rssi %d noise %d sig_avg %d noise_diff %d\n", |
696 | rx_status.signal, rx_status.noise, rx_status.qual, | 690 | rx_status.signal, rx_status.noise, |
697 | rx_stats_sig_avg, rx_stats_noise_diff); | 691 | rx_stats_sig_avg, rx_stats_noise_diff); |
698 | 692 | ||
699 | header = (struct ieee80211_hdr *)IWL_RX_DATA(pkt); | 693 | header = (struct ieee80211_hdr *)IWL_RX_DATA(pkt); |
@@ -1835,8 +1829,7 @@ static int iwl3945_send_rxon_assoc(struct iwl_priv *priv) | |||
1835 | rc = -EIO; | 1829 | rc = -EIO; |
1836 | } | 1830 | } |
1837 | 1831 | ||
1838 | priv->alloc_rxb_page--; | 1832 | iwl_free_pages(priv, cmd.reply_page); |
1839 | free_pages(cmd.reply_page, priv->hw_params.rx_page_order); | ||
1840 | 1833 | ||
1841 | return rc; | 1834 | return rc; |
1842 | } | 1835 | } |
@@ -2836,6 +2829,7 @@ static struct iwl_cfg iwl3945_bg_cfg = { | |||
2836 | .use_isr_legacy = true, | 2829 | .use_isr_legacy = true, |
2837 | .ht_greenfield_support = false, | 2830 | .ht_greenfield_support = false, |
2838 | .led_compensation = 64, | 2831 | .led_compensation = 64, |
2832 | .broken_powersave = true, | ||
2839 | }; | 2833 | }; |
2840 | 2834 | ||
2841 | static struct iwl_cfg iwl3945_abg_cfg = { | 2835 | static struct iwl_cfg iwl3945_abg_cfg = { |
@@ -2852,6 +2846,7 @@ static struct iwl_cfg iwl3945_abg_cfg = { | |||
2852 | .use_isr_legacy = true, | 2846 | .use_isr_legacy = true, |
2853 | .ht_greenfield_support = false, | 2847 | .ht_greenfield_support = false, |
2854 | .led_compensation = 64, | 2848 | .led_compensation = 64, |
2849 | .broken_powersave = true, | ||
2855 | }; | 2850 | }; |
2856 | 2851 | ||
2857 | struct pci_device_id iwl3945_hw_card_ids[] = { | 2852 | struct pci_device_id iwl3945_hw_card_ids[] = { |
diff --git a/drivers/net/wireless/iwlwifi/iwl-3945.h b/drivers/net/wireless/iwlwifi/iwl-3945.h index ecc23ec1f6a4..531fa125f5a6 100644 --- a/drivers/net/wireless/iwlwifi/iwl-3945.h +++ b/drivers/net/wireless/iwlwifi/iwl-3945.h | |||
@@ -222,7 +222,6 @@ struct iwl3945_ibss_seq { | |||
222 | * | 222 | * |
223 | *****************************************************************************/ | 223 | *****************************************************************************/ |
224 | extern int iwl3945_calc_db_from_ratio(int sig_ratio); | 224 | extern int iwl3945_calc_db_from_ratio(int sig_ratio); |
225 | extern int iwl3945_calc_sig_qual(int rssi_dbm, int noise_dbm); | ||
226 | extern void iwl3945_rx_replenish(void *data); | 225 | extern void iwl3945_rx_replenish(void *data); |
227 | extern void iwl3945_rx_queue_reset(struct iwl_priv *priv, struct iwl_rx_queue *rxq); | 226 | extern void iwl3945_rx_queue_reset(struct iwl_priv *priv, struct iwl_rx_queue *rxq); |
228 | extern unsigned int iwl3945_fill_beacon_frame(struct iwl_priv *priv, | 227 | extern unsigned int iwl3945_fill_beacon_frame(struct iwl_priv *priv, |
diff --git a/drivers/net/wireless/iwlwifi/iwl-4965.c b/drivers/net/wireless/iwlwifi/iwl-4965.c index 386513b601f5..484c5fdf7c2a 100644 --- a/drivers/net/wireless/iwlwifi/iwl-4965.c +++ b/drivers/net/wireless/iwlwifi/iwl-4965.c | |||
@@ -1204,7 +1204,7 @@ static int iwl4965_fill_txpower_tbl(struct iwl_priv *priv, u8 band, u16 channel, | |||
1204 | iwl4965_interpolate_chan(priv, channel, &ch_eeprom_info); | 1204 | iwl4965_interpolate_chan(priv, channel, &ch_eeprom_info); |
1205 | 1205 | ||
1206 | /* calculate tx gain adjustment based on power supply voltage */ | 1206 | /* calculate tx gain adjustment based on power supply voltage */ |
1207 | voltage = priv->calib_info->voltage; | 1207 | voltage = le16_to_cpu(priv->calib_info->voltage); |
1208 | init_voltage = (s32)le32_to_cpu(priv->card_alive_init.voltage); | 1208 | init_voltage = (s32)le32_to_cpu(priv->card_alive_init.voltage); |
1209 | voltage_compensation = | 1209 | voltage_compensation = |
1210 | iwl4965_get_voltage_compensation(voltage, init_voltage); | 1210 | iwl4965_get_voltage_compensation(voltage, init_voltage); |
diff --git a/drivers/net/wireless/iwlwifi/iwl-5000-hw.h b/drivers/net/wireless/iwlwifi/iwl-5000-hw.h index 4ef6804a455a..bc056e9ab85f 100644 --- a/drivers/net/wireless/iwlwifi/iwl-5000-hw.h +++ b/drivers/net/wireless/iwlwifi/iwl-5000-hw.h | |||
@@ -92,11 +92,15 @@ | |||
92 | 92 | ||
93 | static inline s32 iwl_temp_calib_to_offset(struct iwl_priv *priv) | 93 | static inline s32 iwl_temp_calib_to_offset(struct iwl_priv *priv) |
94 | { | 94 | { |
95 | u16 *temp_calib = (u16 *)iwl_eeprom_query_addr(priv, | 95 | u16 temperature, voltage; |
96 | EEPROM_5000_TEMPERATURE); | 96 | __le16 *temp_calib = |
97 | /* offset = temperature - voltage / coef */ | 97 | (__le16 *)iwl_eeprom_query_addr(priv, EEPROM_5000_TEMPERATURE); |
98 | s32 offset = (s32)(temp_calib[0] - temp_calib[1] / IWL_5150_VOLTAGE_TO_TEMPERATURE_COEFF); | 98 | |
99 | return offset; | 99 | temperature = le16_to_cpu(temp_calib[0]); |
100 | voltage = le16_to_cpu(temp_calib[1]); | ||
101 | |||
102 | /* offset = temp - volt / coeff */ | ||
103 | return (s32)(temperature - voltage / IWL_5150_VOLTAGE_TO_TEMPERATURE_COEFF); | ||
100 | } | 104 | } |
101 | 105 | ||
102 | /* Fixed (non-configurable) rx data from phy */ | 106 | /* Fixed (non-configurable) rx data from phy */ |
diff --git a/drivers/net/wireless/iwlwifi/iwl-5000.c b/drivers/net/wireless/iwlwifi/iwl-5000.c index e2f8615c8c9b..33a5866538e7 100644 --- a/drivers/net/wireless/iwlwifi/iwl-5000.c +++ b/drivers/net/wireless/iwlwifi/iwl-5000.c | |||
@@ -333,14 +333,15 @@ static void iwl5000_set_ct_threshold(struct iwl_priv *priv) | |||
333 | static int iwl5000_set_Xtal_calib(struct iwl_priv *priv) | 333 | static int iwl5000_set_Xtal_calib(struct iwl_priv *priv) |
334 | { | 334 | { |
335 | struct iwl_calib_xtal_freq_cmd cmd; | 335 | struct iwl_calib_xtal_freq_cmd cmd; |
336 | u16 *xtal_calib = (u16 *)iwl_eeprom_query_addr(priv, EEPROM_5000_XTAL); | 336 | __le16 *xtal_calib = |
337 | (__le16 *)iwl_eeprom_query_addr(priv, EEPROM_5000_XTAL); | ||
337 | 338 | ||
338 | cmd.hdr.op_code = IWL_PHY_CALIBRATE_CRYSTAL_FRQ_CMD; | 339 | cmd.hdr.op_code = IWL_PHY_CALIBRATE_CRYSTAL_FRQ_CMD; |
339 | cmd.hdr.first_group = 0; | 340 | cmd.hdr.first_group = 0; |
340 | cmd.hdr.groups_num = 1; | 341 | cmd.hdr.groups_num = 1; |
341 | cmd.hdr.data_valid = 1; | 342 | cmd.hdr.data_valid = 1; |
342 | cmd.cap_pin1 = (u8)xtal_calib[0]; | 343 | cmd.cap_pin1 = le16_to_cpu(xtal_calib[0]); |
343 | cmd.cap_pin2 = (u8)xtal_calib[1]; | 344 | cmd.cap_pin2 = le16_to_cpu(xtal_calib[1]); |
344 | return iwl_calib_set(&priv->calib_results[IWL_CALIB_XTAL], | 345 | return iwl_calib_set(&priv->calib_results[IWL_CALIB_XTAL], |
345 | (u8 *)&cmd, sizeof(cmd)); | 346 | (u8 *)&cmd, sizeof(cmd)); |
346 | } | 347 | } |
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-rs.c b/drivers/net/wireless/iwlwifi/iwl-agn-rs.c index fe511cbf012e..b93e49158196 100644 --- a/drivers/net/wireless/iwlwifi/iwl-agn-rs.c +++ b/drivers/net/wireless/iwlwifi/iwl-agn-rs.c | |||
@@ -150,7 +150,7 @@ static s32 expected_tpt_mimo3_40MHz[4][IWL_RATE_COUNT] = { | |||
150 | }; | 150 | }; |
151 | 151 | ||
152 | /* mbps, mcs */ | 152 | /* mbps, mcs */ |
153 | const static struct iwl_rate_mcs_info iwl_rate_mcs[IWL_RATE_COUNT] = { | 153 | static const struct iwl_rate_mcs_info iwl_rate_mcs[IWL_RATE_COUNT] = { |
154 | { "1", "BPSK DSSS"}, | 154 | { "1", "BPSK DSSS"}, |
155 | { "2", "QPSK DSSS"}, | 155 | { "2", "QPSK DSSS"}, |
156 | {"5.5", "BPSK CCK"}, | 156 | {"5.5", "BPSK CCK"}, |
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn.c b/drivers/net/wireless/iwlwifi/iwl-agn.c index b8377efb3ba7..1c9866daf815 100644 --- a/drivers/net/wireless/iwlwifi/iwl-agn.c +++ b/drivers/net/wireless/iwlwifi/iwl-agn.c | |||
@@ -1842,7 +1842,7 @@ void iwl_dump_nic_event_log(struct iwl_priv *priv, bool full_log) | |||
1842 | } | 1842 | } |
1843 | 1843 | ||
1844 | #ifdef CONFIG_IWLWIFI_DEBUG | 1844 | #ifdef CONFIG_IWLWIFI_DEBUG |
1845 | if (!(iwl_get_debug_level(priv) & IWL_DL_FW_ERRORS)) | 1845 | if (!(iwl_get_debug_level(priv) & IWL_DL_FW_ERRORS) && !full_log) |
1846 | size = (size > DEFAULT_DUMP_EVENT_LOG_ENTRIES) | 1846 | size = (size > DEFAULT_DUMP_EVENT_LOG_ENTRIES) |
1847 | ? DEFAULT_DUMP_EVENT_LOG_ENTRIES : size; | 1847 | ? DEFAULT_DUMP_EVENT_LOG_ENTRIES : size; |
1848 | #else | 1848 | #else |
@@ -3173,7 +3173,6 @@ static int iwl_init_drv(struct iwl_priv *priv) | |||
3173 | 3173 | ||
3174 | priv->ibss_beacon = NULL; | 3174 | priv->ibss_beacon = NULL; |
3175 | 3175 | ||
3176 | spin_lock_init(&priv->lock); | ||
3177 | spin_lock_init(&priv->sta_lock); | 3176 | spin_lock_init(&priv->sta_lock); |
3178 | spin_lock_init(&priv->hcmd_lock); | 3177 | spin_lock_init(&priv->hcmd_lock); |
3179 | 3178 | ||
@@ -3361,10 +3360,11 @@ static int iwl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) | |||
3361 | (unsigned long long) pci_resource_len(pdev, 0)); | 3360 | (unsigned long long) pci_resource_len(pdev, 0)); |
3362 | IWL_DEBUG_INFO(priv, "pci_resource_base = %p\n", priv->hw_base); | 3361 | IWL_DEBUG_INFO(priv, "pci_resource_base = %p\n", priv->hw_base); |
3363 | 3362 | ||
3364 | /* this spin lock will be used in apm_ops.init and EEPROM access | 3363 | /* these spin locks will be used in apm_ops.init and EEPROM access |
3365 | * we should init now | 3364 | * we should init now |
3366 | */ | 3365 | */ |
3367 | spin_lock_init(&priv->reg_lock); | 3366 | spin_lock_init(&priv->reg_lock); |
3367 | spin_lock_init(&priv->lock); | ||
3368 | iwl_hw_detect(priv); | 3368 | iwl_hw_detect(priv); |
3369 | IWL_INFO(priv, "Detected Intel Wireless WiFi Link %s REV=0x%X\n", | 3369 | IWL_INFO(priv, "Detected Intel Wireless WiFi Link %s REV=0x%X\n", |
3370 | priv->cfg->name, priv->hw_rev); | 3370 | priv->cfg->name, priv->hw_rev); |
diff --git a/drivers/net/wireless/iwlwifi/iwl-csr.h b/drivers/net/wireless/iwlwifi/iwl-csr.h index a7bfae01f19b..1ec8cb4d5eae 100644 --- a/drivers/net/wireless/iwlwifi/iwl-csr.h +++ b/drivers/net/wireless/iwlwifi/iwl-csr.h | |||
@@ -77,8 +77,7 @@ | |||
77 | * The MAC (uCode processor, etc.) does not need to be powered up for accessing | 77 | * The MAC (uCode processor, etc.) does not need to be powered up for accessing |
78 | * the CSR registers. | 78 | * the CSR registers. |
79 | * | 79 | * |
80 | * NOTE: Newer devices using one-time-programmable (OTP) memory | 80 | * NOTE: Device does need to be awake in order to read this memory |
81 | * require device to be awake in order to read this memory | ||
82 | * via CSR_EEPROM and CSR_OTP registers | 81 | * via CSR_EEPROM and CSR_OTP registers |
83 | */ | 82 | */ |
84 | #define CSR_BASE (0x000) | 83 | #define CSR_BASE (0x000) |
@@ -111,9 +110,8 @@ | |||
111 | /* | 110 | /* |
112 | * EEPROM and OTP (one-time-programmable) memory reads | 111 | * EEPROM and OTP (one-time-programmable) memory reads |
113 | * | 112 | * |
114 | * NOTE: For (newer) devices using OTP, device must be awake, initialized via | 113 | * NOTE: Device must be awake, initialized via apm_ops.init(), |
115 | * apm_ops.init() in order to read. Older devices (3945/4965/5000) | 114 | * in order to read. |
116 | * use EEPROM and do not require this. | ||
117 | */ | 115 | */ |
118 | #define CSR_EEPROM_REG (CSR_BASE+0x02c) | 116 | #define CSR_EEPROM_REG (CSR_BASE+0x02c) |
119 | #define CSR_EEPROM_GP (CSR_BASE+0x030) | 117 | #define CSR_EEPROM_GP (CSR_BASE+0x030) |
diff --git a/drivers/net/wireless/iwlwifi/iwl-dev.h b/drivers/net/wireless/iwlwifi/iwl-dev.h index 2673e9a4db92..165d1f6e2dd9 100644 --- a/drivers/net/wireless/iwlwifi/iwl-dev.h +++ b/drivers/net/wireless/iwlwifi/iwl-dev.h | |||
@@ -1168,7 +1168,7 @@ struct iwl_priv { | |||
1168 | u32 last_beacon_time; | 1168 | u32 last_beacon_time; |
1169 | u64 last_tsf; | 1169 | u64 last_tsf; |
1170 | 1170 | ||
1171 | /* eeprom */ | 1171 | /* eeprom -- this is in the card's little endian byte order */ |
1172 | u8 *eeprom; | 1172 | u8 *eeprom; |
1173 | int nvm_device_type; | 1173 | int nvm_device_type; |
1174 | struct iwl_eeprom_calib_info *calib_info; | 1174 | struct iwl_eeprom_calib_info *calib_info; |
@@ -1353,4 +1353,15 @@ static inline int is_channel_ibss(const struct iwl_channel_info *ch) | |||
1353 | return ((ch->flags & EEPROM_CHANNEL_IBSS)) ? 1 : 0; | 1353 | return ((ch->flags & EEPROM_CHANNEL_IBSS)) ? 1 : 0; |
1354 | } | 1354 | } |
1355 | 1355 | ||
1356 | static inline void __iwl_free_pages(struct iwl_priv *priv, struct page *page) | ||
1357 | { | ||
1358 | __free_pages(page, priv->hw_params.rx_page_order); | ||
1359 | priv->alloc_rxb_page--; | ||
1360 | } | ||
1361 | |||
1362 | static inline void iwl_free_pages(struct iwl_priv *priv, unsigned long page) | ||
1363 | { | ||
1364 | free_pages(page, priv->hw_params.rx_page_order); | ||
1365 | priv->alloc_rxb_page--; | ||
1366 | } | ||
1356 | #endif /* __iwl_dev_h__ */ | 1367 | #endif /* __iwl_dev_h__ */ |
diff --git a/drivers/net/wireless/iwlwifi/iwl-eeprom.c b/drivers/net/wireless/iwlwifi/iwl-eeprom.c index 3946e5c03f81..4a30969689ff 100644 --- a/drivers/net/wireless/iwlwifi/iwl-eeprom.c +++ b/drivers/net/wireless/iwlwifi/iwl-eeprom.c | |||
@@ -370,7 +370,7 @@ static int iwl_init_otp_access(struct iwl_priv *priv) | |||
370 | return ret; | 370 | return ret; |
371 | } | 371 | } |
372 | 372 | ||
373 | static int iwl_read_otp_word(struct iwl_priv *priv, u16 addr, u16 *eeprom_data) | 373 | static int iwl_read_otp_word(struct iwl_priv *priv, u16 addr, __le16 *eeprom_data) |
374 | { | 374 | { |
375 | int ret = 0; | 375 | int ret = 0; |
376 | u32 r; | 376 | u32 r; |
@@ -404,7 +404,7 @@ static int iwl_read_otp_word(struct iwl_priv *priv, u16 addr, u16 *eeprom_data) | |||
404 | CSR_OTP_GP_REG_ECC_CORR_STATUS_MSK); | 404 | CSR_OTP_GP_REG_ECC_CORR_STATUS_MSK); |
405 | IWL_ERR(priv, "Correctable OTP ECC error, continue read\n"); | 405 | IWL_ERR(priv, "Correctable OTP ECC error, continue read\n"); |
406 | } | 406 | } |
407 | *eeprom_data = le16_to_cpu((__force __le16)(r >> 16)); | 407 | *eeprom_data = cpu_to_le16(r >> 16); |
408 | return 0; | 408 | return 0; |
409 | } | 409 | } |
410 | 410 | ||
@@ -413,7 +413,8 @@ static int iwl_read_otp_word(struct iwl_priv *priv, u16 addr, u16 *eeprom_data) | |||
413 | */ | 413 | */ |
414 | static bool iwl_is_otp_empty(struct iwl_priv *priv) | 414 | static bool iwl_is_otp_empty(struct iwl_priv *priv) |
415 | { | 415 | { |
416 | u16 next_link_addr = 0, link_value; | 416 | u16 next_link_addr = 0; |
417 | __le16 link_value; | ||
417 | bool is_empty = false; | 418 | bool is_empty = false; |
418 | 419 | ||
419 | /* locate the beginning of OTP link list */ | 420 | /* locate the beginning of OTP link list */ |
@@ -443,7 +444,8 @@ static bool iwl_is_otp_empty(struct iwl_priv *priv) | |||
443 | static int iwl_find_otp_image(struct iwl_priv *priv, | 444 | static int iwl_find_otp_image(struct iwl_priv *priv, |
444 | u16 *validblockaddr) | 445 | u16 *validblockaddr) |
445 | { | 446 | { |
446 | u16 next_link_addr = 0, link_value = 0, valid_addr; | 447 | u16 next_link_addr = 0, valid_addr; |
448 | __le16 link_value = 0; | ||
447 | int usedblocks = 0; | 449 | int usedblocks = 0; |
448 | 450 | ||
449 | /* set addressing mode to absolute to traverse the link list */ | 451 | /* set addressing mode to absolute to traverse the link list */ |
@@ -463,7 +465,7 @@ static int iwl_find_otp_image(struct iwl_priv *priv, | |||
463 | * check for more block on the link list | 465 | * check for more block on the link list |
464 | */ | 466 | */ |
465 | valid_addr = next_link_addr; | 467 | valid_addr = next_link_addr; |
466 | next_link_addr = link_value * sizeof(u16); | 468 | next_link_addr = le16_to_cpu(link_value) * sizeof(u16); |
467 | IWL_DEBUG_INFO(priv, "OTP blocks %d addr 0x%x\n", | 469 | IWL_DEBUG_INFO(priv, "OTP blocks %d addr 0x%x\n", |
468 | usedblocks, next_link_addr); | 470 | usedblocks, next_link_addr); |
469 | if (iwl_read_otp_word(priv, next_link_addr, &link_value)) | 471 | if (iwl_read_otp_word(priv, next_link_addr, &link_value)) |
@@ -497,7 +499,7 @@ static int iwl_find_otp_image(struct iwl_priv *priv, | |||
497 | */ | 499 | */ |
498 | int iwl_eeprom_init(struct iwl_priv *priv) | 500 | int iwl_eeprom_init(struct iwl_priv *priv) |
499 | { | 501 | { |
500 | u16 *e; | 502 | __le16 *e; |
501 | u32 gp = iwl_read32(priv, CSR_EEPROM_GP); | 503 | u32 gp = iwl_read32(priv, CSR_EEPROM_GP); |
502 | int sz; | 504 | int sz; |
503 | int ret; | 505 | int ret; |
@@ -516,12 +518,9 @@ int iwl_eeprom_init(struct iwl_priv *priv) | |||
516 | ret = -ENOMEM; | 518 | ret = -ENOMEM; |
517 | goto alloc_err; | 519 | goto alloc_err; |
518 | } | 520 | } |
519 | e = (u16 *)priv->eeprom; | 521 | e = (__le16 *)priv->eeprom; |
520 | 522 | ||
521 | if (priv->nvm_device_type == NVM_DEVICE_TYPE_OTP) { | 523 | priv->cfg->ops->lib->apm_ops.init(priv); |
522 | /* OTP reads require powered-up chip */ | ||
523 | priv->cfg->ops->lib->apm_ops.init(priv); | ||
524 | } | ||
525 | 524 | ||
526 | ret = priv->cfg->ops->lib->eeprom_ops.verify_signature(priv); | 525 | ret = priv->cfg->ops->lib->eeprom_ops.verify_signature(priv); |
527 | if (ret < 0) { | 526 | if (ret < 0) { |
@@ -562,7 +561,7 @@ int iwl_eeprom_init(struct iwl_priv *priv) | |||
562 | } | 561 | } |
563 | for (addr = validblockaddr; addr < validblockaddr + sz; | 562 | for (addr = validblockaddr; addr < validblockaddr + sz; |
564 | addr += sizeof(u16)) { | 563 | addr += sizeof(u16)) { |
565 | u16 eeprom_data; | 564 | __le16 eeprom_data; |
566 | 565 | ||
567 | ret = iwl_read_otp_word(priv, addr, &eeprom_data); | 566 | ret = iwl_read_otp_word(priv, addr, &eeprom_data); |
568 | if (ret) | 567 | if (ret) |
@@ -570,13 +569,6 @@ int iwl_eeprom_init(struct iwl_priv *priv) | |||
570 | e[cache_addr / 2] = eeprom_data; | 569 | e[cache_addr / 2] = eeprom_data; |
571 | cache_addr += sizeof(u16); | 570 | cache_addr += sizeof(u16); |
572 | } | 571 | } |
573 | |||
574 | /* | ||
575 | * Now that OTP reads are complete, reset chip to save | ||
576 | * power until we load uCode during "up". | ||
577 | */ | ||
578 | priv->cfg->ops->lib->apm_ops.stop(priv); | ||
579 | |||
580 | } else { | 572 | } else { |
581 | /* eeprom is an array of 16bit values */ | 573 | /* eeprom is an array of 16bit values */ |
582 | for (addr = 0; addr < sz; addr += sizeof(u16)) { | 574 | for (addr = 0; addr < sz; addr += sizeof(u16)) { |
@@ -594,7 +586,7 @@ int iwl_eeprom_init(struct iwl_priv *priv) | |||
594 | goto done; | 586 | goto done; |
595 | } | 587 | } |
596 | r = _iwl_read_direct32(priv, CSR_EEPROM_REG); | 588 | r = _iwl_read_direct32(priv, CSR_EEPROM_REG); |
597 | e[addr / 2] = le16_to_cpu((__force __le16)(r >> 16)); | 589 | e[addr / 2] = cpu_to_le16(r >> 16); |
598 | } | 590 | } |
599 | } | 591 | } |
600 | ret = 0; | 592 | ret = 0; |
@@ -603,6 +595,8 @@ done: | |||
603 | err: | 595 | err: |
604 | if (ret) | 596 | if (ret) |
605 | iwl_eeprom_free(priv); | 597 | iwl_eeprom_free(priv); |
598 | /* Reset chip to save power until we load uCode during "up". */ | ||
599 | priv->cfg->ops->lib->apm_ops.stop(priv); | ||
606 | alloc_err: | 600 | alloc_err: |
607 | return ret; | 601 | return ret; |
608 | } | 602 | } |
@@ -755,7 +749,8 @@ static int iwl_mod_ht40_chan_info(struct iwl_priv *priv, | |||
755 | ch_info->ht40_eeprom = *eeprom_ch; | 749 | ch_info->ht40_eeprom = *eeprom_ch; |
756 | ch_info->ht40_max_power_avg = eeprom_ch->max_power_avg; | 750 | ch_info->ht40_max_power_avg = eeprom_ch->max_power_avg; |
757 | ch_info->ht40_flags = eeprom_ch->flags; | 751 | ch_info->ht40_flags = eeprom_ch->flags; |
758 | ch_info->ht40_extension_channel &= ~clear_ht40_extension_channel; | 752 | if (eeprom_ch->flags & EEPROM_CHANNEL_VALID) |
753 | ch_info->ht40_extension_channel &= ~clear_ht40_extension_channel; | ||
759 | 754 | ||
760 | return 0; | 755 | return 0; |
761 | } | 756 | } |
diff --git a/drivers/net/wireless/iwlwifi/iwl-eeprom.h b/drivers/net/wireless/iwlwifi/iwl-eeprom.h index 5cd2b66bbe45..0cd9c02ee044 100644 --- a/drivers/net/wireless/iwlwifi/iwl-eeprom.h +++ b/drivers/net/wireless/iwlwifi/iwl-eeprom.h | |||
@@ -137,7 +137,7 @@ struct iwl_eeprom_channel { | |||
137 | * | 137 | * |
138 | */ | 138 | */ |
139 | struct iwl_eeprom_enhanced_txpwr { | 139 | struct iwl_eeprom_enhanced_txpwr { |
140 | u16 common; | 140 | __le16 common; |
141 | s8 chain_a_max; | 141 | s8 chain_a_max; |
142 | s8 chain_b_max; | 142 | s8 chain_b_max; |
143 | s8 chain_c_max; | 143 | s8 chain_c_max; |
@@ -360,7 +360,7 @@ struct iwl_eeprom_calib_subband_info { | |||
360 | struct iwl_eeprom_calib_info { | 360 | struct iwl_eeprom_calib_info { |
361 | u8 saturation_power24; /* half-dBm (e.g. "34" = 17 dBm) */ | 361 | u8 saturation_power24; /* half-dBm (e.g. "34" = 17 dBm) */ |
362 | u8 saturation_power52; /* half-dBm */ | 362 | u8 saturation_power52; /* half-dBm */ |
363 | s16 voltage; /* signed */ | 363 | __le16 voltage; /* signed */ |
364 | struct iwl_eeprom_calib_subband_info | 364 | struct iwl_eeprom_calib_subband_info |
365 | band_info[EEPROM_TX_POWER_BANDS]; | 365 | band_info[EEPROM_TX_POWER_BANDS]; |
366 | } __attribute__ ((packed)); | 366 | } __attribute__ ((packed)); |
diff --git a/drivers/net/wireless/iwlwifi/iwl-hcmd.c b/drivers/net/wireless/iwlwifi/iwl-hcmd.c index a23165948202..30e9ea6d54ec 100644 --- a/drivers/net/wireless/iwlwifi/iwl-hcmd.c +++ b/drivers/net/wireless/iwlwifi/iwl-hcmd.c | |||
@@ -234,7 +234,7 @@ cancel: | |||
234 | } | 234 | } |
235 | fail: | 235 | fail: |
236 | if (cmd->reply_page) { | 236 | if (cmd->reply_page) { |
237 | free_pages(cmd->reply_page, priv->hw_params.rx_page_order); | 237 | iwl_free_pages(priv, cmd->reply_page); |
238 | cmd->reply_page = 0; | 238 | cmd->reply_page = 0; |
239 | } | 239 | } |
240 | out: | 240 | out: |
diff --git a/drivers/net/wireless/iwlwifi/iwl-rx.c b/drivers/net/wireless/iwlwifi/iwl-rx.c index 6090bc15a6d5..6f36b6e79f5e 100644 --- a/drivers/net/wireless/iwlwifi/iwl-rx.c +++ b/drivers/net/wireless/iwlwifi/iwl-rx.c | |||
@@ -345,10 +345,8 @@ void iwl_rx_queue_free(struct iwl_priv *priv, struct iwl_rx_queue *rxq) | |||
345 | pci_unmap_page(priv->pci_dev, rxq->pool[i].page_dma, | 345 | pci_unmap_page(priv->pci_dev, rxq->pool[i].page_dma, |
346 | PAGE_SIZE << priv->hw_params.rx_page_order, | 346 | PAGE_SIZE << priv->hw_params.rx_page_order, |
347 | PCI_DMA_FROMDEVICE); | 347 | PCI_DMA_FROMDEVICE); |
348 | __free_pages(rxq->pool[i].page, | 348 | __iwl_free_pages(priv, rxq->pool[i].page); |
349 | priv->hw_params.rx_page_order); | ||
350 | rxq->pool[i].page = NULL; | 349 | rxq->pool[i].page = NULL; |
351 | priv->alloc_rxb_page--; | ||
352 | } | 350 | } |
353 | } | 351 | } |
354 | 352 | ||
@@ -416,9 +414,7 @@ void iwl_rx_queue_reset(struct iwl_priv *priv, struct iwl_rx_queue *rxq) | |||
416 | pci_unmap_page(priv->pci_dev, rxq->pool[i].page_dma, | 414 | pci_unmap_page(priv->pci_dev, rxq->pool[i].page_dma, |
417 | PAGE_SIZE << priv->hw_params.rx_page_order, | 415 | PAGE_SIZE << priv->hw_params.rx_page_order, |
418 | PCI_DMA_FROMDEVICE); | 416 | PCI_DMA_FROMDEVICE); |
419 | priv->alloc_rxb_page--; | 417 | __iwl_free_pages(priv, rxq->pool[i].page); |
420 | __free_pages(rxq->pool[i].page, | ||
421 | priv->hw_params.rx_page_order); | ||
422 | rxq->pool[i].page = NULL; | 418 | rxq->pool[i].page = NULL; |
423 | } | 419 | } |
424 | list_add_tail(&rxq->pool[i].list, &rxq->rx_used); | 420 | list_add_tail(&rxq->pool[i].list, &rxq->rx_used); |
@@ -654,47 +650,6 @@ void iwl_reply_statistics(struct iwl_priv *priv, | |||
654 | } | 650 | } |
655 | EXPORT_SYMBOL(iwl_reply_statistics); | 651 | EXPORT_SYMBOL(iwl_reply_statistics); |
656 | 652 | ||
657 | #define PERFECT_RSSI (-20) /* dBm */ | ||
658 | #define WORST_RSSI (-95) /* dBm */ | ||
659 | #define RSSI_RANGE (PERFECT_RSSI - WORST_RSSI) | ||
660 | |||
661 | /* Calculate an indication of rx signal quality (a percentage, not dBm!). | ||
662 | * See http://www.ces.clemson.edu/linux/signal_quality.shtml for info | ||
663 | * about formulas used below. */ | ||
664 | static int iwl_calc_sig_qual(int rssi_dbm, int noise_dbm) | ||
665 | { | ||
666 | int sig_qual; | ||
667 | int degradation = PERFECT_RSSI - rssi_dbm; | ||
668 | |||
669 | /* If we get a noise measurement, use signal-to-noise ratio (SNR) | ||
670 | * as indicator; formula is (signal dbm - noise dbm). | ||
671 | * SNR at or above 40 is a great signal (100%). | ||
672 | * Below that, scale to fit SNR of 0 - 40 dB within 0 - 100% indicator. | ||
673 | * Weakest usable signal is usually 10 - 15 dB SNR. */ | ||
674 | if (noise_dbm) { | ||
675 | if (rssi_dbm - noise_dbm >= 40) | ||
676 | return 100; | ||
677 | else if (rssi_dbm < noise_dbm) | ||
678 | return 0; | ||
679 | sig_qual = ((rssi_dbm - noise_dbm) * 5) / 2; | ||
680 | |||
681 | /* Else use just the signal level. | ||
682 | * This formula is a least squares fit of data points collected and | ||
683 | * compared with a reference system that had a percentage (%) display | ||
684 | * for signal quality. */ | ||
685 | } else | ||
686 | sig_qual = (100 * (RSSI_RANGE * RSSI_RANGE) - degradation * | ||
687 | (15 * RSSI_RANGE + 62 * degradation)) / | ||
688 | (RSSI_RANGE * RSSI_RANGE); | ||
689 | |||
690 | if (sig_qual > 100) | ||
691 | sig_qual = 100; | ||
692 | else if (sig_qual < 1) | ||
693 | sig_qual = 0; | ||
694 | |||
695 | return sig_qual; | ||
696 | } | ||
697 | |||
698 | /* Calc max signal level (dBm) among 3 possible receivers */ | 653 | /* Calc max signal level (dBm) among 3 possible receivers */ |
699 | static inline int iwl_calc_rssi(struct iwl_priv *priv, | 654 | static inline int iwl_calc_rssi(struct iwl_priv *priv, |
700 | struct iwl_rx_phy_res *rx_resp) | 655 | struct iwl_rx_phy_res *rx_resp) |
@@ -1105,11 +1060,8 @@ void iwl_rx_reply_rx(struct iwl_priv *priv, | |||
1105 | if (iwl_is_associated(priv) && | 1060 | if (iwl_is_associated(priv) && |
1106 | !test_bit(STATUS_SCANNING, &priv->status)) { | 1061 | !test_bit(STATUS_SCANNING, &priv->status)) { |
1107 | rx_status.noise = priv->last_rx_noise; | 1062 | rx_status.noise = priv->last_rx_noise; |
1108 | rx_status.qual = iwl_calc_sig_qual(rx_status.signal, | ||
1109 | rx_status.noise); | ||
1110 | } else { | 1063 | } else { |
1111 | rx_status.noise = IWL_NOISE_MEAS_NOT_AVAILABLE; | 1064 | rx_status.noise = IWL_NOISE_MEAS_NOT_AVAILABLE; |
1112 | rx_status.qual = iwl_calc_sig_qual(rx_status.signal, 0); | ||
1113 | } | 1065 | } |
1114 | 1066 | ||
1115 | /* Reset beacon noise level if not associated. */ | 1067 | /* Reset beacon noise level if not associated. */ |
@@ -1122,8 +1074,8 @@ void iwl_rx_reply_rx(struct iwl_priv *priv, | |||
1122 | iwl_dbg_report_frame(priv, phy_res, len, header, 1); | 1074 | iwl_dbg_report_frame(priv, phy_res, len, header, 1); |
1123 | #endif | 1075 | #endif |
1124 | iwl_dbg_log_rx_data_frame(priv, len, header); | 1076 | iwl_dbg_log_rx_data_frame(priv, len, header); |
1125 | IWL_DEBUG_STATS_LIMIT(priv, "Rssi %d, noise %d, qual %d, TSF %llu\n", | 1077 | IWL_DEBUG_STATS_LIMIT(priv, "Rssi %d, noise %d, TSF %llu\n", |
1126 | rx_status.signal, rx_status.noise, rx_status.qual, | 1078 | rx_status.signal, rx_status.noise, |
1127 | (unsigned long long)rx_status.mactime); | 1079 | (unsigned long long)rx_status.mactime); |
1128 | 1080 | ||
1129 | /* | 1081 | /* |
diff --git a/drivers/net/wireless/iwlwifi/iwl-scan.c b/drivers/net/wireless/iwlwifi/iwl-scan.c index a2b2b8315ff9..fa1c89ba6459 100644 --- a/drivers/net/wireless/iwlwifi/iwl-scan.c +++ b/drivers/net/wireless/iwlwifi/iwl-scan.c | |||
@@ -144,8 +144,7 @@ static int iwl_send_scan_abort(struct iwl_priv *priv) | |||
144 | clear_bit(STATUS_SCAN_HW, &priv->status); | 144 | clear_bit(STATUS_SCAN_HW, &priv->status); |
145 | } | 145 | } |
146 | 146 | ||
147 | priv->alloc_rxb_page--; | 147 | iwl_free_pages(priv, cmd.reply_page); |
148 | free_pages(cmd.reply_page, priv->hw_params.rx_page_order); | ||
149 | 148 | ||
150 | return ret; | 149 | return ret; |
151 | } | 150 | } |
diff --git a/drivers/net/wireless/iwlwifi/iwl-sta.c b/drivers/net/wireless/iwlwifi/iwl-sta.c index cd6a6901216e..cde09a890b73 100644 --- a/drivers/net/wireless/iwlwifi/iwl-sta.c +++ b/drivers/net/wireless/iwlwifi/iwl-sta.c | |||
@@ -164,9 +164,7 @@ int iwl_send_add_sta(struct iwl_priv *priv, | |||
164 | break; | 164 | break; |
165 | } | 165 | } |
166 | } | 166 | } |
167 | 167 | iwl_free_pages(priv, cmd.reply_page); | |
168 | priv->alloc_rxb_page--; | ||
169 | free_pages(cmd.reply_page, priv->hw_params.rx_page_order); | ||
170 | 168 | ||
171 | return ret; | 169 | return ret; |
172 | } | 170 | } |
@@ -391,9 +389,7 @@ static int iwl_send_remove_station(struct iwl_priv *priv, const u8 *addr, | |||
391 | break; | 389 | break; |
392 | } | 390 | } |
393 | } | 391 | } |
394 | 392 | iwl_free_pages(priv, cmd.reply_page); | |
395 | priv->alloc_rxb_page--; | ||
396 | free_pages(cmd.reply_page, priv->hw_params.rx_page_order); | ||
397 | 393 | ||
398 | return ret; | 394 | return ret; |
399 | } | 395 | } |
diff --git a/drivers/net/wireless/iwlwifi/iwl-tx.c b/drivers/net/wireless/iwlwifi/iwl-tx.c index 00da5e152d46..87ce2bd292c7 100644 --- a/drivers/net/wireless/iwlwifi/iwl-tx.c +++ b/drivers/net/wireless/iwlwifi/iwl-tx.c | |||
@@ -407,13 +407,14 @@ void iwl_hw_txq_ctx_free(struct iwl_priv *priv) | |||
407 | int txq_id; | 407 | int txq_id; |
408 | 408 | ||
409 | /* Tx queues */ | 409 | /* Tx queues */ |
410 | if (priv->txq) | 410 | if (priv->txq) { |
411 | for (txq_id = 0; txq_id < priv->hw_params.max_txq_num; | 411 | for (txq_id = 0; txq_id < priv->hw_params.max_txq_num; |
412 | txq_id++) | 412 | txq_id++) |
413 | if (txq_id == IWL_CMD_QUEUE_NUM) | 413 | if (txq_id == IWL_CMD_QUEUE_NUM) |
414 | iwl_cmd_queue_free(priv); | 414 | iwl_cmd_queue_free(priv); |
415 | else | 415 | else |
416 | iwl_tx_queue_free(priv, txq_id); | 416 | iwl_tx_queue_free(priv, txq_id); |
417 | } | ||
417 | iwl_free_dma_ptr(priv, &priv->kw); | 418 | iwl_free_dma_ptr(priv, &priv->kw); |
418 | 419 | ||
419 | iwl_free_dma_ptr(priv, &priv->scd_bc_tbls); | 420 | iwl_free_dma_ptr(priv, &priv->scd_bc_tbls); |
diff --git a/drivers/net/wireless/iwlwifi/iwl3945-base.c b/drivers/net/wireless/iwlwifi/iwl3945-base.c index 2a28a1f8b1fe..f8e4e4b18d02 100644 --- a/drivers/net/wireless/iwlwifi/iwl3945-base.c +++ b/drivers/net/wireless/iwlwifi/iwl3945-base.c | |||
@@ -548,6 +548,9 @@ static int iwl3945_tx_skb(struct iwl_priv *priv, struct sk_buff *skb) | |||
548 | txq = &priv->txq[txq_id]; | 548 | txq = &priv->txq[txq_id]; |
549 | q = &txq->q; | 549 | q = &txq->q; |
550 | 550 | ||
551 | if ((iwl_queue_space(q) < q->high_mark)) | ||
552 | goto drop; | ||
553 | |||
551 | spin_lock_irqsave(&priv->lock, flags); | 554 | spin_lock_irqsave(&priv->lock, flags); |
552 | 555 | ||
553 | idx = get_cmd_index(q, q->write_ptr, 0); | 556 | idx = get_cmd_index(q, q->write_ptr, 0); |
@@ -812,7 +815,7 @@ static int iwl3945_get_measurement(struct iwl_priv *priv, | |||
812 | break; | 815 | break; |
813 | } | 816 | } |
814 | 817 | ||
815 | free_pages(cmd.reply_page, priv->hw_params.rx_page_order); | 818 | iwl_free_pages(priv, cmd.reply_page); |
816 | 819 | ||
817 | return rc; | 820 | return rc; |
818 | } | 821 | } |
@@ -1198,9 +1201,7 @@ void iwl3945_rx_queue_reset(struct iwl_priv *priv, struct iwl_rx_queue *rxq) | |||
1198 | pci_unmap_page(priv->pci_dev, rxq->pool[i].page_dma, | 1201 | pci_unmap_page(priv->pci_dev, rxq->pool[i].page_dma, |
1199 | PAGE_SIZE << priv->hw_params.rx_page_order, | 1202 | PAGE_SIZE << priv->hw_params.rx_page_order, |
1200 | PCI_DMA_FROMDEVICE); | 1203 | PCI_DMA_FROMDEVICE); |
1201 | priv->alloc_rxb_page--; | 1204 | __iwl_free_pages(priv, rxq->pool[i].page); |
1202 | __free_pages(rxq->pool[i].page, | ||
1203 | priv->hw_params.rx_page_order); | ||
1204 | rxq->pool[i].page = NULL; | 1205 | rxq->pool[i].page = NULL; |
1205 | } | 1206 | } |
1206 | list_add_tail(&rxq->pool[i].list, &rxq->rx_used); | 1207 | list_add_tail(&rxq->pool[i].list, &rxq->rx_used); |
@@ -1247,10 +1248,8 @@ static void iwl3945_rx_queue_free(struct iwl_priv *priv, struct iwl_rx_queue *rx | |||
1247 | pci_unmap_page(priv->pci_dev, rxq->pool[i].page_dma, | 1248 | pci_unmap_page(priv->pci_dev, rxq->pool[i].page_dma, |
1248 | PAGE_SIZE << priv->hw_params.rx_page_order, | 1249 | PAGE_SIZE << priv->hw_params.rx_page_order, |
1249 | PCI_DMA_FROMDEVICE); | 1250 | PCI_DMA_FROMDEVICE); |
1250 | __free_pages(rxq->pool[i].page, | 1251 | __iwl_free_pages(priv, rxq->pool[i].page); |
1251 | priv->hw_params.rx_page_order); | ||
1252 | rxq->pool[i].page = NULL; | 1252 | rxq->pool[i].page = NULL; |
1253 | priv->alloc_rxb_page--; | ||
1254 | } | 1253 | } |
1255 | } | 1254 | } |
1256 | 1255 | ||
@@ -1300,47 +1299,6 @@ int iwl3945_calc_db_from_ratio(int sig_ratio) | |||
1300 | return (int)ratio2dB[sig_ratio]; | 1299 | return (int)ratio2dB[sig_ratio]; |
1301 | } | 1300 | } |
1302 | 1301 | ||
1303 | #define PERFECT_RSSI (-20) /* dBm */ | ||
1304 | #define WORST_RSSI (-95) /* dBm */ | ||
1305 | #define RSSI_RANGE (PERFECT_RSSI - WORST_RSSI) | ||
1306 | |||
1307 | /* Calculate an indication of rx signal quality (a percentage, not dBm!). | ||
1308 | * See http://www.ces.clemson.edu/linux/signal_quality.shtml for info | ||
1309 | * about formulas used below. */ | ||
1310 | int iwl3945_calc_sig_qual(int rssi_dbm, int noise_dbm) | ||
1311 | { | ||
1312 | int sig_qual; | ||
1313 | int degradation = PERFECT_RSSI - rssi_dbm; | ||
1314 | |||
1315 | /* If we get a noise measurement, use signal-to-noise ratio (SNR) | ||
1316 | * as indicator; formula is (signal dbm - noise dbm). | ||
1317 | * SNR at or above 40 is a great signal (100%). | ||
1318 | * Below that, scale to fit SNR of 0 - 40 dB within 0 - 100% indicator. | ||
1319 | * Weakest usable signal is usually 10 - 15 dB SNR. */ | ||
1320 | if (noise_dbm) { | ||
1321 | if (rssi_dbm - noise_dbm >= 40) | ||
1322 | return 100; | ||
1323 | else if (rssi_dbm < noise_dbm) | ||
1324 | return 0; | ||
1325 | sig_qual = ((rssi_dbm - noise_dbm) * 5) / 2; | ||
1326 | |||
1327 | /* Else use just the signal level. | ||
1328 | * This formula is a least squares fit of data points collected and | ||
1329 | * compared with a reference system that had a percentage (%) display | ||
1330 | * for signal quality. */ | ||
1331 | } else | ||
1332 | sig_qual = (100 * (RSSI_RANGE * RSSI_RANGE) - degradation * | ||
1333 | (15 * RSSI_RANGE + 62 * degradation)) / | ||
1334 | (RSSI_RANGE * RSSI_RANGE); | ||
1335 | |||
1336 | if (sig_qual > 100) | ||
1337 | sig_qual = 100; | ||
1338 | else if (sig_qual < 1) | ||
1339 | sig_qual = 0; | ||
1340 | |||
1341 | return sig_qual; | ||
1342 | } | ||
1343 | |||
1344 | /** | 1302 | /** |
1345 | * iwl3945_rx_handle - Main entry function for receiving responses from uCode | 1303 | * iwl3945_rx_handle - Main entry function for receiving responses from uCode |
1346 | * | 1304 | * |
@@ -1688,7 +1646,7 @@ void iwl3945_dump_nic_event_log(struct iwl_priv *priv, bool full_log) | |||
1688 | } | 1646 | } |
1689 | 1647 | ||
1690 | #ifdef CONFIG_IWLWIFI_DEBUG | 1648 | #ifdef CONFIG_IWLWIFI_DEBUG |
1691 | if (!(iwl_get_debug_level(priv) & IWL_DL_FW_ERRORS)) | 1649 | if (!(iwl_get_debug_level(priv) & IWL_DL_FW_ERRORS) && !full_log) |
1692 | size = (size > DEFAULT_IWL3945_DUMP_EVENT_LOG_ENTRIES) | 1650 | size = (size > DEFAULT_IWL3945_DUMP_EVENT_LOG_ENTRIES) |
1693 | ? DEFAULT_IWL3945_DUMP_EVENT_LOG_ENTRIES : size; | 1651 | ? DEFAULT_IWL3945_DUMP_EVENT_LOG_ENTRIES : size; |
1694 | #else | 1652 | #else |
@@ -3867,7 +3825,6 @@ static int iwl3945_init_drv(struct iwl_priv *priv) | |||
3867 | priv->retry_rate = 1; | 3825 | priv->retry_rate = 1; |
3868 | priv->ibss_beacon = NULL; | 3826 | priv->ibss_beacon = NULL; |
3869 | 3827 | ||
3870 | spin_lock_init(&priv->lock); | ||
3871 | spin_lock_init(&priv->sta_lock); | 3828 | spin_lock_init(&priv->sta_lock); |
3872 | spin_lock_init(&priv->hcmd_lock); | 3829 | spin_lock_init(&priv->hcmd_lock); |
3873 | 3830 | ||
@@ -3936,9 +3893,11 @@ static int iwl3945_setup_mac(struct iwl_priv *priv) | |||
3936 | /* Tell mac80211 our characteristics */ | 3893 | /* Tell mac80211 our characteristics */ |
3937 | hw->flags = IEEE80211_HW_SIGNAL_DBM | | 3894 | hw->flags = IEEE80211_HW_SIGNAL_DBM | |
3938 | IEEE80211_HW_NOISE_DBM | | 3895 | IEEE80211_HW_NOISE_DBM | |
3939 | IEEE80211_HW_SPECTRUM_MGMT | | 3896 | IEEE80211_HW_SPECTRUM_MGMT; |
3940 | IEEE80211_HW_SUPPORTS_PS | | 3897 | |
3941 | IEEE80211_HW_SUPPORTS_DYNAMIC_PS; | 3898 | if (!priv->cfg->broken_powersave) |
3899 | hw->flags |= IEEE80211_HW_SUPPORTS_PS | | ||
3900 | IEEE80211_HW_SUPPORTS_DYNAMIC_PS; | ||
3942 | 3901 | ||
3943 | hw->wiphy->interface_modes = | 3902 | hw->wiphy->interface_modes = |
3944 | BIT(NL80211_IFTYPE_STATION) | | 3903 | BIT(NL80211_IFTYPE_STATION) | |
@@ -4057,10 +4016,11 @@ static int iwl3945_pci_probe(struct pci_dev *pdev, const struct pci_device_id *e | |||
4057 | * PCI Tx retries from interfering with C3 CPU state */ | 4016 | * PCI Tx retries from interfering with C3 CPU state */ |
4058 | pci_write_config_byte(pdev, 0x41, 0x00); | 4017 | pci_write_config_byte(pdev, 0x41, 0x00); |
4059 | 4018 | ||
4060 | /* this spin lock will be used in apm_ops.init and EEPROM access | 4019 | /* these spin locks will be used in apm_ops.init and EEPROM access |
4061 | * we should init now | 4020 | * we should init now |
4062 | */ | 4021 | */ |
4063 | spin_lock_init(&priv->reg_lock); | 4022 | spin_lock_init(&priv->reg_lock); |
4023 | spin_lock_init(&priv->lock); | ||
4064 | 4024 | ||
4065 | /*********************** | 4025 | /*********************** |
4066 | * 4. Read EEPROM | 4026 | * 4. Read EEPROM |
diff --git a/drivers/net/wireless/iwmc3200wifi/iwm.h b/drivers/net/wireless/iwmc3200wifi/iwm.h index 5a26bb05a33a..842811142bef 100644 --- a/drivers/net/wireless/iwmc3200wifi/iwm.h +++ b/drivers/net/wireless/iwmc3200wifi/iwm.h | |||
@@ -268,7 +268,7 @@ struct iwm_priv { | |||
268 | 268 | ||
269 | struct sk_buff_head rx_list; | 269 | struct sk_buff_head rx_list; |
270 | struct list_head rx_tickets; | 270 | struct list_head rx_tickets; |
271 | struct list_head rx_packets[IWM_RX_ID_HASH]; | 271 | struct list_head rx_packets[IWM_RX_ID_HASH + 1]; |
272 | struct workqueue_struct *rx_wq; | 272 | struct workqueue_struct *rx_wq; |
273 | struct work_struct rx_worker; | 273 | struct work_struct rx_worker; |
274 | 274 | ||
@@ -349,7 +349,7 @@ int iwm_up(struct iwm_priv *iwm); | |||
349 | int iwm_down(struct iwm_priv *iwm); | 349 | int iwm_down(struct iwm_priv *iwm); |
350 | 350 | ||
351 | /* TX API */ | 351 | /* TX API */ |
352 | u16 iwm_tid_to_queue(u16 tid); | 352 | int iwm_tid_to_queue(u16 tid); |
353 | void iwm_tx_credit_inc(struct iwm_priv *iwm, int id, int total_freed_pages); | 353 | void iwm_tx_credit_inc(struct iwm_priv *iwm, int id, int total_freed_pages); |
354 | void iwm_tx_worker(struct work_struct *work); | 354 | void iwm_tx_worker(struct work_struct *work); |
355 | int iwm_xmit_frame(struct sk_buff *skb, struct net_device *netdev); | 355 | int iwm_xmit_frame(struct sk_buff *skb, struct net_device *netdev); |
diff --git a/drivers/net/wireless/iwmc3200wifi/netdev.c b/drivers/net/wireless/iwmc3200wifi/netdev.c index e4f0f8705f65..c4c0d23c63ec 100644 --- a/drivers/net/wireless/iwmc3200wifi/netdev.c +++ b/drivers/net/wireless/iwmc3200wifi/netdev.c | |||
@@ -76,7 +76,7 @@ static int iwm_stop(struct net_device *ndev) | |||
76 | */ | 76 | */ |
77 | static const u16 iwm_1d_to_queue[8] = { 1, 0, 0, 1, 2, 2, 3, 3 }; | 77 | static const u16 iwm_1d_to_queue[8] = { 1, 0, 0, 1, 2, 2, 3, 3 }; |
78 | 78 | ||
79 | u16 iwm_tid_to_queue(u16 tid) | 79 | int iwm_tid_to_queue(u16 tid) |
80 | { | 80 | { |
81 | if (tid > IWM_UMAC_TID_NR - 2) | 81 | if (tid > IWM_UMAC_TID_NR - 2) |
82 | return -EINVAL; | 82 | return -EINVAL; |
diff --git a/drivers/net/wireless/iwmc3200wifi/rx.c b/drivers/net/wireless/iwmc3200wifi/rx.c index 1c57c1f72cba..6d6ed7485175 100644 --- a/drivers/net/wireless/iwmc3200wifi/rx.c +++ b/drivers/net/wireless/iwmc3200wifi/rx.c | |||
@@ -1126,7 +1126,7 @@ static int iwm_ntf_stop_resume_tx(struct iwm_priv *iwm, u8 *buf, | |||
1126 | 1126 | ||
1127 | if (!stop) { | 1127 | if (!stop) { |
1128 | struct iwm_tx_queue *txq; | 1128 | struct iwm_tx_queue *txq; |
1129 | u16 queue = iwm_tid_to_queue(bit); | 1129 | int queue = iwm_tid_to_queue(bit); |
1130 | 1130 | ||
1131 | if (queue < 0) | 1131 | if (queue < 0) |
1132 | continue; | 1132 | continue; |
diff --git a/drivers/net/wireless/libertas/mesh.c b/drivers/net/wireless/libertas/mesh.c index 2f91c9b808af..92b7a357a5e4 100644 --- a/drivers/net/wireless/libertas/mesh.c +++ b/drivers/net/wireless/libertas/mesh.c | |||
@@ -2,6 +2,7 @@ | |||
2 | #include <linux/delay.h> | 2 | #include <linux/delay.h> |
3 | #include <linux/etherdevice.h> | 3 | #include <linux/etherdevice.h> |
4 | #include <linux/netdevice.h> | 4 | #include <linux/netdevice.h> |
5 | #include <linux/if_ether.h> | ||
5 | #include <linux/if_arp.h> | 6 | #include <linux/if_arp.h> |
6 | #include <linux/kthread.h> | 7 | #include <linux/kthread.h> |
7 | #include <linux/kfifo.h> | 8 | #include <linux/kfifo.h> |
@@ -351,8 +352,7 @@ int lbs_add_mesh(struct lbs_private *priv) | |||
351 | 352 | ||
352 | mesh_dev->netdev_ops = &mesh_netdev_ops; | 353 | mesh_dev->netdev_ops = &mesh_netdev_ops; |
353 | mesh_dev->ethtool_ops = &lbs_ethtool_ops; | 354 | mesh_dev->ethtool_ops = &lbs_ethtool_ops; |
354 | memcpy(mesh_dev->dev_addr, priv->dev->dev_addr, | 355 | memcpy(mesh_dev->dev_addr, priv->dev->dev_addr, ETH_ALEN); |
355 | sizeof(priv->dev->dev_addr)); | ||
356 | 356 | ||
357 | SET_NETDEV_DEV(priv->mesh_dev, priv->dev->dev.parent); | 357 | SET_NETDEV_DEV(priv->mesh_dev, priv->dev->dev.parent); |
358 | 358 | ||
diff --git a/drivers/net/wireless/libertas/scan.c b/drivers/net/wireless/libertas/scan.c index c6a6c042b82f..b0b1c7841500 100644 --- a/drivers/net/wireless/libertas/scan.c +++ b/drivers/net/wireless/libertas/scan.c | |||
@@ -567,11 +567,8 @@ int lbs_scan_networks(struct lbs_private *priv, int full_scan) | |||
567 | chan_count = lbs_scan_create_channel_list(priv, chan_list); | 567 | chan_count = lbs_scan_create_channel_list(priv, chan_list); |
568 | 568 | ||
569 | netif_stop_queue(priv->dev); | 569 | netif_stop_queue(priv->dev); |
570 | netif_carrier_off(priv->dev); | 570 | if (priv->mesh_dev) |
571 | if (priv->mesh_dev) { | ||
572 | netif_stop_queue(priv->mesh_dev); | 571 | netif_stop_queue(priv->mesh_dev); |
573 | netif_carrier_off(priv->mesh_dev); | ||
574 | } | ||
575 | 572 | ||
576 | /* Prepare to continue an interrupted scan */ | 573 | /* Prepare to continue an interrupted scan */ |
577 | lbs_deb_scan("chan_count %d, scan_channel %d\n", | 574 | lbs_deb_scan("chan_count %d, scan_channel %d\n", |
@@ -635,16 +632,13 @@ out2: | |||
635 | priv->scan_channel = 0; | 632 | priv->scan_channel = 0; |
636 | 633 | ||
637 | out: | 634 | out: |
638 | if (priv->connect_status == LBS_CONNECTED) { | 635 | if (priv->connect_status == LBS_CONNECTED && !priv->tx_pending_len) |
639 | netif_carrier_on(priv->dev); | 636 | netif_wake_queue(priv->dev); |
640 | if (!priv->tx_pending_len) | 637 | |
641 | netif_wake_queue(priv->dev); | 638 | if (priv->mesh_dev && (priv->mesh_connect_status == LBS_CONNECTED) && |
642 | } | 639 | !priv->tx_pending_len) |
643 | if (priv->mesh_dev && (priv->mesh_connect_status == LBS_CONNECTED)) { | 640 | netif_wake_queue(priv->mesh_dev); |
644 | netif_carrier_on(priv->mesh_dev); | 641 | |
645 | if (!priv->tx_pending_len) | ||
646 | netif_wake_queue(priv->mesh_dev); | ||
647 | } | ||
648 | kfree(chan_list); | 642 | kfree(chan_list); |
649 | 643 | ||
650 | lbs_deb_leave_args(LBS_DEB_SCAN, "ret %d", ret); | 644 | lbs_deb_leave_args(LBS_DEB_SCAN, "ret %d", ret); |
diff --git a/drivers/net/wireless/libertas/wext.c b/drivers/net/wireless/libertas/wext.c index a8eb9e1fcf36..4b1aab593a84 100644 --- a/drivers/net/wireless/libertas/wext.c +++ b/drivers/net/wireless/libertas/wext.c | |||
@@ -2025,10 +2025,8 @@ static int lbs_get_essid(struct net_device *dev, struct iw_request_info *info, | |||
2025 | if (priv->connect_status == LBS_CONNECTED) { | 2025 | if (priv->connect_status == LBS_CONNECTED) { |
2026 | memcpy(extra, priv->curbssparams.ssid, | 2026 | memcpy(extra, priv->curbssparams.ssid, |
2027 | priv->curbssparams.ssid_len); | 2027 | priv->curbssparams.ssid_len); |
2028 | extra[priv->curbssparams.ssid_len] = '\0'; | ||
2029 | } else { | 2028 | } else { |
2030 | memset(extra, 0, 32); | 2029 | memset(extra, 0, 32); |
2031 | extra[priv->curbssparams.ssid_len] = '\0'; | ||
2032 | } | 2030 | } |
2033 | /* | 2031 | /* |
2034 | * If none, we may want to get the one that was set | 2032 | * If none, we may want to get the one that was set |
diff --git a/drivers/net/wireless/libertas_tf/main.c b/drivers/net/wireless/libertas_tf/main.c index 019431d2f8a9..26a1abd5bb03 100644 --- a/drivers/net/wireless/libertas_tf/main.c +++ b/drivers/net/wireless/libertas_tf/main.c | |||
@@ -495,7 +495,6 @@ int lbtf_rx(struct lbtf_private *priv, struct sk_buff *skb) | |||
495 | stats.band = IEEE80211_BAND_2GHZ; | 495 | stats.band = IEEE80211_BAND_2GHZ; |
496 | stats.signal = prxpd->snr; | 496 | stats.signal = prxpd->snr; |
497 | stats.noise = prxpd->nf; | 497 | stats.noise = prxpd->nf; |
498 | stats.qual = prxpd->snr - prxpd->nf; | ||
499 | /* Marvell rate index has a hole at value 4 */ | 498 | /* Marvell rate index has a hole at value 4 */ |
500 | if (prxpd->rx_rate > 4) | 499 | if (prxpd->rx_rate > 4) |
501 | --prxpd->rx_rate; | 500 | --prxpd->rx_rate; |
diff --git a/drivers/net/wireless/orinoco/wext.c b/drivers/net/wireless/orinoco/wext.c index 7698fdd6a3a2..31ca241f7753 100644 --- a/drivers/net/wireless/orinoco/wext.c +++ b/drivers/net/wireless/orinoco/wext.c | |||
@@ -23,7 +23,7 @@ | |||
23 | #define MAX_RID_LEN 1024 | 23 | #define MAX_RID_LEN 1024 |
24 | 24 | ||
25 | /* Helper routine to record keys | 25 | /* Helper routine to record keys |
26 | * Do not call from interrupt context */ | 26 | * It is called under orinoco_lock so it may not sleep */ |
27 | static int orinoco_set_key(struct orinoco_private *priv, int index, | 27 | static int orinoco_set_key(struct orinoco_private *priv, int index, |
28 | enum orinoco_alg alg, const u8 *key, int key_len, | 28 | enum orinoco_alg alg, const u8 *key, int key_len, |
29 | const u8 *seq, int seq_len) | 29 | const u8 *seq, int seq_len) |
@@ -32,14 +32,14 @@ static int orinoco_set_key(struct orinoco_private *priv, int index, | |||
32 | kzfree(priv->keys[index].seq); | 32 | kzfree(priv->keys[index].seq); |
33 | 33 | ||
34 | if (key_len) { | 34 | if (key_len) { |
35 | priv->keys[index].key = kzalloc(key_len, GFP_KERNEL); | 35 | priv->keys[index].key = kzalloc(key_len, GFP_ATOMIC); |
36 | if (!priv->keys[index].key) | 36 | if (!priv->keys[index].key) |
37 | goto nomem; | 37 | goto nomem; |
38 | } else | 38 | } else |
39 | priv->keys[index].key = NULL; | 39 | priv->keys[index].key = NULL; |
40 | 40 | ||
41 | if (seq_len) { | 41 | if (seq_len) { |
42 | priv->keys[index].seq = kzalloc(seq_len, GFP_KERNEL); | 42 | priv->keys[index].seq = kzalloc(seq_len, GFP_ATOMIC); |
43 | if (!priv->keys[index].seq) | 43 | if (!priv->keys[index].seq) |
44 | goto free_key; | 44 | goto free_key; |
45 | } else | 45 | } else |
diff --git a/drivers/net/wireless/rt2x00/rt2800.h b/drivers/net/wireless/rt2x00/rt2800.h index c5fe867665e6..1a7eae357fef 100644 --- a/drivers/net/wireless/rt2x00/rt2800.h +++ b/drivers/net/wireless/rt2x00/rt2800.h | |||
@@ -1323,7 +1323,7 @@ | |||
1323 | #define PAIRWISE_KEY_ENTRY(__idx) \ | 1323 | #define PAIRWISE_KEY_ENTRY(__idx) \ |
1324 | ( PAIRWISE_KEY_TABLE_BASE + ((__idx) * sizeof(struct hw_key_entry)) ) | 1324 | ( PAIRWISE_KEY_TABLE_BASE + ((__idx) * sizeof(struct hw_key_entry)) ) |
1325 | #define MAC_IVEIV_ENTRY(__idx) \ | 1325 | #define MAC_IVEIV_ENTRY(__idx) \ |
1326 | ( MAC_IVEIV_TABLE_BASE + ((__idx) & sizeof(struct mac_iveiv_entry)) ) | 1326 | ( MAC_IVEIV_TABLE_BASE + ((__idx) * sizeof(struct mac_iveiv_entry)) ) |
1327 | #define MAC_WCID_ATTR_ENTRY(__idx) \ | 1327 | #define MAC_WCID_ATTR_ENTRY(__idx) \ |
1328 | ( MAC_WCID_ATTRIBUTE_BASE + ((__idx) * sizeof(u32)) ) | 1328 | ( MAC_WCID_ATTRIBUTE_BASE + ((__idx) * sizeof(u32)) ) |
1329 | #define SHARED_KEY_ENTRY(__idx) \ | 1329 | #define SHARED_KEY_ENTRY(__idx) \ |
diff --git a/drivers/net/wireless/rt2x00/rt2800lib.c b/drivers/net/wireless/rt2x00/rt2800lib.c index eb1e1d00bec3..27bf887f1453 100644 --- a/drivers/net/wireless/rt2x00/rt2800lib.c +++ b/drivers/net/wireless/rt2x00/rt2800lib.c | |||
@@ -37,7 +37,7 @@ | |||
37 | #include <linux/module.h> | 37 | #include <linux/module.h> |
38 | 38 | ||
39 | #include "rt2x00.h" | 39 | #include "rt2x00.h" |
40 | #ifdef CONFIG_RT2800USB | 40 | #if defined(CONFIG_RT2800USB) || defined(CONFIG_RT2800USB_MODULE) |
41 | #include "rt2x00usb.h" | 41 | #include "rt2x00usb.h" |
42 | #endif | 42 | #endif |
43 | #include "rt2800lib.h" | 43 | #include "rt2800lib.h" |
@@ -1121,7 +1121,7 @@ int rt2800_init_registers(struct rt2x00_dev *rt2x00dev) | |||
1121 | 1121 | ||
1122 | if (rt2x00_intf_is_usb(rt2x00dev)) { | 1122 | if (rt2x00_intf_is_usb(rt2x00dev)) { |
1123 | rt2800_register_write(rt2x00dev, USB_DMA_CFG, 0x00000000); | 1123 | rt2800_register_write(rt2x00dev, USB_DMA_CFG, 0x00000000); |
1124 | #ifdef CONFIG_RT2800USB | 1124 | #if defined(CONFIG_RT2800USB) || defined(CONFIG_RT2800USB_MODULE) |
1125 | rt2x00usb_vendor_request_sw(rt2x00dev, USB_DEVICE_MODE, 0, | 1125 | rt2x00usb_vendor_request_sw(rt2x00dev, USB_DEVICE_MODE, 0, |
1126 | USB_MODE_RESET, REGISTER_TIMEOUT); | 1126 | USB_MODE_RESET, REGISTER_TIMEOUT); |
1127 | #endif | 1127 | #endif |
@@ -2022,6 +2022,12 @@ int rt2800_probe_hw_mode(struct rt2x00_dev *rt2x00dev) | |||
2022 | u16 eeprom; | 2022 | u16 eeprom; |
2023 | 2023 | ||
2024 | /* | 2024 | /* |
2025 | * Disable powersaving as default on PCI devices. | ||
2026 | */ | ||
2027 | if (rt2x00_intf_is_pci(rt2x00dev)) | ||
2028 | rt2x00dev->hw->wiphy->flags &= ~WIPHY_FLAG_PS_ON_BY_DEFAULT; | ||
2029 | |||
2030 | /* | ||
2025 | * Initialize all hw fields. | 2031 | * Initialize all hw fields. |
2026 | */ | 2032 | */ |
2027 | rt2x00dev->hw->flags = | 2033 | rt2x00dev->hw->flags = |
@@ -2074,8 +2080,7 @@ int rt2800_probe_hw_mode(struct rt2x00_dev *rt2x00dev) | |||
2074 | IEEE80211_HT_CAP_SGI_20 | | 2080 | IEEE80211_HT_CAP_SGI_20 | |
2075 | IEEE80211_HT_CAP_SGI_40 | | 2081 | IEEE80211_HT_CAP_SGI_40 | |
2076 | IEEE80211_HT_CAP_TX_STBC | | 2082 | IEEE80211_HT_CAP_TX_STBC | |
2077 | IEEE80211_HT_CAP_RX_STBC | | 2083 | IEEE80211_HT_CAP_RX_STBC; |
2078 | IEEE80211_HT_CAP_PSMP_SUPPORT; | ||
2079 | spec->ht.ampdu_factor = 3; | 2084 | spec->ht.ampdu_factor = 3; |
2080 | spec->ht.ampdu_density = 4; | 2085 | spec->ht.ampdu_density = 4; |
2081 | spec->ht.mcs.tx_params = | 2086 | spec->ht.mcs.tx_params = |
@@ -2140,8 +2145,8 @@ static void rt2800_get_tkip_seq(struct ieee80211_hw *hw, u8 hw_key_idx, | |||
2140 | rt2800_register_multiread(rt2x00dev, offset, | 2145 | rt2800_register_multiread(rt2x00dev, offset, |
2141 | &iveiv_entry, sizeof(iveiv_entry)); | 2146 | &iveiv_entry, sizeof(iveiv_entry)); |
2142 | 2147 | ||
2143 | memcpy(&iveiv_entry.iv[0], iv16, sizeof(iv16)); | 2148 | memcpy(iv16, &iveiv_entry.iv[0], sizeof(*iv16)); |
2144 | memcpy(&iveiv_entry.iv[4], iv32, sizeof(iv32)); | 2149 | memcpy(iv32, &iveiv_entry.iv[4], sizeof(*iv32)); |
2145 | } | 2150 | } |
2146 | 2151 | ||
2147 | static int rt2800_set_rts_threshold(struct ieee80211_hw *hw, u32 value) | 2152 | static int rt2800_set_rts_threshold(struct ieee80211_hw *hw, u32 value) |
diff --git a/drivers/net/wireless/rt2x00/rt2800usb.c b/drivers/net/wireless/rt2x00/rt2800usb.c index af85d18cdbe7..ab95346cf6a3 100644 --- a/drivers/net/wireless/rt2x00/rt2800usb.c +++ b/drivers/net/wireless/rt2x00/rt2800usb.c | |||
@@ -922,6 +922,7 @@ static struct usb_device_id rt2800usb_device_table[] = { | |||
922 | { USB_DEVICE(0x1737, 0x0070), USB_DEVICE_DATA(&rt2800usb_ops) }, | 922 | { USB_DEVICE(0x1737, 0x0070), USB_DEVICE_DATA(&rt2800usb_ops) }, |
923 | { USB_DEVICE(0x1737, 0x0071), USB_DEVICE_DATA(&rt2800usb_ops) }, | 923 | { USB_DEVICE(0x1737, 0x0071), USB_DEVICE_DATA(&rt2800usb_ops) }, |
924 | { USB_DEVICE(0x1737, 0x0077), USB_DEVICE_DATA(&rt2800usb_ops) }, | 924 | { USB_DEVICE(0x1737, 0x0077), USB_DEVICE_DATA(&rt2800usb_ops) }, |
925 | { USB_DEVICE(0x1737, 0x0079), USB_DEVICE_DATA(&rt2800usb_ops) }, | ||
925 | /* Logitec */ | 926 | /* Logitec */ |
926 | { USB_DEVICE(0x0789, 0x0162), USB_DEVICE_DATA(&rt2800usb_ops) }, | 927 | { USB_DEVICE(0x0789, 0x0162), USB_DEVICE_DATA(&rt2800usb_ops) }, |
927 | { USB_DEVICE(0x0789, 0x0163), USB_DEVICE_DATA(&rt2800usb_ops) }, | 928 | { USB_DEVICE(0x0789, 0x0163), USB_DEVICE_DATA(&rt2800usb_ops) }, |
diff --git a/drivers/net/wireless/rt2x00/rt61pci.c b/drivers/net/wireless/rt2x00/rt61pci.c index 687e17dc2e9f..0ca589306d71 100644 --- a/drivers/net/wireless/rt2x00/rt61pci.c +++ b/drivers/net/wireless/rt2x00/rt61pci.c | |||
@@ -2539,6 +2539,11 @@ static int rt61pci_probe_hw_mode(struct rt2x00_dev *rt2x00dev) | |||
2539 | unsigned int i; | 2539 | unsigned int i; |
2540 | 2540 | ||
2541 | /* | 2541 | /* |
2542 | * Disable powersaving as default. | ||
2543 | */ | ||
2544 | rt2x00dev->hw->wiphy->flags &= ~WIPHY_FLAG_PS_ON_BY_DEFAULT; | ||
2545 | |||
2546 | /* | ||
2542 | * Initialize all hw fields. | 2547 | * Initialize all hw fields. |
2543 | */ | 2548 | */ |
2544 | rt2x00dev->hw->flags = | 2549 | rt2x00dev->hw->flags = |
diff --git a/drivers/net/wireless/rtl818x/rtl8180_dev.c b/drivers/net/wireless/rtl818x/rtl8180_dev.c index a1a3dd15c664..8a40a1439984 100644 --- a/drivers/net/wireless/rtl818x/rtl8180_dev.c +++ b/drivers/net/wireless/rtl818x/rtl8180_dev.c | |||
@@ -132,7 +132,6 @@ static void rtl8180_handle_rx(struct ieee80211_hw *dev) | |||
132 | 132 | ||
133 | rx_status.antenna = (flags2 >> 15) & 1; | 133 | rx_status.antenna = (flags2 >> 15) & 1; |
134 | /* TODO: improve signal/rssi reporting */ | 134 | /* TODO: improve signal/rssi reporting */ |
135 | rx_status.qual = flags2 & 0xFF; | ||
136 | rx_status.signal = (flags2 >> 8) & 0x7F; | 135 | rx_status.signal = (flags2 >> 8) & 0x7F; |
137 | /* XXX: is this correct? */ | 136 | /* XXX: is this correct? */ |
138 | rx_status.rate_idx = (flags >> 20) & 0xF; | 137 | rx_status.rate_idx = (flags >> 20) & 0xF; |
diff --git a/drivers/net/wireless/wl12xx/wl1251_boot.c b/drivers/net/wireless/wl12xx/wl1251_boot.c index 2e733e7bdfd4..28a808674080 100644 --- a/drivers/net/wireless/wl12xx/wl1251_boot.c +++ b/drivers/net/wireless/wl12xx/wl1251_boot.c | |||
@@ -256,7 +256,7 @@ int wl1251_boot_run_firmware(struct wl1251 *wl) | |||
256 | } | 256 | } |
257 | } | 257 | } |
258 | 258 | ||
259 | if (loop >= INIT_LOOP) { | 259 | if (loop > INIT_LOOP) { |
260 | wl1251_error("timeout waiting for the hardware to " | 260 | wl1251_error("timeout waiting for the hardware to " |
261 | "complete initialization"); | 261 | "complete initialization"); |
262 | return -EIO; | 262 | return -EIO; |
diff --git a/drivers/net/wireless/wl12xx/wl1271_cmd.c b/drivers/net/wireless/wl12xx/wl1271_cmd.c index 886a9bc39cc1..c3385b3d246c 100644 --- a/drivers/net/wireless/wl12xx/wl1271_cmd.c +++ b/drivers/net/wireless/wl12xx/wl1271_cmd.c | |||
@@ -777,7 +777,7 @@ out: | |||
777 | return ret; | 777 | return ret; |
778 | } | 778 | } |
779 | 779 | ||
780 | static int wl1271_build_basic_rates(char *rates, u8 band) | 780 | static int wl1271_build_basic_rates(u8 *rates, u8 band) |
781 | { | 781 | { |
782 | u8 index = 0; | 782 | u8 index = 0; |
783 | 783 | ||
@@ -804,7 +804,7 @@ static int wl1271_build_basic_rates(char *rates, u8 band) | |||
804 | return index; | 804 | return index; |
805 | } | 805 | } |
806 | 806 | ||
807 | static int wl1271_build_extended_rates(char *rates, u8 band) | 807 | static int wl1271_build_extended_rates(u8 *rates, u8 band) |
808 | { | 808 | { |
809 | u8 index = 0; | 809 | u8 index = 0; |
810 | 810 | ||
diff --git a/drivers/net/wireless/zd1211rw/zd_chip.c b/drivers/net/wireless/zd1211rw/zd_chip.c index dfa1b9bc22c8..7ca95c414fa8 100644 --- a/drivers/net/wireless/zd1211rw/zd_chip.c +++ b/drivers/net/wireless/zd1211rw/zd_chip.c | |||
@@ -1325,151 +1325,11 @@ int zd_chip_set_basic_rates(struct zd_chip *chip, u16 cr_rates) | |||
1325 | return r; | 1325 | return r; |
1326 | } | 1326 | } |
1327 | 1327 | ||
1328 | static int ofdm_qual_db(u8 status_quality, u8 zd_rate, unsigned int size) | ||
1329 | { | ||
1330 | static const u16 constants[] = { | ||
1331 | 715, 655, 585, 540, 470, 410, 360, 315, | ||
1332 | 270, 235, 205, 175, 150, 125, 105, 85, | ||
1333 | 65, 50, 40, 25, 15 | ||
1334 | }; | ||
1335 | |||
1336 | int i; | ||
1337 | u32 x; | ||
1338 | |||
1339 | /* It seems that their quality parameter is somehow per signal | ||
1340 | * and is now transferred per bit. | ||
1341 | */ | ||
1342 | switch (zd_rate) { | ||
1343 | case ZD_OFDM_RATE_6M: | ||
1344 | case ZD_OFDM_RATE_12M: | ||
1345 | case ZD_OFDM_RATE_24M: | ||
1346 | size *= 2; | ||
1347 | break; | ||
1348 | case ZD_OFDM_RATE_9M: | ||
1349 | case ZD_OFDM_RATE_18M: | ||
1350 | case ZD_OFDM_RATE_36M: | ||
1351 | case ZD_OFDM_RATE_54M: | ||
1352 | size *= 4; | ||
1353 | size /= 3; | ||
1354 | break; | ||
1355 | case ZD_OFDM_RATE_48M: | ||
1356 | size *= 3; | ||
1357 | size /= 2; | ||
1358 | break; | ||
1359 | default: | ||
1360 | return -EINVAL; | ||
1361 | } | ||
1362 | |||
1363 | x = (10000 * status_quality)/size; | ||
1364 | for (i = 0; i < ARRAY_SIZE(constants); i++) { | ||
1365 | if (x > constants[i]) | ||
1366 | break; | ||
1367 | } | ||
1368 | |||
1369 | switch (zd_rate) { | ||
1370 | case ZD_OFDM_RATE_6M: | ||
1371 | case ZD_OFDM_RATE_9M: | ||
1372 | i += 3; | ||
1373 | break; | ||
1374 | case ZD_OFDM_RATE_12M: | ||
1375 | case ZD_OFDM_RATE_18M: | ||
1376 | i += 5; | ||
1377 | break; | ||
1378 | case ZD_OFDM_RATE_24M: | ||
1379 | case ZD_OFDM_RATE_36M: | ||
1380 | i += 9; | ||
1381 | break; | ||
1382 | case ZD_OFDM_RATE_48M: | ||
1383 | case ZD_OFDM_RATE_54M: | ||
1384 | i += 15; | ||
1385 | break; | ||
1386 | default: | ||
1387 | return -EINVAL; | ||
1388 | } | ||
1389 | |||
1390 | return i; | ||
1391 | } | ||
1392 | |||
1393 | static int ofdm_qual_percent(u8 status_quality, u8 zd_rate, unsigned int size) | ||
1394 | { | ||
1395 | int r; | ||
1396 | |||
1397 | r = ofdm_qual_db(status_quality, zd_rate, size); | ||
1398 | ZD_ASSERT(r >= 0); | ||
1399 | if (r < 0) | ||
1400 | r = 0; | ||
1401 | |||
1402 | r = (r * 100)/29; | ||
1403 | return r <= 100 ? r : 100; | ||
1404 | } | ||
1405 | |||
1406 | static unsigned int log10times100(unsigned int x) | ||
1407 | { | ||
1408 | static const u8 log10[] = { | ||
1409 | 0, | ||
1410 | 0, 30, 47, 60, 69, 77, 84, 90, 95, 100, | ||
1411 | 104, 107, 111, 114, 117, 120, 123, 125, 127, 130, | ||
1412 | 132, 134, 136, 138, 139, 141, 143, 144, 146, 147, | ||
1413 | 149, 150, 151, 153, 154, 155, 156, 157, 159, 160, | ||
1414 | 161, 162, 163, 164, 165, 166, 167, 168, 169, 169, | ||
1415 | 170, 171, 172, 173, 174, 174, 175, 176, 177, 177, | ||
1416 | 178, 179, 179, 180, 181, 181, 182, 183, 183, 184, | ||
1417 | 185, 185, 186, 186, 187, 188, 188, 189, 189, 190, | ||
1418 | 190, 191, 191, 192, 192, 193, 193, 194, 194, 195, | ||
1419 | 195, 196, 196, 197, 197, 198, 198, 199, 199, 200, | ||
1420 | 200, 200, 201, 201, 202, 202, 202, 203, 203, 204, | ||
1421 | 204, 204, 205, 205, 206, 206, 206, 207, 207, 207, | ||
1422 | 208, 208, 208, 209, 209, 210, 210, 210, 211, 211, | ||
1423 | 211, 212, 212, 212, 213, 213, 213, 213, 214, 214, | ||
1424 | 214, 215, 215, 215, 216, 216, 216, 217, 217, 217, | ||
1425 | 217, 218, 218, 218, 219, 219, 219, 219, 220, 220, | ||
1426 | 220, 220, 221, 221, 221, 222, 222, 222, 222, 223, | ||
1427 | 223, 223, 223, 224, 224, 224, 224, | ||
1428 | }; | ||
1429 | |||
1430 | return x < ARRAY_SIZE(log10) ? log10[x] : 225; | ||
1431 | } | ||
1432 | |||
1433 | enum { | ||
1434 | MAX_CCK_EVM_DB = 45, | ||
1435 | }; | ||
1436 | |||
1437 | static int cck_evm_db(u8 status_quality) | ||
1438 | { | ||
1439 | return (20 * log10times100(status_quality)) / 100; | ||
1440 | } | ||
1441 | |||
1442 | static int cck_snr_db(u8 status_quality) | ||
1443 | { | ||
1444 | int r = MAX_CCK_EVM_DB - cck_evm_db(status_quality); | ||
1445 | ZD_ASSERT(r >= 0); | ||
1446 | return r; | ||
1447 | } | ||
1448 | |||
1449 | static int cck_qual_percent(u8 status_quality) | ||
1450 | { | ||
1451 | int r; | ||
1452 | |||
1453 | r = cck_snr_db(status_quality); | ||
1454 | r = (100*r)/17; | ||
1455 | return r <= 100 ? r : 100; | ||
1456 | } | ||
1457 | |||
1458 | static inline u8 zd_rate_from_ofdm_plcp_header(const void *rx_frame) | 1328 | static inline u8 zd_rate_from_ofdm_plcp_header(const void *rx_frame) |
1459 | { | 1329 | { |
1460 | return ZD_OFDM | zd_ofdm_plcp_header_rate(rx_frame); | 1330 | return ZD_OFDM | zd_ofdm_plcp_header_rate(rx_frame); |
1461 | } | 1331 | } |
1462 | 1332 | ||
1463 | u8 zd_rx_qual_percent(const void *rx_frame, unsigned int size, | ||
1464 | const struct rx_status *status) | ||
1465 | { | ||
1466 | return (status->frame_status&ZD_RX_OFDM) ? | ||
1467 | ofdm_qual_percent(status->signal_quality_ofdm, | ||
1468 | zd_rate_from_ofdm_plcp_header(rx_frame), | ||
1469 | size) : | ||
1470 | cck_qual_percent(status->signal_quality_cck); | ||
1471 | } | ||
1472 | |||
1473 | /** | 1333 | /** |
1474 | * zd_rx_rate - report zd-rate | 1334 | * zd_rx_rate - report zd-rate |
1475 | * @rx_frame - received frame | 1335 | * @rx_frame - received frame |
diff --git a/drivers/net/wireless/zd1211rw/zd_chip.h b/drivers/net/wireless/zd1211rw/zd_chip.h index 9fd8f3508d66..f8bbf7d302ae 100644 --- a/drivers/net/wireless/zd1211rw/zd_chip.h +++ b/drivers/net/wireless/zd1211rw/zd_chip.h | |||
@@ -929,9 +929,6 @@ static inline int zd_get_beacon_interval(struct zd_chip *chip, u32 *interval) | |||
929 | 929 | ||
930 | struct rx_status; | 930 | struct rx_status; |
931 | 931 | ||
932 | u8 zd_rx_qual_percent(const void *rx_frame, unsigned int size, | ||
933 | const struct rx_status *status); | ||
934 | |||
935 | u8 zd_rx_rate(const void *rx_frame, const struct rx_status *status); | 932 | u8 zd_rx_rate(const void *rx_frame, const struct rx_status *status); |
936 | 933 | ||
937 | struct zd_mc_hash { | 934 | struct zd_mc_hash { |
diff --git a/drivers/net/wireless/zd1211rw/zd_mac.c b/drivers/net/wireless/zd1211rw/zd_mac.c index cf51e8f8174b..8ebf5c33955d 100644 --- a/drivers/net/wireless/zd1211rw/zd_mac.c +++ b/drivers/net/wireless/zd1211rw/zd_mac.c | |||
@@ -828,9 +828,6 @@ int zd_mac_rx(struct ieee80211_hw *hw, const u8 *buffer, unsigned int length) | |||
828 | stats.freq = zd_channels[_zd_chip_get_channel(&mac->chip) - 1].center_freq; | 828 | stats.freq = zd_channels[_zd_chip_get_channel(&mac->chip) - 1].center_freq; |
829 | stats.band = IEEE80211_BAND_2GHZ; | 829 | stats.band = IEEE80211_BAND_2GHZ; |
830 | stats.signal = status->signal_strength; | 830 | stats.signal = status->signal_strength; |
831 | stats.qual = zd_rx_qual_percent(buffer, | ||
832 | length - sizeof(struct rx_status), | ||
833 | status); | ||
834 | 831 | ||
835 | rate = zd_rx_rate(buffer, status); | 832 | rate = zd_rx_rate(buffer, status); |
836 | 833 | ||
diff --git a/drivers/pci/hotplug/shpchp.h b/drivers/pci/hotplug/shpchp.h index bd588eb8e922..8e210cd76e55 100644 --- a/drivers/pci/hotplug/shpchp.h +++ b/drivers/pci/hotplug/shpchp.h | |||
@@ -121,7 +121,7 @@ struct controller { | |||
121 | #define PCI_DEVICE_ID_AMD_GOLAM_7450 0x7450 | 121 | #define PCI_DEVICE_ID_AMD_GOLAM_7450 0x7450 |
122 | #define PCI_DEVICE_ID_AMD_POGO_7458 0x7458 | 122 | #define PCI_DEVICE_ID_AMD_POGO_7458 0x7458 |
123 | 123 | ||
124 | /* AMD PCIX bridge registers */ | 124 | /* AMD PCI-X bridge registers */ |
125 | #define PCIX_MEM_BASE_LIMIT_OFFSET 0x1C | 125 | #define PCIX_MEM_BASE_LIMIT_OFFSET 0x1C |
126 | #define PCIX_MISCII_OFFSET 0x48 | 126 | #define PCIX_MISCII_OFFSET 0x48 |
127 | #define PCIX_MISC_BRIDGE_ERRORS_OFFSET 0x80 | 127 | #define PCIX_MISC_BRIDGE_ERRORS_OFFSET 0x80 |
diff --git a/drivers/pci/intel-iommu.c b/drivers/pci/intel-iommu.c index e56f9bed6f2b..417312528ddf 100644 --- a/drivers/pci/intel-iommu.c +++ b/drivers/pci/intel-iommu.c | |||
@@ -305,7 +305,7 @@ struct device_domain_info { | |||
305 | int segment; /* PCI domain */ | 305 | int segment; /* PCI domain */ |
306 | u8 bus; /* PCI bus number */ | 306 | u8 bus; /* PCI bus number */ |
307 | u8 devfn; /* PCI devfn number */ | 307 | u8 devfn; /* PCI devfn number */ |
308 | struct pci_dev *dev; /* it's NULL for PCIE-to-PCI bridge */ | 308 | struct pci_dev *dev; /* it's NULL for PCIe-to-PCI bridge */ |
309 | struct intel_iommu *iommu; /* IOMMU used by this device */ | 309 | struct intel_iommu *iommu; /* IOMMU used by this device */ |
310 | struct dmar_domain *domain; /* pointer to domain */ | 310 | struct dmar_domain *domain; /* pointer to domain */ |
311 | }; | 311 | }; |
@@ -1604,7 +1604,7 @@ domain_context_mapping(struct dmar_domain *domain, struct pci_dev *pdev, | |||
1604 | return ret; | 1604 | return ret; |
1605 | parent = parent->bus->self; | 1605 | parent = parent->bus->self; |
1606 | } | 1606 | } |
1607 | if (pci_is_pcie(tmp)) /* this is a PCIE-to-PCI bridge */ | 1607 | if (pci_is_pcie(tmp)) /* this is a PCIe-to-PCI bridge */ |
1608 | return domain_context_mapping_one(domain, | 1608 | return domain_context_mapping_one(domain, |
1609 | pci_domain_nr(tmp->subordinate), | 1609 | pci_domain_nr(tmp->subordinate), |
1610 | tmp->subordinate->number, 0, | 1610 | tmp->subordinate->number, 0, |
@@ -3325,7 +3325,7 @@ static void iommu_detach_dependent_devices(struct intel_iommu *iommu, | |||
3325 | parent->devfn); | 3325 | parent->devfn); |
3326 | parent = parent->bus->self; | 3326 | parent = parent->bus->self; |
3327 | } | 3327 | } |
3328 | if (pci_is_pcie(tmp)) /* this is a PCIE-to-PCI bridge */ | 3328 | if (pci_is_pcie(tmp)) /* this is a PCIe-to-PCI bridge */ |
3329 | iommu_detach_dev(iommu, | 3329 | iommu_detach_dev(iommu, |
3330 | tmp->subordinate->number, 0); | 3330 | tmp->subordinate->number, 0); |
3331 | else /* this is a legacy PCI bridge */ | 3331 | else /* this is a legacy PCI bridge */ |
diff --git a/drivers/pci/intr_remapping.c b/drivers/pci/intr_remapping.c index 8b65a489581b..95b849130ad4 100644 --- a/drivers/pci/intr_remapping.c +++ b/drivers/pci/intr_remapping.c | |||
@@ -528,7 +528,7 @@ int set_msi_sid(struct irte *irte, struct pci_dev *dev) | |||
528 | 528 | ||
529 | bridge = pci_find_upstream_pcie_bridge(dev); | 529 | bridge = pci_find_upstream_pcie_bridge(dev); |
530 | if (bridge) { | 530 | if (bridge) { |
531 | if (pci_is_pcie(bridge))/* this is a PCIE-to-PCI/PCIX bridge */ | 531 | if (pci_is_pcie(bridge))/* this is a PCIe-to-PCI/PCIX bridge */ |
532 | set_irte_sid(irte, SVT_VERIFY_BUS, SQ_ALL_16, | 532 | set_irte_sid(irte, SVT_VERIFY_BUS, SQ_ALL_16, |
533 | (bridge->bus->number << 8) | dev->bus->number); | 533 | (bridge->bus->number << 8) | dev->bus->number); |
534 | else /* this is a legacy PCI bridge */ | 534 | else /* this is a legacy PCI bridge */ |
diff --git a/drivers/pci/pci-acpi.c b/drivers/pci/pci-acpi.c index cc617ddd33d0..7e2829538a4c 100644 --- a/drivers/pci/pci-acpi.c +++ b/drivers/pci/pci-acpi.c | |||
@@ -112,11 +112,7 @@ static bool acpi_pci_can_wakeup(struct pci_dev *dev) | |||
112 | static void acpi_pci_propagate_wakeup_enable(struct pci_bus *bus, bool enable) | 112 | static void acpi_pci_propagate_wakeup_enable(struct pci_bus *bus, bool enable) |
113 | { | 113 | { |
114 | while (bus->parent) { | 114 | while (bus->parent) { |
115 | struct pci_dev *bridge = bus->self; | 115 | if (!acpi_pm_device_sleep_wake(&bus->self->dev, enable)) |
116 | int ret; | ||
117 | |||
118 | ret = acpi_pm_device_sleep_wake(&bridge->dev, enable); | ||
119 | if (!ret || pci_is_pcie(bridge)) | ||
120 | return; | 116 | return; |
121 | bus = bus->parent; | 117 | bus = bus->parent; |
122 | } | 118 | } |
@@ -131,9 +127,7 @@ static int acpi_pci_sleep_wake(struct pci_dev *dev, bool enable) | |||
131 | if (acpi_pci_can_wakeup(dev)) | 127 | if (acpi_pci_can_wakeup(dev)) |
132 | return acpi_pm_device_sleep_wake(&dev->dev, enable); | 128 | return acpi_pm_device_sleep_wake(&dev->dev, enable); |
133 | 129 | ||
134 | if (!pci_is_pcie(dev)) | 130 | acpi_pci_propagate_wakeup_enable(dev->bus, enable); |
135 | acpi_pci_propagate_wakeup_enable(dev->bus, enable); | ||
136 | |||
137 | return 0; | 131 | return 0; |
138 | } | 132 | } |
139 | 133 | ||
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index 0bc27e059019..0906599ebfde 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c | |||
@@ -1153,11 +1153,11 @@ pci_disable_device(struct pci_dev *dev) | |||
1153 | 1153 | ||
1154 | /** | 1154 | /** |
1155 | * pcibios_set_pcie_reset_state - set reset state for device dev | 1155 | * pcibios_set_pcie_reset_state - set reset state for device dev |
1156 | * @dev: the PCI-E device reset | 1156 | * @dev: the PCIe device reset |
1157 | * @state: Reset state to enter into | 1157 | * @state: Reset state to enter into |
1158 | * | 1158 | * |
1159 | * | 1159 | * |
1160 | * Sets the PCI-E reset state for the device. This is the default | 1160 | * Sets the PCIe reset state for the device. This is the default |
1161 | * implementation. Architecture implementations can override this. | 1161 | * implementation. Architecture implementations can override this. |
1162 | */ | 1162 | */ |
1163 | int __attribute__ ((weak)) pcibios_set_pcie_reset_state(struct pci_dev *dev, | 1163 | int __attribute__ ((weak)) pcibios_set_pcie_reset_state(struct pci_dev *dev, |
@@ -1168,7 +1168,7 @@ int __attribute__ ((weak)) pcibios_set_pcie_reset_state(struct pci_dev *dev, | |||
1168 | 1168 | ||
1169 | /** | 1169 | /** |
1170 | * pci_set_pcie_reset_state - set reset state for device dev | 1170 | * pci_set_pcie_reset_state - set reset state for device dev |
1171 | * @dev: the PCI-E device reset | 1171 | * @dev: the PCIe device reset |
1172 | * @state: Reset state to enter into | 1172 | * @state: Reset state to enter into |
1173 | * | 1173 | * |
1174 | * | 1174 | * |
@@ -2296,6 +2296,10 @@ static int pci_dev_reset(struct pci_dev *dev, int probe) | |||
2296 | down(&dev->dev.sem); | 2296 | down(&dev->dev.sem); |
2297 | } | 2297 | } |
2298 | 2298 | ||
2299 | rc = pci_dev_specific_reset(dev, probe); | ||
2300 | if (rc != -ENOTTY) | ||
2301 | goto done; | ||
2302 | |||
2299 | rc = pcie_flr(dev, probe); | 2303 | rc = pcie_flr(dev, probe); |
2300 | if (rc != -ENOTTY) | 2304 | if (rc != -ENOTTY) |
2301 | goto done; | 2305 | goto done; |
@@ -2779,6 +2783,11 @@ int __attribute__ ((weak)) pci_ext_cfg_avail(struct pci_dev *dev) | |||
2779 | return 1; | 2783 | return 1; |
2780 | } | 2784 | } |
2781 | 2785 | ||
2786 | void __weak pci_fixup_cardbus(struct pci_bus *bus) | ||
2787 | { | ||
2788 | } | ||
2789 | EXPORT_SYMBOL(pci_fixup_cardbus); | ||
2790 | |||
2782 | static int __init pci_setup(char *str) | 2791 | static int __init pci_setup(char *str) |
2783 | { | 2792 | { |
2784 | while (str) { | 2793 | while (str) { |
diff --git a/drivers/pci/pci.h b/drivers/pci/pci.h index 33ed8e0aba1e..fbd0e3adbca3 100644 --- a/drivers/pci/pci.h +++ b/drivers/pci/pci.h | |||
@@ -313,4 +313,12 @@ static inline int pci_resource_alignment(struct pci_dev *dev, | |||
313 | 313 | ||
314 | extern void pci_enable_acs(struct pci_dev *dev); | 314 | extern void pci_enable_acs(struct pci_dev *dev); |
315 | 315 | ||
316 | struct pci_dev_reset_methods { | ||
317 | u16 vendor; | ||
318 | u16 device; | ||
319 | int (*reset)(struct pci_dev *dev, int probe); | ||
320 | }; | ||
321 | |||
322 | extern int pci_dev_specific_reset(struct pci_dev *dev, int probe); | ||
323 | |||
316 | #endif /* DRIVERS_PCI_H */ | 324 | #endif /* DRIVERS_PCI_H */ |
diff --git a/drivers/pci/pcie/aer/Kconfig.debug b/drivers/pci/pcie/aer/Kconfig.debug index b8c925c1f6aa..9142949734f5 100644 --- a/drivers/pci/pcie/aer/Kconfig.debug +++ b/drivers/pci/pcie/aer/Kconfig.debug | |||
@@ -3,14 +3,14 @@ | |||
3 | # | 3 | # |
4 | 4 | ||
5 | config PCIEAER_INJECT | 5 | config PCIEAER_INJECT |
6 | tristate "PCIE AER error injector support" | 6 | tristate "PCIe AER error injector support" |
7 | depends on PCIEAER | 7 | depends on PCIEAER |
8 | default n | 8 | default n |
9 | help | 9 | help |
10 | This enables PCI Express Root Port Advanced Error Reporting | 10 | This enables PCI Express Root Port Advanced Error Reporting |
11 | (AER) software error injector. | 11 | (AER) software error injector. |
12 | 12 | ||
13 | Debuging PCIE AER code is quite difficult because it is hard | 13 | Debugging PCIe AER code is quite difficult because it is hard |
14 | to trigger various real hardware errors. Software based | 14 | to trigger various real hardware errors. Software based |
15 | error injection can fake almost all kinds of errors with the | 15 | error injection can fake almost all kinds of errors with the |
16 | help of a user space helper tool aer-inject, which can be | 16 | help of a user space helper tool aer-inject, which can be |
diff --git a/drivers/pci/pcie/aer/aer_inject.c b/drivers/pci/pcie/aer/aer_inject.c index 7fcd5331b14c..797d47809f7a 100644 --- a/drivers/pci/pcie/aer/aer_inject.c +++ b/drivers/pci/pcie/aer/aer_inject.c | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * PCIE AER software error injection support. | 2 | * PCIe AER software error injection support. |
3 | * | 3 | * |
4 | * Debuging PCIE AER code is quite difficult because it is hard to | 4 | * Debuging PCIe AER code is quite difficult because it is hard to |
5 | * trigger various real hardware errors. Software based error | 5 | * trigger various real hardware errors. Software based error |
6 | * injection can fake almost all kinds of errors with the help of a | 6 | * injection can fake almost all kinds of errors with the help of a |
7 | * user space helper tool aer-inject, which can be gotten from: | 7 | * user space helper tool aer-inject, which can be gotten from: |
@@ -484,5 +484,5 @@ static void __exit aer_inject_exit(void) | |||
484 | module_init(aer_inject_init); | 484 | module_init(aer_inject_init); |
485 | module_exit(aer_inject_exit); | 485 | module_exit(aer_inject_exit); |
486 | 486 | ||
487 | MODULE_DESCRIPTION("PCIE AER software error injector"); | 487 | MODULE_DESCRIPTION("PCIe AER software error injector"); |
488 | MODULE_LICENSE("GPL"); | 488 | MODULE_LICENSE("GPL"); |
diff --git a/drivers/pci/pcie/aer/aerdrv.c b/drivers/pci/pcie/aer/aerdrv.c index 97a345927b55..21f215f4daa3 100644 --- a/drivers/pci/pcie/aer/aerdrv.c +++ b/drivers/pci/pcie/aer/aerdrv.c | |||
@@ -155,7 +155,7 @@ static struct aer_rpc *aer_alloc_rpc(struct pcie_device *dev) | |||
155 | mutex_init(&rpc->rpc_mutex); | 155 | mutex_init(&rpc->rpc_mutex); |
156 | init_waitqueue_head(&rpc->wait_release); | 156 | init_waitqueue_head(&rpc->wait_release); |
157 | 157 | ||
158 | /* Use PCIE bus function to store rpc into PCIE device */ | 158 | /* Use PCIe bus function to store rpc into PCIe device */ |
159 | set_service_data(dev, rpc); | 159 | set_service_data(dev, rpc); |
160 | 160 | ||
161 | return rpc; | 161 | return rpc; |
diff --git a/drivers/pci/pcie/aer/aerdrv_acpi.c b/drivers/pci/pcie/aer/aerdrv_acpi.c index 8edb2f300e8f..04814087658d 100644 --- a/drivers/pci/pcie/aer/aerdrv_acpi.c +++ b/drivers/pci/pcie/aer/aerdrv_acpi.c | |||
@@ -24,7 +24,7 @@ | |||
24 | * | 24 | * |
25 | * @return: Zero on success. Nonzero otherwise. | 25 | * @return: Zero on success. Nonzero otherwise. |
26 | * | 26 | * |
27 | * Invoked when PCIE bus loads AER service driver. To avoid conflict with | 27 | * Invoked when PCIe bus loads AER service driver. To avoid conflict with |
28 | * BIOS AER support requires BIOS to yield AER control to OS native driver. | 28 | * BIOS AER support requires BIOS to yield AER control to OS native driver. |
29 | **/ | 29 | **/ |
30 | int aer_osc_setup(struct pcie_device *pciedev) | 30 | int aer_osc_setup(struct pcie_device *pciedev) |
diff --git a/drivers/pci/pcie/aer/aerdrv_core.c b/drivers/pci/pcie/aer/aerdrv_core.c index ae672ca80333..c843a799814d 100644 --- a/drivers/pci/pcie/aer/aerdrv_core.c +++ b/drivers/pci/pcie/aer/aerdrv_core.c | |||
@@ -587,7 +587,7 @@ static void handle_error_source(struct pcie_device *aerdev, | |||
587 | * aer_enable_rootport - enable Root Port's interrupts when receiving messages | 587 | * aer_enable_rootport - enable Root Port's interrupts when receiving messages |
588 | * @rpc: pointer to a Root Port data structure | 588 | * @rpc: pointer to a Root Port data structure |
589 | * | 589 | * |
590 | * Invoked when PCIE bus loads AER service driver. | 590 | * Invoked when PCIe bus loads AER service driver. |
591 | */ | 591 | */ |
592 | void aer_enable_rootport(struct aer_rpc *rpc) | 592 | void aer_enable_rootport(struct aer_rpc *rpc) |
593 | { | 593 | { |
@@ -597,7 +597,7 @@ void aer_enable_rootport(struct aer_rpc *rpc) | |||
597 | u32 reg32; | 597 | u32 reg32; |
598 | 598 | ||
599 | pos = pci_pcie_cap(pdev); | 599 | pos = pci_pcie_cap(pdev); |
600 | /* Clear PCIE Capability's Device Status */ | 600 | /* Clear PCIe Capability's Device Status */ |
601 | pci_read_config_word(pdev, pos+PCI_EXP_DEVSTA, ®16); | 601 | pci_read_config_word(pdev, pos+PCI_EXP_DEVSTA, ®16); |
602 | pci_write_config_word(pdev, pos+PCI_EXP_DEVSTA, reg16); | 602 | pci_write_config_word(pdev, pos+PCI_EXP_DEVSTA, reg16); |
603 | 603 | ||
@@ -631,7 +631,7 @@ void aer_enable_rootport(struct aer_rpc *rpc) | |||
631 | * disable_root_aer - disable Root Port's interrupts when receiving messages | 631 | * disable_root_aer - disable Root Port's interrupts when receiving messages |
632 | * @rpc: pointer to a Root Port data structure | 632 | * @rpc: pointer to a Root Port data structure |
633 | * | 633 | * |
634 | * Invoked when PCIE bus unloads AER service driver. | 634 | * Invoked when PCIe bus unloads AER service driver. |
635 | */ | 635 | */ |
636 | static void disable_root_aer(struct aer_rpc *rpc) | 636 | static void disable_root_aer(struct aer_rpc *rpc) |
637 | { | 637 | { |
diff --git a/drivers/pci/pcie/aer/aerdrv_errprint.c b/drivers/pci/pcie/aer/aerdrv_errprint.c index 44acde72294f..9d3e4c8d0184 100644 --- a/drivers/pci/pcie/aer/aerdrv_errprint.c +++ b/drivers/pci/pcie/aer/aerdrv_errprint.c | |||
@@ -184,7 +184,7 @@ void aer_print_error(struct pci_dev *dev, struct aer_err_info *info) | |||
184 | 184 | ||
185 | if (info->status == 0) { | 185 | if (info->status == 0) { |
186 | AER_PR(info, dev, | 186 | AER_PR(info, dev, |
187 | "PCIE Bus Error: severity=%s, type=Unaccessible, " | 187 | "PCIe Bus Error: severity=%s, type=Unaccessible, " |
188 | "id=%04x(Unregistered Agent ID)\n", | 188 | "id=%04x(Unregistered Agent ID)\n", |
189 | aer_error_severity_string[info->severity], id); | 189 | aer_error_severity_string[info->severity], id); |
190 | } else { | 190 | } else { |
@@ -194,7 +194,7 @@ void aer_print_error(struct pci_dev *dev, struct aer_err_info *info) | |||
194 | agent = AER_GET_AGENT(info->severity, info->status); | 194 | agent = AER_GET_AGENT(info->severity, info->status); |
195 | 195 | ||
196 | AER_PR(info, dev, | 196 | AER_PR(info, dev, |
197 | "PCIE Bus Error: severity=%s, type=%s, id=%04x(%s)\n", | 197 | "PCIe Bus Error: severity=%s, type=%s, id=%04x(%s)\n", |
198 | aer_error_severity_string[info->severity], | 198 | aer_error_severity_string[info->severity], |
199 | aer_error_layer[layer], id, aer_agent_string[agent]); | 199 | aer_error_layer[layer], id, aer_agent_string[agent]); |
200 | 200 | ||
diff --git a/drivers/pci/pcie/aspm.c b/drivers/pci/pcie/aspm.c index 5a01fc7fbf05..be53d98fa384 100644 --- a/drivers/pci/pcie/aspm.c +++ b/drivers/pci/pcie/aspm.c | |||
@@ -1,6 +1,6 @@ | |||
1 | /* | 1 | /* |
2 | * File: drivers/pci/pcie/aspm.c | 2 | * File: drivers/pci/pcie/aspm.c |
3 | * Enabling PCIE link L0s/L1 state and Clock Power Management | 3 | * Enabling PCIe link L0s/L1 state and Clock Power Management |
4 | * | 4 | * |
5 | * Copyright (C) 2007 Intel | 5 | * Copyright (C) 2007 Intel |
6 | * Copyright (C) Zhang Yanmin (yanmin.zhang@intel.com) | 6 | * Copyright (C) Zhang Yanmin (yanmin.zhang@intel.com) |
@@ -499,7 +499,7 @@ static int pcie_aspm_sanity_check(struct pci_dev *pdev) | |||
499 | int pos; | 499 | int pos; |
500 | u32 reg32; | 500 | u32 reg32; |
501 | /* | 501 | /* |
502 | * Some functions in a slot might not all be PCIE functions, | 502 | * Some functions in a slot might not all be PCIe functions, |
503 | * very strange. Disable ASPM for the whole slot | 503 | * very strange. Disable ASPM for the whole slot |
504 | */ | 504 | */ |
505 | list_for_each_entry(child, &pdev->subordinate->devices, bus_list) { | 505 | list_for_each_entry(child, &pdev->subordinate->devices, bus_list) { |
diff --git a/drivers/pci/pcie/portdrv_pci.c b/drivers/pci/pcie/portdrv_pci.c index a49452e2aed9..34d65172a4d7 100644 --- a/drivers/pci/pcie/portdrv_pci.c +++ b/drivers/pci/pcie/portdrv_pci.c | |||
@@ -24,7 +24,7 @@ | |||
24 | */ | 24 | */ |
25 | #define DRIVER_VERSION "v1.0" | 25 | #define DRIVER_VERSION "v1.0" |
26 | #define DRIVER_AUTHOR "tom.l.nguyen@intel.com" | 26 | #define DRIVER_AUTHOR "tom.l.nguyen@intel.com" |
27 | #define DRIVER_DESC "PCIE Port Bus Driver" | 27 | #define DRIVER_DESC "PCIe Port Bus Driver" |
28 | MODULE_AUTHOR(DRIVER_AUTHOR); | 28 | MODULE_AUTHOR(DRIVER_AUTHOR); |
29 | MODULE_DESCRIPTION(DRIVER_DESC); | 29 | MODULE_DESCRIPTION(DRIVER_DESC); |
30 | MODULE_LICENSE("GPL"); | 30 | MODULE_LICENSE("GPL"); |
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index 7cfa7c38d318..c74694345b6e 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c | |||
@@ -2629,14 +2629,86 @@ static int __init pci_apply_final_quirks(void) | |||
2629 | if (!pci_cache_line_size) { | 2629 | if (!pci_cache_line_size) { |
2630 | printk(KERN_DEBUG "PCI: CLS %u bytes, default %u\n", | 2630 | printk(KERN_DEBUG "PCI: CLS %u bytes, default %u\n", |
2631 | cls << 2, pci_dfl_cache_line_size << 2); | 2631 | cls << 2, pci_dfl_cache_line_size << 2); |
2632 | pci_cache_line_size = cls; | 2632 | pci_cache_line_size = cls ? cls : pci_dfl_cache_line_size; |
2633 | } | 2633 | } |
2634 | 2634 | ||
2635 | return 0; | 2635 | return 0; |
2636 | } | 2636 | } |
2637 | 2637 | ||
2638 | fs_initcall_sync(pci_apply_final_quirks); | 2638 | fs_initcall_sync(pci_apply_final_quirks); |
2639 | |||
2640 | /* | ||
2641 | * Followings are device-specific reset methods which can be used to | ||
2642 | * reset a single function if other methods (e.g. FLR, PM D0->D3) are | ||
2643 | * not available. | ||
2644 | */ | ||
2645 | static int reset_intel_generic_dev(struct pci_dev *dev, int probe) | ||
2646 | { | ||
2647 | int pos; | ||
2648 | |||
2649 | /* only implement PCI_CLASS_SERIAL_USB at present */ | ||
2650 | if (dev->class == PCI_CLASS_SERIAL_USB) { | ||
2651 | pos = pci_find_capability(dev, PCI_CAP_ID_VNDR); | ||
2652 | if (!pos) | ||
2653 | return -ENOTTY; | ||
2654 | |||
2655 | if (probe) | ||
2656 | return 0; | ||
2657 | |||
2658 | pci_write_config_byte(dev, pos + 0x4, 1); | ||
2659 | msleep(100); | ||
2660 | |||
2661 | return 0; | ||
2662 | } else { | ||
2663 | return -ENOTTY; | ||
2664 | } | ||
2665 | } | ||
2666 | |||
2667 | static int reset_intel_82599_sfp_virtfn(struct pci_dev *dev, int probe) | ||
2668 | { | ||
2669 | int pos; | ||
2670 | |||
2671 | pos = pci_find_capability(dev, PCI_CAP_ID_EXP); | ||
2672 | if (!pos) | ||
2673 | return -ENOTTY; | ||
2674 | |||
2675 | if (probe) | ||
2676 | return 0; | ||
2677 | |||
2678 | pci_write_config_word(dev, pos + PCI_EXP_DEVCTL, | ||
2679 | PCI_EXP_DEVCTL_BCR_FLR); | ||
2680 | msleep(100); | ||
2681 | |||
2682 | return 0; | ||
2683 | } | ||
2684 | |||
2685 | #define PCI_DEVICE_ID_INTEL_82599_SFP_VF 0x10ed | ||
2686 | |||
2687 | static const struct pci_dev_reset_methods pci_dev_reset_methods[] = { | ||
2688 | { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82599_SFP_VF, | ||
2689 | reset_intel_82599_sfp_virtfn }, | ||
2690 | { PCI_VENDOR_ID_INTEL, PCI_ANY_ID, | ||
2691 | reset_intel_generic_dev }, | ||
2692 | { 0 } | ||
2693 | }; | ||
2694 | |||
2695 | int pci_dev_specific_reset(struct pci_dev *dev, int probe) | ||
2696 | { | ||
2697 | const struct pci_dev_reset_methods *i; | ||
2698 | |||
2699 | for (i = pci_dev_reset_methods; i->reset; i++) { | ||
2700 | if ((i->vendor == dev->vendor || | ||
2701 | i->vendor == (u16)PCI_ANY_ID) && | ||
2702 | (i->device == dev->device || | ||
2703 | i->device == (u16)PCI_ANY_ID)) | ||
2704 | return i->reset(dev, probe); | ||
2705 | } | ||
2706 | |||
2707 | return -ENOTTY; | ||
2708 | } | ||
2709 | |||
2639 | #else | 2710 | #else |
2640 | void pci_fixup_device(enum pci_fixup_pass pass, struct pci_dev *dev) {} | 2711 | void pci_fixup_device(enum pci_fixup_pass pass, struct pci_dev *dev) {} |
2712 | int pci_dev_specific_reset(struct pci_dev *dev, int probe) { return -ENOTTY; } | ||
2641 | #endif | 2713 | #endif |
2642 | EXPORT_SYMBOL(pci_fixup_device); | 2714 | EXPORT_SYMBOL(pci_fixup_device); |
diff --git a/drivers/pci/search.c b/drivers/pci/search.c index 6dae87143258..4a471dc4f4b9 100644 --- a/drivers/pci/search.c +++ b/drivers/pci/search.c | |||
@@ -15,9 +15,9 @@ | |||
15 | 15 | ||
16 | DECLARE_RWSEM(pci_bus_sem); | 16 | DECLARE_RWSEM(pci_bus_sem); |
17 | /* | 17 | /* |
18 | * find the upstream PCIE-to-PCI bridge of a PCI device | 18 | * find the upstream PCIe-to-PCI bridge of a PCI device |
19 | * if the device is PCIE, return NULL | 19 | * if the device is PCIE, return NULL |
20 | * if the device isn't connected to a PCIE bridge (that is its parent is a | 20 | * if the device isn't connected to a PCIe bridge (that is its parent is a |
21 | * legacy PCI bridge and the bridge is directly connected to bus 0), return its | 21 | * legacy PCI bridge and the bridge is directly connected to bus 0), return its |
22 | * parent | 22 | * parent |
23 | */ | 23 | */ |
@@ -37,7 +37,7 @@ pci_find_upstream_pcie_bridge(struct pci_dev *pdev) | |||
37 | tmp = pdev; | 37 | tmp = pdev; |
38 | continue; | 38 | continue; |
39 | } | 39 | } |
40 | /* PCI device should connect to a PCIE bridge */ | 40 | /* PCI device should connect to a PCIe bridge */ |
41 | if (pdev->pcie_type != PCI_EXP_TYPE_PCI_BRIDGE) { | 41 | if (pdev->pcie_type != PCI_EXP_TYPE_PCI_BRIDGE) { |
42 | /* Busted hardware? */ | 42 | /* Busted hardware? */ |
43 | WARN_ON_ONCE(1); | 43 | WARN_ON_ONCE(1); |
diff --git a/drivers/pcmcia/cardbus.c b/drivers/pcmcia/cardbus.c index cdf50f3bc2df..d99f846451a3 100644 --- a/drivers/pcmcia/cardbus.c +++ b/drivers/pcmcia/cardbus.c | |||
@@ -222,7 +222,7 @@ int __ref cb_alloc(struct pcmcia_socket *s) | |||
222 | unsigned int max, pass; | 222 | unsigned int max, pass; |
223 | 223 | ||
224 | s->functions = pci_scan_slot(bus, PCI_DEVFN(0, 0)); | 224 | s->functions = pci_scan_slot(bus, PCI_DEVFN(0, 0)); |
225 | /* pcibios_fixup_bus(bus); */ | 225 | pci_fixup_cardbus(bus); |
226 | 226 | ||
227 | max = bus->secondary; | 227 | max = bus->secondary; |
228 | for (pass = 0; pass < 2; pass++) | 228 | for (pass = 0; pass < 2; pass++) |
diff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig index ec4faffe6b05..db32c25e3605 100644 --- a/drivers/platform/x86/Kconfig +++ b/drivers/platform/x86/Kconfig | |||
@@ -231,8 +231,36 @@ config THINKPAD_ACPI | |||
231 | 231 | ||
232 | This driver was formerly known as ibm-acpi. | 232 | This driver was formerly known as ibm-acpi. |
233 | 233 | ||
234 | Extra functionality will be available if the rfkill (CONFIG_RFKILL) | ||
235 | and/or ALSA (CONFIG_SND) subsystems are available in the kernel. | ||
236 | Note that if you want ThinkPad-ACPI to be built-in instead of | ||
237 | modular, ALSA and rfkill will also have to be built-in. | ||
238 | |||
234 | If you have an IBM or Lenovo ThinkPad laptop, say Y or M here. | 239 | If you have an IBM or Lenovo ThinkPad laptop, say Y or M here. |
235 | 240 | ||
241 | config THINKPAD_ACPI_ALSA_SUPPORT | ||
242 | bool "Console audio control ALSA interface" | ||
243 | depends on THINKPAD_ACPI | ||
244 | depends on SND | ||
245 | depends on SND = y || THINKPAD_ACPI = SND | ||
246 | default y | ||
247 | ---help--- | ||
248 | Enables monitoring of the built-in console audio output control | ||
249 | (headphone and speakers), which is operated by the mute and (in | ||
250 | some ThinkPad models) volume hotkeys. | ||
251 | |||
252 | If this option is enabled, ThinkPad-ACPI will export an ALSA card | ||
253 | with a single read-only mixer control, which should be used for | ||
254 | on-screen-display feedback purposes by the Desktop Environment. | ||
255 | |||
256 | Optionally, the driver will also allow software control (the | ||
257 | ALSA mixer will be made read-write). Please refer to the driver | ||
258 | documentation for details. | ||
259 | |||
260 | All IBM models have both volume and mute control. Newer Lenovo | ||
261 | models only have mute control (the volume hotkeys are just normal | ||
262 | keys and volume control is done through the main HDA mixer). | ||
263 | |||
236 | config THINKPAD_ACPI_DEBUGFACILITIES | 264 | config THINKPAD_ACPI_DEBUGFACILITIES |
237 | bool "Maintainer debug facilities" | 265 | bool "Maintainer debug facilities" |
238 | depends on THINKPAD_ACPI | 266 | depends on THINKPAD_ACPI |
diff --git a/drivers/platform/x86/dell-wmi.c b/drivers/platform/x86/dell-wmi.c index 916ccb2b316c..1b1dddbd5744 100644 --- a/drivers/platform/x86/dell-wmi.c +++ b/drivers/platform/x86/dell-wmi.c | |||
@@ -202,8 +202,13 @@ static void dell_wmi_notify(u32 value, void *context) | |||
202 | struct acpi_buffer response = { ACPI_ALLOCATE_BUFFER, NULL }; | 202 | struct acpi_buffer response = { ACPI_ALLOCATE_BUFFER, NULL }; |
203 | static struct key_entry *key; | 203 | static struct key_entry *key; |
204 | union acpi_object *obj; | 204 | union acpi_object *obj; |
205 | acpi_status status; | ||
205 | 206 | ||
206 | wmi_get_event_data(value, &response); | 207 | status = wmi_get_event_data(value, &response); |
208 | if (status != AE_OK) { | ||
209 | printk(KERN_INFO "dell-wmi: bad event status 0x%x\n", status); | ||
210 | return; | ||
211 | } | ||
207 | 212 | ||
208 | obj = (union acpi_object *)response.pointer; | 213 | obj = (union acpi_object *)response.pointer; |
209 | 214 | ||
@@ -323,8 +328,9 @@ static int __init dell_wmi_input_setup(void) | |||
323 | static int __init dell_wmi_init(void) | 328 | static int __init dell_wmi_init(void) |
324 | { | 329 | { |
325 | int err; | 330 | int err; |
331 | acpi_status status; | ||
326 | 332 | ||
327 | if (wmi_has_guid(DELL_EVENT_GUID)) { | 333 | if (!wmi_has_guid(DELL_EVENT_GUID)) { |
328 | printk(KERN_WARNING "dell-wmi: No known WMI GUID found\n"); | 334 | printk(KERN_WARNING "dell-wmi: No known WMI GUID found\n"); |
329 | return -ENODEV; | 335 | return -ENODEV; |
330 | } | 336 | } |
@@ -336,14 +342,14 @@ static int __init dell_wmi_init(void) | |||
336 | if (err) | 342 | if (err) |
337 | return err; | 343 | return err; |
338 | 344 | ||
339 | err = wmi_install_notify_handler(DELL_EVENT_GUID, | 345 | status = wmi_install_notify_handler(DELL_EVENT_GUID, |
340 | dell_wmi_notify, NULL); | 346 | dell_wmi_notify, NULL); |
341 | if (err) { | 347 | if (ACPI_FAILURE(status)) { |
342 | input_unregister_device(dell_wmi_input_dev); | 348 | input_unregister_device(dell_wmi_input_dev); |
343 | printk(KERN_ERR | 349 | printk(KERN_ERR |
344 | "dell-wmi: Unable to register notify handler - %d\n", | 350 | "dell-wmi: Unable to register notify handler - %d\n", |
345 | err); | 351 | status); |
346 | return err; | 352 | return -ENODEV; |
347 | } | 353 | } |
348 | 354 | ||
349 | return 0; | 355 | return 0; |
diff --git a/drivers/platform/x86/hp-wmi.c b/drivers/platform/x86/hp-wmi.c index 8781d8fa7a57..5b648f0c6075 100644 --- a/drivers/platform/x86/hp-wmi.c +++ b/drivers/platform/x86/hp-wmi.c | |||
@@ -338,8 +338,13 @@ static void hp_wmi_notify(u32 value, void *context) | |||
338 | static struct key_entry *key; | 338 | static struct key_entry *key; |
339 | union acpi_object *obj; | 339 | union acpi_object *obj; |
340 | int eventcode; | 340 | int eventcode; |
341 | acpi_status status; | ||
341 | 342 | ||
342 | wmi_get_event_data(value, &response); | 343 | status = wmi_get_event_data(value, &response); |
344 | if (status != AE_OK) { | ||
345 | printk(KERN_INFO "hp-wmi: bad event status 0x%x\n", status); | ||
346 | return; | ||
347 | } | ||
343 | 348 | ||
344 | obj = (union acpi_object *)response.pointer; | 349 | obj = (union acpi_object *)response.pointer; |
345 | 350 | ||
@@ -581,7 +586,7 @@ static int __init hp_wmi_init(void) | |||
581 | if (wmi_has_guid(HPWMI_EVENT_GUID)) { | 586 | if (wmi_has_guid(HPWMI_EVENT_GUID)) { |
582 | err = wmi_install_notify_handler(HPWMI_EVENT_GUID, | 587 | err = wmi_install_notify_handler(HPWMI_EVENT_GUID, |
583 | hp_wmi_notify, NULL); | 588 | hp_wmi_notify, NULL); |
584 | if (!err) | 589 | if (ACPI_SUCCESS(err)) |
585 | hp_wmi_input_setup(); | 590 | hp_wmi_input_setup(); |
586 | } | 591 | } |
587 | 592 | ||
diff --git a/drivers/platform/x86/msi-wmi.c b/drivers/platform/x86/msi-wmi.c index 7f77f908bb01..f5f70d4c6913 100644 --- a/drivers/platform/x86/msi-wmi.c +++ b/drivers/platform/x86/msi-wmi.c | |||
@@ -149,8 +149,13 @@ static void msi_wmi_notify(u32 value, void *context) | |||
149 | static struct key_entry *key; | 149 | static struct key_entry *key; |
150 | union acpi_object *obj; | 150 | union acpi_object *obj; |
151 | ktime_t cur; | 151 | ktime_t cur; |
152 | acpi_status status; | ||
152 | 153 | ||
153 | wmi_get_event_data(value, &response); | 154 | status = wmi_get_event_data(value, &response); |
155 | if (status != AE_OK) { | ||
156 | printk(KERN_INFO DRV_PFX "bad event status 0x%x\n", status); | ||
157 | return; | ||
158 | } | ||
154 | 159 | ||
155 | obj = (union acpi_object *)response.pointer; | 160 | obj = (union acpi_object *)response.pointer; |
156 | 161 | ||
@@ -236,7 +241,7 @@ static int __init msi_wmi_init(void) | |||
236 | } | 241 | } |
237 | err = wmi_install_notify_handler(MSIWMI_EVENT_GUID, | 242 | err = wmi_install_notify_handler(MSIWMI_EVENT_GUID, |
238 | msi_wmi_notify, NULL); | 243 | msi_wmi_notify, NULL); |
239 | if (err) | 244 | if (ACPI_FAILURE(err)) |
240 | return -EINVAL; | 245 | return -EINVAL; |
241 | 246 | ||
242 | err = msi_wmi_input_setup(); | 247 | err = msi_wmi_input_setup(); |
diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c index 448c8aeb166b..e67e4feb35cb 100644 --- a/drivers/platform/x86/thinkpad_acpi.c +++ b/drivers/platform/x86/thinkpad_acpi.c | |||
@@ -6384,11 +6384,13 @@ static struct ibm_struct brightness_driver_data = { | |||
6384 | * and we leave them unchanged. | 6384 | * and we leave them unchanged. |
6385 | */ | 6385 | */ |
6386 | 6386 | ||
6387 | #ifdef CONFIG_THINKPAD_ACPI_ALSA_SUPPORT | ||
6388 | |||
6387 | #define TPACPI_ALSA_DRVNAME "ThinkPad EC" | 6389 | #define TPACPI_ALSA_DRVNAME "ThinkPad EC" |
6388 | #define TPACPI_ALSA_SHRTNAME "ThinkPad Console Audio Control" | 6390 | #define TPACPI_ALSA_SHRTNAME "ThinkPad Console Audio Control" |
6389 | #define TPACPI_ALSA_MIXERNAME TPACPI_ALSA_SHRTNAME | 6391 | #define TPACPI_ALSA_MIXERNAME TPACPI_ALSA_SHRTNAME |
6390 | 6392 | ||
6391 | static int alsa_index = SNDRV_DEFAULT_IDX1; | 6393 | static int alsa_index = ~((1 << (SNDRV_CARDS - 3)) - 1); /* last three slots */ |
6392 | static char *alsa_id = "ThinkPadEC"; | 6394 | static char *alsa_id = "ThinkPadEC"; |
6393 | static int alsa_enable = SNDRV_DEFAULT_ENABLE1; | 6395 | static int alsa_enable = SNDRV_DEFAULT_ENABLE1; |
6394 | 6396 | ||
@@ -6705,10 +6707,11 @@ static int __init volume_create_alsa_mixer(void) | |||
6705 | 6707 | ||
6706 | rc = snd_card_create(alsa_index, alsa_id, THIS_MODULE, | 6708 | rc = snd_card_create(alsa_index, alsa_id, THIS_MODULE, |
6707 | sizeof(struct tpacpi_alsa_data), &card); | 6709 | sizeof(struct tpacpi_alsa_data), &card); |
6708 | if (rc < 0) | 6710 | if (rc < 0 || !card) { |
6709 | return rc; | 6711 | printk(TPACPI_ERR |
6710 | if (!card) | 6712 | "Failed to create ALSA card structures: %d\n", rc); |
6711 | return -ENOMEM; | 6713 | return 1; |
6714 | } | ||
6712 | 6715 | ||
6713 | BUG_ON(!card->private_data); | 6716 | BUG_ON(!card->private_data); |
6714 | data = card->private_data; | 6717 | data = card->private_data; |
@@ -6741,8 +6744,9 @@ static int __init volume_create_alsa_mixer(void) | |||
6741 | rc = snd_ctl_add(card, ctl_vol); | 6744 | rc = snd_ctl_add(card, ctl_vol); |
6742 | if (rc < 0) { | 6745 | if (rc < 0) { |
6743 | printk(TPACPI_ERR | 6746 | printk(TPACPI_ERR |
6744 | "Failed to create ALSA volume control\n"); | 6747 | "Failed to create ALSA volume control: %d\n", |
6745 | goto err_out; | 6748 | rc); |
6749 | goto err_exit; | ||
6746 | } | 6750 | } |
6747 | data->ctl_vol_id = &ctl_vol->id; | 6751 | data->ctl_vol_id = &ctl_vol->id; |
6748 | } | 6752 | } |
@@ -6750,22 +6754,25 @@ static int __init volume_create_alsa_mixer(void) | |||
6750 | ctl_mute = snd_ctl_new1(&volume_alsa_control_mute, NULL); | 6754 | ctl_mute = snd_ctl_new1(&volume_alsa_control_mute, NULL); |
6751 | rc = snd_ctl_add(card, ctl_mute); | 6755 | rc = snd_ctl_add(card, ctl_mute); |
6752 | if (rc < 0) { | 6756 | if (rc < 0) { |
6753 | printk(TPACPI_ERR "Failed to create ALSA mute control\n"); | 6757 | printk(TPACPI_ERR "Failed to create ALSA mute control: %d\n", |
6754 | goto err_out; | 6758 | rc); |
6759 | goto err_exit; | ||
6755 | } | 6760 | } |
6756 | data->ctl_mute_id = &ctl_mute->id; | 6761 | data->ctl_mute_id = &ctl_mute->id; |
6757 | 6762 | ||
6758 | snd_card_set_dev(card, &tpacpi_pdev->dev); | 6763 | snd_card_set_dev(card, &tpacpi_pdev->dev); |
6759 | rc = snd_card_register(card); | 6764 | rc = snd_card_register(card); |
6760 | |||
6761 | err_out: | ||
6762 | if (rc < 0) { | 6765 | if (rc < 0) { |
6763 | snd_card_free(card); | 6766 | printk(TPACPI_ERR "Failed to register ALSA card: %d\n", rc); |
6764 | card = NULL; | 6767 | goto err_exit; |
6765 | } | 6768 | } |
6766 | 6769 | ||
6767 | alsa_card = card; | 6770 | alsa_card = card; |
6768 | return rc; | 6771 | return 0; |
6772 | |||
6773 | err_exit: | ||
6774 | snd_card_free(card); | ||
6775 | return 1; | ||
6769 | } | 6776 | } |
6770 | 6777 | ||
6771 | #define TPACPI_VOL_Q_MUTEONLY 0x0001 /* Mute-only control available */ | 6778 | #define TPACPI_VOL_Q_MUTEONLY 0x0001 /* Mute-only control available */ |
@@ -7016,6 +7023,28 @@ static struct ibm_struct volume_driver_data = { | |||
7016 | .shutdown = volume_shutdown, | 7023 | .shutdown = volume_shutdown, |
7017 | }; | 7024 | }; |
7018 | 7025 | ||
7026 | #else /* !CONFIG_THINKPAD_ACPI_ALSA_SUPPORT */ | ||
7027 | |||
7028 | #define alsa_card NULL | ||
7029 | |||
7030 | static void inline volume_alsa_notify_change(void) | ||
7031 | { | ||
7032 | } | ||
7033 | |||
7034 | static int __init volume_init(struct ibm_init_struct *iibm) | ||
7035 | { | ||
7036 | printk(TPACPI_INFO | ||
7037 | "volume: disabled as there is no ALSA support in this kernel\n"); | ||
7038 | |||
7039 | return 1; | ||
7040 | } | ||
7041 | |||
7042 | static struct ibm_struct volume_driver_data = { | ||
7043 | .name = "volume", | ||
7044 | }; | ||
7045 | |||
7046 | #endif /* CONFIG_THINKPAD_ACPI_ALSA_SUPPORT */ | ||
7047 | |||
7019 | /************************************************************************* | 7048 | /************************************************************************* |
7020 | * Fan subdriver | 7049 | * Fan subdriver |
7021 | */ | 7050 | */ |
@@ -8738,6 +8767,7 @@ MODULE_PARM_DESC(hotkey_report_mode, | |||
8738 | "used for backwards compatibility with userspace, " | 8767 | "used for backwards compatibility with userspace, " |
8739 | "see documentation"); | 8768 | "see documentation"); |
8740 | 8769 | ||
8770 | #ifdef CONFIG_THINKPAD_ACPI_ALSA_SUPPORT | ||
8741 | module_param_named(volume_mode, volume_mode, uint, 0444); | 8771 | module_param_named(volume_mode, volume_mode, uint, 0444); |
8742 | MODULE_PARM_DESC(volume_mode, | 8772 | MODULE_PARM_DESC(volume_mode, |
8743 | "Selects volume control strategy: " | 8773 | "Selects volume control strategy: " |
@@ -8760,6 +8790,7 @@ module_param_named(id, alsa_id, charp, 0444); | |||
8760 | MODULE_PARM_DESC(id, "ALSA id for the ACPI EC Mixer"); | 8790 | MODULE_PARM_DESC(id, "ALSA id for the ACPI EC Mixer"); |
8761 | module_param_named(enable, alsa_enable, bool, 0444); | 8791 | module_param_named(enable, alsa_enable, bool, 0444); |
8762 | MODULE_PARM_DESC(enable, "Enable the ALSA interface for the ACPI EC Mixer"); | 8792 | MODULE_PARM_DESC(enable, "Enable the ALSA interface for the ACPI EC Mixer"); |
8793 | #endif /* CONFIG_THINKPAD_ACPI_ALSA_SUPPORT */ | ||
8763 | 8794 | ||
8764 | #define TPACPI_PARAM(feature) \ | 8795 | #define TPACPI_PARAM(feature) \ |
8765 | module_param_call(feature, set_ibm_param, NULL, NULL, 0); \ | 8796 | module_param_call(feature, set_ibm_param, NULL, NULL, 0); \ |
diff --git a/drivers/platform/x86/wmi.c b/drivers/platform/x86/wmi.c index 9f93d6c0f510..b104302fea0a 100644 --- a/drivers/platform/x86/wmi.c +++ b/drivers/platform/x86/wmi.c | |||
@@ -492,8 +492,7 @@ wmi_notify_handler handler, void *data) | |||
492 | if (!guid || !handler) | 492 | if (!guid || !handler) |
493 | return AE_BAD_PARAMETER; | 493 | return AE_BAD_PARAMETER; |
494 | 494 | ||
495 | find_guid(guid, &block); | 495 | if (!find_guid(guid, &block)) |
496 | if (!block) | ||
497 | return AE_NOT_EXIST; | 496 | return AE_NOT_EXIST; |
498 | 497 | ||
499 | if (block->handler) | 498 | if (block->handler) |
@@ -521,8 +520,7 @@ acpi_status wmi_remove_notify_handler(const char *guid) | |||
521 | if (!guid) | 520 | if (!guid) |
522 | return AE_BAD_PARAMETER; | 521 | return AE_BAD_PARAMETER; |
523 | 522 | ||
524 | find_guid(guid, &block); | 523 | if (!find_guid(guid, &block)) |
525 | if (!block) | ||
526 | return AE_NOT_EXIST; | 524 | return AE_NOT_EXIST; |
527 | 525 | ||
528 | if (!block->handler) | 526 | if (!block->handler) |
@@ -716,6 +714,22 @@ static int wmi_class_init(void) | |||
716 | return ret; | 714 | return ret; |
717 | } | 715 | } |
718 | 716 | ||
717 | static bool guid_already_parsed(const char *guid_string) | ||
718 | { | ||
719 | struct guid_block *gblock; | ||
720 | struct wmi_block *wblock; | ||
721 | struct list_head *p; | ||
722 | |||
723 | list_for_each(p, &wmi_blocks.list) { | ||
724 | wblock = list_entry(p, struct wmi_block, list); | ||
725 | gblock = &wblock->gblock; | ||
726 | |||
727 | if (strncmp(gblock->guid, guid_string, 16) == 0) | ||
728 | return true; | ||
729 | } | ||
730 | return false; | ||
731 | } | ||
732 | |||
719 | /* | 733 | /* |
720 | * Parse the _WDG method for the GUID data blocks | 734 | * Parse the _WDG method for the GUID data blocks |
721 | */ | 735 | */ |
@@ -725,6 +739,7 @@ static __init acpi_status parse_wdg(acpi_handle handle) | |||
725 | union acpi_object *obj; | 739 | union acpi_object *obj; |
726 | struct guid_block *gblock; | 740 | struct guid_block *gblock; |
727 | struct wmi_block *wblock; | 741 | struct wmi_block *wblock; |
742 | char guid_string[37]; | ||
728 | acpi_status status; | 743 | acpi_status status; |
729 | u32 i, total; | 744 | u32 i, total; |
730 | 745 | ||
@@ -747,6 +762,19 @@ static __init acpi_status parse_wdg(acpi_handle handle) | |||
747 | memcpy(gblock, obj->buffer.pointer, obj->buffer.length); | 762 | memcpy(gblock, obj->buffer.pointer, obj->buffer.length); |
748 | 763 | ||
749 | for (i = 0; i < total; i++) { | 764 | for (i = 0; i < total; i++) { |
765 | /* | ||
766 | Some WMI devices, like those for nVidia hooks, have a | ||
767 | duplicate GUID. It's not clear what we should do in this | ||
768 | case yet, so for now, we'll just ignore the duplicate. | ||
769 | Anyone who wants to add support for that device can come | ||
770 | up with a better workaround for the mess then. | ||
771 | */ | ||
772 | if (guid_already_parsed(gblock[i].guid) == true) { | ||
773 | wmi_gtoa(gblock[i].guid, guid_string); | ||
774 | printk(KERN_INFO PREFIX "Skipping duplicate GUID %s\n", | ||
775 | guid_string); | ||
776 | continue; | ||
777 | } | ||
750 | wblock = kzalloc(sizeof(struct wmi_block), GFP_KERNEL); | 778 | wblock = kzalloc(sizeof(struct wmi_block), GFP_KERNEL); |
751 | if (!wblock) | 779 | if (!wblock) |
752 | return AE_NO_MEMORY; | 780 | return AE_NO_MEMORY; |
diff --git a/drivers/s390/cio/Makefile b/drivers/s390/cio/Makefile index d033414f7599..e1b700a19648 100644 --- a/drivers/s390/cio/Makefile +++ b/drivers/s390/cio/Makefile | |||
@@ -10,5 +10,5 @@ obj-y += ccw_device.o cmf.o | |||
10 | obj-$(CONFIG_CHSC_SCH) += chsc_sch.o | 10 | obj-$(CONFIG_CHSC_SCH) += chsc_sch.o |
11 | obj-$(CONFIG_CCWGROUP) += ccwgroup.o | 11 | obj-$(CONFIG_CCWGROUP) += ccwgroup.o |
12 | 12 | ||
13 | qdio-objs := qdio_main.o qdio_thinint.o qdio_debug.o qdio_perf.o qdio_setup.o | 13 | qdio-objs := qdio_main.o qdio_thinint.o qdio_debug.o qdio_setup.o |
14 | obj-$(CONFIG_QDIO) += qdio.o | 14 | obj-$(CONFIG_QDIO) += qdio.o |
diff --git a/drivers/s390/cio/qdio.h b/drivers/s390/cio/qdio.h index ff7748a9199d..44f2f6a97f33 100644 --- a/drivers/s390/cio/qdio.h +++ b/drivers/s390/cio/qdio.h | |||
@@ -182,6 +182,34 @@ struct scssc_area { | |||
182 | u32:32; | 182 | u32:32; |
183 | } __attribute__ ((packed)); | 183 | } __attribute__ ((packed)); |
184 | 184 | ||
185 | struct qdio_dev_perf_stat { | ||
186 | unsigned int adapter_int; | ||
187 | unsigned int qdio_int; | ||
188 | unsigned int pci_request_int; | ||
189 | |||
190 | unsigned int tasklet_inbound; | ||
191 | unsigned int tasklet_inbound_resched; | ||
192 | unsigned int tasklet_inbound_resched2; | ||
193 | unsigned int tasklet_outbound; | ||
194 | |||
195 | unsigned int siga_read; | ||
196 | unsigned int siga_write; | ||
197 | unsigned int siga_sync; | ||
198 | |||
199 | unsigned int inbound_call; | ||
200 | unsigned int inbound_handler; | ||
201 | unsigned int stop_polling; | ||
202 | unsigned int inbound_queue_full; | ||
203 | unsigned int outbound_call; | ||
204 | unsigned int outbound_handler; | ||
205 | unsigned int fast_requeue; | ||
206 | unsigned int target_full; | ||
207 | unsigned int eqbs; | ||
208 | unsigned int eqbs_partial; | ||
209 | unsigned int sqbs; | ||
210 | unsigned int sqbs_partial; | ||
211 | }; | ||
212 | |||
185 | struct qdio_input_q { | 213 | struct qdio_input_q { |
186 | /* input buffer acknowledgement flag */ | 214 | /* input buffer acknowledgement flag */ |
187 | int polling; | 215 | int polling; |
@@ -269,6 +297,7 @@ struct qdio_irq { | |||
269 | u32 *dsci; /* address of device state change indicator */ | 297 | u32 *dsci; /* address of device state change indicator */ |
270 | struct ccw_device *cdev; | 298 | struct ccw_device *cdev; |
271 | struct dentry *debugfs_dev; | 299 | struct dentry *debugfs_dev; |
300 | struct dentry *debugfs_perf; | ||
272 | 301 | ||
273 | unsigned long int_parm; | 302 | unsigned long int_parm; |
274 | struct subchannel_id schid; | 303 | struct subchannel_id schid; |
@@ -286,9 +315,10 @@ struct qdio_irq { | |||
286 | struct ciw aqueue; | 315 | struct ciw aqueue; |
287 | 316 | ||
288 | struct qdio_ssqd_desc ssqd_desc; | 317 | struct qdio_ssqd_desc ssqd_desc; |
289 | |||
290 | void (*orig_handler) (struct ccw_device *, unsigned long, struct irb *); | 318 | void (*orig_handler) (struct ccw_device *, unsigned long, struct irb *); |
291 | 319 | ||
320 | struct qdio_dev_perf_stat perf_stat; | ||
321 | int perf_stat_enabled; | ||
292 | /* | 322 | /* |
293 | * Warning: Leave these members together at the end so they won't be | 323 | * Warning: Leave these members together at the end so they won't be |
294 | * cleared in qdio_setup_irq. | 324 | * cleared in qdio_setup_irq. |
@@ -311,6 +341,10 @@ struct qdio_irq { | |||
311 | (irq->qib.qfmt == QDIO_IQDIO_QFMT || \ | 341 | (irq->qib.qfmt == QDIO_IQDIO_QFMT || \ |
312 | css_general_characteristics.aif_osa) | 342 | css_general_characteristics.aif_osa) |
313 | 343 | ||
344 | #define qperf(qdev,attr) qdev->perf_stat.attr | ||
345 | #define qperf_inc(q,attr) if (q->irq_ptr->perf_stat_enabled) \ | ||
346 | q->irq_ptr->perf_stat.attr++ | ||
347 | |||
314 | /* the highest iqdio queue is used for multicast */ | 348 | /* the highest iqdio queue is used for multicast */ |
315 | static inline int multicast_outbound(struct qdio_q *q) | 349 | static inline int multicast_outbound(struct qdio_q *q) |
316 | { | 350 | { |
diff --git a/drivers/s390/cio/qdio_debug.c b/drivers/s390/cio/qdio_debug.c index 76769978285f..f49761ff9a00 100644 --- a/drivers/s390/cio/qdio_debug.c +++ b/drivers/s390/cio/qdio_debug.c | |||
@@ -55,13 +55,11 @@ static int qstat_show(struct seq_file *m, void *v) | |||
55 | if (!q) | 55 | if (!q) |
56 | return 0; | 56 | return 0; |
57 | 57 | ||
58 | seq_printf(m, "device state indicator: %d\n", *(u32 *)q->irq_ptr->dsci); | 58 | seq_printf(m, "DSCI: %d nr_used: %d\n", |
59 | seq_printf(m, "nr_used: %d\n", atomic_read(&q->nr_buf_used)); | 59 | *(u32 *)q->irq_ptr->dsci, atomic_read(&q->nr_buf_used)); |
60 | seq_printf(m, "ftc: %d\n", q->first_to_check); | 60 | seq_printf(m, "ftc: %d last_move: %d\n", q->first_to_check, q->last_move); |
61 | seq_printf(m, "last_move: %d\n", q->last_move); | 61 | seq_printf(m, "polling: %d ack start: %d ack count: %d\n", |
62 | seq_printf(m, "polling: %d\n", q->u.in.polling); | 62 | q->u.in.polling, q->u.in.ack_start, q->u.in.ack_count); |
63 | seq_printf(m, "ack start: %d\n", q->u.in.ack_start); | ||
64 | seq_printf(m, "ack count: %d\n", q->u.in.ack_count); | ||
65 | seq_printf(m, "slsb buffer states:\n"); | 63 | seq_printf(m, "slsb buffer states:\n"); |
66 | seq_printf(m, "|0 |8 |16 |24 |32 |40 |48 |56 63|\n"); | 64 | seq_printf(m, "|0 |8 |16 |24 |32 |40 |48 |56 63|\n"); |
67 | 65 | ||
@@ -110,7 +108,6 @@ static ssize_t qstat_seq_write(struct file *file, const char __user *buf, | |||
110 | 108 | ||
111 | if (!q) | 109 | if (!q) |
112 | return 0; | 110 | return 0; |
113 | |||
114 | if (q->is_input_q) | 111 | if (q->is_input_q) |
115 | xchg(q->irq_ptr->dsci, 1); | 112 | xchg(q->irq_ptr->dsci, 1); |
116 | local_bh_disable(); | 113 | local_bh_disable(); |
@@ -134,6 +131,98 @@ static const struct file_operations debugfs_fops = { | |||
134 | .release = single_release, | 131 | .release = single_release, |
135 | }; | 132 | }; |
136 | 133 | ||
134 | static char *qperf_names[] = { | ||
135 | "Assumed adapter interrupts", | ||
136 | "QDIO interrupts", | ||
137 | "Requested PCIs", | ||
138 | "Inbound tasklet runs", | ||
139 | "Inbound tasklet resched", | ||
140 | "Inbound tasklet resched2", | ||
141 | "Outbound tasklet runs", | ||
142 | "SIGA read", | ||
143 | "SIGA write", | ||
144 | "SIGA sync", | ||
145 | "Inbound calls", | ||
146 | "Inbound handler", | ||
147 | "Inbound stop_polling", | ||
148 | "Inbound queue full", | ||
149 | "Outbound calls", | ||
150 | "Outbound handler", | ||
151 | "Outbound fast_requeue", | ||
152 | "Outbound target_full", | ||
153 | "QEBSM eqbs", | ||
154 | "QEBSM eqbs partial", | ||
155 | "QEBSM sqbs", | ||
156 | "QEBSM sqbs partial" | ||
157 | }; | ||
158 | |||
159 | static int qperf_show(struct seq_file *m, void *v) | ||
160 | { | ||
161 | struct qdio_irq *irq_ptr = m->private; | ||
162 | unsigned int *stat; | ||
163 | int i; | ||
164 | |||
165 | if (!irq_ptr) | ||
166 | return 0; | ||
167 | if (!irq_ptr->perf_stat_enabled) { | ||
168 | seq_printf(m, "disabled\n"); | ||
169 | return 0; | ||
170 | } | ||
171 | stat = (unsigned int *)&irq_ptr->perf_stat; | ||
172 | |||
173 | for (i = 0; i < ARRAY_SIZE(qperf_names); i++) | ||
174 | seq_printf(m, "%26s:\t%u\n", | ||
175 | qperf_names[i], *(stat + i)); | ||
176 | return 0; | ||
177 | } | ||
178 | |||
179 | static ssize_t qperf_seq_write(struct file *file, const char __user *ubuf, | ||
180 | size_t count, loff_t *off) | ||
181 | { | ||
182 | struct seq_file *seq = file->private_data; | ||
183 | struct qdio_irq *irq_ptr = seq->private; | ||
184 | unsigned long val; | ||
185 | char buf[8]; | ||
186 | int ret; | ||
187 | |||
188 | if (!irq_ptr) | ||
189 | return 0; | ||
190 | if (count >= sizeof(buf)) | ||
191 | return -EINVAL; | ||
192 | if (copy_from_user(&buf, ubuf, count)) | ||
193 | return -EFAULT; | ||
194 | buf[count] = 0; | ||
195 | |||
196 | ret = strict_strtoul(buf, 10, &val); | ||
197 | if (ret < 0) | ||
198 | return ret; | ||
199 | |||
200 | switch (val) { | ||
201 | case 0: | ||
202 | irq_ptr->perf_stat_enabled = 0; | ||
203 | memset(&irq_ptr->perf_stat, 0, sizeof(irq_ptr->perf_stat)); | ||
204 | break; | ||
205 | case 1: | ||
206 | irq_ptr->perf_stat_enabled = 1; | ||
207 | break; | ||
208 | } | ||
209 | return count; | ||
210 | } | ||
211 | |||
212 | static int qperf_seq_open(struct inode *inode, struct file *filp) | ||
213 | { | ||
214 | return single_open(filp, qperf_show, | ||
215 | filp->f_path.dentry->d_inode->i_private); | ||
216 | } | ||
217 | |||
218 | static struct file_operations debugfs_perf_fops = { | ||
219 | .owner = THIS_MODULE, | ||
220 | .open = qperf_seq_open, | ||
221 | .read = seq_read, | ||
222 | .write = qperf_seq_write, | ||
223 | .llseek = seq_lseek, | ||
224 | .release = single_release, | ||
225 | }; | ||
137 | static void setup_debugfs_entry(struct qdio_q *q, struct ccw_device *cdev) | 226 | static void setup_debugfs_entry(struct qdio_q *q, struct ccw_device *cdev) |
138 | { | 227 | { |
139 | char name[QDIO_DEBUGFS_NAME_LEN]; | 228 | char name[QDIO_DEBUGFS_NAME_LEN]; |
@@ -156,6 +245,14 @@ void qdio_setup_debug_entries(struct qdio_irq *irq_ptr, struct ccw_device *cdev) | |||
156 | debugfs_root); | 245 | debugfs_root); |
157 | if (IS_ERR(irq_ptr->debugfs_dev)) | 246 | if (IS_ERR(irq_ptr->debugfs_dev)) |
158 | irq_ptr->debugfs_dev = NULL; | 247 | irq_ptr->debugfs_dev = NULL; |
248 | |||
249 | irq_ptr->debugfs_perf = debugfs_create_file("statistics", | ||
250 | S_IFREG | S_IRUGO | S_IWUSR, | ||
251 | irq_ptr->debugfs_dev, irq_ptr, | ||
252 | &debugfs_perf_fops); | ||
253 | if (IS_ERR(irq_ptr->debugfs_perf)) | ||
254 | irq_ptr->debugfs_perf = NULL; | ||
255 | |||
159 | for_each_input_queue(irq_ptr, q, i) | 256 | for_each_input_queue(irq_ptr, q, i) |
160 | setup_debugfs_entry(q, cdev); | 257 | setup_debugfs_entry(q, cdev); |
161 | for_each_output_queue(irq_ptr, q, i) | 258 | for_each_output_queue(irq_ptr, q, i) |
@@ -171,6 +268,7 @@ void qdio_shutdown_debug_entries(struct qdio_irq *irq_ptr, struct ccw_device *cd | |||
171 | debugfs_remove(q->debugfs_q); | 268 | debugfs_remove(q->debugfs_q); |
172 | for_each_output_queue(irq_ptr, q, i) | 269 | for_each_output_queue(irq_ptr, q, i) |
173 | debugfs_remove(q->debugfs_q); | 270 | debugfs_remove(q->debugfs_q); |
271 | debugfs_remove(irq_ptr->debugfs_perf); | ||
174 | debugfs_remove(irq_ptr->debugfs_dev); | 272 | debugfs_remove(irq_ptr->debugfs_dev); |
175 | } | 273 | } |
176 | 274 | ||
diff --git a/drivers/s390/cio/qdio_main.c b/drivers/s390/cio/qdio_main.c index b2275c5000e7..999fe80c4051 100644 --- a/drivers/s390/cio/qdio_main.c +++ b/drivers/s390/cio/qdio_main.c | |||
@@ -22,7 +22,6 @@ | |||
22 | #include "device.h" | 22 | #include "device.h" |
23 | #include "qdio.h" | 23 | #include "qdio.h" |
24 | #include "qdio_debug.h" | 24 | #include "qdio_debug.h" |
25 | #include "qdio_perf.h" | ||
26 | 25 | ||
27 | MODULE_AUTHOR("Utz Bacher <utz.bacher@de.ibm.com>,"\ | 26 | MODULE_AUTHOR("Utz Bacher <utz.bacher@de.ibm.com>,"\ |
28 | "Jan Glauber <jang@linux.vnet.ibm.com>"); | 27 | "Jan Glauber <jang@linux.vnet.ibm.com>"); |
@@ -126,7 +125,7 @@ static int qdio_do_eqbs(struct qdio_q *q, unsigned char *state, | |||
126 | int rc; | 125 | int rc; |
127 | 126 | ||
128 | BUG_ON(!q->irq_ptr->sch_token); | 127 | BUG_ON(!q->irq_ptr->sch_token); |
129 | qdio_perf_stat_inc(&perf_stats.debug_eqbs_all); | 128 | qperf_inc(q, eqbs); |
130 | 129 | ||
131 | if (!q->is_input_q) | 130 | if (!q->is_input_q) |
132 | nr += q->irq_ptr->nr_input_qs; | 131 | nr += q->irq_ptr->nr_input_qs; |
@@ -139,7 +138,7 @@ again: | |||
139 | * buffers later. | 138 | * buffers later. |
140 | */ | 139 | */ |
141 | if ((ccq == 96) && (count != tmp_count)) { | 140 | if ((ccq == 96) && (count != tmp_count)) { |
142 | qdio_perf_stat_inc(&perf_stats.debug_eqbs_incomplete); | 141 | qperf_inc(q, eqbs_partial); |
143 | return (count - tmp_count); | 142 | return (count - tmp_count); |
144 | } | 143 | } |
145 | 144 | ||
@@ -182,7 +181,7 @@ static int qdio_do_sqbs(struct qdio_q *q, unsigned char state, int start, | |||
182 | return 0; | 181 | return 0; |
183 | 182 | ||
184 | BUG_ON(!q->irq_ptr->sch_token); | 183 | BUG_ON(!q->irq_ptr->sch_token); |
185 | qdio_perf_stat_inc(&perf_stats.debug_sqbs_all); | 184 | qperf_inc(q, sqbs); |
186 | 185 | ||
187 | if (!q->is_input_q) | 186 | if (!q->is_input_q) |
188 | nr += q->irq_ptr->nr_input_qs; | 187 | nr += q->irq_ptr->nr_input_qs; |
@@ -191,7 +190,7 @@ again: | |||
191 | rc = qdio_check_ccq(q, ccq); | 190 | rc = qdio_check_ccq(q, ccq); |
192 | if (rc == 1) { | 191 | if (rc == 1) { |
193 | DBF_DEV_EVENT(DBF_INFO, q->irq_ptr, "SQBS again:%2d", ccq); | 192 | DBF_DEV_EVENT(DBF_INFO, q->irq_ptr, "SQBS again:%2d", ccq); |
194 | qdio_perf_stat_inc(&perf_stats.debug_sqbs_incomplete); | 193 | qperf_inc(q, sqbs_partial); |
195 | goto again; | 194 | goto again; |
196 | } | 195 | } |
197 | if (rc < 0) { | 196 | if (rc < 0) { |
@@ -285,7 +284,7 @@ static inline int qdio_siga_sync(struct qdio_q *q, unsigned int output, | |||
285 | return 0; | 284 | return 0; |
286 | 285 | ||
287 | DBF_DEV_EVENT(DBF_INFO, q->irq_ptr, "siga-s:%1d", q->nr); | 286 | DBF_DEV_EVENT(DBF_INFO, q->irq_ptr, "siga-s:%1d", q->nr); |
288 | qdio_perf_stat_inc(&perf_stats.siga_sync); | 287 | qperf_inc(q, siga_sync); |
289 | 288 | ||
290 | cc = do_siga_sync(q->irq_ptr->schid, output, input); | 289 | cc = do_siga_sync(q->irq_ptr->schid, output, input); |
291 | if (cc) | 290 | if (cc) |
@@ -350,7 +349,7 @@ static inline int qdio_siga_input(struct qdio_q *q) | |||
350 | int cc; | 349 | int cc; |
351 | 350 | ||
352 | DBF_DEV_EVENT(DBF_INFO, q->irq_ptr, "siga-r:%1d", q->nr); | 351 | DBF_DEV_EVENT(DBF_INFO, q->irq_ptr, "siga-r:%1d", q->nr); |
353 | qdio_perf_stat_inc(&perf_stats.siga_in); | 352 | qperf_inc(q, siga_read); |
354 | 353 | ||
355 | cc = do_siga_input(q->irq_ptr->schid, q->mask); | 354 | cc = do_siga_input(q->irq_ptr->schid, q->mask); |
356 | if (cc) | 355 | if (cc) |
@@ -382,7 +381,7 @@ static inline void qdio_stop_polling(struct qdio_q *q) | |||
382 | return; | 381 | return; |
383 | 382 | ||
384 | q->u.in.polling = 0; | 383 | q->u.in.polling = 0; |
385 | qdio_perf_stat_inc(&perf_stats.debug_stop_polling); | 384 | qperf_inc(q, stop_polling); |
386 | 385 | ||
387 | /* show the card that we are not polling anymore */ | 386 | /* show the card that we are not polling anymore */ |
388 | if (is_qebsm(q)) { | 387 | if (is_qebsm(q)) { |
@@ -400,7 +399,7 @@ static void announce_buffer_error(struct qdio_q *q, int count) | |||
400 | /* special handling for no target buffer empty */ | 399 | /* special handling for no target buffer empty */ |
401 | if ((!q->is_input_q && | 400 | if ((!q->is_input_q && |
402 | (q->sbal[q->first_to_check]->element[15].flags & 0xff) == 0x10)) { | 401 | (q->sbal[q->first_to_check]->element[15].flags & 0xff) == 0x10)) { |
403 | qdio_perf_stat_inc(&perf_stats.outbound_target_full); | 402 | qperf_inc(q, target_full); |
404 | DBF_DEV_EVENT(DBF_INFO, q->irq_ptr, "OUTFULL FTC:%02x", | 403 | DBF_DEV_EVENT(DBF_INFO, q->irq_ptr, "OUTFULL FTC:%02x", |
405 | q->first_to_check); | 404 | q->first_to_check); |
406 | return; | 405 | return; |
@@ -487,7 +486,7 @@ static int get_inbound_buffer_frontier(struct qdio_q *q) | |||
487 | inbound_primed(q, count); | 486 | inbound_primed(q, count); |
488 | q->first_to_check = add_buf(q->first_to_check, count); | 487 | q->first_to_check = add_buf(q->first_to_check, count); |
489 | if (atomic_sub(count, &q->nr_buf_used) == 0) | 488 | if (atomic_sub(count, &q->nr_buf_used) == 0) |
490 | qdio_perf_stat_inc(&perf_stats.inbound_queue_full); | 489 | qperf_inc(q, inbound_queue_full); |
491 | break; | 490 | break; |
492 | case SLSB_P_INPUT_ERROR: | 491 | case SLSB_P_INPUT_ERROR: |
493 | announce_buffer_error(q, count); | 492 | announce_buffer_error(q, count); |
@@ -567,9 +566,10 @@ static void qdio_kick_handler(struct qdio_q *q) | |||
567 | count = sub_buf(end, start); | 566 | count = sub_buf(end, start); |
568 | 567 | ||
569 | if (q->is_input_q) { | 568 | if (q->is_input_q) { |
570 | qdio_perf_stat_inc(&perf_stats.inbound_handler); | 569 | qperf_inc(q, inbound_handler); |
571 | DBF_DEV_EVENT(DBF_INFO, q->irq_ptr, "kih s:%02x c:%02x", start, count); | 570 | DBF_DEV_EVENT(DBF_INFO, q->irq_ptr, "kih s:%02x c:%02x", start, count); |
572 | } else | 571 | } else |
572 | qperf_inc(q, outbound_handler); | ||
573 | DBF_DEV_EVENT(DBF_INFO, q->irq_ptr, "koh: s:%02x c:%02x", | 573 | DBF_DEV_EVENT(DBF_INFO, q->irq_ptr, "koh: s:%02x c:%02x", |
574 | start, count); | 574 | start, count); |
575 | 575 | ||
@@ -583,24 +583,28 @@ static void qdio_kick_handler(struct qdio_q *q) | |||
583 | 583 | ||
584 | static void __qdio_inbound_processing(struct qdio_q *q) | 584 | static void __qdio_inbound_processing(struct qdio_q *q) |
585 | { | 585 | { |
586 | qdio_perf_stat_inc(&perf_stats.tasklet_inbound); | 586 | qperf_inc(q, tasklet_inbound); |
587 | again: | 587 | again: |
588 | if (!qdio_inbound_q_moved(q)) | 588 | if (!qdio_inbound_q_moved(q)) |
589 | return; | 589 | return; |
590 | 590 | ||
591 | qdio_kick_handler(q); | 591 | qdio_kick_handler(q); |
592 | 592 | ||
593 | if (!qdio_inbound_q_done(q)) | 593 | if (!qdio_inbound_q_done(q)) { |
594 | /* means poll time is not yet over */ | 594 | /* means poll time is not yet over */ |
595 | qperf_inc(q, tasklet_inbound_resched); | ||
595 | goto again; | 596 | goto again; |
597 | } | ||
596 | 598 | ||
597 | qdio_stop_polling(q); | 599 | qdio_stop_polling(q); |
598 | /* | 600 | /* |
599 | * We need to check again to not lose initiative after | 601 | * We need to check again to not lose initiative after |
600 | * resetting the ACK state. | 602 | * resetting the ACK state. |
601 | */ | 603 | */ |
602 | if (!qdio_inbound_q_done(q)) | 604 | if (!qdio_inbound_q_done(q)) { |
605 | qperf_inc(q, tasklet_inbound_resched2); | ||
603 | goto again; | 606 | goto again; |
607 | } | ||
604 | } | 608 | } |
605 | 609 | ||
606 | void qdio_inbound_processing(unsigned long data) | 610 | void qdio_inbound_processing(unsigned long data) |
@@ -688,7 +692,7 @@ static int qdio_kick_outbound_q(struct qdio_q *q) | |||
688 | return 0; | 692 | return 0; |
689 | 693 | ||
690 | DBF_DEV_EVENT(DBF_INFO, q->irq_ptr, "siga-w:%1d", q->nr); | 694 | DBF_DEV_EVENT(DBF_INFO, q->irq_ptr, "siga-w:%1d", q->nr); |
691 | qdio_perf_stat_inc(&perf_stats.siga_out); | 695 | qperf_inc(q, siga_write); |
692 | 696 | ||
693 | cc = qdio_siga_output(q, &busy_bit); | 697 | cc = qdio_siga_output(q, &busy_bit); |
694 | switch (cc) { | 698 | switch (cc) { |
@@ -711,7 +715,7 @@ static int qdio_kick_outbound_q(struct qdio_q *q) | |||
711 | 715 | ||
712 | static void __qdio_outbound_processing(struct qdio_q *q) | 716 | static void __qdio_outbound_processing(struct qdio_q *q) |
713 | { | 717 | { |
714 | qdio_perf_stat_inc(&perf_stats.tasklet_outbound); | 718 | qperf_inc(q, tasklet_outbound); |
715 | BUG_ON(atomic_read(&q->nr_buf_used) < 0); | 719 | BUG_ON(atomic_read(&q->nr_buf_used) < 0); |
716 | 720 | ||
717 | if (qdio_outbound_q_moved(q)) | 721 | if (qdio_outbound_q_moved(q)) |
@@ -739,12 +743,9 @@ static void __qdio_outbound_processing(struct qdio_q *q) | |||
739 | */ | 743 | */ |
740 | if (qdio_outbound_q_done(q)) | 744 | if (qdio_outbound_q_done(q)) |
741 | del_timer(&q->u.out.timer); | 745 | del_timer(&q->u.out.timer); |
742 | else { | 746 | else |
743 | if (!timer_pending(&q->u.out.timer)) { | 747 | if (!timer_pending(&q->u.out.timer)) |
744 | mod_timer(&q->u.out.timer, jiffies + 10 * HZ); | 748 | mod_timer(&q->u.out.timer, jiffies + 10 * HZ); |
745 | qdio_perf_stat_inc(&perf_stats.debug_tl_out_timer); | ||
746 | } | ||
747 | } | ||
748 | return; | 749 | return; |
749 | 750 | ||
750 | sched: | 751 | sched: |
@@ -784,7 +785,7 @@ static inline void qdio_check_outbound_after_thinint(struct qdio_q *q) | |||
784 | 785 | ||
785 | static void __tiqdio_inbound_processing(struct qdio_q *q) | 786 | static void __tiqdio_inbound_processing(struct qdio_q *q) |
786 | { | 787 | { |
787 | qdio_perf_stat_inc(&perf_stats.thinint_inbound); | 788 | qperf_inc(q, tasklet_inbound); |
788 | qdio_sync_after_thinint(q); | 789 | qdio_sync_after_thinint(q); |
789 | 790 | ||
790 | /* | 791 | /* |
@@ -799,7 +800,7 @@ static void __tiqdio_inbound_processing(struct qdio_q *q) | |||
799 | qdio_kick_handler(q); | 800 | qdio_kick_handler(q); |
800 | 801 | ||
801 | if (!qdio_inbound_q_done(q)) { | 802 | if (!qdio_inbound_q_done(q)) { |
802 | qdio_perf_stat_inc(&perf_stats.thinint_inbound_loop); | 803 | qperf_inc(q, tasklet_inbound_resched); |
803 | if (likely(q->irq_ptr->state != QDIO_IRQ_STATE_STOPPED)) { | 804 | if (likely(q->irq_ptr->state != QDIO_IRQ_STATE_STOPPED)) { |
804 | tasklet_schedule(&q->tasklet); | 805 | tasklet_schedule(&q->tasklet); |
805 | return; | 806 | return; |
@@ -812,7 +813,7 @@ static void __tiqdio_inbound_processing(struct qdio_q *q) | |||
812 | * resetting the ACK state. | 813 | * resetting the ACK state. |
813 | */ | 814 | */ |
814 | if (!qdio_inbound_q_done(q)) { | 815 | if (!qdio_inbound_q_done(q)) { |
815 | qdio_perf_stat_inc(&perf_stats.thinint_inbound_loop2); | 816 | qperf_inc(q, tasklet_inbound_resched2); |
816 | if (likely(q->irq_ptr->state != QDIO_IRQ_STATE_STOPPED)) | 817 | if (likely(q->irq_ptr->state != QDIO_IRQ_STATE_STOPPED)) |
817 | tasklet_schedule(&q->tasklet); | 818 | tasklet_schedule(&q->tasklet); |
818 | } | 819 | } |
@@ -851,8 +852,6 @@ static void qdio_int_handler_pci(struct qdio_irq *irq_ptr) | |||
851 | if (unlikely(irq_ptr->state == QDIO_IRQ_STATE_STOPPED)) | 852 | if (unlikely(irq_ptr->state == QDIO_IRQ_STATE_STOPPED)) |
852 | return; | 853 | return; |
853 | 854 | ||
854 | qdio_perf_stat_inc(&perf_stats.pci_int); | ||
855 | |||
856 | for_each_input_queue(irq_ptr, q, i) | 855 | for_each_input_queue(irq_ptr, q, i) |
857 | tasklet_schedule(&q->tasklet); | 856 | tasklet_schedule(&q->tasklet); |
858 | 857 | ||
@@ -923,8 +922,6 @@ void qdio_int_handler(struct ccw_device *cdev, unsigned long intparm, | |||
923 | struct qdio_irq *irq_ptr = cdev->private->qdio_data; | 922 | struct qdio_irq *irq_ptr = cdev->private->qdio_data; |
924 | int cstat, dstat; | 923 | int cstat, dstat; |
925 | 924 | ||
926 | qdio_perf_stat_inc(&perf_stats.qdio_int); | ||
927 | |||
928 | if (!intparm || !irq_ptr) { | 925 | if (!intparm || !irq_ptr) { |
929 | DBF_ERROR("qint:%4x", cdev->private->schid.sch_no); | 926 | DBF_ERROR("qint:%4x", cdev->private->schid.sch_no); |
930 | return; | 927 | return; |
@@ -1383,6 +1380,8 @@ static int handle_inbound(struct qdio_q *q, unsigned int callflags, | |||
1383 | { | 1380 | { |
1384 | int used, diff; | 1381 | int used, diff; |
1385 | 1382 | ||
1383 | qperf_inc(q, inbound_call); | ||
1384 | |||
1386 | if (!q->u.in.polling) | 1385 | if (!q->u.in.polling) |
1387 | goto set; | 1386 | goto set; |
1388 | 1387 | ||
@@ -1438,14 +1437,16 @@ static int handle_outbound(struct qdio_q *q, unsigned int callflags, | |||
1438 | unsigned char state; | 1437 | unsigned char state; |
1439 | int used, rc = 0; | 1438 | int used, rc = 0; |
1440 | 1439 | ||
1441 | qdio_perf_stat_inc(&perf_stats.outbound_handler); | 1440 | qperf_inc(q, outbound_call); |
1442 | 1441 | ||
1443 | count = set_buf_states(q, bufnr, SLSB_CU_OUTPUT_PRIMED, count); | 1442 | count = set_buf_states(q, bufnr, SLSB_CU_OUTPUT_PRIMED, count); |
1444 | used = atomic_add_return(count, &q->nr_buf_used); | 1443 | used = atomic_add_return(count, &q->nr_buf_used); |
1445 | BUG_ON(used > QDIO_MAX_BUFFERS_PER_Q); | 1444 | BUG_ON(used > QDIO_MAX_BUFFERS_PER_Q); |
1446 | 1445 | ||
1447 | if (callflags & QDIO_FLAG_PCI_OUT) | 1446 | if (callflags & QDIO_FLAG_PCI_OUT) { |
1448 | q->u.out.pci_out_enabled = 1; | 1447 | q->u.out.pci_out_enabled = 1; |
1448 | qperf_inc(q, pci_request_int); | ||
1449 | } | ||
1449 | else | 1450 | else |
1450 | q->u.out.pci_out_enabled = 0; | 1451 | q->u.out.pci_out_enabled = 0; |
1451 | 1452 | ||
@@ -1484,7 +1485,7 @@ static int handle_outbound(struct qdio_q *q, unsigned int callflags, | |||
1484 | if (state != SLSB_CU_OUTPUT_PRIMED) | 1485 | if (state != SLSB_CU_OUTPUT_PRIMED) |
1485 | rc = qdio_kick_outbound_q(q); | 1486 | rc = qdio_kick_outbound_q(q); |
1486 | else | 1487 | else |
1487 | qdio_perf_stat_inc(&perf_stats.fast_requeue); | 1488 | qperf_inc(q, fast_requeue); |
1488 | 1489 | ||
1489 | out: | 1490 | out: |
1490 | tasklet_schedule(&q->tasklet); | 1491 | tasklet_schedule(&q->tasklet); |
@@ -1540,16 +1541,11 @@ static int __init init_QDIO(void) | |||
1540 | rc = qdio_debug_init(); | 1541 | rc = qdio_debug_init(); |
1541 | if (rc) | 1542 | if (rc) |
1542 | goto out_ti; | 1543 | goto out_ti; |
1543 | rc = qdio_setup_perf_stats(); | ||
1544 | if (rc) | ||
1545 | goto out_debug; | ||
1546 | rc = tiqdio_register_thinints(); | 1544 | rc = tiqdio_register_thinints(); |
1547 | if (rc) | 1545 | if (rc) |
1548 | goto out_perf; | 1546 | goto out_debug; |
1549 | return 0; | 1547 | return 0; |
1550 | 1548 | ||
1551 | out_perf: | ||
1552 | qdio_remove_perf_stats(); | ||
1553 | out_debug: | 1549 | out_debug: |
1554 | qdio_debug_exit(); | 1550 | qdio_debug_exit(); |
1555 | out_ti: | 1551 | out_ti: |
@@ -1563,7 +1559,6 @@ static void __exit exit_QDIO(void) | |||
1563 | { | 1559 | { |
1564 | tiqdio_unregister_thinints(); | 1560 | tiqdio_unregister_thinints(); |
1565 | tiqdio_free_memory(); | 1561 | tiqdio_free_memory(); |
1566 | qdio_remove_perf_stats(); | ||
1567 | qdio_debug_exit(); | 1562 | qdio_debug_exit(); |
1568 | qdio_setup_exit(); | 1563 | qdio_setup_exit(); |
1569 | } | 1564 | } |
diff --git a/drivers/s390/cio/qdio_perf.c b/drivers/s390/cio/qdio_perf.c deleted file mode 100644 index 54f7c325a3e6..000000000000 --- a/drivers/s390/cio/qdio_perf.c +++ /dev/null | |||
@@ -1,149 +0,0 @@ | |||
1 | /* | ||
2 | * drivers/s390/cio/qdio_perf.c | ||
3 | * | ||
4 | * Copyright IBM Corp. 2008 | ||
5 | * | ||
6 | * Author: Jan Glauber (jang@linux.vnet.ibm.com) | ||
7 | */ | ||
8 | #include <linux/kernel.h> | ||
9 | #include <linux/proc_fs.h> | ||
10 | #include <linux/seq_file.h> | ||
11 | #include <asm/ccwdev.h> | ||
12 | |||
13 | #include "cio.h" | ||
14 | #include "css.h" | ||
15 | #include "device.h" | ||
16 | #include "ioasm.h" | ||
17 | #include "chsc.h" | ||
18 | #include "qdio_debug.h" | ||
19 | #include "qdio_perf.h" | ||
20 | |||
21 | int qdio_performance_stats; | ||
22 | struct qdio_perf_stats perf_stats; | ||
23 | |||
24 | #ifdef CONFIG_PROC_FS | ||
25 | static struct proc_dir_entry *qdio_perf_pde; | ||
26 | #endif | ||
27 | |||
28 | /* | ||
29 | * procfs functions | ||
30 | */ | ||
31 | static int qdio_perf_proc_show(struct seq_file *m, void *v) | ||
32 | { | ||
33 | seq_printf(m, "Number of qdio interrupts\t\t\t: %li\n", | ||
34 | (long)atomic_long_read(&perf_stats.qdio_int)); | ||
35 | seq_printf(m, "Number of PCI interrupts\t\t\t: %li\n", | ||
36 | (long)atomic_long_read(&perf_stats.pci_int)); | ||
37 | seq_printf(m, "Number of adapter interrupts\t\t\t: %li\n", | ||
38 | (long)atomic_long_read(&perf_stats.thin_int)); | ||
39 | seq_printf(m, "\n"); | ||
40 | seq_printf(m, "Inbound tasklet runs\t\t\t\t: %li\n", | ||
41 | (long)atomic_long_read(&perf_stats.tasklet_inbound)); | ||
42 | seq_printf(m, "Outbound tasklet runs\t\t\t\t: %li\n", | ||
43 | (long)atomic_long_read(&perf_stats.tasklet_outbound)); | ||
44 | seq_printf(m, "Adapter interrupt tasklet runs/loops\t\t: %li/%li\n", | ||
45 | (long)atomic_long_read(&perf_stats.tasklet_thinint), | ||
46 | (long)atomic_long_read(&perf_stats.tasklet_thinint_loop)); | ||
47 | seq_printf(m, "Adapter interrupt inbound tasklet runs/loops\t: %li/%li\n", | ||
48 | (long)atomic_long_read(&perf_stats.thinint_inbound), | ||
49 | (long)atomic_long_read(&perf_stats.thinint_inbound_loop)); | ||
50 | seq_printf(m, "\n"); | ||
51 | seq_printf(m, "Number of SIGA In issued\t\t\t: %li\n", | ||
52 | (long)atomic_long_read(&perf_stats.siga_in)); | ||
53 | seq_printf(m, "Number of SIGA Out issued\t\t\t: %li\n", | ||
54 | (long)atomic_long_read(&perf_stats.siga_out)); | ||
55 | seq_printf(m, "Number of SIGA Sync issued\t\t\t: %li\n", | ||
56 | (long)atomic_long_read(&perf_stats.siga_sync)); | ||
57 | seq_printf(m, "\n"); | ||
58 | seq_printf(m, "Number of inbound transfers\t\t\t: %li\n", | ||
59 | (long)atomic_long_read(&perf_stats.inbound_handler)); | ||
60 | seq_printf(m, "Number of outbound transfers\t\t\t: %li\n", | ||
61 | (long)atomic_long_read(&perf_stats.outbound_handler)); | ||
62 | seq_printf(m, "\n"); | ||
63 | seq_printf(m, "Number of fast requeues (outg. SBAL w/o SIGA)\t: %li\n", | ||
64 | (long)atomic_long_read(&perf_stats.fast_requeue)); | ||
65 | seq_printf(m, "Number of outbound target full condition\t: %li\n", | ||
66 | (long)atomic_long_read(&perf_stats.outbound_target_full)); | ||
67 | seq_printf(m, "Number of inbound queue full condition\t\t: %li\n", | ||
68 | (long)atomic_long_read(&perf_stats.inbound_queue_full)); | ||
69 | seq_printf(m, "Number of outbound tasklet mod_timer calls\t: %li\n", | ||
70 | (long)atomic_long_read(&perf_stats.debug_tl_out_timer)); | ||
71 | seq_printf(m, "Number of stop polling calls\t\t\t: %li\n", | ||
72 | (long)atomic_long_read(&perf_stats.debug_stop_polling)); | ||
73 | seq_printf(m, "AI inbound tasklet loops after stop polling\t: %li\n", | ||
74 | (long)atomic_long_read(&perf_stats.thinint_inbound_loop2)); | ||
75 | seq_printf(m, "QEBSM EQBS total/incomplete\t\t\t: %li/%li\n", | ||
76 | (long)atomic_long_read(&perf_stats.debug_eqbs_all), | ||
77 | (long)atomic_long_read(&perf_stats.debug_eqbs_incomplete)); | ||
78 | seq_printf(m, "QEBSM SQBS total/incomplete\t\t\t: %li/%li\n", | ||
79 | (long)atomic_long_read(&perf_stats.debug_sqbs_all), | ||
80 | (long)atomic_long_read(&perf_stats.debug_sqbs_incomplete)); | ||
81 | seq_printf(m, "\n"); | ||
82 | return 0; | ||
83 | } | ||
84 | static int qdio_perf_seq_open(struct inode *inode, struct file *filp) | ||
85 | { | ||
86 | return single_open(filp, qdio_perf_proc_show, NULL); | ||
87 | } | ||
88 | |||
89 | static const struct file_operations qdio_perf_proc_fops = { | ||
90 | .owner = THIS_MODULE, | ||
91 | .open = qdio_perf_seq_open, | ||
92 | .read = seq_read, | ||
93 | .llseek = seq_lseek, | ||
94 | .release = single_release, | ||
95 | }; | ||
96 | |||
97 | /* | ||
98 | * sysfs functions | ||
99 | */ | ||
100 | static ssize_t qdio_perf_stats_show(struct bus_type *bus, char *buf) | ||
101 | { | ||
102 | return sprintf(buf, "%i\n", qdio_performance_stats ? 1 : 0); | ||
103 | } | ||
104 | |||
105 | static ssize_t qdio_perf_stats_store(struct bus_type *bus, | ||
106 | const char *buf, size_t count) | ||
107 | { | ||
108 | unsigned long i; | ||
109 | |||
110 | if (strict_strtoul(buf, 16, &i) != 0) | ||
111 | return -EINVAL; | ||
112 | if ((i != 0) && (i != 1)) | ||
113 | return -EINVAL; | ||
114 | if (i == qdio_performance_stats) | ||
115 | return count; | ||
116 | |||
117 | qdio_performance_stats = i; | ||
118 | /* reset performance statistics */ | ||
119 | if (i == 0) | ||
120 | memset(&perf_stats, 0, sizeof(struct qdio_perf_stats)); | ||
121 | return count; | ||
122 | } | ||
123 | |||
124 | static BUS_ATTR(qdio_performance_stats, 0644, qdio_perf_stats_show, | ||
125 | qdio_perf_stats_store); | ||
126 | |||
127 | int __init qdio_setup_perf_stats(void) | ||
128 | { | ||
129 | int rc; | ||
130 | |||
131 | rc = bus_create_file(&ccw_bus_type, &bus_attr_qdio_performance_stats); | ||
132 | if (rc) | ||
133 | return rc; | ||
134 | |||
135 | #ifdef CONFIG_PROC_FS | ||
136 | memset(&perf_stats, 0, sizeof(struct qdio_perf_stats)); | ||
137 | qdio_perf_pde = proc_create("qdio_perf", S_IFREG | S_IRUGO, | ||
138 | NULL, &qdio_perf_proc_fops); | ||
139 | #endif | ||
140 | return 0; | ||
141 | } | ||
142 | |||
143 | void qdio_remove_perf_stats(void) | ||
144 | { | ||
145 | #ifdef CONFIG_PROC_FS | ||
146 | remove_proc_entry("qdio_perf", NULL); | ||
147 | #endif | ||
148 | bus_remove_file(&ccw_bus_type, &bus_attr_qdio_performance_stats); | ||
149 | } | ||
diff --git a/drivers/s390/cio/qdio_perf.h b/drivers/s390/cio/qdio_perf.h deleted file mode 100644 index 12454231dc8b..000000000000 --- a/drivers/s390/cio/qdio_perf.h +++ /dev/null | |||
@@ -1,62 +0,0 @@ | |||
1 | /* | ||
2 | * drivers/s390/cio/qdio_perf.h | ||
3 | * | ||
4 | * Copyright IBM Corp. 2008 | ||
5 | * | ||
6 | * Author: Jan Glauber (jang@linux.vnet.ibm.com) | ||
7 | */ | ||
8 | #ifndef QDIO_PERF_H | ||
9 | #define QDIO_PERF_H | ||
10 | |||
11 | #include <linux/types.h> | ||
12 | #include <asm/atomic.h> | ||
13 | |||
14 | struct qdio_perf_stats { | ||
15 | /* interrupt handler calls */ | ||
16 | atomic_long_t qdio_int; | ||
17 | atomic_long_t pci_int; | ||
18 | atomic_long_t thin_int; | ||
19 | |||
20 | /* tasklet runs */ | ||
21 | atomic_long_t tasklet_inbound; | ||
22 | atomic_long_t tasklet_outbound; | ||
23 | atomic_long_t tasklet_thinint; | ||
24 | atomic_long_t tasklet_thinint_loop; | ||
25 | atomic_long_t thinint_inbound; | ||
26 | atomic_long_t thinint_inbound_loop; | ||
27 | atomic_long_t thinint_inbound_loop2; | ||
28 | |||
29 | /* signal adapter calls */ | ||
30 | atomic_long_t siga_out; | ||
31 | atomic_long_t siga_in; | ||
32 | atomic_long_t siga_sync; | ||
33 | |||
34 | /* misc */ | ||
35 | atomic_long_t inbound_handler; | ||
36 | atomic_long_t outbound_handler; | ||
37 | atomic_long_t fast_requeue; | ||
38 | atomic_long_t outbound_target_full; | ||
39 | atomic_long_t inbound_queue_full; | ||
40 | |||
41 | /* for debugging */ | ||
42 | atomic_long_t debug_tl_out_timer; | ||
43 | atomic_long_t debug_stop_polling; | ||
44 | atomic_long_t debug_eqbs_all; | ||
45 | atomic_long_t debug_eqbs_incomplete; | ||
46 | atomic_long_t debug_sqbs_all; | ||
47 | atomic_long_t debug_sqbs_incomplete; | ||
48 | }; | ||
49 | |||
50 | extern struct qdio_perf_stats perf_stats; | ||
51 | extern int qdio_performance_stats; | ||
52 | |||
53 | static inline void qdio_perf_stat_inc(atomic_long_t *count) | ||
54 | { | ||
55 | if (qdio_performance_stats) | ||
56 | atomic_long_inc(count); | ||
57 | } | ||
58 | |||
59 | int qdio_setup_perf_stats(void); | ||
60 | void qdio_remove_perf_stats(void); | ||
61 | |||
62 | #endif | ||
diff --git a/drivers/s390/cio/qdio_thinint.c b/drivers/s390/cio/qdio_thinint.c index 981a77ea7ee2..091d904d3182 100644 --- a/drivers/s390/cio/qdio_thinint.c +++ b/drivers/s390/cio/qdio_thinint.c | |||
@@ -1,9 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * linux/drivers/s390/cio/thinint_qdio.c | 2 | * linux/drivers/s390/cio/thinint_qdio.c |
3 | * | 3 | * |
4 | * thin interrupt support for qdio | 4 | * Copyright 2000,2009 IBM Corp. |
5 | * | ||
6 | * Copyright 2000-2008 IBM Corp. | ||
7 | * Author(s): Utz Bacher <utz.bacher@de.ibm.com> | 5 | * Author(s): Utz Bacher <utz.bacher@de.ibm.com> |
8 | * Cornelia Huck <cornelia.huck@de.ibm.com> | 6 | * Cornelia Huck <cornelia.huck@de.ibm.com> |
9 | * Jan Glauber <jang@linux.vnet.ibm.com> | 7 | * Jan Glauber <jang@linux.vnet.ibm.com> |
@@ -19,7 +17,6 @@ | |||
19 | #include "ioasm.h" | 17 | #include "ioasm.h" |
20 | #include "qdio.h" | 18 | #include "qdio.h" |
21 | #include "qdio_debug.h" | 19 | #include "qdio_debug.h" |
22 | #include "qdio_perf.h" | ||
23 | 20 | ||
24 | /* | 21 | /* |
25 | * Restriction: only 63 iqdio subchannels would have its own indicator, | 22 | * Restriction: only 63 iqdio subchannels would have its own indicator, |
@@ -132,8 +129,6 @@ static void tiqdio_thinint_handler(void *ind, void *drv_data) | |||
132 | { | 129 | { |
133 | struct qdio_q *q; | 130 | struct qdio_q *q; |
134 | 131 | ||
135 | qdio_perf_stat_inc(&perf_stats.thin_int); | ||
136 | |||
137 | /* | 132 | /* |
138 | * SVS only when needed: issue SVS to benefit from iqdio interrupt | 133 | * SVS only when needed: issue SVS to benefit from iqdio interrupt |
139 | * avoidance (SVS clears adapter interrupt suppression overwrite) | 134 | * avoidance (SVS clears adapter interrupt suppression overwrite) |
@@ -154,6 +149,7 @@ static void tiqdio_thinint_handler(void *ind, void *drv_data) | |||
154 | list_for_each_entry_rcu(q, &tiq_list, entry) | 149 | list_for_each_entry_rcu(q, &tiq_list, entry) |
155 | /* only process queues from changed sets */ | 150 | /* only process queues from changed sets */ |
156 | if (*q->irq_ptr->dsci) { | 151 | if (*q->irq_ptr->dsci) { |
152 | qperf_inc(q, adapter_int); | ||
157 | 153 | ||
158 | /* only clear it if the indicator is non-shared */ | 154 | /* only clear it if the indicator is non-shared */ |
159 | if (!shared_ind(q->irq_ptr)) | 155 | if (!shared_ind(q->irq_ptr)) |
diff --git a/drivers/sbus/char/bbc_envctrl.c b/drivers/sbus/char/bbc_envctrl.c index 7c815d3327f7..28d86f9df83c 100644 --- a/drivers/sbus/char/bbc_envctrl.c +++ b/drivers/sbus/char/bbc_envctrl.c | |||
@@ -522,6 +522,40 @@ static void attach_one_fan(struct bbc_i2c_bus *bp, struct of_device *op, | |||
522 | set_fan_speeds(fp); | 522 | set_fan_speeds(fp); |
523 | } | 523 | } |
524 | 524 | ||
525 | static void destroy_one_temp(struct bbc_cpu_temperature *tp) | ||
526 | { | ||
527 | bbc_i2c_detach(tp->client); | ||
528 | kfree(tp); | ||
529 | } | ||
530 | |||
531 | static void destroy_all_temps(struct bbc_i2c_bus *bp) | ||
532 | { | ||
533 | struct bbc_cpu_temperature *tp, *tpos; | ||
534 | |||
535 | list_for_each_entry_safe(tp, tpos, &bp->temps, bp_list) { | ||
536 | list_del(&tp->bp_list); | ||
537 | list_del(&tp->glob_list); | ||
538 | destroy_one_temp(tp); | ||
539 | } | ||
540 | } | ||
541 | |||
542 | static void destroy_one_fan(struct bbc_fan_control *fp) | ||
543 | { | ||
544 | bbc_i2c_detach(fp->client); | ||
545 | kfree(fp); | ||
546 | } | ||
547 | |||
548 | static void destroy_all_fans(struct bbc_i2c_bus *bp) | ||
549 | { | ||
550 | struct bbc_fan_control *fp, *fpos; | ||
551 | |||
552 | list_for_each_entry_safe(fp, fpos, &bp->fans, bp_list) { | ||
553 | list_del(&fp->bp_list); | ||
554 | list_del(&fp->glob_list); | ||
555 | destroy_one_fan(fp); | ||
556 | } | ||
557 | } | ||
558 | |||
525 | int bbc_envctrl_init(struct bbc_i2c_bus *bp) | 559 | int bbc_envctrl_init(struct bbc_i2c_bus *bp) |
526 | { | 560 | { |
527 | struct of_device *op; | 561 | struct of_device *op; |
@@ -541,6 +575,8 @@ int bbc_envctrl_init(struct bbc_i2c_bus *bp) | |||
541 | int err = PTR_ERR(kenvctrld_task); | 575 | int err = PTR_ERR(kenvctrld_task); |
542 | 576 | ||
543 | kenvctrld_task = NULL; | 577 | kenvctrld_task = NULL; |
578 | destroy_all_temps(bp); | ||
579 | destroy_all_fans(bp); | ||
544 | return err; | 580 | return err; |
545 | } | 581 | } |
546 | } | 582 | } |
@@ -548,35 +584,11 @@ int bbc_envctrl_init(struct bbc_i2c_bus *bp) | |||
548 | return 0; | 584 | return 0; |
549 | } | 585 | } |
550 | 586 | ||
551 | static void destroy_one_temp(struct bbc_cpu_temperature *tp) | ||
552 | { | ||
553 | bbc_i2c_detach(tp->client); | ||
554 | kfree(tp); | ||
555 | } | ||
556 | |||
557 | static void destroy_one_fan(struct bbc_fan_control *fp) | ||
558 | { | ||
559 | bbc_i2c_detach(fp->client); | ||
560 | kfree(fp); | ||
561 | } | ||
562 | |||
563 | void bbc_envctrl_cleanup(struct bbc_i2c_bus *bp) | 587 | void bbc_envctrl_cleanup(struct bbc_i2c_bus *bp) |
564 | { | 588 | { |
565 | struct bbc_cpu_temperature *tp, *tpos; | ||
566 | struct bbc_fan_control *fp, *fpos; | ||
567 | |||
568 | if (kenvctrld_task) | 589 | if (kenvctrld_task) |
569 | kthread_stop(kenvctrld_task); | 590 | kthread_stop(kenvctrld_task); |
570 | 591 | ||
571 | list_for_each_entry_safe(tp, tpos, &bp->temps, bp_list) { | 592 | destroy_all_temps(bp); |
572 | list_del(&tp->bp_list); | 593 | destroy_all_fans(bp); |
573 | list_del(&tp->glob_list); | ||
574 | destroy_one_temp(tp); | ||
575 | } | ||
576 | |||
577 | list_for_each_entry_safe(fp, fpos, &bp->fans, bp_list) { | ||
578 | list_del(&fp->bp_list); | ||
579 | list_del(&fp->glob_list); | ||
580 | destroy_one_fan(fp); | ||
581 | } | ||
582 | } | 594 | } |
diff --git a/drivers/scsi/cxgb3i/cxgb3i_offload.c b/drivers/scsi/cxgb3i/cxgb3i_offload.c index 26ffdcd5a437..15a00e8b7122 100644 --- a/drivers/scsi/cxgb3i/cxgb3i_offload.c +++ b/drivers/scsi/cxgb3i/cxgb3i_offload.c | |||
@@ -1440,6 +1440,10 @@ void cxgb3i_c3cn_release(struct s3_conn *c3cn) | |||
1440 | static int is_cxgb3_dev(struct net_device *dev) | 1440 | static int is_cxgb3_dev(struct net_device *dev) |
1441 | { | 1441 | { |
1442 | struct cxgb3i_sdev_data *cdata; | 1442 | struct cxgb3i_sdev_data *cdata; |
1443 | struct net_device *ndev = dev; | ||
1444 | |||
1445 | if (dev->priv_flags & IFF_802_1Q_VLAN) | ||
1446 | ndev = vlan_dev_real_dev(dev); | ||
1443 | 1447 | ||
1444 | write_lock(&cdata_rwlock); | 1448 | write_lock(&cdata_rwlock); |
1445 | list_for_each_entry(cdata, &cdata_list, list) { | 1449 | list_for_each_entry(cdata, &cdata_list, list) { |
@@ -1447,7 +1451,7 @@ static int is_cxgb3_dev(struct net_device *dev) | |||
1447 | int i; | 1451 | int i; |
1448 | 1452 | ||
1449 | for (i = 0; i < ports->nports; i++) | 1453 | for (i = 0; i < ports->nports; i++) |
1450 | if (dev == ports->lldevs[i]) { | 1454 | if (ndev == ports->lldevs[i]) { |
1451 | write_unlock(&cdata_rwlock); | 1455 | write_unlock(&cdata_rwlock); |
1452 | return 1; | 1456 | return 1; |
1453 | } | 1457 | } |
@@ -1566,6 +1570,26 @@ out_err: | |||
1566 | return -EINVAL; | 1570 | return -EINVAL; |
1567 | } | 1571 | } |
1568 | 1572 | ||
1573 | /** | ||
1574 | * cxgb3i_find_dev - find the interface associated with the given address | ||
1575 | * @ipaddr: ip address | ||
1576 | */ | ||
1577 | static struct net_device * | ||
1578 | cxgb3i_find_dev(struct net_device *dev, __be32 ipaddr) | ||
1579 | { | ||
1580 | struct flowi fl; | ||
1581 | int err; | ||
1582 | struct rtable *rt; | ||
1583 | |||
1584 | memset(&fl, 0, sizeof(fl)); | ||
1585 | fl.nl_u.ip4_u.daddr = ipaddr; | ||
1586 | |||
1587 | err = ip_route_output_key(dev ? dev_net(dev) : &init_net, &rt, &fl); | ||
1588 | if (!err) | ||
1589 | return (&rt->u.dst)->dev; | ||
1590 | |||
1591 | return NULL; | ||
1592 | } | ||
1569 | 1593 | ||
1570 | /** | 1594 | /** |
1571 | * cxgb3i_c3cn_connect - initiates an iscsi tcp connection to a given address | 1595 | * cxgb3i_c3cn_connect - initiates an iscsi tcp connection to a given address |
@@ -1581,6 +1605,7 @@ int cxgb3i_c3cn_connect(struct net_device *dev, struct s3_conn *c3cn, | |||
1581 | struct cxgb3i_sdev_data *cdata; | 1605 | struct cxgb3i_sdev_data *cdata; |
1582 | struct t3cdev *cdev; | 1606 | struct t3cdev *cdev; |
1583 | __be32 sipv4; | 1607 | __be32 sipv4; |
1608 | struct net_device *dstdev; | ||
1584 | int err; | 1609 | int err; |
1585 | 1610 | ||
1586 | c3cn_conn_debug("c3cn 0x%p, dev 0x%p.\n", c3cn, dev); | 1611 | c3cn_conn_debug("c3cn 0x%p, dev 0x%p.\n", c3cn, dev); |
@@ -1591,6 +1616,13 @@ int cxgb3i_c3cn_connect(struct net_device *dev, struct s3_conn *c3cn, | |||
1591 | c3cn->daddr.sin_port = usin->sin_port; | 1616 | c3cn->daddr.sin_port = usin->sin_port; |
1592 | c3cn->daddr.sin_addr.s_addr = usin->sin_addr.s_addr; | 1617 | c3cn->daddr.sin_addr.s_addr = usin->sin_addr.s_addr; |
1593 | 1618 | ||
1619 | dstdev = cxgb3i_find_dev(dev, usin->sin_addr.s_addr); | ||
1620 | if (!dstdev || !is_cxgb3_dev(dstdev)) | ||
1621 | return -ENETUNREACH; | ||
1622 | |||
1623 | if (dstdev->priv_flags & IFF_802_1Q_VLAN) | ||
1624 | dev = dstdev; | ||
1625 | |||
1594 | rt = find_route(dev, c3cn->saddr.sin_addr.s_addr, | 1626 | rt = find_route(dev, c3cn->saddr.sin_addr.s_addr, |
1595 | c3cn->daddr.sin_addr.s_addr, | 1627 | c3cn->daddr.sin_addr.s_addr, |
1596 | c3cn->saddr.sin_port, | 1628 | c3cn->saddr.sin_port, |
diff --git a/drivers/scsi/lpfc/lpfc_els.c b/drivers/scsi/lpfc/lpfc_els.c index ce522702a6c1..2cc39684ce97 100644 --- a/drivers/scsi/lpfc/lpfc_els.c +++ b/drivers/scsi/lpfc/lpfc_els.c | |||
@@ -4142,8 +4142,8 @@ lpfc_els_rcv_rscn(struct lpfc_vport *vport, struct lpfc_iocbq *cmdiocb, | |||
4142 | spin_lock_irq(shost->host_lock); | 4142 | spin_lock_irq(shost->host_lock); |
4143 | if (vport->fc_rscn_flush) { | 4143 | if (vport->fc_rscn_flush) { |
4144 | /* Another thread is walking fc_rscn_id_list on this vport */ | 4144 | /* Another thread is walking fc_rscn_id_list on this vport */ |
4145 | spin_unlock_irq(shost->host_lock); | ||
4146 | vport->fc_flag |= FC_RSCN_DISCOVERY; | 4145 | vport->fc_flag |= FC_RSCN_DISCOVERY; |
4146 | spin_unlock_irq(shost->host_lock); | ||
4147 | /* Send back ACC */ | 4147 | /* Send back ACC */ |
4148 | lpfc_els_rsp_acc(vport, ELS_CMD_ACC, cmdiocb, ndlp, NULL); | 4148 | lpfc_els_rsp_acc(vport, ELS_CMD_ACC, cmdiocb, ndlp, NULL); |
4149 | return 0; | 4149 | return 0; |
@@ -5948,8 +5948,8 @@ lpfc_cmpl_reg_new_vport(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb) | |||
5948 | lpfc_initial_fdisc(vport); | 5948 | lpfc_initial_fdisc(vport); |
5949 | break; | 5949 | break; |
5950 | } | 5950 | } |
5951 | |||
5952 | } else { | 5951 | } else { |
5952 | vport->vpi_state |= LPFC_VPI_REGISTERED; | ||
5953 | if (vport == phba->pport) | 5953 | if (vport == phba->pport) |
5954 | if (phba->sli_rev < LPFC_SLI_REV4) | 5954 | if (phba->sli_rev < LPFC_SLI_REV4) |
5955 | lpfc_issue_fabric_reglogin(vport); | 5955 | lpfc_issue_fabric_reglogin(vport); |
diff --git a/drivers/scsi/lpfc/lpfc_hbadisc.c b/drivers/scsi/lpfc/lpfc_hbadisc.c index 3b9424427652..2445e399fd60 100755 --- a/drivers/scsi/lpfc/lpfc_hbadisc.c +++ b/drivers/scsi/lpfc/lpfc_hbadisc.c | |||
@@ -747,6 +747,10 @@ lpfc_linkdown(struct lpfc_hba *phba) | |||
747 | 747 | ||
748 | if (phba->link_state == LPFC_LINK_DOWN) | 748 | if (phba->link_state == LPFC_LINK_DOWN) |
749 | return 0; | 749 | return 0; |
750 | |||
751 | /* Block all SCSI stack I/Os */ | ||
752 | lpfc_scsi_dev_block(phba); | ||
753 | |||
750 | spin_lock_irq(&phba->hbalock); | 754 | spin_lock_irq(&phba->hbalock); |
751 | phba->fcf.fcf_flag &= ~(FCF_AVAILABLE | FCF_DISCOVERED); | 755 | phba->fcf.fcf_flag &= ~(FCF_AVAILABLE | FCF_DISCOVERED); |
752 | if (phba->link_state > LPFC_LINK_DOWN) { | 756 | if (phba->link_state > LPFC_LINK_DOWN) { |
@@ -1555,10 +1559,16 @@ lpfc_mbx_cmpl_read_fcf_record(struct lpfc_hba *phba, LPFC_MBOXQ_t *mboxq) | |||
1555 | * to book keeping the FCFIs can be used. | 1559 | * to book keeping the FCFIs can be used. |
1556 | */ | 1560 | */ |
1557 | if (shdr_status || shdr_add_status) { | 1561 | if (shdr_status || shdr_add_status) { |
1558 | lpfc_printf_log(phba, KERN_ERR, LOG_INIT, | 1562 | if (shdr_status == STATUS_FCF_TABLE_EMPTY) { |
1559 | "2521 READ_FCF_RECORD mailbox failed " | 1563 | lpfc_printf_log(phba, KERN_ERR, LOG_INIT, |
1560 | "with status x%x add_status x%x, mbx\n", | 1564 | "2726 READ_FCF_RECORD Indicates empty " |
1561 | shdr_status, shdr_add_status); | 1565 | "FCF table.\n"); |
1566 | } else { | ||
1567 | lpfc_printf_log(phba, KERN_ERR, LOG_INIT, | ||
1568 | "2521 READ_FCF_RECORD mailbox failed " | ||
1569 | "with status x%x add_status x%x, mbx\n", | ||
1570 | shdr_status, shdr_add_status); | ||
1571 | } | ||
1562 | goto out; | 1572 | goto out; |
1563 | } | 1573 | } |
1564 | /* Interpreting the returned information of FCF records */ | 1574 | /* Interpreting the returned information of FCF records */ |
@@ -1698,7 +1708,9 @@ lpfc_init_vpi_cmpl(struct lpfc_hba *phba, LPFC_MBOXQ_t *mboxq) | |||
1698 | lpfc_vport_set_state(vport, FC_VPORT_FAILED); | 1708 | lpfc_vport_set_state(vport, FC_VPORT_FAILED); |
1699 | return; | 1709 | return; |
1700 | } | 1710 | } |
1711 | spin_lock_irq(&phba->hbalock); | ||
1701 | vport->fc_flag &= ~FC_VPORT_NEEDS_INIT_VPI; | 1712 | vport->fc_flag &= ~FC_VPORT_NEEDS_INIT_VPI; |
1713 | spin_unlock_irq(&phba->hbalock); | ||
1702 | 1714 | ||
1703 | if (phba->link_flag & LS_NPIV_FAB_SUPPORTED) | 1715 | if (phba->link_flag & LS_NPIV_FAB_SUPPORTED) |
1704 | lpfc_initial_fdisc(vport); | 1716 | lpfc_initial_fdisc(vport); |
@@ -2259,7 +2271,10 @@ lpfc_mbx_cmpl_unreg_vpi(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb) | |||
2259 | mb->mbxStatus); | 2271 | mb->mbxStatus); |
2260 | break; | 2272 | break; |
2261 | } | 2273 | } |
2274 | spin_lock_irq(&phba->hbalock); | ||
2262 | vport->vpi_state &= ~LPFC_VPI_REGISTERED; | 2275 | vport->vpi_state &= ~LPFC_VPI_REGISTERED; |
2276 | vport->fc_flag |= FC_VPORT_NEEDS_REG_VPI; | ||
2277 | spin_unlock_irq(&phba->hbalock); | ||
2263 | vport->unreg_vpi_cmpl = VPORT_OK; | 2278 | vport->unreg_vpi_cmpl = VPORT_OK; |
2264 | mempool_free(pmb, phba->mbox_mem_pool); | 2279 | mempool_free(pmb, phba->mbox_mem_pool); |
2265 | /* | 2280 | /* |
@@ -4475,8 +4490,10 @@ lpfc_unregister_unused_fcf(struct lpfc_hba *phba) | |||
4475 | (phba->sli3_options & LPFC_SLI3_NPIV_ENABLED)) | 4490 | (phba->sli3_options & LPFC_SLI3_NPIV_ENABLED)) |
4476 | for (i = 0; i <= phba->max_vports && vports[i] != NULL; i++) { | 4491 | for (i = 0; i <= phba->max_vports && vports[i] != NULL; i++) { |
4477 | lpfc_mbx_unreg_vpi(vports[i]); | 4492 | lpfc_mbx_unreg_vpi(vports[i]); |
4493 | spin_lock_irq(&phba->hbalock); | ||
4478 | vports[i]->fc_flag |= FC_VPORT_NEEDS_INIT_VPI; | 4494 | vports[i]->fc_flag |= FC_VPORT_NEEDS_INIT_VPI; |
4479 | vports[i]->vpi_state &= ~LPFC_VPI_REGISTERED; | 4495 | vports[i]->vpi_state &= ~LPFC_VPI_REGISTERED; |
4496 | spin_unlock_irq(&phba->hbalock); | ||
4480 | } | 4497 | } |
4481 | lpfc_destroy_vport_work_array(phba, vports); | 4498 | lpfc_destroy_vport_work_array(phba, vports); |
4482 | 4499 | ||
diff --git a/drivers/scsi/lpfc/lpfc_hw4.h b/drivers/scsi/lpfc/lpfc_hw4.h index 1585148a17e5..8a2a1c5935c6 100644..100755 --- a/drivers/scsi/lpfc/lpfc_hw4.h +++ b/drivers/scsi/lpfc/lpfc_hw4.h | |||
@@ -1013,7 +1013,7 @@ struct lpfc_mbx_wq_destroy { | |||
1013 | }; | 1013 | }; |
1014 | 1014 | ||
1015 | #define LPFC_HDR_BUF_SIZE 128 | 1015 | #define LPFC_HDR_BUF_SIZE 128 |
1016 | #define LPFC_DATA_BUF_SIZE 4096 | 1016 | #define LPFC_DATA_BUF_SIZE 2048 |
1017 | struct rq_context { | 1017 | struct rq_context { |
1018 | uint32_t word0; | 1018 | uint32_t word0; |
1019 | #define lpfc_rq_context_rq_size_SHIFT 16 | 1019 | #define lpfc_rq_context_rq_size_SHIFT 16 |
@@ -1371,6 +1371,7 @@ struct lpfc_mbx_query_fw_cfg { | |||
1371 | #define STATUS_ERROR_ACITMAIN 0x2a | 1371 | #define STATUS_ERROR_ACITMAIN 0x2a |
1372 | #define STATUS_REBOOT_REQUIRED 0x2c | 1372 | #define STATUS_REBOOT_REQUIRED 0x2c |
1373 | #define STATUS_FCF_IN_USE 0x3a | 1373 | #define STATUS_FCF_IN_USE 0x3a |
1374 | #define STATUS_FCF_TABLE_EMPTY 0x43 | ||
1374 | 1375 | ||
1375 | struct lpfc_mbx_sli4_config { | 1376 | struct lpfc_mbx_sli4_config { |
1376 | struct mbox_header header; | 1377 | struct mbox_header header; |
diff --git a/drivers/scsi/lpfc/lpfc_init.c b/drivers/scsi/lpfc/lpfc_init.c index d4da6bdd0e73..b8eb1b6e5e77 100644 --- a/drivers/scsi/lpfc/lpfc_init.c +++ b/drivers/scsi/lpfc/lpfc_init.c | |||
@@ -3006,6 +3006,7 @@ lpfc_sli4_async_fcoe_evt(struct lpfc_hba *phba, | |||
3006 | struct lpfc_vport *vport; | 3006 | struct lpfc_vport *vport; |
3007 | struct lpfc_nodelist *ndlp; | 3007 | struct lpfc_nodelist *ndlp; |
3008 | struct Scsi_Host *shost; | 3008 | struct Scsi_Host *shost; |
3009 | uint32_t link_state; | ||
3009 | 3010 | ||
3010 | phba->fc_eventTag = acqe_fcoe->event_tag; | 3011 | phba->fc_eventTag = acqe_fcoe->event_tag; |
3011 | phba->fcoe_eventtag = acqe_fcoe->event_tag; | 3012 | phba->fcoe_eventtag = acqe_fcoe->event_tag; |
@@ -3052,9 +3053,12 @@ lpfc_sli4_async_fcoe_evt(struct lpfc_hba *phba, | |||
3052 | break; | 3053 | break; |
3053 | /* | 3054 | /* |
3054 | * Currently, driver support only one FCF - so treat this as | 3055 | * Currently, driver support only one FCF - so treat this as |
3055 | * a link down. | 3056 | * a link down, but save the link state because we don't want |
3057 | * it to be changed to Link Down unless it is already down. | ||
3056 | */ | 3058 | */ |
3059 | link_state = phba->link_state; | ||
3057 | lpfc_linkdown(phba); | 3060 | lpfc_linkdown(phba); |
3061 | phba->link_state = link_state; | ||
3058 | /* Unregister FCF if no devices connected to it */ | 3062 | /* Unregister FCF if no devices connected to it */ |
3059 | lpfc_unregister_unused_fcf(phba); | 3063 | lpfc_unregister_unused_fcf(phba); |
3060 | break; | 3064 | break; |
@@ -7226,8 +7230,6 @@ lpfc_prep_dev_for_perm_failure(struct lpfc_hba *phba) | |||
7226 | { | 7230 | { |
7227 | lpfc_printf_log(phba, KERN_ERR, LOG_INIT, | 7231 | lpfc_printf_log(phba, KERN_ERR, LOG_INIT, |
7228 | "2711 PCI channel permanent disable for failure\n"); | 7232 | "2711 PCI channel permanent disable for failure\n"); |
7229 | /* Block all SCSI devices' I/Os on the host */ | ||
7230 | lpfc_scsi_dev_block(phba); | ||
7231 | /* Clean up all driver's outstanding SCSI I/Os */ | 7233 | /* Clean up all driver's outstanding SCSI I/Os */ |
7232 | lpfc_sli_flush_fcp_rings(phba); | 7234 | lpfc_sli_flush_fcp_rings(phba); |
7233 | } | 7235 | } |
@@ -7256,6 +7258,9 @@ lpfc_io_error_detected_s3(struct pci_dev *pdev, pci_channel_state_t state) | |||
7256 | struct Scsi_Host *shost = pci_get_drvdata(pdev); | 7258 | struct Scsi_Host *shost = pci_get_drvdata(pdev); |
7257 | struct lpfc_hba *phba = ((struct lpfc_vport *)shost->hostdata)->phba; | 7259 | struct lpfc_hba *phba = ((struct lpfc_vport *)shost->hostdata)->phba; |
7258 | 7260 | ||
7261 | /* Block all SCSI devices' I/Os on the host */ | ||
7262 | lpfc_scsi_dev_block(phba); | ||
7263 | |||
7259 | switch (state) { | 7264 | switch (state) { |
7260 | case pci_channel_io_normal: | 7265 | case pci_channel_io_normal: |
7261 | /* Non-fatal error, prepare for recovery */ | 7266 | /* Non-fatal error, prepare for recovery */ |
@@ -7507,6 +7512,9 @@ lpfc_pci_probe_one_s4(struct pci_dev *pdev, const struct pci_device_id *pid) | |||
7507 | error = -ENODEV; | 7512 | error = -ENODEV; |
7508 | goto out_free_sysfs_attr; | 7513 | goto out_free_sysfs_attr; |
7509 | } | 7514 | } |
7515 | /* Default to single FCP EQ for non-MSI-X */ | ||
7516 | if (phba->intr_type != MSIX) | ||
7517 | phba->cfg_fcp_eq_count = 1; | ||
7510 | /* Set up SLI-4 HBA */ | 7518 | /* Set up SLI-4 HBA */ |
7511 | if (lpfc_sli4_hba_setup(phba)) { | 7519 | if (lpfc_sli4_hba_setup(phba)) { |
7512 | lpfc_printf_log(phba, KERN_ERR, LOG_INIT, | 7520 | lpfc_printf_log(phba, KERN_ERR, LOG_INIT, |
diff --git a/drivers/scsi/lpfc/lpfc_sli.c b/drivers/scsi/lpfc/lpfc_sli.c index 7935667b81a5..589549b2bf0e 100644 --- a/drivers/scsi/lpfc/lpfc_sli.c +++ b/drivers/scsi/lpfc/lpfc_sli.c | |||
@@ -1383,7 +1383,7 @@ lpfc_sli_hbq_to_firmware_s4(struct lpfc_hba *phba, uint32_t hbqno, | |||
1383 | /* HBQ for ELS and CT traffic. */ | 1383 | /* HBQ for ELS and CT traffic. */ |
1384 | static struct lpfc_hbq_init lpfc_els_hbq = { | 1384 | static struct lpfc_hbq_init lpfc_els_hbq = { |
1385 | .rn = 1, | 1385 | .rn = 1, |
1386 | .entry_count = 200, | 1386 | .entry_count = 256, |
1387 | .mask_count = 0, | 1387 | .mask_count = 0, |
1388 | .profile = 0, | 1388 | .profile = 0, |
1389 | .ring_mask = (1 << LPFC_ELS_RING), | 1389 | .ring_mask = (1 << LPFC_ELS_RING), |
@@ -1482,8 +1482,11 @@ err: | |||
1482 | int | 1482 | int |
1483 | lpfc_sli_hbqbuf_add_hbqs(struct lpfc_hba *phba, uint32_t qno) | 1483 | lpfc_sli_hbqbuf_add_hbqs(struct lpfc_hba *phba, uint32_t qno) |
1484 | { | 1484 | { |
1485 | return(lpfc_sli_hbqbuf_fill_hbqs(phba, qno, | 1485 | if (phba->sli_rev == LPFC_SLI_REV4) |
1486 | lpfc_hbq_defs[qno]->add_count)); | 1486 | return 0; |
1487 | else | ||
1488 | return lpfc_sli_hbqbuf_fill_hbqs(phba, qno, | ||
1489 | lpfc_hbq_defs[qno]->add_count); | ||
1487 | } | 1490 | } |
1488 | 1491 | ||
1489 | /** | 1492 | /** |
@@ -1498,8 +1501,12 @@ lpfc_sli_hbqbuf_add_hbqs(struct lpfc_hba *phba, uint32_t qno) | |||
1498 | static int | 1501 | static int |
1499 | lpfc_sli_hbqbuf_init_hbqs(struct lpfc_hba *phba, uint32_t qno) | 1502 | lpfc_sli_hbqbuf_init_hbqs(struct lpfc_hba *phba, uint32_t qno) |
1500 | { | 1503 | { |
1501 | return(lpfc_sli_hbqbuf_fill_hbqs(phba, qno, | 1504 | if (phba->sli_rev == LPFC_SLI_REV4) |
1502 | lpfc_hbq_defs[qno]->init_count)); | 1505 | return lpfc_sli_hbqbuf_fill_hbqs(phba, qno, |
1506 | lpfc_hbq_defs[qno]->entry_count); | ||
1507 | else | ||
1508 | return lpfc_sli_hbqbuf_fill_hbqs(phba, qno, | ||
1509 | lpfc_hbq_defs[qno]->init_count); | ||
1503 | } | 1510 | } |
1504 | 1511 | ||
1505 | /** | 1512 | /** |
@@ -4110,6 +4117,7 @@ lpfc_sli4_read_rev(struct lpfc_hba *phba, LPFC_MBOXQ_t *mboxq, | |||
4110 | if (rc) { | 4117 | if (rc) { |
4111 | dma_free_coherent(&phba->pcidev->dev, dma_size, | 4118 | dma_free_coherent(&phba->pcidev->dev, dma_size, |
4112 | dmabuf->virt, dmabuf->phys); | 4119 | dmabuf->virt, dmabuf->phys); |
4120 | kfree(dmabuf); | ||
4113 | return -EIO; | 4121 | return -EIO; |
4114 | } | 4122 | } |
4115 | 4123 | ||
@@ -5848,7 +5856,6 @@ lpfc_sli4_iocb2wqe(struct lpfc_hba *phba, struct lpfc_iocbq *iocbq, | |||
5848 | iocbq->iocb.un.ulpWord[3]); | 5856 | iocbq->iocb.un.ulpWord[3]); |
5849 | wqe->generic.word3 = 0; | 5857 | wqe->generic.word3 = 0; |
5850 | bf_set(wqe_rcvoxid, &wqe->generic, iocbq->iocb.ulpContext); | 5858 | bf_set(wqe_rcvoxid, &wqe->generic, iocbq->iocb.ulpContext); |
5851 | bf_set(wqe_xc, &wqe->generic, 1); | ||
5852 | /* The entire sequence is transmitted for this IOCB */ | 5859 | /* The entire sequence is transmitted for this IOCB */ |
5853 | xmit_len = total_len; | 5860 | xmit_len = total_len; |
5854 | cmnd = CMD_XMIT_SEQUENCE64_CR; | 5861 | cmnd = CMD_XMIT_SEQUENCE64_CR; |
@@ -10944,7 +10951,8 @@ lpfc_fc_frame_add(struct lpfc_vport *vport, struct hbq_dmabuf *dmabuf) | |||
10944 | return dmabuf; | 10951 | return dmabuf; |
10945 | } | 10952 | } |
10946 | temp_hdr = seq_dmabuf->hbuf.virt; | 10953 | temp_hdr = seq_dmabuf->hbuf.virt; |
10947 | if (new_hdr->fh_seq_cnt < temp_hdr->fh_seq_cnt) { | 10954 | if (be16_to_cpu(new_hdr->fh_seq_cnt) < |
10955 | be16_to_cpu(temp_hdr->fh_seq_cnt)) { | ||
10948 | list_del_init(&seq_dmabuf->hbuf.list); | 10956 | list_del_init(&seq_dmabuf->hbuf.list); |
10949 | list_add_tail(&dmabuf->hbuf.list, &vport->rcv_buffer_list); | 10957 | list_add_tail(&dmabuf->hbuf.list, &vport->rcv_buffer_list); |
10950 | list_add_tail(&dmabuf->dbuf.list, &seq_dmabuf->dbuf.list); | 10958 | list_add_tail(&dmabuf->dbuf.list, &seq_dmabuf->dbuf.list); |
@@ -10955,6 +10963,11 @@ lpfc_fc_frame_add(struct lpfc_vport *vport, struct hbq_dmabuf *dmabuf) | |||
10955 | list_move_tail(&seq_dmabuf->hbuf.list, &vport->rcv_buffer_list); | 10963 | list_move_tail(&seq_dmabuf->hbuf.list, &vport->rcv_buffer_list); |
10956 | seq_dmabuf->time_stamp = jiffies; | 10964 | seq_dmabuf->time_stamp = jiffies; |
10957 | lpfc_update_rcv_time_stamp(vport); | 10965 | lpfc_update_rcv_time_stamp(vport); |
10966 | if (list_empty(&seq_dmabuf->dbuf.list)) { | ||
10967 | temp_hdr = dmabuf->hbuf.virt; | ||
10968 | list_add_tail(&dmabuf->dbuf.list, &seq_dmabuf->dbuf.list); | ||
10969 | return seq_dmabuf; | ||
10970 | } | ||
10958 | /* find the correct place in the sequence to insert this frame */ | 10971 | /* find the correct place in the sequence to insert this frame */ |
10959 | list_for_each_entry_reverse(d_buf, &seq_dmabuf->dbuf.list, list) { | 10972 | list_for_each_entry_reverse(d_buf, &seq_dmabuf->dbuf.list, list) { |
10960 | temp_dmabuf = container_of(d_buf, struct hbq_dmabuf, dbuf); | 10973 | temp_dmabuf = container_of(d_buf, struct hbq_dmabuf, dbuf); |
@@ -10963,7 +10976,8 @@ lpfc_fc_frame_add(struct lpfc_vport *vport, struct hbq_dmabuf *dmabuf) | |||
10963 | * If the frame's sequence count is greater than the frame on | 10976 | * If the frame's sequence count is greater than the frame on |
10964 | * the list then insert the frame right after this frame | 10977 | * the list then insert the frame right after this frame |
10965 | */ | 10978 | */ |
10966 | if (new_hdr->fh_seq_cnt > temp_hdr->fh_seq_cnt) { | 10979 | if (be16_to_cpu(new_hdr->fh_seq_cnt) > |
10980 | be16_to_cpu(temp_hdr->fh_seq_cnt)) { | ||
10967 | list_add(&dmabuf->dbuf.list, &temp_dmabuf->dbuf.list); | 10981 | list_add(&dmabuf->dbuf.list, &temp_dmabuf->dbuf.list); |
10968 | return seq_dmabuf; | 10982 | return seq_dmabuf; |
10969 | } | 10983 | } |
@@ -11210,7 +11224,7 @@ lpfc_seq_complete(struct hbq_dmabuf *dmabuf) | |||
11210 | seq_dmabuf = container_of(d_buf, struct hbq_dmabuf, dbuf); | 11224 | seq_dmabuf = container_of(d_buf, struct hbq_dmabuf, dbuf); |
11211 | hdr = (struct fc_frame_header *)seq_dmabuf->hbuf.virt; | 11225 | hdr = (struct fc_frame_header *)seq_dmabuf->hbuf.virt; |
11212 | /* If there is a hole in the sequence count then fail. */ | 11226 | /* If there is a hole in the sequence count then fail. */ |
11213 | if (++seq_count != hdr->fh_seq_cnt) | 11227 | if (++seq_count != be16_to_cpu(hdr->fh_seq_cnt)) |
11214 | return 0; | 11228 | return 0; |
11215 | fctl = (hdr->fh_f_ctl[0] << 16 | | 11229 | fctl = (hdr->fh_f_ctl[0] << 16 | |
11216 | hdr->fh_f_ctl[1] << 8 | | 11230 | hdr->fh_f_ctl[1] << 8 | |
@@ -11242,6 +11256,7 @@ lpfc_prep_seq(struct lpfc_vport *vport, struct hbq_dmabuf *seq_dmabuf) | |||
11242 | struct lpfc_iocbq *first_iocbq, *iocbq; | 11256 | struct lpfc_iocbq *first_iocbq, *iocbq; |
11243 | struct fc_frame_header *fc_hdr; | 11257 | struct fc_frame_header *fc_hdr; |
11244 | uint32_t sid; | 11258 | uint32_t sid; |
11259 | struct ulp_bde64 *pbde; | ||
11245 | 11260 | ||
11246 | fc_hdr = (struct fc_frame_header *)seq_dmabuf->hbuf.virt; | 11261 | fc_hdr = (struct fc_frame_header *)seq_dmabuf->hbuf.virt; |
11247 | /* remove from receive buffer list */ | 11262 | /* remove from receive buffer list */ |
@@ -11283,8 +11298,9 @@ lpfc_prep_seq(struct lpfc_vport *vport, struct hbq_dmabuf *seq_dmabuf) | |||
11283 | if (!iocbq->context3) { | 11298 | if (!iocbq->context3) { |
11284 | iocbq->context3 = d_buf; | 11299 | iocbq->context3 = d_buf; |
11285 | iocbq->iocb.ulpBdeCount++; | 11300 | iocbq->iocb.ulpBdeCount++; |
11286 | iocbq->iocb.unsli3.rcvsli3.bde2.tus.f.bdeSize = | 11301 | pbde = (struct ulp_bde64 *) |
11287 | LPFC_DATA_BUF_SIZE; | 11302 | &iocbq->iocb.unsli3.sli3Words[4]; |
11303 | pbde->tus.f.bdeSize = LPFC_DATA_BUF_SIZE; | ||
11288 | first_iocbq->iocb.unsli3.rcvsli3.acc_len += | 11304 | first_iocbq->iocb.unsli3.rcvsli3.acc_len += |
11289 | bf_get(lpfc_rcqe_length, | 11305 | bf_get(lpfc_rcqe_length, |
11290 | &seq_dmabuf->cq_event.cqe.rcqe_cmpl); | 11306 | &seq_dmabuf->cq_event.cqe.rcqe_cmpl); |
@@ -11401,15 +11417,9 @@ lpfc_sli4_handle_received_buffer(struct lpfc_hba *phba, | |||
11401 | return; | 11417 | return; |
11402 | } | 11418 | } |
11403 | /* If not last frame in sequence continue processing frames. */ | 11419 | /* If not last frame in sequence continue processing frames. */ |
11404 | if (!lpfc_seq_complete(seq_dmabuf)) { | 11420 | if (!lpfc_seq_complete(seq_dmabuf)) |
11405 | /* | ||
11406 | * When saving off frames post a new one and mark this | ||
11407 | * frame to be freed when it is finished. | ||
11408 | **/ | ||
11409 | lpfc_sli_hbqbuf_fill_hbqs(phba, LPFC_ELS_HBQ, 1); | ||
11410 | dmabuf->tag = -1; | ||
11411 | return; | 11421 | return; |
11412 | } | 11422 | |
11413 | /* Send the complete sequence to the upper layer protocol */ | 11423 | /* Send the complete sequence to the upper layer protocol */ |
11414 | lpfc_sli4_send_seq_to_ulp(vport, seq_dmabuf); | 11424 | lpfc_sli4_send_seq_to_ulp(vport, seq_dmabuf); |
11415 | } | 11425 | } |
diff --git a/drivers/scsi/lpfc/lpfc_sli4.h b/drivers/scsi/lpfc/lpfc_sli4.h index 25d66d070cf8..44e5f574236b 100644 --- a/drivers/scsi/lpfc/lpfc_sli4.h +++ b/drivers/scsi/lpfc/lpfc_sli4.h | |||
@@ -28,7 +28,7 @@ | |||
28 | /* Multi-queue arrangement for fast-path FCP work queues */ | 28 | /* Multi-queue arrangement for fast-path FCP work queues */ |
29 | #define LPFC_FN_EQN_MAX 8 | 29 | #define LPFC_FN_EQN_MAX 8 |
30 | #define LPFC_SP_EQN_DEF 1 | 30 | #define LPFC_SP_EQN_DEF 1 |
31 | #define LPFC_FP_EQN_DEF 1 | 31 | #define LPFC_FP_EQN_DEF 4 |
32 | #define LPFC_FP_EQN_MIN 1 | 32 | #define LPFC_FP_EQN_MIN 1 |
33 | #define LPFC_FP_EQN_MAX (LPFC_FN_EQN_MAX - LPFC_SP_EQN_DEF) | 33 | #define LPFC_FP_EQN_MAX (LPFC_FN_EQN_MAX - LPFC_SP_EQN_DEF) |
34 | 34 | ||
diff --git a/drivers/scsi/lpfc/lpfc_version.h b/drivers/scsi/lpfc/lpfc_version.h index c7f3aed2aab8..792f72263f1a 100644 --- a/drivers/scsi/lpfc/lpfc_version.h +++ b/drivers/scsi/lpfc/lpfc_version.h | |||
@@ -18,7 +18,7 @@ | |||
18 | * included with this package. * | 18 | * included with this package. * |
19 | *******************************************************************/ | 19 | *******************************************************************/ |
20 | 20 | ||
21 | #define LPFC_DRIVER_VERSION "8.3.6" | 21 | #define LPFC_DRIVER_VERSION "8.3.7" |
22 | #define LPFC_DRIVER_NAME "lpfc" | 22 | #define LPFC_DRIVER_NAME "lpfc" |
23 | #define LPFC_SP_DRIVER_HANDLER_NAME "lpfc:sp" | 23 | #define LPFC_SP_DRIVER_HANDLER_NAME "lpfc:sp" |
24 | #define LPFC_FP_DRIVER_HANDLER_NAME "lpfc:fp" | 24 | #define LPFC_FP_DRIVER_HANDLER_NAME "lpfc:fp" |
diff --git a/drivers/scsi/lpfc/lpfc_vport.c b/drivers/scsi/lpfc/lpfc_vport.c index 7d6dd83d3592..e3c7fa642306 100644 --- a/drivers/scsi/lpfc/lpfc_vport.c +++ b/drivers/scsi/lpfc/lpfc_vport.c | |||
@@ -512,8 +512,10 @@ enable_vport(struct fc_vport *fc_vport) | |||
512 | return VPORT_OK; | 512 | return VPORT_OK; |
513 | } | 513 | } |
514 | 514 | ||
515 | spin_lock_irq(&phba->hbalock); | ||
515 | vport->load_flag |= FC_LOADING; | 516 | vport->load_flag |= FC_LOADING; |
516 | vport->fc_flag |= FC_VPORT_NEEDS_REG_VPI; | 517 | vport->fc_flag |= FC_VPORT_NEEDS_REG_VPI; |
518 | spin_unlock_irq(&phba->hbalock); | ||
517 | 519 | ||
518 | /* Use the Physical nodes Fabric NDLP to determine if the link is | 520 | /* Use the Physical nodes Fabric NDLP to determine if the link is |
519 | * up and ready to FDISC. | 521 | * up and ready to FDISC. |
@@ -700,7 +702,7 @@ lpfc_vport_delete(struct fc_vport *fc_vport) | |||
700 | } | 702 | } |
701 | spin_unlock_irq(&phba->ndlp_lock); | 703 | spin_unlock_irq(&phba->ndlp_lock); |
702 | } | 704 | } |
703 | if (vport->vpi_state != LPFC_VPI_REGISTERED) | 705 | if (!(vport->vpi_state & LPFC_VPI_REGISTERED)) |
704 | goto skip_logo; | 706 | goto skip_logo; |
705 | vport->unreg_vpi_cmpl = VPORT_INVAL; | 707 | vport->unreg_vpi_cmpl = VPORT_INVAL; |
706 | timeout = msecs_to_jiffies(phba->fc_ratov * 2000); | 708 | timeout = msecs_to_jiffies(phba->fc_ratov * 2000); |
diff --git a/drivers/scsi/pmcraid.c b/drivers/scsi/pmcraid.c index e7d2688fbeba..b6f1ef954af1 100644 --- a/drivers/scsi/pmcraid.c +++ b/drivers/scsi/pmcraid.c | |||
@@ -2483,14 +2483,12 @@ static int pmcraid_error_handler(struct pmcraid_cmd *cmd) | |||
2483 | sense_copied = 1; | 2483 | sense_copied = 1; |
2484 | } | 2484 | } |
2485 | 2485 | ||
2486 | if (RES_IS_GSCSI(res->cfg_entry)) { | 2486 | if (RES_IS_GSCSI(res->cfg_entry)) |
2487 | pmcraid_cancel_all(cmd, sense_copied); | 2487 | pmcraid_cancel_all(cmd, sense_copied); |
2488 | } else if (sense_copied) { | 2488 | else if (sense_copied) |
2489 | pmcraid_erp_done(cmd); | 2489 | pmcraid_erp_done(cmd); |
2490 | return 0; | 2490 | else |
2491 | } else { | ||
2492 | pmcraid_request_sense(cmd); | 2491 | pmcraid_request_sense(cmd); |
2493 | } | ||
2494 | 2492 | ||
2495 | return 1; | 2493 | return 1; |
2496 | 2494 | ||
diff --git a/drivers/scsi/qla2xxx/qla_attr.c b/drivers/scsi/qla2xxx/qla_attr.c index 21e2bc4d7401..3a9f5b288aee 100644 --- a/drivers/scsi/qla2xxx/qla_attr.c +++ b/drivers/scsi/qla2xxx/qla_attr.c | |||
@@ -232,6 +232,9 @@ qla2x00_sysfs_write_optrom_ctl(struct kobject *kobj, | |||
232 | if (off) | 232 | if (off) |
233 | return 0; | 233 | return 0; |
234 | 234 | ||
235 | if (unlikely(pci_channel_offline(ha->pdev))) | ||
236 | return 0; | ||
237 | |||
235 | if (sscanf(buf, "%d:%x:%x", &val, &start, &size) < 1) | 238 | if (sscanf(buf, "%d:%x:%x", &val, &start, &size) < 1) |
236 | return -EINVAL; | 239 | return -EINVAL; |
237 | if (start > ha->optrom_size) | 240 | if (start > ha->optrom_size) |
@@ -379,6 +382,9 @@ qla2x00_sysfs_read_vpd(struct kobject *kobj, | |||
379 | struct device, kobj))); | 382 | struct device, kobj))); |
380 | struct qla_hw_data *ha = vha->hw; | 383 | struct qla_hw_data *ha = vha->hw; |
381 | 384 | ||
385 | if (unlikely(pci_channel_offline(ha->pdev))) | ||
386 | return 0; | ||
387 | |||
382 | if (!capable(CAP_SYS_ADMIN)) | 388 | if (!capable(CAP_SYS_ADMIN)) |
383 | return 0; | 389 | return 0; |
384 | 390 | ||
@@ -398,6 +404,9 @@ qla2x00_sysfs_write_vpd(struct kobject *kobj, | |||
398 | struct qla_hw_data *ha = vha->hw; | 404 | struct qla_hw_data *ha = vha->hw; |
399 | uint8_t *tmp_data; | 405 | uint8_t *tmp_data; |
400 | 406 | ||
407 | if (unlikely(pci_channel_offline(ha->pdev))) | ||
408 | return 0; | ||
409 | |||
401 | if (!capable(CAP_SYS_ADMIN) || off != 0 || count != ha->vpd_size || | 410 | if (!capable(CAP_SYS_ADMIN) || off != 0 || count != ha->vpd_size || |
402 | !ha->isp_ops->write_nvram) | 411 | !ha->isp_ops->write_nvram) |
403 | return 0; | 412 | return 0; |
@@ -1238,10 +1247,11 @@ qla2x00_fw_state_show(struct device *dev, struct device_attribute *attr, | |||
1238 | char *buf) | 1247 | char *buf) |
1239 | { | 1248 | { |
1240 | scsi_qla_host_t *vha = shost_priv(class_to_shost(dev)); | 1249 | scsi_qla_host_t *vha = shost_priv(class_to_shost(dev)); |
1241 | int rval; | 1250 | int rval = QLA_FUNCTION_FAILED; |
1242 | uint16_t state[5]; | 1251 | uint16_t state[5]; |
1243 | 1252 | ||
1244 | rval = qla2x00_get_firmware_state(vha, state); | 1253 | if (!vha->hw->flags.eeh_busy) |
1254 | rval = qla2x00_get_firmware_state(vha, state); | ||
1245 | if (rval != QLA_SUCCESS) | 1255 | if (rval != QLA_SUCCESS) |
1246 | memset(state, -1, sizeof(state)); | 1256 | memset(state, -1, sizeof(state)); |
1247 | 1257 | ||
@@ -1452,10 +1462,13 @@ qla2x00_dev_loss_tmo_callbk(struct fc_rport *rport) | |||
1452 | if (!fcport) | 1462 | if (!fcport) |
1453 | return; | 1463 | return; |
1454 | 1464 | ||
1455 | if (unlikely(pci_channel_offline(fcport->vha->hw->pdev))) | 1465 | if (test_bit(ABORT_ISP_ACTIVE, &fcport->vha->dpc_flags)) |
1466 | return; | ||
1467 | |||
1468 | if (unlikely(pci_channel_offline(fcport->vha->hw->pdev))) { | ||
1456 | qla2x00_abort_all_cmds(fcport->vha, DID_NO_CONNECT << 16); | 1469 | qla2x00_abort_all_cmds(fcport->vha, DID_NO_CONNECT << 16); |
1457 | else | 1470 | return; |
1458 | qla2x00_abort_fcport_cmds(fcport); | 1471 | } |
1459 | 1472 | ||
1460 | /* | 1473 | /* |
1461 | * Transport has effectively 'deleted' the rport, clear | 1474 | * Transport has effectively 'deleted' the rport, clear |
@@ -1475,6 +1488,9 @@ qla2x00_terminate_rport_io(struct fc_rport *rport) | |||
1475 | if (!fcport) | 1488 | if (!fcport) |
1476 | return; | 1489 | return; |
1477 | 1490 | ||
1491 | if (test_bit(ABORT_ISP_ACTIVE, &fcport->vha->dpc_flags)) | ||
1492 | return; | ||
1493 | |||
1478 | if (unlikely(pci_channel_offline(fcport->vha->hw->pdev))) { | 1494 | if (unlikely(pci_channel_offline(fcport->vha->hw->pdev))) { |
1479 | qla2x00_abort_all_cmds(fcport->vha, DID_NO_CONNECT << 16); | 1495 | qla2x00_abort_all_cmds(fcport->vha, DID_NO_CONNECT << 16); |
1480 | return; | 1496 | return; |
@@ -1515,6 +1531,12 @@ qla2x00_get_fc_host_stats(struct Scsi_Host *shost) | |||
1515 | pfc_host_stat = &ha->fc_host_stat; | 1531 | pfc_host_stat = &ha->fc_host_stat; |
1516 | memset(pfc_host_stat, -1, sizeof(struct fc_host_statistics)); | 1532 | memset(pfc_host_stat, -1, sizeof(struct fc_host_statistics)); |
1517 | 1533 | ||
1534 | if (test_bit(UNLOADING, &vha->dpc_flags)) | ||
1535 | goto done; | ||
1536 | |||
1537 | if (unlikely(pci_channel_offline(ha->pdev))) | ||
1538 | goto done; | ||
1539 | |||
1518 | stats = dma_pool_alloc(ha->s_dma_pool, GFP_KERNEL, &stats_dma); | 1540 | stats = dma_pool_alloc(ha->s_dma_pool, GFP_KERNEL, &stats_dma); |
1519 | if (stats == NULL) { | 1541 | if (stats == NULL) { |
1520 | DEBUG2_3_11(printk("%s(%ld): Failed to allocate memory.\n", | 1542 | DEBUG2_3_11(printk("%s(%ld): Failed to allocate memory.\n", |
diff --git a/drivers/scsi/qla2xxx/qla_dbg.h b/drivers/scsi/qla2xxx/qla_dbg.h index f660dd70b72e..d6d9c86cb058 100644 --- a/drivers/scsi/qla2xxx/qla_dbg.h +++ b/drivers/scsi/qla2xxx/qla_dbg.h | |||
@@ -26,7 +26,7 @@ | |||
26 | /* #define QL_DEBUG_LEVEL_14 */ /* Output RSCN trace msgs */ | 26 | /* #define QL_DEBUG_LEVEL_14 */ /* Output RSCN trace msgs */ |
27 | /* #define QL_DEBUG_LEVEL_15 */ /* Output NPIV trace msgs */ | 27 | /* #define QL_DEBUG_LEVEL_15 */ /* Output NPIV trace msgs */ |
28 | /* #define QL_DEBUG_LEVEL_16 */ /* Output ISP84XX trace msgs */ | 28 | /* #define QL_DEBUG_LEVEL_16 */ /* Output ISP84XX trace msgs */ |
29 | /* #define QL_DEBUG_LEVEL_17 */ /* Output MULTI-Q trace messages */ | 29 | /* #define QL_DEBUG_LEVEL_17 */ /* Output EEH trace messages */ |
30 | 30 | ||
31 | /* | 31 | /* |
32 | * Macros use for debugging the driver. | 32 | * Macros use for debugging the driver. |
@@ -132,6 +132,13 @@ | |||
132 | #else | 132 | #else |
133 | #define DEBUG16(x) do {} while (0) | 133 | #define DEBUG16(x) do {} while (0) |
134 | #endif | 134 | #endif |
135 | |||
136 | #if defined(QL_DEBUG_LEVEL_17) | ||
137 | #define DEBUG17(x) do {x;} while (0) | ||
138 | #else | ||
139 | #define DEBUG17(x) do {} while (0) | ||
140 | #endif | ||
141 | |||
135 | /* | 142 | /* |
136 | * Firmware Dump structure definition | 143 | * Firmware Dump structure definition |
137 | */ | 144 | */ |
diff --git a/drivers/scsi/qla2xxx/qla_def.h b/drivers/scsi/qla2xxx/qla_def.h index 384afda7dbe9..608e675f68c8 100644 --- a/drivers/scsi/qla2xxx/qla_def.h +++ b/drivers/scsi/qla2xxx/qla_def.h | |||
@@ -2256,11 +2256,13 @@ struct qla_hw_data { | |||
2256 | uint32_t disable_serdes :1; | 2256 | uint32_t disable_serdes :1; |
2257 | uint32_t gpsc_supported :1; | 2257 | uint32_t gpsc_supported :1; |
2258 | uint32_t npiv_supported :1; | 2258 | uint32_t npiv_supported :1; |
2259 | uint32_t pci_channel_io_perm_failure :1; | ||
2259 | uint32_t fce_enabled :1; | 2260 | uint32_t fce_enabled :1; |
2260 | uint32_t fac_supported :1; | 2261 | uint32_t fac_supported :1; |
2261 | uint32_t chip_reset_done :1; | 2262 | uint32_t chip_reset_done :1; |
2262 | uint32_t port0 :1; | 2263 | uint32_t port0 :1; |
2263 | uint32_t running_gold_fw :1; | 2264 | uint32_t running_gold_fw :1; |
2265 | uint32_t eeh_busy :1; | ||
2264 | uint32_t cpu_affinity_enabled :1; | 2266 | uint32_t cpu_affinity_enabled :1; |
2265 | uint32_t disable_msix_handshake :1; | 2267 | uint32_t disable_msix_handshake :1; |
2266 | } flags; | 2268 | } flags; |
diff --git a/drivers/scsi/qla2xxx/qla_gbl.h b/drivers/scsi/qla2xxx/qla_gbl.h index 0b6801fc6389..f61fb8d01330 100644 --- a/drivers/scsi/qla2xxx/qla_gbl.h +++ b/drivers/scsi/qla2xxx/qla_gbl.h | |||
@@ -324,6 +324,7 @@ qla2x00_read_ram_word(scsi_qla_host_t *, uint32_t, uint32_t *); | |||
324 | extern int | 324 | extern int |
325 | qla2x00_write_ram_word(scsi_qla_host_t *, uint32_t, uint32_t); | 325 | qla2x00_write_ram_word(scsi_qla_host_t *, uint32_t, uint32_t); |
326 | 326 | ||
327 | extern int qla2x00_get_data_rate(scsi_qla_host_t *); | ||
327 | /* | 328 | /* |
328 | * Global Function Prototypes in qla_isr.c source file. | 329 | * Global Function Prototypes in qla_isr.c source file. |
329 | */ | 330 | */ |
diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c index 73a793539d45..b4a0eac8f96d 100644 --- a/drivers/scsi/qla2xxx/qla_init.c +++ b/drivers/scsi/qla2xxx/qla_init.c | |||
@@ -269,6 +269,8 @@ qla2x00_initialize_adapter(scsi_qla_host_t *vha) | |||
269 | vha->flags.online = 0; | 269 | vha->flags.online = 0; |
270 | ha->flags.chip_reset_done = 0; | 270 | ha->flags.chip_reset_done = 0; |
271 | vha->flags.reset_active = 0; | 271 | vha->flags.reset_active = 0; |
272 | ha->flags.pci_channel_io_perm_failure = 0; | ||
273 | ha->flags.eeh_busy = 0; | ||
272 | atomic_set(&vha->loop_down_timer, LOOP_DOWN_TIME); | 274 | atomic_set(&vha->loop_down_timer, LOOP_DOWN_TIME); |
273 | atomic_set(&vha->loop_state, LOOP_DOWN); | 275 | atomic_set(&vha->loop_state, LOOP_DOWN); |
274 | vha->device_flags = DFLG_NO_CABLE; | 276 | vha->device_flags = DFLG_NO_CABLE; |
@@ -581,6 +583,9 @@ qla2x00_reset_chip(scsi_qla_host_t *vha) | |||
581 | uint32_t cnt; | 583 | uint32_t cnt; |
582 | uint16_t cmd; | 584 | uint16_t cmd; |
583 | 585 | ||
586 | if (unlikely(pci_channel_offline(ha->pdev))) | ||
587 | return; | ||
588 | |||
584 | ha->isp_ops->disable_intrs(ha); | 589 | ha->isp_ops->disable_intrs(ha); |
585 | 590 | ||
586 | spin_lock_irqsave(&ha->hardware_lock, flags); | 591 | spin_lock_irqsave(&ha->hardware_lock, flags); |
@@ -786,6 +791,12 @@ void | |||
786 | qla24xx_reset_chip(scsi_qla_host_t *vha) | 791 | qla24xx_reset_chip(scsi_qla_host_t *vha) |
787 | { | 792 | { |
788 | struct qla_hw_data *ha = vha->hw; | 793 | struct qla_hw_data *ha = vha->hw; |
794 | |||
795 | if (pci_channel_offline(ha->pdev) && | ||
796 | ha->flags.pci_channel_io_perm_failure) { | ||
797 | return; | ||
798 | } | ||
799 | |||
789 | ha->isp_ops->disable_intrs(ha); | 800 | ha->isp_ops->disable_intrs(ha); |
790 | 801 | ||
791 | /* Perform RISC reset. */ | 802 | /* Perform RISC reset. */ |
@@ -2266,6 +2277,8 @@ qla2x00_configure_loop(scsi_qla_host_t *vha) | |||
2266 | clear_bit(LOCAL_LOOP_UPDATE, &vha->dpc_flags); | 2277 | clear_bit(LOCAL_LOOP_UPDATE, &vha->dpc_flags); |
2267 | clear_bit(RSCN_UPDATE, &vha->dpc_flags); | 2278 | clear_bit(RSCN_UPDATE, &vha->dpc_flags); |
2268 | 2279 | ||
2280 | qla2x00_get_data_rate(vha); | ||
2281 | |||
2269 | /* Determine what we need to do */ | 2282 | /* Determine what we need to do */ |
2270 | if (ha->current_topology == ISP_CFG_FL && | 2283 | if (ha->current_topology == ISP_CFG_FL && |
2271 | (test_bit(LOCAL_LOOP_UPDATE, &flags))) { | 2284 | (test_bit(LOCAL_LOOP_UPDATE, &flags))) { |
@@ -3560,6 +3573,13 @@ qla2x00_abort_isp(scsi_qla_host_t *vha) | |||
3560 | /* Requeue all commands in outstanding command list. */ | 3573 | /* Requeue all commands in outstanding command list. */ |
3561 | qla2x00_abort_all_cmds(vha, DID_RESET << 16); | 3574 | qla2x00_abort_all_cmds(vha, DID_RESET << 16); |
3562 | 3575 | ||
3576 | if (unlikely(pci_channel_offline(ha->pdev) && | ||
3577 | ha->flags.pci_channel_io_perm_failure)) { | ||
3578 | clear_bit(ISP_ABORT_RETRY, &vha->dpc_flags); | ||
3579 | status = 0; | ||
3580 | return status; | ||
3581 | } | ||
3582 | |||
3563 | ha->isp_ops->get_flash_version(vha, req->ring); | 3583 | ha->isp_ops->get_flash_version(vha, req->ring); |
3564 | 3584 | ||
3565 | ha->isp_ops->nvram_config(vha); | 3585 | ha->isp_ops->nvram_config(vha); |
@@ -4458,6 +4478,8 @@ qla2x00_try_to_stop_firmware(scsi_qla_host_t *vha) | |||
4458 | int ret, retries; | 4478 | int ret, retries; |
4459 | struct qla_hw_data *ha = vha->hw; | 4479 | struct qla_hw_data *ha = vha->hw; |
4460 | 4480 | ||
4481 | if (ha->flags.pci_channel_io_perm_failure) | ||
4482 | return; | ||
4461 | if (!IS_FWI2_CAPABLE(ha)) | 4483 | if (!IS_FWI2_CAPABLE(ha)) |
4462 | return; | 4484 | return; |
4463 | if (!ha->fw_major_version) | 4485 | if (!ha->fw_major_version) |
diff --git a/drivers/scsi/qla2xxx/qla_isr.c b/drivers/scsi/qla2xxx/qla_isr.c index 1692a883f4de..ffd0efdff40e 100644 --- a/drivers/scsi/qla2xxx/qla_isr.c +++ b/drivers/scsi/qla2xxx/qla_isr.c | |||
@@ -152,7 +152,7 @@ qla2300_intr_handler(int irq, void *dev_id) | |||
152 | for (iter = 50; iter--; ) { | 152 | for (iter = 50; iter--; ) { |
153 | stat = RD_REG_DWORD(®->u.isp2300.host_status); | 153 | stat = RD_REG_DWORD(®->u.isp2300.host_status); |
154 | if (stat & HSR_RISC_PAUSED) { | 154 | if (stat & HSR_RISC_PAUSED) { |
155 | if (pci_channel_offline(ha->pdev)) | 155 | if (unlikely(pci_channel_offline(ha->pdev))) |
156 | break; | 156 | break; |
157 | 157 | ||
158 | hccr = RD_REG_WORD(®->hccr); | 158 | hccr = RD_REG_WORD(®->hccr); |
@@ -1846,12 +1846,15 @@ qla24xx_intr_handler(int irq, void *dev_id) | |||
1846 | reg = &ha->iobase->isp24; | 1846 | reg = &ha->iobase->isp24; |
1847 | status = 0; | 1847 | status = 0; |
1848 | 1848 | ||
1849 | if (unlikely(pci_channel_offline(ha->pdev))) | ||
1850 | return IRQ_HANDLED; | ||
1851 | |||
1849 | spin_lock_irqsave(&ha->hardware_lock, flags); | 1852 | spin_lock_irqsave(&ha->hardware_lock, flags); |
1850 | vha = pci_get_drvdata(ha->pdev); | 1853 | vha = pci_get_drvdata(ha->pdev); |
1851 | for (iter = 50; iter--; ) { | 1854 | for (iter = 50; iter--; ) { |
1852 | stat = RD_REG_DWORD(®->host_status); | 1855 | stat = RD_REG_DWORD(®->host_status); |
1853 | if (stat & HSRX_RISC_PAUSED) { | 1856 | if (stat & HSRX_RISC_PAUSED) { |
1854 | if (pci_channel_offline(ha->pdev)) | 1857 | if (unlikely(pci_channel_offline(ha->pdev))) |
1855 | break; | 1858 | break; |
1856 | 1859 | ||
1857 | hccr = RD_REG_DWORD(®->hccr); | 1860 | hccr = RD_REG_DWORD(®->hccr); |
@@ -1992,7 +1995,7 @@ qla24xx_msix_default(int irq, void *dev_id) | |||
1992 | do { | 1995 | do { |
1993 | stat = RD_REG_DWORD(®->host_status); | 1996 | stat = RD_REG_DWORD(®->host_status); |
1994 | if (stat & HSRX_RISC_PAUSED) { | 1997 | if (stat & HSRX_RISC_PAUSED) { |
1995 | if (pci_channel_offline(ha->pdev)) | 1998 | if (unlikely(pci_channel_offline(ha->pdev))) |
1996 | break; | 1999 | break; |
1997 | 2000 | ||
1998 | hccr = RD_REG_DWORD(®->hccr); | 2001 | hccr = RD_REG_DWORD(®->hccr); |
diff --git a/drivers/scsi/qla2xxx/qla_mbx.c b/drivers/scsi/qla2xxx/qla_mbx.c index 05d595d9a7ef..056e4d4505f3 100644 --- a/drivers/scsi/qla2xxx/qla_mbx.c +++ b/drivers/scsi/qla2xxx/qla_mbx.c | |||
@@ -56,6 +56,12 @@ qla2x00_mailbox_command(scsi_qla_host_t *vha, mbx_cmd_t *mcp) | |||
56 | 56 | ||
57 | DEBUG11(printk("%s(%ld): entered.\n", __func__, base_vha->host_no)); | 57 | DEBUG11(printk("%s(%ld): entered.\n", __func__, base_vha->host_no)); |
58 | 58 | ||
59 | if (ha->flags.pci_channel_io_perm_failure) { | ||
60 | DEBUG(printk("%s(%ld): Perm failure on EEH, timeout MBX " | ||
61 | "Exiting.\n", __func__, vha->host_no)); | ||
62 | return QLA_FUNCTION_TIMEOUT; | ||
63 | } | ||
64 | |||
59 | /* | 65 | /* |
60 | * Wait for active mailbox commands to finish by waiting at most tov | 66 | * Wait for active mailbox commands to finish by waiting at most tov |
61 | * seconds. This is to serialize actual issuing of mailbox cmds during | 67 | * seconds. This is to serialize actual issuing of mailbox cmds during |
@@ -154,10 +160,14 @@ qla2x00_mailbox_command(scsi_qla_host_t *vha, mbx_cmd_t *mcp) | |||
154 | /* Check for pending interrupts. */ | 160 | /* Check for pending interrupts. */ |
155 | qla2x00_poll(ha->rsp_q_map[0]); | 161 | qla2x00_poll(ha->rsp_q_map[0]); |
156 | 162 | ||
157 | if (command != MBC_LOAD_RISC_RAM_EXTENDED && | 163 | if (!ha->flags.mbox_int && |
158 | !ha->flags.mbox_int) | 164 | !(IS_QLA2200(ha) && |
165 | command == MBC_LOAD_RISC_RAM_EXTENDED)) | ||
159 | msleep(10); | 166 | msleep(10); |
160 | } /* while */ | 167 | } /* while */ |
168 | DEBUG17(qla_printk(KERN_WARNING, ha, | ||
169 | "Waited %d sec\n", | ||
170 | (uint)((jiffies - (wait_time - (mcp->tov * HZ)))/HZ))); | ||
161 | } | 171 | } |
162 | 172 | ||
163 | /* Check whether we timed out */ | 173 | /* Check whether we timed out */ |
@@ -227,7 +237,8 @@ qla2x00_mailbox_command(scsi_qla_host_t *vha, mbx_cmd_t *mcp) | |||
227 | 237 | ||
228 | if (rval == QLA_FUNCTION_TIMEOUT && | 238 | if (rval == QLA_FUNCTION_TIMEOUT && |
229 | mcp->mb[0] != MBC_GEN_SYSTEM_ERROR) { | 239 | mcp->mb[0] != MBC_GEN_SYSTEM_ERROR) { |
230 | if (!io_lock_on || (mcp->flags & IOCTL_CMD)) { | 240 | if (!io_lock_on || (mcp->flags & IOCTL_CMD) || |
241 | ha->flags.eeh_busy) { | ||
231 | /* not in dpc. schedule it for dpc to take over. */ | 242 | /* not in dpc. schedule it for dpc to take over. */ |
232 | DEBUG(printk("%s(%ld): timeout schedule " | 243 | DEBUG(printk("%s(%ld): timeout schedule " |
233 | "isp_abort_needed.\n", __func__, | 244 | "isp_abort_needed.\n", __func__, |
@@ -237,7 +248,7 @@ qla2x00_mailbox_command(scsi_qla_host_t *vha, mbx_cmd_t *mcp) | |||
237 | base_vha->host_no)); | 248 | base_vha->host_no)); |
238 | qla_printk(KERN_WARNING, ha, | 249 | qla_printk(KERN_WARNING, ha, |
239 | "Mailbox command timeout occurred. Scheduling ISP " | 250 | "Mailbox command timeout occurred. Scheduling ISP " |
240 | "abort.\n"); | 251 | "abort. eeh_busy: 0x%x\n", ha->flags.eeh_busy); |
241 | set_bit(ISP_ABORT_NEEDED, &base_vha->dpc_flags); | 252 | set_bit(ISP_ABORT_NEEDED, &base_vha->dpc_flags); |
242 | qla2xxx_wake_dpc(vha); | 253 | qla2xxx_wake_dpc(vha); |
243 | } else if (!abort_active) { | 254 | } else if (!abort_active) { |
@@ -2530,6 +2541,9 @@ qla2x00_enable_eft_trace(scsi_qla_host_t *vha, dma_addr_t eft_dma, | |||
2530 | if (!IS_FWI2_CAPABLE(vha->hw)) | 2541 | if (!IS_FWI2_CAPABLE(vha->hw)) |
2531 | return QLA_FUNCTION_FAILED; | 2542 | return QLA_FUNCTION_FAILED; |
2532 | 2543 | ||
2544 | if (unlikely(pci_channel_offline(vha->hw->pdev))) | ||
2545 | return QLA_FUNCTION_FAILED; | ||
2546 | |||
2533 | DEBUG11(printk("%s(%ld): entered.\n", __func__, vha->host_no)); | 2547 | DEBUG11(printk("%s(%ld): entered.\n", __func__, vha->host_no)); |
2534 | 2548 | ||
2535 | mcp->mb[0] = MBC_TRACE_CONTROL; | 2549 | mcp->mb[0] = MBC_TRACE_CONTROL; |
@@ -2565,6 +2579,9 @@ qla2x00_disable_eft_trace(scsi_qla_host_t *vha) | |||
2565 | if (!IS_FWI2_CAPABLE(vha->hw)) | 2579 | if (!IS_FWI2_CAPABLE(vha->hw)) |
2566 | return QLA_FUNCTION_FAILED; | 2580 | return QLA_FUNCTION_FAILED; |
2567 | 2581 | ||
2582 | if (unlikely(pci_channel_offline(vha->hw->pdev))) | ||
2583 | return QLA_FUNCTION_FAILED; | ||
2584 | |||
2568 | DEBUG11(printk("%s(%ld): entered.\n", __func__, vha->host_no)); | 2585 | DEBUG11(printk("%s(%ld): entered.\n", __func__, vha->host_no)); |
2569 | 2586 | ||
2570 | mcp->mb[0] = MBC_TRACE_CONTROL; | 2587 | mcp->mb[0] = MBC_TRACE_CONTROL; |
@@ -2595,6 +2612,9 @@ qla2x00_enable_fce_trace(scsi_qla_host_t *vha, dma_addr_t fce_dma, | |||
2595 | if (!IS_QLA25XX(vha->hw) && !IS_QLA81XX(vha->hw)) | 2612 | if (!IS_QLA25XX(vha->hw) && !IS_QLA81XX(vha->hw)) |
2596 | return QLA_FUNCTION_FAILED; | 2613 | return QLA_FUNCTION_FAILED; |
2597 | 2614 | ||
2615 | if (unlikely(pci_channel_offline(vha->hw->pdev))) | ||
2616 | return QLA_FUNCTION_FAILED; | ||
2617 | |||
2598 | DEBUG11(printk("%s(%ld): entered.\n", __func__, vha->host_no)); | 2618 | DEBUG11(printk("%s(%ld): entered.\n", __func__, vha->host_no)); |
2599 | 2619 | ||
2600 | mcp->mb[0] = MBC_TRACE_CONTROL; | 2620 | mcp->mb[0] = MBC_TRACE_CONTROL; |
@@ -2639,6 +2659,9 @@ qla2x00_disable_fce_trace(scsi_qla_host_t *vha, uint64_t *wr, uint64_t *rd) | |||
2639 | if (!IS_FWI2_CAPABLE(vha->hw)) | 2659 | if (!IS_FWI2_CAPABLE(vha->hw)) |
2640 | return QLA_FUNCTION_FAILED; | 2660 | return QLA_FUNCTION_FAILED; |
2641 | 2661 | ||
2662 | if (unlikely(pci_channel_offline(vha->hw->pdev))) | ||
2663 | return QLA_FUNCTION_FAILED; | ||
2664 | |||
2642 | DEBUG11(printk("%s(%ld): entered.\n", __func__, vha->host_no)); | 2665 | DEBUG11(printk("%s(%ld): entered.\n", __func__, vha->host_no)); |
2643 | 2666 | ||
2644 | mcp->mb[0] = MBC_TRACE_CONTROL; | 2667 | mcp->mb[0] = MBC_TRACE_CONTROL; |
@@ -3643,3 +3666,36 @@ qla2x00_write_ram_word(scsi_qla_host_t *vha, uint32_t risc_addr, uint32_t data) | |||
3643 | 3666 | ||
3644 | return rval; | 3667 | return rval; |
3645 | } | 3668 | } |
3669 | |||
3670 | int | ||
3671 | qla2x00_get_data_rate(scsi_qla_host_t *vha) | ||
3672 | { | ||
3673 | int rval; | ||
3674 | mbx_cmd_t mc; | ||
3675 | mbx_cmd_t *mcp = &mc; | ||
3676 | struct qla_hw_data *ha = vha->hw; | ||
3677 | |||
3678 | if (!IS_FWI2_CAPABLE(ha)) | ||
3679 | return QLA_FUNCTION_FAILED; | ||
3680 | |||
3681 | DEBUG11(printk(KERN_INFO "%s(%ld): entered.\n", __func__, vha->host_no)); | ||
3682 | |||
3683 | mcp->mb[0] = MBC_DATA_RATE; | ||
3684 | mcp->mb[1] = 0; | ||
3685 | mcp->out_mb = MBX_1|MBX_0; | ||
3686 | mcp->in_mb = MBX_2|MBX_1|MBX_0; | ||
3687 | mcp->tov = MBX_TOV_SECONDS; | ||
3688 | mcp->flags = 0; | ||
3689 | rval = qla2x00_mailbox_command(vha, mcp); | ||
3690 | if (rval != QLA_SUCCESS) { | ||
3691 | DEBUG2_3_11(printk(KERN_INFO "%s(%ld): failed=%x mb[0]=%x.\n", | ||
3692 | __func__, vha->host_no, rval, mcp->mb[0])); | ||
3693 | } else { | ||
3694 | DEBUG11(printk(KERN_INFO | ||
3695 | "%s(%ld): done.\n", __func__, vha->host_no)); | ||
3696 | if (mcp->mb[1] != 0x7) | ||
3697 | ha->link_data_rate = mcp->mb[1]; | ||
3698 | } | ||
3699 | |||
3700 | return rval; | ||
3701 | } | ||
diff --git a/drivers/scsi/qla2xxx/qla_mid.c b/drivers/scsi/qla2xxx/qla_mid.c index 2a4c7f4e7b69..b901aa267e7d 100644 --- a/drivers/scsi/qla2xxx/qla_mid.c +++ b/drivers/scsi/qla2xxx/qla_mid.c | |||
@@ -639,8 +639,10 @@ static void qla_do_work(struct work_struct *work) | |||
639 | struct rsp_que *rsp = container_of(work, struct rsp_que, q_work); | 639 | struct rsp_que *rsp = container_of(work, struct rsp_que, q_work); |
640 | struct scsi_qla_host *vha; | 640 | struct scsi_qla_host *vha; |
641 | 641 | ||
642 | spin_lock_irq(&rsp->hw->hardware_lock); | ||
642 | vha = qla25xx_get_host(rsp); | 643 | vha = qla25xx_get_host(rsp); |
643 | qla24xx_process_response_queue(vha, rsp); | 644 | qla24xx_process_response_queue(vha, rsp); |
645 | spin_unlock_irq(&rsp->hw->hardware_lock); | ||
644 | } | 646 | } |
645 | 647 | ||
646 | /* create response queue */ | 648 | /* create response queue */ |
diff --git a/drivers/scsi/qla2xxx/qla_os.c b/drivers/scsi/qla2xxx/qla_os.c index 2f873d237325..209f50e788a1 100644 --- a/drivers/scsi/qla2xxx/qla_os.c +++ b/drivers/scsi/qla2xxx/qla_os.c | |||
@@ -475,11 +475,11 @@ qla2xxx_queuecommand(struct scsi_cmnd *cmd, void (*done)(struct scsi_cmnd *)) | |||
475 | srb_t *sp; | 475 | srb_t *sp; |
476 | int rval; | 476 | int rval; |
477 | 477 | ||
478 | if (unlikely(pci_channel_offline(ha->pdev))) { | 478 | if (ha->flags.eeh_busy) { |
479 | if (ha->pdev->error_state == pci_channel_io_frozen) | 479 | if (ha->flags.pci_channel_io_perm_failure) |
480 | cmd->result = DID_REQUEUE << 16; | ||
481 | else | ||
482 | cmd->result = DID_NO_CONNECT << 16; | 480 | cmd->result = DID_NO_CONNECT << 16; |
481 | else | ||
482 | cmd->result = DID_REQUEUE << 16; | ||
483 | goto qc24_fail_command; | 483 | goto qc24_fail_command; |
484 | } | 484 | } |
485 | 485 | ||
@@ -552,8 +552,15 @@ qla2x00_eh_wait_on_command(struct scsi_cmnd *cmd) | |||
552 | #define ABORT_POLLING_PERIOD 1000 | 552 | #define ABORT_POLLING_PERIOD 1000 |
553 | #define ABORT_WAIT_ITER ((10 * 1000) / (ABORT_POLLING_PERIOD)) | 553 | #define ABORT_WAIT_ITER ((10 * 1000) / (ABORT_POLLING_PERIOD)) |
554 | unsigned long wait_iter = ABORT_WAIT_ITER; | 554 | unsigned long wait_iter = ABORT_WAIT_ITER; |
555 | scsi_qla_host_t *vha = shost_priv(cmd->device->host); | ||
556 | struct qla_hw_data *ha = vha->hw; | ||
555 | int ret = QLA_SUCCESS; | 557 | int ret = QLA_SUCCESS; |
556 | 558 | ||
559 | if (unlikely(pci_channel_offline(ha->pdev)) || ha->flags.eeh_busy) { | ||
560 | DEBUG17(qla_printk(KERN_WARNING, ha, "return:eh_wait\n")); | ||
561 | return ret; | ||
562 | } | ||
563 | |||
557 | while (CMD_SP(cmd) && wait_iter--) { | 564 | while (CMD_SP(cmd) && wait_iter--) { |
558 | msleep(ABORT_POLLING_PERIOD); | 565 | msleep(ABORT_POLLING_PERIOD); |
559 | } | 566 | } |
@@ -1810,6 +1817,13 @@ qla2x00_probe_one(struct pci_dev *pdev, const struct pci_device_id *id) | |||
1810 | 1817 | ||
1811 | /* Set ISP-type information. */ | 1818 | /* Set ISP-type information. */ |
1812 | qla2x00_set_isp_flags(ha); | 1819 | qla2x00_set_isp_flags(ha); |
1820 | |||
1821 | /* Set EEH reset type to fundamental if required by hba */ | ||
1822 | if ( IS_QLA24XX(ha) || IS_QLA25XX(ha) || IS_QLA81XX(ha)) { | ||
1823 | pdev->needs_freset = 1; | ||
1824 | pci_save_state(pdev); | ||
1825 | } | ||
1826 | |||
1813 | /* Configure PCI I/O space */ | 1827 | /* Configure PCI I/O space */ |
1814 | ret = qla2x00_iospace_config(ha); | 1828 | ret = qla2x00_iospace_config(ha); |
1815 | if (ret) | 1829 | if (ret) |
@@ -2174,6 +2188,24 @@ qla2x00_free_device(scsi_qla_host_t *vha) | |||
2174 | { | 2188 | { |
2175 | struct qla_hw_data *ha = vha->hw; | 2189 | struct qla_hw_data *ha = vha->hw; |
2176 | 2190 | ||
2191 | qla2x00_abort_all_cmds(vha, DID_NO_CONNECT << 16); | ||
2192 | |||
2193 | /* Disable timer */ | ||
2194 | if (vha->timer_active) | ||
2195 | qla2x00_stop_timer(vha); | ||
2196 | |||
2197 | /* Kill the kernel thread for this host */ | ||
2198 | if (ha->dpc_thread) { | ||
2199 | struct task_struct *t = ha->dpc_thread; | ||
2200 | |||
2201 | /* | ||
2202 | * qla2xxx_wake_dpc checks for ->dpc_thread | ||
2203 | * so we need to zero it out. | ||
2204 | */ | ||
2205 | ha->dpc_thread = NULL; | ||
2206 | kthread_stop(t); | ||
2207 | } | ||
2208 | |||
2177 | qla25xx_delete_queues(vha); | 2209 | qla25xx_delete_queues(vha); |
2178 | 2210 | ||
2179 | if (ha->flags.fce_enabled) | 2211 | if (ha->flags.fce_enabled) |
@@ -2185,6 +2217,8 @@ qla2x00_free_device(scsi_qla_host_t *vha) | |||
2185 | /* Stop currently executing firmware. */ | 2217 | /* Stop currently executing firmware. */ |
2186 | qla2x00_try_to_stop_firmware(vha); | 2218 | qla2x00_try_to_stop_firmware(vha); |
2187 | 2219 | ||
2220 | vha->flags.online = 0; | ||
2221 | |||
2188 | /* turn-off interrupts on the card */ | 2222 | /* turn-off interrupts on the card */ |
2189 | if (ha->interrupts_on) | 2223 | if (ha->interrupts_on) |
2190 | ha->isp_ops->disable_intrs(ha); | 2224 | ha->isp_ops->disable_intrs(ha); |
@@ -2859,6 +2893,13 @@ qla2x00_do_dpc(void *data) | |||
2859 | if (!base_vha->flags.init_done) | 2893 | if (!base_vha->flags.init_done) |
2860 | continue; | 2894 | continue; |
2861 | 2895 | ||
2896 | if (ha->flags.eeh_busy) { | ||
2897 | DEBUG17(qla_printk(KERN_WARNING, ha, | ||
2898 | "qla2x00_do_dpc: dpc_flags: %lx\n", | ||
2899 | base_vha->dpc_flags)); | ||
2900 | continue; | ||
2901 | } | ||
2902 | |||
2862 | DEBUG3(printk("scsi(%ld): DPC handler\n", base_vha->host_no)); | 2903 | DEBUG3(printk("scsi(%ld): DPC handler\n", base_vha->host_no)); |
2863 | 2904 | ||
2864 | ha->dpc_active = 1; | 2905 | ha->dpc_active = 1; |
@@ -3049,8 +3090,13 @@ qla2x00_timer(scsi_qla_host_t *vha) | |||
3049 | int index; | 3090 | int index; |
3050 | srb_t *sp; | 3091 | srb_t *sp; |
3051 | int t; | 3092 | int t; |
3093 | uint16_t w; | ||
3052 | struct qla_hw_data *ha = vha->hw; | 3094 | struct qla_hw_data *ha = vha->hw; |
3053 | struct req_que *req; | 3095 | struct req_que *req; |
3096 | |||
3097 | /* Hardware read to raise pending EEH errors during mailbox waits. */ | ||
3098 | if (!pci_channel_offline(ha->pdev)) | ||
3099 | pci_read_config_word(ha->pdev, PCI_VENDOR_ID, &w); | ||
3054 | /* | 3100 | /* |
3055 | * Ports - Port down timer. | 3101 | * Ports - Port down timer. |
3056 | * | 3102 | * |
@@ -3252,16 +3298,23 @@ qla2x00_release_firmware(void) | |||
3252 | static pci_ers_result_t | 3298 | static pci_ers_result_t |
3253 | qla2xxx_pci_error_detected(struct pci_dev *pdev, pci_channel_state_t state) | 3299 | qla2xxx_pci_error_detected(struct pci_dev *pdev, pci_channel_state_t state) |
3254 | { | 3300 | { |
3255 | scsi_qla_host_t *base_vha = pci_get_drvdata(pdev); | 3301 | scsi_qla_host_t *vha = pci_get_drvdata(pdev); |
3302 | struct qla_hw_data *ha = vha->hw; | ||
3303 | |||
3304 | DEBUG2(qla_printk(KERN_WARNING, ha, "error_detected:state %x\n", | ||
3305 | state)); | ||
3256 | 3306 | ||
3257 | switch (state) { | 3307 | switch (state) { |
3258 | case pci_channel_io_normal: | 3308 | case pci_channel_io_normal: |
3309 | ha->flags.eeh_busy = 0; | ||
3259 | return PCI_ERS_RESULT_CAN_RECOVER; | 3310 | return PCI_ERS_RESULT_CAN_RECOVER; |
3260 | case pci_channel_io_frozen: | 3311 | case pci_channel_io_frozen: |
3312 | ha->flags.eeh_busy = 1; | ||
3261 | pci_disable_device(pdev); | 3313 | pci_disable_device(pdev); |
3262 | return PCI_ERS_RESULT_NEED_RESET; | 3314 | return PCI_ERS_RESULT_NEED_RESET; |
3263 | case pci_channel_io_perm_failure: | 3315 | case pci_channel_io_perm_failure: |
3264 | qla2x00_abort_all_cmds(base_vha, DID_NO_CONNECT << 16); | 3316 | ha->flags.pci_channel_io_perm_failure = 1; |
3317 | qla2x00_abort_all_cmds(vha, DID_NO_CONNECT << 16); | ||
3265 | return PCI_ERS_RESULT_DISCONNECT; | 3318 | return PCI_ERS_RESULT_DISCONNECT; |
3266 | } | 3319 | } |
3267 | return PCI_ERS_RESULT_NEED_RESET; | 3320 | return PCI_ERS_RESULT_NEED_RESET; |
@@ -3312,6 +3365,8 @@ qla2xxx_pci_slot_reset(struct pci_dev *pdev) | |||
3312 | struct qla_hw_data *ha = base_vha->hw; | 3365 | struct qla_hw_data *ha = base_vha->hw; |
3313 | int rc; | 3366 | int rc; |
3314 | 3367 | ||
3368 | DEBUG17(qla_printk(KERN_WARNING, ha, "slot_reset\n")); | ||
3369 | |||
3315 | if (ha->mem_only) | 3370 | if (ha->mem_only) |
3316 | rc = pci_enable_device_mem(pdev); | 3371 | rc = pci_enable_device_mem(pdev); |
3317 | else | 3372 | else |
@@ -3320,19 +3375,33 @@ qla2xxx_pci_slot_reset(struct pci_dev *pdev) | |||
3320 | if (rc) { | 3375 | if (rc) { |
3321 | qla_printk(KERN_WARNING, ha, | 3376 | qla_printk(KERN_WARNING, ha, |
3322 | "Can't re-enable PCI device after reset.\n"); | 3377 | "Can't re-enable PCI device after reset.\n"); |
3323 | |||
3324 | return ret; | 3378 | return ret; |
3325 | } | 3379 | } |
3326 | pci_set_master(pdev); | ||
3327 | 3380 | ||
3328 | if (ha->isp_ops->pci_config(base_vha)) | 3381 | if (ha->isp_ops->pci_config(base_vha)) |
3329 | return ret; | 3382 | return ret; |
3330 | 3383 | ||
3384 | #ifdef QL_DEBUG_LEVEL_17 | ||
3385 | { | ||
3386 | uint8_t b; | ||
3387 | uint32_t i; | ||
3388 | |||
3389 | printk("slot_reset_1: "); | ||
3390 | for (i = 0; i < 256; i++) { | ||
3391 | pci_read_config_byte(ha->pdev, i, &b); | ||
3392 | printk("%s%02x", (i%16) ? " " : "\n", b); | ||
3393 | } | ||
3394 | printk("\n"); | ||
3395 | } | ||
3396 | #endif | ||
3331 | set_bit(ABORT_ISP_ACTIVE, &base_vha->dpc_flags); | 3397 | set_bit(ABORT_ISP_ACTIVE, &base_vha->dpc_flags); |
3332 | if (qla2x00_abort_isp(base_vha) == QLA_SUCCESS) | 3398 | if (qla2x00_abort_isp(base_vha) == QLA_SUCCESS) |
3333 | ret = PCI_ERS_RESULT_RECOVERED; | 3399 | ret = PCI_ERS_RESULT_RECOVERED; |
3334 | clear_bit(ABORT_ISP_ACTIVE, &base_vha->dpc_flags); | 3400 | clear_bit(ABORT_ISP_ACTIVE, &base_vha->dpc_flags); |
3335 | 3401 | ||
3402 | DEBUG17(qla_printk(KERN_WARNING, ha, | ||
3403 | "slot_reset-return:ret=%x\n", ret)); | ||
3404 | |||
3336 | return ret; | 3405 | return ret; |
3337 | } | 3406 | } |
3338 | 3407 | ||
@@ -3343,12 +3412,17 @@ qla2xxx_pci_resume(struct pci_dev *pdev) | |||
3343 | struct qla_hw_data *ha = base_vha->hw; | 3412 | struct qla_hw_data *ha = base_vha->hw; |
3344 | int ret; | 3413 | int ret; |
3345 | 3414 | ||
3415 | DEBUG17(qla_printk(KERN_WARNING, ha, "pci_resume\n")); | ||
3416 | |||
3346 | ret = qla2x00_wait_for_hba_online(base_vha); | 3417 | ret = qla2x00_wait_for_hba_online(base_vha); |
3347 | if (ret != QLA_SUCCESS) { | 3418 | if (ret != QLA_SUCCESS) { |
3348 | qla_printk(KERN_ERR, ha, | 3419 | qla_printk(KERN_ERR, ha, |
3349 | "the device failed to resume I/O " | 3420 | "the device failed to resume I/O " |
3350 | "from slot/link_reset"); | 3421 | "from slot/link_reset"); |
3351 | } | 3422 | } |
3423 | |||
3424 | ha->flags.eeh_busy = 0; | ||
3425 | |||
3352 | pci_cleanup_aer_uncorrect_error_status(pdev); | 3426 | pci_cleanup_aer_uncorrect_error_status(pdev); |
3353 | } | 3427 | } |
3354 | 3428 | ||
diff --git a/drivers/scsi/qla2xxx/qla_version.h b/drivers/scsi/qla2xxx/qla_version.h index c482220f7eed..a65dd95507c6 100644 --- a/drivers/scsi/qla2xxx/qla_version.h +++ b/drivers/scsi/qla2xxx/qla_version.h | |||
@@ -7,7 +7,7 @@ | |||
7 | /* | 7 | /* |
8 | * Driver version | 8 | * Driver version |
9 | */ | 9 | */ |
10 | #define QLA2XXX_VERSION "8.03.01-k8" | 10 | #define QLA2XXX_VERSION "8.03.01-k9" |
11 | 11 | ||
12 | #define QLA_DRIVER_MAJOR_VER 8 | 12 | #define QLA_DRIVER_MAJOR_VER 8 |
13 | #define QLA_DRIVER_MINOR_VER 3 | 13 | #define QLA_DRIVER_MINOR_VER 3 |
diff --git a/drivers/scsi/stex.c b/drivers/scsi/stex.c index 3058bb1aff95..fd7b15be7640 100644 --- a/drivers/scsi/stex.c +++ b/drivers/scsi/stex.c | |||
@@ -623,6 +623,11 @@ stex_queuecommand(struct scsi_cmnd *cmd, void (* done)(struct scsi_cmnd *)) | |||
623 | } | 623 | } |
624 | break; | 624 | break; |
625 | case INQUIRY: | 625 | case INQUIRY: |
626 | if (lun >= host->max_lun) { | ||
627 | cmd->result = DID_NO_CONNECT << 16; | ||
628 | done(cmd); | ||
629 | return 0; | ||
630 | } | ||
626 | if (id != host->max_id - 1) | 631 | if (id != host->max_id - 1) |
627 | break; | 632 | break; |
628 | if (!lun && !cmd->device->channel && | 633 | if (!lun && !cmd->device->channel && |
diff --git a/drivers/video/pxafb.c b/drivers/video/pxafb.c index 415858b421b3..825b665245bb 100644 --- a/drivers/video/pxafb.c +++ b/drivers/video/pxafb.c | |||
@@ -1221,9 +1221,9 @@ static void setup_smart_timing(struct pxafb_info *fbi, | |||
1221 | static int pxafb_smart_thread(void *arg) | 1221 | static int pxafb_smart_thread(void *arg) |
1222 | { | 1222 | { |
1223 | struct pxafb_info *fbi = arg; | 1223 | struct pxafb_info *fbi = arg; |
1224 | struct pxafb_mach_info *inf; | 1224 | struct pxafb_mach_info *inf = fbi->dev->platform_data; |
1225 | 1225 | ||
1226 | if (!fbi || !fbi->dev->platform_data->smart_update) { | 1226 | if (!inf->smart_update) { |
1227 | pr_err("%s: not properly initialized, thread terminated\n", | 1227 | pr_err("%s: not properly initialized, thread terminated\n", |
1228 | __func__); | 1228 | __func__); |
1229 | return -EINVAL; | 1229 | return -EINVAL; |
diff --git a/fs/binfmt_elf_fdpic.c b/fs/binfmt_elf_fdpic.c index c25256a5c5b0..c57d9ce5ff7e 100644 --- a/fs/binfmt_elf_fdpic.c +++ b/fs/binfmt_elf_fdpic.c | |||
@@ -171,6 +171,9 @@ static int load_elf_fdpic_binary(struct linux_binprm *bprm, | |||
171 | #ifdef ELF_FDPIC_PLAT_INIT | 171 | #ifdef ELF_FDPIC_PLAT_INIT |
172 | unsigned long dynaddr; | 172 | unsigned long dynaddr; |
173 | #endif | 173 | #endif |
174 | #ifndef CONFIG_MMU | ||
175 | unsigned long stack_prot; | ||
176 | #endif | ||
174 | struct file *interpreter = NULL; /* to shut gcc up */ | 177 | struct file *interpreter = NULL; /* to shut gcc up */ |
175 | char *interpreter_name = NULL; | 178 | char *interpreter_name = NULL; |
176 | int executable_stack; | 179 | int executable_stack; |
@@ -316,6 +319,8 @@ static int load_elf_fdpic_binary(struct linux_binprm *bprm, | |||
316 | * defunct, deceased, etc. after this point we have to exit via | 319 | * defunct, deceased, etc. after this point we have to exit via |
317 | * error_kill */ | 320 | * error_kill */ |
318 | set_personality(PER_LINUX_FDPIC); | 321 | set_personality(PER_LINUX_FDPIC); |
322 | if (elf_read_implies_exec(&exec_params.hdr, executable_stack)) | ||
323 | current->personality |= READ_IMPLIES_EXEC; | ||
319 | set_binfmt(&elf_fdpic_format); | 324 | set_binfmt(&elf_fdpic_format); |
320 | 325 | ||
321 | current->mm->start_code = 0; | 326 | current->mm->start_code = 0; |
@@ -377,9 +382,13 @@ static int load_elf_fdpic_binary(struct linux_binprm *bprm, | |||
377 | if (stack_size < PAGE_SIZE * 2) | 382 | if (stack_size < PAGE_SIZE * 2) |
378 | stack_size = PAGE_SIZE * 2; | 383 | stack_size = PAGE_SIZE * 2; |
379 | 384 | ||
385 | stack_prot = PROT_READ | PROT_WRITE; | ||
386 | if (executable_stack == EXSTACK_ENABLE_X || | ||
387 | (executable_stack == EXSTACK_DEFAULT && VM_STACK_FLAGS & VM_EXEC)) | ||
388 | stack_prot |= PROT_EXEC; | ||
389 | |||
380 | down_write(¤t->mm->mmap_sem); | 390 | down_write(¤t->mm->mmap_sem); |
381 | current->mm->start_brk = do_mmap(NULL, 0, stack_size, | 391 | current->mm->start_brk = do_mmap(NULL, 0, stack_size, stack_prot, |
382 | PROT_READ | PROT_WRITE | PROT_EXEC, | ||
383 | MAP_PRIVATE | MAP_ANONYMOUS | | 392 | MAP_PRIVATE | MAP_ANONYMOUS | |
384 | MAP_UNINITIALIZED | MAP_GROWSDOWN, | 393 | MAP_UNINITIALIZED | MAP_GROWSDOWN, |
385 | 0); | 394 | 0); |
@@ -1798,11 +1807,11 @@ static int elf_fdpic_core_dump(struct coredump_params *cprm) | |||
1798 | ELF_CORE_WRITE_EXTRA_DATA; | 1807 | ELF_CORE_WRITE_EXTRA_DATA; |
1799 | #endif | 1808 | #endif |
1800 | 1809 | ||
1801 | if (file->f_pos != offset) { | 1810 | if (cprm->file->f_pos != offset) { |
1802 | /* Sanity check */ | 1811 | /* Sanity check */ |
1803 | printk(KERN_WARNING | 1812 | printk(KERN_WARNING |
1804 | "elf_core_dump: file->f_pos (%lld) != offset (%lld)\n", | 1813 | "elf_core_dump: file->f_pos (%lld) != offset (%lld)\n", |
1805 | file->f_pos, offset); | 1814 | cprm->file->f_pos, offset); |
1806 | } | 1815 | } |
1807 | 1816 | ||
1808 | end_coredump: | 1817 | end_coredump: |
diff --git a/fs/cifs/CHANGES b/fs/cifs/CHANGES index 094ea65afc85..7b2600b380d7 100644 --- a/fs/cifs/CHANGES +++ b/fs/cifs/CHANGES | |||
@@ -5,7 +5,9 @@ have duplicated data). Fix oops in cifs_lookup. Workaround problem | |||
5 | mounting to OS/400 Netserve. Fix oops in cifs_get_tcp_session. | 5 | mounting to OS/400 Netserve. Fix oops in cifs_get_tcp_session. |
6 | Disable use of server inode numbers when server only | 6 | Disable use of server inode numbers when server only |
7 | partially supports them (e.g. for one server querying inode numbers on | 7 | partially supports them (e.g. for one server querying inode numbers on |
8 | FindFirst fails but QPathInfo queries works). | 8 | FindFirst fails but QPathInfo queries works). Fix oops with dfs in |
9 | cifs_put_smb_ses. Fix mmap to work on directio mounts (needed | ||
10 | for OpenOffice when on forcedirectio mount e.g.) | ||
9 | 11 | ||
10 | Version 1.60 | 12 | Version 1.60 |
11 | ------------- | 13 | ------------- |
diff --git a/fs/cifs/cifsfs.c b/fs/cifs/cifsfs.c index 29f1da761bbf..8c6a03627176 100644 --- a/fs/cifs/cifsfs.c +++ b/fs/cifs/cifsfs.c | |||
@@ -758,7 +758,7 @@ const struct file_operations cifs_file_ops = { | |||
758 | }; | 758 | }; |
759 | 759 | ||
760 | const struct file_operations cifs_file_direct_ops = { | 760 | const struct file_operations cifs_file_direct_ops = { |
761 | /* no mmap, no aio, no readv - | 761 | /* no aio, no readv - |
762 | BB reevaluate whether they can be done with directio, no cache */ | 762 | BB reevaluate whether they can be done with directio, no cache */ |
763 | .read = cifs_user_read, | 763 | .read = cifs_user_read, |
764 | .write = cifs_user_write, | 764 | .write = cifs_user_write, |
@@ -767,6 +767,7 @@ const struct file_operations cifs_file_direct_ops = { | |||
767 | .lock = cifs_lock, | 767 | .lock = cifs_lock, |
768 | .fsync = cifs_fsync, | 768 | .fsync = cifs_fsync, |
769 | .flush = cifs_flush, | 769 | .flush = cifs_flush, |
770 | .mmap = cifs_file_mmap, | ||
770 | .splice_read = generic_file_splice_read, | 771 | .splice_read = generic_file_splice_read, |
771 | #ifdef CONFIG_CIFS_POSIX | 772 | #ifdef CONFIG_CIFS_POSIX |
772 | .unlocked_ioctl = cifs_ioctl, | 773 | .unlocked_ioctl = cifs_ioctl, |
diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c index 63ea83ff687f..3bbcaa716b3c 100644 --- a/fs/cifs/connect.c +++ b/fs/cifs/connect.c | |||
@@ -2287,12 +2287,12 @@ int | |||
2287 | cifs_mount(struct super_block *sb, struct cifs_sb_info *cifs_sb, | 2287 | cifs_mount(struct super_block *sb, struct cifs_sb_info *cifs_sb, |
2288 | char *mount_data_global, const char *devname) | 2288 | char *mount_data_global, const char *devname) |
2289 | { | 2289 | { |
2290 | int rc = 0; | 2290 | int rc; |
2291 | int xid; | 2291 | int xid; |
2292 | struct smb_vol *volume_info; | 2292 | struct smb_vol *volume_info; |
2293 | struct cifsSesInfo *pSesInfo = NULL; | 2293 | struct cifsSesInfo *pSesInfo; |
2294 | struct cifsTconInfo *tcon = NULL; | 2294 | struct cifsTconInfo *tcon; |
2295 | struct TCP_Server_Info *srvTcp = NULL; | 2295 | struct TCP_Server_Info *srvTcp; |
2296 | char *full_path; | 2296 | char *full_path; |
2297 | char *mount_data = mount_data_global; | 2297 | char *mount_data = mount_data_global; |
2298 | #ifdef CONFIG_CIFS_DFS_UPCALL | 2298 | #ifdef CONFIG_CIFS_DFS_UPCALL |
@@ -2301,6 +2301,10 @@ cifs_mount(struct super_block *sb, struct cifs_sb_info *cifs_sb, | |||
2301 | int referral_walks_count = 0; | 2301 | int referral_walks_count = 0; |
2302 | try_mount_again: | 2302 | try_mount_again: |
2303 | #endif | 2303 | #endif |
2304 | rc = 0; | ||
2305 | tcon = NULL; | ||
2306 | pSesInfo = NULL; | ||
2307 | srvTcp = NULL; | ||
2304 | full_path = NULL; | 2308 | full_path = NULL; |
2305 | 2309 | ||
2306 | xid = GetXid(); | 2310 | xid = GetXid(); |
@@ -2597,6 +2601,7 @@ remote_path_check: | |||
2597 | 2601 | ||
2598 | cleanup_volume_info(&volume_info); | 2602 | cleanup_volume_info(&volume_info); |
2599 | referral_walks_count++; | 2603 | referral_walks_count++; |
2604 | FreeXid(xid); | ||
2600 | goto try_mount_again; | 2605 | goto try_mount_again; |
2601 | } | 2606 | } |
2602 | #else /* No DFS support, return error on mount */ | 2607 | #else /* No DFS support, return error on mount */ |
diff --git a/fs/exofs/inode.c b/fs/exofs/inode.c index 698a8636d39c..2afbcebeda71 100644 --- a/fs/exofs/inode.c +++ b/fs/exofs/inode.c | |||
@@ -738,13 +738,28 @@ static int exofs_write_begin_export(struct file *file, | |||
738 | fsdata); | 738 | fsdata); |
739 | } | 739 | } |
740 | 740 | ||
741 | static int exofs_write_end(struct file *file, struct address_space *mapping, | ||
742 | loff_t pos, unsigned len, unsigned copied, | ||
743 | struct page *page, void *fsdata) | ||
744 | { | ||
745 | struct inode *inode = mapping->host; | ||
746 | /* According to comment in simple_write_end i_mutex is held */ | ||
747 | loff_t i_size = inode->i_size; | ||
748 | int ret; | ||
749 | |||
750 | ret = simple_write_end(file, mapping,pos, len, copied, page, fsdata); | ||
751 | if (i_size != inode->i_size) | ||
752 | mark_inode_dirty(inode); | ||
753 | return ret; | ||
754 | } | ||
755 | |||
741 | const struct address_space_operations exofs_aops = { | 756 | const struct address_space_operations exofs_aops = { |
742 | .readpage = exofs_readpage, | 757 | .readpage = exofs_readpage, |
743 | .readpages = exofs_readpages, | 758 | .readpages = exofs_readpages, |
744 | .writepage = exofs_writepage, | 759 | .writepage = exofs_writepage, |
745 | .writepages = exofs_writepages, | 760 | .writepages = exofs_writepages, |
746 | .write_begin = exofs_write_begin_export, | 761 | .write_begin = exofs_write_begin_export, |
747 | .write_end = simple_write_end, | 762 | .write_end = exofs_write_end, |
748 | }; | 763 | }; |
749 | 764 | ||
750 | /****************************************************************************** | 765 | /****************************************************************************** |
diff --git a/fs/exofs/pnfs.h b/fs/exofs/pnfs.h index 423033addd1f..c52e9888b8ab 100644 --- a/fs/exofs/pnfs.h +++ b/fs/exofs/pnfs.h | |||
@@ -15,13 +15,7 @@ | |||
15 | #ifndef __EXOFS_PNFS_H__ | 15 | #ifndef __EXOFS_PNFS_H__ |
16 | #define __EXOFS_PNFS_H__ | 16 | #define __EXOFS_PNFS_H__ |
17 | 17 | ||
18 | #if defined(CONFIG_PNFS) | 18 | #if ! defined(__PNFS_OSD_XDR_H__) |
19 | |||
20 | |||
21 | /* FIXME: move this file to: linux/exportfs/pnfs_osd_xdr.h */ | ||
22 | #include "../nfs/objlayout/pnfs_osd_xdr.h" | ||
23 | |||
24 | #else /* defined(CONFIG_PNFS) */ | ||
25 | 19 | ||
26 | enum pnfs_iomode { | 20 | enum pnfs_iomode { |
27 | IOMODE_READ = 1, | 21 | IOMODE_READ = 1, |
@@ -46,6 +40,6 @@ struct pnfs_osd_data_map { | |||
46 | u32 odm_raid_algorithm; | 40 | u32 odm_raid_algorithm; |
47 | }; | 41 | }; |
48 | 42 | ||
49 | #endif /* else defined(CONFIG_PNFS) */ | 43 | #endif /* ! defined(__PNFS_OSD_XDR_H__) */ |
50 | 44 | ||
51 | #endif /* __EXOFS_PNFS_H__ */ | 45 | #endif /* __EXOFS_PNFS_H__ */ |
diff --git a/fs/ext4/Kconfig b/fs/ext4/Kconfig index 9acf7e808139..9ed1bb1f319f 100644 --- a/fs/ext4/Kconfig +++ b/fs/ext4/Kconfig | |||
@@ -28,6 +28,7 @@ config EXT4_FS | |||
28 | 28 | ||
29 | config EXT4_USE_FOR_EXT23 | 29 | config EXT4_USE_FOR_EXT23 |
30 | bool "Use ext4 for ext2/ext3 file systems" | 30 | bool "Use ext4 for ext2/ext3 file systems" |
31 | depends on EXT4_FS | ||
31 | depends on EXT3_FS=n || EXT2_FS=n | 32 | depends on EXT3_FS=n || EXT2_FS=n |
32 | default y | 33 | default y |
33 | help | 34 | help |
diff --git a/fs/ext4/block_validity.c b/fs/ext4/block_validity.c index 4df8621ec31c..a60ab9aad57d 100644 --- a/fs/ext4/block_validity.c +++ b/fs/ext4/block_validity.c | |||
@@ -16,7 +16,6 @@ | |||
16 | #include <linux/module.h> | 16 | #include <linux/module.h> |
17 | #include <linux/swap.h> | 17 | #include <linux/swap.h> |
18 | #include <linux/pagemap.h> | 18 | #include <linux/pagemap.h> |
19 | #include <linux/version.h> | ||
20 | #include <linux/blkdev.h> | 19 | #include <linux/blkdev.h> |
21 | #include <linux/mutex.h> | 20 | #include <linux/mutex.h> |
22 | #include "ext4.h" | 21 | #include "ext4.h" |
diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h index 56f9271ee8cc..af7b62699ea9 100644 --- a/fs/ext4/ext4.h +++ b/fs/ext4/ext4.h | |||
@@ -699,6 +699,8 @@ struct ext4_inode_info { | |||
699 | unsigned int i_reserved_meta_blocks; | 699 | unsigned int i_reserved_meta_blocks; |
700 | unsigned int i_allocated_meta_blocks; | 700 | unsigned int i_allocated_meta_blocks; |
701 | unsigned short i_delalloc_reserved_flag; | 701 | unsigned short i_delalloc_reserved_flag; |
702 | sector_t i_da_metadata_calc_last_lblock; | ||
703 | int i_da_metadata_calc_len; | ||
702 | 704 | ||
703 | /* on-disk additional length */ | 705 | /* on-disk additional length */ |
704 | __u16 i_extra_isize; | 706 | __u16 i_extra_isize; |
diff --git a/fs/ext4/ext4_extents.h b/fs/ext4/ext4_extents.h index 2ca686454e87..bdb6ce7e2eb4 100644 --- a/fs/ext4/ext4_extents.h +++ b/fs/ext4/ext4_extents.h | |||
@@ -225,7 +225,8 @@ static inline void ext4_ext_mark_initialized(struct ext4_extent *ext) | |||
225 | ext->ee_len = cpu_to_le16(ext4_ext_get_actual_len(ext)); | 225 | ext->ee_len = cpu_to_le16(ext4_ext_get_actual_len(ext)); |
226 | } | 226 | } |
227 | 227 | ||
228 | extern int ext4_ext_calc_metadata_amount(struct inode *inode, int blocks); | 228 | extern int ext4_ext_calc_metadata_amount(struct inode *inode, |
229 | sector_t lblocks); | ||
229 | extern ext4_fsblk_t ext_pblock(struct ext4_extent *ex); | 230 | extern ext4_fsblk_t ext_pblock(struct ext4_extent *ex); |
230 | extern ext4_fsblk_t idx_pblock(struct ext4_extent_idx *); | 231 | extern ext4_fsblk_t idx_pblock(struct ext4_extent_idx *); |
231 | extern void ext4_ext_store_pblock(struct ext4_extent *, ext4_fsblk_t); | 232 | extern void ext4_ext_store_pblock(struct ext4_extent *, ext4_fsblk_t); |
diff --git a/fs/ext4/extents.c b/fs/ext4/extents.c index 3a7928f825e4..7d7b74e94687 100644 --- a/fs/ext4/extents.c +++ b/fs/ext4/extents.c | |||
@@ -296,29 +296,44 @@ static inline int ext4_ext_space_root_idx(struct inode *inode, int check) | |||
296 | * to allocate @blocks | 296 | * to allocate @blocks |
297 | * Worse case is one block per extent | 297 | * Worse case is one block per extent |
298 | */ | 298 | */ |
299 | int ext4_ext_calc_metadata_amount(struct inode *inode, int blocks) | 299 | int ext4_ext_calc_metadata_amount(struct inode *inode, sector_t lblock) |
300 | { | 300 | { |
301 | int lcap, icap, rcap, leafs, idxs, num; | 301 | struct ext4_inode_info *ei = EXT4_I(inode); |
302 | int newextents = blocks; | 302 | int idxs, num = 0; |
303 | |||
304 | rcap = ext4_ext_space_root_idx(inode, 0); | ||
305 | lcap = ext4_ext_space_block(inode, 0); | ||
306 | icap = ext4_ext_space_block_idx(inode, 0); | ||
307 | 303 | ||
308 | /* number of new leaf blocks needed */ | 304 | idxs = ((inode->i_sb->s_blocksize - sizeof(struct ext4_extent_header)) |
309 | num = leafs = (newextents + lcap - 1) / lcap; | 305 | / sizeof(struct ext4_extent_idx)); |
310 | 306 | ||
311 | /* | 307 | /* |
312 | * Worse case, we need separate index block(s) | 308 | * If the new delayed allocation block is contiguous with the |
313 | * to link all new leaf blocks | 309 | * previous da block, it can share index blocks with the |
310 | * previous block, so we only need to allocate a new index | ||
311 | * block every idxs leaf blocks. At ldxs**2 blocks, we need | ||
312 | * an additional index block, and at ldxs**3 blocks, yet | ||
313 | * another index blocks. | ||
314 | */ | 314 | */ |
315 | idxs = (leafs + icap - 1) / icap; | 315 | if (ei->i_da_metadata_calc_len && |
316 | do { | 316 | ei->i_da_metadata_calc_last_lblock+1 == lblock) { |
317 | num += idxs; | 317 | if ((ei->i_da_metadata_calc_len % idxs) == 0) |
318 | idxs = (idxs + icap - 1) / icap; | 318 | num++; |
319 | } while (idxs > rcap); | 319 | if ((ei->i_da_metadata_calc_len % (idxs*idxs)) == 0) |
320 | num++; | ||
321 | if ((ei->i_da_metadata_calc_len % (idxs*idxs*idxs)) == 0) { | ||
322 | num++; | ||
323 | ei->i_da_metadata_calc_len = 0; | ||
324 | } else | ||
325 | ei->i_da_metadata_calc_len++; | ||
326 | ei->i_da_metadata_calc_last_lblock++; | ||
327 | return num; | ||
328 | } | ||
320 | 329 | ||
321 | return num; | 330 | /* |
331 | * In the worst case we need a new set of index blocks at | ||
332 | * every level of the inode's extent tree. | ||
333 | */ | ||
334 | ei->i_da_metadata_calc_len = 1; | ||
335 | ei->i_da_metadata_calc_last_lblock = lblock; | ||
336 | return ext_depth(inode) + 1; | ||
322 | } | 337 | } |
323 | 338 | ||
324 | static int | 339 | static int |
@@ -3023,6 +3038,14 @@ out: | |||
3023 | return err; | 3038 | return err; |
3024 | } | 3039 | } |
3025 | 3040 | ||
3041 | static void unmap_underlying_metadata_blocks(struct block_device *bdev, | ||
3042 | sector_t block, int count) | ||
3043 | { | ||
3044 | int i; | ||
3045 | for (i = 0; i < count; i++) | ||
3046 | unmap_underlying_metadata(bdev, block + i); | ||
3047 | } | ||
3048 | |||
3026 | static int | 3049 | static int |
3027 | ext4_ext_handle_uninitialized_extents(handle_t *handle, struct inode *inode, | 3050 | ext4_ext_handle_uninitialized_extents(handle_t *handle, struct inode *inode, |
3028 | ext4_lblk_t iblock, unsigned int max_blocks, | 3051 | ext4_lblk_t iblock, unsigned int max_blocks, |
@@ -3098,6 +3121,18 @@ out: | |||
3098 | } else | 3121 | } else |
3099 | allocated = ret; | 3122 | allocated = ret; |
3100 | set_buffer_new(bh_result); | 3123 | set_buffer_new(bh_result); |
3124 | /* | ||
3125 | * if we allocated more blocks than requested | ||
3126 | * we need to make sure we unmap the extra block | ||
3127 | * allocated. The actual needed block will get | ||
3128 | * unmapped later when we find the buffer_head marked | ||
3129 | * new. | ||
3130 | */ | ||
3131 | if (allocated > max_blocks) { | ||
3132 | unmap_underlying_metadata_blocks(inode->i_sb->s_bdev, | ||
3133 | newblock + max_blocks, | ||
3134 | allocated - max_blocks); | ||
3135 | } | ||
3101 | map_out: | 3136 | map_out: |
3102 | set_buffer_mapped(bh_result); | 3137 | set_buffer_mapped(bh_result); |
3103 | out1: | 3138 | out1: |
@@ -3190,7 +3225,13 @@ int ext4_ext_get_blocks(handle_t *handle, struct inode *inode, | |||
3190 | * this situation is possible, though, _during_ tree modification; | 3225 | * this situation is possible, though, _during_ tree modification; |
3191 | * this is why assert can't be put in ext4_ext_find_extent() | 3226 | * this is why assert can't be put in ext4_ext_find_extent() |
3192 | */ | 3227 | */ |
3193 | BUG_ON(path[depth].p_ext == NULL && depth != 0); | 3228 | if (path[depth].p_ext == NULL && depth != 0) { |
3229 | ext4_error(inode->i_sb, __func__, "bad extent address " | ||
3230 | "inode: %lu, iblock: %d, depth: %d", | ||
3231 | inode->i_ino, iblock, depth); | ||
3232 | err = -EIO; | ||
3233 | goto out2; | ||
3234 | } | ||
3194 | eh = path[depth].p_hdr; | 3235 | eh = path[depth].p_hdr; |
3195 | 3236 | ||
3196 | ex = path[depth].p_ext; | 3237 | ex = path[depth].p_ext; |
diff --git a/fs/ext4/fsync.c b/fs/ext4/fsync.c index 0b22497d92e1..98bd140aad01 100644 --- a/fs/ext4/fsync.c +++ b/fs/ext4/fsync.c | |||
@@ -88,9 +88,21 @@ int ext4_sync_file(struct file *file, struct dentry *dentry, int datasync) | |||
88 | return ext4_force_commit(inode->i_sb); | 88 | return ext4_force_commit(inode->i_sb); |
89 | 89 | ||
90 | commit_tid = datasync ? ei->i_datasync_tid : ei->i_sync_tid; | 90 | commit_tid = datasync ? ei->i_datasync_tid : ei->i_sync_tid; |
91 | if (jbd2_log_start_commit(journal, commit_tid)) | 91 | if (jbd2_log_start_commit(journal, commit_tid)) { |
92 | /* | ||
93 | * When the journal is on a different device than the | ||
94 | * fs data disk, we need to issue the barrier in | ||
95 | * writeback mode. (In ordered mode, the jbd2 layer | ||
96 | * will take care of issuing the barrier. In | ||
97 | * data=journal, all of the data blocks are written to | ||
98 | * the journal device.) | ||
99 | */ | ||
100 | if (ext4_should_writeback_data(inode) && | ||
101 | (journal->j_fs_dev != journal->j_dev) && | ||
102 | (journal->j_flags & JBD2_BARRIER)) | ||
103 | blkdev_issue_flush(inode->i_sb->s_bdev, NULL); | ||
92 | jbd2_log_wait_commit(journal, commit_tid); | 104 | jbd2_log_wait_commit(journal, commit_tid); |
93 | else if (journal->j_flags & JBD2_BARRIER) | 105 | } else if (journal->j_flags & JBD2_BARRIER) |
94 | blkdev_issue_flush(inode->i_sb->s_bdev, NULL); | 106 | blkdev_issue_flush(inode->i_sb->s_bdev, NULL); |
95 | return ret; | 107 | return ret; |
96 | } | 108 | } |
diff --git a/fs/ext4/inode.c b/fs/ext4/inode.c index ab807963a614..c818972c8302 100644 --- a/fs/ext4/inode.c +++ b/fs/ext4/inode.c | |||
@@ -1009,77 +1009,88 @@ qsize_t *ext4_get_reserved_space(struct inode *inode) | |||
1009 | return &EXT4_I(inode)->i_reserved_quota; | 1009 | return &EXT4_I(inode)->i_reserved_quota; |
1010 | } | 1010 | } |
1011 | #endif | 1011 | #endif |
1012 | |||
1012 | /* | 1013 | /* |
1013 | * Calculate the number of metadata blocks need to reserve | 1014 | * Calculate the number of metadata blocks need to reserve |
1014 | * to allocate @blocks for non extent file based file | 1015 | * to allocate a new block at @lblocks for non extent file based file |
1015 | */ | 1016 | */ |
1016 | static int ext4_indirect_calc_metadata_amount(struct inode *inode, int blocks) | 1017 | static int ext4_indirect_calc_metadata_amount(struct inode *inode, |
1018 | sector_t lblock) | ||
1017 | { | 1019 | { |
1018 | int icap = EXT4_ADDR_PER_BLOCK(inode->i_sb); | 1020 | struct ext4_inode_info *ei = EXT4_I(inode); |
1019 | int ind_blks, dind_blks, tind_blks; | 1021 | int dind_mask = EXT4_ADDR_PER_BLOCK(inode->i_sb) - 1; |
1020 | 1022 | int blk_bits; | |
1021 | /* number of new indirect blocks needed */ | ||
1022 | ind_blks = (blocks + icap - 1) / icap; | ||
1023 | 1023 | ||
1024 | dind_blks = (ind_blks + icap - 1) / icap; | 1024 | if (lblock < EXT4_NDIR_BLOCKS) |
1025 | return 0; | ||
1025 | 1026 | ||
1026 | tind_blks = 1; | 1027 | lblock -= EXT4_NDIR_BLOCKS; |
1027 | 1028 | ||
1028 | return ind_blks + dind_blks + tind_blks; | 1029 | if (ei->i_da_metadata_calc_len && |
1030 | (lblock & dind_mask) == ei->i_da_metadata_calc_last_lblock) { | ||
1031 | ei->i_da_metadata_calc_len++; | ||
1032 | return 0; | ||
1033 | } | ||
1034 | ei->i_da_metadata_calc_last_lblock = lblock & dind_mask; | ||
1035 | ei->i_da_metadata_calc_len = 1; | ||
1036 | blk_bits = roundup_pow_of_two(lblock + 1); | ||
1037 | return (blk_bits / EXT4_ADDR_PER_BLOCK_BITS(inode->i_sb)) + 1; | ||
1029 | } | 1038 | } |
1030 | 1039 | ||
1031 | /* | 1040 | /* |
1032 | * Calculate the number of metadata blocks need to reserve | 1041 | * Calculate the number of metadata blocks need to reserve |
1033 | * to allocate given number of blocks | 1042 | * to allocate a block located at @lblock |
1034 | */ | 1043 | */ |
1035 | static int ext4_calc_metadata_amount(struct inode *inode, int blocks) | 1044 | static int ext4_calc_metadata_amount(struct inode *inode, sector_t lblock) |
1036 | { | 1045 | { |
1037 | if (!blocks) | ||
1038 | return 0; | ||
1039 | |||
1040 | if (EXT4_I(inode)->i_flags & EXT4_EXTENTS_FL) | 1046 | if (EXT4_I(inode)->i_flags & EXT4_EXTENTS_FL) |
1041 | return ext4_ext_calc_metadata_amount(inode, blocks); | 1047 | return ext4_ext_calc_metadata_amount(inode, lblock); |
1042 | 1048 | ||
1043 | return ext4_indirect_calc_metadata_amount(inode, blocks); | 1049 | return ext4_indirect_calc_metadata_amount(inode, lblock); |
1044 | } | 1050 | } |
1045 | 1051 | ||
1052 | /* | ||
1053 | * Called with i_data_sem down, which is important since we can call | ||
1054 | * ext4_discard_preallocations() from here. | ||
1055 | */ | ||
1046 | static void ext4_da_update_reserve_space(struct inode *inode, int used) | 1056 | static void ext4_da_update_reserve_space(struct inode *inode, int used) |
1047 | { | 1057 | { |
1048 | struct ext4_sb_info *sbi = EXT4_SB(inode->i_sb); | 1058 | struct ext4_sb_info *sbi = EXT4_SB(inode->i_sb); |
1049 | int total, mdb, mdb_free, mdb_claim = 0; | 1059 | struct ext4_inode_info *ei = EXT4_I(inode); |
1050 | 1060 | int mdb_free = 0; | |
1051 | spin_lock(&EXT4_I(inode)->i_block_reservation_lock); | 1061 | |
1052 | /* recalculate the number of metablocks still need to be reserved */ | 1062 | spin_lock(&ei->i_block_reservation_lock); |
1053 | total = EXT4_I(inode)->i_reserved_data_blocks - used; | 1063 | if (unlikely(used > ei->i_reserved_data_blocks)) { |
1054 | mdb = ext4_calc_metadata_amount(inode, total); | 1064 | ext4_msg(inode->i_sb, KERN_NOTICE, "%s: ino %lu, used %d " |
1055 | 1065 | "with only %d reserved data blocks\n", | |
1056 | /* figure out how many metablocks to release */ | 1066 | __func__, inode->i_ino, used, |
1057 | BUG_ON(mdb > EXT4_I(inode)->i_reserved_meta_blocks); | 1067 | ei->i_reserved_data_blocks); |
1058 | mdb_free = EXT4_I(inode)->i_reserved_meta_blocks - mdb; | 1068 | WARN_ON(1); |
1059 | 1069 | used = ei->i_reserved_data_blocks; | |
1060 | if (mdb_free) { | 1070 | } |
1061 | /* Account for allocated meta_blocks */ | 1071 | |
1062 | mdb_claim = EXT4_I(inode)->i_allocated_meta_blocks; | 1072 | /* Update per-inode reservations */ |
1063 | BUG_ON(mdb_free < mdb_claim); | 1073 | ei->i_reserved_data_blocks -= used; |
1064 | mdb_free -= mdb_claim; | 1074 | used += ei->i_allocated_meta_blocks; |
1065 | 1075 | ei->i_reserved_meta_blocks -= ei->i_allocated_meta_blocks; | |
1066 | /* update fs dirty blocks counter */ | 1076 | ei->i_allocated_meta_blocks = 0; |
1077 | percpu_counter_sub(&sbi->s_dirtyblocks_counter, used); | ||
1078 | |||
1079 | if (ei->i_reserved_data_blocks == 0) { | ||
1080 | /* | ||
1081 | * We can release all of the reserved metadata blocks | ||
1082 | * only when we have written all of the delayed | ||
1083 | * allocation blocks. | ||
1084 | */ | ||
1085 | mdb_free = ei->i_reserved_meta_blocks; | ||
1086 | ei->i_reserved_meta_blocks = 0; | ||
1087 | ei->i_da_metadata_calc_len = 0; | ||
1067 | percpu_counter_sub(&sbi->s_dirtyblocks_counter, mdb_free); | 1088 | percpu_counter_sub(&sbi->s_dirtyblocks_counter, mdb_free); |
1068 | EXT4_I(inode)->i_allocated_meta_blocks = 0; | ||
1069 | EXT4_I(inode)->i_reserved_meta_blocks = mdb; | ||
1070 | } | 1089 | } |
1071 | |||
1072 | /* update per-inode reservations */ | ||
1073 | BUG_ON(used > EXT4_I(inode)->i_reserved_data_blocks); | ||
1074 | EXT4_I(inode)->i_reserved_data_blocks -= used; | ||
1075 | percpu_counter_sub(&sbi->s_dirtyblocks_counter, used + mdb_claim); | ||
1076 | spin_unlock(&EXT4_I(inode)->i_block_reservation_lock); | 1090 | spin_unlock(&EXT4_I(inode)->i_block_reservation_lock); |
1077 | 1091 | ||
1078 | vfs_dq_claim_block(inode, used + mdb_claim); | 1092 | /* Update quota subsystem */ |
1079 | 1093 | vfs_dq_claim_block(inode, used); | |
1080 | /* | ||
1081 | * free those over-booking quota for metadata blocks | ||
1082 | */ | ||
1083 | if (mdb_free) | 1094 | if (mdb_free) |
1084 | vfs_dq_release_reservation_block(inode, mdb_free); | 1095 | vfs_dq_release_reservation_block(inode, mdb_free); |
1085 | 1096 | ||
@@ -1088,7 +1099,8 @@ static void ext4_da_update_reserve_space(struct inode *inode, int used) | |||
1088 | * there aren't any writers on the inode, we can discard the | 1099 | * there aren't any writers on the inode, we can discard the |
1089 | * inode's preallocations. | 1100 | * inode's preallocations. |
1090 | */ | 1101 | */ |
1091 | if (!total && (atomic_read(&inode->i_writecount) == 0)) | 1102 | if ((ei->i_reserved_data_blocks == 0) && |
1103 | (atomic_read(&inode->i_writecount) == 0)) | ||
1092 | ext4_discard_preallocations(inode); | 1104 | ext4_discard_preallocations(inode); |
1093 | } | 1105 | } |
1094 | 1106 | ||
@@ -1797,11 +1809,15 @@ static int ext4_journalled_write_end(struct file *file, | |||
1797 | return ret ? ret : copied; | 1809 | return ret ? ret : copied; |
1798 | } | 1810 | } |
1799 | 1811 | ||
1800 | static int ext4_da_reserve_space(struct inode *inode, int nrblocks) | 1812 | /* |
1813 | * Reserve a single block located at lblock | ||
1814 | */ | ||
1815 | static int ext4_da_reserve_space(struct inode *inode, sector_t lblock) | ||
1801 | { | 1816 | { |
1802 | int retries = 0; | 1817 | int retries = 0; |
1803 | struct ext4_sb_info *sbi = EXT4_SB(inode->i_sb); | 1818 | struct ext4_sb_info *sbi = EXT4_SB(inode->i_sb); |
1804 | unsigned long md_needed, mdblocks, total = 0; | 1819 | struct ext4_inode_info *ei = EXT4_I(inode); |
1820 | unsigned long md_needed, md_reserved; | ||
1805 | 1821 | ||
1806 | /* | 1822 | /* |
1807 | * recalculate the amount of metadata blocks to reserve | 1823 | * recalculate the amount of metadata blocks to reserve |
@@ -1809,35 +1825,43 @@ static int ext4_da_reserve_space(struct inode *inode, int nrblocks) | |||
1809 | * worse case is one extent per block | 1825 | * worse case is one extent per block |
1810 | */ | 1826 | */ |
1811 | repeat: | 1827 | repeat: |
1812 | spin_lock(&EXT4_I(inode)->i_block_reservation_lock); | 1828 | spin_lock(&ei->i_block_reservation_lock); |
1813 | total = EXT4_I(inode)->i_reserved_data_blocks + nrblocks; | 1829 | md_reserved = ei->i_reserved_meta_blocks; |
1814 | mdblocks = ext4_calc_metadata_amount(inode, total); | 1830 | md_needed = ext4_calc_metadata_amount(inode, lblock); |
1815 | BUG_ON(mdblocks < EXT4_I(inode)->i_reserved_meta_blocks); | 1831 | spin_unlock(&ei->i_block_reservation_lock); |
1816 | |||
1817 | md_needed = mdblocks - EXT4_I(inode)->i_reserved_meta_blocks; | ||
1818 | total = md_needed + nrblocks; | ||
1819 | spin_unlock(&EXT4_I(inode)->i_block_reservation_lock); | ||
1820 | 1832 | ||
1821 | /* | 1833 | /* |
1822 | * Make quota reservation here to prevent quota overflow | 1834 | * Make quota reservation here to prevent quota overflow |
1823 | * later. Real quota accounting is done at pages writeout | 1835 | * later. Real quota accounting is done at pages writeout |
1824 | * time. | 1836 | * time. |
1825 | */ | 1837 | */ |
1826 | if (vfs_dq_reserve_block(inode, total)) | 1838 | if (vfs_dq_reserve_block(inode, md_needed + 1)) { |
1839 | /* | ||
1840 | * We tend to badly over-estimate the amount of | ||
1841 | * metadata blocks which are needed, so if we have | ||
1842 | * reserved any metadata blocks, try to force out the | ||
1843 | * inode and see if we have any better luck. | ||
1844 | */ | ||
1845 | if (md_reserved && retries++ <= 3) | ||
1846 | goto retry; | ||
1827 | return -EDQUOT; | 1847 | return -EDQUOT; |
1848 | } | ||
1828 | 1849 | ||
1829 | if (ext4_claim_free_blocks(sbi, total)) { | 1850 | if (ext4_claim_free_blocks(sbi, md_needed + 1)) { |
1830 | vfs_dq_release_reservation_block(inode, total); | 1851 | vfs_dq_release_reservation_block(inode, md_needed + 1); |
1831 | if (ext4_should_retry_alloc(inode->i_sb, &retries)) { | 1852 | if (ext4_should_retry_alloc(inode->i_sb, &retries)) { |
1853 | retry: | ||
1854 | if (md_reserved) | ||
1855 | write_inode_now(inode, (retries == 3)); | ||
1832 | yield(); | 1856 | yield(); |
1833 | goto repeat; | 1857 | goto repeat; |
1834 | } | 1858 | } |
1835 | return -ENOSPC; | 1859 | return -ENOSPC; |
1836 | } | 1860 | } |
1837 | spin_lock(&EXT4_I(inode)->i_block_reservation_lock); | 1861 | spin_lock(&ei->i_block_reservation_lock); |
1838 | EXT4_I(inode)->i_reserved_data_blocks += nrblocks; | 1862 | ei->i_reserved_data_blocks++; |
1839 | EXT4_I(inode)->i_reserved_meta_blocks += md_needed; | 1863 | ei->i_reserved_meta_blocks += md_needed; |
1840 | spin_unlock(&EXT4_I(inode)->i_block_reservation_lock); | 1864 | spin_unlock(&ei->i_block_reservation_lock); |
1841 | 1865 | ||
1842 | return 0; /* success */ | 1866 | return 0; /* success */ |
1843 | } | 1867 | } |
@@ -1845,49 +1869,46 @@ repeat: | |||
1845 | static void ext4_da_release_space(struct inode *inode, int to_free) | 1869 | static void ext4_da_release_space(struct inode *inode, int to_free) |
1846 | { | 1870 | { |
1847 | struct ext4_sb_info *sbi = EXT4_SB(inode->i_sb); | 1871 | struct ext4_sb_info *sbi = EXT4_SB(inode->i_sb); |
1848 | int total, mdb, mdb_free, release; | 1872 | struct ext4_inode_info *ei = EXT4_I(inode); |
1849 | 1873 | ||
1850 | if (!to_free) | 1874 | if (!to_free) |
1851 | return; /* Nothing to release, exit */ | 1875 | return; /* Nothing to release, exit */ |
1852 | 1876 | ||
1853 | spin_lock(&EXT4_I(inode)->i_block_reservation_lock); | 1877 | spin_lock(&EXT4_I(inode)->i_block_reservation_lock); |
1854 | 1878 | ||
1855 | if (!EXT4_I(inode)->i_reserved_data_blocks) { | 1879 | if (unlikely(to_free > ei->i_reserved_data_blocks)) { |
1856 | /* | 1880 | /* |
1857 | * if there is no reserved blocks, but we try to free some | 1881 | * if there aren't enough reserved blocks, then the |
1858 | * then the counter is messed up somewhere. | 1882 | * counter is messed up somewhere. Since this |
1859 | * but since this function is called from invalidate | 1883 | * function is called from invalidate page, it's |
1860 | * page, it's harmless to return without any action | 1884 | * harmless to return without any action. |
1861 | */ | 1885 | */ |
1862 | printk(KERN_INFO "ext4 delalloc try to release %d reserved " | 1886 | ext4_msg(inode->i_sb, KERN_NOTICE, "ext4_da_release_space: " |
1863 | "blocks for inode %lu, but there is no reserved " | 1887 | "ino %lu, to_free %d with only %d reserved " |
1864 | "data blocks\n", to_free, inode->i_ino); | 1888 | "data blocks\n", inode->i_ino, to_free, |
1865 | spin_unlock(&EXT4_I(inode)->i_block_reservation_lock); | 1889 | ei->i_reserved_data_blocks); |
1866 | return; | 1890 | WARN_ON(1); |
1891 | to_free = ei->i_reserved_data_blocks; | ||
1867 | } | 1892 | } |
1893 | ei->i_reserved_data_blocks -= to_free; | ||
1868 | 1894 | ||
1869 | /* recalculate the number of metablocks still need to be reserved */ | 1895 | if (ei->i_reserved_data_blocks == 0) { |
1870 | total = EXT4_I(inode)->i_reserved_data_blocks - to_free; | 1896 | /* |
1871 | mdb = ext4_calc_metadata_amount(inode, total); | 1897 | * We can release all of the reserved metadata blocks |
1872 | 1898 | * only when we have written all of the delayed | |
1873 | /* figure out how many metablocks to release */ | 1899 | * allocation blocks. |
1874 | BUG_ON(mdb > EXT4_I(inode)->i_reserved_meta_blocks); | 1900 | */ |
1875 | mdb_free = EXT4_I(inode)->i_reserved_meta_blocks - mdb; | 1901 | to_free += ei->i_reserved_meta_blocks; |
1876 | 1902 | ei->i_reserved_meta_blocks = 0; | |
1877 | release = to_free + mdb_free; | 1903 | ei->i_da_metadata_calc_len = 0; |
1878 | 1904 | } | |
1879 | /* update fs dirty blocks counter for truncate case */ | ||
1880 | percpu_counter_sub(&sbi->s_dirtyblocks_counter, release); | ||
1881 | 1905 | ||
1882 | /* update per-inode reservations */ | 1906 | /* update fs dirty blocks counter */ |
1883 | BUG_ON(to_free > EXT4_I(inode)->i_reserved_data_blocks); | 1907 | percpu_counter_sub(&sbi->s_dirtyblocks_counter, to_free); |
1884 | EXT4_I(inode)->i_reserved_data_blocks -= to_free; | ||
1885 | 1908 | ||
1886 | BUG_ON(mdb > EXT4_I(inode)->i_reserved_meta_blocks); | ||
1887 | EXT4_I(inode)->i_reserved_meta_blocks = mdb; | ||
1888 | spin_unlock(&EXT4_I(inode)->i_block_reservation_lock); | 1909 | spin_unlock(&EXT4_I(inode)->i_block_reservation_lock); |
1889 | 1910 | ||
1890 | vfs_dq_release_reservation_block(inode, release); | 1911 | vfs_dq_release_reservation_block(inode, to_free); |
1891 | } | 1912 | } |
1892 | 1913 | ||
1893 | static void ext4_da_page_release_reservation(struct page *page, | 1914 | static void ext4_da_page_release_reservation(struct page *page, |
@@ -2493,7 +2514,7 @@ static int ext4_da_get_block_prep(struct inode *inode, sector_t iblock, | |||
2493 | * XXX: __block_prepare_write() unmaps passed block, | 2514 | * XXX: __block_prepare_write() unmaps passed block, |
2494 | * is it OK? | 2515 | * is it OK? |
2495 | */ | 2516 | */ |
2496 | ret = ext4_da_reserve_space(inode, 1); | 2517 | ret = ext4_da_reserve_space(inode, iblock); |
2497 | if (ret) | 2518 | if (ret) |
2498 | /* not enough space to reserve */ | 2519 | /* not enough space to reserve */ |
2499 | return ret; | 2520 | return ret; |
@@ -2967,8 +2988,7 @@ retry: | |||
2967 | out_writepages: | 2988 | out_writepages: |
2968 | if (!no_nrwrite_index_update) | 2989 | if (!no_nrwrite_index_update) |
2969 | wbc->no_nrwrite_index_update = 0; | 2990 | wbc->no_nrwrite_index_update = 0; |
2970 | if (wbc->nr_to_write > nr_to_writebump) | 2991 | wbc->nr_to_write -= nr_to_writebump; |
2971 | wbc->nr_to_write -= nr_to_writebump; | ||
2972 | wbc->range_start = range_start; | 2992 | wbc->range_start = range_start; |
2973 | trace_ext4_da_writepages_result(inode, wbc, ret, pages_written); | 2993 | trace_ext4_da_writepages_result(inode, wbc, ret, pages_written); |
2974 | return ret; | 2994 | return ret; |
@@ -2993,11 +3013,18 @@ static int ext4_nonda_switch(struct super_block *sb) | |||
2993 | if (2 * free_blocks < 3 * dirty_blocks || | 3013 | if (2 * free_blocks < 3 * dirty_blocks || |
2994 | free_blocks < (dirty_blocks + EXT4_FREEBLOCKS_WATERMARK)) { | 3014 | free_blocks < (dirty_blocks + EXT4_FREEBLOCKS_WATERMARK)) { |
2995 | /* | 3015 | /* |
2996 | * free block count is less that 150% of dirty blocks | 3016 | * free block count is less than 150% of dirty blocks |
2997 | * or free blocks is less that watermark | 3017 | * or free blocks is less than watermark |
2998 | */ | 3018 | */ |
2999 | return 1; | 3019 | return 1; |
3000 | } | 3020 | } |
3021 | /* | ||
3022 | * Even if we don't switch but are nearing capacity, | ||
3023 | * start pushing delalloc when 1/2 of free blocks are dirty. | ||
3024 | */ | ||
3025 | if (free_blocks < 2 * dirty_blocks) | ||
3026 | writeback_inodes_sb_if_idle(sb); | ||
3027 | |||
3001 | return 0; | 3028 | return 0; |
3002 | } | 3029 | } |
3003 | 3030 | ||
diff --git a/fs/ext4/mballoc.h b/fs/ext4/mballoc.h index 0ca811061bc7..436521cae456 100644 --- a/fs/ext4/mballoc.h +++ b/fs/ext4/mballoc.h | |||
@@ -17,7 +17,6 @@ | |||
17 | #include <linux/proc_fs.h> | 17 | #include <linux/proc_fs.h> |
18 | #include <linux/pagemap.h> | 18 | #include <linux/pagemap.h> |
19 | #include <linux/seq_file.h> | 19 | #include <linux/seq_file.h> |
20 | #include <linux/version.h> | ||
21 | #include <linux/blkdev.h> | 20 | #include <linux/blkdev.h> |
22 | #include <linux/mutex.h> | 21 | #include <linux/mutex.h> |
23 | #include "ext4_jbd2.h" | 22 | #include "ext4_jbd2.h" |
diff --git a/fs/ext4/super.c b/fs/ext4/super.c index 6ed9aa91f27d..735c20d5fd56 100644 --- a/fs/ext4/super.c +++ b/fs/ext4/super.c | |||
@@ -702,6 +702,7 @@ static struct inode *ext4_alloc_inode(struct super_block *sb) | |||
702 | ei->i_reserved_data_blocks = 0; | 702 | ei->i_reserved_data_blocks = 0; |
703 | ei->i_reserved_meta_blocks = 0; | 703 | ei->i_reserved_meta_blocks = 0; |
704 | ei->i_allocated_meta_blocks = 0; | 704 | ei->i_allocated_meta_blocks = 0; |
705 | ei->i_da_metadata_calc_len = 0; | ||
705 | ei->i_delalloc_reserved_flag = 0; | 706 | ei->i_delalloc_reserved_flag = 0; |
706 | spin_lock_init(&(ei->i_block_reservation_lock)); | 707 | spin_lock_init(&(ei->i_block_reservation_lock)); |
707 | #ifdef CONFIG_QUOTA | 708 | #ifdef CONFIG_QUOTA |
@@ -2174,9 +2175,9 @@ static ssize_t lifetime_write_kbytes_show(struct ext4_attr *a, | |||
2174 | struct super_block *sb = sbi->s_buddy_cache->i_sb; | 2175 | struct super_block *sb = sbi->s_buddy_cache->i_sb; |
2175 | 2176 | ||
2176 | return snprintf(buf, PAGE_SIZE, "%llu\n", | 2177 | return snprintf(buf, PAGE_SIZE, "%llu\n", |
2177 | sbi->s_kbytes_written + | 2178 | (unsigned long long)(sbi->s_kbytes_written + |
2178 | ((part_stat_read(sb->s_bdev->bd_part, sectors[1]) - | 2179 | ((part_stat_read(sb->s_bdev->bd_part, sectors[1]) - |
2179 | EXT4_SB(sb)->s_sectors_written_start) >> 1)); | 2180 | EXT4_SB(sb)->s_sectors_written_start) >> 1))); |
2180 | } | 2181 | } |
2181 | 2182 | ||
2182 | static ssize_t inode_readahead_blks_store(struct ext4_attr *a, | 2183 | static ssize_t inode_readahead_blks_store(struct ext4_attr *a, |
@@ -4005,6 +4006,7 @@ static inline void unregister_as_ext2(void) | |||
4005 | { | 4006 | { |
4006 | unregister_filesystem(&ext2_fs_type); | 4007 | unregister_filesystem(&ext2_fs_type); |
4007 | } | 4008 | } |
4009 | MODULE_ALIAS("ext2"); | ||
4008 | #else | 4010 | #else |
4009 | static inline void register_as_ext2(void) { } | 4011 | static inline void register_as_ext2(void) { } |
4010 | static inline void unregister_as_ext2(void) { } | 4012 | static inline void unregister_as_ext2(void) { } |
@@ -4031,6 +4033,7 @@ static inline void unregister_as_ext3(void) | |||
4031 | { | 4033 | { |
4032 | unregister_filesystem(&ext3_fs_type); | 4034 | unregister_filesystem(&ext3_fs_type); |
4033 | } | 4035 | } |
4036 | MODULE_ALIAS("ext3"); | ||
4034 | #else | 4037 | #else |
4035 | static inline void register_as_ext3(void) { } | 4038 | static inline void register_as_ext3(void) { } |
4036 | static inline void unregister_as_ext3(void) { } | 4039 | static inline void unregister_as_ext3(void) { } |
diff --git a/fs/ext4/xattr.c b/fs/ext4/xattr.c index 83218bebbc7c..f3a2f7ed45aa 100644 --- a/fs/ext4/xattr.c +++ b/fs/ext4/xattr.c | |||
@@ -1332,6 +1332,8 @@ retry: | |||
1332 | goto cleanup; | 1332 | goto cleanup; |
1333 | kfree(b_entry_name); | 1333 | kfree(b_entry_name); |
1334 | kfree(buffer); | 1334 | kfree(buffer); |
1335 | b_entry_name = NULL; | ||
1336 | buffer = NULL; | ||
1335 | brelse(is->iloc.bh); | 1337 | brelse(is->iloc.bh); |
1336 | kfree(is); | 1338 | kfree(is); |
1337 | kfree(bs); | 1339 | kfree(bs); |
diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c index 49bc1b8e8f19..1a7c42c64ff4 100644 --- a/fs/fs-writeback.c +++ b/fs/fs-writeback.c | |||
@@ -242,6 +242,7 @@ static void bdi_sync_writeback(struct backing_dev_info *bdi, | |||
242 | /** | 242 | /** |
243 | * bdi_start_writeback - start writeback | 243 | * bdi_start_writeback - start writeback |
244 | * @bdi: the backing device to write from | 244 | * @bdi: the backing device to write from |
245 | * @sb: write inodes from this super_block | ||
245 | * @nr_pages: the number of pages to write | 246 | * @nr_pages: the number of pages to write |
246 | * | 247 | * |
247 | * Description: | 248 | * Description: |
@@ -1187,6 +1188,23 @@ void writeback_inodes_sb(struct super_block *sb) | |||
1187 | EXPORT_SYMBOL(writeback_inodes_sb); | 1188 | EXPORT_SYMBOL(writeback_inodes_sb); |
1188 | 1189 | ||
1189 | /** | 1190 | /** |
1191 | * writeback_inodes_sb_if_idle - start writeback if none underway | ||
1192 | * @sb: the superblock | ||
1193 | * | ||
1194 | * Invoke writeback_inodes_sb if no writeback is currently underway. | ||
1195 | * Returns 1 if writeback was started, 0 if not. | ||
1196 | */ | ||
1197 | int writeback_inodes_sb_if_idle(struct super_block *sb) | ||
1198 | { | ||
1199 | if (!writeback_in_progress(sb->s_bdi)) { | ||
1200 | writeback_inodes_sb(sb); | ||
1201 | return 1; | ||
1202 | } else | ||
1203 | return 0; | ||
1204 | } | ||
1205 | EXPORT_SYMBOL(writeback_inodes_sb_if_idle); | ||
1206 | |||
1207 | /** | ||
1190 | * sync_inodes_sb - sync sb inode pages | 1208 | * sync_inodes_sb - sync sb inode pages |
1191 | * @sb: the superblock | 1209 | * @sb: the superblock |
1192 | * | 1210 | * |
diff --git a/fs/jbd2/checkpoint.c b/fs/jbd2/checkpoint.c index ca0f5eb62b20..886849370950 100644 --- a/fs/jbd2/checkpoint.c +++ b/fs/jbd2/checkpoint.c | |||
@@ -22,6 +22,7 @@ | |||
22 | #include <linux/jbd2.h> | 22 | #include <linux/jbd2.h> |
23 | #include <linux/errno.h> | 23 | #include <linux/errno.h> |
24 | #include <linux/slab.h> | 24 | #include <linux/slab.h> |
25 | #include <linux/blkdev.h> | ||
25 | #include <trace/events/jbd2.h> | 26 | #include <trace/events/jbd2.h> |
26 | 27 | ||
27 | /* | 28 | /* |
@@ -515,6 +516,20 @@ int jbd2_cleanup_journal_tail(journal_t *journal) | |||
515 | journal->j_tail_sequence = first_tid; | 516 | journal->j_tail_sequence = first_tid; |
516 | journal->j_tail = blocknr; | 517 | journal->j_tail = blocknr; |
517 | spin_unlock(&journal->j_state_lock); | 518 | spin_unlock(&journal->j_state_lock); |
519 | |||
520 | /* | ||
521 | * If there is an external journal, we need to make sure that | ||
522 | * any data blocks that were recently written out --- perhaps | ||
523 | * by jbd2_log_do_checkpoint() --- are flushed out before we | ||
524 | * drop the transactions from the external journal. It's | ||
525 | * unlikely this will be necessary, especially with a | ||
526 | * appropriately sized journal, but we need this to guarantee | ||
527 | * correctness. Fortunately jbd2_cleanup_journal_tail() | ||
528 | * doesn't get called all that often. | ||
529 | */ | ||
530 | if ((journal->j_fs_dev != journal->j_dev) && | ||
531 | (journal->j_flags & JBD2_BARRIER)) | ||
532 | blkdev_issue_flush(journal->j_fs_dev, NULL); | ||
518 | if (!(journal->j_flags & JBD2_ABORT)) | 533 | if (!(journal->j_flags & JBD2_ABORT)) |
519 | jbd2_journal_update_superblock(journal, 1); | 534 | jbd2_journal_update_superblock(journal, 1); |
520 | return 0; | 535 | return 0; |
diff --git a/fs/jbd2/commit.c b/fs/jbd2/commit.c index 6a10238d2c63..1bc74b6f26d2 100644 --- a/fs/jbd2/commit.c +++ b/fs/jbd2/commit.c | |||
@@ -259,6 +259,7 @@ static int journal_submit_data_buffers(journal_t *journal, | |||
259 | ret = err; | 259 | ret = err; |
260 | spin_lock(&journal->j_list_lock); | 260 | spin_lock(&journal->j_list_lock); |
261 | J_ASSERT(jinode->i_transaction == commit_transaction); | 261 | J_ASSERT(jinode->i_transaction == commit_transaction); |
262 | commit_transaction->t_flushed_data_blocks = 1; | ||
262 | jinode->i_flags &= ~JI_COMMIT_RUNNING; | 263 | jinode->i_flags &= ~JI_COMMIT_RUNNING; |
263 | wake_up_bit(&jinode->i_flags, __JI_COMMIT_RUNNING); | 264 | wake_up_bit(&jinode->i_flags, __JI_COMMIT_RUNNING); |
264 | } | 265 | } |
@@ -708,8 +709,17 @@ start_journal_io: | |||
708 | } | 709 | } |
709 | } | 710 | } |
710 | 711 | ||
711 | /* Done it all: now write the commit record asynchronously. */ | 712 | /* |
713 | * If the journal is not located on the file system device, | ||
714 | * then we must flush the file system device before we issue | ||
715 | * the commit record | ||
716 | */ | ||
717 | if (commit_transaction->t_flushed_data_blocks && | ||
718 | (journal->j_fs_dev != journal->j_dev) && | ||
719 | (journal->j_flags & JBD2_BARRIER)) | ||
720 | blkdev_issue_flush(journal->j_fs_dev, NULL); | ||
712 | 721 | ||
722 | /* Done it all: now write the commit record asynchronously. */ | ||
713 | if (JBD2_HAS_INCOMPAT_FEATURE(journal, | 723 | if (JBD2_HAS_INCOMPAT_FEATURE(journal, |
714 | JBD2_FEATURE_INCOMPAT_ASYNC_COMMIT)) { | 724 | JBD2_FEATURE_INCOMPAT_ASYNC_COMMIT)) { |
715 | err = journal_submit_commit_record(journal, commit_transaction, | 725 | err = journal_submit_commit_record(journal, commit_transaction, |
@@ -720,13 +730,6 @@ start_journal_io: | |||
720 | blkdev_issue_flush(journal->j_dev, NULL); | 730 | blkdev_issue_flush(journal->j_dev, NULL); |
721 | } | 731 | } |
722 | 732 | ||
723 | /* | ||
724 | * This is the right place to wait for data buffers both for ASYNC | ||
725 | * and !ASYNC commit. If commit is ASYNC, we need to wait only after | ||
726 | * the commit block went to disk (which happens above). If commit is | ||
727 | * SYNC, we need to wait for data buffers before we start writing | ||
728 | * commit block, which happens below in such setting. | ||
729 | */ | ||
730 | err = journal_finish_inode_data_buffers(journal, commit_transaction); | 733 | err = journal_finish_inode_data_buffers(journal, commit_transaction); |
731 | if (err) { | 734 | if (err) { |
732 | printk(KERN_WARNING | 735 | printk(KERN_WARNING |
diff --git a/fs/jbd2/journal.c b/fs/jbd2/journal.c index 17af879e6e9e..ac0d027595d0 100644 --- a/fs/jbd2/journal.c +++ b/fs/jbd2/journal.c | |||
@@ -814,7 +814,7 @@ static journal_t * journal_init_common (void) | |||
814 | journal_t *journal; | 814 | journal_t *journal; |
815 | int err; | 815 | int err; |
816 | 816 | ||
817 | journal = kzalloc(sizeof(*journal), GFP_KERNEL|__GFP_NOFAIL); | 817 | journal = kzalloc(sizeof(*journal), GFP_KERNEL); |
818 | if (!journal) | 818 | if (!journal) |
819 | goto fail; | 819 | goto fail; |
820 | 820 | ||
diff --git a/fs/namei.c b/fs/namei.c index 68921d9b5302..b55440baf7ab 100644 --- a/fs/namei.c +++ b/fs/namei.c | |||
@@ -232,6 +232,7 @@ int generic_permission(struct inode *inode, int mask, | |||
232 | /* | 232 | /* |
233 | * Searching includes executable on directories, else just read. | 233 | * Searching includes executable on directories, else just read. |
234 | */ | 234 | */ |
235 | mask &= MAY_READ | MAY_WRITE | MAY_EXEC; | ||
235 | if (mask == MAY_READ || (S_ISDIR(inode->i_mode) && !(mask & MAY_WRITE))) | 236 | if (mask == MAY_READ || (S_ISDIR(inode->i_mode) && !(mask & MAY_WRITE))) |
236 | if (capable(CAP_DAC_READ_SEARCH)) | 237 | if (capable(CAP_DAC_READ_SEARCH)) |
237 | return 0; | 238 | return 0; |
diff --git a/fs/nfsd/vfs.c b/fs/nfsd/vfs.c index 7c2e337d05af..c194793b642b 100644 --- a/fs/nfsd/vfs.c +++ b/fs/nfsd/vfs.c | |||
@@ -780,12 +780,9 @@ static inline int nfsd_dosync(struct file *filp, struct dentry *dp, | |||
780 | int (*fsync) (struct file *, struct dentry *, int); | 780 | int (*fsync) (struct file *, struct dentry *, int); |
781 | int err; | 781 | int err; |
782 | 782 | ||
783 | err = filemap_fdatawrite(inode->i_mapping); | 783 | err = filemap_write_and_wait(inode->i_mapping); |
784 | if (err == 0 && fop && (fsync = fop->fsync)) | 784 | if (err == 0 && fop && (fsync = fop->fsync)) |
785 | err = fsync(filp, dp, 0); | 785 | err = fsync(filp, dp, 0); |
786 | if (err == 0) | ||
787 | err = filemap_fdatawait(inode->i_mapping); | ||
788 | |||
789 | return err; | 786 | return err; |
790 | } | 787 | } |
791 | 788 | ||
diff --git a/fs/nilfs2/bmap.c b/fs/nilfs2/bmap.c index f4a14ea2ed9c..effdbdbe6c11 100644 --- a/fs/nilfs2/bmap.c +++ b/fs/nilfs2/bmap.c | |||
@@ -417,8 +417,8 @@ __u64 nilfs_bmap_data_get_key(const struct nilfs_bmap *bmap, | |||
417 | 417 | ||
418 | key = page_index(bh->b_page) << (PAGE_CACHE_SHIFT - | 418 | key = page_index(bh->b_page) << (PAGE_CACHE_SHIFT - |
419 | bmap->b_inode->i_blkbits); | 419 | bmap->b_inode->i_blkbits); |
420 | for (pbh = page_buffers(bh->b_page); pbh != bh; | 420 | for (pbh = page_buffers(bh->b_page); pbh != bh; pbh = pbh->b_this_page) |
421 | pbh = pbh->b_this_page, key++); | 421 | key++; |
422 | 422 | ||
423 | return key; | 423 | return key; |
424 | } | 424 | } |
diff --git a/fs/nilfs2/cpfile.c b/fs/nilfs2/cpfile.c index d5ad54e204a5..18737818db63 100644 --- a/fs/nilfs2/cpfile.c +++ b/fs/nilfs2/cpfile.c | |||
@@ -328,19 +328,24 @@ int nilfs_cpfile_delete_checkpoints(struct inode *cpfile, | |||
328 | tnicps += nicps; | 328 | tnicps += nicps; |
329 | nilfs_mdt_mark_buffer_dirty(cp_bh); | 329 | nilfs_mdt_mark_buffer_dirty(cp_bh); |
330 | nilfs_mdt_mark_dirty(cpfile); | 330 | nilfs_mdt_mark_dirty(cpfile); |
331 | if (!nilfs_cpfile_is_in_first(cpfile, cno) && | 331 | if (!nilfs_cpfile_is_in_first(cpfile, cno)) { |
332 | (count = nilfs_cpfile_block_sub_valid_checkpoints( | 332 | count = |
333 | cpfile, cp_bh, kaddr, nicps)) == 0) { | 333 | nilfs_cpfile_block_sub_valid_checkpoints( |
334 | /* make hole */ | 334 | cpfile, cp_bh, kaddr, nicps); |
335 | kunmap_atomic(kaddr, KM_USER0); | 335 | if (count == 0) { |
336 | brelse(cp_bh); | 336 | /* make hole */ |
337 | ret = nilfs_cpfile_delete_checkpoint_block( | 337 | kunmap_atomic(kaddr, KM_USER0); |
338 | cpfile, cno); | 338 | brelse(cp_bh); |
339 | if (ret == 0) | 339 | ret = |
340 | continue; | 340 | nilfs_cpfile_delete_checkpoint_block( |
341 | printk(KERN_ERR "%s: cannot delete block\n", | 341 | cpfile, cno); |
342 | __func__); | 342 | if (ret == 0) |
343 | break; | 343 | continue; |
344 | printk(KERN_ERR | ||
345 | "%s: cannot delete block\n", | ||
346 | __func__); | ||
347 | break; | ||
348 | } | ||
344 | } | 349 | } |
345 | } | 350 | } |
346 | 351 | ||
diff --git a/fs/nilfs2/direct.c b/fs/nilfs2/direct.c index d369ac718277..236753df5cdf 100644 --- a/fs/nilfs2/direct.c +++ b/fs/nilfs2/direct.c | |||
@@ -51,11 +51,11 @@ static int nilfs_direct_lookup(const struct nilfs_bmap *bmap, | |||
51 | struct nilfs_direct *direct; | 51 | struct nilfs_direct *direct; |
52 | __u64 ptr; | 52 | __u64 ptr; |
53 | 53 | ||
54 | direct = (struct nilfs_direct *)bmap; | 54 | direct = (struct nilfs_direct *)bmap; /* XXX: use macro for level 1 */ |
55 | if ((key > NILFS_DIRECT_KEY_MAX) || | 55 | if (key > NILFS_DIRECT_KEY_MAX || level != 1) |
56 | (level != 1) || /* XXX: use macro for level 1 */ | 56 | return -ENOENT; |
57 | ((ptr = nilfs_direct_get_ptr(direct, key)) == | 57 | ptr = nilfs_direct_get_ptr(direct, key); |
58 | NILFS_BMAP_INVALID_PTR)) | 58 | if (ptr == NILFS_BMAP_INVALID_PTR) |
59 | return -ENOENT; | 59 | return -ENOENT; |
60 | 60 | ||
61 | if (ptrp != NULL) | 61 | if (ptrp != NULL) |
@@ -73,9 +73,10 @@ static int nilfs_direct_lookup_contig(const struct nilfs_bmap *bmap, | |||
73 | sector_t blocknr; | 73 | sector_t blocknr; |
74 | int ret, cnt; | 74 | int ret, cnt; |
75 | 75 | ||
76 | if (key > NILFS_DIRECT_KEY_MAX || | 76 | if (key > NILFS_DIRECT_KEY_MAX) |
77 | (ptr = nilfs_direct_get_ptr(direct, key)) == | 77 | return -ENOENT; |
78 | NILFS_BMAP_INVALID_PTR) | 78 | ptr = nilfs_direct_get_ptr(direct, key); |
79 | if (ptr == NILFS_BMAP_INVALID_PTR) | ||
79 | return -ENOENT; | 80 | return -ENOENT; |
80 | 81 | ||
81 | if (NILFS_BMAP_USE_VBN(bmap)) { | 82 | if (NILFS_BMAP_USE_VBN(bmap)) { |
diff --git a/fs/nilfs2/ioctl.c b/fs/nilfs2/ioctl.c index f6af76042d80..d6b2b83de363 100644 --- a/fs/nilfs2/ioctl.c +++ b/fs/nilfs2/ioctl.c | |||
@@ -480,7 +480,7 @@ static int nilfs_ioctl_clean_segments(struct inode *inode, struct file *filp, | |||
480 | unsigned int cmd, void __user *argp) | 480 | unsigned int cmd, void __user *argp) |
481 | { | 481 | { |
482 | struct nilfs_argv argv[5]; | 482 | struct nilfs_argv argv[5]; |
483 | const static size_t argsz[5] = { | 483 | static const size_t argsz[5] = { |
484 | sizeof(struct nilfs_vdesc), | 484 | sizeof(struct nilfs_vdesc), |
485 | sizeof(struct nilfs_period), | 485 | sizeof(struct nilfs_period), |
486 | sizeof(__u64), | 486 | sizeof(__u64), |
diff --git a/fs/ocfs2/file.c b/fs/ocfs2/file.c index 3d30a1c974a8..06ccf6a86d35 100644 --- a/fs/ocfs2/file.c +++ b/fs/ocfs2/file.c | |||
@@ -1772,7 +1772,8 @@ static int ocfs2_prepare_inode_for_write(struct dentry *dentry, | |||
1772 | loff_t *ppos, | 1772 | loff_t *ppos, |
1773 | size_t count, | 1773 | size_t count, |
1774 | int appending, | 1774 | int appending, |
1775 | int *direct_io) | 1775 | int *direct_io, |
1776 | int *has_refcount) | ||
1776 | { | 1777 | { |
1777 | int ret = 0, meta_level = 0; | 1778 | int ret = 0, meta_level = 0; |
1778 | struct inode *inode = dentry->d_inode; | 1779 | struct inode *inode = dentry->d_inode; |
@@ -1833,6 +1834,8 @@ static int ocfs2_prepare_inode_for_write(struct dentry *dentry, | |||
1833 | saved_pos, | 1834 | saved_pos, |
1834 | count, | 1835 | count, |
1835 | &meta_level); | 1836 | &meta_level); |
1837 | if (has_refcount) | ||
1838 | *has_refcount = 1; | ||
1836 | } | 1839 | } |
1837 | 1840 | ||
1838 | if (ret < 0) { | 1841 | if (ret < 0) { |
@@ -1856,6 +1859,10 @@ static int ocfs2_prepare_inode_for_write(struct dentry *dentry, | |||
1856 | break; | 1859 | break; |
1857 | } | 1860 | } |
1858 | 1861 | ||
1862 | if (has_refcount && *has_refcount == 1) { | ||
1863 | *direct_io = 0; | ||
1864 | break; | ||
1865 | } | ||
1859 | /* | 1866 | /* |
1860 | * Allowing concurrent direct writes means | 1867 | * Allowing concurrent direct writes means |
1861 | * i_size changes wouldn't be synchronized, so | 1868 | * i_size changes wouldn't be synchronized, so |
@@ -1899,7 +1906,7 @@ static ssize_t ocfs2_file_aio_write(struct kiocb *iocb, | |||
1899 | loff_t pos) | 1906 | loff_t pos) |
1900 | { | 1907 | { |
1901 | int ret, direct_io, appending, rw_level, have_alloc_sem = 0; | 1908 | int ret, direct_io, appending, rw_level, have_alloc_sem = 0; |
1902 | int can_do_direct; | 1909 | int can_do_direct, has_refcount = 0; |
1903 | ssize_t written = 0; | 1910 | ssize_t written = 0; |
1904 | size_t ocount; /* original count */ | 1911 | size_t ocount; /* original count */ |
1905 | size_t count; /* after file limit checks */ | 1912 | size_t count; /* after file limit checks */ |
@@ -1942,7 +1949,7 @@ relock: | |||
1942 | can_do_direct = direct_io; | 1949 | can_do_direct = direct_io; |
1943 | ret = ocfs2_prepare_inode_for_write(file->f_path.dentry, ppos, | 1950 | ret = ocfs2_prepare_inode_for_write(file->f_path.dentry, ppos, |
1944 | iocb->ki_left, appending, | 1951 | iocb->ki_left, appending, |
1945 | &can_do_direct); | 1952 | &can_do_direct, &has_refcount); |
1946 | if (ret < 0) { | 1953 | if (ret < 0) { |
1947 | mlog_errno(ret); | 1954 | mlog_errno(ret); |
1948 | goto out; | 1955 | goto out; |
@@ -2006,14 +2013,16 @@ out_dio: | |||
2006 | /* buffered aio wouldn't have proper lock coverage today */ | 2013 | /* buffered aio wouldn't have proper lock coverage today */ |
2007 | BUG_ON(ret == -EIOCBQUEUED && !(file->f_flags & O_DIRECT)); | 2014 | BUG_ON(ret == -EIOCBQUEUED && !(file->f_flags & O_DIRECT)); |
2008 | 2015 | ||
2009 | if ((file->f_flags & O_DSYNC && !direct_io) || IS_SYNC(inode)) { | 2016 | if ((file->f_flags & O_DSYNC && !direct_io) || IS_SYNC(inode) || |
2017 | (file->f_flags & O_DIRECT && has_refcount)) { | ||
2010 | ret = filemap_fdatawrite_range(file->f_mapping, pos, | 2018 | ret = filemap_fdatawrite_range(file->f_mapping, pos, |
2011 | pos + count - 1); | 2019 | pos + count - 1); |
2012 | if (ret < 0) | 2020 | if (ret < 0) |
2013 | written = ret; | 2021 | written = ret; |
2014 | 2022 | ||
2015 | if (!ret && (old_size != i_size_read(inode) || | 2023 | if (!ret && (old_size != i_size_read(inode) || |
2016 | old_clusters != OCFS2_I(inode)->ip_clusters)) { | 2024 | old_clusters != OCFS2_I(inode)->ip_clusters || |
2025 | has_refcount)) { | ||
2017 | ret = jbd2_journal_force_commit(osb->journal->j_journal); | 2026 | ret = jbd2_journal_force_commit(osb->journal->j_journal); |
2018 | if (ret < 0) | 2027 | if (ret < 0) |
2019 | written = ret; | 2028 | written = ret; |
@@ -2062,7 +2071,7 @@ static int ocfs2_splice_to_file(struct pipe_inode_info *pipe, | |||
2062 | int ret; | 2071 | int ret; |
2063 | 2072 | ||
2064 | ret = ocfs2_prepare_inode_for_write(out->f_path.dentry, &sd->pos, | 2073 | ret = ocfs2_prepare_inode_for_write(out->f_path.dentry, &sd->pos, |
2065 | sd->total_len, 0, NULL); | 2074 | sd->total_len, 0, NULL, NULL); |
2066 | if (ret < 0) { | 2075 | if (ret < 0) { |
2067 | mlog_errno(ret); | 2076 | mlog_errno(ret); |
2068 | return ret; | 2077 | return ret; |
diff --git a/fs/reiserfs/bitmap.c b/fs/reiserfs/bitmap.c index 685495707181..65c872761177 100644 --- a/fs/reiserfs/bitmap.c +++ b/fs/reiserfs/bitmap.c | |||
@@ -1277,7 +1277,10 @@ int reiserfs_init_bitmap_cache(struct super_block *sb) | |||
1277 | struct reiserfs_bitmap_info *bitmap; | 1277 | struct reiserfs_bitmap_info *bitmap; |
1278 | unsigned int bmap_nr = reiserfs_bmap_count(sb); | 1278 | unsigned int bmap_nr = reiserfs_bmap_count(sb); |
1279 | 1279 | ||
1280 | /* Avoid lock recursion in fault case */ | ||
1281 | reiserfs_write_unlock(sb); | ||
1280 | bitmap = vmalloc(sizeof(*bitmap) * bmap_nr); | 1282 | bitmap = vmalloc(sizeof(*bitmap) * bmap_nr); |
1283 | reiserfs_write_lock(sb); | ||
1281 | if (bitmap == NULL) | 1284 | if (bitmap == NULL) |
1282 | return -ENOMEM; | 1285 | return -ENOMEM; |
1283 | 1286 | ||
diff --git a/fs/reiserfs/inode.c b/fs/reiserfs/inode.c index 290ae38fca8a..1150ebb2536f 100644 --- a/fs/reiserfs/inode.c +++ b/fs/reiserfs/inode.c | |||
@@ -31,11 +31,12 @@ void reiserfs_delete_inode(struct inode *inode) | |||
31 | JOURNAL_PER_BALANCE_CNT * 2 + | 31 | JOURNAL_PER_BALANCE_CNT * 2 + |
32 | 2 * REISERFS_QUOTA_INIT_BLOCKS(inode->i_sb); | 32 | 2 * REISERFS_QUOTA_INIT_BLOCKS(inode->i_sb); |
33 | struct reiserfs_transaction_handle th; | 33 | struct reiserfs_transaction_handle th; |
34 | int depth; | ||
34 | int err; | 35 | int err; |
35 | 36 | ||
36 | truncate_inode_pages(&inode->i_data, 0); | 37 | truncate_inode_pages(&inode->i_data, 0); |
37 | 38 | ||
38 | reiserfs_write_lock(inode->i_sb); | 39 | depth = reiserfs_write_lock_once(inode->i_sb); |
39 | 40 | ||
40 | /* The = 0 happens when we abort creating a new inode for some reason like lack of space.. */ | 41 | /* The = 0 happens when we abort creating a new inode for some reason like lack of space.. */ |
41 | if (!(inode->i_state & I_NEW) && INODE_PKEY(inode)->k_objectid != 0) { /* also handles bad_inode case */ | 42 | if (!(inode->i_state & I_NEW) && INODE_PKEY(inode)->k_objectid != 0) { /* also handles bad_inode case */ |
@@ -74,7 +75,7 @@ void reiserfs_delete_inode(struct inode *inode) | |||
74 | out: | 75 | out: |
75 | clear_inode(inode); /* note this must go after the journal_end to prevent deadlock */ | 76 | clear_inode(inode); /* note this must go after the journal_end to prevent deadlock */ |
76 | inode->i_blocks = 0; | 77 | inode->i_blocks = 0; |
77 | reiserfs_write_unlock(inode->i_sb); | 78 | reiserfs_write_unlock_once(inode->i_sb, depth); |
78 | } | 79 | } |
79 | 80 | ||
80 | static void _make_cpu_key(struct cpu_key *key, int version, __u32 dirid, | 81 | static void _make_cpu_key(struct cpu_key *key, int version, __u32 dirid, |
diff --git a/fs/reiserfs/journal.c b/fs/reiserfs/journal.c index 2f8a7e7b8dab..83ac4d3b3cb0 100644 --- a/fs/reiserfs/journal.c +++ b/fs/reiserfs/journal.c | |||
@@ -2009,10 +2009,11 @@ static int do_journal_release(struct reiserfs_transaction_handle *th, | |||
2009 | destroy_workqueue(commit_wq); | 2009 | destroy_workqueue(commit_wq); |
2010 | commit_wq = NULL; | 2010 | commit_wq = NULL; |
2011 | } | 2011 | } |
2012 | reiserfs_write_lock(sb); | ||
2013 | 2012 | ||
2014 | free_journal_ram(sb); | 2013 | free_journal_ram(sb); |
2015 | 2014 | ||
2015 | reiserfs_write_lock(sb); | ||
2016 | |||
2016 | return 0; | 2017 | return 0; |
2017 | } | 2018 | } |
2018 | 2019 | ||
@@ -2758,11 +2759,18 @@ int journal_init(struct super_block *sb, const char *j_dev_name, | |||
2758 | struct reiserfs_journal *journal; | 2759 | struct reiserfs_journal *journal; |
2759 | struct reiserfs_journal_list *jl; | 2760 | struct reiserfs_journal_list *jl; |
2760 | char b[BDEVNAME_SIZE]; | 2761 | char b[BDEVNAME_SIZE]; |
2762 | int ret; | ||
2761 | 2763 | ||
2764 | /* | ||
2765 | * Unlock here to avoid various RECLAIM-FS-ON <-> IN-RECLAIM-FS | ||
2766 | * dependency inversion warnings. | ||
2767 | */ | ||
2768 | reiserfs_write_unlock(sb); | ||
2762 | journal = SB_JOURNAL(sb) = vmalloc(sizeof(struct reiserfs_journal)); | 2769 | journal = SB_JOURNAL(sb) = vmalloc(sizeof(struct reiserfs_journal)); |
2763 | if (!journal) { | 2770 | if (!journal) { |
2764 | reiserfs_warning(sb, "journal-1256", | 2771 | reiserfs_warning(sb, "journal-1256", |
2765 | "unable to get memory for journal structure"); | 2772 | "unable to get memory for journal structure"); |
2773 | reiserfs_write_lock(sb); | ||
2766 | return 1; | 2774 | return 1; |
2767 | } | 2775 | } |
2768 | memset(journal, 0, sizeof(struct reiserfs_journal)); | 2776 | memset(journal, 0, sizeof(struct reiserfs_journal)); |
@@ -2771,10 +2779,12 @@ int journal_init(struct super_block *sb, const char *j_dev_name, | |||
2771 | INIT_LIST_HEAD(&journal->j_working_list); | 2779 | INIT_LIST_HEAD(&journal->j_working_list); |
2772 | INIT_LIST_HEAD(&journal->j_journal_list); | 2780 | INIT_LIST_HEAD(&journal->j_journal_list); |
2773 | journal->j_persistent_trans = 0; | 2781 | journal->j_persistent_trans = 0; |
2774 | if (reiserfs_allocate_list_bitmaps(sb, | 2782 | ret = reiserfs_allocate_list_bitmaps(sb, journal->j_list_bitmap, |
2775 | journal->j_list_bitmap, | 2783 | reiserfs_bmap_count(sb)); |
2776 | reiserfs_bmap_count(sb))) | 2784 | reiserfs_write_lock(sb); |
2785 | if (ret) | ||
2777 | goto free_and_return; | 2786 | goto free_and_return; |
2787 | |||
2778 | allocate_bitmap_nodes(sb); | 2788 | allocate_bitmap_nodes(sb); |
2779 | 2789 | ||
2780 | /* reserved for journal area support */ | 2790 | /* reserved for journal area support */ |
diff --git a/fs/reiserfs/lock.c b/fs/reiserfs/lock.c index ee2cfc0fd8a7..b87aa2c1afc1 100644 --- a/fs/reiserfs/lock.c +++ b/fs/reiserfs/lock.c | |||
@@ -86,3 +86,12 @@ void reiserfs_check_lock_depth(struct super_block *sb, char *caller) | |||
86 | reiserfs_panic(sb, "%s called without kernel lock held %d", | 86 | reiserfs_panic(sb, "%s called without kernel lock held %d", |
87 | caller); | 87 | caller); |
88 | } | 88 | } |
89 | |||
90 | #ifdef CONFIG_REISERFS_CHECK | ||
91 | void reiserfs_lock_check_recursive(struct super_block *sb) | ||
92 | { | ||
93 | struct reiserfs_sb_info *sb_i = REISERFS_SB(sb); | ||
94 | |||
95 | WARN_ONCE((sb_i->lock_depth > 0), "Unwanted recursive reiserfs lock!\n"); | ||
96 | } | ||
97 | #endif | ||
diff --git a/fs/reiserfs/namei.c b/fs/reiserfs/namei.c index e296ff72a6cc..9d4dcf0b07cb 100644 --- a/fs/reiserfs/namei.c +++ b/fs/reiserfs/namei.c | |||
@@ -921,6 +921,7 @@ static int reiserfs_unlink(struct inode *dir, struct dentry *dentry) | |||
921 | struct reiserfs_transaction_handle th; | 921 | struct reiserfs_transaction_handle th; |
922 | int jbegin_count; | 922 | int jbegin_count; |
923 | unsigned long savelink; | 923 | unsigned long savelink; |
924 | int depth; | ||
924 | 925 | ||
925 | inode = dentry->d_inode; | 926 | inode = dentry->d_inode; |
926 | 927 | ||
@@ -932,7 +933,7 @@ static int reiserfs_unlink(struct inode *dir, struct dentry *dentry) | |||
932 | JOURNAL_PER_BALANCE_CNT * 2 + 2 + | 933 | JOURNAL_PER_BALANCE_CNT * 2 + 2 + |
933 | 4 * REISERFS_QUOTA_TRANS_BLOCKS(dir->i_sb); | 934 | 4 * REISERFS_QUOTA_TRANS_BLOCKS(dir->i_sb); |
934 | 935 | ||
935 | reiserfs_write_lock(dir->i_sb); | 936 | depth = reiserfs_write_lock_once(dir->i_sb); |
936 | retval = journal_begin(&th, dir->i_sb, jbegin_count); | 937 | retval = journal_begin(&th, dir->i_sb, jbegin_count); |
937 | if (retval) | 938 | if (retval) |
938 | goto out_unlink; | 939 | goto out_unlink; |
@@ -993,7 +994,7 @@ static int reiserfs_unlink(struct inode *dir, struct dentry *dentry) | |||
993 | 994 | ||
994 | retval = journal_end(&th, dir->i_sb, jbegin_count); | 995 | retval = journal_end(&th, dir->i_sb, jbegin_count); |
995 | reiserfs_check_path(&path); | 996 | reiserfs_check_path(&path); |
996 | reiserfs_write_unlock(dir->i_sb); | 997 | reiserfs_write_unlock_once(dir->i_sb, depth); |
997 | return retval; | 998 | return retval; |
998 | 999 | ||
999 | end_unlink: | 1000 | end_unlink: |
@@ -1003,7 +1004,7 @@ static int reiserfs_unlink(struct inode *dir, struct dentry *dentry) | |||
1003 | if (err) | 1004 | if (err) |
1004 | retval = err; | 1005 | retval = err; |
1005 | out_unlink: | 1006 | out_unlink: |
1006 | reiserfs_write_unlock(dir->i_sb); | 1007 | reiserfs_write_unlock_once(dir->i_sb, depth); |
1007 | return retval; | 1008 | return retval; |
1008 | } | 1009 | } |
1009 | 1010 | ||
diff --git a/fs/reiserfs/xattr.c b/fs/reiserfs/xattr.c index 8c7033a8b67e..c3b004ee627b 100644 --- a/fs/reiserfs/xattr.c +++ b/fs/reiserfs/xattr.c | |||
@@ -83,7 +83,8 @@ static int xattr_unlink(struct inode *dir, struct dentry *dentry) | |||
83 | BUG_ON(!mutex_is_locked(&dir->i_mutex)); | 83 | BUG_ON(!mutex_is_locked(&dir->i_mutex)); |
84 | vfs_dq_init(dir); | 84 | vfs_dq_init(dir); |
85 | 85 | ||
86 | mutex_lock_nested(&dentry->d_inode->i_mutex, I_MUTEX_CHILD); | 86 | reiserfs_mutex_lock_nested_safe(&dentry->d_inode->i_mutex, |
87 | I_MUTEX_CHILD, dir->i_sb); | ||
87 | error = dir->i_op->unlink(dir, dentry); | 88 | error = dir->i_op->unlink(dir, dentry); |
88 | mutex_unlock(&dentry->d_inode->i_mutex); | 89 | mutex_unlock(&dentry->d_inode->i_mutex); |
89 | 90 | ||
@@ -98,7 +99,8 @@ static int xattr_rmdir(struct inode *dir, struct dentry *dentry) | |||
98 | BUG_ON(!mutex_is_locked(&dir->i_mutex)); | 99 | BUG_ON(!mutex_is_locked(&dir->i_mutex)); |
99 | vfs_dq_init(dir); | 100 | vfs_dq_init(dir); |
100 | 101 | ||
101 | mutex_lock_nested(&dentry->d_inode->i_mutex, I_MUTEX_CHILD); | 102 | reiserfs_mutex_lock_nested_safe(&dentry->d_inode->i_mutex, |
103 | I_MUTEX_CHILD, dir->i_sb); | ||
102 | dentry_unhash(dentry); | 104 | dentry_unhash(dentry); |
103 | error = dir->i_op->rmdir(dir, dentry); | 105 | error = dir->i_op->rmdir(dir, dentry); |
104 | if (!error) | 106 | if (!error) |
@@ -235,16 +237,22 @@ static int reiserfs_for_each_xattr(struct inode *inode, | |||
235 | if (IS_PRIVATE(inode) || get_inode_sd_version(inode) == STAT_DATA_V1) | 237 | if (IS_PRIVATE(inode) || get_inode_sd_version(inode) == STAT_DATA_V1) |
236 | return 0; | 238 | return 0; |
237 | 239 | ||
240 | reiserfs_write_unlock(inode->i_sb); | ||
238 | dir = open_xa_dir(inode, XATTR_REPLACE); | 241 | dir = open_xa_dir(inode, XATTR_REPLACE); |
239 | if (IS_ERR(dir)) { | 242 | if (IS_ERR(dir)) { |
240 | err = PTR_ERR(dir); | 243 | err = PTR_ERR(dir); |
244 | reiserfs_write_lock(inode->i_sb); | ||
241 | goto out; | 245 | goto out; |
242 | } else if (!dir->d_inode) { | 246 | } else if (!dir->d_inode) { |
243 | err = 0; | 247 | err = 0; |
248 | reiserfs_write_lock(inode->i_sb); | ||
244 | goto out_dir; | 249 | goto out_dir; |
245 | } | 250 | } |
246 | 251 | ||
247 | mutex_lock_nested(&dir->d_inode->i_mutex, I_MUTEX_XATTR); | 252 | mutex_lock_nested(&dir->d_inode->i_mutex, I_MUTEX_XATTR); |
253 | |||
254 | reiserfs_write_lock(inode->i_sb); | ||
255 | |||
248 | buf.xadir = dir; | 256 | buf.xadir = dir; |
249 | err = reiserfs_readdir_dentry(dir, &buf, fill_with_dentries, &pos); | 257 | err = reiserfs_readdir_dentry(dir, &buf, fill_with_dentries, &pos); |
250 | while ((err == 0 || err == -ENOSPC) && buf.count) { | 258 | while ((err == 0 || err == -ENOSPC) && buf.count) { |
@@ -283,8 +291,9 @@ static int reiserfs_for_each_xattr(struct inode *inode, | |||
283 | err = journal_begin(&th, inode->i_sb, blocks); | 291 | err = journal_begin(&th, inode->i_sb, blocks); |
284 | if (!err) { | 292 | if (!err) { |
285 | int jerror; | 293 | int jerror; |
286 | mutex_lock_nested(&dir->d_parent->d_inode->i_mutex, | 294 | reiserfs_mutex_lock_nested_safe( |
287 | I_MUTEX_XATTR); | 295 | &dir->d_parent->d_inode->i_mutex, |
296 | I_MUTEX_XATTR, inode->i_sb); | ||
288 | err = action(dir, data); | 297 | err = action(dir, data); |
289 | jerror = journal_end(&th, inode->i_sb, blocks); | 298 | jerror = journal_end(&th, inode->i_sb, blocks); |
290 | mutex_unlock(&dir->d_parent->d_inode->i_mutex); | 299 | mutex_unlock(&dir->d_parent->d_inode->i_mutex); |
@@ -480,11 +489,16 @@ reiserfs_xattr_set_handle(struct reiserfs_transaction_handle *th, | |||
480 | if (!buffer) | 489 | if (!buffer) |
481 | return lookup_and_delete_xattr(inode, name); | 490 | return lookup_and_delete_xattr(inode, name); |
482 | 491 | ||
492 | reiserfs_write_unlock(inode->i_sb); | ||
483 | dentry = xattr_lookup(inode, name, flags); | 493 | dentry = xattr_lookup(inode, name, flags); |
484 | if (IS_ERR(dentry)) | 494 | if (IS_ERR(dentry)) { |
495 | reiserfs_write_lock(inode->i_sb); | ||
485 | return PTR_ERR(dentry); | 496 | return PTR_ERR(dentry); |
497 | } | ||
486 | 498 | ||
487 | down_write(&REISERFS_I(inode)->i_xattr_sem); | 499 | down_read(&REISERFS_I(inode)->i_xattr_sem); |
500 | |||
501 | reiserfs_write_lock(inode->i_sb); | ||
488 | 502 | ||
489 | xahash = xattr_hash(buffer, buffer_size); | 503 | xahash = xattr_hash(buffer, buffer_size); |
490 | while (buffer_pos < buffer_size || buffer_pos == 0) { | 504 | while (buffer_pos < buffer_size || buffer_pos == 0) { |
diff --git a/fs/sysfs/dir.c b/fs/sysfs/dir.c index f05f2303a8b8..699f371b9f12 100644 --- a/fs/sysfs/dir.c +++ b/fs/sysfs/dir.c | |||
@@ -106,8 +106,10 @@ static struct sysfs_dirent *sysfs_get_active(struct sysfs_dirent *sd) | |||
106 | return NULL; | 106 | return NULL; |
107 | 107 | ||
108 | t = atomic_cmpxchg(&sd->s_active, v, v + 1); | 108 | t = atomic_cmpxchg(&sd->s_active, v, v + 1); |
109 | if (likely(t == v)) | 109 | if (likely(t == v)) { |
110 | rwsem_acquire_read(&sd->dep_map, 0, 1, _RET_IP_); | ||
110 | return sd; | 111 | return sd; |
112 | } | ||
111 | if (t < 0) | 113 | if (t < 0) |
112 | return NULL; | 114 | return NULL; |
113 | 115 | ||
@@ -130,6 +132,7 @@ static void sysfs_put_active(struct sysfs_dirent *sd) | |||
130 | if (unlikely(!sd)) | 132 | if (unlikely(!sd)) |
131 | return; | 133 | return; |
132 | 134 | ||
135 | rwsem_release(&sd->dep_map, 1, _RET_IP_); | ||
133 | v = atomic_dec_return(&sd->s_active); | 136 | v = atomic_dec_return(&sd->s_active); |
134 | if (likely(v != SD_DEACTIVATED_BIAS)) | 137 | if (likely(v != SD_DEACTIVATED_BIAS)) |
135 | return; | 138 | return; |
@@ -194,15 +197,21 @@ static void sysfs_deactivate(struct sysfs_dirent *sd) | |||
194 | BUG_ON(sd->s_sibling || !(sd->s_flags & SYSFS_FLAG_REMOVED)); | 197 | BUG_ON(sd->s_sibling || !(sd->s_flags & SYSFS_FLAG_REMOVED)); |
195 | sd->s_sibling = (void *)&wait; | 198 | sd->s_sibling = (void *)&wait; |
196 | 199 | ||
200 | rwsem_acquire(&sd->dep_map, 0, 0, _RET_IP_); | ||
197 | /* atomic_add_return() is a mb(), put_active() will always see | 201 | /* atomic_add_return() is a mb(), put_active() will always see |
198 | * the updated sd->s_sibling. | 202 | * the updated sd->s_sibling. |
199 | */ | 203 | */ |
200 | v = atomic_add_return(SD_DEACTIVATED_BIAS, &sd->s_active); | 204 | v = atomic_add_return(SD_DEACTIVATED_BIAS, &sd->s_active); |
201 | 205 | ||
202 | if (v != SD_DEACTIVATED_BIAS) | 206 | if (v != SD_DEACTIVATED_BIAS) { |
207 | lock_contended(&sd->dep_map, _RET_IP_); | ||
203 | wait_for_completion(&wait); | 208 | wait_for_completion(&wait); |
209 | } | ||
204 | 210 | ||
205 | sd->s_sibling = NULL; | 211 | sd->s_sibling = NULL; |
212 | |||
213 | lock_acquired(&sd->dep_map, _RET_IP_); | ||
214 | rwsem_release(&sd->dep_map, 1, _RET_IP_); | ||
206 | } | 215 | } |
207 | 216 | ||
208 | static int sysfs_alloc_ino(ino_t *pino) | 217 | static int sysfs_alloc_ino(ino_t *pino) |
@@ -345,6 +354,7 @@ struct sysfs_dirent *sysfs_new_dirent(const char *name, umode_t mode, int type) | |||
345 | 354 | ||
346 | atomic_set(&sd->s_count, 1); | 355 | atomic_set(&sd->s_count, 1); |
347 | atomic_set(&sd->s_active, 0); | 356 | atomic_set(&sd->s_active, 0); |
357 | sysfs_dirent_init_lockdep(sd); | ||
348 | 358 | ||
349 | sd->s_name = name; | 359 | sd->s_name = name; |
350 | sd->s_mode = mode; | 360 | sd->s_mode = mode; |
diff --git a/fs/sysfs/sysfs.h b/fs/sysfs/sysfs.h index ca52e7b9d8f8..cdd9377a6e06 100644 --- a/fs/sysfs/sysfs.h +++ b/fs/sysfs/sysfs.h | |||
@@ -8,6 +8,7 @@ | |||
8 | * This file is released under the GPLv2. | 8 | * This file is released under the GPLv2. |
9 | */ | 9 | */ |
10 | 10 | ||
11 | #include <linux/lockdep.h> | ||
11 | #include <linux/fs.h> | 12 | #include <linux/fs.h> |
12 | 13 | ||
13 | struct sysfs_open_dirent; | 14 | struct sysfs_open_dirent; |
@@ -50,6 +51,9 @@ struct sysfs_inode_attrs { | |||
50 | struct sysfs_dirent { | 51 | struct sysfs_dirent { |
51 | atomic_t s_count; | 52 | atomic_t s_count; |
52 | atomic_t s_active; | 53 | atomic_t s_active; |
54 | #ifdef CONFIG_DEBUG_LOCK_ALLOC | ||
55 | struct lockdep_map dep_map; | ||
56 | #endif | ||
53 | struct sysfs_dirent *s_parent; | 57 | struct sysfs_dirent *s_parent; |
54 | struct sysfs_dirent *s_sibling; | 58 | struct sysfs_dirent *s_sibling; |
55 | const char *s_name; | 59 | const char *s_name; |
@@ -84,6 +88,17 @@ static inline unsigned int sysfs_type(struct sysfs_dirent *sd) | |||
84 | return sd->s_flags & SYSFS_TYPE_MASK; | 88 | return sd->s_flags & SYSFS_TYPE_MASK; |
85 | } | 89 | } |
86 | 90 | ||
91 | #ifdef CONFIG_DEBUG_LOCK_ALLOC | ||
92 | #define sysfs_dirent_init_lockdep(sd) \ | ||
93 | do { \ | ||
94 | static struct lock_class_key __key; \ | ||
95 | \ | ||
96 | lockdep_init_map(&sd->dep_map, "s_active", &__key, 0); \ | ||
97 | } while(0) | ||
98 | #else | ||
99 | #define sysfs_dirent_init_lockdep(sd) do {} while(0) | ||
100 | #endif | ||
101 | |||
87 | /* | 102 | /* |
88 | * Context structure to be used while adding/removing nodes. | 103 | * Context structure to be used while adding/removing nodes. |
89 | */ | 104 | */ |
diff --git a/include/drm/drmP.h b/include/drm/drmP.h index 71dafb69cfeb..ffac157fb5b2 100644 --- a/include/drm/drmP.h +++ b/include/drm/drmP.h | |||
@@ -1408,7 +1408,7 @@ extern int drm_ati_pcigart_cleanup(struct drm_device *dev, | |||
1408 | struct drm_ati_pcigart_info * gart_info); | 1408 | struct drm_ati_pcigart_info * gart_info); |
1409 | 1409 | ||
1410 | extern drm_dma_handle_t *drm_pci_alloc(struct drm_device *dev, size_t size, | 1410 | extern drm_dma_handle_t *drm_pci_alloc(struct drm_device *dev, size_t size, |
1411 | size_t align, dma_addr_t maxaddr); | 1411 | size_t align); |
1412 | extern void __drm_pci_free(struct drm_device *dev, drm_dma_handle_t * dmah); | 1412 | extern void __drm_pci_free(struct drm_device *dev, drm_dma_handle_t * dmah); |
1413 | extern void drm_pci_free(struct drm_device *dev, drm_dma_handle_t * dmah); | 1413 | extern void drm_pci_free(struct drm_device *dev, drm_dma_handle_t * dmah); |
1414 | 1414 | ||
diff --git a/include/drm/i915_drm.h b/include/drm/i915_drm.h index ec3f5e80a5df..b64a8d7cdf6d 100644 --- a/include/drm/i915_drm.h +++ b/include/drm/i915_drm.h | |||
@@ -188,6 +188,7 @@ typedef struct _drm_i915_sarea { | |||
188 | #define DRM_I915_GEM_MADVISE 0x26 | 188 | #define DRM_I915_GEM_MADVISE 0x26 |
189 | #define DRM_I915_OVERLAY_PUT_IMAGE 0x27 | 189 | #define DRM_I915_OVERLAY_PUT_IMAGE 0x27 |
190 | #define DRM_I915_OVERLAY_ATTRS 0x28 | 190 | #define DRM_I915_OVERLAY_ATTRS 0x28 |
191 | #define DRM_I915_GEM_EXECBUFFER2 0x29 | ||
191 | 192 | ||
192 | #define DRM_IOCTL_I915_INIT DRM_IOW( DRM_COMMAND_BASE + DRM_I915_INIT, drm_i915_init_t) | 193 | #define DRM_IOCTL_I915_INIT DRM_IOW( DRM_COMMAND_BASE + DRM_I915_INIT, drm_i915_init_t) |
193 | #define DRM_IOCTL_I915_FLUSH DRM_IO ( DRM_COMMAND_BASE + DRM_I915_FLUSH) | 194 | #define DRM_IOCTL_I915_FLUSH DRM_IO ( DRM_COMMAND_BASE + DRM_I915_FLUSH) |
@@ -207,6 +208,7 @@ typedef struct _drm_i915_sarea { | |||
207 | #define DRM_IOCTL_I915_VBLANK_SWAP DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_VBLANK_SWAP, drm_i915_vblank_swap_t) | 208 | #define DRM_IOCTL_I915_VBLANK_SWAP DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_VBLANK_SWAP, drm_i915_vblank_swap_t) |
208 | #define DRM_IOCTL_I915_GEM_INIT DRM_IOW(DRM_COMMAND_BASE + DRM_I915_GEM_INIT, struct drm_i915_gem_init) | 209 | #define DRM_IOCTL_I915_GEM_INIT DRM_IOW(DRM_COMMAND_BASE + DRM_I915_GEM_INIT, struct drm_i915_gem_init) |
209 | #define DRM_IOCTL_I915_GEM_EXECBUFFER DRM_IOW(DRM_COMMAND_BASE + DRM_I915_GEM_EXECBUFFER, struct drm_i915_gem_execbuffer) | 210 | #define DRM_IOCTL_I915_GEM_EXECBUFFER DRM_IOW(DRM_COMMAND_BASE + DRM_I915_GEM_EXECBUFFER, struct drm_i915_gem_execbuffer) |
211 | #define DRM_IOCTL_I915_GEM_EXECBUFFER2 DRM_IOW(DRM_COMMAND_BASE + DRM_I915_GEM_EXECBUFFER2, struct drm_i915_gem_execbuffer2) | ||
210 | #define DRM_IOCTL_I915_GEM_PIN DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_PIN, struct drm_i915_gem_pin) | 212 | #define DRM_IOCTL_I915_GEM_PIN DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_PIN, struct drm_i915_gem_pin) |
211 | #define DRM_IOCTL_I915_GEM_UNPIN DRM_IOW(DRM_COMMAND_BASE + DRM_I915_GEM_UNPIN, struct drm_i915_gem_unpin) | 213 | #define DRM_IOCTL_I915_GEM_UNPIN DRM_IOW(DRM_COMMAND_BASE + DRM_I915_GEM_UNPIN, struct drm_i915_gem_unpin) |
212 | #define DRM_IOCTL_I915_GEM_BUSY DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_BUSY, struct drm_i915_gem_busy) | 214 | #define DRM_IOCTL_I915_GEM_BUSY DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_BUSY, struct drm_i915_gem_busy) |
@@ -272,6 +274,7 @@ typedef struct drm_i915_irq_wait { | |||
272 | #define I915_PARAM_NUM_FENCES_AVAIL 6 | 274 | #define I915_PARAM_NUM_FENCES_AVAIL 6 |
273 | #define I915_PARAM_HAS_OVERLAY 7 | 275 | #define I915_PARAM_HAS_OVERLAY 7 |
274 | #define I915_PARAM_HAS_PAGEFLIPPING 8 | 276 | #define I915_PARAM_HAS_PAGEFLIPPING 8 |
277 | #define I915_PARAM_HAS_EXECBUF2 9 | ||
275 | 278 | ||
276 | typedef struct drm_i915_getparam { | 279 | typedef struct drm_i915_getparam { |
277 | int param; | 280 | int param; |
@@ -567,6 +570,57 @@ struct drm_i915_gem_execbuffer { | |||
567 | __u64 cliprects_ptr; | 570 | __u64 cliprects_ptr; |
568 | }; | 571 | }; |
569 | 572 | ||
573 | struct drm_i915_gem_exec_object2 { | ||
574 | /** | ||
575 | * User's handle for a buffer to be bound into the GTT for this | ||
576 | * operation. | ||
577 | */ | ||
578 | __u32 handle; | ||
579 | |||
580 | /** Number of relocations to be performed on this buffer */ | ||
581 | __u32 relocation_count; | ||
582 | /** | ||
583 | * Pointer to array of struct drm_i915_gem_relocation_entry containing | ||
584 | * the relocations to be performed in this buffer. | ||
585 | */ | ||
586 | __u64 relocs_ptr; | ||
587 | |||
588 | /** Required alignment in graphics aperture */ | ||
589 | __u64 alignment; | ||
590 | |||
591 | /** | ||
592 | * Returned value of the updated offset of the object, for future | ||
593 | * presumed_offset writes. | ||
594 | */ | ||
595 | __u64 offset; | ||
596 | |||
597 | #define EXEC_OBJECT_NEEDS_FENCE (1<<0) | ||
598 | __u64 flags; | ||
599 | __u64 rsvd1; | ||
600 | __u64 rsvd2; | ||
601 | }; | ||
602 | |||
603 | struct drm_i915_gem_execbuffer2 { | ||
604 | /** | ||
605 | * List of gem_exec_object2 structs | ||
606 | */ | ||
607 | __u64 buffers_ptr; | ||
608 | __u32 buffer_count; | ||
609 | |||
610 | /** Offset in the batchbuffer to start execution from. */ | ||
611 | __u32 batch_start_offset; | ||
612 | /** Bytes used in batchbuffer from batch_start_offset */ | ||
613 | __u32 batch_len; | ||
614 | __u32 DR1; | ||
615 | __u32 DR4; | ||
616 | __u32 num_cliprects; | ||
617 | /** This is a struct drm_clip_rect *cliprects */ | ||
618 | __u64 cliprects_ptr; | ||
619 | __u64 flags; /* currently unused */ | ||
620 | __u64 rsvd1; | ||
621 | __u64 rsvd2; | ||
622 | }; | ||
623 | |||
570 | struct drm_i915_gem_pin { | 624 | struct drm_i915_gem_pin { |
571 | /** Handle of the buffer to be pinned. */ | 625 | /** Handle of the buffer to be pinned. */ |
572 | __u32 handle; | 626 | __u32 handle; |
diff --git a/include/linux/acpi.h b/include/linux/acpi.h index ce945d4845fc..36924255c0d5 100644 --- a/include/linux/acpi.h +++ b/include/linux/acpi.h | |||
@@ -251,6 +251,7 @@ int acpi_check_mem_region(resource_size_t start, resource_size_t n, | |||
251 | void __init acpi_no_s4_hw_signature(void); | 251 | void __init acpi_no_s4_hw_signature(void); |
252 | void __init acpi_old_suspend_ordering(void); | 252 | void __init acpi_old_suspend_ordering(void); |
253 | void __init acpi_s4_no_nvs(void); | 253 | void __init acpi_s4_no_nvs(void); |
254 | void __init acpi_set_sci_en_on_resume(void); | ||
254 | #endif /* CONFIG_PM_SLEEP */ | 255 | #endif /* CONFIG_PM_SLEEP */ |
255 | 256 | ||
256 | struct acpi_osc_context { | 257 | struct acpi_osc_context { |
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index 784a919aa0d0..9b98173a8184 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h | |||
@@ -845,7 +845,6 @@ static inline struct request_queue *bdev_get_queue(struct block_device *bdev) | |||
845 | * blk_rq_err_bytes() : bytes left till the next error boundary | 845 | * blk_rq_err_bytes() : bytes left till the next error boundary |
846 | * blk_rq_sectors() : sectors left in the entire request | 846 | * blk_rq_sectors() : sectors left in the entire request |
847 | * blk_rq_cur_sectors() : sectors left in the current segment | 847 | * blk_rq_cur_sectors() : sectors left in the current segment |
848 | * blk_rq_err_sectors() : sectors left till the next error boundary | ||
849 | */ | 848 | */ |
850 | static inline sector_t blk_rq_pos(const struct request *rq) | 849 | static inline sector_t blk_rq_pos(const struct request *rq) |
851 | { | 850 | { |
@@ -874,11 +873,6 @@ static inline unsigned int blk_rq_cur_sectors(const struct request *rq) | |||
874 | return blk_rq_cur_bytes(rq) >> 9; | 873 | return blk_rq_cur_bytes(rq) >> 9; |
875 | } | 874 | } |
876 | 875 | ||
877 | static inline unsigned int blk_rq_err_sectors(const struct request *rq) | ||
878 | { | ||
879 | return blk_rq_err_bytes(rq) >> 9; | ||
880 | } | ||
881 | |||
882 | /* | 876 | /* |
883 | * Request issue related functions. | 877 | * Request issue related functions. |
884 | */ | 878 | */ |
@@ -1116,11 +1110,18 @@ static inline int queue_alignment_offset(struct request_queue *q) | |||
1116 | return q->limits.alignment_offset; | 1110 | return q->limits.alignment_offset; |
1117 | } | 1111 | } |
1118 | 1112 | ||
1113 | static inline int queue_limit_alignment_offset(struct queue_limits *lim, sector_t offset) | ||
1114 | { | ||
1115 | unsigned int granularity = max(lim->physical_block_size, lim->io_min); | ||
1116 | |||
1117 | offset &= granularity - 1; | ||
1118 | return (granularity + lim->alignment_offset - offset) & (granularity - 1); | ||
1119 | } | ||
1120 | |||
1119 | static inline int queue_sector_alignment_offset(struct request_queue *q, | 1121 | static inline int queue_sector_alignment_offset(struct request_queue *q, |
1120 | sector_t sector) | 1122 | sector_t sector) |
1121 | { | 1123 | { |
1122 | return ((sector << 9) - q->limits.alignment_offset) | 1124 | return queue_limit_alignment_offset(&q->limits, sector << 9); |
1123 | & (q->limits.io_min - 1); | ||
1124 | } | 1125 | } |
1125 | 1126 | ||
1126 | static inline int bdev_alignment_offset(struct block_device *bdev) | 1127 | static inline int bdev_alignment_offset(struct block_device *bdev) |
diff --git a/include/linux/firewire-cdev.h b/include/linux/firewire-cdev.h index c6b3ca3af6df..1f716d9f714b 100644 --- a/include/linux/firewire-cdev.h +++ b/include/linux/firewire-cdev.h | |||
@@ -340,6 +340,9 @@ struct fw_cdev_send_response { | |||
340 | * The @closure field is passed back to userspace in the response event. | 340 | * The @closure field is passed back to userspace in the response event. |
341 | * The @handle field is an out parameter, returning a handle to the allocated | 341 | * The @handle field is an out parameter, returning a handle to the allocated |
342 | * range to be used for later deallocation of the range. | 342 | * range to be used for later deallocation of the range. |
343 | * | ||
344 | * The address range is allocated on all local nodes. The address allocation | ||
345 | * is exclusive except for the FCP command and response registers. | ||
343 | */ | 346 | */ |
344 | struct fw_cdev_allocate { | 347 | struct fw_cdev_allocate { |
345 | __u64 offset; | 348 | __u64 offset; |
diff --git a/include/linux/firewire.h b/include/linux/firewire.h index 9416a461b696..a0e67150a729 100644 --- a/include/linux/firewire.h +++ b/include/linux/firewire.h | |||
@@ -248,8 +248,8 @@ typedef void (*fw_transaction_callback_t)(struct fw_card *card, int rcode, | |||
248 | void *data, size_t length, | 248 | void *data, size_t length, |
249 | void *callback_data); | 249 | void *callback_data); |
250 | /* | 250 | /* |
251 | * Important note: The callback must guarantee that either fw_send_response() | 251 | * Important note: Except for the FCP registers, the callback must guarantee |
252 | * or kfree() is called on the @request. | 252 | * that either fw_send_response() or kfree() is called on the @request. |
253 | */ | 253 | */ |
254 | typedef void (*fw_address_callback_t)(struct fw_card *card, | 254 | typedef void (*fw_address_callback_t)(struct fw_card *card, |
255 | struct fw_request *request, | 255 | struct fw_request *request, |
diff --git a/include/linux/ieee80211.h b/include/linux/ieee80211.h index d9724a28c0c2..163c840437d6 100644 --- a/include/linux/ieee80211.h +++ b/include/linux/ieee80211.h | |||
@@ -832,7 +832,7 @@ struct ieee80211_ht_cap { | |||
832 | #define IEEE80211_HT_CAP_DELAY_BA 0x0400 | 832 | #define IEEE80211_HT_CAP_DELAY_BA 0x0400 |
833 | #define IEEE80211_HT_CAP_MAX_AMSDU 0x0800 | 833 | #define IEEE80211_HT_CAP_MAX_AMSDU 0x0800 |
834 | #define IEEE80211_HT_CAP_DSSSCCK40 0x1000 | 834 | #define IEEE80211_HT_CAP_DSSSCCK40 0x1000 |
835 | #define IEEE80211_HT_CAP_PSMP_SUPPORT 0x2000 | 835 | #define IEEE80211_HT_CAP_RESERVED 0x2000 |
836 | #define IEEE80211_HT_CAP_40MHZ_INTOLERANT 0x4000 | 836 | #define IEEE80211_HT_CAP_40MHZ_INTOLERANT 0x4000 |
837 | #define IEEE80211_HT_CAP_LSIG_TXOP_PROT 0x8000 | 837 | #define IEEE80211_HT_CAP_LSIG_TXOP_PROT 0x8000 |
838 | 838 | ||
diff --git a/include/linux/inetdevice.h b/include/linux/inetdevice.h index 699e85c01a4d..b2304929434e 100644 --- a/include/linux/inetdevice.h +++ b/include/linux/inetdevice.h | |||
@@ -81,6 +81,7 @@ static inline void ipv4_devconf_setall(struct in_device *in_dev) | |||
81 | #define IN_DEV_FORWARD(in_dev) IN_DEV_CONF_GET((in_dev), FORWARDING) | 81 | #define IN_DEV_FORWARD(in_dev) IN_DEV_CONF_GET((in_dev), FORWARDING) |
82 | #define IN_DEV_MFORWARD(in_dev) IN_DEV_ANDCONF((in_dev), MC_FORWARDING) | 82 | #define IN_DEV_MFORWARD(in_dev) IN_DEV_ANDCONF((in_dev), MC_FORWARDING) |
83 | #define IN_DEV_RPFILTER(in_dev) IN_DEV_MAXCONF((in_dev), RP_FILTER) | 83 | #define IN_DEV_RPFILTER(in_dev) IN_DEV_MAXCONF((in_dev), RP_FILTER) |
84 | #define IN_DEV_SRC_VMARK(in_dev) IN_DEV_ORCONF((in_dev), SRC_VMARK) | ||
84 | #define IN_DEV_SOURCE_ROUTE(in_dev) IN_DEV_ANDCONF((in_dev), \ | 85 | #define IN_DEV_SOURCE_ROUTE(in_dev) IN_DEV_ANDCONF((in_dev), \ |
85 | ACCEPT_SOURCE_ROUTE) | 86 | ACCEPT_SOURCE_ROUTE) |
86 | #define IN_DEV_ACCEPT_LOCAL(in_dev) IN_DEV_ORCONF((in_dev), ACCEPT_LOCAL) | 87 | #define IN_DEV_ACCEPT_LOCAL(in_dev) IN_DEV_ORCONF((in_dev), ACCEPT_LOCAL) |
diff --git a/include/linux/jbd2.h b/include/linux/jbd2.h index f1011f7f3d41..638ce4554c76 100644 --- a/include/linux/jbd2.h +++ b/include/linux/jbd2.h | |||
@@ -653,6 +653,7 @@ struct transaction_s | |||
653 | * waiting for it to finish. | 653 | * waiting for it to finish. |
654 | */ | 654 | */ |
655 | unsigned int t_synchronous_commit:1; | 655 | unsigned int t_synchronous_commit:1; |
656 | unsigned int t_flushed_data_blocks:1; | ||
656 | 657 | ||
657 | /* | 658 | /* |
658 | * For use by the filesystem to store fs-specific data | 659 | * For use by the filesystem to store fs-specific data |
diff --git a/include/linux/kfifo.h b/include/linux/kfifo.h index 3d44e9c65a8e..7c6b32a1421c 100644 --- a/include/linux/kfifo.h +++ b/include/linux/kfifo.h | |||
@@ -81,7 +81,7 @@ union { \ | |||
81 | } | 81 | } |
82 | 82 | ||
83 | /** | 83 | /** |
84 | * INIT_KFIFO - Initialize a kfifo declared by DECLARED_KFIFO | 84 | * INIT_KFIFO - Initialize a kfifo declared by DECLARE_KFIFO |
85 | * @name: name of the declared kfifo datatype | 85 | * @name: name of the declared kfifo datatype |
86 | */ | 86 | */ |
87 | #define INIT_KFIFO(name) \ | 87 | #define INIT_KFIFO(name) \ |
diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h index 84a524afb3dc..84d020bed083 100644 --- a/include/linux/mm_types.h +++ b/include/linux/mm_types.h | |||
@@ -123,6 +123,8 @@ struct vm_region { | |||
123 | struct file *vm_file; /* the backing file or NULL */ | 123 | struct file *vm_file; /* the backing file or NULL */ |
124 | 124 | ||
125 | atomic_t vm_usage; /* region usage count */ | 125 | atomic_t vm_usage; /* region usage count */ |
126 | bool vm_icache_flushed : 1; /* true if the icache has been flushed for | ||
127 | * this region */ | ||
126 | }; | 128 | }; |
127 | 129 | ||
128 | /* | 130 | /* |
diff --git a/include/linux/pci.h b/include/linux/pci.h index bf1e67080849..5da0690d9cee 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h | |||
@@ -566,6 +566,9 @@ void pcibios_align_resource(void *, struct resource *, resource_size_t, | |||
566 | resource_size_t); | 566 | resource_size_t); |
567 | void pcibios_update_irq(struct pci_dev *, int irq); | 567 | void pcibios_update_irq(struct pci_dev *, int irq); |
568 | 568 | ||
569 | /* Weak but can be overriden by arch */ | ||
570 | void pci_fixup_cardbus(struct pci_bus *); | ||
571 | |||
569 | /* Generic PCI functions used internally */ | 572 | /* Generic PCI functions used internally */ |
570 | 573 | ||
571 | extern struct pci_bus *pci_find_bus(int domain, int busnr); | 574 | extern struct pci_bus *pci_find_bus(int domain, int busnr); |
diff --git a/include/linux/reiserfs_fs.h b/include/linux/reiserfs_fs.h index c96c1858fe2c..1ba3cf6edfbb 100644 --- a/include/linux/reiserfs_fs.h +++ b/include/linux/reiserfs_fs.h | |||
@@ -62,6 +62,12 @@ void reiserfs_write_unlock(struct super_block *s); | |||
62 | int reiserfs_write_lock_once(struct super_block *s); | 62 | int reiserfs_write_lock_once(struct super_block *s); |
63 | void reiserfs_write_unlock_once(struct super_block *s, int lock_depth); | 63 | void reiserfs_write_unlock_once(struct super_block *s, int lock_depth); |
64 | 64 | ||
65 | #ifdef CONFIG_REISERFS_CHECK | ||
66 | void reiserfs_lock_check_recursive(struct super_block *s); | ||
67 | #else | ||
68 | static inline void reiserfs_lock_check_recursive(struct super_block *s) { } | ||
69 | #endif | ||
70 | |||
65 | /* | 71 | /* |
66 | * Several mutexes depend on the write lock. | 72 | * Several mutexes depend on the write lock. |
67 | * However sometimes we want to relax the write lock while we hold | 73 | * However sometimes we want to relax the write lock while we hold |
@@ -92,11 +98,31 @@ void reiserfs_write_unlock_once(struct super_block *s, int lock_depth); | |||
92 | static inline void reiserfs_mutex_lock_safe(struct mutex *m, | 98 | static inline void reiserfs_mutex_lock_safe(struct mutex *m, |
93 | struct super_block *s) | 99 | struct super_block *s) |
94 | { | 100 | { |
101 | reiserfs_lock_check_recursive(s); | ||
95 | reiserfs_write_unlock(s); | 102 | reiserfs_write_unlock(s); |
96 | mutex_lock(m); | 103 | mutex_lock(m); |
97 | reiserfs_write_lock(s); | 104 | reiserfs_write_lock(s); |
98 | } | 105 | } |
99 | 106 | ||
107 | static inline void | ||
108 | reiserfs_mutex_lock_nested_safe(struct mutex *m, unsigned int subclass, | ||
109 | struct super_block *s) | ||
110 | { | ||
111 | reiserfs_lock_check_recursive(s); | ||
112 | reiserfs_write_unlock(s); | ||
113 | mutex_lock_nested(m, subclass); | ||
114 | reiserfs_write_lock(s); | ||
115 | } | ||
116 | |||
117 | static inline void | ||
118 | reiserfs_down_read_safe(struct rw_semaphore *sem, struct super_block *s) | ||
119 | { | ||
120 | reiserfs_lock_check_recursive(s); | ||
121 | reiserfs_write_unlock(s); | ||
122 | down_read(sem); | ||
123 | reiserfs_write_lock(s); | ||
124 | } | ||
125 | |||
100 | /* | 126 | /* |
101 | * When we schedule, we usually want to also release the write lock, | 127 | * When we schedule, we usually want to also release the write lock, |
102 | * according to the previous bkl based locking scheme of reiserfs. | 128 | * according to the previous bkl based locking scheme of reiserfs. |
diff --git a/include/linux/resource.h b/include/linux/resource.h index 40fc7e626082..f1e914eefeab 100644 --- a/include/linux/resource.h +++ b/include/linux/resource.h | |||
@@ -3,8 +3,6 @@ | |||
3 | 3 | ||
4 | #include <linux/time.h> | 4 | #include <linux/time.h> |
5 | 5 | ||
6 | struct task_struct; | ||
7 | |||
8 | /* | 6 | /* |
9 | * Resource control/accounting header file for linux | 7 | * Resource control/accounting header file for linux |
10 | */ | 8 | */ |
@@ -70,6 +68,12 @@ struct rlimit { | |||
70 | */ | 68 | */ |
71 | #include <asm/resource.h> | 69 | #include <asm/resource.h> |
72 | 70 | ||
71 | #ifdef __KERNEL__ | ||
72 | |||
73 | struct task_struct; | ||
74 | |||
73 | int getrusage(struct task_struct *p, int who, struct rusage __user *ru); | 75 | int getrusage(struct task_struct *p, int who, struct rusage __user *ru); |
74 | 76 | ||
77 | #endif /* __KERNEL__ */ | ||
78 | |||
75 | #endif | 79 | #endif |
diff --git a/include/linux/sched.h b/include/linux/sched.h index f2f842db03ce..8d4991be9d53 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
@@ -2601,6 +2601,28 @@ static inline void mm_init_owner(struct mm_struct *mm, struct task_struct *p) | |||
2601 | } | 2601 | } |
2602 | #endif /* CONFIG_MM_OWNER */ | 2602 | #endif /* CONFIG_MM_OWNER */ |
2603 | 2603 | ||
2604 | static inline unsigned long task_rlimit(const struct task_struct *tsk, | ||
2605 | unsigned int limit) | ||
2606 | { | ||
2607 | return ACCESS_ONCE(tsk->signal->rlim[limit].rlim_cur); | ||
2608 | } | ||
2609 | |||
2610 | static inline unsigned long task_rlimit_max(const struct task_struct *tsk, | ||
2611 | unsigned int limit) | ||
2612 | { | ||
2613 | return ACCESS_ONCE(tsk->signal->rlim[limit].rlim_max); | ||
2614 | } | ||
2615 | |||
2616 | static inline unsigned long rlimit(unsigned int limit) | ||
2617 | { | ||
2618 | return task_rlimit(current, limit); | ||
2619 | } | ||
2620 | |||
2621 | static inline unsigned long rlimit_max(unsigned int limit) | ||
2622 | { | ||
2623 | return task_rlimit_max(current, limit); | ||
2624 | } | ||
2625 | |||
2604 | #endif /* __KERNEL__ */ | 2626 | #endif /* __KERNEL__ */ |
2605 | 2627 | ||
2606 | #endif | 2628 | #endif |
diff --git a/include/linux/syscalls.h b/include/linux/syscalls.h index 65793e90d6f6..207466a49f3d 100644 --- a/include/linux/syscalls.h +++ b/include/linux/syscalls.h | |||
@@ -195,7 +195,7 @@ struct perf_event_attr; | |||
195 | static const struct syscall_metadata __used \ | 195 | static const struct syscall_metadata __used \ |
196 | __attribute__((__aligned__(4))) \ | 196 | __attribute__((__aligned__(4))) \ |
197 | __attribute__((section("__syscalls_metadata"))) \ | 197 | __attribute__((section("__syscalls_metadata"))) \ |
198 | __syscall_meta_##sname = { \ | 198 | __syscall_meta__##sname = { \ |
199 | .name = "sys_"#sname, \ | 199 | .name = "sys_"#sname, \ |
200 | .nb_args = 0, \ | 200 | .nb_args = 0, \ |
201 | .enter_event = &event_enter__##sname, \ | 201 | .enter_event = &event_enter__##sname, \ |
diff --git a/include/linux/sysctl.h b/include/linux/sysctl.h index 877ba039e6a4..bd27fbc9db62 100644 --- a/include/linux/sysctl.h +++ b/include/linux/sysctl.h | |||
@@ -482,6 +482,7 @@ enum | |||
482 | NET_IPV4_CONF_ARP_ACCEPT=21, | 482 | NET_IPV4_CONF_ARP_ACCEPT=21, |
483 | NET_IPV4_CONF_ARP_NOTIFY=22, | 483 | NET_IPV4_CONF_ARP_NOTIFY=22, |
484 | NET_IPV4_CONF_ACCEPT_LOCAL=23, | 484 | NET_IPV4_CONF_ACCEPT_LOCAL=23, |
485 | NET_IPV4_CONF_SRC_VMARK=24, | ||
485 | __NET_IPV4_CONF_MAX | 486 | __NET_IPV4_CONF_MAX |
486 | }; | 487 | }; |
487 | 488 | ||
diff --git a/include/linux/writeback.h b/include/linux/writeback.h index c18c008f4bbf..76e8903cd204 100644 --- a/include/linux/writeback.h +++ b/include/linux/writeback.h | |||
@@ -70,6 +70,7 @@ struct writeback_control { | |||
70 | struct bdi_writeback; | 70 | struct bdi_writeback; |
71 | int inode_wait(void *); | 71 | int inode_wait(void *); |
72 | void writeback_inodes_sb(struct super_block *); | 72 | void writeback_inodes_sb(struct super_block *); |
73 | int writeback_inodes_sb_if_idle(struct super_block *); | ||
73 | void sync_inodes_sb(struct super_block *); | 74 | void sync_inodes_sb(struct super_block *); |
74 | void writeback_inodes_wbc(struct writeback_control *wbc); | 75 | void writeback_inodes_wbc(struct writeback_control *wbc); |
75 | long wb_do_writeback(struct bdi_writeback *wb, int force_wait); | 76 | long wb_do_writeback(struct bdi_writeback *wb, int force_wait); |
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index 2aff4906b2ae..0bf369752274 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h | |||
@@ -547,7 +547,6 @@ enum mac80211_rx_flags { | |||
547 | * unspecified depending on the hardware capabilities flags | 547 | * unspecified depending on the hardware capabilities flags |
548 | * @IEEE80211_HW_SIGNAL_* | 548 | * @IEEE80211_HW_SIGNAL_* |
549 | * @noise: noise when receiving this frame, in dBm. | 549 | * @noise: noise when receiving this frame, in dBm. |
550 | * @qual: overall signal quality indication, in percent (0-100). | ||
551 | * @antenna: antenna used | 550 | * @antenna: antenna used |
552 | * @rate_idx: index of data rate into band's supported rates or MCS index if | 551 | * @rate_idx: index of data rate into band's supported rates or MCS index if |
553 | * HT rates are use (RX_FLAG_HT) | 552 | * HT rates are use (RX_FLAG_HT) |
@@ -559,7 +558,6 @@ struct ieee80211_rx_status { | |||
559 | int freq; | 558 | int freq; |
560 | int signal; | 559 | int signal; |
561 | int noise; | 560 | int noise; |
562 | int __deprecated qual; | ||
563 | int antenna; | 561 | int antenna; |
564 | int rate_idx; | 562 | int rate_idx; |
565 | int flag; | 563 | int flag; |
@@ -1737,6 +1735,12 @@ static inline void ieee80211_rx_ni(struct ieee80211_hw *hw, | |||
1737 | local_bh_enable(); | 1735 | local_bh_enable(); |
1738 | } | 1736 | } |
1739 | 1737 | ||
1738 | /* | ||
1739 | * The TX headroom reserved by mac80211 for its own tx_status functions. | ||
1740 | * This is enough for the radiotap header. | ||
1741 | */ | ||
1742 | #define IEEE80211_TX_STATUS_HEADROOM 13 | ||
1743 | |||
1740 | /** | 1744 | /** |
1741 | * ieee80211_tx_status - transmit status callback | 1745 | * ieee80211_tx_status - transmit status callback |
1742 | * | 1746 | * |
diff --git a/include/scsi/libsrp.h b/include/scsi/libsrp.h index 07e3adde21d9..f4105c91af53 100644 --- a/include/scsi/libsrp.h +++ b/include/scsi/libsrp.h | |||
@@ -2,6 +2,7 @@ | |||
2 | #define __LIBSRP_H__ | 2 | #define __LIBSRP_H__ |
3 | 3 | ||
4 | #include <linux/list.h> | 4 | #include <linux/list.h> |
5 | #include <linux/kfifo.h> | ||
5 | #include <scsi/scsi_cmnd.h> | 6 | #include <scsi/scsi_cmnd.h> |
6 | #include <scsi/scsi_host.h> | 7 | #include <scsi/scsi_host.h> |
7 | #include <scsi/srp.h> | 8 | #include <scsi/srp.h> |
diff --git a/include/trace/ftrace.h b/include/trace/ftrace.h index 73523151a731..c6fe03e902ca 100644 --- a/include/trace/ftrace.h +++ b/include/trace/ftrace.h | |||
@@ -414,7 +414,8 @@ ftrace_raw_output_##call(struct trace_iterator *iter, int flags) \ | |||
414 | BUILD_BUG_ON(len > MAX_FILTER_STR_VAL); \ | 414 | BUILD_BUG_ON(len > MAX_FILTER_STR_VAL); \ |
415 | ret = trace_define_field(event_call, #type "[" #len "]", #item, \ | 415 | ret = trace_define_field(event_call, #type "[" #len "]", #item, \ |
416 | offsetof(typeof(field), item), \ | 416 | offsetof(typeof(field), item), \ |
417 | sizeof(field.item), 0, FILTER_OTHER); \ | 417 | sizeof(field.item), \ |
418 | is_signed_type(type), FILTER_OTHER); \ | ||
418 | if (ret) \ | 419 | if (ret) \ |
419 | return ret; | 420 | return ret; |
420 | 421 | ||
@@ -422,8 +423,8 @@ ftrace_raw_output_##call(struct trace_iterator *iter, int flags) \ | |||
422 | #define __dynamic_array(type, item, len) \ | 423 | #define __dynamic_array(type, item, len) \ |
423 | ret = trace_define_field(event_call, "__data_loc " #type "[]", #item, \ | 424 | ret = trace_define_field(event_call, "__data_loc " #type "[]", #item, \ |
424 | offsetof(typeof(field), __data_loc_##item), \ | 425 | offsetof(typeof(field), __data_loc_##item), \ |
425 | sizeof(field.__data_loc_##item), 0, \ | 426 | sizeof(field.__data_loc_##item), \ |
426 | FILTER_OTHER); | 427 | is_signed_type(type), FILTER_OTHER); |
427 | 428 | ||
428 | #undef __string | 429 | #undef __string |
429 | #define __string(item, src) __dynamic_array(char, item, -1) | 430 | #define __string(item, src) __dynamic_array(char, item, -1) |
diff --git a/kernel/hw_breakpoint.c b/kernel/hw_breakpoint.c index dbcbf6a33a08..50dbd5999588 100644 --- a/kernel/hw_breakpoint.c +++ b/kernel/hw_breakpoint.c | |||
@@ -40,6 +40,7 @@ | |||
40 | #include <linux/percpu.h> | 40 | #include <linux/percpu.h> |
41 | #include <linux/sched.h> | 41 | #include <linux/sched.h> |
42 | #include <linux/init.h> | 42 | #include <linux/init.h> |
43 | #include <linux/cpu.h> | ||
43 | #include <linux/smp.h> | 44 | #include <linux/smp.h> |
44 | 45 | ||
45 | #include <linux/hw_breakpoint.h> | 46 | #include <linux/hw_breakpoint.h> |
@@ -388,7 +389,8 @@ register_wide_hw_breakpoint(struct perf_event_attr *attr, | |||
388 | if (!cpu_events) | 389 | if (!cpu_events) |
389 | return ERR_PTR(-ENOMEM); | 390 | return ERR_PTR(-ENOMEM); |
390 | 391 | ||
391 | for_each_possible_cpu(cpu) { | 392 | get_online_cpus(); |
393 | for_each_online_cpu(cpu) { | ||
392 | pevent = per_cpu_ptr(cpu_events, cpu); | 394 | pevent = per_cpu_ptr(cpu_events, cpu); |
393 | bp = perf_event_create_kernel_counter(attr, cpu, -1, triggered); | 395 | bp = perf_event_create_kernel_counter(attr, cpu, -1, triggered); |
394 | 396 | ||
@@ -399,18 +401,20 @@ register_wide_hw_breakpoint(struct perf_event_attr *attr, | |||
399 | goto fail; | 401 | goto fail; |
400 | } | 402 | } |
401 | } | 403 | } |
404 | put_online_cpus(); | ||
402 | 405 | ||
403 | return cpu_events; | 406 | return cpu_events; |
404 | 407 | ||
405 | fail: | 408 | fail: |
406 | for_each_possible_cpu(cpu) { | 409 | for_each_online_cpu(cpu) { |
407 | pevent = per_cpu_ptr(cpu_events, cpu); | 410 | pevent = per_cpu_ptr(cpu_events, cpu); |
408 | if (IS_ERR(*pevent)) | 411 | if (IS_ERR(*pevent)) |
409 | break; | 412 | break; |
410 | unregister_hw_breakpoint(*pevent); | 413 | unregister_hw_breakpoint(*pevent); |
411 | } | 414 | } |
415 | put_online_cpus(); | ||
416 | |||
412 | free_percpu(cpu_events); | 417 | free_percpu(cpu_events); |
413 | /* return the error if any */ | ||
414 | return ERR_PTR(err); | 418 | return ERR_PTR(err); |
415 | } | 419 | } |
416 | EXPORT_SYMBOL_GPL(register_wide_hw_breakpoint); | 420 | EXPORT_SYMBOL_GPL(register_wide_hw_breakpoint); |
diff --git a/kernel/kprobes.c b/kernel/kprobes.c index e5342a344c43..b7df302a0204 100644 --- a/kernel/kprobes.c +++ b/kernel/kprobes.c | |||
@@ -1035,7 +1035,7 @@ int __kprobes register_kretprobe(struct kretprobe *rp) | |||
1035 | /* Pre-allocate memory for max kretprobe instances */ | 1035 | /* Pre-allocate memory for max kretprobe instances */ |
1036 | if (rp->maxactive <= 0) { | 1036 | if (rp->maxactive <= 0) { |
1037 | #ifdef CONFIG_PREEMPT | 1037 | #ifdef CONFIG_PREEMPT |
1038 | rp->maxactive = max(10, 2 * num_possible_cpus()); | 1038 | rp->maxactive = max_t(unsigned int, 10, 2*num_possible_cpus()); |
1039 | #else | 1039 | #else |
1040 | rp->maxactive = num_possible_cpus(); | 1040 | rp->maxactive = num_possible_cpus(); |
1041 | #endif | 1041 | #endif |
diff --git a/kernel/module.c b/kernel/module.c index e96b8ed1cb6a..f82386bd9ee9 100644 --- a/kernel/module.c +++ b/kernel/module.c | |||
@@ -1010,6 +1010,12 @@ static const struct kernel_symbol *resolve_symbol(Elf_Shdr *sechdrs, | |||
1010 | * J. Corbet <corbet@lwn.net> | 1010 | * J. Corbet <corbet@lwn.net> |
1011 | */ | 1011 | */ |
1012 | #if defined(CONFIG_KALLSYMS) && defined(CONFIG_SYSFS) | 1012 | #if defined(CONFIG_KALLSYMS) && defined(CONFIG_SYSFS) |
1013 | |||
1014 | static inline bool sect_empty(const Elf_Shdr *sect) | ||
1015 | { | ||
1016 | return !(sect->sh_flags & SHF_ALLOC) || sect->sh_size == 0; | ||
1017 | } | ||
1018 | |||
1013 | struct module_sect_attr | 1019 | struct module_sect_attr |
1014 | { | 1020 | { |
1015 | struct module_attribute mattr; | 1021 | struct module_attribute mattr; |
@@ -1051,8 +1057,7 @@ static void add_sect_attrs(struct module *mod, unsigned int nsect, | |||
1051 | 1057 | ||
1052 | /* Count loaded sections and allocate structures */ | 1058 | /* Count loaded sections and allocate structures */ |
1053 | for (i = 0; i < nsect; i++) | 1059 | for (i = 0; i < nsect; i++) |
1054 | if (sechdrs[i].sh_flags & SHF_ALLOC | 1060 | if (!sect_empty(&sechdrs[i])) |
1055 | && sechdrs[i].sh_size) | ||
1056 | nloaded++; | 1061 | nloaded++; |
1057 | size[0] = ALIGN(sizeof(*sect_attrs) | 1062 | size[0] = ALIGN(sizeof(*sect_attrs) |
1058 | + nloaded * sizeof(sect_attrs->attrs[0]), | 1063 | + nloaded * sizeof(sect_attrs->attrs[0]), |
@@ -1070,9 +1075,7 @@ static void add_sect_attrs(struct module *mod, unsigned int nsect, | |||
1070 | sattr = §_attrs->attrs[0]; | 1075 | sattr = §_attrs->attrs[0]; |
1071 | gattr = §_attrs->grp.attrs[0]; | 1076 | gattr = §_attrs->grp.attrs[0]; |
1072 | for (i = 0; i < nsect; i++) { | 1077 | for (i = 0; i < nsect; i++) { |
1073 | if (! (sechdrs[i].sh_flags & SHF_ALLOC)) | 1078 | if (sect_empty(&sechdrs[i])) |
1074 | continue; | ||
1075 | if (!sechdrs[i].sh_size) | ||
1076 | continue; | 1079 | continue; |
1077 | sattr->address = sechdrs[i].sh_addr; | 1080 | sattr->address = sechdrs[i].sh_addr; |
1078 | sattr->name = kstrdup(secstrings + sechdrs[i].sh_name, | 1081 | sattr->name = kstrdup(secstrings + sechdrs[i].sh_name, |
@@ -1156,7 +1159,7 @@ static void add_notes_attrs(struct module *mod, unsigned int nsect, | |||
1156 | /* Count notes sections and allocate structures. */ | 1159 | /* Count notes sections and allocate structures. */ |
1157 | notes = 0; | 1160 | notes = 0; |
1158 | for (i = 0; i < nsect; i++) | 1161 | for (i = 0; i < nsect; i++) |
1159 | if ((sechdrs[i].sh_flags & SHF_ALLOC) && | 1162 | if (!sect_empty(&sechdrs[i]) && |
1160 | (sechdrs[i].sh_type == SHT_NOTE)) | 1163 | (sechdrs[i].sh_type == SHT_NOTE)) |
1161 | ++notes; | 1164 | ++notes; |
1162 | 1165 | ||
@@ -1172,7 +1175,7 @@ static void add_notes_attrs(struct module *mod, unsigned int nsect, | |||
1172 | notes_attrs->notes = notes; | 1175 | notes_attrs->notes = notes; |
1173 | nattr = ¬es_attrs->attrs[0]; | 1176 | nattr = ¬es_attrs->attrs[0]; |
1174 | for (loaded = i = 0; i < nsect; ++i) { | 1177 | for (loaded = i = 0; i < nsect; ++i) { |
1175 | if (!(sechdrs[i].sh_flags & SHF_ALLOC)) | 1178 | if (sect_empty(&sechdrs[i])) |
1176 | continue; | 1179 | continue; |
1177 | if (sechdrs[i].sh_type == SHT_NOTE) { | 1180 | if (sechdrs[i].sh_type == SHT_NOTE) { |
1178 | nattr->attr.name = mod->sect_attrs->attrs[loaded].name; | 1181 | nattr->attr.name = mod->sect_attrs->attrs[loaded].name; |
diff --git a/kernel/perf_event.c b/kernel/perf_event.c index 1f38270f08c7..603c0d8b5df1 100644 --- a/kernel/perf_event.c +++ b/kernel/perf_event.c | |||
@@ -5148,7 +5148,7 @@ int perf_event_init_task(struct task_struct *child) | |||
5148 | GFP_KERNEL); | 5148 | GFP_KERNEL); |
5149 | if (!child_ctx) { | 5149 | if (!child_ctx) { |
5150 | ret = -ENOMEM; | 5150 | ret = -ENOMEM; |
5151 | goto exit; | 5151 | break; |
5152 | } | 5152 | } |
5153 | 5153 | ||
5154 | __perf_event_init_context(child_ctx, child); | 5154 | __perf_event_init_context(child_ctx, child); |
@@ -5164,7 +5164,7 @@ int perf_event_init_task(struct task_struct *child) | |||
5164 | } | 5164 | } |
5165 | } | 5165 | } |
5166 | 5166 | ||
5167 | if (inherited_all) { | 5167 | if (child_ctx && inherited_all) { |
5168 | /* | 5168 | /* |
5169 | * Mark the child context as a clone of the parent | 5169 | * Mark the child context as a clone of the parent |
5170 | * context, or of whatever the parent is a clone of. | 5170 | * context, or of whatever the parent is a clone of. |
@@ -5184,7 +5184,6 @@ int perf_event_init_task(struct task_struct *child) | |||
5184 | get_ctx(child_ctx->parent_ctx); | 5184 | get_ctx(child_ctx->parent_ctx); |
5185 | } | 5185 | } |
5186 | 5186 | ||
5187 | exit: | ||
5188 | mutex_unlock(&parent_ctx->mutex); | 5187 | mutex_unlock(&parent_ctx->mutex); |
5189 | 5188 | ||
5190 | perf_unpin_context(parent_ctx); | 5189 | perf_unpin_context(parent_ctx); |
diff --git a/kernel/trace/Kconfig b/kernel/trace/Kconfig index d006554888dc..6c22d8a2f289 100644 --- a/kernel/trace/Kconfig +++ b/kernel/trace/Kconfig | |||
@@ -12,17 +12,17 @@ config NOP_TRACER | |||
12 | config HAVE_FTRACE_NMI_ENTER | 12 | config HAVE_FTRACE_NMI_ENTER |
13 | bool | 13 | bool |
14 | help | 14 | help |
15 | See Documentation/trace/ftrace-implementation.txt | 15 | See Documentation/trace/ftrace-design.txt |
16 | 16 | ||
17 | config HAVE_FUNCTION_TRACER | 17 | config HAVE_FUNCTION_TRACER |
18 | bool | 18 | bool |
19 | help | 19 | help |
20 | See Documentation/trace/ftrace-implementation.txt | 20 | See Documentation/trace/ftrace-design.txt |
21 | 21 | ||
22 | config HAVE_FUNCTION_GRAPH_TRACER | 22 | config HAVE_FUNCTION_GRAPH_TRACER |
23 | bool | 23 | bool |
24 | help | 24 | help |
25 | See Documentation/trace/ftrace-implementation.txt | 25 | See Documentation/trace/ftrace-design.txt |
26 | 26 | ||
27 | config HAVE_FUNCTION_GRAPH_FP_TEST | 27 | config HAVE_FUNCTION_GRAPH_FP_TEST |
28 | bool | 28 | bool |
@@ -34,17 +34,17 @@ config HAVE_FUNCTION_GRAPH_FP_TEST | |||
34 | config HAVE_FUNCTION_TRACE_MCOUNT_TEST | 34 | config HAVE_FUNCTION_TRACE_MCOUNT_TEST |
35 | bool | 35 | bool |
36 | help | 36 | help |
37 | See Documentation/trace/ftrace-implementation.txt | 37 | See Documentation/trace/ftrace-design.txt |
38 | 38 | ||
39 | config HAVE_DYNAMIC_FTRACE | 39 | config HAVE_DYNAMIC_FTRACE |
40 | bool | 40 | bool |
41 | help | 41 | help |
42 | See Documentation/trace/ftrace-implementation.txt | 42 | See Documentation/trace/ftrace-design.txt |
43 | 43 | ||
44 | config HAVE_FTRACE_MCOUNT_RECORD | 44 | config HAVE_FTRACE_MCOUNT_RECORD |
45 | bool | 45 | bool |
46 | help | 46 | help |
47 | See Documentation/trace/ftrace-implementation.txt | 47 | See Documentation/trace/ftrace-design.txt |
48 | 48 | ||
49 | config HAVE_HW_BRANCH_TRACER | 49 | config HAVE_HW_BRANCH_TRACER |
50 | bool | 50 | bool |
@@ -52,7 +52,7 @@ config HAVE_HW_BRANCH_TRACER | |||
52 | config HAVE_SYSCALL_TRACEPOINTS | 52 | config HAVE_SYSCALL_TRACEPOINTS |
53 | bool | 53 | bool |
54 | help | 54 | help |
55 | See Documentation/trace/ftrace-implementation.txt | 55 | See Documentation/trace/ftrace-design.txt |
56 | 56 | ||
57 | config TRACER_MAX_TRACE | 57 | config TRACER_MAX_TRACE |
58 | bool | 58 | bool |
@@ -83,7 +83,7 @@ config RING_BUFFER_ALLOW_SWAP | |||
83 | # This allows those options to appear when no other tracer is selected. But the | 83 | # This allows those options to appear when no other tracer is selected. But the |
84 | # options do not appear when something else selects it. We need the two options | 84 | # options do not appear when something else selects it. We need the two options |
85 | # GENERIC_TRACER and TRACING to avoid circular dependencies to accomplish the | 85 | # GENERIC_TRACER and TRACING to avoid circular dependencies to accomplish the |
86 | # hidding of the automatic options. | 86 | # hiding of the automatic options. |
87 | 87 | ||
88 | config TRACING | 88 | config TRACING |
89 | bool | 89 | bool |
@@ -119,7 +119,7 @@ menuconfig FTRACE | |||
119 | bool "Tracers" | 119 | bool "Tracers" |
120 | default y if DEBUG_KERNEL | 120 | default y if DEBUG_KERNEL |
121 | help | 121 | help |
122 | Enable the kernel tracing infrastructure. | 122 | Enable the kernel tracing infrastructure. |
123 | 123 | ||
124 | if FTRACE | 124 | if FTRACE |
125 | 125 | ||
@@ -133,7 +133,7 @@ config FUNCTION_TRACER | |||
133 | help | 133 | help |
134 | Enable the kernel to trace every kernel function. This is done | 134 | Enable the kernel to trace every kernel function. This is done |
135 | by using a compiler feature to insert a small, 5-byte No-Operation | 135 | by using a compiler feature to insert a small, 5-byte No-Operation |
136 | instruction to the beginning of every kernel function, which NOP | 136 | instruction at the beginning of every kernel function, which NOP |
137 | sequence is then dynamically patched into a tracer call when | 137 | sequence is then dynamically patched into a tracer call when |
138 | tracing is enabled by the administrator. If it's runtime disabled | 138 | tracing is enabled by the administrator. If it's runtime disabled |
139 | (the bootup default), then the overhead of the instructions is very | 139 | (the bootup default), then the overhead of the instructions is very |
@@ -150,7 +150,7 @@ config FUNCTION_GRAPH_TRACER | |||
150 | and its entry. | 150 | and its entry. |
151 | Its first purpose is to trace the duration of functions and | 151 | Its first purpose is to trace the duration of functions and |
152 | draw a call graph for each thread with some information like | 152 | draw a call graph for each thread with some information like |
153 | the return value. This is done by setting the current return | 153 | the return value. This is done by setting the current return |
154 | address on the current task structure into a stack of calls. | 154 | address on the current task structure into a stack of calls. |
155 | 155 | ||
156 | 156 | ||
@@ -173,7 +173,7 @@ config IRQSOFF_TRACER | |||
173 | 173 | ||
174 | echo 0 > /sys/kernel/debug/tracing/tracing_max_latency | 174 | echo 0 > /sys/kernel/debug/tracing/tracing_max_latency |
175 | 175 | ||
176 | (Note that kernel size and overhead increases with this option | 176 | (Note that kernel size and overhead increase with this option |
177 | enabled. This option and the preempt-off timing option can be | 177 | enabled. This option and the preempt-off timing option can be |
178 | used together or separately.) | 178 | used together or separately.) |
179 | 179 | ||
@@ -186,7 +186,7 @@ config PREEMPT_TRACER | |||
186 | select TRACER_MAX_TRACE | 186 | select TRACER_MAX_TRACE |
187 | select RING_BUFFER_ALLOW_SWAP | 187 | select RING_BUFFER_ALLOW_SWAP |
188 | help | 188 | help |
189 | This option measures the time spent in preemption off critical | 189 | This option measures the time spent in preemption-off critical |
190 | sections, with microsecond accuracy. | 190 | sections, with microsecond accuracy. |
191 | 191 | ||
192 | The default measurement method is a maximum search, which is | 192 | The default measurement method is a maximum search, which is |
@@ -195,7 +195,7 @@ config PREEMPT_TRACER | |||
195 | 195 | ||
196 | echo 0 > /sys/kernel/debug/tracing/tracing_max_latency | 196 | echo 0 > /sys/kernel/debug/tracing/tracing_max_latency |
197 | 197 | ||
198 | (Note that kernel size and overhead increases with this option | 198 | (Note that kernel size and overhead increase with this option |
199 | enabled. This option and the irqs-off timing option can be | 199 | enabled. This option and the irqs-off timing option can be |
200 | used together or separately.) | 200 | used together or separately.) |
201 | 201 | ||
@@ -222,7 +222,7 @@ config ENABLE_DEFAULT_TRACERS | |||
222 | depends on !GENERIC_TRACER | 222 | depends on !GENERIC_TRACER |
223 | select TRACING | 223 | select TRACING |
224 | help | 224 | help |
225 | This tracer hooks to various trace points in the kernel | 225 | This tracer hooks to various trace points in the kernel, |
226 | allowing the user to pick and choose which trace point they | 226 | allowing the user to pick and choose which trace point they |
227 | want to trace. It also includes the sched_switch tracer plugin. | 227 | want to trace. It also includes the sched_switch tracer plugin. |
228 | 228 | ||
@@ -265,19 +265,19 @@ choice | |||
265 | The likely/unlikely profiler only looks at the conditions that | 265 | The likely/unlikely profiler only looks at the conditions that |
266 | are annotated with a likely or unlikely macro. | 266 | are annotated with a likely or unlikely macro. |
267 | 267 | ||
268 | The "all branch" profiler will profile every if statement in the | 268 | The "all branch" profiler will profile every if-statement in the |
269 | kernel. This profiler will also enable the likely/unlikely | 269 | kernel. This profiler will also enable the likely/unlikely |
270 | profiler as well. | 270 | profiler. |
271 | 271 | ||
272 | Either of the above profilers add a bit of overhead to the system. | 272 | Either of the above profilers adds a bit of overhead to the system. |
273 | If unsure choose "No branch profiling". | 273 | If unsure, choose "No branch profiling". |
274 | 274 | ||
275 | config BRANCH_PROFILE_NONE | 275 | config BRANCH_PROFILE_NONE |
276 | bool "No branch profiling" | 276 | bool "No branch profiling" |
277 | help | 277 | help |
278 | No branch profiling. Branch profiling adds a bit of overhead. | 278 | No branch profiling. Branch profiling adds a bit of overhead. |
279 | Only enable it if you want to analyse the branching behavior. | 279 | Only enable it if you want to analyse the branching behavior. |
280 | Otherwise keep it disabled. | 280 | Otherwise keep it disabled. |
281 | 281 | ||
282 | config PROFILE_ANNOTATED_BRANCHES | 282 | config PROFILE_ANNOTATED_BRANCHES |
283 | bool "Trace likely/unlikely profiler" | 283 | bool "Trace likely/unlikely profiler" |
@@ -288,7 +288,7 @@ config PROFILE_ANNOTATED_BRANCHES | |||
288 | 288 | ||
289 | /sys/kernel/debug/tracing/profile_annotated_branch | 289 | /sys/kernel/debug/tracing/profile_annotated_branch |
290 | 290 | ||
291 | Note: this will add a significant overhead, only turn this | 291 | Note: this will add a significant overhead; only turn this |
292 | on if you need to profile the system's use of these macros. | 292 | on if you need to profile the system's use of these macros. |
293 | 293 | ||
294 | config PROFILE_ALL_BRANCHES | 294 | config PROFILE_ALL_BRANCHES |
@@ -305,7 +305,7 @@ config PROFILE_ALL_BRANCHES | |||
305 | 305 | ||
306 | This configuration, when enabled, will impose a great overhead | 306 | This configuration, when enabled, will impose a great overhead |
307 | on the system. This should only be enabled when the system | 307 | on the system. This should only be enabled when the system |
308 | is to be analyzed | 308 | is to be analyzed in much detail. |
309 | endchoice | 309 | endchoice |
310 | 310 | ||
311 | config TRACING_BRANCHES | 311 | config TRACING_BRANCHES |
@@ -335,7 +335,7 @@ config POWER_TRACER | |||
335 | depends on X86 | 335 | depends on X86 |
336 | select GENERIC_TRACER | 336 | select GENERIC_TRACER |
337 | help | 337 | help |
338 | This tracer helps developers to analyze and optimize the kernels | 338 | This tracer helps developers to analyze and optimize the kernel's |
339 | power management decisions, specifically the C-state and P-state | 339 | power management decisions, specifically the C-state and P-state |
340 | behavior. | 340 | behavior. |
341 | 341 | ||
@@ -391,14 +391,14 @@ config HW_BRANCH_TRACER | |||
391 | select GENERIC_TRACER | 391 | select GENERIC_TRACER |
392 | help | 392 | help |
393 | This tracer records all branches on the system in a circular | 393 | This tracer records all branches on the system in a circular |
394 | buffer giving access to the last N branches for each cpu. | 394 | buffer, giving access to the last N branches for each cpu. |
395 | 395 | ||
396 | config KMEMTRACE | 396 | config KMEMTRACE |
397 | bool "Trace SLAB allocations" | 397 | bool "Trace SLAB allocations" |
398 | select GENERIC_TRACER | 398 | select GENERIC_TRACER |
399 | help | 399 | help |
400 | kmemtrace provides tracing for slab allocator functions, such as | 400 | kmemtrace provides tracing for slab allocator functions, such as |
401 | kmalloc, kfree, kmem_cache_alloc, kmem_cache_free etc.. Collected | 401 | kmalloc, kfree, kmem_cache_alloc, kmem_cache_free, etc. Collected |
402 | data is then fed to the userspace application in order to analyse | 402 | data is then fed to the userspace application in order to analyse |
403 | allocation hotspots, internal fragmentation and so on, making it | 403 | allocation hotspots, internal fragmentation and so on, making it |
404 | possible to see how well an allocator performs, as well as debug | 404 | possible to see how well an allocator performs, as well as debug |
@@ -417,15 +417,15 @@ config WORKQUEUE_TRACER | |||
417 | bool "Trace workqueues" | 417 | bool "Trace workqueues" |
418 | select GENERIC_TRACER | 418 | select GENERIC_TRACER |
419 | help | 419 | help |
420 | The workqueue tracer provides some statistical informations | 420 | The workqueue tracer provides some statistical information |
421 | about each cpu workqueue thread such as the number of the | 421 | about each cpu workqueue thread such as the number of the |
422 | works inserted and executed since their creation. It can help | 422 | works inserted and executed since their creation. It can help |
423 | to evaluate the amount of work each of them have to perform. | 423 | to evaluate the amount of work each of them has to perform. |
424 | For example it can help a developer to decide whether he should | 424 | For example it can help a developer to decide whether he should |
425 | choose a per cpu workqueue instead of a singlethreaded one. | 425 | choose a per-cpu workqueue instead of a singlethreaded one. |
426 | 426 | ||
427 | config BLK_DEV_IO_TRACE | 427 | config BLK_DEV_IO_TRACE |
428 | bool "Support for tracing block io actions" | 428 | bool "Support for tracing block IO actions" |
429 | depends on SYSFS | 429 | depends on SYSFS |
430 | depends on BLOCK | 430 | depends on BLOCK |
431 | select RELAY | 431 | select RELAY |
@@ -456,15 +456,15 @@ config KPROBE_EVENT | |||
456 | select TRACING | 456 | select TRACING |
457 | default y | 457 | default y |
458 | help | 458 | help |
459 | This allows the user to add tracing events (similar to tracepoints) on the fly | 459 | This allows the user to add tracing events (similar to tracepoints) |
460 | via the ftrace interface. See Documentation/trace/kprobetrace.txt | 460 | on the fly via the ftrace interface. See |
461 | for more details. | 461 | Documentation/trace/kprobetrace.txt for more details. |
462 | 462 | ||
463 | Those events can be inserted wherever kprobes can probe, and record | 463 | Those events can be inserted wherever kprobes can probe, and record |
464 | various register and memory values. | 464 | various register and memory values. |
465 | 465 | ||
466 | This option is also required by perf-probe subcommand of perf tools. If | 466 | This option is also required by perf-probe subcommand of perf tools. |
467 | you want to use perf tools, this option is strongly recommended. | 467 | If you want to use perf tools, this option is strongly recommended. |
468 | 468 | ||
469 | config DYNAMIC_FTRACE | 469 | config DYNAMIC_FTRACE |
470 | bool "enable/disable ftrace tracepoints dynamically" | 470 | bool "enable/disable ftrace tracepoints dynamically" |
@@ -472,32 +472,32 @@ config DYNAMIC_FTRACE | |||
472 | depends on HAVE_DYNAMIC_FTRACE | 472 | depends on HAVE_DYNAMIC_FTRACE |
473 | default y | 473 | default y |
474 | help | 474 | help |
475 | This option will modify all the calls to ftrace dynamically | 475 | This option will modify all the calls to ftrace dynamically |
476 | (will patch them out of the binary image and replaces them | 476 | (will patch them out of the binary image and replace them |
477 | with a No-Op instruction) as they are called. A table is | 477 | with a No-Op instruction) as they are called. A table is |
478 | created to dynamically enable them again. | 478 | created to dynamically enable them again. |
479 | 479 | ||
480 | This way a CONFIG_FUNCTION_TRACER kernel is slightly larger, but otherwise | 480 | This way a CONFIG_FUNCTION_TRACER kernel is slightly larger, but |
481 | has native performance as long as no tracing is active. | 481 | otherwise has native performance as long as no tracing is active. |
482 | 482 | ||
483 | The changes to the code are done by a kernel thread that | 483 | The changes to the code are done by a kernel thread that |
484 | wakes up once a second and checks to see if any ftrace calls | 484 | wakes up once a second and checks to see if any ftrace calls |
485 | were made. If so, it runs stop_machine (stops all CPUS) | 485 | were made. If so, it runs stop_machine (stops all CPUS) |
486 | and modifies the code to jump over the call to ftrace. | 486 | and modifies the code to jump over the call to ftrace. |
487 | 487 | ||
488 | config FUNCTION_PROFILER | 488 | config FUNCTION_PROFILER |
489 | bool "Kernel function profiler" | 489 | bool "Kernel function profiler" |
490 | depends on FUNCTION_TRACER | 490 | depends on FUNCTION_TRACER |
491 | default n | 491 | default n |
492 | help | 492 | help |
493 | This option enables the kernel function profiler. A file is created | 493 | This option enables the kernel function profiler. A file is created |
494 | in debugfs called function_profile_enabled which defaults to zero. | 494 | in debugfs called function_profile_enabled which defaults to zero. |
495 | When a 1 is echoed into this file profiling begins, and when a | 495 | When a 1 is echoed into this file profiling begins, and when a |
496 | zero is entered, profiling stops. A file in the trace_stats | 496 | zero is entered, profiling stops. A "functions" file is created in |
497 | directory called functions, that show the list of functions that | 497 | the trace_stats directory; this file shows the list of functions that |
498 | have been hit and their counters. | 498 | have been hit and their counters. |
499 | 499 | ||
500 | If in doubt, say N | 500 | If in doubt, say N. |
501 | 501 | ||
502 | config FTRACE_MCOUNT_RECORD | 502 | config FTRACE_MCOUNT_RECORD |
503 | def_bool y | 503 | def_bool y |
@@ -556,8 +556,8 @@ config RING_BUFFER_BENCHMARK | |||
556 | tristate "Ring buffer benchmark stress tester" | 556 | tristate "Ring buffer benchmark stress tester" |
557 | depends on RING_BUFFER | 557 | depends on RING_BUFFER |
558 | help | 558 | help |
559 | This option creates a test to stress the ring buffer and bench mark it. | 559 | This option creates a test to stress the ring buffer and benchmark it. |
560 | It creates its own ring buffer such that it will not interfer with | 560 | It creates its own ring buffer such that it will not interfere with |
561 | any other users of the ring buffer (such as ftrace). It then creates | 561 | any other users of the ring buffer (such as ftrace). It then creates |
562 | a producer and consumer that will run for 10 seconds and sleep for | 562 | a producer and consumer that will run for 10 seconds and sleep for |
563 | 10 seconds. Each interval it will print out the number of events | 563 | 10 seconds. Each interval it will print out the number of events |
@@ -566,7 +566,7 @@ config RING_BUFFER_BENCHMARK | |||
566 | It does not disable interrupts or raise its priority, so it may be | 566 | It does not disable interrupts or raise its priority, so it may be |
567 | affected by processes that are running. | 567 | affected by processes that are running. |
568 | 568 | ||
569 | If unsure, say N | 569 | If unsure, say N. |
570 | 570 | ||
571 | endif # FTRACE | 571 | endif # FTRACE |
572 | 572 | ||
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index 8b9f20ab8eed..0df1b0f2cb9e 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c | |||
@@ -3949,7 +3949,7 @@ trace_options_write(struct file *filp, const char __user *ubuf, size_t cnt, | |||
3949 | if (!!(topt->flags->val & topt->opt->bit) != val) { | 3949 | if (!!(topt->flags->val & topt->opt->bit) != val) { |
3950 | mutex_lock(&trace_types_lock); | 3950 | mutex_lock(&trace_types_lock); |
3951 | ret = __set_tracer_option(current_trace, topt->flags, | 3951 | ret = __set_tracer_option(current_trace, topt->flags, |
3952 | topt->opt, val); | 3952 | topt->opt, !val); |
3953 | mutex_unlock(&trace_types_lock); | 3953 | mutex_unlock(&trace_types_lock); |
3954 | if (ret) | 3954 | if (ret) |
3955 | return ret; | 3955 | return ret; |
diff --git a/kernel/trace/trace_export.c b/kernel/trace/trace_export.c index 458e5bfe26d0..d4fa5dc1ee4e 100644 --- a/kernel/trace/trace_export.c +++ b/kernel/trace/trace_export.c | |||
@@ -158,7 +158,8 @@ ftrace_format_##name(struct ftrace_event_call *unused, \ | |||
158 | BUILD_BUG_ON(len > MAX_FILTER_STR_VAL); \ | 158 | BUILD_BUG_ON(len > MAX_FILTER_STR_VAL); \ |
159 | ret = trace_define_field(event_call, #type "[" #len "]", #item, \ | 159 | ret = trace_define_field(event_call, #type "[" #len "]", #item, \ |
160 | offsetof(typeof(field), item), \ | 160 | offsetof(typeof(field), item), \ |
161 | sizeof(field.item), 0, FILTER_OTHER); \ | 161 | sizeof(field.item), \ |
162 | is_signed_type(type), FILTER_OTHER); \ | ||
162 | if (ret) \ | 163 | if (ret) \ |
163 | return ret; | 164 | return ret; |
164 | 165 | ||
@@ -168,8 +169,8 @@ ftrace_format_##name(struct ftrace_event_call *unused, \ | |||
168 | ret = trace_define_field(event_call, #type "[" #len "]", #item, \ | 169 | ret = trace_define_field(event_call, #type "[" #len "]", #item, \ |
169 | offsetof(typeof(field), \ | 170 | offsetof(typeof(field), \ |
170 | container.item), \ | 171 | container.item), \ |
171 | sizeof(field.container.item), 0, \ | 172 | sizeof(field.container.item), \ |
172 | FILTER_OTHER); \ | 173 | is_signed_type(type), FILTER_OTHER); \ |
173 | if (ret) \ | 174 | if (ret) \ |
174 | return ret; | 175 | return ret; |
175 | 176 | ||
diff --git a/kernel/trace/trace_kprobe.c b/kernel/trace/trace_kprobe.c index 375f81a568dc..6ea90c0e2c96 100644 --- a/kernel/trace/trace_kprobe.c +++ b/kernel/trace/trace_kprobe.c | |||
@@ -1201,10 +1201,11 @@ static int __probe_event_show_format(struct trace_seq *s, | |||
1201 | #undef SHOW_FIELD | 1201 | #undef SHOW_FIELD |
1202 | #define SHOW_FIELD(type, item, name) \ | 1202 | #define SHOW_FIELD(type, item, name) \ |
1203 | do { \ | 1203 | do { \ |
1204 | ret = trace_seq_printf(s, "\tfield: " #type " %s;\t" \ | 1204 | ret = trace_seq_printf(s, "\tfield:" #type " %s;\t" \ |
1205 | "offset:%u;\tsize:%u;\n", name, \ | 1205 | "offset:%u;\tsize:%u;\tsigned:%d;\n", name,\ |
1206 | (unsigned int)offsetof(typeof(field), item),\ | 1206 | (unsigned int)offsetof(typeof(field), item),\ |
1207 | (unsigned int)sizeof(type)); \ | 1207 | (unsigned int)sizeof(type), \ |
1208 | is_signed_type(type)); \ | ||
1208 | if (!ret) \ | 1209 | if (!ret) \ |
1209 | return 0; \ | 1210 | return 0; \ |
1210 | } while (0) | 1211 | } while (0) |
diff --git a/kernel/trace/trace_ksym.c b/kernel/trace/trace_ksym.c index faf37fa4408c..94103cdcf9d8 100644 --- a/kernel/trace/trace_ksym.c +++ b/kernel/trace/trace_ksym.c | |||
@@ -26,12 +26,13 @@ | |||
26 | #include <linux/fs.h> | 26 | #include <linux/fs.h> |
27 | 27 | ||
28 | #include "trace_output.h" | 28 | #include "trace_output.h" |
29 | #include "trace_stat.h" | ||
30 | #include "trace.h" | 29 | #include "trace.h" |
31 | 30 | ||
32 | #include <linux/hw_breakpoint.h> | 31 | #include <linux/hw_breakpoint.h> |
33 | #include <asm/hw_breakpoint.h> | 32 | #include <asm/hw_breakpoint.h> |
34 | 33 | ||
34 | #include <asm/atomic.h> | ||
35 | |||
35 | /* | 36 | /* |
36 | * For now, let us restrict the no. of symbols traced simultaneously to number | 37 | * For now, let us restrict the no. of symbols traced simultaneously to number |
37 | * of available hardware breakpoint registers. | 38 | * of available hardware breakpoint registers. |
@@ -44,7 +45,7 @@ struct trace_ksym { | |||
44 | struct perf_event **ksym_hbp; | 45 | struct perf_event **ksym_hbp; |
45 | struct perf_event_attr attr; | 46 | struct perf_event_attr attr; |
46 | #ifdef CONFIG_PROFILE_KSYM_TRACER | 47 | #ifdef CONFIG_PROFILE_KSYM_TRACER |
47 | unsigned long counter; | 48 | atomic64_t counter; |
48 | #endif | 49 | #endif |
49 | struct hlist_node ksym_hlist; | 50 | struct hlist_node ksym_hlist; |
50 | }; | 51 | }; |
@@ -69,9 +70,8 @@ void ksym_collect_stats(unsigned long hbp_hit_addr) | |||
69 | 70 | ||
70 | rcu_read_lock(); | 71 | rcu_read_lock(); |
71 | hlist_for_each_entry_rcu(entry, node, &ksym_filter_head, ksym_hlist) { | 72 | hlist_for_each_entry_rcu(entry, node, &ksym_filter_head, ksym_hlist) { |
72 | if ((entry->attr.bp_addr == hbp_hit_addr) && | 73 | if (entry->attr.bp_addr == hbp_hit_addr) { |
73 | (entry->counter <= MAX_UL_INT)) { | 74 | atomic64_inc(&entry->counter); |
74 | entry->counter++; | ||
75 | break; | 75 | break; |
76 | } | 76 | } |
77 | } | 77 | } |
@@ -197,7 +197,6 @@ int process_new_ksym_entry(char *ksymname, int op, unsigned long addr) | |||
197 | entry->attr.bp_addr = addr; | 197 | entry->attr.bp_addr = addr; |
198 | entry->attr.bp_len = HW_BREAKPOINT_LEN_4; | 198 | entry->attr.bp_len = HW_BREAKPOINT_LEN_4; |
199 | 199 | ||
200 | ret = -EAGAIN; | ||
201 | entry->ksym_hbp = register_wide_hw_breakpoint(&entry->attr, | 200 | entry->ksym_hbp = register_wide_hw_breakpoint(&entry->attr, |
202 | ksym_hbp_handler); | 201 | ksym_hbp_handler); |
203 | 202 | ||
@@ -300,8 +299,8 @@ static ssize_t ksym_trace_filter_write(struct file *file, | |||
300 | * 2: echo 0 > ksym_trace_filter | 299 | * 2: echo 0 > ksym_trace_filter |
301 | * 3: echo "*:---" > ksym_trace_filter | 300 | * 3: echo "*:---" > ksym_trace_filter |
302 | */ | 301 | */ |
303 | if (!buf[0] || !strcmp(buf, "0") || | 302 | if (!input_string[0] || !strcmp(input_string, "0") || |
304 | !strcmp(buf, "*:---")) { | 303 | !strcmp(input_string, "*:---")) { |
305 | __ksym_trace_reset(); | 304 | __ksym_trace_reset(); |
306 | ret = 0; | 305 | ret = 0; |
307 | goto out; | 306 | goto out; |
@@ -444,102 +443,77 @@ struct tracer ksym_tracer __read_mostly = | |||
444 | .print_line = ksym_trace_output | 443 | .print_line = ksym_trace_output |
445 | }; | 444 | }; |
446 | 445 | ||
447 | __init static int init_ksym_trace(void) | ||
448 | { | ||
449 | struct dentry *d_tracer; | ||
450 | struct dentry *entry; | ||
451 | |||
452 | d_tracer = tracing_init_dentry(); | ||
453 | ksym_filter_entry_count = 0; | ||
454 | |||
455 | entry = debugfs_create_file("ksym_trace_filter", 0644, d_tracer, | ||
456 | NULL, &ksym_tracing_fops); | ||
457 | if (!entry) | ||
458 | pr_warning("Could not create debugfs " | ||
459 | "'ksym_trace_filter' file\n"); | ||
460 | |||
461 | return register_tracer(&ksym_tracer); | ||
462 | } | ||
463 | device_initcall(init_ksym_trace); | ||
464 | |||
465 | |||
466 | #ifdef CONFIG_PROFILE_KSYM_TRACER | 446 | #ifdef CONFIG_PROFILE_KSYM_TRACER |
467 | static int ksym_tracer_stat_headers(struct seq_file *m) | 447 | static int ksym_profile_show(struct seq_file *m, void *v) |
468 | { | 448 | { |
449 | struct hlist_node *node; | ||
450 | struct trace_ksym *entry; | ||
451 | int access_type = 0; | ||
452 | char fn_name[KSYM_NAME_LEN]; | ||
453 | |||
469 | seq_puts(m, " Access Type "); | 454 | seq_puts(m, " Access Type "); |
470 | seq_puts(m, " Symbol Counter\n"); | 455 | seq_puts(m, " Symbol Counter\n"); |
471 | seq_puts(m, " ----------- "); | 456 | seq_puts(m, " ----------- "); |
472 | seq_puts(m, " ------ -------\n"); | 457 | seq_puts(m, " ------ -------\n"); |
473 | return 0; | ||
474 | } | ||
475 | 458 | ||
476 | static int ksym_tracer_stat_show(struct seq_file *m, void *v) | 459 | rcu_read_lock(); |
477 | { | 460 | hlist_for_each_entry_rcu(entry, node, &ksym_filter_head, ksym_hlist) { |
478 | struct hlist_node *stat = v; | ||
479 | struct trace_ksym *entry; | ||
480 | int access_type = 0; | ||
481 | char fn_name[KSYM_NAME_LEN]; | ||
482 | 461 | ||
483 | entry = hlist_entry(stat, struct trace_ksym, ksym_hlist); | 462 | access_type = entry->attr.bp_type; |
484 | 463 | ||
485 | access_type = entry->attr.bp_type; | 464 | switch (access_type) { |
465 | case HW_BREAKPOINT_R: | ||
466 | seq_puts(m, " R "); | ||
467 | break; | ||
468 | case HW_BREAKPOINT_W: | ||
469 | seq_puts(m, " W "); | ||
470 | break; | ||
471 | case HW_BREAKPOINT_R | HW_BREAKPOINT_W: | ||
472 | seq_puts(m, " RW "); | ||
473 | break; | ||
474 | default: | ||
475 | seq_puts(m, " NA "); | ||
476 | } | ||
486 | 477 | ||
487 | switch (access_type) { | 478 | if (lookup_symbol_name(entry->attr.bp_addr, fn_name) >= 0) |
488 | case HW_BREAKPOINT_R: | 479 | seq_printf(m, " %-36s", fn_name); |
489 | seq_puts(m, " R "); | 480 | else |
490 | break; | 481 | seq_printf(m, " %-36s", "<NA>"); |
491 | case HW_BREAKPOINT_W: | 482 | seq_printf(m, " %15llu\n", |
492 | seq_puts(m, " W "); | 483 | (unsigned long long)atomic64_read(&entry->counter)); |
493 | break; | ||
494 | case HW_BREAKPOINT_R | HW_BREAKPOINT_W: | ||
495 | seq_puts(m, " RW "); | ||
496 | break; | ||
497 | default: | ||
498 | seq_puts(m, " NA "); | ||
499 | } | 484 | } |
500 | 485 | rcu_read_unlock(); | |
501 | if (lookup_symbol_name(entry->attr.bp_addr, fn_name) >= 0) | ||
502 | seq_printf(m, " %-36s", fn_name); | ||
503 | else | ||
504 | seq_printf(m, " %-36s", "<NA>"); | ||
505 | seq_printf(m, " %15lu\n", entry->counter); | ||
506 | 486 | ||
507 | return 0; | 487 | return 0; |
508 | } | 488 | } |
509 | 489 | ||
510 | static void *ksym_tracer_stat_start(struct tracer_stat *trace) | 490 | static int ksym_profile_open(struct inode *node, struct file *file) |
511 | { | 491 | { |
512 | return ksym_filter_head.first; | 492 | return single_open(file, ksym_profile_show, NULL); |
513 | } | ||
514 | |||
515 | static void * | ||
516 | ksym_tracer_stat_next(void *v, int idx) | ||
517 | { | ||
518 | struct hlist_node *stat = v; | ||
519 | |||
520 | return stat->next; | ||
521 | } | 493 | } |
522 | 494 | ||
523 | static struct tracer_stat ksym_tracer_stats = { | 495 | static const struct file_operations ksym_profile_fops = { |
524 | .name = "ksym_tracer", | 496 | .open = ksym_profile_open, |
525 | .stat_start = ksym_tracer_stat_start, | 497 | .read = seq_read, |
526 | .stat_next = ksym_tracer_stat_next, | 498 | .llseek = seq_lseek, |
527 | .stat_headers = ksym_tracer_stat_headers, | 499 | .release = single_release, |
528 | .stat_show = ksym_tracer_stat_show | ||
529 | }; | 500 | }; |
501 | #endif /* CONFIG_PROFILE_KSYM_TRACER */ | ||
530 | 502 | ||
531 | __init static int ksym_tracer_stat_init(void) | 503 | __init static int init_ksym_trace(void) |
532 | { | 504 | { |
533 | int ret; | 505 | struct dentry *d_tracer; |
534 | 506 | ||
535 | ret = register_stat_tracer(&ksym_tracer_stats); | 507 | d_tracer = tracing_init_dentry(); |
536 | if (ret) { | ||
537 | printk(KERN_WARNING "Warning: could not register " | ||
538 | "ksym tracer stats\n"); | ||
539 | return 1; | ||
540 | } | ||
541 | 508 | ||
542 | return 0; | 509 | trace_create_file("ksym_trace_filter", 0644, d_tracer, |
510 | NULL, &ksym_tracing_fops); | ||
511 | |||
512 | #ifdef CONFIG_PROFILE_KSYM_TRACER | ||
513 | trace_create_file("ksym_profile", 0444, d_tracer, | ||
514 | NULL, &ksym_profile_fops); | ||
515 | #endif | ||
516 | |||
517 | return register_tracer(&ksym_tracer); | ||
543 | } | 518 | } |
544 | fs_initcall(ksym_tracer_stat_init); | 519 | device_initcall(init_ksym_trace); |
545 | #endif /* CONFIG_PROFILE_KSYM_TRACER */ | ||
diff --git a/lib/dma-debug.c b/lib/dma-debug.c index d9b08e0f7f55..cf906201aecf 100644 --- a/lib/dma-debug.c +++ b/lib/dma-debug.c | |||
@@ -670,12 +670,13 @@ static int device_dma_allocations(struct device *dev) | |||
670 | return count; | 670 | return count; |
671 | } | 671 | } |
672 | 672 | ||
673 | static int dma_debug_device_change(struct notifier_block *nb, | 673 | static int dma_debug_device_change(struct notifier_block *nb, unsigned long action, void *data) |
674 | unsigned long action, void *data) | ||
675 | { | 674 | { |
676 | struct device *dev = data; | 675 | struct device *dev = data; |
677 | int count; | 676 | int count; |
678 | 677 | ||
678 | if (global_disable) | ||
679 | return 0; | ||
679 | 680 | ||
680 | switch (action) { | 681 | switch (action) { |
681 | case BUS_NOTIFY_UNBOUND_DRIVER: | 682 | case BUS_NOTIFY_UNBOUND_DRIVER: |
@@ -697,6 +698,9 @@ void dma_debug_add_bus(struct bus_type *bus) | |||
697 | { | 698 | { |
698 | struct notifier_block *nb; | 699 | struct notifier_block *nb; |
699 | 700 | ||
701 | if (global_disable) | ||
702 | return; | ||
703 | |||
700 | nb = kzalloc(sizeof(struct notifier_block), GFP_KERNEL); | 704 | nb = kzalloc(sizeof(struct notifier_block), GFP_KERNEL); |
701 | if (nb == NULL) { | 705 | if (nb == NULL) { |
702 | pr_err("dma_debug_add_bus: out of memory\n"); | 706 | pr_err("dma_debug_add_bus: out of memory\n"); |
@@ -1043,6 +1043,46 @@ unsigned long do_mmap_pgoff(struct file *file, unsigned long addr, | |||
1043 | } | 1043 | } |
1044 | EXPORT_SYMBOL(do_mmap_pgoff); | 1044 | EXPORT_SYMBOL(do_mmap_pgoff); |
1045 | 1045 | ||
1046 | SYSCALL_DEFINE6(mmap_pgoff, unsigned long, addr, unsigned long, len, | ||
1047 | unsigned long, prot, unsigned long, flags, | ||
1048 | unsigned long, fd, unsigned long, pgoff) | ||
1049 | { | ||
1050 | struct file *file = NULL; | ||
1051 | unsigned long retval = -EBADF; | ||
1052 | |||
1053 | if (!(flags & MAP_ANONYMOUS)) { | ||
1054 | if (unlikely(flags & MAP_HUGETLB)) | ||
1055 | return -EINVAL; | ||
1056 | file = fget(fd); | ||
1057 | if (!file) | ||
1058 | goto out; | ||
1059 | } else if (flags & MAP_HUGETLB) { | ||
1060 | struct user_struct *user = NULL; | ||
1061 | /* | ||
1062 | * VM_NORESERVE is used because the reservations will be | ||
1063 | * taken when vm_ops->mmap() is called | ||
1064 | * A dummy user value is used because we are not locking | ||
1065 | * memory so no accounting is necessary | ||
1066 | */ | ||
1067 | len = ALIGN(len, huge_page_size(&default_hstate)); | ||
1068 | file = hugetlb_file_setup(HUGETLB_ANON_FILE, len, VM_NORESERVE, | ||
1069 | &user, HUGETLB_ANONHUGE_INODE); | ||
1070 | if (IS_ERR(file)) | ||
1071 | return PTR_ERR(file); | ||
1072 | } | ||
1073 | |||
1074 | flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE); | ||
1075 | |||
1076 | down_write(¤t->mm->mmap_sem); | ||
1077 | retval = do_mmap_pgoff(file, addr, len, prot, flags, pgoff); | ||
1078 | up_write(¤t->mm->mmap_sem); | ||
1079 | |||
1080 | if (file) | ||
1081 | fput(file); | ||
1082 | out: | ||
1083 | return retval; | ||
1084 | } | ||
1085 | |||
1046 | /* | 1086 | /* |
1047 | * Some shared mappigns will want the pages marked read-only | 1087 | * Some shared mappigns will want the pages marked read-only |
1048 | * to track write events. If so, we'll downgrade vm_page_prot | 1088 | * to track write events. If so, we'll downgrade vm_page_prot |
diff --git a/mm/nommu.c b/mm/nommu.c index 8687973462bb..17773862619b 100644 --- a/mm/nommu.c +++ b/mm/nommu.c | |||
@@ -432,6 +432,7 @@ SYSCALL_DEFINE1(brk, unsigned long, brk) | |||
432 | /* | 432 | /* |
433 | * Ok, looks good - let it rip. | 433 | * Ok, looks good - let it rip. |
434 | */ | 434 | */ |
435 | flush_icache_range(mm->brk, brk); | ||
435 | return mm->brk = brk; | 436 | return mm->brk = brk; |
436 | } | 437 | } |
437 | 438 | ||
@@ -1353,10 +1354,14 @@ unsigned long do_mmap_pgoff(struct file *file, | |||
1353 | share: | 1354 | share: |
1354 | add_vma_to_mm(current->mm, vma); | 1355 | add_vma_to_mm(current->mm, vma); |
1355 | 1356 | ||
1356 | up_write(&nommu_region_sem); | 1357 | /* we flush the region from the icache only when the first executable |
1358 | * mapping of it is made */ | ||
1359 | if (vma->vm_flags & VM_EXEC && !region->vm_icache_flushed) { | ||
1360 | flush_icache_range(region->vm_start, region->vm_end); | ||
1361 | region->vm_icache_flushed = true; | ||
1362 | } | ||
1357 | 1363 | ||
1358 | if (prot & PROT_EXEC) | 1364 | up_write(&nommu_region_sem); |
1359 | flush_icache_range(result, result + len); | ||
1360 | 1365 | ||
1361 | kleave(" = %lx", result); | 1366 | kleave(" = %lx", result); |
1362 | return result; | 1367 | return result; |
@@ -1398,6 +1403,31 @@ error_getting_region: | |||
1398 | } | 1403 | } |
1399 | EXPORT_SYMBOL(do_mmap_pgoff); | 1404 | EXPORT_SYMBOL(do_mmap_pgoff); |
1400 | 1405 | ||
1406 | SYSCALL_DEFINE6(mmap_pgoff, unsigned long, addr, unsigned long, len, | ||
1407 | unsigned long, prot, unsigned long, flags, | ||
1408 | unsigned long, fd, unsigned long, pgoff) | ||
1409 | { | ||
1410 | struct file *file = NULL; | ||
1411 | unsigned long retval = -EBADF; | ||
1412 | |||
1413 | if (!(flags & MAP_ANONYMOUS)) { | ||
1414 | file = fget(fd); | ||
1415 | if (!file) | ||
1416 | goto out; | ||
1417 | } | ||
1418 | |||
1419 | flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE); | ||
1420 | |||
1421 | down_write(¤t->mm->mmap_sem); | ||
1422 | retval = do_mmap_pgoff(file, addr, len, prot, flags, pgoff); | ||
1423 | up_write(¤t->mm->mmap_sem); | ||
1424 | |||
1425 | if (file) | ||
1426 | fput(file); | ||
1427 | out: | ||
1428 | return retval; | ||
1429 | } | ||
1430 | |||
1401 | /* | 1431 | /* |
1402 | * split a vma into two pieces at address 'addr', a new vma is allocated either | 1432 | * split a vma into two pieces at address 'addr', a new vma is allocated either |
1403 | * for the first part or the tail. | 1433 | * for the first part or the tail. |
@@ -1891,9 +1921,11 @@ int access_process_vm(struct task_struct *tsk, unsigned long addr, void *buf, in | |||
1891 | 1921 | ||
1892 | /* only read or write mappings where it is permitted */ | 1922 | /* only read or write mappings where it is permitted */ |
1893 | if (write && vma->vm_flags & VM_MAYWRITE) | 1923 | if (write && vma->vm_flags & VM_MAYWRITE) |
1894 | len -= copy_to_user((void *) addr, buf, len); | 1924 | copy_to_user_page(vma, NULL, addr, |
1925 | (void *) addr, buf, len); | ||
1895 | else if (!write && vma->vm_flags & VM_MAYREAD) | 1926 | else if (!write && vma->vm_flags & VM_MAYREAD) |
1896 | len -= copy_from_user(buf, (void *) addr, len); | 1927 | copy_from_user_page(vma, NULL, addr, |
1928 | buf, (void *) addr, len); | ||
1897 | else | 1929 | else |
1898 | len = 0; | 1930 | len = 0; |
1899 | } else { | 1931 | } else { |
@@ -654,7 +654,7 @@ static void init_node_lock_keys(int q) | |||
654 | 654 | ||
655 | l3 = s->cs_cachep->nodelists[q]; | 655 | l3 = s->cs_cachep->nodelists[q]; |
656 | if (!l3 || OFF_SLAB(s->cs_cachep)) | 656 | if (!l3 || OFF_SLAB(s->cs_cachep)) |
657 | return; | 657 | continue; |
658 | lockdep_set_class(&l3->list_lock, &on_slab_l3_key); | 658 | lockdep_set_class(&l3->list_lock, &on_slab_l3_key); |
659 | alc = l3->alien; | 659 | alc = l3->alien; |
660 | /* | 660 | /* |
@@ -665,7 +665,7 @@ static void init_node_lock_keys(int q) | |||
665 | * for alloc_alien_cache, | 665 | * for alloc_alien_cache, |
666 | */ | 666 | */ |
667 | if (!alc || (unsigned long)alc == BAD_ALIEN_MAGIC) | 667 | if (!alc || (unsigned long)alc == BAD_ALIEN_MAGIC) |
668 | return; | 668 | continue; |
669 | for_each_node(r) { | 669 | for_each_node(r) { |
670 | if (alc[r]) | 670 | if (alc[r]) |
671 | lockdep_set_class(&alc[r]->lock, | 671 | lockdep_set_class(&alc[r]->lock, |
@@ -4,10 +4,6 @@ | |||
4 | #include <linux/module.h> | 4 | #include <linux/module.h> |
5 | #include <linux/err.h> | 5 | #include <linux/err.h> |
6 | #include <linux/sched.h> | 6 | #include <linux/sched.h> |
7 | #include <linux/hugetlb.h> | ||
8 | #include <linux/syscalls.h> | ||
9 | #include <linux/mman.h> | ||
10 | #include <linux/file.h> | ||
11 | #include <asm/uaccess.h> | 7 | #include <asm/uaccess.h> |
12 | 8 | ||
13 | #define CREATE_TRACE_POINTS | 9 | #define CREATE_TRACE_POINTS |
@@ -272,46 +268,6 @@ int __attribute__((weak)) get_user_pages_fast(unsigned long start, | |||
272 | } | 268 | } |
273 | EXPORT_SYMBOL_GPL(get_user_pages_fast); | 269 | EXPORT_SYMBOL_GPL(get_user_pages_fast); |
274 | 270 | ||
275 | SYSCALL_DEFINE6(mmap_pgoff, unsigned long, addr, unsigned long, len, | ||
276 | unsigned long, prot, unsigned long, flags, | ||
277 | unsigned long, fd, unsigned long, pgoff) | ||
278 | { | ||
279 | struct file * file = NULL; | ||
280 | unsigned long retval = -EBADF; | ||
281 | |||
282 | if (!(flags & MAP_ANONYMOUS)) { | ||
283 | if (unlikely(flags & MAP_HUGETLB)) | ||
284 | return -EINVAL; | ||
285 | file = fget(fd); | ||
286 | if (!file) | ||
287 | goto out; | ||
288 | } else if (flags & MAP_HUGETLB) { | ||
289 | struct user_struct *user = NULL; | ||
290 | /* | ||
291 | * VM_NORESERVE is used because the reservations will be | ||
292 | * taken when vm_ops->mmap() is called | ||
293 | * A dummy user value is used because we are not locking | ||
294 | * memory so no accounting is necessary | ||
295 | */ | ||
296 | len = ALIGN(len, huge_page_size(&default_hstate)); | ||
297 | file = hugetlb_file_setup(HUGETLB_ANON_FILE, len, VM_NORESERVE, | ||
298 | &user, HUGETLB_ANONHUGE_INODE); | ||
299 | if (IS_ERR(file)) | ||
300 | return PTR_ERR(file); | ||
301 | } | ||
302 | |||
303 | flags &= ~(MAP_EXECUTABLE | MAP_DENYWRITE); | ||
304 | |||
305 | down_write(¤t->mm->mmap_sem); | ||
306 | retval = do_mmap_pgoff(file, addr, len, prot, flags, pgoff); | ||
307 | up_write(¤t->mm->mmap_sem); | ||
308 | |||
309 | if (file) | ||
310 | fput(file); | ||
311 | out: | ||
312 | return retval; | ||
313 | } | ||
314 | |||
315 | /* Tracepoints definitions. */ | 271 | /* Tracepoints definitions. */ |
316 | EXPORT_TRACEPOINT_SYMBOL(kmalloc); | 272 | EXPORT_TRACEPOINT_SYMBOL(kmalloc); |
317 | EXPORT_TRACEPOINT_SYMBOL(kmem_cache_alloc); | 273 | EXPORT_TRACEPOINT_SYMBOL(kmem_cache_alloc); |
diff --git a/net/core/pktgen.c b/net/core/pktgen.c index a23b45f08ec9..de0c2c726420 100644 --- a/net/core/pktgen.c +++ b/net/core/pktgen.c | |||
@@ -250,8 +250,7 @@ struct pktgen_dev { | |||
250 | __u64 count; /* Default No packets to send */ | 250 | __u64 count; /* Default No packets to send */ |
251 | __u64 sofar; /* How many pkts we've sent so far */ | 251 | __u64 sofar; /* How many pkts we've sent so far */ |
252 | __u64 tx_bytes; /* How many bytes we've transmitted */ | 252 | __u64 tx_bytes; /* How many bytes we've transmitted */ |
253 | __u64 errors; /* Errors when trying to transmit, | 253 | __u64 errors; /* Errors when trying to transmit, */ |
254 | pkts will be re-sent */ | ||
255 | 254 | ||
256 | /* runtime counters relating to clone_skb */ | 255 | /* runtime counters relating to clone_skb */ |
257 | 256 | ||
@@ -3465,6 +3464,12 @@ static void pktgen_xmit(struct pktgen_dev *pkt_dev) | |||
3465 | pkt_dev->seq_num++; | 3464 | pkt_dev->seq_num++; |
3466 | pkt_dev->tx_bytes += pkt_dev->last_pkt_size; | 3465 | pkt_dev->tx_bytes += pkt_dev->last_pkt_size; |
3467 | break; | 3466 | break; |
3467 | case NET_XMIT_DROP: | ||
3468 | case NET_XMIT_CN: | ||
3469 | case NET_XMIT_POLICED: | ||
3470 | /* skb has been consumed */ | ||
3471 | pkt_dev->errors++; | ||
3472 | break; | ||
3468 | default: /* Drivers are not supposed to return other values! */ | 3473 | default: /* Drivers are not supposed to return other values! */ |
3469 | if (net_ratelimit()) | 3474 | if (net_ratelimit()) |
3470 | pr_info("pktgen: %s xmit error: %d\n", | 3475 | pr_info("pktgen: %s xmit error: %d\n", |
diff --git a/net/ipv4/devinet.c b/net/ipv4/devinet.c index 5cdbc102a418..040c4f05b653 100644 --- a/net/ipv4/devinet.c +++ b/net/ipv4/devinet.c | |||
@@ -1397,6 +1397,7 @@ static struct devinet_sysctl_table { | |||
1397 | DEVINET_SYSCTL_RW_ENTRY(ACCEPT_SOURCE_ROUTE, | 1397 | DEVINET_SYSCTL_RW_ENTRY(ACCEPT_SOURCE_ROUTE, |
1398 | "accept_source_route"), | 1398 | "accept_source_route"), |
1399 | DEVINET_SYSCTL_RW_ENTRY(ACCEPT_LOCAL, "accept_local"), | 1399 | DEVINET_SYSCTL_RW_ENTRY(ACCEPT_LOCAL, "accept_local"), |
1400 | DEVINET_SYSCTL_RW_ENTRY(SRC_VMARK, "src_valid_mark"), | ||
1400 | DEVINET_SYSCTL_RW_ENTRY(PROXY_ARP, "proxy_arp"), | 1401 | DEVINET_SYSCTL_RW_ENTRY(PROXY_ARP, "proxy_arp"), |
1401 | DEVINET_SYSCTL_RW_ENTRY(MEDIUM_ID, "medium_id"), | 1402 | DEVINET_SYSCTL_RW_ENTRY(MEDIUM_ID, "medium_id"), |
1402 | DEVINET_SYSCTL_RW_ENTRY(BOOTP_RELAY, "bootp_relay"), | 1403 | DEVINET_SYSCTL_RW_ENTRY(BOOTP_RELAY, "bootp_relay"), |
diff --git a/net/ipv4/fib_frontend.c b/net/ipv4/fib_frontend.c index 3323168ee52d..82dbf711d6d0 100644 --- a/net/ipv4/fib_frontend.c +++ b/net/ipv4/fib_frontend.c | |||
@@ -252,6 +252,8 @@ int fib_validate_source(__be32 src, __be32 dst, u8 tos, int oif, | |||
252 | no_addr = in_dev->ifa_list == NULL; | 252 | no_addr = in_dev->ifa_list == NULL; |
253 | rpf = IN_DEV_RPFILTER(in_dev); | 253 | rpf = IN_DEV_RPFILTER(in_dev); |
254 | accept_local = IN_DEV_ACCEPT_LOCAL(in_dev); | 254 | accept_local = IN_DEV_ACCEPT_LOCAL(in_dev); |
255 | if (mark && !IN_DEV_SRC_VMARK(in_dev)) | ||
256 | fl.mark = 0; | ||
255 | } | 257 | } |
256 | rcu_read_unlock(); | 258 | rcu_read_unlock(); |
257 | 259 | ||
diff --git a/net/mac80211/ht.c b/net/mac80211/ht.c index 3787455fb696..d7dcee680728 100644 --- a/net/mac80211/ht.c +++ b/net/mac80211/ht.c | |||
@@ -34,9 +34,28 @@ void ieee80211_ht_cap_ie_to_sta_ht_cap(struct ieee80211_supported_band *sband, | |||
34 | 34 | ||
35 | ht_cap->ht_supported = true; | 35 | ht_cap->ht_supported = true; |
36 | 36 | ||
37 | ht_cap->cap = le16_to_cpu(ht_cap_ie->cap_info) & sband->ht_cap.cap; | 37 | /* |
38 | ht_cap->cap &= ~IEEE80211_HT_CAP_SM_PS; | 38 | * The bits listed in this expression should be |
39 | ht_cap->cap |= sband->ht_cap.cap & IEEE80211_HT_CAP_SM_PS; | 39 | * the same for the peer and us, if the station |
40 | * advertises more then we can't use those thus | ||
41 | * we mask them out. | ||
42 | */ | ||
43 | ht_cap->cap = le16_to_cpu(ht_cap_ie->cap_info) & | ||
44 | (sband->ht_cap.cap | | ||
45 | ~(IEEE80211_HT_CAP_LDPC_CODING | | ||
46 | IEEE80211_HT_CAP_SUP_WIDTH_20_40 | | ||
47 | IEEE80211_HT_CAP_GRN_FLD | | ||
48 | IEEE80211_HT_CAP_SGI_20 | | ||
49 | IEEE80211_HT_CAP_SGI_40 | | ||
50 | IEEE80211_HT_CAP_DSSSCCK40)); | ||
51 | /* | ||
52 | * The STBC bits are asymmetric -- if we don't have | ||
53 | * TX then mask out the peer's RX and vice versa. | ||
54 | */ | ||
55 | if (!(sband->ht_cap.cap & IEEE80211_HT_CAP_TX_STBC)) | ||
56 | ht_cap->cap &= ~IEEE80211_HT_CAP_RX_STBC; | ||
57 | if (!(sband->ht_cap.cap & IEEE80211_HT_CAP_RX_STBC)) | ||
58 | ht_cap->cap &= ~IEEE80211_HT_CAP_TX_STBC; | ||
40 | 59 | ||
41 | ampdu_info = ht_cap_ie->ampdu_params_info; | 60 | ampdu_info = ht_cap_ie->ampdu_params_info; |
42 | ht_cap->ampdu_factor = | 61 | ht_cap->ampdu_factor = |
diff --git a/net/mac80211/ibss.c b/net/mac80211/ibss.c index 10d13856f86c..1f2db647bb5c 100644 --- a/net/mac80211/ibss.c +++ b/net/mac80211/ibss.c | |||
@@ -382,6 +382,7 @@ static void ieee80211_rx_bss_info(struct ieee80211_sub_if_data *sdata, | |||
382 | struct sta_info *ieee80211_ibss_add_sta(struct ieee80211_sub_if_data *sdata, | 382 | struct sta_info *ieee80211_ibss_add_sta(struct ieee80211_sub_if_data *sdata, |
383 | u8 *bssid,u8 *addr, u32 supp_rates) | 383 | u8 *bssid,u8 *addr, u32 supp_rates) |
384 | { | 384 | { |
385 | struct ieee80211_if_ibss *ifibss = &sdata->u.ibss; | ||
385 | struct ieee80211_local *local = sdata->local; | 386 | struct ieee80211_local *local = sdata->local; |
386 | struct sta_info *sta; | 387 | struct sta_info *sta; |
387 | int band = local->hw.conf.channel->band; | 388 | int band = local->hw.conf.channel->band; |
@@ -397,6 +398,9 @@ struct sta_info *ieee80211_ibss_add_sta(struct ieee80211_sub_if_data *sdata, | |||
397 | return NULL; | 398 | return NULL; |
398 | } | 399 | } |
399 | 400 | ||
401 | if (ifibss->state == IEEE80211_IBSS_MLME_SEARCH) | ||
402 | return NULL; | ||
403 | |||
400 | if (compare_ether_addr(bssid, sdata->u.ibss.bssid)) | 404 | if (compare_ether_addr(bssid, sdata->u.ibss.bssid)) |
401 | return NULL; | 405 | return NULL; |
402 | 406 | ||
diff --git a/net/mac80211/main.c b/net/mac80211/main.c index 8116d1a96a4a..0d2d94881f1f 100644 --- a/net/mac80211/main.c +++ b/net/mac80211/main.c | |||
@@ -515,6 +515,8 @@ int ieee80211_register_hw(struct ieee80211_hw *hw) | |||
515 | * and we need some headroom for passing the frame to monitor | 515 | * and we need some headroom for passing the frame to monitor |
516 | * interfaces, but never both at the same time. | 516 | * interfaces, but never both at the same time. |
517 | */ | 517 | */ |
518 | BUILD_BUG_ON(IEEE80211_TX_STATUS_HEADROOM != | ||
519 | sizeof(struct ieee80211_tx_status_rtap_hdr)); | ||
518 | local->tx_headroom = max_t(unsigned int , local->hw.extra_tx_headroom, | 520 | local->tx_headroom = max_t(unsigned int , local->hw.extra_tx_headroom, |
519 | sizeof(struct ieee80211_tx_status_rtap_hdr)); | 521 | sizeof(struct ieee80211_tx_status_rtap_hdr)); |
520 | 522 | ||
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c index d8d50fb5e823..c79e59f82fd9 100644 --- a/net/mac80211/mlme.c +++ b/net/mac80211/mlme.c | |||
@@ -915,6 +915,14 @@ static void ieee80211_set_associated(struct ieee80211_sub_if_data *sdata, | |||
915 | sdata->u.mgd.flags &= ~(IEEE80211_STA_CONNECTION_POLL | | 915 | sdata->u.mgd.flags &= ~(IEEE80211_STA_CONNECTION_POLL | |
916 | IEEE80211_STA_BEACON_POLL); | 916 | IEEE80211_STA_BEACON_POLL); |
917 | 917 | ||
918 | /* | ||
919 | * Always handle WMM once after association regardless | ||
920 | * of the first value the AP uses. Setting -1 here has | ||
921 | * that effect because the AP values is an unsigned | ||
922 | * 4-bit value. | ||
923 | */ | ||
924 | sdata->u.mgd.wmm_last_param_set = -1; | ||
925 | |||
918 | ieee80211_led_assoc(local, 1); | 926 | ieee80211_led_assoc(local, 1); |
919 | 927 | ||
920 | sdata->vif.bss_conf.assoc = 1; | 928 | sdata->vif.bss_conf.assoc = 1; |
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c index 8834cc93c716..27ceaefd7bc8 100644 --- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c | |||
@@ -1419,6 +1419,10 @@ static bool need_dynamic_ps(struct ieee80211_local *local) | |||
1419 | if (!local->ps_sdata) | 1419 | if (!local->ps_sdata) |
1420 | return false; | 1420 | return false; |
1421 | 1421 | ||
1422 | /* No point if we're going to suspend */ | ||
1423 | if (local->quiescing) | ||
1424 | return false; | ||
1425 | |||
1422 | return true; | 1426 | return true; |
1423 | } | 1427 | } |
1424 | 1428 | ||
diff --git a/net/mac80211/util.c b/net/mac80211/util.c index 78a6e924c7e1..dc76267e436e 100644 --- a/net/mac80211/util.c +++ b/net/mac80211/util.c | |||
@@ -1039,7 +1039,19 @@ int ieee80211_reconfig(struct ieee80211_local *local) | |||
1039 | 1039 | ||
1040 | /* restart hardware */ | 1040 | /* restart hardware */ |
1041 | if (local->open_count) { | 1041 | if (local->open_count) { |
1042 | /* | ||
1043 | * Upon resume hardware can sometimes be goofy due to | ||
1044 | * various platform / driver / bus issues, so restarting | ||
1045 | * the device may at times not work immediately. Propagate | ||
1046 | * the error. | ||
1047 | */ | ||
1042 | res = drv_start(local); | 1048 | res = drv_start(local); |
1049 | if (res) { | ||
1050 | WARN(local->suspended, "Harware became unavailable " | ||
1051 | "upon resume. This is could be a software issue" | ||
1052 | "prior to suspend or a harware issue\n"); | ||
1053 | return res; | ||
1054 | } | ||
1043 | 1055 | ||
1044 | ieee80211_led_radio(local, true); | 1056 | ieee80211_led_radio(local, true); |
1045 | } | 1057 | } |
diff --git a/net/sunrpc/svc_xprt.c b/net/sunrpc/svc_xprt.c index 1c924ee0a1ef..7d1f9e928f69 100644 --- a/net/sunrpc/svc_xprt.c +++ b/net/sunrpc/svc_xprt.c | |||
@@ -699,7 +699,8 @@ int svc_recv(struct svc_rqst *rqstp, long timeout) | |||
699 | spin_unlock_bh(&pool->sp_lock); | 699 | spin_unlock_bh(&pool->sp_lock); |
700 | 700 | ||
701 | len = 0; | 701 | len = 0; |
702 | if (test_bit(XPT_LISTENER, &xprt->xpt_flags)) { | 702 | if (test_bit(XPT_LISTENER, &xprt->xpt_flags) && |
703 | !test_bit(XPT_CLOSE, &xprt->xpt_flags)) { | ||
703 | struct svc_xprt *newxpt; | 704 | struct svc_xprt *newxpt; |
704 | newxpt = xprt->xpt_ops->xpo_accept(xprt); | 705 | newxpt = xprt->xpt_ops->xpo_accept(xprt); |
705 | if (newxpt) { | 706 | if (newxpt) { |
diff --git a/net/wireless/mlme.c b/net/wireless/mlme.c index 1001db4912f7..82e6002c8d67 100644 --- a/net/wireless/mlme.c +++ b/net/wireless/mlme.c | |||
@@ -93,7 +93,18 @@ void cfg80211_send_rx_assoc(struct net_device *dev, const u8 *buf, size_t len) | |||
93 | } | 93 | } |
94 | } | 94 | } |
95 | 95 | ||
96 | WARN_ON(!bss); | 96 | /* |
97 | * We might be coming here because the driver reported | ||
98 | * a successful association at the same time as the | ||
99 | * user requested a deauth. In that case, we will have | ||
100 | * removed the BSS from the auth_bsses list due to the | ||
101 | * deauth request when the assoc response makes it. If | ||
102 | * the two code paths acquire the lock the other way | ||
103 | * around, that's just the standard situation of a | ||
104 | * deauth being requested while connected. | ||
105 | */ | ||
106 | if (!bss) | ||
107 | goto out; | ||
97 | } else if (wdev->conn) { | 108 | } else if (wdev->conn) { |
98 | cfg80211_sme_failed_assoc(wdev); | 109 | cfg80211_sme_failed_assoc(wdev); |
99 | /* | 110 | /* |
diff --git a/net/wireless/scan.c b/net/wireless/scan.c index 12dfa62aad18..0c2cbbebca95 100644 --- a/net/wireless/scan.c +++ b/net/wireless/scan.c | |||
@@ -601,7 +601,7 @@ int cfg80211_wext_siwscan(struct net_device *dev, | |||
601 | struct cfg80211_registered_device *rdev; | 601 | struct cfg80211_registered_device *rdev; |
602 | struct wiphy *wiphy; | 602 | struct wiphy *wiphy; |
603 | struct iw_scan_req *wreq = NULL; | 603 | struct iw_scan_req *wreq = NULL; |
604 | struct cfg80211_scan_request *creq; | 604 | struct cfg80211_scan_request *creq = NULL; |
605 | int i, err, n_channels = 0; | 605 | int i, err, n_channels = 0; |
606 | enum ieee80211_band band; | 606 | enum ieee80211_band band; |
607 | 607 | ||
@@ -694,8 +694,10 @@ int cfg80211_wext_siwscan(struct net_device *dev, | |||
694 | /* translate "Scan for SSID" request */ | 694 | /* translate "Scan for SSID" request */ |
695 | if (wreq) { | 695 | if (wreq) { |
696 | if (wrqu->data.flags & IW_SCAN_THIS_ESSID) { | 696 | if (wrqu->data.flags & IW_SCAN_THIS_ESSID) { |
697 | if (wreq->essid_len > IEEE80211_MAX_SSID_LEN) | 697 | if (wreq->essid_len > IEEE80211_MAX_SSID_LEN) { |
698 | return -EINVAL; | 698 | err = -EINVAL; |
699 | goto out; | ||
700 | } | ||
699 | memcpy(creq->ssids[0].ssid, wreq->essid, wreq->essid_len); | 701 | memcpy(creq->ssids[0].ssid, wreq->essid, wreq->essid_len); |
700 | creq->ssids[0].ssid_len = wreq->essid_len; | 702 | creq->ssids[0].ssid_len = wreq->essid_len; |
701 | } | 703 | } |
@@ -707,12 +709,15 @@ int cfg80211_wext_siwscan(struct net_device *dev, | |||
707 | err = rdev->ops->scan(wiphy, dev, creq); | 709 | err = rdev->ops->scan(wiphy, dev, creq); |
708 | if (err) { | 710 | if (err) { |
709 | rdev->scan_req = NULL; | 711 | rdev->scan_req = NULL; |
710 | kfree(creq); | 712 | /* creq will be freed below */ |
711 | } else { | 713 | } else { |
712 | nl80211_send_scan_start(rdev, dev); | 714 | nl80211_send_scan_start(rdev, dev); |
715 | /* creq now owned by driver */ | ||
716 | creq = NULL; | ||
713 | dev_hold(dev); | 717 | dev_hold(dev); |
714 | } | 718 | } |
715 | out: | 719 | out: |
720 | kfree(creq); | ||
716 | cfg80211_unlock_rdev(rdev); | 721 | cfg80211_unlock_rdev(rdev); |
717 | return err; | 722 | return err; |
718 | } | 723 | } |
diff --git a/net/xfrm/xfrm_policy.c b/net/xfrm/xfrm_policy.c index cb81ca35b0d6..4725a549ad4d 100644 --- a/net/xfrm/xfrm_policy.c +++ b/net/xfrm/xfrm_policy.c | |||
@@ -1445,7 +1445,7 @@ static struct dst_entry *xfrm_bundle_create(struct xfrm_policy *policy, | |||
1445 | if (!dev) | 1445 | if (!dev) |
1446 | goto free_dst; | 1446 | goto free_dst; |
1447 | 1447 | ||
1448 | /* Copy neighbout for reachability confirmation */ | 1448 | /* Copy neighbour for reachability confirmation */ |
1449 | dst0->neighbour = neigh_clone(dst->neighbour); | 1449 | dst0->neighbour = neigh_clone(dst->neighbour); |
1450 | 1450 | ||
1451 | xfrm_init_path((struct xfrm_dst *)dst0, dst, nfheader_len); | 1451 | xfrm_init_path((struct xfrm_dst *)dst0, dst, nfheader_len); |
diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c index 7a374c2eb043..9a2ee845e9d4 100644 --- a/security/selinux/hooks.c +++ b/security/selinux/hooks.c | |||
@@ -2365,7 +2365,7 @@ static void selinux_bprm_committing_creds(struct linux_binprm *bprm) | |||
2365 | initrlim = init_task.signal->rlim + i; | 2365 | initrlim = init_task.signal->rlim + i; |
2366 | rlim->rlim_cur = min(rlim->rlim_max, initrlim->rlim_cur); | 2366 | rlim->rlim_cur = min(rlim->rlim_max, initrlim->rlim_cur); |
2367 | } | 2367 | } |
2368 | update_rlimit_cpu(rlim->rlim_cur); | 2368 | update_rlimit_cpu(current->signal->rlim[RLIMIT_CPU].rlim_cur); |
2369 | } | 2369 | } |
2370 | } | 2370 | } |
2371 | 2371 | ||
diff --git a/sound/arm/aaci.c b/sound/arm/aaci.c index c5699863643b..656e474dca47 100644 --- a/sound/arm/aaci.c +++ b/sound/arm/aaci.c | |||
@@ -441,6 +441,7 @@ static int aaci_pcm_hw_params(struct snd_pcm_substream *substream, | |||
441 | struct snd_pcm_hw_params *params) | 441 | struct snd_pcm_hw_params *params) |
442 | { | 442 | { |
443 | int err; | 443 | int err; |
444 | struct aaci *aaci = substream->private_data; | ||
444 | 445 | ||
445 | aaci_pcm_hw_free(substream); | 446 | aaci_pcm_hw_free(substream); |
446 | if (aacirun->pcm_open) { | 447 | if (aacirun->pcm_open) { |
@@ -560,7 +561,6 @@ static int aaci_pcm_open(struct snd_pcm_substream *substream) | |||
560 | static int aaci_pcm_playback_hw_params(struct snd_pcm_substream *substream, | 561 | static int aaci_pcm_playback_hw_params(struct snd_pcm_substream *substream, |
561 | struct snd_pcm_hw_params *params) | 562 | struct snd_pcm_hw_params *params) |
562 | { | 563 | { |
563 | struct aaci *aaci = substream->private_data; | ||
564 | struct aaci_runtime *aacirun = substream->runtime->private_data; | 564 | struct aaci_runtime *aacirun = substream->runtime->private_data; |
565 | unsigned int channels = params_channels(params); | 565 | unsigned int channels = params_channels(params); |
566 | int ret; | 566 | int ret; |
@@ -659,7 +659,6 @@ static struct snd_pcm_ops aaci_playback_ops = { | |||
659 | static int aaci_pcm_capture_hw_params(struct snd_pcm_substream *substream, | 659 | static int aaci_pcm_capture_hw_params(struct snd_pcm_substream *substream, |
660 | struct snd_pcm_hw_params *params) | 660 | struct snd_pcm_hw_params *params) |
661 | { | 661 | { |
662 | struct aaci *aaci = substream->private_data; | ||
663 | struct aaci_runtime *aacirun = substream->runtime->private_data; | 662 | struct aaci_runtime *aacirun = substream->runtime->private_data; |
664 | int ret; | 663 | int ret; |
665 | 664 | ||
diff --git a/sound/core/pcm_native.c b/sound/core/pcm_native.c index 9cbaf90d3d88..053c6d612a2a 100644 --- a/sound/core/pcm_native.c +++ b/sound/core/pcm_native.c | |||
@@ -1956,13 +1956,13 @@ int snd_pcm_hw_constraints_complete(struct snd_pcm_substream *substream) | |||
1956 | 1956 | ||
1957 | err = snd_pcm_hw_constraint_minmax(runtime, SNDRV_PCM_HW_PARAM_RATE, | 1957 | err = snd_pcm_hw_constraint_minmax(runtime, SNDRV_PCM_HW_PARAM_RATE, |
1958 | hw->rate_min, hw->rate_max); | 1958 | hw->rate_min, hw->rate_max); |
1959 | if (err < 0) | 1959 | if (err < 0) |
1960 | return err; | 1960 | return err; |
1961 | 1961 | ||
1962 | err = snd_pcm_hw_constraint_minmax(runtime, SNDRV_PCM_HW_PARAM_PERIOD_BYTES, | 1962 | err = snd_pcm_hw_constraint_minmax(runtime, SNDRV_PCM_HW_PARAM_PERIOD_BYTES, |
1963 | hw->period_bytes_min, hw->period_bytes_max); | 1963 | hw->period_bytes_min, hw->period_bytes_max); |
1964 | if (err < 0) | 1964 | if (err < 0) |
1965 | return err; | 1965 | return err; |
1966 | 1966 | ||
1967 | err = snd_pcm_hw_constraint_minmax(runtime, SNDRV_PCM_HW_PARAM_PERIODS, | 1967 | err = snd_pcm_hw_constraint_minmax(runtime, SNDRV_PCM_HW_PARAM_PERIODS, |
1968 | hw->periods_min, hw->periods_max); | 1968 | hw->periods_min, hw->periods_max); |
diff --git a/sound/isa/sb/emu8000.c b/sound/isa/sb/emu8000.c index 751762f1c59a..0c40951b6523 100644 --- a/sound/isa/sb/emu8000.c +++ b/sound/isa/sb/emu8000.c | |||
@@ -377,12 +377,13 @@ init_arrays(struct snd_emu8000 *emu) | |||
377 | static void __devinit | 377 | static void __devinit |
378 | size_dram(struct snd_emu8000 *emu) | 378 | size_dram(struct snd_emu8000 *emu) |
379 | { | 379 | { |
380 | int i, size; | 380 | int i, size, detected_size; |
381 | 381 | ||
382 | if (emu->dram_checked) | 382 | if (emu->dram_checked) |
383 | return; | 383 | return; |
384 | 384 | ||
385 | size = 0; | 385 | size = 0; |
386 | detected_size = 0; | ||
386 | 387 | ||
387 | /* write out a magic number */ | 388 | /* write out a magic number */ |
388 | snd_emu8000_dma_chan(emu, 0, EMU8000_RAM_WRITE); | 389 | snd_emu8000_dma_chan(emu, 0, EMU8000_RAM_WRITE); |
@@ -393,6 +394,8 @@ size_dram(struct snd_emu8000 *emu) | |||
393 | 394 | ||
394 | while (size < EMU8000_MAX_DRAM) { | 395 | while (size < EMU8000_MAX_DRAM) { |
395 | 396 | ||
397 | size += 512 * 1024; /* increment 512kbytes */ | ||
398 | |||
396 | /* Write a unique data on the test address. | 399 | /* Write a unique data on the test address. |
397 | * if the address is out of range, the data is written on | 400 | * if the address is out of range, the data is written on |
398 | * 0x200000(=EMU8000_DRAM_OFFSET). Then the id word is | 401 | * 0x200000(=EMU8000_DRAM_OFFSET). Then the id word is |
@@ -414,7 +417,7 @@ size_dram(struct snd_emu8000 *emu) | |||
414 | if (EMU8000_SMLD_READ(emu) != UNIQUE_ID2) | 417 | if (EMU8000_SMLD_READ(emu) != UNIQUE_ID2) |
415 | break; /* no memory at this address */ | 418 | break; /* no memory at this address */ |
416 | 419 | ||
417 | size += 512 * 1024; /* increment 512kbytes */ | 420 | detected_size = size; |
418 | 421 | ||
419 | snd_emu8000_read_wait(emu); | 422 | snd_emu8000_read_wait(emu); |
420 | 423 | ||
@@ -442,9 +445,9 @@ size_dram(struct snd_emu8000 *emu) | |||
442 | snd_emu8000_dma_chan(emu, 1, EMU8000_RAM_CLOSE); | 445 | snd_emu8000_dma_chan(emu, 1, EMU8000_RAM_CLOSE); |
443 | 446 | ||
444 | snd_printdd("EMU8000 [0x%lx]: %d Kb on-board memory detected\n", | 447 | snd_printdd("EMU8000 [0x%lx]: %d Kb on-board memory detected\n", |
445 | emu->port1, size/1024); | 448 | emu->port1, detected_size/1024); |
446 | 449 | ||
447 | emu->mem_size = size; | 450 | emu->mem_size = detected_size; |
448 | emu->dram_checked = 1; | 451 | emu->dram_checked = 1; |
449 | } | 452 | } |
450 | 453 | ||
diff --git a/sound/oss/dev_table.c b/sound/oss/dev_table.c index 08274c995d06..727bdb9ba2dc 100644 --- a/sound/oss/dev_table.c +++ b/sound/oss/dev_table.c | |||
@@ -67,14 +67,15 @@ int sound_install_audiodrv(int vers, char *name, struct audio_driver *driver, | |||
67 | return -(EBUSY); | 67 | return -(EBUSY); |
68 | } | 68 | } |
69 | d = (struct audio_driver *) (sound_mem_blocks[sound_nblocks] = vmalloc(sizeof(struct audio_driver))); | 69 | d = (struct audio_driver *) (sound_mem_blocks[sound_nblocks] = vmalloc(sizeof(struct audio_driver))); |
70 | 70 | sound_nblocks++; | |
71 | if (sound_nblocks < 1024) | 71 | if (sound_nblocks >= MAX_MEM_BLOCKS) |
72 | sound_nblocks++; | 72 | sound_nblocks = MAX_MEM_BLOCKS - 1; |
73 | 73 | ||
74 | op = (struct audio_operations *) (sound_mem_blocks[sound_nblocks] = vmalloc(sizeof(struct audio_operations))); | 74 | op = (struct audio_operations *) (sound_mem_blocks[sound_nblocks] = vmalloc(sizeof(struct audio_operations))); |
75 | sound_nblocks++; | ||
76 | if (sound_nblocks >= MAX_MEM_BLOCKS) | ||
77 | sound_nblocks = MAX_MEM_BLOCKS - 1; | ||
75 | 78 | ||
76 | if (sound_nblocks < 1024) | ||
77 | sound_nblocks++; | ||
78 | if (d == NULL || op == NULL) { | 79 | if (d == NULL || op == NULL) { |
79 | printk(KERN_ERR "Sound: Can't allocate driver for (%s)\n", name); | 80 | printk(KERN_ERR "Sound: Can't allocate driver for (%s)\n", name); |
80 | sound_unload_audiodev(num); | 81 | sound_unload_audiodev(num); |
@@ -128,9 +129,10 @@ int sound_install_mixer(int vers, char *name, struct mixer_operations *driver, | |||
128 | until you unload sound! */ | 129 | until you unload sound! */ |
129 | 130 | ||
130 | op = (struct mixer_operations *) (sound_mem_blocks[sound_nblocks] = vmalloc(sizeof(struct mixer_operations))); | 131 | op = (struct mixer_operations *) (sound_mem_blocks[sound_nblocks] = vmalloc(sizeof(struct mixer_operations))); |
132 | sound_nblocks++; | ||
133 | if (sound_nblocks >= MAX_MEM_BLOCKS) | ||
134 | sound_nblocks = MAX_MEM_BLOCKS - 1; | ||
131 | 135 | ||
132 | if (sound_nblocks < 1024) | ||
133 | sound_nblocks++; | ||
134 | if (op == NULL) { | 136 | if (op == NULL) { |
135 | printk(KERN_ERR "Sound: Can't allocate mixer driver for (%s)\n", name); | 137 | printk(KERN_ERR "Sound: Can't allocate mixer driver for (%s)\n", name); |
136 | return -ENOMEM; | 138 | return -ENOMEM; |
diff --git a/sound/oss/sound_config.h b/sound/oss/sound_config.h index 55271fbe7f49..9d35c4c65b9b 100644 --- a/sound/oss/sound_config.h +++ b/sound/oss/sound_config.h | |||
@@ -142,4 +142,6 @@ static inline int translate_mode(struct file *file) | |||
142 | #define TIMER_ARMED 121234 | 142 | #define TIMER_ARMED 121234 |
143 | #define TIMER_NOT_ARMED 1 | 143 | #define TIMER_NOT_ARMED 1 |
144 | 144 | ||
145 | #define MAX_MEM_BLOCKS 1024 | ||
146 | |||
145 | #endif | 147 | #endif |
diff --git a/sound/oss/soundcard.c b/sound/oss/soundcard.c index 61aaedae6b7e..c62530943888 100644 --- a/sound/oss/soundcard.c +++ b/sound/oss/soundcard.c | |||
@@ -56,7 +56,7 @@ | |||
56 | /* | 56 | /* |
57 | * Table for permanently allocated memory (used when unloading the module) | 57 | * Table for permanently allocated memory (used when unloading the module) |
58 | */ | 58 | */ |
59 | void * sound_mem_blocks[1024]; | 59 | void * sound_mem_blocks[MAX_MEM_BLOCKS]; |
60 | int sound_nblocks = 0; | 60 | int sound_nblocks = 0; |
61 | 61 | ||
62 | /* Persistent DMA buffers */ | 62 | /* Persistent DMA buffers */ |
@@ -574,7 +574,7 @@ static int __init oss_init(void) | |||
574 | NULL, "%s%d", dev_list[i].name, j); | 574 | NULL, "%s%d", dev_list[i].name, j); |
575 | } | 575 | } |
576 | 576 | ||
577 | if (sound_nblocks >= 1024) | 577 | if (sound_nblocks >= MAX_MEM_BLOCKS - 1) |
578 | printk(KERN_ERR "Sound warning: Deallocation table was too small.\n"); | 578 | printk(KERN_ERR "Sound warning: Deallocation table was too small.\n"); |
579 | 579 | ||
580 | return 0; | 580 | return 0; |
diff --git a/sound/pci/ac97/ac97_codec.c b/sound/pci/ac97/ac97_codec.c index c11920623009..a7630e9edf8a 100644 --- a/sound/pci/ac97/ac97_codec.c +++ b/sound/pci/ac97/ac97_codec.c | |||
@@ -83,6 +83,7 @@ static const struct ac97_codec_id snd_ac97_codec_id_vendors[] = { | |||
83 | { 0x4e534300, 0xffffff00, "National Semiconductor", NULL, NULL }, | 83 | { 0x4e534300, 0xffffff00, "National Semiconductor", NULL, NULL }, |
84 | { 0x50534300, 0xffffff00, "Philips", NULL, NULL }, | 84 | { 0x50534300, 0xffffff00, "Philips", NULL, NULL }, |
85 | { 0x53494c00, 0xffffff00, "Silicon Laboratory", NULL, NULL }, | 85 | { 0x53494c00, 0xffffff00, "Silicon Laboratory", NULL, NULL }, |
86 | { 0x53544d00, 0xffffff00, "STMicroelectronics", NULL, NULL }, | ||
86 | { 0x54524100, 0xffffff00, "TriTech", NULL, NULL }, | 87 | { 0x54524100, 0xffffff00, "TriTech", NULL, NULL }, |
87 | { 0x54584e00, 0xffffff00, "Texas Instruments", NULL, NULL }, | 88 | { 0x54584e00, 0xffffff00, "Texas Instruments", NULL, NULL }, |
88 | { 0x56494100, 0xffffff00, "VIA Technologies", NULL, NULL }, | 89 | { 0x56494100, 0xffffff00, "VIA Technologies", NULL, NULL }, |
@@ -161,6 +162,7 @@ static const struct ac97_codec_id snd_ac97_codec_ids[] = { | |||
161 | { 0x4e534350, 0xffffffff, "LM4550", patch_lm4550, NULL }, // volume wrap fix | 162 | { 0x4e534350, 0xffffffff, "LM4550", patch_lm4550, NULL }, // volume wrap fix |
162 | { 0x50534304, 0xffffffff, "UCB1400", patch_ucb1400, NULL }, | 163 | { 0x50534304, 0xffffffff, "UCB1400", patch_ucb1400, NULL }, |
163 | { 0x53494c20, 0xffffffe0, "Si3036,8", mpatch_si3036, mpatch_si3036, AC97_MODEM_PATCH }, | 164 | { 0x53494c20, 0xffffffe0, "Si3036,8", mpatch_si3036, mpatch_si3036, AC97_MODEM_PATCH }, |
165 | { 0x53544d02, 0xffffffff, "ST7597", NULL, NULL }, | ||
164 | { 0x54524102, 0xffffffff, "TR28022", NULL, NULL }, | 166 | { 0x54524102, 0xffffffff, "TR28022", NULL, NULL }, |
165 | { 0x54524103, 0xffffffff, "TR28023", NULL, NULL }, | 167 | { 0x54524103, 0xffffffff, "TR28023", NULL, NULL }, |
166 | { 0x54524106, 0xffffffff, "TR28026", NULL, NULL }, | 168 | { 0x54524106, 0xffffffff, "TR28026", NULL, NULL }, |
@@ -213,6 +215,14 @@ static int snd_ac97_valid_reg(struct snd_ac97 *ac97, unsigned short reg) | |||
213 | { | 215 | { |
214 | /* filter some registers for buggy codecs */ | 216 | /* filter some registers for buggy codecs */ |
215 | switch (ac97->id) { | 217 | switch (ac97->id) { |
218 | case AC97_ID_ST_AC97_ID4: | ||
219 | if (reg == 0x08) | ||
220 | return 0; | ||
221 | /* fall through */ | ||
222 | case AC97_ID_ST7597: | ||
223 | if (reg == 0x22 || reg == 0x7a) | ||
224 | return 1; | ||
225 | /* fall through */ | ||
216 | case AC97_ID_AK4540: | 226 | case AC97_ID_AK4540: |
217 | case AC97_ID_AK4542: | 227 | case AC97_ID_AK4542: |
218 | if (reg <= 0x1c || reg == 0x20 || reg == 0x26 || reg >= 0x7c) | 228 | if (reg <= 0x1c || reg == 0x20 || reg == 0x26 || reg >= 0x7c) |
diff --git a/sound/pci/ac97/ac97_id.h b/sound/pci/ac97/ac97_id.h index c129492c82b3..d603147c4a96 100644 --- a/sound/pci/ac97/ac97_id.h +++ b/sound/pci/ac97/ac97_id.h | |||
@@ -62,3 +62,5 @@ | |||
62 | #define AC97_ID_CM9761_78 0x434d4978 | 62 | #define AC97_ID_CM9761_78 0x434d4978 |
63 | #define AC97_ID_CM9761_82 0x434d4982 | 63 | #define AC97_ID_CM9761_82 0x434d4982 |
64 | #define AC97_ID_CM9761_83 0x434d4983 | 64 | #define AC97_ID_CM9761_83 0x434d4983 |
65 | #define AC97_ID_ST7597 0x53544d02 | ||
66 | #define AC97_ID_ST_AC97_ID4 0x53544d04 | ||
diff --git a/sound/pci/ac97/ac97_patch.c b/sound/pci/ac97/ac97_patch.c index e288a5595f34..1caf5e3c1f6a 100644 --- a/sound/pci/ac97/ac97_patch.c +++ b/sound/pci/ac97/ac97_patch.c | |||
@@ -1855,6 +1855,7 @@ static unsigned int ad1981_jacks_blacklist[] = { | |||
1855 | 0x10140554, /* Thinkpad T42p/R50p */ | 1855 | 0x10140554, /* Thinkpad T42p/R50p */ |
1856 | 0x10140567, /* Thinkpad T43p 2668-G7U */ | 1856 | 0x10140567, /* Thinkpad T43p 2668-G7U */ |
1857 | 0x10140581, /* Thinkpad X41-2527 */ | 1857 | 0x10140581, /* Thinkpad X41-2527 */ |
1858 | 0x10280160, /* Dell Dimension 2400 */ | ||
1858 | 0x104380b0, /* Asus A7V8X-MX */ | 1859 | 0x104380b0, /* Asus A7V8X-MX */ |
1859 | 0x11790241, /* Toshiba Satellite A-15 S127 */ | 1860 | 0x11790241, /* Toshiba Satellite A-15 S127 */ |
1860 | 0x144dc01a, /* Samsung NP-X20C004/SEG */ | 1861 | 0x144dc01a, /* Samsung NP-X20C004/SEG */ |
diff --git a/sound/pci/ctxfi/ctatc.c b/sound/pci/ctxfi/ctatc.c index cb65bd0dd35b..459c1f62783b 100644 --- a/sound/pci/ctxfi/ctatc.c +++ b/sound/pci/ctxfi/ctatc.c | |||
@@ -166,18 +166,7 @@ static void ct_unmap_audio_buffer(struct ct_atc *atc, struct ct_atc_pcm *apcm) | |||
166 | 166 | ||
167 | static unsigned long atc_get_ptp_phys(struct ct_atc *atc, int index) | 167 | static unsigned long atc_get_ptp_phys(struct ct_atc *atc, int index) |
168 | { | 168 | { |
169 | struct ct_vm *vm; | 169 | return atc->vm->get_ptp_phys(atc->vm, index); |
170 | void *kvirt_addr; | ||
171 | unsigned long phys_addr; | ||
172 | |||
173 | vm = atc->vm; | ||
174 | kvirt_addr = vm->get_ptp_virt(vm, index); | ||
175 | if (kvirt_addr == NULL) | ||
176 | phys_addr = (~0UL); | ||
177 | else | ||
178 | phys_addr = virt_to_phys(kvirt_addr); | ||
179 | |||
180 | return phys_addr; | ||
181 | } | 170 | } |
182 | 171 | ||
183 | static unsigned int convert_format(snd_pcm_format_t snd_format) | 172 | static unsigned int convert_format(snd_pcm_format_t snd_format) |
@@ -1669,7 +1658,7 @@ int __devinit ct_atc_create(struct snd_card *card, struct pci_dev *pci, | |||
1669 | } | 1658 | } |
1670 | 1659 | ||
1671 | /* Set up device virtual memory management object */ | 1660 | /* Set up device virtual memory management object */ |
1672 | err = ct_vm_create(&atc->vm); | 1661 | err = ct_vm_create(&atc->vm, pci); |
1673 | if (err < 0) | 1662 | if (err < 0) |
1674 | goto error1; | 1663 | goto error1; |
1675 | 1664 | ||
diff --git a/sound/pci/ctxfi/ctvmem.c b/sound/pci/ctxfi/ctvmem.c index 6b78752e9503..65da6e466f80 100644 --- a/sound/pci/ctxfi/ctvmem.c +++ b/sound/pci/ctxfi/ctvmem.c | |||
@@ -138,7 +138,7 @@ ct_vm_map(struct ct_vm *vm, struct snd_pcm_substream *substream, int size) | |||
138 | return NULL; | 138 | return NULL; |
139 | } | 139 | } |
140 | 140 | ||
141 | ptp = vm->ptp[0]; | 141 | ptp = (unsigned long *)vm->ptp[0].area; |
142 | pte_start = (block->addr >> CT_PAGE_SHIFT); | 142 | pte_start = (block->addr >> CT_PAGE_SHIFT); |
143 | pages = block->size >> CT_PAGE_SHIFT; | 143 | pages = block->size >> CT_PAGE_SHIFT; |
144 | for (i = 0; i < pages; i++) { | 144 | for (i = 0; i < pages; i++) { |
@@ -158,25 +158,25 @@ static void ct_vm_unmap(struct ct_vm *vm, struct ct_vm_block *block) | |||
158 | } | 158 | } |
159 | 159 | ||
160 | /* * | 160 | /* * |
161 | * return the host (kmalloced) addr of the @index-th device | 161 | * return the host physical addr of the @index-th device |
162 | * page talbe page on success, or NULL on failure. | 162 | * page table page on success, or ~0UL on failure. |
163 | * The first returned NULL indicates the termination. | 163 | * The first returned ~0UL indicates the termination. |
164 | * */ | 164 | * */ |
165 | static void * | 165 | static dma_addr_t |
166 | ct_get_ptp_virt(struct ct_vm *vm, int index) | 166 | ct_get_ptp_phys(struct ct_vm *vm, int index) |
167 | { | 167 | { |
168 | void *addr; | 168 | dma_addr_t addr; |
169 | 169 | ||
170 | addr = (index >= CT_PTP_NUM) ? NULL : vm->ptp[index]; | 170 | addr = (index >= CT_PTP_NUM) ? ~0UL : vm->ptp[index].addr; |
171 | 171 | ||
172 | return addr; | 172 | return addr; |
173 | } | 173 | } |
174 | 174 | ||
175 | int ct_vm_create(struct ct_vm **rvm) | 175 | int ct_vm_create(struct ct_vm **rvm, struct pci_dev *pci) |
176 | { | 176 | { |
177 | struct ct_vm *vm; | 177 | struct ct_vm *vm; |
178 | struct ct_vm_block *block; | 178 | struct ct_vm_block *block; |
179 | int i; | 179 | int i, err = 0; |
180 | 180 | ||
181 | *rvm = NULL; | 181 | *rvm = NULL; |
182 | 182 | ||
@@ -188,23 +188,21 @@ int ct_vm_create(struct ct_vm **rvm) | |||
188 | 188 | ||
189 | /* Allocate page table pages */ | 189 | /* Allocate page table pages */ |
190 | for (i = 0; i < CT_PTP_NUM; i++) { | 190 | for (i = 0; i < CT_PTP_NUM; i++) { |
191 | vm->ptp[i] = kmalloc(PAGE_SIZE, GFP_KERNEL); | 191 | err = snd_dma_alloc_pages(SNDRV_DMA_TYPE_DEV, |
192 | if (!vm->ptp[i]) | 192 | snd_dma_pci_data(pci), |
193 | PAGE_SIZE, &vm->ptp[i]); | ||
194 | if (err < 0) | ||
193 | break; | 195 | break; |
194 | } | 196 | } |
195 | if (!i) { | 197 | if (err < 0) { |
196 | /* no page table pages are allocated */ | 198 | /* no page table pages are allocated */ |
197 | kfree(vm); | 199 | ct_vm_destroy(vm); |
198 | return -ENOMEM; | 200 | return -ENOMEM; |
199 | } | 201 | } |
200 | vm->size = CT_ADDRS_PER_PAGE * i; | 202 | vm->size = CT_ADDRS_PER_PAGE * i; |
201 | /* Initialise remaining ptps */ | ||
202 | for (; i < CT_PTP_NUM; i++) | ||
203 | vm->ptp[i] = NULL; | ||
204 | |||
205 | vm->map = ct_vm_map; | 203 | vm->map = ct_vm_map; |
206 | vm->unmap = ct_vm_unmap; | 204 | vm->unmap = ct_vm_unmap; |
207 | vm->get_ptp_virt = ct_get_ptp_virt; | 205 | vm->get_ptp_phys = ct_get_ptp_phys; |
208 | INIT_LIST_HEAD(&vm->unused); | 206 | INIT_LIST_HEAD(&vm->unused); |
209 | INIT_LIST_HEAD(&vm->used); | 207 | INIT_LIST_HEAD(&vm->used); |
210 | block = kzalloc(sizeof(*block), GFP_KERNEL); | 208 | block = kzalloc(sizeof(*block), GFP_KERNEL); |
@@ -242,7 +240,7 @@ void ct_vm_destroy(struct ct_vm *vm) | |||
242 | 240 | ||
243 | /* free allocated page table pages */ | 241 | /* free allocated page table pages */ |
244 | for (i = 0; i < CT_PTP_NUM; i++) | 242 | for (i = 0; i < CT_PTP_NUM; i++) |
245 | kfree(vm->ptp[i]); | 243 | snd_dma_free_pages(&vm->ptp[i]); |
246 | 244 | ||
247 | vm->size = 0; | 245 | vm->size = 0; |
248 | 246 | ||
diff --git a/sound/pci/ctxfi/ctvmem.h b/sound/pci/ctxfi/ctvmem.h index 01e4fd0386a3..b23adfca4de6 100644 --- a/sound/pci/ctxfi/ctvmem.h +++ b/sound/pci/ctxfi/ctvmem.h | |||
@@ -22,6 +22,8 @@ | |||
22 | 22 | ||
23 | #include <linux/mutex.h> | 23 | #include <linux/mutex.h> |
24 | #include <linux/list.h> | 24 | #include <linux/list.h> |
25 | #include <linux/pci.h> | ||
26 | #include <sound/memalloc.h> | ||
25 | 27 | ||
26 | /* The chip can handle the page table of 4k pages | 28 | /* The chip can handle the page table of 4k pages |
27 | * (emu20k1 can handle even 8k pages, but we don't use it right now) | 29 | * (emu20k1 can handle even 8k pages, but we don't use it right now) |
@@ -41,7 +43,7 @@ struct snd_pcm_substream; | |||
41 | 43 | ||
42 | /* Virtual memory management object for card device */ | 44 | /* Virtual memory management object for card device */ |
43 | struct ct_vm { | 45 | struct ct_vm { |
44 | void *ptp[CT_PTP_NUM]; /* Device page table pages */ | 46 | struct snd_dma_buffer ptp[CT_PTP_NUM]; /* Device page table pages */ |
45 | unsigned int size; /* Available addr space in bytes */ | 47 | unsigned int size; /* Available addr space in bytes */ |
46 | struct list_head unused; /* List of unused blocks */ | 48 | struct list_head unused; /* List of unused blocks */ |
47 | struct list_head used; /* List of used blocks */ | 49 | struct list_head used; /* List of used blocks */ |
@@ -52,10 +54,10 @@ struct ct_vm { | |||
52 | int size); | 54 | int size); |
53 | /* Unmap device logical addr area. */ | 55 | /* Unmap device logical addr area. */ |
54 | void (*unmap)(struct ct_vm *, struct ct_vm_block *block); | 56 | void (*unmap)(struct ct_vm *, struct ct_vm_block *block); |
55 | void *(*get_ptp_virt)(struct ct_vm *vm, int index); | 57 | dma_addr_t (*get_ptp_phys)(struct ct_vm *vm, int index); |
56 | }; | 58 | }; |
57 | 59 | ||
58 | int ct_vm_create(struct ct_vm **rvm); | 60 | int ct_vm_create(struct ct_vm **rvm, struct pci_dev *pci); |
59 | void ct_vm_destroy(struct ct_vm *vm); | 61 | void ct_vm_destroy(struct ct_vm *vm); |
60 | 62 | ||
61 | #endif /* CTVMEM_H */ | 63 | #endif /* CTVMEM_H */ |
diff --git a/sound/pci/hda/hda_beep.c b/sound/pci/hda/hda_beep.c index 5fe34a8d8c81..e4581a42ace5 100644 --- a/sound/pci/hda/hda_beep.c +++ b/sound/pci/hda/hda_beep.c | |||
@@ -42,7 +42,7 @@ static void snd_hda_generate_beep(struct work_struct *work) | |||
42 | return; | 42 | return; |
43 | 43 | ||
44 | /* generate tone */ | 44 | /* generate tone */ |
45 | snd_hda_codec_write_cache(codec, beep->nid, 0, | 45 | snd_hda_codec_write(codec, beep->nid, 0, |
46 | AC_VERB_SET_BEEP_CONTROL, beep->tone); | 46 | AC_VERB_SET_BEEP_CONTROL, beep->tone); |
47 | } | 47 | } |
48 | 48 | ||
@@ -119,7 +119,7 @@ static void snd_hda_do_detach(struct hda_beep *beep) | |||
119 | beep->dev = NULL; | 119 | beep->dev = NULL; |
120 | cancel_work_sync(&beep->beep_work); | 120 | cancel_work_sync(&beep->beep_work); |
121 | /* turn off beep for sure */ | 121 | /* turn off beep for sure */ |
122 | snd_hda_codec_write_cache(beep->codec, beep->nid, 0, | 122 | snd_hda_codec_write(beep->codec, beep->nid, 0, |
123 | AC_VERB_SET_BEEP_CONTROL, 0); | 123 | AC_VERB_SET_BEEP_CONTROL, 0); |
124 | } | 124 | } |
125 | 125 | ||
@@ -192,7 +192,7 @@ int snd_hda_enable_beep_device(struct hda_codec *codec, int enable) | |||
192 | beep->enabled = enable; | 192 | beep->enabled = enable; |
193 | if (!enable) { | 193 | if (!enable) { |
194 | /* turn off beep */ | 194 | /* turn off beep */ |
195 | snd_hda_codec_write_cache(beep->codec, beep->nid, 0, | 195 | snd_hda_codec_write(beep->codec, beep->nid, 0, |
196 | AC_VERB_SET_BEEP_CONTROL, 0); | 196 | AC_VERB_SET_BEEP_CONTROL, 0); |
197 | } | 197 | } |
198 | if (beep->mode == HDA_BEEP_MODE_SWREG) { | 198 | if (beep->mode == HDA_BEEP_MODE_SWREG) { |
@@ -239,8 +239,12 @@ int snd_hda_attach_beep_device(struct hda_codec *codec, int nid) | |||
239 | mutex_init(&beep->mutex); | 239 | mutex_init(&beep->mutex); |
240 | 240 | ||
241 | if (beep->mode == HDA_BEEP_MODE_ON) { | 241 | if (beep->mode == HDA_BEEP_MODE_ON) { |
242 | beep->enabled = 1; | 242 | int err = snd_hda_do_attach(beep); |
243 | snd_hda_do_register(&beep->register_work); | 243 | if (err < 0) { |
244 | kfree(beep); | ||
245 | codec->beep = NULL; | ||
246 | return err; | ||
247 | } | ||
244 | } | 248 | } |
245 | 249 | ||
246 | return 0; | 250 | return 0; |
@@ -253,7 +257,7 @@ void snd_hda_detach_beep_device(struct hda_codec *codec) | |||
253 | if (beep) { | 257 | if (beep) { |
254 | cancel_work_sync(&beep->register_work); | 258 | cancel_work_sync(&beep->register_work); |
255 | cancel_delayed_work(&beep->unregister_work); | 259 | cancel_delayed_work(&beep->unregister_work); |
256 | if (beep->enabled) | 260 | if (beep->dev) |
257 | snd_hda_do_detach(beep); | 261 | snd_hda_do_detach(beep); |
258 | codec->beep = NULL; | 262 | codec->beep = NULL; |
259 | kfree(beep); | 263 | kfree(beep); |
diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c index d02ea8926e7e..26ceace88c96 100644 --- a/sound/pci/hda/hda_codec.c +++ b/sound/pci/hda/hda_codec.c | |||
@@ -1351,11 +1351,13 @@ EXPORT_SYMBOL_HDA(snd_hda_query_pin_caps); | |||
1351 | */ | 1351 | */ |
1352 | u32 snd_hda_pin_sense(struct hda_codec *codec, hda_nid_t nid) | 1352 | u32 snd_hda_pin_sense(struct hda_codec *codec, hda_nid_t nid) |
1353 | { | 1353 | { |
1354 | u32 pincap = snd_hda_query_pin_caps(codec, nid); | 1354 | u32 pincap; |
1355 | |||
1356 | if (pincap & AC_PINCAP_TRIG_REQ) /* need trigger? */ | ||
1357 | snd_hda_codec_read(codec, nid, 0, AC_VERB_SET_PIN_SENSE, 0); | ||
1358 | 1355 | ||
1356 | if (!codec->no_trigger_sense) { | ||
1357 | pincap = snd_hda_query_pin_caps(codec, nid); | ||
1358 | if (pincap & AC_PINCAP_TRIG_REQ) /* need trigger? */ | ||
1359 | snd_hda_codec_read(codec, nid, 0, AC_VERB_SET_PIN_SENSE, 0); | ||
1360 | } | ||
1359 | return snd_hda_codec_read(codec, nid, 0, | 1361 | return snd_hda_codec_read(codec, nid, 0, |
1360 | AC_VERB_GET_PIN_SENSE, 0); | 1362 | AC_VERB_GET_PIN_SENSE, 0); |
1361 | } | 1363 | } |
diff --git a/sound/pci/hda/hda_codec.h b/sound/pci/hda/hda_codec.h index 11c4aa8ee996..0c8f05cc56be 100644 --- a/sound/pci/hda/hda_codec.h +++ b/sound/pci/hda/hda_codec.h | |||
@@ -818,6 +818,7 @@ struct hda_codec { | |||
818 | unsigned int pin_amp_workaround:1; /* pin out-amp takes index | 818 | unsigned int pin_amp_workaround:1; /* pin out-amp takes index |
819 | * (e.g. Conexant codecs) | 819 | * (e.g. Conexant codecs) |
820 | */ | 820 | */ |
821 | unsigned int no_trigger_sense:1; /* don't trigger at pin-sensing */ | ||
821 | #ifdef CONFIG_SND_HDA_POWER_SAVE | 822 | #ifdef CONFIG_SND_HDA_POWER_SAVE |
822 | unsigned int power_on :1; /* current (global) power-state */ | 823 | unsigned int power_on :1; /* current (global) power-state */ |
823 | unsigned int power_transition :1; /* power-state in transition */ | 824 | unsigned int power_transition :1; /* power-state in transition */ |
diff --git a/sound/pci/hda/patch_analog.c b/sound/pci/hda/patch_analog.c index 865715e3f938..214301d568fa 100644 --- a/sound/pci/hda/patch_analog.c +++ b/sound/pci/hda/patch_analog.c | |||
@@ -1276,6 +1276,8 @@ static int patch_ad1986a(struct hda_codec *codec) | |||
1276 | */ | 1276 | */ |
1277 | spec->multiout.no_share_stream = 1; | 1277 | spec->multiout.no_share_stream = 1; |
1278 | 1278 | ||
1279 | codec->no_trigger_sense = 1; | ||
1280 | |||
1279 | return 0; | 1281 | return 0; |
1280 | } | 1282 | } |
1281 | 1283 | ||
@@ -1461,6 +1463,8 @@ static int patch_ad1983(struct hda_codec *codec) | |||
1461 | 1463 | ||
1462 | codec->patch_ops = ad198x_patch_ops; | 1464 | codec->patch_ops = ad198x_patch_ops; |
1463 | 1465 | ||
1466 | codec->no_trigger_sense = 1; | ||
1467 | |||
1464 | return 0; | 1468 | return 0; |
1465 | } | 1469 | } |
1466 | 1470 | ||
@@ -1904,6 +1908,9 @@ static int patch_ad1981(struct hda_codec *codec) | |||
1904 | codec->patch_ops.unsol_event = ad1981_hp_unsol_event; | 1908 | codec->patch_ops.unsol_event = ad1981_hp_unsol_event; |
1905 | break; | 1909 | break; |
1906 | } | 1910 | } |
1911 | |||
1912 | codec->no_trigger_sense = 1; | ||
1913 | |||
1907 | return 0; | 1914 | return 0; |
1908 | } | 1915 | } |
1909 | 1916 | ||
@@ -3220,6 +3227,8 @@ static int patch_ad1988(struct hda_codec *codec) | |||
3220 | #endif | 3227 | #endif |
3221 | spec->vmaster_nid = 0x04; | 3228 | spec->vmaster_nid = 0x04; |
3222 | 3229 | ||
3230 | codec->no_trigger_sense = 1; | ||
3231 | |||
3223 | return 0; | 3232 | return 0; |
3224 | } | 3233 | } |
3225 | 3234 | ||
@@ -3432,6 +3441,8 @@ static int patch_ad1884(struct hda_codec *codec) | |||
3432 | 3441 | ||
3433 | codec->patch_ops = ad198x_patch_ops; | 3442 | codec->patch_ops = ad198x_patch_ops; |
3434 | 3443 | ||
3444 | codec->no_trigger_sense = 1; | ||
3445 | |||
3435 | return 0; | 3446 | return 0; |
3436 | } | 3447 | } |
3437 | 3448 | ||
@@ -4392,6 +4403,8 @@ static int patch_ad1884a(struct hda_codec *codec) | |||
4392 | break; | 4403 | break; |
4393 | } | 4404 | } |
4394 | 4405 | ||
4406 | codec->no_trigger_sense = 1; | ||
4407 | |||
4395 | return 0; | 4408 | return 0; |
4396 | } | 4409 | } |
4397 | 4410 | ||
@@ -4728,6 +4741,9 @@ static int patch_ad1882(struct hda_codec *codec) | |||
4728 | spec->mixers[2] = ad1882_6stack_mixers; | 4741 | spec->mixers[2] = ad1882_6stack_mixers; |
4729 | break; | 4742 | break; |
4730 | } | 4743 | } |
4744 | |||
4745 | codec->no_trigger_sense = 1; | ||
4746 | |||
4731 | return 0; | 4747 | return 0; |
4732 | } | 4748 | } |
4733 | 4749 | ||
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index e28c810bc00c..117919aa17f4 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c | |||
@@ -4460,14 +4460,7 @@ static inline int get_pin_presence(struct hda_codec *codec, hda_nid_t nid) | |||
4460 | { | 4460 | { |
4461 | if (!nid) | 4461 | if (!nid) |
4462 | return 0; | 4462 | return 0; |
4463 | /* NOTE: we can't use snd_hda_jack_detect() here because STAC/IDT | 4463 | return snd_hda_jack_detect(codec, nid); |
4464 | * codecs behave wrongly when SET_PIN_SENSE is triggered, although | ||
4465 | * the pincap gives TRIG_REQ bit. | ||
4466 | */ | ||
4467 | if (snd_hda_codec_read(codec, nid, 0, AC_VERB_GET_PIN_SENSE, 0) & | ||
4468 | AC_PINSENSE_PRESENCE) | ||
4469 | return 1; | ||
4470 | return 0; | ||
4471 | } | 4464 | } |
4472 | 4465 | ||
4473 | static void stac92xx_line_out_detect(struct hda_codec *codec, | 4466 | static void stac92xx_line_out_detect(struct hda_codec *codec, |
@@ -4969,6 +4962,7 @@ static int patch_stac9200(struct hda_codec *codec) | |||
4969 | if (spec == NULL) | 4962 | if (spec == NULL) |
4970 | return -ENOMEM; | 4963 | return -ENOMEM; |
4971 | 4964 | ||
4965 | codec->no_trigger_sense = 1; | ||
4972 | codec->spec = spec; | 4966 | codec->spec = spec; |
4973 | spec->num_pins = ARRAY_SIZE(stac9200_pin_nids); | 4967 | spec->num_pins = ARRAY_SIZE(stac9200_pin_nids); |
4974 | spec->pin_nids = stac9200_pin_nids; | 4968 | spec->pin_nids = stac9200_pin_nids; |
@@ -5031,6 +5025,7 @@ static int patch_stac925x(struct hda_codec *codec) | |||
5031 | if (spec == NULL) | 5025 | if (spec == NULL) |
5032 | return -ENOMEM; | 5026 | return -ENOMEM; |
5033 | 5027 | ||
5028 | codec->no_trigger_sense = 1; | ||
5034 | codec->spec = spec; | 5029 | codec->spec = spec; |
5035 | spec->num_pins = ARRAY_SIZE(stac925x_pin_nids); | 5030 | spec->num_pins = ARRAY_SIZE(stac925x_pin_nids); |
5036 | spec->pin_nids = stac925x_pin_nids; | 5031 | spec->pin_nids = stac925x_pin_nids; |
@@ -5115,6 +5110,7 @@ static int patch_stac92hd73xx(struct hda_codec *codec) | |||
5115 | if (spec == NULL) | 5110 | if (spec == NULL) |
5116 | return -ENOMEM; | 5111 | return -ENOMEM; |
5117 | 5112 | ||
5113 | codec->no_trigger_sense = 1; | ||
5118 | codec->spec = spec; | 5114 | codec->spec = spec; |
5119 | codec->slave_dig_outs = stac92hd73xx_slave_dig_outs; | 5115 | codec->slave_dig_outs = stac92hd73xx_slave_dig_outs; |
5120 | spec->num_pins = ARRAY_SIZE(stac92hd73xx_pin_nids); | 5116 | spec->num_pins = ARRAY_SIZE(stac92hd73xx_pin_nids); |
@@ -5262,6 +5258,7 @@ static int patch_stac92hd83xxx(struct hda_codec *codec) | |||
5262 | if (spec == NULL) | 5258 | if (spec == NULL) |
5263 | return -ENOMEM; | 5259 | return -ENOMEM; |
5264 | 5260 | ||
5261 | codec->no_trigger_sense = 1; | ||
5265 | codec->spec = spec; | 5262 | codec->spec = spec; |
5266 | codec->slave_dig_outs = stac92hd83xxx_slave_dig_outs; | 5263 | codec->slave_dig_outs = stac92hd83xxx_slave_dig_outs; |
5267 | spec->digbeep_nid = 0x21; | 5264 | spec->digbeep_nid = 0x21; |
@@ -5473,6 +5470,7 @@ static int patch_stac92hd71bxx(struct hda_codec *codec) | |||
5473 | if (spec == NULL) | 5470 | if (spec == NULL) |
5474 | return -ENOMEM; | 5471 | return -ENOMEM; |
5475 | 5472 | ||
5473 | codec->no_trigger_sense = 1; | ||
5476 | codec->spec = spec; | 5474 | codec->spec = spec; |
5477 | codec->patch_ops = stac92xx_patch_ops; | 5475 | codec->patch_ops = stac92xx_patch_ops; |
5478 | spec->num_pins = STAC92HD71BXX_NUM_PINS; | 5476 | spec->num_pins = STAC92HD71BXX_NUM_PINS; |
@@ -5725,6 +5723,7 @@ static int patch_stac922x(struct hda_codec *codec) | |||
5725 | if (spec == NULL) | 5723 | if (spec == NULL) |
5726 | return -ENOMEM; | 5724 | return -ENOMEM; |
5727 | 5725 | ||
5726 | codec->no_trigger_sense = 1; | ||
5728 | codec->spec = spec; | 5727 | codec->spec = spec; |
5729 | spec->num_pins = ARRAY_SIZE(stac922x_pin_nids); | 5728 | spec->num_pins = ARRAY_SIZE(stac922x_pin_nids); |
5730 | spec->pin_nids = stac922x_pin_nids; | 5729 | spec->pin_nids = stac922x_pin_nids; |
@@ -5828,6 +5827,7 @@ static int patch_stac927x(struct hda_codec *codec) | |||
5828 | if (spec == NULL) | 5827 | if (spec == NULL) |
5829 | return -ENOMEM; | 5828 | return -ENOMEM; |
5830 | 5829 | ||
5830 | codec->no_trigger_sense = 1; | ||
5831 | codec->spec = spec; | 5831 | codec->spec = spec; |
5832 | codec->slave_dig_outs = stac927x_slave_dig_outs; | 5832 | codec->slave_dig_outs = stac927x_slave_dig_outs; |
5833 | spec->num_pins = ARRAY_SIZE(stac927x_pin_nids); | 5833 | spec->num_pins = ARRAY_SIZE(stac927x_pin_nids); |
@@ -5962,6 +5962,7 @@ static int patch_stac9205(struct hda_codec *codec) | |||
5962 | if (spec == NULL) | 5962 | if (spec == NULL) |
5963 | return -ENOMEM; | 5963 | return -ENOMEM; |
5964 | 5964 | ||
5965 | codec->no_trigger_sense = 1; | ||
5965 | codec->spec = spec; | 5966 | codec->spec = spec; |
5966 | spec->num_pins = ARRAY_SIZE(stac9205_pin_nids); | 5967 | spec->num_pins = ARRAY_SIZE(stac9205_pin_nids); |
5967 | spec->pin_nids = stac9205_pin_nids; | 5968 | spec->pin_nids = stac9205_pin_nids; |
@@ -6117,6 +6118,7 @@ static int patch_stac9872(struct hda_codec *codec) | |||
6117 | spec = kzalloc(sizeof(*spec), GFP_KERNEL); | 6118 | spec = kzalloc(sizeof(*spec), GFP_KERNEL); |
6118 | if (spec == NULL) | 6119 | if (spec == NULL) |
6119 | return -ENOMEM; | 6120 | return -ENOMEM; |
6121 | codec->no_trigger_sense = 1; | ||
6120 | codec->spec = spec; | 6122 | codec->spec = spec; |
6121 | spec->num_pins = ARRAY_SIZE(stac9872_pin_nids); | 6123 | spec->num_pins = ARRAY_SIZE(stac9872_pin_nids); |
6122 | spec->pin_nids = stac9872_pin_nids; | 6124 | spec->pin_nids = stac9872_pin_nids; |
diff --git a/sound/pci/ice1712/aureon.c b/sound/pci/ice1712/aureon.c index 765d7bd4c3d4..9e66f6d306f8 100644 --- a/sound/pci/ice1712/aureon.c +++ b/sound/pci/ice1712/aureon.c | |||
@@ -703,11 +703,13 @@ static void wm_set_vol(struct snd_ice1712 *ice, unsigned int index, unsigned sho | |||
703 | { | 703 | { |
704 | unsigned char nvol; | 704 | unsigned char nvol; |
705 | 705 | ||
706 | if ((master & WM_VOL_MUTE) || (vol & WM_VOL_MUTE)) | 706 | if ((master & WM_VOL_MUTE) || (vol & WM_VOL_MUTE)) { |
707 | nvol = 0; | 707 | nvol = 0; |
708 | else | 708 | } else { |
709 | nvol = ((vol % WM_VOL_CNT) * (master % WM_VOL_CNT)) / | 709 | nvol = ((vol % WM_VOL_CNT) * (master % WM_VOL_CNT)) / |
710 | WM_VOL_MAX; | 710 | WM_VOL_MAX; |
711 | nvol += 0x1b; | ||
712 | } | ||
711 | 713 | ||
712 | wm_put(ice, index, nvol); | 714 | wm_put(ice, index, nvol); |
713 | wm_put_nocache(ice, index, 0x180 | nvol); | 715 | wm_put_nocache(ice, index, 0x180 | nvol); |
@@ -778,7 +780,7 @@ static int wm_master_vol_put(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_ | |||
778 | for (ch = 0; ch < 2; ch++) { | 780 | for (ch = 0; ch < 2; ch++) { |
779 | unsigned int vol = ucontrol->value.integer.value[ch]; | 781 | unsigned int vol = ucontrol->value.integer.value[ch]; |
780 | if (vol > WM_VOL_MAX) | 782 | if (vol > WM_VOL_MAX) |
781 | continue; | 783 | vol = WM_VOL_MAX; |
782 | vol |= spec->master[ch] & WM_VOL_MUTE; | 784 | vol |= spec->master[ch] & WM_VOL_MUTE; |
783 | if (vol != spec->master[ch]) { | 785 | if (vol != spec->master[ch]) { |
784 | int dac; | 786 | int dac; |
@@ -834,8 +836,8 @@ static int wm_vol_put(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_value * | |||
834 | for (i = 0; i < voices; i++) { | 836 | for (i = 0; i < voices; i++) { |
835 | unsigned int vol = ucontrol->value.integer.value[i]; | 837 | unsigned int vol = ucontrol->value.integer.value[i]; |
836 | if (vol > WM_VOL_MAX) | 838 | if (vol > WM_VOL_MAX) |
837 | continue; | 839 | vol = WM_VOL_MAX; |
838 | vol |= spec->vol[ofs+i]; | 840 | vol |= spec->vol[ofs+i] & WM_VOL_MUTE; |
839 | if (vol != spec->vol[ofs+i]) { | 841 | if (vol != spec->vol[ofs+i]) { |
840 | spec->vol[ofs+i] = vol; | 842 | spec->vol[ofs+i] = vol; |
841 | idx = WM_DAC_ATTEN + ofs + i; | 843 | idx = WM_DAC_ATTEN + ofs + i; |
diff --git a/sound/soc/codecs/ac97.c b/sound/soc/codecs/ac97.c index 69bd0acc81c8..a1bbe16b7f96 100644 --- a/sound/soc/codecs/ac97.c +++ b/sound/soc/codecs/ac97.c | |||
@@ -102,6 +102,12 @@ static int ac97_soc_probe(struct platform_device *pdev) | |||
102 | INIT_LIST_HEAD(&codec->dapm_widgets); | 102 | INIT_LIST_HEAD(&codec->dapm_widgets); |
103 | INIT_LIST_HEAD(&codec->dapm_paths); | 103 | INIT_LIST_HEAD(&codec->dapm_paths); |
104 | 104 | ||
105 | ret = snd_soc_new_ac97_codec(codec, &soc_ac97_ops, 0); | ||
106 | if (ret < 0) { | ||
107 | printk(KERN_ERR "ASoC: failed to init gen ac97 glue\n"); | ||
108 | goto err; | ||
109 | } | ||
110 | |||
105 | /* register pcms */ | 111 | /* register pcms */ |
106 | ret = snd_soc_new_pcms(socdev, SNDRV_DEFAULT_IDX1, SNDRV_DEFAULT_STR1); | 112 | ret = snd_soc_new_pcms(socdev, SNDRV_DEFAULT_IDX1, SNDRV_DEFAULT_STR1); |
107 | if (ret < 0) | 113 | if (ret < 0) |
diff --git a/sound/soc/codecs/wm8510.c b/sound/soc/codecs/wm8510.c index 265e68c75df8..af8cb6995a1f 100644 --- a/sound/soc/codecs/wm8510.c +++ b/sound/soc/codecs/wm8510.c | |||
@@ -424,23 +424,23 @@ static int wm8510_pcm_hw_params(struct snd_pcm_substream *substream, | |||
424 | 424 | ||
425 | /* filter coefficient */ | 425 | /* filter coefficient */ |
426 | switch (params_rate(params)) { | 426 | switch (params_rate(params)) { |
427 | case SNDRV_PCM_RATE_8000: | 427 | case 8000: |
428 | adn |= 0x5 << 1; | 428 | adn |= 0x5 << 1; |
429 | break; | 429 | break; |
430 | case SNDRV_PCM_RATE_11025: | 430 | case 11025: |
431 | adn |= 0x4 << 1; | 431 | adn |= 0x4 << 1; |
432 | break; | 432 | break; |
433 | case SNDRV_PCM_RATE_16000: | 433 | case 16000: |
434 | adn |= 0x3 << 1; | 434 | adn |= 0x3 << 1; |
435 | break; | 435 | break; |
436 | case SNDRV_PCM_RATE_22050: | 436 | case 22050: |
437 | adn |= 0x2 << 1; | 437 | adn |= 0x2 << 1; |
438 | break; | 438 | break; |
439 | case SNDRV_PCM_RATE_32000: | 439 | case 32000: |
440 | adn |= 0x1 << 1; | 440 | adn |= 0x1 << 1; |
441 | break; | 441 | break; |
442 | case SNDRV_PCM_RATE_44100: | 442 | case 44100: |
443 | case SNDRV_PCM_RATE_48000: | 443 | case 48000: |
444 | break; | 444 | break; |
445 | } | 445 | } |
446 | 446 | ||
diff --git a/sound/soc/codecs/wm8940.c b/sound/soc/codecs/wm8940.c index 3d850b97037a..31e39ffd1d8e 100644 --- a/sound/soc/codecs/wm8940.c +++ b/sound/soc/codecs/wm8940.c | |||
@@ -378,23 +378,23 @@ static int wm8940_i2s_hw_params(struct snd_pcm_substream *substream, | |||
378 | iface |= (1 << 9); | 378 | iface |= (1 << 9); |
379 | 379 | ||
380 | switch (params_rate(params)) { | 380 | switch (params_rate(params)) { |
381 | case SNDRV_PCM_RATE_8000: | 381 | case 8000: |
382 | addcntrl |= (0x5 << 1); | 382 | addcntrl |= (0x5 << 1); |
383 | break; | 383 | break; |
384 | case SNDRV_PCM_RATE_11025: | 384 | case 11025: |
385 | addcntrl |= (0x4 << 1); | 385 | addcntrl |= (0x4 << 1); |
386 | break; | 386 | break; |
387 | case SNDRV_PCM_RATE_16000: | 387 | case 16000: |
388 | addcntrl |= (0x3 << 1); | 388 | addcntrl |= (0x3 << 1); |
389 | break; | 389 | break; |
390 | case SNDRV_PCM_RATE_22050: | 390 | case 22050: |
391 | addcntrl |= (0x2 << 1); | 391 | addcntrl |= (0x2 << 1); |
392 | break; | 392 | break; |
393 | case SNDRV_PCM_RATE_32000: | 393 | case 32000: |
394 | addcntrl |= (0x1 << 1); | 394 | addcntrl |= (0x1 << 1); |
395 | break; | 395 | break; |
396 | case SNDRV_PCM_RATE_44100: | 396 | case 44100: |
397 | case SNDRV_PCM_RATE_48000: | 397 | case 48000: |
398 | break; | 398 | break; |
399 | } | 399 | } |
400 | ret = snd_soc_write(codec, WM8940_ADDCNTRL, addcntrl); | 400 | ret = snd_soc_write(codec, WM8940_ADDCNTRL, addcntrl); |
diff --git a/sound/soc/codecs/wm8974.c b/sound/soc/codecs/wm8974.c index a808675388fc..8812751da8c9 100644 --- a/sound/soc/codecs/wm8974.c +++ b/sound/soc/codecs/wm8974.c | |||
@@ -482,23 +482,23 @@ static int wm8974_pcm_hw_params(struct snd_pcm_substream *substream, | |||
482 | 482 | ||
483 | /* filter coefficient */ | 483 | /* filter coefficient */ |
484 | switch (params_rate(params)) { | 484 | switch (params_rate(params)) { |
485 | case SNDRV_PCM_RATE_8000: | 485 | case 8000: |
486 | adn |= 0x5 << 1; | 486 | adn |= 0x5 << 1; |
487 | break; | 487 | break; |
488 | case SNDRV_PCM_RATE_11025: | 488 | case 11025: |
489 | adn |= 0x4 << 1; | 489 | adn |= 0x4 << 1; |
490 | break; | 490 | break; |
491 | case SNDRV_PCM_RATE_16000: | 491 | case 16000: |
492 | adn |= 0x3 << 1; | 492 | adn |= 0x3 << 1; |
493 | break; | 493 | break; |
494 | case SNDRV_PCM_RATE_22050: | 494 | case 22050: |
495 | adn |= 0x2 << 1; | 495 | adn |= 0x2 << 1; |
496 | break; | 496 | break; |
497 | case SNDRV_PCM_RATE_32000: | 497 | case 32000: |
498 | adn |= 0x1 << 1; | 498 | adn |= 0x1 << 1; |
499 | break; | 499 | break; |
500 | case SNDRV_PCM_RATE_44100: | 500 | case 44100: |
501 | case SNDRV_PCM_RATE_48000: | 501 | case 48000: |
502 | break; | 502 | break; |
503 | } | 503 | } |
504 | 504 | ||
diff --git a/sound/soc/sh/fsi-ak4642.c b/sound/soc/sh/fsi-ak4642.c index c7af09729c6e..5263ab18f827 100644 --- a/sound/soc/sh/fsi-ak4642.c +++ b/sound/soc/sh/fsi-ak4642.c | |||
@@ -42,42 +42,12 @@ static struct snd_soc_device fsi_snd_devdata = { | |||
42 | .codec_dev = &soc_codec_dev_ak4642, | 42 | .codec_dev = &soc_codec_dev_ak4642, |
43 | }; | 43 | }; |
44 | 44 | ||
45 | #define AK4642_BUS 0 | ||
46 | #define AK4642_ADR 0x12 | ||
47 | static int ak4642_add_i2c_device(void) | ||
48 | { | ||
49 | struct i2c_board_info info; | ||
50 | struct i2c_adapter *adapter; | ||
51 | struct i2c_client *client; | ||
52 | |||
53 | memset(&info, 0, sizeof(struct i2c_board_info)); | ||
54 | info.addr = AK4642_ADR; | ||
55 | strlcpy(info.type, "ak4642", I2C_NAME_SIZE); | ||
56 | |||
57 | adapter = i2c_get_adapter(AK4642_BUS); | ||
58 | if (!adapter) { | ||
59 | printk(KERN_DEBUG "can't get i2c adapter\n"); | ||
60 | return -ENODEV; | ||
61 | } | ||
62 | |||
63 | client = i2c_new_device(adapter, &info); | ||
64 | i2c_put_adapter(adapter); | ||
65 | if (!client) { | ||
66 | printk(KERN_DEBUG "can't add i2c device\n"); | ||
67 | return -ENODEV; | ||
68 | } | ||
69 | |||
70 | return 0; | ||
71 | } | ||
72 | |||
73 | static struct platform_device *fsi_snd_device; | 45 | static struct platform_device *fsi_snd_device; |
74 | 46 | ||
75 | static int __init fsi_ak4642_init(void) | 47 | static int __init fsi_ak4642_init(void) |
76 | { | 48 | { |
77 | int ret = -ENOMEM; | 49 | int ret = -ENOMEM; |
78 | 50 | ||
79 | ak4642_add_i2c_device(); | ||
80 | |||
81 | fsi_snd_device = platform_device_alloc("soc-audio", -1); | 51 | fsi_snd_device = platform_device_alloc("soc-audio", -1); |
82 | if (!fsi_snd_device) | 52 | if (!fsi_snd_device) |
83 | goto out; | 53 | goto out; |
diff --git a/sound/usb/usbmidi.c b/sound/usb/usbmidi.c index 8f5bc1e8dabc..b2da478a0fae 100644 --- a/sound/usb/usbmidi.c +++ b/sound/usb/usbmidi.c | |||
@@ -1162,10 +1162,22 @@ static int snd_usbmidi_out_endpoint_create(struct snd_usb_midi* umidi, | |||
1162 | pipe = usb_sndintpipe(umidi->dev, ep_info->out_ep); | 1162 | pipe = usb_sndintpipe(umidi->dev, ep_info->out_ep); |
1163 | else | 1163 | else |
1164 | pipe = usb_sndbulkpipe(umidi->dev, ep_info->out_ep); | 1164 | pipe = usb_sndbulkpipe(umidi->dev, ep_info->out_ep); |
1165 | if (umidi->usb_id == USB_ID(0x0a92, 0x1020)) /* ESI M4U */ | 1165 | switch (umidi->usb_id) { |
1166 | ep->max_transfer = 4; | 1166 | default: |
1167 | else | ||
1168 | ep->max_transfer = usb_maxpacket(umidi->dev, pipe, 1); | 1167 | ep->max_transfer = usb_maxpacket(umidi->dev, pipe, 1); |
1168 | break; | ||
1169 | /* | ||
1170 | * Various chips declare a packet size larger than 4 bytes, but | ||
1171 | * do not actually work with larger packets: | ||
1172 | */ | ||
1173 | case USB_ID(0x0a92, 0x1020): /* ESI M4U */ | ||
1174 | case USB_ID(0x1430, 0x474b): /* RedOctane GH MIDI INTERFACE */ | ||
1175 | case USB_ID(0x15ca, 0x0101): /* Textech USB Midi Cable */ | ||
1176 | case USB_ID(0x15ca, 0x1806): /* Textech USB Midi Cable */ | ||
1177 | case USB_ID(0x1a86, 0x752d): /* QinHeng CH345 "USB2.0-MIDI" */ | ||
1178 | ep->max_transfer = 4; | ||
1179 | break; | ||
1180 | } | ||
1169 | for (i = 0; i < OUTPUT_URBS; ++i) { | 1181 | for (i = 0; i < OUTPUT_URBS; ++i) { |
1170 | buffer = usb_buffer_alloc(umidi->dev, | 1182 | buffer = usb_buffer_alloc(umidi->dev, |
1171 | ep->max_transfer, GFP_KERNEL, | 1183 | ep->max_transfer, GFP_KERNEL, |
diff --git a/tools/perf/Makefile b/tools/perf/Makefile index 4390d225686d..652a470b5f74 100644 --- a/tools/perf/Makefile +++ b/tools/perf/Makefile | |||
@@ -343,13 +343,18 @@ LIB_H += util/include/linux/string.h | |||
343 | LIB_H += util/include/linux/types.h | 343 | LIB_H += util/include/linux/types.h |
344 | LIB_H += util/include/asm/asm-offsets.h | 344 | LIB_H += util/include/asm/asm-offsets.h |
345 | LIB_H += util/include/asm/bitops.h | 345 | LIB_H += util/include/asm/bitops.h |
346 | LIB_H += util/include/asm/bug.h | ||
346 | LIB_H += util/include/asm/byteorder.h | 347 | LIB_H += util/include/asm/byteorder.h |
347 | LIB_H += util/include/asm/swab.h | 348 | LIB_H += util/include/asm/swab.h |
348 | LIB_H += util/include/asm/system.h | 349 | LIB_H += util/include/asm/system.h |
349 | LIB_H += util/include/asm/uaccess.h | 350 | LIB_H += util/include/asm/uaccess.h |
350 | LIB_H += perf.h | 351 | LIB_H += perf.h |
352 | LIB_H += util/cache.h | ||
353 | LIB_H += util/callchain.h | ||
354 | LIB_H += util/debug.h | ||
351 | LIB_H += util/debugfs.h | 355 | LIB_H += util/debugfs.h |
352 | LIB_H += util/event.h | 356 | LIB_H += util/event.h |
357 | LIB_H += util/exec_cmd.h | ||
353 | LIB_H += util/types.h | 358 | LIB_H += util/types.h |
354 | LIB_H += util/levenshtein.h | 359 | LIB_H += util/levenshtein.h |
355 | LIB_H += util/parse-options.h | 360 | LIB_H += util/parse-options.h |
@@ -362,6 +367,7 @@ LIB_H += util/session.h | |||
362 | LIB_H += util/strbuf.h | 367 | LIB_H += util/strbuf.h |
363 | LIB_H += util/string.h | 368 | LIB_H += util/string.h |
364 | LIB_H += util/strlist.h | 369 | LIB_H += util/strlist.h |
370 | LIB_H += util/svghelper.h | ||
365 | LIB_H += util/run-command.h | 371 | LIB_H += util/run-command.h |
366 | LIB_H += util/sigchain.h | 372 | LIB_H += util/sigchain.h |
367 | LIB_H += util/symbol.h | 373 | LIB_H += util/symbol.h |
@@ -370,6 +376,8 @@ LIB_H += util/values.h | |||
370 | LIB_H += util/sort.h | 376 | LIB_H += util/sort.h |
371 | LIB_H += util/hist.h | 377 | LIB_H += util/hist.h |
372 | LIB_H += util/thread.h | 378 | LIB_H += util/thread.h |
379 | LIB_H += util/trace-event.h | ||
380 | LIB_H += util/trace-event-perl.h | ||
373 | LIB_H += util/probe-finder.h | 381 | LIB_H += util/probe-finder.h |
374 | LIB_H += util/probe-event.h | 382 | LIB_H += util/probe-event.h |
375 | 383 | ||
diff --git a/tools/perf/builtin-buildid-list.c b/tools/perf/builtin-buildid-list.c index e693e6777af5..1e99ac806913 100644 --- a/tools/perf/builtin-buildid-list.c +++ b/tools/perf/builtin-buildid-list.c | |||
@@ -17,7 +17,7 @@ | |||
17 | static char const *input_name = "perf.data"; | 17 | static char const *input_name = "perf.data"; |
18 | static int force; | 18 | static int force; |
19 | 19 | ||
20 | static const char *const buildid_list_usage[] = { | 20 | static const char * const buildid_list_usage[] = { |
21 | "perf buildid-list [<options>]", | 21 | "perf buildid-list [<options>]", |
22 | NULL | 22 | NULL |
23 | }; | 23 | }; |
diff --git a/tools/perf/builtin-diff.c b/tools/perf/builtin-diff.c index 4d33b55d5584..bd71b8ceafb7 100644 --- a/tools/perf/builtin-diff.c +++ b/tools/perf/builtin-diff.c | |||
@@ -189,8 +189,9 @@ out_delete: | |||
189 | return ret; | 189 | return ret; |
190 | } | 190 | } |
191 | 191 | ||
192 | static const char *const diff_usage[] = { | 192 | static const char * const diff_usage[] = { |
193 | "perf diff [<options>] [old_file] [new_file]", | 193 | "perf diff [<options>] [old_file] [new_file]", |
194 | NULL, | ||
194 | }; | 195 | }; |
195 | 196 | ||
196 | static const struct option options[] = { | 197 | static const struct option options[] = { |
diff --git a/tools/perf/builtin-kmem.c b/tools/perf/builtin-kmem.c index fc21ad79dd83..7ceb7416c316 100644 --- a/tools/perf/builtin-kmem.c +++ b/tools/perf/builtin-kmem.c | |||
@@ -137,7 +137,7 @@ static void insert_alloc_stat(unsigned long call_site, unsigned long ptr, | |||
137 | if (data && data->ptr == ptr) { | 137 | if (data && data->ptr == ptr) { |
138 | data->hit++; | 138 | data->hit++; |
139 | data->bytes_req += bytes_req; | 139 | data->bytes_req += bytes_req; |
140 | data->bytes_alloc += bytes_req; | 140 | data->bytes_alloc += bytes_alloc; |
141 | } else { | 141 | } else { |
142 | data = malloc(sizeof(*data)); | 142 | data = malloc(sizeof(*data)); |
143 | if (!data) | 143 | if (!data) |
@@ -177,7 +177,7 @@ static void insert_caller_stat(unsigned long call_site, | |||
177 | if (data && data->call_site == call_site) { | 177 | if (data && data->call_site == call_site) { |
178 | data->hit++; | 178 | data->hit++; |
179 | data->bytes_req += bytes_req; | 179 | data->bytes_req += bytes_req; |
180 | data->bytes_alloc += bytes_req; | 180 | data->bytes_alloc += bytes_alloc; |
181 | } else { | 181 | } else { |
182 | data = malloc(sizeof(*data)); | 182 | data = malloc(sizeof(*data)); |
183 | if (!data) | 183 | if (!data) |
diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c index 63136d0534d4..265425322734 100644 --- a/tools/perf/builtin-record.c +++ b/tools/perf/builtin-record.c | |||
@@ -402,7 +402,7 @@ static void atexit_header(void) | |||
402 | perf_header__write(&session->header, output, true); | 402 | perf_header__write(&session->header, output, true); |
403 | } | 403 | } |
404 | 404 | ||
405 | static int __cmd_record(int argc __used, const char **argv) | 405 | static int __cmd_record(int argc, const char **argv) |
406 | { | 406 | { |
407 | int i, counter; | 407 | int i, counter; |
408 | struct stat st; | 408 | struct stat st; |
@@ -411,6 +411,7 @@ static int __cmd_record(int argc __used, const char **argv) | |||
411 | int err; | 411 | int err; |
412 | unsigned long waking = 0; | 412 | unsigned long waking = 0; |
413 | int child_ready_pipe[2], go_pipe[2]; | 413 | int child_ready_pipe[2], go_pipe[2]; |
414 | const bool forks = target_pid == -1 && argc > 0; | ||
414 | char buf; | 415 | char buf; |
415 | 416 | ||
416 | page_size = sysconf(_SC_PAGE_SIZE); | 417 | page_size = sysconf(_SC_PAGE_SIZE); |
@@ -422,7 +423,7 @@ static int __cmd_record(int argc __used, const char **argv) | |||
422 | signal(SIGCHLD, sig_handler); | 423 | signal(SIGCHLD, sig_handler); |
423 | signal(SIGINT, sig_handler); | 424 | signal(SIGINT, sig_handler); |
424 | 425 | ||
425 | if (pipe(child_ready_pipe) < 0 || pipe(go_pipe) < 0) { | 426 | if (forks && (pipe(child_ready_pipe) < 0 || pipe(go_pipe) < 0)) { |
426 | perror("failed to create pipes"); | 427 | perror("failed to create pipes"); |
427 | exit(-1); | 428 | exit(-1); |
428 | } | 429 | } |
@@ -483,7 +484,7 @@ static int __cmd_record(int argc __used, const char **argv) | |||
483 | 484 | ||
484 | atexit(atexit_header); | 485 | atexit(atexit_header); |
485 | 486 | ||
486 | if (target_pid == -1) { | 487 | if (forks) { |
487 | pid = fork(); | 488 | pid = fork(); |
488 | if (pid < 0) { | 489 | if (pid < 0) { |
489 | perror("failed to fork"); | 490 | perror("failed to fork"); |
@@ -550,7 +551,7 @@ static int __cmd_record(int argc __used, const char **argv) | |||
550 | return err; | 551 | return err; |
551 | } | 552 | } |
552 | 553 | ||
553 | if (!system_wide) | 554 | if (!system_wide && profile_cpu == -1) |
554 | event__synthesize_thread(pid, process_synthesized_event, | 555 | event__synthesize_thread(pid, process_synthesized_event, |
555 | session); | 556 | session); |
556 | else | 557 | else |
@@ -569,7 +570,8 @@ static int __cmd_record(int argc __used, const char **argv) | |||
569 | /* | 570 | /* |
570 | * Let the child rip | 571 | * Let the child rip |
571 | */ | 572 | */ |
572 | close(go_pipe[1]); | 573 | if (forks) |
574 | close(go_pipe[1]); | ||
573 | 575 | ||
574 | for (;;) { | 576 | for (;;) { |
575 | int hits = samples; | 577 | int hits = samples; |
@@ -667,7 +669,7 @@ int cmd_record(int argc, const char **argv, const char *prefix __used) | |||
667 | 669 | ||
668 | argc = parse_options(argc, argv, options, record_usage, | 670 | argc = parse_options(argc, argv, options, record_usage, |
669 | PARSE_OPT_STOP_AT_NON_OPTION); | 671 | PARSE_OPT_STOP_AT_NON_OPTION); |
670 | if (!argc && target_pid == -1 && (!system_wide || profile_cpu == -1)) | 672 | if (!argc && target_pid == -1 && !system_wide && profile_cpu == -1) |
671 | usage_with_options(record_usage, options); | 673 | usage_with_options(record_usage, options); |
672 | 674 | ||
673 | symbol__init(); | 675 | symbol__init(); |
diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c index 5c2ab5357ec6..db10c0e8ecae 100644 --- a/tools/perf/builtin-report.c +++ b/tools/perf/builtin-report.c | |||
@@ -294,8 +294,7 @@ setup: | |||
294 | return 0; | 294 | return 0; |
295 | } | 295 | } |
296 | 296 | ||
297 | //static const char * const report_usage[] = { | 297 | static const char * const report_usage[] = { |
298 | const char * const report_usage[] = { | ||
299 | "perf report [<options>] <command>", | 298 | "perf report [<options>] <command>", |
300 | NULL | 299 | NULL |
301 | }; | 300 | }; |
diff --git a/tools/perf/builtin-trace.c b/tools/perf/builtin-trace.c index e2285e28720f..574a215e800b 100644 --- a/tools/perf/builtin-trace.c +++ b/tools/perf/builtin-trace.c | |||
@@ -512,7 +512,7 @@ static char *get_script_path(const char *script_root, const char *suffix) | |||
512 | return path; | 512 | return path; |
513 | } | 513 | } |
514 | 514 | ||
515 | static const char * const annotate_usage[] = { | 515 | static const char * const trace_usage[] = { |
516 | "perf trace [<options>] <command>", | 516 | "perf trace [<options>] <command>", |
517 | NULL | 517 | NULL |
518 | }; | 518 | }; |
@@ -581,7 +581,7 @@ int cmd_trace(int argc, const char **argv, const char *prefix __used) | |||
581 | 581 | ||
582 | setup_scripting(); | 582 | setup_scripting(); |
583 | 583 | ||
584 | argc = parse_options(argc, argv, options, annotate_usage, | 584 | argc = parse_options(argc, argv, options, trace_usage, |
585 | PARSE_OPT_STOP_AT_NON_OPTION); | 585 | PARSE_OPT_STOP_AT_NON_OPTION); |
586 | 586 | ||
587 | if (symbol__init() < 0) | 587 | if (symbol__init() < 0) |
diff --git a/tools/perf/design.txt b/tools/perf/design.txt index f000c30877ac..8d0de5130db3 100644 --- a/tools/perf/design.txt +++ b/tools/perf/design.txt | |||
@@ -21,7 +21,7 @@ There's one file descriptor per virtual counter used. | |||
21 | The special file descriptor is opened via the perf_event_open() | 21 | The special file descriptor is opened via the perf_event_open() |
22 | system call: | 22 | system call: |
23 | 23 | ||
24 | int sys_perf_event_open(struct perf_event_hw_event *hw_event_uptr, | 24 | int sys_perf_event_open(struct perf_event_attr *hw_event_uptr, |
25 | pid_t pid, int cpu, int group_fd, | 25 | pid_t pid, int cpu, int group_fd, |
26 | unsigned long flags); | 26 | unsigned long flags); |
27 | 27 | ||
@@ -32,9 +32,9 @@ can be used to set the blocking mode, etc. | |||
32 | Multiple counters can be kept open at a time, and the counters | 32 | Multiple counters can be kept open at a time, and the counters |
33 | can be poll()ed. | 33 | can be poll()ed. |
34 | 34 | ||
35 | When creating a new counter fd, 'perf_event_hw_event' is: | 35 | When creating a new counter fd, 'perf_event_attr' is: |
36 | 36 | ||
37 | struct perf_event_hw_event { | 37 | struct perf_event_attr { |
38 | /* | 38 | /* |
39 | * The MSB of the config word signifies if the rest contains cpu | 39 | * The MSB of the config word signifies if the rest contains cpu |
40 | * specific (raw) counter configuration data, if unset, the next | 40 | * specific (raw) counter configuration data, if unset, the next |
@@ -399,7 +399,7 @@ Notification of new events is possible through poll()/select()/epoll() and | |||
399 | fcntl() managing signals. | 399 | fcntl() managing signals. |
400 | 400 | ||
401 | Normally a notification is generated for every page filled, however one can | 401 | Normally a notification is generated for every page filled, however one can |
402 | additionally set perf_event_hw_event.wakeup_events to generate one every | 402 | additionally set perf_event_attr.wakeup_events to generate one every |
403 | so many counter overflow events. | 403 | so many counter overflow events. |
404 | 404 | ||
405 | Future work will include a splice() interface to the ring-buffer. | 405 | Future work will include a splice() interface to the ring-buffer. |
diff --git a/virt/kvm/assigned-dev.c b/virt/kvm/assigned-dev.c index fd9c097b760a..f73de631e3ee 100644 --- a/virt/kvm/assigned-dev.c +++ b/virt/kvm/assigned-dev.c | |||
@@ -508,8 +508,8 @@ static int kvm_vm_ioctl_assign_device(struct kvm *kvm, | |||
508 | struct kvm_assigned_dev_kernel *match; | 508 | struct kvm_assigned_dev_kernel *match; |
509 | struct pci_dev *dev; | 509 | struct pci_dev *dev; |
510 | 510 | ||
511 | down_read(&kvm->slots_lock); | ||
512 | mutex_lock(&kvm->lock); | 511 | mutex_lock(&kvm->lock); |
512 | down_read(&kvm->slots_lock); | ||
513 | 513 | ||
514 | match = kvm_find_assigned_dev(&kvm->arch.assigned_dev_head, | 514 | match = kvm_find_assigned_dev(&kvm->arch.assigned_dev_head, |
515 | assigned_dev->assigned_dev_id); | 515 | assigned_dev->assigned_dev_id); |
@@ -573,8 +573,8 @@ static int kvm_vm_ioctl_assign_device(struct kvm *kvm, | |||
573 | } | 573 | } |
574 | 574 | ||
575 | out: | 575 | out: |
576 | mutex_unlock(&kvm->lock); | ||
577 | up_read(&kvm->slots_lock); | 576 | up_read(&kvm->slots_lock); |
577 | mutex_unlock(&kvm->lock); | ||
578 | return r; | 578 | return r; |
579 | out_list_del: | 579 | out_list_del: |
580 | list_del(&match->list); | 580 | list_del(&match->list); |
@@ -585,8 +585,8 @@ out_put: | |||
585 | pci_dev_put(dev); | 585 | pci_dev_put(dev); |
586 | out_free: | 586 | out_free: |
587 | kfree(match); | 587 | kfree(match); |
588 | mutex_unlock(&kvm->lock); | ||
589 | up_read(&kvm->slots_lock); | 588 | up_read(&kvm->slots_lock); |
589 | mutex_unlock(&kvm->lock); | ||
590 | return r; | 590 | return r; |
591 | } | 591 | } |
592 | 592 | ||
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c index b5af88167613..a944be392d6e 100644 --- a/virt/kvm/kvm_main.c +++ b/virt/kvm/kvm_main.c | |||
@@ -64,7 +64,7 @@ MODULE_LICENSE("GPL"); | |||
64 | /* | 64 | /* |
65 | * Ordering of locks: | 65 | * Ordering of locks: |
66 | * | 66 | * |
67 | * kvm->slots_lock --> kvm->lock --> kvm->irq_lock | 67 | * kvm->lock --> kvm->slots_lock --> kvm->irq_lock |
68 | */ | 68 | */ |
69 | 69 | ||
70 | DEFINE_SPINLOCK(kvm_lock); | 70 | DEFINE_SPINLOCK(kvm_lock); |
@@ -406,8 +406,11 @@ static struct kvm *kvm_create_vm(void) | |||
406 | out: | 406 | out: |
407 | return kvm; | 407 | return kvm; |
408 | 408 | ||
409 | #if defined(KVM_COALESCED_MMIO_PAGE_OFFSET) || \ | ||
410 | (defined(CONFIG_MMU_NOTIFIER) && defined(KVM_ARCH_WANT_MMU_NOTIFIER)) | ||
409 | out_err: | 411 | out_err: |
410 | hardware_disable_all(); | 412 | hardware_disable_all(); |
413 | #endif | ||
411 | out_err_nodisable: | 414 | out_err_nodisable: |
412 | kfree(kvm); | 415 | kfree(kvm); |
413 | return ERR_PTR(r); | 416 | return ERR_PTR(r); |