diff options
653 files changed, 10895 insertions, 5518 deletions
diff --git a/Documentation/DMA-mapping.txt b/Documentation/DMA-mapping.txt index 7c717699032c..63392c9132b4 100644 --- a/Documentation/DMA-mapping.txt +++ b/Documentation/DMA-mapping.txt | |||
@@ -698,12 +698,12 @@ these interfaces. Remember that, as defined, consistent mappings are | |||
698 | always going to be SAC addressable. | 698 | always going to be SAC addressable. |
699 | 699 | ||
700 | The first thing your driver needs to do is query the PCI platform | 700 | The first thing your driver needs to do is query the PCI platform |
701 | layer with your devices DAC addressing capabilities: | 701 | layer if it is capable of handling your devices DAC addressing |
702 | capabilities: | ||
702 | 703 | ||
703 | int pci_dac_set_dma_mask(struct pci_dev *pdev, u64 mask); | 704 | int pci_dac_dma_supported(struct pci_dev *hwdev, u64 mask); |
704 | 705 | ||
705 | This routine behaves identically to pci_set_dma_mask. You may not | 706 | You may not use the following interfaces if this routine fails. |
706 | use the following interfaces if this routine fails. | ||
707 | 707 | ||
708 | Next, DMA addresses using this API are kept track of using the | 708 | Next, DMA addresses using this API are kept track of using the |
709 | dma64_addr_t type. It is guaranteed to be big enough to hold any | 709 | dma64_addr_t type. It is guaranteed to be big enough to hold any |
diff --git a/Documentation/accounting/delay-accounting.txt b/Documentation/accounting/delay-accounting.txt new file mode 100644 index 000000000000..be215e58423b --- /dev/null +++ b/Documentation/accounting/delay-accounting.txt | |||
@@ -0,0 +1,110 @@ | |||
1 | Delay accounting | ||
2 | ---------------- | ||
3 | |||
4 | Tasks encounter delays in execution when they wait | ||
5 | for some kernel resource to become available e.g. a | ||
6 | runnable task may wait for a free CPU to run on. | ||
7 | |||
8 | The per-task delay accounting functionality measures | ||
9 | the delays experienced by a task while | ||
10 | |||
11 | a) waiting for a CPU (while being runnable) | ||
12 | b) completion of synchronous block I/O initiated by the task | ||
13 | c) swapping in pages | ||
14 | |||
15 | and makes these statistics available to userspace through | ||
16 | the taskstats interface. | ||
17 | |||
18 | Such delays provide feedback for setting a task's cpu priority, | ||
19 | io priority and rss limit values appropriately. Long delays for | ||
20 | important tasks could be a trigger for raising its corresponding priority. | ||
21 | |||
22 | The functionality, through its use of the taskstats interface, also provides | ||
23 | delay statistics aggregated for all tasks (or threads) belonging to a | ||
24 | thread group (corresponding to a traditional Unix process). This is a commonly | ||
25 | needed aggregation that is more efficiently done by the kernel. | ||
26 | |||
27 | Userspace utilities, particularly resource management applications, can also | ||
28 | aggregate delay statistics into arbitrary groups. To enable this, delay | ||
29 | statistics of a task are available both during its lifetime as well as on its | ||
30 | exit, ensuring continuous and complete monitoring can be done. | ||
31 | |||
32 | |||
33 | Interface | ||
34 | --------- | ||
35 | |||
36 | Delay accounting uses the taskstats interface which is described | ||
37 | in detail in a separate document in this directory. Taskstats returns a | ||
38 | generic data structure to userspace corresponding to per-pid and per-tgid | ||
39 | statistics. The delay accounting functionality populates specific fields of | ||
40 | this structure. See | ||
41 | include/linux/taskstats.h | ||
42 | for a description of the fields pertaining to delay accounting. | ||
43 | It will generally be in the form of counters returning the cumulative | ||
44 | delay seen for cpu, sync block I/O, swapin etc. | ||
45 | |||
46 | Taking the difference of two successive readings of a given | ||
47 | counter (say cpu_delay_total) for a task will give the delay | ||
48 | experienced by the task waiting for the corresponding resource | ||
49 | in that interval. | ||
50 | |||
51 | When a task exits, records containing the per-task statistics | ||
52 | are sent to userspace without requiring a command. If it is the last exiting | ||
53 | task of a thread group, the per-tgid statistics are also sent. More details | ||
54 | are given in the taskstats interface description. | ||
55 | |||
56 | The getdelays.c userspace utility in this directory allows simple commands to | ||
57 | be run and the corresponding delay statistics to be displayed. It also serves | ||
58 | as an example of using the taskstats interface. | ||
59 | |||
60 | Usage | ||
61 | ----- | ||
62 | |||
63 | Compile the kernel with | ||
64 | CONFIG_TASK_DELAY_ACCT=y | ||
65 | CONFIG_TASKSTATS=y | ||
66 | |||
67 | Enable the accounting at boot time by adding | ||
68 | the following to the kernel boot options | ||
69 | delayacct | ||
70 | |||
71 | and after the system has booted up, use a utility | ||
72 | similar to getdelays.c to access the delays | ||
73 | seen by a given task or a task group (tgid). | ||
74 | The utility also allows a given command to be | ||
75 | executed and the corresponding delays to be | ||
76 | seen. | ||
77 | |||
78 | General format of the getdelays command | ||
79 | |||
80 | getdelays [-t tgid] [-p pid] [-c cmd...] | ||
81 | |||
82 | |||
83 | Get delays, since system boot, for pid 10 | ||
84 | # ./getdelays -p 10 | ||
85 | (output similar to next case) | ||
86 | |||
87 | Get sum of delays, since system boot, for all pids with tgid 5 | ||
88 | # ./getdelays -t 5 | ||
89 | |||
90 | |||
91 | CPU count real total virtual total delay total | ||
92 | 7876 92005750 100000000 24001500 | ||
93 | IO count delay total | ||
94 | 0 0 | ||
95 | MEM count delay total | ||
96 | 0 0 | ||
97 | |||
98 | Get delays seen in executing a given simple command | ||
99 | # ./getdelays -c ls / | ||
100 | |||
101 | bin data1 data3 data5 dev home media opt root srv sys usr | ||
102 | boot data2 data4 data6 etc lib mnt proc sbin subdomain tmp var | ||
103 | |||
104 | |||
105 | CPU count real total virtual total delay total | ||
106 | 6 4000250 4000000 0 | ||
107 | IO count delay total | ||
108 | 0 0 | ||
109 | MEM count delay total | ||
110 | 0 0 | ||
diff --git a/Documentation/accounting/getdelays.c b/Documentation/accounting/getdelays.c new file mode 100644 index 000000000000..795ca3911cc5 --- /dev/null +++ b/Documentation/accounting/getdelays.c | |||
@@ -0,0 +1,396 @@ | |||
1 | /* getdelays.c | ||
2 | * | ||
3 | * Utility to get per-pid and per-tgid delay accounting statistics | ||
4 | * Also illustrates usage of the taskstats interface | ||
5 | * | ||
6 | * Copyright (C) Shailabh Nagar, IBM Corp. 2005 | ||
7 | * Copyright (C) Balbir Singh, IBM Corp. 2006 | ||
8 | * Copyright (c) Jay Lan, SGI. 2006 | ||
9 | * | ||
10 | */ | ||
11 | |||
12 | #include <stdio.h> | ||
13 | #include <stdlib.h> | ||
14 | #include <errno.h> | ||
15 | #include <unistd.h> | ||
16 | #include <poll.h> | ||
17 | #include <string.h> | ||
18 | #include <fcntl.h> | ||
19 | #include <sys/types.h> | ||
20 | #include <sys/stat.h> | ||
21 | #include <sys/socket.h> | ||
22 | #include <sys/types.h> | ||
23 | #include <signal.h> | ||
24 | |||
25 | #include <linux/genetlink.h> | ||
26 | #include <linux/taskstats.h> | ||
27 | |||
28 | /* | ||
29 | * Generic macros for dealing with netlink sockets. Might be duplicated | ||
30 | * elsewhere. It is recommended that commercial grade applications use | ||
31 | * libnl or libnetlink and use the interfaces provided by the library | ||
32 | */ | ||
33 | #define GENLMSG_DATA(glh) ((void *)(NLMSG_DATA(glh) + GENL_HDRLEN)) | ||
34 | #define GENLMSG_PAYLOAD(glh) (NLMSG_PAYLOAD(glh, 0) - GENL_HDRLEN) | ||
35 | #define NLA_DATA(na) ((void *)((char*)(na) + NLA_HDRLEN)) | ||
36 | #define NLA_PAYLOAD(len) (len - NLA_HDRLEN) | ||
37 | |||
38 | #define err(code, fmt, arg...) do { printf(fmt, ##arg); exit(code); } while (0) | ||
39 | int done = 0; | ||
40 | int rcvbufsz=0; | ||
41 | |||
42 | char name[100]; | ||
43 | int dbg=0, print_delays=0; | ||
44 | __u64 stime, utime; | ||
45 | #define PRINTF(fmt, arg...) { \ | ||
46 | if (dbg) { \ | ||
47 | printf(fmt, ##arg); \ | ||
48 | } \ | ||
49 | } | ||
50 | |||
51 | /* Maximum size of response requested or message sent */ | ||
52 | #define MAX_MSG_SIZE 256 | ||
53 | /* Maximum number of cpus expected to be specified in a cpumask */ | ||
54 | #define MAX_CPUS 32 | ||
55 | /* Maximum length of pathname to log file */ | ||
56 | #define MAX_FILENAME 256 | ||
57 | |||
58 | struct msgtemplate { | ||
59 | struct nlmsghdr n; | ||
60 | struct genlmsghdr g; | ||
61 | char buf[MAX_MSG_SIZE]; | ||
62 | }; | ||
63 | |||
64 | char cpumask[100+6*MAX_CPUS]; | ||
65 | |||
66 | /* | ||
67 | * Create a raw netlink socket and bind | ||
68 | */ | ||
69 | static int create_nl_socket(int protocol) | ||
70 | { | ||
71 | int fd; | ||
72 | struct sockaddr_nl local; | ||
73 | |||
74 | fd = socket(AF_NETLINK, SOCK_RAW, protocol); | ||
75 | if (fd < 0) | ||
76 | return -1; | ||
77 | |||
78 | if (rcvbufsz) | ||
79 | if (setsockopt(fd, SOL_SOCKET, SO_RCVBUF, | ||
80 | &rcvbufsz, sizeof(rcvbufsz)) < 0) { | ||
81 | printf("Unable to set socket rcv buf size to %d\n", | ||
82 | rcvbufsz); | ||
83 | return -1; | ||
84 | } | ||
85 | |||
86 | memset(&local, 0, sizeof(local)); | ||
87 | local.nl_family = AF_NETLINK; | ||
88 | |||
89 | if (bind(fd, (struct sockaddr *) &local, sizeof(local)) < 0) | ||
90 | goto error; | ||
91 | |||
92 | return fd; | ||
93 | error: | ||
94 | close(fd); | ||
95 | return -1; | ||
96 | } | ||
97 | |||
98 | |||
99 | int send_cmd(int sd, __u16 nlmsg_type, __u32 nlmsg_pid, | ||
100 | __u8 genl_cmd, __u16 nla_type, | ||
101 | void *nla_data, int nla_len) | ||
102 | { | ||
103 | struct nlattr *na; | ||
104 | struct sockaddr_nl nladdr; | ||
105 | int r, buflen; | ||
106 | char *buf; | ||
107 | |||
108 | struct msgtemplate msg; | ||
109 | |||
110 | msg.n.nlmsg_len = NLMSG_LENGTH(GENL_HDRLEN); | ||
111 | msg.n.nlmsg_type = nlmsg_type; | ||
112 | msg.n.nlmsg_flags = NLM_F_REQUEST; | ||
113 | msg.n.nlmsg_seq = 0; | ||
114 | msg.n.nlmsg_pid = nlmsg_pid; | ||
115 | msg.g.cmd = genl_cmd; | ||
116 | msg.g.version = 0x1; | ||
117 | na = (struct nlattr *) GENLMSG_DATA(&msg); | ||
118 | na->nla_type = nla_type; | ||
119 | na->nla_len = nla_len + 1 + NLA_HDRLEN; | ||
120 | memcpy(NLA_DATA(na), nla_data, nla_len); | ||
121 | msg.n.nlmsg_len += NLMSG_ALIGN(na->nla_len); | ||
122 | |||
123 | buf = (char *) &msg; | ||
124 | buflen = msg.n.nlmsg_len ; | ||
125 | memset(&nladdr, 0, sizeof(nladdr)); | ||
126 | nladdr.nl_family = AF_NETLINK; | ||
127 | while ((r = sendto(sd, buf, buflen, 0, (struct sockaddr *) &nladdr, | ||
128 | sizeof(nladdr))) < buflen) { | ||
129 | if (r > 0) { | ||
130 | buf += r; | ||
131 | buflen -= r; | ||
132 | } else if (errno != EAGAIN) | ||
133 | return -1; | ||
134 | } | ||
135 | return 0; | ||
136 | } | ||
137 | |||
138 | |||
139 | /* | ||
140 | * Probe the controller in genetlink to find the family id | ||
141 | * for the TASKSTATS family | ||
142 | */ | ||
143 | int get_family_id(int sd) | ||
144 | { | ||
145 | struct { | ||
146 | struct nlmsghdr n; | ||
147 | struct genlmsghdr g; | ||
148 | char buf[256]; | ||
149 | } ans; | ||
150 | |||
151 | int id, rc; | ||
152 | struct nlattr *na; | ||
153 | int rep_len; | ||
154 | |||
155 | strcpy(name, TASKSTATS_GENL_NAME); | ||
156 | rc = send_cmd(sd, GENL_ID_CTRL, getpid(), CTRL_CMD_GETFAMILY, | ||
157 | CTRL_ATTR_FAMILY_NAME, (void *)name, | ||
158 | strlen(TASKSTATS_GENL_NAME)+1); | ||
159 | |||
160 | rep_len = recv(sd, &ans, sizeof(ans), 0); | ||
161 | if (ans.n.nlmsg_type == NLMSG_ERROR || | ||
162 | (rep_len < 0) || !NLMSG_OK((&ans.n), rep_len)) | ||
163 | return 0; | ||
164 | |||
165 | na = (struct nlattr *) GENLMSG_DATA(&ans); | ||
166 | na = (struct nlattr *) ((char *) na + NLA_ALIGN(na->nla_len)); | ||
167 | if (na->nla_type == CTRL_ATTR_FAMILY_ID) { | ||
168 | id = *(__u16 *) NLA_DATA(na); | ||
169 | } | ||
170 | return id; | ||
171 | } | ||
172 | |||
173 | void print_delayacct(struct taskstats *t) | ||
174 | { | ||
175 | printf("\n\nCPU %15s%15s%15s%15s\n" | ||
176 | " %15llu%15llu%15llu%15llu\n" | ||
177 | "IO %15s%15s\n" | ||
178 | " %15llu%15llu\n" | ||
179 | "MEM %15s%15s\n" | ||
180 | " %15llu%15llu\n\n", | ||
181 | "count", "real total", "virtual total", "delay total", | ||
182 | t->cpu_count, t->cpu_run_real_total, t->cpu_run_virtual_total, | ||
183 | t->cpu_delay_total, | ||
184 | "count", "delay total", | ||
185 | t->blkio_count, t->blkio_delay_total, | ||
186 | "count", "delay total", t->swapin_count, t->swapin_delay_total); | ||
187 | } | ||
188 | |||
189 | int main(int argc, char *argv[]) | ||
190 | { | ||
191 | int c, rc, rep_len, aggr_len, len2, cmd_type; | ||
192 | __u16 id; | ||
193 | __u32 mypid; | ||
194 | |||
195 | struct nlattr *na; | ||
196 | int nl_sd = -1; | ||
197 | int len = 0; | ||
198 | pid_t tid = 0; | ||
199 | pid_t rtid = 0; | ||
200 | |||
201 | int fd = 0; | ||
202 | int count = 0; | ||
203 | int write_file = 0; | ||
204 | int maskset = 0; | ||
205 | char logfile[128]; | ||
206 | int loop = 0; | ||
207 | |||
208 | struct msgtemplate msg; | ||
209 | |||
210 | while (1) { | ||
211 | c = getopt(argc, argv, "dw:r:m:t:p:v:l"); | ||
212 | if (c < 0) | ||
213 | break; | ||
214 | |||
215 | switch (c) { | ||
216 | case 'd': | ||
217 | printf("print delayacct stats ON\n"); | ||
218 | print_delays = 1; | ||
219 | break; | ||
220 | case 'w': | ||
221 | strncpy(logfile, optarg, MAX_FILENAME); | ||
222 | printf("write to file %s\n", logfile); | ||
223 | write_file = 1; | ||
224 | break; | ||
225 | case 'r': | ||
226 | rcvbufsz = atoi(optarg); | ||
227 | printf("receive buf size %d\n", rcvbufsz); | ||
228 | if (rcvbufsz < 0) | ||
229 | err(1, "Invalid rcv buf size\n"); | ||
230 | break; | ||
231 | case 'm': | ||
232 | strncpy(cpumask, optarg, sizeof(cpumask)); | ||
233 | maskset = 1; | ||
234 | printf("cpumask %s maskset %d\n", cpumask, maskset); | ||
235 | break; | ||
236 | case 't': | ||
237 | tid = atoi(optarg); | ||
238 | if (!tid) | ||
239 | err(1, "Invalid tgid\n"); | ||
240 | cmd_type = TASKSTATS_CMD_ATTR_TGID; | ||
241 | print_delays = 1; | ||
242 | break; | ||
243 | case 'p': | ||
244 | tid = atoi(optarg); | ||
245 | if (!tid) | ||
246 | err(1, "Invalid pid\n"); | ||
247 | cmd_type = TASKSTATS_CMD_ATTR_PID; | ||
248 | print_delays = 1; | ||
249 | break; | ||
250 | case 'v': | ||
251 | printf("debug on\n"); | ||
252 | dbg = 1; | ||
253 | break; | ||
254 | case 'l': | ||
255 | printf("listen forever\n"); | ||
256 | loop = 1; | ||
257 | break; | ||
258 | default: | ||
259 | printf("Unknown option %d\n", c); | ||
260 | exit(-1); | ||
261 | } | ||
262 | } | ||
263 | |||
264 | if (write_file) { | ||
265 | fd = open(logfile, O_WRONLY | O_CREAT | O_TRUNC, | ||
266 | S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH); | ||
267 | if (fd == -1) { | ||
268 | perror("Cannot open output file\n"); | ||
269 | exit(1); | ||
270 | } | ||
271 | } | ||
272 | |||
273 | if ((nl_sd = create_nl_socket(NETLINK_GENERIC)) < 0) | ||
274 | err(1, "error creating Netlink socket\n"); | ||
275 | |||
276 | |||
277 | mypid = getpid(); | ||
278 | id = get_family_id(nl_sd); | ||
279 | if (!id) { | ||
280 | printf("Error getting family id, errno %d", errno); | ||
281 | goto err; | ||
282 | } | ||
283 | PRINTF("family id %d\n", id); | ||
284 | |||
285 | if (maskset) { | ||
286 | rc = send_cmd(nl_sd, id, mypid, TASKSTATS_CMD_GET, | ||
287 | TASKSTATS_CMD_ATTR_REGISTER_CPUMASK, | ||
288 | &cpumask, sizeof(cpumask)); | ||
289 | PRINTF("Sent register cpumask, retval %d\n", rc); | ||
290 | if (rc < 0) { | ||
291 | printf("error sending register cpumask\n"); | ||
292 | goto err; | ||
293 | } | ||
294 | } | ||
295 | |||
296 | if (tid) { | ||
297 | rc = send_cmd(nl_sd, id, mypid, TASKSTATS_CMD_GET, | ||
298 | cmd_type, &tid, sizeof(__u32)); | ||
299 | PRINTF("Sent pid/tgid, retval %d\n", rc); | ||
300 | if (rc < 0) { | ||
301 | printf("error sending tid/tgid cmd\n"); | ||
302 | goto done; | ||
303 | } | ||
304 | } | ||
305 | |||
306 | do { | ||
307 | int i; | ||
308 | |||
309 | rep_len = recv(nl_sd, &msg, sizeof(msg), 0); | ||
310 | PRINTF("received %d bytes\n", rep_len); | ||
311 | |||
312 | if (rep_len < 0) { | ||
313 | printf("nonfatal reply error: errno %d\n", errno); | ||
314 | continue; | ||
315 | } | ||
316 | if (msg.n.nlmsg_type == NLMSG_ERROR || | ||
317 | !NLMSG_OK((&msg.n), rep_len)) { | ||
318 | printf("fatal reply error, errno %d\n", errno); | ||
319 | goto done; | ||
320 | } | ||
321 | |||
322 | PRINTF("nlmsghdr size=%d, nlmsg_len=%d, rep_len=%d\n", | ||
323 | sizeof(struct nlmsghdr), msg.n.nlmsg_len, rep_len); | ||
324 | |||
325 | |||
326 | rep_len = GENLMSG_PAYLOAD(&msg.n); | ||
327 | |||
328 | na = (struct nlattr *) GENLMSG_DATA(&msg); | ||
329 | len = 0; | ||
330 | i = 0; | ||
331 | while (len < rep_len) { | ||
332 | len += NLA_ALIGN(na->nla_len); | ||
333 | switch (na->nla_type) { | ||
334 | case TASKSTATS_TYPE_AGGR_TGID: | ||
335 | /* Fall through */ | ||
336 | case TASKSTATS_TYPE_AGGR_PID: | ||
337 | aggr_len = NLA_PAYLOAD(na->nla_len); | ||
338 | len2 = 0; | ||
339 | /* For nested attributes, na follows */ | ||
340 | na = (struct nlattr *) NLA_DATA(na); | ||
341 | done = 0; | ||
342 | while (len2 < aggr_len) { | ||
343 | switch (na->nla_type) { | ||
344 | case TASKSTATS_TYPE_PID: | ||
345 | rtid = *(int *) NLA_DATA(na); | ||
346 | if (print_delays) | ||
347 | printf("PID\t%d\n", rtid); | ||
348 | break; | ||
349 | case TASKSTATS_TYPE_TGID: | ||
350 | rtid = *(int *) NLA_DATA(na); | ||
351 | if (print_delays) | ||
352 | printf("TGID\t%d\n", rtid); | ||
353 | break; | ||
354 | case TASKSTATS_TYPE_STATS: | ||
355 | count++; | ||
356 | if (print_delays) | ||
357 | print_delayacct((struct taskstats *) NLA_DATA(na)); | ||
358 | if (fd) { | ||
359 | if (write(fd, NLA_DATA(na), na->nla_len) < 0) { | ||
360 | err(1,"write error\n"); | ||
361 | } | ||
362 | } | ||
363 | if (!loop) | ||
364 | goto done; | ||
365 | break; | ||
366 | default: | ||
367 | printf("Unknown nested nla_type %d\n", na->nla_type); | ||
368 | break; | ||
369 | } | ||
370 | len2 += NLA_ALIGN(na->nla_len); | ||
371 | na = (struct nlattr *) ((char *) na + len2); | ||
372 | } | ||
373 | break; | ||
374 | |||
375 | default: | ||
376 | printf("Unknown nla_type %d\n", na->nla_type); | ||
377 | break; | ||
378 | } | ||
379 | na = (struct nlattr *) (GENLMSG_DATA(&msg) + len); | ||
380 | } | ||
381 | } while (loop); | ||
382 | done: | ||
383 | if (maskset) { | ||
384 | rc = send_cmd(nl_sd, id, mypid, TASKSTATS_CMD_GET, | ||
385 | TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK, | ||
386 | &cpumask, sizeof(cpumask)); | ||
387 | printf("Sent deregister mask, retval %d\n", rc); | ||
388 | if (rc < 0) | ||
389 | err(rc, "error sending deregister cpumask\n"); | ||
390 | } | ||
391 | err: | ||
392 | close(nl_sd); | ||
393 | if (fd) | ||
394 | close(fd); | ||
395 | return 0; | ||
396 | } | ||
diff --git a/Documentation/accounting/taskstats.txt b/Documentation/accounting/taskstats.txt new file mode 100644 index 000000000000..92ebf29e9041 --- /dev/null +++ b/Documentation/accounting/taskstats.txt | |||
@@ -0,0 +1,181 @@ | |||
1 | Per-task statistics interface | ||
2 | ----------------------------- | ||
3 | |||
4 | |||
5 | Taskstats is a netlink-based interface for sending per-task and | ||
6 | per-process statistics from the kernel to userspace. | ||
7 | |||
8 | Taskstats was designed for the following benefits: | ||
9 | |||
10 | - efficiently provide statistics during lifetime of a task and on its exit | ||
11 | - unified interface for multiple accounting subsystems | ||
12 | - extensibility for use by future accounting patches | ||
13 | |||
14 | Terminology | ||
15 | ----------- | ||
16 | |||
17 | "pid", "tid" and "task" are used interchangeably and refer to the standard | ||
18 | Linux task defined by struct task_struct. per-pid stats are the same as | ||
19 | per-task stats. | ||
20 | |||
21 | "tgid", "process" and "thread group" are used interchangeably and refer to the | ||
22 | tasks that share an mm_struct i.e. the traditional Unix process. Despite the | ||
23 | use of tgid, there is no special treatment for the task that is thread group | ||
24 | leader - a process is deemed alive as long as it has any task belonging to it. | ||
25 | |||
26 | Usage | ||
27 | ----- | ||
28 | |||
29 | To get statistics during a task's lifetime, userspace opens a unicast netlink | ||
30 | socket (NETLINK_GENERIC family) and sends commands specifying a pid or a tgid. | ||
31 | The response contains statistics for a task (if pid is specified) or the sum of | ||
32 | statistics for all tasks of the process (if tgid is specified). | ||
33 | |||
34 | To obtain statistics for tasks which are exiting, the userspace listener | ||
35 | sends a register command and specifies a cpumask. Whenever a task exits on | ||
36 | one of the cpus in the cpumask, its per-pid statistics are sent to the | ||
37 | registered listener. Using cpumasks allows the data received by one listener | ||
38 | to be limited and assists in flow control over the netlink interface and is | ||
39 | explained in more detail below. | ||
40 | |||
41 | If the exiting task is the last thread exiting its thread group, | ||
42 | an additional record containing the per-tgid stats is also sent to userspace. | ||
43 | The latter contains the sum of per-pid stats for all threads in the thread | ||
44 | group, both past and present. | ||
45 | |||
46 | getdelays.c is a simple utility demonstrating usage of the taskstats interface | ||
47 | for reporting delay accounting statistics. Users can register cpumasks, | ||
48 | send commands and process responses, listen for per-tid/tgid exit data, | ||
49 | write the data received to a file and do basic flow control by increasing | ||
50 | receive buffer sizes. | ||
51 | |||
52 | Interface | ||
53 | --------- | ||
54 | |||
55 | The user-kernel interface is encapsulated in include/linux/taskstats.h | ||
56 | |||
57 | To avoid this documentation becoming obsolete as the interface evolves, only | ||
58 | an outline of the current version is given. taskstats.h always overrides the | ||
59 | description here. | ||
60 | |||
61 | struct taskstats is the common accounting structure for both per-pid and | ||
62 | per-tgid data. It is versioned and can be extended by each accounting subsystem | ||
63 | that is added to the kernel. The fields and their semantics are defined in the | ||
64 | taskstats.h file. | ||
65 | |||
66 | The data exchanged between user and kernel space is a netlink message belonging | ||
67 | to the NETLINK_GENERIC family and using the netlink attributes interface. | ||
68 | The messages are in the format | ||
69 | |||
70 | +----------+- - -+-------------+-------------------+ | ||
71 | | nlmsghdr | Pad | genlmsghdr | taskstats payload | | ||
72 | +----------+- - -+-------------+-------------------+ | ||
73 | |||
74 | |||
75 | The taskstats payload is one of the following three kinds: | ||
76 | |||
77 | 1. Commands: Sent from user to kernel. Commands to get data on | ||
78 | a pid/tgid consist of one attribute, of type TASKSTATS_CMD_ATTR_PID/TGID, | ||
79 | containing a u32 pid or tgid in the attribute payload. The pid/tgid denotes | ||
80 | the task/process for which userspace wants statistics. | ||
81 | |||
82 | Commands to register/deregister interest in exit data from a set of cpus | ||
83 | consist of one attribute, of type | ||
84 | TASKSTATS_CMD_ATTR_REGISTER/DEREGISTER_CPUMASK and contain a cpumask in the | ||
85 | attribute payload. The cpumask is specified as an ascii string of | ||
86 | comma-separated cpu ranges e.g. to listen to exit data from cpus 1,2,3,5,7,8 | ||
87 | the cpumask would be "1-3,5,7-8". If userspace forgets to deregister interest | ||
88 | in cpus before closing the listening socket, the kernel cleans up its interest | ||
89 | set over time. However, for the sake of efficiency, an explicit deregistration | ||
90 | is advisable. | ||
91 | |||
92 | 2. Response for a command: sent from the kernel in response to a userspace | ||
93 | command. The payload is a series of three attributes of type: | ||
94 | |||
95 | a) TASKSTATS_TYPE_AGGR_PID/TGID : attribute containing no payload but indicates | ||
96 | a pid/tgid will be followed by some stats. | ||
97 | |||
98 | b) TASKSTATS_TYPE_PID/TGID: attribute whose payload is the pid/tgid whose stats | ||
99 | is being returned. | ||
100 | |||
101 | c) TASKSTATS_TYPE_STATS: attribute with a struct taskstsats as payload. The | ||
102 | same structure is used for both per-pid and per-tgid stats. | ||
103 | |||
104 | 3. New message sent by kernel whenever a task exits. The payload consists of a | ||
105 | series of attributes of the following type: | ||
106 | |||
107 | a) TASKSTATS_TYPE_AGGR_PID: indicates next two attributes will be pid+stats | ||
108 | b) TASKSTATS_TYPE_PID: contains exiting task's pid | ||
109 | c) TASKSTATS_TYPE_STATS: contains the exiting task's per-pid stats | ||
110 | d) TASKSTATS_TYPE_AGGR_TGID: indicates next two attributes will be tgid+stats | ||
111 | e) TASKSTATS_TYPE_TGID: contains tgid of process to which task belongs | ||
112 | f) TASKSTATS_TYPE_STATS: contains the per-tgid stats for exiting task's process | ||
113 | |||
114 | |||
115 | per-tgid stats | ||
116 | -------------- | ||
117 | |||
118 | Taskstats provides per-process stats, in addition to per-task stats, since | ||
119 | resource management is often done at a process granularity and aggregating task | ||
120 | stats in userspace alone is inefficient and potentially inaccurate (due to lack | ||
121 | of atomicity). | ||
122 | |||
123 | However, maintaining per-process, in addition to per-task stats, within the | ||
124 | kernel has space and time overheads. To address this, the taskstats code | ||
125 | accumalates each exiting task's statistics into a process-wide data structure. | ||
126 | When the last task of a process exits, the process level data accumalated also | ||
127 | gets sent to userspace (along with the per-task data). | ||
128 | |||
129 | When a user queries to get per-tgid data, the sum of all other live threads in | ||
130 | the group is added up and added to the accumalated total for previously exited | ||
131 | threads of the same thread group. | ||
132 | |||
133 | Extending taskstats | ||
134 | ------------------- | ||
135 | |||
136 | There are two ways to extend the taskstats interface to export more | ||
137 | per-task/process stats as patches to collect them get added to the kernel | ||
138 | in future: | ||
139 | |||
140 | 1. Adding more fields to the end of the existing struct taskstats. Backward | ||
141 | compatibility is ensured by the version number within the | ||
142 | structure. Userspace will use only the fields of the struct that correspond | ||
143 | to the version its using. | ||
144 | |||
145 | 2. Defining separate statistic structs and using the netlink attributes | ||
146 | interface to return them. Since userspace processes each netlink attribute | ||
147 | independently, it can always ignore attributes whose type it does not | ||
148 | understand (because it is using an older version of the interface). | ||
149 | |||
150 | |||
151 | Choosing between 1. and 2. is a matter of trading off flexibility and | ||
152 | overhead. If only a few fields need to be added, then 1. is the preferable | ||
153 | path since the kernel and userspace don't need to incur the overhead of | ||
154 | processing new netlink attributes. But if the new fields expand the existing | ||
155 | struct too much, requiring disparate userspace accounting utilities to | ||
156 | unnecessarily receive large structures whose fields are of no interest, then | ||
157 | extending the attributes structure would be worthwhile. | ||
158 | |||
159 | Flow control for taskstats | ||
160 | -------------------------- | ||
161 | |||
162 | When the rate of task exits becomes large, a listener may not be able to keep | ||
163 | up with the kernel's rate of sending per-tid/tgid exit data leading to data | ||
164 | loss. This possibility gets compounded when the taskstats structure gets | ||
165 | extended and the number of cpus grows large. | ||
166 | |||
167 | To avoid losing statistics, userspace should do one or more of the following: | ||
168 | |||
169 | - increase the receive buffer sizes for the netlink sockets opened by | ||
170 | listeners to receive exit data. | ||
171 | |||
172 | - create more listeners and reduce the number of cpus being listened to by | ||
173 | each listener. In the extreme case, there could be one listener for each cpu. | ||
174 | Users may also consider setting the cpu affinity of the listener to the subset | ||
175 | of cpus to which it listens, especially if they are listening to just one cpu. | ||
176 | |||
177 | Despite these measures, if the userspace receives ENOBUFS error messages | ||
178 | indicated overflow of receive buffers, it should take measures to handle the | ||
179 | loss of data. | ||
180 | |||
181 | ---- | ||
diff --git a/Documentation/feature-removal-schedule.txt b/Documentation/feature-removal-schedule.txt index ee287988934e..9d3a0775a11d 100644 --- a/Documentation/feature-removal-schedule.txt +++ b/Documentation/feature-removal-schedule.txt | |||
@@ -55,14 +55,6 @@ Who: Mauro Carvalho Chehab <mchehab@brturbo.com.br> | |||
55 | 55 | ||
56 | --------------------------- | 56 | --------------------------- |
57 | 57 | ||
58 | What: remove EXPORT_SYMBOL(insert_resource) | ||
59 | When: April 2006 | ||
60 | Files: kernel/resource.c | ||
61 | Why: No modular usage in the kernel. | ||
62 | Who: Adrian Bunk <bunk@stusta.de> | ||
63 | |||
64 | --------------------------- | ||
65 | |||
66 | What: PCMCIA control ioctl (needed for pcmcia-cs [cardmgr, cardctl]) | 58 | What: PCMCIA control ioctl (needed for pcmcia-cs [cardmgr, cardctl]) |
67 | When: November 2005 | 59 | When: November 2005 |
68 | Files: drivers/pcmcia/: pcmcia_ioctl.c | 60 | Files: drivers/pcmcia/: pcmcia_ioctl.c |
@@ -255,3 +247,14 @@ Why: The interrupt related SA_* flags are replaced by IRQF_* to move them | |||
255 | Who: Thomas Gleixner <tglx@linutronix.de> | 247 | Who: Thomas Gleixner <tglx@linutronix.de> |
256 | 248 | ||
257 | --------------------------- | 249 | --------------------------- |
250 | |||
251 | What: i2c-ite and i2c-algo-ite drivers | ||
252 | When: September 2006 | ||
253 | Why: These drivers never compiled since they were added to the kernel | ||
254 | tree 5 years ago. This feature removal can be reevaluated if | ||
255 | someone shows interest in the drivers, fixes them and takes over | ||
256 | maintenance. | ||
257 | http://marc.theaimsgroup.com/?l=linux-mips&m=115040510817448 | ||
258 | Who: Jean Delvare <khali@linux-fr.org> | ||
259 | |||
260 | --------------------------- | ||
diff --git a/Documentation/hwmon/abituguru b/Documentation/hwmon/abituguru index 69cdb527d58f..b2c0d61b39a2 100644 --- a/Documentation/hwmon/abituguru +++ b/Documentation/hwmon/abituguru | |||
@@ -2,13 +2,36 @@ Kernel driver abituguru | |||
2 | ======================= | 2 | ======================= |
3 | 3 | ||
4 | Supported chips: | 4 | Supported chips: |
5 | * Abit uGuru (Hardware Monitor part only) | 5 | * Abit uGuru revision 1-3 (Hardware Monitor part only) |
6 | Prefix: 'abituguru' | 6 | Prefix: 'abituguru' |
7 | Addresses scanned: ISA 0x0E0 | 7 | Addresses scanned: ISA 0x0E0 |
8 | Datasheet: Not available, this driver is based on reverse engineering. | 8 | Datasheet: Not available, this driver is based on reverse engineering. |
9 | A "Datasheet" has been written based on the reverse engineering it | 9 | A "Datasheet" has been written based on the reverse engineering it |
10 | should be available in the same dir as this file under the name | 10 | should be available in the same dir as this file under the name |
11 | abituguru-datasheet. | 11 | abituguru-datasheet. |
12 | Note: | ||
13 | The uGuru is a microcontroller with onboard firmware which programs | ||
14 | it to behave as a hwmon IC. There are many different revisions of the | ||
15 | firmware and thus effectivly many different revisions of the uGuru. | ||
16 | Below is an incomplete list with which revisions are used for which | ||
17 | Motherboards: | ||
18 | uGuru 1.00 ~ 1.24 (AI7, KV8-MAX3, AN7) (1) | ||
19 | uGuru 2.0.0.0 ~ 2.0.4.2 (KV8-PRO) | ||
20 | uGuru 2.1.0.0 ~ 2.1.2.8 (AS8, AV8, AA8, AG8, AA8XE, AX8) | ||
21 | uGuru 2.2.0.0 ~ 2.2.0.6 (AA8 Fatal1ty) | ||
22 | uGuru 2.3.0.0 ~ 2.3.0.9 (AN8) | ||
23 | uGuru 3.0.0.0 ~ 3.0.1.2 (AW8, AL8, NI8) | ||
24 | uGuru 4.xxxxx? (AT8 32X) (2) | ||
25 | 1) For revisions 2 and 3 uGuru's the driver can autodetect the | ||
26 | sensortype (Volt or Temp) for bank1 sensors, for revision 1 uGuru's | ||
27 | this doesnot always work. For these uGuru's the autodection can | ||
28 | be overriden with the bank1_types module param. For all 3 known | ||
29 | revison 1 motherboards the correct use of this param is: | ||
30 | bank1_types=1,1,0,0,0,0,0,2,0,0,0,0,2,0,0,1 | ||
31 | You may also need to specify the fan_sensors option for these boards | ||
32 | fan_sensors=5 | ||
33 | 2) The current version of the abituguru driver is known to NOT work | ||
34 | on these Motherboards | ||
12 | 35 | ||
13 | Authors: | 36 | Authors: |
14 | Hans de Goede <j.w.r.degoede@hhs.nl>, | 37 | Hans de Goede <j.w.r.degoede@hhs.nl>, |
@@ -22,6 +45,11 @@ Module Parameters | |||
22 | * force: bool Force detection. Note this parameter only causes the | 45 | * force: bool Force detection. Note this parameter only causes the |
23 | detection to be skipped, if the uGuru can't be read | 46 | detection to be skipped, if the uGuru can't be read |
24 | the module initialization (insmod) will still fail. | 47 | the module initialization (insmod) will still fail. |
48 | * bank1_types: int[] Bank1 sensortype autodetection override: | ||
49 | -1 autodetect (default) | ||
50 | 0 volt sensor | ||
51 | 1 temp sensor | ||
52 | 2 not connected | ||
25 | * fan_sensors: int Tell the driver how many fan speed sensors there are | 53 | * fan_sensors: int Tell the driver how many fan speed sensors there are |
26 | on your motherboard. Default: 0 (autodetect). | 54 | on your motherboard. Default: 0 (autodetect). |
27 | * pwms: int Tell the driver how many fan speed controls (fan | 55 | * pwms: int Tell the driver how many fan speed controls (fan |
@@ -29,7 +57,7 @@ Module Parameters | |||
29 | * verbose: int How verbose should the driver be? (0-3): | 57 | * verbose: int How verbose should the driver be? (0-3): |
30 | 0 normal output | 58 | 0 normal output |
31 | 1 + verbose error reporting | 59 | 1 + verbose error reporting |
32 | 2 + sensors type probing info\n" | 60 | 2 + sensors type probing info (default) |
33 | 3 + retryable error reporting | 61 | 3 + retryable error reporting |
34 | Default: 2 (the driver is still in the testing phase) | 62 | Default: 2 (the driver is still in the testing phase) |
35 | 63 | ||
diff --git a/Documentation/i2c/busses/i2c-sis96x b/Documentation/i2c/busses/i2c-sis96x index 00a009b977e9..08d7b2dac69a 100644 --- a/Documentation/i2c/busses/i2c-sis96x +++ b/Documentation/i2c/busses/i2c-sis96x | |||
@@ -42,8 +42,8 @@ I suspect that this driver could be made to work for the following SiS | |||
42 | chipsets as well: 635, and 635T. If anyone owns a board with those chips | 42 | chipsets as well: 635, and 635T. If anyone owns a board with those chips |
43 | AND is willing to risk crashing & burning an otherwise well-behaved kernel | 43 | AND is willing to risk crashing & burning an otherwise well-behaved kernel |
44 | in the name of progress... please contact me at <mhoffman@lightlink.com> or | 44 | in the name of progress... please contact me at <mhoffman@lightlink.com> or |
45 | via the project's mailing list: <lm-sensors@lm-sensors.org>. Please | 45 | via the project's mailing list: <i2c@lm-sensors.org>. Please send bug |
46 | send bug reports and/or success stories as well. | 46 | reports and/or success stories as well. |
47 | 47 | ||
48 | 48 | ||
49 | TO DOs | 49 | TO DOs |
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index 149f62ba14a5..e11f7728ec6f 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt | |||
@@ -448,6 +448,8 @@ running once the system is up. | |||
448 | Format: <area>[,<node>] | 448 | Format: <area>[,<node>] |
449 | See also Documentation/networking/decnet.txt. | 449 | See also Documentation/networking/decnet.txt. |
450 | 450 | ||
451 | delayacct [KNL] Enable per-task delay accounting | ||
452 | |||
451 | dhash_entries= [KNL] | 453 | dhash_entries= [KNL] |
452 | Set number of hash buckets for dentry cache. | 454 | Set number of hash buckets for dentry cache. |
453 | 455 | ||
diff --git a/Documentation/memory-barriers.txt b/Documentation/memory-barriers.txt index 28d1bc3edb1c..46b9b389df35 100644 --- a/Documentation/memory-barriers.txt +++ b/Documentation/memory-barriers.txt | |||
@@ -1015,10 +1015,9 @@ CPU from reordering them. | |||
1015 | There are some more advanced barrier functions: | 1015 | There are some more advanced barrier functions: |
1016 | 1016 | ||
1017 | (*) set_mb(var, value) | 1017 | (*) set_mb(var, value) |
1018 | (*) set_wmb(var, value) | ||
1019 | 1018 | ||
1020 | These assign the value to the variable and then insert at least a write | 1019 | This assigns the value to the variable and then inserts at least a write |
1021 | barrier after it, depending on the function. They aren't guaranteed to | 1020 | barrier after it, depending on the function. It isn't guaranteed to |
1022 | insert anything more than a compiler barrier in a UP compilation. | 1021 | insert anything more than a compiler barrier in a UP compilation. |
1023 | 1022 | ||
1024 | 1023 | ||
diff --git a/Documentation/mips/time.README b/Documentation/mips/time.README index 70bc0dd43d6d..69ddc5c14b79 100644 --- a/Documentation/mips/time.README +++ b/Documentation/mips/time.README | |||
@@ -65,7 +65,7 @@ the following functions or values: | |||
65 | 1. (optional) set up RTC routines | 65 | 1. (optional) set up RTC routines |
66 | 2. (optional) calibrate and set the mips_counter_frequency | 66 | 2. (optional) calibrate and set the mips_counter_frequency |
67 | 67 | ||
68 | b) board_timer_setup - a function pointer. Invoked at the end of time_init() | 68 | b) plat_timer_setup - a function pointer. Invoked at the end of time_init() |
69 | 1. (optional) over-ride any decisions made in time_init() | 69 | 1. (optional) over-ride any decisions made in time_init() |
70 | 2. set up the irqaction for timer interrupt. | 70 | 2. set up the irqaction for timer interrupt. |
71 | 3. enable the timer interrupt | 71 | 3. enable the timer interrupt |
@@ -116,19 +116,17 @@ Step 2: the machine setup() function | |||
116 | 116 | ||
117 | If you supply board_time_init(), set the function poointer. | 117 | If you supply board_time_init(), set the function poointer. |
118 | 118 | ||
119 | Set the function pointer board_timer_setup() (mandatory) | ||
120 | 119 | ||
121 | 120 | Step 3: implement rtc routines, board_time_init() and plat_timer_setup() | |
122 | Step 3: implement rtc routines, board_time_init() and board_timer_setup() | ||
123 | if needed. | 121 | if needed. |
124 | 122 | ||
125 | board_time_init() - | 123 | board_time_init() - |
126 | a) (optional) set up RTC routines, | 124 | a) (optional) set up RTC routines, |
127 | b) (optional) calibrate and set the mips_counter_frequency | 125 | b) (optional) calibrate and set the mips_counter_frequency |
128 | (only needed if you intended to use fixed_rate_gettimeoffset | 126 | (only needed if you intended to use fixed_rate_gettimeoffset |
129 | or use cpu counter as timer interrupt source) | 127 | or use cpu counter as timer interrupt source) |
130 | 128 | ||
131 | board_timer_setup() - | 129 | plat_timer_setup() - |
132 | a) (optional) over-write any choices made above by time_init(). | 130 | a) (optional) over-write any choices made above by time_init(). |
133 | b) machine specific code should setup the timer irqaction. | 131 | b) machine specific code should setup the timer irqaction. |
134 | c) enable the timer interrupt | 132 | c) enable the timer interrupt |
diff --git a/Documentation/ramdisk.txt b/Documentation/ramdisk.txt index 7c25584e082c..52f75b7d51c2 100644 --- a/Documentation/ramdisk.txt +++ b/Documentation/ramdisk.txt | |||
@@ -6,7 +6,7 @@ Contents: | |||
6 | 1) Overview | 6 | 1) Overview |
7 | 2) Kernel Command Line Parameters | 7 | 2) Kernel Command Line Parameters |
8 | 3) Using "rdev -r" | 8 | 3) Using "rdev -r" |
9 | 4) An Example of Creating a Compressed RAM Disk | 9 | 4) An Example of Creating a Compressed RAM Disk |
10 | 10 | ||
11 | 11 | ||
12 | 1) Overview | 12 | 1) Overview |
@@ -34,7 +34,7 @@ make it clearer. The original "ramdisk=<ram_size>" has been kept around for | |||
34 | compatibility reasons, but it may be removed in the future. | 34 | compatibility reasons, but it may be removed in the future. |
35 | 35 | ||
36 | The new RAM disk also has the ability to load compressed RAM disk images, | 36 | The new RAM disk also has the ability to load compressed RAM disk images, |
37 | allowing one to squeeze more programs onto an average installation or | 37 | allowing one to squeeze more programs onto an average installation or |
38 | rescue floppy disk. | 38 | rescue floppy disk. |
39 | 39 | ||
40 | 40 | ||
@@ -51,7 +51,7 @@ default is 4096 (4 MB) (8192 (8 MB) on S390). | |||
51 | =================== | 51 | =================== |
52 | 52 | ||
53 | This parameter tells the RAM disk driver how many bytes to use per block. The | 53 | This parameter tells the RAM disk driver how many bytes to use per block. The |
54 | default is 512. | 54 | default is 1024 (BLOCK_SIZE). |
55 | 55 | ||
56 | 56 | ||
57 | 3) Using "rdev -r" | 57 | 3) Using "rdev -r" |
@@ -70,7 +70,7 @@ These numbers are no magical secrets, as seen below: | |||
70 | ./arch/i386/kernel/setup.c:#define RAMDISK_PROMPT_FLAG 0x8000 | 70 | ./arch/i386/kernel/setup.c:#define RAMDISK_PROMPT_FLAG 0x8000 |
71 | ./arch/i386/kernel/setup.c:#define RAMDISK_LOAD_FLAG 0x4000 | 71 | ./arch/i386/kernel/setup.c:#define RAMDISK_LOAD_FLAG 0x4000 |
72 | 72 | ||
73 | Consider a typical two floppy disk setup, where you will have the | 73 | Consider a typical two floppy disk setup, where you will have the |
74 | kernel on disk one, and have already put a RAM disk image onto disk #2. | 74 | kernel on disk one, and have already put a RAM disk image onto disk #2. |
75 | 75 | ||
76 | Hence you want to set bits 0 to 13 as 0, meaning that your RAM disk | 76 | Hence you want to set bits 0 to 13 as 0, meaning that your RAM disk |
@@ -97,12 +97,12 @@ Since the default start = 0 and the default prompt = 1, you could use: | |||
97 | append = "load_ramdisk=1" | 97 | append = "load_ramdisk=1" |
98 | 98 | ||
99 | 99 | ||
100 | 4) An Example of Creating a Compressed RAM Disk | 100 | 4) An Example of Creating a Compressed RAM Disk |
101 | ---------------------------------------------- | 101 | ---------------------------------------------- |
102 | 102 | ||
103 | To create a RAM disk image, you will need a spare block device to | 103 | To create a RAM disk image, you will need a spare block device to |
104 | construct it on. This can be the RAM disk device itself, or an | 104 | construct it on. This can be the RAM disk device itself, or an |
105 | unused disk partition (such as an unmounted swap partition). For this | 105 | unused disk partition (such as an unmounted swap partition). For this |
106 | example, we will use the RAM disk device, "/dev/ram0". | 106 | example, we will use the RAM disk device, "/dev/ram0". |
107 | 107 | ||
108 | Note: This technique should not be done on a machine with less than 8 MB | 108 | Note: This technique should not be done on a machine with less than 8 MB |
diff --git a/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl b/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl index 69866d5997a4..b8dc51ca776c 100644 --- a/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl +++ b/Documentation/sound/alsa/DocBook/writing-an-alsa-driver.tmpl | |||
@@ -1172,7 +1172,7 @@ | |||
1172 | } | 1172 | } |
1173 | 1173 | ||
1174 | /* PCI IDs */ | 1174 | /* PCI IDs */ |
1175 | static struct pci_device_id snd_mychip_ids[] __devinitdata = { | 1175 | static struct pci_device_id snd_mychip_ids[] = { |
1176 | { PCI_VENDOR_ID_FOO, PCI_DEVICE_ID_BAR, | 1176 | { PCI_VENDOR_ID_FOO, PCI_DEVICE_ID_BAR, |
1177 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, | 1177 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, |
1178 | .... | 1178 | .... |
@@ -1565,7 +1565,7 @@ | |||
1565 | <informalexample> | 1565 | <informalexample> |
1566 | <programlisting> | 1566 | <programlisting> |
1567 | <![CDATA[ | 1567 | <![CDATA[ |
1568 | static struct pci_device_id snd_mychip_ids[] __devinitdata = { | 1568 | static struct pci_device_id snd_mychip_ids[] = { |
1569 | { PCI_VENDOR_ID_FOO, PCI_DEVICE_ID_BAR, | 1569 | { PCI_VENDOR_ID_FOO, PCI_DEVICE_ID_BAR, |
1570 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, | 1570 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, |
1571 | .... | 1571 | .... |
diff --git a/Documentation/usb/usb-serial.txt b/Documentation/usb/usb-serial.txt index f001cd93b79b..02b0f7beb6d1 100644 --- a/Documentation/usb/usb-serial.txt +++ b/Documentation/usb/usb-serial.txt | |||
@@ -399,10 +399,10 @@ REINER SCT cyberJack pinpad/e-com USB chipcard reader | |||
399 | 399 | ||
400 | Prolific PL2303 Driver | 400 | Prolific PL2303 Driver |
401 | 401 | ||
402 | This driver support any device that has the PL2303 chip from Prolific | 402 | This driver supports any device that has the PL2303 chip from Prolific |
403 | in it. This includes a number of single port USB to serial | 403 | in it. This includes a number of single port USB to serial |
404 | converters and USB GPS devices. Devices from Aten (the UC-232) and | 404 | converters and USB GPS devices. Devices from Aten (the UC-232) and |
405 | IO-Data work with this driver. | 405 | IO-Data work with this driver, as does the DCU-11 mobile-phone cable. |
406 | 406 | ||
407 | For any questions or problems with this driver, please contact Greg | 407 | For any questions or problems with this driver, please contact Greg |
408 | Kroah-Hartman at greg@kroah.com | 408 | Kroah-Hartman at greg@kroah.com |
diff --git a/MAINTAINERS b/MAINTAINERS index 645a9f85f33f..e99028ca2f7c 100644 --- a/MAINTAINERS +++ b/MAINTAINERS | |||
@@ -274,7 +274,7 @@ S: Maintained | |||
274 | ALI1563 I2C DRIVER | 274 | ALI1563 I2C DRIVER |
275 | P: Rudolf Marek | 275 | P: Rudolf Marek |
276 | M: r.marek@sh.cvut.cz | 276 | M: r.marek@sh.cvut.cz |
277 | L: lm-sensors@lm-sensors.org | 277 | L: i2c@lm-sensors.org |
278 | S: Maintained | 278 | S: Maintained |
279 | 279 | ||
280 | ALPHA PORT | 280 | ALPHA PORT |
@@ -771,6 +771,7 @@ M: aliakc@web.de | |||
771 | P: Jamie Lenehan | 771 | P: Jamie Lenehan |
772 | M: lenehan@twibble.org | 772 | M: lenehan@twibble.org |
773 | W: http://twibble.org/dist/dc395x/ | 773 | W: http://twibble.org/dist/dc395x/ |
774 | L: dc395x@twibble.org | ||
774 | L: http://lists.twibble.org/mailman/listinfo/dc395x/ | 775 | L: http://lists.twibble.org/mailman/listinfo/dc395x/ |
775 | S: Maintained | 776 | S: Maintained |
776 | 777 | ||
@@ -1249,7 +1250,7 @@ S: Maintained | |||
1249 | I2C SUBSYSTEM | 1250 | I2C SUBSYSTEM |
1250 | P: Jean Delvare | 1251 | P: Jean Delvare |
1251 | M: khali@linux-fr.org | 1252 | M: khali@linux-fr.org |
1252 | L: lm-sensors@lm-sensors.org | 1253 | L: i2c@lm-sensors.org |
1253 | W: http://www.lm-sensors.nu/ | 1254 | W: http://www.lm-sensors.nu/ |
1254 | T: quilt kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/ | 1255 | T: quilt kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/ |
1255 | S: Maintained | 1256 | S: Maintained |
@@ -1501,6 +1502,7 @@ P: Yi Zhu | |||
1501 | M: yi.zhu@intel.com | 1502 | M: yi.zhu@intel.com |
1502 | P: James Ketrenos | 1503 | P: James Ketrenos |
1503 | M: jketreno@linux.intel.com | 1504 | M: jketreno@linux.intel.com |
1505 | L: ipw2100-devel@lists.sourceforge.net | ||
1504 | L: http://lists.sourceforge.net/mailman/listinfo/ipw2100-devel | 1506 | L: http://lists.sourceforge.net/mailman/listinfo/ipw2100-devel |
1505 | W: http://ipw2100.sourceforge.net | 1507 | W: http://ipw2100.sourceforge.net |
1506 | S: Supported | 1508 | S: Supported |
@@ -1510,6 +1512,7 @@ P: Yi Zhu | |||
1510 | M: yi.zhu@intel.com | 1512 | M: yi.zhu@intel.com |
1511 | P: James Ketrenos | 1513 | P: James Ketrenos |
1512 | M: jketreno@linux.intel.com | 1514 | M: jketreno@linux.intel.com |
1515 | L: ipw2100-devel@lists.sourceforge.net | ||
1513 | L: http://lists.sourceforge.net/mailman/listinfo/ipw2100-devel | 1516 | L: http://lists.sourceforge.net/mailman/listinfo/ipw2100-devel |
1514 | W: http://ipw2200.sourceforge.net | 1517 | W: http://ipw2200.sourceforge.net |
1515 | S: Supported | 1518 | S: Supported |
@@ -2093,7 +2096,7 @@ S: Maintained | |||
2093 | OPENCORES I2C BUS DRIVER | 2096 | OPENCORES I2C BUS DRIVER |
2094 | P: Peter Korsgaard | 2097 | P: Peter Korsgaard |
2095 | M: jacmet@sunsite.dk | 2098 | M: jacmet@sunsite.dk |
2096 | L: lm-sensors@lm-sensors.org | 2099 | L: i2c@lm-sensors.org |
2097 | S: Maintained | 2100 | S: Maintained |
2098 | 2101 | ||
2099 | ORACLE CLUSTER FILESYSTEM 2 (OCFS2) | 2102 | ORACLE CLUSTER FILESYSTEM 2 (OCFS2) |
@@ -2226,6 +2229,7 @@ S: Maintained | |||
2226 | 2229 | ||
2227 | PCMCIA SUBSYSTEM | 2230 | PCMCIA SUBSYSTEM |
2228 | P: Linux PCMCIA Team | 2231 | P: Linux PCMCIA Team |
2232 | L: linux-pcmcia@lists.infradead.org | ||
2229 | L: http://lists.infradead.org/mailman/listinfo/linux-pcmcia | 2233 | L: http://lists.infradead.org/mailman/listinfo/linux-pcmcia |
2230 | T: git kernel.org:/pub/scm/linux/kernel/git/brodo/pcmcia-2.6.git | 2234 | T: git kernel.org:/pub/scm/linux/kernel/git/brodo/pcmcia-2.6.git |
2231 | S: Maintained | 2235 | S: Maintained |
@@ -2236,6 +2240,12 @@ M: tsbogend@alpha.franken.de | |||
2236 | L: netdev@vger.kernel.org | 2240 | L: netdev@vger.kernel.org |
2237 | S: Maintained | 2241 | S: Maintained |
2238 | 2242 | ||
2243 | PER-TASK DELAY ACCOUNTING | ||
2244 | P: Shailabh Nagar | ||
2245 | M: nagar@watson.ibm.com | ||
2246 | L: linux-kernel@vger.kernel.org | ||
2247 | S: Maintained | ||
2248 | |||
2239 | PERSONALITY HANDLING | 2249 | PERSONALITY HANDLING |
2240 | P: Christoph Hellwig | 2250 | P: Christoph Hellwig |
2241 | M: hch@infradead.org | 2251 | M: hch@infradead.org |
@@ -2752,11 +2762,23 @@ P: Christoph Hellwig | |||
2752 | M: hch@infradead.org | 2762 | M: hch@infradead.org |
2753 | S: Maintained | 2763 | S: Maintained |
2754 | 2764 | ||
2765 | TC CLASSIFIER | ||
2766 | P: Jamal Hadi Salim | ||
2767 | M: hadi@cyberus.ca | ||
2768 | L: netdev@vger.kernel.org | ||
2769 | S: Maintained | ||
2770 | |||
2755 | TI OMAP RANDOM NUMBER GENERATOR SUPPORT | 2771 | TI OMAP RANDOM NUMBER GENERATOR SUPPORT |
2756 | P: Deepak Saxena | 2772 | P: Deepak Saxena |
2757 | M: dsaxena@plexity.net | 2773 | M: dsaxena@plexity.net |
2758 | S: Maintained | 2774 | S: Maintained |
2759 | 2775 | ||
2776 | TASKSTATS STATISTICS INTERFACE | ||
2777 | P: Shailabh Nagar | ||
2778 | M: nagar@watson.ibm.com | ||
2779 | L: linux-kernel@vger.kernel.org | ||
2780 | S: Maintained | ||
2781 | |||
2760 | TI PARALLEL LINK CABLE DRIVER | 2782 | TI PARALLEL LINK CABLE DRIVER |
2761 | P: Romain Lievin | 2783 | P: Romain Lievin |
2762 | M: roms@lpg.ticalc.org | 2784 | M: roms@lpg.ticalc.org |
@@ -3132,7 +3154,7 @@ S: Maintained | |||
3132 | VIAPRO SMBUS DRIVER | 3154 | VIAPRO SMBUS DRIVER |
3133 | P: Jean Delvare | 3155 | P: Jean Delvare |
3134 | M: khali@linux-fr.org | 3156 | M: khali@linux-fr.org |
3135 | L: lm-sensors@lm-sensors.org | 3157 | L: i2c@lm-sensors.org |
3136 | S: Maintained | 3158 | S: Maintained |
3137 | 3159 | ||
3138 | UCLINUX (AND M68KNOMMU) | 3160 | UCLINUX (AND M68KNOMMU) |
@@ -3180,6 +3202,11 @@ S: Maintained | |||
3180 | W1 DALLAS'S 1-WIRE BUS | 3202 | W1 DALLAS'S 1-WIRE BUS |
3181 | P: Evgeniy Polyakov | 3203 | P: Evgeniy Polyakov |
3182 | M: johnpol@2ka.mipt.ru | 3204 | M: johnpol@2ka.mipt.ru |
3205 | S: Maintained | ||
3206 | |||
3207 | W83791D HARDWARE MONITORING DRIVER | ||
3208 | P: Charles Spirakis | ||
3209 | M: bezaur@gmail.com | ||
3183 | L: lm-sensors@lm-sensors.org | 3210 | L: lm-sensors@lm-sensors.org |
3184 | S: Maintained | 3211 | S: Maintained |
3185 | 3212 | ||
@@ -1,7 +1,7 @@ | |||
1 | VERSION = 2 | 1 | VERSION = 2 |
2 | PATCHLEVEL = 6 | 2 | PATCHLEVEL = 6 |
3 | SUBLEVEL = 18 | 3 | SUBLEVEL = 18 |
4 | EXTRAVERSION = -rc1 | 4 | EXTRAVERSION = -rc2 |
5 | NAME=Crazed Snow-Weasel | 5 | NAME=Crazed Snow-Weasel |
6 | 6 | ||
7 | # *DOCUMENTATION* | 7 | # *DOCUMENTATION* |
diff --git a/arch/arm/common/locomo.c b/arch/arm/common/locomo.c index fbc3ab0e1011..04de83f4f008 100644 --- a/arch/arm/common/locomo.c +++ b/arch/arm/common/locomo.c | |||
@@ -506,7 +506,7 @@ locomo_init_one_child(struct locomo *lchip, struct locomo_dev_info *info) | |||
506 | goto out; | 506 | goto out; |
507 | } | 507 | } |
508 | 508 | ||
509 | strncpy(dev->dev.bus_id,info->name,sizeof(dev->dev.bus_id)); | 509 | strncpy(dev->dev.bus_id, info->name, sizeof(dev->dev.bus_id)); |
510 | /* | 510 | /* |
511 | * If the parent device has a DMA mask associated with it, | 511 | * If the parent device has a DMA mask associated with it, |
512 | * propagate it down to the children. | 512 | * propagate it down to the children. |
@@ -729,7 +729,6 @@ __locomo_probe(struct device *me, struct resource *mem, int irq) | |||
729 | 729 | ||
730 | for (i = 0; i < ARRAY_SIZE(locomo_devices); i++) | 730 | for (i = 0; i < ARRAY_SIZE(locomo_devices); i++) |
731 | locomo_init_one_child(lchip, &locomo_devices[i]); | 731 | locomo_init_one_child(lchip, &locomo_devices[i]); |
732 | |||
733 | return 0; | 732 | return 0; |
734 | 733 | ||
735 | out: | 734 | out: |
diff --git a/arch/arm/common/sharpsl_pm.c b/arch/arm/common/sharpsl_pm.c index 045e37e07330..59b5ddec480f 100644 --- a/arch/arm/common/sharpsl_pm.c +++ b/arch/arm/common/sharpsl_pm.c | |||
@@ -412,8 +412,10 @@ static int sharpsl_check_battery_temp(void) | |||
412 | val = get_select_val(buff); | 412 | val = get_select_val(buff); |
413 | 413 | ||
414 | dev_dbg(sharpsl_pm.dev, "Temperature: %d\n", val); | 414 | dev_dbg(sharpsl_pm.dev, "Temperature: %d\n", val); |
415 | if (val > sharpsl_pm.machinfo->charge_on_temp) | 415 | if (val > sharpsl_pm.machinfo->charge_on_temp) { |
416 | printk(KERN_WARNING "Not charging: temperature out of limits.\n"); | ||
416 | return -1; | 417 | return -1; |
418 | } | ||
417 | 419 | ||
418 | return 0; | 420 | return 0; |
419 | } | 421 | } |
diff --git a/arch/arm/configs/ep93xx_defconfig b/arch/arm/configs/ep93xx_defconfig index b69e88bbc909..c0de6fcd488a 100644 --- a/arch/arm/configs/ep93xx_defconfig +++ b/arch/arm/configs/ep93xx_defconfig | |||
@@ -1,14 +1,18 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17-rc2 | 3 | # Linux kernel version: 2.6.18-rc1 |
4 | # Wed Apr 19 21:21:01 2006 | 4 | # Sun Jul 9 15:21:30 2006 |
5 | # | 5 | # |
6 | CONFIG_ARM=y | 6 | CONFIG_ARM=y |
7 | CONFIG_MMU=y | 7 | CONFIG_MMU=y |
8 | CONFIG_GENERIC_HARDIRQS=y | ||
9 | CONFIG_HARDIRQS_SW_RESEND=y | ||
10 | CONFIG_GENERIC_IRQ_PROBE=y | ||
8 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 11 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
9 | CONFIG_GENERIC_HWEIGHT=y | 12 | CONFIG_GENERIC_HWEIGHT=y |
10 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 13 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
11 | CONFIG_VECTORS_BASE=0xffff0000 | 14 | CONFIG_VECTORS_BASE=0xffff0000 |
15 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
12 | 16 | ||
13 | # | 17 | # |
14 | # Code maturity level options | 18 | # Code maturity level options |
@@ -43,14 +47,15 @@ CONFIG_PRINTK=y | |||
43 | CONFIG_BUG=y | 47 | CONFIG_BUG=y |
44 | CONFIG_ELF_CORE=y | 48 | CONFIG_ELF_CORE=y |
45 | CONFIG_BASE_FULL=y | 49 | CONFIG_BASE_FULL=y |
50 | CONFIG_RT_MUTEXES=y | ||
46 | CONFIG_FUTEX=y | 51 | CONFIG_FUTEX=y |
47 | CONFIG_EPOLL=y | 52 | CONFIG_EPOLL=y |
48 | CONFIG_SHMEM=y | 53 | CONFIG_SHMEM=y |
49 | CONFIG_SLAB=y | 54 | CONFIG_SLAB=y |
55 | CONFIG_VM_EVENT_COUNTERS=y | ||
50 | # CONFIG_TINY_SHMEM is not set | 56 | # CONFIG_TINY_SHMEM is not set |
51 | CONFIG_BASE_SMALL=0 | 57 | CONFIG_BASE_SMALL=0 |
52 | # CONFIG_SLOB is not set | 58 | # CONFIG_SLOB is not set |
53 | CONFIG_OBSOLETE_INTERMODULE=y | ||
54 | 59 | ||
55 | # | 60 | # |
56 | # Loadable module support | 61 | # Loadable module support |
@@ -83,18 +88,26 @@ CONFIG_DEFAULT_IOSCHED="deadline" | |||
83 | # | 88 | # |
84 | # System Type | 89 | # System Type |
85 | # | 90 | # |
91 | # CONFIG_ARCH_AAEC2000 is not set | ||
92 | # CONFIG_ARCH_INTEGRATOR is not set | ||
93 | # CONFIG_ARCH_REALVIEW is not set | ||
94 | # CONFIG_ARCH_VERSATILE is not set | ||
95 | # CONFIG_ARCH_AT91 is not set | ||
86 | # CONFIG_ARCH_CLPS7500 is not set | 96 | # CONFIG_ARCH_CLPS7500 is not set |
87 | # CONFIG_ARCH_CLPS711X is not set | 97 | # CONFIG_ARCH_CLPS711X is not set |
88 | # CONFIG_ARCH_CO285 is not set | 98 | # CONFIG_ARCH_CO285 is not set |
89 | # CONFIG_ARCH_EBSA110 is not set | 99 | # CONFIG_ARCH_EBSA110 is not set |
90 | CONFIG_ARCH_EP93XX=y | 100 | CONFIG_ARCH_EP93XX=y |
91 | # CONFIG_ARCH_FOOTBRIDGE is not set | 101 | # CONFIG_ARCH_FOOTBRIDGE is not set |
92 | # CONFIG_ARCH_INTEGRATOR is not set | 102 | # CONFIG_ARCH_NETX is not set |
103 | # CONFIG_ARCH_H720X is not set | ||
104 | # CONFIG_ARCH_IMX is not set | ||
93 | # CONFIG_ARCH_IOP3XX is not set | 105 | # CONFIG_ARCH_IOP3XX is not set |
94 | # CONFIG_ARCH_IXP4XX is not set | 106 | # CONFIG_ARCH_IXP4XX is not set |
95 | # CONFIG_ARCH_IXP2000 is not set | 107 | # CONFIG_ARCH_IXP2000 is not set |
96 | # CONFIG_ARCH_IXP23XX is not set | 108 | # CONFIG_ARCH_IXP23XX is not set |
97 | # CONFIG_ARCH_L7200 is not set | 109 | # CONFIG_ARCH_L7200 is not set |
110 | # CONFIG_ARCH_PNX4008 is not set | ||
98 | # CONFIG_ARCH_PXA is not set | 111 | # CONFIG_ARCH_PXA is not set |
99 | # CONFIG_ARCH_RPC is not set | 112 | # CONFIG_ARCH_RPC is not set |
100 | # CONFIG_ARCH_SA1100 is not set | 113 | # CONFIG_ARCH_SA1100 is not set |
@@ -102,20 +115,18 @@ CONFIG_ARCH_EP93XX=y | |||
102 | # CONFIG_ARCH_SHARK is not set | 115 | # CONFIG_ARCH_SHARK is not set |
103 | # CONFIG_ARCH_LH7A40X is not set | 116 | # CONFIG_ARCH_LH7A40X is not set |
104 | # CONFIG_ARCH_OMAP is not set | 117 | # CONFIG_ARCH_OMAP is not set |
105 | # CONFIG_ARCH_VERSATILE is not set | ||
106 | # CONFIG_ARCH_REALVIEW is not set | ||
107 | # CONFIG_ARCH_IMX is not set | ||
108 | # CONFIG_ARCH_H720X is not set | ||
109 | # CONFIG_ARCH_AAEC2000 is not set | ||
110 | # CONFIG_ARCH_AT91RM9200 is not set | ||
111 | 118 | ||
112 | # | 119 | # |
113 | # Cirrus EP93xx Implementation Options | 120 | # Cirrus EP93xx Implementation Options |
114 | # | 121 | # |
122 | CONFIG_CRUNCH=y | ||
115 | 123 | ||
116 | # | 124 | # |
117 | # EP93xx Platforms | 125 | # EP93xx Platforms |
118 | # | 126 | # |
127 | CONFIG_MACH_EDB9302=y | ||
128 | CONFIG_MACH_EDB9315=y | ||
129 | CONFIG_MACH_EDB9315A=y | ||
119 | CONFIG_MACH_GESBC9312=y | 130 | CONFIG_MACH_GESBC9312=y |
120 | CONFIG_MACH_TS72XX=y | 131 | CONFIG_MACH_TS72XX=y |
121 | 132 | ||
@@ -166,6 +177,7 @@ CONFIG_FLATMEM=y | |||
166 | CONFIG_FLAT_NODE_MEM_MAP=y | 177 | CONFIG_FLAT_NODE_MEM_MAP=y |
167 | # CONFIG_SPARSEMEM_STATIC is not set | 178 | # CONFIG_SPARSEMEM_STATIC is not set |
168 | CONFIG_SPLIT_PTLOCK_CPUS=4096 | 179 | CONFIG_SPLIT_PTLOCK_CPUS=4096 |
180 | # CONFIG_RESOURCES_64BIT is not set | ||
169 | CONFIG_ALIGNMENT_TRAP=y | 181 | CONFIG_ALIGNMENT_TRAP=y |
170 | 182 | ||
171 | # | 183 | # |
@@ -233,6 +245,8 @@ CONFIG_SYN_COOKIES=y | |||
233 | # CONFIG_INET_IPCOMP is not set | 245 | # CONFIG_INET_IPCOMP is not set |
234 | # CONFIG_INET_XFRM_TUNNEL is not set | 246 | # CONFIG_INET_XFRM_TUNNEL is not set |
235 | # CONFIG_INET_TUNNEL is not set | 247 | # CONFIG_INET_TUNNEL is not set |
248 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | ||
249 | CONFIG_INET_XFRM_MODE_TUNNEL=y | ||
236 | CONFIG_INET_DIAG=y | 250 | CONFIG_INET_DIAG=y |
237 | CONFIG_INET_TCP_DIAG=y | 251 | CONFIG_INET_TCP_DIAG=y |
238 | # CONFIG_TCP_CONG_ADVANCED is not set | 252 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -240,6 +254,7 @@ CONFIG_TCP_CONG_BIC=y | |||
240 | # CONFIG_IPV6 is not set | 254 | # CONFIG_IPV6 is not set |
241 | # CONFIG_INET6_XFRM_TUNNEL is not set | 255 | # CONFIG_INET6_XFRM_TUNNEL is not set |
242 | # CONFIG_INET6_TUNNEL is not set | 256 | # CONFIG_INET6_TUNNEL is not set |
257 | # CONFIG_NETWORK_SECMARK is not set | ||
243 | # CONFIG_NETFILTER is not set | 258 | # CONFIG_NETFILTER is not set |
244 | 259 | ||
245 | # | 260 | # |
@@ -294,6 +309,7 @@ CONFIG_STANDALONE=y | |||
294 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 309 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
295 | # CONFIG_FW_LOADER is not set | 310 | # CONFIG_FW_LOADER is not set |
296 | # CONFIG_DEBUG_DRIVER is not set | 311 | # CONFIG_DEBUG_DRIVER is not set |
312 | # CONFIG_SYS_HYPERVISOR is not set | ||
297 | 313 | ||
298 | # | 314 | # |
299 | # Connector - unified userspace <-> kernelspace linker | 315 | # Connector - unified userspace <-> kernelspace linker |
@@ -386,6 +402,8 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=1 | |||
386 | # | 402 | # |
387 | CONFIG_MTD_NAND=y | 403 | CONFIG_MTD_NAND=y |
388 | CONFIG_MTD_NAND_VERIFY_WRITE=y | 404 | CONFIG_MTD_NAND_VERIFY_WRITE=y |
405 | # CONFIG_MTD_NAND_ECC_SMC is not set | ||
406 | CONFIG_MTD_NAND_TS7250=y | ||
389 | CONFIG_MTD_NAND_IDS=y | 407 | CONFIG_MTD_NAND_IDS=y |
390 | # CONFIG_MTD_NAND_DISKONCHIP is not set | 408 | # CONFIG_MTD_NAND_DISKONCHIP is not set |
391 | # CONFIG_MTD_NAND_NANDSIM is not set | 409 | # CONFIG_MTD_NAND_NANDSIM is not set |
@@ -582,6 +600,7 @@ CONFIG_EP93XX_WATCHDOG=y | |||
582 | # USB-based Watchdog Cards | 600 | # USB-based Watchdog Cards |
583 | # | 601 | # |
584 | # CONFIG_USBPCWATCHDOG is not set | 602 | # CONFIG_USBPCWATCHDOG is not set |
603 | # CONFIG_HW_RANDOM is not set | ||
585 | # CONFIG_NVRAM is not set | 604 | # CONFIG_NVRAM is not set |
586 | # CONFIG_DTLK is not set | 605 | # CONFIG_DTLK is not set |
587 | # CONFIG_R3964 is not set | 606 | # CONFIG_R3964 is not set |
@@ -613,6 +632,7 @@ CONFIG_I2C_ALGOBIT=y | |||
613 | # | 632 | # |
614 | # I2C Hardware Bus support | 633 | # I2C Hardware Bus support |
615 | # | 634 | # |
635 | # CONFIG_I2C_OCORES is not set | ||
616 | # CONFIG_I2C_PARPORT_LIGHT is not set | 636 | # CONFIG_I2C_PARPORT_LIGHT is not set |
617 | # CONFIG_I2C_STUB is not set | 637 | # CONFIG_I2C_STUB is not set |
618 | # CONFIG_I2C_PCA_ISA is not set | 638 | # CONFIG_I2C_PCA_ISA is not set |
@@ -641,13 +661,13 @@ CONFIG_I2C_DEBUG_CHIP=y | |||
641 | # | 661 | # |
642 | # Dallas's 1-wire bus | 662 | # Dallas's 1-wire bus |
643 | # | 663 | # |
644 | # CONFIG_W1 is not set | ||
645 | 664 | ||
646 | # | 665 | # |
647 | # Hardware Monitoring support | 666 | # Hardware Monitoring support |
648 | # | 667 | # |
649 | CONFIG_HWMON=y | 668 | CONFIG_HWMON=y |
650 | # CONFIG_HWMON_VID is not set | 669 | # CONFIG_HWMON_VID is not set |
670 | # CONFIG_SENSORS_ABITUGURU is not set | ||
651 | # CONFIG_SENSORS_ADM1021 is not set | 671 | # CONFIG_SENSORS_ADM1021 is not set |
652 | # CONFIG_SENSORS_ADM1025 is not set | 672 | # CONFIG_SENSORS_ADM1025 is not set |
653 | # CONFIG_SENSORS_ADM1026 is not set | 673 | # CONFIG_SENSORS_ADM1026 is not set |
@@ -675,8 +695,10 @@ CONFIG_HWMON=y | |||
675 | # CONFIG_SENSORS_MAX1619 is not set | 695 | # CONFIG_SENSORS_MAX1619 is not set |
676 | # CONFIG_SENSORS_PC87360 is not set | 696 | # CONFIG_SENSORS_PC87360 is not set |
677 | # CONFIG_SENSORS_SMSC47M1 is not set | 697 | # CONFIG_SENSORS_SMSC47M1 is not set |
698 | # CONFIG_SENSORS_SMSC47M192 is not set | ||
678 | # CONFIG_SENSORS_SMSC47B397 is not set | 699 | # CONFIG_SENSORS_SMSC47B397 is not set |
679 | # CONFIG_SENSORS_W83781D is not set | 700 | # CONFIG_SENSORS_W83781D is not set |
701 | # CONFIG_SENSORS_W83791D is not set | ||
680 | # CONFIG_SENSORS_W83792D is not set | 702 | # CONFIG_SENSORS_W83792D is not set |
681 | # CONFIG_SENSORS_W83L785TS is not set | 703 | # CONFIG_SENSORS_W83L785TS is not set |
682 | # CONFIG_SENSORS_W83627HF is not set | 704 | # CONFIG_SENSORS_W83627HF is not set |
@@ -704,6 +726,7 @@ CONFIG_HWMON=y | |||
704 | # Multimedia devices | 726 | # Multimedia devices |
705 | # | 727 | # |
706 | # CONFIG_VIDEO_DEV is not set | 728 | # CONFIG_VIDEO_DEV is not set |
729 | CONFIG_VIDEO_V4L2=y | ||
707 | 730 | ||
708 | # | 731 | # |
709 | # Digital Video Broadcasting Devices | 732 | # Digital Video Broadcasting Devices |
@@ -714,6 +737,7 @@ CONFIG_HWMON=y | |||
714 | # | 737 | # |
715 | # Graphics support | 738 | # Graphics support |
716 | # | 739 | # |
740 | # CONFIG_FIRMWARE_EDID is not set | ||
717 | # CONFIG_FB is not set | 741 | # CONFIG_FB is not set |
718 | 742 | ||
719 | # | 743 | # |
@@ -806,6 +830,7 @@ CONFIG_USB_SERIAL_CONSOLE=y | |||
806 | # CONFIG_USB_SERIAL_GENERIC is not set | 830 | # CONFIG_USB_SERIAL_GENERIC is not set |
807 | # CONFIG_USB_SERIAL_AIRPRIME is not set | 831 | # CONFIG_USB_SERIAL_AIRPRIME is not set |
808 | # CONFIG_USB_SERIAL_ANYDATA is not set | 832 | # CONFIG_USB_SERIAL_ANYDATA is not set |
833 | # CONFIG_USB_SERIAL_ARK3116 is not set | ||
809 | # CONFIG_USB_SERIAL_BELKIN is not set | 834 | # CONFIG_USB_SERIAL_BELKIN is not set |
810 | # CONFIG_USB_SERIAL_WHITEHEAT is not set | 835 | # CONFIG_USB_SERIAL_WHITEHEAT is not set |
811 | # CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set | 836 | # CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set |
@@ -833,6 +858,7 @@ CONFIG_USB_SERIAL_PL2303=y | |||
833 | # CONFIG_USB_SERIAL_TI is not set | 858 | # CONFIG_USB_SERIAL_TI is not set |
834 | # CONFIG_USB_SERIAL_CYBERJACK is not set | 859 | # CONFIG_USB_SERIAL_CYBERJACK is not set |
835 | # CONFIG_USB_SERIAL_XIRCOM is not set | 860 | # CONFIG_USB_SERIAL_XIRCOM is not set |
861 | # CONFIG_USB_SERIAL_OPTION is not set | ||
836 | # CONFIG_USB_SERIAL_OMNINET is not set | 862 | # CONFIG_USB_SERIAL_OMNINET is not set |
837 | 863 | ||
838 | # | 864 | # |
@@ -845,10 +871,12 @@ CONFIG_USB_SERIAL_PL2303=y | |||
845 | # CONFIG_USB_LEGOTOWER is not set | 871 | # CONFIG_USB_LEGOTOWER is not set |
846 | # CONFIG_USB_LCD is not set | 872 | # CONFIG_USB_LCD is not set |
847 | # CONFIG_USB_LED is not set | 873 | # CONFIG_USB_LED is not set |
874 | # CONFIG_USB_CY7C63 is not set | ||
848 | # CONFIG_USB_CYTHERM is not set | 875 | # CONFIG_USB_CYTHERM is not set |
849 | # CONFIG_USB_PHIDGETKIT is not set | 876 | # CONFIG_USB_PHIDGETKIT is not set |
850 | # CONFIG_USB_PHIDGETSERVO is not set | 877 | # CONFIG_USB_PHIDGETSERVO is not set |
851 | # CONFIG_USB_IDMOUSE is not set | 878 | # CONFIG_USB_IDMOUSE is not set |
879 | # CONFIG_USB_APPLEDISPLAY is not set | ||
852 | # CONFIG_USB_LD is not set | 880 | # CONFIG_USB_LD is not set |
853 | # CONFIG_USB_TEST is not set | 881 | # CONFIG_USB_TEST is not set |
854 | 882 | ||
@@ -880,17 +908,24 @@ CONFIG_RTC_HCTOSYS_DEVICE="rtc0" | |||
880 | CONFIG_RTC_INTF_SYSFS=y | 908 | CONFIG_RTC_INTF_SYSFS=y |
881 | CONFIG_RTC_INTF_PROC=y | 909 | CONFIG_RTC_INTF_PROC=y |
882 | CONFIG_RTC_INTF_DEV=y | 910 | CONFIG_RTC_INTF_DEV=y |
911 | # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set | ||
883 | 912 | ||
884 | # | 913 | # |
885 | # RTC drivers | 914 | # RTC drivers |
886 | # | 915 | # |
887 | # CONFIG_RTC_DRV_X1205 is not set | 916 | # CONFIG_RTC_DRV_X1205 is not set |
917 | # CONFIG_RTC_DRV_DS1307 is not set | ||
918 | # CONFIG_RTC_DRV_DS1553 is not set | ||
888 | # CONFIG_RTC_DRV_DS1672 is not set | 919 | # CONFIG_RTC_DRV_DS1672 is not set |
920 | # CONFIG_RTC_DRV_DS1742 is not set | ||
889 | # CONFIG_RTC_DRV_PCF8563 is not set | 921 | # CONFIG_RTC_DRV_PCF8563 is not set |
922 | # CONFIG_RTC_DRV_PCF8583 is not set | ||
890 | # CONFIG_RTC_DRV_RS5C372 is not set | 923 | # CONFIG_RTC_DRV_RS5C372 is not set |
891 | CONFIG_RTC_DRV_M48T86=y | 924 | CONFIG_RTC_DRV_M48T86=y |
892 | CONFIG_RTC_DRV_EP93XX=y | 925 | CONFIG_RTC_DRV_EP93XX=y |
926 | # CONFIG_RTC_DRV_PL031 is not set | ||
893 | # CONFIG_RTC_DRV_TEST is not set | 927 | # CONFIG_RTC_DRV_TEST is not set |
928 | # CONFIG_RTC_DRV_V3020 is not set | ||
894 | 929 | ||
895 | # | 930 | # |
896 | # File systems | 931 | # File systems |
@@ -910,6 +945,7 @@ CONFIG_JBD=y | |||
910 | # CONFIG_MINIX_FS is not set | 945 | # CONFIG_MINIX_FS is not set |
911 | # CONFIG_ROMFS_FS is not set | 946 | # CONFIG_ROMFS_FS is not set |
912 | CONFIG_INOTIFY=y | 947 | CONFIG_INOTIFY=y |
948 | CONFIG_INOTIFY_USER=y | ||
913 | # CONFIG_QUOTA is not set | 949 | # CONFIG_QUOTA is not set |
914 | CONFIG_DNOTIFY=y | 950 | CONFIG_DNOTIFY=y |
915 | # CONFIG_AUTOFS_FS is not set | 951 | # CONFIG_AUTOFS_FS is not set |
@@ -957,6 +993,7 @@ CONFIG_JFFS2_FS=y | |||
957 | CONFIG_JFFS2_FS_DEBUG=0 | 993 | CONFIG_JFFS2_FS_DEBUG=0 |
958 | CONFIG_JFFS2_FS_WRITEBUFFER=y | 994 | CONFIG_JFFS2_FS_WRITEBUFFER=y |
959 | # CONFIG_JFFS2_SUMMARY is not set | 995 | # CONFIG_JFFS2_SUMMARY is not set |
996 | # CONFIG_JFFS2_FS_XATTR is not set | ||
960 | # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set | 997 | # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set |
961 | CONFIG_JFFS2_ZLIB=y | 998 | CONFIG_JFFS2_ZLIB=y |
962 | CONFIG_JFFS2_RTIME=y | 999 | CONFIG_JFFS2_RTIME=y |
@@ -986,6 +1023,7 @@ CONFIG_SUNRPC=y | |||
986 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1023 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
987 | # CONFIG_SMB_FS is not set | 1024 | # CONFIG_SMB_FS is not set |
988 | # CONFIG_CIFS is not set | 1025 | # CONFIG_CIFS is not set |
1026 | # CONFIG_CIFS_DEBUG2 is not set | ||
989 | # CONFIG_NCP_FS is not set | 1027 | # CONFIG_NCP_FS is not set |
990 | # CONFIG_CODA_FS is not set | 1028 | # CONFIG_CODA_FS is not set |
991 | # CONFIG_AFS_FS is not set | 1029 | # CONFIG_AFS_FS is not set |
@@ -1066,15 +1104,20 @@ CONFIG_NLS_ISO8859_1=y | |||
1066 | # | 1104 | # |
1067 | # CONFIG_PRINTK_TIME is not set | 1105 | # CONFIG_PRINTK_TIME is not set |
1068 | CONFIG_MAGIC_SYSRQ=y | 1106 | CONFIG_MAGIC_SYSRQ=y |
1107 | # CONFIG_UNUSED_SYMBOLS is not set | ||
1069 | CONFIG_DEBUG_KERNEL=y | 1108 | CONFIG_DEBUG_KERNEL=y |
1070 | CONFIG_LOG_BUF_SHIFT=14 | 1109 | CONFIG_LOG_BUF_SHIFT=14 |
1071 | CONFIG_DETECT_SOFTLOCKUP=y | 1110 | CONFIG_DETECT_SOFTLOCKUP=y |
1072 | # CONFIG_SCHEDSTATS is not set | 1111 | # CONFIG_SCHEDSTATS is not set |
1073 | CONFIG_DEBUG_SLAB=y | 1112 | CONFIG_DEBUG_SLAB=y |
1074 | # CONFIG_DEBUG_SLAB_LEAK is not set | 1113 | # CONFIG_DEBUG_SLAB_LEAK is not set |
1075 | CONFIG_DEBUG_MUTEXES=y | 1114 | # CONFIG_DEBUG_RT_MUTEXES is not set |
1115 | # CONFIG_RT_MUTEX_TESTER is not set | ||
1076 | CONFIG_DEBUG_SPINLOCK=y | 1116 | CONFIG_DEBUG_SPINLOCK=y |
1117 | CONFIG_DEBUG_MUTEXES=y | ||
1118 | # CONFIG_DEBUG_RWSEMS is not set | ||
1077 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | 1119 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set |
1120 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | ||
1078 | # CONFIG_DEBUG_KOBJECT is not set | 1121 | # CONFIG_DEBUG_KOBJECT is not set |
1079 | CONFIG_DEBUG_BUGVERBOSE=y | 1122 | CONFIG_DEBUG_BUGVERBOSE=y |
1080 | # CONFIG_DEBUG_INFO is not set | 1123 | # CONFIG_DEBUG_INFO is not set |
@@ -1114,3 +1157,4 @@ CONFIG_CRC32=y | |||
1114 | CONFIG_LIBCRC32C=y | 1157 | CONFIG_LIBCRC32C=y |
1115 | CONFIG_ZLIB_INFLATE=y | 1158 | CONFIG_ZLIB_INFLATE=y |
1116 | CONFIG_ZLIB_DEFLATE=y | 1159 | CONFIG_ZLIB_DEFLATE=y |
1160 | CONFIG_PLIST=y | ||
diff --git a/arch/arm/configs/ixp2000_defconfig b/arch/arm/configs/ixp2000_defconfig index e6f3e4873d6c..27b3e31a8ad8 100644 --- a/arch/arm/configs/ixp2000_defconfig +++ b/arch/arm/configs/ixp2000_defconfig | |||
@@ -1,14 +1,18 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17-rc2 | 3 | # Linux kernel version: 2.6.18-rc1 |
4 | # Wed Apr 19 21:12:49 2006 | 4 | # Sun Jul 9 15:28:50 2006 |
5 | # | 5 | # |
6 | CONFIG_ARM=y | 6 | CONFIG_ARM=y |
7 | CONFIG_MMU=y | 7 | CONFIG_MMU=y |
8 | CONFIG_GENERIC_HARDIRQS=y | ||
9 | CONFIG_HARDIRQS_SW_RESEND=y | ||
10 | CONFIG_GENERIC_IRQ_PROBE=y | ||
8 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 11 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
9 | CONFIG_GENERIC_HWEIGHT=y | 12 | CONFIG_GENERIC_HWEIGHT=y |
10 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 13 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
11 | CONFIG_VECTORS_BASE=0xffff0000 | 14 | CONFIG_VECTORS_BASE=0xffff0000 |
15 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
12 | 16 | ||
13 | # | 17 | # |
14 | # Code maturity level options | 18 | # Code maturity level options |
@@ -43,14 +47,15 @@ CONFIG_PRINTK=y | |||
43 | CONFIG_BUG=y | 47 | CONFIG_BUG=y |
44 | CONFIG_ELF_CORE=y | 48 | CONFIG_ELF_CORE=y |
45 | CONFIG_BASE_FULL=y | 49 | CONFIG_BASE_FULL=y |
50 | CONFIG_RT_MUTEXES=y | ||
46 | CONFIG_FUTEX=y | 51 | CONFIG_FUTEX=y |
47 | CONFIG_EPOLL=y | 52 | CONFIG_EPOLL=y |
48 | CONFIG_SHMEM=y | 53 | CONFIG_SHMEM=y |
49 | CONFIG_SLAB=y | 54 | CONFIG_SLAB=y |
55 | CONFIG_VM_EVENT_COUNTERS=y | ||
50 | # CONFIG_TINY_SHMEM is not set | 56 | # CONFIG_TINY_SHMEM is not set |
51 | CONFIG_BASE_SMALL=0 | 57 | CONFIG_BASE_SMALL=0 |
52 | # CONFIG_SLOB is not set | 58 | # CONFIG_SLOB is not set |
53 | CONFIG_OBSOLETE_INTERMODULE=y | ||
54 | 59 | ||
55 | # | 60 | # |
56 | # Loadable module support | 61 | # Loadable module support |
@@ -83,18 +88,26 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
83 | # | 88 | # |
84 | # System Type | 89 | # System Type |
85 | # | 90 | # |
91 | # CONFIG_ARCH_AAEC2000 is not set | ||
92 | # CONFIG_ARCH_INTEGRATOR is not set | ||
93 | # CONFIG_ARCH_REALVIEW is not set | ||
94 | # CONFIG_ARCH_VERSATILE is not set | ||
95 | # CONFIG_ARCH_AT91 is not set | ||
86 | # CONFIG_ARCH_CLPS7500 is not set | 96 | # CONFIG_ARCH_CLPS7500 is not set |
87 | # CONFIG_ARCH_CLPS711X is not set | 97 | # CONFIG_ARCH_CLPS711X is not set |
88 | # CONFIG_ARCH_CO285 is not set | 98 | # CONFIG_ARCH_CO285 is not set |
89 | # CONFIG_ARCH_EBSA110 is not set | 99 | # CONFIG_ARCH_EBSA110 is not set |
90 | # CONFIG_ARCH_EP93XX is not set | 100 | # CONFIG_ARCH_EP93XX is not set |
91 | # CONFIG_ARCH_FOOTBRIDGE is not set | 101 | # CONFIG_ARCH_FOOTBRIDGE is not set |
92 | # CONFIG_ARCH_INTEGRATOR is not set | 102 | # CONFIG_ARCH_NETX is not set |
103 | # CONFIG_ARCH_H720X is not set | ||
104 | # CONFIG_ARCH_IMX is not set | ||
93 | # CONFIG_ARCH_IOP3XX is not set | 105 | # CONFIG_ARCH_IOP3XX is not set |
94 | # CONFIG_ARCH_IXP4XX is not set | 106 | # CONFIG_ARCH_IXP4XX is not set |
95 | CONFIG_ARCH_IXP2000=y | 107 | CONFIG_ARCH_IXP2000=y |
96 | # CONFIG_ARCH_IXP23XX is not set | 108 | # CONFIG_ARCH_IXP23XX is not set |
97 | # CONFIG_ARCH_L7200 is not set | 109 | # CONFIG_ARCH_L7200 is not set |
110 | # CONFIG_ARCH_PNX4008 is not set | ||
98 | # CONFIG_ARCH_PXA is not set | 111 | # CONFIG_ARCH_PXA is not set |
99 | # CONFIG_ARCH_RPC is not set | 112 | # CONFIG_ARCH_RPC is not set |
100 | # CONFIG_ARCH_SA1100 is not set | 113 | # CONFIG_ARCH_SA1100 is not set |
@@ -102,12 +115,6 @@ CONFIG_ARCH_IXP2000=y | |||
102 | # CONFIG_ARCH_SHARK is not set | 115 | # CONFIG_ARCH_SHARK is not set |
103 | # CONFIG_ARCH_LH7A40X is not set | 116 | # CONFIG_ARCH_LH7A40X is not set |
104 | # CONFIG_ARCH_OMAP is not set | 117 | # CONFIG_ARCH_OMAP is not set |
105 | # CONFIG_ARCH_VERSATILE is not set | ||
106 | # CONFIG_ARCH_REALVIEW is not set | ||
107 | # CONFIG_ARCH_IMX is not set | ||
108 | # CONFIG_ARCH_H720X is not set | ||
109 | # CONFIG_ARCH_AAEC2000 is not set | ||
110 | # CONFIG_ARCH_AT91RM9200 is not set | ||
111 | CONFIG_ARCH_SUPPORTS_BIG_ENDIAN=y | 118 | CONFIG_ARCH_SUPPORTS_BIG_ENDIAN=y |
112 | 119 | ||
113 | # | 120 | # |
@@ -171,6 +178,7 @@ CONFIG_FLATMEM=y | |||
171 | CONFIG_FLAT_NODE_MEM_MAP=y | 178 | CONFIG_FLAT_NODE_MEM_MAP=y |
172 | # CONFIG_SPARSEMEM_STATIC is not set | 179 | # CONFIG_SPARSEMEM_STATIC is not set |
173 | CONFIG_SPLIT_PTLOCK_CPUS=4096 | 180 | CONFIG_SPLIT_PTLOCK_CPUS=4096 |
181 | # CONFIG_RESOURCES_64BIT is not set | ||
174 | CONFIG_ALIGNMENT_TRAP=y | 182 | CONFIG_ALIGNMENT_TRAP=y |
175 | 183 | ||
176 | # | 184 | # |
@@ -218,6 +226,8 @@ CONFIG_NET=y | |||
218 | CONFIG_PACKET=y | 226 | CONFIG_PACKET=y |
219 | CONFIG_PACKET_MMAP=y | 227 | CONFIG_PACKET_MMAP=y |
220 | CONFIG_UNIX=y | 228 | CONFIG_UNIX=y |
229 | CONFIG_XFRM=y | ||
230 | # CONFIG_XFRM_USER is not set | ||
221 | # CONFIG_NET_KEY is not set | 231 | # CONFIG_NET_KEY is not set |
222 | CONFIG_INET=y | 232 | CONFIG_INET=y |
223 | # CONFIG_IP_MULTICAST is not set | 233 | # CONFIG_IP_MULTICAST is not set |
@@ -236,6 +246,8 @@ CONFIG_SYN_COOKIES=y | |||
236 | # CONFIG_INET_IPCOMP is not set | 246 | # CONFIG_INET_IPCOMP is not set |
237 | # CONFIG_INET_XFRM_TUNNEL is not set | 247 | # CONFIG_INET_XFRM_TUNNEL is not set |
238 | # CONFIG_INET_TUNNEL is not set | 248 | # CONFIG_INET_TUNNEL is not set |
249 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | ||
250 | CONFIG_INET_XFRM_MODE_TUNNEL=y | ||
239 | CONFIG_INET_DIAG=y | 251 | CONFIG_INET_DIAG=y |
240 | CONFIG_INET_TCP_DIAG=y | 252 | CONFIG_INET_TCP_DIAG=y |
241 | # CONFIG_TCP_CONG_ADVANCED is not set | 253 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -243,6 +255,7 @@ CONFIG_TCP_CONG_BIC=y | |||
243 | # CONFIG_IPV6 is not set | 255 | # CONFIG_IPV6 is not set |
244 | # CONFIG_INET6_XFRM_TUNNEL is not set | 256 | # CONFIG_INET6_XFRM_TUNNEL is not set |
245 | # CONFIG_INET6_TUNNEL is not set | 257 | # CONFIG_INET6_TUNNEL is not set |
258 | # CONFIG_NETWORK_SECMARK is not set | ||
246 | # CONFIG_NETFILTER is not set | 259 | # CONFIG_NETFILTER is not set |
247 | 260 | ||
248 | # | 261 | # |
@@ -297,6 +310,7 @@ CONFIG_STANDALONE=y | |||
297 | # CONFIG_PREVENT_FIRMWARE_BUILD is not set | 310 | # CONFIG_PREVENT_FIRMWARE_BUILD is not set |
298 | # CONFIG_FW_LOADER is not set | 311 | # CONFIG_FW_LOADER is not set |
299 | # CONFIG_DEBUG_DRIVER is not set | 312 | # CONFIG_DEBUG_DRIVER is not set |
313 | # CONFIG_SYS_HYPERVISOR is not set | ||
300 | 314 | ||
301 | # | 315 | # |
302 | # Connector - unified userspace <-> kernelspace linker | 316 | # Connector - unified userspace <-> kernelspace linker |
@@ -525,6 +539,7 @@ CONFIG_ENP2611_MSF_NET=y | |||
525 | # CONFIG_CHELSIO_T1 is not set | 539 | # CONFIG_CHELSIO_T1 is not set |
526 | # CONFIG_IXGB is not set | 540 | # CONFIG_IXGB is not set |
527 | # CONFIG_S2IO is not set | 541 | # CONFIG_S2IO is not set |
542 | # CONFIG_MYRI10GE is not set | ||
528 | 543 | ||
529 | # | 544 | # |
530 | # Token Ring devices | 545 | # Token Ring devices |
@@ -542,7 +557,6 @@ CONFIG_ENP2611_MSF_NET=y | |||
542 | CONFIG_WAN=y | 557 | CONFIG_WAN=y |
543 | # CONFIG_DSCC4 is not set | 558 | # CONFIG_DSCC4 is not set |
544 | # CONFIG_LANMEDIA is not set | 559 | # CONFIG_LANMEDIA is not set |
545 | # CONFIG_SYNCLINK_SYNCPPP is not set | ||
546 | CONFIG_HDLC=y | 560 | CONFIG_HDLC=y |
547 | CONFIG_HDLC_RAW=y | 561 | CONFIG_HDLC_RAW=y |
548 | # CONFIG_HDLC_RAW_ETH is not set | 562 | # CONFIG_HDLC_RAW_ETH is not set |
@@ -654,6 +668,7 @@ CONFIG_IXP2000_WATCHDOG=y | |||
654 | # | 668 | # |
655 | # CONFIG_PCIPCWATCHDOG is not set | 669 | # CONFIG_PCIPCWATCHDOG is not set |
656 | # CONFIG_WDTPCI is not set | 670 | # CONFIG_WDTPCI is not set |
671 | # CONFIG_HW_RANDOM is not set | ||
657 | # CONFIG_NVRAM is not set | 672 | # CONFIG_NVRAM is not set |
658 | # CONFIG_DTLK is not set | 673 | # CONFIG_DTLK is not set |
659 | # CONFIG_R3964 is not set | 674 | # CONFIG_R3964 is not set |
@@ -697,6 +712,7 @@ CONFIG_I2C_ALGOBIT=y | |||
697 | # CONFIG_I2C_PIIX4 is not set | 712 | # CONFIG_I2C_PIIX4 is not set |
698 | CONFIG_I2C_IXP2000=y | 713 | CONFIG_I2C_IXP2000=y |
699 | # CONFIG_I2C_NFORCE2 is not set | 714 | # CONFIG_I2C_NFORCE2 is not set |
715 | # CONFIG_I2C_OCORES is not set | ||
700 | # CONFIG_I2C_PARPORT_LIGHT is not set | 716 | # CONFIG_I2C_PARPORT_LIGHT is not set |
701 | # CONFIG_I2C_PROSAVAGE is not set | 717 | # CONFIG_I2C_PROSAVAGE is not set |
702 | # CONFIG_I2C_SAVAGE4 is not set | 718 | # CONFIG_I2C_SAVAGE4 is not set |
@@ -733,13 +749,13 @@ CONFIG_SENSORS_EEPROM=y | |||
733 | # | 749 | # |
734 | # Dallas's 1-wire bus | 750 | # Dallas's 1-wire bus |
735 | # | 751 | # |
736 | # CONFIG_W1 is not set | ||
737 | 752 | ||
738 | # | 753 | # |
739 | # Hardware Monitoring support | 754 | # Hardware Monitoring support |
740 | # | 755 | # |
741 | CONFIG_HWMON=y | 756 | CONFIG_HWMON=y |
742 | # CONFIG_HWMON_VID is not set | 757 | # CONFIG_HWMON_VID is not set |
758 | # CONFIG_SENSORS_ABITUGURU is not set | ||
743 | # CONFIG_SENSORS_ADM1021 is not set | 759 | # CONFIG_SENSORS_ADM1021 is not set |
744 | # CONFIG_SENSORS_ADM1025 is not set | 760 | # CONFIG_SENSORS_ADM1025 is not set |
745 | # CONFIG_SENSORS_ADM1026 is not set | 761 | # CONFIG_SENSORS_ADM1026 is not set |
@@ -768,10 +784,12 @@ CONFIG_HWMON=y | |||
768 | # CONFIG_SENSORS_PC87360 is not set | 784 | # CONFIG_SENSORS_PC87360 is not set |
769 | # CONFIG_SENSORS_SIS5595 is not set | 785 | # CONFIG_SENSORS_SIS5595 is not set |
770 | # CONFIG_SENSORS_SMSC47M1 is not set | 786 | # CONFIG_SENSORS_SMSC47M1 is not set |
787 | # CONFIG_SENSORS_SMSC47M192 is not set | ||
771 | # CONFIG_SENSORS_SMSC47B397 is not set | 788 | # CONFIG_SENSORS_SMSC47B397 is not set |
772 | # CONFIG_SENSORS_VIA686A is not set | 789 | # CONFIG_SENSORS_VIA686A is not set |
773 | # CONFIG_SENSORS_VT8231 is not set | 790 | # CONFIG_SENSORS_VT8231 is not set |
774 | # CONFIG_SENSORS_W83781D is not set | 791 | # CONFIG_SENSORS_W83781D is not set |
792 | # CONFIG_SENSORS_W83791D is not set | ||
775 | # CONFIG_SENSORS_W83792D is not set | 793 | # CONFIG_SENSORS_W83792D is not set |
776 | # CONFIG_SENSORS_W83L785TS is not set | 794 | # CONFIG_SENSORS_W83L785TS is not set |
777 | # CONFIG_SENSORS_W83627HF is not set | 795 | # CONFIG_SENSORS_W83627HF is not set |
@@ -799,6 +817,7 @@ CONFIG_HWMON=y | |||
799 | # Multimedia devices | 817 | # Multimedia devices |
800 | # | 818 | # |
801 | # CONFIG_VIDEO_DEV is not set | 819 | # CONFIG_VIDEO_DEV is not set |
820 | CONFIG_VIDEO_V4L2=y | ||
802 | 821 | ||
803 | # | 822 | # |
804 | # Digital Video Broadcasting Devices | 823 | # Digital Video Broadcasting Devices |
@@ -808,6 +827,7 @@ CONFIG_HWMON=y | |||
808 | # | 827 | # |
809 | # Graphics support | 828 | # Graphics support |
810 | # | 829 | # |
830 | # CONFIG_FIRMWARE_EDID is not set | ||
811 | # CONFIG_FB is not set | 831 | # CONFIG_FB is not set |
812 | 832 | ||
813 | # | 833 | # |
@@ -866,6 +886,7 @@ CONFIG_FS_POSIX_ACL=y | |||
866 | # CONFIG_MINIX_FS is not set | 886 | # CONFIG_MINIX_FS is not set |
867 | # CONFIG_ROMFS_FS is not set | 887 | # CONFIG_ROMFS_FS is not set |
868 | CONFIG_INOTIFY=y | 888 | CONFIG_INOTIFY=y |
889 | CONFIG_INOTIFY_USER=y | ||
869 | # CONFIG_QUOTA is not set | 890 | # CONFIG_QUOTA is not set |
870 | CONFIG_DNOTIFY=y | 891 | CONFIG_DNOTIFY=y |
871 | # CONFIG_AUTOFS_FS is not set | 892 | # CONFIG_AUTOFS_FS is not set |
@@ -910,6 +931,7 @@ CONFIG_JFFS2_FS=y | |||
910 | CONFIG_JFFS2_FS_DEBUG=0 | 931 | CONFIG_JFFS2_FS_DEBUG=0 |
911 | CONFIG_JFFS2_FS_WRITEBUFFER=y | 932 | CONFIG_JFFS2_FS_WRITEBUFFER=y |
912 | # CONFIG_JFFS2_SUMMARY is not set | 933 | # CONFIG_JFFS2_SUMMARY is not set |
934 | # CONFIG_JFFS2_FS_XATTR is not set | ||
913 | # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set | 935 | # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set |
914 | CONFIG_JFFS2_ZLIB=y | 936 | CONFIG_JFFS2_ZLIB=y |
915 | CONFIG_JFFS2_RTIME=y | 937 | CONFIG_JFFS2_RTIME=y |
@@ -939,6 +961,7 @@ CONFIG_SUNRPC=y | |||
939 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 961 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
940 | # CONFIG_SMB_FS is not set | 962 | # CONFIG_SMB_FS is not set |
941 | # CONFIG_CIFS is not set | 963 | # CONFIG_CIFS is not set |
964 | # CONFIG_CIFS_DEBUG2 is not set | ||
942 | # CONFIG_NCP_FS is not set | 965 | # CONFIG_NCP_FS is not set |
943 | # CONFIG_CODA_FS is not set | 966 | # CONFIG_CODA_FS is not set |
944 | # CONFIG_AFS_FS is not set | 967 | # CONFIG_AFS_FS is not set |
@@ -980,14 +1003,19 @@ CONFIG_MSDOS_PARTITION=y | |||
980 | # | 1003 | # |
981 | # CONFIG_PRINTK_TIME is not set | 1004 | # CONFIG_PRINTK_TIME is not set |
982 | CONFIG_MAGIC_SYSRQ=y | 1005 | CONFIG_MAGIC_SYSRQ=y |
1006 | # CONFIG_UNUSED_SYMBOLS is not set | ||
983 | CONFIG_DEBUG_KERNEL=y | 1007 | CONFIG_DEBUG_KERNEL=y |
984 | CONFIG_LOG_BUF_SHIFT=14 | 1008 | CONFIG_LOG_BUF_SHIFT=14 |
985 | CONFIG_DETECT_SOFTLOCKUP=y | 1009 | CONFIG_DETECT_SOFTLOCKUP=y |
986 | # CONFIG_SCHEDSTATS is not set | 1010 | # CONFIG_SCHEDSTATS is not set |
987 | # CONFIG_DEBUG_SLAB is not set | 1011 | # CONFIG_DEBUG_SLAB is not set |
988 | CONFIG_DEBUG_MUTEXES=y | 1012 | # CONFIG_DEBUG_RT_MUTEXES is not set |
1013 | # CONFIG_RT_MUTEX_TESTER is not set | ||
989 | # CONFIG_DEBUG_SPINLOCK is not set | 1014 | # CONFIG_DEBUG_SPINLOCK is not set |
1015 | CONFIG_DEBUG_MUTEXES=y | ||
1016 | # CONFIG_DEBUG_RWSEMS is not set | ||
990 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | 1017 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set |
1018 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | ||
991 | # CONFIG_DEBUG_KOBJECT is not set | 1019 | # CONFIG_DEBUG_KOBJECT is not set |
992 | CONFIG_DEBUG_BUGVERBOSE=y | 1020 | CONFIG_DEBUG_BUGVERBOSE=y |
993 | # CONFIG_DEBUG_INFO is not set | 1021 | # CONFIG_DEBUG_INFO is not set |
@@ -1027,3 +1055,4 @@ CONFIG_CRC32=y | |||
1027 | # CONFIG_LIBCRC32C is not set | 1055 | # CONFIG_LIBCRC32C is not set |
1028 | CONFIG_ZLIB_INFLATE=y | 1056 | CONFIG_ZLIB_INFLATE=y |
1029 | CONFIG_ZLIB_DEFLATE=y | 1057 | CONFIG_ZLIB_DEFLATE=y |
1058 | CONFIG_PLIST=y | ||
diff --git a/arch/arm/configs/ixp23xx_defconfig b/arch/arm/configs/ixp23xx_defconfig index 9ce898a6cf87..7b18997083ce 100644 --- a/arch/arm/configs/ixp23xx_defconfig +++ b/arch/arm/configs/ixp23xx_defconfig | |||
@@ -1,14 +1,18 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17-rc2 | 3 | # Linux kernel version: 2.6.18-rc1 |
4 | # Wed Apr 19 21:13:50 2006 | 4 | # Sun Jul 9 14:13:35 2006 |
5 | # | 5 | # |
6 | CONFIG_ARM=y | 6 | CONFIG_ARM=y |
7 | CONFIG_MMU=y | 7 | CONFIG_MMU=y |
8 | CONFIG_GENERIC_HARDIRQS=y | ||
9 | CONFIG_HARDIRQS_SW_RESEND=y | ||
10 | CONFIG_GENERIC_IRQ_PROBE=y | ||
8 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 11 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
9 | CONFIG_GENERIC_HWEIGHT=y | 12 | CONFIG_GENERIC_HWEIGHT=y |
10 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 13 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
11 | CONFIG_VECTORS_BASE=0xffff0000 | 14 | CONFIG_VECTORS_BASE=0xffff0000 |
15 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
12 | 16 | ||
13 | # | 17 | # |
14 | # Code maturity level options | 18 | # Code maturity level options |
@@ -43,14 +47,15 @@ CONFIG_PRINTK=y | |||
43 | CONFIG_BUG=y | 47 | CONFIG_BUG=y |
44 | CONFIG_ELF_CORE=y | 48 | CONFIG_ELF_CORE=y |
45 | CONFIG_BASE_FULL=y | 49 | CONFIG_BASE_FULL=y |
50 | CONFIG_RT_MUTEXES=y | ||
46 | CONFIG_FUTEX=y | 51 | CONFIG_FUTEX=y |
47 | CONFIG_EPOLL=y | 52 | CONFIG_EPOLL=y |
48 | CONFIG_SHMEM=y | 53 | CONFIG_SHMEM=y |
49 | CONFIG_SLAB=y | 54 | CONFIG_SLAB=y |
55 | CONFIG_VM_EVENT_COUNTERS=y | ||
50 | # CONFIG_TINY_SHMEM is not set | 56 | # CONFIG_TINY_SHMEM is not set |
51 | CONFIG_BASE_SMALL=0 | 57 | CONFIG_BASE_SMALL=0 |
52 | # CONFIG_SLOB is not set | 58 | # CONFIG_SLOB is not set |
53 | CONFIG_OBSOLETE_INTERMODULE=y | ||
54 | 59 | ||
55 | # | 60 | # |
56 | # Loadable module support | 61 | # Loadable module support |
@@ -83,18 +88,26 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
83 | # | 88 | # |
84 | # System Type | 89 | # System Type |
85 | # | 90 | # |
91 | # CONFIG_ARCH_AAEC2000 is not set | ||
92 | # CONFIG_ARCH_INTEGRATOR is not set | ||
93 | # CONFIG_ARCH_REALVIEW is not set | ||
94 | # CONFIG_ARCH_VERSATILE is not set | ||
95 | # CONFIG_ARCH_AT91 is not set | ||
86 | # CONFIG_ARCH_CLPS7500 is not set | 96 | # CONFIG_ARCH_CLPS7500 is not set |
87 | # CONFIG_ARCH_CLPS711X is not set | 97 | # CONFIG_ARCH_CLPS711X is not set |
88 | # CONFIG_ARCH_CO285 is not set | 98 | # CONFIG_ARCH_CO285 is not set |
89 | # CONFIG_ARCH_EBSA110 is not set | 99 | # CONFIG_ARCH_EBSA110 is not set |
90 | # CONFIG_ARCH_EP93XX is not set | 100 | # CONFIG_ARCH_EP93XX is not set |
91 | # CONFIG_ARCH_FOOTBRIDGE is not set | 101 | # CONFIG_ARCH_FOOTBRIDGE is not set |
92 | # CONFIG_ARCH_INTEGRATOR is not set | 102 | # CONFIG_ARCH_NETX is not set |
103 | # CONFIG_ARCH_H720X is not set | ||
104 | # CONFIG_ARCH_IMX is not set | ||
93 | # CONFIG_ARCH_IOP3XX is not set | 105 | # CONFIG_ARCH_IOP3XX is not set |
94 | # CONFIG_ARCH_IXP4XX is not set | 106 | # CONFIG_ARCH_IXP4XX is not set |
95 | # CONFIG_ARCH_IXP2000 is not set | 107 | # CONFIG_ARCH_IXP2000 is not set |
96 | CONFIG_ARCH_IXP23XX=y | 108 | CONFIG_ARCH_IXP23XX=y |
97 | # CONFIG_ARCH_L7200 is not set | 109 | # CONFIG_ARCH_L7200 is not set |
110 | # CONFIG_ARCH_PNX4008 is not set | ||
98 | # CONFIG_ARCH_PXA is not set | 111 | # CONFIG_ARCH_PXA is not set |
99 | # CONFIG_ARCH_RPC is not set | 112 | # CONFIG_ARCH_RPC is not set |
100 | # CONFIG_ARCH_SA1100 is not set | 113 | # CONFIG_ARCH_SA1100 is not set |
@@ -102,12 +115,6 @@ CONFIG_ARCH_IXP23XX=y | |||
102 | # CONFIG_ARCH_SHARK is not set | 115 | # CONFIG_ARCH_SHARK is not set |
103 | # CONFIG_ARCH_LH7A40X is not set | 116 | # CONFIG_ARCH_LH7A40X is not set |
104 | # CONFIG_ARCH_OMAP is not set | 117 | # CONFIG_ARCH_OMAP is not set |
105 | # CONFIG_ARCH_VERSATILE is not set | ||
106 | # CONFIG_ARCH_REALVIEW is not set | ||
107 | # CONFIG_ARCH_IMX is not set | ||
108 | # CONFIG_ARCH_H720X is not set | ||
109 | # CONFIG_ARCH_AAEC2000 is not set | ||
110 | # CONFIG_ARCH_AT91RM9200 is not set | ||
111 | CONFIG_ARCH_SUPPORTS_BIG_ENDIAN=y | 118 | CONFIG_ARCH_SUPPORTS_BIG_ENDIAN=y |
112 | 119 | ||
113 | # | 120 | # |
@@ -165,6 +172,7 @@ CONFIG_FLATMEM=y | |||
165 | CONFIG_FLAT_NODE_MEM_MAP=y | 172 | CONFIG_FLAT_NODE_MEM_MAP=y |
166 | # CONFIG_SPARSEMEM_STATIC is not set | 173 | # CONFIG_SPARSEMEM_STATIC is not set |
167 | CONFIG_SPLIT_PTLOCK_CPUS=4096 | 174 | CONFIG_SPLIT_PTLOCK_CPUS=4096 |
175 | CONFIG_RESOURCES_64BIT=y | ||
168 | CONFIG_ALIGNMENT_TRAP=y | 176 | CONFIG_ALIGNMENT_TRAP=y |
169 | 177 | ||
170 | # | 178 | # |
@@ -212,6 +220,8 @@ CONFIG_NET=y | |||
212 | CONFIG_PACKET=y | 220 | CONFIG_PACKET=y |
213 | CONFIG_PACKET_MMAP=y | 221 | CONFIG_PACKET_MMAP=y |
214 | CONFIG_UNIX=y | 222 | CONFIG_UNIX=y |
223 | CONFIG_XFRM=y | ||
224 | # CONFIG_XFRM_USER is not set | ||
215 | # CONFIG_NET_KEY is not set | 225 | # CONFIG_NET_KEY is not set |
216 | CONFIG_INET=y | 226 | CONFIG_INET=y |
217 | # CONFIG_IP_MULTICAST is not set | 227 | # CONFIG_IP_MULTICAST is not set |
@@ -230,6 +240,8 @@ CONFIG_SYN_COOKIES=y | |||
230 | # CONFIG_INET_IPCOMP is not set | 240 | # CONFIG_INET_IPCOMP is not set |
231 | # CONFIG_INET_XFRM_TUNNEL is not set | 241 | # CONFIG_INET_XFRM_TUNNEL is not set |
232 | # CONFIG_INET_TUNNEL is not set | 242 | # CONFIG_INET_TUNNEL is not set |
243 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | ||
244 | CONFIG_INET_XFRM_MODE_TUNNEL=y | ||
233 | CONFIG_INET_DIAG=y | 245 | CONFIG_INET_DIAG=y |
234 | CONFIG_INET_TCP_DIAG=y | 246 | CONFIG_INET_TCP_DIAG=y |
235 | # CONFIG_TCP_CONG_ADVANCED is not set | 247 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -237,6 +249,7 @@ CONFIG_TCP_CONG_BIC=y | |||
237 | # CONFIG_IPV6 is not set | 249 | # CONFIG_IPV6 is not set |
238 | # CONFIG_INET6_XFRM_TUNNEL is not set | 250 | # CONFIG_INET6_XFRM_TUNNEL is not set |
239 | # CONFIG_INET6_TUNNEL is not set | 251 | # CONFIG_INET6_TUNNEL is not set |
252 | # CONFIG_NETWORK_SECMARK is not set | ||
240 | # CONFIG_NETFILTER is not set | 253 | # CONFIG_NETFILTER is not set |
241 | 254 | ||
242 | # | 255 | # |
@@ -291,6 +304,7 @@ CONFIG_STANDALONE=y | |||
291 | # CONFIG_PREVENT_FIRMWARE_BUILD is not set | 304 | # CONFIG_PREVENT_FIRMWARE_BUILD is not set |
292 | # CONFIG_FW_LOADER is not set | 305 | # CONFIG_FW_LOADER is not set |
293 | # CONFIG_DEBUG_DRIVER is not set | 306 | # CONFIG_DEBUG_DRIVER is not set |
307 | # CONFIG_SYS_HYPERVISOR is not set | ||
294 | 308 | ||
295 | # | 309 | # |
296 | # Connector - unified userspace <-> kernelspace linker | 310 | # Connector - unified userspace <-> kernelspace linker |
@@ -520,6 +534,7 @@ CONFIG_BLK_DEV_SD=y | |||
520 | # CONFIG_MEGARAID_LEGACY is not set | 534 | # CONFIG_MEGARAID_LEGACY is not set |
521 | # CONFIG_MEGARAID_SAS is not set | 535 | # CONFIG_MEGARAID_SAS is not set |
522 | # CONFIG_SCSI_SATA is not set | 536 | # CONFIG_SCSI_SATA is not set |
537 | # CONFIG_SCSI_HPTIOP is not set | ||
523 | # CONFIG_SCSI_DMX3191D is not set | 538 | # CONFIG_SCSI_DMX3191D is not set |
524 | # CONFIG_SCSI_FUTURE_DOMAIN is not set | 539 | # CONFIG_SCSI_FUTURE_DOMAIN is not set |
525 | # CONFIG_SCSI_IPS is not set | 540 | # CONFIG_SCSI_IPS is not set |
@@ -641,6 +656,7 @@ CONFIG_E1000_NAPI=y | |||
641 | # CONFIG_CHELSIO_T1 is not set | 656 | # CONFIG_CHELSIO_T1 is not set |
642 | # CONFIG_IXGB is not set | 657 | # CONFIG_IXGB is not set |
643 | # CONFIG_S2IO is not set | 658 | # CONFIG_S2IO is not set |
659 | # CONFIG_MYRI10GE is not set | ||
644 | 660 | ||
645 | # | 661 | # |
646 | # Token Ring devices | 662 | # Token Ring devices |
@@ -658,7 +674,6 @@ CONFIG_E1000_NAPI=y | |||
658 | CONFIG_WAN=y | 674 | CONFIG_WAN=y |
659 | # CONFIG_DSCC4 is not set | 675 | # CONFIG_DSCC4 is not set |
660 | # CONFIG_LANMEDIA is not set | 676 | # CONFIG_LANMEDIA is not set |
661 | # CONFIG_SYNCLINK_SYNCPPP is not set | ||
662 | CONFIG_HDLC=y | 677 | CONFIG_HDLC=y |
663 | CONFIG_HDLC_RAW=y | 678 | CONFIG_HDLC_RAW=y |
664 | # CONFIG_HDLC_RAW_ETH is not set | 679 | # CONFIG_HDLC_RAW_ETH is not set |
@@ -775,6 +790,7 @@ CONFIG_WATCHDOG=y | |||
775 | # USB-based Watchdog Cards | 790 | # USB-based Watchdog Cards |
776 | # | 791 | # |
777 | # CONFIG_USBPCWATCHDOG is not set | 792 | # CONFIG_USBPCWATCHDOG is not set |
793 | # CONFIG_HW_RANDOM is not set | ||
778 | # CONFIG_NVRAM is not set | 794 | # CONFIG_NVRAM is not set |
779 | # CONFIG_DTLK is not set | 795 | # CONFIG_DTLK is not set |
780 | # CONFIG_R3964 is not set | 796 | # CONFIG_R3964 is not set |
@@ -817,6 +833,7 @@ CONFIG_I2C_ALGOBIT=y | |||
817 | # CONFIG_I2C_I810 is not set | 833 | # CONFIG_I2C_I810 is not set |
818 | # CONFIG_I2C_PIIX4 is not set | 834 | # CONFIG_I2C_PIIX4 is not set |
819 | # CONFIG_I2C_NFORCE2 is not set | 835 | # CONFIG_I2C_NFORCE2 is not set |
836 | # CONFIG_I2C_OCORES is not set | ||
820 | # CONFIG_I2C_PARPORT_LIGHT is not set | 837 | # CONFIG_I2C_PARPORT_LIGHT is not set |
821 | # CONFIG_I2C_PROSAVAGE is not set | 838 | # CONFIG_I2C_PROSAVAGE is not set |
822 | # CONFIG_I2C_SAVAGE4 is not set | 839 | # CONFIG_I2C_SAVAGE4 is not set |
@@ -853,13 +870,13 @@ CONFIG_SENSORS_EEPROM=y | |||
853 | # | 870 | # |
854 | # Dallas's 1-wire bus | 871 | # Dallas's 1-wire bus |
855 | # | 872 | # |
856 | # CONFIG_W1 is not set | ||
857 | 873 | ||
858 | # | 874 | # |
859 | # Hardware Monitoring support | 875 | # Hardware Monitoring support |
860 | # | 876 | # |
861 | CONFIG_HWMON=y | 877 | CONFIG_HWMON=y |
862 | # CONFIG_HWMON_VID is not set | 878 | # CONFIG_HWMON_VID is not set |
879 | # CONFIG_SENSORS_ABITUGURU is not set | ||
863 | # CONFIG_SENSORS_ADM1021 is not set | 880 | # CONFIG_SENSORS_ADM1021 is not set |
864 | # CONFIG_SENSORS_ADM1025 is not set | 881 | # CONFIG_SENSORS_ADM1025 is not set |
865 | # CONFIG_SENSORS_ADM1026 is not set | 882 | # CONFIG_SENSORS_ADM1026 is not set |
@@ -888,10 +905,12 @@ CONFIG_HWMON=y | |||
888 | # CONFIG_SENSORS_PC87360 is not set | 905 | # CONFIG_SENSORS_PC87360 is not set |
889 | # CONFIG_SENSORS_SIS5595 is not set | 906 | # CONFIG_SENSORS_SIS5595 is not set |
890 | # CONFIG_SENSORS_SMSC47M1 is not set | 907 | # CONFIG_SENSORS_SMSC47M1 is not set |
908 | # CONFIG_SENSORS_SMSC47M192 is not set | ||
891 | # CONFIG_SENSORS_SMSC47B397 is not set | 909 | # CONFIG_SENSORS_SMSC47B397 is not set |
892 | # CONFIG_SENSORS_VIA686A is not set | 910 | # CONFIG_SENSORS_VIA686A is not set |
893 | # CONFIG_SENSORS_VT8231 is not set | 911 | # CONFIG_SENSORS_VT8231 is not set |
894 | # CONFIG_SENSORS_W83781D is not set | 912 | # CONFIG_SENSORS_W83781D is not set |
913 | # CONFIG_SENSORS_W83791D is not set | ||
895 | # CONFIG_SENSORS_W83792D is not set | 914 | # CONFIG_SENSORS_W83792D is not set |
896 | # CONFIG_SENSORS_W83L785TS is not set | 915 | # CONFIG_SENSORS_W83L785TS is not set |
897 | # CONFIG_SENSORS_W83627HF is not set | 916 | # CONFIG_SENSORS_W83627HF is not set |
@@ -919,6 +938,7 @@ CONFIG_HWMON=y | |||
919 | # Multimedia devices | 938 | # Multimedia devices |
920 | # | 939 | # |
921 | # CONFIG_VIDEO_DEV is not set | 940 | # CONFIG_VIDEO_DEV is not set |
941 | CONFIG_VIDEO_V4L2=y | ||
922 | 942 | ||
923 | # | 943 | # |
924 | # Digital Video Broadcasting Devices | 944 | # Digital Video Broadcasting Devices |
@@ -929,6 +949,7 @@ CONFIG_HWMON=y | |||
929 | # | 949 | # |
930 | # Graphics support | 950 | # Graphics support |
931 | # | 951 | # |
952 | # CONFIG_FIRMWARE_EDID is not set | ||
932 | # CONFIG_FB is not set | 953 | # CONFIG_FB is not set |
933 | 954 | ||
934 | # | 955 | # |
@@ -959,6 +980,7 @@ CONFIG_USB=y | |||
959 | CONFIG_USB_EHCI_HCD=y | 980 | CONFIG_USB_EHCI_HCD=y |
960 | # CONFIG_USB_EHCI_SPLIT_ISO is not set | 981 | # CONFIG_USB_EHCI_SPLIT_ISO is not set |
961 | # CONFIG_USB_EHCI_ROOT_HUB_TT is not set | 982 | # CONFIG_USB_EHCI_ROOT_HUB_TT is not set |
983 | # CONFIG_USB_EHCI_TT_NEWSCHED is not set | ||
962 | # CONFIG_USB_ISP116X_HCD is not set | 984 | # CONFIG_USB_ISP116X_HCD is not set |
963 | CONFIG_USB_OHCI_HCD=y | 985 | CONFIG_USB_OHCI_HCD=y |
964 | # CONFIG_USB_OHCI_BIG_ENDIAN is not set | 986 | # CONFIG_USB_OHCI_BIG_ENDIAN is not set |
@@ -1050,10 +1072,12 @@ CONFIG_USB_MON=y | |||
1050 | # CONFIG_USB_LEGOTOWER is not set | 1072 | # CONFIG_USB_LEGOTOWER is not set |
1051 | # CONFIG_USB_LCD is not set | 1073 | # CONFIG_USB_LCD is not set |
1052 | # CONFIG_USB_LED is not set | 1074 | # CONFIG_USB_LED is not set |
1075 | # CONFIG_USB_CY7C63 is not set | ||
1053 | # CONFIG_USB_CYTHERM is not set | 1076 | # CONFIG_USB_CYTHERM is not set |
1054 | # CONFIG_USB_PHIDGETKIT is not set | 1077 | # CONFIG_USB_PHIDGETKIT is not set |
1055 | # CONFIG_USB_PHIDGETSERVO is not set | 1078 | # CONFIG_USB_PHIDGETSERVO is not set |
1056 | # CONFIG_USB_IDMOUSE is not set | 1079 | # CONFIG_USB_IDMOUSE is not set |
1080 | # CONFIG_USB_APPLEDISPLAY is not set | ||
1057 | # CONFIG_USB_SISUSBVGA is not set | 1081 | # CONFIG_USB_SISUSBVGA is not set |
1058 | # CONFIG_USB_LD is not set | 1082 | # CONFIG_USB_LD is not set |
1059 | 1083 | ||
@@ -1100,6 +1124,7 @@ CONFIG_FS_POSIX_ACL=y | |||
1100 | # CONFIG_MINIX_FS is not set | 1124 | # CONFIG_MINIX_FS is not set |
1101 | # CONFIG_ROMFS_FS is not set | 1125 | # CONFIG_ROMFS_FS is not set |
1102 | CONFIG_INOTIFY=y | 1126 | CONFIG_INOTIFY=y |
1127 | CONFIG_INOTIFY_USER=y | ||
1103 | # CONFIG_QUOTA is not set | 1128 | # CONFIG_QUOTA is not set |
1104 | CONFIG_DNOTIFY=y | 1129 | CONFIG_DNOTIFY=y |
1105 | # CONFIG_AUTOFS_FS is not set | 1130 | # CONFIG_AUTOFS_FS is not set |
@@ -1146,6 +1171,7 @@ CONFIG_JFFS2_FS=y | |||
1146 | CONFIG_JFFS2_FS_DEBUG=0 | 1171 | CONFIG_JFFS2_FS_DEBUG=0 |
1147 | CONFIG_JFFS2_FS_WRITEBUFFER=y | 1172 | CONFIG_JFFS2_FS_WRITEBUFFER=y |
1148 | # CONFIG_JFFS2_SUMMARY is not set | 1173 | # CONFIG_JFFS2_SUMMARY is not set |
1174 | # CONFIG_JFFS2_FS_XATTR is not set | ||
1149 | # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set | 1175 | # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set |
1150 | CONFIG_JFFS2_ZLIB=y | 1176 | CONFIG_JFFS2_ZLIB=y |
1151 | CONFIG_JFFS2_RTIME=y | 1177 | CONFIG_JFFS2_RTIME=y |
@@ -1175,6 +1201,7 @@ CONFIG_SUNRPC=y | |||
1175 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1201 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1176 | # CONFIG_SMB_FS is not set | 1202 | # CONFIG_SMB_FS is not set |
1177 | # CONFIG_CIFS is not set | 1203 | # CONFIG_CIFS is not set |
1204 | # CONFIG_CIFS_DEBUG2 is not set | ||
1178 | # CONFIG_NCP_FS is not set | 1205 | # CONFIG_NCP_FS is not set |
1179 | # CONFIG_CODA_FS is not set | 1206 | # CONFIG_CODA_FS is not set |
1180 | # CONFIG_AFS_FS is not set | 1207 | # CONFIG_AFS_FS is not set |
@@ -1255,14 +1282,19 @@ CONFIG_NLS_CODEPAGE_437=y | |||
1255 | # | 1282 | # |
1256 | # CONFIG_PRINTK_TIME is not set | 1283 | # CONFIG_PRINTK_TIME is not set |
1257 | CONFIG_MAGIC_SYSRQ=y | 1284 | CONFIG_MAGIC_SYSRQ=y |
1285 | # CONFIG_UNUSED_SYMBOLS is not set | ||
1258 | CONFIG_DEBUG_KERNEL=y | 1286 | CONFIG_DEBUG_KERNEL=y |
1259 | CONFIG_LOG_BUF_SHIFT=14 | 1287 | CONFIG_LOG_BUF_SHIFT=14 |
1260 | CONFIG_DETECT_SOFTLOCKUP=y | 1288 | CONFIG_DETECT_SOFTLOCKUP=y |
1261 | # CONFIG_SCHEDSTATS is not set | 1289 | # CONFIG_SCHEDSTATS is not set |
1262 | # CONFIG_DEBUG_SLAB is not set | 1290 | # CONFIG_DEBUG_SLAB is not set |
1263 | CONFIG_DEBUG_MUTEXES=y | 1291 | # CONFIG_DEBUG_RT_MUTEXES is not set |
1292 | # CONFIG_RT_MUTEX_TESTER is not set | ||
1264 | # CONFIG_DEBUG_SPINLOCK is not set | 1293 | # CONFIG_DEBUG_SPINLOCK is not set |
1294 | CONFIG_DEBUG_MUTEXES=y | ||
1295 | # CONFIG_DEBUG_RWSEMS is not set | ||
1265 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | 1296 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set |
1297 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | ||
1266 | # CONFIG_DEBUG_KOBJECT is not set | 1298 | # CONFIG_DEBUG_KOBJECT is not set |
1267 | CONFIG_DEBUG_BUGVERBOSE=y | 1299 | CONFIG_DEBUG_BUGVERBOSE=y |
1268 | # CONFIG_DEBUG_INFO is not set | 1300 | # CONFIG_DEBUG_INFO is not set |
@@ -1302,3 +1334,4 @@ CONFIG_CRC32=y | |||
1302 | # CONFIG_LIBCRC32C is not set | 1334 | # CONFIG_LIBCRC32C is not set |
1303 | CONFIG_ZLIB_INFLATE=y | 1335 | CONFIG_ZLIB_INFLATE=y |
1304 | CONFIG_ZLIB_DEFLATE=y | 1336 | CONFIG_ZLIB_DEFLATE=y |
1337 | CONFIG_PLIST=y | ||
diff --git a/arch/arm/configs/lpd270_defconfig b/arch/arm/configs/lpd270_defconfig index d08bbe59483a..4b29e099640d 100644 --- a/arch/arm/configs/lpd270_defconfig +++ b/arch/arm/configs/lpd270_defconfig | |||
@@ -1,15 +1,19 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17-git2 | 3 | # Linux kernel version: 2.6.18-rc1 |
4 | # Wed Jun 21 22:20:18 2006 | 4 | # Sun Jul 9 14:15:23 2006 |
5 | # | 5 | # |
6 | CONFIG_ARM=y | 6 | CONFIG_ARM=y |
7 | CONFIG_MMU=y | 7 | CONFIG_MMU=y |
8 | CONFIG_GENERIC_HARDIRQS=y | ||
9 | CONFIG_HARDIRQS_SW_RESEND=y | ||
10 | CONFIG_GENERIC_IRQ_PROBE=y | ||
8 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 11 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
9 | CONFIG_GENERIC_HWEIGHT=y | 12 | CONFIG_GENERIC_HWEIGHT=y |
10 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 13 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
11 | CONFIG_ARCH_MTD_XIP=y | 14 | CONFIG_ARCH_MTD_XIP=y |
12 | CONFIG_VECTORS_BASE=0xffff0000 | 15 | CONFIG_VECTORS_BASE=0xffff0000 |
16 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
13 | 17 | ||
14 | # | 18 | # |
15 | # Code maturity level options | 19 | # Code maturity level options |
@@ -43,10 +47,12 @@ CONFIG_PRINTK=y | |||
43 | CONFIG_BUG=y | 47 | CONFIG_BUG=y |
44 | CONFIG_ELF_CORE=y | 48 | CONFIG_ELF_CORE=y |
45 | CONFIG_BASE_FULL=y | 49 | CONFIG_BASE_FULL=y |
50 | CONFIG_RT_MUTEXES=y | ||
46 | CONFIG_FUTEX=y | 51 | CONFIG_FUTEX=y |
47 | CONFIG_EPOLL=y | 52 | CONFIG_EPOLL=y |
48 | CONFIG_SHMEM=y | 53 | CONFIG_SHMEM=y |
49 | CONFIG_SLAB=y | 54 | CONFIG_SLAB=y |
55 | CONFIG_VM_EVENT_COUNTERS=y | ||
50 | # CONFIG_TINY_SHMEM is not set | 56 | # CONFIG_TINY_SHMEM is not set |
51 | CONFIG_BASE_SMALL=0 | 57 | CONFIG_BASE_SMALL=0 |
52 | # CONFIG_SLOB is not set | 58 | # CONFIG_SLOB is not set |
@@ -85,7 +91,7 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
85 | # CONFIG_ARCH_INTEGRATOR is not set | 91 | # CONFIG_ARCH_INTEGRATOR is not set |
86 | # CONFIG_ARCH_REALVIEW is not set | 92 | # CONFIG_ARCH_REALVIEW is not set |
87 | # CONFIG_ARCH_VERSATILE is not set | 93 | # CONFIG_ARCH_VERSATILE is not set |
88 | # CONFIG_ARCH_AT91RM9200 is not set | 94 | # CONFIG_ARCH_AT91 is not set |
89 | # CONFIG_ARCH_CLPS7500 is not set | 95 | # CONFIG_ARCH_CLPS7500 is not set |
90 | # CONFIG_ARCH_CLPS711X is not set | 96 | # CONFIG_ARCH_CLPS711X is not set |
91 | # CONFIG_ARCH_CO285 is not set | 97 | # CONFIG_ARCH_CO285 is not set |
@@ -117,6 +123,7 @@ CONFIG_MACH_LOGICPD_PXA270=y | |||
117 | # CONFIG_MACH_MAINSTONE is not set | 123 | # CONFIG_MACH_MAINSTONE is not set |
118 | # CONFIG_ARCH_PXA_IDP is not set | 124 | # CONFIG_ARCH_PXA_IDP is not set |
119 | # CONFIG_PXA_SHARPSL is not set | 125 | # CONFIG_PXA_SHARPSL is not set |
126 | # CONFIG_MACH_TRIZEPS4 is not set | ||
120 | CONFIG_PXA27x=y | 127 | CONFIG_PXA27x=y |
121 | CONFIG_IWMMXT=y | 128 | CONFIG_IWMMXT=y |
122 | 129 | ||
@@ -161,6 +168,7 @@ CONFIG_FLATMEM=y | |||
161 | CONFIG_FLAT_NODE_MEM_MAP=y | 168 | CONFIG_FLAT_NODE_MEM_MAP=y |
162 | # CONFIG_SPARSEMEM_STATIC is not set | 169 | # CONFIG_SPARSEMEM_STATIC is not set |
163 | CONFIG_SPLIT_PTLOCK_CPUS=4096 | 170 | CONFIG_SPLIT_PTLOCK_CPUS=4096 |
171 | # CONFIG_RESOURCES_64BIT is not set | ||
164 | CONFIG_ALIGNMENT_TRAP=y | 172 | CONFIG_ALIGNMENT_TRAP=y |
165 | 173 | ||
166 | # | 174 | # |
@@ -194,8 +202,6 @@ CONFIG_BINFMT_ELF=y | |||
194 | # Power management options | 202 | # Power management options |
195 | # | 203 | # |
196 | # CONFIG_PM is not set | 204 | # CONFIG_PM is not set |
197 | # CONFIG_PM_LEGACY is not set | ||
198 | # CONFIG_PM_DEBUG is not set | ||
199 | # CONFIG_APM is not set | 205 | # CONFIG_APM is not set |
200 | 206 | ||
201 | # | 207 | # |
@@ -293,6 +299,7 @@ CONFIG_STANDALONE=y | |||
293 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 299 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
294 | # CONFIG_FW_LOADER is not set | 300 | # CONFIG_FW_LOADER is not set |
295 | # CONFIG_DEBUG_DRIVER is not set | 301 | # CONFIG_DEBUG_DRIVER is not set |
302 | # CONFIG_SYS_HYPERVISOR is not set | ||
296 | 303 | ||
297 | # | 304 | # |
298 | # Connector - unified userspace <-> kernelspace linker | 305 | # Connector - unified userspace <-> kernelspace linker |
@@ -561,6 +568,7 @@ CONFIG_SERIO_LIBPS2=y | |||
561 | CONFIG_VT=y | 568 | CONFIG_VT=y |
562 | CONFIG_VT_CONSOLE=y | 569 | CONFIG_VT_CONSOLE=y |
563 | CONFIG_HW_CONSOLE=y | 570 | CONFIG_HW_CONSOLE=y |
571 | # CONFIG_VT_HW_CONSOLE_BINDING is not set | ||
564 | # CONFIG_SERIAL_NONSTANDARD is not set | 572 | # CONFIG_SERIAL_NONSTANDARD is not set |
565 | 573 | ||
566 | # | 574 | # |
@@ -588,6 +596,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
588 | # Watchdog Cards | 596 | # Watchdog Cards |
589 | # | 597 | # |
590 | # CONFIG_WATCHDOG is not set | 598 | # CONFIG_WATCHDOG is not set |
599 | # CONFIG_HW_RANDOM is not set | ||
591 | # CONFIG_NVRAM is not set | 600 | # CONFIG_NVRAM is not set |
592 | # CONFIG_DTLK is not set | 601 | # CONFIG_DTLK is not set |
593 | # CONFIG_R3964 is not set | 602 | # CONFIG_R3964 is not set |
@@ -617,13 +626,13 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
617 | # | 626 | # |
618 | # Dallas's 1-wire bus | 627 | # Dallas's 1-wire bus |
619 | # | 628 | # |
620 | # CONFIG_W1 is not set | ||
621 | 629 | ||
622 | # | 630 | # |
623 | # Hardware Monitoring support | 631 | # Hardware Monitoring support |
624 | # | 632 | # |
625 | CONFIG_HWMON=y | 633 | CONFIG_HWMON=y |
626 | # CONFIG_HWMON_VID is not set | 634 | # CONFIG_HWMON_VID is not set |
635 | # CONFIG_SENSORS_ABITUGURU is not set | ||
627 | # CONFIG_SENSORS_F71805F is not set | 636 | # CONFIG_SENSORS_F71805F is not set |
628 | # CONFIG_HWMON_DEBUG_CHIP is not set | 637 | # CONFIG_HWMON_DEBUG_CHIP is not set |
629 | 638 | ||
@@ -658,12 +667,13 @@ CONFIG_VIDEO_V4L2=y | |||
658 | # | 667 | # |
659 | # Graphics support | 668 | # Graphics support |
660 | # | 669 | # |
670 | # CONFIG_FIRMWARE_EDID is not set | ||
661 | CONFIG_FB=y | 671 | CONFIG_FB=y |
662 | CONFIG_FB_CFB_FILLRECT=y | 672 | CONFIG_FB_CFB_FILLRECT=y |
663 | CONFIG_FB_CFB_COPYAREA=y | 673 | CONFIG_FB_CFB_COPYAREA=y |
664 | CONFIG_FB_CFB_IMAGEBLIT=y | 674 | CONFIG_FB_CFB_IMAGEBLIT=y |
665 | # CONFIG_FB_MACMODES is not set | 675 | # CONFIG_FB_MACMODES is not set |
666 | CONFIG_FB_FIRMWARE_EDID=y | 676 | # CONFIG_FB_BACKLIGHT is not set |
667 | # CONFIG_FB_MODE_HELPERS is not set | 677 | # CONFIG_FB_MODE_HELPERS is not set |
668 | # CONFIG_FB_TILEBLITTING is not set | 678 | # CONFIG_FB_TILEBLITTING is not set |
669 | # CONFIG_FB_S1D13XXX is not set | 679 | # CONFIG_FB_S1D13XXX is not set |
@@ -822,6 +832,7 @@ CONFIG_JFFS2_FS=y | |||
822 | CONFIG_JFFS2_FS_DEBUG=0 | 832 | CONFIG_JFFS2_FS_DEBUG=0 |
823 | CONFIG_JFFS2_FS_WRITEBUFFER=y | 833 | CONFIG_JFFS2_FS_WRITEBUFFER=y |
824 | # CONFIG_JFFS2_SUMMARY is not set | 834 | # CONFIG_JFFS2_SUMMARY is not set |
835 | # CONFIG_JFFS2_FS_XATTR is not set | ||
825 | # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set | 836 | # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set |
826 | CONFIG_JFFS2_ZLIB=y | 837 | CONFIG_JFFS2_ZLIB=y |
827 | CONFIG_JFFS2_RTIME=y | 838 | CONFIG_JFFS2_RTIME=y |
@@ -849,6 +860,7 @@ CONFIG_SUNRPC=y | |||
849 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 860 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
850 | # CONFIG_SMB_FS is not set | 861 | # CONFIG_SMB_FS is not set |
851 | # CONFIG_CIFS is not set | 862 | # CONFIG_CIFS is not set |
863 | # CONFIG_CIFS_DEBUG2 is not set | ||
852 | # CONFIG_NCP_FS is not set | 864 | # CONFIG_NCP_FS is not set |
853 | # CONFIG_CODA_FS is not set | 865 | # CONFIG_CODA_FS is not set |
854 | # CONFIG_AFS_FS is not set | 866 | # CONFIG_AFS_FS is not set |
@@ -914,14 +926,19 @@ CONFIG_NLS_ISO8859_1=y | |||
914 | # | 926 | # |
915 | # CONFIG_PRINTK_TIME is not set | 927 | # CONFIG_PRINTK_TIME is not set |
916 | CONFIG_MAGIC_SYSRQ=y | 928 | CONFIG_MAGIC_SYSRQ=y |
929 | # CONFIG_UNUSED_SYMBOLS is not set | ||
917 | CONFIG_DEBUG_KERNEL=y | 930 | CONFIG_DEBUG_KERNEL=y |
918 | CONFIG_LOG_BUF_SHIFT=14 | 931 | CONFIG_LOG_BUF_SHIFT=14 |
919 | CONFIG_DETECT_SOFTLOCKUP=y | 932 | CONFIG_DETECT_SOFTLOCKUP=y |
920 | # CONFIG_SCHEDSTATS is not set | 933 | # CONFIG_SCHEDSTATS is not set |
921 | # CONFIG_DEBUG_SLAB is not set | 934 | # CONFIG_DEBUG_SLAB is not set |
922 | # CONFIG_DEBUG_MUTEXES is not set | 935 | # CONFIG_DEBUG_RT_MUTEXES is not set |
936 | # CONFIG_RT_MUTEX_TESTER is not set | ||
923 | # CONFIG_DEBUG_SPINLOCK is not set | 937 | # CONFIG_DEBUG_SPINLOCK is not set |
938 | # CONFIG_DEBUG_MUTEXES is not set | ||
939 | # CONFIG_DEBUG_RWSEMS is not set | ||
924 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | 940 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set |
941 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | ||
925 | # CONFIG_DEBUG_KOBJECT is not set | 942 | # CONFIG_DEBUG_KOBJECT is not set |
926 | CONFIG_DEBUG_BUGVERBOSE=y | 943 | CONFIG_DEBUG_BUGVERBOSE=y |
927 | CONFIG_DEBUG_INFO=y | 944 | CONFIG_DEBUG_INFO=y |
@@ -961,3 +978,4 @@ CONFIG_CRC32=y | |||
961 | # CONFIG_LIBCRC32C is not set | 978 | # CONFIG_LIBCRC32C is not set |
962 | CONFIG_ZLIB_INFLATE=y | 979 | CONFIG_ZLIB_INFLATE=y |
963 | CONFIG_ZLIB_DEFLATE=y | 980 | CONFIG_ZLIB_DEFLATE=y |
981 | CONFIG_PLIST=y | ||
diff --git a/arch/arm/configs/onearm_defconfig b/arch/arm/configs/onearm_defconfig index 2b4a63be03f7..6a93e3aae106 100644 --- a/arch/arm/configs/onearm_defconfig +++ b/arch/arm/configs/onearm_defconfig | |||
@@ -1,14 +1,18 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17-git10 | 3 | # Linux kernel version: 2.6.18-rc1 |
4 | # Mon Jun 26 13:45:44 2006 | 4 | # Sun Jul 9 14:16:20 2006 |
5 | # | 5 | # |
6 | CONFIG_ARM=y | 6 | CONFIG_ARM=y |
7 | CONFIG_MMU=y | 7 | CONFIG_MMU=y |
8 | CONFIG_GENERIC_HARDIRQS=y | ||
9 | CONFIG_HARDIRQS_SW_RESEND=y | ||
10 | CONFIG_GENERIC_IRQ_PROBE=y | ||
8 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 11 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
9 | CONFIG_GENERIC_HWEIGHT=y | 12 | CONFIG_GENERIC_HWEIGHT=y |
10 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 13 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
11 | CONFIG_VECTORS_BASE=0xffff0000 | 14 | CONFIG_VECTORS_BASE=0xffff0000 |
15 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
12 | 16 | ||
13 | # | 17 | # |
14 | # Code maturity level options | 18 | # Code maturity level options |
@@ -42,10 +46,12 @@ CONFIG_PRINTK=y | |||
42 | CONFIG_BUG=y | 46 | CONFIG_BUG=y |
43 | CONFIG_ELF_CORE=y | 47 | CONFIG_ELF_CORE=y |
44 | CONFIG_BASE_FULL=y | 48 | CONFIG_BASE_FULL=y |
49 | CONFIG_RT_MUTEXES=y | ||
45 | CONFIG_FUTEX=y | 50 | CONFIG_FUTEX=y |
46 | CONFIG_EPOLL=y | 51 | CONFIG_EPOLL=y |
47 | CONFIG_SHMEM=y | 52 | CONFIG_SHMEM=y |
48 | CONFIG_SLAB=y | 53 | CONFIG_SLAB=y |
54 | CONFIG_VM_EVENT_COUNTERS=y | ||
49 | # CONFIG_TINY_SHMEM is not set | 55 | # CONFIG_TINY_SHMEM is not set |
50 | CONFIG_BASE_SMALL=0 | 56 | CONFIG_BASE_SMALL=0 |
51 | # CONFIG_SLOB is not set | 57 | # CONFIG_SLOB is not set |
@@ -86,7 +92,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
86 | # CONFIG_ARCH_REALVIEW is not set | 92 | # CONFIG_ARCH_REALVIEW is not set |
87 | # CONFIG_ARCH_VERSATILE is not set | 93 | # CONFIG_ARCH_VERSATILE is not set |
88 | CONFIG_ARCH_AT91=y | 94 | CONFIG_ARCH_AT91=y |
89 | CONFIG_ARCH_AT91RM9200=y | ||
90 | # CONFIG_ARCH_CLPS7500 is not set | 95 | # CONFIG_ARCH_CLPS7500 is not set |
91 | # CONFIG_ARCH_CLPS711X is not set | 96 | # CONFIG_ARCH_CLPS711X is not set |
92 | # CONFIG_ARCH_CO285 is not set | 97 | # CONFIG_ARCH_CO285 is not set |
@@ -111,8 +116,15 @@ CONFIG_ARCH_AT91RM9200=y | |||
111 | # CONFIG_ARCH_OMAP is not set | 116 | # CONFIG_ARCH_OMAP is not set |
112 | 117 | ||
113 | # | 118 | # |
114 | # AT91RM9200 Implementations | 119 | # Atmel AT91 System-on-Chip |
120 | # | ||
121 | |||
115 | # | 122 | # |
123 | # Atmel AT91 Processors | ||
124 | # | ||
125 | CONFIG_ARCH_AT91RM9200=y | ||
126 | # CONFIG_ARCH_AT91SAM9260 is not set | ||
127 | # CONFIG_ARCH_AT91SAM9261 is not set | ||
116 | 128 | ||
117 | # | 129 | # |
118 | # AT91RM9200 Board Type | 130 | # AT91RM9200 Board Type |
@@ -123,12 +135,12 @@ CONFIG_MACH_ONEARM=y | |||
123 | # CONFIG_MACH_CSB337 is not set | 135 | # CONFIG_MACH_CSB337 is not set |
124 | # CONFIG_MACH_CSB637 is not set | 136 | # CONFIG_MACH_CSB637 is not set |
125 | # CONFIG_MACH_CARMEVA is not set | 137 | # CONFIG_MACH_CARMEVA is not set |
126 | # CONFIG_MACH_KB9200 is not set | ||
127 | # CONFIG_MACH_ATEB9200 is not set | 138 | # CONFIG_MACH_ATEB9200 is not set |
139 | # CONFIG_MACH_KB9200 is not set | ||
128 | # CONFIG_MACH_KAFA is not set | 140 | # CONFIG_MACH_KAFA is not set |
129 | 141 | ||
130 | # | 142 | # |
131 | # AT91RM9200 Feature Selections | 143 | # AT91 Feature Selections |
132 | # | 144 | # |
133 | CONFIG_AT91_PROGRAMMABLE_CLOCKS=y | 145 | CONFIG_AT91_PROGRAMMABLE_CLOCKS=y |
134 | 146 | ||
@@ -186,6 +198,7 @@ CONFIG_FLATMEM=y | |||
186 | CONFIG_FLAT_NODE_MEM_MAP=y | 198 | CONFIG_FLAT_NODE_MEM_MAP=y |
187 | # CONFIG_SPARSEMEM_STATIC is not set | 199 | # CONFIG_SPARSEMEM_STATIC is not set |
188 | CONFIG_SPLIT_PTLOCK_CPUS=4096 | 200 | CONFIG_SPLIT_PTLOCK_CPUS=4096 |
201 | # CONFIG_RESOURCES_64BIT is not set | ||
189 | CONFIG_LEDS=y | 202 | CONFIG_LEDS=y |
190 | CONFIG_LEDS_TIMER=y | 203 | CONFIG_LEDS_TIMER=y |
191 | # CONFIG_LEDS_CPU is not set | 204 | # CONFIG_LEDS_CPU is not set |
@@ -600,6 +613,7 @@ CONFIG_AT91_WATCHDOG=y | |||
600 | # USB-based Watchdog Cards | 613 | # USB-based Watchdog Cards |
601 | # | 614 | # |
602 | # CONFIG_USBPCWATCHDOG is not set | 615 | # CONFIG_USBPCWATCHDOG is not set |
616 | # CONFIG_HW_RANDOM is not set | ||
603 | # CONFIG_NVRAM is not set | 617 | # CONFIG_NVRAM is not set |
604 | # CONFIG_DTLK is not set | 618 | # CONFIG_DTLK is not set |
605 | # CONFIG_R3964 is not set | 619 | # CONFIG_R3964 is not set |
@@ -743,6 +757,7 @@ CONFIG_VIDEO_V4L2=y | |||
743 | # | 757 | # |
744 | # Graphics support | 758 | # Graphics support |
745 | # | 759 | # |
760 | # CONFIG_FIRMWARE_EDID is not set | ||
746 | # CONFIG_FB is not set | 761 | # CONFIG_FB is not set |
747 | 762 | ||
748 | # | 763 | # |
@@ -980,6 +995,7 @@ CONFIG_SUNRPC=y | |||
980 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 995 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
981 | # CONFIG_SMB_FS is not set | 996 | # CONFIG_SMB_FS is not set |
982 | # CONFIG_CIFS is not set | 997 | # CONFIG_CIFS is not set |
998 | # CONFIG_CIFS_DEBUG2 is not set | ||
983 | # CONFIG_NCP_FS is not set | 999 | # CONFIG_NCP_FS is not set |
984 | # CONFIG_CODA_FS is not set | 1000 | # CONFIG_CODA_FS is not set |
985 | # CONFIG_AFS_FS is not set | 1001 | # CONFIG_AFS_FS is not set |
@@ -1006,14 +1022,19 @@ CONFIG_MSDOS_PARTITION=y | |||
1006 | # | 1022 | # |
1007 | # CONFIG_PRINTK_TIME is not set | 1023 | # CONFIG_PRINTK_TIME is not set |
1008 | # CONFIG_MAGIC_SYSRQ is not set | 1024 | # CONFIG_MAGIC_SYSRQ is not set |
1025 | # CONFIG_UNUSED_SYMBOLS is not set | ||
1009 | CONFIG_DEBUG_KERNEL=y | 1026 | CONFIG_DEBUG_KERNEL=y |
1010 | CONFIG_LOG_BUF_SHIFT=14 | 1027 | CONFIG_LOG_BUF_SHIFT=14 |
1011 | CONFIG_DETECT_SOFTLOCKUP=y | 1028 | CONFIG_DETECT_SOFTLOCKUP=y |
1012 | # CONFIG_SCHEDSTATS is not set | 1029 | # CONFIG_SCHEDSTATS is not set |
1013 | # CONFIG_DEBUG_SLAB is not set | 1030 | # CONFIG_DEBUG_SLAB is not set |
1014 | # CONFIG_DEBUG_MUTEXES is not set | 1031 | # CONFIG_DEBUG_RT_MUTEXES is not set |
1032 | # CONFIG_RT_MUTEX_TESTER is not set | ||
1015 | # CONFIG_DEBUG_SPINLOCK is not set | 1033 | # CONFIG_DEBUG_SPINLOCK is not set |
1034 | # CONFIG_DEBUG_MUTEXES is not set | ||
1035 | # CONFIG_DEBUG_RWSEMS is not set | ||
1016 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | 1036 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set |
1037 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | ||
1017 | # CONFIG_DEBUG_KOBJECT is not set | 1038 | # CONFIG_DEBUG_KOBJECT is not set |
1018 | CONFIG_DEBUG_BUGVERBOSE=y | 1039 | CONFIG_DEBUG_BUGVERBOSE=y |
1019 | # CONFIG_DEBUG_INFO is not set | 1040 | # CONFIG_DEBUG_INFO is not set |
@@ -1052,3 +1073,4 @@ CONFIG_DEBUG_LL=y | |||
1052 | CONFIG_CRC32=y | 1073 | CONFIG_CRC32=y |
1053 | # CONFIG_LIBCRC32C is not set | 1074 | # CONFIG_LIBCRC32C is not set |
1054 | CONFIG_ZLIB_INFLATE=y | 1075 | CONFIG_ZLIB_INFLATE=y |
1076 | CONFIG_PLIST=y | ||
diff --git a/arch/arm/kernel/bios32.c b/arch/arm/kernel/bios32.c index 964faac104fb..240c448ec31c 100644 --- a/arch/arm/kernel/bios32.c +++ b/arch/arm/kernel/bios32.c | |||
@@ -370,17 +370,6 @@ void __devinit pcibios_fixup_bus(struct pci_bus *bus) | |||
370 | features &= ~(PCI_COMMAND_SERR | PCI_COMMAND_PARITY); | 370 | features &= ~(PCI_COMMAND_SERR | PCI_COMMAND_PARITY); |
371 | 371 | ||
372 | switch (dev->class >> 8) { | 372 | switch (dev->class >> 8) { |
373 | #if defined(CONFIG_ISA) || defined(CONFIG_EISA) | ||
374 | case PCI_CLASS_BRIDGE_ISA: | ||
375 | case PCI_CLASS_BRIDGE_EISA: | ||
376 | /* | ||
377 | * If this device is an ISA bridge, set isa_bridge | ||
378 | * to point at this device. We will then go looking | ||
379 | * for things like keyboard, etc. | ||
380 | */ | ||
381 | isa_bridge = dev; | ||
382 | break; | ||
383 | #endif | ||
384 | case PCI_CLASS_BRIDGE_PCI: | 373 | case PCI_CLASS_BRIDGE_PCI: |
385 | pci_read_config_word(dev, PCI_BRIDGE_CONTROL, &status); | 374 | pci_read_config_word(dev, PCI_BRIDGE_CONTROL, &status); |
386 | status |= PCI_BRIDGE_CTL_PARITY|PCI_BRIDGE_CTL_MASTER_ABORT; | 375 | status |= PCI_BRIDGE_CTL_PARITY|PCI_BRIDGE_CTL_MASTER_ABORT; |
diff --git a/arch/arm/kernel/irq.c b/arch/arm/kernel/irq.c index c3d4e94ef5bf..626feeec0ade 100644 --- a/arch/arm/kernel/irq.c +++ b/arch/arm/kernel/irq.c | |||
@@ -167,6 +167,16 @@ void __init init_IRQ(void) | |||
167 | } | 167 | } |
168 | 168 | ||
169 | #ifdef CONFIG_HOTPLUG_CPU | 169 | #ifdef CONFIG_HOTPLUG_CPU |
170 | |||
171 | static void route_irq(struct irqdesc *desc, unsigned int irq, unsigned int cpu) | ||
172 | { | ||
173 | pr_debug("IRQ%u: moving from cpu%u to cpu%u\n", irq, desc->cpu, cpu); | ||
174 | |||
175 | spin_lock_irq(&desc->lock); | ||
176 | desc->chip->set_affinity(irq, cpumask_of_cpu(cpu)); | ||
177 | spin_unlock_irq(&desc->lock); | ||
178 | } | ||
179 | |||
170 | /* | 180 | /* |
171 | * The CPU has been marked offline. Migrate IRQs off this CPU. If | 181 | * The CPU has been marked offline. Migrate IRQs off this CPU. If |
172 | * the affinity settings do not allow other CPUs, force them onto any | 182 | * the affinity settings do not allow other CPUs, force them onto any |
diff --git a/arch/arm/mach-sa1100/collie.c b/arch/arm/mach-sa1100/collie.c index a6bab50dab61..a0dfa390e34b 100644 --- a/arch/arm/mach-sa1100/collie.c +++ b/arch/arm/mach-sa1100/collie.c | |||
@@ -83,8 +83,8 @@ static struct scoop_pcmcia_config collie_pcmcia_config = { | |||
83 | 83 | ||
84 | 84 | ||
85 | static struct mcp_plat_data collie_mcp_data = { | 85 | static struct mcp_plat_data collie_mcp_data = { |
86 | .mccr0 = MCCR0_ADM, | 86 | .mccr0 = MCCR0_ADM | MCCR0_ExtClk, |
87 | .sclk_rate = 11981000, | 87 | .sclk_rate = 9216000, |
88 | }; | 88 | }; |
89 | 89 | ||
90 | #ifdef CONFIG_SHARP_LOCOMO | 90 | #ifdef CONFIG_SHARP_LOCOMO |
diff --git a/arch/arm/mach-sa1100/collie_pm.c b/arch/arm/mach-sa1100/collie_pm.c index 45b1e71f111d..1e25b1d19fce 100644 --- a/arch/arm/mach-sa1100/collie_pm.c +++ b/arch/arm/mach-sa1100/collie_pm.c | |||
@@ -9,6 +9,9 @@ | |||
9 | * Li-ion batteries are angry beasts, and they like to explode. This driver is not finished, | 9 | * Li-ion batteries are angry beasts, and they like to explode. This driver is not finished, |
10 | * and sometimes charges them when it should not. If it makes angry lithium to come your way... | 10 | * and sometimes charges them when it should not. If it makes angry lithium to come your way... |
11 | * ...well, you have been warned. | 11 | * ...well, you have been warned. |
12 | * | ||
13 | * Actually, this should be quite safe, it seems sharp leaves charger enabled by default, | ||
14 | * and my collie did not explode (yet). | ||
12 | */ | 15 | */ |
13 | 16 | ||
14 | #include <linux/module.h> | 17 | #include <linux/module.h> |
@@ -40,9 +43,8 @@ static void collie_charger_init(void) | |||
40 | { | 43 | { |
41 | int err; | 44 | int err; |
42 | 45 | ||
43 | if (sharpsl_param.adadj != -1) { | 46 | if (sharpsl_param.adadj != -1) |
44 | ad_revise = sharpsl_param.adadj; | 47 | ad_revise = sharpsl_param.adadj; |
45 | } | ||
46 | 48 | ||
47 | /* Register interrupt handler. */ | 49 | /* Register interrupt handler. */ |
48 | if ((err = request_irq(COLLIE_IRQ_GPIO_AC_IN, sharpsl_ac_isr, IRQF_DISABLED, | 50 | if ((err = request_irq(COLLIE_IRQ_GPIO_AC_IN, sharpsl_ac_isr, IRQF_DISABLED, |
@@ -72,27 +74,17 @@ static void collie_measure_temp(int on) | |||
72 | 74 | ||
73 | static void collie_charge(int on) | 75 | static void collie_charge(int on) |
74 | { | 76 | { |
75 | if (on) { | 77 | extern struct platform_device colliescoop_device; |
76 | printk("Should start charger\n"); | ||
77 | } else { | ||
78 | printk("Should stop charger\n"); | ||
79 | } | ||
80 | #ifdef I_AM_SURE | ||
81 | 78 | ||
82 | /* Zaurus seems to contain LTC1731 ; it should know when to | 79 | /* Zaurus seems to contain LTC1731; it should know when to |
83 | * stop charging itself, so setting charge on should be | 80 | * stop charging itself, so setting charge on should be |
84 | * relatively harmless (as long as it is not done too often). | 81 | * relatively harmless (as long as it is not done too often). |
85 | */ | 82 | */ |
86 | #define CF_BUF_CTRL_BASE 0xF0800000 | ||
87 | #define SCOOP_REG(adr) (*(volatile unsigned short*)(CF_BUF_CTRL_BASE+(adr))) | ||
88 | #define SCOOP_REG_GPWR SCOOP_REG(SCOOP_GPWR) | ||
89 | |||
90 | if (on) { | 83 | if (on) { |
91 | set_scoop_gpio(&colliescoop_device.dev, COLLIE_SCP_CHARGE_ON); | 84 | set_scoop_gpio(&colliescoop_device.dev, COLLIE_SCP_CHARGE_ON); |
92 | } else { | 85 | } else { |
93 | reset_scoop_gpio(&colliescoop_device.dev, COLLIE_SCP_CHARGE_ON); | 86 | reset_scoop_gpio(&colliescoop_device.dev, COLLIE_SCP_CHARGE_ON); |
94 | } | 87 | } |
95 | #endif | ||
96 | } | 88 | } |
97 | 89 | ||
98 | static void collie_discharge(int on) | 90 | static void collie_discharge(int on) |
@@ -127,7 +119,6 @@ int collie_read_backup_battery(void) | |||
127 | 119 | ||
128 | ucb1x00_adc_enable(ucb); | 120 | ucb1x00_adc_enable(ucb); |
129 | 121 | ||
130 | /* Gives 75..130 */ | ||
131 | ucb1x00_io_write(ucb, COLLIE_TC35143_GPIO_BBAT_ON, 0); | 122 | ucb1x00_io_write(ucb, COLLIE_TC35143_GPIO_BBAT_ON, 0); |
132 | voltage = ucb1x00_adc_read(ucb, UCB_ADC_INP_AD1, UCB_SYNC); | 123 | voltage = ucb1x00_adc_read(ucb, UCB_ADC_INP_AD1, UCB_SYNC); |
133 | 124 | ||
@@ -146,9 +137,8 @@ int collie_read_main_battery(void) | |||
146 | ucb1x00_adc_enable(ucb); | 137 | ucb1x00_adc_enable(ucb); |
147 | ucb1x00_io_write(ucb, 0, COLLIE_TC35143_GPIO_BBAT_ON); | 138 | ucb1x00_io_write(ucb, 0, COLLIE_TC35143_GPIO_BBAT_ON); |
148 | ucb1x00_io_write(ucb, COLLIE_TC35143_GPIO_MBAT_ON, 0); | 139 | ucb1x00_io_write(ucb, COLLIE_TC35143_GPIO_MBAT_ON, 0); |
149 | /* gives values 160..255 with battery removed... and | 140 | |
150 | 145..255 with battery inserted. (on AC), goes as low as | 141 | mdelay(1); |
151 | 80 on DC. */ | ||
152 | voltage = ucb1x00_adc_read(ucb, UCB_ADC_INP_AD1, UCB_SYNC); | 142 | voltage = ucb1x00_adc_read(ucb, UCB_ADC_INP_AD1, UCB_SYNC); |
153 | 143 | ||
154 | ucb1x00_io_write(ucb, 0, COLLIE_TC35143_GPIO_MBAT_ON); | 144 | ucb1x00_io_write(ucb, 0, COLLIE_TC35143_GPIO_MBAT_ON); |
@@ -192,7 +182,7 @@ static unsigned long read_devdata(int which) | |||
192 | case SHARPSL_BATT_TEMP: | 182 | case SHARPSL_BATT_TEMP: |
193 | return collie_read_temp(); | 183 | return collie_read_temp(); |
194 | case SHARPSL_ACIN_VOLT: | 184 | case SHARPSL_ACIN_VOLT: |
195 | return 0x1; | 185 | return 500; |
196 | case SHARPSL_STATUS_ACIN: { | 186 | case SHARPSL_STATUS_ACIN: { |
197 | int ret = GPLR & COLLIE_GPIO_AC_IN; | 187 | int ret = GPLR & COLLIE_GPIO_AC_IN; |
198 | printk("AC status = %d\n", ret); | 188 | printk("AC status = %d\n", ret); |
@@ -208,10 +198,33 @@ static unsigned long read_devdata(int which) | |||
208 | } | 198 | } |
209 | } | 199 | } |
210 | 200 | ||
201 | struct battery_thresh collie_battery_levels_acin[] = { | ||
202 | { 420, 100}, | ||
203 | { 417, 95}, | ||
204 | { 415, 90}, | ||
205 | { 413, 80}, | ||
206 | { 411, 75}, | ||
207 | { 408, 70}, | ||
208 | { 406, 60}, | ||
209 | { 403, 50}, | ||
210 | { 398, 40}, | ||
211 | { 391, 25}, | ||
212 | { 10, 5}, | ||
213 | { 0, 0}, | ||
214 | }; | ||
215 | |||
211 | struct battery_thresh collie_battery_levels[] = { | 216 | struct battery_thresh collie_battery_levels[] = { |
212 | { 368, 100}, | 217 | { 394, 100}, |
213 | { 358, 25}, | 218 | { 390, 95}, |
214 | { 356, 5}, | 219 | { 380, 90}, |
220 | { 370, 80}, | ||
221 | { 368, 75}, /* From sharp code: battery high with frontlight */ | ||
222 | { 366, 70}, /* 60..90 -- fake values invented by me for testing */ | ||
223 | { 364, 60}, | ||
224 | { 362, 50}, | ||
225 | { 360, 40}, | ||
226 | { 358, 25}, /* From sharp code: battery low with frontlight */ | ||
227 | { 356, 5}, /* From sharp code: battery verylow with frontlight */ | ||
215 | { 0, 0}, | 228 | { 0, 0}, |
216 | }; | 229 | }; |
217 | 230 | ||
@@ -226,13 +239,21 @@ struct sharpsl_charger_machinfo collie_pm_machinfo = { | |||
226 | .postsuspend = collie_postsuspend, | 239 | .postsuspend = collie_postsuspend, |
227 | .charger_wakeup = collie_charger_wakeup, | 240 | .charger_wakeup = collie_charger_wakeup, |
228 | .should_wakeup = collie_should_wakeup, | 241 | .should_wakeup = collie_should_wakeup, |
229 | .bat_levels = 3, | 242 | .bat_levels = 12, |
230 | .bat_levels_noac = collie_battery_levels, | 243 | .bat_levels_noac = collie_battery_levels, |
231 | .bat_levels_acin = collie_battery_levels, | 244 | .bat_levels_acin = collie_battery_levels_acin, |
232 | .status_high_acin = 368, | 245 | .status_high_acin = 368, |
233 | .status_low_acin = 358, | 246 | .status_low_acin = 358, |
234 | .status_high_noac = 368, | 247 | .status_high_noac = 368, |
235 | .status_low_noac = 358, | 248 | .status_low_noac = 358, |
249 | .charge_on_volt = 350, /* spitz uses 2.90V, but lets play it safe. */ | ||
250 | .charge_on_temp = 550, | ||
251 | .charge_acin_high = 550, /* collie does not seem to have sensor for this, anyway */ | ||
252 | .charge_acin_low = 450, /* ignored, too */ | ||
253 | .fatal_acin_volt = 356, | ||
254 | .fatal_noacin_volt = 356, | ||
255 | |||
256 | .batfull_irq = 1, /* We do not want periodical charge restarts */ | ||
236 | }; | 257 | }; |
237 | 258 | ||
238 | static int __init collie_pm_ucb_add(struct ucb1x00_dev *pdev) | 259 | static int __init collie_pm_ucb_add(struct ucb1x00_dev *pdev) |
diff --git a/arch/arm/mach-versatile/core.c b/arch/arm/mach-versatile/core.c index a432539cc1bd..864377176015 100644 --- a/arch/arm/mach-versatile/core.c +++ b/arch/arm/mach-versatile/core.c | |||
@@ -35,6 +35,7 @@ | |||
35 | #include <asm/hardware/arm_timer.h> | 35 | #include <asm/hardware/arm_timer.h> |
36 | #include <asm/hardware/icst307.h> | 36 | #include <asm/hardware/icst307.h> |
37 | #include <asm/hardware/vic.h> | 37 | #include <asm/hardware/vic.h> |
38 | #include <asm/mach-types.h> | ||
38 | 39 | ||
39 | #include <asm/mach/arch.h> | 40 | #include <asm/mach/arch.h> |
40 | #include <asm/mach/flash.h> | 41 | #include <asm/mach/flash.h> |
@@ -352,11 +353,7 @@ static const struct icst307_params versatile_oscvco_params = { | |||
352 | static void versatile_oscvco_set(struct clk *clk, struct icst307_vco vco) | 353 | static void versatile_oscvco_set(struct clk *clk, struct icst307_vco vco) |
353 | { | 354 | { |
354 | void __iomem *sys_lock = __io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_LOCK_OFFSET; | 355 | void __iomem *sys_lock = __io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_LOCK_OFFSET; |
355 | #if defined(CONFIG_ARCH_VERSATILE_PB) | 356 | void __iomem *sys_osc = __io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_OSCCLCD_OFFSET; |
356 | void __iomem *sys_osc = __io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_OSC4_OFFSET; | ||
357 | #elif defined(CONFIG_MACH_VERSATILE_AB) | ||
358 | void __iomem *sys_osc = __io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_OSC1_OFFSET; | ||
359 | #endif | ||
360 | u32 val; | 357 | u32 val; |
361 | 358 | ||
362 | val = readl(sys_osc) & ~0x7ffff; | 359 | val = readl(sys_osc) & ~0x7ffff; |
@@ -529,7 +526,7 @@ static void versatile_clcd_disable(struct clcd_fb *fb) | |||
529 | /* | 526 | /* |
530 | * If the LCD is Sanyo 2x5 in on the IB2 board, turn the back-light off | 527 | * If the LCD is Sanyo 2x5 in on the IB2 board, turn the back-light off |
531 | */ | 528 | */ |
532 | if (fb->panel == &sanyo_2_5_in) { | 529 | if (machine_is_versatile_ab() && fb->panel == &sanyo_2_5_in) { |
533 | void __iomem *versatile_ib2_ctrl = __io_address(VERSATILE_IB2_CTRL); | 530 | void __iomem *versatile_ib2_ctrl = __io_address(VERSATILE_IB2_CTRL); |
534 | unsigned long ctrl; | 531 | unsigned long ctrl; |
535 | 532 | ||
@@ -578,7 +575,7 @@ static void versatile_clcd_enable(struct clcd_fb *fb) | |||
578 | /* | 575 | /* |
579 | * If the LCD is Sanyo 2x5 in on the IB2 board, turn the back-light on | 576 | * If the LCD is Sanyo 2x5 in on the IB2 board, turn the back-light on |
580 | */ | 577 | */ |
581 | if (fb->panel == &sanyo_2_5_in) { | 578 | if (machine_is_versatile_ab() && fb->panel == &sanyo_2_5_in) { |
582 | void __iomem *versatile_ib2_ctrl = __io_address(VERSATILE_IB2_CTRL); | 579 | void __iomem *versatile_ib2_ctrl = __io_address(VERSATILE_IB2_CTRL); |
583 | unsigned long ctrl; | 580 | unsigned long ctrl; |
584 | 581 | ||
diff --git a/arch/arm/nwfpe/softfloat.h b/arch/arm/nwfpe/softfloat.h index e1125bc39ee4..0a3067452cd2 100644 --- a/arch/arm/nwfpe/softfloat.h +++ b/arch/arm/nwfpe/softfloat.h | |||
@@ -61,7 +61,7 @@ typedef struct { | |||
61 | u16 __padding; | 61 | u16 __padding; |
62 | #endif | 62 | #endif |
63 | u64 low; | 63 | u64 low; |
64 | } floatx80; | 64 | } __attribute__ ((packed,aligned(4))) floatx80; |
65 | 65 | ||
66 | /* | 66 | /* |
67 | ------------------------------------------------------------------------------- | 67 | ------------------------------------------------------------------------------- |
diff --git a/arch/i386/kernel/crash.c b/arch/i386/kernel/crash.c index 48f0f62f781c..5b96f038367f 100644 --- a/arch/i386/kernel/crash.c +++ b/arch/i386/kernel/crash.c | |||
@@ -90,7 +90,7 @@ static void crash_save_self(struct pt_regs *regs) | |||
90 | crash_save_this_cpu(regs, cpu); | 90 | crash_save_this_cpu(regs, cpu); |
91 | } | 91 | } |
92 | 92 | ||
93 | #ifdef CONFIG_SMP | 93 | #if defined(CONFIG_SMP) && defined(CONFIG_X86_LOCAL_APIC) |
94 | static atomic_t waiting_for_crash_ipi; | 94 | static atomic_t waiting_for_crash_ipi; |
95 | 95 | ||
96 | static int crash_nmi_callback(struct pt_regs *regs, int cpu) | 96 | static int crash_nmi_callback(struct pt_regs *regs, int cpu) |
diff --git a/arch/i386/kernel/setup.c b/arch/i386/kernel/setup.c index 7864395c1441..f1682206d304 100644 --- a/arch/i386/kernel/setup.c +++ b/arch/i386/kernel/setup.c | |||
@@ -1327,7 +1327,10 @@ legacy_init_iomem_resources(struct resource *code_resource, struct resource *dat | |||
1327 | res->start = e820.map[i].addr; | 1327 | res->start = e820.map[i].addr; |
1328 | res->end = res->start + e820.map[i].size - 1; | 1328 | res->end = res->start + e820.map[i].size - 1; |
1329 | res->flags = IORESOURCE_MEM | IORESOURCE_BUSY; | 1329 | res->flags = IORESOURCE_MEM | IORESOURCE_BUSY; |
1330 | request_resource(&iomem_resource, res); | 1330 | if (request_resource(&iomem_resource, res)) { |
1331 | kfree(res); | ||
1332 | continue; | ||
1333 | } | ||
1331 | if (e820.map[i].type == E820_RAM) { | 1334 | if (e820.map[i].type == E820_RAM) { |
1332 | /* | 1335 | /* |
1333 | * We don't know which RAM region contains kernel data, | 1336 | * We don't know which RAM region contains kernel data, |
diff --git a/arch/i386/kernel/traps.c b/arch/i386/kernel/traps.c index 5cfd4f42eeba..313ac1f7dc5a 100644 --- a/arch/i386/kernel/traps.c +++ b/arch/i386/kernel/traps.c | |||
@@ -324,35 +324,35 @@ void show_registers(struct pt_regs *regs) | |||
324 | 324 | ||
325 | static void handle_BUG(struct pt_regs *regs) | 325 | static void handle_BUG(struct pt_regs *regs) |
326 | { | 326 | { |
327 | unsigned long eip = regs->eip; | ||
327 | unsigned short ud2; | 328 | unsigned short ud2; |
328 | unsigned short line; | ||
329 | char *file; | ||
330 | char c; | ||
331 | unsigned long eip; | ||
332 | |||
333 | eip = regs->eip; | ||
334 | 329 | ||
335 | if (eip < PAGE_OFFSET) | 330 | if (eip < PAGE_OFFSET) |
336 | goto no_bug; | 331 | return; |
337 | if (__get_user(ud2, (unsigned short __user *)eip)) | 332 | if (__get_user(ud2, (unsigned short __user *)eip)) |
338 | goto no_bug; | 333 | return; |
339 | if (ud2 != 0x0b0f) | 334 | if (ud2 != 0x0b0f) |
340 | goto no_bug; | 335 | return; |
341 | if (__get_user(line, (unsigned short __user *)(eip + 2))) | ||
342 | goto bug; | ||
343 | if (__get_user(file, (char * __user *)(eip + 4)) || | ||
344 | (unsigned long)file < PAGE_OFFSET || __get_user(c, file)) | ||
345 | file = "<bad filename>"; | ||
346 | 336 | ||
347 | printk(KERN_EMERG "------------[ cut here ]------------\n"); | 337 | printk(KERN_EMERG "------------[ cut here ]------------\n"); |
348 | printk(KERN_EMERG "kernel BUG at %s:%d!\n", file, line); | ||
349 | 338 | ||
350 | no_bug: | 339 | #ifdef CONFIG_DEBUG_BUGVERBOSE |
351 | return; | 340 | do { |
341 | unsigned short line; | ||
342 | char *file; | ||
343 | char c; | ||
352 | 344 | ||
353 | /* Here we know it was a BUG but file-n-line is unavailable */ | 345 | if (__get_user(line, (unsigned short __user *)(eip + 2))) |
354 | bug: | 346 | break; |
355 | printk(KERN_EMERG "Kernel BUG\n"); | 347 | if (__get_user(file, (char * __user *)(eip + 4)) || |
348 | (unsigned long)file < PAGE_OFFSET || __get_user(c, file)) | ||
349 | file = "<bad filename>"; | ||
350 | |||
351 | printk(KERN_EMERG "kernel BUG at %s:%d!\n", file, line); | ||
352 | return; | ||
353 | } while (0); | ||
354 | #endif | ||
355 | printk(KERN_EMERG "Kernel BUG at [verbose debug info unavailable]\n"); | ||
356 | } | 356 | } |
357 | 357 | ||
358 | /* This is gone through when something in the kernel | 358 | /* This is gone through when something in the kernel |
diff --git a/arch/i386/lib/usercopy.c b/arch/i386/lib/usercopy.c index 4b75212ab6dd..efc7e7d5f4d0 100644 --- a/arch/i386/lib/usercopy.c +++ b/arch/i386/lib/usercopy.c | |||
@@ -843,7 +843,6 @@ unsigned long __copy_from_user_ll_nocache_nozero(void *to, const void __user *fr | |||
843 | unsigned long | 843 | unsigned long |
844 | copy_to_user(void __user *to, const void *from, unsigned long n) | 844 | copy_to_user(void __user *to, const void *from, unsigned long n) |
845 | { | 845 | { |
846 | might_sleep(); | ||
847 | BUG_ON((long) n < 0); | 846 | BUG_ON((long) n < 0); |
848 | if (access_ok(VERIFY_WRITE, to, n)) | 847 | if (access_ok(VERIFY_WRITE, to, n)) |
849 | n = __copy_to_user(to, from, n); | 848 | n = __copy_to_user(to, from, n); |
@@ -870,7 +869,6 @@ EXPORT_SYMBOL(copy_to_user); | |||
870 | unsigned long | 869 | unsigned long |
871 | copy_from_user(void *to, const void __user *from, unsigned long n) | 870 | copy_from_user(void *to, const void __user *from, unsigned long n) |
872 | { | 871 | { |
873 | might_sleep(); | ||
874 | BUG_ON((long) n < 0); | 872 | BUG_ON((long) n < 0); |
875 | if (access_ok(VERIFY_READ, from, n)) | 873 | if (access_ok(VERIFY_READ, from, n)) |
876 | n = __copy_from_user(to, from, n); | 874 | n = __copy_from_user(to, from, n); |
diff --git a/arch/i386/pci/common.c b/arch/i386/pci/common.c index c624b61e1104..0a362e3aeac5 100644 --- a/arch/i386/pci/common.c +++ b/arch/i386/pci/common.c | |||
@@ -17,10 +17,6 @@ | |||
17 | 17 | ||
18 | #include "pci.h" | 18 | #include "pci.h" |
19 | 19 | ||
20 | #ifdef CONFIG_PCI_BIOS | ||
21 | extern void pcibios_sort(void); | ||
22 | #endif | ||
23 | |||
24 | unsigned int pci_probe = PCI_PROBE_BIOS | PCI_PROBE_CONF1 | PCI_PROBE_CONF2 | | 20 | unsigned int pci_probe = PCI_PROBE_BIOS | PCI_PROBE_CONF1 | PCI_PROBE_CONF2 | |
25 | PCI_PROBE_MMCONF; | 21 | PCI_PROBE_MMCONF; |
26 | 22 | ||
diff --git a/arch/i386/pci/pci.h b/arch/i386/pci/pci.h index 12bf3d8dda29..bf4e79335388 100644 --- a/arch/i386/pci/pci.h +++ b/arch/i386/pci/pci.h | |||
@@ -84,4 +84,4 @@ extern int pci_conf1_read(unsigned int seg, unsigned int bus, | |||
84 | extern void pci_direct_init(void); | 84 | extern void pci_direct_init(void); |
85 | extern void pci_pcbios_init(void); | 85 | extern void pci_pcbios_init(void); |
86 | extern void pci_mmcfg_init(void); | 86 | extern void pci_mmcfg_init(void); |
87 | 87 | extern void pcibios_sort(void); | |
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index 747a9c1228f2..330f6abc7703 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig | |||
@@ -480,6 +480,7 @@ config MOMENCO_OCELOT_G | |||
480 | select SYS_SUPPORTS_32BIT_KERNEL | 480 | select SYS_SUPPORTS_32BIT_KERNEL |
481 | select SYS_SUPPORTS_64BIT_KERNEL | 481 | select SYS_SUPPORTS_64BIT_KERNEL |
482 | select SYS_SUPPORTS_BIG_ENDIAN | 482 | select SYS_SUPPORTS_BIG_ENDIAN |
483 | select ARCH_SPARSEMEM_ENABLE | ||
483 | help | 484 | help |
484 | The Ocelot is a MIPS-based Single Board Computer (SBC) made by | 485 | The Ocelot is a MIPS-based Single Board Computer (SBC) made by |
485 | Momentum Computer <http://www.momenco.com/>. | 486 | Momentum Computer <http://www.momenco.com/>. |
@@ -556,6 +557,7 @@ config QEMU | |||
556 | select SYS_HAS_CPU_MIPS32_R1 | 557 | select SYS_HAS_CPU_MIPS32_R1 |
557 | select SYS_SUPPORTS_32BIT_KERNEL | 558 | select SYS_SUPPORTS_32BIT_KERNEL |
558 | select SYS_SUPPORTS_BIG_ENDIAN | 559 | select SYS_SUPPORTS_BIG_ENDIAN |
560 | select ARCH_SPARSEMEM_ENABLE | ||
559 | help | 561 | help |
560 | Qemu is a software emulator which among other architectures also | 562 | Qemu is a software emulator which among other architectures also |
561 | can simulate a MIPS32 4Kc system. This patch adds support for the | 563 | can simulate a MIPS32 4Kc system. This patch adds support for the |
@@ -594,7 +596,6 @@ config SGI_IP22 | |||
594 | select SYS_SUPPORTS_32BIT_KERNEL | 596 | select SYS_SUPPORTS_32BIT_KERNEL |
595 | select SYS_SUPPORTS_64BIT_KERNEL | 597 | select SYS_SUPPORTS_64BIT_KERNEL |
596 | select SYS_SUPPORTS_BIG_ENDIAN | 598 | select SYS_SUPPORTS_BIG_ENDIAN |
597 | select SYS_SUPPORTS_SMP | ||
598 | help | 599 | help |
599 | This are the SGI Indy, Challenge S and Indigo2, as well as certain | 600 | This are the SGI Indy, Challenge S and Indigo2, as well as certain |
600 | OEM variants like the Tandem CMN B006S. To compile a Linux kernel | 601 | OEM variants like the Tandem CMN B006S. To compile a Linux kernel |
@@ -1688,6 +1689,13 @@ config ARCH_DISCONTIGMEM_ENABLE | |||
1688 | or have huge holes in the physical address space for other reasons. | 1689 | or have huge holes in the physical address space for other reasons. |
1689 | See <file:Documentation/vm/numa> for more. | 1690 | See <file:Documentation/vm/numa> for more. |
1690 | 1691 | ||
1692 | config ARCH_SPARSEMEM_ENABLE | ||
1693 | bool | ||
1694 | |||
1695 | config ARCH_SPARSEMEM_ENABLE | ||
1696 | bool | ||
1697 | select SPARSEMEM_STATIC | ||
1698 | |||
1691 | config NUMA | 1699 | config NUMA |
1692 | bool "NUMA Support" | 1700 | bool "NUMA Support" |
1693 | depends on SYS_SUPPORTS_NUMA | 1701 | depends on SYS_SUPPORTS_NUMA |
diff --git a/arch/mips/Kconfig.debug b/arch/mips/Kconfig.debug index 515f9e611307..5d6afb52d904 100644 --- a/arch/mips/Kconfig.debug +++ b/arch/mips/Kconfig.debug | |||
@@ -1,5 +1,9 @@ | |||
1 | menu "Kernel hacking" | 1 | menu "Kernel hacking" |
2 | 2 | ||
3 | config TRACE_IRQFLAGS_SUPPORT | ||
4 | bool | ||
5 | default y | ||
6 | |||
3 | source "lib/Kconfig.debug" | 7 | source "lib/Kconfig.debug" |
4 | 8 | ||
5 | config CROSSCOMPILE | 9 | config CROSSCOMPILE |
diff --git a/arch/mips/Makefile b/arch/mips/Makefile index ebbb9adc0e2f..d333ce4ba26b 100644 --- a/arch/mips/Makefile +++ b/arch/mips/Makefile | |||
@@ -712,16 +712,14 @@ endif | |||
712 | vmlinux.bin: $(vmlinux-32) | 712 | vmlinux.bin: $(vmlinux-32) |
713 | +@$(call makeboot,$@) | 713 | +@$(call makeboot,$@) |
714 | 714 | ||
715 | vmlinux.ecoff vmlinux.rm200: $(vmlinux-32) | 715 | vmlinux.ecoff: $(vmlinux-32) |
716 | +@$(call makeboot,$@) | 716 | +@$(call makeboot,$@) |
717 | 717 | ||
718 | vmlinux.srec: $(vmlinux-32) | 718 | vmlinux.srec: $(vmlinux-32) |
719 | +@$(call makeboot,$@) | 719 | +@$(call makeboot,$@) |
720 | 720 | ||
721 | CLEAN_FILES += vmlinux.ecoff \ | 721 | CLEAN_FILES += vmlinux.ecoff \ |
722 | vmlinux.srec \ | 722 | vmlinux.srec |
723 | vmlinux.rm200.tmp \ | ||
724 | vmlinux.rm200 | ||
725 | 723 | ||
726 | archclean: | 724 | archclean: |
727 | @$(MAKE) $(clean)=arch/mips/boot | 725 | @$(MAKE) $(clean)=arch/mips/boot |
diff --git a/arch/mips/au1000/common/irq.c b/arch/mips/au1000/common/irq.c index 29d6f8178bad..316722ee8cf5 100644 --- a/arch/mips/au1000/common/irq.c +++ b/arch/mips/au1000/common/irq.c | |||
@@ -251,7 +251,7 @@ void restore_local_and_enable(int controller, unsigned long mask) | |||
251 | } | 251 | } |
252 | 252 | ||
253 | 253 | ||
254 | static struct hw_interrupt_type rise_edge_irq_type = { | 254 | static struct irq_chip rise_edge_irq_type = { |
255 | .typename = "Au1000 Rise Edge", | 255 | .typename = "Au1000 Rise Edge", |
256 | .startup = startup_irq, | 256 | .startup = startup_irq, |
257 | .shutdown = shutdown_irq, | 257 | .shutdown = shutdown_irq, |
@@ -261,7 +261,7 @@ static struct hw_interrupt_type rise_edge_irq_type = { | |||
261 | .end = end_irq, | 261 | .end = end_irq, |
262 | }; | 262 | }; |
263 | 263 | ||
264 | static struct hw_interrupt_type fall_edge_irq_type = { | 264 | static struct irq_chip fall_edge_irq_type = { |
265 | .typename = "Au1000 Fall Edge", | 265 | .typename = "Au1000 Fall Edge", |
266 | .startup = startup_irq, | 266 | .startup = startup_irq, |
267 | .shutdown = shutdown_irq, | 267 | .shutdown = shutdown_irq, |
@@ -271,7 +271,7 @@ static struct hw_interrupt_type fall_edge_irq_type = { | |||
271 | .end = end_irq, | 271 | .end = end_irq, |
272 | }; | 272 | }; |
273 | 273 | ||
274 | static struct hw_interrupt_type either_edge_irq_type = { | 274 | static struct irq_chip either_edge_irq_type = { |
275 | .typename = "Au1000 Rise or Fall Edge", | 275 | .typename = "Au1000 Rise or Fall Edge", |
276 | .startup = startup_irq, | 276 | .startup = startup_irq, |
277 | .shutdown = shutdown_irq, | 277 | .shutdown = shutdown_irq, |
@@ -281,7 +281,7 @@ static struct hw_interrupt_type either_edge_irq_type = { | |||
281 | .end = end_irq, | 281 | .end = end_irq, |
282 | }; | 282 | }; |
283 | 283 | ||
284 | static struct hw_interrupt_type level_irq_type = { | 284 | static struct irq_chip level_irq_type = { |
285 | .typename = "Au1000 Level", | 285 | .typename = "Au1000 Level", |
286 | .startup = startup_irq, | 286 | .startup = startup_irq, |
287 | .shutdown = shutdown_irq, | 287 | .shutdown = shutdown_irq, |
diff --git a/arch/mips/au1000/common/prom.c b/arch/mips/au1000/common/prom.c index ae7d8c57bf3f..b4b010a2fe36 100644 --- a/arch/mips/au1000/common/prom.c +++ b/arch/mips/au1000/common/prom.c | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * | 2 | * |
3 | * BRIEF MODULE DESCRIPTION | 3 | * BRIEF MODULE DESCRIPTION |
4 | * PROM library initialisation code, assuming YAMON is the boot loader. | 4 | * PROM library initialisation code, supports YAMON and U-Boot. |
5 | * | 5 | * |
6 | * Copyright 2000, 2001, 2006 MontaVista Software Inc. | 6 | * Copyright 2000, 2001, 2006 MontaVista Software Inc. |
7 | * Author: MontaVista Software, Inc. | 7 | * Author: MontaVista Software, Inc. |
@@ -46,12 +46,6 @@ | |||
46 | extern int prom_argc; | 46 | extern int prom_argc; |
47 | extern char **prom_argv, **prom_envp; | 47 | extern char **prom_argv, **prom_envp; |
48 | 48 | ||
49 | typedef struct | ||
50 | { | ||
51 | char *name; | ||
52 | char *val; | ||
53 | } t_env_var; | ||
54 | |||
55 | 49 | ||
56 | char * prom_getcmdline(void) | 50 | char * prom_getcmdline(void) |
57 | { | 51 | { |
@@ -84,13 +78,21 @@ char *prom_getenv(char *envname) | |||
84 | { | 78 | { |
85 | /* | 79 | /* |
86 | * Return a pointer to the given environment variable. | 80 | * Return a pointer to the given environment variable. |
81 | * YAMON uses "name", "value" pairs, while U-Boot uses "name=value". | ||
87 | */ | 82 | */ |
88 | 83 | ||
89 | t_env_var *env = (t_env_var *)prom_envp; | 84 | char **env = prom_envp; |
90 | 85 | int i = strlen(envname); | |
91 | while (env->name) { | 86 | int yamon = (*env && strchr(*env, '=') == NULL); |
92 | if (strcmp(envname, env->name) == 0) | 87 | |
93 | return env->val; | 88 | while (*env) { |
89 | if (yamon) { | ||
90 | if (strcmp(envname, *env++) == 0) | ||
91 | return *env; | ||
92 | } else { | ||
93 | if (strncmp(envname, *env, i) == 0 && (*env)[i] == '=') | ||
94 | return *env + i + 1; | ||
95 | } | ||
94 | env++; | 96 | env++; |
95 | } | 97 | } |
96 | return NULL; | 98 | return NULL; |
diff --git a/arch/mips/au1000/common/setup.c b/arch/mips/au1000/common/setup.c index cc5138ce9c95..377ae0d8ff00 100644 --- a/arch/mips/au1000/common/setup.c +++ b/arch/mips/au1000/common/setup.c | |||
@@ -51,7 +51,6 @@ extern void au1000_power_off(void); | |||
51 | extern void au1x_time_init(void); | 51 | extern void au1x_time_init(void); |
52 | extern void au1x_timer_setup(struct irqaction *irq); | 52 | extern void au1x_timer_setup(struct irqaction *irq); |
53 | extern void au1xxx_time_init(void); | 53 | extern void au1xxx_time_init(void); |
54 | extern void au1xxx_timer_setup(struct irqaction *irq); | ||
55 | extern void set_cpuspec(void); | 54 | extern void set_cpuspec(void); |
56 | 55 | ||
57 | void __init plat_mem_setup(void) | 56 | void __init plat_mem_setup(void) |
@@ -123,7 +122,6 @@ void __init plat_mem_setup(void) | |||
123 | _machine_halt = au1000_halt; | 122 | _machine_halt = au1000_halt; |
124 | pm_power_off = au1000_power_off; | 123 | pm_power_off = au1000_power_off; |
125 | board_time_init = au1xxx_time_init; | 124 | board_time_init = au1xxx_time_init; |
126 | board_timer_setup = au1xxx_timer_setup; | ||
127 | 125 | ||
128 | /* IO/MEM resources. */ | 126 | /* IO/MEM resources. */ |
129 | set_io_port_base(0); | 127 | set_io_port_base(0); |
diff --git a/arch/mips/au1000/common/time.c b/arch/mips/au1000/common/time.c index 7e988b0b0130..7fbea1bf7b48 100644 --- a/arch/mips/au1000/common/time.c +++ b/arch/mips/au1000/common/time.c | |||
@@ -383,7 +383,7 @@ static unsigned long do_fast_pm_gettimeoffset(void) | |||
383 | } | 383 | } |
384 | #endif | 384 | #endif |
385 | 385 | ||
386 | void __init au1xxx_timer_setup(struct irqaction *irq) | 386 | void __init plat_timer_setup(struct irqaction *irq) |
387 | { | 387 | { |
388 | unsigned int est_freq; | 388 | unsigned int est_freq; |
389 | 389 | ||
diff --git a/arch/mips/au1000/csb250/Makefile b/arch/mips/au1000/csb250/Makefile deleted file mode 100644 index c0c4dcdccae8..000000000000 --- a/arch/mips/au1000/csb250/Makefile +++ /dev/null | |||
@@ -1,8 +0,0 @@ | |||
1 | # | ||
2 | # Copyright 2002 Cogent Computer Systems | ||
3 | # dan@embeddededge.com | ||
4 | # | ||
5 | # Makefile for the Cogent CSB250 Au1500 board. Copied from Pb1500. | ||
6 | # | ||
7 | |||
8 | obj-y := init.o board_setup.o irqmap.o | ||
diff --git a/arch/mips/au1000/csb250/board_setup.c b/arch/mips/au1000/csb250/board_setup.c deleted file mode 100644 index 348c3024d3d1..000000000000 --- a/arch/mips/au1000/csb250/board_setup.c +++ /dev/null | |||
@@ -1,238 +0,0 @@ | |||
1 | /* | ||
2 | * | ||
3 | * BRIEF MODULE DESCRIPTION | ||
4 | * Cogent CSB250 board setup. | ||
5 | * | ||
6 | * Copyright 2002 Cogent Computer Systems, Inc. | ||
7 | * dan@embeddededge.com | ||
8 | * | ||
9 | * This program is free software; you can redistribute it and/or modify it | ||
10 | * under the terms of the GNU General Public License as published by the | ||
11 | * Free Software Foundation; either version 2 of the License, or (at your | ||
12 | * option) any later version. | ||
13 | * | ||
14 | * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED | ||
15 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | ||
16 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN | ||
17 | * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, | ||
18 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT | ||
19 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF | ||
20 | * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON | ||
21 | * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
22 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | ||
23 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
24 | * | ||
25 | * You should have received a copy of the GNU General Public License along | ||
26 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
27 | * 675 Mass Ave, Cambridge, MA 02139, USA. | ||
28 | */ | ||
29 | #include <linux/init.h> | ||
30 | #include <linux/sched.h> | ||
31 | #include <linux/ioport.h> | ||
32 | #include <linux/mm.h> | ||
33 | #include <linux/console.h> | ||
34 | #include <linux/mc146818rtc.h> | ||
35 | #include <linux/delay.h> | ||
36 | |||
37 | #include <asm/cpu.h> | ||
38 | #include <asm/bootinfo.h> | ||
39 | #include <asm/irq.h> | ||
40 | #include <asm/keyboard.h> | ||
41 | #include <asm/mipsregs.h> | ||
42 | #include <asm/reboot.h> | ||
43 | #include <asm/pgtable.h> | ||
44 | #include <asm/au1000.h> | ||
45 | #include <asm/csb250.h> | ||
46 | |||
47 | extern int (*board_pci_idsel)(unsigned int devsel, int assert); | ||
48 | int csb250_pci_idsel(unsigned int devsel, int assert); | ||
49 | |||
50 | void __init board_setup(void) | ||
51 | { | ||
52 | u32 pin_func, pin_val; | ||
53 | u32 sys_freqctrl, sys_clksrc; | ||
54 | |||
55 | |||
56 | // set AUX clock to 12MHz * 8 = 96 MHz | ||
57 | au_writel(8, SYS_AUXPLL); | ||
58 | au_writel(0, SYS_PINSTATERD); | ||
59 | udelay(100); | ||
60 | |||
61 | #if defined (CONFIG_USB_OHCI) || defined (CONFIG_AU1X00_USB_DEVICE) | ||
62 | |||
63 | /* GPIO201 is input for PCMCIA card detect */ | ||
64 | /* GPIO203 is input for PCMCIA interrupt request */ | ||
65 | au_writel(au_readl(GPIO2_DIR) & (u32)(~((1<<1)|(1<<3))), GPIO2_DIR); | ||
66 | |||
67 | /* zero and disable FREQ2 */ | ||
68 | sys_freqctrl = au_readl(SYS_FREQCTRL0); | ||
69 | sys_freqctrl &= ~0xFFF00000; | ||
70 | au_writel(sys_freqctrl, SYS_FREQCTRL0); | ||
71 | |||
72 | /* zero and disable USBH/USBD clocks */ | ||
73 | sys_clksrc = au_readl(SYS_CLKSRC); | ||
74 | sys_clksrc &= ~0x00007FE0; | ||
75 | au_writel(sys_clksrc, SYS_CLKSRC); | ||
76 | |||
77 | sys_freqctrl = au_readl(SYS_FREQCTRL0); | ||
78 | sys_freqctrl &= ~0xFFF00000; | ||
79 | |||
80 | sys_clksrc = au_readl(SYS_CLKSRC); | ||
81 | sys_clksrc &= ~0x00007FE0; | ||
82 | |||
83 | // FREQ2 = aux/2 = 48 MHz | ||
84 | sys_freqctrl |= ((0<<22) | (1<<21) | (1<<20)); | ||
85 | au_writel(sys_freqctrl, SYS_FREQCTRL0); | ||
86 | |||
87 | /* | ||
88 | * Route 48MHz FREQ2 into USB Host and/or Device | ||
89 | */ | ||
90 | #ifdef CONFIG_USB_OHCI | ||
91 | sys_clksrc |= ((4<<12) | (0<<11) | (0<<10)); | ||
92 | #endif | ||
93 | #ifdef CONFIG_AU1X00_USB_DEVICE | ||
94 | sys_clksrc |= ((4<<7) | (0<<6) | (0<<5)); | ||
95 | #endif | ||
96 | au_writel(sys_clksrc, SYS_CLKSRC); | ||
97 | |||
98 | |||
99 | pin_func = au_readl(SYS_PINFUNC) & (u32)(~0x8000); | ||
100 | #ifndef CONFIG_AU1X00_USB_DEVICE | ||
101 | // 2nd USB port is USB host | ||
102 | pin_func |= 0x8000; | ||
103 | #endif | ||
104 | au_writel(pin_func, SYS_PINFUNC); | ||
105 | #endif // defined (CONFIG_USB_OHCI) || defined (CONFIG_AU1X00_USB_DEVICE) | ||
106 | |||
107 | /* Configure GPIO2....it's used by PCI among other things. | ||
108 | */ | ||
109 | |||
110 | /* Make everything but GP200 (PCI RST) an input until we get | ||
111 | * the pins set correctly. | ||
112 | */ | ||
113 | au_writel(0x00000001, GPIO2_DIR); | ||
114 | |||
115 | /* Set the pins used for output. | ||
116 | * A zero bit will leave PCI reset, LEDs off, power up USB, | ||
117 | * IDSEL disabled. | ||
118 | */ | ||
119 | pin_val = ((3 << 30) | (7 << 19) | (1 << 17) | (1 << 16)); | ||
120 | au_writel(pin_val, GPIO2_OUTPUT); | ||
121 | |||
122 | /* Set the output direction. | ||
123 | */ | ||
124 | pin_val = ((3 << 14) | (7 << 3) | (1 << 1) | (1 << 0)); | ||
125 | au_writel(pin_val, GPIO2_DIR); | ||
126 | |||
127 | #ifdef CONFIG_PCI | ||
128 | /* Use FREQ1 for the PCI output clock. We use the | ||
129 | * CPU clock of 384 MHz divided by 12 to get 32 MHz PCI. | ||
130 | * If Michael changes the CPU speed, we need to adjust | ||
131 | * that here as well :-). | ||
132 | */ | ||
133 | |||
134 | /* zero and disable FREQ1 | ||
135 | */ | ||
136 | sys_freqctrl = au_readl(SYS_FREQCTRL0); | ||
137 | sys_freqctrl &= ~0x000ffc00; | ||
138 | au_writel(sys_freqctrl, SYS_FREQCTRL0); | ||
139 | |||
140 | /* zero and disable PCI clock | ||
141 | */ | ||
142 | sys_clksrc = au_readl(SYS_CLKSRC); | ||
143 | sys_clksrc &= ~0x000f8000; | ||
144 | au_writel(sys_clksrc, SYS_CLKSRC); | ||
145 | |||
146 | /* Get current values (which really should match above). | ||
147 | */ | ||
148 | sys_freqctrl = au_readl(SYS_FREQCTRL0); | ||
149 | sys_freqctrl &= ~0x000ffc00; | ||
150 | |||
151 | sys_clksrc = au_readl(SYS_CLKSRC); | ||
152 | sys_clksrc &= ~0x000f8000; | ||
153 | |||
154 | /* FREQ1 = cpu/12 = 32 MHz | ||
155 | */ | ||
156 | sys_freqctrl |= ((5<<12) | (1<<11) | (0<<10)); | ||
157 | au_writel(sys_freqctrl, SYS_FREQCTRL0); | ||
158 | |||
159 | /* Just connect the clock without further dividing. | ||
160 | */ | ||
161 | sys_clksrc |= ((3<<17) | (0<<16) | (0<<15)); | ||
162 | au_writel(sys_clksrc, SYS_CLKSRC); | ||
163 | |||
164 | udelay(1); | ||
165 | |||
166 | /* Now that clocks should be running, take PCI out of reset. | ||
167 | */ | ||
168 | pin_val = au_readl(GPIO2_OUTPUT); | ||
169 | pin_val |= ((1 << 16) | 1); | ||
170 | au_writel(pin_val, GPIO2_OUTPUT); | ||
171 | |||
172 | // Setup PCI bus controller | ||
173 | au_writel(0, Au1500_PCI_CMEM); | ||
174 | au_writel(0x00003fff, Au1500_CFG_BASE); | ||
175 | |||
176 | /* We run big endian without any of the software byte swapping, | ||
177 | * so configure the PCI bridge to help us out. | ||
178 | */ | ||
179 | au_writel(0xf | (2<<6) | (1<<5) | (1<<4), Au1500_PCI_CFG); | ||
180 | |||
181 | au_writel(0xf0000000, Au1500_PCI_MWMASK_DEV); | ||
182 | au_writel(0, Au1500_PCI_MWBASE_REV_CCL); | ||
183 | au_writel(0x02a00356, Au1500_PCI_STATCMD); | ||
184 | au_writel(0x00003c04, Au1500_PCI_HDRTYPE); | ||
185 | au_writel(0x00000008, Au1500_PCI_MBAR); | ||
186 | au_sync(); | ||
187 | |||
188 | board_pci_idsel = csb250_pci_idsel; | ||
189 | #endif | ||
190 | |||
191 | /* Enable sys bus clock divider when IDLE state or no bus activity. */ | ||
192 | au_writel(au_readl(SYS_POWERCTRL) | (0x3 << 5), SYS_POWERCTRL); | ||
193 | |||
194 | #ifdef CONFIG_RTC | ||
195 | // Enable the RTC if not already enabled | ||
196 | if (!(au_readl(0xac000028) & 0x20)) { | ||
197 | printk("enabling clock ...\n"); | ||
198 | au_writel((au_readl(0xac000028) | 0x20), 0xac000028); | ||
199 | } | ||
200 | // Put the clock in BCD mode | ||
201 | if (readl(0xac00002C) & 0x4) { /* reg B */ | ||
202 | au_writel(au_readl(0xac00002c) & ~0x4, 0xac00002c); | ||
203 | au_sync(); | ||
204 | } | ||
205 | #endif | ||
206 | } | ||
207 | |||
208 | /* The IDSEL is selected in the GPIO2 register. We will make device | ||
209 | * 12 appear in slot 0 and device 13 appear in slot 1. | ||
210 | */ | ||
211 | int | ||
212 | csb250_pci_idsel(unsigned int devsel, int assert) | ||
213 | { | ||
214 | int retval; | ||
215 | unsigned int gpio2_pins; | ||
216 | |||
217 | retval = 1; | ||
218 | |||
219 | /* First, disable both selects, then assert the one requested. | ||
220 | */ | ||
221 | au_writel(0xc000c000, GPIO2_OUTPUT); | ||
222 | au_sync(); | ||
223 | |||
224 | if (assert) { | ||
225 | if (devsel == 12) | ||
226 | gpio2_pins = 0x40000000; | ||
227 | else if (devsel == 13) | ||
228 | gpio2_pins = 0x80000000; | ||
229 | else { | ||
230 | gpio2_pins = 0xc000c000; | ||
231 | retval = 0; | ||
232 | } | ||
233 | au_writel(gpio2_pins, GPIO2_OUTPUT); | ||
234 | } | ||
235 | au_sync(); | ||
236 | |||
237 | return retval; | ||
238 | } | ||
diff --git a/arch/mips/au1000/csb250/init.c b/arch/mips/au1000/csb250/init.c deleted file mode 100644 index 83f1b31a0b8e..000000000000 --- a/arch/mips/au1000/csb250/init.c +++ /dev/null | |||
@@ -1,94 +0,0 @@ | |||
1 | /* | ||
2 | * | ||
3 | * BRIEF MODULE DESCRIPTION | ||
4 | * Cogent CSB250 board setup | ||
5 | * | ||
6 | * Copyright 2002 Cogent Computer Systems, Inc. | ||
7 | * dan@embeddededge.com | ||
8 | * | ||
9 | * This program is free software; you can redistribute it and/or modify it | ||
10 | * under the terms of the GNU General Public License as published by the | ||
11 | * Free Software Foundation; either version 2 of the License, or (at your | ||
12 | * option) any later version. | ||
13 | * | ||
14 | * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED | ||
15 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | ||
16 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN | ||
17 | * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, | ||
18 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT | ||
19 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF | ||
20 | * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON | ||
21 | * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
22 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | ||
23 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
24 | * | ||
25 | * You should have received a copy of the GNU General Public License along | ||
26 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
27 | * 675 Mass Ave, Cambridge, MA 02139, USA. | ||
28 | */ | ||
29 | |||
30 | #include <linux/init.h> | ||
31 | #include <linux/mm.h> | ||
32 | #include <linux/sched.h> | ||
33 | #include <linux/bootmem.h> | ||
34 | #include <asm/addrspace.h> | ||
35 | #include <asm/bootinfo.h> | ||
36 | #include <linux/string.h> | ||
37 | #include <linux/kernel.h> | ||
38 | |||
39 | int prom_argc; | ||
40 | char **prom_argv, **prom_envp; | ||
41 | extern void __init prom_init_cmdline(void); | ||
42 | extern char *prom_getenv(char *envname); | ||
43 | |||
44 | /* When we get initrd working someday......... | ||
45 | */ | ||
46 | int my_initrd_start, my_initrd_size; | ||
47 | |||
48 | /* Start arguments and environment. | ||
49 | */ | ||
50 | static char *csb_env[2]; | ||
51 | static char *csb_arg[4]; | ||
52 | static char *arg1 = "console=ttyS3,38400"; | ||
53 | static char *arg2 = "root=/dev/nfs rw ip=any"; | ||
54 | static char *env1 = "ethaddr=00:30:23:50:00:00"; | ||
55 | |||
56 | const char *get_system_type(void) | ||
57 | { | ||
58 | return "Cogent CSB250"; | ||
59 | } | ||
60 | |||
61 | int __init prom_init(int argc, char **argv, char **envp, int *prom_vec) | ||
62 | { | ||
63 | unsigned char *memsize_str; | ||
64 | unsigned long memsize; | ||
65 | |||
66 | /* We use a0 and a1 to pass initrd start and size. | ||
67 | */ | ||
68 | if (((unsigned int) argc > 0) && ((uint)argv > 0)) { | ||
69 | my_initrd_start = (unsigned int)argc; | ||
70 | my_initrd_size = (unsigned int)argv; | ||
71 | } | ||
72 | |||
73 | /* First argv is ignored. | ||
74 | */ | ||
75 | prom_argc = 3; | ||
76 | prom_argv = csb_arg; | ||
77 | prom_envp = csb_env; | ||
78 | csb_arg[1] = arg1; | ||
79 | csb_arg[2] = arg2; | ||
80 | csb_env[0] = env1; | ||
81 | |||
82 | mips_machgroup = MACH_GROUP_ALCHEMY; | ||
83 | mips_machtype = MACH_CSB250; | ||
84 | |||
85 | prom_init_cmdline(); | ||
86 | memsize_str = prom_getenv("memsize"); | ||
87 | if (!memsize_str) { | ||
88 | memsize = 0x02000000; | ||
89 | } else { | ||
90 | memsize = simple_strtol(memsize_str, NULL, 0); | ||
91 | } | ||
92 | add_memory_region(0, memsize, BOOT_MEM_RAM); | ||
93 | return 0; | ||
94 | } | ||
diff --git a/arch/mips/au1000/csb250/irqmap.c b/arch/mips/au1000/csb250/irqmap.c deleted file mode 100644 index 57d60401905e..000000000000 --- a/arch/mips/au1000/csb250/irqmap.c +++ /dev/null | |||
@@ -1,60 +0,0 @@ | |||
1 | /* | ||
2 | * BRIEF MODULE DESCRIPTION | ||
3 | * Au1xxx irq map table | ||
4 | * | ||
5 | * Copyright 2003 Embedded Edge, LLC | ||
6 | * dan@embeddededge.com | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify it | ||
9 | * under the terms of the GNU General Public License as published by the | ||
10 | * Free Software Foundation; either version 2 of the License, or (at your | ||
11 | * option) any later version. | ||
12 | * | ||
13 | * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED | ||
14 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | ||
15 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN | ||
16 | * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, | ||
17 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT | ||
18 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF | ||
19 | * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON | ||
20 | * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
21 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | ||
22 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License along | ||
25 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
26 | * 675 Mass Ave, Cambridge, MA 02139, USA. | ||
27 | */ | ||
28 | #include <linux/errno.h> | ||
29 | #include <linux/init.h> | ||
30 | #include <linux/irq.h> | ||
31 | #include <linux/kernel_stat.h> | ||
32 | #include <linux/module.h> | ||
33 | #include <linux/signal.h> | ||
34 | #include <linux/sched.h> | ||
35 | #include <linux/types.h> | ||
36 | #include <linux/interrupt.h> | ||
37 | #include <linux/ioport.h> | ||
38 | #include <linux/timex.h> | ||
39 | #include <linux/slab.h> | ||
40 | #include <linux/random.h> | ||
41 | #include <linux/delay.h> | ||
42 | #include <linux/bitops.h> | ||
43 | |||
44 | #include <asm/bootinfo.h> | ||
45 | #include <asm/io.h> | ||
46 | #include <asm/mipsregs.h> | ||
47 | #include <asm/system.h> | ||
48 | #include <asm/au1000.h> | ||
49 | |||
50 | au1xxx_irq_map_t __initdata au1xxx_irq_map[] = { | ||
51 | |||
52 | { AU1500_GPIO_204, INTC_INT_HIGH_LEVEL, 0}, | ||
53 | { AU1500_GPIO_201, INTC_INT_LOW_LEVEL, 0 }, | ||
54 | { AU1500_GPIO_202, INTC_INT_LOW_LEVEL, 0 }, | ||
55 | { AU1500_GPIO_203, INTC_INT_LOW_LEVEL, 0 }, | ||
56 | { AU1500_GPIO_205, INTC_INT_LOW_LEVEL, 0 }, | ||
57 | { AU1500_GPIO_207, INTC_INT_LOW_LEVEL, 0 }, | ||
58 | }; | ||
59 | |||
60 | int __initdata au1xxx_nr_irqs = ARRAY_SIZE(au1xxx_irq_map); | ||
diff --git a/arch/mips/au1000/hydrogen3/Makefile b/arch/mips/au1000/hydrogen3/Makefile deleted file mode 100644 index 974f79256bb3..000000000000 --- a/arch/mips/au1000/hydrogen3/Makefile +++ /dev/null | |||
@@ -1,9 +0,0 @@ | |||
1 | # | ||
2 | # Copyright 2000 MontaVista Software Inc. | ||
3 | # Author: MontaVista Software, Inc. | ||
4 | # ppopov@mvista.com or source@mvista.com | ||
5 | # | ||
6 | # Makefile for the Alchemy Semiconductor PB1000 board. | ||
7 | # | ||
8 | |||
9 | obj-y := init.o board_setup.o irqmap.o | ||
diff --git a/arch/mips/au1000/hydrogen3/board_setup.c b/arch/mips/au1000/hydrogen3/board_setup.c deleted file mode 100644 index d081640e2e00..000000000000 --- a/arch/mips/au1000/hydrogen3/board_setup.c +++ /dev/null | |||
@@ -1,69 +0,0 @@ | |||
1 | /* | ||
2 | * | ||
3 | * BRIEF MODULE DESCRIPTION | ||
4 | * Alchemy Db1x00 board setup. | ||
5 | * | ||
6 | * Copyright 2000 MontaVista Software Inc. | ||
7 | * Author: MontaVista Software, Inc. | ||
8 | * ppopov@mvista.com or source@mvista.com | ||
9 | * | ||
10 | * This program is free software; you can redistribute it and/or modify it | ||
11 | * under the terms of the GNU General Public License as published by the | ||
12 | * Free Software Foundation; either version 2 of the License, or (at your | ||
13 | * option) any later version. | ||
14 | * | ||
15 | * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED | ||
16 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | ||
17 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN | ||
18 | * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, | ||
19 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT | ||
20 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF | ||
21 | * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON | ||
22 | * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
23 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | ||
24 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
25 | * | ||
26 | * You should have received a copy of the GNU General Public License along | ||
27 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
28 | * 675 Mass Ave, Cambridge, MA 02139, USA. | ||
29 | */ | ||
30 | #include <linux/init.h> | ||
31 | #include <linux/sched.h> | ||
32 | #include <linux/ioport.h> | ||
33 | #include <linux/mm.h> | ||
34 | #include <linux/console.h> | ||
35 | #include <linux/mc146818rtc.h> | ||
36 | #include <linux/delay.h> | ||
37 | |||
38 | #include <asm/cpu.h> | ||
39 | #include <asm/bootinfo.h> | ||
40 | #include <asm/irq.h> | ||
41 | #include <asm/keyboard.h> | ||
42 | #include <asm/mipsregs.h> | ||
43 | #include <asm/reboot.h> | ||
44 | #include <asm/pgtable.h> | ||
45 | #include <asm/au1000.h> | ||
46 | |||
47 | void board_reset (void) | ||
48 | { | ||
49 | } | ||
50 | |||
51 | void __init board_setup(void) | ||
52 | { | ||
53 | u32 pin_func; | ||
54 | |||
55 | #ifdef CONFIG_AU1X00_USB_DEVICE | ||
56 | // 2nd USB port is USB device | ||
57 | pin_func = au_readl(SYS_PINFUNC) & (u32)(~0x8000); | ||
58 | au_writel(pin_func, SYS_PINFUNC); | ||
59 | #endif | ||
60 | |||
61 | #if defined(CONFIG_IRDA) && (defined(CONFIG_SOC_AU1000) || defined(CONFIG_SOC_AU1100)) | ||
62 | /* set IRFIRSEL instead of GPIO15 */ | ||
63 | pin_func = au_readl(SYS_PINFUNC) | (u32)((1<<8)); | ||
64 | au_writel(pin_func, SYS_PINFUNC); | ||
65 | au_sync(); | ||
66 | #endif | ||
67 | |||
68 | printk("AMD Alchemy Hydrogen3 Board\n"); | ||
69 | } | ||
diff --git a/arch/mips/au1000/hydrogen3/init.c b/arch/mips/au1000/hydrogen3/init.c deleted file mode 100644 index 8f02bb80a55a..000000000000 --- a/arch/mips/au1000/hydrogen3/init.c +++ /dev/null | |||
@@ -1,75 +0,0 @@ | |||
1 | /* | ||
2 | * | ||
3 | * BRIEF MODULE DESCRIPTION | ||
4 | * PB1000 board setup | ||
5 | * | ||
6 | * Copyright 2001 MontaVista Software Inc. | ||
7 | * Author: MontaVista Software, Inc. | ||
8 | * ppopov@mvista.com or source@mvista.com | ||
9 | * | ||
10 | * This program is free software; you can redistribute it and/or modify it | ||
11 | * under the terms of the GNU General Public License as published by the | ||
12 | * Free Software Foundation; either version 2 of the License, or (at your | ||
13 | * option) any later version. | ||
14 | * | ||
15 | * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED | ||
16 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | ||
17 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN | ||
18 | * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, | ||
19 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT | ||
20 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF | ||
21 | * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON | ||
22 | * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
23 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | ||
24 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
25 | * | ||
26 | * You should have received a copy of the GNU General Public License along | ||
27 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
28 | * 675 Mass Ave, Cambridge, MA 02139, USA. | ||
29 | */ | ||
30 | |||
31 | #include <linux/init.h> | ||
32 | #include <linux/mm.h> | ||
33 | #include <linux/sched.h> | ||
34 | #include <linux/bootmem.h> | ||
35 | #include <asm/addrspace.h> | ||
36 | #include <asm/bootinfo.h> | ||
37 | #include <linux/string.h> | ||
38 | #include <linux/kernel.h> | ||
39 | |||
40 | int prom_argc; | ||
41 | char **prom_argv, **prom_envp; | ||
42 | extern void __init prom_init_cmdline(void); | ||
43 | extern char *prom_getenv(char *envname); | ||
44 | |||
45 | const char *get_system_type(void) | ||
46 | { | ||
47 | #ifdef CONFIG_MIPS_BOSPORUS | ||
48 | return "Alchemy Bosporus Gateway Reference"; | ||
49 | #else | ||
50 | return "Alchemy Db1x00"; | ||
51 | #endif | ||
52 | } | ||
53 | |||
54 | int __init prom_init(int argc, char **argv, char **envp, int *prom_vec) | ||
55 | { | ||
56 | unsigned char *memsize_str; | ||
57 | unsigned long memsize; | ||
58 | |||
59 | prom_argc = argc; | ||
60 | prom_argv = argv; | ||
61 | prom_envp = envp; | ||
62 | |||
63 | mips_machgroup = MACH_GROUP_ALCHEMY; | ||
64 | mips_machtype = MACH_DB1000; /* set the platform # */ | ||
65 | prom_init_cmdline(); | ||
66 | |||
67 | memsize_str = prom_getenv("memsize"); | ||
68 | if (!memsize_str) { | ||
69 | memsize = 0x04000000; | ||
70 | } else { | ||
71 | memsize = simple_strtol(memsize_str, NULL, 0); | ||
72 | } | ||
73 | add_memory_region(0, memsize, BOOT_MEM_RAM); | ||
74 | return 0; | ||
75 | } | ||
diff --git a/arch/mips/au1000/hydrogen3/irqmap.c b/arch/mips/au1000/hydrogen3/irqmap.c deleted file mode 100644 index 14e1ed37cf6b..000000000000 --- a/arch/mips/au1000/hydrogen3/irqmap.c +++ /dev/null | |||
@@ -1,56 +0,0 @@ | |||
1 | /* | ||
2 | * BRIEF MODULE DESCRIPTION | ||
3 | * Au1xxx irq map table | ||
4 | * | ||
5 | * Copyright 2003 Embedded Edge, LLC | ||
6 | * dan@embeddededge.com | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify it | ||
9 | * under the terms of the GNU General Public License as published by the | ||
10 | * Free Software Foundation; either version 2 of the License, or (at your | ||
11 | * option) any later version. | ||
12 | * | ||
13 | * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED | ||
14 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | ||
15 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN | ||
16 | * NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, | ||
17 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT | ||
18 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF | ||
19 | * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON | ||
20 | * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
21 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | ||
22 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
23 | * | ||
24 | * You should have received a copy of the GNU General Public License along | ||
25 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
26 | * 675 Mass Ave, Cambridge, MA 02139, USA. | ||
27 | */ | ||
28 | #include <linux/errno.h> | ||
29 | #include <linux/init.h> | ||
30 | #include <linux/irq.h> | ||
31 | #include <linux/kernel_stat.h> | ||
32 | #include <linux/module.h> | ||
33 | #include <linux/signal.h> | ||
34 | #include <linux/sched.h> | ||
35 | #include <linux/types.h> | ||
36 | #include <linux/interrupt.h> | ||
37 | #include <linux/ioport.h> | ||
38 | #include <linux/timex.h> | ||
39 | #include <linux/slab.h> | ||
40 | #include <linux/random.h> | ||
41 | #include <linux/delay.h> | ||
42 | #include <linux/bitops.h> | ||
43 | |||
44 | #include <asm/bootinfo.h> | ||
45 | #include <asm/io.h> | ||
46 | #include <asm/mipsregs.h> | ||
47 | #include <asm/system.h> | ||
48 | #include <asm/au1000.h> | ||
49 | |||
50 | au1xxx_irq_map_t __initdata au1xxx_irq_map[] = { | ||
51 | |||
52 | /* { AU1500_GPIO_205, INTC_INT_LOW_LEVEL, 0 }, */ | ||
53 | { AU1000_GPIO_21, INTC_INT_LOW_LEVEL, 0 }, | ||
54 | }; | ||
55 | |||
56 | int __initdata au1xxx_nr_irqs = ARRAY_SIZE(au1xxx_irq_map); | ||
diff --git a/arch/mips/au1000/pb1200/irqmap.c b/arch/mips/au1000/pb1200/irqmap.c index 2d49f32f4622..f66779f0d4cd 100644 --- a/arch/mips/au1000/pb1200/irqmap.c +++ b/arch/mips/au1000/pb1200/irqmap.c | |||
@@ -148,7 +148,7 @@ static void pb1200_end_irq(unsigned int irq_nr) | |||
148 | } | 148 | } |
149 | } | 149 | } |
150 | 150 | ||
151 | static struct hw_interrupt_type external_irq_type = | 151 | static struct irq_chip external_irq_type = |
152 | { | 152 | { |
153 | #ifdef CONFIG_MIPS_PB1200 | 153 | #ifdef CONFIG_MIPS_PB1200 |
154 | "Pb1200 Ext", | 154 | "Pb1200 Ext", |
diff --git a/arch/mips/basler/excite/excite_dbg_io.c b/arch/mips/basler/excite/excite_dbg_io.c index 83f6bddf578b..c04505afa47f 100644 --- a/arch/mips/basler/excite/excite_dbg_io.c +++ b/arch/mips/basler/excite/excite_dbg_io.c | |||
@@ -17,7 +17,6 @@ | |||
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
18 | */ | 18 | */ |
19 | 19 | ||
20 | #include <linux/config.h> | ||
21 | #include <linux/linkage.h> | 20 | #include <linux/linkage.h> |
22 | #include <linux/init.h> | 21 | #include <linux/init.h> |
23 | #include <linux/kernel.h> | 22 | #include <linux/kernel.h> |
diff --git a/arch/mips/basler/excite/excite_device.c b/arch/mips/basler/excite/excite_device.c index 34ec76716fa0..bbb4ea43da88 100644 --- a/arch/mips/basler/excite/excite_device.c +++ b/arch/mips/basler/excite/excite_device.c | |||
@@ -17,7 +17,6 @@ | |||
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
18 | */ | 18 | */ |
19 | 19 | ||
20 | #include <linux/config.h> | ||
21 | #include <linux/kernel.h> | 20 | #include <linux/kernel.h> |
22 | #include <linux/init.h> | 21 | #include <linux/init.h> |
23 | #include <linux/platform_device.h> | 22 | #include <linux/platform_device.h> |
diff --git a/arch/mips/basler/excite/excite_iodev.c b/arch/mips/basler/excite/excite_iodev.c index b288151b532e..10bbb8cfb964 100644 --- a/arch/mips/basler/excite/excite_iodev.c +++ b/arch/mips/basler/excite/excite_iodev.c | |||
@@ -17,7 +17,6 @@ | |||
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
18 | */ | 18 | */ |
19 | 19 | ||
20 | #include <linux/config.h> | ||
21 | #include <linux/compiler.h> | 20 | #include <linux/compiler.h> |
22 | #include <linux/init.h> | 21 | #include <linux/init.h> |
23 | #include <linux/module.h> | 22 | #include <linux/module.h> |
diff --git a/arch/mips/basler/excite/excite_procfs.c b/arch/mips/basler/excite/excite_procfs.c index c62be0341fb8..9ee67a95f6b9 100644 --- a/arch/mips/basler/excite/excite_procfs.c +++ b/arch/mips/basler/excite/excite_procfs.c | |||
@@ -19,7 +19,6 @@ | |||
19 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 19 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
20 | */ | 20 | */ |
21 | 21 | ||
22 | #include <linux/config.h> | ||
23 | #include <linux/proc_fs.h> | 22 | #include <linux/proc_fs.h> |
24 | #include <linux/stat.h> | 23 | #include <linux/stat.h> |
25 | #include <asm/page.h> | 24 | #include <asm/page.h> |
diff --git a/arch/mips/basler/excite/excite_prom.c b/arch/mips/basler/excite/excite_prom.c index 84724b270753..6ecd512b999d 100644 --- a/arch/mips/basler/excite/excite_prom.c +++ b/arch/mips/basler/excite/excite_prom.c | |||
@@ -18,7 +18,6 @@ | |||
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
19 | */ | 19 | */ |
20 | 20 | ||
21 | #include <linux/config.h> | ||
22 | #include <linux/init.h> | 21 | #include <linux/init.h> |
23 | #include <linux/sched.h> | 22 | #include <linux/sched.h> |
24 | #include <linux/mm.h> | 23 | #include <linux/mm.h> |
diff --git a/arch/mips/basler/excite/excite_setup.c b/arch/mips/basler/excite/excite_setup.c index 3d7670edd5cd..a1ce4580058d 100644 --- a/arch/mips/basler/excite/excite_setup.c +++ b/arch/mips/basler/excite/excite_setup.c | |||
@@ -19,7 +19,6 @@ | |||
19 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 19 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
20 | */ | 20 | */ |
21 | 21 | ||
22 | #include <linux/config.h> | ||
23 | #include <linux/types.h> | 22 | #include <linux/types.h> |
24 | #include <linux/kernel.h> | 23 | #include <linux/kernel.h> |
25 | #include <linux/module.h> | 24 | #include <linux/module.h> |
@@ -79,7 +78,7 @@ static void excite_timer_init(void) | |||
79 | mips_hpt_frequency = EXCITE_CPU_EXT_CLOCK * mult / div / 2; | 78 | mips_hpt_frequency = EXCITE_CPU_EXT_CLOCK * mult / div / 2; |
80 | } | 79 | } |
81 | 80 | ||
82 | static void excite_timer_setup(struct irqaction *irq) | 81 | void __init plat_timer_setup(struct irqaction *irq) |
83 | { | 82 | { |
84 | /* The eXcite platform uses the alternate timer interrupt */ | 83 | /* The eXcite platform uses the alternate timer interrupt */ |
85 | set_c0_intcontrol(0x80); | 84 | set_c0_intcontrol(0x80); |
@@ -263,7 +262,6 @@ void __init plat_mem_setup(void) | |||
263 | 262 | ||
264 | /* Set up timer initialization hooks */ | 263 | /* Set up timer initialization hooks */ |
265 | board_time_init = excite_timer_init; | 264 | board_time_init = excite_timer_init; |
266 | board_timer_setup = excite_timer_setup; | ||
267 | 265 | ||
268 | /* Set up the peripheral address map */ | 266 | /* Set up the peripheral address map */ |
269 | *(boot_ocd_base + (LKB9 / sizeof (u32))) = 0; | 267 | *(boot_ocd_base + (LKB9 / sizeof (u32))) = 0; |
diff --git a/arch/mips/cobalt/setup.c b/arch/mips/cobalt/setup.c index c99714587ce8..c01a0170e590 100644 --- a/arch/mips/cobalt/setup.c +++ b/arch/mips/cobalt/setup.c | |||
@@ -49,7 +49,7 @@ const char *get_system_type(void) | |||
49 | return "MIPS Cobalt"; | 49 | return "MIPS Cobalt"; |
50 | } | 50 | } |
51 | 51 | ||
52 | static void __init cobalt_timer_setup(struct irqaction *irq) | 52 | void __init plat_timer_setup(struct irqaction *irq) |
53 | { | 53 | { |
54 | /* Load timer value for 1KHz (TCLK is 50MHz) */ | 54 | /* Load timer value for 1KHz (TCLK is 50MHz) */ |
55 | GALILEO_OUTL(50*1000*1000 / 1000, GT_TC0_OFS); | 55 | GALILEO_OUTL(50*1000*1000 / 1000, GT_TC0_OFS); |
@@ -129,8 +129,6 @@ void __init plat_mem_setup(void) | |||
129 | _machine_halt = cobalt_machine_halt; | 129 | _machine_halt = cobalt_machine_halt; |
130 | pm_power_off = cobalt_machine_power_off; | 130 | pm_power_off = cobalt_machine_power_off; |
131 | 131 | ||
132 | board_timer_setup = cobalt_timer_setup; | ||
133 | |||
134 | set_io_port_base(CKSEG1ADDR(GT64111_IO_BASE)); | 132 | set_io_port_base(CKSEG1ADDR(GT64111_IO_BASE)); |
135 | 133 | ||
136 | /* I/O port resource must include UART and LCD/buttons */ | 134 | /* I/O port resource must include UART and LCD/buttons */ |
diff --git a/arch/mips/configs/atlas_defconfig b/arch/mips/configs/atlas_defconfig index 0cc1b3c51959..54274065e9a5 100644 --- a/arch/mips/configs/atlas_defconfig +++ b/arch/mips/configs/atlas_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17-rc2 | 3 | # Linux kernel version: 2.6.18-rc1 |
4 | # Mon Apr 24 14:50:55 2006 | 4 | # Thu Jul 6 09:59:39 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -21,6 +21,7 @@ CONFIG_MIPS=y | |||
21 | # CONFIG_MIPS_DB1550 is not set | 21 | # CONFIG_MIPS_DB1550 is not set |
22 | # CONFIG_MIPS_DB1200 is not set | 22 | # CONFIG_MIPS_DB1200 is not set |
23 | # CONFIG_MIPS_MIRAGE is not set | 23 | # CONFIG_MIPS_MIRAGE is not set |
24 | # CONFIG_BASLER_EXCITE is not set | ||
24 | # CONFIG_MIPS_COBALT is not set | 25 | # CONFIG_MIPS_COBALT is not set |
25 | # CONFIG_MACH_DECSTATION is not set | 26 | # CONFIG_MACH_DECSTATION is not set |
26 | # CONFIG_MIPS_EV64120 is not set | 27 | # CONFIG_MIPS_EV64120 is not set |
@@ -32,6 +33,7 @@ CONFIG_MIPS=y | |||
32 | CONFIG_MIPS_ATLAS=y | 33 | CONFIG_MIPS_ATLAS=y |
33 | # CONFIG_MIPS_MALTA is not set | 34 | # CONFIG_MIPS_MALTA is not set |
34 | # CONFIG_MIPS_SEAD is not set | 35 | # CONFIG_MIPS_SEAD is not set |
36 | # CONFIG_WR_PPMC is not set | ||
35 | # CONFIG_MIPS_SIM is not set | 37 | # CONFIG_MIPS_SIM is not set |
36 | # CONFIG_MOMENCO_JAGUAR_ATX is not set | 38 | # CONFIG_MOMENCO_JAGUAR_ATX is not set |
37 | # CONFIG_MOMENCO_OCELOT is not set | 39 | # CONFIG_MOMENCO_OCELOT is not set |
@@ -45,6 +47,7 @@ CONFIG_MIPS_ATLAS=y | |||
45 | # CONFIG_MACH_VR41XX is not set | 47 | # CONFIG_MACH_VR41XX is not set |
46 | # CONFIG_PMC_YOSEMITE is not set | 48 | # CONFIG_PMC_YOSEMITE is not set |
47 | # CONFIG_QEMU is not set | 49 | # CONFIG_QEMU is not set |
50 | # CONFIG_MARKEINS is not set | ||
48 | # CONFIG_SGI_IP22 is not set | 51 | # CONFIG_SGI_IP22 is not set |
49 | # CONFIG_SGI_IP27 is not set | 52 | # CONFIG_SGI_IP27 is not set |
50 | # CONFIG_SGI_IP32 is not set | 53 | # CONFIG_SGI_IP32 is not set |
@@ -65,6 +68,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y | |||
65 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 68 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
66 | CONFIG_GENERIC_HWEIGHT=y | 69 | CONFIG_GENERIC_HWEIGHT=y |
67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 70 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
71 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
68 | CONFIG_DMA_NONCOHERENT=y | 72 | CONFIG_DMA_NONCOHERENT=y |
69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 73 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
70 | CONFIG_MIPS_BONITO64=y | 74 | CONFIG_MIPS_BONITO64=y |
@@ -125,7 +129,11 @@ CONFIG_PAGE_SIZE_4KB=y | |||
125 | CONFIG_BOARD_SCACHE=y | 129 | CONFIG_BOARD_SCACHE=y |
126 | CONFIG_RM7000_CPU_SCACHE=y | 130 | CONFIG_RM7000_CPU_SCACHE=y |
127 | CONFIG_CPU_HAS_PREFETCH=y | 131 | CONFIG_CPU_HAS_PREFETCH=y |
128 | # CONFIG_MIPS_MT is not set | 132 | CONFIG_MIPS_MT_DISABLED=y |
133 | # CONFIG_MIPS_MT_SMTC is not set | ||
134 | # CONFIG_MIPS_MT_SMP is not set | ||
135 | # CONFIG_MIPS_VPE_LOADER is not set | ||
136 | CONFIG_SYS_SUPPORTS_MULTITHREADING=y | ||
129 | # CONFIG_64BIT_PHYS_ADDR is not set | 137 | # CONFIG_64BIT_PHYS_ADDR is not set |
130 | CONFIG_CPU_HAS_LLSC=y | 138 | CONFIG_CPU_HAS_LLSC=y |
131 | CONFIG_CPU_HAS_SYNC=y | 139 | CONFIG_CPU_HAS_SYNC=y |
@@ -141,6 +149,7 @@ CONFIG_FLATMEM=y | |||
141 | CONFIG_FLAT_NODE_MEM_MAP=y | 149 | CONFIG_FLAT_NODE_MEM_MAP=y |
142 | # CONFIG_SPARSEMEM_STATIC is not set | 150 | # CONFIG_SPARSEMEM_STATIC is not set |
143 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 151 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
152 | # CONFIG_RESOURCES_64BIT is not set | ||
144 | # CONFIG_HZ_48 is not set | 153 | # CONFIG_HZ_48 is not set |
145 | CONFIG_HZ_100=y | 154 | CONFIG_HZ_100=y |
146 | # CONFIG_HZ_128 is not set | 155 | # CONFIG_HZ_128 is not set |
@@ -153,6 +162,7 @@ CONFIG_HZ=100 | |||
153 | CONFIG_PREEMPT_NONE=y | 162 | CONFIG_PREEMPT_NONE=y |
154 | # CONFIG_PREEMPT_VOLUNTARY is not set | 163 | # CONFIG_PREEMPT_VOLUNTARY is not set |
155 | # CONFIG_PREEMPT is not set | 164 | # CONFIG_PREEMPT is not set |
165 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
156 | 166 | ||
157 | # | 167 | # |
158 | # Code maturity level options | 168 | # Code maturity level options |
@@ -184,10 +194,12 @@ CONFIG_PRINTK=y | |||
184 | CONFIG_BUG=y | 194 | CONFIG_BUG=y |
185 | CONFIG_ELF_CORE=y | 195 | CONFIG_ELF_CORE=y |
186 | CONFIG_BASE_FULL=y | 196 | CONFIG_BASE_FULL=y |
197 | CONFIG_RT_MUTEXES=y | ||
187 | CONFIG_FUTEX=y | 198 | CONFIG_FUTEX=y |
188 | CONFIG_EPOLL=y | 199 | CONFIG_EPOLL=y |
189 | CONFIG_SHMEM=y | 200 | CONFIG_SHMEM=y |
190 | CONFIG_SLAB=y | 201 | CONFIG_SLAB=y |
202 | CONFIG_VM_EVENT_COUNTERS=y | ||
191 | # CONFIG_TINY_SHMEM is not set | 203 | # CONFIG_TINY_SHMEM is not set |
192 | CONFIG_BASE_SMALL=0 | 204 | CONFIG_BASE_SMALL=0 |
193 | # CONFIG_SLOB is not set | 205 | # CONFIG_SLOB is not set |
@@ -289,6 +301,8 @@ CONFIG_INET_ESP=m | |||
289 | CONFIG_INET_IPCOMP=m | 301 | CONFIG_INET_IPCOMP=m |
290 | CONFIG_INET_XFRM_TUNNEL=m | 302 | CONFIG_INET_XFRM_TUNNEL=m |
291 | CONFIG_INET_TUNNEL=m | 303 | CONFIG_INET_TUNNEL=m |
304 | CONFIG_INET_XFRM_MODE_TRANSPORT=m | ||
305 | CONFIG_INET_XFRM_MODE_TUNNEL=m | ||
292 | CONFIG_INET_DIAG=y | 306 | CONFIG_INET_DIAG=y |
293 | CONFIG_INET_TCP_DIAG=y | 307 | CONFIG_INET_TCP_DIAG=y |
294 | # CONFIG_TCP_CONG_ADVANCED is not set | 308 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -336,7 +350,10 @@ CONFIG_INET6_ESP=m | |||
336 | CONFIG_INET6_IPCOMP=m | 350 | CONFIG_INET6_IPCOMP=m |
337 | CONFIG_INET6_XFRM_TUNNEL=m | 351 | CONFIG_INET6_XFRM_TUNNEL=m |
338 | CONFIG_INET6_TUNNEL=m | 352 | CONFIG_INET6_TUNNEL=m |
353 | CONFIG_INET6_XFRM_MODE_TRANSPORT=m | ||
354 | CONFIG_INET6_XFRM_MODE_TUNNEL=m | ||
339 | CONFIG_IPV6_TUNNEL=m | 355 | CONFIG_IPV6_TUNNEL=m |
356 | CONFIG_NETWORK_SECMARK=y | ||
340 | CONFIG_NETFILTER=y | 357 | CONFIG_NETFILTER=y |
341 | # CONFIG_NETFILTER_DEBUG is not set | 358 | # CONFIG_NETFILTER_DEBUG is not set |
342 | CONFIG_BRIDGE_NETFILTER=y | 359 | CONFIG_BRIDGE_NETFILTER=y |
@@ -353,6 +370,8 @@ CONFIG_NETFILTER_XT_TARGET_CONNMARK=m | |||
353 | CONFIG_NETFILTER_XT_TARGET_MARK=m | 370 | CONFIG_NETFILTER_XT_TARGET_MARK=m |
354 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | 371 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m |
355 | CONFIG_NETFILTER_XT_TARGET_NOTRACK=m | 372 | CONFIG_NETFILTER_XT_TARGET_NOTRACK=m |
373 | CONFIG_NETFILTER_XT_TARGET_SECMARK=m | ||
374 | CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m | ||
356 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | 375 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m |
357 | CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m | 376 | CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m |
358 | CONFIG_NETFILTER_XT_MATCH_CONNMARK=m | 377 | CONFIG_NETFILTER_XT_MATCH_CONNMARK=m |
@@ -368,9 +387,11 @@ CONFIG_NETFILTER_XT_MATCH_POLICY=m | |||
368 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m | 387 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m |
369 | CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m | 388 | CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m |
370 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 389 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m |
390 | CONFIG_NETFILTER_XT_MATCH_QUOTA=m | ||
371 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 391 | CONFIG_NETFILTER_XT_MATCH_REALM=m |
372 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | 392 | CONFIG_NETFILTER_XT_MATCH_SCTP=m |
373 | CONFIG_NETFILTER_XT_MATCH_STATE=m | 393 | CONFIG_NETFILTER_XT_MATCH_STATE=m |
394 | CONFIG_NETFILTER_XT_MATCH_STATISTIC=m | ||
374 | CONFIG_NETFILTER_XT_MATCH_STRING=m | 395 | CONFIG_NETFILTER_XT_MATCH_STRING=m |
375 | CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | 396 | CONFIG_NETFILTER_XT_MATCH_TCPMSS=m |
376 | 397 | ||
@@ -380,6 +401,7 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | |||
380 | CONFIG_IP_NF_CONNTRACK=m | 401 | CONFIG_IP_NF_CONNTRACK=m |
381 | CONFIG_IP_NF_CT_ACCT=y | 402 | CONFIG_IP_NF_CT_ACCT=y |
382 | CONFIG_IP_NF_CONNTRACK_MARK=y | 403 | CONFIG_IP_NF_CONNTRACK_MARK=y |
404 | CONFIG_IP_NF_CONNTRACK_SECMARK=y | ||
383 | CONFIG_IP_NF_CONNTRACK_EVENTS=y | 405 | CONFIG_IP_NF_CONNTRACK_EVENTS=y |
384 | CONFIG_IP_NF_CONNTRACK_NETLINK=m | 406 | CONFIG_IP_NF_CONNTRACK_NETLINK=m |
385 | CONFIG_IP_NF_CT_PROTO_SCTP=m | 407 | CONFIG_IP_NF_CT_PROTO_SCTP=m |
@@ -390,6 +412,7 @@ CONFIG_IP_NF_TFTP=m | |||
390 | CONFIG_IP_NF_AMANDA=m | 412 | CONFIG_IP_NF_AMANDA=m |
391 | CONFIG_IP_NF_PPTP=m | 413 | CONFIG_IP_NF_PPTP=m |
392 | CONFIG_IP_NF_H323=m | 414 | CONFIG_IP_NF_H323=m |
415 | CONFIG_IP_NF_SIP=m | ||
393 | CONFIG_IP_NF_QUEUE=m | 416 | CONFIG_IP_NF_QUEUE=m |
394 | CONFIG_IP_NF_IPTABLES=m | 417 | CONFIG_IP_NF_IPTABLES=m |
395 | CONFIG_IP_NF_MATCH_IPRANGE=m | 418 | CONFIG_IP_NF_MATCH_IPRANGE=m |
@@ -420,6 +443,7 @@ CONFIG_IP_NF_NAT_TFTP=m | |||
420 | CONFIG_IP_NF_NAT_AMANDA=m | 443 | CONFIG_IP_NF_NAT_AMANDA=m |
421 | CONFIG_IP_NF_NAT_PPTP=m | 444 | CONFIG_IP_NF_NAT_PPTP=m |
422 | CONFIG_IP_NF_NAT_H323=m | 445 | CONFIG_IP_NF_NAT_H323=m |
446 | CONFIG_IP_NF_NAT_SIP=m | ||
423 | CONFIG_IP_NF_MANGLE=m | 447 | CONFIG_IP_NF_MANGLE=m |
424 | CONFIG_IP_NF_TARGET_TOS=m | 448 | CONFIG_IP_NF_TARGET_TOS=m |
425 | CONFIG_IP_NF_TARGET_ECN=m | 449 | CONFIG_IP_NF_TARGET_ECN=m |
@@ -581,6 +605,7 @@ CONFIG_WIRELESS_EXT=y | |||
581 | CONFIG_STANDALONE=y | 605 | CONFIG_STANDALONE=y |
582 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 606 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
583 | CONFIG_FW_LOADER=y | 607 | CONFIG_FW_LOADER=y |
608 | # CONFIG_SYS_HYPERVISOR is not set | ||
584 | 609 | ||
585 | # | 610 | # |
586 | # Connector - unified userspace <-> kernelspace linker | 611 | # Connector - unified userspace <-> kernelspace linker |
@@ -699,6 +724,7 @@ CONFIG_ISCSI_TCP=m | |||
699 | # CONFIG_MEGARAID_LEGACY is not set | 724 | # CONFIG_MEGARAID_LEGACY is not set |
700 | # CONFIG_MEGARAID_SAS is not set | 725 | # CONFIG_MEGARAID_SAS is not set |
701 | # CONFIG_SCSI_SATA is not set | 726 | # CONFIG_SCSI_SATA is not set |
727 | # CONFIG_SCSI_HPTIOP is not set | ||
702 | # CONFIG_SCSI_DMX3191D is not set | 728 | # CONFIG_SCSI_DMX3191D is not set |
703 | # CONFIG_SCSI_FUTURE_DOMAIN is not set | 729 | # CONFIG_SCSI_FUTURE_DOMAIN is not set |
704 | # CONFIG_SCSI_IPS is not set | 730 | # CONFIG_SCSI_IPS is not set |
@@ -727,9 +753,8 @@ CONFIG_MD_LINEAR=m | |||
727 | CONFIG_MD_RAID0=m | 753 | CONFIG_MD_RAID0=m |
728 | CONFIG_MD_RAID1=m | 754 | CONFIG_MD_RAID1=m |
729 | CONFIG_MD_RAID10=m | 755 | CONFIG_MD_RAID10=m |
730 | CONFIG_MD_RAID5=m | 756 | CONFIG_MD_RAID456=m |
731 | CONFIG_MD_RAID5_RESHAPE=y | 757 | CONFIG_MD_RAID5_RESHAPE=y |
732 | CONFIG_MD_RAID6=m | ||
733 | CONFIG_MD_MULTIPATH=m | 758 | CONFIG_MD_MULTIPATH=m |
734 | CONFIG_MD_FAULTY=m | 759 | CONFIG_MD_FAULTY=m |
735 | CONFIG_BLK_DEV_DM=m | 760 | CONFIG_BLK_DEV_DM=m |
@@ -785,6 +810,8 @@ CONFIG_DAVICOM_PHY=m | |||
785 | CONFIG_QSEMI_PHY=m | 810 | CONFIG_QSEMI_PHY=m |
786 | CONFIG_LXT_PHY=m | 811 | CONFIG_LXT_PHY=m |
787 | CONFIG_CICADA_PHY=m | 812 | CONFIG_CICADA_PHY=m |
813 | CONFIG_VITESSE_PHY=m | ||
814 | CONFIG_SMSC_PHY=m | ||
788 | 815 | ||
789 | # | 816 | # |
790 | # Ethernet (10 or 100Mbit) | 817 | # Ethernet (10 or 100Mbit) |
@@ -847,6 +874,7 @@ CONFIG_LAN_SAA9730=y | |||
847 | # CONFIG_CHELSIO_T1 is not set | 874 | # CONFIG_CHELSIO_T1 is not set |
848 | # CONFIG_IXGB is not set | 875 | # CONFIG_IXGB is not set |
849 | # CONFIG_S2IO is not set | 876 | # CONFIG_S2IO is not set |
877 | # CONFIG_MYRI10GE is not set | ||
850 | 878 | ||
851 | # | 879 | # |
852 | # Token Ring devices | 880 | # Token Ring devices |
@@ -928,6 +956,7 @@ CONFIG_SERIO_RAW=y | |||
928 | CONFIG_VT=y | 956 | CONFIG_VT=y |
929 | CONFIG_VT_CONSOLE=y | 957 | CONFIG_VT_CONSOLE=y |
930 | CONFIG_HW_CONSOLE=y | 958 | CONFIG_HW_CONSOLE=y |
959 | CONFIG_VT_HW_CONSOLE_BINDING=y | ||
931 | # CONFIG_SERIAL_NONSTANDARD is not set | 960 | # CONFIG_SERIAL_NONSTANDARD is not set |
932 | 961 | ||
933 | # | 962 | # |
@@ -959,6 +988,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
959 | # Watchdog Cards | 988 | # Watchdog Cards |
960 | # | 989 | # |
961 | # CONFIG_WATCHDOG is not set | 990 | # CONFIG_WATCHDOG is not set |
991 | # CONFIG_HW_RANDOM is not set | ||
962 | # CONFIG_RTC is not set | 992 | # CONFIG_RTC is not set |
963 | # CONFIG_GEN_RTC is not set | 993 | # CONFIG_GEN_RTC is not set |
964 | # CONFIG_DTLK is not set | 994 | # CONFIG_DTLK is not set |
@@ -1007,6 +1037,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
1007 | # Multimedia devices | 1037 | # Multimedia devices |
1008 | # | 1038 | # |
1009 | # CONFIG_VIDEO_DEV is not set | 1039 | # CONFIG_VIDEO_DEV is not set |
1040 | CONFIG_VIDEO_V4L2=y | ||
1010 | 1041 | ||
1011 | # | 1042 | # |
1012 | # Digital Video Broadcasting Devices | 1043 | # Digital Video Broadcasting Devices |
@@ -1016,6 +1047,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
1016 | # | 1047 | # |
1017 | # Graphics support | 1048 | # Graphics support |
1018 | # | 1049 | # |
1050 | # CONFIG_FIRMWARE_EDID is not set | ||
1019 | # CONFIG_FB is not set | 1051 | # CONFIG_FB is not set |
1020 | 1052 | ||
1021 | # | 1053 | # |
@@ -1079,6 +1111,19 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
1079 | # CONFIG_RTC_CLASS is not set | 1111 | # CONFIG_RTC_CLASS is not set |
1080 | 1112 | ||
1081 | # | 1113 | # |
1114 | # DMA Engine support | ||
1115 | # | ||
1116 | # CONFIG_DMA_ENGINE is not set | ||
1117 | |||
1118 | # | ||
1119 | # DMA Clients | ||
1120 | # | ||
1121 | |||
1122 | # | ||
1123 | # DMA Devices | ||
1124 | # | ||
1125 | |||
1126 | # | ||
1082 | # File systems | 1127 | # File systems |
1083 | # | 1128 | # |
1084 | CONFIG_EXT2_FS=y | 1129 | CONFIG_EXT2_FS=y |
@@ -1104,7 +1149,6 @@ CONFIG_JFS_SECURITY=y | |||
1104 | # CONFIG_JFS_STATISTICS is not set | 1149 | # CONFIG_JFS_STATISTICS is not set |
1105 | CONFIG_FS_POSIX_ACL=y | 1150 | CONFIG_FS_POSIX_ACL=y |
1106 | CONFIG_XFS_FS=m | 1151 | CONFIG_XFS_FS=m |
1107 | CONFIG_XFS_EXPORT=y | ||
1108 | CONFIG_XFS_QUOTA=y | 1152 | CONFIG_XFS_QUOTA=y |
1109 | CONFIG_XFS_SECURITY=y | 1153 | CONFIG_XFS_SECURITY=y |
1110 | CONFIG_XFS_POSIX_ACL=y | 1154 | CONFIG_XFS_POSIX_ACL=y |
@@ -1113,6 +1157,7 @@ CONFIG_XFS_POSIX_ACL=y | |||
1113 | CONFIG_MINIX_FS=m | 1157 | CONFIG_MINIX_FS=m |
1114 | CONFIG_ROMFS_FS=m | 1158 | CONFIG_ROMFS_FS=m |
1115 | CONFIG_INOTIFY=y | 1159 | CONFIG_INOTIFY=y |
1160 | CONFIG_INOTIFY_USER=y | ||
1116 | CONFIG_QUOTA=y | 1161 | CONFIG_QUOTA=y |
1117 | # CONFIG_QFMT_V1 is not set | 1162 | # CONFIG_QFMT_V1 is not set |
1118 | CONFIG_QFMT_V2=y | 1163 | CONFIG_QFMT_V2=y |
@@ -1170,6 +1215,8 @@ CONFIG_VXFS_FS=m | |||
1170 | # CONFIG_QNX4FS_FS is not set | 1215 | # CONFIG_QNX4FS_FS is not set |
1171 | CONFIG_SYSV_FS=m | 1216 | CONFIG_SYSV_FS=m |
1172 | CONFIG_UFS_FS=m | 1217 | CONFIG_UFS_FS=m |
1218 | # CONFIG_UFS_FS_WRITE is not set | ||
1219 | # CONFIG_UFS_DEBUG is not set | ||
1173 | 1220 | ||
1174 | # | 1221 | # |
1175 | # Network File Systems | 1222 | # Network File Systems |
@@ -1194,6 +1241,7 @@ CONFIG_SUNRPC=y | |||
1194 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1241 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1195 | # CONFIG_SMB_FS is not set | 1242 | # CONFIG_SMB_FS is not set |
1196 | # CONFIG_CIFS is not set | 1243 | # CONFIG_CIFS is not set |
1244 | # CONFIG_CIFS_DEBUG2 is not set | ||
1197 | # CONFIG_NCP_FS is not set | 1245 | # CONFIG_NCP_FS is not set |
1198 | # CONFIG_CODA_FS is not set | 1246 | # CONFIG_CODA_FS is not set |
1199 | # CONFIG_AFS_FS is not set | 1247 | # CONFIG_AFS_FS is not set |
@@ -1259,6 +1307,7 @@ CONFIG_NLS_UTF8=m | |||
1259 | # | 1307 | # |
1260 | # CONFIG_PRINTK_TIME is not set | 1308 | # CONFIG_PRINTK_TIME is not set |
1261 | # CONFIG_MAGIC_SYSRQ is not set | 1309 | # CONFIG_MAGIC_SYSRQ is not set |
1310 | # CONFIG_UNUSED_SYMBOLS is not set | ||
1262 | # CONFIG_DEBUG_KERNEL is not set | 1311 | # CONFIG_DEBUG_KERNEL is not set |
1263 | CONFIG_LOG_BUF_SHIFT=14 | 1312 | CONFIG_LOG_BUF_SHIFT=14 |
1264 | # CONFIG_DEBUG_FS is not set | 1313 | # CONFIG_DEBUG_FS is not set |
@@ -1317,3 +1366,10 @@ CONFIG_TEXTSEARCH=y | |||
1317 | CONFIG_TEXTSEARCH_KMP=m | 1366 | CONFIG_TEXTSEARCH_KMP=m |
1318 | CONFIG_TEXTSEARCH_BM=m | 1367 | CONFIG_TEXTSEARCH_BM=m |
1319 | CONFIG_TEXTSEARCH_FSM=m | 1368 | CONFIG_TEXTSEARCH_FSM=m |
1369 | CONFIG_PLIST=y | ||
1370 | CONFIG_RIO=n | ||
1371 | CONFIG_I2C_OCORES=n | ||
1372 | CONFIG_DEBUG_RT_MUTEXES=n | ||
1373 | CONFIG_RT_MUTEX_TESTER=n | ||
1374 | CONFIG_DEBUG_RWSEMS=n | ||
1375 | CONFIG_DEBUG_LOCKING_API_SELFTESTS=n | ||
diff --git a/arch/mips/configs/bigsur_defconfig b/arch/mips/configs/bigsur_defconfig index dabf90a94b21..887fd959482a 100644 --- a/arch/mips/configs/bigsur_defconfig +++ b/arch/mips/configs/bigsur_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17-rc2 | 3 | # Linux kernel version: 2.6.18-rc1 |
4 | # Mon Apr 24 14:50:55 2006 | 4 | # Thu Jul 6 10:02:58 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -21,6 +21,7 @@ CONFIG_MIPS=y | |||
21 | # CONFIG_MIPS_DB1550 is not set | 21 | # CONFIG_MIPS_DB1550 is not set |
22 | # CONFIG_MIPS_DB1200 is not set | 22 | # CONFIG_MIPS_DB1200 is not set |
23 | # CONFIG_MIPS_MIRAGE is not set | 23 | # CONFIG_MIPS_MIRAGE is not set |
24 | # CONFIG_BASLER_EXCITE is not set | ||
24 | # CONFIG_MIPS_COBALT is not set | 25 | # CONFIG_MIPS_COBALT is not set |
25 | # CONFIG_MACH_DECSTATION is not set | 26 | # CONFIG_MACH_DECSTATION is not set |
26 | # CONFIG_MIPS_EV64120 is not set | 27 | # CONFIG_MIPS_EV64120 is not set |
@@ -32,6 +33,7 @@ CONFIG_MIPS=y | |||
32 | # CONFIG_MIPS_ATLAS is not set | 33 | # CONFIG_MIPS_ATLAS is not set |
33 | # CONFIG_MIPS_MALTA is not set | 34 | # CONFIG_MIPS_MALTA is not set |
34 | # CONFIG_MIPS_SEAD is not set | 35 | # CONFIG_MIPS_SEAD is not set |
36 | # CONFIG_WR_PPMC is not set | ||
35 | # CONFIG_MIPS_SIM is not set | 37 | # CONFIG_MIPS_SIM is not set |
36 | # CONFIG_MOMENCO_JAGUAR_ATX is not set | 38 | # CONFIG_MOMENCO_JAGUAR_ATX is not set |
37 | # CONFIG_MOMENCO_OCELOT is not set | 39 | # CONFIG_MOMENCO_OCELOT is not set |
@@ -45,6 +47,7 @@ CONFIG_MIPS=y | |||
45 | # CONFIG_MACH_VR41XX is not set | 47 | # CONFIG_MACH_VR41XX is not set |
46 | # CONFIG_PMC_YOSEMITE is not set | 48 | # CONFIG_PMC_YOSEMITE is not set |
47 | # CONFIG_QEMU is not set | 49 | # CONFIG_QEMU is not set |
50 | # CONFIG_MARKEINS is not set | ||
48 | # CONFIG_SGI_IP22 is not set | 51 | # CONFIG_SGI_IP22 is not set |
49 | # CONFIG_SGI_IP27 is not set | 52 | # CONFIG_SGI_IP27 is not set |
50 | # CONFIG_SGI_IP32 is not set | 53 | # CONFIG_SGI_IP32 is not set |
@@ -81,6 +84,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y | |||
81 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 84 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
82 | CONFIG_GENERIC_HWEIGHT=y | 85 | CONFIG_GENERIC_HWEIGHT=y |
83 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 86 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
87 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
84 | CONFIG_DMA_COHERENT=y | 88 | CONFIG_DMA_COHERENT=y |
85 | CONFIG_CPU_BIG_ENDIAN=y | 89 | CONFIG_CPU_BIG_ENDIAN=y |
86 | # CONFIG_CPU_LITTLE_ENDIAN is not set | 90 | # CONFIG_CPU_LITTLE_ENDIAN is not set |
@@ -128,11 +132,15 @@ CONFIG_PAGE_SIZE_4KB=y | |||
128 | # CONFIG_PAGE_SIZE_16KB is not set | 132 | # CONFIG_PAGE_SIZE_16KB is not set |
129 | # CONFIG_PAGE_SIZE_64KB is not set | 133 | # CONFIG_PAGE_SIZE_64KB is not set |
130 | # CONFIG_SIBYTE_DMA_PAGEOPS is not set | 134 | # CONFIG_SIBYTE_DMA_PAGEOPS is not set |
131 | # CONFIG_MIPS_MT is not set | 135 | CONFIG_MIPS_MT_DISABLED=y |
136 | # CONFIG_MIPS_MT_SMTC is not set | ||
137 | # CONFIG_MIPS_MT_SMP is not set | ||
138 | # CONFIG_MIPS_VPE_LOADER is not set | ||
132 | CONFIG_CPU_HAS_LLSC=y | 139 | CONFIG_CPU_HAS_LLSC=y |
133 | CONFIG_CPU_HAS_SYNC=y | 140 | CONFIG_CPU_HAS_SYNC=y |
134 | CONFIG_GENERIC_HARDIRQS=y | 141 | CONFIG_GENERIC_HARDIRQS=y |
135 | CONFIG_GENERIC_IRQ_PROBE=y | 142 | CONFIG_GENERIC_IRQ_PROBE=y |
143 | CONFIG_IRQ_PER_CPU=y | ||
136 | CONFIG_CPU_SUPPORTS_HIGHMEM=y | 144 | CONFIG_CPU_SUPPORTS_HIGHMEM=y |
137 | CONFIG_ARCH_FLATMEM_ENABLE=y | 145 | CONFIG_ARCH_FLATMEM_ENABLE=y |
138 | CONFIG_SELECT_MEMORY_MODEL=y | 146 | CONFIG_SELECT_MEMORY_MODEL=y |
@@ -143,6 +151,10 @@ CONFIG_FLATMEM=y | |||
143 | CONFIG_FLAT_NODE_MEM_MAP=y | 151 | CONFIG_FLAT_NODE_MEM_MAP=y |
144 | # CONFIG_SPARSEMEM_STATIC is not set | 152 | # CONFIG_SPARSEMEM_STATIC is not set |
145 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 153 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
154 | CONFIG_RESOURCES_64BIT=y | ||
155 | CONFIG_SMP=y | ||
156 | CONFIG_SYS_SUPPORTS_SMP=y | ||
157 | CONFIG_NR_CPUS=4 | ||
146 | # CONFIG_HZ_48 is not set | 158 | # CONFIG_HZ_48 is not set |
147 | # CONFIG_HZ_100 is not set | 159 | # CONFIG_HZ_100 is not set |
148 | # CONFIG_HZ_128 is not set | 160 | # CONFIG_HZ_128 is not set |
@@ -152,12 +164,11 @@ CONFIG_HZ_1000=y | |||
152 | # CONFIG_HZ_1024 is not set | 164 | # CONFIG_HZ_1024 is not set |
153 | CONFIG_SYS_SUPPORTS_ARBIT_HZ=y | 165 | CONFIG_SYS_SUPPORTS_ARBIT_HZ=y |
154 | CONFIG_HZ=1000 | 166 | CONFIG_HZ=1000 |
155 | CONFIG_SMP=y | ||
156 | CONFIG_NR_CPUS=4 | ||
157 | CONFIG_PREEMPT_NONE=y | 167 | CONFIG_PREEMPT_NONE=y |
158 | # CONFIG_PREEMPT_VOLUNTARY is not set | 168 | # CONFIG_PREEMPT_VOLUNTARY is not set |
159 | # CONFIG_PREEMPT is not set | 169 | # CONFIG_PREEMPT is not set |
160 | # CONFIG_PREEMPT_BKL is not set | 170 | # CONFIG_PREEMPT_BKL is not set |
171 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
161 | 172 | ||
162 | # | 173 | # |
163 | # Code maturity level options | 174 | # Code maturity level options |
@@ -192,10 +203,12 @@ CONFIG_PRINTK=y | |||
192 | CONFIG_BUG=y | 203 | CONFIG_BUG=y |
193 | CONFIG_ELF_CORE=y | 204 | CONFIG_ELF_CORE=y |
194 | CONFIG_BASE_FULL=y | 205 | CONFIG_BASE_FULL=y |
206 | CONFIG_RT_MUTEXES=y | ||
195 | CONFIG_FUTEX=y | 207 | CONFIG_FUTEX=y |
196 | CONFIG_EPOLL=y | 208 | CONFIG_EPOLL=y |
197 | CONFIG_SHMEM=y | 209 | CONFIG_SHMEM=y |
198 | CONFIG_SLAB=y | 210 | CONFIG_SLAB=y |
211 | CONFIG_VM_EVENT_COUNTERS=y | ||
199 | # CONFIG_TINY_SHMEM is not set | 212 | # CONFIG_TINY_SHMEM is not set |
200 | CONFIG_BASE_SMALL=0 | 213 | CONFIG_BASE_SMALL=0 |
201 | # CONFIG_SLOB is not set | 214 | # CONFIG_SLOB is not set |
@@ -253,7 +266,7 @@ CONFIG_MMU=y | |||
253 | # | 266 | # |
254 | CONFIG_BINFMT_ELF=y | 267 | CONFIG_BINFMT_ELF=y |
255 | # CONFIG_BINFMT_MISC is not set | 268 | # CONFIG_BINFMT_MISC is not set |
256 | CONFIG_BUILD_ELF64=y | 269 | # CONFIG_BUILD_ELF64 is not set |
257 | CONFIG_MIPS32_COMPAT=y | 270 | CONFIG_MIPS32_COMPAT=y |
258 | CONFIG_COMPAT=y | 271 | CONFIG_COMPAT=y |
259 | CONFIG_MIPS32_O32=y | 272 | CONFIG_MIPS32_O32=y |
@@ -292,6 +305,8 @@ CONFIG_IP_PNP_BOOTP=y | |||
292 | # CONFIG_INET_IPCOMP is not set | 305 | # CONFIG_INET_IPCOMP is not set |
293 | # CONFIG_INET_XFRM_TUNNEL is not set | 306 | # CONFIG_INET_XFRM_TUNNEL is not set |
294 | # CONFIG_INET_TUNNEL is not set | 307 | # CONFIG_INET_TUNNEL is not set |
308 | CONFIG_INET_XFRM_MODE_TRANSPORT=m | ||
309 | CONFIG_INET_XFRM_MODE_TUNNEL=m | ||
295 | CONFIG_INET_DIAG=y | 310 | CONFIG_INET_DIAG=y |
296 | CONFIG_INET_TCP_DIAG=y | 311 | CONFIG_INET_TCP_DIAG=y |
297 | # CONFIG_TCP_CONG_ADVANCED is not set | 312 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -299,6 +314,7 @@ CONFIG_TCP_CONG_BIC=y | |||
299 | # CONFIG_IPV6 is not set | 314 | # CONFIG_IPV6 is not set |
300 | # CONFIG_INET6_XFRM_TUNNEL is not set | 315 | # CONFIG_INET6_XFRM_TUNNEL is not set |
301 | # CONFIG_INET6_TUNNEL is not set | 316 | # CONFIG_INET6_TUNNEL is not set |
317 | CONFIG_NETWORK_SECMARK=y | ||
302 | # CONFIG_NETFILTER is not set | 318 | # CONFIG_NETFILTER is not set |
303 | 319 | ||
304 | # | 320 | # |
@@ -353,6 +369,7 @@ CONFIG_STANDALONE=y | |||
353 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 369 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
354 | # CONFIG_FW_LOADER is not set | 370 | # CONFIG_FW_LOADER is not set |
355 | # CONFIG_DEBUG_DRIVER is not set | 371 | # CONFIG_DEBUG_DRIVER is not set |
372 | # CONFIG_SYS_HYPERVISOR is not set | ||
356 | 373 | ||
357 | # | 374 | # |
358 | # Connector - unified userspace <-> kernelspace linker | 375 | # Connector - unified userspace <-> kernelspace linker |
@@ -505,6 +522,7 @@ CONFIG_NET_SB1250_MAC=y | |||
505 | # CONFIG_CHELSIO_T1 is not set | 522 | # CONFIG_CHELSIO_T1 is not set |
506 | # CONFIG_IXGB is not set | 523 | # CONFIG_IXGB is not set |
507 | # CONFIG_S2IO is not set | 524 | # CONFIG_S2IO is not set |
525 | # CONFIG_MYRI10GE is not set | ||
508 | 526 | ||
509 | # | 527 | # |
510 | # Token Ring devices | 528 | # Token Ring devices |
@@ -572,6 +590,7 @@ CONFIG_SERIAL_NONSTANDARD=y | |||
572 | # CONFIG_N_HDLC is not set | 590 | # CONFIG_N_HDLC is not set |
573 | # CONFIG_SPECIALIX is not set | 591 | # CONFIG_SPECIALIX is not set |
574 | # CONFIG_SX is not set | 592 | # CONFIG_SX is not set |
593 | # CONFIG_RIO is not set | ||
575 | # CONFIG_STALDRV is not set | 594 | # CONFIG_STALDRV is not set |
576 | CONFIG_SIBYTE_SB1250_DUART=y | 595 | CONFIG_SIBYTE_SB1250_DUART=y |
577 | CONFIG_SIBYTE_SB1250_DUART_CONSOLE=y | 596 | CONFIG_SIBYTE_SB1250_DUART_CONSOLE=y |
@@ -598,6 +617,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
598 | # Watchdog Cards | 617 | # Watchdog Cards |
599 | # | 618 | # |
600 | # CONFIG_WATCHDOG is not set | 619 | # CONFIG_WATCHDOG is not set |
620 | # CONFIG_HW_RANDOM is not set | ||
601 | # CONFIG_RTC is not set | 621 | # CONFIG_RTC is not set |
602 | CONFIG_GEN_RTC=y | 622 | CONFIG_GEN_RTC=y |
603 | # CONFIG_GEN_RTC_X is not set | 623 | # CONFIG_GEN_RTC_X is not set |
@@ -643,6 +663,7 @@ CONFIG_I2C_ALGO_SIBYTE=y | |||
643 | # CONFIG_I2C_I810 is not set | 663 | # CONFIG_I2C_I810 is not set |
644 | # CONFIG_I2C_PIIX4 is not set | 664 | # CONFIG_I2C_PIIX4 is not set |
645 | # CONFIG_I2C_NFORCE2 is not set | 665 | # CONFIG_I2C_NFORCE2 is not set |
666 | # CONFIG_I2C_OCORES is not set | ||
646 | # CONFIG_I2C_PARPORT_LIGHT is not set | 667 | # CONFIG_I2C_PARPORT_LIGHT is not set |
647 | # CONFIG_I2C_PROSAVAGE is not set | 668 | # CONFIG_I2C_PROSAVAGE is not set |
648 | # CONFIG_I2C_SAVAGE4 is not set | 669 | # CONFIG_I2C_SAVAGE4 is not set |
@@ -680,7 +701,6 @@ CONFIG_I2C_DEBUG_CHIP=y | |||
680 | # | 701 | # |
681 | # Dallas's 1-wire bus | 702 | # Dallas's 1-wire bus |
682 | # | 703 | # |
683 | # CONFIG_W1 is not set | ||
684 | 704 | ||
685 | # | 705 | # |
686 | # Hardware Monitoring support | 706 | # Hardware Monitoring support |
@@ -696,6 +716,7 @@ CONFIG_I2C_DEBUG_CHIP=y | |||
696 | # Multimedia devices | 716 | # Multimedia devices |
697 | # | 717 | # |
698 | # CONFIG_VIDEO_DEV is not set | 718 | # CONFIG_VIDEO_DEV is not set |
719 | CONFIG_VIDEO_V4L2=y | ||
699 | 720 | ||
700 | # | 721 | # |
701 | # Digital Video Broadcasting Devices | 722 | # Digital Video Broadcasting Devices |
@@ -705,6 +726,7 @@ CONFIG_I2C_DEBUG_CHIP=y | |||
705 | # | 726 | # |
706 | # Graphics support | 727 | # Graphics support |
707 | # | 728 | # |
729 | # CONFIG_FIRMWARE_EDID is not set | ||
708 | # CONFIG_FB is not set | 730 | # CONFIG_FB is not set |
709 | 731 | ||
710 | # | 732 | # |
@@ -762,6 +784,19 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
762 | # CONFIG_RTC_CLASS is not set | 784 | # CONFIG_RTC_CLASS is not set |
763 | 785 | ||
764 | # | 786 | # |
787 | # DMA Engine support | ||
788 | # | ||
789 | # CONFIG_DMA_ENGINE is not set | ||
790 | |||
791 | # | ||
792 | # DMA Clients | ||
793 | # | ||
794 | |||
795 | # | ||
796 | # DMA Devices | ||
797 | # | ||
798 | |||
799 | # | ||
765 | # File systems | 800 | # File systems |
766 | # | 801 | # |
767 | CONFIG_EXT2_FS=y | 802 | CONFIG_EXT2_FS=y |
@@ -779,6 +814,7 @@ CONFIG_FS_POSIX_ACL=y | |||
779 | # CONFIG_MINIX_FS is not set | 814 | # CONFIG_MINIX_FS is not set |
780 | # CONFIG_ROMFS_FS is not set | 815 | # CONFIG_ROMFS_FS is not set |
781 | CONFIG_INOTIFY=y | 816 | CONFIG_INOTIFY=y |
817 | CONFIG_INOTIFY_USER=y | ||
782 | # CONFIG_QUOTA is not set | 818 | # CONFIG_QUOTA is not set |
783 | CONFIG_DNOTIFY=y | 819 | CONFIG_DNOTIFY=y |
784 | # CONFIG_AUTOFS_FS is not set | 820 | # CONFIG_AUTOFS_FS is not set |
@@ -844,6 +880,7 @@ CONFIG_SUNRPC=y | |||
844 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 880 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
845 | # CONFIG_SMB_FS is not set | 881 | # CONFIG_SMB_FS is not set |
846 | # CONFIG_CIFS is not set | 882 | # CONFIG_CIFS is not set |
883 | # CONFIG_CIFS_DEBUG2 is not set | ||
847 | # CONFIG_NCP_FS is not set | 884 | # CONFIG_NCP_FS is not set |
848 | # CONFIG_CODA_FS is not set | 885 | # CONFIG_CODA_FS is not set |
849 | # CONFIG_AFS_FS is not set | 886 | # CONFIG_AFS_FS is not set |
@@ -870,14 +907,19 @@ CONFIG_MSDOS_PARTITION=y | |||
870 | # | 907 | # |
871 | CONFIG_PRINTK_TIME=y | 908 | CONFIG_PRINTK_TIME=y |
872 | CONFIG_MAGIC_SYSRQ=y | 909 | CONFIG_MAGIC_SYSRQ=y |
910 | # CONFIG_UNUSED_SYMBOLS is not set | ||
873 | CONFIG_DEBUG_KERNEL=y | 911 | CONFIG_DEBUG_KERNEL=y |
874 | CONFIG_LOG_BUF_SHIFT=16 | 912 | CONFIG_LOG_BUF_SHIFT=16 |
875 | CONFIG_DETECT_SOFTLOCKUP=y | 913 | CONFIG_DETECT_SOFTLOCKUP=y |
876 | # CONFIG_SCHEDSTATS is not set | 914 | # CONFIG_SCHEDSTATS is not set |
877 | # CONFIG_DEBUG_SLAB is not set | 915 | # CONFIG_DEBUG_SLAB is not set |
878 | CONFIG_DEBUG_MUTEXES=y | 916 | # CONFIG_DEBUG_RT_MUTEXES is not set |
917 | # CONFIG_RT_MUTEX_TESTER is not set | ||
879 | # CONFIG_DEBUG_SPINLOCK is not set | 918 | # CONFIG_DEBUG_SPINLOCK is not set |
919 | CONFIG_DEBUG_MUTEXES=y | ||
920 | # CONFIG_DEBUG_RWSEMS is not set | ||
880 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | 921 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set |
922 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | ||
881 | # CONFIG_DEBUG_KOBJECT is not set | 923 | # CONFIG_DEBUG_KOBJECT is not set |
882 | # CONFIG_DEBUG_INFO is not set | 924 | # CONFIG_DEBUG_INFO is not set |
883 | # CONFIG_DEBUG_FS is not set | 925 | # CONFIG_DEBUG_FS is not set |
@@ -940,3 +982,4 @@ CONFIG_CRC32=y | |||
940 | # CONFIG_LIBCRC32C is not set | 982 | # CONFIG_LIBCRC32C is not set |
941 | CONFIG_ZLIB_INFLATE=y | 983 | CONFIG_ZLIB_INFLATE=y |
942 | CONFIG_ZLIB_DEFLATE=y | 984 | CONFIG_ZLIB_DEFLATE=y |
985 | CONFIG_PLIST=y | ||
diff --git a/arch/mips/configs/capcella_defconfig b/arch/mips/configs/capcella_defconfig index aeb7be804799..a01344f3a4c2 100644 --- a/arch/mips/configs/capcella_defconfig +++ b/arch/mips/configs/capcella_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17-rc2 | 3 | # Linux kernel version: 2.6.18-rc1 |
4 | # Tue Apr 25 00:08:06 2006 | 4 | # Thu Jul 6 10:03:24 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -21,6 +21,7 @@ CONFIG_MIPS=y | |||
21 | # CONFIG_MIPS_DB1550 is not set | 21 | # CONFIG_MIPS_DB1550 is not set |
22 | # CONFIG_MIPS_DB1200 is not set | 22 | # CONFIG_MIPS_DB1200 is not set |
23 | # CONFIG_MIPS_MIRAGE is not set | 23 | # CONFIG_MIPS_MIRAGE is not set |
24 | # CONFIG_BASLER_EXCITE is not set | ||
24 | # CONFIG_MIPS_COBALT is not set | 25 | # CONFIG_MIPS_COBALT is not set |
25 | # CONFIG_MACH_DECSTATION is not set | 26 | # CONFIG_MACH_DECSTATION is not set |
26 | # CONFIG_MIPS_EV64120 is not set | 27 | # CONFIG_MIPS_EV64120 is not set |
@@ -32,6 +33,7 @@ CONFIG_MIPS=y | |||
32 | # CONFIG_MIPS_ATLAS is not set | 33 | # CONFIG_MIPS_ATLAS is not set |
33 | # CONFIG_MIPS_MALTA is not set | 34 | # CONFIG_MIPS_MALTA is not set |
34 | # CONFIG_MIPS_SEAD is not set | 35 | # CONFIG_MIPS_SEAD is not set |
36 | # CONFIG_WR_PPMC is not set | ||
35 | # CONFIG_MIPS_SIM is not set | 37 | # CONFIG_MIPS_SIM is not set |
36 | # CONFIG_MOMENCO_JAGUAR_ATX is not set | 38 | # CONFIG_MOMENCO_JAGUAR_ATX is not set |
37 | # CONFIG_MOMENCO_OCELOT is not set | 39 | # CONFIG_MOMENCO_OCELOT is not set |
@@ -45,6 +47,7 @@ CONFIG_MIPS=y | |||
45 | CONFIG_MACH_VR41XX=y | 47 | CONFIG_MACH_VR41XX=y |
46 | # CONFIG_PMC_YOSEMITE is not set | 48 | # CONFIG_PMC_YOSEMITE is not set |
47 | # CONFIG_QEMU is not set | 49 | # CONFIG_QEMU is not set |
50 | # CONFIG_MARKEINS is not set | ||
48 | # CONFIG_SGI_IP22 is not set | 51 | # CONFIG_SGI_IP22 is not set |
49 | # CONFIG_SGI_IP27 is not set | 52 | # CONFIG_SGI_IP27 is not set |
50 | # CONFIG_SGI_IP32 is not set | 53 | # CONFIG_SGI_IP32 is not set |
@@ -73,6 +76,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y | |||
73 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 76 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
74 | CONFIG_GENERIC_HWEIGHT=y | 77 | CONFIG_GENERIC_HWEIGHT=y |
75 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 78 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
79 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
76 | CONFIG_DMA_NONCOHERENT=y | 80 | CONFIG_DMA_NONCOHERENT=y |
77 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 81 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
78 | # CONFIG_CPU_BIG_ENDIAN is not set | 82 | # CONFIG_CPU_BIG_ENDIAN is not set |
@@ -117,7 +121,10 @@ CONFIG_PAGE_SIZE_4KB=y | |||
117 | # CONFIG_PAGE_SIZE_8KB is not set | 121 | # CONFIG_PAGE_SIZE_8KB is not set |
118 | # CONFIG_PAGE_SIZE_16KB is not set | 122 | # CONFIG_PAGE_SIZE_16KB is not set |
119 | # CONFIG_PAGE_SIZE_64KB is not set | 123 | # CONFIG_PAGE_SIZE_64KB is not set |
120 | # CONFIG_MIPS_MT is not set | 124 | CONFIG_MIPS_MT_DISABLED=y |
125 | # CONFIG_MIPS_MT_SMTC is not set | ||
126 | # CONFIG_MIPS_MT_SMP is not set | ||
127 | # CONFIG_MIPS_VPE_LOADER is not set | ||
121 | CONFIG_CPU_HAS_SYNC=y | 128 | CONFIG_CPU_HAS_SYNC=y |
122 | CONFIG_GENERIC_HARDIRQS=y | 129 | CONFIG_GENERIC_HARDIRQS=y |
123 | CONFIG_GENERIC_IRQ_PROBE=y | 130 | CONFIG_GENERIC_IRQ_PROBE=y |
@@ -130,6 +137,7 @@ CONFIG_FLATMEM=y | |||
130 | CONFIG_FLAT_NODE_MEM_MAP=y | 137 | CONFIG_FLAT_NODE_MEM_MAP=y |
131 | # CONFIG_SPARSEMEM_STATIC is not set | 138 | # CONFIG_SPARSEMEM_STATIC is not set |
132 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 139 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
140 | # CONFIG_RESOURCES_64BIT is not set | ||
133 | # CONFIG_HZ_48 is not set | 141 | # CONFIG_HZ_48 is not set |
134 | # CONFIG_HZ_100 is not set | 142 | # CONFIG_HZ_100 is not set |
135 | # CONFIG_HZ_128 is not set | 143 | # CONFIG_HZ_128 is not set |
@@ -142,6 +150,7 @@ CONFIG_HZ=1000 | |||
142 | CONFIG_PREEMPT_NONE=y | 150 | CONFIG_PREEMPT_NONE=y |
143 | # CONFIG_PREEMPT_VOLUNTARY is not set | 151 | # CONFIG_PREEMPT_VOLUNTARY is not set |
144 | # CONFIG_PREEMPT is not set | 152 | # CONFIG_PREEMPT is not set |
153 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
145 | 154 | ||
146 | # | 155 | # |
147 | # Code maturity level options | 156 | # Code maturity level options |
@@ -173,10 +182,12 @@ CONFIG_PRINTK=y | |||
173 | CONFIG_BUG=y | 182 | CONFIG_BUG=y |
174 | CONFIG_ELF_CORE=y | 183 | CONFIG_ELF_CORE=y |
175 | CONFIG_BASE_FULL=y | 184 | CONFIG_BASE_FULL=y |
185 | CONFIG_RT_MUTEXES=y | ||
176 | CONFIG_FUTEX=y | 186 | CONFIG_FUTEX=y |
177 | CONFIG_EPOLL=y | 187 | CONFIG_EPOLL=y |
178 | CONFIG_SHMEM=y | 188 | CONFIG_SHMEM=y |
179 | CONFIG_SLAB=y | 189 | CONFIG_SLAB=y |
190 | CONFIG_VM_EVENT_COUNTERS=y | ||
180 | # CONFIG_TINY_SHMEM is not set | 191 | # CONFIG_TINY_SHMEM is not set |
181 | CONFIG_BASE_SMALL=0 | 192 | CONFIG_BASE_SMALL=0 |
182 | # CONFIG_SLOB is not set | 193 | # CONFIG_SLOB is not set |
@@ -268,6 +279,8 @@ CONFIG_IP_PNP_BOOTP=y | |||
268 | # CONFIG_INET_IPCOMP is not set | 279 | # CONFIG_INET_IPCOMP is not set |
269 | # CONFIG_INET_XFRM_TUNNEL is not set | 280 | # CONFIG_INET_XFRM_TUNNEL is not set |
270 | # CONFIG_INET_TUNNEL is not set | 281 | # CONFIG_INET_TUNNEL is not set |
282 | CONFIG_INET_XFRM_MODE_TRANSPORT=m | ||
283 | CONFIG_INET_XFRM_MODE_TUNNEL=m | ||
271 | CONFIG_INET_DIAG=y | 284 | CONFIG_INET_DIAG=y |
272 | CONFIG_INET_TCP_DIAG=y | 285 | CONFIG_INET_TCP_DIAG=y |
273 | # CONFIG_TCP_CONG_ADVANCED is not set | 286 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -275,6 +288,7 @@ CONFIG_TCP_CONG_BIC=y | |||
275 | # CONFIG_IPV6 is not set | 288 | # CONFIG_IPV6 is not set |
276 | # CONFIG_INET6_XFRM_TUNNEL is not set | 289 | # CONFIG_INET6_XFRM_TUNNEL is not set |
277 | # CONFIG_INET6_TUNNEL is not set | 290 | # CONFIG_INET6_TUNNEL is not set |
291 | CONFIG_NETWORK_SECMARK=y | ||
278 | # CONFIG_NETFILTER is not set | 292 | # CONFIG_NETFILTER is not set |
279 | 293 | ||
280 | # | 294 | # |
@@ -328,6 +342,7 @@ CONFIG_TCP_CONG_BIC=y | |||
328 | CONFIG_STANDALONE=y | 342 | CONFIG_STANDALONE=y |
329 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 343 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
330 | CONFIG_FW_LOADER=m | 344 | CONFIG_FW_LOADER=m |
345 | # CONFIG_SYS_HYPERVISOR is not set | ||
331 | 346 | ||
332 | # | 347 | # |
333 | # Connector - unified userspace <-> kernelspace linker | 348 | # Connector - unified userspace <-> kernelspace linker |
@@ -446,6 +461,8 @@ CONFIG_DAVICOM_PHY=m | |||
446 | CONFIG_QSEMI_PHY=m | 461 | CONFIG_QSEMI_PHY=m |
447 | CONFIG_LXT_PHY=m | 462 | CONFIG_LXT_PHY=m |
448 | CONFIG_CICADA_PHY=m | 463 | CONFIG_CICADA_PHY=m |
464 | CONFIG_VITESSE_PHY=m | ||
465 | CONFIG_SMSC_PHY=m | ||
449 | 466 | ||
450 | # | 467 | # |
451 | # Ethernet (10 or 100Mbit) | 468 | # Ethernet (10 or 100Mbit) |
@@ -512,6 +529,7 @@ CONFIG_8139TOO_PIO=y | |||
512 | # CONFIG_CHELSIO_T1 is not set | 529 | # CONFIG_CHELSIO_T1 is not set |
513 | # CONFIG_IXGB is not set | 530 | # CONFIG_IXGB is not set |
514 | # CONFIG_S2IO is not set | 531 | # CONFIG_S2IO is not set |
532 | # CONFIG_MYRI10GE is not set | ||
515 | 533 | ||
516 | # | 534 | # |
517 | # Token Ring devices | 535 | # Token Ring devices |
@@ -581,6 +599,7 @@ CONFIG_INPUT=y | |||
581 | CONFIG_VT=y | 599 | CONFIG_VT=y |
582 | CONFIG_VT_CONSOLE=y | 600 | CONFIG_VT_CONSOLE=y |
583 | CONFIG_HW_CONSOLE=y | 601 | CONFIG_HW_CONSOLE=y |
602 | CONFIG_VT_HW_CONSOLE_BINDING=y | ||
584 | # CONFIG_SERIAL_NONSTANDARD is not set | 603 | # CONFIG_SERIAL_NONSTANDARD is not set |
585 | 604 | ||
586 | # | 605 | # |
@@ -609,6 +628,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
609 | # Watchdog Cards | 628 | # Watchdog Cards |
610 | # | 629 | # |
611 | # CONFIG_WATCHDOG is not set | 630 | # CONFIG_WATCHDOG is not set |
631 | # CONFIG_HW_RANDOM is not set | ||
612 | # CONFIG_RTC is not set | 632 | # CONFIG_RTC is not set |
613 | # CONFIG_GEN_RTC is not set | 633 | # CONFIG_GEN_RTC is not set |
614 | # CONFIG_DTLK is not set | 634 | # CONFIG_DTLK is not set |
@@ -658,6 +678,7 @@ CONFIG_GPIO_VR41XX=y | |||
658 | # Multimedia devices | 678 | # Multimedia devices |
659 | # | 679 | # |
660 | # CONFIG_VIDEO_DEV is not set | 680 | # CONFIG_VIDEO_DEV is not set |
681 | CONFIG_VIDEO_V4L2=y | ||
661 | 682 | ||
662 | # | 683 | # |
663 | # Digital Video Broadcasting Devices | 684 | # Digital Video Broadcasting Devices |
@@ -667,6 +688,7 @@ CONFIG_GPIO_VR41XX=y | |||
667 | # | 688 | # |
668 | # Graphics support | 689 | # Graphics support |
669 | # | 690 | # |
691 | # CONFIG_FIRMWARE_EDID is not set | ||
670 | # CONFIG_FB is not set | 692 | # CONFIG_FB is not set |
671 | 693 | ||
672 | # | 694 | # |
@@ -738,13 +760,30 @@ CONFIG_RTC_HCTOSYS_DEVICE="rtc0" | |||
738 | CONFIG_RTC_INTF_SYSFS=y | 760 | CONFIG_RTC_INTF_SYSFS=y |
739 | CONFIG_RTC_INTF_PROC=y | 761 | CONFIG_RTC_INTF_PROC=y |
740 | CONFIG_RTC_INTF_DEV=y | 762 | CONFIG_RTC_INTF_DEV=y |
763 | # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set | ||
741 | 764 | ||
742 | # | 765 | # |
743 | # RTC drivers | 766 | # RTC drivers |
744 | # | 767 | # |
768 | # CONFIG_RTC_DRV_DS1553 is not set | ||
769 | # CONFIG_RTC_DRV_DS1742 is not set | ||
745 | # CONFIG_RTC_DRV_M48T86 is not set | 770 | # CONFIG_RTC_DRV_M48T86 is not set |
746 | CONFIG_RTC_DRV_VR41XX=y | 771 | CONFIG_RTC_DRV_VR41XX=y |
747 | # CONFIG_RTC_DRV_TEST is not set | 772 | # CONFIG_RTC_DRV_TEST is not set |
773 | # CONFIG_RTC_DRV_V3020 is not set | ||
774 | |||
775 | # | ||
776 | # DMA Engine support | ||
777 | # | ||
778 | # CONFIG_DMA_ENGINE is not set | ||
779 | |||
780 | # | ||
781 | # DMA Clients | ||
782 | # | ||
783 | |||
784 | # | ||
785 | # DMA Devices | ||
786 | # | ||
748 | 787 | ||
749 | # | 788 | # |
750 | # File systems | 789 | # File systems |
@@ -761,6 +800,7 @@ CONFIG_EXT2_FS=y | |||
761 | # CONFIG_MINIX_FS is not set | 800 | # CONFIG_MINIX_FS is not set |
762 | # CONFIG_ROMFS_FS is not set | 801 | # CONFIG_ROMFS_FS is not set |
763 | CONFIG_INOTIFY=y | 802 | CONFIG_INOTIFY=y |
803 | CONFIG_INOTIFY_USER=y | ||
764 | # CONFIG_QUOTA is not set | 804 | # CONFIG_QUOTA is not set |
765 | CONFIG_DNOTIFY=y | 805 | CONFIG_DNOTIFY=y |
766 | # CONFIG_AUTOFS_FS is not set | 806 | # CONFIG_AUTOFS_FS is not set |
@@ -827,6 +867,7 @@ CONFIG_SUNRPC=y | |||
827 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 867 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
828 | # CONFIG_SMB_FS is not set | 868 | # CONFIG_SMB_FS is not set |
829 | # CONFIG_CIFS is not set | 869 | # CONFIG_CIFS is not set |
870 | # CONFIG_CIFS_DEBUG2 is not set | ||
830 | # CONFIG_NCP_FS is not set | 871 | # CONFIG_NCP_FS is not set |
831 | # CONFIG_CODA_FS is not set | 872 | # CONFIG_CODA_FS is not set |
832 | # CONFIG_AFS_FS is not set | 873 | # CONFIG_AFS_FS is not set |
@@ -853,6 +894,7 @@ CONFIG_MSDOS_PARTITION=y | |||
853 | # | 894 | # |
854 | # CONFIG_PRINTK_TIME is not set | 895 | # CONFIG_PRINTK_TIME is not set |
855 | # CONFIG_MAGIC_SYSRQ is not set | 896 | # CONFIG_MAGIC_SYSRQ is not set |
897 | # CONFIG_UNUSED_SYMBOLS is not set | ||
856 | # CONFIG_DEBUG_KERNEL is not set | 898 | # CONFIG_DEBUG_KERNEL is not set |
857 | CONFIG_LOG_BUF_SHIFT=14 | 899 | CONFIG_LOG_BUF_SHIFT=14 |
858 | # CONFIG_DEBUG_FS is not set | 900 | # CONFIG_DEBUG_FS is not set |
@@ -881,3 +923,4 @@ CONFIG_CMDLINE="mem=32M console=ttyVR0,38400" | |||
881 | # CONFIG_CRC16 is not set | 923 | # CONFIG_CRC16 is not set |
882 | CONFIG_CRC32=y | 924 | CONFIG_CRC32=y |
883 | # CONFIG_LIBCRC32C is not set | 925 | # CONFIG_LIBCRC32C is not set |
926 | CONFIG_PLIST=y | ||
diff --git a/arch/mips/configs/cobalt_defconfig b/arch/mips/configs/cobalt_defconfig index d680d3e17112..c95682445a28 100644 --- a/arch/mips/configs/cobalt_defconfig +++ b/arch/mips/configs/cobalt_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17-rc2 | 3 | # Linux kernel version: 2.6.18-rc1 |
4 | # Mon Apr 24 14:50:57 2006 | 4 | # Thu Jul 6 10:03:25 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -21,6 +21,7 @@ CONFIG_MIPS=y | |||
21 | # CONFIG_MIPS_DB1550 is not set | 21 | # CONFIG_MIPS_DB1550 is not set |
22 | # CONFIG_MIPS_DB1200 is not set | 22 | # CONFIG_MIPS_DB1200 is not set |
23 | # CONFIG_MIPS_MIRAGE is not set | 23 | # CONFIG_MIPS_MIRAGE is not set |
24 | # CONFIG_BASLER_EXCITE is not set | ||
24 | CONFIG_MIPS_COBALT=y | 25 | CONFIG_MIPS_COBALT=y |
25 | # CONFIG_MACH_DECSTATION is not set | 26 | # CONFIG_MACH_DECSTATION is not set |
26 | # CONFIG_MIPS_EV64120 is not set | 27 | # CONFIG_MIPS_EV64120 is not set |
@@ -32,6 +33,7 @@ CONFIG_MIPS_COBALT=y | |||
32 | # CONFIG_MIPS_ATLAS is not set | 33 | # CONFIG_MIPS_ATLAS is not set |
33 | # CONFIG_MIPS_MALTA is not set | 34 | # CONFIG_MIPS_MALTA is not set |
34 | # CONFIG_MIPS_SEAD is not set | 35 | # CONFIG_MIPS_SEAD is not set |
36 | # CONFIG_WR_PPMC is not set | ||
35 | # CONFIG_MIPS_SIM is not set | 37 | # CONFIG_MIPS_SIM is not set |
36 | # CONFIG_MOMENCO_JAGUAR_ATX is not set | 38 | # CONFIG_MOMENCO_JAGUAR_ATX is not set |
37 | # CONFIG_MOMENCO_OCELOT is not set | 39 | # CONFIG_MOMENCO_OCELOT is not set |
@@ -45,6 +47,7 @@ CONFIG_MIPS_COBALT=y | |||
45 | # CONFIG_MACH_VR41XX is not set | 47 | # CONFIG_MACH_VR41XX is not set |
46 | # CONFIG_PMC_YOSEMITE is not set | 48 | # CONFIG_PMC_YOSEMITE is not set |
47 | # CONFIG_QEMU is not set | 49 | # CONFIG_QEMU is not set |
50 | # CONFIG_MARKEINS is not set | ||
48 | # CONFIG_SGI_IP22 is not set | 51 | # CONFIG_SGI_IP22 is not set |
49 | # CONFIG_SGI_IP27 is not set | 52 | # CONFIG_SGI_IP27 is not set |
50 | # CONFIG_SGI_IP32 is not set | 53 | # CONFIG_SGI_IP32 is not set |
@@ -66,6 +69,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y | |||
66 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 69 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
67 | CONFIG_GENERIC_HWEIGHT=y | 70 | CONFIG_GENERIC_HWEIGHT=y |
68 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 71 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
72 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
69 | CONFIG_DMA_NONCOHERENT=y | 73 | CONFIG_DMA_NONCOHERENT=y |
70 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 74 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
71 | CONFIG_I8259=y | 75 | CONFIG_I8259=y |
@@ -113,7 +117,10 @@ CONFIG_PAGE_SIZE_4KB=y | |||
113 | # CONFIG_PAGE_SIZE_8KB is not set | 117 | # CONFIG_PAGE_SIZE_8KB is not set |
114 | # CONFIG_PAGE_SIZE_16KB is not set | 118 | # CONFIG_PAGE_SIZE_16KB is not set |
115 | # CONFIG_PAGE_SIZE_64KB is not set | 119 | # CONFIG_PAGE_SIZE_64KB is not set |
116 | # CONFIG_MIPS_MT is not set | 120 | CONFIG_MIPS_MT_DISABLED=y |
121 | # CONFIG_MIPS_MT_SMTC is not set | ||
122 | # CONFIG_MIPS_MT_SMP is not set | ||
123 | # CONFIG_MIPS_VPE_LOADER is not set | ||
117 | CONFIG_CPU_HAS_LLSC=y | 124 | CONFIG_CPU_HAS_LLSC=y |
118 | CONFIG_CPU_HAS_SYNC=y | 125 | CONFIG_CPU_HAS_SYNC=y |
119 | CONFIG_GENERIC_HARDIRQS=y | 126 | CONFIG_GENERIC_HARDIRQS=y |
@@ -127,6 +134,7 @@ CONFIG_FLATMEM=y | |||
127 | CONFIG_FLAT_NODE_MEM_MAP=y | 134 | CONFIG_FLAT_NODE_MEM_MAP=y |
128 | # CONFIG_SPARSEMEM_STATIC is not set | 135 | # CONFIG_SPARSEMEM_STATIC is not set |
129 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 136 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
137 | # CONFIG_RESOURCES_64BIT is not set | ||
130 | # CONFIG_HZ_48 is not set | 138 | # CONFIG_HZ_48 is not set |
131 | # CONFIG_HZ_100 is not set | 139 | # CONFIG_HZ_100 is not set |
132 | # CONFIG_HZ_128 is not set | 140 | # CONFIG_HZ_128 is not set |
@@ -139,6 +147,7 @@ CONFIG_HZ=1000 | |||
139 | CONFIG_PREEMPT_NONE=y | 147 | CONFIG_PREEMPT_NONE=y |
140 | # CONFIG_PREEMPT_VOLUNTARY is not set | 148 | # CONFIG_PREEMPT_VOLUNTARY is not set |
141 | # CONFIG_PREEMPT is not set | 149 | # CONFIG_PREEMPT is not set |
150 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
142 | 151 | ||
143 | # | 152 | # |
144 | # Code maturity level options | 153 | # Code maturity level options |
@@ -170,10 +179,12 @@ CONFIG_PRINTK=y | |||
170 | CONFIG_BUG=y | 179 | CONFIG_BUG=y |
171 | CONFIG_ELF_CORE=y | 180 | CONFIG_ELF_CORE=y |
172 | CONFIG_BASE_FULL=y | 181 | CONFIG_BASE_FULL=y |
182 | CONFIG_RT_MUTEXES=y | ||
173 | CONFIG_FUTEX=y | 183 | CONFIG_FUTEX=y |
174 | CONFIG_EPOLL=y | 184 | CONFIG_EPOLL=y |
175 | CONFIG_SHMEM=y | 185 | CONFIG_SHMEM=y |
176 | CONFIG_SLAB=y | 186 | CONFIG_SLAB=y |
187 | CONFIG_VM_EVENT_COUNTERS=y | ||
177 | # CONFIG_TINY_SHMEM is not set | 188 | # CONFIG_TINY_SHMEM is not set |
178 | CONFIG_BASE_SMALL=0 | 189 | CONFIG_BASE_SMALL=0 |
179 | # CONFIG_SLOB is not set | 190 | # CONFIG_SLOB is not set |
@@ -256,6 +267,8 @@ CONFIG_IP_FIB_HASH=y | |||
256 | # CONFIG_INET_IPCOMP is not set | 267 | # CONFIG_INET_IPCOMP is not set |
257 | # CONFIG_INET_XFRM_TUNNEL is not set | 268 | # CONFIG_INET_XFRM_TUNNEL is not set |
258 | # CONFIG_INET_TUNNEL is not set | 269 | # CONFIG_INET_TUNNEL is not set |
270 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | ||
271 | CONFIG_INET_XFRM_MODE_TUNNEL=y | ||
259 | CONFIG_INET_DIAG=y | 272 | CONFIG_INET_DIAG=y |
260 | CONFIG_INET_TCP_DIAG=y | 273 | CONFIG_INET_TCP_DIAG=y |
261 | # CONFIG_TCP_CONG_ADVANCED is not set | 274 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -263,6 +276,7 @@ CONFIG_TCP_CONG_BIC=y | |||
263 | # CONFIG_IPV6 is not set | 276 | # CONFIG_IPV6 is not set |
264 | # CONFIG_INET6_XFRM_TUNNEL is not set | 277 | # CONFIG_INET6_XFRM_TUNNEL is not set |
265 | # CONFIG_INET6_TUNNEL is not set | 278 | # CONFIG_INET6_TUNNEL is not set |
279 | CONFIG_NETWORK_SECMARK=y | ||
266 | # CONFIG_NETFILTER is not set | 280 | # CONFIG_NETFILTER is not set |
267 | 281 | ||
268 | # | 282 | # |
@@ -322,6 +336,7 @@ CONFIG_WIRELESS_EXT=y | |||
322 | CONFIG_STANDALONE=y | 336 | CONFIG_STANDALONE=y |
323 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 337 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
324 | CONFIG_FW_LOADER=y | 338 | CONFIG_FW_LOADER=y |
339 | # CONFIG_SYS_HYPERVISOR is not set | ||
325 | 340 | ||
326 | # | 341 | # |
327 | # Connector - unified userspace <-> kernelspace linker | 342 | # Connector - unified userspace <-> kernelspace linker |
@@ -471,6 +486,8 @@ CONFIG_DAVICOM_PHY=y | |||
471 | CONFIG_QSEMI_PHY=y | 486 | CONFIG_QSEMI_PHY=y |
472 | CONFIG_LXT_PHY=y | 487 | CONFIG_LXT_PHY=y |
473 | CONFIG_CICADA_PHY=y | 488 | CONFIG_CICADA_PHY=y |
489 | CONFIG_VITESSE_PHY=y | ||
490 | CONFIG_SMSC_PHY=y | ||
474 | 491 | ||
475 | # | 492 | # |
476 | # Ethernet (10 or 100Mbit) | 493 | # Ethernet (10 or 100Mbit) |
@@ -522,6 +539,7 @@ CONFIG_TULIP=y | |||
522 | # CONFIG_CHELSIO_T1 is not set | 539 | # CONFIG_CHELSIO_T1 is not set |
523 | # CONFIG_IXGB is not set | 540 | # CONFIG_IXGB is not set |
524 | # CONFIG_S2IO is not set | 541 | # CONFIG_S2IO is not set |
542 | # CONFIG_MYRI10GE is not set | ||
525 | 543 | ||
526 | # | 544 | # |
527 | # Token Ring devices | 545 | # Token Ring devices |
@@ -599,6 +617,7 @@ CONFIG_SERIO_RAW=y | |||
599 | CONFIG_VT=y | 617 | CONFIG_VT=y |
600 | CONFIG_VT_CONSOLE=y | 618 | CONFIG_VT_CONSOLE=y |
601 | CONFIG_HW_CONSOLE=y | 619 | CONFIG_HW_CONSOLE=y |
620 | CONFIG_VT_HW_CONSOLE_BINDING=y | ||
602 | # CONFIG_SERIAL_NONSTANDARD is not set | 621 | # CONFIG_SERIAL_NONSTANDARD is not set |
603 | 622 | ||
604 | # | 623 | # |
@@ -630,6 +649,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
630 | # Watchdog Cards | 649 | # Watchdog Cards |
631 | # | 650 | # |
632 | # CONFIG_WATCHDOG is not set | 651 | # CONFIG_WATCHDOG is not set |
652 | # CONFIG_HW_RANDOM is not set | ||
633 | CONFIG_RTC=y | 653 | CONFIG_RTC=y |
634 | CONFIG_COBALT_LCD=y | 654 | CONFIG_COBALT_LCD=y |
635 | # CONFIG_DTLK is not set | 655 | # CONFIG_DTLK is not set |
@@ -678,6 +698,7 @@ CONFIG_COBALT_LCD=y | |||
678 | # Multimedia devices | 698 | # Multimedia devices |
679 | # | 699 | # |
680 | # CONFIG_VIDEO_DEV is not set | 700 | # CONFIG_VIDEO_DEV is not set |
701 | CONFIG_VIDEO_V4L2=y | ||
681 | 702 | ||
682 | # | 703 | # |
683 | # Digital Video Broadcasting Devices | 704 | # Digital Video Broadcasting Devices |
@@ -687,6 +708,7 @@ CONFIG_COBALT_LCD=y | |||
687 | # | 708 | # |
688 | # Graphics support | 709 | # Graphics support |
689 | # | 710 | # |
711 | # CONFIG_FIRMWARE_EDID is not set | ||
690 | # CONFIG_FB is not set | 712 | # CONFIG_FB is not set |
691 | 713 | ||
692 | # | 714 | # |
@@ -750,6 +772,19 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
750 | # CONFIG_RTC_CLASS is not set | 772 | # CONFIG_RTC_CLASS is not set |
751 | 773 | ||
752 | # | 774 | # |
775 | # DMA Engine support | ||
776 | # | ||
777 | # CONFIG_DMA_ENGINE is not set | ||
778 | |||
779 | # | ||
780 | # DMA Clients | ||
781 | # | ||
782 | |||
783 | # | ||
784 | # DMA Devices | ||
785 | # | ||
786 | |||
787 | # | ||
753 | # File systems | 788 | # File systems |
754 | # | 789 | # |
755 | CONFIG_EXT2_FS=y | 790 | CONFIG_EXT2_FS=y |
@@ -767,6 +802,7 @@ CONFIG_FS_POSIX_ACL=y | |||
767 | # CONFIG_MINIX_FS is not set | 802 | # CONFIG_MINIX_FS is not set |
768 | # CONFIG_ROMFS_FS is not set | 803 | # CONFIG_ROMFS_FS is not set |
769 | CONFIG_INOTIFY=y | 804 | CONFIG_INOTIFY=y |
805 | CONFIG_INOTIFY_USER=y | ||
770 | # CONFIG_QUOTA is not set | 806 | # CONFIG_QUOTA is not set |
771 | CONFIG_DNOTIFY=y | 807 | CONFIG_DNOTIFY=y |
772 | # CONFIG_AUTOFS_FS is not set | 808 | # CONFIG_AUTOFS_FS is not set |
@@ -829,6 +865,7 @@ CONFIG_SUNRPC=y | |||
829 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 865 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
830 | # CONFIG_SMB_FS is not set | 866 | # CONFIG_SMB_FS is not set |
831 | # CONFIG_CIFS is not set | 867 | # CONFIG_CIFS is not set |
868 | # CONFIG_CIFS_DEBUG2 is not set | ||
832 | # CONFIG_NCP_FS is not set | 869 | # CONFIG_NCP_FS is not set |
833 | # CONFIG_CODA_FS is not set | 870 | # CONFIG_CODA_FS is not set |
834 | # CONFIG_AFS_FS is not set | 871 | # CONFIG_AFS_FS is not set |
@@ -855,6 +892,7 @@ CONFIG_MSDOS_PARTITION=y | |||
855 | # | 892 | # |
856 | # CONFIG_PRINTK_TIME is not set | 893 | # CONFIG_PRINTK_TIME is not set |
857 | # CONFIG_MAGIC_SYSRQ is not set | 894 | # CONFIG_MAGIC_SYSRQ is not set |
895 | # CONFIG_UNUSED_SYMBOLS is not set | ||
858 | # CONFIG_DEBUG_KERNEL is not set | 896 | # CONFIG_DEBUG_KERNEL is not set |
859 | CONFIG_LOG_BUF_SHIFT=14 | 897 | CONFIG_LOG_BUF_SHIFT=14 |
860 | # CONFIG_DEBUG_FS is not set | 898 | # CONFIG_DEBUG_FS is not set |
@@ -896,7 +934,6 @@ CONFIG_CRYPTO_ANUBIS=y | |||
896 | CONFIG_CRYPTO_DEFLATE=y | 934 | CONFIG_CRYPTO_DEFLATE=y |
897 | CONFIG_CRYPTO_MICHAEL_MIC=y | 935 | CONFIG_CRYPTO_MICHAEL_MIC=y |
898 | CONFIG_CRYPTO_CRC32C=y | 936 | CONFIG_CRYPTO_CRC32C=y |
899 | # CONFIG_CRYPTO_TEST is not set | ||
900 | 937 | ||
901 | # | 938 | # |
902 | # Hardware crypto devices | 939 | # Hardware crypto devices |
@@ -911,3 +948,4 @@ CONFIG_CRC32=y | |||
911 | CONFIG_LIBCRC32C=y | 948 | CONFIG_LIBCRC32C=y |
912 | CONFIG_ZLIB_INFLATE=y | 949 | CONFIG_ZLIB_INFLATE=y |
913 | CONFIG_ZLIB_DEFLATE=y | 950 | CONFIG_ZLIB_DEFLATE=y |
951 | CONFIG_PLIST=y | ||
diff --git a/arch/mips/configs/db1000_defconfig b/arch/mips/configs/db1000_defconfig index 6a7aa401462f..c2f33d3af62c 100644 --- a/arch/mips/configs/db1000_defconfig +++ b/arch/mips/configs/db1000_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17-rc2 | 3 | # Linux kernel version: 2.6.18-rc1 |
4 | # Mon Apr 24 14:50:57 2006 | 4 | # Thu Jul 6 10:03:33 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -21,6 +21,7 @@ CONFIG_MIPS_DB1000=y | |||
21 | # CONFIG_MIPS_DB1550 is not set | 21 | # CONFIG_MIPS_DB1550 is not set |
22 | # CONFIG_MIPS_DB1200 is not set | 22 | # CONFIG_MIPS_DB1200 is not set |
23 | # CONFIG_MIPS_MIRAGE is not set | 23 | # CONFIG_MIPS_MIRAGE is not set |
24 | # CONFIG_BASLER_EXCITE is not set | ||
24 | # CONFIG_MIPS_COBALT is not set | 25 | # CONFIG_MIPS_COBALT is not set |
25 | # CONFIG_MACH_DECSTATION is not set | 26 | # CONFIG_MACH_DECSTATION is not set |
26 | # CONFIG_MIPS_EV64120 is not set | 27 | # CONFIG_MIPS_EV64120 is not set |
@@ -32,6 +33,7 @@ CONFIG_MIPS_DB1000=y | |||
32 | # CONFIG_MIPS_ATLAS is not set | 33 | # CONFIG_MIPS_ATLAS is not set |
33 | # CONFIG_MIPS_MALTA is not set | 34 | # CONFIG_MIPS_MALTA is not set |
34 | # CONFIG_MIPS_SEAD is not set | 35 | # CONFIG_MIPS_SEAD is not set |
36 | # CONFIG_WR_PPMC is not set | ||
35 | # CONFIG_MIPS_SIM is not set | 37 | # CONFIG_MIPS_SIM is not set |
36 | # CONFIG_MOMENCO_JAGUAR_ATX is not set | 38 | # CONFIG_MOMENCO_JAGUAR_ATX is not set |
37 | # CONFIG_MOMENCO_OCELOT is not set | 39 | # CONFIG_MOMENCO_OCELOT is not set |
@@ -45,6 +47,7 @@ CONFIG_MIPS_DB1000=y | |||
45 | # CONFIG_MACH_VR41XX is not set | 47 | # CONFIG_MACH_VR41XX is not set |
46 | # CONFIG_PMC_YOSEMITE is not set | 48 | # CONFIG_PMC_YOSEMITE is not set |
47 | # CONFIG_QEMU is not set | 49 | # CONFIG_QEMU is not set |
50 | # CONFIG_MARKEINS is not set | ||
48 | # CONFIG_SGI_IP22 is not set | 51 | # CONFIG_SGI_IP22 is not set |
49 | # CONFIG_SGI_IP27 is not set | 52 | # CONFIG_SGI_IP27 is not set |
50 | # CONFIG_SGI_IP32 is not set | 53 | # CONFIG_SGI_IP32 is not set |
@@ -65,6 +68,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y | |||
65 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 68 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
66 | CONFIG_GENERIC_HWEIGHT=y | 69 | CONFIG_GENERIC_HWEIGHT=y |
67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 70 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
71 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
68 | CONFIG_DMA_NONCOHERENT=y | 72 | CONFIG_DMA_NONCOHERENT=y |
69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 73 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
70 | # CONFIG_CPU_BIG_ENDIAN is not set | 74 | # CONFIG_CPU_BIG_ENDIAN is not set |
@@ -112,7 +116,10 @@ CONFIG_PAGE_SIZE_4KB=y | |||
112 | # CONFIG_PAGE_SIZE_16KB is not set | 116 | # CONFIG_PAGE_SIZE_16KB is not set |
113 | # CONFIG_PAGE_SIZE_64KB is not set | 117 | # CONFIG_PAGE_SIZE_64KB is not set |
114 | CONFIG_CPU_HAS_PREFETCH=y | 118 | CONFIG_CPU_HAS_PREFETCH=y |
115 | # CONFIG_MIPS_MT is not set | 119 | CONFIG_MIPS_MT_DISABLED=y |
120 | # CONFIG_MIPS_MT_SMTC is not set | ||
121 | # CONFIG_MIPS_MT_SMP is not set | ||
122 | # CONFIG_MIPS_VPE_LOADER is not set | ||
116 | CONFIG_64BIT_PHYS_ADDR=y | 123 | CONFIG_64BIT_PHYS_ADDR=y |
117 | CONFIG_CPU_HAS_LLSC=y | 124 | CONFIG_CPU_HAS_LLSC=y |
118 | CONFIG_CPU_HAS_SYNC=y | 125 | CONFIG_CPU_HAS_SYNC=y |
@@ -128,6 +135,7 @@ CONFIG_FLATMEM=y | |||
128 | CONFIG_FLAT_NODE_MEM_MAP=y | 135 | CONFIG_FLAT_NODE_MEM_MAP=y |
129 | # CONFIG_SPARSEMEM_STATIC is not set | 136 | # CONFIG_SPARSEMEM_STATIC is not set |
130 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 137 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
138 | # CONFIG_RESOURCES_64BIT is not set | ||
131 | # CONFIG_HZ_48 is not set | 139 | # CONFIG_HZ_48 is not set |
132 | # CONFIG_HZ_100 is not set | 140 | # CONFIG_HZ_100 is not set |
133 | # CONFIG_HZ_128 is not set | 141 | # CONFIG_HZ_128 is not set |
@@ -140,6 +148,7 @@ CONFIG_HZ=1000 | |||
140 | CONFIG_PREEMPT_NONE=y | 148 | CONFIG_PREEMPT_NONE=y |
141 | # CONFIG_PREEMPT_VOLUNTARY is not set | 149 | # CONFIG_PREEMPT_VOLUNTARY is not set |
142 | # CONFIG_PREEMPT is not set | 150 | # CONFIG_PREEMPT is not set |
151 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
143 | 152 | ||
144 | # | 153 | # |
145 | # Code maturity level options | 154 | # Code maturity level options |
@@ -171,14 +180,15 @@ CONFIG_PRINTK=y | |||
171 | CONFIG_BUG=y | 180 | CONFIG_BUG=y |
172 | CONFIG_ELF_CORE=y | 181 | CONFIG_ELF_CORE=y |
173 | CONFIG_BASE_FULL=y | 182 | CONFIG_BASE_FULL=y |
183 | CONFIG_RT_MUTEXES=y | ||
174 | CONFIG_FUTEX=y | 184 | CONFIG_FUTEX=y |
175 | CONFIG_EPOLL=y | 185 | CONFIG_EPOLL=y |
176 | CONFIG_SHMEM=y | 186 | CONFIG_SHMEM=y |
177 | CONFIG_SLAB=y | 187 | CONFIG_SLAB=y |
188 | CONFIG_VM_EVENT_COUNTERS=y | ||
178 | # CONFIG_TINY_SHMEM is not set | 189 | # CONFIG_TINY_SHMEM is not set |
179 | CONFIG_BASE_SMALL=0 | 190 | CONFIG_BASE_SMALL=0 |
180 | # CONFIG_SLOB is not set | 191 | # CONFIG_SLOB is not set |
181 | CONFIG_OBSOLETE_INTERMODULE=y | ||
182 | 192 | ||
183 | # | 193 | # |
184 | # Loadable module support | 194 | # Loadable module support |
@@ -276,6 +286,8 @@ CONFIG_IP_PNP_BOOTP=y | |||
276 | # CONFIG_INET_IPCOMP is not set | 286 | # CONFIG_INET_IPCOMP is not set |
277 | # CONFIG_INET_XFRM_TUNNEL is not set | 287 | # CONFIG_INET_XFRM_TUNNEL is not set |
278 | # CONFIG_INET_TUNNEL is not set | 288 | # CONFIG_INET_TUNNEL is not set |
289 | CONFIG_INET_XFRM_MODE_TRANSPORT=m | ||
290 | CONFIG_INET_XFRM_MODE_TUNNEL=m | ||
279 | CONFIG_INET_DIAG=y | 291 | CONFIG_INET_DIAG=y |
280 | CONFIG_INET_TCP_DIAG=y | 292 | CONFIG_INET_TCP_DIAG=y |
281 | # CONFIG_TCP_CONG_ADVANCED is not set | 293 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -288,6 +300,7 @@ CONFIG_TCP_CONG_BIC=y | |||
288 | # CONFIG_IPV6 is not set | 300 | # CONFIG_IPV6 is not set |
289 | # CONFIG_INET6_XFRM_TUNNEL is not set | 301 | # CONFIG_INET6_XFRM_TUNNEL is not set |
290 | # CONFIG_INET6_TUNNEL is not set | 302 | # CONFIG_INET6_TUNNEL is not set |
303 | CONFIG_NETWORK_SECMARK=y | ||
291 | CONFIG_NETFILTER=y | 304 | CONFIG_NETFILTER=y |
292 | # CONFIG_NETFILTER_DEBUG is not set | 305 | # CONFIG_NETFILTER_DEBUG is not set |
293 | 306 | ||
@@ -302,6 +315,7 @@ CONFIG_NETFILTER_XTABLES=m | |||
302 | CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m | 315 | CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m |
303 | CONFIG_NETFILTER_XT_TARGET_MARK=m | 316 | CONFIG_NETFILTER_XT_TARGET_MARK=m |
304 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | 317 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m |
318 | CONFIG_NETFILTER_XT_TARGET_SECMARK=m | ||
305 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | 319 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m |
306 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 320 | CONFIG_NETFILTER_XT_MATCH_DCCP=m |
307 | CONFIG_NETFILTER_XT_MATCH_ESP=m | 321 | CONFIG_NETFILTER_XT_MATCH_ESP=m |
@@ -312,8 +326,10 @@ CONFIG_NETFILTER_XT_MATCH_MARK=m | |||
312 | CONFIG_NETFILTER_XT_MATCH_POLICY=m | 326 | CONFIG_NETFILTER_XT_MATCH_POLICY=m |
313 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m | 327 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m |
314 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 328 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m |
329 | CONFIG_NETFILTER_XT_MATCH_QUOTA=m | ||
315 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 330 | CONFIG_NETFILTER_XT_MATCH_REALM=m |
316 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | 331 | CONFIG_NETFILTER_XT_MATCH_SCTP=m |
332 | CONFIG_NETFILTER_XT_MATCH_STATISTIC=m | ||
317 | CONFIG_NETFILTER_XT_MATCH_STRING=m | 333 | CONFIG_NETFILTER_XT_MATCH_STRING=m |
318 | CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | 334 | CONFIG_NETFILTER_XT_MATCH_TCPMSS=m |
319 | 335 | ||
@@ -383,6 +399,7 @@ CONFIG_WIRELESS_EXT=y | |||
383 | CONFIG_STANDALONE=y | 399 | CONFIG_STANDALONE=y |
384 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 400 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
385 | CONFIG_FW_LOADER=m | 401 | CONFIG_FW_LOADER=m |
402 | # CONFIG_SYS_HYPERVISOR is not set | ||
386 | 403 | ||
387 | # | 404 | # |
388 | # Connector - unified userspace <-> kernelspace linker | 405 | # Connector - unified userspace <-> kernelspace linker |
@@ -532,7 +549,7 @@ CONFIG_NETDEVICES=y | |||
532 | # | 549 | # |
533 | # PHY device support | 550 | # PHY device support |
534 | # | 551 | # |
535 | CONFIG_PHYLIB=m | 552 | CONFIG_PHYLIB=y |
536 | 553 | ||
537 | # | 554 | # |
538 | # MII PHY device drivers | 555 | # MII PHY device drivers |
@@ -542,6 +559,8 @@ CONFIG_DAVICOM_PHY=m | |||
542 | CONFIG_QSEMI_PHY=m | 559 | CONFIG_QSEMI_PHY=m |
543 | CONFIG_LXT_PHY=m | 560 | CONFIG_LXT_PHY=m |
544 | CONFIG_CICADA_PHY=m | 561 | CONFIG_CICADA_PHY=m |
562 | CONFIG_VITESSE_PHY=m | ||
563 | CONFIG_SMSC_PHY=m | ||
545 | 564 | ||
546 | # | 565 | # |
547 | # Ethernet (10 or 100Mbit) | 566 | # Ethernet (10 or 100Mbit) |
@@ -653,6 +672,7 @@ CONFIG_SERIO_RAW=m | |||
653 | CONFIG_VT=y | 672 | CONFIG_VT=y |
654 | CONFIG_VT_CONSOLE=y | 673 | CONFIG_VT_CONSOLE=y |
655 | CONFIG_HW_CONSOLE=y | 674 | CONFIG_HW_CONSOLE=y |
675 | CONFIG_VT_HW_CONSOLE_BINDING=y | ||
656 | # CONFIG_SERIAL_NONSTANDARD is not set | 676 | # CONFIG_SERIAL_NONSTANDARD is not set |
657 | # CONFIG_AU1X00_GPIO is not set | 677 | # CONFIG_AU1X00_GPIO is not set |
658 | # CONFIG_TS_AU1X00_ADS7846 is not set | 678 | # CONFIG_TS_AU1X00_ADS7846 is not set |
@@ -686,6 +706,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
686 | # Watchdog Cards | 706 | # Watchdog Cards |
687 | # | 707 | # |
688 | # CONFIG_WATCHDOG is not set | 708 | # CONFIG_WATCHDOG is not set |
709 | # CONFIG_HW_RANDOM is not set | ||
689 | # CONFIG_RTC is not set | 710 | # CONFIG_RTC is not set |
690 | # CONFIG_GEN_RTC is not set | 711 | # CONFIG_GEN_RTC is not set |
691 | # CONFIG_DTLK is not set | 712 | # CONFIG_DTLK is not set |
@@ -739,6 +760,7 @@ CONFIG_SYNCLINK_CS=m | |||
739 | # Multimedia devices | 760 | # Multimedia devices |
740 | # | 761 | # |
741 | # CONFIG_VIDEO_DEV is not set | 762 | # CONFIG_VIDEO_DEV is not set |
763 | CONFIG_VIDEO_V4L2=y | ||
742 | 764 | ||
743 | # | 765 | # |
744 | # Digital Video Broadcasting Devices | 766 | # Digital Video Broadcasting Devices |
@@ -748,6 +770,7 @@ CONFIG_SYNCLINK_CS=m | |||
748 | # | 770 | # |
749 | # Graphics support | 771 | # Graphics support |
750 | # | 772 | # |
773 | # CONFIG_FIRMWARE_EDID is not set | ||
751 | # CONFIG_FB is not set | 774 | # CONFIG_FB is not set |
752 | 775 | ||
753 | # | 776 | # |
@@ -810,6 +833,19 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
810 | # CONFIG_RTC_CLASS is not set | 833 | # CONFIG_RTC_CLASS is not set |
811 | 834 | ||
812 | # | 835 | # |
836 | # DMA Engine support | ||
837 | # | ||
838 | # CONFIG_DMA_ENGINE is not set | ||
839 | |||
840 | # | ||
841 | # DMA Clients | ||
842 | # | ||
843 | |||
844 | # | ||
845 | # DMA Devices | ||
846 | # | ||
847 | |||
848 | # | ||
813 | # File systems | 849 | # File systems |
814 | # | 850 | # |
815 | CONFIG_EXT2_FS=y | 851 | CONFIG_EXT2_FS=y |
@@ -837,6 +873,7 @@ CONFIG_FS_POSIX_ACL=y | |||
837 | # CONFIG_MINIX_FS is not set | 873 | # CONFIG_MINIX_FS is not set |
838 | # CONFIG_ROMFS_FS is not set | 874 | # CONFIG_ROMFS_FS is not set |
839 | CONFIG_INOTIFY=y | 875 | CONFIG_INOTIFY=y |
876 | CONFIG_INOTIFY_USER=y | ||
840 | # CONFIG_QUOTA is not set | 877 | # CONFIG_QUOTA is not set |
841 | CONFIG_DNOTIFY=y | 878 | CONFIG_DNOTIFY=y |
842 | CONFIG_AUTOFS_FS=m | 879 | CONFIG_AUTOFS_FS=m |
@@ -906,6 +943,7 @@ CONFIG_SUNRPC=y | |||
906 | CONFIG_SMB_FS=m | 943 | CONFIG_SMB_FS=m |
907 | # CONFIG_SMB_NLS_DEFAULT is not set | 944 | # CONFIG_SMB_NLS_DEFAULT is not set |
908 | # CONFIG_CIFS is not set | 945 | # CONFIG_CIFS is not set |
946 | # CONFIG_CIFS_DEBUG2 is not set | ||
909 | # CONFIG_NCP_FS is not set | 947 | # CONFIG_NCP_FS is not set |
910 | # CONFIG_CODA_FS is not set | 948 | # CONFIG_CODA_FS is not set |
911 | # CONFIG_AFS_FS is not set | 949 | # CONFIG_AFS_FS is not set |
@@ -971,6 +1009,7 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
971 | # | 1009 | # |
972 | # CONFIG_PRINTK_TIME is not set | 1010 | # CONFIG_PRINTK_TIME is not set |
973 | # CONFIG_MAGIC_SYSRQ is not set | 1011 | # CONFIG_MAGIC_SYSRQ is not set |
1012 | # CONFIG_UNUSED_SYMBOLS is not set | ||
974 | # CONFIG_DEBUG_KERNEL is not set | 1013 | # CONFIG_DEBUG_KERNEL is not set |
975 | CONFIG_LOG_BUF_SHIFT=14 | 1014 | CONFIG_LOG_BUF_SHIFT=14 |
976 | # CONFIG_DEBUG_FS is not set | 1015 | # CONFIG_DEBUG_FS is not set |
@@ -1030,3 +1069,4 @@ CONFIG_TEXTSEARCH=y | |||
1030 | CONFIG_TEXTSEARCH_KMP=m | 1069 | CONFIG_TEXTSEARCH_KMP=m |
1031 | CONFIG_TEXTSEARCH_BM=m | 1070 | CONFIG_TEXTSEARCH_BM=m |
1032 | CONFIG_TEXTSEARCH_FSM=m | 1071 | CONFIG_TEXTSEARCH_FSM=m |
1072 | CONFIG_PLIST=y | ||
diff --git a/arch/mips/configs/db1100_defconfig b/arch/mips/configs/db1100_defconfig index 5c2da563e528..8c44d16ae9a2 100644 --- a/arch/mips/configs/db1100_defconfig +++ b/arch/mips/configs/db1100_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17-rc2 | 3 | # Linux kernel version: 2.6.18-rc1 |
4 | # Mon Apr 24 14:50:58 2006 | 4 | # Thu Jul 6 10:03:34 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -21,6 +21,7 @@ CONFIG_MIPS_DB1100=y | |||
21 | # CONFIG_MIPS_DB1550 is not set | 21 | # CONFIG_MIPS_DB1550 is not set |
22 | # CONFIG_MIPS_DB1200 is not set | 22 | # CONFIG_MIPS_DB1200 is not set |
23 | # CONFIG_MIPS_MIRAGE is not set | 23 | # CONFIG_MIPS_MIRAGE is not set |
24 | # CONFIG_BASLER_EXCITE is not set | ||
24 | # CONFIG_MIPS_COBALT is not set | 25 | # CONFIG_MIPS_COBALT is not set |
25 | # CONFIG_MACH_DECSTATION is not set | 26 | # CONFIG_MACH_DECSTATION is not set |
26 | # CONFIG_MIPS_EV64120 is not set | 27 | # CONFIG_MIPS_EV64120 is not set |
@@ -32,6 +33,7 @@ CONFIG_MIPS_DB1100=y | |||
32 | # CONFIG_MIPS_ATLAS is not set | 33 | # CONFIG_MIPS_ATLAS is not set |
33 | # CONFIG_MIPS_MALTA is not set | 34 | # CONFIG_MIPS_MALTA is not set |
34 | # CONFIG_MIPS_SEAD is not set | 35 | # CONFIG_MIPS_SEAD is not set |
36 | # CONFIG_WR_PPMC is not set | ||
35 | # CONFIG_MIPS_SIM is not set | 37 | # CONFIG_MIPS_SIM is not set |
36 | # CONFIG_MOMENCO_JAGUAR_ATX is not set | 38 | # CONFIG_MOMENCO_JAGUAR_ATX is not set |
37 | # CONFIG_MOMENCO_OCELOT is not set | 39 | # CONFIG_MOMENCO_OCELOT is not set |
@@ -45,6 +47,7 @@ CONFIG_MIPS_DB1100=y | |||
45 | # CONFIG_MACH_VR41XX is not set | 47 | # CONFIG_MACH_VR41XX is not set |
46 | # CONFIG_PMC_YOSEMITE is not set | 48 | # CONFIG_PMC_YOSEMITE is not set |
47 | # CONFIG_QEMU is not set | 49 | # CONFIG_QEMU is not set |
50 | # CONFIG_MARKEINS is not set | ||
48 | # CONFIG_SGI_IP22 is not set | 51 | # CONFIG_SGI_IP22 is not set |
49 | # CONFIG_SGI_IP27 is not set | 52 | # CONFIG_SGI_IP27 is not set |
50 | # CONFIG_SGI_IP32 is not set | 53 | # CONFIG_SGI_IP32 is not set |
@@ -65,6 +68,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y | |||
65 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 68 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
66 | CONFIG_GENERIC_HWEIGHT=y | 69 | CONFIG_GENERIC_HWEIGHT=y |
67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 70 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
71 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
68 | CONFIG_DMA_NONCOHERENT=y | 72 | CONFIG_DMA_NONCOHERENT=y |
69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 73 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
70 | # CONFIG_CPU_BIG_ENDIAN is not set | 74 | # CONFIG_CPU_BIG_ENDIAN is not set |
@@ -112,7 +116,10 @@ CONFIG_PAGE_SIZE_4KB=y | |||
112 | # CONFIG_PAGE_SIZE_16KB is not set | 116 | # CONFIG_PAGE_SIZE_16KB is not set |
113 | # CONFIG_PAGE_SIZE_64KB is not set | 117 | # CONFIG_PAGE_SIZE_64KB is not set |
114 | CONFIG_CPU_HAS_PREFETCH=y | 118 | CONFIG_CPU_HAS_PREFETCH=y |
115 | # CONFIG_MIPS_MT is not set | 119 | CONFIG_MIPS_MT_DISABLED=y |
120 | # CONFIG_MIPS_MT_SMTC is not set | ||
121 | # CONFIG_MIPS_MT_SMP is not set | ||
122 | # CONFIG_MIPS_VPE_LOADER is not set | ||
116 | CONFIG_64BIT_PHYS_ADDR=y | 123 | CONFIG_64BIT_PHYS_ADDR=y |
117 | CONFIG_CPU_HAS_LLSC=y | 124 | CONFIG_CPU_HAS_LLSC=y |
118 | CONFIG_CPU_HAS_SYNC=y | 125 | CONFIG_CPU_HAS_SYNC=y |
@@ -128,6 +135,7 @@ CONFIG_FLATMEM=y | |||
128 | CONFIG_FLAT_NODE_MEM_MAP=y | 135 | CONFIG_FLAT_NODE_MEM_MAP=y |
129 | # CONFIG_SPARSEMEM_STATIC is not set | 136 | # CONFIG_SPARSEMEM_STATIC is not set |
130 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 137 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
138 | # CONFIG_RESOURCES_64BIT is not set | ||
131 | # CONFIG_HZ_48 is not set | 139 | # CONFIG_HZ_48 is not set |
132 | # CONFIG_HZ_100 is not set | 140 | # CONFIG_HZ_100 is not set |
133 | # CONFIG_HZ_128 is not set | 141 | # CONFIG_HZ_128 is not set |
@@ -140,6 +148,7 @@ CONFIG_HZ=1000 | |||
140 | CONFIG_PREEMPT_NONE=y | 148 | CONFIG_PREEMPT_NONE=y |
141 | # CONFIG_PREEMPT_VOLUNTARY is not set | 149 | # CONFIG_PREEMPT_VOLUNTARY is not set |
142 | # CONFIG_PREEMPT is not set | 150 | # CONFIG_PREEMPT is not set |
151 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
143 | 152 | ||
144 | # | 153 | # |
145 | # Code maturity level options | 154 | # Code maturity level options |
@@ -171,14 +180,15 @@ CONFIG_PRINTK=y | |||
171 | CONFIG_BUG=y | 180 | CONFIG_BUG=y |
172 | CONFIG_ELF_CORE=y | 181 | CONFIG_ELF_CORE=y |
173 | CONFIG_BASE_FULL=y | 182 | CONFIG_BASE_FULL=y |
183 | CONFIG_RT_MUTEXES=y | ||
174 | CONFIG_FUTEX=y | 184 | CONFIG_FUTEX=y |
175 | CONFIG_EPOLL=y | 185 | CONFIG_EPOLL=y |
176 | CONFIG_SHMEM=y | 186 | CONFIG_SHMEM=y |
177 | CONFIG_SLAB=y | 187 | CONFIG_SLAB=y |
188 | CONFIG_VM_EVENT_COUNTERS=y | ||
178 | # CONFIG_TINY_SHMEM is not set | 189 | # CONFIG_TINY_SHMEM is not set |
179 | CONFIG_BASE_SMALL=0 | 190 | CONFIG_BASE_SMALL=0 |
180 | # CONFIG_SLOB is not set | 191 | # CONFIG_SLOB is not set |
181 | CONFIG_OBSOLETE_INTERMODULE=y | ||
182 | 192 | ||
183 | # | 193 | # |
184 | # Loadable module support | 194 | # Loadable module support |
@@ -265,6 +275,8 @@ CONFIG_IP_PNP_BOOTP=y | |||
265 | # CONFIG_INET_IPCOMP is not set | 275 | # CONFIG_INET_IPCOMP is not set |
266 | # CONFIG_INET_XFRM_TUNNEL is not set | 276 | # CONFIG_INET_XFRM_TUNNEL is not set |
267 | # CONFIG_INET_TUNNEL is not set | 277 | # CONFIG_INET_TUNNEL is not set |
278 | CONFIG_INET_XFRM_MODE_TRANSPORT=m | ||
279 | CONFIG_INET_XFRM_MODE_TUNNEL=m | ||
268 | CONFIG_INET_DIAG=y | 280 | CONFIG_INET_DIAG=y |
269 | CONFIG_INET_TCP_DIAG=y | 281 | CONFIG_INET_TCP_DIAG=y |
270 | # CONFIG_TCP_CONG_ADVANCED is not set | 282 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -277,6 +289,7 @@ CONFIG_TCP_CONG_BIC=y | |||
277 | # CONFIG_IPV6 is not set | 289 | # CONFIG_IPV6 is not set |
278 | # CONFIG_INET6_XFRM_TUNNEL is not set | 290 | # CONFIG_INET6_XFRM_TUNNEL is not set |
279 | # CONFIG_INET6_TUNNEL is not set | 291 | # CONFIG_INET6_TUNNEL is not set |
292 | CONFIG_NETWORK_SECMARK=y | ||
280 | CONFIG_NETFILTER=y | 293 | CONFIG_NETFILTER=y |
281 | # CONFIG_NETFILTER_DEBUG is not set | 294 | # CONFIG_NETFILTER_DEBUG is not set |
282 | 295 | ||
@@ -291,6 +304,7 @@ CONFIG_NETFILTER_XTABLES=m | |||
291 | CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m | 304 | CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m |
292 | CONFIG_NETFILTER_XT_TARGET_MARK=m | 305 | CONFIG_NETFILTER_XT_TARGET_MARK=m |
293 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | 306 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m |
307 | CONFIG_NETFILTER_XT_TARGET_SECMARK=m | ||
294 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | 308 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m |
295 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 309 | CONFIG_NETFILTER_XT_MATCH_DCCP=m |
296 | CONFIG_NETFILTER_XT_MATCH_ESP=m | 310 | CONFIG_NETFILTER_XT_MATCH_ESP=m |
@@ -301,8 +315,10 @@ CONFIG_NETFILTER_XT_MATCH_MARK=m | |||
301 | CONFIG_NETFILTER_XT_MATCH_POLICY=m | 315 | CONFIG_NETFILTER_XT_MATCH_POLICY=m |
302 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m | 316 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m |
303 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 317 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m |
318 | CONFIG_NETFILTER_XT_MATCH_QUOTA=m | ||
304 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 319 | CONFIG_NETFILTER_XT_MATCH_REALM=m |
305 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | 320 | CONFIG_NETFILTER_XT_MATCH_SCTP=m |
321 | CONFIG_NETFILTER_XT_MATCH_STATISTIC=m | ||
306 | CONFIG_NETFILTER_XT_MATCH_STRING=m | 322 | CONFIG_NETFILTER_XT_MATCH_STRING=m |
307 | CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | 323 | CONFIG_NETFILTER_XT_MATCH_TCPMSS=m |
308 | 324 | ||
@@ -372,6 +388,7 @@ CONFIG_WIRELESS_EXT=y | |||
372 | CONFIG_STANDALONE=y | 388 | CONFIG_STANDALONE=y |
373 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 389 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
374 | # CONFIG_FW_LOADER is not set | 390 | # CONFIG_FW_LOADER is not set |
391 | # CONFIG_SYS_HYPERVISOR is not set | ||
375 | 392 | ||
376 | # | 393 | # |
377 | # Connector - unified userspace <-> kernelspace linker | 394 | # Connector - unified userspace <-> kernelspace linker |
@@ -521,7 +538,7 @@ CONFIG_NETDEVICES=y | |||
521 | # | 538 | # |
522 | # PHY device support | 539 | # PHY device support |
523 | # | 540 | # |
524 | CONFIG_PHYLIB=m | 541 | CONFIG_PHYLIB=y |
525 | 542 | ||
526 | # | 543 | # |
527 | # MII PHY device drivers | 544 | # MII PHY device drivers |
@@ -531,6 +548,8 @@ CONFIG_DAVICOM_PHY=m | |||
531 | CONFIG_QSEMI_PHY=m | 548 | CONFIG_QSEMI_PHY=m |
532 | CONFIG_LXT_PHY=m | 549 | CONFIG_LXT_PHY=m |
533 | CONFIG_CICADA_PHY=m | 550 | CONFIG_CICADA_PHY=m |
551 | CONFIG_VITESSE_PHY=m | ||
552 | CONFIG_SMSC_PHY=m | ||
534 | 553 | ||
535 | # | 554 | # |
536 | # Ethernet (10 or 100Mbit) | 555 | # Ethernet (10 or 100Mbit) |
@@ -629,6 +648,7 @@ CONFIG_SERIO_RAW=m | |||
629 | CONFIG_VT=y | 648 | CONFIG_VT=y |
630 | CONFIG_VT_CONSOLE=y | 649 | CONFIG_VT_CONSOLE=y |
631 | CONFIG_HW_CONSOLE=y | 650 | CONFIG_HW_CONSOLE=y |
651 | CONFIG_VT_HW_CONSOLE_BINDING=y | ||
632 | # CONFIG_SERIAL_NONSTANDARD is not set | 652 | # CONFIG_SERIAL_NONSTANDARD is not set |
633 | # CONFIG_AU1X00_GPIO is not set | 653 | # CONFIG_AU1X00_GPIO is not set |
634 | # CONFIG_TS_AU1X00_ADS7846 is not set | 654 | # CONFIG_TS_AU1X00_ADS7846 is not set |
@@ -661,6 +681,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
661 | # Watchdog Cards | 681 | # Watchdog Cards |
662 | # | 682 | # |
663 | # CONFIG_WATCHDOG is not set | 683 | # CONFIG_WATCHDOG is not set |
684 | # CONFIG_HW_RANDOM is not set | ||
664 | # CONFIG_RTC is not set | 685 | # CONFIG_RTC is not set |
665 | # CONFIG_GEN_RTC is not set | 686 | # CONFIG_GEN_RTC is not set |
666 | # CONFIG_DTLK is not set | 687 | # CONFIG_DTLK is not set |
@@ -707,6 +728,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
707 | # Multimedia devices | 728 | # Multimedia devices |
708 | # | 729 | # |
709 | # CONFIG_VIDEO_DEV is not set | 730 | # CONFIG_VIDEO_DEV is not set |
731 | CONFIG_VIDEO_V4L2=y | ||
710 | 732 | ||
711 | # | 733 | # |
712 | # Digital Video Broadcasting Devices | 734 | # Digital Video Broadcasting Devices |
@@ -716,12 +738,13 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
716 | # | 738 | # |
717 | # Graphics support | 739 | # Graphics support |
718 | # | 740 | # |
741 | # CONFIG_FIRMWARE_EDID is not set | ||
719 | CONFIG_FB=y | 742 | CONFIG_FB=y |
720 | CONFIG_FB_CFB_FILLRECT=y | 743 | CONFIG_FB_CFB_FILLRECT=y |
721 | CONFIG_FB_CFB_COPYAREA=y | 744 | CONFIG_FB_CFB_COPYAREA=y |
722 | CONFIG_FB_CFB_IMAGEBLIT=y | 745 | CONFIG_FB_CFB_IMAGEBLIT=y |
723 | # CONFIG_FB_MACMODES is not set | 746 | # CONFIG_FB_MACMODES is not set |
724 | CONFIG_FB_FIRMWARE_EDID=y | 747 | # CONFIG_FB_BACKLIGHT is not set |
725 | # CONFIG_FB_MODE_HELPERS is not set | 748 | # CONFIG_FB_MODE_HELPERS is not set |
726 | # CONFIG_FB_TILEBLITTING is not set | 749 | # CONFIG_FB_TILEBLITTING is not set |
727 | # CONFIG_FB_S1D13XXX is not set | 750 | # CONFIG_FB_S1D13XXX is not set |
@@ -810,6 +833,19 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
810 | # CONFIG_RTC_CLASS is not set | 833 | # CONFIG_RTC_CLASS is not set |
811 | 834 | ||
812 | # | 835 | # |
836 | # DMA Engine support | ||
837 | # | ||
838 | # CONFIG_DMA_ENGINE is not set | ||
839 | |||
840 | # | ||
841 | # DMA Clients | ||
842 | # | ||
843 | |||
844 | # | ||
845 | # DMA Devices | ||
846 | # | ||
847 | |||
848 | # | ||
813 | # File systems | 849 | # File systems |
814 | # | 850 | # |
815 | CONFIG_EXT2_FS=y | 851 | CONFIG_EXT2_FS=y |
@@ -837,6 +873,7 @@ CONFIG_FS_POSIX_ACL=y | |||
837 | # CONFIG_MINIX_FS is not set | 873 | # CONFIG_MINIX_FS is not set |
838 | # CONFIG_ROMFS_FS is not set | 874 | # CONFIG_ROMFS_FS is not set |
839 | CONFIG_INOTIFY=y | 875 | CONFIG_INOTIFY=y |
876 | CONFIG_INOTIFY_USER=y | ||
840 | # CONFIG_QUOTA is not set | 877 | # CONFIG_QUOTA is not set |
841 | CONFIG_DNOTIFY=y | 878 | CONFIG_DNOTIFY=y |
842 | CONFIG_AUTOFS_FS=m | 879 | CONFIG_AUTOFS_FS=m |
@@ -906,6 +943,7 @@ CONFIG_SUNRPC=y | |||
906 | CONFIG_SMB_FS=m | 943 | CONFIG_SMB_FS=m |
907 | # CONFIG_SMB_NLS_DEFAULT is not set | 944 | # CONFIG_SMB_NLS_DEFAULT is not set |
908 | # CONFIG_CIFS is not set | 945 | # CONFIG_CIFS is not set |
946 | # CONFIG_CIFS_DEBUG2 is not set | ||
909 | # CONFIG_NCP_FS is not set | 947 | # CONFIG_NCP_FS is not set |
910 | # CONFIG_CODA_FS is not set | 948 | # CONFIG_CODA_FS is not set |
911 | # CONFIG_AFS_FS is not set | 949 | # CONFIG_AFS_FS is not set |
@@ -971,6 +1009,7 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
971 | # | 1009 | # |
972 | # CONFIG_PRINTK_TIME is not set | 1010 | # CONFIG_PRINTK_TIME is not set |
973 | # CONFIG_MAGIC_SYSRQ is not set | 1011 | # CONFIG_MAGIC_SYSRQ is not set |
1012 | # CONFIG_UNUSED_SYMBOLS is not set | ||
974 | # CONFIG_DEBUG_KERNEL is not set | 1013 | # CONFIG_DEBUG_KERNEL is not set |
975 | CONFIG_LOG_BUF_SHIFT=14 | 1014 | CONFIG_LOG_BUF_SHIFT=14 |
976 | # CONFIG_DEBUG_FS is not set | 1015 | # CONFIG_DEBUG_FS is not set |
@@ -1030,3 +1069,4 @@ CONFIG_TEXTSEARCH=y | |||
1030 | CONFIG_TEXTSEARCH_KMP=m | 1069 | CONFIG_TEXTSEARCH_KMP=m |
1031 | CONFIG_TEXTSEARCH_BM=m | 1070 | CONFIG_TEXTSEARCH_BM=m |
1032 | CONFIG_TEXTSEARCH_FSM=m | 1071 | CONFIG_TEXTSEARCH_FSM=m |
1072 | CONFIG_PLIST=y | ||
diff --git a/arch/mips/configs/db1200_defconfig b/arch/mips/configs/db1200_defconfig index 85ef90ce0944..c13768e75ac5 100644 --- a/arch/mips/configs/db1200_defconfig +++ b/arch/mips/configs/db1200_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17-rc2 | 3 | # Linux kernel version: 2.6.18-rc1 |
4 | # Mon Apr 24 14:50:58 2006 | 4 | # Thu Jul 6 10:03:43 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -21,6 +21,7 @@ CONFIG_MIPS=y | |||
21 | # CONFIG_MIPS_DB1550 is not set | 21 | # CONFIG_MIPS_DB1550 is not set |
22 | CONFIG_MIPS_DB1200=y | 22 | CONFIG_MIPS_DB1200=y |
23 | # CONFIG_MIPS_MIRAGE is not set | 23 | # CONFIG_MIPS_MIRAGE is not set |
24 | # CONFIG_BASLER_EXCITE is not set | ||
24 | # CONFIG_MIPS_COBALT is not set | 25 | # CONFIG_MIPS_COBALT is not set |
25 | # CONFIG_MACH_DECSTATION is not set | 26 | # CONFIG_MACH_DECSTATION is not set |
26 | # CONFIG_MIPS_EV64120 is not set | 27 | # CONFIG_MIPS_EV64120 is not set |
@@ -32,6 +33,7 @@ CONFIG_MIPS_DB1200=y | |||
32 | # CONFIG_MIPS_ATLAS is not set | 33 | # CONFIG_MIPS_ATLAS is not set |
33 | # CONFIG_MIPS_MALTA is not set | 34 | # CONFIG_MIPS_MALTA is not set |
34 | # CONFIG_MIPS_SEAD is not set | 35 | # CONFIG_MIPS_SEAD is not set |
36 | # CONFIG_WR_PPMC is not set | ||
35 | # CONFIG_MIPS_SIM is not set | 37 | # CONFIG_MIPS_SIM is not set |
36 | # CONFIG_MOMENCO_JAGUAR_ATX is not set | 38 | # CONFIG_MOMENCO_JAGUAR_ATX is not set |
37 | # CONFIG_MOMENCO_OCELOT is not set | 39 | # CONFIG_MOMENCO_OCELOT is not set |
@@ -45,6 +47,7 @@ CONFIG_MIPS_DB1200=y | |||
45 | # CONFIG_MACH_VR41XX is not set | 47 | # CONFIG_MACH_VR41XX is not set |
46 | # CONFIG_PMC_YOSEMITE is not set | 48 | # CONFIG_PMC_YOSEMITE is not set |
47 | # CONFIG_QEMU is not set | 49 | # CONFIG_QEMU is not set |
50 | # CONFIG_MARKEINS is not set | ||
48 | # CONFIG_SGI_IP22 is not set | 51 | # CONFIG_SGI_IP22 is not set |
49 | # CONFIG_SGI_IP27 is not set | 52 | # CONFIG_SGI_IP27 is not set |
50 | # CONFIG_SGI_IP32 is not set | 53 | # CONFIG_SGI_IP32 is not set |
@@ -65,6 +68,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y | |||
65 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 68 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
66 | CONFIG_GENERIC_HWEIGHT=y | 69 | CONFIG_GENERIC_HWEIGHT=y |
67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 70 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
71 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
68 | CONFIG_DMA_COHERENT=y | 72 | CONFIG_DMA_COHERENT=y |
69 | CONFIG_MIPS_DISABLE_OBSOLETE_IDE=y | 73 | CONFIG_MIPS_DISABLE_OBSOLETE_IDE=y |
70 | # CONFIG_CPU_BIG_ENDIAN is not set | 74 | # CONFIG_CPU_BIG_ENDIAN is not set |
@@ -112,7 +116,10 @@ CONFIG_PAGE_SIZE_4KB=y | |||
112 | # CONFIG_PAGE_SIZE_16KB is not set | 116 | # CONFIG_PAGE_SIZE_16KB is not set |
113 | # CONFIG_PAGE_SIZE_64KB is not set | 117 | # CONFIG_PAGE_SIZE_64KB is not set |
114 | CONFIG_CPU_HAS_PREFETCH=y | 118 | CONFIG_CPU_HAS_PREFETCH=y |
115 | # CONFIG_MIPS_MT is not set | 119 | CONFIG_MIPS_MT_DISABLED=y |
120 | # CONFIG_MIPS_MT_SMTC is not set | ||
121 | # CONFIG_MIPS_MT_SMP is not set | ||
122 | # CONFIG_MIPS_VPE_LOADER is not set | ||
116 | CONFIG_64BIT_PHYS_ADDR=y | 123 | CONFIG_64BIT_PHYS_ADDR=y |
117 | CONFIG_CPU_HAS_LLSC=y | 124 | CONFIG_CPU_HAS_LLSC=y |
118 | CONFIG_CPU_HAS_SYNC=y | 125 | CONFIG_CPU_HAS_SYNC=y |
@@ -128,6 +135,7 @@ CONFIG_FLATMEM=y | |||
128 | CONFIG_FLAT_NODE_MEM_MAP=y | 135 | CONFIG_FLAT_NODE_MEM_MAP=y |
129 | # CONFIG_SPARSEMEM_STATIC is not set | 136 | # CONFIG_SPARSEMEM_STATIC is not set |
130 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 137 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
138 | # CONFIG_RESOURCES_64BIT is not set | ||
131 | # CONFIG_HZ_48 is not set | 139 | # CONFIG_HZ_48 is not set |
132 | # CONFIG_HZ_100 is not set | 140 | # CONFIG_HZ_100 is not set |
133 | # CONFIG_HZ_128 is not set | 141 | # CONFIG_HZ_128 is not set |
@@ -140,6 +148,7 @@ CONFIG_HZ=1000 | |||
140 | CONFIG_PREEMPT_NONE=y | 148 | CONFIG_PREEMPT_NONE=y |
141 | # CONFIG_PREEMPT_VOLUNTARY is not set | 149 | # CONFIG_PREEMPT_VOLUNTARY is not set |
142 | # CONFIG_PREEMPT is not set | 150 | # CONFIG_PREEMPT is not set |
151 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
143 | 152 | ||
144 | # | 153 | # |
145 | # Code maturity level options | 154 | # Code maturity level options |
@@ -172,14 +181,15 @@ CONFIG_PRINTK=y | |||
172 | CONFIG_BUG=y | 181 | CONFIG_BUG=y |
173 | CONFIG_ELF_CORE=y | 182 | CONFIG_ELF_CORE=y |
174 | CONFIG_BASE_FULL=y | 183 | CONFIG_BASE_FULL=y |
184 | CONFIG_RT_MUTEXES=y | ||
175 | CONFIG_FUTEX=y | 185 | CONFIG_FUTEX=y |
176 | CONFIG_EPOLL=y | 186 | CONFIG_EPOLL=y |
177 | CONFIG_SHMEM=y | 187 | CONFIG_SHMEM=y |
178 | CONFIG_SLAB=y | 188 | CONFIG_SLAB=y |
189 | CONFIG_VM_EVENT_COUNTERS=y | ||
179 | # CONFIG_TINY_SHMEM is not set | 190 | # CONFIG_TINY_SHMEM is not set |
180 | CONFIG_BASE_SMALL=0 | 191 | CONFIG_BASE_SMALL=0 |
181 | # CONFIG_SLOB is not set | 192 | # CONFIG_SLOB is not set |
182 | CONFIG_OBSOLETE_INTERMODULE=y | ||
183 | 193 | ||
184 | # | 194 | # |
185 | # Loadable module support | 195 | # Loadable module support |
@@ -272,6 +282,8 @@ CONFIG_IP_FIB_HASH=y | |||
272 | # CONFIG_INET_IPCOMP is not set | 282 | # CONFIG_INET_IPCOMP is not set |
273 | # CONFIG_INET_XFRM_TUNNEL is not set | 283 | # CONFIG_INET_XFRM_TUNNEL is not set |
274 | # CONFIG_INET_TUNNEL is not set | 284 | # CONFIG_INET_TUNNEL is not set |
285 | CONFIG_INET_XFRM_MODE_TRANSPORT=m | ||
286 | CONFIG_INET_XFRM_MODE_TUNNEL=m | ||
275 | CONFIG_INET_DIAG=y | 287 | CONFIG_INET_DIAG=y |
276 | CONFIG_INET_TCP_DIAG=y | 288 | CONFIG_INET_TCP_DIAG=y |
277 | # CONFIG_TCP_CONG_ADVANCED is not set | 289 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -284,6 +296,7 @@ CONFIG_TCP_CONG_BIC=y | |||
284 | # CONFIG_IPV6 is not set | 296 | # CONFIG_IPV6 is not set |
285 | # CONFIG_INET6_XFRM_TUNNEL is not set | 297 | # CONFIG_INET6_XFRM_TUNNEL is not set |
286 | # CONFIG_INET6_TUNNEL is not set | 298 | # CONFIG_INET6_TUNNEL is not set |
299 | CONFIG_NETWORK_SECMARK=y | ||
287 | CONFIG_NETFILTER=y | 300 | CONFIG_NETFILTER=y |
288 | # CONFIG_NETFILTER_DEBUG is not set | 301 | # CONFIG_NETFILTER_DEBUG is not set |
289 | 302 | ||
@@ -296,6 +309,7 @@ CONFIG_NETFILTER_XTABLES=m | |||
296 | CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m | 309 | CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m |
297 | CONFIG_NETFILTER_XT_TARGET_MARK=m | 310 | CONFIG_NETFILTER_XT_TARGET_MARK=m |
298 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | 311 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m |
312 | CONFIG_NETFILTER_XT_TARGET_SECMARK=m | ||
299 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | 313 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m |
300 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 314 | CONFIG_NETFILTER_XT_MATCH_DCCP=m |
301 | CONFIG_NETFILTER_XT_MATCH_ESP=m | 315 | CONFIG_NETFILTER_XT_MATCH_ESP=m |
@@ -306,8 +320,10 @@ CONFIG_NETFILTER_XT_MATCH_MARK=m | |||
306 | CONFIG_NETFILTER_XT_MATCH_POLICY=m | 320 | CONFIG_NETFILTER_XT_MATCH_POLICY=m |
307 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m | 321 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m |
308 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 322 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m |
323 | CONFIG_NETFILTER_XT_MATCH_QUOTA=m | ||
309 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 324 | CONFIG_NETFILTER_XT_MATCH_REALM=m |
310 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | 325 | CONFIG_NETFILTER_XT_MATCH_SCTP=m |
326 | CONFIG_NETFILTER_XT_MATCH_STATISTIC=m | ||
311 | CONFIG_NETFILTER_XT_MATCH_STRING=m | 327 | CONFIG_NETFILTER_XT_MATCH_STRING=m |
312 | CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | 328 | CONFIG_NETFILTER_XT_MATCH_TCPMSS=m |
313 | 329 | ||
@@ -371,6 +387,7 @@ CONFIG_NET_CLS_ROUTE=y | |||
371 | CONFIG_STANDALONE=y | 387 | CONFIG_STANDALONE=y |
372 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 388 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
373 | CONFIG_FW_LOADER=y | 389 | CONFIG_FW_LOADER=y |
390 | # CONFIG_SYS_HYPERVISOR is not set | ||
374 | 391 | ||
375 | # | 392 | # |
376 | # Connector - unified userspace <-> kernelspace linker | 393 | # Connector - unified userspace <-> kernelspace linker |
@@ -451,6 +468,7 @@ CONFIG_MTD_ALCHEMY=y | |||
451 | # | 468 | # |
452 | CONFIG_MTD_NAND=y | 469 | CONFIG_MTD_NAND=y |
453 | # CONFIG_MTD_NAND_VERIFY_WRITE is not set | 470 | # CONFIG_MTD_NAND_VERIFY_WRITE is not set |
471 | # CONFIG_MTD_NAND_ECC_SMC is not set | ||
454 | CONFIG_MTD_NAND_IDS=y | 472 | CONFIG_MTD_NAND_IDS=y |
455 | # CONFIG_MTD_NAND_AU1550 is not set | 473 | # CONFIG_MTD_NAND_AU1550 is not set |
456 | # CONFIG_MTD_NAND_DISKONCHIP is not set | 474 | # CONFIG_MTD_NAND_DISKONCHIP is not set |
@@ -691,6 +709,7 @@ CONFIG_SERIO_RAW=y | |||
691 | CONFIG_VT=y | 709 | CONFIG_VT=y |
692 | CONFIG_VT_CONSOLE=y | 710 | CONFIG_VT_CONSOLE=y |
693 | CONFIG_HW_CONSOLE=y | 711 | CONFIG_HW_CONSOLE=y |
712 | CONFIG_VT_HW_CONSOLE_BINDING=y | ||
694 | # CONFIG_SERIAL_NONSTANDARD is not set | 713 | # CONFIG_SERIAL_NONSTANDARD is not set |
695 | # CONFIG_AU1X00_GPIO is not set | 714 | # CONFIG_AU1X00_GPIO is not set |
696 | # CONFIG_TS_AU1X00_ADS7846 is not set | 715 | # CONFIG_TS_AU1X00_ADS7846 is not set |
@@ -724,6 +743,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
724 | # Watchdog Cards | 743 | # Watchdog Cards |
725 | # | 744 | # |
726 | # CONFIG_WATCHDOG is not set | 745 | # CONFIG_WATCHDOG is not set |
746 | # CONFIG_HW_RANDOM is not set | ||
727 | # CONFIG_RTC is not set | 747 | # CONFIG_RTC is not set |
728 | # CONFIG_GEN_RTC is not set | 748 | # CONFIG_GEN_RTC is not set |
729 | # CONFIG_DTLK is not set | 749 | # CONFIG_DTLK is not set |
@@ -761,7 +781,6 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
761 | # | 781 | # |
762 | # Dallas's 1-wire bus | 782 | # Dallas's 1-wire bus |
763 | # | 783 | # |
764 | # CONFIG_W1 is not set | ||
765 | 784 | ||
766 | # | 785 | # |
767 | # Hardware Monitoring support | 786 | # Hardware Monitoring support |
@@ -777,6 +796,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
777 | # Multimedia devices | 796 | # Multimedia devices |
778 | # | 797 | # |
779 | # CONFIG_VIDEO_DEV is not set | 798 | # CONFIG_VIDEO_DEV is not set |
799 | CONFIG_VIDEO_V4L2=y | ||
780 | 800 | ||
781 | # | 801 | # |
782 | # Digital Video Broadcasting Devices | 802 | # Digital Video Broadcasting Devices |
@@ -786,12 +806,13 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
786 | # | 806 | # |
787 | # Graphics support | 807 | # Graphics support |
788 | # | 808 | # |
809 | # CONFIG_FIRMWARE_EDID is not set | ||
789 | CONFIG_FB=y | 810 | CONFIG_FB=y |
790 | CONFIG_FB_CFB_FILLRECT=y | 811 | CONFIG_FB_CFB_FILLRECT=y |
791 | CONFIG_FB_CFB_COPYAREA=y | 812 | CONFIG_FB_CFB_COPYAREA=y |
792 | CONFIG_FB_CFB_IMAGEBLIT=y | 813 | CONFIG_FB_CFB_IMAGEBLIT=y |
793 | # CONFIG_FB_MACMODES is not set | 814 | # CONFIG_FB_MACMODES is not set |
794 | CONFIG_FB_FIRMWARE_EDID=y | 815 | # CONFIG_FB_BACKLIGHT is not set |
795 | # CONFIG_FB_MODE_HELPERS is not set | 816 | # CONFIG_FB_MODE_HELPERS is not set |
796 | # CONFIG_FB_TILEBLITTING is not set | 817 | # CONFIG_FB_TILEBLITTING is not set |
797 | # CONFIG_FB_S1D13XXX is not set | 818 | # CONFIG_FB_S1D13XXX is not set |
@@ -881,6 +902,19 @@ CONFIG_MMC_AU1X=y | |||
881 | # CONFIG_RTC_CLASS is not set | 902 | # CONFIG_RTC_CLASS is not set |
882 | 903 | ||
883 | # | 904 | # |
905 | # DMA Engine support | ||
906 | # | ||
907 | # CONFIG_DMA_ENGINE is not set | ||
908 | |||
909 | # | ||
910 | # DMA Clients | ||
911 | # | ||
912 | |||
913 | # | ||
914 | # DMA Devices | ||
915 | # | ||
916 | |||
917 | # | ||
884 | # File systems | 918 | # File systems |
885 | # | 919 | # |
886 | CONFIG_EXT2_FS=y | 920 | CONFIG_EXT2_FS=y |
@@ -907,6 +941,7 @@ CONFIG_FS_POSIX_ACL=y | |||
907 | # CONFIG_MINIX_FS is not set | 941 | # CONFIG_MINIX_FS is not set |
908 | # CONFIG_ROMFS_FS is not set | 942 | # CONFIG_ROMFS_FS is not set |
909 | CONFIG_INOTIFY=y | 943 | CONFIG_INOTIFY=y |
944 | CONFIG_INOTIFY_USER=y | ||
910 | # CONFIG_QUOTA is not set | 945 | # CONFIG_QUOTA is not set |
911 | CONFIG_DNOTIFY=y | 946 | CONFIG_DNOTIFY=y |
912 | # CONFIG_AUTOFS_FS is not set | 947 | # CONFIG_AUTOFS_FS is not set |
@@ -959,6 +994,7 @@ CONFIG_JFFS2_FS=y | |||
959 | CONFIG_JFFS2_FS_DEBUG=0 | 994 | CONFIG_JFFS2_FS_DEBUG=0 |
960 | CONFIG_JFFS2_FS_WRITEBUFFER=y | 995 | CONFIG_JFFS2_FS_WRITEBUFFER=y |
961 | # CONFIG_JFFS2_SUMMARY is not set | 996 | # CONFIG_JFFS2_SUMMARY is not set |
997 | # CONFIG_JFFS2_FS_XATTR is not set | ||
962 | # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set | 998 | # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set |
963 | CONFIG_JFFS2_ZLIB=y | 999 | CONFIG_JFFS2_ZLIB=y |
964 | CONFIG_JFFS2_RTIME=y | 1000 | CONFIG_JFFS2_RTIME=y |
@@ -988,6 +1024,7 @@ CONFIG_SUNRPC=y | |||
988 | CONFIG_SMB_FS=y | 1024 | CONFIG_SMB_FS=y |
989 | # CONFIG_SMB_NLS_DEFAULT is not set | 1025 | # CONFIG_SMB_NLS_DEFAULT is not set |
990 | # CONFIG_CIFS is not set | 1026 | # CONFIG_CIFS is not set |
1027 | # CONFIG_CIFS_DEBUG2 is not set | ||
991 | # CONFIG_NCP_FS is not set | 1028 | # CONFIG_NCP_FS is not set |
992 | # CONFIG_CODA_FS is not set | 1029 | # CONFIG_CODA_FS is not set |
993 | # CONFIG_AFS_FS is not set | 1030 | # CONFIG_AFS_FS is not set |
@@ -1053,6 +1090,7 @@ CONFIG_NLS_UTF8=m | |||
1053 | # | 1090 | # |
1054 | # CONFIG_PRINTK_TIME is not set | 1091 | # CONFIG_PRINTK_TIME is not set |
1055 | # CONFIG_MAGIC_SYSRQ is not set | 1092 | # CONFIG_MAGIC_SYSRQ is not set |
1093 | # CONFIG_UNUSED_SYMBOLS is not set | ||
1056 | # CONFIG_DEBUG_KERNEL is not set | 1094 | # CONFIG_DEBUG_KERNEL is not set |
1057 | CONFIG_LOG_BUF_SHIFT=14 | 1095 | CONFIG_LOG_BUF_SHIFT=14 |
1058 | # CONFIG_DEBUG_FS is not set | 1096 | # CONFIG_DEBUG_FS is not set |
@@ -1088,3 +1126,4 @@ CONFIG_TEXTSEARCH=y | |||
1088 | CONFIG_TEXTSEARCH_KMP=m | 1126 | CONFIG_TEXTSEARCH_KMP=m |
1089 | CONFIG_TEXTSEARCH_BM=m | 1127 | CONFIG_TEXTSEARCH_BM=m |
1090 | CONFIG_TEXTSEARCH_FSM=m | 1128 | CONFIG_TEXTSEARCH_FSM=m |
1129 | CONFIG_PLIST=y | ||
diff --git a/arch/mips/configs/db1500_defconfig b/arch/mips/configs/db1500_defconfig index 6f757d8a5a6c..8aea73fae7fb 100644 --- a/arch/mips/configs/db1500_defconfig +++ b/arch/mips/configs/db1500_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17-rc2 | 3 | # Linux kernel version: 2.6.18-rc1 |
4 | # Mon Apr 24 14:50:59 2006 | 4 | # Thu Jul 6 10:03:56 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -21,6 +21,7 @@ CONFIG_MIPS_DB1500=y | |||
21 | # CONFIG_MIPS_DB1550 is not set | 21 | # CONFIG_MIPS_DB1550 is not set |
22 | # CONFIG_MIPS_DB1200 is not set | 22 | # CONFIG_MIPS_DB1200 is not set |
23 | # CONFIG_MIPS_MIRAGE is not set | 23 | # CONFIG_MIPS_MIRAGE is not set |
24 | # CONFIG_BASLER_EXCITE is not set | ||
24 | # CONFIG_MIPS_COBALT is not set | 25 | # CONFIG_MIPS_COBALT is not set |
25 | # CONFIG_MACH_DECSTATION is not set | 26 | # CONFIG_MACH_DECSTATION is not set |
26 | # CONFIG_MIPS_EV64120 is not set | 27 | # CONFIG_MIPS_EV64120 is not set |
@@ -32,6 +33,7 @@ CONFIG_MIPS_DB1500=y | |||
32 | # CONFIG_MIPS_ATLAS is not set | 33 | # CONFIG_MIPS_ATLAS is not set |
33 | # CONFIG_MIPS_MALTA is not set | 34 | # CONFIG_MIPS_MALTA is not set |
34 | # CONFIG_MIPS_SEAD is not set | 35 | # CONFIG_MIPS_SEAD is not set |
36 | # CONFIG_WR_PPMC is not set | ||
35 | # CONFIG_MIPS_SIM is not set | 37 | # CONFIG_MIPS_SIM is not set |
36 | # CONFIG_MOMENCO_JAGUAR_ATX is not set | 38 | # CONFIG_MOMENCO_JAGUAR_ATX is not set |
37 | # CONFIG_MOMENCO_OCELOT is not set | 39 | # CONFIG_MOMENCO_OCELOT is not set |
@@ -45,6 +47,7 @@ CONFIG_MIPS_DB1500=y | |||
45 | # CONFIG_MACH_VR41XX is not set | 47 | # CONFIG_MACH_VR41XX is not set |
46 | # CONFIG_PMC_YOSEMITE is not set | 48 | # CONFIG_PMC_YOSEMITE is not set |
47 | # CONFIG_QEMU is not set | 49 | # CONFIG_QEMU is not set |
50 | # CONFIG_MARKEINS is not set | ||
48 | # CONFIG_SGI_IP22 is not set | 51 | # CONFIG_SGI_IP22 is not set |
49 | # CONFIG_SGI_IP27 is not set | 52 | # CONFIG_SGI_IP27 is not set |
50 | # CONFIG_SGI_IP32 is not set | 53 | # CONFIG_SGI_IP32 is not set |
@@ -65,6 +68,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y | |||
65 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 68 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
66 | CONFIG_GENERIC_HWEIGHT=y | 69 | CONFIG_GENERIC_HWEIGHT=y |
67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 70 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
71 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
68 | CONFIG_DMA_NONCOHERENT=y | 72 | CONFIG_DMA_NONCOHERENT=y |
69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 73 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
70 | CONFIG_MIPS_DISABLE_OBSOLETE_IDE=y | 74 | CONFIG_MIPS_DISABLE_OBSOLETE_IDE=y |
@@ -114,7 +118,10 @@ CONFIG_PAGE_SIZE_4KB=y | |||
114 | # CONFIG_PAGE_SIZE_16KB is not set | 118 | # CONFIG_PAGE_SIZE_16KB is not set |
115 | # CONFIG_PAGE_SIZE_64KB is not set | 119 | # CONFIG_PAGE_SIZE_64KB is not set |
116 | CONFIG_CPU_HAS_PREFETCH=y | 120 | CONFIG_CPU_HAS_PREFETCH=y |
117 | # CONFIG_MIPS_MT is not set | 121 | CONFIG_MIPS_MT_DISABLED=y |
122 | # CONFIG_MIPS_MT_SMTC is not set | ||
123 | # CONFIG_MIPS_MT_SMP is not set | ||
124 | # CONFIG_MIPS_VPE_LOADER is not set | ||
118 | CONFIG_64BIT_PHYS_ADDR=y | 125 | CONFIG_64BIT_PHYS_ADDR=y |
119 | CONFIG_CPU_HAS_LLSC=y | 126 | CONFIG_CPU_HAS_LLSC=y |
120 | CONFIG_CPU_HAS_SYNC=y | 127 | CONFIG_CPU_HAS_SYNC=y |
@@ -130,6 +137,7 @@ CONFIG_FLATMEM=y | |||
130 | CONFIG_FLAT_NODE_MEM_MAP=y | 137 | CONFIG_FLAT_NODE_MEM_MAP=y |
131 | # CONFIG_SPARSEMEM_STATIC is not set | 138 | # CONFIG_SPARSEMEM_STATIC is not set |
132 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 139 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
140 | # CONFIG_RESOURCES_64BIT is not set | ||
133 | # CONFIG_HZ_48 is not set | 141 | # CONFIG_HZ_48 is not set |
134 | # CONFIG_HZ_100 is not set | 142 | # CONFIG_HZ_100 is not set |
135 | # CONFIG_HZ_128 is not set | 143 | # CONFIG_HZ_128 is not set |
@@ -142,6 +150,7 @@ CONFIG_HZ=1000 | |||
142 | CONFIG_PREEMPT_NONE=y | 150 | CONFIG_PREEMPT_NONE=y |
143 | # CONFIG_PREEMPT_VOLUNTARY is not set | 151 | # CONFIG_PREEMPT_VOLUNTARY is not set |
144 | # CONFIG_PREEMPT is not set | 152 | # CONFIG_PREEMPT is not set |
153 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
145 | 154 | ||
146 | # | 155 | # |
147 | # Code maturity level options | 156 | # Code maturity level options |
@@ -173,14 +182,15 @@ CONFIG_PRINTK=y | |||
173 | CONFIG_BUG=y | 182 | CONFIG_BUG=y |
174 | CONFIG_ELF_CORE=y | 183 | CONFIG_ELF_CORE=y |
175 | CONFIG_BASE_FULL=y | 184 | CONFIG_BASE_FULL=y |
185 | CONFIG_RT_MUTEXES=y | ||
176 | CONFIG_FUTEX=y | 186 | CONFIG_FUTEX=y |
177 | CONFIG_EPOLL=y | 187 | CONFIG_EPOLL=y |
178 | CONFIG_SHMEM=y | 188 | CONFIG_SHMEM=y |
179 | CONFIG_SLAB=y | 189 | CONFIG_SLAB=y |
190 | CONFIG_VM_EVENT_COUNTERS=y | ||
180 | # CONFIG_TINY_SHMEM is not set | 191 | # CONFIG_TINY_SHMEM is not set |
181 | CONFIG_BASE_SMALL=0 | 192 | CONFIG_BASE_SMALL=0 |
182 | # CONFIG_SLOB is not set | 193 | # CONFIG_SLOB is not set |
183 | CONFIG_OBSOLETE_INTERMODULE=y | ||
184 | 194 | ||
185 | # | 195 | # |
186 | # Loadable module support | 196 | # Loadable module support |
@@ -283,6 +293,8 @@ CONFIG_IP_PNP_BOOTP=y | |||
283 | # CONFIG_INET_IPCOMP is not set | 293 | # CONFIG_INET_IPCOMP is not set |
284 | # CONFIG_INET_XFRM_TUNNEL is not set | 294 | # CONFIG_INET_XFRM_TUNNEL is not set |
285 | # CONFIG_INET_TUNNEL is not set | 295 | # CONFIG_INET_TUNNEL is not set |
296 | CONFIG_INET_XFRM_MODE_TRANSPORT=m | ||
297 | CONFIG_INET_XFRM_MODE_TUNNEL=m | ||
286 | CONFIG_INET_DIAG=y | 298 | CONFIG_INET_DIAG=y |
287 | CONFIG_INET_TCP_DIAG=y | 299 | CONFIG_INET_TCP_DIAG=y |
288 | # CONFIG_TCP_CONG_ADVANCED is not set | 300 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -295,6 +307,7 @@ CONFIG_TCP_CONG_BIC=y | |||
295 | # CONFIG_IPV6 is not set | 307 | # CONFIG_IPV6 is not set |
296 | # CONFIG_INET6_XFRM_TUNNEL is not set | 308 | # CONFIG_INET6_XFRM_TUNNEL is not set |
297 | # CONFIG_INET6_TUNNEL is not set | 309 | # CONFIG_INET6_TUNNEL is not set |
310 | CONFIG_NETWORK_SECMARK=y | ||
298 | CONFIG_NETFILTER=y | 311 | CONFIG_NETFILTER=y |
299 | # CONFIG_NETFILTER_DEBUG is not set | 312 | # CONFIG_NETFILTER_DEBUG is not set |
300 | 313 | ||
@@ -309,6 +322,7 @@ CONFIG_NETFILTER_XTABLES=m | |||
309 | CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m | 322 | CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m |
310 | CONFIG_NETFILTER_XT_TARGET_MARK=m | 323 | CONFIG_NETFILTER_XT_TARGET_MARK=m |
311 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | 324 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m |
325 | CONFIG_NETFILTER_XT_TARGET_SECMARK=m | ||
312 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | 326 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m |
313 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 327 | CONFIG_NETFILTER_XT_MATCH_DCCP=m |
314 | CONFIG_NETFILTER_XT_MATCH_ESP=m | 328 | CONFIG_NETFILTER_XT_MATCH_ESP=m |
@@ -319,8 +333,10 @@ CONFIG_NETFILTER_XT_MATCH_MARK=m | |||
319 | CONFIG_NETFILTER_XT_MATCH_POLICY=m | 333 | CONFIG_NETFILTER_XT_MATCH_POLICY=m |
320 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m | 334 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m |
321 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 335 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m |
336 | CONFIG_NETFILTER_XT_MATCH_QUOTA=m | ||
322 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 337 | CONFIG_NETFILTER_XT_MATCH_REALM=m |
323 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | 338 | CONFIG_NETFILTER_XT_MATCH_SCTP=m |
339 | CONFIG_NETFILTER_XT_MATCH_STATISTIC=m | ||
324 | CONFIG_NETFILTER_XT_MATCH_STRING=m | 340 | CONFIG_NETFILTER_XT_MATCH_STRING=m |
325 | CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | 341 | CONFIG_NETFILTER_XT_MATCH_TCPMSS=m |
326 | 342 | ||
@@ -390,6 +406,7 @@ CONFIG_WIRELESS_EXT=y | |||
390 | CONFIG_STANDALONE=y | 406 | CONFIG_STANDALONE=y |
391 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 407 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
392 | CONFIG_FW_LOADER=m | 408 | CONFIG_FW_LOADER=m |
409 | # CONFIG_SYS_HYPERVISOR is not set | ||
393 | 410 | ||
394 | # | 411 | # |
395 | # Connector - unified userspace <-> kernelspace linker | 412 | # Connector - unified userspace <-> kernelspace linker |
@@ -576,7 +593,7 @@ CONFIG_NETDEVICES=y | |||
576 | # | 593 | # |
577 | # PHY device support | 594 | # PHY device support |
578 | # | 595 | # |
579 | CONFIG_PHYLIB=m | 596 | CONFIG_PHYLIB=y |
580 | 597 | ||
581 | # | 598 | # |
582 | # MII PHY device drivers | 599 | # MII PHY device drivers |
@@ -586,6 +603,8 @@ CONFIG_DAVICOM_PHY=m | |||
586 | CONFIG_QSEMI_PHY=m | 603 | CONFIG_QSEMI_PHY=m |
587 | CONFIG_LXT_PHY=m | 604 | CONFIG_LXT_PHY=m |
588 | CONFIG_CICADA_PHY=m | 605 | CONFIG_CICADA_PHY=m |
606 | CONFIG_VITESSE_PHY=m | ||
607 | CONFIG_SMSC_PHY=m | ||
589 | 608 | ||
590 | # | 609 | # |
591 | # Ethernet (10 or 100Mbit) | 610 | # Ethernet (10 or 100Mbit) |
@@ -630,6 +649,7 @@ CONFIG_MIPS_AU1X00_ENET=y | |||
630 | # CONFIG_CHELSIO_T1 is not set | 649 | # CONFIG_CHELSIO_T1 is not set |
631 | # CONFIG_IXGB is not set | 650 | # CONFIG_IXGB is not set |
632 | # CONFIG_S2IO is not set | 651 | # CONFIG_S2IO is not set |
652 | # CONFIG_MYRI10GE is not set | ||
633 | 653 | ||
634 | # | 654 | # |
635 | # Token Ring devices | 655 | # Token Ring devices |
@@ -753,6 +773,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
753 | # Watchdog Cards | 773 | # Watchdog Cards |
754 | # | 774 | # |
755 | # CONFIG_WATCHDOG is not set | 775 | # CONFIG_WATCHDOG is not set |
776 | # CONFIG_HW_RANDOM is not set | ||
756 | # CONFIG_RTC is not set | 777 | # CONFIG_RTC is not set |
757 | # CONFIG_GEN_RTC is not set | 778 | # CONFIG_GEN_RTC is not set |
758 | # CONFIG_DTLK is not set | 779 | # CONFIG_DTLK is not set |
@@ -808,6 +829,7 @@ CONFIG_SYNCLINK_CS=m | |||
808 | # Multimedia devices | 829 | # Multimedia devices |
809 | # | 830 | # |
810 | # CONFIG_VIDEO_DEV is not set | 831 | # CONFIG_VIDEO_DEV is not set |
832 | CONFIG_VIDEO_V4L2=y | ||
811 | 833 | ||
812 | # | 834 | # |
813 | # Digital Video Broadcasting Devices | 835 | # Digital Video Broadcasting Devices |
@@ -818,6 +840,7 @@ CONFIG_SYNCLINK_CS=m | |||
818 | # | 840 | # |
819 | # Graphics support | 841 | # Graphics support |
820 | # | 842 | # |
843 | # CONFIG_FIRMWARE_EDID is not set | ||
821 | # CONFIG_FB is not set | 844 | # CONFIG_FB is not set |
822 | 845 | ||
823 | # | 846 | # |
@@ -873,6 +896,18 @@ CONFIG_SND_MTPAV=m | |||
873 | # CONFIG_SND_CMIPCI is not set | 896 | # CONFIG_SND_CMIPCI is not set |
874 | # CONFIG_SND_CS4281 is not set | 897 | # CONFIG_SND_CS4281 is not set |
875 | # CONFIG_SND_CS46XX is not set | 898 | # CONFIG_SND_CS46XX is not set |
899 | # CONFIG_SND_DARLA20 is not set | ||
900 | # CONFIG_SND_GINA20 is not set | ||
901 | # CONFIG_SND_LAYLA20 is not set | ||
902 | # CONFIG_SND_DARLA24 is not set | ||
903 | # CONFIG_SND_GINA24 is not set | ||
904 | # CONFIG_SND_LAYLA24 is not set | ||
905 | # CONFIG_SND_MONA is not set | ||
906 | # CONFIG_SND_MIA is not set | ||
907 | # CONFIG_SND_ECHO3G is not set | ||
908 | # CONFIG_SND_INDIGO is not set | ||
909 | # CONFIG_SND_INDIGOIO is not set | ||
910 | # CONFIG_SND_INDIGODJ is not set | ||
876 | # CONFIG_SND_EMU10K1 is not set | 911 | # CONFIG_SND_EMU10K1 is not set |
877 | # CONFIG_SND_EMU10K1X is not set | 912 | # CONFIG_SND_EMU10K1X is not set |
878 | # CONFIG_SND_ENS1370 is not set | 913 | # CONFIG_SND_ENS1370 is not set |
@@ -916,6 +951,8 @@ CONFIG_SND_AU1X00=m | |||
916 | # | 951 | # |
917 | # PCMCIA devices | 952 | # PCMCIA devices |
918 | # | 953 | # |
954 | # CONFIG_SND_VXPOCKET is not set | ||
955 | # CONFIG_SND_PDAUDIOCF is not set | ||
919 | 956 | ||
920 | # | 957 | # |
921 | # Open Sound System | 958 | # Open Sound System |
@@ -1030,10 +1067,12 @@ CONFIG_USB_MON=y | |||
1030 | # CONFIG_USB_LEGOTOWER is not set | 1067 | # CONFIG_USB_LEGOTOWER is not set |
1031 | # CONFIG_USB_LCD is not set | 1068 | # CONFIG_USB_LCD is not set |
1032 | # CONFIG_USB_LED is not set | 1069 | # CONFIG_USB_LED is not set |
1070 | # CONFIG_USB_CY7C63 is not set | ||
1033 | # CONFIG_USB_CYTHERM is not set | 1071 | # CONFIG_USB_CYTHERM is not set |
1034 | # CONFIG_USB_PHIDGETKIT is not set | 1072 | # CONFIG_USB_PHIDGETKIT is not set |
1035 | # CONFIG_USB_PHIDGETSERVO is not set | 1073 | # CONFIG_USB_PHIDGETSERVO is not set |
1036 | # CONFIG_USB_IDMOUSE is not set | 1074 | # CONFIG_USB_IDMOUSE is not set |
1075 | # CONFIG_USB_APPLEDISPLAY is not set | ||
1037 | CONFIG_USB_LD=m | 1076 | CONFIG_USB_LD=m |
1038 | 1077 | ||
1039 | # | 1078 | # |
@@ -1078,6 +1117,19 @@ CONFIG_USB_LD=m | |||
1078 | # CONFIG_RTC_CLASS is not set | 1117 | # CONFIG_RTC_CLASS is not set |
1079 | 1118 | ||
1080 | # | 1119 | # |
1120 | # DMA Engine support | ||
1121 | # | ||
1122 | # CONFIG_DMA_ENGINE is not set | ||
1123 | |||
1124 | # | ||
1125 | # DMA Clients | ||
1126 | # | ||
1127 | |||
1128 | # | ||
1129 | # DMA Devices | ||
1130 | # | ||
1131 | |||
1132 | # | ||
1081 | # File systems | 1133 | # File systems |
1082 | # | 1134 | # |
1083 | CONFIG_EXT2_FS=y | 1135 | CONFIG_EXT2_FS=y |
@@ -1105,6 +1157,7 @@ CONFIG_FS_POSIX_ACL=y | |||
1105 | # CONFIG_MINIX_FS is not set | 1157 | # CONFIG_MINIX_FS is not set |
1106 | # CONFIG_ROMFS_FS is not set | 1158 | # CONFIG_ROMFS_FS is not set |
1107 | CONFIG_INOTIFY=y | 1159 | CONFIG_INOTIFY=y |
1160 | CONFIG_INOTIFY_USER=y | ||
1108 | # CONFIG_QUOTA is not set | 1161 | # CONFIG_QUOTA is not set |
1109 | CONFIG_DNOTIFY=y | 1162 | CONFIG_DNOTIFY=y |
1110 | CONFIG_AUTOFS_FS=m | 1163 | CONFIG_AUTOFS_FS=m |
@@ -1174,6 +1227,7 @@ CONFIG_SUNRPC=y | |||
1174 | CONFIG_SMB_FS=m | 1227 | CONFIG_SMB_FS=m |
1175 | # CONFIG_SMB_NLS_DEFAULT is not set | 1228 | # CONFIG_SMB_NLS_DEFAULT is not set |
1176 | # CONFIG_CIFS is not set | 1229 | # CONFIG_CIFS is not set |
1230 | # CONFIG_CIFS_DEBUG2 is not set | ||
1177 | # CONFIG_NCP_FS is not set | 1231 | # CONFIG_NCP_FS is not set |
1178 | # CONFIG_CODA_FS is not set | 1232 | # CONFIG_CODA_FS is not set |
1179 | # CONFIG_AFS_FS is not set | 1233 | # CONFIG_AFS_FS is not set |
@@ -1239,6 +1293,7 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
1239 | # | 1293 | # |
1240 | # CONFIG_PRINTK_TIME is not set | 1294 | # CONFIG_PRINTK_TIME is not set |
1241 | # CONFIG_MAGIC_SYSRQ is not set | 1295 | # CONFIG_MAGIC_SYSRQ is not set |
1296 | # CONFIG_UNUSED_SYMBOLS is not set | ||
1242 | # CONFIG_DEBUG_KERNEL is not set | 1297 | # CONFIG_DEBUG_KERNEL is not set |
1243 | CONFIG_LOG_BUF_SHIFT=14 | 1298 | CONFIG_LOG_BUF_SHIFT=14 |
1244 | # CONFIG_DEBUG_FS is not set | 1299 | # CONFIG_DEBUG_FS is not set |
@@ -1298,3 +1353,4 @@ CONFIG_TEXTSEARCH=y | |||
1298 | CONFIG_TEXTSEARCH_KMP=m | 1353 | CONFIG_TEXTSEARCH_KMP=m |
1299 | CONFIG_TEXTSEARCH_BM=m | 1354 | CONFIG_TEXTSEARCH_BM=m |
1300 | CONFIG_TEXTSEARCH_FSM=m | 1355 | CONFIG_TEXTSEARCH_FSM=m |
1356 | CONFIG_PLIST=y | ||
diff --git a/arch/mips/configs/db1550_defconfig b/arch/mips/configs/db1550_defconfig index da4c7e811bef..90ccb7359630 100644 --- a/arch/mips/configs/db1550_defconfig +++ b/arch/mips/configs/db1550_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17-rc2 | 3 | # Linux kernel version: 2.6.18-rc1 |
4 | # Mon Apr 24 14:51:00 2006 | 4 | # Thu Jul 6 10:03:59 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -21,6 +21,7 @@ CONFIG_MIPS=y | |||
21 | CONFIG_MIPS_DB1550=y | 21 | CONFIG_MIPS_DB1550=y |
22 | # CONFIG_MIPS_DB1200 is not set | 22 | # CONFIG_MIPS_DB1200 is not set |
23 | # CONFIG_MIPS_MIRAGE is not set | 23 | # CONFIG_MIPS_MIRAGE is not set |
24 | # CONFIG_BASLER_EXCITE is not set | ||
24 | # CONFIG_MIPS_COBALT is not set | 25 | # CONFIG_MIPS_COBALT is not set |
25 | # CONFIG_MACH_DECSTATION is not set | 26 | # CONFIG_MACH_DECSTATION is not set |
26 | # CONFIG_MIPS_EV64120 is not set | 27 | # CONFIG_MIPS_EV64120 is not set |
@@ -32,6 +33,7 @@ CONFIG_MIPS_DB1550=y | |||
32 | # CONFIG_MIPS_ATLAS is not set | 33 | # CONFIG_MIPS_ATLAS is not set |
33 | # CONFIG_MIPS_MALTA is not set | 34 | # CONFIG_MIPS_MALTA is not set |
34 | # CONFIG_MIPS_SEAD is not set | 35 | # CONFIG_MIPS_SEAD is not set |
36 | # CONFIG_WR_PPMC is not set | ||
35 | # CONFIG_MIPS_SIM is not set | 37 | # CONFIG_MIPS_SIM is not set |
36 | # CONFIG_MOMENCO_JAGUAR_ATX is not set | 38 | # CONFIG_MOMENCO_JAGUAR_ATX is not set |
37 | # CONFIG_MOMENCO_OCELOT is not set | 39 | # CONFIG_MOMENCO_OCELOT is not set |
@@ -45,6 +47,7 @@ CONFIG_MIPS_DB1550=y | |||
45 | # CONFIG_MACH_VR41XX is not set | 47 | # CONFIG_MACH_VR41XX is not set |
46 | # CONFIG_PMC_YOSEMITE is not set | 48 | # CONFIG_PMC_YOSEMITE is not set |
47 | # CONFIG_QEMU is not set | 49 | # CONFIG_QEMU is not set |
50 | # CONFIG_MARKEINS is not set | ||
48 | # CONFIG_SGI_IP22 is not set | 51 | # CONFIG_SGI_IP22 is not set |
49 | # CONFIG_SGI_IP27 is not set | 52 | # CONFIG_SGI_IP27 is not set |
50 | # CONFIG_SGI_IP32 is not set | 53 | # CONFIG_SGI_IP32 is not set |
@@ -65,6 +68,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y | |||
65 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 68 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
66 | CONFIG_GENERIC_HWEIGHT=y | 69 | CONFIG_GENERIC_HWEIGHT=y |
67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 70 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
71 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
68 | CONFIG_DMA_NONCOHERENT=y | 72 | CONFIG_DMA_NONCOHERENT=y |
69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 73 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
70 | CONFIG_MIPS_DISABLE_OBSOLETE_IDE=y | 74 | CONFIG_MIPS_DISABLE_OBSOLETE_IDE=y |
@@ -113,7 +117,10 @@ CONFIG_PAGE_SIZE_4KB=y | |||
113 | # CONFIG_PAGE_SIZE_16KB is not set | 117 | # CONFIG_PAGE_SIZE_16KB is not set |
114 | # CONFIG_PAGE_SIZE_64KB is not set | 118 | # CONFIG_PAGE_SIZE_64KB is not set |
115 | CONFIG_CPU_HAS_PREFETCH=y | 119 | CONFIG_CPU_HAS_PREFETCH=y |
116 | # CONFIG_MIPS_MT is not set | 120 | CONFIG_MIPS_MT_DISABLED=y |
121 | # CONFIG_MIPS_MT_SMTC is not set | ||
122 | # CONFIG_MIPS_MT_SMP is not set | ||
123 | # CONFIG_MIPS_VPE_LOADER is not set | ||
117 | CONFIG_64BIT_PHYS_ADDR=y | 124 | CONFIG_64BIT_PHYS_ADDR=y |
118 | CONFIG_CPU_HAS_LLSC=y | 125 | CONFIG_CPU_HAS_LLSC=y |
119 | CONFIG_CPU_HAS_SYNC=y | 126 | CONFIG_CPU_HAS_SYNC=y |
@@ -129,6 +136,7 @@ CONFIG_FLATMEM=y | |||
129 | CONFIG_FLAT_NODE_MEM_MAP=y | 136 | CONFIG_FLAT_NODE_MEM_MAP=y |
130 | # CONFIG_SPARSEMEM_STATIC is not set | 137 | # CONFIG_SPARSEMEM_STATIC is not set |
131 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 138 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
139 | # CONFIG_RESOURCES_64BIT is not set | ||
132 | # CONFIG_HZ_48 is not set | 140 | # CONFIG_HZ_48 is not set |
133 | # CONFIG_HZ_100 is not set | 141 | # CONFIG_HZ_100 is not set |
134 | # CONFIG_HZ_128 is not set | 142 | # CONFIG_HZ_128 is not set |
@@ -141,6 +149,7 @@ CONFIG_HZ=1000 | |||
141 | CONFIG_PREEMPT_NONE=y | 149 | CONFIG_PREEMPT_NONE=y |
142 | # CONFIG_PREEMPT_VOLUNTARY is not set | 150 | # CONFIG_PREEMPT_VOLUNTARY is not set |
143 | # CONFIG_PREEMPT is not set | 151 | # CONFIG_PREEMPT is not set |
152 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
144 | 153 | ||
145 | # | 154 | # |
146 | # Code maturity level options | 155 | # Code maturity level options |
@@ -172,14 +181,15 @@ CONFIG_PRINTK=y | |||
172 | CONFIG_BUG=y | 181 | CONFIG_BUG=y |
173 | CONFIG_ELF_CORE=y | 182 | CONFIG_ELF_CORE=y |
174 | CONFIG_BASE_FULL=y | 183 | CONFIG_BASE_FULL=y |
184 | CONFIG_RT_MUTEXES=y | ||
175 | CONFIG_FUTEX=y | 185 | CONFIG_FUTEX=y |
176 | CONFIG_EPOLL=y | 186 | CONFIG_EPOLL=y |
177 | CONFIG_SHMEM=y | 187 | CONFIG_SHMEM=y |
178 | CONFIG_SLAB=y | 188 | CONFIG_SLAB=y |
189 | CONFIG_VM_EVENT_COUNTERS=y | ||
179 | # CONFIG_TINY_SHMEM is not set | 190 | # CONFIG_TINY_SHMEM is not set |
180 | CONFIG_BASE_SMALL=0 | 191 | CONFIG_BASE_SMALL=0 |
181 | # CONFIG_SLOB is not set | 192 | # CONFIG_SLOB is not set |
182 | CONFIG_OBSOLETE_INTERMODULE=y | ||
183 | 193 | ||
184 | # | 194 | # |
185 | # Loadable module support | 195 | # Loadable module support |
@@ -282,6 +292,8 @@ CONFIG_IP_PNP_BOOTP=y | |||
282 | # CONFIG_INET_IPCOMP is not set | 292 | # CONFIG_INET_IPCOMP is not set |
283 | # CONFIG_INET_XFRM_TUNNEL is not set | 293 | # CONFIG_INET_XFRM_TUNNEL is not set |
284 | # CONFIG_INET_TUNNEL is not set | 294 | # CONFIG_INET_TUNNEL is not set |
295 | CONFIG_INET_XFRM_MODE_TRANSPORT=m | ||
296 | CONFIG_INET_XFRM_MODE_TUNNEL=m | ||
285 | CONFIG_INET_DIAG=y | 297 | CONFIG_INET_DIAG=y |
286 | CONFIG_INET_TCP_DIAG=y | 298 | CONFIG_INET_TCP_DIAG=y |
287 | # CONFIG_TCP_CONG_ADVANCED is not set | 299 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -294,6 +306,7 @@ CONFIG_TCP_CONG_BIC=y | |||
294 | # CONFIG_IPV6 is not set | 306 | # CONFIG_IPV6 is not set |
295 | # CONFIG_INET6_XFRM_TUNNEL is not set | 307 | # CONFIG_INET6_XFRM_TUNNEL is not set |
296 | # CONFIG_INET6_TUNNEL is not set | 308 | # CONFIG_INET6_TUNNEL is not set |
309 | CONFIG_NETWORK_SECMARK=y | ||
297 | CONFIG_NETFILTER=y | 310 | CONFIG_NETFILTER=y |
298 | # CONFIG_NETFILTER_DEBUG is not set | 311 | # CONFIG_NETFILTER_DEBUG is not set |
299 | 312 | ||
@@ -308,6 +321,7 @@ CONFIG_NETFILTER_XTABLES=m | |||
308 | CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m | 321 | CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m |
309 | CONFIG_NETFILTER_XT_TARGET_MARK=m | 322 | CONFIG_NETFILTER_XT_TARGET_MARK=m |
310 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | 323 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m |
324 | CONFIG_NETFILTER_XT_TARGET_SECMARK=m | ||
311 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | 325 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m |
312 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 326 | CONFIG_NETFILTER_XT_MATCH_DCCP=m |
313 | CONFIG_NETFILTER_XT_MATCH_ESP=m | 327 | CONFIG_NETFILTER_XT_MATCH_ESP=m |
@@ -318,8 +332,10 @@ CONFIG_NETFILTER_XT_MATCH_MARK=m | |||
318 | CONFIG_NETFILTER_XT_MATCH_POLICY=m | 332 | CONFIG_NETFILTER_XT_MATCH_POLICY=m |
319 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m | 333 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m |
320 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 334 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m |
335 | CONFIG_NETFILTER_XT_MATCH_QUOTA=m | ||
321 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 336 | CONFIG_NETFILTER_XT_MATCH_REALM=m |
322 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | 337 | CONFIG_NETFILTER_XT_MATCH_SCTP=m |
338 | CONFIG_NETFILTER_XT_MATCH_STATISTIC=m | ||
323 | CONFIG_NETFILTER_XT_MATCH_STRING=m | 339 | CONFIG_NETFILTER_XT_MATCH_STRING=m |
324 | CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | 340 | CONFIG_NETFILTER_XT_MATCH_TCPMSS=m |
325 | 341 | ||
@@ -389,6 +405,7 @@ CONFIG_WIRELESS_EXT=y | |||
389 | CONFIG_STANDALONE=y | 405 | CONFIG_STANDALONE=y |
390 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 406 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
391 | CONFIG_FW_LOADER=m | 407 | CONFIG_FW_LOADER=m |
408 | # CONFIG_SYS_HYPERVISOR is not set | ||
392 | 409 | ||
393 | # | 410 | # |
394 | # Connector - unified userspace <-> kernelspace linker | 411 | # Connector - unified userspace <-> kernelspace linker |
@@ -470,6 +487,7 @@ CONFIG_MTD_ALCHEMY=y | |||
470 | # | 487 | # |
471 | CONFIG_MTD_NAND=m | 488 | CONFIG_MTD_NAND=m |
472 | # CONFIG_MTD_NAND_VERIFY_WRITE is not set | 489 | # CONFIG_MTD_NAND_VERIFY_WRITE is not set |
490 | # CONFIG_MTD_NAND_ECC_SMC is not set | ||
473 | CONFIG_MTD_NAND_IDS=m | 491 | CONFIG_MTD_NAND_IDS=m |
474 | CONFIG_MTD_NAND_AU1550=m | 492 | CONFIG_MTD_NAND_AU1550=m |
475 | # CONFIG_MTD_NAND_DISKONCHIP is not set | 493 | # CONFIG_MTD_NAND_DISKONCHIP is not set |
@@ -608,7 +626,7 @@ CONFIG_NETDEVICES=y | |||
608 | # | 626 | # |
609 | # PHY device support | 627 | # PHY device support |
610 | # | 628 | # |
611 | CONFIG_PHYLIB=m | 629 | CONFIG_PHYLIB=y |
612 | 630 | ||
613 | # | 631 | # |
614 | # MII PHY device drivers | 632 | # MII PHY device drivers |
@@ -618,6 +636,8 @@ CONFIG_DAVICOM_PHY=m | |||
618 | CONFIG_QSEMI_PHY=m | 636 | CONFIG_QSEMI_PHY=m |
619 | CONFIG_LXT_PHY=m | 637 | CONFIG_LXT_PHY=m |
620 | CONFIG_CICADA_PHY=m | 638 | CONFIG_CICADA_PHY=m |
639 | CONFIG_VITESSE_PHY=m | ||
640 | CONFIG_SMSC_PHY=m | ||
621 | 641 | ||
622 | # | 642 | # |
623 | # Ethernet (10 or 100Mbit) | 643 | # Ethernet (10 or 100Mbit) |
@@ -662,6 +682,7 @@ CONFIG_MIPS_AU1X00_ENET=y | |||
662 | # CONFIG_CHELSIO_T1 is not set | 682 | # CONFIG_CHELSIO_T1 is not set |
663 | # CONFIG_IXGB is not set | 683 | # CONFIG_IXGB is not set |
664 | # CONFIG_S2IO is not set | 684 | # CONFIG_S2IO is not set |
685 | # CONFIG_MYRI10GE is not set | ||
665 | 686 | ||
666 | # | 687 | # |
667 | # Token Ring devices | 688 | # Token Ring devices |
@@ -793,6 +814,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
793 | # Watchdog Cards | 814 | # Watchdog Cards |
794 | # | 815 | # |
795 | # CONFIG_WATCHDOG is not set | 816 | # CONFIG_WATCHDOG is not set |
817 | # CONFIG_HW_RANDOM is not set | ||
796 | # CONFIG_RTC is not set | 818 | # CONFIG_RTC is not set |
797 | # CONFIG_GEN_RTC is not set | 819 | # CONFIG_GEN_RTC is not set |
798 | # CONFIG_DTLK is not set | 820 | # CONFIG_DTLK is not set |
@@ -848,6 +870,7 @@ CONFIG_SYNCLINK_CS=m | |||
848 | # Multimedia devices | 870 | # Multimedia devices |
849 | # | 871 | # |
850 | # CONFIG_VIDEO_DEV is not set | 872 | # CONFIG_VIDEO_DEV is not set |
873 | CONFIG_VIDEO_V4L2=y | ||
851 | 874 | ||
852 | # | 875 | # |
853 | # Digital Video Broadcasting Devices | 876 | # Digital Video Broadcasting Devices |
@@ -857,6 +880,7 @@ CONFIG_SYNCLINK_CS=m | |||
857 | # | 880 | # |
858 | # Graphics support | 881 | # Graphics support |
859 | # | 882 | # |
883 | # CONFIG_FIRMWARE_EDID is not set | ||
860 | # CONFIG_FB is not set | 884 | # CONFIG_FB is not set |
861 | 885 | ||
862 | # | 886 | # |
@@ -914,6 +938,19 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
914 | # CONFIG_RTC_CLASS is not set | 938 | # CONFIG_RTC_CLASS is not set |
915 | 939 | ||
916 | # | 940 | # |
941 | # DMA Engine support | ||
942 | # | ||
943 | # CONFIG_DMA_ENGINE is not set | ||
944 | |||
945 | # | ||
946 | # DMA Clients | ||
947 | # | ||
948 | |||
949 | # | ||
950 | # DMA Devices | ||
951 | # | ||
952 | |||
953 | # | ||
917 | # File systems | 954 | # File systems |
918 | # | 955 | # |
919 | CONFIG_EXT2_FS=y | 956 | CONFIG_EXT2_FS=y |
@@ -941,6 +978,7 @@ CONFIG_FS_POSIX_ACL=y | |||
941 | # CONFIG_MINIX_FS is not set | 978 | # CONFIG_MINIX_FS is not set |
942 | # CONFIG_ROMFS_FS is not set | 979 | # CONFIG_ROMFS_FS is not set |
943 | CONFIG_INOTIFY=y | 980 | CONFIG_INOTIFY=y |
981 | CONFIG_INOTIFY_USER=y | ||
944 | # CONFIG_QUOTA is not set | 982 | # CONFIG_QUOTA is not set |
945 | CONFIG_DNOTIFY=y | 983 | CONFIG_DNOTIFY=y |
946 | CONFIG_AUTOFS_FS=m | 984 | CONFIG_AUTOFS_FS=m |
@@ -1010,6 +1048,7 @@ CONFIG_SUNRPC=y | |||
1010 | CONFIG_SMB_FS=m | 1048 | CONFIG_SMB_FS=m |
1011 | # CONFIG_SMB_NLS_DEFAULT is not set | 1049 | # CONFIG_SMB_NLS_DEFAULT is not set |
1012 | # CONFIG_CIFS is not set | 1050 | # CONFIG_CIFS is not set |
1051 | # CONFIG_CIFS_DEBUG2 is not set | ||
1013 | # CONFIG_NCP_FS is not set | 1052 | # CONFIG_NCP_FS is not set |
1014 | # CONFIG_CODA_FS is not set | 1053 | # CONFIG_CODA_FS is not set |
1015 | # CONFIG_AFS_FS is not set | 1054 | # CONFIG_AFS_FS is not set |
@@ -1075,6 +1114,7 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
1075 | # | 1114 | # |
1076 | # CONFIG_PRINTK_TIME is not set | 1115 | # CONFIG_PRINTK_TIME is not set |
1077 | # CONFIG_MAGIC_SYSRQ is not set | 1116 | # CONFIG_MAGIC_SYSRQ is not set |
1117 | # CONFIG_UNUSED_SYMBOLS is not set | ||
1078 | # CONFIG_DEBUG_KERNEL is not set | 1118 | # CONFIG_DEBUG_KERNEL is not set |
1079 | CONFIG_LOG_BUF_SHIFT=14 | 1119 | CONFIG_LOG_BUF_SHIFT=14 |
1080 | # CONFIG_DEBUG_FS is not set | 1120 | # CONFIG_DEBUG_FS is not set |
@@ -1134,3 +1174,4 @@ CONFIG_TEXTSEARCH=y | |||
1134 | CONFIG_TEXTSEARCH_KMP=m | 1174 | CONFIG_TEXTSEARCH_KMP=m |
1135 | CONFIG_TEXTSEARCH_BM=m | 1175 | CONFIG_TEXTSEARCH_BM=m |
1136 | CONFIG_TEXTSEARCH_FSM=m | 1176 | CONFIG_TEXTSEARCH_FSM=m |
1177 | CONFIG_PLIST=y | ||
diff --git a/arch/mips/configs/ddb5477_defconfig b/arch/mips/configs/ddb5477_defconfig index c1c6bfee970e..b598cf08f156 100644 --- a/arch/mips/configs/ddb5477_defconfig +++ b/arch/mips/configs/ddb5477_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17-rc2 | 3 | # Linux kernel version: 2.6.18-rc1 |
4 | # Mon Apr 24 14:51:01 2006 | 4 | # Thu Jul 6 10:04:00 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -21,6 +21,7 @@ CONFIG_MIPS=y | |||
21 | # CONFIG_MIPS_DB1550 is not set | 21 | # CONFIG_MIPS_DB1550 is not set |
22 | # CONFIG_MIPS_DB1200 is not set | 22 | # CONFIG_MIPS_DB1200 is not set |
23 | # CONFIG_MIPS_MIRAGE is not set | 23 | # CONFIG_MIPS_MIRAGE is not set |
24 | # CONFIG_BASLER_EXCITE is not set | ||
24 | # CONFIG_MIPS_COBALT is not set | 25 | # CONFIG_MIPS_COBALT is not set |
25 | # CONFIG_MACH_DECSTATION is not set | 26 | # CONFIG_MACH_DECSTATION is not set |
26 | # CONFIG_MIPS_EV64120 is not set | 27 | # CONFIG_MIPS_EV64120 is not set |
@@ -32,6 +33,7 @@ CONFIG_MIPS=y | |||
32 | # CONFIG_MIPS_ATLAS is not set | 33 | # CONFIG_MIPS_ATLAS is not set |
33 | # CONFIG_MIPS_MALTA is not set | 34 | # CONFIG_MIPS_MALTA is not set |
34 | # CONFIG_MIPS_SEAD is not set | 35 | # CONFIG_MIPS_SEAD is not set |
36 | # CONFIG_WR_PPMC is not set | ||
35 | # CONFIG_MIPS_SIM is not set | 37 | # CONFIG_MIPS_SIM is not set |
36 | # CONFIG_MOMENCO_JAGUAR_ATX is not set | 38 | # CONFIG_MOMENCO_JAGUAR_ATX is not set |
37 | # CONFIG_MOMENCO_OCELOT is not set | 39 | # CONFIG_MOMENCO_OCELOT is not set |
@@ -45,6 +47,7 @@ CONFIG_DDB5477=y | |||
45 | # CONFIG_MACH_VR41XX is not set | 47 | # CONFIG_MACH_VR41XX is not set |
46 | # CONFIG_PMC_YOSEMITE is not set | 48 | # CONFIG_PMC_YOSEMITE is not set |
47 | # CONFIG_QEMU is not set | 49 | # CONFIG_QEMU is not set |
50 | # CONFIG_MARKEINS is not set | ||
48 | # CONFIG_SGI_IP22 is not set | 51 | # CONFIG_SGI_IP22 is not set |
49 | # CONFIG_SGI_IP27 is not set | 52 | # CONFIG_SGI_IP27 is not set |
50 | # CONFIG_SGI_IP32 is not set | 53 | # CONFIG_SGI_IP32 is not set |
@@ -66,6 +69,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y | |||
66 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 69 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
67 | CONFIG_GENERIC_HWEIGHT=y | 70 | CONFIG_GENERIC_HWEIGHT=y |
68 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 71 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
72 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
69 | CONFIG_DMA_NONCOHERENT=y | 73 | CONFIG_DMA_NONCOHERENT=y |
70 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 74 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
71 | CONFIG_I8259=y | 75 | CONFIG_I8259=y |
@@ -113,7 +117,10 @@ CONFIG_PAGE_SIZE_4KB=y | |||
113 | # CONFIG_PAGE_SIZE_8KB is not set | 117 | # CONFIG_PAGE_SIZE_8KB is not set |
114 | # CONFIG_PAGE_SIZE_16KB is not set | 118 | # CONFIG_PAGE_SIZE_16KB is not set |
115 | # CONFIG_PAGE_SIZE_64KB is not set | 119 | # CONFIG_PAGE_SIZE_64KB is not set |
116 | # CONFIG_MIPS_MT is not set | 120 | CONFIG_MIPS_MT_DISABLED=y |
121 | # CONFIG_MIPS_MT_SMTC is not set | ||
122 | # CONFIG_MIPS_MT_SMP is not set | ||
123 | # CONFIG_MIPS_VPE_LOADER is not set | ||
117 | CONFIG_CPU_HAS_LLSC=y | 124 | CONFIG_CPU_HAS_LLSC=y |
118 | CONFIG_CPU_HAS_SYNC=y | 125 | CONFIG_CPU_HAS_SYNC=y |
119 | CONFIG_GENERIC_HARDIRQS=y | 126 | CONFIG_GENERIC_HARDIRQS=y |
@@ -127,6 +134,7 @@ CONFIG_FLATMEM=y | |||
127 | CONFIG_FLAT_NODE_MEM_MAP=y | 134 | CONFIG_FLAT_NODE_MEM_MAP=y |
128 | # CONFIG_SPARSEMEM_STATIC is not set | 135 | # CONFIG_SPARSEMEM_STATIC is not set |
129 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 136 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
137 | # CONFIG_RESOURCES_64BIT is not set | ||
130 | # CONFIG_HZ_48 is not set | 138 | # CONFIG_HZ_48 is not set |
131 | # CONFIG_HZ_100 is not set | 139 | # CONFIG_HZ_100 is not set |
132 | # CONFIG_HZ_128 is not set | 140 | # CONFIG_HZ_128 is not set |
@@ -139,6 +147,7 @@ CONFIG_HZ=1000 | |||
139 | CONFIG_PREEMPT_NONE=y | 147 | CONFIG_PREEMPT_NONE=y |
140 | # CONFIG_PREEMPT_VOLUNTARY is not set | 148 | # CONFIG_PREEMPT_VOLUNTARY is not set |
141 | # CONFIG_PREEMPT is not set | 149 | # CONFIG_PREEMPT is not set |
150 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
142 | 151 | ||
143 | # | 152 | # |
144 | # Code maturity level options | 153 | # Code maturity level options |
@@ -170,10 +179,12 @@ CONFIG_PRINTK=y | |||
170 | CONFIG_BUG=y | 179 | CONFIG_BUG=y |
171 | CONFIG_ELF_CORE=y | 180 | CONFIG_ELF_CORE=y |
172 | CONFIG_BASE_FULL=y | 181 | CONFIG_BASE_FULL=y |
182 | CONFIG_RT_MUTEXES=y | ||
173 | CONFIG_FUTEX=y | 183 | CONFIG_FUTEX=y |
174 | CONFIG_EPOLL=y | 184 | CONFIG_EPOLL=y |
175 | CONFIG_SHMEM=y | 185 | CONFIG_SHMEM=y |
176 | CONFIG_SLAB=y | 186 | CONFIG_SLAB=y |
187 | CONFIG_VM_EVENT_COUNTERS=y | ||
177 | # CONFIG_TINY_SHMEM is not set | 188 | # CONFIG_TINY_SHMEM is not set |
178 | CONFIG_BASE_SMALL=0 | 189 | CONFIG_BASE_SMALL=0 |
179 | # CONFIG_SLOB is not set | 190 | # CONFIG_SLOB is not set |
@@ -259,6 +270,8 @@ CONFIG_IP_PNP_BOOTP=y | |||
259 | # CONFIG_INET_IPCOMP is not set | 270 | # CONFIG_INET_IPCOMP is not set |
260 | # CONFIG_INET_XFRM_TUNNEL is not set | 271 | # CONFIG_INET_XFRM_TUNNEL is not set |
261 | # CONFIG_INET_TUNNEL is not set | 272 | # CONFIG_INET_TUNNEL is not set |
273 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | ||
274 | CONFIG_INET_XFRM_MODE_TUNNEL=y | ||
262 | CONFIG_INET_DIAG=y | 275 | CONFIG_INET_DIAG=y |
263 | CONFIG_INET_TCP_DIAG=y | 276 | CONFIG_INET_TCP_DIAG=y |
264 | # CONFIG_TCP_CONG_ADVANCED is not set | 277 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -266,6 +279,7 @@ CONFIG_TCP_CONG_BIC=y | |||
266 | # CONFIG_IPV6 is not set | 279 | # CONFIG_IPV6 is not set |
267 | # CONFIG_INET6_XFRM_TUNNEL is not set | 280 | # CONFIG_INET6_XFRM_TUNNEL is not set |
268 | # CONFIG_INET6_TUNNEL is not set | 281 | # CONFIG_INET6_TUNNEL is not set |
282 | CONFIG_NETWORK_SECMARK=y | ||
269 | # CONFIG_NETFILTER is not set | 283 | # CONFIG_NETFILTER is not set |
270 | 284 | ||
271 | # | 285 | # |
@@ -325,6 +339,7 @@ CONFIG_WIRELESS_EXT=y | |||
325 | CONFIG_STANDALONE=y | 339 | CONFIG_STANDALONE=y |
326 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 340 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
327 | CONFIG_FW_LOADER=y | 341 | CONFIG_FW_LOADER=y |
342 | # CONFIG_SYS_HYPERVISOR is not set | ||
328 | 343 | ||
329 | # | 344 | # |
330 | # Connector - unified userspace <-> kernelspace linker | 345 | # Connector - unified userspace <-> kernelspace linker |
@@ -422,6 +437,8 @@ CONFIG_DAVICOM_PHY=y | |||
422 | CONFIG_QSEMI_PHY=y | 437 | CONFIG_QSEMI_PHY=y |
423 | CONFIG_LXT_PHY=y | 438 | CONFIG_LXT_PHY=y |
424 | CONFIG_CICADA_PHY=y | 439 | CONFIG_CICADA_PHY=y |
440 | CONFIG_VITESSE_PHY=y | ||
441 | CONFIG_SMSC_PHY=y | ||
425 | 442 | ||
426 | # | 443 | # |
427 | # Ethernet (10 or 100Mbit) | 444 | # Ethernet (10 or 100Mbit) |
@@ -484,6 +501,7 @@ CONFIG_PCNET32=y | |||
484 | # CONFIG_CHELSIO_T1 is not set | 501 | # CONFIG_CHELSIO_T1 is not set |
485 | # CONFIG_IXGB is not set | 502 | # CONFIG_IXGB is not set |
486 | # CONFIG_S2IO is not set | 503 | # CONFIG_S2IO is not set |
504 | # CONFIG_MYRI10GE is not set | ||
487 | 505 | ||
488 | # | 506 | # |
489 | # Token Ring devices | 507 | # Token Ring devices |
@@ -561,6 +579,7 @@ CONFIG_SERIO_RAW=y | |||
561 | CONFIG_VT=y | 579 | CONFIG_VT=y |
562 | CONFIG_VT_CONSOLE=y | 580 | CONFIG_VT_CONSOLE=y |
563 | CONFIG_HW_CONSOLE=y | 581 | CONFIG_HW_CONSOLE=y |
582 | CONFIG_VT_HW_CONSOLE_BINDING=y | ||
564 | # CONFIG_SERIAL_NONSTANDARD is not set | 583 | # CONFIG_SERIAL_NONSTANDARD is not set |
565 | 584 | ||
566 | # | 585 | # |
@@ -592,6 +611,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
592 | # Watchdog Cards | 611 | # Watchdog Cards |
593 | # | 612 | # |
594 | # CONFIG_WATCHDOG is not set | 613 | # CONFIG_WATCHDOG is not set |
614 | # CONFIG_HW_RANDOM is not set | ||
595 | # CONFIG_RTC is not set | 615 | # CONFIG_RTC is not set |
596 | # CONFIG_GEN_RTC is not set | 616 | # CONFIG_GEN_RTC is not set |
597 | # CONFIG_DTLK is not set | 617 | # CONFIG_DTLK is not set |
@@ -640,6 +660,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
640 | # Multimedia devices | 660 | # Multimedia devices |
641 | # | 661 | # |
642 | # CONFIG_VIDEO_DEV is not set | 662 | # CONFIG_VIDEO_DEV is not set |
663 | CONFIG_VIDEO_V4L2=y | ||
643 | 664 | ||
644 | # | 665 | # |
645 | # Digital Video Broadcasting Devices | 666 | # Digital Video Broadcasting Devices |
@@ -649,6 +670,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
649 | # | 670 | # |
650 | # Graphics support | 671 | # Graphics support |
651 | # | 672 | # |
673 | # CONFIG_FIRMWARE_EDID is not set | ||
652 | # CONFIG_FB is not set | 674 | # CONFIG_FB is not set |
653 | 675 | ||
654 | # | 676 | # |
@@ -712,6 +734,19 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
712 | # CONFIG_RTC_CLASS is not set | 734 | # CONFIG_RTC_CLASS is not set |
713 | 735 | ||
714 | # | 736 | # |
737 | # DMA Engine support | ||
738 | # | ||
739 | # CONFIG_DMA_ENGINE is not set | ||
740 | |||
741 | # | ||
742 | # DMA Clients | ||
743 | # | ||
744 | |||
745 | # | ||
746 | # DMA Devices | ||
747 | # | ||
748 | |||
749 | # | ||
715 | # File systems | 750 | # File systems |
716 | # | 751 | # |
717 | CONFIG_EXT2_FS=y | 752 | CONFIG_EXT2_FS=y |
@@ -726,6 +761,7 @@ CONFIG_EXT2_FS=y | |||
726 | # CONFIG_MINIX_FS is not set | 761 | # CONFIG_MINIX_FS is not set |
727 | # CONFIG_ROMFS_FS is not set | 762 | # CONFIG_ROMFS_FS is not set |
728 | CONFIG_INOTIFY=y | 763 | CONFIG_INOTIFY=y |
764 | CONFIG_INOTIFY_USER=y | ||
729 | # CONFIG_QUOTA is not set | 765 | # CONFIG_QUOTA is not set |
730 | CONFIG_DNOTIFY=y | 766 | CONFIG_DNOTIFY=y |
731 | CONFIG_AUTOFS_FS=y | 767 | CONFIG_AUTOFS_FS=y |
@@ -792,6 +828,7 @@ CONFIG_SUNRPC=y | |||
792 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 828 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
793 | # CONFIG_SMB_FS is not set | 829 | # CONFIG_SMB_FS is not set |
794 | # CONFIG_CIFS is not set | 830 | # CONFIG_CIFS is not set |
831 | # CONFIG_CIFS_DEBUG2 is not set | ||
795 | # CONFIG_NCP_FS is not set | 832 | # CONFIG_NCP_FS is not set |
796 | # CONFIG_CODA_FS is not set | 833 | # CONFIG_CODA_FS is not set |
797 | # CONFIG_AFS_FS is not set | 834 | # CONFIG_AFS_FS is not set |
@@ -818,6 +855,7 @@ CONFIG_MSDOS_PARTITION=y | |||
818 | # | 855 | # |
819 | # CONFIG_PRINTK_TIME is not set | 856 | # CONFIG_PRINTK_TIME is not set |
820 | # CONFIG_MAGIC_SYSRQ is not set | 857 | # CONFIG_MAGIC_SYSRQ is not set |
858 | # CONFIG_UNUSED_SYMBOLS is not set | ||
821 | # CONFIG_DEBUG_KERNEL is not set | 859 | # CONFIG_DEBUG_KERNEL is not set |
822 | CONFIG_LOG_BUF_SHIFT=14 | 860 | CONFIG_LOG_BUF_SHIFT=14 |
823 | # CONFIG_DEBUG_FS is not set | 861 | # CONFIG_DEBUG_FS is not set |
@@ -859,7 +897,6 @@ CONFIG_CRYPTO_ANUBIS=y | |||
859 | CONFIG_CRYPTO_DEFLATE=y | 897 | CONFIG_CRYPTO_DEFLATE=y |
860 | CONFIG_CRYPTO_MICHAEL_MIC=y | 898 | CONFIG_CRYPTO_MICHAEL_MIC=y |
861 | CONFIG_CRYPTO_CRC32C=y | 899 | CONFIG_CRYPTO_CRC32C=y |
862 | # CONFIG_CRYPTO_TEST is not set | ||
863 | 900 | ||
864 | # | 901 | # |
865 | # Hardware crypto devices | 902 | # Hardware crypto devices |
@@ -874,3 +911,4 @@ CONFIG_CRC32=y | |||
874 | CONFIG_LIBCRC32C=y | 911 | CONFIG_LIBCRC32C=y |
875 | CONFIG_ZLIB_INFLATE=y | 912 | CONFIG_ZLIB_INFLATE=y |
876 | CONFIG_ZLIB_DEFLATE=y | 913 | CONFIG_ZLIB_DEFLATE=y |
914 | CONFIG_PLIST=y | ||
diff --git a/arch/mips/configs/decstation_defconfig b/arch/mips/configs/decstation_defconfig index d5d0d3faae94..597150b14077 100644 --- a/arch/mips/configs/decstation_defconfig +++ b/arch/mips/configs/decstation_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17-rc2 | 3 | # Linux kernel version: 2.6.18-rc1 |
4 | # Mon Apr 24 14:51:01 2006 | 4 | # Thu Jul 6 10:04:01 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -21,6 +21,7 @@ CONFIG_MIPS=y | |||
21 | # CONFIG_MIPS_DB1550 is not set | 21 | # CONFIG_MIPS_DB1550 is not set |
22 | # CONFIG_MIPS_DB1200 is not set | 22 | # CONFIG_MIPS_DB1200 is not set |
23 | # CONFIG_MIPS_MIRAGE is not set | 23 | # CONFIG_MIPS_MIRAGE is not set |
24 | # CONFIG_BASLER_EXCITE is not set | ||
24 | # CONFIG_MIPS_COBALT is not set | 25 | # CONFIG_MIPS_COBALT is not set |
25 | CONFIG_MACH_DECSTATION=y | 26 | CONFIG_MACH_DECSTATION=y |
26 | # CONFIG_MIPS_EV64120 is not set | 27 | # CONFIG_MIPS_EV64120 is not set |
@@ -32,6 +33,7 @@ CONFIG_MACH_DECSTATION=y | |||
32 | # CONFIG_MIPS_ATLAS is not set | 33 | # CONFIG_MIPS_ATLAS is not set |
33 | # CONFIG_MIPS_MALTA is not set | 34 | # CONFIG_MIPS_MALTA is not set |
34 | # CONFIG_MIPS_SEAD is not set | 35 | # CONFIG_MIPS_SEAD is not set |
36 | # CONFIG_WR_PPMC is not set | ||
35 | # CONFIG_MIPS_SIM is not set | 37 | # CONFIG_MIPS_SIM is not set |
36 | # CONFIG_MOMENCO_JAGUAR_ATX is not set | 38 | # CONFIG_MOMENCO_JAGUAR_ATX is not set |
37 | # CONFIG_MOMENCO_OCELOT is not set | 39 | # CONFIG_MOMENCO_OCELOT is not set |
@@ -45,6 +47,7 @@ CONFIG_MACH_DECSTATION=y | |||
45 | # CONFIG_MACH_VR41XX is not set | 47 | # CONFIG_MACH_VR41XX is not set |
46 | # CONFIG_PMC_YOSEMITE is not set | 48 | # CONFIG_PMC_YOSEMITE is not set |
47 | # CONFIG_QEMU is not set | 49 | # CONFIG_QEMU is not set |
50 | # CONFIG_MARKEINS is not set | ||
48 | # CONFIG_SGI_IP22 is not set | 51 | # CONFIG_SGI_IP22 is not set |
49 | # CONFIG_SGI_IP27 is not set | 52 | # CONFIG_SGI_IP27 is not set |
50 | # CONFIG_SGI_IP32 is not set | 53 | # CONFIG_SGI_IP32 is not set |
@@ -66,6 +69,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y | |||
66 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 69 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
67 | CONFIG_GENERIC_HWEIGHT=y | 70 | CONFIG_GENERIC_HWEIGHT=y |
68 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 71 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
72 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
69 | CONFIG_DMA_NONCOHERENT=y | 73 | CONFIG_DMA_NONCOHERENT=y |
70 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 74 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
71 | # CONFIG_CPU_BIG_ENDIAN is not set | 75 | # CONFIG_CPU_BIG_ENDIAN is not set |
@@ -112,7 +116,10 @@ CONFIG_PAGE_SIZE_4KB=y | |||
112 | # CONFIG_PAGE_SIZE_8KB is not set | 116 | # CONFIG_PAGE_SIZE_8KB is not set |
113 | # CONFIG_PAGE_SIZE_16KB is not set | 117 | # CONFIG_PAGE_SIZE_16KB is not set |
114 | # CONFIG_PAGE_SIZE_64KB is not set | 118 | # CONFIG_PAGE_SIZE_64KB is not set |
115 | # CONFIG_MIPS_MT is not set | 119 | CONFIG_MIPS_MT_DISABLED=y |
120 | # CONFIG_MIPS_MT_SMTC is not set | ||
121 | # CONFIG_MIPS_MT_SMP is not set | ||
122 | # CONFIG_MIPS_VPE_LOADER is not set | ||
116 | CONFIG_CPU_HAS_WB=y | 123 | CONFIG_CPU_HAS_WB=y |
117 | CONFIG_GENERIC_HARDIRQS=y | 124 | CONFIG_GENERIC_HARDIRQS=y |
118 | CONFIG_GENERIC_IRQ_PROBE=y | 125 | CONFIG_GENERIC_IRQ_PROBE=y |
@@ -126,6 +133,7 @@ CONFIG_FLATMEM=y | |||
126 | CONFIG_FLAT_NODE_MEM_MAP=y | 133 | CONFIG_FLAT_NODE_MEM_MAP=y |
127 | # CONFIG_SPARSEMEM_STATIC is not set | 134 | # CONFIG_SPARSEMEM_STATIC is not set |
128 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 135 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
136 | # CONFIG_RESOURCES_64BIT is not set | ||
129 | # CONFIG_HZ_48 is not set | 137 | # CONFIG_HZ_48 is not set |
130 | # CONFIG_HZ_100 is not set | 138 | # CONFIG_HZ_100 is not set |
131 | CONFIG_HZ_128=y | 139 | CONFIG_HZ_128=y |
@@ -140,6 +148,7 @@ CONFIG_HZ=128 | |||
140 | CONFIG_PREEMPT_NONE=y | 148 | CONFIG_PREEMPT_NONE=y |
141 | # CONFIG_PREEMPT_VOLUNTARY is not set | 149 | # CONFIG_PREEMPT_VOLUNTARY is not set |
142 | # CONFIG_PREEMPT is not set | 150 | # CONFIG_PREEMPT is not set |
151 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
143 | 152 | ||
144 | # | 153 | # |
145 | # Code maturity level options | 154 | # Code maturity level options |
@@ -172,10 +181,12 @@ CONFIG_PRINTK=y | |||
172 | CONFIG_BUG=y | 181 | CONFIG_BUG=y |
173 | CONFIG_ELF_CORE=y | 182 | CONFIG_ELF_CORE=y |
174 | CONFIG_BASE_FULL=y | 183 | CONFIG_BASE_FULL=y |
184 | CONFIG_RT_MUTEXES=y | ||
175 | CONFIG_FUTEX=y | 185 | CONFIG_FUTEX=y |
176 | CONFIG_EPOLL=y | 186 | CONFIG_EPOLL=y |
177 | CONFIG_SHMEM=y | 187 | CONFIG_SHMEM=y |
178 | CONFIG_SLAB=y | 188 | CONFIG_SLAB=y |
189 | CONFIG_VM_EVENT_COUNTERS=y | ||
179 | # CONFIG_TINY_SHMEM is not set | 190 | # CONFIG_TINY_SHMEM is not set |
180 | CONFIG_BASE_SMALL=0 | 191 | CONFIG_BASE_SMALL=0 |
181 | # CONFIG_SLOB is not set | 192 | # CONFIG_SLOB is not set |
@@ -244,6 +255,8 @@ CONFIG_NET=y | |||
244 | CONFIG_PACKET=y | 255 | CONFIG_PACKET=y |
245 | CONFIG_PACKET_MMAP=y | 256 | CONFIG_PACKET_MMAP=y |
246 | CONFIG_UNIX=y | 257 | CONFIG_UNIX=y |
258 | CONFIG_XFRM=y | ||
259 | # CONFIG_XFRM_USER is not set | ||
247 | # CONFIG_NET_KEY is not set | 260 | # CONFIG_NET_KEY is not set |
248 | CONFIG_INET=y | 261 | CONFIG_INET=y |
249 | # CONFIG_IP_MULTICAST is not set | 262 | # CONFIG_IP_MULTICAST is not set |
@@ -262,6 +275,8 @@ CONFIG_IP_PNP_BOOTP=y | |||
262 | # CONFIG_INET_IPCOMP is not set | 275 | # CONFIG_INET_IPCOMP is not set |
263 | # CONFIG_INET_XFRM_TUNNEL is not set | 276 | # CONFIG_INET_XFRM_TUNNEL is not set |
264 | # CONFIG_INET_TUNNEL is not set | 277 | # CONFIG_INET_TUNNEL is not set |
278 | CONFIG_INET_XFRM_MODE_TRANSPORT=m | ||
279 | CONFIG_INET_XFRM_MODE_TUNNEL=m | ||
265 | CONFIG_INET_DIAG=y | 280 | CONFIG_INET_DIAG=y |
266 | CONFIG_INET_TCP_DIAG=y | 281 | CONFIG_INET_TCP_DIAG=y |
267 | # CONFIG_TCP_CONG_ADVANCED is not set | 282 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -269,6 +284,7 @@ CONFIG_TCP_CONG_BIC=y | |||
269 | # CONFIG_IPV6 is not set | 284 | # CONFIG_IPV6 is not set |
270 | # CONFIG_INET6_XFRM_TUNNEL is not set | 285 | # CONFIG_INET6_XFRM_TUNNEL is not set |
271 | # CONFIG_INET6_TUNNEL is not set | 286 | # CONFIG_INET6_TUNNEL is not set |
287 | CONFIG_NETWORK_SECMARK=y | ||
272 | # CONFIG_NETFILTER is not set | 288 | # CONFIG_NETFILTER is not set |
273 | 289 | ||
274 | # | 290 | # |
@@ -329,6 +345,7 @@ CONFIG_STANDALONE=y | |||
329 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 345 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
330 | # CONFIG_FW_LOADER is not set | 346 | # CONFIG_FW_LOADER is not set |
331 | # CONFIG_DEBUG_DRIVER is not set | 347 | # CONFIG_DEBUG_DRIVER is not set |
348 | # CONFIG_SYS_HYPERVISOR is not set | ||
332 | 349 | ||
333 | # | 350 | # |
334 | # Connector - unified userspace <-> kernelspace linker | 351 | # Connector - unified userspace <-> kernelspace linker |
@@ -448,6 +465,8 @@ CONFIG_DAVICOM_PHY=m | |||
448 | CONFIG_QSEMI_PHY=m | 465 | CONFIG_QSEMI_PHY=m |
449 | CONFIG_LXT_PHY=m | 466 | CONFIG_LXT_PHY=m |
450 | CONFIG_CICADA_PHY=m | 467 | CONFIG_CICADA_PHY=m |
468 | CONFIG_VITESSE_PHY=m | ||
469 | CONFIG_SMSC_PHY=m | ||
451 | 470 | ||
452 | # | 471 | # |
453 | # Ethernet (10 or 100Mbit) | 472 | # Ethernet (10 or 100Mbit) |
@@ -537,6 +556,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
537 | # Watchdog Cards | 556 | # Watchdog Cards |
538 | # | 557 | # |
539 | # CONFIG_WATCHDOG is not set | 558 | # CONFIG_WATCHDOG is not set |
559 | # CONFIG_HW_RANDOM is not set | ||
540 | CONFIG_RTC=y | 560 | CONFIG_RTC=y |
541 | # CONFIG_DTLK is not set | 561 | # CONFIG_DTLK is not set |
542 | # CONFIG_R3964 is not set | 562 | # CONFIG_R3964 is not set |
@@ -582,6 +602,7 @@ CONFIG_RTC=y | |||
582 | # Multimedia devices | 602 | # Multimedia devices |
583 | # | 603 | # |
584 | # CONFIG_VIDEO_DEV is not set | 604 | # CONFIG_VIDEO_DEV is not set |
605 | CONFIG_VIDEO_V4L2=y | ||
585 | 606 | ||
586 | # | 607 | # |
587 | # Digital Video Broadcasting Devices | 608 | # Digital Video Broadcasting Devices |
@@ -591,12 +612,13 @@ CONFIG_RTC=y | |||
591 | # | 612 | # |
592 | # Graphics support | 613 | # Graphics support |
593 | # | 614 | # |
615 | # CONFIG_FIRMWARE_EDID is not set | ||
594 | CONFIG_FB=y | 616 | CONFIG_FB=y |
595 | CONFIG_FB_CFB_FILLRECT=y | 617 | CONFIG_FB_CFB_FILLRECT=y |
596 | CONFIG_FB_CFB_COPYAREA=y | 618 | CONFIG_FB_CFB_COPYAREA=y |
597 | CONFIG_FB_CFB_IMAGEBLIT=y | 619 | CONFIG_FB_CFB_IMAGEBLIT=y |
598 | # CONFIG_FB_MACMODES is not set | 620 | # CONFIG_FB_MACMODES is not set |
599 | CONFIG_FB_FIRMWARE_EDID=y | 621 | # CONFIG_FB_BACKLIGHT is not set |
600 | # CONFIG_FB_MODE_HELPERS is not set | 622 | # CONFIG_FB_MODE_HELPERS is not set |
601 | # CONFIG_FB_TILEBLITTING is not set | 623 | # CONFIG_FB_TILEBLITTING is not set |
602 | # CONFIG_FB_S1D13XXX is not set | 624 | # CONFIG_FB_S1D13XXX is not set |
@@ -669,6 +691,19 @@ CONFIG_LOGO_DEC_CLUT224=y | |||
669 | # CONFIG_RTC_CLASS is not set | 691 | # CONFIG_RTC_CLASS is not set |
670 | 692 | ||
671 | # | 693 | # |
694 | # DMA Engine support | ||
695 | # | ||
696 | # CONFIG_DMA_ENGINE is not set | ||
697 | |||
698 | # | ||
699 | # DMA Clients | ||
700 | # | ||
701 | |||
702 | # | ||
703 | # DMA Devices | ||
704 | # | ||
705 | |||
706 | # | ||
672 | # File systems | 707 | # File systems |
673 | # | 708 | # |
674 | CONFIG_EXT2_FS=y | 709 | CONFIG_EXT2_FS=y |
@@ -686,6 +721,7 @@ CONFIG_FS_POSIX_ACL=y | |||
686 | # CONFIG_MINIX_FS is not set | 721 | # CONFIG_MINIX_FS is not set |
687 | # CONFIG_ROMFS_FS is not set | 722 | # CONFIG_ROMFS_FS is not set |
688 | CONFIG_INOTIFY=y | 723 | CONFIG_INOTIFY=y |
724 | CONFIG_INOTIFY_USER=y | ||
689 | # CONFIG_QUOTA is not set | 725 | # CONFIG_QUOTA is not set |
690 | CONFIG_DNOTIFY=y | 726 | CONFIG_DNOTIFY=y |
691 | # CONFIG_AUTOFS_FS is not set | 727 | # CONFIG_AUTOFS_FS is not set |
@@ -732,6 +768,8 @@ CONFIG_RAMFS=y | |||
732 | # CONFIG_QNX4FS_FS is not set | 768 | # CONFIG_QNX4FS_FS is not set |
733 | # CONFIG_SYSV_FS is not set | 769 | # CONFIG_SYSV_FS is not set |
734 | CONFIG_UFS_FS=y | 770 | CONFIG_UFS_FS=y |
771 | # CONFIG_UFS_FS_WRITE is not set | ||
772 | # CONFIG_UFS_DEBUG is not set | ||
735 | 773 | ||
736 | # | 774 | # |
737 | # Network File Systems | 775 | # Network File Systems |
@@ -751,6 +789,7 @@ CONFIG_SUNRPC=y | |||
751 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 789 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
752 | # CONFIG_SMB_FS is not set | 790 | # CONFIG_SMB_FS is not set |
753 | # CONFIG_CIFS is not set | 791 | # CONFIG_CIFS is not set |
792 | # CONFIG_CIFS_DEBUG2 is not set | ||
754 | # CONFIG_NCP_FS is not set | 793 | # CONFIG_NCP_FS is not set |
755 | # CONFIG_CODA_FS is not set | 794 | # CONFIG_CODA_FS is not set |
756 | # CONFIG_AFS_FS is not set | 795 | # CONFIG_AFS_FS is not set |
@@ -792,14 +831,19 @@ CONFIG_ULTRIX_PARTITION=y | |||
792 | # | 831 | # |
793 | # CONFIG_PRINTK_TIME is not set | 832 | # CONFIG_PRINTK_TIME is not set |
794 | CONFIG_MAGIC_SYSRQ=y | 833 | CONFIG_MAGIC_SYSRQ=y |
834 | # CONFIG_UNUSED_SYMBOLS is not set | ||
795 | CONFIG_DEBUG_KERNEL=y | 835 | CONFIG_DEBUG_KERNEL=y |
796 | CONFIG_LOG_BUF_SHIFT=14 | 836 | CONFIG_LOG_BUF_SHIFT=14 |
797 | CONFIG_DETECT_SOFTLOCKUP=y | 837 | CONFIG_DETECT_SOFTLOCKUP=y |
798 | # CONFIG_SCHEDSTATS is not set | 838 | # CONFIG_SCHEDSTATS is not set |
799 | # CONFIG_DEBUG_SLAB is not set | 839 | # CONFIG_DEBUG_SLAB is not set |
800 | CONFIG_DEBUG_MUTEXES=y | 840 | # CONFIG_DEBUG_RT_MUTEXES is not set |
841 | # CONFIG_RT_MUTEX_TESTER is not set | ||
801 | # CONFIG_DEBUG_SPINLOCK is not set | 842 | # CONFIG_DEBUG_SPINLOCK is not set |
843 | CONFIG_DEBUG_MUTEXES=y | ||
844 | # CONFIG_DEBUG_RWSEMS is not set | ||
802 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | 845 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set |
846 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | ||
803 | # CONFIG_DEBUG_KOBJECT is not set | 847 | # CONFIG_DEBUG_KOBJECT is not set |
804 | # CONFIG_DEBUG_INFO is not set | 848 | # CONFIG_DEBUG_INFO is not set |
805 | # CONFIG_DEBUG_FS is not set | 849 | # CONFIG_DEBUG_FS is not set |
@@ -862,3 +906,4 @@ CONFIG_CRC32=y | |||
862 | CONFIG_LIBCRC32C=m | 906 | CONFIG_LIBCRC32C=m |
863 | CONFIG_ZLIB_INFLATE=m | 907 | CONFIG_ZLIB_INFLATE=m |
864 | CONFIG_ZLIB_DEFLATE=m | 908 | CONFIG_ZLIB_DEFLATE=m |
909 | CONFIG_PLIST=y | ||
diff --git a/arch/mips/configs/e55_defconfig b/arch/mips/configs/e55_defconfig index 439677ba751c..fa2996bb4b7c 100644 --- a/arch/mips/configs/e55_defconfig +++ b/arch/mips/configs/e55_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17-rc2 | 3 | # Linux kernel version: 2.6.18-rc1 |
4 | # Tue Apr 25 00:08:20 2006 | 4 | # Thu Jul 6 10:04:02 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -21,6 +21,7 @@ CONFIG_MIPS=y | |||
21 | # CONFIG_MIPS_DB1550 is not set | 21 | # CONFIG_MIPS_DB1550 is not set |
22 | # CONFIG_MIPS_DB1200 is not set | 22 | # CONFIG_MIPS_DB1200 is not set |
23 | # CONFIG_MIPS_MIRAGE is not set | 23 | # CONFIG_MIPS_MIRAGE is not set |
24 | # CONFIG_BASLER_EXCITE is not set | ||
24 | # CONFIG_MIPS_COBALT is not set | 25 | # CONFIG_MIPS_COBALT is not set |
25 | # CONFIG_MACH_DECSTATION is not set | 26 | # CONFIG_MACH_DECSTATION is not set |
26 | # CONFIG_MIPS_EV64120 is not set | 27 | # CONFIG_MIPS_EV64120 is not set |
@@ -32,6 +33,7 @@ CONFIG_MIPS=y | |||
32 | # CONFIG_MIPS_ATLAS is not set | 33 | # CONFIG_MIPS_ATLAS is not set |
33 | # CONFIG_MIPS_MALTA is not set | 34 | # CONFIG_MIPS_MALTA is not set |
34 | # CONFIG_MIPS_SEAD is not set | 35 | # CONFIG_MIPS_SEAD is not set |
36 | # CONFIG_WR_PPMC is not set | ||
35 | # CONFIG_MIPS_SIM is not set | 37 | # CONFIG_MIPS_SIM is not set |
36 | # CONFIG_MOMENCO_JAGUAR_ATX is not set | 38 | # CONFIG_MOMENCO_JAGUAR_ATX is not set |
37 | # CONFIG_MOMENCO_OCELOT is not set | 39 | # CONFIG_MOMENCO_OCELOT is not set |
@@ -45,6 +47,7 @@ CONFIG_MIPS=y | |||
45 | CONFIG_MACH_VR41XX=y | 47 | CONFIG_MACH_VR41XX=y |
46 | # CONFIG_PMC_YOSEMITE is not set | 48 | # CONFIG_PMC_YOSEMITE is not set |
47 | # CONFIG_QEMU is not set | 49 | # CONFIG_QEMU is not set |
50 | # CONFIG_MARKEINS is not set | ||
48 | # CONFIG_SGI_IP22 is not set | 51 | # CONFIG_SGI_IP22 is not set |
49 | # CONFIG_SGI_IP27 is not set | 52 | # CONFIG_SGI_IP27 is not set |
50 | # CONFIG_SGI_IP32 is not set | 53 | # CONFIG_SGI_IP32 is not set |
@@ -71,6 +74,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y | |||
71 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 74 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
72 | CONFIG_GENERIC_HWEIGHT=y | 75 | CONFIG_GENERIC_HWEIGHT=y |
73 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 76 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
77 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
74 | CONFIG_DMA_NONCOHERENT=y | 78 | CONFIG_DMA_NONCOHERENT=y |
75 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 79 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
76 | # CONFIG_CPU_BIG_ENDIAN is not set | 80 | # CONFIG_CPU_BIG_ENDIAN is not set |
@@ -115,7 +119,10 @@ CONFIG_PAGE_SIZE_4KB=y | |||
115 | # CONFIG_PAGE_SIZE_8KB is not set | 119 | # CONFIG_PAGE_SIZE_8KB is not set |
116 | # CONFIG_PAGE_SIZE_16KB is not set | 120 | # CONFIG_PAGE_SIZE_16KB is not set |
117 | # CONFIG_PAGE_SIZE_64KB is not set | 121 | # CONFIG_PAGE_SIZE_64KB is not set |
118 | # CONFIG_MIPS_MT is not set | 122 | CONFIG_MIPS_MT_DISABLED=y |
123 | # CONFIG_MIPS_MT_SMTC is not set | ||
124 | # CONFIG_MIPS_MT_SMP is not set | ||
125 | # CONFIG_MIPS_VPE_LOADER is not set | ||
119 | CONFIG_CPU_HAS_SYNC=y | 126 | CONFIG_CPU_HAS_SYNC=y |
120 | CONFIG_GENERIC_HARDIRQS=y | 127 | CONFIG_GENERIC_HARDIRQS=y |
121 | CONFIG_GENERIC_IRQ_PROBE=y | 128 | CONFIG_GENERIC_IRQ_PROBE=y |
@@ -128,6 +135,7 @@ CONFIG_FLATMEM=y | |||
128 | CONFIG_FLAT_NODE_MEM_MAP=y | 135 | CONFIG_FLAT_NODE_MEM_MAP=y |
129 | # CONFIG_SPARSEMEM_STATIC is not set | 136 | # CONFIG_SPARSEMEM_STATIC is not set |
130 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 137 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
138 | # CONFIG_RESOURCES_64BIT is not set | ||
131 | # CONFIG_HZ_48 is not set | 139 | # CONFIG_HZ_48 is not set |
132 | # CONFIG_HZ_100 is not set | 140 | # CONFIG_HZ_100 is not set |
133 | # CONFIG_HZ_128 is not set | 141 | # CONFIG_HZ_128 is not set |
@@ -140,6 +148,7 @@ CONFIG_HZ=1000 | |||
140 | CONFIG_PREEMPT_NONE=y | 148 | CONFIG_PREEMPT_NONE=y |
141 | # CONFIG_PREEMPT_VOLUNTARY is not set | 149 | # CONFIG_PREEMPT_VOLUNTARY is not set |
142 | # CONFIG_PREEMPT is not set | 150 | # CONFIG_PREEMPT is not set |
151 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
143 | 152 | ||
144 | # | 153 | # |
145 | # Code maturity level options | 154 | # Code maturity level options |
@@ -169,10 +178,12 @@ CONFIG_PRINTK=y | |||
169 | CONFIG_BUG=y | 178 | CONFIG_BUG=y |
170 | CONFIG_ELF_CORE=y | 179 | CONFIG_ELF_CORE=y |
171 | CONFIG_BASE_FULL=y | 180 | CONFIG_BASE_FULL=y |
181 | CONFIG_RT_MUTEXES=y | ||
172 | CONFIG_FUTEX=y | 182 | CONFIG_FUTEX=y |
173 | CONFIG_EPOLL=y | 183 | CONFIG_EPOLL=y |
174 | CONFIG_SHMEM=y | 184 | CONFIG_SHMEM=y |
175 | CONFIG_SLAB=y | 185 | CONFIG_SLAB=y |
186 | CONFIG_VM_EVENT_COUNTERS=y | ||
176 | # CONFIG_TINY_SHMEM is not set | 187 | # CONFIG_TINY_SHMEM is not set |
177 | CONFIG_BASE_SMALL=0 | 188 | CONFIG_BASE_SMALL=0 |
178 | # CONFIG_SLOB is not set | 189 | # CONFIG_SLOB is not set |
@@ -244,6 +255,7 @@ CONFIG_TRAD_SIGNALS=y | |||
244 | CONFIG_STANDALONE=y | 255 | CONFIG_STANDALONE=y |
245 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 256 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
246 | # CONFIG_FW_LOADER is not set | 257 | # CONFIG_FW_LOADER is not set |
258 | # CONFIG_SYS_HYPERVISOR is not set | ||
247 | 259 | ||
248 | # | 260 | # |
249 | # Connector - unified userspace <-> kernelspace linker | 261 | # Connector - unified userspace <-> kernelspace linker |
@@ -378,6 +390,7 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=240 | |||
378 | CONFIG_VT=y | 390 | CONFIG_VT=y |
379 | CONFIG_VT_CONSOLE=y | 391 | CONFIG_VT_CONSOLE=y |
380 | CONFIG_HW_CONSOLE=y | 392 | CONFIG_HW_CONSOLE=y |
393 | CONFIG_VT_HW_CONSOLE_BINDING=y | ||
381 | # CONFIG_SERIAL_NONSTANDARD is not set | 394 | # CONFIG_SERIAL_NONSTANDARD is not set |
382 | 395 | ||
383 | # | 396 | # |
@@ -418,6 +431,7 @@ CONFIG_WATCHDOG=y | |||
418 | # CONFIG_PCWATCHDOG is not set | 431 | # CONFIG_PCWATCHDOG is not set |
419 | # CONFIG_MIXCOMWD is not set | 432 | # CONFIG_MIXCOMWD is not set |
420 | # CONFIG_WDT is not set | 433 | # CONFIG_WDT is not set |
434 | # CONFIG_HW_RANDOM is not set | ||
421 | # CONFIG_RTC is not set | 435 | # CONFIG_RTC is not set |
422 | # CONFIG_GEN_RTC is not set | 436 | # CONFIG_GEN_RTC is not set |
423 | # CONFIG_DTLK is not set | 437 | # CONFIG_DTLK is not set |
@@ -449,7 +463,6 @@ CONFIG_GPIO_VR41XX=y | |||
449 | # | 463 | # |
450 | # Dallas's 1-wire bus | 464 | # Dallas's 1-wire bus |
451 | # | 465 | # |
452 | # CONFIG_W1 is not set | ||
453 | 466 | ||
454 | # | 467 | # |
455 | # Hardware Monitoring support | 468 | # Hardware Monitoring support |
@@ -465,6 +478,7 @@ CONFIG_GPIO_VR41XX=y | |||
465 | # Multimedia devices | 478 | # Multimedia devices |
466 | # | 479 | # |
467 | # CONFIG_VIDEO_DEV is not set | 480 | # CONFIG_VIDEO_DEV is not set |
481 | CONFIG_VIDEO_V4L2=y | ||
468 | 482 | ||
469 | # | 483 | # |
470 | # Digital Video Broadcasting Devices | 484 | # Digital Video Broadcasting Devices |
@@ -473,6 +487,7 @@ CONFIG_GPIO_VR41XX=y | |||
473 | # | 487 | # |
474 | # Graphics support | 488 | # Graphics support |
475 | # | 489 | # |
490 | # CONFIG_FIRMWARE_EDID is not set | ||
476 | # CONFIG_FB is not set | 491 | # CONFIG_FB is not set |
477 | 492 | ||
478 | # | 493 | # |
@@ -535,6 +550,19 @@ CONFIG_DUMMY_CONSOLE=y | |||
535 | # CONFIG_RTC_CLASS is not set | 550 | # CONFIG_RTC_CLASS is not set |
536 | 551 | ||
537 | # | 552 | # |
553 | # DMA Engine support | ||
554 | # | ||
555 | # CONFIG_DMA_ENGINE is not set | ||
556 | |||
557 | # | ||
558 | # DMA Clients | ||
559 | # | ||
560 | |||
561 | # | ||
562 | # DMA Devices | ||
563 | # | ||
564 | |||
565 | # | ||
538 | # File systems | 566 | # File systems |
539 | # | 567 | # |
540 | CONFIG_EXT2_FS=y | 568 | CONFIG_EXT2_FS=y |
@@ -548,6 +576,7 @@ CONFIG_EXT2_FS=y | |||
548 | # CONFIG_MINIX_FS is not set | 576 | # CONFIG_MINIX_FS is not set |
549 | # CONFIG_ROMFS_FS is not set | 577 | # CONFIG_ROMFS_FS is not set |
550 | CONFIG_INOTIFY=y | 578 | CONFIG_INOTIFY=y |
579 | CONFIG_INOTIFY_USER=y | ||
551 | # CONFIG_QUOTA is not set | 580 | # CONFIG_QUOTA is not set |
552 | CONFIG_DNOTIFY=y | 581 | CONFIG_DNOTIFY=y |
553 | # CONFIG_AUTOFS_FS is not set | 582 | # CONFIG_AUTOFS_FS is not set |
@@ -616,6 +645,7 @@ CONFIG_MSDOS_PARTITION=y | |||
616 | # | 645 | # |
617 | # CONFIG_PRINTK_TIME is not set | 646 | # CONFIG_PRINTK_TIME is not set |
618 | # CONFIG_MAGIC_SYSRQ is not set | 647 | # CONFIG_MAGIC_SYSRQ is not set |
648 | # CONFIG_UNUSED_SYMBOLS is not set | ||
619 | # CONFIG_DEBUG_KERNEL is not set | 649 | # CONFIG_DEBUG_KERNEL is not set |
620 | CONFIG_LOG_BUF_SHIFT=14 | 650 | CONFIG_LOG_BUF_SHIFT=14 |
621 | # CONFIG_DEBUG_FS is not set | 651 | # CONFIG_DEBUG_FS is not set |
@@ -644,3 +674,4 @@ CONFIG_CMDLINE="console=ttyVR0,19200 mem=8M" | |||
644 | # CONFIG_CRC16 is not set | 674 | # CONFIG_CRC16 is not set |
645 | # CONFIG_CRC32 is not set | 675 | # CONFIG_CRC32 is not set |
646 | # CONFIG_LIBCRC32C is not set | 676 | # CONFIG_LIBCRC32C is not set |
677 | CONFIG_PLIST=y | ||
diff --git a/arch/mips/configs/emma2rh_defconfig b/arch/mips/configs/emma2rh_defconfig index 01f29f44f3e8..375b2ac24a49 100644 --- a/arch/mips/configs/emma2rh_defconfig +++ b/arch/mips/configs/emma2rh_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.17 | 3 | # Linux kernel version: 2.6.18-rc1 |
4 | # Sun Jun 18 13:46:53 2006 | 4 | # Thu Jul 6 10:04:05 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -21,6 +21,7 @@ CONFIG_MIPS=y | |||
21 | # CONFIG_MIPS_DB1550 is not set | 21 | # CONFIG_MIPS_DB1550 is not set |
22 | # CONFIG_MIPS_DB1200 is not set | 22 | # CONFIG_MIPS_DB1200 is not set |
23 | # CONFIG_MIPS_MIRAGE is not set | 23 | # CONFIG_MIPS_MIRAGE is not set |
24 | # CONFIG_BASLER_EXCITE is not set | ||
24 | # CONFIG_MIPS_COBALT is not set | 25 | # CONFIG_MIPS_COBALT is not set |
25 | # CONFIG_MACH_DECSTATION is not set | 26 | # CONFIG_MACH_DECSTATION is not set |
26 | # CONFIG_MIPS_EV64120 is not set | 27 | # CONFIG_MIPS_EV64120 is not set |
@@ -133,6 +134,7 @@ CONFIG_FLATMEM=y | |||
133 | CONFIG_FLAT_NODE_MEM_MAP=y | 134 | CONFIG_FLAT_NODE_MEM_MAP=y |
134 | # CONFIG_SPARSEMEM_STATIC is not set | 135 | # CONFIG_SPARSEMEM_STATIC is not set |
135 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 136 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
137 | # CONFIG_RESOURCES_64BIT is not set | ||
136 | # CONFIG_HZ_48 is not set | 138 | # CONFIG_HZ_48 is not set |
137 | # CONFIG_HZ_100 is not set | 139 | # CONFIG_HZ_100 is not set |
138 | # CONFIG_HZ_128 is not set | 140 | # CONFIG_HZ_128 is not set |
@@ -146,6 +148,7 @@ CONFIG_HZ=1000 | |||
146 | # CONFIG_PREEMPT_VOLUNTARY is not set | 148 | # CONFIG_PREEMPT_VOLUNTARY is not set |
147 | CONFIG_PREEMPT=y | 149 | CONFIG_PREEMPT=y |
148 | CONFIG_PREEMPT_BKL=y | 150 | CONFIG_PREEMPT_BKL=y |
151 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
149 | 152 | ||
150 | # | 153 | # |
151 | # Code maturity level options | 154 | # Code maturity level options |
@@ -180,14 +183,15 @@ CONFIG_PRINTK=y | |||
180 | CONFIG_BUG=y | 183 | CONFIG_BUG=y |
181 | CONFIG_ELF_CORE=y | 184 | CONFIG_ELF_CORE=y |
182 | CONFIG_BASE_FULL=y | 185 | CONFIG_BASE_FULL=y |
186 | CONFIG_RT_MUTEXES=y | ||
183 | CONFIG_FUTEX=y | 187 | CONFIG_FUTEX=y |
184 | CONFIG_EPOLL=y | 188 | CONFIG_EPOLL=y |
185 | CONFIG_SHMEM=y | 189 | CONFIG_SHMEM=y |
186 | CONFIG_SLAB=y | 190 | CONFIG_SLAB=y |
191 | CONFIG_VM_EVENT_COUNTERS=y | ||
187 | # CONFIG_TINY_SHMEM is not set | 192 | # CONFIG_TINY_SHMEM is not set |
188 | CONFIG_BASE_SMALL=0 | 193 | CONFIG_BASE_SMALL=0 |
189 | # CONFIG_SLOB is not set | 194 | # CONFIG_SLOB is not set |
190 | CONFIG_OBSOLETE_INTERMODULE=y | ||
191 | 195 | ||
192 | # | 196 | # |
193 | # Loadable module support | 197 | # Loadable module support |
@@ -283,6 +287,8 @@ CONFIG_SYN_COOKIES=y | |||
283 | # CONFIG_INET_IPCOMP is not set | 287 | # CONFIG_INET_IPCOMP is not set |
284 | # CONFIG_INET_XFRM_TUNNEL is not set | 288 | # CONFIG_INET_XFRM_TUNNEL is not set |
285 | # CONFIG_INET_TUNNEL is not set | 289 | # CONFIG_INET_TUNNEL is not set |
290 | CONFIG_INET_XFRM_MODE_TRANSPORT=m | ||
291 | CONFIG_INET_XFRM_MODE_TUNNEL=m | ||
286 | CONFIG_INET_DIAG=y | 292 | CONFIG_INET_DIAG=y |
287 | CONFIG_INET_TCP_DIAG=y | 293 | CONFIG_INET_TCP_DIAG=y |
288 | # CONFIG_TCP_CONG_ADVANCED is not set | 294 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -300,7 +306,10 @@ CONFIG_IPV6=m | |||
300 | # CONFIG_INET6_IPCOMP is not set | 306 | # CONFIG_INET6_IPCOMP is not set |
301 | # CONFIG_INET6_XFRM_TUNNEL is not set | 307 | # CONFIG_INET6_XFRM_TUNNEL is not set |
302 | # CONFIG_INET6_TUNNEL is not set | 308 | # CONFIG_INET6_TUNNEL is not set |
309 | CONFIG_INET6_XFRM_MODE_TRANSPORT=m | ||
310 | CONFIG_INET6_XFRM_MODE_TUNNEL=m | ||
303 | # CONFIG_IPV6_TUNNEL is not set | 311 | # CONFIG_IPV6_TUNNEL is not set |
312 | CONFIG_NETWORK_SECMARK=y | ||
304 | CONFIG_NETFILTER=y | 313 | CONFIG_NETFILTER=y |
305 | # CONFIG_NETFILTER_DEBUG is not set | 314 | # CONFIG_NETFILTER_DEBUG is not set |
306 | 315 | ||
@@ -378,6 +387,7 @@ CONFIG_SCTP_HMAC_MD5=y | |||
378 | CONFIG_STANDALONE=y | 387 | CONFIG_STANDALONE=y |
379 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 388 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
380 | # CONFIG_FW_LOADER is not set | 389 | # CONFIG_FW_LOADER is not set |
390 | # CONFIG_SYS_HYPERVISOR is not set | ||
381 | 391 | ||
382 | # | 392 | # |
383 | # Connector - unified userspace <-> kernelspace linker | 393 | # Connector - unified userspace <-> kernelspace linker |
@@ -545,6 +555,7 @@ CONFIG_CHR_DEV_SG=m | |||
545 | # CONFIG_MEGARAID_LEGACY is not set | 555 | # CONFIG_MEGARAID_LEGACY is not set |
546 | # CONFIG_MEGARAID_SAS is not set | 556 | # CONFIG_MEGARAID_SAS is not set |
547 | # CONFIG_SCSI_SATA is not set | 557 | # CONFIG_SCSI_SATA is not set |
558 | # CONFIG_SCSI_HPTIOP is not set | ||
548 | # CONFIG_SCSI_DMX3191D is not set | 559 | # CONFIG_SCSI_DMX3191D is not set |
549 | # CONFIG_SCSI_FUTURE_DOMAIN is not set | 560 | # CONFIG_SCSI_FUTURE_DOMAIN is not set |
550 | # CONFIG_SCSI_IPS is not set | 561 | # CONFIG_SCSI_IPS is not set |
@@ -663,6 +674,7 @@ CONFIG_NATSEMI=y | |||
663 | # CONFIG_CHELSIO_T1 is not set | 674 | # CONFIG_CHELSIO_T1 is not set |
664 | # CONFIG_IXGB is not set | 675 | # CONFIG_IXGB is not set |
665 | # CONFIG_S2IO is not set | 676 | # CONFIG_S2IO is not set |
677 | # CONFIG_MYRI10GE is not set | ||
666 | 678 | ||
667 | # | 679 | # |
668 | # Token Ring devices | 680 | # Token Ring devices |
@@ -770,6 +782,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
770 | # Watchdog Cards | 782 | # Watchdog Cards |
771 | # | 783 | # |
772 | # CONFIG_WATCHDOG is not set | 784 | # CONFIG_WATCHDOG is not set |
785 | # CONFIG_HW_RANDOM is not set | ||
773 | CONFIG_RTC=m | 786 | CONFIG_RTC=m |
774 | CONFIG_GEN_RTC=m | 787 | CONFIG_GEN_RTC=m |
775 | CONFIG_GEN_RTC_X=y | 788 | CONFIG_GEN_RTC_X=y |
@@ -814,6 +827,7 @@ CONFIG_I2C_CHARDEV=y | |||
814 | # CONFIG_I2C_I810 is not set | 827 | # CONFIG_I2C_I810 is not set |
815 | # CONFIG_I2C_PIIX4 is not set | 828 | # CONFIG_I2C_PIIX4 is not set |
816 | # CONFIG_I2C_NFORCE2 is not set | 829 | # CONFIG_I2C_NFORCE2 is not set |
830 | # CONFIG_I2C_OCORES is not set | ||
817 | # CONFIG_I2C_PARPORT_LIGHT is not set | 831 | # CONFIG_I2C_PARPORT_LIGHT is not set |
818 | # CONFIG_I2C_PROSAVAGE is not set | 832 | # CONFIG_I2C_PROSAVAGE is not set |
819 | # CONFIG_I2C_SAVAGE4 is not set | 833 | # CONFIG_I2C_SAVAGE4 is not set |
@@ -850,13 +864,13 @@ CONFIG_I2C_DEBUG_BUS=y | |||
850 | # | 864 | # |
851 | # Dallas's 1-wire bus | 865 | # Dallas's 1-wire bus |
852 | # | 866 | # |
853 | # CONFIG_W1 is not set | ||
854 | 867 | ||
855 | # | 868 | # |
856 | # Hardware Monitoring support | 869 | # Hardware Monitoring support |
857 | # | 870 | # |
858 | CONFIG_HWMON=y | 871 | CONFIG_HWMON=y |
859 | # CONFIG_HWMON_VID is not set | 872 | # CONFIG_HWMON_VID is not set |
873 | # CONFIG_SENSORS_ABITUGURU is not set | ||
860 | # CONFIG_SENSORS_ADM1021 is not set | 874 | # CONFIG_SENSORS_ADM1021 is not set |
861 | # CONFIG_SENSORS_ADM1025 is not set | 875 | # CONFIG_SENSORS_ADM1025 is not set |
862 | # CONFIG_SENSORS_ADM1026 is not set | 876 | # CONFIG_SENSORS_ADM1026 is not set |
@@ -885,10 +899,12 @@ CONFIG_HWMON=y | |||
885 | # CONFIG_SENSORS_PC87360 is not set | 899 | # CONFIG_SENSORS_PC87360 is not set |
886 | # CONFIG_SENSORS_SIS5595 is not set | 900 | # CONFIG_SENSORS_SIS5595 is not set |
887 | # CONFIG_SENSORS_SMSC47M1 is not set | 901 | # CONFIG_SENSORS_SMSC47M1 is not set |
902 | # CONFIG_SENSORS_SMSC47M192 is not set | ||
888 | # CONFIG_SENSORS_SMSC47B397 is not set | 903 | # CONFIG_SENSORS_SMSC47B397 is not set |
889 | # CONFIG_SENSORS_VIA686A is not set | 904 | # CONFIG_SENSORS_VIA686A is not set |
890 | # CONFIG_SENSORS_VT8231 is not set | 905 | # CONFIG_SENSORS_VT8231 is not set |
891 | # CONFIG_SENSORS_W83781D is not set | 906 | # CONFIG_SENSORS_W83781D is not set |
907 | # CONFIG_SENSORS_W83791D is not set | ||
892 | # CONFIG_SENSORS_W83792D is not set | 908 | # CONFIG_SENSORS_W83792D is not set |
893 | # CONFIG_SENSORS_W83L785TS is not set | 909 | # CONFIG_SENSORS_W83L785TS is not set |
894 | # CONFIG_SENSORS_W83627HF is not set | 910 | # CONFIG_SENSORS_W83627HF is not set |
@@ -913,6 +929,7 @@ CONFIG_VIDEO_V4L2=y | |||
913 | # | 929 | # |
914 | # Graphics support | 930 | # Graphics support |
915 | # | 931 | # |
932 | # CONFIG_FIRMWARE_EDID is not set | ||
916 | # CONFIG_FB is not set | 933 | # CONFIG_FB is not set |
917 | 934 | ||
918 | # | 935 | # |
@@ -970,6 +987,19 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
970 | # CONFIG_RTC_CLASS is not set | 987 | # CONFIG_RTC_CLASS is not set |
971 | 988 | ||
972 | # | 989 | # |
990 | # DMA Engine support | ||
991 | # | ||
992 | # CONFIG_DMA_ENGINE is not set | ||
993 | |||
994 | # | ||
995 | # DMA Clients | ||
996 | # | ||
997 | |||
998 | # | ||
999 | # DMA Devices | ||
1000 | # | ||
1001 | |||
1002 | # | ||
973 | # File systems | 1003 | # File systems |
974 | # | 1004 | # |
975 | CONFIG_EXT2_FS=y | 1005 | CONFIG_EXT2_FS=y |
@@ -988,7 +1018,6 @@ CONFIG_FS_MBCACHE=y | |||
988 | # CONFIG_JFS_FS is not set | 1018 | # CONFIG_JFS_FS is not set |
989 | CONFIG_FS_POSIX_ACL=y | 1019 | CONFIG_FS_POSIX_ACL=y |
990 | CONFIG_XFS_FS=m | 1020 | CONFIG_XFS_FS=m |
991 | CONFIG_XFS_EXPORT=y | ||
992 | # CONFIG_XFS_QUOTA is not set | 1021 | # CONFIG_XFS_QUOTA is not set |
993 | # CONFIG_XFS_SECURITY is not set | 1022 | # CONFIG_XFS_SECURITY is not set |
994 | # CONFIG_XFS_POSIX_ACL is not set | 1023 | # CONFIG_XFS_POSIX_ACL is not set |
@@ -997,6 +1026,7 @@ CONFIG_XFS_EXPORT=y | |||
997 | # CONFIG_MINIX_FS is not set | 1026 | # CONFIG_MINIX_FS is not set |
998 | # CONFIG_ROMFS_FS is not set | 1027 | # CONFIG_ROMFS_FS is not set |
999 | CONFIG_INOTIFY=y | 1028 | CONFIG_INOTIFY=y |
1029 | CONFIG_INOTIFY_USER=y | ||
1000 | # CONFIG_QUOTA is not set | 1030 | # CONFIG_QUOTA is not set |
1001 | # CONFIG_DNOTIFY is not set | 1031 | # CONFIG_DNOTIFY is not set |
1002 | # CONFIG_AUTOFS_FS is not set | 1032 | # CONFIG_AUTOFS_FS is not set |
@@ -1047,6 +1077,7 @@ CONFIG_JFFS2_FS=y | |||
1047 | CONFIG_JFFS2_FS_DEBUG=0 | 1077 | CONFIG_JFFS2_FS_DEBUG=0 |
1048 | CONFIG_JFFS2_FS_WRITEBUFFER=y | 1078 | CONFIG_JFFS2_FS_WRITEBUFFER=y |
1049 | # CONFIG_JFFS2_SUMMARY is not set | 1079 | # CONFIG_JFFS2_SUMMARY is not set |
1080 | # CONFIG_JFFS2_FS_XATTR is not set | ||
1050 | CONFIG_JFFS2_COMPRESSION_OPTIONS=y | 1081 | CONFIG_JFFS2_COMPRESSION_OPTIONS=y |
1051 | CONFIG_JFFS2_ZLIB=y | 1082 | CONFIG_JFFS2_ZLIB=y |
1052 | CONFIG_JFFS2_RTIME=y | 1083 | CONFIG_JFFS2_RTIME=y |
@@ -1086,6 +1117,7 @@ CONFIG_RPCSEC_GSS_KRB5=y | |||
1086 | CONFIG_SMB_FS=m | 1117 | CONFIG_SMB_FS=m |
1087 | # CONFIG_SMB_NLS_DEFAULT is not set | 1118 | # CONFIG_SMB_NLS_DEFAULT is not set |
1088 | # CONFIG_CIFS is not set | 1119 | # CONFIG_CIFS is not set |
1120 | # CONFIG_CIFS_DEBUG2 is not set | ||
1089 | # CONFIG_NCP_FS is not set | 1121 | # CONFIG_NCP_FS is not set |
1090 | # CONFIG_CODA_FS is not set | 1122 | # CONFIG_CODA_FS is not set |
1091 | # CONFIG_AFS_FS is not set | 1123 | # CONFIG_AFS_FS is not set |
@@ -1151,6 +1183,7 @@ CONFIG_NLS_UTF8=m | |||
1151 | # | 1183 | # |
1152 | # CONFIG_PRINTK_TIME is not set | 1184 | # CONFIG_PRINTK_TIME is not set |
1153 | # CONFIG_MAGIC_SYSRQ is not set | 1185 | # CONFIG_MAGIC_SYSRQ is not set |
1186 | # CONFIG_UNUSED_SYMBOLS is not set | ||
1154 | # CONFIG_DEBUG_KERNEL is not set | 1187 | # CONFIG_DEBUG_KERNEL is not set |
1155 | CONFIG_LOG_BUF_SHIFT=14 | 1188 | CONFIG_LOG_BUF_SHIFT=14 |
1156 | # CONFIG_DEBUG_FS is not set | 1189 | # CONFIG_DEBUG_FS is not set |
@@ -1205,3 +1238,4 @@ CONFIG_CRC32=y | |||
1205 | # CONFIG_LIBCRC32C is not set | 1238 | # CONFIG_LIBCRC32C is not set |
1206 | CONFIG_ZLIB_INFLATE=y | 1239 | CONFIG_ZLIB_INFLATE=y |
1207 | CONFIG_ZLIB_DEFLATE=y | 1240 | CONFIG_ZLIB_DEFLATE=y |
1241 | CONFIG_PLIST=y | ||
diff --git a/arch/mips/configs/ev64120_defconfig b/arch/mips/configs/ev64120_defconfig index 5248a1d8131d..b0afc118bd5c 100644 --- a/arch/mips/configs/ev64120_defconfig +++ b/arch/mips/configs/ev64120_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17-rc2 | 3 | # Linux kernel version: 2.6.18-rc1 |
4 | # Mon Apr 24 14:51:02 2006 | 4 | # Thu Jul 6 10:04:05 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -21,6 +21,7 @@ CONFIG_MIPS=y | |||
21 | # CONFIG_MIPS_DB1550 is not set | 21 | # CONFIG_MIPS_DB1550 is not set |
22 | # CONFIG_MIPS_DB1200 is not set | 22 | # CONFIG_MIPS_DB1200 is not set |
23 | # CONFIG_MIPS_MIRAGE is not set | 23 | # CONFIG_MIPS_MIRAGE is not set |
24 | # CONFIG_BASLER_EXCITE is not set | ||
24 | # CONFIG_MIPS_COBALT is not set | 25 | # CONFIG_MIPS_COBALT is not set |
25 | # CONFIG_MACH_DECSTATION is not set | 26 | # CONFIG_MACH_DECSTATION is not set |
26 | CONFIG_MIPS_EV64120=y | 27 | CONFIG_MIPS_EV64120=y |
@@ -32,6 +33,7 @@ CONFIG_MIPS_EV64120=y | |||
32 | # CONFIG_MIPS_ATLAS is not set | 33 | # CONFIG_MIPS_ATLAS is not set |
33 | # CONFIG_MIPS_MALTA is not set | 34 | # CONFIG_MIPS_MALTA is not set |
34 | # CONFIG_MIPS_SEAD is not set | 35 | # CONFIG_MIPS_SEAD is not set |
36 | # CONFIG_WR_PPMC is not set | ||
35 | # CONFIG_MIPS_SIM is not set | 37 | # CONFIG_MIPS_SIM is not set |
36 | # CONFIG_MOMENCO_JAGUAR_ATX is not set | 38 | # CONFIG_MOMENCO_JAGUAR_ATX is not set |
37 | # CONFIG_MOMENCO_OCELOT is not set | 39 | # CONFIG_MOMENCO_OCELOT is not set |
@@ -45,6 +47,7 @@ CONFIG_MIPS_EV64120=y | |||
45 | # CONFIG_MACH_VR41XX is not set | 47 | # CONFIG_MACH_VR41XX is not set |
46 | # CONFIG_PMC_YOSEMITE is not set | 48 | # CONFIG_PMC_YOSEMITE is not set |
47 | # CONFIG_QEMU is not set | 49 | # CONFIG_QEMU is not set |
50 | # CONFIG_MARKEINS is not set | ||
48 | # CONFIG_SGI_IP22 is not set | 51 | # CONFIG_SGI_IP22 is not set |
49 | # CONFIG_SGI_IP27 is not set | 52 | # CONFIG_SGI_IP27 is not set |
50 | # CONFIG_SGI_IP32 is not set | 53 | # CONFIG_SGI_IP32 is not set |
@@ -66,6 +69,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y | |||
66 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 69 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
67 | CONFIG_GENERIC_HWEIGHT=y | 70 | CONFIG_GENERIC_HWEIGHT=y |
68 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 71 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
72 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
69 | CONFIG_DMA_NONCOHERENT=y | 73 | CONFIG_DMA_NONCOHERENT=y |
70 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 74 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
71 | CONFIG_CPU_BIG_ENDIAN=y | 75 | CONFIG_CPU_BIG_ENDIAN=y |
@@ -114,7 +118,10 @@ CONFIG_PAGE_SIZE_4KB=y | |||
114 | # CONFIG_PAGE_SIZE_8KB is not set | 118 | # CONFIG_PAGE_SIZE_8KB is not set |
115 | # CONFIG_PAGE_SIZE_16KB is not set | 119 | # CONFIG_PAGE_SIZE_16KB is not set |
116 | # CONFIG_PAGE_SIZE_64KB is not set | 120 | # CONFIG_PAGE_SIZE_64KB is not set |
117 | # CONFIG_MIPS_MT is not set | 121 | CONFIG_MIPS_MT_DISABLED=y |
122 | # CONFIG_MIPS_MT_SMTC is not set | ||
123 | # CONFIG_MIPS_MT_SMP is not set | ||
124 | # CONFIG_MIPS_VPE_LOADER is not set | ||
118 | # CONFIG_64BIT_PHYS_ADDR is not set | 125 | # CONFIG_64BIT_PHYS_ADDR is not set |
119 | CONFIG_CPU_HAS_LLSC=y | 126 | CONFIG_CPU_HAS_LLSC=y |
120 | CONFIG_CPU_HAS_SYNC=y | 127 | CONFIG_CPU_HAS_SYNC=y |
@@ -129,6 +136,7 @@ CONFIG_FLATMEM=y | |||
129 | CONFIG_FLAT_NODE_MEM_MAP=y | 136 | CONFIG_FLAT_NODE_MEM_MAP=y |
130 | # CONFIG_SPARSEMEM_STATIC is not set | 137 | # CONFIG_SPARSEMEM_STATIC is not set |
131 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 138 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
139 | # CONFIG_RESOURCES_64BIT is not set | ||
132 | # CONFIG_HZ_48 is not set | 140 | # CONFIG_HZ_48 is not set |
133 | # CONFIG_HZ_100 is not set | 141 | # CONFIG_HZ_100 is not set |
134 | # CONFIG_HZ_128 is not set | 142 | # CONFIG_HZ_128 is not set |
@@ -141,6 +149,7 @@ CONFIG_HZ=1000 | |||
141 | CONFIG_PREEMPT_NONE=y | 149 | CONFIG_PREEMPT_NONE=y |
142 | # CONFIG_PREEMPT_VOLUNTARY is not set | 150 | # CONFIG_PREEMPT_VOLUNTARY is not set |
143 | # CONFIG_PREEMPT is not set | 151 | # CONFIG_PREEMPT is not set |
152 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
144 | 153 | ||
145 | # | 154 | # |
146 | # Code maturity level options | 155 | # Code maturity level options |
@@ -172,10 +181,12 @@ CONFIG_PRINTK=y | |||
172 | CONFIG_BUG=y | 181 | CONFIG_BUG=y |
173 | CONFIG_ELF_CORE=y | 182 | CONFIG_ELF_CORE=y |
174 | CONFIG_BASE_FULL=y | 183 | CONFIG_BASE_FULL=y |
184 | CONFIG_RT_MUTEXES=y | ||
175 | CONFIG_FUTEX=y | 185 | CONFIG_FUTEX=y |
176 | CONFIG_EPOLL=y | 186 | CONFIG_EPOLL=y |
177 | CONFIG_SHMEM=y | 187 | CONFIG_SHMEM=y |
178 | CONFIG_SLAB=y | 188 | CONFIG_SLAB=y |
189 | CONFIG_VM_EVENT_COUNTERS=y | ||
179 | # CONFIG_TINY_SHMEM is not set | 190 | # CONFIG_TINY_SHMEM is not set |
180 | CONFIG_BASE_SMALL=0 | 191 | CONFIG_BASE_SMALL=0 |
181 | # CONFIG_SLOB is not set | 192 | # CONFIG_SLOB is not set |
@@ -265,6 +276,8 @@ CONFIG_IP_PNP=y | |||
265 | # CONFIG_INET_IPCOMP is not set | 276 | # CONFIG_INET_IPCOMP is not set |
266 | # CONFIG_INET_XFRM_TUNNEL is not set | 277 | # CONFIG_INET_XFRM_TUNNEL is not set |
267 | # CONFIG_INET_TUNNEL is not set | 278 | # CONFIG_INET_TUNNEL is not set |
279 | CONFIG_INET_XFRM_MODE_TRANSPORT=m | ||
280 | CONFIG_INET_XFRM_MODE_TUNNEL=m | ||
268 | CONFIG_INET_DIAG=y | 281 | CONFIG_INET_DIAG=y |
269 | CONFIG_INET_TCP_DIAG=y | 282 | CONFIG_INET_TCP_DIAG=y |
270 | # CONFIG_TCP_CONG_ADVANCED is not set | 283 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -272,6 +285,7 @@ CONFIG_TCP_CONG_BIC=y | |||
272 | # CONFIG_IPV6 is not set | 285 | # CONFIG_IPV6 is not set |
273 | # CONFIG_INET6_XFRM_TUNNEL is not set | 286 | # CONFIG_INET6_XFRM_TUNNEL is not set |
274 | # CONFIG_INET6_TUNNEL is not set | 287 | # CONFIG_INET6_TUNNEL is not set |
288 | CONFIG_NETWORK_SECMARK=y | ||
275 | # CONFIG_NETFILTER is not set | 289 | # CONFIG_NETFILTER is not set |
276 | 290 | ||
277 | # | 291 | # |
@@ -331,6 +345,7 @@ CONFIG_WIRELESS_EXT=y | |||
331 | CONFIG_STANDALONE=y | 345 | CONFIG_STANDALONE=y |
332 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 346 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
333 | CONFIG_FW_LOADER=m | 347 | CONFIG_FW_LOADER=m |
348 | # CONFIG_SYS_HYPERVISOR is not set | ||
334 | 349 | ||
335 | # | 350 | # |
336 | # Connector - unified userspace <-> kernelspace linker | 351 | # Connector - unified userspace <-> kernelspace linker |
@@ -427,6 +442,8 @@ CONFIG_DAVICOM_PHY=m | |||
427 | CONFIG_QSEMI_PHY=m | 442 | CONFIG_QSEMI_PHY=m |
428 | CONFIG_LXT_PHY=m | 443 | CONFIG_LXT_PHY=m |
429 | CONFIG_CICADA_PHY=m | 444 | CONFIG_CICADA_PHY=m |
445 | CONFIG_VITESSE_PHY=m | ||
446 | CONFIG_SMSC_PHY=m | ||
430 | 447 | ||
431 | # | 448 | # |
432 | # Ethernet (10 or 100Mbit) | 449 | # Ethernet (10 or 100Mbit) |
@@ -469,6 +486,7 @@ CONFIG_NET_ETHERNET=y | |||
469 | # CONFIG_CHELSIO_T1 is not set | 486 | # CONFIG_CHELSIO_T1 is not set |
470 | # CONFIG_IXGB is not set | 487 | # CONFIG_IXGB is not set |
471 | # CONFIG_S2IO is not set | 488 | # CONFIG_S2IO is not set |
489 | # CONFIG_MYRI10GE is not set | ||
472 | 490 | ||
473 | # | 491 | # |
474 | # Token Ring devices | 492 | # Token Ring devices |
@@ -554,6 +572,7 @@ CONFIG_SERIO_RAW=m | |||
554 | CONFIG_VT=y | 572 | CONFIG_VT=y |
555 | CONFIG_VT_CONSOLE=y | 573 | CONFIG_VT_CONSOLE=y |
556 | CONFIG_HW_CONSOLE=y | 574 | CONFIG_HW_CONSOLE=y |
575 | CONFIG_VT_HW_CONSOLE_BINDING=y | ||
557 | # CONFIG_SERIAL_NONSTANDARD is not set | 576 | # CONFIG_SERIAL_NONSTANDARD is not set |
558 | 577 | ||
559 | # | 578 | # |
@@ -585,6 +604,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
585 | # Watchdog Cards | 604 | # Watchdog Cards |
586 | # | 605 | # |
587 | # CONFIG_WATCHDOG is not set | 606 | # CONFIG_WATCHDOG is not set |
607 | # CONFIG_HW_RANDOM is not set | ||
588 | # CONFIG_RTC is not set | 608 | # CONFIG_RTC is not set |
589 | # CONFIG_GEN_RTC is not set | 609 | # CONFIG_GEN_RTC is not set |
590 | # CONFIG_DTLK is not set | 610 | # CONFIG_DTLK is not set |
@@ -633,6 +653,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
633 | # Multimedia devices | 653 | # Multimedia devices |
634 | # | 654 | # |
635 | # CONFIG_VIDEO_DEV is not set | 655 | # CONFIG_VIDEO_DEV is not set |
656 | CONFIG_VIDEO_V4L2=y | ||
636 | 657 | ||
637 | # | 658 | # |
638 | # Digital Video Broadcasting Devices | 659 | # Digital Video Broadcasting Devices |
@@ -642,6 +663,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
642 | # | 663 | # |
643 | # Graphics support | 664 | # Graphics support |
644 | # | 665 | # |
666 | # CONFIG_FIRMWARE_EDID is not set | ||
645 | # CONFIG_FB is not set | 667 | # CONFIG_FB is not set |
646 | 668 | ||
647 | # | 669 | # |
@@ -705,6 +727,19 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
705 | # CONFIG_RTC_CLASS is not set | 727 | # CONFIG_RTC_CLASS is not set |
706 | 728 | ||
707 | # | 729 | # |
730 | # DMA Engine support | ||
731 | # | ||
732 | # CONFIG_DMA_ENGINE is not set | ||
733 | |||
734 | # | ||
735 | # DMA Clients | ||
736 | # | ||
737 | |||
738 | # | ||
739 | # DMA Devices | ||
740 | # | ||
741 | |||
742 | # | ||
708 | # File systems | 743 | # File systems |
709 | # | 744 | # |
710 | CONFIG_EXT2_FS=y | 745 | CONFIG_EXT2_FS=y |
@@ -719,6 +754,7 @@ CONFIG_EXT2_FS=y | |||
719 | # CONFIG_MINIX_FS is not set | 754 | # CONFIG_MINIX_FS is not set |
720 | # CONFIG_ROMFS_FS is not set | 755 | # CONFIG_ROMFS_FS is not set |
721 | CONFIG_INOTIFY=y | 756 | CONFIG_INOTIFY=y |
757 | CONFIG_INOTIFY_USER=y | ||
722 | # CONFIG_QUOTA is not set | 758 | # CONFIG_QUOTA is not set |
723 | CONFIG_DNOTIFY=y | 759 | CONFIG_DNOTIFY=y |
724 | # CONFIG_AUTOFS_FS is not set | 760 | # CONFIG_AUTOFS_FS is not set |
@@ -782,6 +818,7 @@ CONFIG_SUNRPC=y | |||
782 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 818 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
783 | # CONFIG_SMB_FS is not set | 819 | # CONFIG_SMB_FS is not set |
784 | # CONFIG_CIFS is not set | 820 | # CONFIG_CIFS is not set |
821 | # CONFIG_CIFS_DEBUG2 is not set | ||
785 | # CONFIG_NCP_FS is not set | 822 | # CONFIG_NCP_FS is not set |
786 | # CONFIG_CODA_FS is not set | 823 | # CONFIG_CODA_FS is not set |
787 | # CONFIG_AFS_FS is not set | 824 | # CONFIG_AFS_FS is not set |
@@ -808,6 +845,7 @@ CONFIG_MSDOS_PARTITION=y | |||
808 | # | 845 | # |
809 | # CONFIG_PRINTK_TIME is not set | 846 | # CONFIG_PRINTK_TIME is not set |
810 | # CONFIG_MAGIC_SYSRQ is not set | 847 | # CONFIG_MAGIC_SYSRQ is not set |
848 | # CONFIG_UNUSED_SYMBOLS is not set | ||
811 | # CONFIG_DEBUG_KERNEL is not set | 849 | # CONFIG_DEBUG_KERNEL is not set |
812 | CONFIG_LOG_BUF_SHIFT=14 | 850 | CONFIG_LOG_BUF_SHIFT=14 |
813 | # CONFIG_DEBUG_FS is not set | 851 | # CONFIG_DEBUG_FS is not set |
@@ -863,3 +901,4 @@ CONFIG_CRC32=m | |||
863 | CONFIG_LIBCRC32C=m | 901 | CONFIG_LIBCRC32C=m |
864 | CONFIG_ZLIB_INFLATE=m | 902 | CONFIG_ZLIB_INFLATE=m |
865 | CONFIG_ZLIB_DEFLATE=m | 903 | CONFIG_ZLIB_DEFLATE=m |
904 | CONFIG_PLIST=y | ||
diff --git a/arch/mips/configs/ev96100_defconfig b/arch/mips/configs/ev96100_defconfig index 4858491ce669..0bdc10f11610 100644 --- a/arch/mips/configs/ev96100_defconfig +++ b/arch/mips/configs/ev96100_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17-rc2 | 3 | # Linux kernel version: 2.6.18-rc1 |
4 | # Mon Apr 24 14:51:03 2006 | 4 | # Thu Jul 6 10:04:05 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -21,6 +21,7 @@ CONFIG_MIPS=y | |||
21 | # CONFIG_MIPS_DB1550 is not set | 21 | # CONFIG_MIPS_DB1550 is not set |
22 | # CONFIG_MIPS_DB1200 is not set | 22 | # CONFIG_MIPS_DB1200 is not set |
23 | # CONFIG_MIPS_MIRAGE is not set | 23 | # CONFIG_MIPS_MIRAGE is not set |
24 | # CONFIG_BASLER_EXCITE is not set | ||
24 | # CONFIG_MIPS_COBALT is not set | 25 | # CONFIG_MIPS_COBALT is not set |
25 | # CONFIG_MACH_DECSTATION is not set | 26 | # CONFIG_MACH_DECSTATION is not set |
26 | # CONFIG_MIPS_EV64120 is not set | 27 | # CONFIG_MIPS_EV64120 is not set |
@@ -32,6 +33,7 @@ CONFIG_MIPS_EV96100=y | |||
32 | # CONFIG_MIPS_ATLAS is not set | 33 | # CONFIG_MIPS_ATLAS is not set |
33 | # CONFIG_MIPS_MALTA is not set | 34 | # CONFIG_MIPS_MALTA is not set |
34 | # CONFIG_MIPS_SEAD is not set | 35 | # CONFIG_MIPS_SEAD is not set |
36 | # CONFIG_WR_PPMC is not set | ||
35 | # CONFIG_MIPS_SIM is not set | 37 | # CONFIG_MIPS_SIM is not set |
36 | # CONFIG_MOMENCO_JAGUAR_ATX is not set | 38 | # CONFIG_MOMENCO_JAGUAR_ATX is not set |
37 | # CONFIG_MOMENCO_OCELOT is not set | 39 | # CONFIG_MOMENCO_OCELOT is not set |
@@ -45,6 +47,7 @@ CONFIG_MIPS_EV96100=y | |||
45 | # CONFIG_MACH_VR41XX is not set | 47 | # CONFIG_MACH_VR41XX is not set |
46 | # CONFIG_PMC_YOSEMITE is not set | 48 | # CONFIG_PMC_YOSEMITE is not set |
47 | # CONFIG_QEMU is not set | 49 | # CONFIG_QEMU is not set |
50 | # CONFIG_MARKEINS is not set | ||
48 | # CONFIG_SGI_IP22 is not set | 51 | # CONFIG_SGI_IP22 is not set |
49 | # CONFIG_SGI_IP27 is not set | 52 | # CONFIG_SGI_IP27 is not set |
50 | # CONFIG_SGI_IP32 is not set | 53 | # CONFIG_SGI_IP32 is not set |
@@ -65,6 +68,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y | |||
65 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 68 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
66 | CONFIG_GENERIC_HWEIGHT=y | 69 | CONFIG_GENERIC_HWEIGHT=y |
67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 70 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
71 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
68 | CONFIG_DMA_NONCOHERENT=y | 72 | CONFIG_DMA_NONCOHERENT=y |
69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 73 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
70 | CONFIG_CPU_BIG_ENDIAN=y | 74 | CONFIG_CPU_BIG_ENDIAN=y |
@@ -117,7 +121,10 @@ CONFIG_PAGE_SIZE_4KB=y | |||
117 | CONFIG_BOARD_SCACHE=y | 121 | CONFIG_BOARD_SCACHE=y |
118 | CONFIG_RM7000_CPU_SCACHE=y | 122 | CONFIG_RM7000_CPU_SCACHE=y |
119 | CONFIG_CPU_HAS_PREFETCH=y | 123 | CONFIG_CPU_HAS_PREFETCH=y |
120 | # CONFIG_MIPS_MT is not set | 124 | CONFIG_MIPS_MT_DISABLED=y |
125 | # CONFIG_MIPS_MT_SMTC is not set | ||
126 | # CONFIG_MIPS_MT_SMP is not set | ||
127 | # CONFIG_MIPS_VPE_LOADER is not set | ||
121 | # CONFIG_64BIT_PHYS_ADDR is not set | 128 | # CONFIG_64BIT_PHYS_ADDR is not set |
122 | CONFIG_CPU_HAS_LLSC=y | 129 | CONFIG_CPU_HAS_LLSC=y |
123 | CONFIG_CPU_HAS_SYNC=y | 130 | CONFIG_CPU_HAS_SYNC=y |
@@ -133,6 +140,7 @@ CONFIG_FLATMEM=y | |||
133 | CONFIG_FLAT_NODE_MEM_MAP=y | 140 | CONFIG_FLAT_NODE_MEM_MAP=y |
134 | # CONFIG_SPARSEMEM_STATIC is not set | 141 | # CONFIG_SPARSEMEM_STATIC is not set |
135 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 142 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
143 | # CONFIG_RESOURCES_64BIT is not set | ||
136 | # CONFIG_HZ_48 is not set | 144 | # CONFIG_HZ_48 is not set |
137 | # CONFIG_HZ_100 is not set | 145 | # CONFIG_HZ_100 is not set |
138 | # CONFIG_HZ_128 is not set | 146 | # CONFIG_HZ_128 is not set |
@@ -145,6 +153,7 @@ CONFIG_HZ=1000 | |||
145 | CONFIG_PREEMPT_NONE=y | 153 | CONFIG_PREEMPT_NONE=y |
146 | # CONFIG_PREEMPT_VOLUNTARY is not set | 154 | # CONFIG_PREEMPT_VOLUNTARY is not set |
147 | # CONFIG_PREEMPT is not set | 155 | # CONFIG_PREEMPT is not set |
156 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
148 | 157 | ||
149 | # | 158 | # |
150 | # Code maturity level options | 159 | # Code maturity level options |
@@ -176,10 +185,12 @@ CONFIG_PRINTK=y | |||
176 | CONFIG_BUG=y | 185 | CONFIG_BUG=y |
177 | CONFIG_ELF_CORE=y | 186 | CONFIG_ELF_CORE=y |
178 | CONFIG_BASE_FULL=y | 187 | CONFIG_BASE_FULL=y |
188 | CONFIG_RT_MUTEXES=y | ||
179 | CONFIG_FUTEX=y | 189 | CONFIG_FUTEX=y |
180 | CONFIG_EPOLL=y | 190 | CONFIG_EPOLL=y |
181 | CONFIG_SHMEM=y | 191 | CONFIG_SHMEM=y |
182 | CONFIG_SLAB=y | 192 | CONFIG_SLAB=y |
193 | CONFIG_VM_EVENT_COUNTERS=y | ||
183 | # CONFIG_TINY_SHMEM is not set | 194 | # CONFIG_TINY_SHMEM is not set |
184 | CONFIG_BASE_SMALL=0 | 195 | CONFIG_BASE_SMALL=0 |
185 | # CONFIG_SLOB is not set | 196 | # CONFIG_SLOB is not set |
@@ -268,6 +279,8 @@ CONFIG_IP_PNP_BOOTP=y | |||
268 | # CONFIG_INET_IPCOMP is not set | 279 | # CONFIG_INET_IPCOMP is not set |
269 | # CONFIG_INET_XFRM_TUNNEL is not set | 280 | # CONFIG_INET_XFRM_TUNNEL is not set |
270 | # CONFIG_INET_TUNNEL is not set | 281 | # CONFIG_INET_TUNNEL is not set |
282 | CONFIG_INET_XFRM_MODE_TRANSPORT=m | ||
283 | CONFIG_INET_XFRM_MODE_TUNNEL=m | ||
271 | CONFIG_INET_DIAG=y | 284 | CONFIG_INET_DIAG=y |
272 | CONFIG_INET_TCP_DIAG=y | 285 | CONFIG_INET_TCP_DIAG=y |
273 | # CONFIG_TCP_CONG_ADVANCED is not set | 286 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -275,6 +288,7 @@ CONFIG_TCP_CONG_BIC=y | |||
275 | # CONFIG_IPV6 is not set | 288 | # CONFIG_IPV6 is not set |
276 | # CONFIG_INET6_XFRM_TUNNEL is not set | 289 | # CONFIG_INET6_XFRM_TUNNEL is not set |
277 | # CONFIG_INET6_TUNNEL is not set | 290 | # CONFIG_INET6_TUNNEL is not set |
291 | CONFIG_NETWORK_SECMARK=y | ||
278 | # CONFIG_NETFILTER is not set | 292 | # CONFIG_NETFILTER is not set |
279 | 293 | ||
280 | # | 294 | # |
@@ -334,6 +348,7 @@ CONFIG_WIRELESS_EXT=y | |||
334 | CONFIG_STANDALONE=y | 348 | CONFIG_STANDALONE=y |
335 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 349 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
336 | # CONFIG_FW_LOADER is not set | 350 | # CONFIG_FW_LOADER is not set |
351 | # CONFIG_SYS_HYPERVISOR is not set | ||
337 | 352 | ||
338 | # | 353 | # |
339 | # Connector - unified userspace <-> kernelspace linker | 354 | # Connector - unified userspace <-> kernelspace linker |
@@ -418,6 +433,8 @@ CONFIG_DAVICOM_PHY=m | |||
418 | CONFIG_QSEMI_PHY=m | 433 | CONFIG_QSEMI_PHY=m |
419 | CONFIG_LXT_PHY=m | 434 | CONFIG_LXT_PHY=m |
420 | CONFIG_CICADA_PHY=m | 435 | CONFIG_CICADA_PHY=m |
436 | CONFIG_VITESSE_PHY=m | ||
437 | CONFIG_SMSC_PHY=m | ||
421 | 438 | ||
422 | # | 439 | # |
423 | # Ethernet (10 or 100Mbit) | 440 | # Ethernet (10 or 100Mbit) |
@@ -507,6 +524,7 @@ CONFIG_SERIO_RAW=m | |||
507 | CONFIG_VT=y | 524 | CONFIG_VT=y |
508 | CONFIG_VT_CONSOLE=y | 525 | CONFIG_VT_CONSOLE=y |
509 | CONFIG_HW_CONSOLE=y | 526 | CONFIG_HW_CONSOLE=y |
527 | CONFIG_VT_HW_CONSOLE_BINDING=y | ||
510 | # CONFIG_SERIAL_NONSTANDARD is not set | 528 | # CONFIG_SERIAL_NONSTANDARD is not set |
511 | 529 | ||
512 | # | 530 | # |
@@ -536,6 +554,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
536 | # Watchdog Cards | 554 | # Watchdog Cards |
537 | # | 555 | # |
538 | # CONFIG_WATCHDOG is not set | 556 | # CONFIG_WATCHDOG is not set |
557 | # CONFIG_HW_RANDOM is not set | ||
539 | # CONFIG_RTC is not set | 558 | # CONFIG_RTC is not set |
540 | # CONFIG_GEN_RTC is not set | 559 | # CONFIG_GEN_RTC is not set |
541 | # CONFIG_DTLK is not set | 560 | # CONFIG_DTLK is not set |
@@ -582,6 +601,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
582 | # Multimedia devices | 601 | # Multimedia devices |
583 | # | 602 | # |
584 | # CONFIG_VIDEO_DEV is not set | 603 | # CONFIG_VIDEO_DEV is not set |
604 | CONFIG_VIDEO_V4L2=y | ||
585 | 605 | ||
586 | # | 606 | # |
587 | # Digital Video Broadcasting Devices | 607 | # Digital Video Broadcasting Devices |
@@ -591,6 +611,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
591 | # | 611 | # |
592 | # Graphics support | 612 | # Graphics support |
593 | # | 613 | # |
614 | # CONFIG_FIRMWARE_EDID is not set | ||
594 | # CONFIG_FB is not set | 615 | # CONFIG_FB is not set |
595 | 616 | ||
596 | # | 617 | # |
@@ -652,6 +673,19 @@ CONFIG_DUMMY_CONSOLE=y | |||
652 | # CONFIG_RTC_CLASS is not set | 673 | # CONFIG_RTC_CLASS is not set |
653 | 674 | ||
654 | # | 675 | # |
676 | # DMA Engine support | ||
677 | # | ||
678 | # CONFIG_DMA_ENGINE is not set | ||
679 | |||
680 | # | ||
681 | # DMA Clients | ||
682 | # | ||
683 | |||
684 | # | ||
685 | # DMA Devices | ||
686 | # | ||
687 | |||
688 | # | ||
655 | # File systems | 689 | # File systems |
656 | # | 690 | # |
657 | CONFIG_EXT2_FS=y | 691 | CONFIG_EXT2_FS=y |
@@ -666,6 +700,7 @@ CONFIG_EXT2_FS=y | |||
666 | # CONFIG_MINIX_FS is not set | 700 | # CONFIG_MINIX_FS is not set |
667 | # CONFIG_ROMFS_FS is not set | 701 | # CONFIG_ROMFS_FS is not set |
668 | CONFIG_INOTIFY=y | 702 | CONFIG_INOTIFY=y |
703 | CONFIG_INOTIFY_USER=y | ||
669 | # CONFIG_QUOTA is not set | 704 | # CONFIG_QUOTA is not set |
670 | CONFIG_DNOTIFY=y | 705 | CONFIG_DNOTIFY=y |
671 | # CONFIG_AUTOFS_FS is not set | 706 | # CONFIG_AUTOFS_FS is not set |
@@ -729,6 +764,7 @@ CONFIG_SUNRPC=y | |||
729 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 764 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
730 | # CONFIG_SMB_FS is not set | 765 | # CONFIG_SMB_FS is not set |
731 | # CONFIG_CIFS is not set | 766 | # CONFIG_CIFS is not set |
767 | # CONFIG_CIFS_DEBUG2 is not set | ||
732 | # CONFIG_NCP_FS is not set | 768 | # CONFIG_NCP_FS is not set |
733 | # CONFIG_CODA_FS is not set | 769 | # CONFIG_CODA_FS is not set |
734 | # CONFIG_AFS_FS is not set | 770 | # CONFIG_AFS_FS is not set |
@@ -755,6 +791,7 @@ CONFIG_MSDOS_PARTITION=y | |||
755 | # | 791 | # |
756 | # CONFIG_PRINTK_TIME is not set | 792 | # CONFIG_PRINTK_TIME is not set |
757 | # CONFIG_MAGIC_SYSRQ is not set | 793 | # CONFIG_MAGIC_SYSRQ is not set |
794 | # CONFIG_UNUSED_SYMBOLS is not set | ||
758 | # CONFIG_DEBUG_KERNEL is not set | 795 | # CONFIG_DEBUG_KERNEL is not set |
759 | CONFIG_LOG_BUF_SHIFT=14 | 796 | CONFIG_LOG_BUF_SHIFT=14 |
760 | # CONFIG_DEBUG_FS is not set | 797 | # CONFIG_DEBUG_FS is not set |
@@ -810,3 +847,4 @@ CONFIG_CRC32=m | |||
810 | CONFIG_LIBCRC32C=m | 847 | CONFIG_LIBCRC32C=m |
811 | CONFIG_ZLIB_INFLATE=m | 848 | CONFIG_ZLIB_INFLATE=m |
812 | CONFIG_ZLIB_DEFLATE=m | 849 | CONFIG_ZLIB_DEFLATE=m |
850 | CONFIG_PLIST=y | ||
diff --git a/arch/mips/configs/excite_defconfig b/arch/mips/configs/excite_defconfig index f2ce64cb41a8..045ebd089893 100644 --- a/arch/mips/configs/excite_defconfig +++ b/arch/mips/configs/excite_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16-rc4 | 3 | # Linux kernel version: 2.6.18-rc1 |
4 | # Thu Feb 23 13:15:27 2006 | 4 | # Thu Jul 6 10:04:09 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -21,6 +21,8 @@ CONFIG_MIPS=y | |||
21 | # CONFIG_MIPS_DB1550 is not set | 21 | # CONFIG_MIPS_DB1550 is not set |
22 | # CONFIG_MIPS_DB1200 is not set | 22 | # CONFIG_MIPS_DB1200 is not set |
23 | # CONFIG_MIPS_MIRAGE is not set | 23 | # CONFIG_MIPS_MIRAGE is not set |
24 | CONFIG_BASLER_EXCITE=y | ||
25 | # CONFIG_BASLER_EXCITE_PROTOTYPE is not set | ||
24 | # CONFIG_MIPS_COBALT is not set | 26 | # CONFIG_MIPS_COBALT is not set |
25 | # CONFIG_MACH_DECSTATION is not set | 27 | # CONFIG_MACH_DECSTATION is not set |
26 | # CONFIG_MIPS_EV64120 is not set | 28 | # CONFIG_MIPS_EV64120 is not set |
@@ -32,6 +34,7 @@ CONFIG_MIPS=y | |||
32 | # CONFIG_MIPS_ATLAS is not set | 34 | # CONFIG_MIPS_ATLAS is not set |
33 | # CONFIG_MIPS_MALTA is not set | 35 | # CONFIG_MIPS_MALTA is not set |
34 | # CONFIG_MIPS_SEAD is not set | 36 | # CONFIG_MIPS_SEAD is not set |
37 | # CONFIG_WR_PPMC is not set | ||
35 | # CONFIG_MIPS_SIM is not set | 38 | # CONFIG_MIPS_SIM is not set |
36 | # CONFIG_MOMENCO_JAGUAR_ATX is not set | 39 | # CONFIG_MOMENCO_JAGUAR_ATX is not set |
37 | # CONFIG_MOMENCO_OCELOT is not set | 40 | # CONFIG_MOMENCO_OCELOT is not set |
@@ -41,14 +44,11 @@ CONFIG_MIPS=y | |||
41 | # CONFIG_MIPS_XXS1500 is not set | 44 | # CONFIG_MIPS_XXS1500 is not set |
42 | # CONFIG_PNX8550_V2PCI is not set | 45 | # CONFIG_PNX8550_V2PCI is not set |
43 | # CONFIG_PNX8550_JBS is not set | 46 | # CONFIG_PNX8550_JBS is not set |
44 | CONFIG_BASLER_EXCITE=y | ||
45 | # CONFIG_BASLER_EXCITE_PROTOTYPE is not set | ||
46 | # CONFIG_DDB5074 is not set | ||
47 | # CONFIG_DDB5476 is not set | ||
48 | # CONFIG_DDB5477 is not set | 47 | # CONFIG_DDB5477 is not set |
49 | # CONFIG_MACH_VR41XX is not set | 48 | # CONFIG_MACH_VR41XX is not set |
50 | # CONFIG_PMC_YOSEMITE is not set | 49 | # CONFIG_PMC_YOSEMITE is not set |
51 | # CONFIG_QEMU is not set | 50 | # CONFIG_QEMU is not set |
51 | # CONFIG_MARKEINS is not set | ||
52 | # CONFIG_SGI_IP22 is not set | 52 | # CONFIG_SGI_IP22 is not set |
53 | # CONFIG_SGI_IP27 is not set | 53 | # CONFIG_SGI_IP27 is not set |
54 | # CONFIG_SGI_IP32 is not set | 54 | # CONFIG_SGI_IP32 is not set |
@@ -66,9 +66,11 @@ CONFIG_BASLER_EXCITE=y | |||
66 | # CONFIG_TOSHIBA_RBTX4927 is not set | 66 | # CONFIG_TOSHIBA_RBTX4927 is not set |
67 | # CONFIG_TOSHIBA_RBTX4938 is not set | 67 | # CONFIG_TOSHIBA_RBTX4938 is not set |
68 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 68 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
69 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
70 | CONFIG_GENERIC_HWEIGHT=y | ||
69 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 71 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
72 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
70 | CONFIG_DMA_COHERENT=y | 73 | CONFIG_DMA_COHERENT=y |
71 | CONFIG_SERIAL_RM9000=y | ||
72 | CONFIG_CPU_BIG_ENDIAN=y | 74 | CONFIG_CPU_BIG_ENDIAN=y |
73 | # CONFIG_CPU_LITTLE_ENDIAN is not set | 75 | # CONFIG_CPU_LITTLE_ENDIAN is not set |
74 | CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y | 76 | CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y |
@@ -115,9 +117,11 @@ CONFIG_PAGE_SIZE_4KB=y | |||
115 | # CONFIG_PAGE_SIZE_16KB is not set | 117 | # CONFIG_PAGE_SIZE_16KB is not set |
116 | # CONFIG_PAGE_SIZE_64KB is not set | 118 | # CONFIG_PAGE_SIZE_64KB is not set |
117 | CONFIG_CPU_HAS_PREFETCH=y | 119 | CONFIG_CPU_HAS_PREFETCH=y |
118 | # CONFIG_MIPS_MT is not set | 120 | CONFIG_MIPS_MT_DISABLED=y |
121 | # CONFIG_MIPS_MT_SMTC is not set | ||
122 | # CONFIG_MIPS_MT_SMP is not set | ||
123 | # CONFIG_MIPS_VPE_LOADER is not set | ||
119 | # CONFIG_64BIT_PHYS_ADDR is not set | 124 | # CONFIG_64BIT_PHYS_ADDR is not set |
120 | # CONFIG_CPU_ADVANCED is not set | ||
121 | CONFIG_CPU_HAS_LLSC=y | 125 | CONFIG_CPU_HAS_LLSC=y |
122 | CONFIG_CPU_HAS_SYNC=y | 126 | CONFIG_CPU_HAS_SYNC=y |
123 | CONFIG_GENERIC_HARDIRQS=y | 127 | CONFIG_GENERIC_HARDIRQS=y |
@@ -132,6 +136,7 @@ CONFIG_FLATMEM=y | |||
132 | CONFIG_FLAT_NODE_MEM_MAP=y | 136 | CONFIG_FLAT_NODE_MEM_MAP=y |
133 | # CONFIG_SPARSEMEM_STATIC is not set | 137 | # CONFIG_SPARSEMEM_STATIC is not set |
134 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 138 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
139 | # CONFIG_RESOURCES_64BIT is not set | ||
135 | # CONFIG_HZ_48 is not set | 140 | # CONFIG_HZ_48 is not set |
136 | # CONFIG_HZ_100 is not set | 141 | # CONFIG_HZ_100 is not set |
137 | # CONFIG_HZ_128 is not set | 142 | # CONFIG_HZ_128 is not set |
@@ -141,11 +146,11 @@ CONFIG_HZ_1000=y | |||
141 | # CONFIG_HZ_1024 is not set | 146 | # CONFIG_HZ_1024 is not set |
142 | CONFIG_SYS_SUPPORTS_ARBIT_HZ=y | 147 | CONFIG_SYS_SUPPORTS_ARBIT_HZ=y |
143 | CONFIG_HZ=1000 | 148 | CONFIG_HZ=1000 |
144 | # CONFIG_SMP is not set | ||
145 | # CONFIG_PREEMPT_NONE is not set | 149 | # CONFIG_PREEMPT_NONE is not set |
146 | # CONFIG_PREEMPT_VOLUNTARY is not set | 150 | # CONFIG_PREEMPT_VOLUNTARY is not set |
147 | CONFIG_PREEMPT=y | 151 | CONFIG_PREEMPT=y |
148 | CONFIG_PREEMPT_BKL=y | 152 | CONFIG_PREEMPT_BKL=y |
153 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
149 | 154 | ||
150 | # | 155 | # |
151 | # Code maturity level options | 156 | # Code maturity level options |
@@ -167,6 +172,7 @@ CONFIG_POSIX_MQUEUE=y | |||
167 | CONFIG_SYSCTL=y | 172 | CONFIG_SYSCTL=y |
168 | # CONFIG_AUDIT is not set | 173 | # CONFIG_AUDIT is not set |
169 | # CONFIG_IKCONFIG is not set | 174 | # CONFIG_IKCONFIG is not set |
175 | # CONFIG_RELAY is not set | ||
170 | CONFIG_INITRAMFS_SOURCE="" | 176 | CONFIG_INITRAMFS_SOURCE="" |
171 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y | 177 | CONFIG_CC_OPTIMIZE_FOR_SIZE=y |
172 | CONFIG_EMBEDDED=y | 178 | CONFIG_EMBEDDED=y |
@@ -177,14 +183,12 @@ CONFIG_PRINTK=y | |||
177 | CONFIG_BUG=y | 183 | CONFIG_BUG=y |
178 | CONFIG_ELF_CORE=y | 184 | CONFIG_ELF_CORE=y |
179 | CONFIG_BASE_FULL=y | 185 | CONFIG_BASE_FULL=y |
186 | CONFIG_RT_MUTEXES=y | ||
180 | CONFIG_FUTEX=y | 187 | CONFIG_FUTEX=y |
181 | CONFIG_EPOLL=y | 188 | CONFIG_EPOLL=y |
182 | CONFIG_SHMEM=y | 189 | CONFIG_SHMEM=y |
183 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
184 | CONFIG_CC_ALIGN_LABELS=0 | ||
185 | CONFIG_CC_ALIGN_LOOPS=0 | ||
186 | CONFIG_CC_ALIGN_JUMPS=0 | ||
187 | CONFIG_SLAB=y | 190 | CONFIG_SLAB=y |
191 | CONFIG_VM_EVENT_COUNTERS=y | ||
188 | # CONFIG_TINY_SHMEM is not set | 192 | # CONFIG_TINY_SHMEM is not set |
189 | CONFIG_BASE_SMALL=0 | 193 | CONFIG_BASE_SMALL=0 |
190 | # CONFIG_SLOB is not set | 194 | # CONFIG_SLOB is not set |
@@ -195,7 +199,6 @@ CONFIG_BASE_SMALL=0 | |||
195 | CONFIG_MODULES=y | 199 | CONFIG_MODULES=y |
196 | CONFIG_MODULE_UNLOAD=y | 200 | CONFIG_MODULE_UNLOAD=y |
197 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 201 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
198 | CONFIG_OBSOLETE_MODPARM=y | ||
199 | # CONFIG_MODVERSIONS is not set | 202 | # CONFIG_MODVERSIONS is not set |
200 | # CONFIG_MODULE_SRCVERSION_ALL is not set | 203 | # CONFIG_MODULE_SRCVERSION_ALL is not set |
201 | CONFIG_KMOD=y | 204 | CONFIG_KMOD=y |
@@ -204,6 +207,8 @@ CONFIG_KMOD=y | |||
204 | # Block layer | 207 | # Block layer |
205 | # | 208 | # |
206 | # CONFIG_LBD is not set | 209 | # CONFIG_LBD is not set |
210 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
211 | # CONFIG_LSF is not set | ||
207 | 212 | ||
208 | # | 213 | # |
209 | # IO Schedulers | 214 | # IO Schedulers |
@@ -223,7 +228,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
223 | # | 228 | # |
224 | CONFIG_HW_HAS_PCI=y | 229 | CONFIG_HW_HAS_PCI=y |
225 | CONFIG_PCI=y | 230 | CONFIG_PCI=y |
226 | # CONFIG_PCI_LEGACY_PROC is not set | ||
227 | CONFIG_MMU=y | 231 | CONFIG_MMU=y |
228 | 232 | ||
229 | # | 233 | # |
@@ -255,6 +259,8 @@ CONFIG_NET=y | |||
255 | CONFIG_PACKET=y | 259 | CONFIG_PACKET=y |
256 | CONFIG_PACKET_MMAP=y | 260 | CONFIG_PACKET_MMAP=y |
257 | CONFIG_UNIX=y | 261 | CONFIG_UNIX=y |
262 | CONFIG_XFRM=y | ||
263 | # CONFIG_XFRM_USER is not set | ||
258 | # CONFIG_NET_KEY is not set | 264 | # CONFIG_NET_KEY is not set |
259 | CONFIG_INET=y | 265 | CONFIG_INET=y |
260 | # CONFIG_IP_MULTICAST is not set | 266 | # CONFIG_IP_MULTICAST is not set |
@@ -271,12 +277,18 @@ CONFIG_IP_PNP_DHCP=y | |||
271 | # CONFIG_INET_AH is not set | 277 | # CONFIG_INET_AH is not set |
272 | # CONFIG_INET_ESP is not set | 278 | # CONFIG_INET_ESP is not set |
273 | # CONFIG_INET_IPCOMP is not set | 279 | # CONFIG_INET_IPCOMP is not set |
280 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
274 | # CONFIG_INET_TUNNEL is not set | 281 | # CONFIG_INET_TUNNEL is not set |
282 | CONFIG_INET_XFRM_MODE_TRANSPORT=m | ||
283 | CONFIG_INET_XFRM_MODE_TUNNEL=m | ||
275 | CONFIG_INET_DIAG=y | 284 | CONFIG_INET_DIAG=y |
276 | CONFIG_INET_TCP_DIAG=y | 285 | CONFIG_INET_TCP_DIAG=y |
277 | # CONFIG_TCP_CONG_ADVANCED is not set | 286 | # CONFIG_TCP_CONG_ADVANCED is not set |
278 | CONFIG_TCP_CONG_BIC=y | 287 | CONFIG_TCP_CONG_BIC=y |
279 | # CONFIG_IPV6 is not set | 288 | # CONFIG_IPV6 is not set |
289 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
290 | # CONFIG_INET6_TUNNEL is not set | ||
291 | CONFIG_NETWORK_SECMARK=y | ||
280 | # CONFIG_NETFILTER is not set | 292 | # CONFIG_NETFILTER is not set |
281 | 293 | ||
282 | # | 294 | # |
@@ -330,6 +342,7 @@ CONFIG_TCP_CONG_BIC=y | |||
330 | CONFIG_STANDALONE=y | 342 | CONFIG_STANDALONE=y |
331 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 343 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
332 | # CONFIG_FW_LOADER is not set | 344 | # CONFIG_FW_LOADER is not set |
345 | # CONFIG_SYS_HYPERVISOR is not set | ||
333 | 346 | ||
334 | # | 347 | # |
335 | # Connector - unified userspace <-> kernelspace linker | 348 | # Connector - unified userspace <-> kernelspace linker |
@@ -389,7 +402,6 @@ CONFIG_MTD_CFI_I2=y | |||
389 | # CONFIG_MTD_SLRAM is not set | 402 | # CONFIG_MTD_SLRAM is not set |
390 | # CONFIG_MTD_PHRAM is not set | 403 | # CONFIG_MTD_PHRAM is not set |
391 | # CONFIG_MTD_MTDRAM is not set | 404 | # CONFIG_MTD_MTDRAM is not set |
392 | # CONFIG_MTD_BLKMTD is not set | ||
393 | # CONFIG_MTD_BLOCK2MTD is not set | 405 | # CONFIG_MTD_BLOCK2MTD is not set |
394 | 406 | ||
395 | # | 407 | # |
@@ -404,11 +416,9 @@ CONFIG_MTD_CFI_I2=y | |||
404 | # | 416 | # |
405 | CONFIG_MTD_NAND=y | 417 | CONFIG_MTD_NAND=y |
406 | CONFIG_MTD_NAND_VERIFY_WRITE=y | 418 | CONFIG_MTD_NAND_VERIFY_WRITE=y |
419 | # CONFIG_MTD_NAND_ECC_SMC is not set | ||
407 | CONFIG_MTD_NAND_IDS=y | 420 | CONFIG_MTD_NAND_IDS=y |
408 | # CONFIG_MTD_NAND_DISKONCHIP is not set | 421 | # CONFIG_MTD_NAND_DISKONCHIP is not set |
409 | CONFIG_MTD_NAND_BASLER_EXCITE=y | ||
410 | # CONFIG_MTD_NAND_BASLER_EXCITE_RDNBY is not set | ||
411 | # CONFIG_MTD_NAND_BASLER_EXCITE_PERF is not set | ||
412 | # CONFIG_MTD_NAND_NANDSIM is not set | 422 | # CONFIG_MTD_NAND_NANDSIM is not set |
413 | 423 | ||
414 | # | 424 | # |
@@ -439,7 +449,7 @@ CONFIG_BLK_DEV_LOOP=m | |||
439 | # CONFIG_BLK_DEV_SX8 is not set | 449 | # CONFIG_BLK_DEV_SX8 is not set |
440 | # CONFIG_BLK_DEV_UB is not set | 450 | # CONFIG_BLK_DEV_UB is not set |
441 | # CONFIG_BLK_DEV_RAM is not set | 451 | # CONFIG_BLK_DEV_RAM is not set |
442 | CONFIG_BLK_DEV_RAM_COUNT=16 | 452 | # CONFIG_BLK_DEV_INITRD is not set |
443 | # CONFIG_CDROM_PKTCDVD is not set | 453 | # CONFIG_CDROM_PKTCDVD is not set |
444 | # CONFIG_ATA_OVER_ETH is not set | 454 | # CONFIG_ATA_OVER_ETH is not set |
445 | 455 | ||
@@ -496,6 +506,7 @@ CONFIG_BLK_DEV_SD=y | |||
496 | # CONFIG_MEGARAID_LEGACY is not set | 506 | # CONFIG_MEGARAID_LEGACY is not set |
497 | # CONFIG_MEGARAID_SAS is not set | 507 | # CONFIG_MEGARAID_SAS is not set |
498 | # CONFIG_SCSI_SATA is not set | 508 | # CONFIG_SCSI_SATA is not set |
509 | # CONFIG_SCSI_HPTIOP is not set | ||
499 | # CONFIG_SCSI_DMX3191D is not set | 510 | # CONFIG_SCSI_DMX3191D is not set |
500 | # CONFIG_SCSI_FUTURE_DOMAIN is not set | 511 | # CONFIG_SCSI_FUTURE_DOMAIN is not set |
501 | # CONFIG_SCSI_IPS is not set | 512 | # CONFIG_SCSI_IPS is not set |
@@ -503,7 +514,6 @@ CONFIG_BLK_DEV_SD=y | |||
503 | # CONFIG_SCSI_INIA100 is not set | 514 | # CONFIG_SCSI_INIA100 is not set |
504 | # CONFIG_SCSI_SYM53C8XX_2 is not set | 515 | # CONFIG_SCSI_SYM53C8XX_2 is not set |
505 | # CONFIG_SCSI_IPR is not set | 516 | # CONFIG_SCSI_IPR is not set |
506 | # CONFIG_SCSI_QLOGIC_FC is not set | ||
507 | # CONFIG_SCSI_QLOGIC_1280 is not set | 517 | # CONFIG_SCSI_QLOGIC_1280 is not set |
508 | # CONFIG_SCSI_QLA_FC is not set | 518 | # CONFIG_SCSI_QLA_FC is not set |
509 | # CONFIG_SCSI_LPFC is not set | 519 | # CONFIG_SCSI_LPFC is not set |
@@ -574,8 +584,6 @@ CONFIG_NETDEVICES=y | |||
574 | # CONFIG_SK98LIN is not set | 584 | # CONFIG_SK98LIN is not set |
575 | # CONFIG_TIGON3 is not set | 585 | # CONFIG_TIGON3 is not set |
576 | # CONFIG_BNX2 is not set | 586 | # CONFIG_BNX2 is not set |
577 | # CONFIG_TITAN_GE is not set | ||
578 | CONFIG_RM9K_GE=m | ||
579 | 587 | ||
580 | # | 588 | # |
581 | # Ethernet (10000 Mbit) | 589 | # Ethernet (10000 Mbit) |
@@ -583,6 +591,7 @@ CONFIG_RM9K_GE=m | |||
583 | # CONFIG_CHELSIO_T1 is not set | 591 | # CONFIG_CHELSIO_T1 is not set |
584 | # CONFIG_IXGB is not set | 592 | # CONFIG_IXGB is not set |
585 | # CONFIG_S2IO is not set | 593 | # CONFIG_S2IO is not set |
594 | # CONFIG_MYRI10GE is not set | ||
586 | 595 | ||
587 | # | 596 | # |
588 | # Token Ring devices | 597 | # Token Ring devices |
@@ -656,6 +665,7 @@ CONFIG_INPUT_EVDEV=m | |||
656 | CONFIG_VT=y | 665 | CONFIG_VT=y |
657 | CONFIG_VT_CONSOLE=y | 666 | CONFIG_VT_CONSOLE=y |
658 | CONFIG_HW_CONSOLE=y | 667 | CONFIG_HW_CONSOLE=y |
668 | CONFIG_VT_HW_CONSOLE_BINDING=y | ||
659 | # CONFIG_SERIAL_NONSTANDARD is not set | 669 | # CONFIG_SERIAL_NONSTANDARD is not set |
660 | 670 | ||
661 | # | 671 | # |
@@ -663,6 +673,7 @@ CONFIG_HW_CONSOLE=y | |||
663 | # | 673 | # |
664 | CONFIG_SERIAL_8250=y | 674 | CONFIG_SERIAL_8250=y |
665 | CONFIG_SERIAL_8250_CONSOLE=y | 675 | CONFIG_SERIAL_8250_CONSOLE=y |
676 | CONFIG_SERIAL_8250_PCI=y | ||
666 | CONFIG_SERIAL_8250_NR_UARTS=2 | 677 | CONFIG_SERIAL_8250_NR_UARTS=2 |
667 | CONFIG_SERIAL_8250_RUNTIME_UARTS=2 | 678 | CONFIG_SERIAL_8250_RUNTIME_UARTS=2 |
668 | CONFIG_SERIAL_8250_EXTENDED=y | 679 | CONFIG_SERIAL_8250_EXTENDED=y |
@@ -695,7 +706,6 @@ CONFIG_WATCHDOG=y | |||
695 | # Watchdog Device Drivers | 706 | # Watchdog Device Drivers |
696 | # | 707 | # |
697 | # CONFIG_SOFT_WATCHDOG is not set | 708 | # CONFIG_SOFT_WATCHDOG is not set |
698 | CONFIG_WDT_RM9K_GPI=m | ||
699 | 709 | ||
700 | # | 710 | # |
701 | # PCI-based Watchdog Cards | 711 | # PCI-based Watchdog Cards |
@@ -707,6 +717,7 @@ CONFIG_WDT_RM9K_GPI=m | |||
707 | # USB-based Watchdog Cards | 717 | # USB-based Watchdog Cards |
708 | # | 718 | # |
709 | # CONFIG_USBPCWATCHDOG is not set | 719 | # CONFIG_USBPCWATCHDOG is not set |
720 | # CONFIG_HW_RANDOM is not set | ||
710 | # CONFIG_RTC is not set | 721 | # CONFIG_RTC is not set |
711 | # CONFIG_GEN_RTC is not set | 722 | # CONFIG_GEN_RTC is not set |
712 | # CONFIG_DTLK is not set | 723 | # CONFIG_DTLK is not set |
@@ -739,7 +750,6 @@ CONFIG_WDT_RM9K_GPI=m | |||
739 | # | 750 | # |
740 | # Dallas's 1-wire bus | 751 | # Dallas's 1-wire bus |
741 | # | 752 | # |
742 | # CONFIG_W1 is not set | ||
743 | 753 | ||
744 | # | 754 | # |
745 | # Hardware Monitoring support | 755 | # Hardware Monitoring support |
@@ -752,27 +762,27 @@ CONFIG_WDT_RM9K_GPI=m | |||
752 | # | 762 | # |
753 | 763 | ||
754 | # | 764 | # |
755 | # Multimedia Capabilities Port drivers | ||
756 | # | ||
757 | |||
758 | # | ||
759 | # Multimedia devices | 765 | # Multimedia devices |
760 | # | 766 | # |
761 | # CONFIG_VIDEO_DEV is not set | 767 | # CONFIG_VIDEO_DEV is not set |
768 | CONFIG_VIDEO_V4L2=y | ||
762 | 769 | ||
763 | # | 770 | # |
764 | # Digital Video Broadcasting Devices | 771 | # Digital Video Broadcasting Devices |
765 | # | 772 | # |
766 | # CONFIG_DVB is not set | 773 | # CONFIG_DVB is not set |
774 | # CONFIG_USB_DABUSB is not set | ||
767 | 775 | ||
768 | # | 776 | # |
769 | # Graphics support | 777 | # Graphics support |
770 | # | 778 | # |
779 | # CONFIG_FIRMWARE_EDID is not set | ||
771 | CONFIG_FB=y | 780 | CONFIG_FB=y |
772 | CONFIG_FB_CFB_FILLRECT=y | 781 | # CONFIG_FB_CFB_FILLRECT is not set |
773 | CONFIG_FB_CFB_COPYAREA=y | 782 | # CONFIG_FB_CFB_COPYAREA is not set |
774 | CONFIG_FB_CFB_IMAGEBLIT=y | 783 | # CONFIG_FB_CFB_IMAGEBLIT is not set |
775 | # CONFIG_FB_MACMODES is not set | 784 | # CONFIG_FB_MACMODES is not set |
785 | # CONFIG_FB_BACKLIGHT is not set | ||
776 | # CONFIG_FB_MODE_HELPERS is not set | 786 | # CONFIG_FB_MODE_HELPERS is not set |
777 | # CONFIG_FB_TILEBLITTING is not set | 787 | # CONFIG_FB_TILEBLITTING is not set |
778 | # CONFIG_FB_CIRRUS is not set | 788 | # CONFIG_FB_CIRRUS is not set |
@@ -784,7 +794,6 @@ CONFIG_FB_CFB_IMAGEBLIT=y | |||
784 | # CONFIG_FB_NVIDIA is not set | 794 | # CONFIG_FB_NVIDIA is not set |
785 | # CONFIG_FB_RIVA is not set | 795 | # CONFIG_FB_RIVA is not set |
786 | # CONFIG_FB_MATROX is not set | 796 | # CONFIG_FB_MATROX is not set |
787 | # CONFIG_FB_RADEON_OLD is not set | ||
788 | # CONFIG_FB_RADEON is not set | 797 | # CONFIG_FB_RADEON is not set |
789 | # CONFIG_FB_ATY128 is not set | 798 | # CONFIG_FB_ATY128 is not set |
790 | # CONFIG_FB_ATY is not set | 799 | # CONFIG_FB_ATY is not set |
@@ -797,7 +806,6 @@ CONFIG_FB_CFB_IMAGEBLIT=y | |||
797 | # CONFIG_FB_SMIVGX is not set | 806 | # CONFIG_FB_SMIVGX is not set |
798 | # CONFIG_FB_TRIDENT is not set | 807 | # CONFIG_FB_TRIDENT is not set |
799 | # CONFIG_FB_VIRTUAL is not set | 808 | # CONFIG_FB_VIRTUAL is not set |
800 | CONFIG_FB_DD=y | ||
801 | 809 | ||
802 | # | 810 | # |
803 | # Console display driver support | 811 | # Console display driver support |
@@ -826,6 +834,7 @@ CONFIG_FONT_8x16=y | |||
826 | # | 834 | # |
827 | CONFIG_USB_ARCH_HAS_HCD=y | 835 | CONFIG_USB_ARCH_HAS_HCD=y |
828 | CONFIG_USB_ARCH_HAS_OHCI=y | 836 | CONFIG_USB_ARCH_HAS_OHCI=y |
837 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
829 | CONFIG_USB=y | 838 | CONFIG_USB=y |
830 | # CONFIG_USB_DEBUG is not set | 839 | # CONFIG_USB_DEBUG is not set |
831 | 840 | ||
@@ -843,6 +852,7 @@ CONFIG_USB_DEVICEFS=y | |||
843 | CONFIG_USB_EHCI_HCD=y | 852 | CONFIG_USB_EHCI_HCD=y |
844 | # CONFIG_USB_EHCI_SPLIT_ISO is not set | 853 | # CONFIG_USB_EHCI_SPLIT_ISO is not set |
845 | # CONFIG_USB_EHCI_ROOT_HUB_TT is not set | 854 | # CONFIG_USB_EHCI_ROOT_HUB_TT is not set |
855 | # CONFIG_USB_EHCI_TT_NEWSCHED is not set | ||
846 | # CONFIG_USB_ISP116X_HCD is not set | 856 | # CONFIG_USB_ISP116X_HCD is not set |
847 | CONFIG_USB_OHCI_HCD=y | 857 | CONFIG_USB_OHCI_HCD=y |
848 | # CONFIG_USB_OHCI_BIG_ENDIAN is not set | 858 | # CONFIG_USB_OHCI_BIG_ENDIAN is not set |
@@ -895,9 +905,7 @@ CONFIG_USB_HIDINPUT=y | |||
895 | # CONFIG_USB_ACECAD is not set | 905 | # CONFIG_USB_ACECAD is not set |
896 | # CONFIG_USB_KBTAB is not set | 906 | # CONFIG_USB_KBTAB is not set |
897 | # CONFIG_USB_POWERMATE is not set | 907 | # CONFIG_USB_POWERMATE is not set |
898 | # CONFIG_USB_MTOUCH is not set | 908 | # CONFIG_USB_TOUCHSCREEN is not set |
899 | # CONFIG_USB_ITMTOUCH is not set | ||
900 | # CONFIG_USB_EGALAX is not set | ||
901 | # CONFIG_USB_YEALINK is not set | 909 | # CONFIG_USB_YEALINK is not set |
902 | # CONFIG_USB_XPAD is not set | 910 | # CONFIG_USB_XPAD is not set |
903 | # CONFIG_USB_ATI_REMOTE is not set | 911 | # CONFIG_USB_ATI_REMOTE is not set |
@@ -912,15 +920,6 @@ CONFIG_USB_HIDINPUT=y | |||
912 | # CONFIG_USB_MICROTEK is not set | 920 | # CONFIG_USB_MICROTEK is not set |
913 | 921 | ||
914 | # | 922 | # |
915 | # USB Multimedia devices | ||
916 | # | ||
917 | # CONFIG_USB_DABUSB is not set | ||
918 | |||
919 | # | ||
920 | # Video4Linux support is needed for USB Multimedia device support | ||
921 | # | ||
922 | |||
923 | # | ||
924 | # USB Network Adapters | 923 | # USB Network Adapters |
925 | # | 924 | # |
926 | # CONFIG_USB_CATC is not set | 925 | # CONFIG_USB_CATC is not set |
@@ -946,15 +945,15 @@ CONFIG_USB_HIDINPUT=y | |||
946 | # CONFIG_USB_EMI26 is not set | 945 | # CONFIG_USB_EMI26 is not set |
947 | # CONFIG_USB_AUERSWALD is not set | 946 | # CONFIG_USB_AUERSWALD is not set |
948 | # CONFIG_USB_RIO500 is not set | 947 | # CONFIG_USB_RIO500 is not set |
949 | CONFIG_USB_ARTTFT=m | ||
950 | # CONFIG_USB_ARTTOUCH is not set | ||
951 | # CONFIG_USB_LEGOTOWER is not set | 948 | # CONFIG_USB_LEGOTOWER is not set |
952 | # CONFIG_USB_LCD is not set | 949 | # CONFIG_USB_LCD is not set |
953 | # CONFIG_USB_LED is not set | 950 | # CONFIG_USB_LED is not set |
951 | # CONFIG_USB_CY7C63 is not set | ||
954 | # CONFIG_USB_CYTHERM is not set | 952 | # CONFIG_USB_CYTHERM is not set |
955 | # CONFIG_USB_PHIDGETKIT is not set | 953 | # CONFIG_USB_PHIDGETKIT is not set |
956 | # CONFIG_USB_PHIDGETSERVO is not set | 954 | # CONFIG_USB_PHIDGETSERVO is not set |
957 | # CONFIG_USB_IDMOUSE is not set | 955 | # CONFIG_USB_IDMOUSE is not set |
956 | # CONFIG_USB_APPLEDISPLAY is not set | ||
958 | # CONFIG_USB_SISUSBVGA is not set | 957 | # CONFIG_USB_SISUSBVGA is not set |
959 | # CONFIG_USB_LD is not set | 958 | # CONFIG_USB_LD is not set |
960 | # CONFIG_USB_TEST is not set | 959 | # CONFIG_USB_TEST is not set |
@@ -974,23 +973,44 @@ CONFIG_USB_ARTTFT=m | |||
974 | # CONFIG_MMC is not set | 973 | # CONFIG_MMC is not set |
975 | 974 | ||
976 | # | 975 | # |
976 | # LED devices | ||
977 | # | ||
978 | # CONFIG_NEW_LEDS is not set | ||
979 | |||
980 | # | ||
981 | # LED drivers | ||
982 | # | ||
983 | |||
984 | # | ||
985 | # LED Triggers | ||
986 | # | ||
987 | |||
988 | # | ||
977 | # InfiniBand support | 989 | # InfiniBand support |
978 | # | 990 | # |
979 | # CONFIG_INFINIBAND is not set | 991 | # CONFIG_INFINIBAND is not set |
980 | 992 | ||
981 | # | 993 | # |
982 | # SN Devices | 994 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) |
995 | # | ||
996 | |||
997 | # | ||
998 | # Real Time Clock | ||
999 | # | ||
1000 | # CONFIG_RTC_CLASS is not set | ||
1001 | |||
1002 | # | ||
1003 | # DMA Engine support | ||
983 | # | 1004 | # |
1005 | # CONFIG_DMA_ENGINE is not set | ||
984 | 1006 | ||
985 | # | 1007 | # |
986 | # EDAC - error detection and reporting (RAS) | 1008 | # DMA Clients |
987 | # | 1009 | # |
988 | 1010 | ||
989 | # | 1011 | # |
990 | # eXcite frame capture support | 1012 | # DMA Devices |
991 | # | 1013 | # |
992 | CONFIG_EXCITE_FCAP=m | ||
993 | CONFIG_EXCITE_FCAP_GPI=m | ||
994 | 1014 | ||
995 | # | 1015 | # |
996 | # File systems | 1016 | # File systems |
@@ -1007,6 +1027,7 @@ CONFIG_EXT2_FS=y | |||
1007 | # CONFIG_MINIX_FS is not set | 1027 | # CONFIG_MINIX_FS is not set |
1008 | # CONFIG_ROMFS_FS is not set | 1028 | # CONFIG_ROMFS_FS is not set |
1009 | CONFIG_INOTIFY=y | 1029 | CONFIG_INOTIFY=y |
1030 | CONFIG_INOTIFY_USER=y | ||
1010 | # CONFIG_QUOTA is not set | 1031 | # CONFIG_QUOTA is not set |
1011 | # CONFIG_DNOTIFY is not set | 1032 | # CONFIG_DNOTIFY is not set |
1012 | # CONFIG_AUTOFS_FS is not set | 1033 | # CONFIG_AUTOFS_FS is not set |
@@ -1038,7 +1059,6 @@ CONFIG_SYSFS=y | |||
1038 | CONFIG_TMPFS=y | 1059 | CONFIG_TMPFS=y |
1039 | # CONFIG_HUGETLB_PAGE is not set | 1060 | # CONFIG_HUGETLB_PAGE is not set |
1040 | CONFIG_RAMFS=y | 1061 | CONFIG_RAMFS=y |
1041 | # CONFIG_RELAYFS_FS is not set | ||
1042 | # CONFIG_CONFIGFS_FS is not set | 1062 | # CONFIG_CONFIGFS_FS is not set |
1043 | 1063 | ||
1044 | # | 1064 | # |
@@ -1056,6 +1076,7 @@ CONFIG_JFFS2_FS=y | |||
1056 | CONFIG_JFFS2_FS_DEBUG=0 | 1076 | CONFIG_JFFS2_FS_DEBUG=0 |
1057 | CONFIG_JFFS2_FS_WRITEBUFFER=y | 1077 | CONFIG_JFFS2_FS_WRITEBUFFER=y |
1058 | # CONFIG_JFFS2_SUMMARY is not set | 1078 | # CONFIG_JFFS2_SUMMARY is not set |
1079 | # CONFIG_JFFS2_FS_XATTR is not set | ||
1059 | # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set | 1080 | # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set |
1060 | CONFIG_JFFS2_ZLIB=y | 1081 | CONFIG_JFFS2_ZLIB=y |
1061 | CONFIG_JFFS2_RTIME=y | 1082 | CONFIG_JFFS2_RTIME=y |
@@ -1085,6 +1106,7 @@ CONFIG_SUNRPC=y | |||
1085 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1106 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1086 | # CONFIG_SMB_FS is not set | 1107 | # CONFIG_SMB_FS is not set |
1087 | # CONFIG_CIFS is not set | 1108 | # CONFIG_CIFS is not set |
1109 | # CONFIG_CIFS_DEBUG2 is not set | ||
1088 | # CONFIG_NCP_FS is not set | 1110 | # CONFIG_NCP_FS is not set |
1089 | # CONFIG_CODA_FS is not set | 1111 | # CONFIG_CODA_FS is not set |
1090 | # CONFIG_AFS_FS is not set | 1112 | # CONFIG_AFS_FS is not set |
@@ -1165,8 +1187,10 @@ CONFIG_NLS_ISO8859_1=m | |||
1165 | # | 1187 | # |
1166 | # CONFIG_PRINTK_TIME is not set | 1188 | # CONFIG_PRINTK_TIME is not set |
1167 | # CONFIG_MAGIC_SYSRQ is not set | 1189 | # CONFIG_MAGIC_SYSRQ is not set |
1190 | # CONFIG_UNUSED_SYMBOLS is not set | ||
1168 | # CONFIG_DEBUG_KERNEL is not set | 1191 | # CONFIG_DEBUG_KERNEL is not set |
1169 | CONFIG_LOG_BUF_SHIFT=14 | 1192 | CONFIG_LOG_BUF_SHIFT=14 |
1193 | # CONFIG_DEBUG_FS is not set | ||
1170 | CONFIG_CROSSCOMPILE=y | 1194 | CONFIG_CROSSCOMPILE=y |
1171 | CONFIG_CMDLINE="" | 1195 | CONFIG_CMDLINE="" |
1172 | 1196 | ||
@@ -1218,3 +1242,4 @@ CONFIG_CRC32=y | |||
1218 | # CONFIG_LIBCRC32C is not set | 1242 | # CONFIG_LIBCRC32C is not set |
1219 | CONFIG_ZLIB_INFLATE=y | 1243 | CONFIG_ZLIB_INFLATE=y |
1220 | CONFIG_ZLIB_DEFLATE=y | 1244 | CONFIG_ZLIB_DEFLATE=y |
1245 | CONFIG_PLIST=y | ||
diff --git a/arch/mips/configs/ip22_defconfig b/arch/mips/configs/ip22_defconfig index 879ba1ad99ca..ef16d1fb5071 100644 --- a/arch/mips/configs/ip22_defconfig +++ b/arch/mips/configs/ip22_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17-rc2 | 3 | # Linux kernel version: 2.6.18-rc1 |
4 | # Mon Apr 24 14:50:54 2006 | 4 | # Thu Jul 6 10:04:10 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -21,6 +21,7 @@ CONFIG_MIPS=y | |||
21 | # CONFIG_MIPS_DB1550 is not set | 21 | # CONFIG_MIPS_DB1550 is not set |
22 | # CONFIG_MIPS_DB1200 is not set | 22 | # CONFIG_MIPS_DB1200 is not set |
23 | # CONFIG_MIPS_MIRAGE is not set | 23 | # CONFIG_MIPS_MIRAGE is not set |
24 | # CONFIG_BASLER_EXCITE is not set | ||
24 | # CONFIG_MIPS_COBALT is not set | 25 | # CONFIG_MIPS_COBALT is not set |
25 | # CONFIG_MACH_DECSTATION is not set | 26 | # CONFIG_MACH_DECSTATION is not set |
26 | # CONFIG_MIPS_EV64120 is not set | 27 | # CONFIG_MIPS_EV64120 is not set |
@@ -32,6 +33,7 @@ CONFIG_MIPS=y | |||
32 | # CONFIG_MIPS_ATLAS is not set | 33 | # CONFIG_MIPS_ATLAS is not set |
33 | # CONFIG_MIPS_MALTA is not set | 34 | # CONFIG_MIPS_MALTA is not set |
34 | # CONFIG_MIPS_SEAD is not set | 35 | # CONFIG_MIPS_SEAD is not set |
36 | # CONFIG_WR_PPMC is not set | ||
35 | # CONFIG_MIPS_SIM is not set | 37 | # CONFIG_MIPS_SIM is not set |
36 | # CONFIG_MOMENCO_JAGUAR_ATX is not set | 38 | # CONFIG_MOMENCO_JAGUAR_ATX is not set |
37 | # CONFIG_MOMENCO_OCELOT is not set | 39 | # CONFIG_MOMENCO_OCELOT is not set |
@@ -45,6 +47,7 @@ CONFIG_MIPS=y | |||
45 | # CONFIG_MACH_VR41XX is not set | 47 | # CONFIG_MACH_VR41XX is not set |
46 | # CONFIG_PMC_YOSEMITE is not set | 48 | # CONFIG_PMC_YOSEMITE is not set |
47 | # CONFIG_QEMU is not set | 49 | # CONFIG_QEMU is not set |
50 | # CONFIG_MARKEINS is not set | ||
48 | CONFIG_SGI_IP22=y | 51 | CONFIG_SGI_IP22=y |
49 | # CONFIG_SGI_IP27 is not set | 52 | # CONFIG_SGI_IP27 is not set |
50 | # CONFIG_SGI_IP32 is not set | 53 | # CONFIG_SGI_IP32 is not set |
@@ -65,6 +68,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y | |||
65 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 68 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
66 | CONFIG_GENERIC_HWEIGHT=y | 69 | CONFIG_GENERIC_HWEIGHT=y |
67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 70 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
71 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
68 | CONFIG_ARC=y | 72 | CONFIG_ARC=y |
69 | CONFIG_DMA_NONCOHERENT=y | 73 | CONFIG_DMA_NONCOHERENT=y |
70 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 74 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
@@ -119,7 +123,10 @@ CONFIG_PAGE_SIZE_4KB=y | |||
119 | # CONFIG_PAGE_SIZE_64KB is not set | 123 | # CONFIG_PAGE_SIZE_64KB is not set |
120 | CONFIG_BOARD_SCACHE=y | 124 | CONFIG_BOARD_SCACHE=y |
121 | CONFIG_IP22_CPU_SCACHE=y | 125 | CONFIG_IP22_CPU_SCACHE=y |
122 | # CONFIG_MIPS_MT is not set | 126 | CONFIG_MIPS_MT_DISABLED=y |
127 | # CONFIG_MIPS_MT_SMTC is not set | ||
128 | # CONFIG_MIPS_MT_SMP is not set | ||
129 | # CONFIG_MIPS_VPE_LOADER is not set | ||
123 | # CONFIG_64BIT_PHYS_ADDR is not set | 130 | # CONFIG_64BIT_PHYS_ADDR is not set |
124 | CONFIG_CPU_HAS_LLSC=y | 131 | CONFIG_CPU_HAS_LLSC=y |
125 | CONFIG_CPU_HAS_SYNC=y | 132 | CONFIG_CPU_HAS_SYNC=y |
@@ -134,6 +141,7 @@ CONFIG_FLATMEM=y | |||
134 | CONFIG_FLAT_NODE_MEM_MAP=y | 141 | CONFIG_FLAT_NODE_MEM_MAP=y |
135 | # CONFIG_SPARSEMEM_STATIC is not set | 142 | # CONFIG_SPARSEMEM_STATIC is not set |
136 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 143 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
144 | # CONFIG_RESOURCES_64BIT is not set | ||
137 | # CONFIG_HZ_48 is not set | 145 | # CONFIG_HZ_48 is not set |
138 | # CONFIG_HZ_100 is not set | 146 | # CONFIG_HZ_100 is not set |
139 | # CONFIG_HZ_128 is not set | 147 | # CONFIG_HZ_128 is not set |
@@ -146,6 +154,7 @@ CONFIG_HZ=1000 | |||
146 | # CONFIG_PREEMPT_NONE is not set | 154 | # CONFIG_PREEMPT_NONE is not set |
147 | CONFIG_PREEMPT_VOLUNTARY=y | 155 | CONFIG_PREEMPT_VOLUNTARY=y |
148 | # CONFIG_PREEMPT is not set | 156 | # CONFIG_PREEMPT is not set |
157 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
149 | 158 | ||
150 | # | 159 | # |
151 | # Code maturity level options | 160 | # Code maturity level options |
@@ -178,10 +187,12 @@ CONFIG_PRINTK=y | |||
178 | CONFIG_BUG=y | 187 | CONFIG_BUG=y |
179 | CONFIG_ELF_CORE=y | 188 | CONFIG_ELF_CORE=y |
180 | CONFIG_BASE_FULL=y | 189 | CONFIG_BASE_FULL=y |
190 | CONFIG_RT_MUTEXES=y | ||
181 | CONFIG_FUTEX=y | 191 | CONFIG_FUTEX=y |
182 | CONFIG_EPOLL=y | 192 | CONFIG_EPOLL=y |
183 | CONFIG_SHMEM=y | 193 | CONFIG_SHMEM=y |
184 | CONFIG_SLAB=y | 194 | CONFIG_SLAB=y |
195 | CONFIG_VM_EVENT_COUNTERS=y | ||
185 | # CONFIG_TINY_SHMEM is not set | 196 | # CONFIG_TINY_SHMEM is not set |
186 | CONFIG_BASE_SMALL=0 | 197 | CONFIG_BASE_SMALL=0 |
187 | # CONFIG_SLOB is not set | 198 | # CONFIG_SLOB is not set |
@@ -272,6 +283,8 @@ CONFIG_INET_ESP=m | |||
272 | CONFIG_INET_IPCOMP=m | 283 | CONFIG_INET_IPCOMP=m |
273 | CONFIG_INET_XFRM_TUNNEL=m | 284 | CONFIG_INET_XFRM_TUNNEL=m |
274 | CONFIG_INET_TUNNEL=m | 285 | CONFIG_INET_TUNNEL=m |
286 | CONFIG_INET_XFRM_MODE_TRANSPORT=m | ||
287 | CONFIG_INET_XFRM_MODE_TUNNEL=m | ||
275 | CONFIG_INET_DIAG=y | 288 | CONFIG_INET_DIAG=y |
276 | CONFIG_INET_TCP_DIAG=y | 289 | CONFIG_INET_TCP_DIAG=y |
277 | # CONFIG_TCP_CONG_ADVANCED is not set | 290 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -319,7 +332,10 @@ CONFIG_INET6_ESP=m | |||
319 | CONFIG_INET6_IPCOMP=m | 332 | CONFIG_INET6_IPCOMP=m |
320 | CONFIG_INET6_XFRM_TUNNEL=m | 333 | CONFIG_INET6_XFRM_TUNNEL=m |
321 | CONFIG_INET6_TUNNEL=m | 334 | CONFIG_INET6_TUNNEL=m |
335 | CONFIG_INET6_XFRM_MODE_TRANSPORT=m | ||
336 | CONFIG_INET6_XFRM_MODE_TUNNEL=m | ||
322 | CONFIG_IPV6_TUNNEL=m | 337 | CONFIG_IPV6_TUNNEL=m |
338 | CONFIG_NETWORK_SECMARK=y | ||
323 | CONFIG_NETFILTER=y | 339 | CONFIG_NETFILTER=y |
324 | # CONFIG_NETFILTER_DEBUG is not set | 340 | # CONFIG_NETFILTER_DEBUG is not set |
325 | 341 | ||
@@ -335,6 +351,8 @@ CONFIG_NETFILTER_XT_TARGET_CONNMARK=m | |||
335 | CONFIG_NETFILTER_XT_TARGET_MARK=m | 351 | CONFIG_NETFILTER_XT_TARGET_MARK=m |
336 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | 352 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m |
337 | CONFIG_NETFILTER_XT_TARGET_NOTRACK=m | 353 | CONFIG_NETFILTER_XT_TARGET_NOTRACK=m |
354 | CONFIG_NETFILTER_XT_TARGET_SECMARK=m | ||
355 | CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m | ||
338 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | 356 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m |
339 | CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m | 357 | CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m |
340 | CONFIG_NETFILTER_XT_MATCH_CONNMARK=m | 358 | CONFIG_NETFILTER_XT_MATCH_CONNMARK=m |
@@ -349,9 +367,11 @@ CONFIG_NETFILTER_XT_MATCH_MARK=m | |||
349 | CONFIG_NETFILTER_XT_MATCH_POLICY=m | 367 | CONFIG_NETFILTER_XT_MATCH_POLICY=m |
350 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m | 368 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m |
351 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 369 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m |
370 | CONFIG_NETFILTER_XT_MATCH_QUOTA=m | ||
352 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 371 | CONFIG_NETFILTER_XT_MATCH_REALM=m |
353 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | 372 | CONFIG_NETFILTER_XT_MATCH_SCTP=m |
354 | CONFIG_NETFILTER_XT_MATCH_STATE=m | 373 | CONFIG_NETFILTER_XT_MATCH_STATE=m |
374 | CONFIG_NETFILTER_XT_MATCH_STATISTIC=m | ||
355 | CONFIG_NETFILTER_XT_MATCH_STRING=m | 375 | CONFIG_NETFILTER_XT_MATCH_STRING=m |
356 | CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | 376 | CONFIG_NETFILTER_XT_MATCH_TCPMSS=m |
357 | 377 | ||
@@ -361,6 +381,7 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | |||
361 | CONFIG_IP_NF_CONNTRACK=m | 381 | CONFIG_IP_NF_CONNTRACK=m |
362 | CONFIG_IP_NF_CT_ACCT=y | 382 | CONFIG_IP_NF_CT_ACCT=y |
363 | CONFIG_IP_NF_CONNTRACK_MARK=y | 383 | CONFIG_IP_NF_CONNTRACK_MARK=y |
384 | CONFIG_IP_NF_CONNTRACK_SECMARK=y | ||
364 | CONFIG_IP_NF_CONNTRACK_EVENTS=y | 385 | CONFIG_IP_NF_CONNTRACK_EVENTS=y |
365 | CONFIG_IP_NF_CONNTRACK_NETLINK=m | 386 | CONFIG_IP_NF_CONNTRACK_NETLINK=m |
366 | # CONFIG_IP_NF_CT_PROTO_SCTP is not set | 387 | # CONFIG_IP_NF_CT_PROTO_SCTP is not set |
@@ -371,6 +392,7 @@ CONFIG_IP_NF_TFTP=m | |||
371 | CONFIG_IP_NF_AMANDA=m | 392 | CONFIG_IP_NF_AMANDA=m |
372 | CONFIG_IP_NF_PPTP=m | 393 | CONFIG_IP_NF_PPTP=m |
373 | CONFIG_IP_NF_H323=m | 394 | CONFIG_IP_NF_H323=m |
395 | CONFIG_IP_NF_SIP=m | ||
374 | CONFIG_IP_NF_QUEUE=m | 396 | CONFIG_IP_NF_QUEUE=m |
375 | CONFIG_IP_NF_IPTABLES=m | 397 | CONFIG_IP_NF_IPTABLES=m |
376 | CONFIG_IP_NF_MATCH_IPRANGE=m | 398 | CONFIG_IP_NF_MATCH_IPRANGE=m |
@@ -401,6 +423,7 @@ CONFIG_IP_NF_NAT_TFTP=m | |||
401 | CONFIG_IP_NF_NAT_AMANDA=m | 423 | CONFIG_IP_NF_NAT_AMANDA=m |
402 | CONFIG_IP_NF_NAT_PPTP=m | 424 | CONFIG_IP_NF_NAT_PPTP=m |
403 | CONFIG_IP_NF_NAT_H323=m | 425 | CONFIG_IP_NF_NAT_H323=m |
426 | CONFIG_IP_NF_NAT_SIP=m | ||
404 | CONFIG_IP_NF_MANGLE=m | 427 | CONFIG_IP_NF_MANGLE=m |
405 | CONFIG_IP_NF_TARGET_TOS=m | 428 | CONFIG_IP_NF_TARGET_TOS=m |
406 | CONFIG_IP_NF_TARGET_ECN=m | 429 | CONFIG_IP_NF_TARGET_ECN=m |
@@ -533,6 +556,7 @@ CONFIG_WIRELESS_EXT=y | |||
533 | CONFIG_STANDALONE=y | 556 | CONFIG_STANDALONE=y |
534 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 557 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
535 | # CONFIG_FW_LOADER is not set | 558 | # CONFIG_FW_LOADER is not set |
559 | # CONFIG_SYS_HYPERVISOR is not set | ||
536 | 560 | ||
537 | # | 561 | # |
538 | # Connector - unified userspace <-> kernelspace linker | 562 | # Connector - unified userspace <-> kernelspace linker |
@@ -652,6 +676,8 @@ CONFIG_DAVICOM_PHY=m | |||
652 | CONFIG_QSEMI_PHY=m | 676 | CONFIG_QSEMI_PHY=m |
653 | CONFIG_LXT_PHY=m | 677 | CONFIG_LXT_PHY=m |
654 | CONFIG_CICADA_PHY=m | 678 | CONFIG_CICADA_PHY=m |
679 | # CONFIG_VITESSE_PHY is not set | ||
680 | # CONFIG_SMSC_PHY is not set | ||
655 | 681 | ||
656 | # | 682 | # |
657 | # Ethernet (10 or 100Mbit) | 683 | # Ethernet (10 or 100Mbit) |
@@ -749,6 +775,7 @@ CONFIG_SERIO_RAW=m | |||
749 | CONFIG_VT=y | 775 | CONFIG_VT=y |
750 | CONFIG_VT_CONSOLE=y | 776 | CONFIG_VT_CONSOLE=y |
751 | CONFIG_HW_CONSOLE=y | 777 | CONFIG_HW_CONSOLE=y |
778 | CONFIG_VT_HW_CONSOLE_BINDING=y | ||
752 | # CONFIG_SERIAL_NONSTANDARD is not set | 779 | # CONFIG_SERIAL_NONSTANDARD is not set |
753 | 780 | ||
754 | # | 781 | # |
@@ -781,6 +808,7 @@ CONFIG_WATCHDOG=y | |||
781 | # | 808 | # |
782 | # CONFIG_SOFT_WATCHDOG is not set | 809 | # CONFIG_SOFT_WATCHDOG is not set |
783 | CONFIG_INDYDOG=m | 810 | CONFIG_INDYDOG=m |
811 | # CONFIG_HW_RANDOM is not set | ||
784 | # CONFIG_RTC is not set | 812 | # CONFIG_RTC is not set |
785 | CONFIG_SGI_DS1286=m | 813 | CONFIG_SGI_DS1286=m |
786 | # CONFIG_GEN_RTC is not set | 814 | # CONFIG_GEN_RTC is not set |
@@ -829,6 +857,7 @@ CONFIG_MAX_RAW_DEVS=256 | |||
829 | # Multimedia devices | 857 | # Multimedia devices |
830 | # | 858 | # |
831 | # CONFIG_VIDEO_DEV is not set | 859 | # CONFIG_VIDEO_DEV is not set |
860 | CONFIG_VIDEO_V4L2=y | ||
832 | 861 | ||
833 | # | 862 | # |
834 | # Digital Video Broadcasting Devices | 863 | # Digital Video Broadcasting Devices |
@@ -838,6 +867,7 @@ CONFIG_MAX_RAW_DEVS=256 | |||
838 | # | 867 | # |
839 | # Graphics support | 868 | # Graphics support |
840 | # | 869 | # |
870 | CONFIG_FIRMWARE_EDID=y | ||
841 | # CONFIG_FB is not set | 871 | # CONFIG_FB is not set |
842 | 872 | ||
843 | # | 873 | # |
@@ -910,6 +940,19 @@ CONFIG_LOGO_SGI_CLUT224=y | |||
910 | # CONFIG_RTC_CLASS is not set | 940 | # CONFIG_RTC_CLASS is not set |
911 | 941 | ||
912 | # | 942 | # |
943 | # DMA Engine support | ||
944 | # | ||
945 | # CONFIG_DMA_ENGINE is not set | ||
946 | |||
947 | # | ||
948 | # DMA Clients | ||
949 | # | ||
950 | |||
951 | # | ||
952 | # DMA Devices | ||
953 | # | ||
954 | |||
955 | # | ||
913 | # File systems | 956 | # File systems |
914 | # | 957 | # |
915 | CONFIG_EXT2_FS=m | 958 | CONFIG_EXT2_FS=m |
@@ -926,7 +969,6 @@ CONFIG_FS_MBCACHE=y | |||
926 | # CONFIG_JFS_FS is not set | 969 | # CONFIG_JFS_FS is not set |
927 | CONFIG_FS_POSIX_ACL=y | 970 | CONFIG_FS_POSIX_ACL=y |
928 | CONFIG_XFS_FS=m | 971 | CONFIG_XFS_FS=m |
929 | CONFIG_XFS_EXPORT=y | ||
930 | CONFIG_XFS_QUOTA=y | 972 | CONFIG_XFS_QUOTA=y |
931 | CONFIG_XFS_SECURITY=y | 973 | CONFIG_XFS_SECURITY=y |
932 | # CONFIG_XFS_POSIX_ACL is not set | 974 | # CONFIG_XFS_POSIX_ACL is not set |
@@ -935,6 +977,7 @@ CONFIG_XFS_SECURITY=y | |||
935 | CONFIG_MINIX_FS=m | 977 | CONFIG_MINIX_FS=m |
936 | # CONFIG_ROMFS_FS is not set | 978 | # CONFIG_ROMFS_FS is not set |
937 | CONFIG_INOTIFY=y | 979 | CONFIG_INOTIFY=y |
980 | CONFIG_INOTIFY_USER=y | ||
938 | CONFIG_QUOTA=y | 981 | CONFIG_QUOTA=y |
939 | # CONFIG_QFMT_V1 is not set | 982 | # CONFIG_QFMT_V1 is not set |
940 | CONFIG_QFMT_V2=m | 983 | CONFIG_QFMT_V2=m |
@@ -991,6 +1034,8 @@ CONFIG_EFS_FS=m | |||
991 | # CONFIG_QNX4FS_FS is not set | 1034 | # CONFIG_QNX4FS_FS is not set |
992 | # CONFIG_SYSV_FS is not set | 1035 | # CONFIG_SYSV_FS is not set |
993 | CONFIG_UFS_FS=m | 1036 | CONFIG_UFS_FS=m |
1037 | # CONFIG_UFS_FS_WRITE is not set | ||
1038 | # CONFIG_UFS_DEBUG is not set | ||
994 | 1039 | ||
995 | # | 1040 | # |
996 | # Network File Systems | 1041 | # Network File Systems |
@@ -1020,7 +1065,9 @@ CONFIG_SMB_NLS_DEFAULT=y | |||
1020 | CONFIG_SMB_NLS_REMOTE="cp437" | 1065 | CONFIG_SMB_NLS_REMOTE="cp437" |
1021 | CONFIG_CIFS=m | 1066 | CONFIG_CIFS=m |
1022 | # CONFIG_CIFS_STATS is not set | 1067 | # CONFIG_CIFS_STATS is not set |
1068 | # CONFIG_CIFS_WEAK_PW_HASH is not set | ||
1023 | # CONFIG_CIFS_XATTR is not set | 1069 | # CONFIG_CIFS_XATTR is not set |
1070 | # CONFIG_CIFS_DEBUG2 is not set | ||
1024 | # CONFIG_CIFS_EXPERIMENTAL is not set | 1071 | # CONFIG_CIFS_EXPERIMENTAL is not set |
1025 | # CONFIG_NCP_FS is not set | 1072 | # CONFIG_NCP_FS is not set |
1026 | CONFIG_CODA_FS=m | 1073 | CONFIG_CODA_FS=m |
@@ -1103,6 +1150,7 @@ CONFIG_NLS_UTF8=m | |||
1103 | # | 1150 | # |
1104 | # CONFIG_PRINTK_TIME is not set | 1151 | # CONFIG_PRINTK_TIME is not set |
1105 | # CONFIG_MAGIC_SYSRQ is not set | 1152 | # CONFIG_MAGIC_SYSRQ is not set |
1153 | # CONFIG_UNUSED_SYMBOLS is not set | ||
1106 | # CONFIG_DEBUG_KERNEL is not set | 1154 | # CONFIG_DEBUG_KERNEL is not set |
1107 | CONFIG_LOG_BUF_SHIFT=14 | 1155 | CONFIG_LOG_BUF_SHIFT=14 |
1108 | # CONFIG_DEBUG_FS is not set | 1156 | # CONFIG_DEBUG_FS is not set |
@@ -1162,3 +1210,4 @@ CONFIG_TEXTSEARCH=y | |||
1162 | CONFIG_TEXTSEARCH_KMP=m | 1210 | CONFIG_TEXTSEARCH_KMP=m |
1163 | CONFIG_TEXTSEARCH_BM=m | 1211 | CONFIG_TEXTSEARCH_BM=m |
1164 | CONFIG_TEXTSEARCH_FSM=m | 1212 | CONFIG_TEXTSEARCH_FSM=m |
1213 | CONFIG_PLIST=y | ||
diff --git a/arch/mips/configs/ip27_defconfig b/arch/mips/configs/ip27_defconfig index bb1426806430..4bf1ee7f5f00 100644 --- a/arch/mips/configs/ip27_defconfig +++ b/arch/mips/configs/ip27_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17-rc2 | 3 | # Linux kernel version: 2.6.18-rc1 |
4 | # Mon Apr 24 14:51:04 2006 | 4 | # Thu Jul 6 10:04:10 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -21,6 +21,7 @@ CONFIG_MIPS=y | |||
21 | # CONFIG_MIPS_DB1550 is not set | 21 | # CONFIG_MIPS_DB1550 is not set |
22 | # CONFIG_MIPS_DB1200 is not set | 22 | # CONFIG_MIPS_DB1200 is not set |
23 | # CONFIG_MIPS_MIRAGE is not set | 23 | # CONFIG_MIPS_MIRAGE is not set |
24 | # CONFIG_BASLER_EXCITE is not set | ||
24 | # CONFIG_MIPS_COBALT is not set | 25 | # CONFIG_MIPS_COBALT is not set |
25 | # CONFIG_MACH_DECSTATION is not set | 26 | # CONFIG_MACH_DECSTATION is not set |
26 | # CONFIG_MIPS_EV64120 is not set | 27 | # CONFIG_MIPS_EV64120 is not set |
@@ -32,6 +33,7 @@ CONFIG_MIPS=y | |||
32 | # CONFIG_MIPS_ATLAS is not set | 33 | # CONFIG_MIPS_ATLAS is not set |
33 | # CONFIG_MIPS_MALTA is not set | 34 | # CONFIG_MIPS_MALTA is not set |
34 | # CONFIG_MIPS_SEAD is not set | 35 | # CONFIG_MIPS_SEAD is not set |
36 | # CONFIG_WR_PPMC is not set | ||
35 | # CONFIG_MIPS_SIM is not set | 37 | # CONFIG_MIPS_SIM is not set |
36 | # CONFIG_MOMENCO_JAGUAR_ATX is not set | 38 | # CONFIG_MOMENCO_JAGUAR_ATX is not set |
37 | # CONFIG_MOMENCO_OCELOT is not set | 39 | # CONFIG_MOMENCO_OCELOT is not set |
@@ -45,6 +47,7 @@ CONFIG_MIPS=y | |||
45 | # CONFIG_MACH_VR41XX is not set | 47 | # CONFIG_MACH_VR41XX is not set |
46 | # CONFIG_PMC_YOSEMITE is not set | 48 | # CONFIG_PMC_YOSEMITE is not set |
47 | # CONFIG_QEMU is not set | 49 | # CONFIG_QEMU is not set |
50 | # CONFIG_MARKEINS is not set | ||
48 | # CONFIG_SGI_IP22 is not set | 51 | # CONFIG_SGI_IP22 is not set |
49 | CONFIG_SGI_IP27=y | 52 | CONFIG_SGI_IP27=y |
50 | # CONFIG_SGI_IP32 is not set | 53 | # CONFIG_SGI_IP32 is not set |
@@ -61,16 +64,17 @@ CONFIG_SGI_IP27=y | |||
61 | # CONFIG_TOSHIBA_JMR3927 is not set | 64 | # CONFIG_TOSHIBA_JMR3927 is not set |
62 | # CONFIG_TOSHIBA_RBTX4927 is not set | 65 | # CONFIG_TOSHIBA_RBTX4927 is not set |
63 | # CONFIG_TOSHIBA_RBTX4938 is not set | 66 | # CONFIG_TOSHIBA_RBTX4938 is not set |
67 | CONFIG_SGI_SN_M_MODE=y | ||
64 | # CONFIG_SGI_SN_N_MODE is not set | 68 | # CONFIG_SGI_SN_N_MODE is not set |
65 | CONFIG_ARCH_DISCONTIGMEM_ENABLE=y | ||
66 | CONFIG_NUMA=y | ||
67 | # CONFIG_MAPPED_KERNEL is not set | 69 | # CONFIG_MAPPED_KERNEL is not set |
68 | # CONFIG_REPLICATE_KTEXT is not set | 70 | # CONFIG_REPLICATE_KTEXT is not set |
69 | # CONFIG_REPLICATE_EXHANDLERS is not set | 71 | # CONFIG_REPLICATE_EXHANDLERS is not set |
72 | CONFIG_EARLY_PRINTK=y | ||
70 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 73 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
71 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 74 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
72 | CONFIG_GENERIC_HWEIGHT=y | 75 | CONFIG_GENERIC_HWEIGHT=y |
73 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 76 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
77 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
74 | CONFIG_ARC=y | 78 | CONFIG_ARC=y |
75 | CONFIG_DMA_IP27=y | 79 | CONFIG_DMA_IP27=y |
76 | CONFIG_CPU_BIG_ENDIAN=y | 80 | CONFIG_CPU_BIG_ENDIAN=y |
@@ -117,12 +121,19 @@ CONFIG_PAGE_SIZE_4KB=y | |||
117 | # CONFIG_PAGE_SIZE_16KB is not set | 121 | # CONFIG_PAGE_SIZE_16KB is not set |
118 | # CONFIG_PAGE_SIZE_64KB is not set | 122 | # CONFIG_PAGE_SIZE_64KB is not set |
119 | CONFIG_CPU_HAS_PREFETCH=y | 123 | CONFIG_CPU_HAS_PREFETCH=y |
120 | # CONFIG_MIPS_MT is not set | 124 | CONFIG_MIPS_MT_DISABLED=y |
125 | # CONFIG_MIPS_MT_SMTC is not set | ||
126 | # CONFIG_MIPS_MT_SMP is not set | ||
127 | # CONFIG_MIPS_VPE_LOADER is not set | ||
121 | CONFIG_CPU_HAS_LLSC=y | 128 | CONFIG_CPU_HAS_LLSC=y |
122 | CONFIG_CPU_HAS_SYNC=y | 129 | CONFIG_CPU_HAS_SYNC=y |
123 | CONFIG_GENERIC_HARDIRQS=y | 130 | CONFIG_GENERIC_HARDIRQS=y |
124 | CONFIG_GENERIC_IRQ_PROBE=y | 131 | CONFIG_GENERIC_IRQ_PROBE=y |
132 | CONFIG_IRQ_PER_CPU=y | ||
125 | CONFIG_CPU_SUPPORTS_HIGHMEM=y | 133 | CONFIG_CPU_SUPPORTS_HIGHMEM=y |
134 | CONFIG_ARCH_DISCONTIGMEM_ENABLE=y | ||
135 | CONFIG_NUMA=y | ||
136 | CONFIG_SYS_SUPPORTS_NUMA=y | ||
126 | CONFIG_NODES_SHIFT=6 | 137 | CONFIG_NODES_SHIFT=6 |
127 | CONFIG_SELECT_MEMORY_MODEL=y | 138 | CONFIG_SELECT_MEMORY_MODEL=y |
128 | # CONFIG_FLATMEM_MANUAL is not set | 139 | # CONFIG_FLATMEM_MANUAL is not set |
@@ -133,6 +144,11 @@ CONFIG_FLAT_NODE_MEM_MAP=y | |||
133 | CONFIG_NEED_MULTIPLE_NODES=y | 144 | CONFIG_NEED_MULTIPLE_NODES=y |
134 | # CONFIG_SPARSEMEM_STATIC is not set | 145 | # CONFIG_SPARSEMEM_STATIC is not set |
135 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 146 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
147 | CONFIG_MIGRATION=y | ||
148 | CONFIG_RESOURCES_64BIT=y | ||
149 | CONFIG_SMP=y | ||
150 | CONFIG_SYS_SUPPORTS_SMP=y | ||
151 | CONFIG_NR_CPUS=64 | ||
136 | # CONFIG_HZ_48 is not set | 152 | # CONFIG_HZ_48 is not set |
137 | # CONFIG_HZ_100 is not set | 153 | # CONFIG_HZ_100 is not set |
138 | # CONFIG_HZ_128 is not set | 154 | # CONFIG_HZ_128 is not set |
@@ -142,14 +158,12 @@ CONFIG_HZ_1000=y | |||
142 | # CONFIG_HZ_1024 is not set | 158 | # CONFIG_HZ_1024 is not set |
143 | CONFIG_SYS_SUPPORTS_ARBIT_HZ=y | 159 | CONFIG_SYS_SUPPORTS_ARBIT_HZ=y |
144 | CONFIG_HZ=1000 | 160 | CONFIG_HZ=1000 |
145 | CONFIG_MIGRATION=y | ||
146 | CONFIG_SMP=y | ||
147 | CONFIG_NR_CPUS=64 | ||
148 | CONFIG_PREEMPT_NONE=y | 161 | CONFIG_PREEMPT_NONE=y |
149 | # CONFIG_PREEMPT_VOLUNTARY is not set | 162 | # CONFIG_PREEMPT_VOLUNTARY is not set |
150 | # CONFIG_PREEMPT is not set | 163 | # CONFIG_PREEMPT is not set |
151 | CONFIG_PREEMPT_BKL=y | 164 | CONFIG_PREEMPT_BKL=y |
152 | # CONFIG_MIPS_INSANE_LARGE is not set | 165 | # CONFIG_MIPS_INSANE_LARGE is not set |
166 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
153 | 167 | ||
154 | # | 168 | # |
155 | # Code maturity level options | 169 | # Code maturity level options |
@@ -183,10 +197,12 @@ CONFIG_PRINTK=y | |||
183 | CONFIG_BUG=y | 197 | CONFIG_BUG=y |
184 | CONFIG_ELF_CORE=y | 198 | CONFIG_ELF_CORE=y |
185 | CONFIG_BASE_FULL=y | 199 | CONFIG_BASE_FULL=y |
200 | CONFIG_RT_MUTEXES=y | ||
186 | CONFIG_FUTEX=y | 201 | CONFIG_FUTEX=y |
187 | CONFIG_EPOLL=y | 202 | CONFIG_EPOLL=y |
188 | CONFIG_SHMEM=y | 203 | CONFIG_SHMEM=y |
189 | CONFIG_SLAB=y | 204 | CONFIG_SLAB=y |
205 | CONFIG_VM_EVENT_COUNTERS=y | ||
190 | # CONFIG_TINY_SHMEM is not set | 206 | # CONFIG_TINY_SHMEM is not set |
191 | CONFIG_BASE_SMALL=0 | 207 | CONFIG_BASE_SMALL=0 |
192 | # CONFIG_SLOB is not set | 208 | # CONFIG_SLOB is not set |
@@ -283,6 +299,8 @@ CONFIG_IP_PNP=y | |||
283 | # CONFIG_INET_IPCOMP is not set | 299 | # CONFIG_INET_IPCOMP is not set |
284 | # CONFIG_INET_XFRM_TUNNEL is not set | 300 | # CONFIG_INET_XFRM_TUNNEL is not set |
285 | # CONFIG_INET_TUNNEL is not set | 301 | # CONFIG_INET_TUNNEL is not set |
302 | CONFIG_INET_XFRM_MODE_TRANSPORT=m | ||
303 | CONFIG_INET_XFRM_MODE_TUNNEL=m | ||
286 | CONFIG_INET_DIAG=y | 304 | CONFIG_INET_DIAG=y |
287 | CONFIG_INET_TCP_DIAG=y | 305 | CONFIG_INET_TCP_DIAG=y |
288 | # CONFIG_TCP_CONG_ADVANCED is not set | 306 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -290,6 +308,7 @@ CONFIG_TCP_CONG_BIC=y | |||
290 | # CONFIG_IPV6 is not set | 308 | # CONFIG_IPV6 is not set |
291 | # CONFIG_INET6_XFRM_TUNNEL is not set | 309 | # CONFIG_INET6_XFRM_TUNNEL is not set |
292 | # CONFIG_INET6_TUNNEL is not set | 310 | # CONFIG_INET6_TUNNEL is not set |
311 | CONFIG_NETWORK_SECMARK=y | ||
293 | # CONFIG_NETFILTER is not set | 312 | # CONFIG_NETFILTER is not set |
294 | 313 | ||
295 | # | 314 | # |
@@ -387,6 +406,7 @@ CONFIG_WIRELESS_EXT=y | |||
387 | CONFIG_STANDALONE=y | 406 | CONFIG_STANDALONE=y |
388 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 407 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
389 | CONFIG_FW_LOADER=y | 408 | CONFIG_FW_LOADER=y |
409 | # CONFIG_SYS_HYPERVISOR is not set | ||
390 | 410 | ||
391 | # | 411 | # |
392 | # Connector - unified userspace <-> kernelspace linker | 412 | # Connector - unified userspace <-> kernelspace linker |
@@ -479,6 +499,7 @@ CONFIG_SCSI_SAS_ATTRS=m | |||
479 | # CONFIG_MEGARAID_LEGACY is not set | 499 | # CONFIG_MEGARAID_LEGACY is not set |
480 | # CONFIG_MEGARAID_SAS is not set | 500 | # CONFIG_MEGARAID_SAS is not set |
481 | # CONFIG_SCSI_SATA is not set | 501 | # CONFIG_SCSI_SATA is not set |
502 | # CONFIG_SCSI_HPTIOP is not set | ||
482 | # CONFIG_SCSI_DMX3191D is not set | 503 | # CONFIG_SCSI_DMX3191D is not set |
483 | # CONFIG_SCSI_FUTURE_DOMAIN is not set | 504 | # CONFIG_SCSI_FUTURE_DOMAIN is not set |
484 | # CONFIG_SCSI_IPS is not set | 505 | # CONFIG_SCSI_IPS is not set |
@@ -502,9 +523,8 @@ CONFIG_MD_LINEAR=m | |||
502 | CONFIG_MD_RAID0=y | 523 | CONFIG_MD_RAID0=y |
503 | CONFIG_MD_RAID1=y | 524 | CONFIG_MD_RAID1=y |
504 | CONFIG_MD_RAID10=m | 525 | CONFIG_MD_RAID10=m |
505 | CONFIG_MD_RAID5=y | 526 | CONFIG_MD_RAID456=m |
506 | CONFIG_MD_RAID5_RESHAPE=y | 527 | CONFIG_MD_RAID5_RESHAPE=y |
507 | CONFIG_MD_RAID6=m | ||
508 | CONFIG_MD_MULTIPATH=m | 528 | CONFIG_MD_MULTIPATH=m |
509 | CONFIG_MD_FAULTY=m | 529 | CONFIG_MD_FAULTY=m |
510 | CONFIG_BLK_DEV_DM=m | 530 | CONFIG_BLK_DEV_DM=m |
@@ -560,6 +580,8 @@ CONFIG_DAVICOM_PHY=m | |||
560 | CONFIG_QSEMI_PHY=m | 580 | CONFIG_QSEMI_PHY=m |
561 | CONFIG_LXT_PHY=m | 581 | CONFIG_LXT_PHY=m |
562 | CONFIG_CICADA_PHY=m | 582 | CONFIG_CICADA_PHY=m |
583 | CONFIG_VITESSE_PHY=m | ||
584 | CONFIG_SMSC_PHY=m | ||
563 | 585 | ||
564 | # | 586 | # |
565 | # Ethernet (10 or 100Mbit) | 587 | # Ethernet (10 or 100Mbit) |
@@ -567,8 +589,6 @@ CONFIG_CICADA_PHY=m | |||
567 | CONFIG_NET_ETHERNET=y | 589 | CONFIG_NET_ETHERNET=y |
568 | CONFIG_MII=y | 590 | CONFIG_MII=y |
569 | CONFIG_SGI_IOC3_ETH=y | 591 | CONFIG_SGI_IOC3_ETH=y |
570 | CONFIG_SGI_IOC3_ETH_HW_RX_CSUM=y | ||
571 | CONFIG_SGI_IOC3_ETH_HW_TX_CSUM=y | ||
572 | # CONFIG_HAPPYMEAL is not set | 592 | # CONFIG_HAPPYMEAL is not set |
573 | # CONFIG_SUNGEM is not set | 593 | # CONFIG_SUNGEM is not set |
574 | # CONFIG_CASSINI is not set | 594 | # CONFIG_CASSINI is not set |
@@ -605,6 +625,7 @@ CONFIG_SGI_IOC3_ETH_HW_TX_CSUM=y | |||
605 | # CONFIG_CHELSIO_T1 is not set | 625 | # CONFIG_CHELSIO_T1 is not set |
606 | # CONFIG_IXGB is not set | 626 | # CONFIG_IXGB is not set |
607 | # CONFIG_S2IO is not set | 627 | # CONFIG_S2IO is not set |
628 | # CONFIG_MYRI10GE is not set | ||
608 | 629 | ||
609 | # | 630 | # |
610 | # Token Ring devices | 631 | # Token Ring devices |
@@ -695,6 +716,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
695 | # Watchdog Cards | 716 | # Watchdog Cards |
696 | # | 717 | # |
697 | # CONFIG_WATCHDOG is not set | 718 | # CONFIG_WATCHDOG is not set |
719 | # CONFIG_HW_RANDOM is not set | ||
698 | # CONFIG_RTC is not set | 720 | # CONFIG_RTC is not set |
699 | CONFIG_SGI_IP27_RTC=y | 721 | CONFIG_SGI_IP27_RTC=y |
700 | # CONFIG_GEN_RTC is not set | 722 | # CONFIG_GEN_RTC is not set |
@@ -744,6 +766,7 @@ CONFIG_SGI_IP27_RTC=y | |||
744 | # Multimedia devices | 766 | # Multimedia devices |
745 | # | 767 | # |
746 | # CONFIG_VIDEO_DEV is not set | 768 | # CONFIG_VIDEO_DEV is not set |
769 | CONFIG_VIDEO_V4L2=y | ||
747 | 770 | ||
748 | # | 771 | # |
749 | # Digital Video Broadcasting Devices | 772 | # Digital Video Broadcasting Devices |
@@ -753,6 +776,7 @@ CONFIG_SGI_IP27_RTC=y | |||
753 | # | 776 | # |
754 | # Graphics support | 777 | # Graphics support |
755 | # | 778 | # |
779 | # CONFIG_FIRMWARE_EDID is not set | ||
756 | # CONFIG_FB is not set | 780 | # CONFIG_FB is not set |
757 | 781 | ||
758 | # | 782 | # |
@@ -810,6 +834,19 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
810 | # CONFIG_RTC_CLASS is not set | 834 | # CONFIG_RTC_CLASS is not set |
811 | 835 | ||
812 | # | 836 | # |
837 | # DMA Engine support | ||
838 | # | ||
839 | # CONFIG_DMA_ENGINE is not set | ||
840 | |||
841 | # | ||
842 | # DMA Clients | ||
843 | # | ||
844 | |||
845 | # | ||
846 | # DMA Devices | ||
847 | # | ||
848 | |||
849 | # | ||
813 | # File systems | 850 | # File systems |
814 | # | 851 | # |
815 | CONFIG_EXT2_FS=y | 852 | CONFIG_EXT2_FS=y |
@@ -836,6 +873,7 @@ CONFIG_XFS_POSIX_ACL=y | |||
836 | # CONFIG_MINIX_FS is not set | 873 | # CONFIG_MINIX_FS is not set |
837 | # CONFIG_ROMFS_FS is not set | 874 | # CONFIG_ROMFS_FS is not set |
838 | CONFIG_INOTIFY=y | 875 | CONFIG_INOTIFY=y |
876 | CONFIG_INOTIFY_USER=y | ||
839 | # CONFIG_QUOTA is not set | 877 | # CONFIG_QUOTA is not set |
840 | CONFIG_QUOTACTL=y | 878 | CONFIG_QUOTACTL=y |
841 | CONFIG_DNOTIFY=y | 879 | CONFIG_DNOTIFY=y |
@@ -903,6 +941,7 @@ CONFIG_RPCSEC_GSS_KRB5=y | |||
903 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 941 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
904 | # CONFIG_SMB_FS is not set | 942 | # CONFIG_SMB_FS is not set |
905 | # CONFIG_CIFS is not set | 943 | # CONFIG_CIFS is not set |
944 | # CONFIG_CIFS_DEBUG2 is not set | ||
906 | # CONFIG_NCP_FS is not set | 945 | # CONFIG_NCP_FS is not set |
907 | # CONFIG_CODA_FS is not set | 946 | # CONFIG_CODA_FS is not set |
908 | # CONFIG_AFS_FS is not set | 947 | # CONFIG_AFS_FS is not set |
@@ -944,6 +983,7 @@ CONFIG_SGI_PARTITION=y | |||
944 | # | 983 | # |
945 | # CONFIG_PRINTK_TIME is not set | 984 | # CONFIG_PRINTK_TIME is not set |
946 | # CONFIG_MAGIC_SYSRQ is not set | 985 | # CONFIG_MAGIC_SYSRQ is not set |
986 | # CONFIG_UNUSED_SYMBOLS is not set | ||
947 | # CONFIG_DEBUG_KERNEL is not set | 987 | # CONFIG_DEBUG_KERNEL is not set |
948 | CONFIG_LOG_BUF_SHIFT=15 | 988 | CONFIG_LOG_BUF_SHIFT=15 |
949 | # CONFIG_DEBUG_FS is not set | 989 | # CONFIG_DEBUG_FS is not set |
@@ -999,3 +1039,4 @@ CONFIG_CRC32=y | |||
999 | CONFIG_LIBCRC32C=m | 1039 | CONFIG_LIBCRC32C=m |
1000 | CONFIG_ZLIB_INFLATE=m | 1040 | CONFIG_ZLIB_INFLATE=m |
1001 | CONFIG_ZLIB_DEFLATE=m | 1041 | CONFIG_ZLIB_DEFLATE=m |
1042 | CONFIG_PLIST=y | ||
diff --git a/arch/mips/configs/ip32_defconfig b/arch/mips/configs/ip32_defconfig index 31b3c92a3841..f83dc09c3ca9 100644 --- a/arch/mips/configs/ip32_defconfig +++ b/arch/mips/configs/ip32_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17-rc2 | 3 | # Linux kernel version: 2.6.18-rc1 |
4 | # Mon Apr 24 14:51:05 2006 | 4 | # Thu Jul 6 10:04:11 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -21,6 +21,7 @@ CONFIG_MIPS=y | |||
21 | # CONFIG_MIPS_DB1550 is not set | 21 | # CONFIG_MIPS_DB1550 is not set |
22 | # CONFIG_MIPS_DB1200 is not set | 22 | # CONFIG_MIPS_DB1200 is not set |
23 | # CONFIG_MIPS_MIRAGE is not set | 23 | # CONFIG_MIPS_MIRAGE is not set |
24 | # CONFIG_BASLER_EXCITE is not set | ||
24 | # CONFIG_MIPS_COBALT is not set | 25 | # CONFIG_MIPS_COBALT is not set |
25 | # CONFIG_MACH_DECSTATION is not set | 26 | # CONFIG_MACH_DECSTATION is not set |
26 | # CONFIG_MIPS_EV64120 is not set | 27 | # CONFIG_MIPS_EV64120 is not set |
@@ -32,6 +33,7 @@ CONFIG_MIPS=y | |||
32 | # CONFIG_MIPS_ATLAS is not set | 33 | # CONFIG_MIPS_ATLAS is not set |
33 | # CONFIG_MIPS_MALTA is not set | 34 | # CONFIG_MIPS_MALTA is not set |
34 | # CONFIG_MIPS_SEAD is not set | 35 | # CONFIG_MIPS_SEAD is not set |
36 | # CONFIG_WR_PPMC is not set | ||
35 | # CONFIG_MIPS_SIM is not set | 37 | # CONFIG_MIPS_SIM is not set |
36 | # CONFIG_MOMENCO_JAGUAR_ATX is not set | 38 | # CONFIG_MOMENCO_JAGUAR_ATX is not set |
37 | # CONFIG_MOMENCO_OCELOT is not set | 39 | # CONFIG_MOMENCO_OCELOT is not set |
@@ -45,6 +47,7 @@ CONFIG_MIPS=y | |||
45 | # CONFIG_MACH_VR41XX is not set | 47 | # CONFIG_MACH_VR41XX is not set |
46 | # CONFIG_PMC_YOSEMITE is not set | 48 | # CONFIG_PMC_YOSEMITE is not set |
47 | # CONFIG_QEMU is not set | 49 | # CONFIG_QEMU is not set |
50 | # CONFIG_MARKEINS is not set | ||
48 | # CONFIG_SGI_IP22 is not set | 51 | # CONFIG_SGI_IP22 is not set |
49 | # CONFIG_SGI_IP27 is not set | 52 | # CONFIG_SGI_IP27 is not set |
50 | CONFIG_SGI_IP32=y | 53 | CONFIG_SGI_IP32=y |
@@ -65,6 +68,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y | |||
65 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 68 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
66 | CONFIG_GENERIC_HWEIGHT=y | 69 | CONFIG_GENERIC_HWEIGHT=y |
67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 70 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
71 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
68 | CONFIG_ARC=y | 72 | CONFIG_ARC=y |
69 | CONFIG_DMA_IP32=y | 73 | CONFIG_DMA_IP32=y |
70 | CONFIG_DMA_NONCOHERENT=y | 74 | CONFIG_DMA_NONCOHERENT=y |
@@ -120,7 +124,10 @@ CONFIG_PAGE_SIZE_4KB=y | |||
120 | CONFIG_BOARD_SCACHE=y | 124 | CONFIG_BOARD_SCACHE=y |
121 | CONFIG_R5000_CPU_SCACHE=y | 125 | CONFIG_R5000_CPU_SCACHE=y |
122 | CONFIG_RM7000_CPU_SCACHE=y | 126 | CONFIG_RM7000_CPU_SCACHE=y |
123 | # CONFIG_MIPS_MT is not set | 127 | CONFIG_MIPS_MT_DISABLED=y |
128 | # CONFIG_MIPS_MT_SMTC is not set | ||
129 | # CONFIG_MIPS_MT_SMP is not set | ||
130 | # CONFIG_MIPS_VPE_LOADER is not set | ||
124 | CONFIG_CPU_HAS_LLSC=y | 131 | CONFIG_CPU_HAS_LLSC=y |
125 | CONFIG_CPU_HAS_SYNC=y | 132 | CONFIG_CPU_HAS_SYNC=y |
126 | CONFIG_GENERIC_HARDIRQS=y | 133 | CONFIG_GENERIC_HARDIRQS=y |
@@ -134,6 +141,7 @@ CONFIG_FLATMEM=y | |||
134 | CONFIG_FLAT_NODE_MEM_MAP=y | 141 | CONFIG_FLAT_NODE_MEM_MAP=y |
135 | # CONFIG_SPARSEMEM_STATIC is not set | 142 | # CONFIG_SPARSEMEM_STATIC is not set |
136 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 143 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
144 | CONFIG_RESOURCES_64BIT=y | ||
137 | # CONFIG_HZ_48 is not set | 145 | # CONFIG_HZ_48 is not set |
138 | # CONFIG_HZ_100 is not set | 146 | # CONFIG_HZ_100 is not set |
139 | # CONFIG_HZ_128 is not set | 147 | # CONFIG_HZ_128 is not set |
@@ -146,6 +154,7 @@ CONFIG_HZ=1000 | |||
146 | # CONFIG_PREEMPT_NONE is not set | 154 | # CONFIG_PREEMPT_NONE is not set |
147 | CONFIG_PREEMPT_VOLUNTARY=y | 155 | CONFIG_PREEMPT_VOLUNTARY=y |
148 | # CONFIG_PREEMPT is not set | 156 | # CONFIG_PREEMPT is not set |
157 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
149 | 158 | ||
150 | # | 159 | # |
151 | # Code maturity level options | 160 | # Code maturity level options |
@@ -178,10 +187,12 @@ CONFIG_PRINTK=y | |||
178 | CONFIG_BUG=y | 187 | CONFIG_BUG=y |
179 | CONFIG_ELF_CORE=y | 188 | CONFIG_ELF_CORE=y |
180 | CONFIG_BASE_FULL=y | 189 | CONFIG_BASE_FULL=y |
190 | CONFIG_RT_MUTEXES=y | ||
181 | CONFIG_FUTEX=y | 191 | CONFIG_FUTEX=y |
182 | CONFIG_EPOLL=y | 192 | CONFIG_EPOLL=y |
183 | CONFIG_SHMEM=y | 193 | CONFIG_SHMEM=y |
184 | CONFIG_SLAB=y | 194 | CONFIG_SLAB=y |
195 | CONFIG_VM_EVENT_COUNTERS=y | ||
185 | # CONFIG_TINY_SHMEM is not set | 196 | # CONFIG_TINY_SHMEM is not set |
186 | CONFIG_BASE_SMALL=0 | 197 | CONFIG_BASE_SMALL=0 |
187 | # CONFIG_SLOB is not set | 198 | # CONFIG_SLOB is not set |
@@ -270,6 +281,8 @@ CONFIG_IP_PNP_BOOTP=y | |||
270 | # CONFIG_INET_IPCOMP is not set | 281 | # CONFIG_INET_IPCOMP is not set |
271 | # CONFIG_INET_XFRM_TUNNEL is not set | 282 | # CONFIG_INET_XFRM_TUNNEL is not set |
272 | # CONFIG_INET_TUNNEL is not set | 283 | # CONFIG_INET_TUNNEL is not set |
284 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | ||
285 | CONFIG_INET_XFRM_MODE_TUNNEL=y | ||
273 | CONFIG_INET_DIAG=y | 286 | CONFIG_INET_DIAG=y |
274 | CONFIG_INET_TCP_DIAG=y | 287 | CONFIG_INET_TCP_DIAG=y |
275 | # CONFIG_TCP_CONG_ADVANCED is not set | 288 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -277,6 +290,7 @@ CONFIG_TCP_CONG_BIC=y | |||
277 | # CONFIG_IPV6 is not set | 290 | # CONFIG_IPV6 is not set |
278 | # CONFIG_INET6_XFRM_TUNNEL is not set | 291 | # CONFIG_INET6_XFRM_TUNNEL is not set |
279 | # CONFIG_INET6_TUNNEL is not set | 292 | # CONFIG_INET6_TUNNEL is not set |
293 | CONFIG_NETWORK_SECMARK=y | ||
280 | # CONFIG_NETFILTER is not set | 294 | # CONFIG_NETFILTER is not set |
281 | 295 | ||
282 | # | 296 | # |
@@ -336,6 +350,7 @@ CONFIG_WIRELESS_EXT=y | |||
336 | CONFIG_STANDALONE=y | 350 | CONFIG_STANDALONE=y |
337 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 351 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
338 | CONFIG_FW_LOADER=y | 352 | CONFIG_FW_LOADER=y |
353 | # CONFIG_SYS_HYPERVISOR is not set | ||
339 | 354 | ||
340 | # | 355 | # |
341 | # Connector - unified userspace <-> kernelspace linker | 356 | # Connector - unified userspace <-> kernelspace linker |
@@ -434,6 +449,7 @@ CONFIG_AIC7XXX_REG_PRETTY_PRINT=y | |||
434 | # CONFIG_MEGARAID_LEGACY is not set | 449 | # CONFIG_MEGARAID_LEGACY is not set |
435 | # CONFIG_MEGARAID_SAS is not set | 450 | # CONFIG_MEGARAID_SAS is not set |
436 | # CONFIG_SCSI_SATA is not set | 451 | # CONFIG_SCSI_SATA is not set |
452 | # CONFIG_SCSI_HPTIOP is not set | ||
437 | # CONFIG_SCSI_DMX3191D is not set | 453 | # CONFIG_SCSI_DMX3191D is not set |
438 | # CONFIG_SCSI_FUTURE_DOMAIN is not set | 454 | # CONFIG_SCSI_FUTURE_DOMAIN is not set |
439 | # CONFIG_SCSI_IPS is not set | 455 | # CONFIG_SCSI_IPS is not set |
@@ -498,6 +514,8 @@ CONFIG_DAVICOM_PHY=y | |||
498 | CONFIG_QSEMI_PHY=y | 514 | CONFIG_QSEMI_PHY=y |
499 | CONFIG_LXT_PHY=y | 515 | CONFIG_LXT_PHY=y |
500 | CONFIG_CICADA_PHY=y | 516 | CONFIG_CICADA_PHY=y |
517 | CONFIG_VITESSE_PHY=y | ||
518 | CONFIG_SMSC_PHY=y | ||
501 | 519 | ||
502 | # | 520 | # |
503 | # Ethernet (10 or 100Mbit) | 521 | # Ethernet (10 or 100Mbit) |
@@ -541,6 +559,7 @@ CONFIG_SGI_O2MACE_ETH=y | |||
541 | # CONFIG_CHELSIO_T1 is not set | 559 | # CONFIG_CHELSIO_T1 is not set |
542 | # CONFIG_IXGB is not set | 560 | # CONFIG_IXGB is not set |
543 | # CONFIG_S2IO is not set | 561 | # CONFIG_S2IO is not set |
562 | # CONFIG_MYRI10GE is not set | ||
544 | 563 | ||
545 | # | 564 | # |
546 | # Token Ring devices | 565 | # Token Ring devices |
@@ -620,6 +639,7 @@ CONFIG_SERIO_RAW=y | |||
620 | CONFIG_VT=y | 639 | CONFIG_VT=y |
621 | CONFIG_VT_CONSOLE=y | 640 | CONFIG_VT_CONSOLE=y |
622 | CONFIG_HW_CONSOLE=y | 641 | CONFIG_HW_CONSOLE=y |
642 | CONFIG_VT_HW_CONSOLE_BINDING=y | ||
623 | # CONFIG_SERIAL_NONSTANDARD is not set | 643 | # CONFIG_SERIAL_NONSTANDARD is not set |
624 | 644 | ||
625 | # | 645 | # |
@@ -651,6 +671,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
651 | # Watchdog Cards | 671 | # Watchdog Cards |
652 | # | 672 | # |
653 | # CONFIG_WATCHDOG is not set | 673 | # CONFIG_WATCHDOG is not set |
674 | # CONFIG_HW_RANDOM is not set | ||
654 | # CONFIG_RTC is not set | 675 | # CONFIG_RTC is not set |
655 | # CONFIG_GEN_RTC is not set | 676 | # CONFIG_GEN_RTC is not set |
656 | # CONFIG_DTLK is not set | 677 | # CONFIG_DTLK is not set |
@@ -699,6 +720,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
699 | # Multimedia devices | 720 | # Multimedia devices |
700 | # | 721 | # |
701 | # CONFIG_VIDEO_DEV is not set | 722 | # CONFIG_VIDEO_DEV is not set |
723 | CONFIG_VIDEO_V4L2=y | ||
702 | 724 | ||
703 | # | 725 | # |
704 | # Digital Video Broadcasting Devices | 726 | # Digital Video Broadcasting Devices |
@@ -708,6 +730,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
708 | # | 730 | # |
709 | # Graphics support | 731 | # Graphics support |
710 | # | 732 | # |
733 | # CONFIG_FIRMWARE_EDID is not set | ||
711 | # CONFIG_FB is not set | 734 | # CONFIG_FB is not set |
712 | 735 | ||
713 | # | 736 | # |
@@ -771,6 +794,19 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
771 | # CONFIG_RTC_CLASS is not set | 794 | # CONFIG_RTC_CLASS is not set |
772 | 795 | ||
773 | # | 796 | # |
797 | # DMA Engine support | ||
798 | # | ||
799 | # CONFIG_DMA_ENGINE is not set | ||
800 | |||
801 | # | ||
802 | # DMA Clients | ||
803 | # | ||
804 | |||
805 | # | ||
806 | # DMA Devices | ||
807 | # | ||
808 | |||
809 | # | ||
774 | # File systems | 810 | # File systems |
775 | # | 811 | # |
776 | CONFIG_EXT2_FS=y | 812 | CONFIG_EXT2_FS=y |
@@ -785,6 +821,7 @@ CONFIG_EXT2_FS=y | |||
785 | # CONFIG_MINIX_FS is not set | 821 | # CONFIG_MINIX_FS is not set |
786 | # CONFIG_ROMFS_FS is not set | 822 | # CONFIG_ROMFS_FS is not set |
787 | CONFIG_INOTIFY=y | 823 | CONFIG_INOTIFY=y |
824 | CONFIG_INOTIFY_USER=y | ||
788 | # CONFIG_QUOTA is not set | 825 | # CONFIG_QUOTA is not set |
789 | CONFIG_DNOTIFY=y | 826 | CONFIG_DNOTIFY=y |
790 | # CONFIG_AUTOFS_FS is not set | 827 | # CONFIG_AUTOFS_FS is not set |
@@ -850,6 +887,7 @@ CONFIG_SUNRPC=y | |||
850 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 887 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
851 | # CONFIG_SMB_FS is not set | 888 | # CONFIG_SMB_FS is not set |
852 | # CONFIG_CIFS is not set | 889 | # CONFIG_CIFS is not set |
890 | # CONFIG_CIFS_DEBUG2 is not set | ||
853 | # CONFIG_NCP_FS is not set | 891 | # CONFIG_NCP_FS is not set |
854 | # CONFIG_CODA_FS is not set | 892 | # CONFIG_CODA_FS is not set |
855 | # CONFIG_AFS_FS is not set | 893 | # CONFIG_AFS_FS is not set |
@@ -887,6 +925,7 @@ CONFIG_SGI_PARTITION=y | |||
887 | # | 925 | # |
888 | # CONFIG_PRINTK_TIME is not set | 926 | # CONFIG_PRINTK_TIME is not set |
889 | # CONFIG_MAGIC_SYSRQ is not set | 927 | # CONFIG_MAGIC_SYSRQ is not set |
928 | # CONFIG_UNUSED_SYMBOLS is not set | ||
890 | # CONFIG_DEBUG_KERNEL is not set | 929 | # CONFIG_DEBUG_KERNEL is not set |
891 | CONFIG_LOG_BUF_SHIFT=14 | 930 | CONFIG_LOG_BUF_SHIFT=14 |
892 | # CONFIG_DEBUG_FS is not set | 931 | # CONFIG_DEBUG_FS is not set |
@@ -928,7 +967,6 @@ CONFIG_CRYPTO_ANUBIS=y | |||
928 | CONFIG_CRYPTO_DEFLATE=y | 967 | CONFIG_CRYPTO_DEFLATE=y |
929 | CONFIG_CRYPTO_MICHAEL_MIC=y | 968 | CONFIG_CRYPTO_MICHAEL_MIC=y |
930 | CONFIG_CRYPTO_CRC32C=y | 969 | CONFIG_CRYPTO_CRC32C=y |
931 | # CONFIG_CRYPTO_TEST is not set | ||
932 | 970 | ||
933 | # | 971 | # |
934 | # Hardware crypto devices | 972 | # Hardware crypto devices |
@@ -943,3 +981,4 @@ CONFIG_CRC32=y | |||
943 | CONFIG_LIBCRC32C=y | 981 | CONFIG_LIBCRC32C=y |
944 | CONFIG_ZLIB_INFLATE=y | 982 | CONFIG_ZLIB_INFLATE=y |
945 | CONFIG_ZLIB_DEFLATE=y | 983 | CONFIG_ZLIB_DEFLATE=y |
984 | CONFIG_PLIST=y | ||
diff --git a/arch/mips/configs/it8172_defconfig b/arch/mips/configs/it8172_defconfig index 809bae9013ac..a91d72a9ca86 100644 --- a/arch/mips/configs/it8172_defconfig +++ b/arch/mips/configs/it8172_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17-rc2 | 3 | # Linux kernel version: 2.6.18-rc1 |
4 | # Mon Apr 24 14:51:05 2006 | 4 | # Thu Jul 6 10:04:11 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -21,6 +21,7 @@ CONFIG_MIPS=y | |||
21 | # CONFIG_MIPS_DB1550 is not set | 21 | # CONFIG_MIPS_DB1550 is not set |
22 | # CONFIG_MIPS_DB1200 is not set | 22 | # CONFIG_MIPS_DB1200 is not set |
23 | # CONFIG_MIPS_MIRAGE is not set | 23 | # CONFIG_MIPS_MIRAGE is not set |
24 | # CONFIG_BASLER_EXCITE is not set | ||
24 | # CONFIG_MIPS_COBALT is not set | 25 | # CONFIG_MIPS_COBALT is not set |
25 | # CONFIG_MACH_DECSTATION is not set | 26 | # CONFIG_MACH_DECSTATION is not set |
26 | # CONFIG_MIPS_EV64120 is not set | 27 | # CONFIG_MIPS_EV64120 is not set |
@@ -32,6 +33,7 @@ CONFIG_MIPS_ITE8172=y | |||
32 | # CONFIG_MIPS_ATLAS is not set | 33 | # CONFIG_MIPS_ATLAS is not set |
33 | # CONFIG_MIPS_MALTA is not set | 34 | # CONFIG_MIPS_MALTA is not set |
34 | # CONFIG_MIPS_SEAD is not set | 35 | # CONFIG_MIPS_SEAD is not set |
36 | # CONFIG_WR_PPMC is not set | ||
35 | # CONFIG_MIPS_SIM is not set | 37 | # CONFIG_MIPS_SIM is not set |
36 | # CONFIG_MOMENCO_JAGUAR_ATX is not set | 38 | # CONFIG_MOMENCO_JAGUAR_ATX is not set |
37 | # CONFIG_MOMENCO_OCELOT is not set | 39 | # CONFIG_MOMENCO_OCELOT is not set |
@@ -45,6 +47,7 @@ CONFIG_MIPS_ITE8172=y | |||
45 | # CONFIG_MACH_VR41XX is not set | 47 | # CONFIG_MACH_VR41XX is not set |
46 | # CONFIG_PMC_YOSEMITE is not set | 48 | # CONFIG_PMC_YOSEMITE is not set |
47 | # CONFIG_QEMU is not set | 49 | # CONFIG_QEMU is not set |
50 | # CONFIG_MARKEINS is not set | ||
48 | # CONFIG_SGI_IP22 is not set | 51 | # CONFIG_SGI_IP22 is not set |
49 | # CONFIG_SGI_IP27 is not set | 52 | # CONFIG_SGI_IP27 is not set |
50 | # CONFIG_SGI_IP32 is not set | 53 | # CONFIG_SGI_IP32 is not set |
@@ -66,6 +69,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y | |||
66 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 69 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
67 | CONFIG_GENERIC_HWEIGHT=y | 70 | CONFIG_GENERIC_HWEIGHT=y |
68 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 71 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
72 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
69 | CONFIG_DMA_NONCOHERENT=y | 73 | CONFIG_DMA_NONCOHERENT=y |
70 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 74 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
71 | # CONFIG_CPU_BIG_ENDIAN is not set | 75 | # CONFIG_CPU_BIG_ENDIAN is not set |
@@ -114,7 +118,10 @@ CONFIG_PAGE_SIZE_4KB=y | |||
114 | # CONFIG_PAGE_SIZE_8KB is not set | 118 | # CONFIG_PAGE_SIZE_8KB is not set |
115 | # CONFIG_PAGE_SIZE_16KB is not set | 119 | # CONFIG_PAGE_SIZE_16KB is not set |
116 | # CONFIG_PAGE_SIZE_64KB is not set | 120 | # CONFIG_PAGE_SIZE_64KB is not set |
117 | # CONFIG_MIPS_MT is not set | 121 | CONFIG_MIPS_MT_DISABLED=y |
122 | # CONFIG_MIPS_MT_SMTC is not set | ||
123 | # CONFIG_MIPS_MT_SMP is not set | ||
124 | # CONFIG_MIPS_VPE_LOADER is not set | ||
118 | CONFIG_CPU_HAS_LLSC=y | 125 | CONFIG_CPU_HAS_LLSC=y |
119 | CONFIG_CPU_HAS_SYNC=y | 126 | CONFIG_CPU_HAS_SYNC=y |
120 | CONFIG_GENERIC_HARDIRQS=y | 127 | CONFIG_GENERIC_HARDIRQS=y |
@@ -128,6 +135,7 @@ CONFIG_FLATMEM=y | |||
128 | CONFIG_FLAT_NODE_MEM_MAP=y | 135 | CONFIG_FLAT_NODE_MEM_MAP=y |
129 | # CONFIG_SPARSEMEM_STATIC is not set | 136 | # CONFIG_SPARSEMEM_STATIC is not set |
130 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 137 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
138 | # CONFIG_RESOURCES_64BIT is not set | ||
131 | # CONFIG_HZ_48 is not set | 139 | # CONFIG_HZ_48 is not set |
132 | # CONFIG_HZ_100 is not set | 140 | # CONFIG_HZ_100 is not set |
133 | # CONFIG_HZ_128 is not set | 141 | # CONFIG_HZ_128 is not set |
@@ -140,6 +148,7 @@ CONFIG_HZ=1000 | |||
140 | CONFIG_PREEMPT_NONE=y | 148 | CONFIG_PREEMPT_NONE=y |
141 | # CONFIG_PREEMPT_VOLUNTARY is not set | 149 | # CONFIG_PREEMPT_VOLUNTARY is not set |
142 | # CONFIG_PREEMPT is not set | 150 | # CONFIG_PREEMPT is not set |
151 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
143 | 152 | ||
144 | # | 153 | # |
145 | # Code maturity level options | 154 | # Code maturity level options |
@@ -172,14 +181,15 @@ CONFIG_PRINTK=y | |||
172 | CONFIG_BUG=y | 181 | CONFIG_BUG=y |
173 | CONFIG_ELF_CORE=y | 182 | CONFIG_ELF_CORE=y |
174 | CONFIG_BASE_FULL=y | 183 | CONFIG_BASE_FULL=y |
184 | CONFIG_RT_MUTEXES=y | ||
175 | CONFIG_FUTEX=y | 185 | CONFIG_FUTEX=y |
176 | CONFIG_EPOLL=y | 186 | CONFIG_EPOLL=y |
177 | CONFIG_SHMEM=y | 187 | CONFIG_SHMEM=y |
178 | CONFIG_SLAB=y | 188 | CONFIG_SLAB=y |
189 | CONFIG_VM_EVENT_COUNTERS=y | ||
179 | # CONFIG_TINY_SHMEM is not set | 190 | # CONFIG_TINY_SHMEM is not set |
180 | CONFIG_BASE_SMALL=0 | 191 | CONFIG_BASE_SMALL=0 |
181 | # CONFIG_SLOB is not set | 192 | # CONFIG_SLOB is not set |
182 | CONFIG_OBSOLETE_INTERMODULE=y | ||
183 | 193 | ||
184 | # | 194 | # |
185 | # Loadable module support | 195 | # Loadable module support |
@@ -266,6 +276,8 @@ CONFIG_IP_PNP_BOOTP=y | |||
266 | # CONFIG_INET_IPCOMP is not set | 276 | # CONFIG_INET_IPCOMP is not set |
267 | # CONFIG_INET_XFRM_TUNNEL is not set | 277 | # CONFIG_INET_XFRM_TUNNEL is not set |
268 | # CONFIG_INET_TUNNEL is not set | 278 | # CONFIG_INET_TUNNEL is not set |
279 | CONFIG_INET_XFRM_MODE_TRANSPORT=m | ||
280 | CONFIG_INET_XFRM_MODE_TUNNEL=m | ||
269 | CONFIG_INET_DIAG=y | 281 | CONFIG_INET_DIAG=y |
270 | CONFIG_INET_TCP_DIAG=y | 282 | CONFIG_INET_TCP_DIAG=y |
271 | # CONFIG_TCP_CONG_ADVANCED is not set | 283 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -273,6 +285,7 @@ CONFIG_TCP_CONG_BIC=y | |||
273 | # CONFIG_IPV6 is not set | 285 | # CONFIG_IPV6 is not set |
274 | # CONFIG_INET6_XFRM_TUNNEL is not set | 286 | # CONFIG_INET6_XFRM_TUNNEL is not set |
275 | # CONFIG_INET6_TUNNEL is not set | 287 | # CONFIG_INET6_TUNNEL is not set |
288 | CONFIG_NETWORK_SECMARK=y | ||
276 | # CONFIG_NETFILTER is not set | 289 | # CONFIG_NETFILTER is not set |
277 | 290 | ||
278 | # | 291 | # |
@@ -332,6 +345,7 @@ CONFIG_WIRELESS_EXT=y | |||
332 | CONFIG_STANDALONE=y | 345 | CONFIG_STANDALONE=y |
333 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 346 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
334 | # CONFIG_FW_LOADER is not set | 347 | # CONFIG_FW_LOADER is not set |
348 | # CONFIG_SYS_HYPERVISOR is not set | ||
335 | 349 | ||
336 | # | 350 | # |
337 | # Connector - unified userspace <-> kernelspace linker | 351 | # Connector - unified userspace <-> kernelspace linker |
@@ -513,6 +527,8 @@ CONFIG_DAVICOM_PHY=m | |||
513 | CONFIG_QSEMI_PHY=m | 527 | CONFIG_QSEMI_PHY=m |
514 | CONFIG_LXT_PHY=m | 528 | CONFIG_LXT_PHY=m |
515 | CONFIG_CICADA_PHY=m | 529 | CONFIG_CICADA_PHY=m |
530 | CONFIG_VITESSE_PHY=m | ||
531 | CONFIG_SMSC_PHY=m | ||
516 | 532 | ||
517 | # | 533 | # |
518 | # Ethernet (10 or 100Mbit) | 534 | # Ethernet (10 or 100Mbit) |
@@ -601,6 +617,7 @@ CONFIG_SERIO_RAW=m | |||
601 | CONFIG_VT=y | 617 | CONFIG_VT=y |
602 | CONFIG_VT_CONSOLE=y | 618 | CONFIG_VT_CONSOLE=y |
603 | CONFIG_HW_CONSOLE=y | 619 | CONFIG_HW_CONSOLE=y |
620 | CONFIG_VT_HW_CONSOLE_BINDING=y | ||
604 | # CONFIG_SERIAL_NONSTANDARD is not set | 621 | # CONFIG_SERIAL_NONSTANDARD is not set |
605 | # CONFIG_QTRONIX_KEYBOARD is not set | 622 | # CONFIG_QTRONIX_KEYBOARD is not set |
606 | # CONFIG_IT8172_SCR0 is not set | 623 | # CONFIG_IT8172_SCR0 is not set |
@@ -634,6 +651,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
634 | # Watchdog Cards | 651 | # Watchdog Cards |
635 | # | 652 | # |
636 | # CONFIG_WATCHDOG is not set | 653 | # CONFIG_WATCHDOG is not set |
654 | # CONFIG_HW_RANDOM is not set | ||
637 | # CONFIG_RTC is not set | 655 | # CONFIG_RTC is not set |
638 | # CONFIG_GEN_RTC is not set | 656 | # CONFIG_GEN_RTC is not set |
639 | # CONFIG_DTLK is not set | 657 | # CONFIG_DTLK is not set |
@@ -680,6 +698,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
680 | # Multimedia devices | 698 | # Multimedia devices |
681 | # | 699 | # |
682 | # CONFIG_VIDEO_DEV is not set | 700 | # CONFIG_VIDEO_DEV is not set |
701 | CONFIG_VIDEO_V4L2=y | ||
683 | 702 | ||
684 | # | 703 | # |
685 | # Digital Video Broadcasting Devices | 704 | # Digital Video Broadcasting Devices |
@@ -689,6 +708,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
689 | # | 708 | # |
690 | # Graphics support | 709 | # Graphics support |
691 | # | 710 | # |
711 | # CONFIG_FIRMWARE_EDID is not set | ||
692 | # CONFIG_FB is not set | 712 | # CONFIG_FB is not set |
693 | 713 | ||
694 | # | 714 | # |
@@ -763,6 +783,19 @@ CONFIG_SOUND_IT8172=y | |||
763 | # CONFIG_RTC_CLASS is not set | 783 | # CONFIG_RTC_CLASS is not set |
764 | 784 | ||
765 | # | 785 | # |
786 | # DMA Engine support | ||
787 | # | ||
788 | # CONFIG_DMA_ENGINE is not set | ||
789 | |||
790 | # | ||
791 | # DMA Clients | ||
792 | # | ||
793 | |||
794 | # | ||
795 | # DMA Devices | ||
796 | # | ||
797 | |||
798 | # | ||
766 | # File systems | 799 | # File systems |
767 | # | 800 | # |
768 | CONFIG_EXT2_FS=y | 801 | CONFIG_EXT2_FS=y |
@@ -777,6 +810,7 @@ CONFIG_EXT2_FS=y | |||
777 | # CONFIG_MINIX_FS is not set | 810 | # CONFIG_MINIX_FS is not set |
778 | # CONFIG_ROMFS_FS is not set | 811 | # CONFIG_ROMFS_FS is not set |
779 | CONFIG_INOTIFY=y | 812 | CONFIG_INOTIFY=y |
813 | CONFIG_INOTIFY_USER=y | ||
780 | # CONFIG_QUOTA is not set | 814 | # CONFIG_QUOTA is not set |
781 | CONFIG_DNOTIFY=y | 815 | CONFIG_DNOTIFY=y |
782 | # CONFIG_AUTOFS_FS is not set | 816 | # CONFIG_AUTOFS_FS is not set |
@@ -842,6 +876,7 @@ CONFIG_SUNRPC=y | |||
842 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 876 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
843 | # CONFIG_SMB_FS is not set | 877 | # CONFIG_SMB_FS is not set |
844 | # CONFIG_CIFS is not set | 878 | # CONFIG_CIFS is not set |
879 | # CONFIG_CIFS_DEBUG2 is not set | ||
845 | # CONFIG_NCP_FS is not set | 880 | # CONFIG_NCP_FS is not set |
846 | # CONFIG_CODA_FS is not set | 881 | # CONFIG_CODA_FS is not set |
847 | # CONFIG_AFS_FS is not set | 882 | # CONFIG_AFS_FS is not set |
@@ -868,6 +903,7 @@ CONFIG_MSDOS_PARTITION=y | |||
868 | # | 903 | # |
869 | # CONFIG_PRINTK_TIME is not set | 904 | # CONFIG_PRINTK_TIME is not set |
870 | # CONFIG_MAGIC_SYSRQ is not set | 905 | # CONFIG_MAGIC_SYSRQ is not set |
906 | # CONFIG_UNUSED_SYMBOLS is not set | ||
871 | # CONFIG_DEBUG_KERNEL is not set | 907 | # CONFIG_DEBUG_KERNEL is not set |
872 | CONFIG_LOG_BUF_SHIFT=14 | 908 | CONFIG_LOG_BUF_SHIFT=14 |
873 | # CONFIG_DEBUG_FS is not set | 909 | # CONFIG_DEBUG_FS is not set |
@@ -923,3 +959,4 @@ CONFIG_CRC32=m | |||
923 | CONFIG_LIBCRC32C=m | 959 | CONFIG_LIBCRC32C=m |
924 | CONFIG_ZLIB_INFLATE=m | 960 | CONFIG_ZLIB_INFLATE=m |
925 | CONFIG_ZLIB_DEFLATE=m | 961 | CONFIG_ZLIB_DEFLATE=m |
962 | CONFIG_PLIST=y | ||
diff --git a/arch/mips/configs/ivr_defconfig b/arch/mips/configs/ivr_defconfig index 55108fd67844..cebc67212d06 100644 --- a/arch/mips/configs/ivr_defconfig +++ b/arch/mips/configs/ivr_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17-rc2 | 3 | # Linux kernel version: 2.6.18-rc1 |
4 | # Mon Apr 24 14:51:06 2006 | 4 | # Thu Jul 6 10:04:12 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -21,6 +21,7 @@ CONFIG_MIPS=y | |||
21 | # CONFIG_MIPS_DB1550 is not set | 21 | # CONFIG_MIPS_DB1550 is not set |
22 | # CONFIG_MIPS_DB1200 is not set | 22 | # CONFIG_MIPS_DB1200 is not set |
23 | # CONFIG_MIPS_MIRAGE is not set | 23 | # CONFIG_MIPS_MIRAGE is not set |
24 | # CONFIG_BASLER_EXCITE is not set | ||
24 | # CONFIG_MIPS_COBALT is not set | 25 | # CONFIG_MIPS_COBALT is not set |
25 | # CONFIG_MACH_DECSTATION is not set | 26 | # CONFIG_MACH_DECSTATION is not set |
26 | # CONFIG_MIPS_EV64120 is not set | 27 | # CONFIG_MIPS_EV64120 is not set |
@@ -32,6 +33,7 @@ CONFIG_MIPS_IVR=y | |||
32 | # CONFIG_MIPS_ATLAS is not set | 33 | # CONFIG_MIPS_ATLAS is not set |
33 | # CONFIG_MIPS_MALTA is not set | 34 | # CONFIG_MIPS_MALTA is not set |
34 | # CONFIG_MIPS_SEAD is not set | 35 | # CONFIG_MIPS_SEAD is not set |
36 | # CONFIG_WR_PPMC is not set | ||
35 | # CONFIG_MIPS_SIM is not set | 37 | # CONFIG_MIPS_SIM is not set |
36 | # CONFIG_MOMENCO_JAGUAR_ATX is not set | 38 | # CONFIG_MOMENCO_JAGUAR_ATX is not set |
37 | # CONFIG_MOMENCO_OCELOT is not set | 39 | # CONFIG_MOMENCO_OCELOT is not set |
@@ -45,6 +47,7 @@ CONFIG_MIPS_IVR=y | |||
45 | # CONFIG_MACH_VR41XX is not set | 47 | # CONFIG_MACH_VR41XX is not set |
46 | # CONFIG_PMC_YOSEMITE is not set | 48 | # CONFIG_PMC_YOSEMITE is not set |
47 | # CONFIG_QEMU is not set | 49 | # CONFIG_QEMU is not set |
50 | # CONFIG_MARKEINS is not set | ||
48 | # CONFIG_SGI_IP22 is not set | 51 | # CONFIG_SGI_IP22 is not set |
49 | # CONFIG_SGI_IP27 is not set | 52 | # CONFIG_SGI_IP27 is not set |
50 | # CONFIG_SGI_IP32 is not set | 53 | # CONFIG_SGI_IP32 is not set |
@@ -65,6 +68,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y | |||
65 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 68 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
66 | CONFIG_GENERIC_HWEIGHT=y | 69 | CONFIG_GENERIC_HWEIGHT=y |
67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 70 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
71 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
68 | CONFIG_DMA_NONCOHERENT=y | 72 | CONFIG_DMA_NONCOHERENT=y |
69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 73 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
70 | # CONFIG_CPU_BIG_ENDIAN is not set | 74 | # CONFIG_CPU_BIG_ENDIAN is not set |
@@ -111,7 +115,10 @@ CONFIG_PAGE_SIZE_4KB=y | |||
111 | # CONFIG_PAGE_SIZE_8KB is not set | 115 | # CONFIG_PAGE_SIZE_8KB is not set |
112 | # CONFIG_PAGE_SIZE_16KB is not set | 116 | # CONFIG_PAGE_SIZE_16KB is not set |
113 | # CONFIG_PAGE_SIZE_64KB is not set | 117 | # CONFIG_PAGE_SIZE_64KB is not set |
114 | # CONFIG_MIPS_MT is not set | 118 | CONFIG_MIPS_MT_DISABLED=y |
119 | # CONFIG_MIPS_MT_SMTC is not set | ||
120 | # CONFIG_MIPS_MT_SMP is not set | ||
121 | # CONFIG_MIPS_VPE_LOADER is not set | ||
115 | CONFIG_CPU_HAS_LLSC=y | 122 | CONFIG_CPU_HAS_LLSC=y |
116 | CONFIG_CPU_HAS_SYNC=y | 123 | CONFIG_CPU_HAS_SYNC=y |
117 | CONFIG_GENERIC_HARDIRQS=y | 124 | CONFIG_GENERIC_HARDIRQS=y |
@@ -125,6 +132,7 @@ CONFIG_FLATMEM=y | |||
125 | CONFIG_FLAT_NODE_MEM_MAP=y | 132 | CONFIG_FLAT_NODE_MEM_MAP=y |
126 | # CONFIG_SPARSEMEM_STATIC is not set | 133 | # CONFIG_SPARSEMEM_STATIC is not set |
127 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 134 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
135 | # CONFIG_RESOURCES_64BIT is not set | ||
128 | # CONFIG_HZ_48 is not set | 136 | # CONFIG_HZ_48 is not set |
129 | # CONFIG_HZ_100 is not set | 137 | # CONFIG_HZ_100 is not set |
130 | # CONFIG_HZ_128 is not set | 138 | # CONFIG_HZ_128 is not set |
@@ -137,6 +145,7 @@ CONFIG_HZ=1000 | |||
137 | CONFIG_PREEMPT_NONE=y | 145 | CONFIG_PREEMPT_NONE=y |
138 | # CONFIG_PREEMPT_VOLUNTARY is not set | 146 | # CONFIG_PREEMPT_VOLUNTARY is not set |
139 | # CONFIG_PREEMPT is not set | 147 | # CONFIG_PREEMPT is not set |
148 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
140 | 149 | ||
141 | # | 150 | # |
142 | # Code maturity level options | 151 | # Code maturity level options |
@@ -169,10 +178,12 @@ CONFIG_PRINTK=y | |||
169 | CONFIG_BUG=y | 178 | CONFIG_BUG=y |
170 | CONFIG_ELF_CORE=y | 179 | CONFIG_ELF_CORE=y |
171 | CONFIG_BASE_FULL=y | 180 | CONFIG_BASE_FULL=y |
181 | CONFIG_RT_MUTEXES=y | ||
172 | CONFIG_FUTEX=y | 182 | CONFIG_FUTEX=y |
173 | CONFIG_EPOLL=y | 183 | CONFIG_EPOLL=y |
174 | CONFIG_SHMEM=y | 184 | CONFIG_SHMEM=y |
175 | CONFIG_SLAB=y | 185 | CONFIG_SLAB=y |
186 | CONFIG_VM_EVENT_COUNTERS=y | ||
176 | # CONFIG_TINY_SHMEM is not set | 187 | # CONFIG_TINY_SHMEM is not set |
177 | CONFIG_BASE_SMALL=0 | 188 | CONFIG_BASE_SMALL=0 |
178 | # CONFIG_SLOB is not set | 189 | # CONFIG_SLOB is not set |
@@ -263,6 +274,8 @@ CONFIG_IP_PNP_BOOTP=y | |||
263 | # CONFIG_INET_IPCOMP is not set | 274 | # CONFIG_INET_IPCOMP is not set |
264 | # CONFIG_INET_XFRM_TUNNEL is not set | 275 | # CONFIG_INET_XFRM_TUNNEL is not set |
265 | # CONFIG_INET_TUNNEL is not set | 276 | # CONFIG_INET_TUNNEL is not set |
277 | CONFIG_INET_XFRM_MODE_TRANSPORT=m | ||
278 | CONFIG_INET_XFRM_MODE_TUNNEL=m | ||
266 | CONFIG_INET_DIAG=y | 279 | CONFIG_INET_DIAG=y |
267 | CONFIG_INET_TCP_DIAG=y | 280 | CONFIG_INET_TCP_DIAG=y |
268 | # CONFIG_TCP_CONG_ADVANCED is not set | 281 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -270,6 +283,7 @@ CONFIG_TCP_CONG_BIC=y | |||
270 | # CONFIG_IPV6 is not set | 283 | # CONFIG_IPV6 is not set |
271 | # CONFIG_INET6_XFRM_TUNNEL is not set | 284 | # CONFIG_INET6_XFRM_TUNNEL is not set |
272 | # CONFIG_INET6_TUNNEL is not set | 285 | # CONFIG_INET6_TUNNEL is not set |
286 | CONFIG_NETWORK_SECMARK=y | ||
273 | # CONFIG_NETFILTER is not set | 287 | # CONFIG_NETFILTER is not set |
274 | 288 | ||
275 | # | 289 | # |
@@ -329,6 +343,7 @@ CONFIG_WIRELESS_EXT=y | |||
329 | CONFIG_STANDALONE=y | 343 | CONFIG_STANDALONE=y |
330 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 344 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
331 | CONFIG_FW_LOADER=m | 345 | CONFIG_FW_LOADER=m |
346 | # CONFIG_SYS_HYPERVISOR is not set | ||
332 | 347 | ||
333 | # | 348 | # |
334 | # Connector - unified userspace <-> kernelspace linker | 349 | # Connector - unified userspace <-> kernelspace linker |
@@ -447,6 +462,8 @@ CONFIG_DAVICOM_PHY=m | |||
447 | CONFIG_QSEMI_PHY=m | 462 | CONFIG_QSEMI_PHY=m |
448 | CONFIG_LXT_PHY=m | 463 | CONFIG_LXT_PHY=m |
449 | CONFIG_CICADA_PHY=m | 464 | CONFIG_CICADA_PHY=m |
465 | CONFIG_VITESSE_PHY=m | ||
466 | CONFIG_SMSC_PHY=m | ||
450 | 467 | ||
451 | # | 468 | # |
452 | # Ethernet (10 or 100Mbit) | 469 | # Ethernet (10 or 100Mbit) |
@@ -489,6 +506,7 @@ CONFIG_NET_ETHERNET=y | |||
489 | # CONFIG_CHELSIO_T1 is not set | 506 | # CONFIG_CHELSIO_T1 is not set |
490 | # CONFIG_IXGB is not set | 507 | # CONFIG_IXGB is not set |
491 | # CONFIG_S2IO is not set | 508 | # CONFIG_S2IO is not set |
509 | # CONFIG_MYRI10GE is not set | ||
492 | 510 | ||
493 | # | 511 | # |
494 | # Token Ring devices | 512 | # Token Ring devices |
@@ -566,6 +584,7 @@ CONFIG_SERIO_RAW=m | |||
566 | CONFIG_VT=y | 584 | CONFIG_VT=y |
567 | CONFIG_VT_CONSOLE=y | 585 | CONFIG_VT_CONSOLE=y |
568 | CONFIG_HW_CONSOLE=y | 586 | CONFIG_HW_CONSOLE=y |
587 | CONFIG_VT_HW_CONSOLE_BINDING=y | ||
569 | # CONFIG_SERIAL_NONSTANDARD is not set | 588 | # CONFIG_SERIAL_NONSTANDARD is not set |
570 | CONFIG_QTRONIX_KEYBOARD=y | 589 | CONFIG_QTRONIX_KEYBOARD=y |
571 | CONFIG_IT8172_SCR0=y | 590 | CONFIG_IT8172_SCR0=y |
@@ -600,6 +619,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
600 | # Watchdog Cards | 619 | # Watchdog Cards |
601 | # | 620 | # |
602 | # CONFIG_WATCHDOG is not set | 621 | # CONFIG_WATCHDOG is not set |
622 | # CONFIG_HW_RANDOM is not set | ||
603 | CONFIG_RTC=y | 623 | CONFIG_RTC=y |
604 | # CONFIG_DTLK is not set | 624 | # CONFIG_DTLK is not set |
605 | # CONFIG_R3964 is not set | 625 | # CONFIG_R3964 is not set |
@@ -647,6 +667,7 @@ CONFIG_RTC=y | |||
647 | # Multimedia devices | 667 | # Multimedia devices |
648 | # | 668 | # |
649 | # CONFIG_VIDEO_DEV is not set | 669 | # CONFIG_VIDEO_DEV is not set |
670 | CONFIG_VIDEO_V4L2=y | ||
650 | 671 | ||
651 | # | 672 | # |
652 | # Digital Video Broadcasting Devices | 673 | # Digital Video Broadcasting Devices |
@@ -656,6 +677,7 @@ CONFIG_RTC=y | |||
656 | # | 677 | # |
657 | # Graphics support | 678 | # Graphics support |
658 | # | 679 | # |
680 | # CONFIG_FIRMWARE_EDID is not set | ||
659 | # CONFIG_FB is not set | 681 | # CONFIG_FB is not set |
660 | 682 | ||
661 | # | 683 | # |
@@ -719,6 +741,19 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
719 | # CONFIG_RTC_CLASS is not set | 741 | # CONFIG_RTC_CLASS is not set |
720 | 742 | ||
721 | # | 743 | # |
744 | # DMA Engine support | ||
745 | # | ||
746 | # CONFIG_DMA_ENGINE is not set | ||
747 | |||
748 | # | ||
749 | # DMA Clients | ||
750 | # | ||
751 | |||
752 | # | ||
753 | # DMA Devices | ||
754 | # | ||
755 | |||
756 | # | ||
722 | # File systems | 757 | # File systems |
723 | # | 758 | # |
724 | CONFIG_EXT2_FS=y | 759 | CONFIG_EXT2_FS=y |
@@ -733,6 +768,7 @@ CONFIG_EXT2_FS=y | |||
733 | # CONFIG_MINIX_FS is not set | 768 | # CONFIG_MINIX_FS is not set |
734 | # CONFIG_ROMFS_FS is not set | 769 | # CONFIG_ROMFS_FS is not set |
735 | CONFIG_INOTIFY=y | 770 | CONFIG_INOTIFY=y |
771 | CONFIG_INOTIFY_USER=y | ||
736 | # CONFIG_QUOTA is not set | 772 | # CONFIG_QUOTA is not set |
737 | CONFIG_DNOTIFY=y | 773 | CONFIG_DNOTIFY=y |
738 | # CONFIG_AUTOFS_FS is not set | 774 | # CONFIG_AUTOFS_FS is not set |
@@ -796,6 +832,7 @@ CONFIG_SUNRPC=y | |||
796 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 832 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
797 | # CONFIG_SMB_FS is not set | 833 | # CONFIG_SMB_FS is not set |
798 | # CONFIG_CIFS is not set | 834 | # CONFIG_CIFS is not set |
835 | # CONFIG_CIFS_DEBUG2 is not set | ||
799 | # CONFIG_NCP_FS is not set | 836 | # CONFIG_NCP_FS is not set |
800 | # CONFIG_CODA_FS is not set | 837 | # CONFIG_CODA_FS is not set |
801 | # CONFIG_AFS_FS is not set | 838 | # CONFIG_AFS_FS is not set |
@@ -822,6 +859,7 @@ CONFIG_MSDOS_PARTITION=y | |||
822 | # | 859 | # |
823 | # CONFIG_PRINTK_TIME is not set | 860 | # CONFIG_PRINTK_TIME is not set |
824 | # CONFIG_MAGIC_SYSRQ is not set | 861 | # CONFIG_MAGIC_SYSRQ is not set |
862 | # CONFIG_UNUSED_SYMBOLS is not set | ||
825 | # CONFIG_DEBUG_KERNEL is not set | 863 | # CONFIG_DEBUG_KERNEL is not set |
826 | CONFIG_LOG_BUF_SHIFT=14 | 864 | CONFIG_LOG_BUF_SHIFT=14 |
827 | # CONFIG_DEBUG_FS is not set | 865 | # CONFIG_DEBUG_FS is not set |
@@ -877,3 +915,4 @@ CONFIG_CRC32=m | |||
877 | CONFIG_LIBCRC32C=m | 915 | CONFIG_LIBCRC32C=m |
878 | CONFIG_ZLIB_INFLATE=m | 916 | CONFIG_ZLIB_INFLATE=m |
879 | CONFIG_ZLIB_DEFLATE=m | 917 | CONFIG_ZLIB_DEFLATE=m |
918 | CONFIG_PLIST=y | ||
diff --git a/arch/mips/configs/jaguar-atx_defconfig b/arch/mips/configs/jaguar-atx_defconfig index ef2843436057..5d9eb11aba3d 100644 --- a/arch/mips/configs/jaguar-atx_defconfig +++ b/arch/mips/configs/jaguar-atx_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17-rc2 | 3 | # Linux kernel version: 2.6.18-rc1 |
4 | # Mon Apr 24 14:51:06 2006 | 4 | # Thu Jul 6 10:04:12 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -21,6 +21,7 @@ CONFIG_MIPS=y | |||
21 | # CONFIG_MIPS_DB1550 is not set | 21 | # CONFIG_MIPS_DB1550 is not set |
22 | # CONFIG_MIPS_DB1200 is not set | 22 | # CONFIG_MIPS_DB1200 is not set |
23 | # CONFIG_MIPS_MIRAGE is not set | 23 | # CONFIG_MIPS_MIRAGE is not set |
24 | # CONFIG_BASLER_EXCITE is not set | ||
24 | # CONFIG_MIPS_COBALT is not set | 25 | # CONFIG_MIPS_COBALT is not set |
25 | # CONFIG_MACH_DECSTATION is not set | 26 | # CONFIG_MACH_DECSTATION is not set |
26 | # CONFIG_MIPS_EV64120 is not set | 27 | # CONFIG_MIPS_EV64120 is not set |
@@ -32,6 +33,7 @@ CONFIG_MIPS=y | |||
32 | # CONFIG_MIPS_ATLAS is not set | 33 | # CONFIG_MIPS_ATLAS is not set |
33 | # CONFIG_MIPS_MALTA is not set | 34 | # CONFIG_MIPS_MALTA is not set |
34 | # CONFIG_MIPS_SEAD is not set | 35 | # CONFIG_MIPS_SEAD is not set |
36 | # CONFIG_WR_PPMC is not set | ||
35 | # CONFIG_MIPS_SIM is not set | 37 | # CONFIG_MIPS_SIM is not set |
36 | CONFIG_MOMENCO_JAGUAR_ATX=y | 38 | CONFIG_MOMENCO_JAGUAR_ATX=y |
37 | # CONFIG_MOMENCO_OCELOT is not set | 39 | # CONFIG_MOMENCO_OCELOT is not set |
@@ -45,6 +47,7 @@ CONFIG_MOMENCO_JAGUAR_ATX=y | |||
45 | # CONFIG_MACH_VR41XX is not set | 47 | # CONFIG_MACH_VR41XX is not set |
46 | # CONFIG_PMC_YOSEMITE is not set | 48 | # CONFIG_PMC_YOSEMITE is not set |
47 | # CONFIG_QEMU is not set | 49 | # CONFIG_QEMU is not set |
50 | # CONFIG_MARKEINS is not set | ||
48 | # CONFIG_SGI_IP22 is not set | 51 | # CONFIG_SGI_IP22 is not set |
49 | # CONFIG_SGI_IP27 is not set | 52 | # CONFIG_SGI_IP27 is not set |
50 | # CONFIG_SGI_IP32 is not set | 53 | # CONFIG_SGI_IP32 is not set |
@@ -66,6 +69,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y | |||
66 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 69 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
67 | CONFIG_GENERIC_HWEIGHT=y | 70 | CONFIG_GENERIC_HWEIGHT=y |
68 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 71 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
72 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
69 | CONFIG_DMA_NONCOHERENT=y | 73 | CONFIG_DMA_NONCOHERENT=y |
70 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 74 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
71 | CONFIG_LIMITED_DMA=y | 75 | CONFIG_LIMITED_DMA=y |
@@ -120,7 +124,10 @@ CONFIG_PAGE_SIZE_4KB=y | |||
120 | CONFIG_BOARD_SCACHE=y | 124 | CONFIG_BOARD_SCACHE=y |
121 | CONFIG_RM7000_CPU_SCACHE=y | 125 | CONFIG_RM7000_CPU_SCACHE=y |
122 | CONFIG_CPU_HAS_PREFETCH=y | 126 | CONFIG_CPU_HAS_PREFETCH=y |
123 | # CONFIG_MIPS_MT is not set | 127 | CONFIG_MIPS_MT_DISABLED=y |
128 | # CONFIG_MIPS_MT_SMTC is not set | ||
129 | # CONFIG_MIPS_MT_SMP is not set | ||
130 | # CONFIG_MIPS_VPE_LOADER is not set | ||
124 | # CONFIG_64BIT_PHYS_ADDR is not set | 131 | # CONFIG_64BIT_PHYS_ADDR is not set |
125 | CONFIG_CPU_HAS_LLSC=y | 132 | CONFIG_CPU_HAS_LLSC=y |
126 | CONFIG_CPU_HAS_SYNC=y | 133 | CONFIG_CPU_HAS_SYNC=y |
@@ -134,6 +141,7 @@ CONFIG_FLATMEM=y | |||
134 | CONFIG_FLAT_NODE_MEM_MAP=y | 141 | CONFIG_FLAT_NODE_MEM_MAP=y |
135 | # CONFIG_SPARSEMEM_STATIC is not set | 142 | # CONFIG_SPARSEMEM_STATIC is not set |
136 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 143 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
144 | # CONFIG_RESOURCES_64BIT is not set | ||
137 | # CONFIG_HZ_48 is not set | 145 | # CONFIG_HZ_48 is not set |
138 | # CONFIG_HZ_100 is not set | 146 | # CONFIG_HZ_100 is not set |
139 | # CONFIG_HZ_128 is not set | 147 | # CONFIG_HZ_128 is not set |
@@ -143,10 +151,10 @@ CONFIG_HZ_1000=y | |||
143 | # CONFIG_HZ_1024 is not set | 151 | # CONFIG_HZ_1024 is not set |
144 | CONFIG_SYS_SUPPORTS_ARBIT_HZ=y | 152 | CONFIG_SYS_SUPPORTS_ARBIT_HZ=y |
145 | CONFIG_HZ=1000 | 153 | CONFIG_HZ=1000 |
146 | # CONFIG_SMP is not set | ||
147 | CONFIG_PREEMPT_NONE=y | 154 | CONFIG_PREEMPT_NONE=y |
148 | # CONFIG_PREEMPT_VOLUNTARY is not set | 155 | # CONFIG_PREEMPT_VOLUNTARY is not set |
149 | # CONFIG_PREEMPT is not set | 156 | # CONFIG_PREEMPT is not set |
157 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
150 | 158 | ||
151 | # | 159 | # |
152 | # Code maturity level options | 160 | # Code maturity level options |
@@ -177,10 +185,12 @@ CONFIG_PRINTK=y | |||
177 | CONFIG_BUG=y | 185 | CONFIG_BUG=y |
178 | CONFIG_ELF_CORE=y | 186 | CONFIG_ELF_CORE=y |
179 | CONFIG_BASE_FULL=y | 187 | CONFIG_BASE_FULL=y |
188 | CONFIG_RT_MUTEXES=y | ||
180 | CONFIG_FUTEX=y | 189 | CONFIG_FUTEX=y |
181 | CONFIG_EPOLL=y | 190 | CONFIG_EPOLL=y |
182 | CONFIG_SHMEM=y | 191 | CONFIG_SHMEM=y |
183 | CONFIG_SLAB=y | 192 | CONFIG_SLAB=y |
193 | CONFIG_VM_EVENT_COUNTERS=y | ||
184 | # CONFIG_TINY_SHMEM is not set | 194 | # CONFIG_TINY_SHMEM is not set |
185 | CONFIG_BASE_SMALL=0 | 195 | CONFIG_BASE_SMALL=0 |
186 | # CONFIG_SLOB is not set | 196 | # CONFIG_SLOB is not set |
@@ -267,6 +277,8 @@ CONFIG_IP_PNP_BOOTP=y | |||
267 | # CONFIG_INET_IPCOMP is not set | 277 | # CONFIG_INET_IPCOMP is not set |
268 | # CONFIG_INET_XFRM_TUNNEL is not set | 278 | # CONFIG_INET_XFRM_TUNNEL is not set |
269 | # CONFIG_INET_TUNNEL is not set | 279 | # CONFIG_INET_TUNNEL is not set |
280 | CONFIG_INET_XFRM_MODE_TRANSPORT=m | ||
281 | CONFIG_INET_XFRM_MODE_TUNNEL=m | ||
270 | CONFIG_INET_DIAG=y | 282 | CONFIG_INET_DIAG=y |
271 | CONFIG_INET_TCP_DIAG=y | 283 | CONFIG_INET_TCP_DIAG=y |
272 | # CONFIG_TCP_CONG_ADVANCED is not set | 284 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -279,7 +291,10 @@ CONFIG_INET6_ESP=m | |||
279 | CONFIG_INET6_IPCOMP=m | 291 | CONFIG_INET6_IPCOMP=m |
280 | CONFIG_INET6_XFRM_TUNNEL=m | 292 | CONFIG_INET6_XFRM_TUNNEL=m |
281 | CONFIG_INET6_TUNNEL=m | 293 | CONFIG_INET6_TUNNEL=m |
294 | CONFIG_INET6_XFRM_MODE_TRANSPORT=m | ||
295 | CONFIG_INET6_XFRM_MODE_TUNNEL=m | ||
282 | CONFIG_IPV6_TUNNEL=m | 296 | CONFIG_IPV6_TUNNEL=m |
297 | CONFIG_NETWORK_SECMARK=y | ||
283 | # CONFIG_NETFILTER is not set | 298 | # CONFIG_NETFILTER is not set |
284 | # CONFIG_BRIDGE is not set | 299 | # CONFIG_BRIDGE is not set |
285 | # CONFIG_VLAN_8021Q is not set | 300 | # CONFIG_VLAN_8021Q is not set |
@@ -315,6 +330,7 @@ CONFIG_IEEE80211_CRYPT_CCMP=m | |||
315 | CONFIG_STANDALONE=y | 330 | CONFIG_STANDALONE=y |
316 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 331 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
317 | CONFIG_FW_LOADER=m | 332 | CONFIG_FW_LOADER=m |
333 | # CONFIG_SYS_HYPERVISOR is not set | ||
318 | 334 | ||
319 | # | 335 | # |
320 | # Connector - unified userspace <-> kernelspace linker | 336 | # Connector - unified userspace <-> kernelspace linker |
@@ -409,6 +425,8 @@ CONFIG_DAVICOM_PHY=m | |||
409 | CONFIG_QSEMI_PHY=m | 425 | CONFIG_QSEMI_PHY=m |
410 | CONFIG_LXT_PHY=m | 426 | CONFIG_LXT_PHY=m |
411 | CONFIG_CICADA_PHY=m | 427 | CONFIG_CICADA_PHY=m |
428 | CONFIG_VITESSE_PHY=m | ||
429 | CONFIG_SMSC_PHY=m | ||
412 | 430 | ||
413 | # | 431 | # |
414 | # Ethernet (10 or 100Mbit) | 432 | # Ethernet (10 or 100Mbit) |
@@ -430,6 +448,7 @@ CONFIG_NET_PCI=y | |||
430 | # CONFIG_PCNET32 is not set | 448 | # CONFIG_PCNET32 is not set |
431 | # CONFIG_AMD8111_ETH is not set | 449 | # CONFIG_AMD8111_ETH is not set |
432 | # CONFIG_ADAPTEC_STARFIRE is not set | 450 | # CONFIG_ADAPTEC_STARFIRE is not set |
451 | # CONFIG_B44 is not set | ||
433 | # CONFIG_FORCEDETH is not set | 452 | # CONFIG_FORCEDETH is not set |
434 | # CONFIG_DGRS is not set | 453 | # CONFIG_DGRS is not set |
435 | CONFIG_EEPRO100=y | 454 | CONFIG_EEPRO100=y |
@@ -470,6 +489,7 @@ CONFIG_MV643XX_ETH_2=y | |||
470 | # CONFIG_CHELSIO_T1 is not set | 489 | # CONFIG_CHELSIO_T1 is not set |
471 | # CONFIG_IXGB is not set | 490 | # CONFIG_IXGB is not set |
472 | # CONFIG_S2IO is not set | 491 | # CONFIG_S2IO is not set |
492 | # CONFIG_MYRI10GE is not set | ||
473 | 493 | ||
474 | # | 494 | # |
475 | # Token Ring devices | 495 | # Token Ring devices |
@@ -547,6 +567,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
547 | # Watchdog Cards | 567 | # Watchdog Cards |
548 | # | 568 | # |
549 | # CONFIG_WATCHDOG is not set | 569 | # CONFIG_WATCHDOG is not set |
570 | # CONFIG_HW_RANDOM is not set | ||
550 | # CONFIG_RTC is not set | 571 | # CONFIG_RTC is not set |
551 | # CONFIG_GEN_RTC is not set | 572 | # CONFIG_GEN_RTC is not set |
552 | # CONFIG_DTLK is not set | 573 | # CONFIG_DTLK is not set |
@@ -593,6 +614,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
593 | # Multimedia devices | 614 | # Multimedia devices |
594 | # | 615 | # |
595 | # CONFIG_VIDEO_DEV is not set | 616 | # CONFIG_VIDEO_DEV is not set |
617 | CONFIG_VIDEO_V4L2=y | ||
596 | 618 | ||
597 | # | 619 | # |
598 | # Digital Video Broadcasting Devices | 620 | # Digital Video Broadcasting Devices |
@@ -602,6 +624,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
602 | # | 624 | # |
603 | # Graphics support | 625 | # Graphics support |
604 | # | 626 | # |
627 | # CONFIG_FIRMWARE_EDID is not set | ||
605 | # CONFIG_FB is not set | 628 | # CONFIG_FB is not set |
606 | 629 | ||
607 | # | 630 | # |
@@ -658,6 +681,19 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
658 | # | 681 | # |
659 | 682 | ||
660 | # | 683 | # |
684 | # DMA Engine support | ||
685 | # | ||
686 | # CONFIG_DMA_ENGINE is not set | ||
687 | |||
688 | # | ||
689 | # DMA Clients | ||
690 | # | ||
691 | |||
692 | # | ||
693 | # DMA Devices | ||
694 | # | ||
695 | |||
696 | # | ||
661 | # File systems | 697 | # File systems |
662 | # | 698 | # |
663 | # CONFIG_EXT2_FS is not set | 699 | # CONFIG_EXT2_FS is not set |
@@ -669,6 +705,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
669 | # CONFIG_MINIX_FS is not set | 705 | # CONFIG_MINIX_FS is not set |
670 | # CONFIG_ROMFS_FS is not set | 706 | # CONFIG_ROMFS_FS is not set |
671 | CONFIG_INOTIFY=y | 707 | CONFIG_INOTIFY=y |
708 | CONFIG_INOTIFY_USER=y | ||
672 | # CONFIG_QUOTA is not set | 709 | # CONFIG_QUOTA is not set |
673 | CONFIG_DNOTIFY=y | 710 | CONFIG_DNOTIFY=y |
674 | # CONFIG_AUTOFS_FS is not set | 711 | # CONFIG_AUTOFS_FS is not set |
@@ -721,6 +758,7 @@ CONFIG_NFS_COMMON=y | |||
721 | CONFIG_SUNRPC=y | 758 | CONFIG_SUNRPC=y |
722 | # CONFIG_SMB_FS is not set | 759 | # CONFIG_SMB_FS is not set |
723 | # CONFIG_CIFS is not set | 760 | # CONFIG_CIFS is not set |
761 | # CONFIG_CIFS_DEBUG2 is not set | ||
724 | # CONFIG_NCP_FS is not set | 762 | # CONFIG_NCP_FS is not set |
725 | # CONFIG_CODA_FS is not set | 763 | # CONFIG_CODA_FS is not set |
726 | 764 | ||
@@ -740,6 +778,7 @@ CONFIG_MSDOS_PARTITION=y | |||
740 | # | 778 | # |
741 | # CONFIG_PRINTK_TIME is not set | 779 | # CONFIG_PRINTK_TIME is not set |
742 | # CONFIG_MAGIC_SYSRQ is not set | 780 | # CONFIG_MAGIC_SYSRQ is not set |
781 | # CONFIG_UNUSED_SYMBOLS is not set | ||
743 | # CONFIG_DEBUG_KERNEL is not set | 782 | # CONFIG_DEBUG_KERNEL is not set |
744 | CONFIG_LOG_BUF_SHIFT=14 | 783 | CONFIG_LOG_BUF_SHIFT=14 |
745 | # CONFIG_DEBUG_FS is not set | 784 | # CONFIG_DEBUG_FS is not set |
@@ -795,3 +834,4 @@ CONFIG_CRC32=m | |||
795 | CONFIG_LIBCRC32C=m | 834 | CONFIG_LIBCRC32C=m |
796 | CONFIG_ZLIB_INFLATE=m | 835 | CONFIG_ZLIB_INFLATE=m |
797 | CONFIG_ZLIB_DEFLATE=m | 836 | CONFIG_ZLIB_DEFLATE=m |
837 | CONFIG_PLIST=y | ||
diff --git a/arch/mips/configs/jmr3927_defconfig b/arch/mips/configs/jmr3927_defconfig index 5ef5a08289a5..be45a9044d06 100644 --- a/arch/mips/configs/jmr3927_defconfig +++ b/arch/mips/configs/jmr3927_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17-rc2 | 3 | # Linux kernel version: 2.6.18-rc1 |
4 | # Mon Apr 24 14:51:07 2006 | 4 | # Thu Jul 6 10:04:12 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -21,6 +21,7 @@ CONFIG_MIPS=y | |||
21 | # CONFIG_MIPS_DB1550 is not set | 21 | # CONFIG_MIPS_DB1550 is not set |
22 | # CONFIG_MIPS_DB1200 is not set | 22 | # CONFIG_MIPS_DB1200 is not set |
23 | # CONFIG_MIPS_MIRAGE is not set | 23 | # CONFIG_MIPS_MIRAGE is not set |
24 | # CONFIG_BASLER_EXCITE is not set | ||
24 | # CONFIG_MIPS_COBALT is not set | 25 | # CONFIG_MIPS_COBALT is not set |
25 | # CONFIG_MACH_DECSTATION is not set | 26 | # CONFIG_MACH_DECSTATION is not set |
26 | # CONFIG_MIPS_EV64120 is not set | 27 | # CONFIG_MIPS_EV64120 is not set |
@@ -32,6 +33,7 @@ CONFIG_MIPS=y | |||
32 | # CONFIG_MIPS_ATLAS is not set | 33 | # CONFIG_MIPS_ATLAS is not set |
33 | # CONFIG_MIPS_MALTA is not set | 34 | # CONFIG_MIPS_MALTA is not set |
34 | # CONFIG_MIPS_SEAD is not set | 35 | # CONFIG_MIPS_SEAD is not set |
36 | # CONFIG_WR_PPMC is not set | ||
35 | # CONFIG_MIPS_SIM is not set | 37 | # CONFIG_MIPS_SIM is not set |
36 | # CONFIG_MOMENCO_JAGUAR_ATX is not set | 38 | # CONFIG_MOMENCO_JAGUAR_ATX is not set |
37 | # CONFIG_MOMENCO_OCELOT is not set | 39 | # CONFIG_MOMENCO_OCELOT is not set |
@@ -45,6 +47,7 @@ CONFIG_MIPS=y | |||
45 | # CONFIG_MACH_VR41XX is not set | 47 | # CONFIG_MACH_VR41XX is not set |
46 | # CONFIG_PMC_YOSEMITE is not set | 48 | # CONFIG_PMC_YOSEMITE is not set |
47 | # CONFIG_QEMU is not set | 49 | # CONFIG_QEMU is not set |
50 | # CONFIG_MARKEINS is not set | ||
48 | # CONFIG_SGI_IP22 is not set | 51 | # CONFIG_SGI_IP22 is not set |
49 | # CONFIG_SGI_IP27 is not set | 52 | # CONFIG_SGI_IP27 is not set |
50 | # CONFIG_SGI_IP32 is not set | 53 | # CONFIG_SGI_IP32 is not set |
@@ -65,6 +68,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y | |||
65 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 68 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
66 | CONFIG_GENERIC_HWEIGHT=y | 69 | CONFIG_GENERIC_HWEIGHT=y |
67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 70 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
71 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
68 | CONFIG_DMA_NONCOHERENT=y | 72 | CONFIG_DMA_NONCOHERENT=y |
69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 73 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
70 | CONFIG_CPU_BIG_ENDIAN=y | 74 | CONFIG_CPU_BIG_ENDIAN=y |
@@ -110,7 +114,10 @@ CONFIG_PAGE_SIZE_4KB=y | |||
110 | # CONFIG_PAGE_SIZE_8KB is not set | 114 | # CONFIG_PAGE_SIZE_8KB is not set |
111 | # CONFIG_PAGE_SIZE_16KB is not set | 115 | # CONFIG_PAGE_SIZE_16KB is not set |
112 | # CONFIG_PAGE_SIZE_64KB is not set | 116 | # CONFIG_PAGE_SIZE_64KB is not set |
113 | # CONFIG_MIPS_MT is not set | 117 | CONFIG_MIPS_MT_DISABLED=y |
118 | # CONFIG_MIPS_MT_SMTC is not set | ||
119 | # CONFIG_MIPS_MT_SMP is not set | ||
120 | # CONFIG_MIPS_VPE_LOADER is not set | ||
114 | CONFIG_CPU_HAS_SYNC=y | 121 | CONFIG_CPU_HAS_SYNC=y |
115 | CONFIG_GENERIC_HARDIRQS=y | 122 | CONFIG_GENERIC_HARDIRQS=y |
116 | CONFIG_GENERIC_IRQ_PROBE=y | 123 | CONFIG_GENERIC_IRQ_PROBE=y |
@@ -123,6 +130,7 @@ CONFIG_FLATMEM=y | |||
123 | CONFIG_FLAT_NODE_MEM_MAP=y | 130 | CONFIG_FLAT_NODE_MEM_MAP=y |
124 | # CONFIG_SPARSEMEM_STATIC is not set | 131 | # CONFIG_SPARSEMEM_STATIC is not set |
125 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 132 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
133 | # CONFIG_RESOURCES_64BIT is not set | ||
126 | # CONFIG_HZ_48 is not set | 134 | # CONFIG_HZ_48 is not set |
127 | # CONFIG_HZ_100 is not set | 135 | # CONFIG_HZ_100 is not set |
128 | # CONFIG_HZ_128 is not set | 136 | # CONFIG_HZ_128 is not set |
@@ -136,6 +144,7 @@ CONFIG_PREEMPT_NONE=y | |||
136 | # CONFIG_PREEMPT_VOLUNTARY is not set | 144 | # CONFIG_PREEMPT_VOLUNTARY is not set |
137 | # CONFIG_PREEMPT is not set | 145 | # CONFIG_PREEMPT is not set |
138 | CONFIG_RTC_DS1742=y | 146 | CONFIG_RTC_DS1742=y |
147 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
139 | 148 | ||
140 | # | 149 | # |
141 | # Code maturity level options | 150 | # Code maturity level options |
@@ -167,10 +176,12 @@ CONFIG_PRINTK=y | |||
167 | CONFIG_BUG=y | 176 | CONFIG_BUG=y |
168 | CONFIG_ELF_CORE=y | 177 | CONFIG_ELF_CORE=y |
169 | CONFIG_BASE_FULL=y | 178 | CONFIG_BASE_FULL=y |
179 | CONFIG_RT_MUTEXES=y | ||
170 | CONFIG_FUTEX=y | 180 | CONFIG_FUTEX=y |
171 | CONFIG_EPOLL=y | 181 | CONFIG_EPOLL=y |
172 | CONFIG_SHMEM=y | 182 | CONFIG_SHMEM=y |
173 | CONFIG_SLAB=y | 183 | CONFIG_SLAB=y |
184 | CONFIG_VM_EVENT_COUNTERS=y | ||
174 | # CONFIG_TINY_SHMEM is not set | 185 | # CONFIG_TINY_SHMEM is not set |
175 | CONFIG_BASE_SMALL=0 | 186 | CONFIG_BASE_SMALL=0 |
176 | # CONFIG_SLOB is not set | 187 | # CONFIG_SLOB is not set |
@@ -256,6 +267,8 @@ CONFIG_IP_PNP_BOOTP=y | |||
256 | # CONFIG_INET_IPCOMP is not set | 267 | # CONFIG_INET_IPCOMP is not set |
257 | # CONFIG_INET_XFRM_TUNNEL is not set | 268 | # CONFIG_INET_XFRM_TUNNEL is not set |
258 | # CONFIG_INET_TUNNEL is not set | 269 | # CONFIG_INET_TUNNEL is not set |
270 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | ||
271 | CONFIG_INET_XFRM_MODE_TUNNEL=y | ||
259 | CONFIG_INET_DIAG=y | 272 | CONFIG_INET_DIAG=y |
260 | CONFIG_INET_TCP_DIAG=y | 273 | CONFIG_INET_TCP_DIAG=y |
261 | # CONFIG_TCP_CONG_ADVANCED is not set | 274 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -263,6 +276,7 @@ CONFIG_TCP_CONG_BIC=y | |||
263 | # CONFIG_IPV6 is not set | 276 | # CONFIG_IPV6 is not set |
264 | # CONFIG_INET6_XFRM_TUNNEL is not set | 277 | # CONFIG_INET6_XFRM_TUNNEL is not set |
265 | # CONFIG_INET6_TUNNEL is not set | 278 | # CONFIG_INET6_TUNNEL is not set |
279 | CONFIG_NETWORK_SECMARK=y | ||
266 | # CONFIG_NETFILTER is not set | 280 | # CONFIG_NETFILTER is not set |
267 | 281 | ||
268 | # | 282 | # |
@@ -322,6 +336,7 @@ CONFIG_WIRELESS_EXT=y | |||
322 | CONFIG_STANDALONE=y | 336 | CONFIG_STANDALONE=y |
323 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 337 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
324 | CONFIG_FW_LOADER=y | 338 | CONFIG_FW_LOADER=y |
339 | # CONFIG_SYS_HYPERVISOR is not set | ||
325 | 340 | ||
326 | # | 341 | # |
327 | # Connector - unified userspace <-> kernelspace linker | 342 | # Connector - unified userspace <-> kernelspace linker |
@@ -419,6 +434,8 @@ CONFIG_DAVICOM_PHY=y | |||
419 | CONFIG_QSEMI_PHY=y | 434 | CONFIG_QSEMI_PHY=y |
420 | CONFIG_LXT_PHY=y | 435 | CONFIG_LXT_PHY=y |
421 | CONFIG_CICADA_PHY=y | 436 | CONFIG_CICADA_PHY=y |
437 | CONFIG_VITESSE_PHY=y | ||
438 | CONFIG_SMSC_PHY=y | ||
422 | 439 | ||
423 | # | 440 | # |
424 | # Ethernet (10 or 100Mbit) | 441 | # Ethernet (10 or 100Mbit) |
@@ -461,6 +478,7 @@ CONFIG_NET_ETHERNET=y | |||
461 | # CONFIG_CHELSIO_T1 is not set | 478 | # CONFIG_CHELSIO_T1 is not set |
462 | # CONFIG_IXGB is not set | 479 | # CONFIG_IXGB is not set |
463 | # CONFIG_S2IO is not set | 480 | # CONFIG_S2IO is not set |
481 | # CONFIG_MYRI10GE is not set | ||
464 | 482 | ||
465 | # | 483 | # |
466 | # Token Ring devices | 484 | # Token Ring devices |
@@ -538,6 +556,7 @@ CONFIG_SERIO_RAW=y | |||
538 | CONFIG_VT=y | 556 | CONFIG_VT=y |
539 | CONFIG_VT_CONSOLE=y | 557 | CONFIG_VT_CONSOLE=y |
540 | CONFIG_HW_CONSOLE=y | 558 | CONFIG_HW_CONSOLE=y |
559 | CONFIG_VT_HW_CONSOLE_BINDING=y | ||
541 | CONFIG_SERIAL_NONSTANDARD=y | 560 | CONFIG_SERIAL_NONSTANDARD=y |
542 | # CONFIG_COMPUTONE is not set | 561 | # CONFIG_COMPUTONE is not set |
543 | # CONFIG_ROCKETPORT is not set | 562 | # CONFIG_ROCKETPORT is not set |
@@ -582,6 +601,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
582 | # Watchdog Cards | 601 | # Watchdog Cards |
583 | # | 602 | # |
584 | # CONFIG_WATCHDOG is not set | 603 | # CONFIG_WATCHDOG is not set |
604 | # CONFIG_HW_RANDOM is not set | ||
585 | # CONFIG_RTC is not set | 605 | # CONFIG_RTC is not set |
586 | # CONFIG_GEN_RTC is not set | 606 | # CONFIG_GEN_RTC is not set |
587 | # CONFIG_DTLK is not set | 607 | # CONFIG_DTLK is not set |
@@ -630,6 +650,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
630 | # Multimedia devices | 650 | # Multimedia devices |
631 | # | 651 | # |
632 | # CONFIG_VIDEO_DEV is not set | 652 | # CONFIG_VIDEO_DEV is not set |
653 | CONFIG_VIDEO_V4L2=y | ||
633 | 654 | ||
634 | # | 655 | # |
635 | # Digital Video Broadcasting Devices | 656 | # Digital Video Broadcasting Devices |
@@ -639,12 +660,13 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
639 | # | 660 | # |
640 | # Graphics support | 661 | # Graphics support |
641 | # | 662 | # |
663 | # CONFIG_FIRMWARE_EDID is not set | ||
642 | CONFIG_FB=y | 664 | CONFIG_FB=y |
643 | # CONFIG_FB_CFB_FILLRECT is not set | 665 | # CONFIG_FB_CFB_FILLRECT is not set |
644 | # CONFIG_FB_CFB_COPYAREA is not set | 666 | # CONFIG_FB_CFB_COPYAREA is not set |
645 | # CONFIG_FB_CFB_IMAGEBLIT is not set | 667 | # CONFIG_FB_CFB_IMAGEBLIT is not set |
646 | # CONFIG_FB_MACMODES is not set | 668 | # CONFIG_FB_MACMODES is not set |
647 | CONFIG_FB_FIRMWARE_EDID=y | 669 | # CONFIG_FB_BACKLIGHT is not set |
648 | # CONFIG_FB_MODE_HELPERS is not set | 670 | # CONFIG_FB_MODE_HELPERS is not set |
649 | # CONFIG_FB_TILEBLITTING is not set | 671 | # CONFIG_FB_TILEBLITTING is not set |
650 | # CONFIG_FB_CIRRUS is not set | 672 | # CONFIG_FB_CIRRUS is not set |
@@ -737,6 +759,19 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
737 | # CONFIG_RTC_CLASS is not set | 759 | # CONFIG_RTC_CLASS is not set |
738 | 760 | ||
739 | # | 761 | # |
762 | # DMA Engine support | ||
763 | # | ||
764 | # CONFIG_DMA_ENGINE is not set | ||
765 | |||
766 | # | ||
767 | # DMA Clients | ||
768 | # | ||
769 | |||
770 | # | ||
771 | # DMA Devices | ||
772 | # | ||
773 | |||
774 | # | ||
740 | # File systems | 775 | # File systems |
741 | # | 776 | # |
742 | # CONFIG_EXT2_FS is not set | 777 | # CONFIG_EXT2_FS is not set |
@@ -749,6 +784,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
749 | # CONFIG_MINIX_FS is not set | 784 | # CONFIG_MINIX_FS is not set |
750 | # CONFIG_ROMFS_FS is not set | 785 | # CONFIG_ROMFS_FS is not set |
751 | CONFIG_INOTIFY=y | 786 | CONFIG_INOTIFY=y |
787 | CONFIG_INOTIFY_USER=y | ||
752 | # CONFIG_QUOTA is not set | 788 | # CONFIG_QUOTA is not set |
753 | CONFIG_DNOTIFY=y | 789 | CONFIG_DNOTIFY=y |
754 | # CONFIG_AUTOFS_FS is not set | 790 | # CONFIG_AUTOFS_FS is not set |
@@ -812,6 +848,7 @@ CONFIG_SUNRPC=y | |||
812 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 848 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
813 | # CONFIG_SMB_FS is not set | 849 | # CONFIG_SMB_FS is not set |
814 | # CONFIG_CIFS is not set | 850 | # CONFIG_CIFS is not set |
851 | # CONFIG_CIFS_DEBUG2 is not set | ||
815 | # CONFIG_NCP_FS is not set | 852 | # CONFIG_NCP_FS is not set |
816 | # CONFIG_CODA_FS is not set | 853 | # CONFIG_CODA_FS is not set |
817 | # CONFIG_AFS_FS is not set | 854 | # CONFIG_AFS_FS is not set |
@@ -838,6 +875,7 @@ CONFIG_MSDOS_PARTITION=y | |||
838 | # | 875 | # |
839 | # CONFIG_PRINTK_TIME is not set | 876 | # CONFIG_PRINTK_TIME is not set |
840 | # CONFIG_MAGIC_SYSRQ is not set | 877 | # CONFIG_MAGIC_SYSRQ is not set |
878 | # CONFIG_UNUSED_SYMBOLS is not set | ||
841 | # CONFIG_DEBUG_KERNEL is not set | 879 | # CONFIG_DEBUG_KERNEL is not set |
842 | CONFIG_LOG_BUF_SHIFT=14 | 880 | CONFIG_LOG_BUF_SHIFT=14 |
843 | # CONFIG_DEBUG_FS is not set | 881 | # CONFIG_DEBUG_FS is not set |
@@ -879,7 +917,6 @@ CONFIG_CRYPTO_ANUBIS=y | |||
879 | CONFIG_CRYPTO_DEFLATE=y | 917 | CONFIG_CRYPTO_DEFLATE=y |
880 | CONFIG_CRYPTO_MICHAEL_MIC=y | 918 | CONFIG_CRYPTO_MICHAEL_MIC=y |
881 | CONFIG_CRYPTO_CRC32C=y | 919 | CONFIG_CRYPTO_CRC32C=y |
882 | # CONFIG_CRYPTO_TEST is not set | ||
883 | 920 | ||
884 | # | 921 | # |
885 | # Hardware crypto devices | 922 | # Hardware crypto devices |
@@ -894,3 +931,4 @@ CONFIG_CRC32=y | |||
894 | CONFIG_LIBCRC32C=y | 931 | CONFIG_LIBCRC32C=y |
895 | CONFIG_ZLIB_INFLATE=y | 932 | CONFIG_ZLIB_INFLATE=y |
896 | CONFIG_ZLIB_DEFLATE=y | 933 | CONFIG_ZLIB_DEFLATE=y |
934 | CONFIG_PLIST=y | ||
diff --git a/arch/mips/configs/lasat200_defconfig b/arch/mips/configs/lasat200_defconfig index eabcff26fc0e..64dc9f45a19c 100644 --- a/arch/mips/configs/lasat200_defconfig +++ b/arch/mips/configs/lasat200_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17-rc2 | 3 | # Linux kernel version: 2.6.18-rc1 |
4 | # Mon Apr 24 14:51:07 2006 | 4 | # Thu Jul 6 10:04:12 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -21,6 +21,7 @@ CONFIG_MIPS=y | |||
21 | # CONFIG_MIPS_DB1550 is not set | 21 | # CONFIG_MIPS_DB1550 is not set |
22 | # CONFIG_MIPS_DB1200 is not set | 22 | # CONFIG_MIPS_DB1200 is not set |
23 | # CONFIG_MIPS_MIRAGE is not set | 23 | # CONFIG_MIPS_MIRAGE is not set |
24 | # CONFIG_BASLER_EXCITE is not set | ||
24 | # CONFIG_MIPS_COBALT is not set | 25 | # CONFIG_MIPS_COBALT is not set |
25 | # CONFIG_MACH_DECSTATION is not set | 26 | # CONFIG_MACH_DECSTATION is not set |
26 | # CONFIG_MIPS_EV64120 is not set | 27 | # CONFIG_MIPS_EV64120 is not set |
@@ -32,6 +33,7 @@ CONFIG_LASAT=y | |||
32 | # CONFIG_MIPS_ATLAS is not set | 33 | # CONFIG_MIPS_ATLAS is not set |
33 | # CONFIG_MIPS_MALTA is not set | 34 | # CONFIG_MIPS_MALTA is not set |
34 | # CONFIG_MIPS_SEAD is not set | 35 | # CONFIG_MIPS_SEAD is not set |
36 | # CONFIG_WR_PPMC is not set | ||
35 | # CONFIG_MIPS_SIM is not set | 37 | # CONFIG_MIPS_SIM is not set |
36 | # CONFIG_MOMENCO_JAGUAR_ATX is not set | 38 | # CONFIG_MOMENCO_JAGUAR_ATX is not set |
37 | # CONFIG_MOMENCO_OCELOT is not set | 39 | # CONFIG_MOMENCO_OCELOT is not set |
@@ -45,6 +47,7 @@ CONFIG_LASAT=y | |||
45 | # CONFIG_MACH_VR41XX is not set | 47 | # CONFIG_MACH_VR41XX is not set |
46 | # CONFIG_PMC_YOSEMITE is not set | 48 | # CONFIG_PMC_YOSEMITE is not set |
47 | # CONFIG_QEMU is not set | 49 | # CONFIG_QEMU is not set |
50 | # CONFIG_MARKEINS is not set | ||
48 | # CONFIG_SGI_IP22 is not set | 51 | # CONFIG_SGI_IP22 is not set |
49 | # CONFIG_SGI_IP27 is not set | 52 | # CONFIG_SGI_IP27 is not set |
50 | # CONFIG_SGI_IP32 is not set | 53 | # CONFIG_SGI_IP32 is not set |
@@ -69,6 +72,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y | |||
69 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 72 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
70 | CONFIG_GENERIC_HWEIGHT=y | 73 | CONFIG_GENERIC_HWEIGHT=y |
71 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 74 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
75 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
72 | CONFIG_DMA_NONCOHERENT=y | 76 | CONFIG_DMA_NONCOHERENT=y |
73 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 77 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
74 | CONFIG_MIPS_NILE4=y | 78 | CONFIG_MIPS_NILE4=y |
@@ -117,7 +121,10 @@ CONFIG_PAGE_SIZE_4KB=y | |||
117 | # CONFIG_PAGE_SIZE_64KB is not set | 121 | # CONFIG_PAGE_SIZE_64KB is not set |
118 | CONFIG_BOARD_SCACHE=y | 122 | CONFIG_BOARD_SCACHE=y |
119 | CONFIG_R5000_CPU_SCACHE=y | 123 | CONFIG_R5000_CPU_SCACHE=y |
120 | # CONFIG_MIPS_MT is not set | 124 | CONFIG_MIPS_MT_DISABLED=y |
125 | # CONFIG_MIPS_MT_SMTC is not set | ||
126 | # CONFIG_MIPS_MT_SMP is not set | ||
127 | # CONFIG_MIPS_VPE_LOADER is not set | ||
121 | # CONFIG_64BIT_PHYS_ADDR is not set | 128 | # CONFIG_64BIT_PHYS_ADDR is not set |
122 | CONFIG_CPU_HAS_LLSC=y | 129 | CONFIG_CPU_HAS_LLSC=y |
123 | CONFIG_CPU_HAS_SYNC=y | 130 | CONFIG_CPU_HAS_SYNC=y |
@@ -132,6 +139,7 @@ CONFIG_FLATMEM=y | |||
132 | CONFIG_FLAT_NODE_MEM_MAP=y | 139 | CONFIG_FLAT_NODE_MEM_MAP=y |
133 | # CONFIG_SPARSEMEM_STATIC is not set | 140 | # CONFIG_SPARSEMEM_STATIC is not set |
134 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 141 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
142 | # CONFIG_RESOURCES_64BIT is not set | ||
135 | # CONFIG_HZ_48 is not set | 143 | # CONFIG_HZ_48 is not set |
136 | # CONFIG_HZ_100 is not set | 144 | # CONFIG_HZ_100 is not set |
137 | # CONFIG_HZ_128 is not set | 145 | # CONFIG_HZ_128 is not set |
@@ -144,6 +152,7 @@ CONFIG_HZ=1000 | |||
144 | CONFIG_PREEMPT_NONE=y | 152 | CONFIG_PREEMPT_NONE=y |
145 | # CONFIG_PREEMPT_VOLUNTARY is not set | 153 | # CONFIG_PREEMPT_VOLUNTARY is not set |
146 | # CONFIG_PREEMPT is not set | 154 | # CONFIG_PREEMPT is not set |
155 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
147 | 156 | ||
148 | # | 157 | # |
149 | # Code maturity level options | 158 | # Code maturity level options |
@@ -175,14 +184,15 @@ CONFIG_PRINTK=y | |||
175 | CONFIG_BUG=y | 184 | CONFIG_BUG=y |
176 | CONFIG_ELF_CORE=y | 185 | CONFIG_ELF_CORE=y |
177 | CONFIG_BASE_FULL=y | 186 | CONFIG_BASE_FULL=y |
187 | CONFIG_RT_MUTEXES=y | ||
178 | CONFIG_FUTEX=y | 188 | CONFIG_FUTEX=y |
179 | CONFIG_EPOLL=y | 189 | CONFIG_EPOLL=y |
180 | CONFIG_SHMEM=y | 190 | CONFIG_SHMEM=y |
181 | CONFIG_SLAB=y | 191 | CONFIG_SLAB=y |
192 | CONFIG_VM_EVENT_COUNTERS=y | ||
182 | # CONFIG_TINY_SHMEM is not set | 193 | # CONFIG_TINY_SHMEM is not set |
183 | CONFIG_BASE_SMALL=0 | 194 | CONFIG_BASE_SMALL=0 |
184 | # CONFIG_SLOB is not set | 195 | # CONFIG_SLOB is not set |
185 | CONFIG_OBSOLETE_INTERMODULE=y | ||
186 | 196 | ||
187 | # | 197 | # |
188 | # Loadable module support | 198 | # Loadable module support |
@@ -266,6 +276,8 @@ CONFIG_IP_FIB_HASH=y | |||
266 | # CONFIG_INET_IPCOMP is not set | 276 | # CONFIG_INET_IPCOMP is not set |
267 | # CONFIG_INET_XFRM_TUNNEL is not set | 277 | # CONFIG_INET_XFRM_TUNNEL is not set |
268 | # CONFIG_INET_TUNNEL is not set | 278 | # CONFIG_INET_TUNNEL is not set |
279 | CONFIG_INET_XFRM_MODE_TRANSPORT=m | ||
280 | CONFIG_INET_XFRM_MODE_TUNNEL=m | ||
269 | CONFIG_INET_DIAG=y | 281 | CONFIG_INET_DIAG=y |
270 | CONFIG_INET_TCP_DIAG=y | 282 | CONFIG_INET_TCP_DIAG=y |
271 | # CONFIG_TCP_CONG_ADVANCED is not set | 283 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -273,6 +285,7 @@ CONFIG_TCP_CONG_BIC=y | |||
273 | # CONFIG_IPV6 is not set | 285 | # CONFIG_IPV6 is not set |
274 | # CONFIG_INET6_XFRM_TUNNEL is not set | 286 | # CONFIG_INET6_XFRM_TUNNEL is not set |
275 | # CONFIG_INET6_TUNNEL is not set | 287 | # CONFIG_INET6_TUNNEL is not set |
288 | CONFIG_NETWORK_SECMARK=y | ||
276 | # CONFIG_NETFILTER is not set | 289 | # CONFIG_NETFILTER is not set |
277 | 290 | ||
278 | # | 291 | # |
@@ -332,6 +345,7 @@ CONFIG_WIRELESS_EXT=y | |||
332 | CONFIG_STANDALONE=y | 345 | CONFIG_STANDALONE=y |
333 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 346 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
334 | CONFIG_FW_LOADER=m | 347 | CONFIG_FW_LOADER=m |
348 | # CONFIG_SYS_HYPERVISOR is not set | ||
335 | 349 | ||
336 | # | 350 | # |
337 | # Connector - unified userspace <-> kernelspace linker | 351 | # Connector - unified userspace <-> kernelspace linker |
@@ -555,6 +569,8 @@ CONFIG_DAVICOM_PHY=m | |||
555 | CONFIG_QSEMI_PHY=m | 569 | CONFIG_QSEMI_PHY=m |
556 | CONFIG_LXT_PHY=m | 570 | CONFIG_LXT_PHY=m |
557 | CONFIG_CICADA_PHY=m | 571 | CONFIG_CICADA_PHY=m |
572 | CONFIG_VITESSE_PHY=m | ||
573 | CONFIG_SMSC_PHY=m | ||
558 | 574 | ||
559 | # | 575 | # |
560 | # Ethernet (10 or 100Mbit) | 576 | # Ethernet (10 or 100Mbit) |
@@ -597,6 +613,7 @@ CONFIG_NET_ETHERNET=y | |||
597 | # CONFIG_CHELSIO_T1 is not set | 613 | # CONFIG_CHELSIO_T1 is not set |
598 | # CONFIG_IXGB is not set | 614 | # CONFIG_IXGB is not set |
599 | # CONFIG_S2IO is not set | 615 | # CONFIG_S2IO is not set |
616 | # CONFIG_MYRI10GE is not set | ||
600 | 617 | ||
601 | # | 618 | # |
602 | # Token Ring devices | 619 | # Token Ring devices |
@@ -674,6 +691,7 @@ CONFIG_SERIO_RAW=m | |||
674 | CONFIG_VT=y | 691 | CONFIG_VT=y |
675 | CONFIG_VT_CONSOLE=y | 692 | CONFIG_VT_CONSOLE=y |
676 | CONFIG_HW_CONSOLE=y | 693 | CONFIG_HW_CONSOLE=y |
694 | CONFIG_VT_HW_CONSOLE_BINDING=y | ||
677 | # CONFIG_SERIAL_NONSTANDARD is not set | 695 | # CONFIG_SERIAL_NONSTANDARD is not set |
678 | 696 | ||
679 | # | 697 | # |
@@ -705,6 +723,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
705 | # Watchdog Cards | 723 | # Watchdog Cards |
706 | # | 724 | # |
707 | # CONFIG_WATCHDOG is not set | 725 | # CONFIG_WATCHDOG is not set |
726 | # CONFIG_HW_RANDOM is not set | ||
708 | # CONFIG_RTC is not set | 727 | # CONFIG_RTC is not set |
709 | # CONFIG_GEN_RTC is not set | 728 | # CONFIG_GEN_RTC is not set |
710 | # CONFIG_DTLK is not set | 729 | # CONFIG_DTLK is not set |
@@ -753,6 +772,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
753 | # Multimedia devices | 772 | # Multimedia devices |
754 | # | 773 | # |
755 | # CONFIG_VIDEO_DEV is not set | 774 | # CONFIG_VIDEO_DEV is not set |
775 | CONFIG_VIDEO_V4L2=y | ||
756 | 776 | ||
757 | # | 777 | # |
758 | # Digital Video Broadcasting Devices | 778 | # Digital Video Broadcasting Devices |
@@ -762,6 +782,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
762 | # | 782 | # |
763 | # Graphics support | 783 | # Graphics support |
764 | # | 784 | # |
785 | # CONFIG_FIRMWARE_EDID is not set | ||
765 | # CONFIG_FB is not set | 786 | # CONFIG_FB is not set |
766 | 787 | ||
767 | # | 788 | # |
@@ -825,6 +846,19 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
825 | # CONFIG_RTC_CLASS is not set | 846 | # CONFIG_RTC_CLASS is not set |
826 | 847 | ||
827 | # | 848 | # |
849 | # DMA Engine support | ||
850 | # | ||
851 | # CONFIG_DMA_ENGINE is not set | ||
852 | |||
853 | # | ||
854 | # DMA Clients | ||
855 | # | ||
856 | |||
857 | # | ||
858 | # DMA Devices | ||
859 | # | ||
860 | |||
861 | # | ||
828 | # File systems | 862 | # File systems |
829 | # | 863 | # |
830 | CONFIG_EXT2_FS=y | 864 | CONFIG_EXT2_FS=y |
@@ -845,6 +879,7 @@ CONFIG_FS_MBCACHE=y | |||
845 | # CONFIG_MINIX_FS is not set | 879 | # CONFIG_MINIX_FS is not set |
846 | # CONFIG_ROMFS_FS is not set | 880 | # CONFIG_ROMFS_FS is not set |
847 | CONFIG_INOTIFY=y | 881 | CONFIG_INOTIFY=y |
882 | CONFIG_INOTIFY_USER=y | ||
848 | # CONFIG_QUOTA is not set | 883 | # CONFIG_QUOTA is not set |
849 | CONFIG_DNOTIFY=y | 884 | CONFIG_DNOTIFY=y |
850 | # CONFIG_AUTOFS_FS is not set | 885 | # CONFIG_AUTOFS_FS is not set |
@@ -911,6 +946,7 @@ CONFIG_SUNRPC=y | |||
911 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 946 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
912 | # CONFIG_SMB_FS is not set | 947 | # CONFIG_SMB_FS is not set |
913 | # CONFIG_CIFS is not set | 948 | # CONFIG_CIFS is not set |
949 | # CONFIG_CIFS_DEBUG2 is not set | ||
914 | # CONFIG_NCP_FS is not set | 950 | # CONFIG_NCP_FS is not set |
915 | # CONFIG_CODA_FS is not set | 951 | # CONFIG_CODA_FS is not set |
916 | # CONFIG_AFS_FS is not set | 952 | # CONFIG_AFS_FS is not set |
@@ -937,6 +973,7 @@ CONFIG_MSDOS_PARTITION=y | |||
937 | # | 973 | # |
938 | # CONFIG_PRINTK_TIME is not set | 974 | # CONFIG_PRINTK_TIME is not set |
939 | # CONFIG_MAGIC_SYSRQ is not set | 975 | # CONFIG_MAGIC_SYSRQ is not set |
976 | # CONFIG_UNUSED_SYMBOLS is not set | ||
940 | # CONFIG_DEBUG_KERNEL is not set | 977 | # CONFIG_DEBUG_KERNEL is not set |
941 | CONFIG_LOG_BUF_SHIFT=14 | 978 | CONFIG_LOG_BUF_SHIFT=14 |
942 | # CONFIG_DEBUG_FS is not set | 979 | # CONFIG_DEBUG_FS is not set |
@@ -992,3 +1029,4 @@ CONFIG_CRC32=y | |||
992 | CONFIG_LIBCRC32C=m | 1029 | CONFIG_LIBCRC32C=m |
993 | CONFIG_ZLIB_INFLATE=m | 1030 | CONFIG_ZLIB_INFLATE=m |
994 | CONFIG_ZLIB_DEFLATE=m | 1031 | CONFIG_ZLIB_DEFLATE=m |
1032 | CONFIG_PLIST=y | ||
diff --git a/arch/mips/configs/malta_defconfig b/arch/mips/configs/malta_defconfig index b73cff0d83ca..2690baf15a85 100644 --- a/arch/mips/configs/malta_defconfig +++ b/arch/mips/configs/malta_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17-rc2 | 3 | # Linux kernel version: 2.6.18-rc1 |
4 | # Mon Apr 24 14:51:08 2006 | 4 | # Thu Jul 6 10:04:13 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -21,6 +21,7 @@ CONFIG_MIPS=y | |||
21 | # CONFIG_MIPS_DB1550 is not set | 21 | # CONFIG_MIPS_DB1550 is not set |
22 | # CONFIG_MIPS_DB1200 is not set | 22 | # CONFIG_MIPS_DB1200 is not set |
23 | # CONFIG_MIPS_MIRAGE is not set | 23 | # CONFIG_MIPS_MIRAGE is not set |
24 | # CONFIG_BASLER_EXCITE is not set | ||
24 | # CONFIG_MIPS_COBALT is not set | 25 | # CONFIG_MIPS_COBALT is not set |
25 | # CONFIG_MACH_DECSTATION is not set | 26 | # CONFIG_MACH_DECSTATION is not set |
26 | # CONFIG_MIPS_EV64120 is not set | 27 | # CONFIG_MIPS_EV64120 is not set |
@@ -32,6 +33,7 @@ CONFIG_MIPS=y | |||
32 | # CONFIG_MIPS_ATLAS is not set | 33 | # CONFIG_MIPS_ATLAS is not set |
33 | CONFIG_MIPS_MALTA=y | 34 | CONFIG_MIPS_MALTA=y |
34 | # CONFIG_MIPS_SEAD is not set | 35 | # CONFIG_MIPS_SEAD is not set |
36 | # CONFIG_WR_PPMC is not set | ||
35 | # CONFIG_MIPS_SIM is not set | 37 | # CONFIG_MIPS_SIM is not set |
36 | # CONFIG_MOMENCO_JAGUAR_ATX is not set | 38 | # CONFIG_MOMENCO_JAGUAR_ATX is not set |
37 | # CONFIG_MOMENCO_OCELOT is not set | 39 | # CONFIG_MOMENCO_OCELOT is not set |
@@ -45,6 +47,7 @@ CONFIG_MIPS_MALTA=y | |||
45 | # CONFIG_MACH_VR41XX is not set | 47 | # CONFIG_MACH_VR41XX is not set |
46 | # CONFIG_PMC_YOSEMITE is not set | 48 | # CONFIG_PMC_YOSEMITE is not set |
47 | # CONFIG_QEMU is not set | 49 | # CONFIG_QEMU is not set |
50 | # CONFIG_MARKEINS is not set | ||
48 | # CONFIG_SGI_IP22 is not set | 51 | # CONFIG_SGI_IP22 is not set |
49 | # CONFIG_SGI_IP27 is not set | 52 | # CONFIG_SGI_IP27 is not set |
50 | # CONFIG_SGI_IP32 is not set | 53 | # CONFIG_SGI_IP32 is not set |
@@ -65,6 +68,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y | |||
65 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 68 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
66 | CONFIG_GENERIC_HWEIGHT=y | 69 | CONFIG_GENERIC_HWEIGHT=y |
67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 70 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
71 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
68 | CONFIG_ARCH_MAY_HAVE_PC_FDC=y | 72 | CONFIG_ARCH_MAY_HAVE_PC_FDC=y |
69 | CONFIG_DMA_NONCOHERENT=y | 73 | CONFIG_DMA_NONCOHERENT=y |
70 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 74 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
@@ -126,19 +130,21 @@ CONFIG_PAGE_SIZE_4KB=y | |||
126 | # CONFIG_PAGE_SIZE_8KB is not set | 130 | # CONFIG_PAGE_SIZE_8KB is not set |
127 | # CONFIG_PAGE_SIZE_16KB is not set | 131 | # CONFIG_PAGE_SIZE_16KB is not set |
128 | # CONFIG_PAGE_SIZE_64KB is not set | 132 | # CONFIG_PAGE_SIZE_64KB is not set |
133 | CONFIG_BOARD_SCACHE=y | ||
134 | CONFIG_MIPS_CPU_SCACHE=y | ||
129 | CONFIG_CPU_HAS_PREFETCH=y | 135 | CONFIG_CPU_HAS_PREFETCH=y |
130 | CONFIG_MIPS_MT=y | 136 | # CONFIG_MIPS_MT_DISABLED is not set |
131 | # CONFIG_MIPS_MT_SMTC is not set | 137 | # CONFIG_MIPS_MT_SMTC is not set |
132 | # CONFIG_MIPS_MT_SMP is not set | 138 | # CONFIG_MIPS_MT_SMP is not set |
133 | CONFIG_MIPS_VPE_LOADER=y | 139 | CONFIG_MIPS_VPE_LOADER=y |
140 | CONFIG_MIPS_MT=y | ||
141 | CONFIG_SYS_SUPPORTS_MULTITHREADING=y | ||
134 | CONFIG_MIPS_MT_FPAFF=y | 142 | CONFIG_MIPS_MT_FPAFF=y |
135 | CONFIG_MIPS_VPE_LOADER_TOM=y | 143 | CONFIG_MIPS_VPE_LOADER_TOM=y |
136 | CONFIG_MIPS_VPE_APSP_API=y | 144 | CONFIG_MIPS_VPE_APSP_API=y |
137 | CONFIG_MIPS_APSP_KSPD=y | 145 | CONFIG_MIPS_APSP_KSPD=y |
138 | # CONFIG_64BIT_PHYS_ADDR is not set | 146 | # CONFIG_64BIT_PHYS_ADDR is not set |
139 | CONFIG_CPU_HAS_LLSC=y | 147 | CONFIG_CPU_HAS_LLSC=y |
140 | # CONFIG_CPU_MIPSR2_IRQ_VI is not set | ||
141 | # CONFIG_CPU_MIPSR2_IRQ_EI is not set | ||
142 | CONFIG_CPU_HAS_SYNC=y | 148 | CONFIG_CPU_HAS_SYNC=y |
143 | CONFIG_GENERIC_HARDIRQS=y | 149 | CONFIG_GENERIC_HARDIRQS=y |
144 | CONFIG_GENERIC_IRQ_PROBE=y | 150 | CONFIG_GENERIC_IRQ_PROBE=y |
@@ -152,6 +158,7 @@ CONFIG_FLATMEM=y | |||
152 | CONFIG_FLAT_NODE_MEM_MAP=y | 158 | CONFIG_FLAT_NODE_MEM_MAP=y |
153 | # CONFIG_SPARSEMEM_STATIC is not set | 159 | # CONFIG_SPARSEMEM_STATIC is not set |
154 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 160 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
161 | # CONFIG_RESOURCES_64BIT is not set | ||
155 | # CONFIG_HZ_48 is not set | 162 | # CONFIG_HZ_48 is not set |
156 | CONFIG_HZ_100=y | 163 | CONFIG_HZ_100=y |
157 | # CONFIG_HZ_128 is not set | 164 | # CONFIG_HZ_128 is not set |
@@ -164,6 +171,7 @@ CONFIG_HZ=100 | |||
164 | CONFIG_PREEMPT_NONE=y | 171 | CONFIG_PREEMPT_NONE=y |
165 | # CONFIG_PREEMPT_VOLUNTARY is not set | 172 | # CONFIG_PREEMPT_VOLUNTARY is not set |
166 | # CONFIG_PREEMPT is not set | 173 | # CONFIG_PREEMPT is not set |
174 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
167 | 175 | ||
168 | # | 176 | # |
169 | # Code maturity level options | 177 | # Code maturity level options |
@@ -195,10 +203,12 @@ CONFIG_PRINTK=y | |||
195 | CONFIG_BUG=y | 203 | CONFIG_BUG=y |
196 | CONFIG_ELF_CORE=y | 204 | CONFIG_ELF_CORE=y |
197 | CONFIG_BASE_FULL=y | 205 | CONFIG_BASE_FULL=y |
206 | CONFIG_RT_MUTEXES=y | ||
198 | CONFIG_FUTEX=y | 207 | CONFIG_FUTEX=y |
199 | CONFIG_EPOLL=y | 208 | CONFIG_EPOLL=y |
200 | CONFIG_SHMEM=y | 209 | CONFIG_SHMEM=y |
201 | CONFIG_SLAB=y | 210 | CONFIG_SLAB=y |
211 | CONFIG_VM_EVENT_COUNTERS=y | ||
202 | # CONFIG_TINY_SHMEM is not set | 212 | # CONFIG_TINY_SHMEM is not set |
203 | CONFIG_BASE_SMALL=0 | 213 | CONFIG_BASE_SMALL=0 |
204 | # CONFIG_SLOB is not set | 214 | # CONFIG_SLOB is not set |
@@ -300,6 +310,8 @@ CONFIG_INET_ESP=m | |||
300 | CONFIG_INET_IPCOMP=m | 310 | CONFIG_INET_IPCOMP=m |
301 | CONFIG_INET_XFRM_TUNNEL=m | 311 | CONFIG_INET_XFRM_TUNNEL=m |
302 | CONFIG_INET_TUNNEL=m | 312 | CONFIG_INET_TUNNEL=m |
313 | CONFIG_INET_XFRM_MODE_TRANSPORT=m | ||
314 | CONFIG_INET_XFRM_MODE_TUNNEL=m | ||
303 | CONFIG_INET_DIAG=y | 315 | CONFIG_INET_DIAG=y |
304 | CONFIG_INET_TCP_DIAG=y | 316 | CONFIG_INET_TCP_DIAG=y |
305 | # CONFIG_TCP_CONG_ADVANCED is not set | 317 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -347,7 +359,10 @@ CONFIG_INET6_ESP=m | |||
347 | CONFIG_INET6_IPCOMP=m | 359 | CONFIG_INET6_IPCOMP=m |
348 | CONFIG_INET6_XFRM_TUNNEL=m | 360 | CONFIG_INET6_XFRM_TUNNEL=m |
349 | CONFIG_INET6_TUNNEL=m | 361 | CONFIG_INET6_TUNNEL=m |
362 | CONFIG_INET6_XFRM_MODE_TRANSPORT=m | ||
363 | CONFIG_INET6_XFRM_MODE_TUNNEL=m | ||
350 | CONFIG_IPV6_TUNNEL=m | 364 | CONFIG_IPV6_TUNNEL=m |
365 | CONFIG_NETWORK_SECMARK=y | ||
351 | CONFIG_NETFILTER=y | 366 | CONFIG_NETFILTER=y |
352 | # CONFIG_NETFILTER_DEBUG is not set | 367 | # CONFIG_NETFILTER_DEBUG is not set |
353 | CONFIG_BRIDGE_NETFILTER=y | 368 | CONFIG_BRIDGE_NETFILTER=y |
@@ -364,6 +379,8 @@ CONFIG_NETFILTER_XT_TARGET_CONNMARK=m | |||
364 | CONFIG_NETFILTER_XT_TARGET_MARK=m | 379 | CONFIG_NETFILTER_XT_TARGET_MARK=m |
365 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | 380 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m |
366 | CONFIG_NETFILTER_XT_TARGET_NOTRACK=m | 381 | CONFIG_NETFILTER_XT_TARGET_NOTRACK=m |
382 | CONFIG_NETFILTER_XT_TARGET_SECMARK=m | ||
383 | # CONFIG_NETFILTER_XT_TARGET_CONNSECMARK is not set | ||
367 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | 384 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m |
368 | CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m | 385 | CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m |
369 | CONFIG_NETFILTER_XT_MATCH_CONNMARK=m | 386 | CONFIG_NETFILTER_XT_MATCH_CONNMARK=m |
@@ -379,9 +396,11 @@ CONFIG_NETFILTER_XT_MATCH_POLICY=m | |||
379 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m | 396 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m |
380 | # CONFIG_NETFILTER_XT_MATCH_PHYSDEV is not set | 397 | # CONFIG_NETFILTER_XT_MATCH_PHYSDEV is not set |
381 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 398 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m |
399 | CONFIG_NETFILTER_XT_MATCH_QUOTA=m | ||
382 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 400 | CONFIG_NETFILTER_XT_MATCH_REALM=m |
383 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | 401 | CONFIG_NETFILTER_XT_MATCH_SCTP=m |
384 | CONFIG_NETFILTER_XT_MATCH_STATE=m | 402 | CONFIG_NETFILTER_XT_MATCH_STATE=m |
403 | CONFIG_NETFILTER_XT_MATCH_STATISTIC=m | ||
385 | CONFIG_NETFILTER_XT_MATCH_STRING=m | 404 | CONFIG_NETFILTER_XT_MATCH_STRING=m |
386 | CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | 405 | CONFIG_NETFILTER_XT_MATCH_TCPMSS=m |
387 | 406 | ||
@@ -391,6 +410,7 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | |||
391 | CONFIG_IP_NF_CONNTRACK=m | 410 | CONFIG_IP_NF_CONNTRACK=m |
392 | CONFIG_IP_NF_CT_ACCT=y | 411 | CONFIG_IP_NF_CT_ACCT=y |
393 | CONFIG_IP_NF_CONNTRACK_MARK=y | 412 | CONFIG_IP_NF_CONNTRACK_MARK=y |
413 | CONFIG_IP_NF_CONNTRACK_SECMARK=y | ||
394 | CONFIG_IP_NF_CONNTRACK_EVENTS=y | 414 | CONFIG_IP_NF_CONNTRACK_EVENTS=y |
395 | CONFIG_IP_NF_CONNTRACK_NETLINK=m | 415 | CONFIG_IP_NF_CONNTRACK_NETLINK=m |
396 | CONFIG_IP_NF_CT_PROTO_SCTP=m | 416 | CONFIG_IP_NF_CT_PROTO_SCTP=m |
@@ -401,6 +421,7 @@ CONFIG_IP_NF_TFTP=m | |||
401 | CONFIG_IP_NF_AMANDA=m | 421 | CONFIG_IP_NF_AMANDA=m |
402 | CONFIG_IP_NF_PPTP=m | 422 | CONFIG_IP_NF_PPTP=m |
403 | CONFIG_IP_NF_H323=m | 423 | CONFIG_IP_NF_H323=m |
424 | CONFIG_IP_NF_SIP=m | ||
404 | CONFIG_IP_NF_QUEUE=m | 425 | CONFIG_IP_NF_QUEUE=m |
405 | CONFIG_IP_NF_IPTABLES=m | 426 | CONFIG_IP_NF_IPTABLES=m |
406 | CONFIG_IP_NF_MATCH_IPRANGE=m | 427 | CONFIG_IP_NF_MATCH_IPRANGE=m |
@@ -431,6 +452,7 @@ CONFIG_IP_NF_NAT_TFTP=m | |||
431 | CONFIG_IP_NF_NAT_AMANDA=m | 452 | CONFIG_IP_NF_NAT_AMANDA=m |
432 | CONFIG_IP_NF_NAT_PPTP=m | 453 | CONFIG_IP_NF_NAT_PPTP=m |
433 | CONFIG_IP_NF_NAT_H323=m | 454 | CONFIG_IP_NF_NAT_H323=m |
455 | CONFIG_IP_NF_NAT_SIP=m | ||
434 | CONFIG_IP_NF_MANGLE=m | 456 | CONFIG_IP_NF_MANGLE=m |
435 | CONFIG_IP_NF_TARGET_TOS=m | 457 | CONFIG_IP_NF_TARGET_TOS=m |
436 | CONFIG_IP_NF_TARGET_ECN=m | 458 | CONFIG_IP_NF_TARGET_ECN=m |
@@ -592,6 +614,7 @@ CONFIG_WIRELESS_EXT=y | |||
592 | CONFIG_STANDALONE=y | 614 | CONFIG_STANDALONE=y |
593 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 615 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
594 | CONFIG_FW_LOADER=y | 616 | CONFIG_FW_LOADER=y |
617 | # CONFIG_SYS_HYPERVISOR is not set | ||
595 | 618 | ||
596 | # | 619 | # |
597 | # Connector - unified userspace <-> kernelspace linker | 620 | # Connector - unified userspace <-> kernelspace linker |
@@ -746,6 +769,7 @@ CONFIG_AIC7XXX_REG_PRETTY_PRINT=y | |||
746 | # CONFIG_MEGARAID_LEGACY is not set | 769 | # CONFIG_MEGARAID_LEGACY is not set |
747 | # CONFIG_MEGARAID_SAS is not set | 770 | # CONFIG_MEGARAID_SAS is not set |
748 | # CONFIG_SCSI_SATA is not set | 771 | # CONFIG_SCSI_SATA is not set |
772 | # CONFIG_SCSI_HPTIOP is not set | ||
749 | # CONFIG_SCSI_DMX3191D is not set | 773 | # CONFIG_SCSI_DMX3191D is not set |
750 | # CONFIG_SCSI_FUTURE_DOMAIN is not set | 774 | # CONFIG_SCSI_FUTURE_DOMAIN is not set |
751 | # CONFIG_SCSI_IPS is not set | 775 | # CONFIG_SCSI_IPS is not set |
@@ -770,9 +794,8 @@ CONFIG_MD_LINEAR=m | |||
770 | CONFIG_MD_RAID0=m | 794 | CONFIG_MD_RAID0=m |
771 | CONFIG_MD_RAID1=m | 795 | CONFIG_MD_RAID1=m |
772 | CONFIG_MD_RAID10=m | 796 | CONFIG_MD_RAID10=m |
773 | CONFIG_MD_RAID5=m | 797 | CONFIG_MD_RAID456=m |
774 | CONFIG_MD_RAID5_RESHAPE=y | 798 | CONFIG_MD_RAID5_RESHAPE=y |
775 | CONFIG_MD_RAID6=m | ||
776 | CONFIG_MD_MULTIPATH=m | 799 | CONFIG_MD_MULTIPATH=m |
777 | CONFIG_MD_FAULTY=m | 800 | CONFIG_MD_FAULTY=m |
778 | CONFIG_BLK_DEV_DM=m | 801 | CONFIG_BLK_DEV_DM=m |
@@ -828,6 +851,8 @@ CONFIG_DAVICOM_PHY=m | |||
828 | CONFIG_QSEMI_PHY=m | 851 | CONFIG_QSEMI_PHY=m |
829 | CONFIG_LXT_PHY=m | 852 | CONFIG_LXT_PHY=m |
830 | CONFIG_CICADA_PHY=m | 853 | CONFIG_CICADA_PHY=m |
854 | CONFIG_VITESSE_PHY=m | ||
855 | CONFIG_SMSC_PHY=m | ||
831 | 856 | ||
832 | # | 857 | # |
833 | # Ethernet (10 or 100Mbit) | 858 | # Ethernet (10 or 100Mbit) |
@@ -890,6 +915,7 @@ CONFIG_PCNET32=y | |||
890 | # CONFIG_CHELSIO_T1 is not set | 915 | # CONFIG_CHELSIO_T1 is not set |
891 | # CONFIG_IXGB is not set | 916 | # CONFIG_IXGB is not set |
892 | # CONFIG_S2IO is not set | 917 | # CONFIG_S2IO is not set |
918 | # CONFIG_MYRI10GE is not set | ||
893 | 919 | ||
894 | # | 920 | # |
895 | # Token Ring devices | 921 | # Token Ring devices |
@@ -968,6 +994,7 @@ CONFIG_SERIO_SERPORT=y | |||
968 | CONFIG_VT=y | 994 | CONFIG_VT=y |
969 | CONFIG_VT_CONSOLE=y | 995 | CONFIG_VT_CONSOLE=y |
970 | CONFIG_HW_CONSOLE=y | 996 | CONFIG_HW_CONSOLE=y |
997 | CONFIG_VT_HW_CONSOLE_BINDING=y | ||
971 | # CONFIG_SERIAL_NONSTANDARD is not set | 998 | # CONFIG_SERIAL_NONSTANDARD is not set |
972 | 999 | ||
973 | # | 1000 | # |
@@ -999,6 +1026,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
999 | # Watchdog Cards | 1026 | # Watchdog Cards |
1000 | # | 1027 | # |
1001 | # CONFIG_WATCHDOG is not set | 1028 | # CONFIG_WATCHDOG is not set |
1029 | # CONFIG_HW_RANDOM is not set | ||
1002 | CONFIG_RTC=y | 1030 | CONFIG_RTC=y |
1003 | # CONFIG_DTLK is not set | 1031 | # CONFIG_DTLK is not set |
1004 | # CONFIG_R3964 is not set | 1032 | # CONFIG_R3964 is not set |
@@ -1046,6 +1074,7 @@ CONFIG_RTC=y | |||
1046 | # Multimedia devices | 1074 | # Multimedia devices |
1047 | # | 1075 | # |
1048 | # CONFIG_VIDEO_DEV is not set | 1076 | # CONFIG_VIDEO_DEV is not set |
1077 | CONFIG_VIDEO_V4L2=y | ||
1049 | 1078 | ||
1050 | # | 1079 | # |
1051 | # Digital Video Broadcasting Devices | 1080 | # Digital Video Broadcasting Devices |
@@ -1055,6 +1084,7 @@ CONFIG_RTC=y | |||
1055 | # | 1084 | # |
1056 | # Graphics support | 1085 | # Graphics support |
1057 | # | 1086 | # |
1087 | # CONFIG_FIRMWARE_EDID is not set | ||
1058 | # CONFIG_FB is not set | 1088 | # CONFIG_FB is not set |
1059 | 1089 | ||
1060 | # | 1090 | # |
@@ -1118,6 +1148,19 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
1118 | # CONFIG_RTC_CLASS is not set | 1148 | # CONFIG_RTC_CLASS is not set |
1119 | 1149 | ||
1120 | # | 1150 | # |
1151 | # DMA Engine support | ||
1152 | # | ||
1153 | # CONFIG_DMA_ENGINE is not set | ||
1154 | |||
1155 | # | ||
1156 | # DMA Clients | ||
1157 | # | ||
1158 | |||
1159 | # | ||
1160 | # DMA Devices | ||
1161 | # | ||
1162 | |||
1163 | # | ||
1121 | # File systems | 1164 | # File systems |
1122 | # | 1165 | # |
1123 | CONFIG_EXT2_FS=y | 1166 | CONFIG_EXT2_FS=y |
@@ -1143,7 +1186,6 @@ CONFIG_JFS_SECURITY=y | |||
1143 | # CONFIG_JFS_STATISTICS is not set | 1186 | # CONFIG_JFS_STATISTICS is not set |
1144 | CONFIG_FS_POSIX_ACL=y | 1187 | CONFIG_FS_POSIX_ACL=y |
1145 | CONFIG_XFS_FS=m | 1188 | CONFIG_XFS_FS=m |
1146 | CONFIG_XFS_EXPORT=y | ||
1147 | CONFIG_XFS_QUOTA=y | 1189 | CONFIG_XFS_QUOTA=y |
1148 | CONFIG_XFS_SECURITY=y | 1190 | CONFIG_XFS_SECURITY=y |
1149 | CONFIG_XFS_POSIX_ACL=y | 1191 | CONFIG_XFS_POSIX_ACL=y |
@@ -1152,6 +1194,7 @@ CONFIG_XFS_POSIX_ACL=y | |||
1152 | CONFIG_MINIX_FS=m | 1194 | CONFIG_MINIX_FS=m |
1153 | CONFIG_ROMFS_FS=m | 1195 | CONFIG_ROMFS_FS=m |
1154 | CONFIG_INOTIFY=y | 1196 | CONFIG_INOTIFY=y |
1197 | CONFIG_INOTIFY_USER=y | ||
1155 | CONFIG_QUOTA=y | 1198 | CONFIG_QUOTA=y |
1156 | # CONFIG_QFMT_V1 is not set | 1199 | # CONFIG_QFMT_V1 is not set |
1157 | CONFIG_QFMT_V2=y | 1200 | CONFIG_QFMT_V2=y |
@@ -1209,6 +1252,8 @@ CONFIG_VXFS_FS=m | |||
1209 | # CONFIG_QNX4FS_FS is not set | 1252 | # CONFIG_QNX4FS_FS is not set |
1210 | CONFIG_SYSV_FS=m | 1253 | CONFIG_SYSV_FS=m |
1211 | CONFIG_UFS_FS=m | 1254 | CONFIG_UFS_FS=m |
1255 | # CONFIG_UFS_FS_WRITE is not set | ||
1256 | # CONFIG_UFS_DEBUG is not set | ||
1212 | 1257 | ||
1213 | # | 1258 | # |
1214 | # Network File Systems | 1259 | # Network File Systems |
@@ -1233,6 +1278,7 @@ CONFIG_SUNRPC=y | |||
1233 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1278 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1234 | # CONFIG_SMB_FS is not set | 1279 | # CONFIG_SMB_FS is not set |
1235 | # CONFIG_CIFS is not set | 1280 | # CONFIG_CIFS is not set |
1281 | # CONFIG_CIFS_DEBUG2 is not set | ||
1236 | # CONFIG_NCP_FS is not set | 1282 | # CONFIG_NCP_FS is not set |
1237 | # CONFIG_CODA_FS is not set | 1283 | # CONFIG_CODA_FS is not set |
1238 | # CONFIG_AFS_FS is not set | 1284 | # CONFIG_AFS_FS is not set |
@@ -1298,6 +1344,7 @@ CONFIG_NLS_UTF8=m | |||
1298 | # | 1344 | # |
1299 | # CONFIG_PRINTK_TIME is not set | 1345 | # CONFIG_PRINTK_TIME is not set |
1300 | # CONFIG_MAGIC_SYSRQ is not set | 1346 | # CONFIG_MAGIC_SYSRQ is not set |
1347 | # CONFIG_UNUSED_SYMBOLS is not set | ||
1301 | # CONFIG_DEBUG_KERNEL is not set | 1348 | # CONFIG_DEBUG_KERNEL is not set |
1302 | CONFIG_LOG_BUF_SHIFT=14 | 1349 | CONFIG_LOG_BUF_SHIFT=14 |
1303 | # CONFIG_DEBUG_FS is not set | 1350 | # CONFIG_DEBUG_FS is not set |
@@ -1356,3 +1403,4 @@ CONFIG_TEXTSEARCH=y | |||
1356 | CONFIG_TEXTSEARCH_KMP=m | 1403 | CONFIG_TEXTSEARCH_KMP=m |
1357 | CONFIG_TEXTSEARCH_BM=m | 1404 | CONFIG_TEXTSEARCH_BM=m |
1358 | CONFIG_TEXTSEARCH_FSM=m | 1405 | CONFIG_TEXTSEARCH_FSM=m |
1406 | CONFIG_PLIST=y | ||
diff --git a/arch/mips/configs/mipssim_defconfig b/arch/mips/configs/mipssim_defconfig index 8dd27b55413d..c298979c18ae 100644 --- a/arch/mips/configs/mipssim_defconfig +++ b/arch/mips/configs/mipssim_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17-rc2 | 3 | # Linux kernel version: 2.6.18-rc1 |
4 | # Mon Apr 24 14:51:09 2006 | 4 | # Thu Jul 6 10:04:13 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -21,6 +21,7 @@ CONFIG_MIPS=y | |||
21 | # CONFIG_MIPS_DB1550 is not set | 21 | # CONFIG_MIPS_DB1550 is not set |
22 | # CONFIG_MIPS_DB1200 is not set | 22 | # CONFIG_MIPS_DB1200 is not set |
23 | # CONFIG_MIPS_MIRAGE is not set | 23 | # CONFIG_MIPS_MIRAGE is not set |
24 | # CONFIG_BASLER_EXCITE is not set | ||
24 | # CONFIG_MIPS_COBALT is not set | 25 | # CONFIG_MIPS_COBALT is not set |
25 | # CONFIG_MACH_DECSTATION is not set | 26 | # CONFIG_MACH_DECSTATION is not set |
26 | # CONFIG_MIPS_EV64120 is not set | 27 | # CONFIG_MIPS_EV64120 is not set |
@@ -32,6 +33,7 @@ CONFIG_MIPS=y | |||
32 | # CONFIG_MIPS_ATLAS is not set | 33 | # CONFIG_MIPS_ATLAS is not set |
33 | # CONFIG_MIPS_MALTA is not set | 34 | # CONFIG_MIPS_MALTA is not set |
34 | # CONFIG_MIPS_SEAD is not set | 35 | # CONFIG_MIPS_SEAD is not set |
36 | # CONFIG_WR_PPMC is not set | ||
35 | CONFIG_MIPS_SIM=y | 37 | CONFIG_MIPS_SIM=y |
36 | # CONFIG_MOMENCO_JAGUAR_ATX is not set | 38 | # CONFIG_MOMENCO_JAGUAR_ATX is not set |
37 | # CONFIG_MOMENCO_OCELOT is not set | 39 | # CONFIG_MOMENCO_OCELOT is not set |
@@ -45,6 +47,7 @@ CONFIG_MIPS_SIM=y | |||
45 | # CONFIG_MACH_VR41XX is not set | 47 | # CONFIG_MACH_VR41XX is not set |
46 | # CONFIG_PMC_YOSEMITE is not set | 48 | # CONFIG_PMC_YOSEMITE is not set |
47 | # CONFIG_QEMU is not set | 49 | # CONFIG_QEMU is not set |
50 | # CONFIG_MARKEINS is not set | ||
48 | # CONFIG_SGI_IP22 is not set | 51 | # CONFIG_SGI_IP22 is not set |
49 | # CONFIG_SGI_IP27 is not set | 52 | # CONFIG_SGI_IP27 is not set |
50 | # CONFIG_SGI_IP32 is not set | 53 | # CONFIG_SGI_IP32 is not set |
@@ -65,6 +68,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y | |||
65 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 68 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
66 | CONFIG_GENERIC_HWEIGHT=y | 69 | CONFIG_GENERIC_HWEIGHT=y |
67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 70 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
71 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
68 | CONFIG_DMA_NONCOHERENT=y | 72 | CONFIG_DMA_NONCOHERENT=y |
69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 73 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
70 | # CONFIG_CPU_BIG_ENDIAN is not set | 74 | # CONFIG_CPU_BIG_ENDIAN is not set |
@@ -113,14 +117,10 @@ CONFIG_PAGE_SIZE_4KB=y | |||
113 | # CONFIG_PAGE_SIZE_16KB is not set | 117 | # CONFIG_PAGE_SIZE_16KB is not set |
114 | # CONFIG_PAGE_SIZE_64KB is not set | 118 | # CONFIG_PAGE_SIZE_64KB is not set |
115 | CONFIG_CPU_HAS_PREFETCH=y | 119 | CONFIG_CPU_HAS_PREFETCH=y |
116 | CONFIG_MIPS_MT=y | 120 | CONFIG_MIPS_MT_DISABLED=y |
117 | # CONFIG_MIPS_MT_SMTC is not set | 121 | # CONFIG_MIPS_MT_SMTC is not set |
118 | # CONFIG_MIPS_MT_SMP is not set | 122 | # CONFIG_MIPS_MT_SMP is not set |
119 | CONFIG_MIPS_VPE_LOADER=y | 123 | # CONFIG_MIPS_VPE_LOADER is not set |
120 | CONFIG_MIPS_MT_FPAFF=y | ||
121 | CONFIG_MIPS_VPE_LOADER_TOM=y | ||
122 | CONFIG_MIPS_VPE_APSP_API=y | ||
123 | CONFIG_MIPS_APSP_KSPD=y | ||
124 | # CONFIG_64BIT_PHYS_ADDR is not set | 124 | # CONFIG_64BIT_PHYS_ADDR is not set |
125 | CONFIG_CPU_HAS_LLSC=y | 125 | CONFIG_CPU_HAS_LLSC=y |
126 | CONFIG_CPU_HAS_SYNC=y | 126 | CONFIG_CPU_HAS_SYNC=y |
@@ -136,6 +136,7 @@ CONFIG_FLATMEM=y | |||
136 | CONFIG_FLAT_NODE_MEM_MAP=y | 136 | CONFIG_FLAT_NODE_MEM_MAP=y |
137 | # CONFIG_SPARSEMEM_STATIC is not set | 137 | # CONFIG_SPARSEMEM_STATIC is not set |
138 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 138 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
139 | # CONFIG_RESOURCES_64BIT is not set | ||
139 | # CONFIG_HZ_48 is not set | 140 | # CONFIG_HZ_48 is not set |
140 | # CONFIG_HZ_100 is not set | 141 | # CONFIG_HZ_100 is not set |
141 | # CONFIG_HZ_128 is not set | 142 | # CONFIG_HZ_128 is not set |
@@ -148,6 +149,7 @@ CONFIG_HZ=1000 | |||
148 | CONFIG_PREEMPT_NONE=y | 149 | CONFIG_PREEMPT_NONE=y |
149 | # CONFIG_PREEMPT_VOLUNTARY is not set | 150 | # CONFIG_PREEMPT_VOLUNTARY is not set |
150 | # CONFIG_PREEMPT is not set | 151 | # CONFIG_PREEMPT is not set |
152 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
151 | 153 | ||
152 | # | 154 | # |
153 | # Code maturity level options | 155 | # Code maturity level options |
@@ -180,10 +182,12 @@ CONFIG_PRINTK=y | |||
180 | CONFIG_BUG=y | 182 | CONFIG_BUG=y |
181 | CONFIG_ELF_CORE=y | 183 | CONFIG_ELF_CORE=y |
182 | CONFIG_BASE_FULL=y | 184 | CONFIG_BASE_FULL=y |
185 | CONFIG_RT_MUTEXES=y | ||
183 | CONFIG_FUTEX=y | 186 | CONFIG_FUTEX=y |
184 | CONFIG_EPOLL=y | 187 | CONFIG_EPOLL=y |
185 | CONFIG_SHMEM=y | 188 | CONFIG_SHMEM=y |
186 | CONFIG_SLAB=y | 189 | CONFIG_SLAB=y |
190 | CONFIG_VM_EVENT_COUNTERS=y | ||
187 | # CONFIG_TINY_SHMEM is not set | 191 | # CONFIG_TINY_SHMEM is not set |
188 | CONFIG_BASE_SMALL=0 | 192 | CONFIG_BASE_SMALL=0 |
189 | # CONFIG_SLOB is not set | 193 | # CONFIG_SLOB is not set |
@@ -279,6 +283,8 @@ CONFIG_SYN_COOKIES=y | |||
279 | # CONFIG_INET_IPCOMP is not set | 283 | # CONFIG_INET_IPCOMP is not set |
280 | # CONFIG_INET_XFRM_TUNNEL is not set | 284 | # CONFIG_INET_XFRM_TUNNEL is not set |
281 | # CONFIG_INET_TUNNEL is not set | 285 | # CONFIG_INET_TUNNEL is not set |
286 | CONFIG_INET_XFRM_MODE_TRANSPORT=m | ||
287 | CONFIG_INET_XFRM_MODE_TUNNEL=m | ||
282 | CONFIG_INET_DIAG=y | 288 | CONFIG_INET_DIAG=y |
283 | CONFIG_INET_TCP_DIAG=y | 289 | CONFIG_INET_TCP_DIAG=y |
284 | # CONFIG_TCP_CONG_ADVANCED is not set | 290 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -286,6 +292,7 @@ CONFIG_TCP_CONG_BIC=y | |||
286 | # CONFIG_IPV6 is not set | 292 | # CONFIG_IPV6 is not set |
287 | # CONFIG_INET6_XFRM_TUNNEL is not set | 293 | # CONFIG_INET6_XFRM_TUNNEL is not set |
288 | # CONFIG_INET6_TUNNEL is not set | 294 | # CONFIG_INET6_TUNNEL is not set |
295 | CONFIG_NETWORK_SECMARK=y | ||
289 | # CONFIG_NETFILTER is not set | 296 | # CONFIG_NETFILTER is not set |
290 | 297 | ||
291 | # | 298 | # |
@@ -381,6 +388,7 @@ CONFIG_NET_ESTIMATOR=y | |||
381 | # CONFIG_PREVENT_FIRMWARE_BUILD is not set | 388 | # CONFIG_PREVENT_FIRMWARE_BUILD is not set |
382 | # CONFIG_FW_LOADER is not set | 389 | # CONFIG_FW_LOADER is not set |
383 | # CONFIG_DEBUG_DRIVER is not set | 390 | # CONFIG_DEBUG_DRIVER is not set |
391 | # CONFIG_SYS_HYPERVISOR is not set | ||
384 | 392 | ||
385 | # | 393 | # |
386 | # Connector - unified userspace <-> kernelspace linker | 394 | # Connector - unified userspace <-> kernelspace linker |
@@ -565,6 +573,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
565 | # Watchdog Cards | 573 | # Watchdog Cards |
566 | # | 574 | # |
567 | # CONFIG_WATCHDOG is not set | 575 | # CONFIG_WATCHDOG is not set |
576 | # CONFIG_HW_RANDOM is not set | ||
568 | # CONFIG_RTC is not set | 577 | # CONFIG_RTC is not set |
569 | # CONFIG_GEN_RTC is not set | 578 | # CONFIG_GEN_RTC is not set |
570 | # CONFIG_DTLK is not set | 579 | # CONFIG_DTLK is not set |
@@ -595,7 +604,6 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
595 | # | 604 | # |
596 | # Dallas's 1-wire bus | 605 | # Dallas's 1-wire bus |
597 | # | 606 | # |
598 | # CONFIG_W1 is not set | ||
599 | 607 | ||
600 | # | 608 | # |
601 | # Hardware Monitoring support | 609 | # Hardware Monitoring support |
@@ -611,6 +619,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
611 | # Multimedia devices | 619 | # Multimedia devices |
612 | # | 620 | # |
613 | # CONFIG_VIDEO_DEV is not set | 621 | # CONFIG_VIDEO_DEV is not set |
622 | CONFIG_VIDEO_V4L2=y | ||
614 | 623 | ||
615 | # | 624 | # |
616 | # Digital Video Broadcasting Devices | 625 | # Digital Video Broadcasting Devices |
@@ -620,6 +629,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
620 | # | 629 | # |
621 | # Graphics support | 630 | # Graphics support |
622 | # | 631 | # |
632 | # CONFIG_FIRMWARE_EDID is not set | ||
623 | # CONFIG_FB is not set | 633 | # CONFIG_FB is not set |
624 | 634 | ||
625 | # | 635 | # |
@@ -675,6 +685,19 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
675 | # CONFIG_RTC_CLASS is not set | 685 | # CONFIG_RTC_CLASS is not set |
676 | 686 | ||
677 | # | 687 | # |
688 | # DMA Engine support | ||
689 | # | ||
690 | # CONFIG_DMA_ENGINE is not set | ||
691 | |||
692 | # | ||
693 | # DMA Clients | ||
694 | # | ||
695 | |||
696 | # | ||
697 | # DMA Devices | ||
698 | # | ||
699 | |||
700 | # | ||
678 | # File systems | 701 | # File systems |
679 | # | 702 | # |
680 | CONFIG_EXT2_FS=y | 703 | CONFIG_EXT2_FS=y |
@@ -685,7 +708,6 @@ CONFIG_EXT2_FS=y | |||
685 | # CONFIG_JFS_FS is not set | 708 | # CONFIG_JFS_FS is not set |
686 | # CONFIG_FS_POSIX_ACL is not set | 709 | # CONFIG_FS_POSIX_ACL is not set |
687 | # CONFIG_XFS_FS is not set | 710 | # CONFIG_XFS_FS is not set |
688 | # CONFIG_OCFS2_FS is not set | ||
689 | # CONFIG_MINIX_FS is not set | 711 | # CONFIG_MINIX_FS is not set |
690 | CONFIG_ROMFS_FS=y | 712 | CONFIG_ROMFS_FS=y |
691 | # CONFIG_INOTIFY is not set | 713 | # CONFIG_INOTIFY is not set |
@@ -753,6 +775,7 @@ CONFIG_SUNRPC=y | |||
753 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 775 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
754 | # CONFIG_SMB_FS is not set | 776 | # CONFIG_SMB_FS is not set |
755 | # CONFIG_CIFS is not set | 777 | # CONFIG_CIFS is not set |
778 | # CONFIG_CIFS_DEBUG2 is not set | ||
756 | # CONFIG_NCP_FS is not set | 779 | # CONFIG_NCP_FS is not set |
757 | # CONFIG_CODA_FS is not set | 780 | # CONFIG_CODA_FS is not set |
758 | # CONFIG_AFS_FS is not set | 781 | # CONFIG_AFS_FS is not set |
@@ -779,14 +802,19 @@ CONFIG_MSDOS_PARTITION=y | |||
779 | # | 802 | # |
780 | # CONFIG_PRINTK_TIME is not set | 803 | # CONFIG_PRINTK_TIME is not set |
781 | # CONFIG_MAGIC_SYSRQ is not set | 804 | # CONFIG_MAGIC_SYSRQ is not set |
805 | # CONFIG_UNUSED_SYMBOLS is not set | ||
782 | CONFIG_DEBUG_KERNEL=y | 806 | CONFIG_DEBUG_KERNEL=y |
783 | CONFIG_LOG_BUF_SHIFT=14 | 807 | CONFIG_LOG_BUF_SHIFT=14 |
784 | # CONFIG_DETECT_SOFTLOCKUP is not set | 808 | # CONFIG_DETECT_SOFTLOCKUP is not set |
785 | # CONFIG_SCHEDSTATS is not set | 809 | # CONFIG_SCHEDSTATS is not set |
786 | # CONFIG_DEBUG_SLAB is not set | 810 | # CONFIG_DEBUG_SLAB is not set |
787 | CONFIG_DEBUG_MUTEXES=y | 811 | # CONFIG_DEBUG_RT_MUTEXES is not set |
812 | # CONFIG_RT_MUTEX_TESTER is not set | ||
788 | # CONFIG_DEBUG_SPINLOCK is not set | 813 | # CONFIG_DEBUG_SPINLOCK is not set |
814 | CONFIG_DEBUG_MUTEXES=y | ||
815 | # CONFIG_DEBUG_RWSEMS is not set | ||
789 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | 816 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set |
817 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | ||
790 | # CONFIG_DEBUG_KOBJECT is not set | 818 | # CONFIG_DEBUG_KOBJECT is not set |
791 | CONFIG_DEBUG_INFO=y | 819 | CONFIG_DEBUG_INFO=y |
792 | # CONFIG_DEBUG_VM is not set | 820 | # CONFIG_DEBUG_VM is not set |
@@ -844,3 +872,4 @@ CONFIG_CRYPTO_MD5=y | |||
844 | CONFIG_CRC16=y | 872 | CONFIG_CRC16=y |
845 | CONFIG_CRC32=y | 873 | CONFIG_CRC32=y |
846 | # CONFIG_LIBCRC32C is not set | 874 | # CONFIG_LIBCRC32C is not set |
875 | CONFIG_PLIST=y | ||
diff --git a/arch/mips/configs/mpc30x_defconfig b/arch/mips/configs/mpc30x_defconfig index 5d6ff3c352c9..938b38ab5239 100644 --- a/arch/mips/configs/mpc30x_defconfig +++ b/arch/mips/configs/mpc30x_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17-rc2 | 3 | # Linux kernel version: 2.6.18-rc1 |
4 | # Mon Apr 24 14:51:09 2006 | 4 | # Thu Jul 6 10:04:15 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -21,6 +21,7 @@ CONFIG_MIPS=y | |||
21 | # CONFIG_MIPS_DB1550 is not set | 21 | # CONFIG_MIPS_DB1550 is not set |
22 | # CONFIG_MIPS_DB1200 is not set | 22 | # CONFIG_MIPS_DB1200 is not set |
23 | # CONFIG_MIPS_MIRAGE is not set | 23 | # CONFIG_MIPS_MIRAGE is not set |
24 | # CONFIG_BASLER_EXCITE is not set | ||
24 | # CONFIG_MIPS_COBALT is not set | 25 | # CONFIG_MIPS_COBALT is not set |
25 | # CONFIG_MACH_DECSTATION is not set | 26 | # CONFIG_MACH_DECSTATION is not set |
26 | # CONFIG_MIPS_EV64120 is not set | 27 | # CONFIG_MIPS_EV64120 is not set |
@@ -32,6 +33,7 @@ CONFIG_MIPS=y | |||
32 | # CONFIG_MIPS_ATLAS is not set | 33 | # CONFIG_MIPS_ATLAS is not set |
33 | # CONFIG_MIPS_MALTA is not set | 34 | # CONFIG_MIPS_MALTA is not set |
34 | # CONFIG_MIPS_SEAD is not set | 35 | # CONFIG_MIPS_SEAD is not set |
36 | # CONFIG_WR_PPMC is not set | ||
35 | # CONFIG_MIPS_SIM is not set | 37 | # CONFIG_MIPS_SIM is not set |
36 | # CONFIG_MOMENCO_JAGUAR_ATX is not set | 38 | # CONFIG_MOMENCO_JAGUAR_ATX is not set |
37 | # CONFIG_MOMENCO_OCELOT is not set | 39 | # CONFIG_MOMENCO_OCELOT is not set |
@@ -45,6 +47,7 @@ CONFIG_MIPS=y | |||
45 | CONFIG_MACH_VR41XX=y | 47 | CONFIG_MACH_VR41XX=y |
46 | # CONFIG_PMC_YOSEMITE is not set | 48 | # CONFIG_PMC_YOSEMITE is not set |
47 | # CONFIG_QEMU is not set | 49 | # CONFIG_QEMU is not set |
50 | # CONFIG_MARKEINS is not set | ||
48 | # CONFIG_SGI_IP22 is not set | 51 | # CONFIG_SGI_IP22 is not set |
49 | # CONFIG_SGI_IP27 is not set | 52 | # CONFIG_SGI_IP27 is not set |
50 | # CONFIG_SGI_IP32 is not set | 53 | # CONFIG_SGI_IP32 is not set |
@@ -73,6 +76,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y | |||
73 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 76 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
74 | CONFIG_GENERIC_HWEIGHT=y | 77 | CONFIG_GENERIC_HWEIGHT=y |
75 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 78 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
79 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
76 | CONFIG_DMA_NONCOHERENT=y | 80 | CONFIG_DMA_NONCOHERENT=y |
77 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 81 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
78 | # CONFIG_CPU_BIG_ENDIAN is not set | 82 | # CONFIG_CPU_BIG_ENDIAN is not set |
@@ -117,7 +121,10 @@ CONFIG_PAGE_SIZE_4KB=y | |||
117 | # CONFIG_PAGE_SIZE_8KB is not set | 121 | # CONFIG_PAGE_SIZE_8KB is not set |
118 | # CONFIG_PAGE_SIZE_16KB is not set | 122 | # CONFIG_PAGE_SIZE_16KB is not set |
119 | # CONFIG_PAGE_SIZE_64KB is not set | 123 | # CONFIG_PAGE_SIZE_64KB is not set |
120 | # CONFIG_MIPS_MT is not set | 124 | CONFIG_MIPS_MT_DISABLED=y |
125 | # CONFIG_MIPS_MT_SMTC is not set | ||
126 | # CONFIG_MIPS_MT_SMP is not set | ||
127 | # CONFIG_MIPS_VPE_LOADER is not set | ||
121 | CONFIG_CPU_HAS_SYNC=y | 128 | CONFIG_CPU_HAS_SYNC=y |
122 | CONFIG_GENERIC_HARDIRQS=y | 129 | CONFIG_GENERIC_HARDIRQS=y |
123 | CONFIG_GENERIC_IRQ_PROBE=y | 130 | CONFIG_GENERIC_IRQ_PROBE=y |
@@ -130,6 +137,7 @@ CONFIG_FLATMEM=y | |||
130 | CONFIG_FLAT_NODE_MEM_MAP=y | 137 | CONFIG_FLAT_NODE_MEM_MAP=y |
131 | # CONFIG_SPARSEMEM_STATIC is not set | 138 | # CONFIG_SPARSEMEM_STATIC is not set |
132 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 139 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
140 | # CONFIG_RESOURCES_64BIT is not set | ||
133 | # CONFIG_HZ_48 is not set | 141 | # CONFIG_HZ_48 is not set |
134 | # CONFIG_HZ_100 is not set | 142 | # CONFIG_HZ_100 is not set |
135 | # CONFIG_HZ_128 is not set | 143 | # CONFIG_HZ_128 is not set |
@@ -142,6 +150,7 @@ CONFIG_HZ=1000 | |||
142 | CONFIG_PREEMPT_NONE=y | 150 | CONFIG_PREEMPT_NONE=y |
143 | # CONFIG_PREEMPT_VOLUNTARY is not set | 151 | # CONFIG_PREEMPT_VOLUNTARY is not set |
144 | # CONFIG_PREEMPT is not set | 152 | # CONFIG_PREEMPT is not set |
153 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
145 | 154 | ||
146 | # | 155 | # |
147 | # Code maturity level options | 156 | # Code maturity level options |
@@ -173,10 +182,12 @@ CONFIG_PRINTK=y | |||
173 | CONFIG_BUG=y | 182 | CONFIG_BUG=y |
174 | CONFIG_ELF_CORE=y | 183 | CONFIG_ELF_CORE=y |
175 | CONFIG_BASE_FULL=y | 184 | CONFIG_BASE_FULL=y |
185 | CONFIG_RT_MUTEXES=y | ||
176 | CONFIG_FUTEX=y | 186 | CONFIG_FUTEX=y |
177 | CONFIG_EPOLL=y | 187 | CONFIG_EPOLL=y |
178 | CONFIG_SHMEM=y | 188 | CONFIG_SHMEM=y |
179 | CONFIG_SLAB=y | 189 | CONFIG_SLAB=y |
190 | CONFIG_VM_EVENT_COUNTERS=y | ||
180 | # CONFIG_TINY_SHMEM is not set | 191 | # CONFIG_TINY_SHMEM is not set |
181 | CONFIG_BASE_SMALL=0 | 192 | CONFIG_BASE_SMALL=0 |
182 | # CONFIG_SLOB is not set | 193 | # CONFIG_SLOB is not set |
@@ -278,6 +289,8 @@ CONFIG_IP_FIB_HASH=y | |||
278 | # CONFIG_INET_IPCOMP is not set | 289 | # CONFIG_INET_IPCOMP is not set |
279 | # CONFIG_INET_XFRM_TUNNEL is not set | 290 | # CONFIG_INET_XFRM_TUNNEL is not set |
280 | # CONFIG_INET_TUNNEL is not set | 291 | # CONFIG_INET_TUNNEL is not set |
292 | CONFIG_INET_XFRM_MODE_TRANSPORT=m | ||
293 | CONFIG_INET_XFRM_MODE_TUNNEL=m | ||
281 | CONFIG_INET_DIAG=y | 294 | CONFIG_INET_DIAG=y |
282 | CONFIG_INET_TCP_DIAG=y | 295 | CONFIG_INET_TCP_DIAG=y |
283 | # CONFIG_TCP_CONG_ADVANCED is not set | 296 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -285,6 +298,7 @@ CONFIG_TCP_CONG_BIC=y | |||
285 | # CONFIG_IPV6 is not set | 298 | # CONFIG_IPV6 is not set |
286 | # CONFIG_INET6_XFRM_TUNNEL is not set | 299 | # CONFIG_INET6_XFRM_TUNNEL is not set |
287 | # CONFIG_INET6_TUNNEL is not set | 300 | # CONFIG_INET6_TUNNEL is not set |
301 | CONFIG_NETWORK_SECMARK=y | ||
288 | # CONFIG_NETFILTER is not set | 302 | # CONFIG_NETFILTER is not set |
289 | 303 | ||
290 | # | 304 | # |
@@ -345,6 +359,7 @@ CONFIG_WIRELESS_EXT=y | |||
345 | CONFIG_STANDALONE=y | 359 | CONFIG_STANDALONE=y |
346 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 360 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
347 | CONFIG_FW_LOADER=y | 361 | CONFIG_FW_LOADER=y |
362 | # CONFIG_SYS_HYPERVISOR is not set | ||
348 | 363 | ||
349 | # | 364 | # |
350 | # Connector - unified userspace <-> kernelspace linker | 365 | # Connector - unified userspace <-> kernelspace linker |
@@ -483,6 +498,7 @@ CONFIG_MII=m | |||
483 | # CONFIG_CHELSIO_T1 is not set | 498 | # CONFIG_CHELSIO_T1 is not set |
484 | # CONFIG_IXGB is not set | 499 | # CONFIG_IXGB is not set |
485 | # CONFIG_S2IO is not set | 500 | # CONFIG_S2IO is not set |
501 | # CONFIG_MYRI10GE is not set | ||
486 | 502 | ||
487 | # | 503 | # |
488 | # Token Ring devices | 504 | # Token Ring devices |
@@ -531,8 +547,10 @@ CONFIG_PCMCIA_HERMES=m | |||
531 | # Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support | 547 | # Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support |
532 | # | 548 | # |
533 | # CONFIG_PRISM54 is not set | 549 | # CONFIG_PRISM54 is not set |
550 | # CONFIG_USB_ZD1201 is not set | ||
534 | # CONFIG_HOSTAP is not set | 551 | # CONFIG_HOSTAP is not set |
535 | # CONFIG_BCM43XX is not set | 552 | # CONFIG_BCM43XX is not set |
553 | # CONFIG_ZD1211RW is not set | ||
536 | CONFIG_NET_WIRELESS=y | 554 | CONFIG_NET_WIRELESS=y |
537 | 555 | ||
538 | # | 556 | # |
@@ -614,6 +632,7 @@ CONFIG_SERIO_RAW=m | |||
614 | CONFIG_VT=y | 632 | CONFIG_VT=y |
615 | CONFIG_VT_CONSOLE=y | 633 | CONFIG_VT_CONSOLE=y |
616 | CONFIG_HW_CONSOLE=y | 634 | CONFIG_HW_CONSOLE=y |
635 | CONFIG_VT_HW_CONSOLE_BINDING=y | ||
617 | # CONFIG_SERIAL_NONSTANDARD is not set | 636 | # CONFIG_SERIAL_NONSTANDARD is not set |
618 | 637 | ||
619 | # | 638 | # |
@@ -639,6 +658,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
639 | # Watchdog Cards | 658 | # Watchdog Cards |
640 | # | 659 | # |
641 | # CONFIG_WATCHDOG is not set | 660 | # CONFIG_WATCHDOG is not set |
661 | # CONFIG_HW_RANDOM is not set | ||
642 | # CONFIG_RTC is not set | 662 | # CONFIG_RTC is not set |
643 | # CONFIG_GEN_RTC is not set | 663 | # CONFIG_GEN_RTC is not set |
644 | # CONFIG_DTLK is not set | 664 | # CONFIG_DTLK is not set |
@@ -695,6 +715,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
695 | # Multimedia devices | 715 | # Multimedia devices |
696 | # | 716 | # |
697 | # CONFIG_VIDEO_DEV is not set | 717 | # CONFIG_VIDEO_DEV is not set |
718 | CONFIG_VIDEO_V4L2=y | ||
698 | 719 | ||
699 | # | 720 | # |
700 | # Digital Video Broadcasting Devices | 721 | # Digital Video Broadcasting Devices |
@@ -705,6 +726,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
705 | # | 726 | # |
706 | # Graphics support | 727 | # Graphics support |
707 | # | 728 | # |
729 | # CONFIG_FIRMWARE_EDID is not set | ||
708 | # CONFIG_FB is not set | 730 | # CONFIG_FB is not set |
709 | 731 | ||
710 | # | 732 | # |
@@ -798,7 +820,6 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y | |||
798 | CONFIG_USB_PEGASUS=m | 820 | CONFIG_USB_PEGASUS=m |
799 | # CONFIG_USB_RTL8150 is not set | 821 | # CONFIG_USB_RTL8150 is not set |
800 | # CONFIG_USB_USBNET is not set | 822 | # CONFIG_USB_USBNET is not set |
801 | # CONFIG_USB_ZD1201 is not set | ||
802 | # CONFIG_USB_MON is not set | 823 | # CONFIG_USB_MON is not set |
803 | 824 | ||
804 | # | 825 | # |
@@ -820,10 +841,12 @@ CONFIG_USB_PEGASUS=m | |||
820 | # CONFIG_USB_LEGOTOWER is not set | 841 | # CONFIG_USB_LEGOTOWER is not set |
821 | # CONFIG_USB_LCD is not set | 842 | # CONFIG_USB_LCD is not set |
822 | # CONFIG_USB_LED is not set | 843 | # CONFIG_USB_LED is not set |
844 | # CONFIG_USB_CY7C63 is not set | ||
823 | # CONFIG_USB_CYTHERM is not set | 845 | # CONFIG_USB_CYTHERM is not set |
824 | # CONFIG_USB_PHIDGETKIT is not set | 846 | # CONFIG_USB_PHIDGETKIT is not set |
825 | # CONFIG_USB_PHIDGETSERVO is not set | 847 | # CONFIG_USB_PHIDGETSERVO is not set |
826 | # CONFIG_USB_IDMOUSE is not set | 848 | # CONFIG_USB_IDMOUSE is not set |
849 | # CONFIG_USB_APPLEDISPLAY is not set | ||
827 | # CONFIG_USB_LD is not set | 850 | # CONFIG_USB_LD is not set |
828 | # CONFIG_USB_TEST is not set | 851 | # CONFIG_USB_TEST is not set |
829 | 852 | ||
@@ -869,6 +892,19 @@ CONFIG_USB_PEGASUS=m | |||
869 | # CONFIG_RTC_CLASS is not set | 892 | # CONFIG_RTC_CLASS is not set |
870 | 893 | ||
871 | # | 894 | # |
895 | # DMA Engine support | ||
896 | # | ||
897 | # CONFIG_DMA_ENGINE is not set | ||
898 | |||
899 | # | ||
900 | # DMA Clients | ||
901 | # | ||
902 | |||
903 | # | ||
904 | # DMA Devices | ||
905 | # | ||
906 | |||
907 | # | ||
872 | # File systems | 908 | # File systems |
873 | # | 909 | # |
874 | CONFIG_EXT2_FS=y | 910 | CONFIG_EXT2_FS=y |
@@ -883,6 +919,7 @@ CONFIG_EXT2_FS=y | |||
883 | # CONFIG_MINIX_FS is not set | 919 | # CONFIG_MINIX_FS is not set |
884 | # CONFIG_ROMFS_FS is not set | 920 | # CONFIG_ROMFS_FS is not set |
885 | CONFIG_INOTIFY=y | 921 | CONFIG_INOTIFY=y |
922 | CONFIG_INOTIFY_USER=y | ||
886 | # CONFIG_QUOTA is not set | 923 | # CONFIG_QUOTA is not set |
887 | CONFIG_DNOTIFY=y | 924 | CONFIG_DNOTIFY=y |
888 | CONFIG_AUTOFS_FS=y | 925 | CONFIG_AUTOFS_FS=y |
@@ -945,6 +982,7 @@ CONFIG_SUNRPC=y | |||
945 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 982 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
946 | # CONFIG_SMB_FS is not set | 983 | # CONFIG_SMB_FS is not set |
947 | # CONFIG_CIFS is not set | 984 | # CONFIG_CIFS is not set |
985 | # CONFIG_CIFS_DEBUG2 is not set | ||
948 | # CONFIG_NCP_FS is not set | 986 | # CONFIG_NCP_FS is not set |
949 | # CONFIG_CODA_FS is not set | 987 | # CONFIG_CODA_FS is not set |
950 | # CONFIG_AFS_FS is not set | 988 | # CONFIG_AFS_FS is not set |
@@ -971,6 +1009,7 @@ CONFIG_MSDOS_PARTITION=y | |||
971 | # | 1009 | # |
972 | # CONFIG_PRINTK_TIME is not set | 1010 | # CONFIG_PRINTK_TIME is not set |
973 | # CONFIG_MAGIC_SYSRQ is not set | 1011 | # CONFIG_MAGIC_SYSRQ is not set |
1012 | # CONFIG_UNUSED_SYMBOLS is not set | ||
974 | # CONFIG_DEBUG_KERNEL is not set | 1013 | # CONFIG_DEBUG_KERNEL is not set |
975 | CONFIG_LOG_BUF_SHIFT=14 | 1014 | CONFIG_LOG_BUF_SHIFT=14 |
976 | # CONFIG_DEBUG_FS is not set | 1015 | # CONFIG_DEBUG_FS is not set |
@@ -1026,3 +1065,4 @@ CONFIG_CRC32=y | |||
1026 | CONFIG_LIBCRC32C=m | 1065 | CONFIG_LIBCRC32C=m |
1027 | CONFIG_ZLIB_INFLATE=m | 1066 | CONFIG_ZLIB_INFLATE=m |
1028 | CONFIG_ZLIB_DEFLATE=m | 1067 | CONFIG_ZLIB_DEFLATE=m |
1068 | CONFIG_PLIST=y | ||
diff --git a/arch/mips/configs/ocelot_3_defconfig b/arch/mips/configs/ocelot_3_defconfig index fe5e3dd915f5..ec5758f22676 100644 --- a/arch/mips/configs/ocelot_3_defconfig +++ b/arch/mips/configs/ocelot_3_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17-rc2 | 3 | # Linux kernel version: 2.6.18-rc1 |
4 | # Mon Apr 24 14:51:10 2006 | 4 | # Thu Jul 6 10:04:15 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -21,6 +21,7 @@ CONFIG_MIPS=y | |||
21 | # CONFIG_MIPS_DB1550 is not set | 21 | # CONFIG_MIPS_DB1550 is not set |
22 | # CONFIG_MIPS_DB1200 is not set | 22 | # CONFIG_MIPS_DB1200 is not set |
23 | # CONFIG_MIPS_MIRAGE is not set | 23 | # CONFIG_MIPS_MIRAGE is not set |
24 | # CONFIG_BASLER_EXCITE is not set | ||
24 | # CONFIG_MIPS_COBALT is not set | 25 | # CONFIG_MIPS_COBALT is not set |
25 | # CONFIG_MACH_DECSTATION is not set | 26 | # CONFIG_MACH_DECSTATION is not set |
26 | # CONFIG_MIPS_EV64120 is not set | 27 | # CONFIG_MIPS_EV64120 is not set |
@@ -32,6 +33,7 @@ CONFIG_MIPS=y | |||
32 | # CONFIG_MIPS_ATLAS is not set | 33 | # CONFIG_MIPS_ATLAS is not set |
33 | # CONFIG_MIPS_MALTA is not set | 34 | # CONFIG_MIPS_MALTA is not set |
34 | # CONFIG_MIPS_SEAD is not set | 35 | # CONFIG_MIPS_SEAD is not set |
36 | # CONFIG_WR_PPMC is not set | ||
35 | # CONFIG_MIPS_SIM is not set | 37 | # CONFIG_MIPS_SIM is not set |
36 | # CONFIG_MOMENCO_JAGUAR_ATX is not set | 38 | # CONFIG_MOMENCO_JAGUAR_ATX is not set |
37 | # CONFIG_MOMENCO_OCELOT is not set | 39 | # CONFIG_MOMENCO_OCELOT is not set |
@@ -45,6 +47,7 @@ CONFIG_MOMENCO_OCELOT_3=y | |||
45 | # CONFIG_MACH_VR41XX is not set | 47 | # CONFIG_MACH_VR41XX is not set |
46 | # CONFIG_PMC_YOSEMITE is not set | 48 | # CONFIG_PMC_YOSEMITE is not set |
47 | # CONFIG_QEMU is not set | 49 | # CONFIG_QEMU is not set |
50 | # CONFIG_MARKEINS is not set | ||
48 | # CONFIG_SGI_IP22 is not set | 51 | # CONFIG_SGI_IP22 is not set |
49 | # CONFIG_SGI_IP27 is not set | 52 | # CONFIG_SGI_IP27 is not set |
50 | # CONFIG_SGI_IP32 is not set | 53 | # CONFIG_SGI_IP32 is not set |
@@ -65,6 +68,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y | |||
65 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 68 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
66 | CONFIG_GENERIC_HWEIGHT=y | 69 | CONFIG_GENERIC_HWEIGHT=y |
67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 70 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
71 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
68 | CONFIG_DMA_NONCOHERENT=y | 72 | CONFIG_DMA_NONCOHERENT=y |
69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 73 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
70 | CONFIG_CPU_BIG_ENDIAN=y | 74 | CONFIG_CPU_BIG_ENDIAN=y |
@@ -118,7 +122,10 @@ CONFIG_PAGE_SIZE_4KB=y | |||
118 | CONFIG_BOARD_SCACHE=y | 122 | CONFIG_BOARD_SCACHE=y |
119 | CONFIG_RM7000_CPU_SCACHE=y | 123 | CONFIG_RM7000_CPU_SCACHE=y |
120 | CONFIG_CPU_HAS_PREFETCH=y | 124 | CONFIG_CPU_HAS_PREFETCH=y |
121 | # CONFIG_MIPS_MT is not set | 125 | CONFIG_MIPS_MT_DISABLED=y |
126 | # CONFIG_MIPS_MT_SMTC is not set | ||
127 | # CONFIG_MIPS_MT_SMP is not set | ||
128 | # CONFIG_MIPS_VPE_LOADER is not set | ||
122 | # CONFIG_64BIT_PHYS_ADDR is not set | 129 | # CONFIG_64BIT_PHYS_ADDR is not set |
123 | CONFIG_CPU_HAS_LLSC=y | 130 | CONFIG_CPU_HAS_LLSC=y |
124 | CONFIG_CPU_HAS_SYNC=y | 131 | CONFIG_CPU_HAS_SYNC=y |
@@ -134,6 +141,7 @@ CONFIG_FLATMEM=y | |||
134 | CONFIG_FLAT_NODE_MEM_MAP=y | 141 | CONFIG_FLAT_NODE_MEM_MAP=y |
135 | # CONFIG_SPARSEMEM_STATIC is not set | 142 | # CONFIG_SPARSEMEM_STATIC is not set |
136 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 143 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
144 | # CONFIG_RESOURCES_64BIT is not set | ||
137 | # CONFIG_HZ_48 is not set | 145 | # CONFIG_HZ_48 is not set |
138 | # CONFIG_HZ_100 is not set | 146 | # CONFIG_HZ_100 is not set |
139 | # CONFIG_HZ_128 is not set | 147 | # CONFIG_HZ_128 is not set |
@@ -143,10 +151,10 @@ CONFIG_HZ_1000=y | |||
143 | # CONFIG_HZ_1024 is not set | 151 | # CONFIG_HZ_1024 is not set |
144 | CONFIG_SYS_SUPPORTS_ARBIT_HZ=y | 152 | CONFIG_SYS_SUPPORTS_ARBIT_HZ=y |
145 | CONFIG_HZ=1000 | 153 | CONFIG_HZ=1000 |
146 | # CONFIG_SMP is not set | ||
147 | CONFIG_PREEMPT_NONE=y | 154 | CONFIG_PREEMPT_NONE=y |
148 | # CONFIG_PREEMPT_VOLUNTARY is not set | 155 | # CONFIG_PREEMPT_VOLUNTARY is not set |
149 | # CONFIG_PREEMPT is not set | 156 | # CONFIG_PREEMPT is not set |
157 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
150 | 158 | ||
151 | # | 159 | # |
152 | # Code maturity level options | 160 | # Code maturity level options |
@@ -179,10 +187,12 @@ CONFIG_PRINTK=y | |||
179 | CONFIG_BUG=y | 187 | CONFIG_BUG=y |
180 | CONFIG_ELF_CORE=y | 188 | CONFIG_ELF_CORE=y |
181 | CONFIG_BASE_FULL=y | 189 | CONFIG_BASE_FULL=y |
190 | CONFIG_RT_MUTEXES=y | ||
182 | CONFIG_FUTEX=y | 191 | CONFIG_FUTEX=y |
183 | CONFIG_EPOLL=y | 192 | CONFIG_EPOLL=y |
184 | CONFIG_SHMEM=y | 193 | CONFIG_SHMEM=y |
185 | CONFIG_SLAB=y | 194 | CONFIG_SLAB=y |
195 | CONFIG_VM_EVENT_COUNTERS=y | ||
186 | # CONFIG_TINY_SHMEM is not set | 196 | # CONFIG_TINY_SHMEM is not set |
187 | CONFIG_BASE_SMALL=0 | 197 | CONFIG_BASE_SMALL=0 |
188 | # CONFIG_SLOB is not set | 198 | # CONFIG_SLOB is not set |
@@ -273,6 +283,8 @@ CONFIG_IP_PNP_BOOTP=y | |||
273 | # CONFIG_INET_IPCOMP is not set | 283 | # CONFIG_INET_IPCOMP is not set |
274 | # CONFIG_INET_XFRM_TUNNEL is not set | 284 | # CONFIG_INET_XFRM_TUNNEL is not set |
275 | # CONFIG_INET_TUNNEL is not set | 285 | # CONFIG_INET_TUNNEL is not set |
286 | CONFIG_INET_XFRM_MODE_TRANSPORT=m | ||
287 | CONFIG_INET_XFRM_MODE_TUNNEL=m | ||
276 | CONFIG_INET_DIAG=y | 288 | CONFIG_INET_DIAG=y |
277 | CONFIG_INET_TCP_DIAG=y | 289 | CONFIG_INET_TCP_DIAG=y |
278 | # CONFIG_TCP_CONG_ADVANCED is not set | 290 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -291,7 +303,10 @@ CONFIG_IPV6_ROUTE_INFO=y | |||
291 | # CONFIG_INET6_IPCOMP is not set | 303 | # CONFIG_INET6_IPCOMP is not set |
292 | # CONFIG_INET6_XFRM_TUNNEL is not set | 304 | # CONFIG_INET6_XFRM_TUNNEL is not set |
293 | # CONFIG_INET6_TUNNEL is not set | 305 | # CONFIG_INET6_TUNNEL is not set |
306 | CONFIG_INET6_XFRM_MODE_TRANSPORT=m | ||
307 | CONFIG_INET6_XFRM_MODE_TUNNEL=m | ||
294 | # CONFIG_IPV6_TUNNEL is not set | 308 | # CONFIG_IPV6_TUNNEL is not set |
309 | CONFIG_NETWORK_SECMARK=y | ||
295 | CONFIG_NETFILTER=y | 310 | CONFIG_NETFILTER=y |
296 | # CONFIG_NETFILTER_DEBUG is not set | 311 | # CONFIG_NETFILTER_DEBUG is not set |
297 | 312 | ||
@@ -306,6 +321,7 @@ CONFIG_NETFILTER_XTABLES=m | |||
306 | CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m | 321 | CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m |
307 | CONFIG_NETFILTER_XT_TARGET_MARK=m | 322 | CONFIG_NETFILTER_XT_TARGET_MARK=m |
308 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | 323 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m |
324 | CONFIG_NETFILTER_XT_TARGET_SECMARK=m | ||
309 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | 325 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m |
310 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 326 | CONFIG_NETFILTER_XT_MATCH_DCCP=m |
311 | CONFIG_NETFILTER_XT_MATCH_ESP=m | 327 | CONFIG_NETFILTER_XT_MATCH_ESP=m |
@@ -316,8 +332,10 @@ CONFIG_NETFILTER_XT_MATCH_MARK=m | |||
316 | CONFIG_NETFILTER_XT_MATCH_POLICY=m | 332 | CONFIG_NETFILTER_XT_MATCH_POLICY=m |
317 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m | 333 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m |
318 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 334 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m |
335 | CONFIG_NETFILTER_XT_MATCH_QUOTA=m | ||
319 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 336 | CONFIG_NETFILTER_XT_MATCH_REALM=m |
320 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | 337 | CONFIG_NETFILTER_XT_MATCH_SCTP=m |
338 | CONFIG_NETFILTER_XT_MATCH_STATISTIC=m | ||
321 | CONFIG_NETFILTER_XT_MATCH_STRING=m | 339 | CONFIG_NETFILTER_XT_MATCH_STRING=m |
322 | CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | 340 | CONFIG_NETFILTER_XT_MATCH_TCPMSS=m |
323 | 341 | ||
@@ -393,6 +411,7 @@ CONFIG_WIRELESS_EXT=y | |||
393 | CONFIG_STANDALONE=y | 411 | CONFIG_STANDALONE=y |
394 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 412 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
395 | CONFIG_FW_LOADER=m | 413 | CONFIG_FW_LOADER=m |
414 | # CONFIG_SYS_HYPERVISOR is not set | ||
396 | 415 | ||
397 | # | 416 | # |
398 | # Connector - unified userspace <-> kernelspace linker | 417 | # Connector - unified userspace <-> kernelspace linker |
@@ -483,6 +502,7 @@ CONFIG_ISCSI_TCP=m | |||
483 | # CONFIG_MEGARAID_LEGACY is not set | 502 | # CONFIG_MEGARAID_LEGACY is not set |
484 | # CONFIG_MEGARAID_SAS is not set | 503 | # CONFIG_MEGARAID_SAS is not set |
485 | # CONFIG_SCSI_SATA is not set | 504 | # CONFIG_SCSI_SATA is not set |
505 | # CONFIG_SCSI_HPTIOP is not set | ||
486 | # CONFIG_SCSI_DMX3191D is not set | 506 | # CONFIG_SCSI_DMX3191D is not set |
487 | # CONFIG_SCSI_FUTURE_DOMAIN is not set | 507 | # CONFIG_SCSI_FUTURE_DOMAIN is not set |
488 | # CONFIG_SCSI_IPS is not set | 508 | # CONFIG_SCSI_IPS is not set |
@@ -548,6 +568,8 @@ CONFIG_DAVICOM_PHY=m | |||
548 | CONFIG_QSEMI_PHY=m | 568 | CONFIG_QSEMI_PHY=m |
549 | CONFIG_LXT_PHY=m | 569 | CONFIG_LXT_PHY=m |
550 | CONFIG_CICADA_PHY=m | 570 | CONFIG_CICADA_PHY=m |
571 | CONFIG_VITESSE_PHY=m | ||
572 | CONFIG_SMSC_PHY=m | ||
551 | 573 | ||
552 | # | 574 | # |
553 | # Ethernet (10 or 100Mbit) | 575 | # Ethernet (10 or 100Mbit) |
@@ -614,6 +636,7 @@ CONFIG_MV643XX_ETH_2=y | |||
614 | # CONFIG_CHELSIO_T1 is not set | 636 | # CONFIG_CHELSIO_T1 is not set |
615 | # CONFIG_IXGB is not set | 637 | # CONFIG_IXGB is not set |
616 | # CONFIG_S2IO is not set | 638 | # CONFIG_S2IO is not set |
639 | # CONFIG_MYRI10GE is not set | ||
617 | 640 | ||
618 | # | 641 | # |
619 | # Token Ring devices | 642 | # Token Ring devices |
@@ -697,6 +720,7 @@ CONFIG_SERIO=y | |||
697 | CONFIG_VT=y | 720 | CONFIG_VT=y |
698 | CONFIG_VT_CONSOLE=y | 721 | CONFIG_VT_CONSOLE=y |
699 | CONFIG_HW_CONSOLE=y | 722 | CONFIG_HW_CONSOLE=y |
723 | CONFIG_VT_HW_CONSOLE_BINDING=y | ||
700 | # CONFIG_SERIAL_NONSTANDARD is not set | 724 | # CONFIG_SERIAL_NONSTANDARD is not set |
701 | 725 | ||
702 | # | 726 | # |
@@ -728,6 +752,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
728 | # Watchdog Cards | 752 | # Watchdog Cards |
729 | # | 753 | # |
730 | # CONFIG_WATCHDOG is not set | 754 | # CONFIG_WATCHDOG is not set |
755 | # CONFIG_HW_RANDOM is not set | ||
731 | CONFIG_RTC=y | 756 | CONFIG_RTC=y |
732 | # CONFIG_DTLK is not set | 757 | # CONFIG_DTLK is not set |
733 | # CONFIG_R3964 is not set | 758 | # CONFIG_R3964 is not set |
@@ -775,6 +800,7 @@ CONFIG_RTC=y | |||
775 | # Multimedia devices | 800 | # Multimedia devices |
776 | # | 801 | # |
777 | # CONFIG_VIDEO_DEV is not set | 802 | # CONFIG_VIDEO_DEV is not set |
803 | CONFIG_VIDEO_V4L2=y | ||
778 | 804 | ||
779 | # | 805 | # |
780 | # Digital Video Broadcasting Devices | 806 | # Digital Video Broadcasting Devices |
@@ -784,12 +810,13 @@ CONFIG_RTC=y | |||
784 | # | 810 | # |
785 | # Graphics support | 811 | # Graphics support |
786 | # | 812 | # |
813 | # CONFIG_FIRMWARE_EDID is not set | ||
787 | CONFIG_FB=y | 814 | CONFIG_FB=y |
788 | # CONFIG_FB_CFB_FILLRECT is not set | 815 | # CONFIG_FB_CFB_FILLRECT is not set |
789 | # CONFIG_FB_CFB_COPYAREA is not set | 816 | # CONFIG_FB_CFB_COPYAREA is not set |
790 | # CONFIG_FB_CFB_IMAGEBLIT is not set | 817 | # CONFIG_FB_CFB_IMAGEBLIT is not set |
791 | # CONFIG_FB_MACMODES is not set | 818 | # CONFIG_FB_MACMODES is not set |
792 | CONFIG_FB_FIRMWARE_EDID=y | 819 | # CONFIG_FB_BACKLIGHT is not set |
793 | CONFIG_FB_MODE_HELPERS=y | 820 | CONFIG_FB_MODE_HELPERS=y |
794 | # CONFIG_FB_TILEBLITTING is not set | 821 | # CONFIG_FB_TILEBLITTING is not set |
795 | # CONFIG_FB_CIRRUS is not set | 822 | # CONFIG_FB_CIRRUS is not set |
@@ -889,6 +916,19 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
889 | # CONFIG_RTC_CLASS is not set | 916 | # CONFIG_RTC_CLASS is not set |
890 | 917 | ||
891 | # | 918 | # |
919 | # DMA Engine support | ||
920 | # | ||
921 | # CONFIG_DMA_ENGINE is not set | ||
922 | |||
923 | # | ||
924 | # DMA Clients | ||
925 | # | ||
926 | |||
927 | # | ||
928 | # DMA Devices | ||
929 | # | ||
930 | |||
931 | # | ||
892 | # File systems | 932 | # File systems |
893 | # | 933 | # |
894 | CONFIG_EXT2_FS=y | 934 | CONFIG_EXT2_FS=y |
@@ -908,7 +948,6 @@ CONFIG_REISERFS_FS=m | |||
908 | # CONFIG_JFS_FS is not set | 948 | # CONFIG_JFS_FS is not set |
909 | # CONFIG_FS_POSIX_ACL is not set | 949 | # CONFIG_FS_POSIX_ACL is not set |
910 | CONFIG_XFS_FS=m | 950 | CONFIG_XFS_FS=m |
911 | CONFIG_XFS_EXPORT=y | ||
912 | # CONFIG_XFS_QUOTA is not set | 951 | # CONFIG_XFS_QUOTA is not set |
913 | # CONFIG_XFS_SECURITY is not set | 952 | # CONFIG_XFS_SECURITY is not set |
914 | # CONFIG_XFS_POSIX_ACL is not set | 953 | # CONFIG_XFS_POSIX_ACL is not set |
@@ -917,6 +956,7 @@ CONFIG_XFS_EXPORT=y | |||
917 | # CONFIG_MINIX_FS is not set | 956 | # CONFIG_MINIX_FS is not set |
918 | # CONFIG_ROMFS_FS is not set | 957 | # CONFIG_ROMFS_FS is not set |
919 | CONFIG_INOTIFY=y | 958 | CONFIG_INOTIFY=y |
959 | CONFIG_INOTIFY_USER=y | ||
920 | # CONFIG_QUOTA is not set | 960 | # CONFIG_QUOTA is not set |
921 | CONFIG_DNOTIFY=y | 961 | CONFIG_DNOTIFY=y |
922 | CONFIG_AUTOFS_FS=y | 962 | CONFIG_AUTOFS_FS=y |
@@ -988,6 +1028,7 @@ CONFIG_SUNRPC=y | |||
988 | CONFIG_SMB_FS=m | 1028 | CONFIG_SMB_FS=m |
989 | # CONFIG_SMB_NLS_DEFAULT is not set | 1029 | # CONFIG_SMB_NLS_DEFAULT is not set |
990 | # CONFIG_CIFS is not set | 1030 | # CONFIG_CIFS is not set |
1031 | # CONFIG_CIFS_DEBUG2 is not set | ||
991 | # CONFIG_NCP_FS is not set | 1032 | # CONFIG_NCP_FS is not set |
992 | # CONFIG_CODA_FS is not set | 1033 | # CONFIG_CODA_FS is not set |
993 | # CONFIG_AFS_FS is not set | 1034 | # CONFIG_AFS_FS is not set |
@@ -1053,6 +1094,7 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
1053 | # | 1094 | # |
1054 | # CONFIG_PRINTK_TIME is not set | 1095 | # CONFIG_PRINTK_TIME is not set |
1055 | # CONFIG_MAGIC_SYSRQ is not set | 1096 | # CONFIG_MAGIC_SYSRQ is not set |
1097 | # CONFIG_UNUSED_SYMBOLS is not set | ||
1056 | # CONFIG_DEBUG_KERNEL is not set | 1098 | # CONFIG_DEBUG_KERNEL is not set |
1057 | CONFIG_LOG_BUF_SHIFT=14 | 1099 | CONFIG_LOG_BUF_SHIFT=14 |
1058 | # CONFIG_DEBUG_FS is not set | 1100 | # CONFIG_DEBUG_FS is not set |
@@ -1111,3 +1153,4 @@ CONFIG_TEXTSEARCH=y | |||
1111 | CONFIG_TEXTSEARCH_KMP=m | 1153 | CONFIG_TEXTSEARCH_KMP=m |
1112 | CONFIG_TEXTSEARCH_BM=m | 1154 | CONFIG_TEXTSEARCH_BM=m |
1113 | CONFIG_TEXTSEARCH_FSM=m | 1155 | CONFIG_TEXTSEARCH_FSM=m |
1156 | CONFIG_PLIST=y | ||
diff --git a/arch/mips/configs/ocelot_c_defconfig b/arch/mips/configs/ocelot_c_defconfig index f4a33ce47e50..0d33d87de1a1 100644 --- a/arch/mips/configs/ocelot_c_defconfig +++ b/arch/mips/configs/ocelot_c_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17-rc2 | 3 | # Linux kernel version: 2.6.18-rc1 |
4 | # Mon Apr 24 14:51:10 2006 | 4 | # Thu Jul 6 10:04:16 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -21,6 +21,7 @@ CONFIG_MIPS=y | |||
21 | # CONFIG_MIPS_DB1550 is not set | 21 | # CONFIG_MIPS_DB1550 is not set |
22 | # CONFIG_MIPS_DB1200 is not set | 22 | # CONFIG_MIPS_DB1200 is not set |
23 | # CONFIG_MIPS_MIRAGE is not set | 23 | # CONFIG_MIPS_MIRAGE is not set |
24 | # CONFIG_BASLER_EXCITE is not set | ||
24 | # CONFIG_MIPS_COBALT is not set | 25 | # CONFIG_MIPS_COBALT is not set |
25 | # CONFIG_MACH_DECSTATION is not set | 26 | # CONFIG_MACH_DECSTATION is not set |
26 | # CONFIG_MIPS_EV64120 is not set | 27 | # CONFIG_MIPS_EV64120 is not set |
@@ -32,6 +33,7 @@ CONFIG_MIPS=y | |||
32 | # CONFIG_MIPS_ATLAS is not set | 33 | # CONFIG_MIPS_ATLAS is not set |
33 | # CONFIG_MIPS_MALTA is not set | 34 | # CONFIG_MIPS_MALTA is not set |
34 | # CONFIG_MIPS_SEAD is not set | 35 | # CONFIG_MIPS_SEAD is not set |
36 | # CONFIG_WR_PPMC is not set | ||
35 | # CONFIG_MIPS_SIM is not set | 37 | # CONFIG_MIPS_SIM is not set |
36 | # CONFIG_MOMENCO_JAGUAR_ATX is not set | 38 | # CONFIG_MOMENCO_JAGUAR_ATX is not set |
37 | # CONFIG_MOMENCO_OCELOT is not set | 39 | # CONFIG_MOMENCO_OCELOT is not set |
@@ -45,6 +47,7 @@ CONFIG_MOMENCO_OCELOT_C=y | |||
45 | # CONFIG_MACH_VR41XX is not set | 47 | # CONFIG_MACH_VR41XX is not set |
46 | # CONFIG_PMC_YOSEMITE is not set | 48 | # CONFIG_PMC_YOSEMITE is not set |
47 | # CONFIG_QEMU is not set | 49 | # CONFIG_QEMU is not set |
50 | # CONFIG_MARKEINS is not set | ||
48 | # CONFIG_SGI_IP22 is not set | 51 | # CONFIG_SGI_IP22 is not set |
49 | # CONFIG_SGI_IP27 is not set | 52 | # CONFIG_SGI_IP27 is not set |
50 | # CONFIG_SGI_IP32 is not set | 53 | # CONFIG_SGI_IP32 is not set |
@@ -65,6 +68,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y | |||
65 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 68 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
66 | CONFIG_GENERIC_HWEIGHT=y | 69 | CONFIG_GENERIC_HWEIGHT=y |
67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 70 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
71 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
68 | CONFIG_DMA_NONCOHERENT=y | 72 | CONFIG_DMA_NONCOHERENT=y |
69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 73 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
70 | CONFIG_CPU_BIG_ENDIAN=y | 74 | CONFIG_CPU_BIG_ENDIAN=y |
@@ -116,7 +120,10 @@ CONFIG_PAGE_SIZE_4KB=y | |||
116 | CONFIG_BOARD_SCACHE=y | 120 | CONFIG_BOARD_SCACHE=y |
117 | CONFIG_RM7000_CPU_SCACHE=y | 121 | CONFIG_RM7000_CPU_SCACHE=y |
118 | CONFIG_CPU_HAS_PREFETCH=y | 122 | CONFIG_CPU_HAS_PREFETCH=y |
119 | # CONFIG_MIPS_MT is not set | 123 | CONFIG_MIPS_MT_DISABLED=y |
124 | # CONFIG_MIPS_MT_SMTC is not set | ||
125 | # CONFIG_MIPS_MT_SMP is not set | ||
126 | # CONFIG_MIPS_VPE_LOADER is not set | ||
120 | CONFIG_CPU_HAS_LLSC=y | 127 | CONFIG_CPU_HAS_LLSC=y |
121 | CONFIG_CPU_HAS_SYNC=y | 128 | CONFIG_CPU_HAS_SYNC=y |
122 | CONFIG_GENERIC_HARDIRQS=y | 129 | CONFIG_GENERIC_HARDIRQS=y |
@@ -131,6 +138,7 @@ CONFIG_FLATMEM=y | |||
131 | CONFIG_FLAT_NODE_MEM_MAP=y | 138 | CONFIG_FLAT_NODE_MEM_MAP=y |
132 | # CONFIG_SPARSEMEM_STATIC is not set | 139 | # CONFIG_SPARSEMEM_STATIC is not set |
133 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 140 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
141 | CONFIG_RESOURCES_64BIT=y | ||
134 | # CONFIG_HZ_48 is not set | 142 | # CONFIG_HZ_48 is not set |
135 | # CONFIG_HZ_100 is not set | 143 | # CONFIG_HZ_100 is not set |
136 | # CONFIG_HZ_128 is not set | 144 | # CONFIG_HZ_128 is not set |
@@ -143,6 +151,7 @@ CONFIG_HZ=1000 | |||
143 | CONFIG_PREEMPT_NONE=y | 151 | CONFIG_PREEMPT_NONE=y |
144 | # CONFIG_PREEMPT_VOLUNTARY is not set | 152 | # CONFIG_PREEMPT_VOLUNTARY is not set |
145 | # CONFIG_PREEMPT is not set | 153 | # CONFIG_PREEMPT is not set |
154 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
146 | 155 | ||
147 | # | 156 | # |
148 | # Code maturity level options | 157 | # Code maturity level options |
@@ -174,10 +183,12 @@ CONFIG_PRINTK=y | |||
174 | CONFIG_BUG=y | 183 | CONFIG_BUG=y |
175 | CONFIG_ELF_CORE=y | 184 | CONFIG_ELF_CORE=y |
176 | CONFIG_BASE_FULL=y | 185 | CONFIG_BASE_FULL=y |
186 | CONFIG_RT_MUTEXES=y | ||
177 | CONFIG_FUTEX=y | 187 | CONFIG_FUTEX=y |
178 | CONFIG_EPOLL=y | 188 | CONFIG_EPOLL=y |
179 | CONFIG_SHMEM=y | 189 | CONFIG_SHMEM=y |
180 | CONFIG_SLAB=y | 190 | CONFIG_SLAB=y |
191 | CONFIG_VM_EVENT_COUNTERS=y | ||
181 | # CONFIG_TINY_SHMEM is not set | 192 | # CONFIG_TINY_SHMEM is not set |
182 | CONFIG_BASE_SMALL=0 | 193 | CONFIG_BASE_SMALL=0 |
183 | # CONFIG_SLOB is not set | 194 | # CONFIG_SLOB is not set |
@@ -265,6 +276,8 @@ CONFIG_IP_PNP_DHCP=y | |||
265 | # CONFIG_INET_IPCOMP is not set | 276 | # CONFIG_INET_IPCOMP is not set |
266 | # CONFIG_INET_XFRM_TUNNEL is not set | 277 | # CONFIG_INET_XFRM_TUNNEL is not set |
267 | # CONFIG_INET_TUNNEL is not set | 278 | # CONFIG_INET_TUNNEL is not set |
279 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | ||
280 | CONFIG_INET_XFRM_MODE_TUNNEL=y | ||
268 | CONFIG_INET_DIAG=y | 281 | CONFIG_INET_DIAG=y |
269 | CONFIG_INET_TCP_DIAG=y | 282 | CONFIG_INET_TCP_DIAG=y |
270 | # CONFIG_TCP_CONG_ADVANCED is not set | 283 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -272,6 +285,7 @@ CONFIG_TCP_CONG_BIC=y | |||
272 | # CONFIG_IPV6 is not set | 285 | # CONFIG_IPV6 is not set |
273 | # CONFIG_INET6_XFRM_TUNNEL is not set | 286 | # CONFIG_INET6_XFRM_TUNNEL is not set |
274 | # CONFIG_INET6_TUNNEL is not set | 287 | # CONFIG_INET6_TUNNEL is not set |
288 | CONFIG_NETWORK_SECMARK=y | ||
275 | # CONFIG_NETFILTER is not set | 289 | # CONFIG_NETFILTER is not set |
276 | 290 | ||
277 | # | 291 | # |
@@ -331,6 +345,7 @@ CONFIG_WIRELESS_EXT=y | |||
331 | CONFIG_STANDALONE=y | 345 | CONFIG_STANDALONE=y |
332 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 346 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
333 | CONFIG_FW_LOADER=y | 347 | CONFIG_FW_LOADER=y |
348 | # CONFIG_SYS_HYPERVISOR is not set | ||
334 | 349 | ||
335 | # | 350 | # |
336 | # Connector - unified userspace <-> kernelspace linker | 351 | # Connector - unified userspace <-> kernelspace linker |
@@ -428,6 +443,8 @@ CONFIG_DAVICOM_PHY=y | |||
428 | CONFIG_QSEMI_PHY=y | 443 | CONFIG_QSEMI_PHY=y |
429 | CONFIG_LXT_PHY=y | 444 | CONFIG_LXT_PHY=y |
430 | CONFIG_CICADA_PHY=y | 445 | CONFIG_CICADA_PHY=y |
446 | CONFIG_VITESSE_PHY=y | ||
447 | CONFIG_SMSC_PHY=y | ||
431 | 448 | ||
432 | # | 449 | # |
433 | # Ethernet (10 or 100Mbit) | 450 | # Ethernet (10 or 100Mbit) |
@@ -471,6 +488,7 @@ CONFIG_NET_ETHERNET=y | |||
471 | # CONFIG_CHELSIO_T1 is not set | 488 | # CONFIG_CHELSIO_T1 is not set |
472 | # CONFIG_IXGB is not set | 489 | # CONFIG_IXGB is not set |
473 | # CONFIG_S2IO is not set | 490 | # CONFIG_S2IO is not set |
491 | # CONFIG_MYRI10GE is not set | ||
474 | 492 | ||
475 | # | 493 | # |
476 | # Token Ring devices | 494 | # Token Ring devices |
@@ -548,6 +566,7 @@ CONFIG_SERIO_RAW=y | |||
548 | CONFIG_VT=y | 566 | CONFIG_VT=y |
549 | CONFIG_VT_CONSOLE=y | 567 | CONFIG_VT_CONSOLE=y |
550 | CONFIG_HW_CONSOLE=y | 568 | CONFIG_HW_CONSOLE=y |
569 | CONFIG_VT_HW_CONSOLE_BINDING=y | ||
551 | # CONFIG_SERIAL_NONSTANDARD is not set | 570 | # CONFIG_SERIAL_NONSTANDARD is not set |
552 | 571 | ||
553 | # | 572 | # |
@@ -579,6 +598,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
579 | # Watchdog Cards | 598 | # Watchdog Cards |
580 | # | 599 | # |
581 | # CONFIG_WATCHDOG is not set | 600 | # CONFIG_WATCHDOG is not set |
601 | # CONFIG_HW_RANDOM is not set | ||
582 | # CONFIG_RTC is not set | 602 | # CONFIG_RTC is not set |
583 | # CONFIG_GEN_RTC is not set | 603 | # CONFIG_GEN_RTC is not set |
584 | # CONFIG_DTLK is not set | 604 | # CONFIG_DTLK is not set |
@@ -627,6 +647,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
627 | # Multimedia devices | 647 | # Multimedia devices |
628 | # | 648 | # |
629 | # CONFIG_VIDEO_DEV is not set | 649 | # CONFIG_VIDEO_DEV is not set |
650 | CONFIG_VIDEO_V4L2=y | ||
630 | 651 | ||
631 | # | 652 | # |
632 | # Digital Video Broadcasting Devices | 653 | # Digital Video Broadcasting Devices |
@@ -636,6 +657,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
636 | # | 657 | # |
637 | # Graphics support | 658 | # Graphics support |
638 | # | 659 | # |
660 | # CONFIG_FIRMWARE_EDID is not set | ||
639 | # CONFIG_FB is not set | 661 | # CONFIG_FB is not set |
640 | 662 | ||
641 | # | 663 | # |
@@ -699,6 +721,19 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
699 | # CONFIG_RTC_CLASS is not set | 721 | # CONFIG_RTC_CLASS is not set |
700 | 722 | ||
701 | # | 723 | # |
724 | # DMA Engine support | ||
725 | # | ||
726 | # CONFIG_DMA_ENGINE is not set | ||
727 | |||
728 | # | ||
729 | # DMA Clients | ||
730 | # | ||
731 | |||
732 | # | ||
733 | # DMA Devices | ||
734 | # | ||
735 | |||
736 | # | ||
702 | # File systems | 737 | # File systems |
703 | # | 738 | # |
704 | CONFIG_EXT2_FS=y | 739 | CONFIG_EXT2_FS=y |
@@ -713,6 +748,7 @@ CONFIG_EXT2_FS=y | |||
713 | # CONFIG_MINIX_FS is not set | 748 | # CONFIG_MINIX_FS is not set |
714 | # CONFIG_ROMFS_FS is not set | 749 | # CONFIG_ROMFS_FS is not set |
715 | CONFIG_INOTIFY=y | 750 | CONFIG_INOTIFY=y |
751 | CONFIG_INOTIFY_USER=y | ||
716 | # CONFIG_QUOTA is not set | 752 | # CONFIG_QUOTA is not set |
717 | CONFIG_DNOTIFY=y | 753 | CONFIG_DNOTIFY=y |
718 | # CONFIG_AUTOFS_FS is not set | 754 | # CONFIG_AUTOFS_FS is not set |
@@ -779,6 +815,7 @@ CONFIG_SUNRPC=y | |||
779 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 815 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
780 | # CONFIG_SMB_FS is not set | 816 | # CONFIG_SMB_FS is not set |
781 | # CONFIG_CIFS is not set | 817 | # CONFIG_CIFS is not set |
818 | # CONFIG_CIFS_DEBUG2 is not set | ||
782 | # CONFIG_NCP_FS is not set | 819 | # CONFIG_NCP_FS is not set |
783 | # CONFIG_CODA_FS is not set | 820 | # CONFIG_CODA_FS is not set |
784 | # CONFIG_AFS_FS is not set | 821 | # CONFIG_AFS_FS is not set |
@@ -805,6 +842,7 @@ CONFIG_MSDOS_PARTITION=y | |||
805 | # | 842 | # |
806 | # CONFIG_PRINTK_TIME is not set | 843 | # CONFIG_PRINTK_TIME is not set |
807 | # CONFIG_MAGIC_SYSRQ is not set | 844 | # CONFIG_MAGIC_SYSRQ is not set |
845 | # CONFIG_UNUSED_SYMBOLS is not set | ||
808 | # CONFIG_DEBUG_KERNEL is not set | 846 | # CONFIG_DEBUG_KERNEL is not set |
809 | CONFIG_LOG_BUF_SHIFT=14 | 847 | CONFIG_LOG_BUF_SHIFT=14 |
810 | # CONFIG_DEBUG_FS is not set | 848 | # CONFIG_DEBUG_FS is not set |
@@ -846,7 +884,6 @@ CONFIG_CRYPTO_ANUBIS=y | |||
846 | CONFIG_CRYPTO_DEFLATE=y | 884 | CONFIG_CRYPTO_DEFLATE=y |
847 | CONFIG_CRYPTO_MICHAEL_MIC=y | 885 | CONFIG_CRYPTO_MICHAEL_MIC=y |
848 | CONFIG_CRYPTO_CRC32C=y | 886 | CONFIG_CRYPTO_CRC32C=y |
849 | # CONFIG_CRYPTO_TEST is not set | ||
850 | 887 | ||
851 | # | 888 | # |
852 | # Hardware crypto devices | 889 | # Hardware crypto devices |
@@ -861,3 +898,4 @@ CONFIG_CRC32=y | |||
861 | CONFIG_LIBCRC32C=y | 898 | CONFIG_LIBCRC32C=y |
862 | CONFIG_ZLIB_INFLATE=y | 899 | CONFIG_ZLIB_INFLATE=y |
863 | CONFIG_ZLIB_DEFLATE=y | 900 | CONFIG_ZLIB_DEFLATE=y |
901 | CONFIG_PLIST=y | ||
diff --git a/arch/mips/configs/ocelot_defconfig b/arch/mips/configs/ocelot_defconfig index 21dea9549feb..4b999102715e 100644 --- a/arch/mips/configs/ocelot_defconfig +++ b/arch/mips/configs/ocelot_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17-rc2 | 3 | # Linux kernel version: 2.6.18-rc1 |
4 | # Mon Apr 24 14:51:11 2006 | 4 | # Thu Jul 6 10:04:16 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -21,6 +21,7 @@ CONFIG_MIPS=y | |||
21 | # CONFIG_MIPS_DB1550 is not set | 21 | # CONFIG_MIPS_DB1550 is not set |
22 | # CONFIG_MIPS_DB1200 is not set | 22 | # CONFIG_MIPS_DB1200 is not set |
23 | # CONFIG_MIPS_MIRAGE is not set | 23 | # CONFIG_MIPS_MIRAGE is not set |
24 | # CONFIG_BASLER_EXCITE is not set | ||
24 | # CONFIG_MIPS_COBALT is not set | 25 | # CONFIG_MIPS_COBALT is not set |
25 | # CONFIG_MACH_DECSTATION is not set | 26 | # CONFIG_MACH_DECSTATION is not set |
26 | # CONFIG_MIPS_EV64120 is not set | 27 | # CONFIG_MIPS_EV64120 is not set |
@@ -32,6 +33,7 @@ CONFIG_MIPS=y | |||
32 | # CONFIG_MIPS_ATLAS is not set | 33 | # CONFIG_MIPS_ATLAS is not set |
33 | # CONFIG_MIPS_MALTA is not set | 34 | # CONFIG_MIPS_MALTA is not set |
34 | # CONFIG_MIPS_SEAD is not set | 35 | # CONFIG_MIPS_SEAD is not set |
36 | # CONFIG_WR_PPMC is not set | ||
35 | # CONFIG_MIPS_SIM is not set | 37 | # CONFIG_MIPS_SIM is not set |
36 | # CONFIG_MOMENCO_JAGUAR_ATX is not set | 38 | # CONFIG_MOMENCO_JAGUAR_ATX is not set |
37 | CONFIG_MOMENCO_OCELOT=y | 39 | CONFIG_MOMENCO_OCELOT=y |
@@ -45,6 +47,7 @@ CONFIG_MOMENCO_OCELOT=y | |||
45 | # CONFIG_MACH_VR41XX is not set | 47 | # CONFIG_MACH_VR41XX is not set |
46 | # CONFIG_PMC_YOSEMITE is not set | 48 | # CONFIG_PMC_YOSEMITE is not set |
47 | # CONFIG_QEMU is not set | 49 | # CONFIG_QEMU is not set |
50 | # CONFIG_MARKEINS is not set | ||
48 | # CONFIG_SGI_IP22 is not set | 51 | # CONFIG_SGI_IP22 is not set |
49 | # CONFIG_SGI_IP27 is not set | 52 | # CONFIG_SGI_IP27 is not set |
50 | # CONFIG_SGI_IP32 is not set | 53 | # CONFIG_SGI_IP32 is not set |
@@ -65,6 +68,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y | |||
65 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 68 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
66 | CONFIG_GENERIC_HWEIGHT=y | 69 | CONFIG_GENERIC_HWEIGHT=y |
67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 70 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
71 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
68 | CONFIG_DMA_NONCOHERENT=y | 72 | CONFIG_DMA_NONCOHERENT=y |
69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 73 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
70 | CONFIG_CPU_BIG_ENDIAN=y | 74 | CONFIG_CPU_BIG_ENDIAN=y |
@@ -119,7 +123,10 @@ CONFIG_PAGE_SIZE_4KB=y | |||
119 | CONFIG_BOARD_SCACHE=y | 123 | CONFIG_BOARD_SCACHE=y |
120 | CONFIG_RM7000_CPU_SCACHE=y | 124 | CONFIG_RM7000_CPU_SCACHE=y |
121 | CONFIG_CPU_HAS_PREFETCH=y | 125 | CONFIG_CPU_HAS_PREFETCH=y |
122 | # CONFIG_MIPS_MT is not set | 126 | CONFIG_MIPS_MT_DISABLED=y |
127 | # CONFIG_MIPS_MT_SMTC is not set | ||
128 | # CONFIG_MIPS_MT_SMP is not set | ||
129 | # CONFIG_MIPS_VPE_LOADER is not set | ||
123 | # CONFIG_64BIT_PHYS_ADDR is not set | 130 | # CONFIG_64BIT_PHYS_ADDR is not set |
124 | CONFIG_CPU_HAS_LLSC=y | 131 | CONFIG_CPU_HAS_LLSC=y |
125 | CONFIG_CPU_HAS_SYNC=y | 132 | CONFIG_CPU_HAS_SYNC=y |
@@ -135,6 +142,7 @@ CONFIG_FLATMEM=y | |||
135 | CONFIG_FLAT_NODE_MEM_MAP=y | 142 | CONFIG_FLAT_NODE_MEM_MAP=y |
136 | # CONFIG_SPARSEMEM_STATIC is not set | 143 | # CONFIG_SPARSEMEM_STATIC is not set |
137 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 144 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
145 | # CONFIG_RESOURCES_64BIT is not set | ||
138 | # CONFIG_HZ_48 is not set | 146 | # CONFIG_HZ_48 is not set |
139 | # CONFIG_HZ_100 is not set | 147 | # CONFIG_HZ_100 is not set |
140 | # CONFIG_HZ_128 is not set | 148 | # CONFIG_HZ_128 is not set |
@@ -147,6 +155,7 @@ CONFIG_HZ=1000 | |||
147 | CONFIG_PREEMPT_NONE=y | 155 | CONFIG_PREEMPT_NONE=y |
148 | # CONFIG_PREEMPT_VOLUNTARY is not set | 156 | # CONFIG_PREEMPT_VOLUNTARY is not set |
149 | # CONFIG_PREEMPT is not set | 157 | # CONFIG_PREEMPT is not set |
158 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
150 | 159 | ||
151 | # | 160 | # |
152 | # Code maturity level options | 161 | # Code maturity level options |
@@ -178,10 +187,12 @@ CONFIG_PRINTK=y | |||
178 | CONFIG_BUG=y | 187 | CONFIG_BUG=y |
179 | CONFIG_ELF_CORE=y | 188 | CONFIG_ELF_CORE=y |
180 | CONFIG_BASE_FULL=y | 189 | CONFIG_BASE_FULL=y |
190 | CONFIG_RT_MUTEXES=y | ||
181 | CONFIG_FUTEX=y | 191 | CONFIG_FUTEX=y |
182 | CONFIG_EPOLL=y | 192 | CONFIG_EPOLL=y |
183 | CONFIG_SHMEM=y | 193 | CONFIG_SHMEM=y |
184 | CONFIG_SLAB=y | 194 | CONFIG_SLAB=y |
195 | CONFIG_VM_EVENT_COUNTERS=y | ||
185 | # CONFIG_TINY_SHMEM is not set | 196 | # CONFIG_TINY_SHMEM is not set |
186 | CONFIG_BASE_SMALL=0 | 197 | CONFIG_BASE_SMALL=0 |
187 | # CONFIG_SLOB is not set | 198 | # CONFIG_SLOB is not set |
@@ -265,6 +276,8 @@ CONFIG_IP_PNP_BOOTP=y | |||
265 | # CONFIG_INET_IPCOMP is not set | 276 | # CONFIG_INET_IPCOMP is not set |
266 | # CONFIG_INET_XFRM_TUNNEL is not set | 277 | # CONFIG_INET_XFRM_TUNNEL is not set |
267 | # CONFIG_INET_TUNNEL is not set | 278 | # CONFIG_INET_TUNNEL is not set |
279 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | ||
280 | CONFIG_INET_XFRM_MODE_TUNNEL=y | ||
268 | CONFIG_INET_DIAG=y | 281 | CONFIG_INET_DIAG=y |
269 | CONFIG_INET_TCP_DIAG=y | 282 | CONFIG_INET_TCP_DIAG=y |
270 | # CONFIG_TCP_CONG_ADVANCED is not set | 283 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -272,6 +285,7 @@ CONFIG_TCP_CONG_BIC=y | |||
272 | # CONFIG_IPV6 is not set | 285 | # CONFIG_IPV6 is not set |
273 | # CONFIG_INET6_XFRM_TUNNEL is not set | 286 | # CONFIG_INET6_XFRM_TUNNEL is not set |
274 | # CONFIG_INET6_TUNNEL is not set | 287 | # CONFIG_INET6_TUNNEL is not set |
288 | CONFIG_NETWORK_SECMARK=y | ||
275 | # CONFIG_NETFILTER is not set | 289 | # CONFIG_NETFILTER is not set |
276 | 290 | ||
277 | # | 291 | # |
@@ -331,6 +345,7 @@ CONFIG_WIRELESS_EXT=y | |||
331 | CONFIG_STANDALONE=y | 345 | CONFIG_STANDALONE=y |
332 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 346 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
333 | # CONFIG_FW_LOADER is not set | 347 | # CONFIG_FW_LOADER is not set |
348 | # CONFIG_SYS_HYPERVISOR is not set | ||
334 | 349 | ||
335 | # | 350 | # |
336 | # Connector - unified userspace <-> kernelspace linker | 351 | # Connector - unified userspace <-> kernelspace linker |
@@ -416,6 +431,8 @@ CONFIG_DAVICOM_PHY=y | |||
416 | CONFIG_QSEMI_PHY=y | 431 | CONFIG_QSEMI_PHY=y |
417 | CONFIG_LXT_PHY=y | 432 | CONFIG_LXT_PHY=y |
418 | CONFIG_CICADA_PHY=y | 433 | CONFIG_CICADA_PHY=y |
434 | CONFIG_VITESSE_PHY=y | ||
435 | CONFIG_SMSC_PHY=y | ||
419 | 436 | ||
420 | # | 437 | # |
421 | # Ethernet (10 or 100Mbit) | 438 | # Ethernet (10 or 100Mbit) |
@@ -504,6 +521,7 @@ CONFIG_SERIO_RAW=y | |||
504 | CONFIG_VT=y | 521 | CONFIG_VT=y |
505 | CONFIG_VT_CONSOLE=y | 522 | CONFIG_VT_CONSOLE=y |
506 | CONFIG_HW_CONSOLE=y | 523 | CONFIG_HW_CONSOLE=y |
524 | CONFIG_VT_HW_CONSOLE_BINDING=y | ||
507 | # CONFIG_SERIAL_NONSTANDARD is not set | 525 | # CONFIG_SERIAL_NONSTANDARD is not set |
508 | 526 | ||
509 | # | 527 | # |
@@ -533,6 +551,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
533 | # Watchdog Cards | 551 | # Watchdog Cards |
534 | # | 552 | # |
535 | # CONFIG_WATCHDOG is not set | 553 | # CONFIG_WATCHDOG is not set |
554 | # CONFIG_HW_RANDOM is not set | ||
536 | # CONFIG_RTC is not set | 555 | # CONFIG_RTC is not set |
537 | # CONFIG_GEN_RTC is not set | 556 | # CONFIG_GEN_RTC is not set |
538 | # CONFIG_DTLK is not set | 557 | # CONFIG_DTLK is not set |
@@ -579,6 +598,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
579 | # Multimedia devices | 598 | # Multimedia devices |
580 | # | 599 | # |
581 | # CONFIG_VIDEO_DEV is not set | 600 | # CONFIG_VIDEO_DEV is not set |
601 | CONFIG_VIDEO_V4L2=y | ||
582 | 602 | ||
583 | # | 603 | # |
584 | # Digital Video Broadcasting Devices | 604 | # Digital Video Broadcasting Devices |
@@ -588,6 +608,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
588 | # | 608 | # |
589 | # Graphics support | 609 | # Graphics support |
590 | # | 610 | # |
611 | # CONFIG_FIRMWARE_EDID is not set | ||
591 | # CONFIG_FB is not set | 612 | # CONFIG_FB is not set |
592 | 613 | ||
593 | # | 614 | # |
@@ -649,6 +670,19 @@ CONFIG_DUMMY_CONSOLE=y | |||
649 | # CONFIG_RTC_CLASS is not set | 670 | # CONFIG_RTC_CLASS is not set |
650 | 671 | ||
651 | # | 672 | # |
673 | # DMA Engine support | ||
674 | # | ||
675 | # CONFIG_DMA_ENGINE is not set | ||
676 | |||
677 | # | ||
678 | # DMA Clients | ||
679 | # | ||
680 | |||
681 | # | ||
682 | # DMA Devices | ||
683 | # | ||
684 | |||
685 | # | ||
652 | # File systems | 686 | # File systems |
653 | # | 687 | # |
654 | CONFIG_EXT2_FS=y | 688 | CONFIG_EXT2_FS=y |
@@ -663,6 +697,7 @@ CONFIG_EXT2_FS=y | |||
663 | # CONFIG_MINIX_FS is not set | 697 | # CONFIG_MINIX_FS is not set |
664 | # CONFIG_ROMFS_FS is not set | 698 | # CONFIG_ROMFS_FS is not set |
665 | CONFIG_INOTIFY=y | 699 | CONFIG_INOTIFY=y |
700 | CONFIG_INOTIFY_USER=y | ||
666 | # CONFIG_QUOTA is not set | 701 | # CONFIG_QUOTA is not set |
667 | CONFIG_DNOTIFY=y | 702 | CONFIG_DNOTIFY=y |
668 | # CONFIG_AUTOFS_FS is not set | 703 | # CONFIG_AUTOFS_FS is not set |
@@ -729,6 +764,7 @@ CONFIG_SUNRPC=y | |||
729 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 764 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
730 | # CONFIG_SMB_FS is not set | 765 | # CONFIG_SMB_FS is not set |
731 | # CONFIG_CIFS is not set | 766 | # CONFIG_CIFS is not set |
767 | # CONFIG_CIFS_DEBUG2 is not set | ||
732 | # CONFIG_NCP_FS is not set | 768 | # CONFIG_NCP_FS is not set |
733 | # CONFIG_CODA_FS is not set | 769 | # CONFIG_CODA_FS is not set |
734 | # CONFIG_AFS_FS is not set | 770 | # CONFIG_AFS_FS is not set |
@@ -755,6 +791,7 @@ CONFIG_MSDOS_PARTITION=y | |||
755 | # | 791 | # |
756 | # CONFIG_PRINTK_TIME is not set | 792 | # CONFIG_PRINTK_TIME is not set |
757 | # CONFIG_MAGIC_SYSRQ is not set | 793 | # CONFIG_MAGIC_SYSRQ is not set |
794 | # CONFIG_UNUSED_SYMBOLS is not set | ||
758 | # CONFIG_DEBUG_KERNEL is not set | 795 | # CONFIG_DEBUG_KERNEL is not set |
759 | CONFIG_LOG_BUF_SHIFT=14 | 796 | CONFIG_LOG_BUF_SHIFT=14 |
760 | # CONFIG_DEBUG_FS is not set | 797 | # CONFIG_DEBUG_FS is not set |
@@ -796,7 +833,6 @@ CONFIG_CRYPTO_ANUBIS=y | |||
796 | CONFIG_CRYPTO_DEFLATE=y | 833 | CONFIG_CRYPTO_DEFLATE=y |
797 | CONFIG_CRYPTO_MICHAEL_MIC=y | 834 | CONFIG_CRYPTO_MICHAEL_MIC=y |
798 | CONFIG_CRYPTO_CRC32C=y | 835 | CONFIG_CRYPTO_CRC32C=y |
799 | # CONFIG_CRYPTO_TEST is not set | ||
800 | 836 | ||
801 | # | 837 | # |
802 | # Hardware crypto devices | 838 | # Hardware crypto devices |
@@ -811,3 +847,4 @@ CONFIG_CRC32=y | |||
811 | CONFIG_LIBCRC32C=y | 847 | CONFIG_LIBCRC32C=y |
812 | CONFIG_ZLIB_INFLATE=y | 848 | CONFIG_ZLIB_INFLATE=y |
813 | CONFIG_ZLIB_DEFLATE=y | 849 | CONFIG_ZLIB_DEFLATE=y |
850 | CONFIG_PLIST=y | ||
diff --git a/arch/mips/configs/ocelot_g_defconfig b/arch/mips/configs/ocelot_g_defconfig index c63b1ca8c8b3..827b344f6010 100644 --- a/arch/mips/configs/ocelot_g_defconfig +++ b/arch/mips/configs/ocelot_g_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17-rc2 | 3 | # Linux kernel version: 2.6.18-rc1 |
4 | # Mon Apr 24 14:51:11 2006 | 4 | # Thu Jul 6 10:04:16 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -21,6 +21,7 @@ CONFIG_MIPS=y | |||
21 | # CONFIG_MIPS_DB1550 is not set | 21 | # CONFIG_MIPS_DB1550 is not set |
22 | # CONFIG_MIPS_DB1200 is not set | 22 | # CONFIG_MIPS_DB1200 is not set |
23 | # CONFIG_MIPS_MIRAGE is not set | 23 | # CONFIG_MIPS_MIRAGE is not set |
24 | # CONFIG_BASLER_EXCITE is not set | ||
24 | # CONFIG_MIPS_COBALT is not set | 25 | # CONFIG_MIPS_COBALT is not set |
25 | # CONFIG_MACH_DECSTATION is not set | 26 | # CONFIG_MACH_DECSTATION is not set |
26 | # CONFIG_MIPS_EV64120 is not set | 27 | # CONFIG_MIPS_EV64120 is not set |
@@ -32,6 +33,7 @@ CONFIG_MIPS=y | |||
32 | # CONFIG_MIPS_ATLAS is not set | 33 | # CONFIG_MIPS_ATLAS is not set |
33 | # CONFIG_MIPS_MALTA is not set | 34 | # CONFIG_MIPS_MALTA is not set |
34 | # CONFIG_MIPS_SEAD is not set | 35 | # CONFIG_MIPS_SEAD is not set |
36 | # CONFIG_WR_PPMC is not set | ||
35 | # CONFIG_MIPS_SIM is not set | 37 | # CONFIG_MIPS_SIM is not set |
36 | # CONFIG_MOMENCO_JAGUAR_ATX is not set | 38 | # CONFIG_MOMENCO_JAGUAR_ATX is not set |
37 | # CONFIG_MOMENCO_OCELOT is not set | 39 | # CONFIG_MOMENCO_OCELOT is not set |
@@ -45,6 +47,7 @@ CONFIG_MOMENCO_OCELOT_G=y | |||
45 | # CONFIG_MACH_VR41XX is not set | 47 | # CONFIG_MACH_VR41XX is not set |
46 | # CONFIG_PMC_YOSEMITE is not set | 48 | # CONFIG_PMC_YOSEMITE is not set |
47 | # CONFIG_QEMU is not set | 49 | # CONFIG_QEMU is not set |
50 | # CONFIG_MARKEINS is not set | ||
48 | # CONFIG_SGI_IP22 is not set | 51 | # CONFIG_SGI_IP22 is not set |
49 | # CONFIG_SGI_IP27 is not set | 52 | # CONFIG_SGI_IP27 is not set |
50 | # CONFIG_SGI_IP32 is not set | 53 | # CONFIG_SGI_IP32 is not set |
@@ -65,6 +68,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y | |||
65 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 68 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
66 | CONFIG_GENERIC_HWEIGHT=y | 69 | CONFIG_GENERIC_HWEIGHT=y |
67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 70 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
71 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
68 | CONFIG_DMA_NONCOHERENT=y | 72 | CONFIG_DMA_NONCOHERENT=y |
69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 73 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
70 | CONFIG_CPU_BIG_ENDIAN=y | 74 | CONFIG_CPU_BIG_ENDIAN=y |
@@ -119,7 +123,10 @@ CONFIG_PAGE_SIZE_4KB=y | |||
119 | CONFIG_BOARD_SCACHE=y | 123 | CONFIG_BOARD_SCACHE=y |
120 | CONFIG_RM7000_CPU_SCACHE=y | 124 | CONFIG_RM7000_CPU_SCACHE=y |
121 | CONFIG_CPU_HAS_PREFETCH=y | 125 | CONFIG_CPU_HAS_PREFETCH=y |
122 | # CONFIG_MIPS_MT is not set | 126 | CONFIG_MIPS_MT_DISABLED=y |
127 | # CONFIG_MIPS_MT_SMTC is not set | ||
128 | # CONFIG_MIPS_MT_SMP is not set | ||
129 | # CONFIG_MIPS_VPE_LOADER is not set | ||
123 | CONFIG_CPU_HAS_LLSC=y | 130 | CONFIG_CPU_HAS_LLSC=y |
124 | CONFIG_CPU_HAS_SYNC=y | 131 | CONFIG_CPU_HAS_SYNC=y |
125 | CONFIG_GENERIC_HARDIRQS=y | 132 | CONFIG_GENERIC_HARDIRQS=y |
@@ -134,6 +141,7 @@ CONFIG_FLATMEM=y | |||
134 | CONFIG_FLAT_NODE_MEM_MAP=y | 141 | CONFIG_FLAT_NODE_MEM_MAP=y |
135 | # CONFIG_SPARSEMEM_STATIC is not set | 142 | # CONFIG_SPARSEMEM_STATIC is not set |
136 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 143 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
144 | CONFIG_RESOURCES_64BIT=y | ||
137 | # CONFIG_HZ_48 is not set | 145 | # CONFIG_HZ_48 is not set |
138 | # CONFIG_HZ_100 is not set | 146 | # CONFIG_HZ_100 is not set |
139 | # CONFIG_HZ_128 is not set | 147 | # CONFIG_HZ_128 is not set |
@@ -146,6 +154,7 @@ CONFIG_HZ=1000 | |||
146 | CONFIG_PREEMPT_NONE=y | 154 | CONFIG_PREEMPT_NONE=y |
147 | # CONFIG_PREEMPT_VOLUNTARY is not set | 155 | # CONFIG_PREEMPT_VOLUNTARY is not set |
148 | # CONFIG_PREEMPT is not set | 156 | # CONFIG_PREEMPT is not set |
157 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
149 | 158 | ||
150 | # | 159 | # |
151 | # Code maturity level options | 160 | # Code maturity level options |
@@ -177,10 +186,12 @@ CONFIG_PRINTK=y | |||
177 | CONFIG_BUG=y | 186 | CONFIG_BUG=y |
178 | CONFIG_ELF_CORE=y | 187 | CONFIG_ELF_CORE=y |
179 | CONFIG_BASE_FULL=y | 188 | CONFIG_BASE_FULL=y |
189 | CONFIG_RT_MUTEXES=y | ||
180 | CONFIG_FUTEX=y | 190 | CONFIG_FUTEX=y |
181 | CONFIG_EPOLL=y | 191 | CONFIG_EPOLL=y |
182 | CONFIG_SHMEM=y | 192 | CONFIG_SHMEM=y |
183 | CONFIG_SLAB=y | 193 | CONFIG_SLAB=y |
194 | CONFIG_VM_EVENT_COUNTERS=y | ||
184 | # CONFIG_TINY_SHMEM is not set | 195 | # CONFIG_TINY_SHMEM is not set |
185 | CONFIG_BASE_SMALL=0 | 196 | CONFIG_BASE_SMALL=0 |
186 | # CONFIG_SLOB is not set | 197 | # CONFIG_SLOB is not set |
@@ -268,6 +279,8 @@ CONFIG_IP_PNP_DHCP=y | |||
268 | # CONFIG_INET_IPCOMP is not set | 279 | # CONFIG_INET_IPCOMP is not set |
269 | # CONFIG_INET_XFRM_TUNNEL is not set | 280 | # CONFIG_INET_XFRM_TUNNEL is not set |
270 | # CONFIG_INET_TUNNEL is not set | 281 | # CONFIG_INET_TUNNEL is not set |
282 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | ||
283 | CONFIG_INET_XFRM_MODE_TUNNEL=y | ||
271 | CONFIG_INET_DIAG=y | 284 | CONFIG_INET_DIAG=y |
272 | CONFIG_INET_TCP_DIAG=y | 285 | CONFIG_INET_TCP_DIAG=y |
273 | # CONFIG_TCP_CONG_ADVANCED is not set | 286 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -275,6 +288,7 @@ CONFIG_TCP_CONG_BIC=y | |||
275 | # CONFIG_IPV6 is not set | 288 | # CONFIG_IPV6 is not set |
276 | # CONFIG_INET6_XFRM_TUNNEL is not set | 289 | # CONFIG_INET6_XFRM_TUNNEL is not set |
277 | # CONFIG_INET6_TUNNEL is not set | 290 | # CONFIG_INET6_TUNNEL is not set |
291 | CONFIG_NETWORK_SECMARK=y | ||
278 | # CONFIG_NETFILTER is not set | 292 | # CONFIG_NETFILTER is not set |
279 | 293 | ||
280 | # | 294 | # |
@@ -334,6 +348,7 @@ CONFIG_WIRELESS_EXT=y | |||
334 | CONFIG_STANDALONE=y | 348 | CONFIG_STANDALONE=y |
335 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 349 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
336 | CONFIG_FW_LOADER=y | 350 | CONFIG_FW_LOADER=y |
351 | # CONFIG_SYS_HYPERVISOR is not set | ||
337 | 352 | ||
338 | # | 353 | # |
339 | # Connector - unified userspace <-> kernelspace linker | 354 | # Connector - unified userspace <-> kernelspace linker |
@@ -431,6 +446,8 @@ CONFIG_DAVICOM_PHY=y | |||
431 | CONFIG_QSEMI_PHY=y | 446 | CONFIG_QSEMI_PHY=y |
432 | CONFIG_LXT_PHY=y | 447 | CONFIG_LXT_PHY=y |
433 | CONFIG_CICADA_PHY=y | 448 | CONFIG_CICADA_PHY=y |
449 | CONFIG_VITESSE_PHY=y | ||
450 | CONFIG_SMSC_PHY=y | ||
434 | 451 | ||
435 | # | 452 | # |
436 | # Ethernet (10 or 100Mbit) | 453 | # Ethernet (10 or 100Mbit) |
@@ -474,6 +491,7 @@ CONFIG_GALILEO_64240_ETH=y | |||
474 | # CONFIG_CHELSIO_T1 is not set | 491 | # CONFIG_CHELSIO_T1 is not set |
475 | # CONFIG_IXGB is not set | 492 | # CONFIG_IXGB is not set |
476 | # CONFIG_S2IO is not set | 493 | # CONFIG_S2IO is not set |
494 | # CONFIG_MYRI10GE is not set | ||
477 | 495 | ||
478 | # | 496 | # |
479 | # Token Ring devices | 497 | # Token Ring devices |
@@ -551,6 +569,7 @@ CONFIG_SERIO_RAW=y | |||
551 | CONFIG_VT=y | 569 | CONFIG_VT=y |
552 | CONFIG_VT_CONSOLE=y | 570 | CONFIG_VT_CONSOLE=y |
553 | CONFIG_HW_CONSOLE=y | 571 | CONFIG_HW_CONSOLE=y |
572 | CONFIG_VT_HW_CONSOLE_BINDING=y | ||
554 | # CONFIG_SERIAL_NONSTANDARD is not set | 573 | # CONFIG_SERIAL_NONSTANDARD is not set |
555 | 574 | ||
556 | # | 575 | # |
@@ -582,6 +601,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
582 | # Watchdog Cards | 601 | # Watchdog Cards |
583 | # | 602 | # |
584 | # CONFIG_WATCHDOG is not set | 603 | # CONFIG_WATCHDOG is not set |
604 | # CONFIG_HW_RANDOM is not set | ||
585 | # CONFIG_RTC is not set | 605 | # CONFIG_RTC is not set |
586 | # CONFIG_GEN_RTC is not set | 606 | # CONFIG_GEN_RTC is not set |
587 | # CONFIG_DTLK is not set | 607 | # CONFIG_DTLK is not set |
@@ -630,6 +650,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
630 | # Multimedia devices | 650 | # Multimedia devices |
631 | # | 651 | # |
632 | # CONFIG_VIDEO_DEV is not set | 652 | # CONFIG_VIDEO_DEV is not set |
653 | CONFIG_VIDEO_V4L2=y | ||
633 | 654 | ||
634 | # | 655 | # |
635 | # Digital Video Broadcasting Devices | 656 | # Digital Video Broadcasting Devices |
@@ -639,6 +660,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
639 | # | 660 | # |
640 | # Graphics support | 661 | # Graphics support |
641 | # | 662 | # |
663 | # CONFIG_FIRMWARE_EDID is not set | ||
642 | # CONFIG_FB is not set | 664 | # CONFIG_FB is not set |
643 | 665 | ||
644 | # | 666 | # |
@@ -702,6 +724,19 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
702 | # CONFIG_RTC_CLASS is not set | 724 | # CONFIG_RTC_CLASS is not set |
703 | 725 | ||
704 | # | 726 | # |
727 | # DMA Engine support | ||
728 | # | ||
729 | # CONFIG_DMA_ENGINE is not set | ||
730 | |||
731 | # | ||
732 | # DMA Clients | ||
733 | # | ||
734 | |||
735 | # | ||
736 | # DMA Devices | ||
737 | # | ||
738 | |||
739 | # | ||
705 | # File systems | 740 | # File systems |
706 | # | 741 | # |
707 | CONFIG_EXT2_FS=y | 742 | CONFIG_EXT2_FS=y |
@@ -716,6 +751,7 @@ CONFIG_EXT2_FS=y | |||
716 | # CONFIG_MINIX_FS is not set | 751 | # CONFIG_MINIX_FS is not set |
717 | # CONFIG_ROMFS_FS is not set | 752 | # CONFIG_ROMFS_FS is not set |
718 | CONFIG_INOTIFY=y | 753 | CONFIG_INOTIFY=y |
754 | CONFIG_INOTIFY_USER=y | ||
719 | # CONFIG_QUOTA is not set | 755 | # CONFIG_QUOTA is not set |
720 | CONFIG_DNOTIFY=y | 756 | CONFIG_DNOTIFY=y |
721 | # CONFIG_AUTOFS_FS is not set | 757 | # CONFIG_AUTOFS_FS is not set |
@@ -782,6 +818,7 @@ CONFIG_SUNRPC=y | |||
782 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 818 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
783 | # CONFIG_SMB_FS is not set | 819 | # CONFIG_SMB_FS is not set |
784 | # CONFIG_CIFS is not set | 820 | # CONFIG_CIFS is not set |
821 | # CONFIG_CIFS_DEBUG2 is not set | ||
785 | # CONFIG_NCP_FS is not set | 822 | # CONFIG_NCP_FS is not set |
786 | # CONFIG_CODA_FS is not set | 823 | # CONFIG_CODA_FS is not set |
787 | # CONFIG_AFS_FS is not set | 824 | # CONFIG_AFS_FS is not set |
@@ -808,6 +845,7 @@ CONFIG_MSDOS_PARTITION=y | |||
808 | # | 845 | # |
809 | # CONFIG_PRINTK_TIME is not set | 846 | # CONFIG_PRINTK_TIME is not set |
810 | # CONFIG_MAGIC_SYSRQ is not set | 847 | # CONFIG_MAGIC_SYSRQ is not set |
848 | # CONFIG_UNUSED_SYMBOLS is not set | ||
811 | # CONFIG_DEBUG_KERNEL is not set | 849 | # CONFIG_DEBUG_KERNEL is not set |
812 | CONFIG_LOG_BUF_SHIFT=14 | 850 | CONFIG_LOG_BUF_SHIFT=14 |
813 | # CONFIG_DEBUG_FS is not set | 851 | # CONFIG_DEBUG_FS is not set |
@@ -849,7 +887,6 @@ CONFIG_CRYPTO_ANUBIS=y | |||
849 | CONFIG_CRYPTO_DEFLATE=y | 887 | CONFIG_CRYPTO_DEFLATE=y |
850 | CONFIG_CRYPTO_MICHAEL_MIC=y | 888 | CONFIG_CRYPTO_MICHAEL_MIC=y |
851 | CONFIG_CRYPTO_CRC32C=y | 889 | CONFIG_CRYPTO_CRC32C=y |
852 | # CONFIG_CRYPTO_TEST is not set | ||
853 | 890 | ||
854 | # | 891 | # |
855 | # Hardware crypto devices | 892 | # Hardware crypto devices |
@@ -864,3 +901,4 @@ CONFIG_CRC32=y | |||
864 | CONFIG_LIBCRC32C=y | 901 | CONFIG_LIBCRC32C=y |
865 | CONFIG_ZLIB_INFLATE=y | 902 | CONFIG_ZLIB_INFLATE=y |
866 | CONFIG_ZLIB_DEFLATE=y | 903 | CONFIG_ZLIB_DEFLATE=y |
904 | CONFIG_PLIST=y | ||
diff --git a/arch/mips/configs/pb1100_defconfig b/arch/mips/configs/pb1100_defconfig index 6f5c7261e9de..9ed60fef69e0 100644 --- a/arch/mips/configs/pb1100_defconfig +++ b/arch/mips/configs/pb1100_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17-rc2 | 3 | # Linux kernel version: 2.6.18-rc1 |
4 | # Mon Apr 24 14:51:12 2006 | 4 | # Thu Jul 6 10:04:17 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -21,6 +21,7 @@ CONFIG_MIPS_PB1100=y | |||
21 | # CONFIG_MIPS_DB1550 is not set | 21 | # CONFIG_MIPS_DB1550 is not set |
22 | # CONFIG_MIPS_DB1200 is not set | 22 | # CONFIG_MIPS_DB1200 is not set |
23 | # CONFIG_MIPS_MIRAGE is not set | 23 | # CONFIG_MIPS_MIRAGE is not set |
24 | # CONFIG_BASLER_EXCITE is not set | ||
24 | # CONFIG_MIPS_COBALT is not set | 25 | # CONFIG_MIPS_COBALT is not set |
25 | # CONFIG_MACH_DECSTATION is not set | 26 | # CONFIG_MACH_DECSTATION is not set |
26 | # CONFIG_MIPS_EV64120 is not set | 27 | # CONFIG_MIPS_EV64120 is not set |
@@ -32,6 +33,7 @@ CONFIG_MIPS_PB1100=y | |||
32 | # CONFIG_MIPS_ATLAS is not set | 33 | # CONFIG_MIPS_ATLAS is not set |
33 | # CONFIG_MIPS_MALTA is not set | 34 | # CONFIG_MIPS_MALTA is not set |
34 | # CONFIG_MIPS_SEAD is not set | 35 | # CONFIG_MIPS_SEAD is not set |
36 | # CONFIG_WR_PPMC is not set | ||
35 | # CONFIG_MIPS_SIM is not set | 37 | # CONFIG_MIPS_SIM is not set |
36 | # CONFIG_MOMENCO_JAGUAR_ATX is not set | 38 | # CONFIG_MOMENCO_JAGUAR_ATX is not set |
37 | # CONFIG_MOMENCO_OCELOT is not set | 39 | # CONFIG_MOMENCO_OCELOT is not set |
@@ -45,6 +47,7 @@ CONFIG_MIPS_PB1100=y | |||
45 | # CONFIG_MACH_VR41XX is not set | 47 | # CONFIG_MACH_VR41XX is not set |
46 | # CONFIG_PMC_YOSEMITE is not set | 48 | # CONFIG_PMC_YOSEMITE is not set |
47 | # CONFIG_QEMU is not set | 49 | # CONFIG_QEMU is not set |
50 | # CONFIG_MARKEINS is not set | ||
48 | # CONFIG_SGI_IP22 is not set | 51 | # CONFIG_SGI_IP22 is not set |
49 | # CONFIG_SGI_IP27 is not set | 52 | # CONFIG_SGI_IP27 is not set |
50 | # CONFIG_SGI_IP32 is not set | 53 | # CONFIG_SGI_IP32 is not set |
@@ -65,6 +68,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y | |||
65 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 68 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
66 | CONFIG_GENERIC_HWEIGHT=y | 69 | CONFIG_GENERIC_HWEIGHT=y |
67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 70 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
71 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
68 | CONFIG_DMA_NONCOHERENT=y | 72 | CONFIG_DMA_NONCOHERENT=y |
69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 73 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
70 | # CONFIG_CPU_BIG_ENDIAN is not set | 74 | # CONFIG_CPU_BIG_ENDIAN is not set |
@@ -114,7 +118,10 @@ CONFIG_PAGE_SIZE_4KB=y | |||
114 | # CONFIG_PAGE_SIZE_16KB is not set | 118 | # CONFIG_PAGE_SIZE_16KB is not set |
115 | # CONFIG_PAGE_SIZE_64KB is not set | 119 | # CONFIG_PAGE_SIZE_64KB is not set |
116 | CONFIG_CPU_HAS_PREFETCH=y | 120 | CONFIG_CPU_HAS_PREFETCH=y |
117 | # CONFIG_MIPS_MT is not set | 121 | CONFIG_MIPS_MT_DISABLED=y |
122 | # CONFIG_MIPS_MT_SMTC is not set | ||
123 | # CONFIG_MIPS_MT_SMP is not set | ||
124 | # CONFIG_MIPS_VPE_LOADER is not set | ||
118 | CONFIG_64BIT_PHYS_ADDR=y | 125 | CONFIG_64BIT_PHYS_ADDR=y |
119 | CONFIG_CPU_HAS_LLSC=y | 126 | CONFIG_CPU_HAS_LLSC=y |
120 | CONFIG_CPU_HAS_SYNC=y | 127 | CONFIG_CPU_HAS_SYNC=y |
@@ -130,6 +137,7 @@ CONFIG_FLATMEM=y | |||
130 | CONFIG_FLAT_NODE_MEM_MAP=y | 137 | CONFIG_FLAT_NODE_MEM_MAP=y |
131 | # CONFIG_SPARSEMEM_STATIC is not set | 138 | # CONFIG_SPARSEMEM_STATIC is not set |
132 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 139 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
140 | # CONFIG_RESOURCES_64BIT is not set | ||
133 | # CONFIG_HZ_48 is not set | 141 | # CONFIG_HZ_48 is not set |
134 | # CONFIG_HZ_100 is not set | 142 | # CONFIG_HZ_100 is not set |
135 | # CONFIG_HZ_128 is not set | 143 | # CONFIG_HZ_128 is not set |
@@ -142,6 +150,7 @@ CONFIG_HZ=1000 | |||
142 | CONFIG_PREEMPT_NONE=y | 150 | CONFIG_PREEMPT_NONE=y |
143 | # CONFIG_PREEMPT_VOLUNTARY is not set | 151 | # CONFIG_PREEMPT_VOLUNTARY is not set |
144 | # CONFIG_PREEMPT is not set | 152 | # CONFIG_PREEMPT is not set |
153 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
145 | 154 | ||
146 | # | 155 | # |
147 | # Code maturity level options | 156 | # Code maturity level options |
@@ -173,14 +182,15 @@ CONFIG_PRINTK=y | |||
173 | CONFIG_BUG=y | 182 | CONFIG_BUG=y |
174 | CONFIG_ELF_CORE=y | 183 | CONFIG_ELF_CORE=y |
175 | CONFIG_BASE_FULL=y | 184 | CONFIG_BASE_FULL=y |
185 | CONFIG_RT_MUTEXES=y | ||
176 | CONFIG_FUTEX=y | 186 | CONFIG_FUTEX=y |
177 | CONFIG_EPOLL=y | 187 | CONFIG_EPOLL=y |
178 | CONFIG_SHMEM=y | 188 | CONFIG_SHMEM=y |
179 | CONFIG_SLAB=y | 189 | CONFIG_SLAB=y |
190 | CONFIG_VM_EVENT_COUNTERS=y | ||
180 | # CONFIG_TINY_SHMEM is not set | 191 | # CONFIG_TINY_SHMEM is not set |
181 | CONFIG_BASE_SMALL=0 | 192 | CONFIG_BASE_SMALL=0 |
182 | # CONFIG_SLOB is not set | 193 | # CONFIG_SLOB is not set |
183 | CONFIG_OBSOLETE_INTERMODULE=y | ||
184 | 194 | ||
185 | # | 195 | # |
186 | # Loadable module support | 196 | # Loadable module support |
@@ -278,6 +288,8 @@ CONFIG_IP_PNP_BOOTP=y | |||
278 | # CONFIG_INET_IPCOMP is not set | 288 | # CONFIG_INET_IPCOMP is not set |
279 | # CONFIG_INET_XFRM_TUNNEL is not set | 289 | # CONFIG_INET_XFRM_TUNNEL is not set |
280 | # CONFIG_INET_TUNNEL is not set | 290 | # CONFIG_INET_TUNNEL is not set |
291 | CONFIG_INET_XFRM_MODE_TRANSPORT=m | ||
292 | CONFIG_INET_XFRM_MODE_TUNNEL=m | ||
281 | CONFIG_INET_DIAG=y | 293 | CONFIG_INET_DIAG=y |
282 | CONFIG_INET_TCP_DIAG=y | 294 | CONFIG_INET_TCP_DIAG=y |
283 | # CONFIG_TCP_CONG_ADVANCED is not set | 295 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -290,6 +302,7 @@ CONFIG_TCP_CONG_BIC=y | |||
290 | # CONFIG_IPV6 is not set | 302 | # CONFIG_IPV6 is not set |
291 | # CONFIG_INET6_XFRM_TUNNEL is not set | 303 | # CONFIG_INET6_XFRM_TUNNEL is not set |
292 | # CONFIG_INET6_TUNNEL is not set | 304 | # CONFIG_INET6_TUNNEL is not set |
305 | CONFIG_NETWORK_SECMARK=y | ||
293 | CONFIG_NETFILTER=y | 306 | CONFIG_NETFILTER=y |
294 | # CONFIG_NETFILTER_DEBUG is not set | 307 | # CONFIG_NETFILTER_DEBUG is not set |
295 | 308 | ||
@@ -304,6 +317,7 @@ CONFIG_NETFILTER_XTABLES=m | |||
304 | CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m | 317 | CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m |
305 | CONFIG_NETFILTER_XT_TARGET_MARK=m | 318 | CONFIG_NETFILTER_XT_TARGET_MARK=m |
306 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | 319 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m |
320 | CONFIG_NETFILTER_XT_TARGET_SECMARK=m | ||
307 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | 321 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m |
308 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 322 | CONFIG_NETFILTER_XT_MATCH_DCCP=m |
309 | CONFIG_NETFILTER_XT_MATCH_ESP=m | 323 | CONFIG_NETFILTER_XT_MATCH_ESP=m |
@@ -314,8 +328,10 @@ CONFIG_NETFILTER_XT_MATCH_MARK=m | |||
314 | CONFIG_NETFILTER_XT_MATCH_POLICY=m | 328 | CONFIG_NETFILTER_XT_MATCH_POLICY=m |
315 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m | 329 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m |
316 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 330 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m |
331 | CONFIG_NETFILTER_XT_MATCH_QUOTA=m | ||
317 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 332 | CONFIG_NETFILTER_XT_MATCH_REALM=m |
318 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | 333 | CONFIG_NETFILTER_XT_MATCH_SCTP=m |
334 | CONFIG_NETFILTER_XT_MATCH_STATISTIC=m | ||
319 | CONFIG_NETFILTER_XT_MATCH_STRING=m | 335 | CONFIG_NETFILTER_XT_MATCH_STRING=m |
320 | CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | 336 | CONFIG_NETFILTER_XT_MATCH_TCPMSS=m |
321 | 337 | ||
@@ -385,6 +401,7 @@ CONFIG_WIRELESS_EXT=y | |||
385 | CONFIG_STANDALONE=y | 401 | CONFIG_STANDALONE=y |
386 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 402 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
387 | CONFIG_FW_LOADER=m | 403 | CONFIG_FW_LOADER=m |
404 | # CONFIG_SYS_HYPERVISOR is not set | ||
388 | 405 | ||
389 | # | 406 | # |
390 | # Connector - unified userspace <-> kernelspace linker | 407 | # Connector - unified userspace <-> kernelspace linker |
@@ -544,6 +561,8 @@ CONFIG_DAVICOM_PHY=m | |||
544 | CONFIG_QSEMI_PHY=m | 561 | CONFIG_QSEMI_PHY=m |
545 | CONFIG_LXT_PHY=m | 562 | CONFIG_LXT_PHY=m |
546 | CONFIG_CICADA_PHY=m | 563 | CONFIG_CICADA_PHY=m |
564 | CONFIG_VITESSE_PHY=m | ||
565 | CONFIG_SMSC_PHY=m | ||
547 | 566 | ||
548 | # | 567 | # |
549 | # Ethernet (10 or 100Mbit) | 568 | # Ethernet (10 or 100Mbit) |
@@ -647,6 +666,7 @@ CONFIG_SERIO_RAW=m | |||
647 | CONFIG_VT=y | 666 | CONFIG_VT=y |
648 | CONFIG_VT_CONSOLE=y | 667 | CONFIG_VT_CONSOLE=y |
649 | CONFIG_HW_CONSOLE=y | 668 | CONFIG_HW_CONSOLE=y |
669 | CONFIG_VT_HW_CONSOLE_BINDING=y | ||
650 | # CONFIG_SERIAL_NONSTANDARD is not set | 670 | # CONFIG_SERIAL_NONSTANDARD is not set |
651 | # CONFIG_AU1X00_GPIO is not set | 671 | # CONFIG_AU1X00_GPIO is not set |
652 | # CONFIG_TS_AU1X00_ADS7846 is not set | 672 | # CONFIG_TS_AU1X00_ADS7846 is not set |
@@ -680,6 +700,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
680 | # Watchdog Cards | 700 | # Watchdog Cards |
681 | # | 701 | # |
682 | # CONFIG_WATCHDOG is not set | 702 | # CONFIG_WATCHDOG is not set |
703 | # CONFIG_HW_RANDOM is not set | ||
683 | # CONFIG_RTC is not set | 704 | # CONFIG_RTC is not set |
684 | # CONFIG_GEN_RTC is not set | 705 | # CONFIG_GEN_RTC is not set |
685 | # CONFIG_DTLK is not set | 706 | # CONFIG_DTLK is not set |
@@ -733,6 +754,7 @@ CONFIG_SYNCLINK_CS=m | |||
733 | # Multimedia devices | 754 | # Multimedia devices |
734 | # | 755 | # |
735 | # CONFIG_VIDEO_DEV is not set | 756 | # CONFIG_VIDEO_DEV is not set |
757 | CONFIG_VIDEO_V4L2=y | ||
736 | 758 | ||
737 | # | 759 | # |
738 | # Digital Video Broadcasting Devices | 760 | # Digital Video Broadcasting Devices |
@@ -742,6 +764,7 @@ CONFIG_SYNCLINK_CS=m | |||
742 | # | 764 | # |
743 | # Graphics support | 765 | # Graphics support |
744 | # | 766 | # |
767 | # CONFIG_FIRMWARE_EDID is not set | ||
745 | # CONFIG_FB is not set | 768 | # CONFIG_FB is not set |
746 | 769 | ||
747 | # | 770 | # |
@@ -804,6 +827,19 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
804 | # CONFIG_RTC_CLASS is not set | 827 | # CONFIG_RTC_CLASS is not set |
805 | 828 | ||
806 | # | 829 | # |
830 | # DMA Engine support | ||
831 | # | ||
832 | # CONFIG_DMA_ENGINE is not set | ||
833 | |||
834 | # | ||
835 | # DMA Clients | ||
836 | # | ||
837 | |||
838 | # | ||
839 | # DMA Devices | ||
840 | # | ||
841 | |||
842 | # | ||
807 | # File systems | 843 | # File systems |
808 | # | 844 | # |
809 | CONFIG_EXT2_FS=y | 845 | CONFIG_EXT2_FS=y |
@@ -831,6 +867,7 @@ CONFIG_FS_POSIX_ACL=y | |||
831 | # CONFIG_MINIX_FS is not set | 867 | # CONFIG_MINIX_FS is not set |
832 | # CONFIG_ROMFS_FS is not set | 868 | # CONFIG_ROMFS_FS is not set |
833 | CONFIG_INOTIFY=y | 869 | CONFIG_INOTIFY=y |
870 | CONFIG_INOTIFY_USER=y | ||
834 | # CONFIG_QUOTA is not set | 871 | # CONFIG_QUOTA is not set |
835 | CONFIG_DNOTIFY=y | 872 | CONFIG_DNOTIFY=y |
836 | CONFIG_AUTOFS_FS=m | 873 | CONFIG_AUTOFS_FS=m |
@@ -900,6 +937,7 @@ CONFIG_SUNRPC=y | |||
900 | CONFIG_SMB_FS=m | 937 | CONFIG_SMB_FS=m |
901 | # CONFIG_SMB_NLS_DEFAULT is not set | 938 | # CONFIG_SMB_NLS_DEFAULT is not set |
902 | # CONFIG_CIFS is not set | 939 | # CONFIG_CIFS is not set |
940 | # CONFIG_CIFS_DEBUG2 is not set | ||
903 | # CONFIG_NCP_FS is not set | 941 | # CONFIG_NCP_FS is not set |
904 | # CONFIG_CODA_FS is not set | 942 | # CONFIG_CODA_FS is not set |
905 | # CONFIG_AFS_FS is not set | 943 | # CONFIG_AFS_FS is not set |
@@ -965,6 +1003,7 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
965 | # | 1003 | # |
966 | # CONFIG_PRINTK_TIME is not set | 1004 | # CONFIG_PRINTK_TIME is not set |
967 | # CONFIG_MAGIC_SYSRQ is not set | 1005 | # CONFIG_MAGIC_SYSRQ is not set |
1006 | # CONFIG_UNUSED_SYMBOLS is not set | ||
968 | # CONFIG_DEBUG_KERNEL is not set | 1007 | # CONFIG_DEBUG_KERNEL is not set |
969 | CONFIG_LOG_BUF_SHIFT=14 | 1008 | CONFIG_LOG_BUF_SHIFT=14 |
970 | # CONFIG_DEBUG_FS is not set | 1009 | # CONFIG_DEBUG_FS is not set |
@@ -1024,3 +1063,4 @@ CONFIG_TEXTSEARCH=y | |||
1024 | CONFIG_TEXTSEARCH_KMP=m | 1063 | CONFIG_TEXTSEARCH_KMP=m |
1025 | CONFIG_TEXTSEARCH_BM=m | 1064 | CONFIG_TEXTSEARCH_BM=m |
1026 | CONFIG_TEXTSEARCH_FSM=m | 1065 | CONFIG_TEXTSEARCH_FSM=m |
1066 | CONFIG_PLIST=y | ||
diff --git a/arch/mips/configs/pb1500_defconfig b/arch/mips/configs/pb1500_defconfig index 5676f3747fd5..6774254b1be6 100644 --- a/arch/mips/configs/pb1500_defconfig +++ b/arch/mips/configs/pb1500_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17-rc2 | 3 | # Linux kernel version: 2.6.18-rc1 |
4 | # Mon Apr 24 14:51:13 2006 | 4 | # Thu Jul 6 10:04:17 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -21,6 +21,7 @@ CONFIG_MIPS_PB1500=y | |||
21 | # CONFIG_MIPS_DB1550 is not set | 21 | # CONFIG_MIPS_DB1550 is not set |
22 | # CONFIG_MIPS_DB1200 is not set | 22 | # CONFIG_MIPS_DB1200 is not set |
23 | # CONFIG_MIPS_MIRAGE is not set | 23 | # CONFIG_MIPS_MIRAGE is not set |
24 | # CONFIG_BASLER_EXCITE is not set | ||
24 | # CONFIG_MIPS_COBALT is not set | 25 | # CONFIG_MIPS_COBALT is not set |
25 | # CONFIG_MACH_DECSTATION is not set | 26 | # CONFIG_MACH_DECSTATION is not set |
26 | # CONFIG_MIPS_EV64120 is not set | 27 | # CONFIG_MIPS_EV64120 is not set |
@@ -32,6 +33,7 @@ CONFIG_MIPS_PB1500=y | |||
32 | # CONFIG_MIPS_ATLAS is not set | 33 | # CONFIG_MIPS_ATLAS is not set |
33 | # CONFIG_MIPS_MALTA is not set | 34 | # CONFIG_MIPS_MALTA is not set |
34 | # CONFIG_MIPS_SEAD is not set | 35 | # CONFIG_MIPS_SEAD is not set |
36 | # CONFIG_WR_PPMC is not set | ||
35 | # CONFIG_MIPS_SIM is not set | 37 | # CONFIG_MIPS_SIM is not set |
36 | # CONFIG_MOMENCO_JAGUAR_ATX is not set | 38 | # CONFIG_MOMENCO_JAGUAR_ATX is not set |
37 | # CONFIG_MOMENCO_OCELOT is not set | 39 | # CONFIG_MOMENCO_OCELOT is not set |
@@ -45,6 +47,7 @@ CONFIG_MIPS_PB1500=y | |||
45 | # CONFIG_MACH_VR41XX is not set | 47 | # CONFIG_MACH_VR41XX is not set |
46 | # CONFIG_PMC_YOSEMITE is not set | 48 | # CONFIG_PMC_YOSEMITE is not set |
47 | # CONFIG_QEMU is not set | 49 | # CONFIG_QEMU is not set |
50 | # CONFIG_MARKEINS is not set | ||
48 | # CONFIG_SGI_IP22 is not set | 51 | # CONFIG_SGI_IP22 is not set |
49 | # CONFIG_SGI_IP27 is not set | 52 | # CONFIG_SGI_IP27 is not set |
50 | # CONFIG_SGI_IP32 is not set | 53 | # CONFIG_SGI_IP32 is not set |
@@ -65,6 +68,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y | |||
65 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 68 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
66 | CONFIG_GENERIC_HWEIGHT=y | 69 | CONFIG_GENERIC_HWEIGHT=y |
67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 70 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
71 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
68 | CONFIG_DMA_NONCOHERENT=y | 72 | CONFIG_DMA_NONCOHERENT=y |
69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 73 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
70 | # CONFIG_CPU_BIG_ENDIAN is not set | 74 | # CONFIG_CPU_BIG_ENDIAN is not set |
@@ -113,7 +117,10 @@ CONFIG_PAGE_SIZE_4KB=y | |||
113 | # CONFIG_PAGE_SIZE_16KB is not set | 117 | # CONFIG_PAGE_SIZE_16KB is not set |
114 | # CONFIG_PAGE_SIZE_64KB is not set | 118 | # CONFIG_PAGE_SIZE_64KB is not set |
115 | CONFIG_CPU_HAS_PREFETCH=y | 119 | CONFIG_CPU_HAS_PREFETCH=y |
116 | # CONFIG_MIPS_MT is not set | 120 | CONFIG_MIPS_MT_DISABLED=y |
121 | # CONFIG_MIPS_MT_SMTC is not set | ||
122 | # CONFIG_MIPS_MT_SMP is not set | ||
123 | # CONFIG_MIPS_VPE_LOADER is not set | ||
117 | CONFIG_64BIT_PHYS_ADDR=y | 124 | CONFIG_64BIT_PHYS_ADDR=y |
118 | CONFIG_CPU_HAS_LLSC=y | 125 | CONFIG_CPU_HAS_LLSC=y |
119 | CONFIG_CPU_HAS_SYNC=y | 126 | CONFIG_CPU_HAS_SYNC=y |
@@ -129,6 +136,7 @@ CONFIG_FLATMEM=y | |||
129 | CONFIG_FLAT_NODE_MEM_MAP=y | 136 | CONFIG_FLAT_NODE_MEM_MAP=y |
130 | # CONFIG_SPARSEMEM_STATIC is not set | 137 | # CONFIG_SPARSEMEM_STATIC is not set |
131 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 138 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
139 | # CONFIG_RESOURCES_64BIT is not set | ||
132 | # CONFIG_HZ_48 is not set | 140 | # CONFIG_HZ_48 is not set |
133 | # CONFIG_HZ_100 is not set | 141 | # CONFIG_HZ_100 is not set |
134 | # CONFIG_HZ_128 is not set | 142 | # CONFIG_HZ_128 is not set |
@@ -141,6 +149,7 @@ CONFIG_HZ=1000 | |||
141 | CONFIG_PREEMPT_NONE=y | 149 | CONFIG_PREEMPT_NONE=y |
142 | # CONFIG_PREEMPT_VOLUNTARY is not set | 150 | # CONFIG_PREEMPT_VOLUNTARY is not set |
143 | # CONFIG_PREEMPT is not set | 151 | # CONFIG_PREEMPT is not set |
152 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
144 | 153 | ||
145 | # | 154 | # |
146 | # Code maturity level options | 155 | # Code maturity level options |
@@ -172,14 +181,15 @@ CONFIG_PRINTK=y | |||
172 | CONFIG_BUG=y | 181 | CONFIG_BUG=y |
173 | CONFIG_ELF_CORE=y | 182 | CONFIG_ELF_CORE=y |
174 | CONFIG_BASE_FULL=y | 183 | CONFIG_BASE_FULL=y |
184 | CONFIG_RT_MUTEXES=y | ||
175 | CONFIG_FUTEX=y | 185 | CONFIG_FUTEX=y |
176 | CONFIG_EPOLL=y | 186 | CONFIG_EPOLL=y |
177 | CONFIG_SHMEM=y | 187 | CONFIG_SHMEM=y |
178 | CONFIG_SLAB=y | 188 | CONFIG_SLAB=y |
189 | CONFIG_VM_EVENT_COUNTERS=y | ||
179 | # CONFIG_TINY_SHMEM is not set | 190 | # CONFIG_TINY_SHMEM is not set |
180 | CONFIG_BASE_SMALL=0 | 191 | CONFIG_BASE_SMALL=0 |
181 | # CONFIG_SLOB is not set | 192 | # CONFIG_SLOB is not set |
182 | CONFIG_OBSOLETE_INTERMODULE=y | ||
183 | 193 | ||
184 | # | 194 | # |
185 | # Loadable module support | 195 | # Loadable module support |
@@ -283,6 +293,8 @@ CONFIG_IP_PNP_BOOTP=y | |||
283 | # CONFIG_INET_IPCOMP is not set | 293 | # CONFIG_INET_IPCOMP is not set |
284 | # CONFIG_INET_XFRM_TUNNEL is not set | 294 | # CONFIG_INET_XFRM_TUNNEL is not set |
285 | # CONFIG_INET_TUNNEL is not set | 295 | # CONFIG_INET_TUNNEL is not set |
296 | CONFIG_INET_XFRM_MODE_TRANSPORT=m | ||
297 | CONFIG_INET_XFRM_MODE_TUNNEL=m | ||
286 | CONFIG_INET_DIAG=y | 298 | CONFIG_INET_DIAG=y |
287 | CONFIG_INET_TCP_DIAG=y | 299 | CONFIG_INET_TCP_DIAG=y |
288 | # CONFIG_TCP_CONG_ADVANCED is not set | 300 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -295,6 +307,7 @@ CONFIG_TCP_CONG_BIC=y | |||
295 | # CONFIG_IPV6 is not set | 307 | # CONFIG_IPV6 is not set |
296 | # CONFIG_INET6_XFRM_TUNNEL is not set | 308 | # CONFIG_INET6_XFRM_TUNNEL is not set |
297 | # CONFIG_INET6_TUNNEL is not set | 309 | # CONFIG_INET6_TUNNEL is not set |
310 | CONFIG_NETWORK_SECMARK=y | ||
298 | CONFIG_NETFILTER=y | 311 | CONFIG_NETFILTER=y |
299 | # CONFIG_NETFILTER_DEBUG is not set | 312 | # CONFIG_NETFILTER_DEBUG is not set |
300 | 313 | ||
@@ -309,6 +322,7 @@ CONFIG_NETFILTER_XTABLES=m | |||
309 | CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m | 322 | CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m |
310 | CONFIG_NETFILTER_XT_TARGET_MARK=m | 323 | CONFIG_NETFILTER_XT_TARGET_MARK=m |
311 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | 324 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m |
325 | CONFIG_NETFILTER_XT_TARGET_SECMARK=m | ||
312 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | 326 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m |
313 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 327 | CONFIG_NETFILTER_XT_MATCH_DCCP=m |
314 | CONFIG_NETFILTER_XT_MATCH_ESP=m | 328 | CONFIG_NETFILTER_XT_MATCH_ESP=m |
@@ -319,8 +333,10 @@ CONFIG_NETFILTER_XT_MATCH_MARK=m | |||
319 | CONFIG_NETFILTER_XT_MATCH_POLICY=m | 333 | CONFIG_NETFILTER_XT_MATCH_POLICY=m |
320 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m | 334 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m |
321 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 335 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m |
336 | CONFIG_NETFILTER_XT_MATCH_QUOTA=m | ||
322 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 337 | CONFIG_NETFILTER_XT_MATCH_REALM=m |
323 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | 338 | CONFIG_NETFILTER_XT_MATCH_SCTP=m |
339 | CONFIG_NETFILTER_XT_MATCH_STATISTIC=m | ||
324 | CONFIG_NETFILTER_XT_MATCH_STRING=m | 340 | CONFIG_NETFILTER_XT_MATCH_STRING=m |
325 | CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | 341 | CONFIG_NETFILTER_XT_MATCH_TCPMSS=m |
326 | 342 | ||
@@ -390,6 +406,7 @@ CONFIG_WIRELESS_EXT=y | |||
390 | CONFIG_STANDALONE=y | 406 | CONFIG_STANDALONE=y |
391 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 407 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
392 | CONFIG_FW_LOADER=m | 408 | CONFIG_FW_LOADER=m |
409 | # CONFIG_SYS_HYPERVISOR is not set | ||
393 | 410 | ||
394 | # | 411 | # |
395 | # Connector - unified userspace <-> kernelspace linker | 412 | # Connector - unified userspace <-> kernelspace linker |
@@ -604,7 +621,7 @@ CONFIG_NETDEVICES=y | |||
604 | # | 621 | # |
605 | # PHY device support | 622 | # PHY device support |
606 | # | 623 | # |
607 | CONFIG_PHYLIB=m | 624 | CONFIG_PHYLIB=y |
608 | 625 | ||
609 | # | 626 | # |
610 | # MII PHY device drivers | 627 | # MII PHY device drivers |
@@ -614,6 +631,8 @@ CONFIG_DAVICOM_PHY=m | |||
614 | CONFIG_QSEMI_PHY=m | 631 | CONFIG_QSEMI_PHY=m |
615 | CONFIG_LXT_PHY=m | 632 | CONFIG_LXT_PHY=m |
616 | CONFIG_CICADA_PHY=m | 633 | CONFIG_CICADA_PHY=m |
634 | CONFIG_VITESSE_PHY=m | ||
635 | CONFIG_SMSC_PHY=m | ||
617 | 636 | ||
618 | # | 637 | # |
619 | # Ethernet (10 or 100Mbit) | 638 | # Ethernet (10 or 100Mbit) |
@@ -658,6 +677,7 @@ CONFIG_MIPS_AU1X00_ENET=y | |||
658 | # CONFIG_CHELSIO_T1 is not set | 677 | # CONFIG_CHELSIO_T1 is not set |
659 | # CONFIG_IXGB is not set | 678 | # CONFIG_IXGB is not set |
660 | # CONFIG_S2IO is not set | 679 | # CONFIG_S2IO is not set |
680 | # CONFIG_MYRI10GE is not set | ||
661 | 681 | ||
662 | # | 682 | # |
663 | # Token Ring devices | 683 | # Token Ring devices |
@@ -789,6 +809,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
789 | # Watchdog Cards | 809 | # Watchdog Cards |
790 | # | 810 | # |
791 | # CONFIG_WATCHDOG is not set | 811 | # CONFIG_WATCHDOG is not set |
812 | # CONFIG_HW_RANDOM is not set | ||
792 | # CONFIG_RTC is not set | 813 | # CONFIG_RTC is not set |
793 | # CONFIG_GEN_RTC is not set | 814 | # CONFIG_GEN_RTC is not set |
794 | # CONFIG_DTLK is not set | 815 | # CONFIG_DTLK is not set |
@@ -844,6 +865,7 @@ CONFIG_SYNCLINK_CS=m | |||
844 | # Multimedia devices | 865 | # Multimedia devices |
845 | # | 866 | # |
846 | # CONFIG_VIDEO_DEV is not set | 867 | # CONFIG_VIDEO_DEV is not set |
868 | CONFIG_VIDEO_V4L2=y | ||
847 | 869 | ||
848 | # | 870 | # |
849 | # Digital Video Broadcasting Devices | 871 | # Digital Video Broadcasting Devices |
@@ -853,6 +875,7 @@ CONFIG_SYNCLINK_CS=m | |||
853 | # | 875 | # |
854 | # Graphics support | 876 | # Graphics support |
855 | # | 877 | # |
878 | # CONFIG_FIRMWARE_EDID is not set | ||
856 | # CONFIG_FB is not set | 879 | # CONFIG_FB is not set |
857 | 880 | ||
858 | # | 881 | # |
@@ -910,6 +933,19 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
910 | # CONFIG_RTC_CLASS is not set | 933 | # CONFIG_RTC_CLASS is not set |
911 | 934 | ||
912 | # | 935 | # |
936 | # DMA Engine support | ||
937 | # | ||
938 | # CONFIG_DMA_ENGINE is not set | ||
939 | |||
940 | # | ||
941 | # DMA Clients | ||
942 | # | ||
943 | |||
944 | # | ||
945 | # DMA Devices | ||
946 | # | ||
947 | |||
948 | # | ||
913 | # File systems | 949 | # File systems |
914 | # | 950 | # |
915 | CONFIG_EXT2_FS=y | 951 | CONFIG_EXT2_FS=y |
@@ -937,6 +973,7 @@ CONFIG_FS_POSIX_ACL=y | |||
937 | # CONFIG_MINIX_FS is not set | 973 | # CONFIG_MINIX_FS is not set |
938 | # CONFIG_ROMFS_FS is not set | 974 | # CONFIG_ROMFS_FS is not set |
939 | CONFIG_INOTIFY=y | 975 | CONFIG_INOTIFY=y |
976 | CONFIG_INOTIFY_USER=y | ||
940 | # CONFIG_QUOTA is not set | 977 | # CONFIG_QUOTA is not set |
941 | CONFIG_DNOTIFY=y | 978 | CONFIG_DNOTIFY=y |
942 | CONFIG_AUTOFS_FS=m | 979 | CONFIG_AUTOFS_FS=m |
@@ -1006,6 +1043,7 @@ CONFIG_SUNRPC=y | |||
1006 | CONFIG_SMB_FS=m | 1043 | CONFIG_SMB_FS=m |
1007 | # CONFIG_SMB_NLS_DEFAULT is not set | 1044 | # CONFIG_SMB_NLS_DEFAULT is not set |
1008 | # CONFIG_CIFS is not set | 1045 | # CONFIG_CIFS is not set |
1046 | # CONFIG_CIFS_DEBUG2 is not set | ||
1009 | # CONFIG_NCP_FS is not set | 1047 | # CONFIG_NCP_FS is not set |
1010 | # CONFIG_CODA_FS is not set | 1048 | # CONFIG_CODA_FS is not set |
1011 | # CONFIG_AFS_FS is not set | 1049 | # CONFIG_AFS_FS is not set |
@@ -1071,6 +1109,7 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
1071 | # | 1109 | # |
1072 | # CONFIG_PRINTK_TIME is not set | 1110 | # CONFIG_PRINTK_TIME is not set |
1073 | # CONFIG_MAGIC_SYSRQ is not set | 1111 | # CONFIG_MAGIC_SYSRQ is not set |
1112 | # CONFIG_UNUSED_SYMBOLS is not set | ||
1074 | # CONFIG_DEBUG_KERNEL is not set | 1113 | # CONFIG_DEBUG_KERNEL is not set |
1075 | CONFIG_LOG_BUF_SHIFT=14 | 1114 | CONFIG_LOG_BUF_SHIFT=14 |
1076 | # CONFIG_DEBUG_FS is not set | 1115 | # CONFIG_DEBUG_FS is not set |
@@ -1130,3 +1169,4 @@ CONFIG_TEXTSEARCH=y | |||
1130 | CONFIG_TEXTSEARCH_KMP=m | 1169 | CONFIG_TEXTSEARCH_KMP=m |
1131 | CONFIG_TEXTSEARCH_BM=m | 1170 | CONFIG_TEXTSEARCH_BM=m |
1132 | CONFIG_TEXTSEARCH_FSM=m | 1171 | CONFIG_TEXTSEARCH_FSM=m |
1172 | CONFIG_PLIST=y | ||
diff --git a/arch/mips/configs/pb1550_defconfig b/arch/mips/configs/pb1550_defconfig index a1c479fa613b..1afe5bf6e765 100644 --- a/arch/mips/configs/pb1550_defconfig +++ b/arch/mips/configs/pb1550_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17-rc2 | 3 | # Linux kernel version: 2.6.18-rc1 |
4 | # Mon Apr 24 14:51:13 2006 | 4 | # Thu Jul 6 10:04:17 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -21,6 +21,7 @@ CONFIG_MIPS_PB1550=y | |||
21 | # CONFIG_MIPS_DB1550 is not set | 21 | # CONFIG_MIPS_DB1550 is not set |
22 | # CONFIG_MIPS_DB1200 is not set | 22 | # CONFIG_MIPS_DB1200 is not set |
23 | # CONFIG_MIPS_MIRAGE is not set | 23 | # CONFIG_MIPS_MIRAGE is not set |
24 | # CONFIG_BASLER_EXCITE is not set | ||
24 | # CONFIG_MIPS_COBALT is not set | 25 | # CONFIG_MIPS_COBALT is not set |
25 | # CONFIG_MACH_DECSTATION is not set | 26 | # CONFIG_MACH_DECSTATION is not set |
26 | # CONFIG_MIPS_EV64120 is not set | 27 | # CONFIG_MIPS_EV64120 is not set |
@@ -32,6 +33,7 @@ CONFIG_MIPS_PB1550=y | |||
32 | # CONFIG_MIPS_ATLAS is not set | 33 | # CONFIG_MIPS_ATLAS is not set |
33 | # CONFIG_MIPS_MALTA is not set | 34 | # CONFIG_MIPS_MALTA is not set |
34 | # CONFIG_MIPS_SEAD is not set | 35 | # CONFIG_MIPS_SEAD is not set |
36 | # CONFIG_WR_PPMC is not set | ||
35 | # CONFIG_MIPS_SIM is not set | 37 | # CONFIG_MIPS_SIM is not set |
36 | # CONFIG_MOMENCO_JAGUAR_ATX is not set | 38 | # CONFIG_MOMENCO_JAGUAR_ATX is not set |
37 | # CONFIG_MOMENCO_OCELOT is not set | 39 | # CONFIG_MOMENCO_OCELOT is not set |
@@ -45,6 +47,7 @@ CONFIG_MIPS_PB1550=y | |||
45 | # CONFIG_MACH_VR41XX is not set | 47 | # CONFIG_MACH_VR41XX is not set |
46 | # CONFIG_PMC_YOSEMITE is not set | 48 | # CONFIG_PMC_YOSEMITE is not set |
47 | # CONFIG_QEMU is not set | 49 | # CONFIG_QEMU is not set |
50 | # CONFIG_MARKEINS is not set | ||
48 | # CONFIG_SGI_IP22 is not set | 51 | # CONFIG_SGI_IP22 is not set |
49 | # CONFIG_SGI_IP27 is not set | 52 | # CONFIG_SGI_IP27 is not set |
50 | # CONFIG_SGI_IP32 is not set | 53 | # CONFIG_SGI_IP32 is not set |
@@ -65,6 +68,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y | |||
65 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 68 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
66 | CONFIG_GENERIC_HWEIGHT=y | 69 | CONFIG_GENERIC_HWEIGHT=y |
67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 70 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
71 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
68 | CONFIG_DMA_NONCOHERENT=y | 72 | CONFIG_DMA_NONCOHERENT=y |
69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 73 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
70 | CONFIG_MIPS_DISABLE_OBSOLETE_IDE=y | 74 | CONFIG_MIPS_DISABLE_OBSOLETE_IDE=y |
@@ -113,7 +117,10 @@ CONFIG_PAGE_SIZE_4KB=y | |||
113 | # CONFIG_PAGE_SIZE_16KB is not set | 117 | # CONFIG_PAGE_SIZE_16KB is not set |
114 | # CONFIG_PAGE_SIZE_64KB is not set | 118 | # CONFIG_PAGE_SIZE_64KB is not set |
115 | CONFIG_CPU_HAS_PREFETCH=y | 119 | CONFIG_CPU_HAS_PREFETCH=y |
116 | # CONFIG_MIPS_MT is not set | 120 | CONFIG_MIPS_MT_DISABLED=y |
121 | # CONFIG_MIPS_MT_SMTC is not set | ||
122 | # CONFIG_MIPS_MT_SMP is not set | ||
123 | # CONFIG_MIPS_VPE_LOADER is not set | ||
117 | CONFIG_64BIT_PHYS_ADDR=y | 124 | CONFIG_64BIT_PHYS_ADDR=y |
118 | CONFIG_CPU_HAS_LLSC=y | 125 | CONFIG_CPU_HAS_LLSC=y |
119 | CONFIG_CPU_HAS_SYNC=y | 126 | CONFIG_CPU_HAS_SYNC=y |
@@ -129,6 +136,7 @@ CONFIG_FLATMEM=y | |||
129 | CONFIG_FLAT_NODE_MEM_MAP=y | 136 | CONFIG_FLAT_NODE_MEM_MAP=y |
130 | # CONFIG_SPARSEMEM_STATIC is not set | 137 | # CONFIG_SPARSEMEM_STATIC is not set |
131 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 138 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
139 | # CONFIG_RESOURCES_64BIT is not set | ||
132 | # CONFIG_HZ_48 is not set | 140 | # CONFIG_HZ_48 is not set |
133 | # CONFIG_HZ_100 is not set | 141 | # CONFIG_HZ_100 is not set |
134 | # CONFIG_HZ_128 is not set | 142 | # CONFIG_HZ_128 is not set |
@@ -141,6 +149,7 @@ CONFIG_HZ=1000 | |||
141 | CONFIG_PREEMPT_NONE=y | 149 | CONFIG_PREEMPT_NONE=y |
142 | # CONFIG_PREEMPT_VOLUNTARY is not set | 150 | # CONFIG_PREEMPT_VOLUNTARY is not set |
143 | # CONFIG_PREEMPT is not set | 151 | # CONFIG_PREEMPT is not set |
152 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
144 | 153 | ||
145 | # | 154 | # |
146 | # Code maturity level options | 155 | # Code maturity level options |
@@ -172,14 +181,15 @@ CONFIG_PRINTK=y | |||
172 | CONFIG_BUG=y | 181 | CONFIG_BUG=y |
173 | CONFIG_ELF_CORE=y | 182 | CONFIG_ELF_CORE=y |
174 | CONFIG_BASE_FULL=y | 183 | CONFIG_BASE_FULL=y |
184 | CONFIG_RT_MUTEXES=y | ||
175 | CONFIG_FUTEX=y | 185 | CONFIG_FUTEX=y |
176 | CONFIG_EPOLL=y | 186 | CONFIG_EPOLL=y |
177 | CONFIG_SHMEM=y | 187 | CONFIG_SHMEM=y |
178 | CONFIG_SLAB=y | 188 | CONFIG_SLAB=y |
189 | CONFIG_VM_EVENT_COUNTERS=y | ||
179 | # CONFIG_TINY_SHMEM is not set | 190 | # CONFIG_TINY_SHMEM is not set |
180 | CONFIG_BASE_SMALL=0 | 191 | CONFIG_BASE_SMALL=0 |
181 | # CONFIG_SLOB is not set | 192 | # CONFIG_SLOB is not set |
182 | CONFIG_OBSOLETE_INTERMODULE=y | ||
183 | 193 | ||
184 | # | 194 | # |
185 | # Loadable module support | 195 | # Loadable module support |
@@ -283,6 +293,8 @@ CONFIG_IP_PNP_BOOTP=y | |||
283 | # CONFIG_INET_IPCOMP is not set | 293 | # CONFIG_INET_IPCOMP is not set |
284 | # CONFIG_INET_XFRM_TUNNEL is not set | 294 | # CONFIG_INET_XFRM_TUNNEL is not set |
285 | # CONFIG_INET_TUNNEL is not set | 295 | # CONFIG_INET_TUNNEL is not set |
296 | CONFIG_INET_XFRM_MODE_TRANSPORT=m | ||
297 | CONFIG_INET_XFRM_MODE_TUNNEL=m | ||
286 | CONFIG_INET_DIAG=y | 298 | CONFIG_INET_DIAG=y |
287 | CONFIG_INET_TCP_DIAG=y | 299 | CONFIG_INET_TCP_DIAG=y |
288 | # CONFIG_TCP_CONG_ADVANCED is not set | 300 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -295,6 +307,7 @@ CONFIG_TCP_CONG_BIC=y | |||
295 | # CONFIG_IPV6 is not set | 307 | # CONFIG_IPV6 is not set |
296 | # CONFIG_INET6_XFRM_TUNNEL is not set | 308 | # CONFIG_INET6_XFRM_TUNNEL is not set |
297 | # CONFIG_INET6_TUNNEL is not set | 309 | # CONFIG_INET6_TUNNEL is not set |
310 | CONFIG_NETWORK_SECMARK=y | ||
298 | CONFIG_NETFILTER=y | 311 | CONFIG_NETFILTER=y |
299 | # CONFIG_NETFILTER_DEBUG is not set | 312 | # CONFIG_NETFILTER_DEBUG is not set |
300 | 313 | ||
@@ -309,6 +322,7 @@ CONFIG_NETFILTER_XTABLES=m | |||
309 | CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m | 322 | CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m |
310 | CONFIG_NETFILTER_XT_TARGET_MARK=m | 323 | CONFIG_NETFILTER_XT_TARGET_MARK=m |
311 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | 324 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m |
325 | CONFIG_NETFILTER_XT_TARGET_SECMARK=m | ||
312 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | 326 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m |
313 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 327 | CONFIG_NETFILTER_XT_MATCH_DCCP=m |
314 | CONFIG_NETFILTER_XT_MATCH_ESP=m | 328 | CONFIG_NETFILTER_XT_MATCH_ESP=m |
@@ -319,8 +333,10 @@ CONFIG_NETFILTER_XT_MATCH_MARK=m | |||
319 | CONFIG_NETFILTER_XT_MATCH_POLICY=m | 333 | CONFIG_NETFILTER_XT_MATCH_POLICY=m |
320 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m | 334 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m |
321 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 335 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m |
336 | CONFIG_NETFILTER_XT_MATCH_QUOTA=m | ||
322 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 337 | CONFIG_NETFILTER_XT_MATCH_REALM=m |
323 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | 338 | CONFIG_NETFILTER_XT_MATCH_SCTP=m |
339 | CONFIG_NETFILTER_XT_MATCH_STATISTIC=m | ||
324 | CONFIG_NETFILTER_XT_MATCH_STRING=m | 340 | CONFIG_NETFILTER_XT_MATCH_STRING=m |
325 | CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | 341 | CONFIG_NETFILTER_XT_MATCH_TCPMSS=m |
326 | 342 | ||
@@ -390,6 +406,7 @@ CONFIG_WIRELESS_EXT=y | |||
390 | CONFIG_STANDALONE=y | 406 | CONFIG_STANDALONE=y |
391 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 407 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
392 | CONFIG_FW_LOADER=m | 408 | CONFIG_FW_LOADER=m |
409 | # CONFIG_SYS_HYPERVISOR is not set | ||
393 | 410 | ||
394 | # | 411 | # |
395 | # Connector - unified userspace <-> kernelspace linker | 412 | # Connector - unified userspace <-> kernelspace linker |
@@ -604,7 +621,7 @@ CONFIG_NETDEVICES=y | |||
604 | # | 621 | # |
605 | # PHY device support | 622 | # PHY device support |
606 | # | 623 | # |
607 | CONFIG_PHYLIB=m | 624 | CONFIG_PHYLIB=y |
608 | 625 | ||
609 | # | 626 | # |
610 | # MII PHY device drivers | 627 | # MII PHY device drivers |
@@ -614,6 +631,8 @@ CONFIG_DAVICOM_PHY=m | |||
614 | CONFIG_QSEMI_PHY=m | 631 | CONFIG_QSEMI_PHY=m |
615 | CONFIG_LXT_PHY=m | 632 | CONFIG_LXT_PHY=m |
616 | CONFIG_CICADA_PHY=m | 633 | CONFIG_CICADA_PHY=m |
634 | CONFIG_VITESSE_PHY=m | ||
635 | CONFIG_SMSC_PHY=m | ||
617 | 636 | ||
618 | # | 637 | # |
619 | # Ethernet (10 or 100Mbit) | 638 | # Ethernet (10 or 100Mbit) |
@@ -658,6 +677,7 @@ CONFIG_MIPS_AU1X00_ENET=y | |||
658 | # CONFIG_CHELSIO_T1 is not set | 677 | # CONFIG_CHELSIO_T1 is not set |
659 | # CONFIG_IXGB is not set | 678 | # CONFIG_IXGB is not set |
660 | # CONFIG_S2IO is not set | 679 | # CONFIG_S2IO is not set |
680 | # CONFIG_MYRI10GE is not set | ||
661 | 681 | ||
662 | # | 682 | # |
663 | # Token Ring devices | 683 | # Token Ring devices |
@@ -781,6 +801,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
781 | # Watchdog Cards | 801 | # Watchdog Cards |
782 | # | 802 | # |
783 | # CONFIG_WATCHDOG is not set | 803 | # CONFIG_WATCHDOG is not set |
804 | # CONFIG_HW_RANDOM is not set | ||
784 | # CONFIG_RTC is not set | 805 | # CONFIG_RTC is not set |
785 | # CONFIG_GEN_RTC is not set | 806 | # CONFIG_GEN_RTC is not set |
786 | # CONFIG_DTLK is not set | 807 | # CONFIG_DTLK is not set |
@@ -836,6 +857,7 @@ CONFIG_SYNCLINK_CS=m | |||
836 | # Multimedia devices | 857 | # Multimedia devices |
837 | # | 858 | # |
838 | # CONFIG_VIDEO_DEV is not set | 859 | # CONFIG_VIDEO_DEV is not set |
860 | CONFIG_VIDEO_V4L2=y | ||
839 | 861 | ||
840 | # | 862 | # |
841 | # Digital Video Broadcasting Devices | 863 | # Digital Video Broadcasting Devices |
@@ -845,6 +867,7 @@ CONFIG_SYNCLINK_CS=m | |||
845 | # | 867 | # |
846 | # Graphics support | 868 | # Graphics support |
847 | # | 869 | # |
870 | # CONFIG_FIRMWARE_EDID is not set | ||
848 | # CONFIG_FB is not set | 871 | # CONFIG_FB is not set |
849 | 872 | ||
850 | # | 873 | # |
@@ -902,6 +925,19 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
902 | # CONFIG_RTC_CLASS is not set | 925 | # CONFIG_RTC_CLASS is not set |
903 | 926 | ||
904 | # | 927 | # |
928 | # DMA Engine support | ||
929 | # | ||
930 | # CONFIG_DMA_ENGINE is not set | ||
931 | |||
932 | # | ||
933 | # DMA Clients | ||
934 | # | ||
935 | |||
936 | # | ||
937 | # DMA Devices | ||
938 | # | ||
939 | |||
940 | # | ||
905 | # File systems | 941 | # File systems |
906 | # | 942 | # |
907 | CONFIG_EXT2_FS=y | 943 | CONFIG_EXT2_FS=y |
@@ -929,6 +965,7 @@ CONFIG_FS_POSIX_ACL=y | |||
929 | # CONFIG_MINIX_FS is not set | 965 | # CONFIG_MINIX_FS is not set |
930 | # CONFIG_ROMFS_FS is not set | 966 | # CONFIG_ROMFS_FS is not set |
931 | CONFIG_INOTIFY=y | 967 | CONFIG_INOTIFY=y |
968 | CONFIG_INOTIFY_USER=y | ||
932 | # CONFIG_QUOTA is not set | 969 | # CONFIG_QUOTA is not set |
933 | CONFIG_DNOTIFY=y | 970 | CONFIG_DNOTIFY=y |
934 | CONFIG_AUTOFS_FS=m | 971 | CONFIG_AUTOFS_FS=m |
@@ -998,6 +1035,7 @@ CONFIG_SUNRPC=y | |||
998 | CONFIG_SMB_FS=m | 1035 | CONFIG_SMB_FS=m |
999 | # CONFIG_SMB_NLS_DEFAULT is not set | 1036 | # CONFIG_SMB_NLS_DEFAULT is not set |
1000 | # CONFIG_CIFS is not set | 1037 | # CONFIG_CIFS is not set |
1038 | # CONFIG_CIFS_DEBUG2 is not set | ||
1001 | # CONFIG_NCP_FS is not set | 1039 | # CONFIG_NCP_FS is not set |
1002 | # CONFIG_CODA_FS is not set | 1040 | # CONFIG_CODA_FS is not set |
1003 | # CONFIG_AFS_FS is not set | 1041 | # CONFIG_AFS_FS is not set |
@@ -1063,6 +1101,7 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
1063 | # | 1101 | # |
1064 | # CONFIG_PRINTK_TIME is not set | 1102 | # CONFIG_PRINTK_TIME is not set |
1065 | # CONFIG_MAGIC_SYSRQ is not set | 1103 | # CONFIG_MAGIC_SYSRQ is not set |
1104 | # CONFIG_UNUSED_SYMBOLS is not set | ||
1066 | # CONFIG_DEBUG_KERNEL is not set | 1105 | # CONFIG_DEBUG_KERNEL is not set |
1067 | CONFIG_LOG_BUF_SHIFT=14 | 1106 | CONFIG_LOG_BUF_SHIFT=14 |
1068 | # CONFIG_DEBUG_FS is not set | 1107 | # CONFIG_DEBUG_FS is not set |
@@ -1122,3 +1161,4 @@ CONFIG_TEXTSEARCH=y | |||
1122 | CONFIG_TEXTSEARCH_KMP=m | 1161 | CONFIG_TEXTSEARCH_KMP=m |
1123 | CONFIG_TEXTSEARCH_BM=m | 1162 | CONFIG_TEXTSEARCH_BM=m |
1124 | CONFIG_TEXTSEARCH_FSM=m | 1163 | CONFIG_TEXTSEARCH_FSM=m |
1164 | CONFIG_PLIST=y | ||
diff --git a/arch/mips/configs/pnx8550-jbs_defconfig b/arch/mips/configs/pnx8550-jbs_defconfig index b2d991b80309..ac616c82d348 100644 --- a/arch/mips/configs/pnx8550-jbs_defconfig +++ b/arch/mips/configs/pnx8550-jbs_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17-rc2 | 3 | # Linux kernel version: 2.6.18-rc1 |
4 | # Mon Apr 24 14:51:14 2006 | 4 | # Thu Jul 6 10:04:18 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -21,6 +21,7 @@ CONFIG_MIPS=y | |||
21 | # CONFIG_MIPS_DB1550 is not set | 21 | # CONFIG_MIPS_DB1550 is not set |
22 | # CONFIG_MIPS_DB1200 is not set | 22 | # CONFIG_MIPS_DB1200 is not set |
23 | # CONFIG_MIPS_MIRAGE is not set | 23 | # CONFIG_MIPS_MIRAGE is not set |
24 | # CONFIG_BASLER_EXCITE is not set | ||
24 | # CONFIG_MIPS_COBALT is not set | 25 | # CONFIG_MIPS_COBALT is not set |
25 | # CONFIG_MACH_DECSTATION is not set | 26 | # CONFIG_MACH_DECSTATION is not set |
26 | # CONFIG_MIPS_EV64120 is not set | 27 | # CONFIG_MIPS_EV64120 is not set |
@@ -32,6 +33,7 @@ CONFIG_MIPS=y | |||
32 | # CONFIG_MIPS_ATLAS is not set | 33 | # CONFIG_MIPS_ATLAS is not set |
33 | # CONFIG_MIPS_MALTA is not set | 34 | # CONFIG_MIPS_MALTA is not set |
34 | # CONFIG_MIPS_SEAD is not set | 35 | # CONFIG_MIPS_SEAD is not set |
36 | # CONFIG_WR_PPMC is not set | ||
35 | # CONFIG_MIPS_SIM is not set | 37 | # CONFIG_MIPS_SIM is not set |
36 | # CONFIG_MOMENCO_JAGUAR_ATX is not set | 38 | # CONFIG_MOMENCO_JAGUAR_ATX is not set |
37 | # CONFIG_MOMENCO_OCELOT is not set | 39 | # CONFIG_MOMENCO_OCELOT is not set |
@@ -40,12 +42,13 @@ CONFIG_MIPS=y | |||
40 | # CONFIG_MOMENCO_OCELOT_G is not set | 42 | # CONFIG_MOMENCO_OCELOT_G is not set |
41 | # CONFIG_MIPS_XXS1500 is not set | 43 | # CONFIG_MIPS_XXS1500 is not set |
42 | # CONFIG_PNX8550_V2PCI is not set | 44 | # CONFIG_PNX8550_V2PCI is not set |
43 | CONFIG_PNX8550_JBS=y | 45 | # CONFIG_PNX8550_JBS is not set |
44 | # CONFIG_DDB5477 is not set | 46 | # CONFIG_DDB5477 is not set |
45 | # CONFIG_MACH_VR41XX is not set | 47 | # CONFIG_MACH_VR41XX is not set |
46 | # CONFIG_PMC_YOSEMITE is not set | 48 | # CONFIG_PMC_YOSEMITE is not set |
47 | # CONFIG_QEMU is not set | 49 | # CONFIG_QEMU is not set |
48 | # CONFIG_SGI_IP22 is not set | 50 | # CONFIG_MARKEINS is not set |
51 | CONFIG_SGI_IP22=y | ||
49 | # CONFIG_SGI_IP27 is not set | 52 | # CONFIG_SGI_IP27 is not set |
50 | # CONFIG_SGI_IP32 is not set | 53 | # CONFIG_SGI_IP32 is not set |
51 | # CONFIG_SIBYTE_BIGSUR is not set | 54 | # CONFIG_SIBYTE_BIGSUR is not set |
@@ -65,19 +68,25 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y | |||
65 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 68 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
66 | CONFIG_GENERIC_HWEIGHT=y | 69 | CONFIG_GENERIC_HWEIGHT=y |
67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 70 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
71 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
72 | CONFIG_ARC=y | ||
68 | CONFIG_DMA_NONCOHERENT=y | 73 | CONFIG_DMA_NONCOHERENT=y |
69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 74 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
70 | # CONFIG_CPU_BIG_ENDIAN is not set | 75 | CONFIG_CPU_BIG_ENDIAN=y |
71 | CONFIG_CPU_LITTLE_ENDIAN=y | 76 | # CONFIG_CPU_LITTLE_ENDIAN is not set |
72 | CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y | 77 | CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y |
73 | CONFIG_PNX8550=y | 78 | CONFIG_IRQ_CPU=y |
74 | CONFIG_SOC_PNX8550=y | 79 | CONFIG_SWAP_IO_SPACE=y |
80 | CONFIG_ARC32=y | ||
81 | CONFIG_BOOT_ELF32=y | ||
75 | CONFIG_MIPS_L1_CACHE_SHIFT=5 | 82 | CONFIG_MIPS_L1_CACHE_SHIFT=5 |
83 | # CONFIG_ARC_CONSOLE is not set | ||
84 | CONFIG_ARC_PROMLIB=y | ||
76 | 85 | ||
77 | # | 86 | # |
78 | # CPU selection | 87 | # CPU selection |
79 | # | 88 | # |
80 | CONFIG_CPU_MIPS32_R1=y | 89 | # CONFIG_CPU_MIPS32_R1 is not set |
81 | # CONFIG_CPU_MIPS32_R2 is not set | 90 | # CONFIG_CPU_MIPS32_R2 is not set |
82 | # CONFIG_CPU_MIPS64_R1 is not set | 91 | # CONFIG_CPU_MIPS64_R1 is not set |
83 | # CONFIG_CPU_MIPS64_R2 is not set | 92 | # CONFIG_CPU_MIPS64_R2 is not set |
@@ -85,7 +94,7 @@ CONFIG_CPU_MIPS32_R1=y | |||
85 | # CONFIG_CPU_TX39XX is not set | 94 | # CONFIG_CPU_TX39XX is not set |
86 | # CONFIG_CPU_VR41XX is not set | 95 | # CONFIG_CPU_VR41XX is not set |
87 | # CONFIG_CPU_R4300 is not set | 96 | # CONFIG_CPU_R4300 is not set |
88 | # CONFIG_CPU_R4X00 is not set | 97 | CONFIG_CPU_R4X00=y |
89 | # CONFIG_CPU_TX49XX is not set | 98 | # CONFIG_CPU_TX49XX is not set |
90 | # CONFIG_CPU_R5000 is not set | 99 | # CONFIG_CPU_R5000 is not set |
91 | # CONFIG_CPU_R5432 is not set | 100 | # CONFIG_CPU_R5432 is not set |
@@ -96,11 +105,12 @@ CONFIG_CPU_MIPS32_R1=y | |||
96 | # CONFIG_CPU_RM7000 is not set | 105 | # CONFIG_CPU_RM7000 is not set |
97 | # CONFIG_CPU_RM9000 is not set | 106 | # CONFIG_CPU_RM9000 is not set |
98 | # CONFIG_CPU_SB1 is not set | 107 | # CONFIG_CPU_SB1 is not set |
99 | CONFIG_SYS_HAS_CPU_MIPS32_R1=y | 108 | CONFIG_SYS_HAS_CPU_R4X00=y |
100 | CONFIG_CPU_MIPS32=y | 109 | CONFIG_SYS_HAS_CPU_R5000=y |
101 | CONFIG_CPU_MIPSR1=y | ||
102 | CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y | 110 | CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y |
111 | CONFIG_SYS_SUPPORTS_64BIT_KERNEL=y | ||
103 | CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y | 112 | CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y |
113 | CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y | ||
104 | 114 | ||
105 | # | 115 | # |
106 | # Kernel type | 116 | # Kernel type |
@@ -111,14 +121,17 @@ CONFIG_PAGE_SIZE_4KB=y | |||
111 | # CONFIG_PAGE_SIZE_8KB is not set | 121 | # CONFIG_PAGE_SIZE_8KB is not set |
112 | # CONFIG_PAGE_SIZE_16KB is not set | 122 | # CONFIG_PAGE_SIZE_16KB is not set |
113 | # CONFIG_PAGE_SIZE_64KB is not set | 123 | # CONFIG_PAGE_SIZE_64KB is not set |
114 | CONFIG_CPU_HAS_PREFETCH=y | 124 | CONFIG_BOARD_SCACHE=y |
115 | # CONFIG_MIPS_MT is not set | 125 | CONFIG_IP22_CPU_SCACHE=y |
126 | CONFIG_MIPS_MT_DISABLED=y | ||
127 | # CONFIG_MIPS_MT_SMTC is not set | ||
128 | # CONFIG_MIPS_MT_SMP is not set | ||
129 | # CONFIG_MIPS_VPE_LOADER is not set | ||
116 | # CONFIG_64BIT_PHYS_ADDR is not set | 130 | # CONFIG_64BIT_PHYS_ADDR is not set |
117 | CONFIG_CPU_HAS_LLSC=y | 131 | CONFIG_CPU_HAS_LLSC=y |
118 | CONFIG_CPU_HAS_SYNC=y | 132 | CONFIG_CPU_HAS_SYNC=y |
119 | CONFIG_GENERIC_HARDIRQS=y | 133 | CONFIG_GENERIC_HARDIRQS=y |
120 | CONFIG_GENERIC_IRQ_PROBE=y | 134 | CONFIG_GENERIC_IRQ_PROBE=y |
121 | CONFIG_CPU_SUPPORTS_HIGHMEM=y | ||
122 | CONFIG_ARCH_FLATMEM_ENABLE=y | 135 | CONFIG_ARCH_FLATMEM_ENABLE=y |
123 | CONFIG_SELECT_MEMORY_MODEL=y | 136 | CONFIG_SELECT_MEMORY_MODEL=y |
124 | CONFIG_FLATMEM_MANUAL=y | 137 | CONFIG_FLATMEM_MANUAL=y |
@@ -128,6 +141,7 @@ CONFIG_FLATMEM=y | |||
128 | CONFIG_FLAT_NODE_MEM_MAP=y | 141 | CONFIG_FLAT_NODE_MEM_MAP=y |
129 | # CONFIG_SPARSEMEM_STATIC is not set | 142 | # CONFIG_SPARSEMEM_STATIC is not set |
130 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 143 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
144 | # CONFIG_RESOURCES_64BIT is not set | ||
131 | # CONFIG_HZ_48 is not set | 145 | # CONFIG_HZ_48 is not set |
132 | # CONFIG_HZ_100 is not set | 146 | # CONFIG_HZ_100 is not set |
133 | # CONFIG_HZ_128 is not set | 147 | # CONFIG_HZ_128 is not set |
@@ -140,6 +154,7 @@ CONFIG_HZ=1000 | |||
140 | CONFIG_PREEMPT_NONE=y | 154 | CONFIG_PREEMPT_NONE=y |
141 | # CONFIG_PREEMPT_VOLUNTARY is not set | 155 | # CONFIG_PREEMPT_VOLUNTARY is not set |
142 | # CONFIG_PREEMPT is not set | 156 | # CONFIG_PREEMPT is not set |
157 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
143 | 158 | ||
144 | # | 159 | # |
145 | # Code maturity level options | 160 | # Code maturity level options |
@@ -173,10 +188,12 @@ CONFIG_PRINTK=y | |||
173 | CONFIG_BUG=y | 188 | CONFIG_BUG=y |
174 | CONFIG_ELF_CORE=y | 189 | CONFIG_ELF_CORE=y |
175 | CONFIG_BASE_FULL=y | 190 | CONFIG_BASE_FULL=y |
191 | CONFIG_RT_MUTEXES=y | ||
176 | CONFIG_FUTEX=y | 192 | CONFIG_FUTEX=y |
177 | CONFIG_EPOLL=y | 193 | CONFIG_EPOLL=y |
178 | CONFIG_SHMEM=y | 194 | CONFIG_SHMEM=y |
179 | CONFIG_SLAB=y | 195 | CONFIG_SLAB=y |
196 | CONFIG_VM_EVENT_COUNTERS=y | ||
180 | # CONFIG_TINY_SHMEM is not set | 197 | # CONFIG_TINY_SHMEM is not set |
181 | CONFIG_BASE_SMALL=0 | 198 | CONFIG_BASE_SMALL=0 |
182 | # CONFIG_SLOB is not set | 199 | # CONFIG_SLOB is not set |
@@ -213,9 +230,8 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
213 | # | 230 | # |
214 | # Bus options (PCI, PCMCIA, EISA, ISA, TC) | 231 | # Bus options (PCI, PCMCIA, EISA, ISA, TC) |
215 | # | 232 | # |
216 | CONFIG_HW_HAS_PCI=y | 233 | CONFIG_HW_HAS_EISA=y |
217 | CONFIG_PCI=y | 234 | # CONFIG_EISA is not set |
218 | # CONFIG_PCI_DEBUG is not set | ||
219 | CONFIG_MMU=y | 235 | CONFIG_MMU=y |
220 | 236 | ||
221 | # | 237 | # |
@@ -226,7 +242,6 @@ CONFIG_MMU=y | |||
226 | # | 242 | # |
227 | # PCI Hotplug Support | 243 | # PCI Hotplug Support |
228 | # | 244 | # |
229 | # CONFIG_HOTPLUG_PCI is not set | ||
230 | 245 | ||
231 | # | 246 | # |
232 | # Executable file formats | 247 | # Executable file formats |
@@ -247,6 +262,8 @@ CONFIG_NET=y | |||
247 | CONFIG_PACKET=y | 262 | CONFIG_PACKET=y |
248 | # CONFIG_PACKET_MMAP is not set | 263 | # CONFIG_PACKET_MMAP is not set |
249 | CONFIG_UNIX=y | 264 | CONFIG_UNIX=y |
265 | CONFIG_XFRM=y | ||
266 | # CONFIG_XFRM_USER is not set | ||
250 | # CONFIG_NET_KEY is not set | 267 | # CONFIG_NET_KEY is not set |
251 | CONFIG_INET=y | 268 | CONFIG_INET=y |
252 | # CONFIG_IP_MULTICAST is not set | 269 | # CONFIG_IP_MULTICAST is not set |
@@ -265,6 +282,8 @@ CONFIG_IP_PNP_BOOTP=y | |||
265 | # CONFIG_INET_IPCOMP is not set | 282 | # CONFIG_INET_IPCOMP is not set |
266 | # CONFIG_INET_XFRM_TUNNEL is not set | 283 | # CONFIG_INET_XFRM_TUNNEL is not set |
267 | # CONFIG_INET_TUNNEL is not set | 284 | # CONFIG_INET_TUNNEL is not set |
285 | CONFIG_INET_XFRM_MODE_TRANSPORT=m | ||
286 | CONFIG_INET_XFRM_MODE_TUNNEL=m | ||
268 | CONFIG_INET_DIAG=y | 287 | CONFIG_INET_DIAG=y |
269 | CONFIG_INET_TCP_DIAG=y | 288 | CONFIG_INET_TCP_DIAG=y |
270 | # CONFIG_TCP_CONG_ADVANCED is not set | 289 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -272,6 +291,7 @@ CONFIG_TCP_CONG_BIC=y | |||
272 | # CONFIG_IPV6 is not set | 291 | # CONFIG_IPV6 is not set |
273 | # CONFIG_INET6_XFRM_TUNNEL is not set | 292 | # CONFIG_INET6_XFRM_TUNNEL is not set |
274 | # CONFIG_INET6_TUNNEL is not set | 293 | # CONFIG_INET6_TUNNEL is not set |
294 | CONFIG_NETWORK_SECMARK=y | ||
275 | # CONFIG_NETFILTER is not set | 295 | # CONFIG_NETFILTER is not set |
276 | 296 | ||
277 | # | 297 | # |
@@ -326,6 +346,7 @@ CONFIG_STANDALONE=y | |||
326 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 346 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
327 | CONFIG_FW_LOADER=y | 347 | CONFIG_FW_LOADER=y |
328 | # CONFIG_DEBUG_DRIVER is not set | 348 | # CONFIG_DEBUG_DRIVER is not set |
349 | # CONFIG_SYS_HYPERVISOR is not set | ||
329 | 350 | ||
330 | # | 351 | # |
331 | # Connector - unified userspace <-> kernelspace linker | 352 | # Connector - unified userspace <-> kernelspace linker |
@@ -349,16 +370,10 @@ CONFIG_FW_LOADER=y | |||
349 | # | 370 | # |
350 | # Block devices | 371 | # Block devices |
351 | # | 372 | # |
352 | # CONFIG_BLK_CPQ_DA is not set | ||
353 | # CONFIG_BLK_CPQ_CISS_DA is not set | ||
354 | # CONFIG_BLK_DEV_DAC960 is not set | ||
355 | # CONFIG_BLK_DEV_UMEM is not set | ||
356 | # CONFIG_BLK_DEV_COW_COMMON is not set | 373 | # CONFIG_BLK_DEV_COW_COMMON is not set |
357 | CONFIG_BLK_DEV_LOOP=y | 374 | CONFIG_BLK_DEV_LOOP=y |
358 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | 375 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set |
359 | # CONFIG_BLK_DEV_NBD is not set | 376 | # CONFIG_BLK_DEV_NBD is not set |
360 | # CONFIG_BLK_DEV_SX8 is not set | ||
361 | # CONFIG_BLK_DEV_UB is not set | ||
362 | CONFIG_BLK_DEV_RAM=y | 377 | CONFIG_BLK_DEV_RAM=y |
363 | CONFIG_BLK_DEV_RAM_COUNT=16 | 378 | CONFIG_BLK_DEV_RAM_COUNT=16 |
364 | CONFIG_BLK_DEV_RAM_SIZE=8192 | 379 | CONFIG_BLK_DEV_RAM_SIZE=8192 |
@@ -388,38 +403,8 @@ CONFIG_BLK_DEV_IDESCSI=y | |||
388 | # IDE chipset support/bugfixes | 403 | # IDE chipset support/bugfixes |
389 | # | 404 | # |
390 | CONFIG_IDE_GENERIC=y | 405 | CONFIG_IDE_GENERIC=y |
391 | CONFIG_BLK_DEV_IDEPCI=y | ||
392 | CONFIG_IDEPCI_SHARE_IRQ=y | ||
393 | CONFIG_BLK_DEV_OFFBOARD=y | ||
394 | CONFIG_BLK_DEV_GENERIC=y | ||
395 | # CONFIG_BLK_DEV_OPTI621 is not set | ||
396 | CONFIG_BLK_DEV_IDEDMA_PCI=y | ||
397 | # CONFIG_BLK_DEV_IDEDMA_FORCED is not set | ||
398 | # CONFIG_IDEDMA_PCI_AUTO is not set | ||
399 | # CONFIG_BLK_DEV_AEC62XX is not set | ||
400 | # CONFIG_BLK_DEV_ALI15X3 is not set | ||
401 | # CONFIG_BLK_DEV_AMD74XX is not set | ||
402 | # CONFIG_BLK_DEV_CMD64X is not set | ||
403 | # CONFIG_BLK_DEV_TRIFLEX is not set | ||
404 | # CONFIG_BLK_DEV_CY82C693 is not set | ||
405 | # CONFIG_BLK_DEV_CS5520 is not set | ||
406 | # CONFIG_BLK_DEV_CS5530 is not set | ||
407 | # CONFIG_BLK_DEV_HPT34X is not set | ||
408 | CONFIG_BLK_DEV_HPT366=y | ||
409 | # CONFIG_BLK_DEV_SC1200 is not set | ||
410 | # CONFIG_BLK_DEV_PIIX is not set | ||
411 | # CONFIG_BLK_DEV_IT821X is not set | ||
412 | # CONFIG_BLK_DEV_NS87415 is not set | ||
413 | # CONFIG_BLK_DEV_PDC202XX_OLD is not set | ||
414 | # CONFIG_BLK_DEV_PDC202XX_NEW is not set | ||
415 | # CONFIG_BLK_DEV_SVWKS is not set | ||
416 | # CONFIG_BLK_DEV_SIIMAGE is not set | ||
417 | # CONFIG_BLK_DEV_SLC90E66 is not set | ||
418 | # CONFIG_BLK_DEV_TRM290 is not set | ||
419 | # CONFIG_BLK_DEV_VIA82CXXX is not set | ||
420 | # CONFIG_IDE_ARM is not set | 406 | # CONFIG_IDE_ARM is not set |
421 | CONFIG_BLK_DEV_IDEDMA=y | 407 | # CONFIG_BLK_DEV_IDEDMA is not set |
422 | # CONFIG_IDEDMA_IVB is not set | ||
423 | # CONFIG_IDEDMA_AUTO is not set | 408 | # CONFIG_IDEDMA_AUTO is not set |
424 | # CONFIG_BLK_DEV_HD is not set | 409 | # CONFIG_BLK_DEV_HD is not set |
425 | 410 | ||
@@ -459,31 +444,8 @@ CONFIG_SCSI_ISCSI_ATTRS=m | |||
459 | # SCSI low-level drivers | 444 | # SCSI low-level drivers |
460 | # | 445 | # |
461 | CONFIG_ISCSI_TCP=m | 446 | CONFIG_ISCSI_TCP=m |
462 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set | 447 | # CONFIG_SGIWD93_SCSI is not set |
463 | # CONFIG_SCSI_3W_9XXX is not set | ||
464 | # CONFIG_SCSI_ACARD is not set | ||
465 | # CONFIG_SCSI_AACRAID is not set | ||
466 | # CONFIG_SCSI_AIC7XXX is not set | ||
467 | # CONFIG_SCSI_AIC7XXX_OLD is not set | ||
468 | # CONFIG_SCSI_AIC79XX is not set | ||
469 | # CONFIG_SCSI_DPT_I2O is not set | ||
470 | # CONFIG_MEGARAID_NEWGEN is not set | ||
471 | # CONFIG_MEGARAID_LEGACY is not set | ||
472 | # CONFIG_MEGARAID_SAS is not set | ||
473 | # CONFIG_SCSI_SATA is not set | 448 | # CONFIG_SCSI_SATA is not set |
474 | # CONFIG_SCSI_DMX3191D is not set | ||
475 | # CONFIG_SCSI_FUTURE_DOMAIN is not set | ||
476 | # CONFIG_SCSI_IPS is not set | ||
477 | # CONFIG_SCSI_INITIO is not set | ||
478 | # CONFIG_SCSI_INIA100 is not set | ||
479 | # CONFIG_SCSI_SYM53C8XX_2 is not set | ||
480 | # CONFIG_SCSI_IPR is not set | ||
481 | # CONFIG_SCSI_QLOGIC_1280 is not set | ||
482 | # CONFIG_SCSI_QLA_FC is not set | ||
483 | # CONFIG_SCSI_LPFC is not set | ||
484 | # CONFIG_SCSI_DC395x is not set | ||
485 | # CONFIG_SCSI_DC390T is not set | ||
486 | # CONFIG_SCSI_NSP32 is not set | ||
487 | # CONFIG_SCSI_DEBUG is not set | 449 | # CONFIG_SCSI_DEBUG is not set |
488 | 450 | ||
489 | # | 451 | # |
@@ -495,19 +457,14 @@ CONFIG_ISCSI_TCP=m | |||
495 | # Fusion MPT device support | 457 | # Fusion MPT device support |
496 | # | 458 | # |
497 | # CONFIG_FUSION is not set | 459 | # CONFIG_FUSION is not set |
498 | # CONFIG_FUSION_SPI is not set | ||
499 | # CONFIG_FUSION_FC is not set | ||
500 | # CONFIG_FUSION_SAS is not set | ||
501 | 460 | ||
502 | # | 461 | # |
503 | # IEEE 1394 (FireWire) support | 462 | # IEEE 1394 (FireWire) support |
504 | # | 463 | # |
505 | # CONFIG_IEEE1394 is not set | ||
506 | 464 | ||
507 | # | 465 | # |
508 | # I2O device support | 466 | # I2O device support |
509 | # | 467 | # |
510 | # CONFIG_I2O is not set | ||
511 | 468 | ||
512 | # | 469 | # |
513 | # Network device support | 470 | # Network device support |
@@ -519,11 +476,6 @@ CONFIG_NETDEVICES=y | |||
519 | # CONFIG_TUN is not set | 476 | # CONFIG_TUN is not set |
520 | 477 | ||
521 | # | 478 | # |
522 | # ARCnet devices | ||
523 | # | ||
524 | # CONFIG_ARCNET is not set | ||
525 | |||
526 | # | ||
527 | # PHY device support | 479 | # PHY device support |
528 | # | 480 | # |
529 | # CONFIG_PHYLIB is not set | 481 | # CONFIG_PHYLIB is not set |
@@ -533,71 +485,20 @@ CONFIG_NETDEVICES=y | |||
533 | # | 485 | # |
534 | CONFIG_NET_ETHERNET=y | 486 | CONFIG_NET_ETHERNET=y |
535 | CONFIG_MII=y | 487 | CONFIG_MII=y |
536 | # CONFIG_HAPPYMEAL is not set | ||
537 | # CONFIG_SUNGEM is not set | ||
538 | # CONFIG_CASSINI is not set | ||
539 | # CONFIG_NET_VENDOR_3COM is not set | ||
540 | # CONFIG_DM9000 is not set | 488 | # CONFIG_DM9000 is not set |
541 | 489 | # CONFIG_SGISEEQ is not set | |
542 | # | ||
543 | # Tulip family network device support | ||
544 | # | ||
545 | # CONFIG_NET_TULIP is not set | ||
546 | # CONFIG_HP100 is not set | ||
547 | CONFIG_NET_PCI=y | ||
548 | # CONFIG_PCNET32 is not set | ||
549 | # CONFIG_AMD8111_ETH is not set | ||
550 | # CONFIG_ADAPTEC_STARFIRE is not set | ||
551 | # CONFIG_B44 is not set | ||
552 | # CONFIG_FORCEDETH is not set | ||
553 | # CONFIG_DGRS is not set | ||
554 | # CONFIG_EEPRO100 is not set | ||
555 | # CONFIG_E100 is not set | ||
556 | # CONFIG_FEALNX is not set | ||
557 | # CONFIG_NATSEMI is not set | ||
558 | # CONFIG_NE2K_PCI is not set | ||
559 | # CONFIG_8139CP is not set | ||
560 | CONFIG_8139TOO=y | ||
561 | # CONFIG_8139TOO_PIO is not set | ||
562 | CONFIG_8139TOO_TUNE_TWISTER=y | ||
563 | CONFIG_8139TOO_8129=y | ||
564 | # CONFIG_8139_OLD_RX_RESET is not set | ||
565 | # CONFIG_SIS900 is not set | ||
566 | # CONFIG_EPIC100 is not set | ||
567 | # CONFIG_SUNDANCE is not set | ||
568 | # CONFIG_TLAN is not set | ||
569 | # CONFIG_VIA_RHINE is not set | ||
570 | # CONFIG_LAN_SAA9730 is not set | ||
571 | 490 | ||
572 | # | 491 | # |
573 | # Ethernet (1000 Mbit) | 492 | # Ethernet (1000 Mbit) |
574 | # | 493 | # |
575 | # CONFIG_ACENIC is not set | ||
576 | # CONFIG_DL2K is not set | ||
577 | # CONFIG_E1000 is not set | ||
578 | # CONFIG_NS83820 is not set | ||
579 | # CONFIG_HAMACHI is not set | ||
580 | # CONFIG_YELLOWFIN is not set | ||
581 | # CONFIG_R8169 is not set | ||
582 | # CONFIG_SIS190 is not set | ||
583 | # CONFIG_SKGE is not set | ||
584 | # CONFIG_SKY2 is not set | ||
585 | # CONFIG_SK98LIN is not set | ||
586 | # CONFIG_VIA_VELOCITY is not set | ||
587 | # CONFIG_TIGON3 is not set | ||
588 | # CONFIG_BNX2 is not set | ||
589 | 494 | ||
590 | # | 495 | # |
591 | # Ethernet (10000 Mbit) | 496 | # Ethernet (10000 Mbit) |
592 | # | 497 | # |
593 | # CONFIG_CHELSIO_T1 is not set | ||
594 | # CONFIG_IXGB is not set | ||
595 | # CONFIG_S2IO is not set | ||
596 | 498 | ||
597 | # | 499 | # |
598 | # Token Ring devices | 500 | # Token Ring devices |
599 | # | 501 | # |
600 | # CONFIG_TR is not set | ||
601 | 502 | ||
602 | # | 503 | # |
603 | # Wireless LAN (non-hamradio) | 504 | # Wireless LAN (non-hamradio) |
@@ -608,11 +509,8 @@ CONFIG_8139TOO_8129=y | |||
608 | # Wan interfaces | 509 | # Wan interfaces |
609 | # | 510 | # |
610 | # CONFIG_WAN is not set | 511 | # CONFIG_WAN is not set |
611 | # CONFIG_FDDI is not set | ||
612 | # CONFIG_HIPPI is not set | ||
613 | # CONFIG_PPP is not set | 512 | # CONFIG_PPP is not set |
614 | # CONFIG_SLIP is not set | 513 | # CONFIG_SLIP is not set |
615 | # CONFIG_NET_FC is not set | ||
616 | # CONFIG_SHAPER is not set | 514 | # CONFIG_SHAPER is not set |
617 | # CONFIG_NETCONSOLE is not set | 515 | # CONFIG_NETCONSOLE is not set |
618 | # CONFIG_NETPOLL is not set | 516 | # CONFIG_NETPOLL is not set |
@@ -657,7 +555,6 @@ CONFIG_INPUT=y | |||
657 | CONFIG_SERIO=y | 555 | CONFIG_SERIO=y |
658 | # CONFIG_SERIO_I8042 is not set | 556 | # CONFIG_SERIO_I8042 is not set |
659 | # CONFIG_SERIO_SERPORT is not set | 557 | # CONFIG_SERIO_SERPORT is not set |
660 | # CONFIG_SERIO_PCIPS2 is not set | ||
661 | CONFIG_SERIO_LIBPS2=y | 558 | CONFIG_SERIO_LIBPS2=y |
662 | # CONFIG_SERIO_RAW is not set | 559 | # CONFIG_SERIO_RAW is not set |
663 | # CONFIG_GAMEPORT is not set | 560 | # CONFIG_GAMEPORT is not set |
@@ -668,6 +565,7 @@ CONFIG_SERIO_LIBPS2=y | |||
668 | CONFIG_VT=y | 565 | CONFIG_VT=y |
669 | CONFIG_VT_CONSOLE=y | 566 | CONFIG_VT_CONSOLE=y |
670 | CONFIG_HW_CONSOLE=y | 567 | CONFIG_HW_CONSOLE=y |
568 | CONFIG_VT_HW_CONSOLE_BINDING=y | ||
671 | # CONFIG_SERIAL_NONSTANDARD is not set | 569 | # CONFIG_SERIAL_NONSTANDARD is not set |
672 | 570 | ||
673 | # | 571 | # |
@@ -678,8 +576,7 @@ CONFIG_HW_CONSOLE=y | |||
678 | # | 576 | # |
679 | # Non-8250 serial port support | 577 | # Non-8250 serial port support |
680 | # | 578 | # |
681 | # CONFIG_SERIAL_IP3106 is not set | 579 | # CONFIG_SERIAL_IP22_ZILOG is not set |
682 | # CONFIG_SERIAL_JSM is not set | ||
683 | CONFIG_UNIX98_PTYS=y | 580 | CONFIG_UNIX98_PTYS=y |
684 | CONFIG_LEGACY_PTYS=y | 581 | CONFIG_LEGACY_PTYS=y |
685 | CONFIG_LEGACY_PTY_COUNT=256 | 582 | CONFIG_LEGACY_PTY_COUNT=256 |
@@ -693,16 +590,16 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
693 | # Watchdog Cards | 590 | # Watchdog Cards |
694 | # | 591 | # |
695 | # CONFIG_WATCHDOG is not set | 592 | # CONFIG_WATCHDOG is not set |
593 | # CONFIG_HW_RANDOM is not set | ||
696 | # CONFIG_RTC is not set | 594 | # CONFIG_RTC is not set |
595 | # CONFIG_SGI_DS1286 is not set | ||
697 | # CONFIG_GEN_RTC is not set | 596 | # CONFIG_GEN_RTC is not set |
698 | # CONFIG_DTLK is not set | 597 | # CONFIG_DTLK is not set |
699 | # CONFIG_R3964 is not set | 598 | # CONFIG_R3964 is not set |
700 | # CONFIG_APPLICOM is not set | ||
701 | 599 | ||
702 | # | 600 | # |
703 | # Ftape, the floppy tape device driver | 601 | # Ftape, the floppy tape device driver |
704 | # | 602 | # |
705 | # CONFIG_DRM is not set | ||
706 | # CONFIG_RAW_DRIVER is not set | 603 | # CONFIG_RAW_DRIVER is not set |
707 | 604 | ||
708 | # | 605 | # |
@@ -725,13 +622,13 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
725 | # | 622 | # |
726 | # Dallas's 1-wire bus | 623 | # Dallas's 1-wire bus |
727 | # | 624 | # |
728 | # CONFIG_W1 is not set | ||
729 | 625 | ||
730 | # | 626 | # |
731 | # Hardware Monitoring support | 627 | # Hardware Monitoring support |
732 | # | 628 | # |
733 | CONFIG_HWMON=y | 629 | CONFIG_HWMON=y |
734 | # CONFIG_HWMON_VID is not set | 630 | # CONFIG_HWMON_VID is not set |
631 | # CONFIG_SENSORS_ABITUGURU is not set | ||
735 | # CONFIG_SENSORS_F71805F is not set | 632 | # CONFIG_SENSORS_F71805F is not set |
736 | # CONFIG_HWMON_DEBUG_CHIP is not set | 633 | # CONFIG_HWMON_DEBUG_CHIP is not set |
737 | 634 | ||
@@ -743,22 +640,24 @@ CONFIG_HWMON=y | |||
743 | # Multimedia devices | 640 | # Multimedia devices |
744 | # | 641 | # |
745 | # CONFIG_VIDEO_DEV is not set | 642 | # CONFIG_VIDEO_DEV is not set |
643 | CONFIG_VIDEO_V4L2=y | ||
746 | 644 | ||
747 | # | 645 | # |
748 | # Digital Video Broadcasting Devices | 646 | # Digital Video Broadcasting Devices |
749 | # | 647 | # |
750 | # CONFIG_DVB is not set | 648 | # CONFIG_DVB is not set |
751 | # CONFIG_USB_DABUSB is not set | ||
752 | 649 | ||
753 | # | 650 | # |
754 | # Graphics support | 651 | # Graphics support |
755 | # | 652 | # |
653 | # CONFIG_FIRMWARE_EDID is not set | ||
756 | # CONFIG_FB is not set | 654 | # CONFIG_FB is not set |
757 | 655 | ||
758 | # | 656 | # |
759 | # Console display driver support | 657 | # Console display driver support |
760 | # | 658 | # |
761 | # CONFIG_VGA_CONSOLE is not set | 659 | # CONFIG_VGA_CONSOLE is not set |
660 | # CONFIG_SGI_NEWPORT_CONSOLE is not set | ||
762 | CONFIG_DUMMY_CONSOLE=y | 661 | CONFIG_DUMMY_CONSOLE=y |
763 | 662 | ||
764 | # | 663 | # |
@@ -769,126 +668,15 @@ CONFIG_DUMMY_CONSOLE=y | |||
769 | # | 668 | # |
770 | # USB support | 669 | # USB support |
771 | # | 670 | # |
772 | CONFIG_USB_ARCH_HAS_HCD=y | 671 | # CONFIG_USB_ARCH_HAS_HCD is not set |
773 | CONFIG_USB_ARCH_HAS_OHCI=y | 672 | # CONFIG_USB_ARCH_HAS_OHCI is not set |
774 | CONFIG_USB_ARCH_HAS_EHCI=y | 673 | # CONFIG_USB_ARCH_HAS_EHCI is not set |
775 | CONFIG_USB=y | ||
776 | # CONFIG_USB_DEBUG is not set | ||
777 | |||
778 | # | ||
779 | # Miscellaneous USB options | ||
780 | # | ||
781 | # CONFIG_USB_DEVICEFS is not set | ||
782 | # CONFIG_USB_BANDWIDTH is not set | ||
783 | # CONFIG_USB_DYNAMIC_MINORS is not set | ||
784 | # CONFIG_USB_OTG is not set | ||
785 | |||
786 | # | ||
787 | # USB Host Controller Drivers | ||
788 | # | ||
789 | # CONFIG_USB_EHCI_HCD is not set | ||
790 | # CONFIG_USB_ISP116X_HCD is not set | ||
791 | CONFIG_USB_OHCI_HCD=y | ||
792 | # CONFIG_USB_OHCI_BIG_ENDIAN is not set | ||
793 | CONFIG_USB_OHCI_LITTLE_ENDIAN=y | ||
794 | # CONFIG_USB_UHCI_HCD is not set | ||
795 | # CONFIG_USB_SL811_HCD is not set | ||
796 | |||
797 | # | ||
798 | # USB Device Class drivers | ||
799 | # | ||
800 | # CONFIG_USB_ACM is not set | ||
801 | # CONFIG_USB_PRINTER is not set | ||
802 | 674 | ||
803 | # | 675 | # |
804 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 676 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' |
805 | # | 677 | # |
806 | 678 | ||
807 | # | 679 | # |
808 | # may also be needed; see USB_STORAGE Help for more information | ||
809 | # | ||
810 | CONFIG_USB_STORAGE=y | ||
811 | # CONFIG_USB_STORAGE_DEBUG is not set | ||
812 | CONFIG_USB_STORAGE_DATAFAB=y | ||
813 | CONFIG_USB_STORAGE_FREECOM=y | ||
814 | CONFIG_USB_STORAGE_ISD200=y | ||
815 | CONFIG_USB_STORAGE_DPCM=y | ||
816 | CONFIG_USB_STORAGE_USBAT=y | ||
817 | CONFIG_USB_STORAGE_SDDR09=y | ||
818 | CONFIG_USB_STORAGE_SDDR55=y | ||
819 | CONFIG_USB_STORAGE_JUMPSHOT=y | ||
820 | # CONFIG_USB_STORAGE_ALAUDA is not set | ||
821 | # CONFIG_USB_LIBUSUAL is not set | ||
822 | |||
823 | # | ||
824 | # USB Input Devices | ||
825 | # | ||
826 | # CONFIG_USB_HID is not set | ||
827 | |||
828 | # | ||
829 | # USB HID Boot Protocol drivers | ||
830 | # | ||
831 | # CONFIG_USB_KBD is not set | ||
832 | # CONFIG_USB_MOUSE is not set | ||
833 | # CONFIG_USB_AIPTEK is not set | ||
834 | # CONFIG_USB_WACOM is not set | ||
835 | # CONFIG_USB_ACECAD is not set | ||
836 | # CONFIG_USB_KBTAB is not set | ||
837 | # CONFIG_USB_POWERMATE is not set | ||
838 | # CONFIG_USB_TOUCHSCREEN is not set | ||
839 | # CONFIG_USB_YEALINK is not set | ||
840 | # CONFIG_USB_XPAD is not set | ||
841 | # CONFIG_USB_ATI_REMOTE is not set | ||
842 | # CONFIG_USB_ATI_REMOTE2 is not set | ||
843 | # CONFIG_USB_KEYSPAN_REMOTE is not set | ||
844 | # CONFIG_USB_APPLETOUCH is not set | ||
845 | |||
846 | # | ||
847 | # USB Imaging devices | ||
848 | # | ||
849 | # CONFIG_USB_MDC800 is not set | ||
850 | # CONFIG_USB_MICROTEK is not set | ||
851 | |||
852 | # | ||
853 | # USB Network Adapters | ||
854 | # | ||
855 | # CONFIG_USB_CATC is not set | ||
856 | # CONFIG_USB_KAWETH is not set | ||
857 | # CONFIG_USB_PEGASUS is not set | ||
858 | # CONFIG_USB_RTL8150 is not set | ||
859 | # CONFIG_USB_USBNET is not set | ||
860 | CONFIG_USB_MON=y | ||
861 | |||
862 | # | ||
863 | # USB port drivers | ||
864 | # | ||
865 | |||
866 | # | ||
867 | # USB Serial Converter support | ||
868 | # | ||
869 | # CONFIG_USB_SERIAL is not set | ||
870 | |||
871 | # | ||
872 | # USB Miscellaneous drivers | ||
873 | # | ||
874 | # CONFIG_USB_EMI62 is not set | ||
875 | # CONFIG_USB_EMI26 is not set | ||
876 | # CONFIG_USB_AUERSWALD is not set | ||
877 | # CONFIG_USB_RIO500 is not set | ||
878 | # CONFIG_USB_LEGOTOWER is not set | ||
879 | # CONFIG_USB_LCD is not set | ||
880 | # CONFIG_USB_LED is not set | ||
881 | # CONFIG_USB_CYTHERM is not set | ||
882 | # CONFIG_USB_PHIDGETKIT is not set | ||
883 | # CONFIG_USB_PHIDGETSERVO is not set | ||
884 | # CONFIG_USB_IDMOUSE is not set | ||
885 | # CONFIG_USB_LD is not set | ||
886 | |||
887 | # | ||
888 | # USB DSL modem support | ||
889 | # | ||
890 | |||
891 | # | ||
892 | # USB Gadget Support | 680 | # USB Gadget Support |
893 | # | 681 | # |
894 | # CONFIG_USB_GADGET is not set | 682 | # CONFIG_USB_GADGET is not set |
@@ -914,7 +702,6 @@ CONFIG_USB_MON=y | |||
914 | # | 702 | # |
915 | # InfiniBand support | 703 | # InfiniBand support |
916 | # | 704 | # |
917 | # CONFIG_INFINIBAND is not set | ||
918 | 705 | ||
919 | # | 706 | # |
920 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | 707 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) |
@@ -926,6 +713,19 @@ CONFIG_USB_MON=y | |||
926 | # CONFIG_RTC_CLASS is not set | 713 | # CONFIG_RTC_CLASS is not set |
927 | 714 | ||
928 | # | 715 | # |
716 | # DMA Engine support | ||
717 | # | ||
718 | # CONFIG_DMA_ENGINE is not set | ||
719 | |||
720 | # | ||
721 | # DMA Clients | ||
722 | # | ||
723 | |||
724 | # | ||
725 | # DMA Devices | ||
726 | # | ||
727 | |||
728 | # | ||
929 | # File systems | 729 | # File systems |
930 | # | 730 | # |
931 | CONFIG_EXT2_FS=y | 731 | CONFIG_EXT2_FS=y |
@@ -940,6 +740,7 @@ CONFIG_EXT2_FS=y | |||
940 | # CONFIG_MINIX_FS is not set | 740 | # CONFIG_MINIX_FS is not set |
941 | # CONFIG_ROMFS_FS is not set | 741 | # CONFIG_ROMFS_FS is not set |
942 | CONFIG_INOTIFY=y | 742 | CONFIG_INOTIFY=y |
743 | CONFIG_INOTIFY_USER=y | ||
943 | # CONFIG_QUOTA is not set | 744 | # CONFIG_QUOTA is not set |
944 | # CONFIG_DNOTIFY is not set | 745 | # CONFIG_DNOTIFY is not set |
945 | # CONFIG_AUTOFS_FS is not set | 746 | # CONFIG_AUTOFS_FS is not set |
@@ -1011,6 +812,7 @@ CONFIG_SUNRPC=y | |||
1011 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 812 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1012 | # CONFIG_SMB_FS is not set | 813 | # CONFIG_SMB_FS is not set |
1013 | # CONFIG_CIFS is not set | 814 | # CONFIG_CIFS is not set |
815 | # CONFIG_CIFS_DEBUG2 is not set | ||
1014 | # CONFIG_NCP_FS is not set | 816 | # CONFIG_NCP_FS is not set |
1015 | # CONFIG_CODA_FS is not set | 817 | # CONFIG_CODA_FS is not set |
1016 | # CONFIG_AFS_FS is not set | 818 | # CONFIG_AFS_FS is not set |
@@ -1021,6 +823,7 @@ CONFIG_SUNRPC=y | |||
1021 | # | 823 | # |
1022 | # CONFIG_PARTITION_ADVANCED is not set | 824 | # CONFIG_PARTITION_ADVANCED is not set |
1023 | CONFIG_MSDOS_PARTITION=y | 825 | CONFIG_MSDOS_PARTITION=y |
826 | CONFIG_SGI_PARTITION=y | ||
1024 | 827 | ||
1025 | # | 828 | # |
1026 | # Native Language Support | 829 | # Native Language Support |
@@ -1076,15 +879,20 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
1076 | # | 879 | # |
1077 | # CONFIG_PRINTK_TIME is not set | 880 | # CONFIG_PRINTK_TIME is not set |
1078 | CONFIG_MAGIC_SYSRQ=y | 881 | CONFIG_MAGIC_SYSRQ=y |
882 | # CONFIG_UNUSED_SYMBOLS is not set | ||
1079 | CONFIG_DEBUG_KERNEL=y | 883 | CONFIG_DEBUG_KERNEL=y |
1080 | CONFIG_LOG_BUF_SHIFT=14 | 884 | CONFIG_LOG_BUF_SHIFT=14 |
1081 | CONFIG_DETECT_SOFTLOCKUP=y | 885 | CONFIG_DETECT_SOFTLOCKUP=y |
1082 | # CONFIG_SCHEDSTATS is not set | 886 | # CONFIG_SCHEDSTATS is not set |
1083 | CONFIG_DEBUG_SLAB=y | 887 | CONFIG_DEBUG_SLAB=y |
1084 | # CONFIG_DEBUG_SLAB_LEAK is not set | 888 | # CONFIG_DEBUG_SLAB_LEAK is not set |
1085 | CONFIG_DEBUG_MUTEXES=y | 889 | # CONFIG_DEBUG_RT_MUTEXES is not set |
890 | # CONFIG_RT_MUTEX_TESTER is not set | ||
1086 | # CONFIG_DEBUG_SPINLOCK is not set | 891 | # CONFIG_DEBUG_SPINLOCK is not set |
892 | CONFIG_DEBUG_MUTEXES=y | ||
893 | # CONFIG_DEBUG_RWSEMS is not set | ||
1087 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | 894 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set |
895 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | ||
1088 | # CONFIG_DEBUG_KOBJECT is not set | 896 | # CONFIG_DEBUG_KOBJECT is not set |
1089 | # CONFIG_DEBUG_INFO is not set | 897 | # CONFIG_DEBUG_INFO is not set |
1090 | # CONFIG_DEBUG_FS is not set | 898 | # CONFIG_DEBUG_FS is not set |
@@ -1144,3 +952,4 @@ CONFIG_CRC_CCITT=m | |||
1144 | # CONFIG_CRC16 is not set | 952 | # CONFIG_CRC16 is not set |
1145 | CONFIG_CRC32=y | 953 | CONFIG_CRC32=y |
1146 | CONFIG_LIBCRC32C=m | 954 | CONFIG_LIBCRC32C=m |
955 | CONFIG_PLIST=y | ||
diff --git a/arch/mips/configs/pnx8550-v2pci_defconfig b/arch/mips/configs/pnx8550-v2pci_defconfig index fe092ac92e89..a8eb51bae3f3 100644 --- a/arch/mips/configs/pnx8550-v2pci_defconfig +++ b/arch/mips/configs/pnx8550-v2pci_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17-rc2 | 3 | # Linux kernel version: 2.6.18-rc1 |
4 | # Mon Apr 24 14:51:14 2006 | 4 | # Thu Jul 6 10:04:18 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -21,6 +21,7 @@ CONFIG_MIPS=y | |||
21 | # CONFIG_MIPS_DB1550 is not set | 21 | # CONFIG_MIPS_DB1550 is not set |
22 | # CONFIG_MIPS_DB1200 is not set | 22 | # CONFIG_MIPS_DB1200 is not set |
23 | # CONFIG_MIPS_MIRAGE is not set | 23 | # CONFIG_MIPS_MIRAGE is not set |
24 | # CONFIG_BASLER_EXCITE is not set | ||
24 | # CONFIG_MIPS_COBALT is not set | 25 | # CONFIG_MIPS_COBALT is not set |
25 | # CONFIG_MACH_DECSTATION is not set | 26 | # CONFIG_MACH_DECSTATION is not set |
26 | # CONFIG_MIPS_EV64120 is not set | 27 | # CONFIG_MIPS_EV64120 is not set |
@@ -32,6 +33,7 @@ CONFIG_MIPS=y | |||
32 | # CONFIG_MIPS_ATLAS is not set | 33 | # CONFIG_MIPS_ATLAS is not set |
33 | # CONFIG_MIPS_MALTA is not set | 34 | # CONFIG_MIPS_MALTA is not set |
34 | # CONFIG_MIPS_SEAD is not set | 35 | # CONFIG_MIPS_SEAD is not set |
36 | # CONFIG_WR_PPMC is not set | ||
35 | # CONFIG_MIPS_SIM is not set | 37 | # CONFIG_MIPS_SIM is not set |
36 | # CONFIG_MOMENCO_JAGUAR_ATX is not set | 38 | # CONFIG_MOMENCO_JAGUAR_ATX is not set |
37 | # CONFIG_MOMENCO_OCELOT is not set | 39 | # CONFIG_MOMENCO_OCELOT is not set |
@@ -39,13 +41,14 @@ CONFIG_MIPS=y | |||
39 | # CONFIG_MOMENCO_OCELOT_C is not set | 41 | # CONFIG_MOMENCO_OCELOT_C is not set |
40 | # CONFIG_MOMENCO_OCELOT_G is not set | 42 | # CONFIG_MOMENCO_OCELOT_G is not set |
41 | # CONFIG_MIPS_XXS1500 is not set | 43 | # CONFIG_MIPS_XXS1500 is not set |
42 | CONFIG_PNX8550_V2PCI=y | 44 | # CONFIG_PNX8550_V2PCI is not set |
43 | # CONFIG_PNX8550_JBS is not set | 45 | # CONFIG_PNX8550_JBS is not set |
44 | # CONFIG_DDB5477 is not set | 46 | # CONFIG_DDB5477 is not set |
45 | # CONFIG_MACH_VR41XX is not set | 47 | # CONFIG_MACH_VR41XX is not set |
46 | # CONFIG_PMC_YOSEMITE is not set | 48 | # CONFIG_PMC_YOSEMITE is not set |
47 | # CONFIG_QEMU is not set | 49 | # CONFIG_QEMU is not set |
48 | # CONFIG_SGI_IP22 is not set | 50 | # CONFIG_MARKEINS is not set |
51 | CONFIG_SGI_IP22=y | ||
49 | # CONFIG_SGI_IP27 is not set | 52 | # CONFIG_SGI_IP27 is not set |
50 | # CONFIG_SGI_IP32 is not set | 53 | # CONFIG_SGI_IP32 is not set |
51 | # CONFIG_SIBYTE_BIGSUR is not set | 54 | # CONFIG_SIBYTE_BIGSUR is not set |
@@ -65,19 +68,25 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y | |||
65 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 68 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
66 | CONFIG_GENERIC_HWEIGHT=y | 69 | CONFIG_GENERIC_HWEIGHT=y |
67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 70 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
71 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
72 | CONFIG_ARC=y | ||
68 | CONFIG_DMA_NONCOHERENT=y | 73 | CONFIG_DMA_NONCOHERENT=y |
69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 74 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
70 | # CONFIG_CPU_BIG_ENDIAN is not set | 75 | CONFIG_CPU_BIG_ENDIAN=y |
71 | CONFIG_CPU_LITTLE_ENDIAN=y | 76 | # CONFIG_CPU_LITTLE_ENDIAN is not set |
72 | CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y | 77 | CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y |
73 | CONFIG_PNX8550=y | 78 | CONFIG_IRQ_CPU=y |
74 | CONFIG_SOC_PNX8550=y | 79 | CONFIG_SWAP_IO_SPACE=y |
80 | CONFIG_ARC32=y | ||
81 | CONFIG_BOOT_ELF32=y | ||
75 | CONFIG_MIPS_L1_CACHE_SHIFT=5 | 82 | CONFIG_MIPS_L1_CACHE_SHIFT=5 |
83 | # CONFIG_ARC_CONSOLE is not set | ||
84 | CONFIG_ARC_PROMLIB=y | ||
76 | 85 | ||
77 | # | 86 | # |
78 | # CPU selection | 87 | # CPU selection |
79 | # | 88 | # |
80 | CONFIG_CPU_MIPS32_R1=y | 89 | # CONFIG_CPU_MIPS32_R1 is not set |
81 | # CONFIG_CPU_MIPS32_R2 is not set | 90 | # CONFIG_CPU_MIPS32_R2 is not set |
82 | # CONFIG_CPU_MIPS64_R1 is not set | 91 | # CONFIG_CPU_MIPS64_R1 is not set |
83 | # CONFIG_CPU_MIPS64_R2 is not set | 92 | # CONFIG_CPU_MIPS64_R2 is not set |
@@ -85,7 +94,7 @@ CONFIG_CPU_MIPS32_R1=y | |||
85 | # CONFIG_CPU_TX39XX is not set | 94 | # CONFIG_CPU_TX39XX is not set |
86 | # CONFIG_CPU_VR41XX is not set | 95 | # CONFIG_CPU_VR41XX is not set |
87 | # CONFIG_CPU_R4300 is not set | 96 | # CONFIG_CPU_R4300 is not set |
88 | # CONFIG_CPU_R4X00 is not set | 97 | CONFIG_CPU_R4X00=y |
89 | # CONFIG_CPU_TX49XX is not set | 98 | # CONFIG_CPU_TX49XX is not set |
90 | # CONFIG_CPU_R5000 is not set | 99 | # CONFIG_CPU_R5000 is not set |
91 | # CONFIG_CPU_R5432 is not set | 100 | # CONFIG_CPU_R5432 is not set |
@@ -96,11 +105,12 @@ CONFIG_CPU_MIPS32_R1=y | |||
96 | # CONFIG_CPU_RM7000 is not set | 105 | # CONFIG_CPU_RM7000 is not set |
97 | # CONFIG_CPU_RM9000 is not set | 106 | # CONFIG_CPU_RM9000 is not set |
98 | # CONFIG_CPU_SB1 is not set | 107 | # CONFIG_CPU_SB1 is not set |
99 | CONFIG_SYS_HAS_CPU_MIPS32_R1=y | 108 | CONFIG_SYS_HAS_CPU_R4X00=y |
100 | CONFIG_CPU_MIPS32=y | 109 | CONFIG_SYS_HAS_CPU_R5000=y |
101 | CONFIG_CPU_MIPSR1=y | ||
102 | CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y | 110 | CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y |
111 | CONFIG_SYS_SUPPORTS_64BIT_KERNEL=y | ||
103 | CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y | 112 | CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y |
113 | CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y | ||
104 | 114 | ||
105 | # | 115 | # |
106 | # Kernel type | 116 | # Kernel type |
@@ -111,14 +121,17 @@ CONFIG_PAGE_SIZE_4KB=y | |||
111 | # CONFIG_PAGE_SIZE_8KB is not set | 121 | # CONFIG_PAGE_SIZE_8KB is not set |
112 | # CONFIG_PAGE_SIZE_16KB is not set | 122 | # CONFIG_PAGE_SIZE_16KB is not set |
113 | # CONFIG_PAGE_SIZE_64KB is not set | 123 | # CONFIG_PAGE_SIZE_64KB is not set |
114 | CONFIG_CPU_HAS_PREFETCH=y | 124 | CONFIG_BOARD_SCACHE=y |
115 | # CONFIG_MIPS_MT is not set | 125 | CONFIG_IP22_CPU_SCACHE=y |
126 | CONFIG_MIPS_MT_DISABLED=y | ||
127 | # CONFIG_MIPS_MT_SMTC is not set | ||
128 | # CONFIG_MIPS_MT_SMP is not set | ||
129 | # CONFIG_MIPS_VPE_LOADER is not set | ||
116 | # CONFIG_64BIT_PHYS_ADDR is not set | 130 | # CONFIG_64BIT_PHYS_ADDR is not set |
117 | CONFIG_CPU_HAS_LLSC=y | 131 | CONFIG_CPU_HAS_LLSC=y |
118 | CONFIG_CPU_HAS_SYNC=y | 132 | CONFIG_CPU_HAS_SYNC=y |
119 | CONFIG_GENERIC_HARDIRQS=y | 133 | CONFIG_GENERIC_HARDIRQS=y |
120 | CONFIG_GENERIC_IRQ_PROBE=y | 134 | CONFIG_GENERIC_IRQ_PROBE=y |
121 | CONFIG_CPU_SUPPORTS_HIGHMEM=y | ||
122 | CONFIG_ARCH_FLATMEM_ENABLE=y | 135 | CONFIG_ARCH_FLATMEM_ENABLE=y |
123 | CONFIG_SELECT_MEMORY_MODEL=y | 136 | CONFIG_SELECT_MEMORY_MODEL=y |
124 | CONFIG_FLATMEM_MANUAL=y | 137 | CONFIG_FLATMEM_MANUAL=y |
@@ -128,6 +141,7 @@ CONFIG_FLATMEM=y | |||
128 | CONFIG_FLAT_NODE_MEM_MAP=y | 141 | CONFIG_FLAT_NODE_MEM_MAP=y |
129 | # CONFIG_SPARSEMEM_STATIC is not set | 142 | # CONFIG_SPARSEMEM_STATIC is not set |
130 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 143 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
144 | # CONFIG_RESOURCES_64BIT is not set | ||
131 | # CONFIG_HZ_48 is not set | 145 | # CONFIG_HZ_48 is not set |
132 | # CONFIG_HZ_100 is not set | 146 | # CONFIG_HZ_100 is not set |
133 | # CONFIG_HZ_128 is not set | 147 | # CONFIG_HZ_128 is not set |
@@ -140,6 +154,7 @@ CONFIG_HZ=1000 | |||
140 | CONFIG_PREEMPT_NONE=y | 154 | CONFIG_PREEMPT_NONE=y |
141 | # CONFIG_PREEMPT_VOLUNTARY is not set | 155 | # CONFIG_PREEMPT_VOLUNTARY is not set |
142 | # CONFIG_PREEMPT is not set | 156 | # CONFIG_PREEMPT is not set |
157 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
143 | 158 | ||
144 | # | 159 | # |
145 | # Code maturity level options | 160 | # Code maturity level options |
@@ -172,10 +187,12 @@ CONFIG_PRINTK=y | |||
172 | CONFIG_BUG=y | 187 | CONFIG_BUG=y |
173 | CONFIG_ELF_CORE=y | 188 | CONFIG_ELF_CORE=y |
174 | CONFIG_BASE_FULL=y | 189 | CONFIG_BASE_FULL=y |
190 | CONFIG_RT_MUTEXES=y | ||
175 | CONFIG_FUTEX=y | 191 | CONFIG_FUTEX=y |
176 | CONFIG_EPOLL=y | 192 | CONFIG_EPOLL=y |
177 | CONFIG_SHMEM=y | 193 | CONFIG_SHMEM=y |
178 | CONFIG_SLAB=y | 194 | CONFIG_SLAB=y |
195 | CONFIG_VM_EVENT_COUNTERS=y | ||
179 | # CONFIG_TINY_SHMEM is not set | 196 | # CONFIG_TINY_SHMEM is not set |
180 | CONFIG_BASE_SMALL=0 | 197 | CONFIG_BASE_SMALL=0 |
181 | # CONFIG_SLOB is not set | 198 | # CONFIG_SLOB is not set |
@@ -212,8 +229,8 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
212 | # | 229 | # |
213 | # Bus options (PCI, PCMCIA, EISA, ISA, TC) | 230 | # Bus options (PCI, PCMCIA, EISA, ISA, TC) |
214 | # | 231 | # |
215 | CONFIG_HW_HAS_PCI=y | 232 | CONFIG_HW_HAS_EISA=y |
216 | CONFIG_PCI=y | 233 | # CONFIG_EISA is not set |
217 | CONFIG_MMU=y | 234 | CONFIG_MMU=y |
218 | 235 | ||
219 | # | 236 | # |
@@ -224,7 +241,6 @@ CONFIG_MMU=y | |||
224 | # | 241 | # |
225 | # PCI Hotplug Support | 242 | # PCI Hotplug Support |
226 | # | 243 | # |
227 | # CONFIG_HOTPLUG_PCI is not set | ||
228 | 244 | ||
229 | # | 245 | # |
230 | # Executable file formats | 246 | # Executable file formats |
@@ -245,6 +261,8 @@ CONFIG_NET=y | |||
245 | CONFIG_PACKET=y | 261 | CONFIG_PACKET=y |
246 | # CONFIG_PACKET_MMAP is not set | 262 | # CONFIG_PACKET_MMAP is not set |
247 | CONFIG_UNIX=y | 263 | CONFIG_UNIX=y |
264 | CONFIG_XFRM=y | ||
265 | # CONFIG_XFRM_USER is not set | ||
248 | # CONFIG_NET_KEY is not set | 266 | # CONFIG_NET_KEY is not set |
249 | CONFIG_INET=y | 267 | CONFIG_INET=y |
250 | # CONFIG_IP_MULTICAST is not set | 268 | # CONFIG_IP_MULTICAST is not set |
@@ -263,6 +281,8 @@ CONFIG_IP_PNP=y | |||
263 | # CONFIG_INET_IPCOMP is not set | 281 | # CONFIG_INET_IPCOMP is not set |
264 | # CONFIG_INET_XFRM_TUNNEL is not set | 282 | # CONFIG_INET_XFRM_TUNNEL is not set |
265 | # CONFIG_INET_TUNNEL is not set | 283 | # CONFIG_INET_TUNNEL is not set |
284 | CONFIG_INET_XFRM_MODE_TRANSPORT=m | ||
285 | CONFIG_INET_XFRM_MODE_TUNNEL=m | ||
266 | CONFIG_INET_DIAG=y | 286 | CONFIG_INET_DIAG=y |
267 | CONFIG_INET_TCP_DIAG=y | 287 | CONFIG_INET_TCP_DIAG=y |
268 | # CONFIG_TCP_CONG_ADVANCED is not set | 288 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -281,7 +301,10 @@ CONFIG_IPV6_ROUTE_INFO=y | |||
281 | # CONFIG_INET6_IPCOMP is not set | 301 | # CONFIG_INET6_IPCOMP is not set |
282 | # CONFIG_INET6_XFRM_TUNNEL is not set | 302 | # CONFIG_INET6_XFRM_TUNNEL is not set |
283 | # CONFIG_INET6_TUNNEL is not set | 303 | # CONFIG_INET6_TUNNEL is not set |
304 | CONFIG_INET6_XFRM_MODE_TRANSPORT=m | ||
305 | CONFIG_INET6_XFRM_MODE_TUNNEL=m | ||
284 | # CONFIG_IPV6_TUNNEL is not set | 306 | # CONFIG_IPV6_TUNNEL is not set |
307 | CONFIG_NETWORK_SECMARK=y | ||
285 | CONFIG_NETFILTER=y | 308 | CONFIG_NETFILTER=y |
286 | # CONFIG_NETFILTER_DEBUG is not set | 309 | # CONFIG_NETFILTER_DEBUG is not set |
287 | 310 | ||
@@ -294,6 +317,7 @@ CONFIG_NETFILTER_XTABLES=m | |||
294 | CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m | 317 | CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m |
295 | CONFIG_NETFILTER_XT_TARGET_MARK=m | 318 | CONFIG_NETFILTER_XT_TARGET_MARK=m |
296 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | 319 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m |
320 | CONFIG_NETFILTER_XT_TARGET_SECMARK=m | ||
297 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | 321 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m |
298 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 322 | CONFIG_NETFILTER_XT_MATCH_DCCP=m |
299 | CONFIG_NETFILTER_XT_MATCH_ESP=m | 323 | CONFIG_NETFILTER_XT_MATCH_ESP=m |
@@ -301,10 +325,13 @@ CONFIG_NETFILTER_XT_MATCH_LENGTH=m | |||
301 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | 325 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m |
302 | CONFIG_NETFILTER_XT_MATCH_MAC=m | 326 | CONFIG_NETFILTER_XT_MATCH_MAC=m |
303 | CONFIG_NETFILTER_XT_MATCH_MARK=m | 327 | CONFIG_NETFILTER_XT_MATCH_MARK=m |
328 | # CONFIG_NETFILTER_XT_MATCH_POLICY is not set | ||
304 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m | 329 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m |
305 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 330 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m |
331 | CONFIG_NETFILTER_XT_MATCH_QUOTA=m | ||
306 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 332 | CONFIG_NETFILTER_XT_MATCH_REALM=m |
307 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | 333 | CONFIG_NETFILTER_XT_MATCH_SCTP=m |
334 | CONFIG_NETFILTER_XT_MATCH_STATISTIC=m | ||
308 | CONFIG_NETFILTER_XT_MATCH_STRING=m | 335 | CONFIG_NETFILTER_XT_MATCH_STRING=m |
309 | CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | 336 | CONFIG_NETFILTER_XT_MATCH_TCPMSS=m |
310 | 337 | ||
@@ -374,6 +401,7 @@ CONFIG_NET_CLS_ROUTE=y | |||
374 | CONFIG_STANDALONE=y | 401 | CONFIG_STANDALONE=y |
375 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 402 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
376 | CONFIG_FW_LOADER=y | 403 | CONFIG_FW_LOADER=y |
404 | # CONFIG_SYS_HYPERVISOR is not set | ||
377 | 405 | ||
378 | # | 406 | # |
379 | # Connector - unified userspace <-> kernelspace linker | 407 | # Connector - unified userspace <-> kernelspace linker |
@@ -397,16 +425,10 @@ CONFIG_FW_LOADER=y | |||
397 | # | 425 | # |
398 | # Block devices | 426 | # Block devices |
399 | # | 427 | # |
400 | # CONFIG_BLK_CPQ_DA is not set | ||
401 | # CONFIG_BLK_CPQ_CISS_DA is not set | ||
402 | # CONFIG_BLK_DEV_DAC960 is not set | ||
403 | # CONFIG_BLK_DEV_UMEM is not set | ||
404 | # CONFIG_BLK_DEV_COW_COMMON is not set | 428 | # CONFIG_BLK_DEV_COW_COMMON is not set |
405 | CONFIG_BLK_DEV_LOOP=y | 429 | CONFIG_BLK_DEV_LOOP=y |
406 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | 430 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set |
407 | # CONFIG_BLK_DEV_NBD is not set | 431 | # CONFIG_BLK_DEV_NBD is not set |
408 | # CONFIG_BLK_DEV_SX8 is not set | ||
409 | # CONFIG_BLK_DEV_UB is not set | ||
410 | CONFIG_BLK_DEV_RAM=y | 432 | CONFIG_BLK_DEV_RAM=y |
411 | CONFIG_BLK_DEV_RAM_COUNT=16 | 433 | CONFIG_BLK_DEV_RAM_COUNT=16 |
412 | CONFIG_BLK_DEV_RAM_SIZE=8192 | 434 | CONFIG_BLK_DEV_RAM_SIZE=8192 |
@@ -436,40 +458,9 @@ CONFIG_IDEDISK_MULTI_MODE=y | |||
436 | # IDE chipset support/bugfixes | 458 | # IDE chipset support/bugfixes |
437 | # | 459 | # |
438 | CONFIG_IDE_GENERIC=y | 460 | CONFIG_IDE_GENERIC=y |
439 | CONFIG_BLK_DEV_IDEPCI=y | ||
440 | CONFIG_IDEPCI_SHARE_IRQ=y | ||
441 | # CONFIG_BLK_DEV_OFFBOARD is not set | ||
442 | # CONFIG_BLK_DEV_GENERIC is not set | ||
443 | # CONFIG_BLK_DEV_OPTI621 is not set | ||
444 | CONFIG_BLK_DEV_IDEDMA_PCI=y | ||
445 | # CONFIG_BLK_DEV_IDEDMA_FORCED is not set | ||
446 | CONFIG_IDEDMA_PCI_AUTO=y | ||
447 | # CONFIG_IDEDMA_ONLYDISK is not set | ||
448 | # CONFIG_BLK_DEV_AEC62XX is not set | ||
449 | # CONFIG_BLK_DEV_ALI15X3 is not set | ||
450 | # CONFIG_BLK_DEV_AMD74XX is not set | ||
451 | CONFIG_BLK_DEV_CMD64X=y | ||
452 | # CONFIG_BLK_DEV_TRIFLEX is not set | ||
453 | # CONFIG_BLK_DEV_CY82C693 is not set | ||
454 | # CONFIG_BLK_DEV_CS5520 is not set | ||
455 | # CONFIG_BLK_DEV_CS5530 is not set | ||
456 | # CONFIG_BLK_DEV_HPT34X is not set | ||
457 | # CONFIG_BLK_DEV_HPT366 is not set | ||
458 | # CONFIG_BLK_DEV_SC1200 is not set | ||
459 | # CONFIG_BLK_DEV_PIIX is not set | ||
460 | # CONFIG_BLK_DEV_IT821X is not set | ||
461 | # CONFIG_BLK_DEV_NS87415 is not set | ||
462 | # CONFIG_BLK_DEV_PDC202XX_OLD is not set | ||
463 | # CONFIG_BLK_DEV_PDC202XX_NEW is not set | ||
464 | # CONFIG_BLK_DEV_SVWKS is not set | ||
465 | # CONFIG_BLK_DEV_SIIMAGE is not set | ||
466 | # CONFIG_BLK_DEV_SLC90E66 is not set | ||
467 | # CONFIG_BLK_DEV_TRM290 is not set | ||
468 | # CONFIG_BLK_DEV_VIA82CXXX is not set | ||
469 | # CONFIG_IDE_ARM is not set | 461 | # CONFIG_IDE_ARM is not set |
470 | CONFIG_BLK_DEV_IDEDMA=y | 462 | # CONFIG_BLK_DEV_IDEDMA is not set |
471 | # CONFIG_IDEDMA_IVB is not set | 463 | # CONFIG_IDEDMA_AUTO is not set |
472 | CONFIG_IDEDMA_AUTO=y | ||
473 | # CONFIG_BLK_DEV_HD is not set | 464 | # CONFIG_BLK_DEV_HD is not set |
474 | 465 | ||
475 | # | 466 | # |
@@ -508,36 +499,8 @@ CONFIG_SCSI_ISCSI_ATTRS=m | |||
508 | # SCSI low-level drivers | 499 | # SCSI low-level drivers |
509 | # | 500 | # |
510 | CONFIG_ISCSI_TCP=m | 501 | CONFIG_ISCSI_TCP=m |
511 | # CONFIG_BLK_DEV_3W_XXXX_RAID is not set | 502 | # CONFIG_SGIWD93_SCSI is not set |
512 | # CONFIG_SCSI_3W_9XXX is not set | ||
513 | # CONFIG_SCSI_ACARD is not set | ||
514 | # CONFIG_SCSI_AACRAID is not set | ||
515 | CONFIG_SCSI_AIC7XXX=m | ||
516 | CONFIG_AIC7XXX_CMDS_PER_DEVICE=32 | ||
517 | CONFIG_AIC7XXX_RESET_DELAY_MS=15000 | ||
518 | # CONFIG_AIC7XXX_DEBUG_ENABLE is not set | ||
519 | CONFIG_AIC7XXX_DEBUG_MASK=0 | ||
520 | # CONFIG_AIC7XXX_REG_PRETTY_PRINT is not set | ||
521 | # CONFIG_SCSI_AIC7XXX_OLD is not set | ||
522 | # CONFIG_SCSI_AIC79XX is not set | ||
523 | # CONFIG_SCSI_DPT_I2O is not set | ||
524 | # CONFIG_MEGARAID_NEWGEN is not set | ||
525 | # CONFIG_MEGARAID_LEGACY is not set | ||
526 | # CONFIG_MEGARAID_SAS is not set | ||
527 | # CONFIG_SCSI_SATA is not set | 503 | # CONFIG_SCSI_SATA is not set |
528 | # CONFIG_SCSI_DMX3191D is not set | ||
529 | # CONFIG_SCSI_FUTURE_DOMAIN is not set | ||
530 | # CONFIG_SCSI_IPS is not set | ||
531 | # CONFIG_SCSI_INITIO is not set | ||
532 | # CONFIG_SCSI_INIA100 is not set | ||
533 | # CONFIG_SCSI_SYM53C8XX_2 is not set | ||
534 | # CONFIG_SCSI_IPR is not set | ||
535 | # CONFIG_SCSI_QLOGIC_1280 is not set | ||
536 | # CONFIG_SCSI_QLA_FC is not set | ||
537 | # CONFIG_SCSI_LPFC is not set | ||
538 | # CONFIG_SCSI_DC395x is not set | ||
539 | # CONFIG_SCSI_DC390T is not set | ||
540 | # CONFIG_SCSI_NSP32 is not set | ||
541 | # CONFIG_SCSI_DEBUG is not set | 504 | # CONFIG_SCSI_DEBUG is not set |
542 | 505 | ||
543 | # | 506 | # |
@@ -549,19 +512,14 @@ CONFIG_AIC7XXX_DEBUG_MASK=0 | |||
549 | # Fusion MPT device support | 512 | # Fusion MPT device support |
550 | # | 513 | # |
551 | # CONFIG_FUSION is not set | 514 | # CONFIG_FUSION is not set |
552 | # CONFIG_FUSION_SPI is not set | ||
553 | # CONFIG_FUSION_FC is not set | ||
554 | # CONFIG_FUSION_SAS is not set | ||
555 | 515 | ||
556 | # | 516 | # |
557 | # IEEE 1394 (FireWire) support | 517 | # IEEE 1394 (FireWire) support |
558 | # | 518 | # |
559 | # CONFIG_IEEE1394 is not set | ||
560 | 519 | ||
561 | # | 520 | # |
562 | # I2O device support | 521 | # I2O device support |
563 | # | 522 | # |
564 | # CONFIG_I2O is not set | ||
565 | 523 | ||
566 | # | 524 | # |
567 | # Network device support | 525 | # Network device support |
@@ -573,11 +531,6 @@ CONFIG_NETDEVICES=y | |||
573 | CONFIG_TUN=m | 531 | CONFIG_TUN=m |
574 | 532 | ||
575 | # | 533 | # |
576 | # ARCnet devices | ||
577 | # | ||
578 | # CONFIG_ARCNET is not set | ||
579 | |||
580 | # | ||
581 | # PHY device support | 534 | # PHY device support |
582 | # | 535 | # |
583 | # CONFIG_PHYLIB is not set | 536 | # CONFIG_PHYLIB is not set |
@@ -587,71 +540,20 @@ CONFIG_TUN=m | |||
587 | # | 540 | # |
588 | CONFIG_NET_ETHERNET=y | 541 | CONFIG_NET_ETHERNET=y |
589 | CONFIG_MII=y | 542 | CONFIG_MII=y |
590 | # CONFIG_HAPPYMEAL is not set | ||
591 | # CONFIG_SUNGEM is not set | ||
592 | # CONFIG_CASSINI is not set | ||
593 | # CONFIG_NET_VENDOR_3COM is not set | ||
594 | # CONFIG_DM9000 is not set | 543 | # CONFIG_DM9000 is not set |
595 | 544 | # CONFIG_SGISEEQ is not set | |
596 | # | ||
597 | # Tulip family network device support | ||
598 | # | ||
599 | # CONFIG_NET_TULIP is not set | ||
600 | # CONFIG_HP100 is not set | ||
601 | CONFIG_NET_PCI=y | ||
602 | # CONFIG_PCNET32 is not set | ||
603 | # CONFIG_AMD8111_ETH is not set | ||
604 | # CONFIG_ADAPTEC_STARFIRE is not set | ||
605 | # CONFIG_B44 is not set | ||
606 | # CONFIG_FORCEDETH is not set | ||
607 | # CONFIG_DGRS is not set | ||
608 | # CONFIG_EEPRO100 is not set | ||
609 | # CONFIG_E100 is not set | ||
610 | # CONFIG_FEALNX is not set | ||
611 | CONFIG_NATSEMI=y | ||
612 | # CONFIG_NE2K_PCI is not set | ||
613 | # CONFIG_8139CP is not set | ||
614 | CONFIG_8139TOO=y | ||
615 | # CONFIG_8139TOO_PIO is not set | ||
616 | # CONFIG_8139TOO_TUNE_TWISTER is not set | ||
617 | # CONFIG_8139TOO_8129 is not set | ||
618 | # CONFIG_8139_OLD_RX_RESET is not set | ||
619 | # CONFIG_SIS900 is not set | ||
620 | # CONFIG_EPIC100 is not set | ||
621 | # CONFIG_SUNDANCE is not set | ||
622 | # CONFIG_TLAN is not set | ||
623 | # CONFIG_VIA_RHINE is not set | ||
624 | # CONFIG_LAN_SAA9730 is not set | ||
625 | 545 | ||
626 | # | 546 | # |
627 | # Ethernet (1000 Mbit) | 547 | # Ethernet (1000 Mbit) |
628 | # | 548 | # |
629 | # CONFIG_ACENIC is not set | ||
630 | # CONFIG_DL2K is not set | ||
631 | # CONFIG_E1000 is not set | ||
632 | # CONFIG_NS83820 is not set | ||
633 | # CONFIG_HAMACHI is not set | ||
634 | # CONFIG_YELLOWFIN is not set | ||
635 | # CONFIG_R8169 is not set | ||
636 | # CONFIG_SIS190 is not set | ||
637 | # CONFIG_SKGE is not set | ||
638 | # CONFIG_SKY2 is not set | ||
639 | # CONFIG_SK98LIN is not set | ||
640 | # CONFIG_VIA_VELOCITY is not set | ||
641 | # CONFIG_TIGON3 is not set | ||
642 | # CONFIG_BNX2 is not set | ||
643 | 549 | ||
644 | # | 550 | # |
645 | # Ethernet (10000 Mbit) | 551 | # Ethernet (10000 Mbit) |
646 | # | 552 | # |
647 | # CONFIG_CHELSIO_T1 is not set | ||
648 | # CONFIG_IXGB is not set | ||
649 | # CONFIG_S2IO is not set | ||
650 | 553 | ||
651 | # | 554 | # |
652 | # Token Ring devices | 555 | # Token Ring devices |
653 | # | 556 | # |
654 | # CONFIG_TR is not set | ||
655 | 557 | ||
656 | # | 558 | # |
657 | # Wireless LAN (non-hamradio) | 559 | # Wireless LAN (non-hamradio) |
@@ -662,8 +564,6 @@ CONFIG_8139TOO=y | |||
662 | # Wan interfaces | 564 | # Wan interfaces |
663 | # | 565 | # |
664 | # CONFIG_WAN is not set | 566 | # CONFIG_WAN is not set |
665 | # CONFIG_FDDI is not set | ||
666 | # CONFIG_HIPPI is not set | ||
667 | CONFIG_PPP=m | 567 | CONFIG_PPP=m |
668 | # CONFIG_PPP_MULTILINK is not set | 568 | # CONFIG_PPP_MULTILINK is not set |
669 | # CONFIG_PPP_FILTER is not set | 569 | # CONFIG_PPP_FILTER is not set |
@@ -674,7 +574,6 @@ CONFIG_PPP_DEFLATE=m | |||
674 | CONFIG_PPP_MPPE=m | 574 | CONFIG_PPP_MPPE=m |
675 | # CONFIG_PPPOE is not set | 575 | # CONFIG_PPPOE is not set |
676 | # CONFIG_SLIP is not set | 576 | # CONFIG_SLIP is not set |
677 | # CONFIG_NET_FC is not set | ||
678 | # CONFIG_SHAPER is not set | 577 | # CONFIG_SHAPER is not set |
679 | # CONFIG_NETCONSOLE is not set | 578 | # CONFIG_NETCONSOLE is not set |
680 | # CONFIG_NETPOLL is not set | 579 | # CONFIG_NETPOLL is not set |
@@ -730,7 +629,6 @@ CONFIG_MOUSE_PS2=y | |||
730 | CONFIG_SERIO=y | 629 | CONFIG_SERIO=y |
731 | CONFIG_SERIO_I8042=y | 630 | CONFIG_SERIO_I8042=y |
732 | CONFIG_SERIO_SERPORT=y | 631 | CONFIG_SERIO_SERPORT=y |
733 | # CONFIG_SERIO_PCIPS2 is not set | ||
734 | CONFIG_SERIO_LIBPS2=y | 632 | CONFIG_SERIO_LIBPS2=y |
735 | # CONFIG_SERIO_RAW is not set | 633 | # CONFIG_SERIO_RAW is not set |
736 | # CONFIG_GAMEPORT is not set | 634 | # CONFIG_GAMEPORT is not set |
@@ -741,6 +639,7 @@ CONFIG_SERIO_LIBPS2=y | |||
741 | CONFIG_VT=y | 639 | CONFIG_VT=y |
742 | # CONFIG_VT_CONSOLE is not set | 640 | # CONFIG_VT_CONSOLE is not set |
743 | CONFIG_HW_CONSOLE=y | 641 | CONFIG_HW_CONSOLE=y |
642 | CONFIG_VT_HW_CONSOLE_BINDING=y | ||
744 | CONFIG_SERIAL_NONSTANDARD=y | 643 | CONFIG_SERIAL_NONSTANDARD=y |
745 | # CONFIG_COMPUTONE is not set | 644 | # CONFIG_COMPUTONE is not set |
746 | # CONFIG_ROCKETPORT is not set | 645 | # CONFIG_ROCKETPORT is not set |
@@ -750,7 +649,6 @@ CONFIG_SERIAL_NONSTANDARD=y | |||
750 | # CONFIG_MOXA_SMARTIO is not set | 649 | # CONFIG_MOXA_SMARTIO is not set |
751 | # CONFIG_ISI is not set | 650 | # CONFIG_ISI is not set |
752 | # CONFIG_SYNCLINKMP is not set | 651 | # CONFIG_SYNCLINKMP is not set |
753 | # CONFIG_SYNCLINK_GT is not set | ||
754 | # CONFIG_N_HDLC is not set | 652 | # CONFIG_N_HDLC is not set |
755 | # CONFIG_RISCOM8 is not set | 653 | # CONFIG_RISCOM8 is not set |
756 | # CONFIG_SPECIALIX is not set | 654 | # CONFIG_SPECIALIX is not set |
@@ -766,8 +664,7 @@ CONFIG_SERIAL_NONSTANDARD=y | |||
766 | # | 664 | # |
767 | # Non-8250 serial port support | 665 | # Non-8250 serial port support |
768 | # | 666 | # |
769 | # CONFIG_SERIAL_IP3106 is not set | 667 | # CONFIG_SERIAL_IP22_ZILOG is not set |
770 | # CONFIG_SERIAL_JSM is not set | ||
771 | CONFIG_UNIX98_PTYS=y | 668 | CONFIG_UNIX98_PTYS=y |
772 | CONFIG_LEGACY_PTYS=y | 669 | CONFIG_LEGACY_PTYS=y |
773 | CONFIG_LEGACY_PTY_COUNT=256 | 670 | CONFIG_LEGACY_PTY_COUNT=256 |
@@ -781,16 +678,16 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
781 | # Watchdog Cards | 678 | # Watchdog Cards |
782 | # | 679 | # |
783 | # CONFIG_WATCHDOG is not set | 680 | # CONFIG_WATCHDOG is not set |
681 | # CONFIG_HW_RANDOM is not set | ||
784 | # CONFIG_RTC is not set | 682 | # CONFIG_RTC is not set |
683 | # CONFIG_SGI_DS1286 is not set | ||
785 | # CONFIG_GEN_RTC is not set | 684 | # CONFIG_GEN_RTC is not set |
786 | # CONFIG_DTLK is not set | 685 | # CONFIG_DTLK is not set |
787 | # CONFIG_R3964 is not set | 686 | # CONFIG_R3964 is not set |
788 | # CONFIG_APPLICOM is not set | ||
789 | 687 | ||
790 | # | 688 | # |
791 | # Ftape, the floppy tape device driver | 689 | # Ftape, the floppy tape device driver |
792 | # | 690 | # |
793 | # CONFIG_DRM is not set | ||
794 | # CONFIG_RAW_DRIVER is not set | 691 | # CONFIG_RAW_DRIVER is not set |
795 | 692 | ||
796 | # | 693 | # |
@@ -811,29 +708,14 @@ CONFIG_I2C_CHARDEV=m | |||
811 | CONFIG_I2C_ALGOBIT=m | 708 | CONFIG_I2C_ALGOBIT=m |
812 | # CONFIG_I2C_ALGOPCF is not set | 709 | # CONFIG_I2C_ALGOPCF is not set |
813 | # CONFIG_I2C_ALGOPCA is not set | 710 | # CONFIG_I2C_ALGOPCA is not set |
711 | # CONFIG_I2C_ALGO_SGI is not set | ||
814 | 712 | ||
815 | # | 713 | # |
816 | # I2C Hardware Bus support | 714 | # I2C Hardware Bus support |
817 | # | 715 | # |
818 | # CONFIG_I2C_ALI1535 is not set | 716 | # CONFIG_I2C_OCORES is not set |
819 | # CONFIG_I2C_ALI1563 is not set | ||
820 | # CONFIG_I2C_ALI15X3 is not set | ||
821 | # CONFIG_I2C_AMD756 is not set | ||
822 | # CONFIG_I2C_AMD8111 is not set | ||
823 | # CONFIG_I2C_I801 is not set | ||
824 | # CONFIG_I2C_I810 is not set | ||
825 | # CONFIG_I2C_PIIX4 is not set | ||
826 | # CONFIG_I2C_NFORCE2 is not set | ||
827 | # CONFIG_I2C_PARPORT_LIGHT is not set | 717 | # CONFIG_I2C_PARPORT_LIGHT is not set |
828 | # CONFIG_I2C_PROSAVAGE is not set | ||
829 | # CONFIG_I2C_SAVAGE4 is not set | ||
830 | # CONFIG_I2C_SIS5595 is not set | ||
831 | # CONFIG_I2C_SIS630 is not set | ||
832 | # CONFIG_I2C_SIS96X is not set | ||
833 | # CONFIG_I2C_STUB is not set | 718 | # CONFIG_I2C_STUB is not set |
834 | # CONFIG_I2C_VIA is not set | ||
835 | # CONFIG_I2C_VIAPRO is not set | ||
836 | # CONFIG_I2C_VOODOO3 is not set | ||
837 | # CONFIG_I2C_PCA_ISA is not set | 719 | # CONFIG_I2C_PCA_ISA is not set |
838 | 720 | ||
839 | # | 721 | # |
@@ -860,13 +742,13 @@ CONFIG_I2C_ALGOBIT=m | |||
860 | # | 742 | # |
861 | # Dallas's 1-wire bus | 743 | # Dallas's 1-wire bus |
862 | # | 744 | # |
863 | # CONFIG_W1 is not set | ||
864 | 745 | ||
865 | # | 746 | # |
866 | # Hardware Monitoring support | 747 | # Hardware Monitoring support |
867 | # | 748 | # |
868 | CONFIG_HWMON=y | 749 | CONFIG_HWMON=y |
869 | # CONFIG_HWMON_VID is not set | 750 | # CONFIG_HWMON_VID is not set |
751 | # CONFIG_SENSORS_ABITUGURU is not set | ||
870 | # CONFIG_SENSORS_ADM1021 is not set | 752 | # CONFIG_SENSORS_ADM1021 is not set |
871 | # CONFIG_SENSORS_ADM1025 is not set | 753 | # CONFIG_SENSORS_ADM1025 is not set |
872 | # CONFIG_SENSORS_ADM1026 is not set | 754 | # CONFIG_SENSORS_ADM1026 is not set |
@@ -893,12 +775,11 @@ CONFIG_HWMON=y | |||
893 | # CONFIG_SENSORS_LM92 is not set | 775 | # CONFIG_SENSORS_LM92 is not set |
894 | # CONFIG_SENSORS_MAX1619 is not set | 776 | # CONFIG_SENSORS_MAX1619 is not set |
895 | # CONFIG_SENSORS_PC87360 is not set | 777 | # CONFIG_SENSORS_PC87360 is not set |
896 | # CONFIG_SENSORS_SIS5595 is not set | ||
897 | # CONFIG_SENSORS_SMSC47M1 is not set | 778 | # CONFIG_SENSORS_SMSC47M1 is not set |
779 | # CONFIG_SENSORS_SMSC47M192 is not set | ||
898 | # CONFIG_SENSORS_SMSC47B397 is not set | 780 | # CONFIG_SENSORS_SMSC47B397 is not set |
899 | # CONFIG_SENSORS_VIA686A is not set | ||
900 | # CONFIG_SENSORS_VT8231 is not set | ||
901 | # CONFIG_SENSORS_W83781D is not set | 781 | # CONFIG_SENSORS_W83781D is not set |
782 | # CONFIG_SENSORS_W83791D is not set | ||
902 | # CONFIG_SENSORS_W83792D is not set | 783 | # CONFIG_SENSORS_W83792D is not set |
903 | # CONFIG_SENSORS_W83L785TS is not set | 784 | # CONFIG_SENSORS_W83L785TS is not set |
904 | # CONFIG_SENSORS_W83627HF is not set | 785 | # CONFIG_SENSORS_W83627HF is not set |
@@ -913,50 +794,33 @@ CONFIG_HWMON=y | |||
913 | # Multimedia devices | 794 | # Multimedia devices |
914 | # | 795 | # |
915 | # CONFIG_VIDEO_DEV is not set | 796 | # CONFIG_VIDEO_DEV is not set |
797 | CONFIG_VIDEO_V4L2=y | ||
916 | 798 | ||
917 | # | 799 | # |
918 | # Digital Video Broadcasting Devices | 800 | # Digital Video Broadcasting Devices |
919 | # | 801 | # |
920 | # CONFIG_DVB is not set | 802 | # CONFIG_DVB is not set |
921 | # CONFIG_USB_DABUSB is not set | ||
922 | 803 | ||
923 | # | 804 | # |
924 | # Graphics support | 805 | # Graphics support |
925 | # | 806 | # |
807 | # CONFIG_FIRMWARE_EDID is not set | ||
926 | CONFIG_FB=y | 808 | CONFIG_FB=y |
927 | # CONFIG_FB_CFB_FILLRECT is not set | 809 | # CONFIG_FB_CFB_FILLRECT is not set |
928 | # CONFIG_FB_CFB_COPYAREA is not set | 810 | # CONFIG_FB_CFB_COPYAREA is not set |
929 | # CONFIG_FB_CFB_IMAGEBLIT is not set | 811 | # CONFIG_FB_CFB_IMAGEBLIT is not set |
930 | # CONFIG_FB_MACMODES is not set | 812 | # CONFIG_FB_MACMODES is not set |
931 | CONFIG_FB_FIRMWARE_EDID=y | 813 | # CONFIG_FB_BACKLIGHT is not set |
932 | # CONFIG_FB_MODE_HELPERS is not set | 814 | # CONFIG_FB_MODE_HELPERS is not set |
933 | # CONFIG_FB_TILEBLITTING is not set | 815 | # CONFIG_FB_TILEBLITTING is not set |
934 | # CONFIG_FB_CIRRUS is not set | ||
935 | # CONFIG_FB_PM2 is not set | ||
936 | # CONFIG_FB_CYBER2000 is not set | ||
937 | # CONFIG_FB_ASILIANT is not set | ||
938 | # CONFIG_FB_IMSTT is not set | ||
939 | # CONFIG_FB_S1D13XXX is not set | 816 | # CONFIG_FB_S1D13XXX is not set |
940 | # CONFIG_FB_NVIDIA is not set | ||
941 | # CONFIG_FB_RIVA is not set | ||
942 | # CONFIG_FB_MATROX is not set | ||
943 | # CONFIG_FB_RADEON is not set | ||
944 | # CONFIG_FB_ATY128 is not set | ||
945 | # CONFIG_FB_ATY is not set | ||
946 | # CONFIG_FB_SAVAGE is not set | ||
947 | # CONFIG_FB_SIS is not set | ||
948 | # CONFIG_FB_NEOMAGIC is not set | ||
949 | # CONFIG_FB_KYRO is not set | ||
950 | # CONFIG_FB_3DFX is not set | ||
951 | # CONFIG_FB_VOODOO1 is not set | ||
952 | # CONFIG_FB_SMIVGX is not set | ||
953 | # CONFIG_FB_TRIDENT is not set | ||
954 | # CONFIG_FB_VIRTUAL is not set | 817 | # CONFIG_FB_VIRTUAL is not set |
955 | 818 | ||
956 | # | 819 | # |
957 | # Console display driver support | 820 | # Console display driver support |
958 | # | 821 | # |
959 | # CONFIG_VGA_CONSOLE is not set | 822 | # CONFIG_VGA_CONSOLE is not set |
823 | # CONFIG_SGI_NEWPORT_CONSOLE is not set | ||
960 | CONFIG_DUMMY_CONSOLE=y | 824 | CONFIG_DUMMY_CONSOLE=y |
961 | # CONFIG_FRAMEBUFFER_CONSOLE is not set | 825 | # CONFIG_FRAMEBUFFER_CONSOLE is not set |
962 | 826 | ||
@@ -974,124 +838,15 @@ CONFIG_DUMMY_CONSOLE=y | |||
974 | # | 838 | # |
975 | # USB support | 839 | # USB support |
976 | # | 840 | # |
977 | CONFIG_USB_ARCH_HAS_HCD=y | 841 | # CONFIG_USB_ARCH_HAS_HCD is not set |
978 | CONFIG_USB_ARCH_HAS_OHCI=y | 842 | # CONFIG_USB_ARCH_HAS_OHCI is not set |
979 | CONFIG_USB_ARCH_HAS_EHCI=y | 843 | # CONFIG_USB_ARCH_HAS_EHCI is not set |
980 | CONFIG_USB=y | ||
981 | # CONFIG_USB_DEBUG is not set | ||
982 | |||
983 | # | ||
984 | # Miscellaneous USB options | ||
985 | # | ||
986 | CONFIG_USB_DEVICEFS=y | ||
987 | # CONFIG_USB_BANDWIDTH is not set | ||
988 | # CONFIG_USB_DYNAMIC_MINORS is not set | ||
989 | # CONFIG_USB_OTG is not set | ||
990 | |||
991 | # | ||
992 | # USB Host Controller Drivers | ||
993 | # | ||
994 | # CONFIG_USB_EHCI_HCD is not set | ||
995 | # CONFIG_USB_ISP116X_HCD is not set | ||
996 | # CONFIG_USB_OHCI_HCD is not set | ||
997 | # CONFIG_USB_UHCI_HCD is not set | ||
998 | # CONFIG_USB_SL811_HCD is not set | ||
999 | |||
1000 | # | ||
1001 | # USB Device Class drivers | ||
1002 | # | ||
1003 | # CONFIG_USB_ACM is not set | ||
1004 | # CONFIG_USB_PRINTER is not set | ||
1005 | 844 | ||
1006 | # | 845 | # |
1007 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | 846 | # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' |
1008 | # | 847 | # |
1009 | 848 | ||
1010 | # | 849 | # |
1011 | # may also be needed; see USB_STORAGE Help for more information | ||
1012 | # | ||
1013 | CONFIG_USB_STORAGE=y | ||
1014 | # CONFIG_USB_STORAGE_DEBUG is not set | ||
1015 | # CONFIG_USB_STORAGE_DATAFAB is not set | ||
1016 | # CONFIG_USB_STORAGE_FREECOM is not set | ||
1017 | # CONFIG_USB_STORAGE_ISD200 is not set | ||
1018 | # CONFIG_USB_STORAGE_DPCM is not set | ||
1019 | # CONFIG_USB_STORAGE_USBAT is not set | ||
1020 | # CONFIG_USB_STORAGE_SDDR09 is not set | ||
1021 | # CONFIG_USB_STORAGE_SDDR55 is not set | ||
1022 | # CONFIG_USB_STORAGE_JUMPSHOT is not set | ||
1023 | # CONFIG_USB_STORAGE_ALAUDA is not set | ||
1024 | # CONFIG_USB_STORAGE_ONETOUCH is not set | ||
1025 | # CONFIG_USB_LIBUSUAL is not set | ||
1026 | |||
1027 | # | ||
1028 | # USB Input Devices | ||
1029 | # | ||
1030 | CONFIG_USB_HID=y | ||
1031 | CONFIG_USB_HIDINPUT=y | ||
1032 | # CONFIG_USB_HIDINPUT_POWERBOOK is not set | ||
1033 | # CONFIG_HID_FF is not set | ||
1034 | CONFIG_USB_HIDDEV=y | ||
1035 | # CONFIG_USB_AIPTEK is not set | ||
1036 | # CONFIG_USB_WACOM is not set | ||
1037 | # CONFIG_USB_ACECAD is not set | ||
1038 | # CONFIG_USB_KBTAB is not set | ||
1039 | # CONFIG_USB_POWERMATE is not set | ||
1040 | # CONFIG_USB_TOUCHSCREEN is not set | ||
1041 | # CONFIG_USB_YEALINK is not set | ||
1042 | # CONFIG_USB_XPAD is not set | ||
1043 | # CONFIG_USB_ATI_REMOTE is not set | ||
1044 | # CONFIG_USB_ATI_REMOTE2 is not set | ||
1045 | # CONFIG_USB_KEYSPAN_REMOTE is not set | ||
1046 | # CONFIG_USB_APPLETOUCH is not set | ||
1047 | |||
1048 | # | ||
1049 | # USB Imaging devices | ||
1050 | # | ||
1051 | # CONFIG_USB_MDC800 is not set | ||
1052 | # CONFIG_USB_MICROTEK is not set | ||
1053 | |||
1054 | # | ||
1055 | # USB Network Adapters | ||
1056 | # | ||
1057 | # CONFIG_USB_CATC is not set | ||
1058 | # CONFIG_USB_KAWETH is not set | ||
1059 | # CONFIG_USB_PEGASUS is not set | ||
1060 | # CONFIG_USB_RTL8150 is not set | ||
1061 | # CONFIG_USB_USBNET is not set | ||
1062 | CONFIG_USB_MON=y | ||
1063 | |||
1064 | # | ||
1065 | # USB port drivers | ||
1066 | # | ||
1067 | |||
1068 | # | ||
1069 | # USB Serial Converter support | ||
1070 | # | ||
1071 | # CONFIG_USB_SERIAL is not set | ||
1072 | |||
1073 | # | ||
1074 | # USB Miscellaneous drivers | ||
1075 | # | ||
1076 | # CONFIG_USB_EMI62 is not set | ||
1077 | # CONFIG_USB_EMI26 is not set | ||
1078 | # CONFIG_USB_AUERSWALD is not set | ||
1079 | # CONFIG_USB_RIO500 is not set | ||
1080 | # CONFIG_USB_LEGOTOWER is not set | ||
1081 | # CONFIG_USB_LCD is not set | ||
1082 | # CONFIG_USB_LED is not set | ||
1083 | # CONFIG_USB_CYTHERM is not set | ||
1084 | # CONFIG_USB_PHIDGETKIT is not set | ||
1085 | # CONFIG_USB_PHIDGETSERVO is not set | ||
1086 | # CONFIG_USB_IDMOUSE is not set | ||
1087 | # CONFIG_USB_LD is not set | ||
1088 | # CONFIG_USB_TEST is not set | ||
1089 | |||
1090 | # | ||
1091 | # USB DSL modem support | ||
1092 | # | ||
1093 | |||
1094 | # | ||
1095 | # USB Gadget Support | 850 | # USB Gadget Support |
1096 | # | 851 | # |
1097 | # CONFIG_USB_GADGET is not set | 852 | # CONFIG_USB_GADGET is not set |
@@ -1117,7 +872,6 @@ CONFIG_USB_MON=y | |||
1117 | # | 872 | # |
1118 | # InfiniBand support | 873 | # InfiniBand support |
1119 | # | 874 | # |
1120 | # CONFIG_INFINIBAND is not set | ||
1121 | 875 | ||
1122 | # | 876 | # |
1123 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | 877 | # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) |
@@ -1129,6 +883,19 @@ CONFIG_USB_MON=y | |||
1129 | # CONFIG_RTC_CLASS is not set | 883 | # CONFIG_RTC_CLASS is not set |
1130 | 884 | ||
1131 | # | 885 | # |
886 | # DMA Engine support | ||
887 | # | ||
888 | # CONFIG_DMA_ENGINE is not set | ||
889 | |||
890 | # | ||
891 | # DMA Clients | ||
892 | # | ||
893 | |||
894 | # | ||
895 | # DMA Devices | ||
896 | # | ||
897 | |||
898 | # | ||
1132 | # File systems | 899 | # File systems |
1133 | # | 900 | # |
1134 | CONFIG_EXT2_FS=y | 901 | CONFIG_EXT2_FS=y |
@@ -1145,7 +912,6 @@ CONFIG_FS_MBCACHE=y | |||
1145 | # CONFIG_JFS_FS is not set | 912 | # CONFIG_JFS_FS is not set |
1146 | # CONFIG_FS_POSIX_ACL is not set | 913 | # CONFIG_FS_POSIX_ACL is not set |
1147 | CONFIG_XFS_FS=m | 914 | CONFIG_XFS_FS=m |
1148 | CONFIG_XFS_EXPORT=y | ||
1149 | # CONFIG_XFS_QUOTA is not set | 915 | # CONFIG_XFS_QUOTA is not set |
1150 | # CONFIG_XFS_SECURITY is not set | 916 | # CONFIG_XFS_SECURITY is not set |
1151 | # CONFIG_XFS_POSIX_ACL is not set | 917 | # CONFIG_XFS_POSIX_ACL is not set |
@@ -1154,6 +920,7 @@ CONFIG_XFS_EXPORT=y | |||
1154 | # CONFIG_MINIX_FS is not set | 920 | # CONFIG_MINIX_FS is not set |
1155 | # CONFIG_ROMFS_FS is not set | 921 | # CONFIG_ROMFS_FS is not set |
1156 | CONFIG_INOTIFY=y | 922 | CONFIG_INOTIFY=y |
923 | CONFIG_INOTIFY_USER=y | ||
1157 | # CONFIG_QUOTA is not set | 924 | # CONFIG_QUOTA is not set |
1158 | CONFIG_DNOTIFY=y | 925 | CONFIG_DNOTIFY=y |
1159 | CONFIG_AUTOFS_FS=y | 926 | CONFIG_AUTOFS_FS=y |
@@ -1226,6 +993,7 @@ CONFIG_SUNRPC=y | |||
1226 | CONFIG_SMB_FS=m | 993 | CONFIG_SMB_FS=m |
1227 | # CONFIG_SMB_NLS_DEFAULT is not set | 994 | # CONFIG_SMB_NLS_DEFAULT is not set |
1228 | # CONFIG_CIFS is not set | 995 | # CONFIG_CIFS is not set |
996 | # CONFIG_CIFS_DEBUG2 is not set | ||
1229 | # CONFIG_NCP_FS is not set | 997 | # CONFIG_NCP_FS is not set |
1230 | # CONFIG_CODA_FS is not set | 998 | # CONFIG_CODA_FS is not set |
1231 | # CONFIG_AFS_FS is not set | 999 | # CONFIG_AFS_FS is not set |
@@ -1236,6 +1004,7 @@ CONFIG_SMB_FS=m | |||
1236 | # | 1004 | # |
1237 | # CONFIG_PARTITION_ADVANCED is not set | 1005 | # CONFIG_PARTITION_ADVANCED is not set |
1238 | CONFIG_MSDOS_PARTITION=y | 1006 | CONFIG_MSDOS_PARTITION=y |
1007 | CONFIG_SGI_PARTITION=y | ||
1239 | 1008 | ||
1240 | # | 1009 | # |
1241 | # Native Language Support | 1010 | # Native Language Support |
@@ -1291,6 +1060,7 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
1291 | # | 1060 | # |
1292 | # CONFIG_PRINTK_TIME is not set | 1061 | # CONFIG_PRINTK_TIME is not set |
1293 | # CONFIG_MAGIC_SYSRQ is not set | 1062 | # CONFIG_MAGIC_SYSRQ is not set |
1063 | # CONFIG_UNUSED_SYMBOLS is not set | ||
1294 | # CONFIG_DEBUG_KERNEL is not set | 1064 | # CONFIG_DEBUG_KERNEL is not set |
1295 | CONFIG_LOG_BUF_SHIFT=14 | 1065 | CONFIG_LOG_BUF_SHIFT=14 |
1296 | # CONFIG_DEBUG_FS is not set | 1066 | # CONFIG_DEBUG_FS is not set |
@@ -1349,3 +1119,4 @@ CONFIG_TEXTSEARCH=y | |||
1349 | CONFIG_TEXTSEARCH_KMP=m | 1119 | CONFIG_TEXTSEARCH_KMP=m |
1350 | CONFIG_TEXTSEARCH_BM=m | 1120 | CONFIG_TEXTSEARCH_BM=m |
1351 | CONFIG_TEXTSEARCH_FSM=m | 1121 | CONFIG_TEXTSEARCH_FSM=m |
1122 | CONFIG_PLIST=y | ||
diff --git a/arch/mips/configs/qemu_defconfig b/arch/mips/configs/qemu_defconfig index db8701344cee..6a63a113b7ea 100644 --- a/arch/mips/configs/qemu_defconfig +++ b/arch/mips/configs/qemu_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17-rc2 | 3 | # Linux kernel version: 2.6.18-rc1 |
4 | # Mon Apr 24 14:51:15 2006 | 4 | # Thu Jul 6 10:04:18 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -21,6 +21,7 @@ CONFIG_MIPS=y | |||
21 | # CONFIG_MIPS_DB1550 is not set | 21 | # CONFIG_MIPS_DB1550 is not set |
22 | # CONFIG_MIPS_DB1200 is not set | 22 | # CONFIG_MIPS_DB1200 is not set |
23 | # CONFIG_MIPS_MIRAGE is not set | 23 | # CONFIG_MIPS_MIRAGE is not set |
24 | # CONFIG_BASLER_EXCITE is not set | ||
24 | # CONFIG_MIPS_COBALT is not set | 25 | # CONFIG_MIPS_COBALT is not set |
25 | # CONFIG_MACH_DECSTATION is not set | 26 | # CONFIG_MACH_DECSTATION is not set |
26 | # CONFIG_MIPS_EV64120 is not set | 27 | # CONFIG_MIPS_EV64120 is not set |
@@ -32,6 +33,7 @@ CONFIG_MIPS=y | |||
32 | # CONFIG_MIPS_ATLAS is not set | 33 | # CONFIG_MIPS_ATLAS is not set |
33 | # CONFIG_MIPS_MALTA is not set | 34 | # CONFIG_MIPS_MALTA is not set |
34 | # CONFIG_MIPS_SEAD is not set | 35 | # CONFIG_MIPS_SEAD is not set |
36 | # CONFIG_WR_PPMC is not set | ||
35 | # CONFIG_MIPS_SIM is not set | 37 | # CONFIG_MIPS_SIM is not set |
36 | # CONFIG_MOMENCO_JAGUAR_ATX is not set | 38 | # CONFIG_MOMENCO_JAGUAR_ATX is not set |
37 | # CONFIG_MOMENCO_OCELOT is not set | 39 | # CONFIG_MOMENCO_OCELOT is not set |
@@ -45,6 +47,7 @@ CONFIG_MIPS=y | |||
45 | # CONFIG_MACH_VR41XX is not set | 47 | # CONFIG_MACH_VR41XX is not set |
46 | # CONFIG_PMC_YOSEMITE is not set | 48 | # CONFIG_PMC_YOSEMITE is not set |
47 | CONFIG_QEMU=y | 49 | CONFIG_QEMU=y |
50 | # CONFIG_MARKEINS is not set | ||
48 | # CONFIG_SGI_IP22 is not set | 51 | # CONFIG_SGI_IP22 is not set |
49 | # CONFIG_SGI_IP27 is not set | 52 | # CONFIG_SGI_IP27 is not set |
50 | # CONFIG_SGI_IP32 is not set | 53 | # CONFIG_SGI_IP32 is not set |
@@ -65,6 +68,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y | |||
65 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 68 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
66 | CONFIG_GENERIC_HWEIGHT=y | 69 | CONFIG_GENERIC_HWEIGHT=y |
67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 70 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
71 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
68 | CONFIG_DMA_COHERENT=y | 72 | CONFIG_DMA_COHERENT=y |
69 | CONFIG_GENERIC_ISA_DMA=y | 73 | CONFIG_GENERIC_ISA_DMA=y |
70 | CONFIG_I8259=y | 74 | CONFIG_I8259=y |
@@ -113,7 +117,10 @@ CONFIG_PAGE_SIZE_4KB=y | |||
113 | # CONFIG_PAGE_SIZE_16KB is not set | 117 | # CONFIG_PAGE_SIZE_16KB is not set |
114 | # CONFIG_PAGE_SIZE_64KB is not set | 118 | # CONFIG_PAGE_SIZE_64KB is not set |
115 | CONFIG_CPU_HAS_PREFETCH=y | 119 | CONFIG_CPU_HAS_PREFETCH=y |
116 | # CONFIG_MIPS_MT is not set | 120 | CONFIG_MIPS_MT_DISABLED=y |
121 | # CONFIG_MIPS_MT_SMTC is not set | ||
122 | # CONFIG_MIPS_MT_SMP is not set | ||
123 | # CONFIG_MIPS_VPE_LOADER is not set | ||
117 | # CONFIG_64BIT_PHYS_ADDR is not set | 124 | # CONFIG_64BIT_PHYS_ADDR is not set |
118 | CONFIG_CPU_HAS_LLSC=y | 125 | CONFIG_CPU_HAS_LLSC=y |
119 | CONFIG_CPU_HAS_SYNC=y | 126 | CONFIG_CPU_HAS_SYNC=y |
@@ -121,11 +128,12 @@ CONFIG_GENERIC_HARDIRQS=y | |||
121 | CONFIG_GENERIC_IRQ_PROBE=y | 128 | CONFIG_GENERIC_IRQ_PROBE=y |
122 | CONFIG_CPU_SUPPORTS_HIGHMEM=y | 129 | CONFIG_CPU_SUPPORTS_HIGHMEM=y |
123 | CONFIG_ARCH_FLATMEM_ENABLE=y | 130 | CONFIG_ARCH_FLATMEM_ENABLE=y |
131 | CONFIG_ARCH_SPARSEMEM_ENABLE=y | ||
124 | CONFIG_FLATMEM=y | 132 | CONFIG_FLATMEM=y |
125 | CONFIG_FLAT_NODE_MEM_MAP=y | 133 | CONFIG_FLAT_NODE_MEM_MAP=y |
126 | # CONFIG_SPARSEMEM_STATIC is not set | 134 | # CONFIG_SPARSEMEM_STATIC is not set |
127 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 135 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
128 | # CONFIG_SMP is not set | 136 | # CONFIG_RESOURCES_64BIT is not set |
129 | # CONFIG_HZ_48 is not set | 137 | # CONFIG_HZ_48 is not set |
130 | CONFIG_HZ_100=y | 138 | CONFIG_HZ_100=y |
131 | # CONFIG_HZ_128 is not set | 139 | # CONFIG_HZ_128 is not set |
@@ -138,6 +146,7 @@ CONFIG_HZ=100 | |||
138 | CONFIG_PREEMPT_NONE=y | 146 | CONFIG_PREEMPT_NONE=y |
139 | # CONFIG_PREEMPT_VOLUNTARY is not set | 147 | # CONFIG_PREEMPT_VOLUNTARY is not set |
140 | # CONFIG_PREEMPT is not set | 148 | # CONFIG_PREEMPT is not set |
149 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
141 | 150 | ||
142 | # | 151 | # |
143 | # Code maturity level options | 152 | # Code maturity level options |
@@ -171,6 +180,7 @@ CONFIG_ELF_CORE=y | |||
171 | # CONFIG_EPOLL is not set | 180 | # CONFIG_EPOLL is not set |
172 | # CONFIG_SHMEM is not set | 181 | # CONFIG_SHMEM is not set |
173 | CONFIG_SLAB=y | 182 | CONFIG_SLAB=y |
183 | CONFIG_VM_EVENT_COUNTERS=y | ||
174 | CONFIG_TINY_SHMEM=y | 184 | CONFIG_TINY_SHMEM=y |
175 | CONFIG_BASE_SMALL=1 | 185 | CONFIG_BASE_SMALL=1 |
176 | # CONFIG_SLOB is not set | 186 | # CONFIG_SLOB is not set |
@@ -235,6 +245,8 @@ CONFIG_NET=y | |||
235 | CONFIG_PACKET=y | 245 | CONFIG_PACKET=y |
236 | CONFIG_PACKET_MMAP=y | 246 | CONFIG_PACKET_MMAP=y |
237 | CONFIG_UNIX=y | 247 | CONFIG_UNIX=y |
248 | CONFIG_XFRM=y | ||
249 | # CONFIG_XFRM_USER is not set | ||
238 | # CONFIG_NET_KEY is not set | 250 | # CONFIG_NET_KEY is not set |
239 | CONFIG_INET=y | 251 | CONFIG_INET=y |
240 | CONFIG_IP_MULTICAST=y | 252 | CONFIG_IP_MULTICAST=y |
@@ -253,6 +265,8 @@ CONFIG_IP_PNP_BOOTP=y | |||
253 | # CONFIG_INET_IPCOMP is not set | 265 | # CONFIG_INET_IPCOMP is not set |
254 | # CONFIG_INET_XFRM_TUNNEL is not set | 266 | # CONFIG_INET_XFRM_TUNNEL is not set |
255 | # CONFIG_INET_TUNNEL is not set | 267 | # CONFIG_INET_TUNNEL is not set |
268 | CONFIG_INET_XFRM_MODE_TRANSPORT=y | ||
269 | CONFIG_INET_XFRM_MODE_TUNNEL=y | ||
256 | CONFIG_INET_DIAG=y | 270 | CONFIG_INET_DIAG=y |
257 | CONFIG_INET_TCP_DIAG=y | 271 | CONFIG_INET_TCP_DIAG=y |
258 | # CONFIG_TCP_CONG_ADVANCED is not set | 272 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -260,6 +274,7 @@ CONFIG_TCP_CONG_BIC=y | |||
260 | # CONFIG_IPV6 is not set | 274 | # CONFIG_IPV6 is not set |
261 | # CONFIG_INET6_XFRM_TUNNEL is not set | 275 | # CONFIG_INET6_XFRM_TUNNEL is not set |
262 | # CONFIG_INET6_TUNNEL is not set | 276 | # CONFIG_INET6_TUNNEL is not set |
277 | CONFIG_NETWORK_SECMARK=y | ||
263 | # CONFIG_NETFILTER is not set | 278 | # CONFIG_NETFILTER is not set |
264 | # CONFIG_BRIDGE is not set | 279 | # CONFIG_BRIDGE is not set |
265 | # CONFIG_VLAN_8021Q is not set | 280 | # CONFIG_VLAN_8021Q is not set |
@@ -292,6 +307,7 @@ CONFIG_TCP_CONG_BIC=y | |||
292 | CONFIG_STANDALONE=y | 307 | CONFIG_STANDALONE=y |
293 | # CONFIG_PREVENT_FIRMWARE_BUILD is not set | 308 | # CONFIG_PREVENT_FIRMWARE_BUILD is not set |
294 | # CONFIG_FW_LOADER is not set | 309 | # CONFIG_FW_LOADER is not set |
310 | # CONFIG_SYS_HYPERVISOR is not set | ||
295 | 311 | ||
296 | # | 312 | # |
297 | # Connector - unified userspace <-> kernelspace linker | 313 | # Connector - unified userspace <-> kernelspace linker |
@@ -473,6 +489,7 @@ CONFIG_INPUT=y | |||
473 | CONFIG_VT=y | 489 | CONFIG_VT=y |
474 | CONFIG_VT_CONSOLE=y | 490 | CONFIG_VT_CONSOLE=y |
475 | CONFIG_HW_CONSOLE=y | 491 | CONFIG_HW_CONSOLE=y |
492 | CONFIG_VT_HW_CONSOLE_BINDING=y | ||
476 | # CONFIG_SERIAL_NONSTANDARD is not set | 493 | # CONFIG_SERIAL_NONSTANDARD is not set |
477 | 494 | ||
478 | # | 495 | # |
@@ -502,6 +519,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
502 | # Watchdog Cards | 519 | # Watchdog Cards |
503 | # | 520 | # |
504 | # CONFIG_WATCHDOG is not set | 521 | # CONFIG_WATCHDOG is not set |
522 | # CONFIG_HW_RANDOM is not set | ||
505 | # CONFIG_RTC is not set | 523 | # CONFIG_RTC is not set |
506 | # CONFIG_GEN_RTC is not set | 524 | # CONFIG_GEN_RTC is not set |
507 | # CONFIG_DTLK is not set | 525 | # CONFIG_DTLK is not set |
@@ -546,6 +564,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
546 | # Multimedia devices | 564 | # Multimedia devices |
547 | # | 565 | # |
548 | # CONFIG_VIDEO_DEV is not set | 566 | # CONFIG_VIDEO_DEV is not set |
567 | CONFIG_VIDEO_V4L2=y | ||
549 | 568 | ||
550 | # | 569 | # |
551 | # Digital Video Broadcasting Devices | 570 | # Digital Video Broadcasting Devices |
@@ -555,6 +574,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
555 | # | 574 | # |
556 | # Graphics support | 575 | # Graphics support |
557 | # | 576 | # |
577 | # CONFIG_FIRMWARE_EDID is not set | ||
558 | # CONFIG_FB is not set | 578 | # CONFIG_FB is not set |
559 | 579 | ||
560 | # | 580 | # |
@@ -617,6 +637,19 @@ CONFIG_DUMMY_CONSOLE=y | |||
617 | # | 637 | # |
618 | 638 | ||
619 | # | 639 | # |
640 | # DMA Engine support | ||
641 | # | ||
642 | # CONFIG_DMA_ENGINE is not set | ||
643 | |||
644 | # | ||
645 | # DMA Clients | ||
646 | # | ||
647 | |||
648 | # | ||
649 | # DMA Devices | ||
650 | # | ||
651 | |||
652 | # | ||
620 | # File systems | 653 | # File systems |
621 | # | 654 | # |
622 | # CONFIG_EXT2_FS is not set | 655 | # CONFIG_EXT2_FS is not set |
@@ -628,6 +661,7 @@ CONFIG_DUMMY_CONSOLE=y | |||
628 | # CONFIG_MINIX_FS is not set | 661 | # CONFIG_MINIX_FS is not set |
629 | # CONFIG_ROMFS_FS is not set | 662 | # CONFIG_ROMFS_FS is not set |
630 | CONFIG_INOTIFY=y | 663 | CONFIG_INOTIFY=y |
664 | CONFIG_INOTIFY_USER=y | ||
631 | # CONFIG_QUOTA is not set | 665 | # CONFIG_QUOTA is not set |
632 | # CONFIG_DNOTIFY is not set | 666 | # CONFIG_DNOTIFY is not set |
633 | # CONFIG_AUTOFS_FS is not set | 667 | # CONFIG_AUTOFS_FS is not set |
@@ -682,6 +716,7 @@ CONFIG_NFS_COMMON=y | |||
682 | CONFIG_SUNRPC=y | 716 | CONFIG_SUNRPC=y |
683 | # CONFIG_SMB_FS is not set | 717 | # CONFIG_SMB_FS is not set |
684 | # CONFIG_CIFS is not set | 718 | # CONFIG_CIFS is not set |
719 | # CONFIG_CIFS_DEBUG2 is not set | ||
685 | # CONFIG_NCP_FS is not set | 720 | # CONFIG_NCP_FS is not set |
686 | # CONFIG_CODA_FS is not set | 721 | # CONFIG_CODA_FS is not set |
687 | 722 | ||
@@ -701,6 +736,7 @@ CONFIG_MSDOS_PARTITION=y | |||
701 | # | 736 | # |
702 | # CONFIG_PRINTK_TIME is not set | 737 | # CONFIG_PRINTK_TIME is not set |
703 | # CONFIG_MAGIC_SYSRQ is not set | 738 | # CONFIG_MAGIC_SYSRQ is not set |
739 | # CONFIG_UNUSED_SYMBOLS is not set | ||
704 | # CONFIG_DEBUG_KERNEL is not set | 740 | # CONFIG_DEBUG_KERNEL is not set |
705 | CONFIG_LOG_BUF_SHIFT=14 | 741 | CONFIG_LOG_BUF_SHIFT=14 |
706 | # CONFIG_DEBUG_FS is not set | 742 | # CONFIG_DEBUG_FS is not set |
diff --git a/arch/mips/configs/rbhma4500_defconfig b/arch/mips/configs/rbhma4500_defconfig index b16731f3684b..6779f449bd2d 100644 --- a/arch/mips/configs/rbhma4500_defconfig +++ b/arch/mips/configs/rbhma4500_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17-rc2 | 3 | # Linux kernel version: 2.6.18-rc1 |
4 | # Mon Apr 24 14:51:16 2006 | 4 | # Thu Jul 6 10:04:19 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -21,6 +21,7 @@ CONFIG_MIPS=y | |||
21 | # CONFIG_MIPS_DB1550 is not set | 21 | # CONFIG_MIPS_DB1550 is not set |
22 | # CONFIG_MIPS_DB1200 is not set | 22 | # CONFIG_MIPS_DB1200 is not set |
23 | # CONFIG_MIPS_MIRAGE is not set | 23 | # CONFIG_MIPS_MIRAGE is not set |
24 | # CONFIG_BASLER_EXCITE is not set | ||
24 | # CONFIG_MIPS_COBALT is not set | 25 | # CONFIG_MIPS_COBALT is not set |
25 | # CONFIG_MACH_DECSTATION is not set | 26 | # CONFIG_MACH_DECSTATION is not set |
26 | # CONFIG_MIPS_EV64120 is not set | 27 | # CONFIG_MIPS_EV64120 is not set |
@@ -32,6 +33,7 @@ CONFIG_MIPS=y | |||
32 | # CONFIG_MIPS_ATLAS is not set | 33 | # CONFIG_MIPS_ATLAS is not set |
33 | # CONFIG_MIPS_MALTA is not set | 34 | # CONFIG_MIPS_MALTA is not set |
34 | # CONFIG_MIPS_SEAD is not set | 35 | # CONFIG_MIPS_SEAD is not set |
36 | # CONFIG_WR_PPMC is not set | ||
35 | # CONFIG_MIPS_SIM is not set | 37 | # CONFIG_MIPS_SIM is not set |
36 | # CONFIG_MOMENCO_JAGUAR_ATX is not set | 38 | # CONFIG_MOMENCO_JAGUAR_ATX is not set |
37 | # CONFIG_MOMENCO_OCELOT is not set | 39 | # CONFIG_MOMENCO_OCELOT is not set |
@@ -45,6 +47,7 @@ CONFIG_MIPS=y | |||
45 | # CONFIG_MACH_VR41XX is not set | 47 | # CONFIG_MACH_VR41XX is not set |
46 | # CONFIG_PMC_YOSEMITE is not set | 48 | # CONFIG_PMC_YOSEMITE is not set |
47 | # CONFIG_QEMU is not set | 49 | # CONFIG_QEMU is not set |
50 | # CONFIG_MARKEINS is not set | ||
48 | # CONFIG_SGI_IP22 is not set | 51 | # CONFIG_SGI_IP22 is not set |
49 | # CONFIG_SGI_IP27 is not set | 52 | # CONFIG_SGI_IP27 is not set |
50 | # CONFIG_SGI_IP32 is not set | 53 | # CONFIG_SGI_IP32 is not set |
@@ -72,6 +75,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y | |||
72 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 75 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
73 | CONFIG_GENERIC_HWEIGHT=y | 76 | CONFIG_GENERIC_HWEIGHT=y |
74 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 77 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
78 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
75 | CONFIG_DMA_NONCOHERENT=y | 79 | CONFIG_DMA_NONCOHERENT=y |
76 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 80 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
77 | CONFIG_GENERIC_ISA_DMA=y | 81 | CONFIG_GENERIC_ISA_DMA=y |
@@ -122,7 +126,10 @@ CONFIG_PAGE_SIZE_4KB=y | |||
122 | # CONFIG_PAGE_SIZE_16KB is not set | 126 | # CONFIG_PAGE_SIZE_16KB is not set |
123 | # CONFIG_PAGE_SIZE_64KB is not set | 127 | # CONFIG_PAGE_SIZE_64KB is not set |
124 | CONFIG_CPU_HAS_PREFETCH=y | 128 | CONFIG_CPU_HAS_PREFETCH=y |
125 | # CONFIG_MIPS_MT is not set | 129 | CONFIG_MIPS_MT_DISABLED=y |
130 | # CONFIG_MIPS_MT_SMTC is not set | ||
131 | # CONFIG_MIPS_MT_SMP is not set | ||
132 | # CONFIG_MIPS_VPE_LOADER is not set | ||
126 | CONFIG_CPU_HAS_LLSC=y | 133 | CONFIG_CPU_HAS_LLSC=y |
127 | CONFIG_CPU_HAS_SYNC=y | 134 | CONFIG_CPU_HAS_SYNC=y |
128 | CONFIG_GENERIC_HARDIRQS=y | 135 | CONFIG_GENERIC_HARDIRQS=y |
@@ -136,6 +143,7 @@ CONFIG_FLATMEM=y | |||
136 | CONFIG_FLAT_NODE_MEM_MAP=y | 143 | CONFIG_FLAT_NODE_MEM_MAP=y |
137 | # CONFIG_SPARSEMEM_STATIC is not set | 144 | # CONFIG_SPARSEMEM_STATIC is not set |
138 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 145 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
146 | # CONFIG_RESOURCES_64BIT is not set | ||
139 | # CONFIG_HZ_48 is not set | 147 | # CONFIG_HZ_48 is not set |
140 | # CONFIG_HZ_100 is not set | 148 | # CONFIG_HZ_100 is not set |
141 | # CONFIG_HZ_128 is not set | 149 | # CONFIG_HZ_128 is not set |
@@ -148,6 +156,7 @@ CONFIG_HZ=1000 | |||
148 | CONFIG_PREEMPT_NONE=y | 156 | CONFIG_PREEMPT_NONE=y |
149 | # CONFIG_PREEMPT_VOLUNTARY is not set | 157 | # CONFIG_PREEMPT_VOLUNTARY is not set |
150 | # CONFIG_PREEMPT is not set | 158 | # CONFIG_PREEMPT is not set |
159 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
151 | 160 | ||
152 | # | 161 | # |
153 | # Code maturity level options | 162 | # Code maturity level options |
@@ -184,10 +193,10 @@ CONFIG_BASE_FULL=y | |||
184 | # CONFIG_EPOLL is not set | 193 | # CONFIG_EPOLL is not set |
185 | CONFIG_SHMEM=y | 194 | CONFIG_SHMEM=y |
186 | CONFIG_SLAB=y | 195 | CONFIG_SLAB=y |
196 | CONFIG_VM_EVENT_COUNTERS=y | ||
187 | # CONFIG_TINY_SHMEM is not set | 197 | # CONFIG_TINY_SHMEM is not set |
188 | CONFIG_BASE_SMALL=0 | 198 | CONFIG_BASE_SMALL=0 |
189 | # CONFIG_SLOB is not set | 199 | # CONFIG_SLOB is not set |
190 | CONFIG_OBSOLETE_INTERMODULE=y | ||
191 | 200 | ||
192 | # | 201 | # |
193 | # Loadable module support | 202 | # Loadable module support |
@@ -255,6 +264,8 @@ CONFIG_NET=y | |||
255 | CONFIG_PACKET=y | 264 | CONFIG_PACKET=y |
256 | # CONFIG_PACKET_MMAP is not set | 265 | # CONFIG_PACKET_MMAP is not set |
257 | CONFIG_UNIX=y | 266 | CONFIG_UNIX=y |
267 | CONFIG_XFRM=y | ||
268 | # CONFIG_XFRM_USER is not set | ||
258 | # CONFIG_NET_KEY is not set | 269 | # CONFIG_NET_KEY is not set |
259 | CONFIG_INET=y | 270 | CONFIG_INET=y |
260 | CONFIG_IP_MULTICAST=y | 271 | CONFIG_IP_MULTICAST=y |
@@ -274,6 +285,8 @@ CONFIG_IP_PNP_BOOTP=y | |||
274 | # CONFIG_INET_IPCOMP is not set | 285 | # CONFIG_INET_IPCOMP is not set |
275 | # CONFIG_INET_XFRM_TUNNEL is not set | 286 | # CONFIG_INET_XFRM_TUNNEL is not set |
276 | # CONFIG_INET_TUNNEL is not set | 287 | # CONFIG_INET_TUNNEL is not set |
288 | CONFIG_INET_XFRM_MODE_TRANSPORT=m | ||
289 | CONFIG_INET_XFRM_MODE_TUNNEL=m | ||
277 | CONFIG_INET_DIAG=y | 290 | CONFIG_INET_DIAG=y |
278 | CONFIG_INET_TCP_DIAG=y | 291 | CONFIG_INET_TCP_DIAG=y |
279 | # CONFIG_TCP_CONG_ADVANCED is not set | 292 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -292,7 +305,10 @@ CONFIG_IPV6_ROUTE_INFO=y | |||
292 | # CONFIG_INET6_IPCOMP is not set | 305 | # CONFIG_INET6_IPCOMP is not set |
293 | # CONFIG_INET6_XFRM_TUNNEL is not set | 306 | # CONFIG_INET6_XFRM_TUNNEL is not set |
294 | # CONFIG_INET6_TUNNEL is not set | 307 | # CONFIG_INET6_TUNNEL is not set |
308 | CONFIG_INET6_XFRM_MODE_TRANSPORT=m | ||
309 | CONFIG_INET6_XFRM_MODE_TUNNEL=m | ||
295 | # CONFIG_IPV6_TUNNEL is not set | 310 | # CONFIG_IPV6_TUNNEL is not set |
311 | CONFIG_NETWORK_SECMARK=y | ||
296 | CONFIG_NETFILTER=y | 312 | CONFIG_NETFILTER=y |
297 | # CONFIG_NETFILTER_DEBUG is not set | 313 | # CONFIG_NETFILTER_DEBUG is not set |
298 | 314 | ||
@@ -307,6 +323,7 @@ CONFIG_NETFILTER_XTABLES=m | |||
307 | CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m | 323 | CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m |
308 | CONFIG_NETFILTER_XT_TARGET_MARK=m | 324 | CONFIG_NETFILTER_XT_TARGET_MARK=m |
309 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | 325 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m |
326 | CONFIG_NETFILTER_XT_TARGET_SECMARK=m | ||
310 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | 327 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m |
311 | CONFIG_NETFILTER_XT_MATCH_DCCP=m | 328 | CONFIG_NETFILTER_XT_MATCH_DCCP=m |
312 | CONFIG_NETFILTER_XT_MATCH_ESP=m | 329 | CONFIG_NETFILTER_XT_MATCH_ESP=m |
@@ -314,10 +331,13 @@ CONFIG_NETFILTER_XT_MATCH_LENGTH=m | |||
314 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m | 331 | CONFIG_NETFILTER_XT_MATCH_LIMIT=m |
315 | CONFIG_NETFILTER_XT_MATCH_MAC=m | 332 | CONFIG_NETFILTER_XT_MATCH_MAC=m |
316 | CONFIG_NETFILTER_XT_MATCH_MARK=m | 333 | CONFIG_NETFILTER_XT_MATCH_MARK=m |
334 | # CONFIG_NETFILTER_XT_MATCH_POLICY is not set | ||
317 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m | 335 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m |
318 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 336 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m |
337 | CONFIG_NETFILTER_XT_MATCH_QUOTA=m | ||
319 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 338 | CONFIG_NETFILTER_XT_MATCH_REALM=m |
320 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | 339 | CONFIG_NETFILTER_XT_MATCH_SCTP=m |
340 | CONFIG_NETFILTER_XT_MATCH_STATISTIC=m | ||
321 | CONFIG_NETFILTER_XT_MATCH_STRING=m | 341 | CONFIG_NETFILTER_XT_MATCH_STRING=m |
322 | CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | 342 | CONFIG_NETFILTER_XT_MATCH_TCPMSS=m |
323 | 343 | ||
@@ -394,6 +414,7 @@ CONFIG_WIRELESS_EXT=y | |||
394 | CONFIG_STANDALONE=y | 414 | CONFIG_STANDALONE=y |
395 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 415 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
396 | CONFIG_FW_LOADER=m | 416 | CONFIG_FW_LOADER=m |
417 | # CONFIG_SYS_HYPERVISOR is not set | ||
397 | 418 | ||
398 | # | 419 | # |
399 | # Connector - unified userspace <-> kernelspace linker | 420 | # Connector - unified userspace <-> kernelspace linker |
@@ -624,6 +645,8 @@ CONFIG_DAVICOM_PHY=m | |||
624 | CONFIG_QSEMI_PHY=m | 645 | CONFIG_QSEMI_PHY=m |
625 | CONFIG_LXT_PHY=m | 646 | CONFIG_LXT_PHY=m |
626 | CONFIG_CICADA_PHY=m | 647 | CONFIG_CICADA_PHY=m |
648 | CONFIG_VITESSE_PHY=m | ||
649 | CONFIG_SMSC_PHY=m | ||
627 | 650 | ||
628 | # | 651 | # |
629 | # Ethernet (10 or 100Mbit) | 652 | # Ethernet (10 or 100Mbit) |
@@ -704,6 +727,7 @@ CONFIG_NET_PCI=y | |||
704 | # CONFIG_CHELSIO_T1 is not set | 727 | # CONFIG_CHELSIO_T1 is not set |
705 | # CONFIG_IXGB is not set | 728 | # CONFIG_IXGB is not set |
706 | # CONFIG_S2IO is not set | 729 | # CONFIG_S2IO is not set |
730 | # CONFIG_MYRI10GE is not set | ||
707 | 731 | ||
708 | # | 732 | # |
709 | # Token Ring devices | 733 | # Token Ring devices |
@@ -729,7 +753,7 @@ CONFIG_NET_RADIO=y | |||
729 | # CONFIG_IPW2100 is not set | 753 | # CONFIG_IPW2100 is not set |
730 | CONFIG_IPW2200=m | 754 | CONFIG_IPW2200=m |
731 | # CONFIG_IPW2200_MONITOR is not set | 755 | # CONFIG_IPW2200_MONITOR is not set |
732 | # CONFIG_IPW_QOS is not set | 756 | # CONFIG_IPW2200_QOS is not set |
733 | # CONFIG_IPW2200_DEBUG is not set | 757 | # CONFIG_IPW2200_DEBUG is not set |
734 | # CONFIG_HERMES is not set | 758 | # CONFIG_HERMES is not set |
735 | # CONFIG_ATMEL is not set | 759 | # CONFIG_ATMEL is not set |
@@ -738,8 +762,10 @@ CONFIG_IPW2200=m | |||
738 | # Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support | 762 | # Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support |
739 | # | 763 | # |
740 | # CONFIG_PRISM54 is not set | 764 | # CONFIG_PRISM54 is not set |
765 | # CONFIG_USB_ZD1201 is not set | ||
741 | # CONFIG_HOSTAP is not set | 766 | # CONFIG_HOSTAP is not set |
742 | # CONFIG_BCM43XX is not set | 767 | # CONFIG_BCM43XX is not set |
768 | # CONFIG_ZD1211RW is not set | ||
743 | CONFIG_NET_WIRELESS=y | 769 | CONFIG_NET_WIRELESS=y |
744 | 770 | ||
745 | # | 771 | # |
@@ -827,6 +853,7 @@ CONFIG_SERIO_LIBPS2=y | |||
827 | CONFIG_VT=y | 853 | CONFIG_VT=y |
828 | CONFIG_VT_CONSOLE=y | 854 | CONFIG_VT_CONSOLE=y |
829 | CONFIG_HW_CONSOLE=y | 855 | CONFIG_HW_CONSOLE=y |
856 | CONFIG_VT_HW_CONSOLE_BINDING=y | ||
830 | # CONFIG_SERIAL_NONSTANDARD is not set | 857 | # CONFIG_SERIAL_NONSTANDARD is not set |
831 | 858 | ||
832 | # | 859 | # |
@@ -856,6 +883,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
856 | # Watchdog Cards | 883 | # Watchdog Cards |
857 | # | 884 | # |
858 | # CONFIG_WATCHDOG is not set | 885 | # CONFIG_WATCHDOG is not set |
886 | # CONFIG_HW_RANDOM is not set | ||
859 | # CONFIG_RTC is not set | 887 | # CONFIG_RTC is not set |
860 | # CONFIG_GEN_RTC is not set | 888 | # CONFIG_GEN_RTC is not set |
861 | # CONFIG_DTLK is not set | 889 | # CONFIG_DTLK is not set |
@@ -895,6 +923,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
895 | # | 923 | # |
896 | CONFIG_HWMON=y | 924 | CONFIG_HWMON=y |
897 | # CONFIG_HWMON_VID is not set | 925 | # CONFIG_HWMON_VID is not set |
926 | # CONFIG_SENSORS_ABITUGURU is not set | ||
898 | # CONFIG_SENSORS_F71805F is not set | 927 | # CONFIG_SENSORS_F71805F is not set |
899 | # CONFIG_HWMON_DEBUG_CHIP is not set | 928 | # CONFIG_HWMON_DEBUG_CHIP is not set |
900 | 929 | ||
@@ -906,6 +935,7 @@ CONFIG_HWMON=y | |||
906 | # Multimedia devices | 935 | # Multimedia devices |
907 | # | 936 | # |
908 | # CONFIG_VIDEO_DEV is not set | 937 | # CONFIG_VIDEO_DEV is not set |
938 | CONFIG_VIDEO_V4L2=y | ||
909 | 939 | ||
910 | # | 940 | # |
911 | # Digital Video Broadcasting Devices | 941 | # Digital Video Broadcasting Devices |
@@ -916,12 +946,13 @@ CONFIG_HWMON=y | |||
916 | # | 946 | # |
917 | # Graphics support | 947 | # Graphics support |
918 | # | 948 | # |
949 | # CONFIG_FIRMWARE_EDID is not set | ||
919 | CONFIG_FB=y | 950 | CONFIG_FB=y |
920 | CONFIG_FB_CFB_FILLRECT=y | 951 | CONFIG_FB_CFB_FILLRECT=y |
921 | CONFIG_FB_CFB_COPYAREA=y | 952 | CONFIG_FB_CFB_COPYAREA=y |
922 | CONFIG_FB_CFB_IMAGEBLIT=y | 953 | CONFIG_FB_CFB_IMAGEBLIT=y |
923 | # CONFIG_FB_MACMODES is not set | 954 | # CONFIG_FB_MACMODES is not set |
924 | CONFIG_FB_FIRMWARE_EDID=y | 955 | # CONFIG_FB_BACKLIGHT is not set |
925 | # CONFIG_FB_MODE_HELPERS is not set | 956 | # CONFIG_FB_MODE_HELPERS is not set |
926 | # CONFIG_FB_TILEBLITTING is not set | 957 | # CONFIG_FB_TILEBLITTING is not set |
927 | # CONFIG_FB_CIRRUS is not set | 958 | # CONFIG_FB_CIRRUS is not set |
@@ -1045,7 +1076,6 @@ CONFIG_USB_YEALINK=m | |||
1045 | # CONFIG_USB_PEGASUS is not set | 1076 | # CONFIG_USB_PEGASUS is not set |
1046 | # CONFIG_USB_RTL8150 is not set | 1077 | # CONFIG_USB_RTL8150 is not set |
1047 | # CONFIG_USB_USBNET is not set | 1078 | # CONFIG_USB_USBNET is not set |
1048 | # CONFIG_USB_ZD1201 is not set | ||
1049 | CONFIG_USB_MON=y | 1079 | CONFIG_USB_MON=y |
1050 | 1080 | ||
1051 | # | 1081 | # |
@@ -1067,10 +1097,12 @@ CONFIG_USB_MON=y | |||
1067 | # CONFIG_USB_LEGOTOWER is not set | 1097 | # CONFIG_USB_LEGOTOWER is not set |
1068 | # CONFIG_USB_LCD is not set | 1098 | # CONFIG_USB_LCD is not set |
1069 | # CONFIG_USB_LED is not set | 1099 | # CONFIG_USB_LED is not set |
1100 | # CONFIG_USB_CY7C63 is not set | ||
1070 | # CONFIG_USB_CYTHERM is not set | 1101 | # CONFIG_USB_CYTHERM is not set |
1071 | # CONFIG_USB_PHIDGETKIT is not set | 1102 | # CONFIG_USB_PHIDGETKIT is not set |
1072 | # CONFIG_USB_PHIDGETSERVO is not set | 1103 | # CONFIG_USB_PHIDGETSERVO is not set |
1073 | # CONFIG_USB_IDMOUSE is not set | 1104 | # CONFIG_USB_IDMOUSE is not set |
1105 | # CONFIG_USB_APPLEDISPLAY is not set | ||
1074 | # CONFIG_USB_LD is not set | 1106 | # CONFIG_USB_LD is not set |
1075 | 1107 | ||
1076 | # | 1108 | # |
@@ -1115,6 +1147,19 @@ CONFIG_USB_MON=y | |||
1115 | # CONFIG_RTC_CLASS is not set | 1147 | # CONFIG_RTC_CLASS is not set |
1116 | 1148 | ||
1117 | # | 1149 | # |
1150 | # DMA Engine support | ||
1151 | # | ||
1152 | # CONFIG_DMA_ENGINE is not set | ||
1153 | |||
1154 | # | ||
1155 | # DMA Clients | ||
1156 | # | ||
1157 | |||
1158 | # | ||
1159 | # DMA Devices | ||
1160 | # | ||
1161 | |||
1162 | # | ||
1118 | # File systems | 1163 | # File systems |
1119 | # | 1164 | # |
1120 | CONFIG_EXT2_FS=y | 1165 | CONFIG_EXT2_FS=y |
@@ -1134,7 +1179,6 @@ CONFIG_REISERFS_FS=m | |||
1134 | # CONFIG_JFS_FS is not set | 1179 | # CONFIG_JFS_FS is not set |
1135 | # CONFIG_FS_POSIX_ACL is not set | 1180 | # CONFIG_FS_POSIX_ACL is not set |
1136 | CONFIG_XFS_FS=m | 1181 | CONFIG_XFS_FS=m |
1137 | CONFIG_XFS_EXPORT=y | ||
1138 | # CONFIG_XFS_QUOTA is not set | 1182 | # CONFIG_XFS_QUOTA is not set |
1139 | # CONFIG_XFS_SECURITY is not set | 1183 | # CONFIG_XFS_SECURITY is not set |
1140 | # CONFIG_XFS_POSIX_ACL is not set | 1184 | # CONFIG_XFS_POSIX_ACL is not set |
@@ -1143,6 +1187,7 @@ CONFIG_XFS_EXPORT=y | |||
1143 | # CONFIG_MINIX_FS is not set | 1187 | # CONFIG_MINIX_FS is not set |
1144 | # CONFIG_ROMFS_FS is not set | 1188 | # CONFIG_ROMFS_FS is not set |
1145 | CONFIG_INOTIFY=y | 1189 | CONFIG_INOTIFY=y |
1190 | CONFIG_INOTIFY_USER=y | ||
1146 | # CONFIG_QUOTA is not set | 1191 | # CONFIG_QUOTA is not set |
1147 | # CONFIG_DNOTIFY is not set | 1192 | # CONFIG_DNOTIFY is not set |
1148 | # CONFIG_AUTOFS_FS is not set | 1193 | # CONFIG_AUTOFS_FS is not set |
@@ -1193,6 +1238,7 @@ CONFIG_JFFS2_FS=y | |||
1193 | CONFIG_JFFS2_FS_DEBUG=0 | 1238 | CONFIG_JFFS2_FS_DEBUG=0 |
1194 | CONFIG_JFFS2_FS_WRITEBUFFER=y | 1239 | CONFIG_JFFS2_FS_WRITEBUFFER=y |
1195 | # CONFIG_JFFS2_SUMMARY is not set | 1240 | # CONFIG_JFFS2_SUMMARY is not set |
1241 | # CONFIG_JFFS2_FS_XATTR is not set | ||
1196 | # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set | 1242 | # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set |
1197 | CONFIG_JFFS2_ZLIB=y | 1243 | CONFIG_JFFS2_ZLIB=y |
1198 | CONFIG_JFFS2_RTIME=y | 1244 | CONFIG_JFFS2_RTIME=y |
@@ -1226,6 +1272,7 @@ CONFIG_SUNRPC=y | |||
1226 | CONFIG_SMB_FS=m | 1272 | CONFIG_SMB_FS=m |
1227 | # CONFIG_SMB_NLS_DEFAULT is not set | 1273 | # CONFIG_SMB_NLS_DEFAULT is not set |
1228 | # CONFIG_CIFS is not set | 1274 | # CONFIG_CIFS is not set |
1275 | # CONFIG_CIFS_DEBUG2 is not set | ||
1229 | # CONFIG_NCP_FS is not set | 1276 | # CONFIG_NCP_FS is not set |
1230 | # CONFIG_CODA_FS is not set | 1277 | # CONFIG_CODA_FS is not set |
1231 | # CONFIG_AFS_FS is not set | 1278 | # CONFIG_AFS_FS is not set |
@@ -1291,6 +1338,7 @@ CONFIG_NLS_DEFAULT="iso8859-1" | |||
1291 | # | 1338 | # |
1292 | # CONFIG_PRINTK_TIME is not set | 1339 | # CONFIG_PRINTK_TIME is not set |
1293 | # CONFIG_MAGIC_SYSRQ is not set | 1340 | # CONFIG_MAGIC_SYSRQ is not set |
1341 | # CONFIG_UNUSED_SYMBOLS is not set | ||
1294 | # CONFIG_DEBUG_KERNEL is not set | 1342 | # CONFIG_DEBUG_KERNEL is not set |
1295 | CONFIG_LOG_BUF_SHIFT=14 | 1343 | CONFIG_LOG_BUF_SHIFT=14 |
1296 | # CONFIG_DEBUG_FS is not set | 1344 | # CONFIG_DEBUG_FS is not set |
diff --git a/arch/mips/configs/rm200_defconfig b/arch/mips/configs/rm200_defconfig index 8b0dd8651264..b7826d3a2b77 100644 --- a/arch/mips/configs/rm200_defconfig +++ b/arch/mips/configs/rm200_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17-rc2 | 3 | # Linux kernel version: 2.6.18-rc1 |
4 | # Mon Apr 24 14:51:16 2006 | 4 | # Thu Jul 6 10:04:19 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -21,6 +21,7 @@ CONFIG_MIPS=y | |||
21 | # CONFIG_MIPS_DB1550 is not set | 21 | # CONFIG_MIPS_DB1550 is not set |
22 | # CONFIG_MIPS_DB1200 is not set | 22 | # CONFIG_MIPS_DB1200 is not set |
23 | # CONFIG_MIPS_MIRAGE is not set | 23 | # CONFIG_MIPS_MIRAGE is not set |
24 | # CONFIG_BASLER_EXCITE is not set | ||
24 | # CONFIG_MIPS_COBALT is not set | 25 | # CONFIG_MIPS_COBALT is not set |
25 | # CONFIG_MACH_DECSTATION is not set | 26 | # CONFIG_MACH_DECSTATION is not set |
26 | # CONFIG_MIPS_EV64120 is not set | 27 | # CONFIG_MIPS_EV64120 is not set |
@@ -32,6 +33,7 @@ CONFIG_MIPS=y | |||
32 | # CONFIG_MIPS_ATLAS is not set | 33 | # CONFIG_MIPS_ATLAS is not set |
33 | # CONFIG_MIPS_MALTA is not set | 34 | # CONFIG_MIPS_MALTA is not set |
34 | # CONFIG_MIPS_SEAD is not set | 35 | # CONFIG_MIPS_SEAD is not set |
36 | # CONFIG_WR_PPMC is not set | ||
35 | # CONFIG_MIPS_SIM is not set | 37 | # CONFIG_MIPS_SIM is not set |
36 | # CONFIG_MOMENCO_JAGUAR_ATX is not set | 38 | # CONFIG_MOMENCO_JAGUAR_ATX is not set |
37 | # CONFIG_MOMENCO_OCELOT is not set | 39 | # CONFIG_MOMENCO_OCELOT is not set |
@@ -45,6 +47,7 @@ CONFIG_MIPS=y | |||
45 | # CONFIG_MACH_VR41XX is not set | 47 | # CONFIG_MACH_VR41XX is not set |
46 | # CONFIG_PMC_YOSEMITE is not set | 48 | # CONFIG_PMC_YOSEMITE is not set |
47 | # CONFIG_QEMU is not set | 49 | # CONFIG_QEMU is not set |
50 | # CONFIG_MARKEINS is not set | ||
48 | # CONFIG_SGI_IP22 is not set | 51 | # CONFIG_SGI_IP22 is not set |
49 | # CONFIG_SGI_IP27 is not set | 52 | # CONFIG_SGI_IP27 is not set |
50 | # CONFIG_SGI_IP32 is not set | 53 | # CONFIG_SGI_IP32 is not set |
@@ -65,6 +68,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y | |||
65 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 68 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
66 | CONFIG_GENERIC_HWEIGHT=y | 69 | CONFIG_GENERIC_HWEIGHT=y |
67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 70 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
71 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
68 | CONFIG_ARC=y | 72 | CONFIG_ARC=y |
69 | CONFIG_ARCH_MAY_HAVE_PC_FDC=y | 73 | CONFIG_ARCH_MAY_HAVE_PC_FDC=y |
70 | CONFIG_DMA_NONCOHERENT=y | 74 | CONFIG_DMA_NONCOHERENT=y |
@@ -106,6 +110,7 @@ CONFIG_CPU_R4X00=y | |||
106 | # CONFIG_CPU_RM9000 is not set | 110 | # CONFIG_CPU_RM9000 is not set |
107 | # CONFIG_CPU_SB1 is not set | 111 | # CONFIG_CPU_SB1 is not set |
108 | CONFIG_SYS_HAS_CPU_R4X00=y | 112 | CONFIG_SYS_HAS_CPU_R4X00=y |
113 | CONFIG_SYS_HAS_CPU_R5000=y | ||
109 | CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y | 114 | CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y |
110 | CONFIG_SYS_SUPPORTS_64BIT_KERNEL=y | 115 | CONFIG_SYS_SUPPORTS_64BIT_KERNEL=y |
111 | CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y | 116 | CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y |
@@ -120,7 +125,12 @@ CONFIG_PAGE_SIZE_4KB=y | |||
120 | # CONFIG_PAGE_SIZE_8KB is not set | 125 | # CONFIG_PAGE_SIZE_8KB is not set |
121 | # CONFIG_PAGE_SIZE_16KB is not set | 126 | # CONFIG_PAGE_SIZE_16KB is not set |
122 | # CONFIG_PAGE_SIZE_64KB is not set | 127 | # CONFIG_PAGE_SIZE_64KB is not set |
123 | # CONFIG_MIPS_MT is not set | 128 | CONFIG_BOARD_SCACHE=y |
129 | CONFIG_R5000_CPU_SCACHE=y | ||
130 | CONFIG_MIPS_MT_DISABLED=y | ||
131 | # CONFIG_MIPS_MT_SMTC is not set | ||
132 | # CONFIG_MIPS_MT_SMP is not set | ||
133 | # CONFIG_MIPS_VPE_LOADER is not set | ||
124 | # CONFIG_64BIT_PHYS_ADDR is not set | 134 | # CONFIG_64BIT_PHYS_ADDR is not set |
125 | CONFIG_CPU_HAS_LLSC=y | 135 | CONFIG_CPU_HAS_LLSC=y |
126 | CONFIG_CPU_HAS_SYNC=y | 136 | CONFIG_CPU_HAS_SYNC=y |
@@ -136,6 +146,7 @@ CONFIG_FLATMEM=y | |||
136 | CONFIG_FLAT_NODE_MEM_MAP=y | 146 | CONFIG_FLAT_NODE_MEM_MAP=y |
137 | # CONFIG_SPARSEMEM_STATIC is not set | 147 | # CONFIG_SPARSEMEM_STATIC is not set |
138 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 148 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
149 | # CONFIG_RESOURCES_64BIT is not set | ||
139 | # CONFIG_HZ_48 is not set | 150 | # CONFIG_HZ_48 is not set |
140 | # CONFIG_HZ_100 is not set | 151 | # CONFIG_HZ_100 is not set |
141 | # CONFIG_HZ_128 is not set | 152 | # CONFIG_HZ_128 is not set |
@@ -148,6 +159,7 @@ CONFIG_HZ=1000 | |||
148 | # CONFIG_PREEMPT_NONE is not set | 159 | # CONFIG_PREEMPT_NONE is not set |
149 | CONFIG_PREEMPT_VOLUNTARY=y | 160 | CONFIG_PREEMPT_VOLUNTARY=y |
150 | # CONFIG_PREEMPT is not set | 161 | # CONFIG_PREEMPT is not set |
162 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
151 | 163 | ||
152 | # | 164 | # |
153 | # Code maturity level options | 165 | # Code maturity level options |
@@ -181,10 +193,12 @@ CONFIG_PRINTK=y | |||
181 | CONFIG_BUG=y | 193 | CONFIG_BUG=y |
182 | CONFIG_ELF_CORE=y | 194 | CONFIG_ELF_CORE=y |
183 | CONFIG_BASE_FULL=y | 195 | CONFIG_BASE_FULL=y |
196 | CONFIG_RT_MUTEXES=y | ||
184 | CONFIG_FUTEX=y | 197 | CONFIG_FUTEX=y |
185 | CONFIG_EPOLL=y | 198 | CONFIG_EPOLL=y |
186 | CONFIG_SHMEM=y | 199 | CONFIG_SHMEM=y |
187 | CONFIG_SLAB=y | 200 | CONFIG_SLAB=y |
201 | CONFIG_VM_EVENT_COUNTERS=y | ||
188 | # CONFIG_TINY_SHMEM is not set | 202 | # CONFIG_TINY_SHMEM is not set |
189 | CONFIG_BASE_SMALL=0 | 203 | CONFIG_BASE_SMALL=0 |
190 | # CONFIG_SLOB is not set | 204 | # CONFIG_SLOB is not set |
@@ -280,6 +294,8 @@ CONFIG_IP_PIMSM_V2=y | |||
280 | # CONFIG_INET_IPCOMP is not set | 294 | # CONFIG_INET_IPCOMP is not set |
281 | # CONFIG_INET_XFRM_TUNNEL is not set | 295 | # CONFIG_INET_XFRM_TUNNEL is not set |
282 | CONFIG_INET_TUNNEL=m | 296 | CONFIG_INET_TUNNEL=m |
297 | CONFIG_INET_XFRM_MODE_TRANSPORT=m | ||
298 | CONFIG_INET_XFRM_MODE_TUNNEL=m | ||
283 | CONFIG_INET_DIAG=y | 299 | CONFIG_INET_DIAG=y |
284 | CONFIG_INET_TCP_DIAG=y | 300 | CONFIG_INET_TCP_DIAG=y |
285 | # CONFIG_TCP_CONG_ADVANCED is not set | 301 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -298,7 +314,10 @@ CONFIG_INET6_ESP=m | |||
298 | CONFIG_INET6_IPCOMP=m | 314 | CONFIG_INET6_IPCOMP=m |
299 | CONFIG_INET6_XFRM_TUNNEL=m | 315 | CONFIG_INET6_XFRM_TUNNEL=m |
300 | CONFIG_INET6_TUNNEL=m | 316 | CONFIG_INET6_TUNNEL=m |
317 | CONFIG_INET6_XFRM_MODE_TRANSPORT=m | ||
318 | CONFIG_INET6_XFRM_MODE_TUNNEL=m | ||
301 | CONFIG_IPV6_TUNNEL=m | 319 | CONFIG_IPV6_TUNNEL=m |
320 | CONFIG_NETWORK_SECMARK=y | ||
302 | CONFIG_NETFILTER=y | 321 | CONFIG_NETFILTER=y |
303 | # CONFIG_NETFILTER_DEBUG is not set | 322 | # CONFIG_NETFILTER_DEBUG is not set |
304 | CONFIG_BRIDGE_NETFILTER=y | 323 | CONFIG_BRIDGE_NETFILTER=y |
@@ -315,6 +334,8 @@ CONFIG_NETFILTER_XT_TARGET_CONNMARK=m | |||
315 | CONFIG_NETFILTER_XT_TARGET_MARK=m | 334 | CONFIG_NETFILTER_XT_TARGET_MARK=m |
316 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | 335 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m |
317 | CONFIG_NETFILTER_XT_TARGET_NOTRACK=m | 336 | CONFIG_NETFILTER_XT_TARGET_NOTRACK=m |
337 | CONFIG_NETFILTER_XT_TARGET_SECMARK=m | ||
338 | # CONFIG_NETFILTER_XT_TARGET_CONNSECMARK is not set | ||
318 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | 339 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m |
319 | CONFIG_NETFILTER_XT_MATCH_CONNMARK=m | 340 | CONFIG_NETFILTER_XT_MATCH_CONNMARK=m |
320 | CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m | 341 | CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m |
@@ -329,9 +350,11 @@ CONFIG_NETFILTER_XT_MATCH_POLICY=m | |||
329 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m | 350 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m |
330 | CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m | 351 | CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m |
331 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 352 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m |
353 | CONFIG_NETFILTER_XT_MATCH_QUOTA=m | ||
332 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 354 | CONFIG_NETFILTER_XT_MATCH_REALM=m |
333 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | 355 | CONFIG_NETFILTER_XT_MATCH_SCTP=m |
334 | CONFIG_NETFILTER_XT_MATCH_STATE=m | 356 | CONFIG_NETFILTER_XT_MATCH_STATE=m |
357 | CONFIG_NETFILTER_XT_MATCH_STATISTIC=m | ||
335 | CONFIG_NETFILTER_XT_MATCH_STRING=m | 358 | CONFIG_NETFILTER_XT_MATCH_STRING=m |
336 | CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | 359 | CONFIG_NETFILTER_XT_MATCH_TCPMSS=m |
337 | 360 | ||
@@ -341,6 +364,7 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | |||
341 | CONFIG_IP_NF_CONNTRACK=m | 364 | CONFIG_IP_NF_CONNTRACK=m |
342 | # CONFIG_IP_NF_CT_ACCT is not set | 365 | # CONFIG_IP_NF_CT_ACCT is not set |
343 | CONFIG_IP_NF_CONNTRACK_MARK=y | 366 | CONFIG_IP_NF_CONNTRACK_MARK=y |
367 | CONFIG_IP_NF_CONNTRACK_SECMARK=y | ||
344 | CONFIG_IP_NF_CONNTRACK_EVENTS=y | 368 | CONFIG_IP_NF_CONNTRACK_EVENTS=y |
345 | CONFIG_IP_NF_CONNTRACK_NETLINK=m | 369 | CONFIG_IP_NF_CONNTRACK_NETLINK=m |
346 | CONFIG_IP_NF_CT_PROTO_SCTP=m | 370 | CONFIG_IP_NF_CT_PROTO_SCTP=m |
@@ -351,6 +375,7 @@ CONFIG_IP_NF_TFTP=m | |||
351 | CONFIG_IP_NF_AMANDA=m | 375 | CONFIG_IP_NF_AMANDA=m |
352 | CONFIG_IP_NF_PPTP=m | 376 | CONFIG_IP_NF_PPTP=m |
353 | CONFIG_IP_NF_H323=m | 377 | CONFIG_IP_NF_H323=m |
378 | CONFIG_IP_NF_SIP=m | ||
354 | CONFIG_IP_NF_QUEUE=m | 379 | CONFIG_IP_NF_QUEUE=m |
355 | CONFIG_IP_NF_IPTABLES=m | 380 | CONFIG_IP_NF_IPTABLES=m |
356 | CONFIG_IP_NF_MATCH_IPRANGE=m | 381 | CONFIG_IP_NF_MATCH_IPRANGE=m |
@@ -381,6 +406,7 @@ CONFIG_IP_NF_NAT_TFTP=m | |||
381 | CONFIG_IP_NF_NAT_AMANDA=m | 406 | CONFIG_IP_NF_NAT_AMANDA=m |
382 | CONFIG_IP_NF_NAT_PPTP=m | 407 | CONFIG_IP_NF_NAT_PPTP=m |
383 | CONFIG_IP_NF_NAT_H323=m | 408 | CONFIG_IP_NF_NAT_H323=m |
409 | CONFIG_IP_NF_NAT_SIP=m | ||
384 | CONFIG_IP_NF_MANGLE=m | 410 | CONFIG_IP_NF_MANGLE=m |
385 | CONFIG_IP_NF_TARGET_TOS=m | 411 | CONFIG_IP_NF_TARGET_TOS=m |
386 | CONFIG_IP_NF_TARGET_ECN=m | 412 | CONFIG_IP_NF_TARGET_ECN=m |
@@ -559,6 +585,7 @@ CONFIG_WIRELESS_EXT=y | |||
559 | CONFIG_STANDALONE=y | 585 | CONFIG_STANDALONE=y |
560 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 586 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
561 | CONFIG_FW_LOADER=y | 587 | CONFIG_FW_LOADER=y |
588 | # CONFIG_SYS_HYPERVISOR is not set | ||
562 | 589 | ||
563 | # | 590 | # |
564 | # Connector - unified userspace <-> kernelspace linker | 591 | # Connector - unified userspace <-> kernelspace linker |
@@ -580,6 +607,7 @@ CONFIG_PARPORT_SERIAL=m | |||
580 | # CONFIG_PARPORT_PC_SUPERIO is not set | 607 | # CONFIG_PARPORT_PC_SUPERIO is not set |
581 | CONFIG_PARPORT_NOT_PC=y | 608 | CONFIG_PARPORT_NOT_PC=y |
582 | # CONFIG_PARPORT_GSC is not set | 609 | # CONFIG_PARPORT_GSC is not set |
610 | # CONFIG_PARPORT_AX88796 is not set | ||
583 | CONFIG_PARPORT_1284=y | 611 | CONFIG_PARPORT_1284=y |
584 | 612 | ||
585 | # | 613 | # |
@@ -699,6 +727,7 @@ CONFIG_MEGARAID_MAILBOX=m | |||
699 | # CONFIG_MEGARAID_LEGACY is not set | 727 | # CONFIG_MEGARAID_LEGACY is not set |
700 | # CONFIG_MEGARAID_SAS is not set | 728 | # CONFIG_MEGARAID_SAS is not set |
701 | # CONFIG_SCSI_SATA is not set | 729 | # CONFIG_SCSI_SATA is not set |
730 | # CONFIG_SCSI_HPTIOP is not set | ||
702 | # CONFIG_SCSI_DMX3191D is not set | 731 | # CONFIG_SCSI_DMX3191D is not set |
703 | # CONFIG_SCSI_DTC3280 is not set | 732 | # CONFIG_SCSI_DTC3280 is not set |
704 | # CONFIG_SCSI_FUTURE_DOMAIN is not set | 733 | # CONFIG_SCSI_FUTURE_DOMAIN is not set |
@@ -745,9 +774,8 @@ CONFIG_MD_LINEAR=m | |||
745 | CONFIG_MD_RAID0=m | 774 | CONFIG_MD_RAID0=m |
746 | CONFIG_MD_RAID1=m | 775 | CONFIG_MD_RAID1=m |
747 | CONFIG_MD_RAID10=m | 776 | CONFIG_MD_RAID10=m |
748 | CONFIG_MD_RAID5=m | 777 | CONFIG_MD_RAID456=m |
749 | CONFIG_MD_RAID5_RESHAPE=y | 778 | CONFIG_MD_RAID5_RESHAPE=y |
750 | # CONFIG_MD_RAID6 is not set | ||
751 | CONFIG_MD_MULTIPATH=m | 779 | CONFIG_MD_MULTIPATH=m |
752 | CONFIG_MD_FAULTY=m | 780 | CONFIG_MD_FAULTY=m |
753 | CONFIG_BLK_DEV_DM=m | 781 | CONFIG_BLK_DEV_DM=m |
@@ -803,6 +831,8 @@ CONFIG_DAVICOM_PHY=m | |||
803 | CONFIG_QSEMI_PHY=m | 831 | CONFIG_QSEMI_PHY=m |
804 | CONFIG_LXT_PHY=m | 832 | CONFIG_LXT_PHY=m |
805 | CONFIG_CICADA_PHY=m | 833 | CONFIG_CICADA_PHY=m |
834 | CONFIG_VITESSE_PHY=m | ||
835 | CONFIG_SMSC_PHY=m | ||
806 | 836 | ||
807 | # | 837 | # |
808 | # Ethernet (10 or 100Mbit) | 838 | # Ethernet (10 or 100Mbit) |
@@ -884,6 +914,7 @@ CONFIG_VIA_VELOCITY=m | |||
884 | # CONFIG_CHELSIO_T1 is not set | 914 | # CONFIG_CHELSIO_T1 is not set |
885 | # CONFIG_IXGB is not set | 915 | # CONFIG_IXGB is not set |
886 | # CONFIG_S2IO is not set | 916 | # CONFIG_S2IO is not set |
917 | # CONFIG_MYRI10GE is not set | ||
887 | 918 | ||
888 | # | 919 | # |
889 | # Token Ring devices | 920 | # Token Ring devices |
@@ -975,6 +1006,7 @@ CONFIG_SERIO_RAW=m | |||
975 | CONFIG_VT=y | 1006 | CONFIG_VT=y |
976 | CONFIG_VT_CONSOLE=y | 1007 | CONFIG_VT_CONSOLE=y |
977 | CONFIG_HW_CONSOLE=y | 1008 | CONFIG_HW_CONSOLE=y |
1009 | CONFIG_VT_HW_CONSOLE_BINDING=y | ||
978 | # CONFIG_SERIAL_NONSTANDARD is not set | 1010 | # CONFIG_SERIAL_NONSTANDARD is not set |
979 | 1011 | ||
980 | # | 1012 | # |
@@ -1012,6 +1044,7 @@ CONFIG_TIPAR=m | |||
1012 | # Watchdog Cards | 1044 | # Watchdog Cards |
1013 | # | 1045 | # |
1014 | # CONFIG_WATCHDOG is not set | 1046 | # CONFIG_WATCHDOG is not set |
1047 | # CONFIG_HW_RANDOM is not set | ||
1015 | CONFIG_RTC=m | 1048 | CONFIG_RTC=m |
1016 | # CONFIG_GEN_RTC is not set | 1049 | # CONFIG_GEN_RTC is not set |
1017 | # CONFIG_DTLK is not set | 1050 | # CONFIG_DTLK is not set |
@@ -1045,12 +1078,13 @@ CONFIG_RTC=m | |||
1045 | # Dallas's 1-wire bus | 1078 | # Dallas's 1-wire bus |
1046 | # | 1079 | # |
1047 | CONFIG_W1=m | 1080 | CONFIG_W1=m |
1081 | CONFIG_W1_CON=y | ||
1048 | 1082 | ||
1049 | # | 1083 | # |
1050 | # 1-wire Bus Masters | 1084 | # 1-wire Bus Masters |
1051 | # | 1085 | # |
1052 | # CONFIG_W1_MASTER_MATROX is not set | 1086 | # CONFIG_W1_MASTER_MATROX is not set |
1053 | # CONFIG_W1_MASTER_DS9490 is not set | 1087 | # CONFIG_W1_MASTER_DS2490 is not set |
1054 | 1088 | ||
1055 | # | 1089 | # |
1056 | # 1-wire Slaves | 1090 | # 1-wire Slaves |
@@ -1073,6 +1107,7 @@ CONFIG_W1=m | |||
1073 | # Multimedia devices | 1107 | # Multimedia devices |
1074 | # | 1108 | # |
1075 | # CONFIG_VIDEO_DEV is not set | 1109 | # CONFIG_VIDEO_DEV is not set |
1110 | CONFIG_VIDEO_V4L2=y | ||
1076 | 1111 | ||
1077 | # | 1112 | # |
1078 | # Digital Video Broadcasting Devices | 1113 | # Digital Video Broadcasting Devices |
@@ -1083,6 +1118,7 @@ CONFIG_USB_DABUSB=m | |||
1083 | # | 1118 | # |
1084 | # Graphics support | 1119 | # Graphics support |
1085 | # | 1120 | # |
1121 | # CONFIG_FIRMWARE_EDID is not set | ||
1086 | # CONFIG_FB is not set | 1122 | # CONFIG_FB is not set |
1087 | 1123 | ||
1088 | # | 1124 | # |
@@ -1121,6 +1157,7 @@ CONFIG_USB_DEVICEFS=y | |||
1121 | CONFIG_USB_EHCI_HCD=m | 1157 | CONFIG_USB_EHCI_HCD=m |
1122 | # CONFIG_USB_EHCI_SPLIT_ISO is not set | 1158 | # CONFIG_USB_EHCI_SPLIT_ISO is not set |
1123 | # CONFIG_USB_EHCI_ROOT_HUB_TT is not set | 1159 | # CONFIG_USB_EHCI_ROOT_HUB_TT is not set |
1160 | # CONFIG_USB_EHCI_TT_NEWSCHED is not set | ||
1124 | # CONFIG_USB_ISP116X_HCD is not set | 1161 | # CONFIG_USB_ISP116X_HCD is not set |
1125 | CONFIG_USB_OHCI_HCD=m | 1162 | CONFIG_USB_OHCI_HCD=m |
1126 | # CONFIG_USB_OHCI_BIG_ENDIAN is not set | 1163 | # CONFIG_USB_OHCI_BIG_ENDIAN is not set |
@@ -1219,6 +1256,7 @@ CONFIG_USB_SERIAL=m | |||
1219 | CONFIG_USB_SERIAL_GENERIC=y | 1256 | CONFIG_USB_SERIAL_GENERIC=y |
1220 | CONFIG_USB_SERIAL_AIRPRIME=m | 1257 | CONFIG_USB_SERIAL_AIRPRIME=m |
1221 | CONFIG_USB_SERIAL_ANYDATA=m | 1258 | CONFIG_USB_SERIAL_ANYDATA=m |
1259 | # CONFIG_USB_SERIAL_ARK3116 is not set | ||
1222 | CONFIG_USB_SERIAL_BELKIN=m | 1260 | CONFIG_USB_SERIAL_BELKIN=m |
1223 | CONFIG_USB_SERIAL_WHITEHEAT=m | 1261 | CONFIG_USB_SERIAL_WHITEHEAT=m |
1224 | CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m | 1262 | CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m |
@@ -1259,6 +1297,7 @@ CONFIG_USB_SERIAL_SAFE_PADDED=y | |||
1259 | # CONFIG_USB_SERIAL_TI is not set | 1297 | # CONFIG_USB_SERIAL_TI is not set |
1260 | CONFIG_USB_SERIAL_CYBERJACK=m | 1298 | CONFIG_USB_SERIAL_CYBERJACK=m |
1261 | CONFIG_USB_SERIAL_XIRCOM=m | 1299 | CONFIG_USB_SERIAL_XIRCOM=m |
1300 | # CONFIG_USB_SERIAL_OPTION is not set | ||
1262 | CONFIG_USB_SERIAL_OMNINET=m | 1301 | CONFIG_USB_SERIAL_OMNINET=m |
1263 | CONFIG_USB_EZUSB=y | 1302 | CONFIG_USB_EZUSB=y |
1264 | 1303 | ||
@@ -1272,10 +1311,12 @@ CONFIG_USB_RIO500=m | |||
1272 | CONFIG_USB_LEGOTOWER=m | 1311 | CONFIG_USB_LEGOTOWER=m |
1273 | CONFIG_USB_LCD=m | 1312 | CONFIG_USB_LCD=m |
1274 | CONFIG_USB_LED=m | 1313 | CONFIG_USB_LED=m |
1314 | # CONFIG_USB_CY7C63 is not set | ||
1275 | CONFIG_USB_CYTHERM=m | 1315 | CONFIG_USB_CYTHERM=m |
1276 | CONFIG_USB_PHIDGETKIT=m | 1316 | CONFIG_USB_PHIDGETKIT=m |
1277 | CONFIG_USB_PHIDGETSERVO=m | 1317 | CONFIG_USB_PHIDGETSERVO=m |
1278 | # CONFIG_USB_IDMOUSE is not set | 1318 | # CONFIG_USB_IDMOUSE is not set |
1319 | # CONFIG_USB_APPLEDISPLAY is not set | ||
1279 | CONFIG_USB_SISUSBVGA=m | 1320 | CONFIG_USB_SISUSBVGA=m |
1280 | # CONFIG_USB_SISUSBVGA_CON is not set | 1321 | # CONFIG_USB_SISUSBVGA_CON is not set |
1281 | CONFIG_USB_LD=m | 1322 | CONFIG_USB_LD=m |
@@ -1323,6 +1364,19 @@ CONFIG_USB_TEST=m | |||
1323 | # CONFIG_RTC_CLASS is not set | 1364 | # CONFIG_RTC_CLASS is not set |
1324 | 1365 | ||
1325 | # | 1366 | # |
1367 | # DMA Engine support | ||
1368 | # | ||
1369 | # CONFIG_DMA_ENGINE is not set | ||
1370 | |||
1371 | # | ||
1372 | # DMA Clients | ||
1373 | # | ||
1374 | |||
1375 | # | ||
1376 | # DMA Devices | ||
1377 | # | ||
1378 | |||
1379 | # | ||
1326 | # File systems | 1380 | # File systems |
1327 | # | 1381 | # |
1328 | CONFIG_EXT2_FS=m | 1382 | CONFIG_EXT2_FS=m |
@@ -1344,7 +1398,6 @@ CONFIG_REISERFS_FS_SECURITY=y | |||
1344 | # CONFIG_JFS_FS is not set | 1398 | # CONFIG_JFS_FS is not set |
1345 | CONFIG_FS_POSIX_ACL=y | 1399 | CONFIG_FS_POSIX_ACL=y |
1346 | CONFIG_XFS_FS=m | 1400 | CONFIG_XFS_FS=m |
1347 | CONFIG_XFS_EXPORT=y | ||
1348 | CONFIG_XFS_QUOTA=y | 1401 | CONFIG_XFS_QUOTA=y |
1349 | CONFIG_XFS_SECURITY=y | 1402 | CONFIG_XFS_SECURITY=y |
1350 | # CONFIG_XFS_POSIX_ACL is not set | 1403 | # CONFIG_XFS_POSIX_ACL is not set |
@@ -1353,6 +1406,7 @@ CONFIG_XFS_SECURITY=y | |||
1353 | CONFIG_MINIX_FS=m | 1406 | CONFIG_MINIX_FS=m |
1354 | CONFIG_ROMFS_FS=m | 1407 | CONFIG_ROMFS_FS=m |
1355 | CONFIG_INOTIFY=y | 1408 | CONFIG_INOTIFY=y |
1409 | CONFIG_INOTIFY_USER=y | ||
1356 | # CONFIG_QUOTA is not set | 1410 | # CONFIG_QUOTA is not set |
1357 | CONFIG_QUOTACTL=y | 1411 | CONFIG_QUOTACTL=y |
1358 | CONFIG_DNOTIFY=y | 1412 | CONFIG_DNOTIFY=y |
@@ -1411,6 +1465,8 @@ CONFIG_HPFS_FS=m | |||
1411 | CONFIG_QNX4FS_FS=m | 1465 | CONFIG_QNX4FS_FS=m |
1412 | CONFIG_SYSV_FS=m | 1466 | CONFIG_SYSV_FS=m |
1413 | CONFIG_UFS_FS=m | 1467 | CONFIG_UFS_FS=m |
1468 | # CONFIG_UFS_FS_WRITE is not set | ||
1469 | # CONFIG_UFS_DEBUG is not set | ||
1414 | 1470 | ||
1415 | # | 1471 | # |
1416 | # Network File Systems | 1472 | # Network File Systems |
@@ -1437,7 +1493,9 @@ CONFIG_SMB_FS=m | |||
1437 | # CONFIG_SMB_NLS_DEFAULT is not set | 1493 | # CONFIG_SMB_NLS_DEFAULT is not set |
1438 | CONFIG_CIFS=m | 1494 | CONFIG_CIFS=m |
1439 | # CONFIG_CIFS_STATS is not set | 1495 | # CONFIG_CIFS_STATS is not set |
1496 | # CONFIG_CIFS_WEAK_PW_HASH is not set | ||
1440 | # CONFIG_CIFS_XATTR is not set | 1497 | # CONFIG_CIFS_XATTR is not set |
1498 | # CONFIG_CIFS_DEBUG2 is not set | ||
1441 | # CONFIG_CIFS_EXPERIMENTAL is not set | 1499 | # CONFIG_CIFS_EXPERIMENTAL is not set |
1442 | CONFIG_NCP_FS=m | 1500 | CONFIG_NCP_FS=m |
1443 | CONFIG_NCPFS_PACKET_SIGNING=y | 1501 | CONFIG_NCPFS_PACKET_SIGNING=y |
@@ -1529,6 +1587,7 @@ CONFIG_NLS_UTF8=m | |||
1529 | # | 1587 | # |
1530 | # CONFIG_PRINTK_TIME is not set | 1588 | # CONFIG_PRINTK_TIME is not set |
1531 | # CONFIG_MAGIC_SYSRQ is not set | 1589 | # CONFIG_MAGIC_SYSRQ is not set |
1590 | # CONFIG_UNUSED_SYMBOLS is not set | ||
1532 | # CONFIG_DEBUG_KERNEL is not set | 1591 | # CONFIG_DEBUG_KERNEL is not set |
1533 | CONFIG_LOG_BUF_SHIFT=14 | 1592 | CONFIG_LOG_BUF_SHIFT=14 |
1534 | # CONFIG_DEBUG_FS is not set | 1593 | # CONFIG_DEBUG_FS is not set |
@@ -1588,3 +1647,4 @@ CONFIG_TEXTSEARCH=y | |||
1588 | CONFIG_TEXTSEARCH_KMP=m | 1647 | CONFIG_TEXTSEARCH_KMP=m |
1589 | CONFIG_TEXTSEARCH_BM=m | 1648 | CONFIG_TEXTSEARCH_BM=m |
1590 | CONFIG_TEXTSEARCH_FSM=m | 1649 | CONFIG_TEXTSEARCH_FSM=m |
1650 | CONFIG_PLIST=y | ||
diff --git a/arch/mips/configs/sb1250-swarm_defconfig b/arch/mips/configs/sb1250-swarm_defconfig index ff34ed66fe65..625c1c619b6b 100644 --- a/arch/mips/configs/sb1250-swarm_defconfig +++ b/arch/mips/configs/sb1250-swarm_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17-rc2 | 3 | # Linux kernel version: 2.6.18-rc1 |
4 | # Mon Apr 24 14:51:17 2006 | 4 | # Thu Jul 6 10:04:19 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -21,6 +21,7 @@ CONFIG_MIPS=y | |||
21 | # CONFIG_MIPS_DB1550 is not set | 21 | # CONFIG_MIPS_DB1550 is not set |
22 | # CONFIG_MIPS_DB1200 is not set | 22 | # CONFIG_MIPS_DB1200 is not set |
23 | # CONFIG_MIPS_MIRAGE is not set | 23 | # CONFIG_MIPS_MIRAGE is not set |
24 | # CONFIG_BASLER_EXCITE is not set | ||
24 | # CONFIG_MIPS_COBALT is not set | 25 | # CONFIG_MIPS_COBALT is not set |
25 | # CONFIG_MACH_DECSTATION is not set | 26 | # CONFIG_MACH_DECSTATION is not set |
26 | # CONFIG_MIPS_EV64120 is not set | 27 | # CONFIG_MIPS_EV64120 is not set |
@@ -32,6 +33,7 @@ CONFIG_MIPS=y | |||
32 | # CONFIG_MIPS_ATLAS is not set | 33 | # CONFIG_MIPS_ATLAS is not set |
33 | # CONFIG_MIPS_MALTA is not set | 34 | # CONFIG_MIPS_MALTA is not set |
34 | # CONFIG_MIPS_SEAD is not set | 35 | # CONFIG_MIPS_SEAD is not set |
36 | # CONFIG_WR_PPMC is not set | ||
35 | # CONFIG_MIPS_SIM is not set | 37 | # CONFIG_MIPS_SIM is not set |
36 | # CONFIG_MOMENCO_JAGUAR_ATX is not set | 38 | # CONFIG_MOMENCO_JAGUAR_ATX is not set |
37 | # CONFIG_MOMENCO_OCELOT is not set | 39 | # CONFIG_MOMENCO_OCELOT is not set |
@@ -45,6 +47,7 @@ CONFIG_MIPS=y | |||
45 | # CONFIG_MACH_VR41XX is not set | 47 | # CONFIG_MACH_VR41XX is not set |
46 | # CONFIG_PMC_YOSEMITE is not set | 48 | # CONFIG_PMC_YOSEMITE is not set |
47 | # CONFIG_QEMU is not set | 49 | # CONFIG_QEMU is not set |
50 | # CONFIG_MARKEINS is not set | ||
48 | # CONFIG_SGI_IP22 is not set | 51 | # CONFIG_SGI_IP22 is not set |
49 | # CONFIG_SGI_IP27 is not set | 52 | # CONFIG_SGI_IP27 is not set |
50 | # CONFIG_SGI_IP32 is not set | 53 | # CONFIG_SGI_IP32 is not set |
@@ -82,6 +85,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y | |||
82 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 85 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
83 | CONFIG_GENERIC_HWEIGHT=y | 86 | CONFIG_GENERIC_HWEIGHT=y |
84 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 87 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
88 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
85 | CONFIG_DMA_COHERENT=y | 89 | CONFIG_DMA_COHERENT=y |
86 | CONFIG_CPU_BIG_ENDIAN=y | 90 | CONFIG_CPU_BIG_ENDIAN=y |
87 | # CONFIG_CPU_LITTLE_ENDIAN is not set | 91 | # CONFIG_CPU_LITTLE_ENDIAN is not set |
@@ -130,12 +134,16 @@ CONFIG_PAGE_SIZE_4KB=y | |||
130 | # CONFIG_PAGE_SIZE_64KB is not set | 134 | # CONFIG_PAGE_SIZE_64KB is not set |
131 | # CONFIG_SIBYTE_DMA_PAGEOPS is not set | 135 | # CONFIG_SIBYTE_DMA_PAGEOPS is not set |
132 | CONFIG_CPU_HAS_PREFETCH=y | 136 | CONFIG_CPU_HAS_PREFETCH=y |
133 | # CONFIG_MIPS_MT is not set | 137 | CONFIG_MIPS_MT_DISABLED=y |
138 | # CONFIG_MIPS_MT_SMTC is not set | ||
139 | # CONFIG_MIPS_MT_SMP is not set | ||
140 | # CONFIG_MIPS_VPE_LOADER is not set | ||
134 | CONFIG_SB1_PASS_1_WORKAROUNDS=y | 141 | CONFIG_SB1_PASS_1_WORKAROUNDS=y |
135 | CONFIG_CPU_HAS_LLSC=y | 142 | CONFIG_CPU_HAS_LLSC=y |
136 | CONFIG_CPU_HAS_SYNC=y | 143 | CONFIG_CPU_HAS_SYNC=y |
137 | CONFIG_GENERIC_HARDIRQS=y | 144 | CONFIG_GENERIC_HARDIRQS=y |
138 | CONFIG_GENERIC_IRQ_PROBE=y | 145 | CONFIG_GENERIC_IRQ_PROBE=y |
146 | CONFIG_IRQ_PER_CPU=y | ||
139 | CONFIG_CPU_SUPPORTS_HIGHMEM=y | 147 | CONFIG_CPU_SUPPORTS_HIGHMEM=y |
140 | CONFIG_SYS_SUPPORTS_HIGHMEM=y | 148 | CONFIG_SYS_SUPPORTS_HIGHMEM=y |
141 | CONFIG_ARCH_FLATMEM_ENABLE=y | 149 | CONFIG_ARCH_FLATMEM_ENABLE=y |
@@ -147,6 +155,10 @@ CONFIG_FLATMEM=y | |||
147 | CONFIG_FLAT_NODE_MEM_MAP=y | 155 | CONFIG_FLAT_NODE_MEM_MAP=y |
148 | # CONFIG_SPARSEMEM_STATIC is not set | 156 | # CONFIG_SPARSEMEM_STATIC is not set |
149 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 157 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
158 | CONFIG_RESOURCES_64BIT=y | ||
159 | CONFIG_SMP=y | ||
160 | CONFIG_SYS_SUPPORTS_SMP=y | ||
161 | CONFIG_NR_CPUS=2 | ||
150 | # CONFIG_HZ_48 is not set | 162 | # CONFIG_HZ_48 is not set |
151 | # CONFIG_HZ_100 is not set | 163 | # CONFIG_HZ_100 is not set |
152 | # CONFIG_HZ_128 is not set | 164 | # CONFIG_HZ_128 is not set |
@@ -156,12 +168,11 @@ CONFIG_HZ_1000=y | |||
156 | # CONFIG_HZ_1024 is not set | 168 | # CONFIG_HZ_1024 is not set |
157 | CONFIG_SYS_SUPPORTS_ARBIT_HZ=y | 169 | CONFIG_SYS_SUPPORTS_ARBIT_HZ=y |
158 | CONFIG_HZ=1000 | 170 | CONFIG_HZ=1000 |
159 | CONFIG_SMP=y | ||
160 | CONFIG_NR_CPUS=2 | ||
161 | CONFIG_PREEMPT_NONE=y | 171 | CONFIG_PREEMPT_NONE=y |
162 | # CONFIG_PREEMPT_VOLUNTARY is not set | 172 | # CONFIG_PREEMPT_VOLUNTARY is not set |
163 | # CONFIG_PREEMPT is not set | 173 | # CONFIG_PREEMPT is not set |
164 | CONFIG_PREEMPT_BKL=y | 174 | CONFIG_PREEMPT_BKL=y |
175 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
165 | 176 | ||
166 | # | 177 | # |
167 | # Code maturity level options | 178 | # Code maturity level options |
@@ -194,10 +205,12 @@ CONFIG_PRINTK=y | |||
194 | CONFIG_BUG=y | 205 | CONFIG_BUG=y |
195 | CONFIG_ELF_CORE=y | 206 | CONFIG_ELF_CORE=y |
196 | CONFIG_BASE_FULL=y | 207 | CONFIG_BASE_FULL=y |
208 | CONFIG_RT_MUTEXES=y | ||
197 | CONFIG_FUTEX=y | 209 | CONFIG_FUTEX=y |
198 | CONFIG_EPOLL=y | 210 | CONFIG_EPOLL=y |
199 | CONFIG_SHMEM=y | 211 | CONFIG_SHMEM=y |
200 | CONFIG_SLAB=y | 212 | CONFIG_SLAB=y |
213 | CONFIG_VM_EVENT_COUNTERS=y | ||
201 | # CONFIG_TINY_SHMEM is not set | 214 | # CONFIG_TINY_SHMEM is not set |
202 | CONFIG_BASE_SMALL=0 | 215 | CONFIG_BASE_SMALL=0 |
203 | # CONFIG_SLOB is not set | 216 | # CONFIG_SLOB is not set |
@@ -292,6 +305,8 @@ CONFIG_IP_PNP_BOOTP=y | |||
292 | # CONFIG_INET_IPCOMP is not set | 305 | # CONFIG_INET_IPCOMP is not set |
293 | # CONFIG_INET_XFRM_TUNNEL is not set | 306 | # CONFIG_INET_XFRM_TUNNEL is not set |
294 | # CONFIG_INET_TUNNEL is not set | 307 | # CONFIG_INET_TUNNEL is not set |
308 | CONFIG_INET_XFRM_MODE_TRANSPORT=m | ||
309 | CONFIG_INET_XFRM_MODE_TUNNEL=m | ||
295 | CONFIG_INET_DIAG=y | 310 | CONFIG_INET_DIAG=y |
296 | CONFIG_INET_TCP_DIAG=y | 311 | CONFIG_INET_TCP_DIAG=y |
297 | # CONFIG_TCP_CONG_ADVANCED is not set | 312 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -299,6 +314,7 @@ CONFIG_TCP_CONG_BIC=y | |||
299 | # CONFIG_IPV6 is not set | 314 | # CONFIG_IPV6 is not set |
300 | # CONFIG_INET6_XFRM_TUNNEL is not set | 315 | # CONFIG_INET6_XFRM_TUNNEL is not set |
301 | # CONFIG_INET6_TUNNEL is not set | 316 | # CONFIG_INET6_TUNNEL is not set |
317 | CONFIG_NETWORK_SECMARK=y | ||
302 | # CONFIG_NETFILTER is not set | 318 | # CONFIG_NETFILTER is not set |
303 | 319 | ||
304 | # | 320 | # |
@@ -358,6 +374,7 @@ CONFIG_WIRELESS_EXT=y | |||
358 | CONFIG_STANDALONE=y | 374 | CONFIG_STANDALONE=y |
359 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 375 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
360 | CONFIG_FW_LOADER=m | 376 | CONFIG_FW_LOADER=m |
377 | # CONFIG_SYS_HYPERVISOR is not set | ||
361 | 378 | ||
362 | # | 379 | # |
363 | # Connector - unified userspace <-> kernelspace linker | 380 | # Connector - unified userspace <-> kernelspace linker |
@@ -479,6 +496,8 @@ CONFIG_DAVICOM_PHY=m | |||
479 | CONFIG_QSEMI_PHY=m | 496 | CONFIG_QSEMI_PHY=m |
480 | CONFIG_LXT_PHY=m | 497 | CONFIG_LXT_PHY=m |
481 | CONFIG_CICADA_PHY=m | 498 | CONFIG_CICADA_PHY=m |
499 | CONFIG_VITESSE_PHY=m | ||
500 | CONFIG_SMSC_PHY=m | ||
482 | 501 | ||
483 | # | 502 | # |
484 | # Ethernet (10 or 100Mbit) | 503 | # Ethernet (10 or 100Mbit) |
@@ -522,6 +541,7 @@ CONFIG_NET_SB1250_MAC=y | |||
522 | # CONFIG_CHELSIO_T1 is not set | 541 | # CONFIG_CHELSIO_T1 is not set |
523 | # CONFIG_IXGB is not set | 542 | # CONFIG_IXGB is not set |
524 | # CONFIG_S2IO is not set | 543 | # CONFIG_S2IO is not set |
544 | # CONFIG_MYRI10GE is not set | ||
525 | 545 | ||
526 | # | 546 | # |
527 | # Token Ring devices | 547 | # Token Ring devices |
@@ -589,6 +609,7 @@ CONFIG_SERIAL_NONSTANDARD=y | |||
589 | # CONFIG_N_HDLC is not set | 609 | # CONFIG_N_HDLC is not set |
590 | # CONFIG_SPECIALIX is not set | 610 | # CONFIG_SPECIALIX is not set |
591 | # CONFIG_SX is not set | 611 | # CONFIG_SX is not set |
612 | # CONFIG_RIO is not set | ||
592 | # CONFIG_STALDRV is not set | 613 | # CONFIG_STALDRV is not set |
593 | CONFIG_SIBYTE_SB1250_DUART=y | 614 | CONFIG_SIBYTE_SB1250_DUART=y |
594 | CONFIG_SIBYTE_SB1250_DUART_CONSOLE=y | 615 | CONFIG_SIBYTE_SB1250_DUART_CONSOLE=y |
@@ -615,6 +636,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
615 | # Watchdog Cards | 636 | # Watchdog Cards |
616 | # | 637 | # |
617 | # CONFIG_WATCHDOG is not set | 638 | # CONFIG_WATCHDOG is not set |
639 | # CONFIG_HW_RANDOM is not set | ||
618 | # CONFIG_RTC is not set | 640 | # CONFIG_RTC is not set |
619 | # CONFIG_GEN_RTC is not set | 641 | # CONFIG_GEN_RTC is not set |
620 | # CONFIG_DTLK is not set | 642 | # CONFIG_DTLK is not set |
@@ -663,6 +685,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
663 | # Multimedia devices | 685 | # Multimedia devices |
664 | # | 686 | # |
665 | # CONFIG_VIDEO_DEV is not set | 687 | # CONFIG_VIDEO_DEV is not set |
688 | CONFIG_VIDEO_V4L2=y | ||
666 | 689 | ||
667 | # | 690 | # |
668 | # Digital Video Broadcasting Devices | 691 | # Digital Video Broadcasting Devices |
@@ -672,6 +695,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
672 | # | 695 | # |
673 | # Graphics support | 696 | # Graphics support |
674 | # | 697 | # |
698 | # CONFIG_FIRMWARE_EDID is not set | ||
675 | # CONFIG_FB is not set | 699 | # CONFIG_FB is not set |
676 | 700 | ||
677 | # | 701 | # |
@@ -729,6 +753,19 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
729 | # CONFIG_RTC_CLASS is not set | 753 | # CONFIG_RTC_CLASS is not set |
730 | 754 | ||
731 | # | 755 | # |
756 | # DMA Engine support | ||
757 | # | ||
758 | # CONFIG_DMA_ENGINE is not set | ||
759 | |||
760 | # | ||
761 | # DMA Clients | ||
762 | # | ||
763 | |||
764 | # | ||
765 | # DMA Devices | ||
766 | # | ||
767 | |||
768 | # | ||
732 | # File systems | 769 | # File systems |
733 | # | 770 | # |
734 | CONFIG_EXT2_FS=y | 771 | CONFIG_EXT2_FS=y |
@@ -746,6 +783,7 @@ CONFIG_FS_POSIX_ACL=y | |||
746 | # CONFIG_MINIX_FS is not set | 783 | # CONFIG_MINIX_FS is not set |
747 | # CONFIG_ROMFS_FS is not set | 784 | # CONFIG_ROMFS_FS is not set |
748 | CONFIG_INOTIFY=y | 785 | CONFIG_INOTIFY=y |
786 | CONFIG_INOTIFY_USER=y | ||
749 | # CONFIG_QUOTA is not set | 787 | # CONFIG_QUOTA is not set |
750 | CONFIG_DNOTIFY=y | 788 | CONFIG_DNOTIFY=y |
751 | # CONFIG_AUTOFS_FS is not set | 789 | # CONFIG_AUTOFS_FS is not set |
@@ -811,6 +849,7 @@ CONFIG_SUNRPC=y | |||
811 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 849 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
812 | # CONFIG_SMB_FS is not set | 850 | # CONFIG_SMB_FS is not set |
813 | # CONFIG_CIFS is not set | 851 | # CONFIG_CIFS is not set |
852 | # CONFIG_CIFS_DEBUG2 is not set | ||
814 | # CONFIG_NCP_FS is not set | 853 | # CONFIG_NCP_FS is not set |
815 | # CONFIG_CODA_FS is not set | 854 | # CONFIG_CODA_FS is not set |
816 | # CONFIG_AFS_FS is not set | 855 | # CONFIG_AFS_FS is not set |
@@ -837,6 +876,7 @@ CONFIG_MSDOS_PARTITION=y | |||
837 | # | 876 | # |
838 | # CONFIG_PRINTK_TIME is not set | 877 | # CONFIG_PRINTK_TIME is not set |
839 | # CONFIG_MAGIC_SYSRQ is not set | 878 | # CONFIG_MAGIC_SYSRQ is not set |
879 | # CONFIG_UNUSED_SYMBOLS is not set | ||
840 | # CONFIG_DEBUG_KERNEL is not set | 880 | # CONFIG_DEBUG_KERNEL is not set |
841 | CONFIG_LOG_BUF_SHIFT=15 | 881 | CONFIG_LOG_BUF_SHIFT=15 |
842 | # CONFIG_DEBUG_FS is not set | 882 | # CONFIG_DEBUG_FS is not set |
@@ -893,3 +933,4 @@ CONFIG_CRC32=y | |||
893 | CONFIG_LIBCRC32C=m | 933 | CONFIG_LIBCRC32C=m |
894 | CONFIG_ZLIB_INFLATE=m | 934 | CONFIG_ZLIB_INFLATE=m |
895 | CONFIG_ZLIB_DEFLATE=m | 935 | CONFIG_ZLIB_DEFLATE=m |
936 | CONFIG_PLIST=y | ||
diff --git a/arch/mips/configs/sead_defconfig b/arch/mips/configs/sead_defconfig index 77edeae7f018..4401b602118f 100644 --- a/arch/mips/configs/sead_defconfig +++ b/arch/mips/configs/sead_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17-rc2 | 3 | # Linux kernel version: 2.6.18-rc1 |
4 | # Mon Apr 24 14:51:17 2006 | 4 | # Thu Jul 6 10:04:20 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -21,6 +21,7 @@ CONFIG_MIPS=y | |||
21 | # CONFIG_MIPS_DB1550 is not set | 21 | # CONFIG_MIPS_DB1550 is not set |
22 | # CONFIG_MIPS_DB1200 is not set | 22 | # CONFIG_MIPS_DB1200 is not set |
23 | # CONFIG_MIPS_MIRAGE is not set | 23 | # CONFIG_MIPS_MIRAGE is not set |
24 | # CONFIG_BASLER_EXCITE is not set | ||
24 | # CONFIG_MIPS_COBALT is not set | 25 | # CONFIG_MIPS_COBALT is not set |
25 | # CONFIG_MACH_DECSTATION is not set | 26 | # CONFIG_MACH_DECSTATION is not set |
26 | # CONFIG_MIPS_EV64120 is not set | 27 | # CONFIG_MIPS_EV64120 is not set |
@@ -32,6 +33,7 @@ CONFIG_MIPS=y | |||
32 | # CONFIG_MIPS_ATLAS is not set | 33 | # CONFIG_MIPS_ATLAS is not set |
33 | # CONFIG_MIPS_MALTA is not set | 34 | # CONFIG_MIPS_MALTA is not set |
34 | CONFIG_MIPS_SEAD=y | 35 | CONFIG_MIPS_SEAD=y |
36 | # CONFIG_WR_PPMC is not set | ||
35 | # CONFIG_MIPS_SIM is not set | 37 | # CONFIG_MIPS_SIM is not set |
36 | # CONFIG_MOMENCO_JAGUAR_ATX is not set | 38 | # CONFIG_MOMENCO_JAGUAR_ATX is not set |
37 | # CONFIG_MOMENCO_OCELOT is not set | 39 | # CONFIG_MOMENCO_OCELOT is not set |
@@ -45,6 +47,7 @@ CONFIG_MIPS_SEAD=y | |||
45 | # CONFIG_MACH_VR41XX is not set | 47 | # CONFIG_MACH_VR41XX is not set |
46 | # CONFIG_PMC_YOSEMITE is not set | 48 | # CONFIG_PMC_YOSEMITE is not set |
47 | # CONFIG_QEMU is not set | 49 | # CONFIG_QEMU is not set |
50 | # CONFIG_MARKEINS is not set | ||
48 | # CONFIG_SGI_IP22 is not set | 51 | # CONFIG_SGI_IP22 is not set |
49 | # CONFIG_SGI_IP27 is not set | 52 | # CONFIG_SGI_IP27 is not set |
50 | # CONFIG_SGI_IP32 is not set | 53 | # CONFIG_SGI_IP32 is not set |
@@ -65,6 +68,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y | |||
65 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 68 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
66 | CONFIG_GENERIC_HWEIGHT=y | 69 | CONFIG_GENERIC_HWEIGHT=y |
67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 70 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
71 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
68 | CONFIG_DMA_NONCOHERENT=y | 72 | CONFIG_DMA_NONCOHERENT=y |
69 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 73 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
70 | # CONFIG_CPU_BIG_ENDIAN is not set | 74 | # CONFIG_CPU_BIG_ENDIAN is not set |
@@ -116,7 +120,10 @@ CONFIG_PAGE_SIZE_4KB=y | |||
116 | # CONFIG_PAGE_SIZE_16KB is not set | 120 | # CONFIG_PAGE_SIZE_16KB is not set |
117 | # CONFIG_PAGE_SIZE_64KB is not set | 121 | # CONFIG_PAGE_SIZE_64KB is not set |
118 | CONFIG_CPU_HAS_PREFETCH=y | 122 | CONFIG_CPU_HAS_PREFETCH=y |
119 | # CONFIG_MIPS_MT is not set | 123 | CONFIG_MIPS_MT_DISABLED=y |
124 | # CONFIG_MIPS_MT_SMTC is not set | ||
125 | # CONFIG_MIPS_MT_SMP is not set | ||
126 | # CONFIG_MIPS_VPE_LOADER is not set | ||
120 | # CONFIG_64BIT_PHYS_ADDR is not set | 127 | # CONFIG_64BIT_PHYS_ADDR is not set |
121 | CONFIG_CPU_HAS_LLSC=y | 128 | CONFIG_CPU_HAS_LLSC=y |
122 | CONFIG_CPU_HAS_SYNC=y | 129 | CONFIG_CPU_HAS_SYNC=y |
@@ -132,6 +139,7 @@ CONFIG_FLATMEM=y | |||
132 | CONFIG_FLAT_NODE_MEM_MAP=y | 139 | CONFIG_FLAT_NODE_MEM_MAP=y |
133 | # CONFIG_SPARSEMEM_STATIC is not set | 140 | # CONFIG_SPARSEMEM_STATIC is not set |
134 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 141 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
142 | # CONFIG_RESOURCES_64BIT is not set | ||
135 | # CONFIG_HZ_48 is not set | 143 | # CONFIG_HZ_48 is not set |
136 | # CONFIG_HZ_100 is not set | 144 | # CONFIG_HZ_100 is not set |
137 | # CONFIG_HZ_128 is not set | 145 | # CONFIG_HZ_128 is not set |
@@ -144,6 +152,7 @@ CONFIG_HZ=1000 | |||
144 | CONFIG_PREEMPT_NONE=y | 152 | CONFIG_PREEMPT_NONE=y |
145 | # CONFIG_PREEMPT_VOLUNTARY is not set | 153 | # CONFIG_PREEMPT_VOLUNTARY is not set |
146 | # CONFIG_PREEMPT is not set | 154 | # CONFIG_PREEMPT is not set |
155 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
147 | 156 | ||
148 | # | 157 | # |
149 | # Code maturity level options | 158 | # Code maturity level options |
@@ -173,10 +182,12 @@ CONFIG_PRINTK=y | |||
173 | CONFIG_BUG=y | 182 | CONFIG_BUG=y |
174 | CONFIG_ELF_CORE=y | 183 | CONFIG_ELF_CORE=y |
175 | CONFIG_BASE_FULL=y | 184 | CONFIG_BASE_FULL=y |
185 | CONFIG_RT_MUTEXES=y | ||
176 | CONFIG_FUTEX=y | 186 | CONFIG_FUTEX=y |
177 | CONFIG_EPOLL=y | 187 | CONFIG_EPOLL=y |
178 | CONFIG_SHMEM=y | 188 | CONFIG_SHMEM=y |
179 | CONFIG_SLAB=y | 189 | CONFIG_SLAB=y |
190 | CONFIG_VM_EVENT_COUNTERS=y | ||
180 | # CONFIG_TINY_SHMEM is not set | 191 | # CONFIG_TINY_SHMEM is not set |
181 | CONFIG_BASE_SMALL=0 | 192 | CONFIG_BASE_SMALL=0 |
182 | # CONFIG_SLOB is not set | 193 | # CONFIG_SLOB is not set |
@@ -242,6 +253,7 @@ CONFIG_TRAD_SIGNALS=y | |||
242 | CONFIG_STANDALONE=y | 253 | CONFIG_STANDALONE=y |
243 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 254 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
244 | # CONFIG_FW_LOADER is not set | 255 | # CONFIG_FW_LOADER is not set |
256 | # CONFIG_SYS_HYPERVISOR is not set | ||
245 | 257 | ||
246 | # | 258 | # |
247 | # Connector - unified userspace <-> kernelspace linker | 259 | # Connector - unified userspace <-> kernelspace linker |
@@ -355,6 +367,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
355 | # Watchdog Cards | 367 | # Watchdog Cards |
356 | # | 368 | # |
357 | # CONFIG_WATCHDOG is not set | 369 | # CONFIG_WATCHDOG is not set |
370 | # CONFIG_HW_RANDOM is not set | ||
358 | # CONFIG_RTC is not set | 371 | # CONFIG_RTC is not set |
359 | # CONFIG_GEN_RTC is not set | 372 | # CONFIG_GEN_RTC is not set |
360 | # CONFIG_DTLK is not set | 373 | # CONFIG_DTLK is not set |
@@ -385,7 +398,6 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
385 | # | 398 | # |
386 | # Dallas's 1-wire bus | 399 | # Dallas's 1-wire bus |
387 | # | 400 | # |
388 | # CONFIG_W1 is not set | ||
389 | 401 | ||
390 | # | 402 | # |
391 | # Hardware Monitoring support | 403 | # Hardware Monitoring support |
@@ -401,6 +413,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
401 | # Multimedia devices | 413 | # Multimedia devices |
402 | # | 414 | # |
403 | # CONFIG_VIDEO_DEV is not set | 415 | # CONFIG_VIDEO_DEV is not set |
416 | CONFIG_VIDEO_V4L2=y | ||
404 | 417 | ||
405 | # | 418 | # |
406 | # Digital Video Broadcasting Devices | 419 | # Digital Video Broadcasting Devices |
@@ -409,6 +422,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
409 | # | 422 | # |
410 | # Graphics support | 423 | # Graphics support |
411 | # | 424 | # |
425 | # CONFIG_FIRMWARE_EDID is not set | ||
412 | # CONFIG_FB is not set | 426 | # CONFIG_FB is not set |
413 | 427 | ||
414 | # | 428 | # |
@@ -464,6 +478,19 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
464 | # CONFIG_RTC_CLASS is not set | 478 | # CONFIG_RTC_CLASS is not set |
465 | 479 | ||
466 | # | 480 | # |
481 | # DMA Engine support | ||
482 | # | ||
483 | # CONFIG_DMA_ENGINE is not set | ||
484 | |||
485 | # | ||
486 | # DMA Clients | ||
487 | # | ||
488 | |||
489 | # | ||
490 | # DMA Devices | ||
491 | # | ||
492 | |||
493 | # | ||
467 | # File systems | 494 | # File systems |
468 | # | 495 | # |
469 | CONFIG_EXT2_FS=y | 496 | CONFIG_EXT2_FS=y |
@@ -477,6 +504,7 @@ CONFIG_EXT2_FS=y | |||
477 | # CONFIG_MINIX_FS is not set | 504 | # CONFIG_MINIX_FS is not set |
478 | # CONFIG_ROMFS_FS is not set | 505 | # CONFIG_ROMFS_FS is not set |
479 | CONFIG_INOTIFY=y | 506 | CONFIG_INOTIFY=y |
507 | CONFIG_INOTIFY_USER=y | ||
480 | # CONFIG_QUOTA is not set | 508 | # CONFIG_QUOTA is not set |
481 | CONFIG_DNOTIFY=y | 509 | CONFIG_DNOTIFY=y |
482 | # CONFIG_AUTOFS_FS is not set | 510 | # CONFIG_AUTOFS_FS is not set |
@@ -556,6 +584,7 @@ CONFIG_PARTITION_ADVANCED=y | |||
556 | # | 584 | # |
557 | # CONFIG_PRINTK_TIME is not set | 585 | # CONFIG_PRINTK_TIME is not set |
558 | # CONFIG_MAGIC_SYSRQ is not set | 586 | # CONFIG_MAGIC_SYSRQ is not set |
587 | # CONFIG_UNUSED_SYMBOLS is not set | ||
559 | # CONFIG_DEBUG_KERNEL is not set | 588 | # CONFIG_DEBUG_KERNEL is not set |
560 | CONFIG_LOG_BUF_SHIFT=14 | 589 | CONFIG_LOG_BUF_SHIFT=14 |
561 | # CONFIG_DEBUG_FS is not set | 590 | # CONFIG_DEBUG_FS is not set |
@@ -585,3 +614,4 @@ CONFIG_CMDLINE="" | |||
585 | CONFIG_CRC16=y | 614 | CONFIG_CRC16=y |
586 | # CONFIG_CRC32 is not set | 615 | # CONFIG_CRC32 is not set |
587 | # CONFIG_LIBCRC32C is not set | 616 | # CONFIG_LIBCRC32C is not set |
617 | CONFIG_PLIST=y | ||
diff --git a/arch/mips/configs/tb0226_defconfig b/arch/mips/configs/tb0226_defconfig index 6aa229d54851..2ba4e25e8c34 100644 --- a/arch/mips/configs/tb0226_defconfig +++ b/arch/mips/configs/tb0226_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17-rc2 | 3 | # Linux kernel version: 2.6.18-rc1 |
4 | # Tue Apr 25 00:08:41 2006 | 4 | # Thu Jul 6 10:04:20 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -21,6 +21,7 @@ CONFIG_MIPS=y | |||
21 | # CONFIG_MIPS_DB1550 is not set | 21 | # CONFIG_MIPS_DB1550 is not set |
22 | # CONFIG_MIPS_DB1200 is not set | 22 | # CONFIG_MIPS_DB1200 is not set |
23 | # CONFIG_MIPS_MIRAGE is not set | 23 | # CONFIG_MIPS_MIRAGE is not set |
24 | # CONFIG_BASLER_EXCITE is not set | ||
24 | # CONFIG_MIPS_COBALT is not set | 25 | # CONFIG_MIPS_COBALT is not set |
25 | # CONFIG_MACH_DECSTATION is not set | 26 | # CONFIG_MACH_DECSTATION is not set |
26 | # CONFIG_MIPS_EV64120 is not set | 27 | # CONFIG_MIPS_EV64120 is not set |
@@ -32,6 +33,7 @@ CONFIG_MIPS=y | |||
32 | # CONFIG_MIPS_ATLAS is not set | 33 | # CONFIG_MIPS_ATLAS is not set |
33 | # CONFIG_MIPS_MALTA is not set | 34 | # CONFIG_MIPS_MALTA is not set |
34 | # CONFIG_MIPS_SEAD is not set | 35 | # CONFIG_MIPS_SEAD is not set |
36 | # CONFIG_WR_PPMC is not set | ||
35 | # CONFIG_MIPS_SIM is not set | 37 | # CONFIG_MIPS_SIM is not set |
36 | # CONFIG_MOMENCO_JAGUAR_ATX is not set | 38 | # CONFIG_MOMENCO_JAGUAR_ATX is not set |
37 | # CONFIG_MOMENCO_OCELOT is not set | 39 | # CONFIG_MOMENCO_OCELOT is not set |
@@ -45,6 +47,7 @@ CONFIG_MIPS=y | |||
45 | CONFIG_MACH_VR41XX=y | 47 | CONFIG_MACH_VR41XX=y |
46 | # CONFIG_PMC_YOSEMITE is not set | 48 | # CONFIG_PMC_YOSEMITE is not set |
47 | # CONFIG_QEMU is not set | 49 | # CONFIG_QEMU is not set |
50 | # CONFIG_MARKEINS is not set | ||
48 | # CONFIG_SGI_IP22 is not set | 51 | # CONFIG_SGI_IP22 is not set |
49 | # CONFIG_SGI_IP27 is not set | 52 | # CONFIG_SGI_IP27 is not set |
50 | # CONFIG_SGI_IP32 is not set | 53 | # CONFIG_SGI_IP32 is not set |
@@ -75,6 +78,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y | |||
75 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 78 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
76 | CONFIG_GENERIC_HWEIGHT=y | 79 | CONFIG_GENERIC_HWEIGHT=y |
77 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 80 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
81 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
78 | CONFIG_DMA_NONCOHERENT=y | 82 | CONFIG_DMA_NONCOHERENT=y |
79 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 83 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
80 | # CONFIG_CPU_BIG_ENDIAN is not set | 84 | # CONFIG_CPU_BIG_ENDIAN is not set |
@@ -119,7 +123,10 @@ CONFIG_PAGE_SIZE_4KB=y | |||
119 | # CONFIG_PAGE_SIZE_8KB is not set | 123 | # CONFIG_PAGE_SIZE_8KB is not set |
120 | # CONFIG_PAGE_SIZE_16KB is not set | 124 | # CONFIG_PAGE_SIZE_16KB is not set |
121 | # CONFIG_PAGE_SIZE_64KB is not set | 125 | # CONFIG_PAGE_SIZE_64KB is not set |
122 | # CONFIG_MIPS_MT is not set | 126 | CONFIG_MIPS_MT_DISABLED=y |
127 | # CONFIG_MIPS_MT_SMTC is not set | ||
128 | # CONFIG_MIPS_MT_SMP is not set | ||
129 | # CONFIG_MIPS_VPE_LOADER is not set | ||
123 | CONFIG_CPU_HAS_SYNC=y | 130 | CONFIG_CPU_HAS_SYNC=y |
124 | CONFIG_GENERIC_HARDIRQS=y | 131 | CONFIG_GENERIC_HARDIRQS=y |
125 | CONFIG_GENERIC_IRQ_PROBE=y | 132 | CONFIG_GENERIC_IRQ_PROBE=y |
@@ -132,6 +139,7 @@ CONFIG_FLATMEM=y | |||
132 | CONFIG_FLAT_NODE_MEM_MAP=y | 139 | CONFIG_FLAT_NODE_MEM_MAP=y |
133 | # CONFIG_SPARSEMEM_STATIC is not set | 140 | # CONFIG_SPARSEMEM_STATIC is not set |
134 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 141 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
142 | # CONFIG_RESOURCES_64BIT is not set | ||
135 | # CONFIG_HZ_48 is not set | 143 | # CONFIG_HZ_48 is not set |
136 | # CONFIG_HZ_100 is not set | 144 | # CONFIG_HZ_100 is not set |
137 | # CONFIG_HZ_128 is not set | 145 | # CONFIG_HZ_128 is not set |
@@ -144,6 +152,7 @@ CONFIG_HZ=1000 | |||
144 | CONFIG_PREEMPT_NONE=y | 152 | CONFIG_PREEMPT_NONE=y |
145 | # CONFIG_PREEMPT_VOLUNTARY is not set | 153 | # CONFIG_PREEMPT_VOLUNTARY is not set |
146 | # CONFIG_PREEMPT is not set | 154 | # CONFIG_PREEMPT is not set |
155 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
147 | 156 | ||
148 | # | 157 | # |
149 | # Code maturity level options | 158 | # Code maturity level options |
@@ -175,10 +184,12 @@ CONFIG_PRINTK=y | |||
175 | CONFIG_BUG=y | 184 | CONFIG_BUG=y |
176 | CONFIG_ELF_CORE=y | 185 | CONFIG_ELF_CORE=y |
177 | CONFIG_BASE_FULL=y | 186 | CONFIG_BASE_FULL=y |
187 | CONFIG_RT_MUTEXES=y | ||
178 | CONFIG_FUTEX=y | 188 | CONFIG_FUTEX=y |
179 | CONFIG_EPOLL=y | 189 | CONFIG_EPOLL=y |
180 | CONFIG_SHMEM=y | 190 | CONFIG_SHMEM=y |
181 | CONFIG_SLAB=y | 191 | CONFIG_SLAB=y |
192 | CONFIG_VM_EVENT_COUNTERS=y | ||
182 | # CONFIG_TINY_SHMEM is not set | 193 | # CONFIG_TINY_SHMEM is not set |
183 | CONFIG_BASE_SMALL=0 | 194 | CONFIG_BASE_SMALL=0 |
184 | # CONFIG_SLOB is not set | 195 | # CONFIG_SLOB is not set |
@@ -249,6 +260,8 @@ CONFIG_NET=y | |||
249 | CONFIG_PACKET=y | 260 | CONFIG_PACKET=y |
250 | # CONFIG_PACKET_MMAP is not set | 261 | # CONFIG_PACKET_MMAP is not set |
251 | CONFIG_UNIX=y | 262 | CONFIG_UNIX=y |
263 | CONFIG_XFRM=y | ||
264 | # CONFIG_XFRM_USER is not set | ||
252 | # CONFIG_NET_KEY is not set | 265 | # CONFIG_NET_KEY is not set |
253 | CONFIG_INET=y | 266 | CONFIG_INET=y |
254 | CONFIG_IP_MULTICAST=y | 267 | CONFIG_IP_MULTICAST=y |
@@ -274,6 +287,8 @@ CONFIG_SYN_COOKIES=y | |||
274 | # CONFIG_INET_IPCOMP is not set | 287 | # CONFIG_INET_IPCOMP is not set |
275 | # CONFIG_INET_XFRM_TUNNEL is not set | 288 | # CONFIG_INET_XFRM_TUNNEL is not set |
276 | # CONFIG_INET_TUNNEL is not set | 289 | # CONFIG_INET_TUNNEL is not set |
290 | CONFIG_INET_XFRM_MODE_TRANSPORT=m | ||
291 | CONFIG_INET_XFRM_MODE_TUNNEL=m | ||
277 | CONFIG_INET_DIAG=y | 292 | CONFIG_INET_DIAG=y |
278 | CONFIG_INET_TCP_DIAG=y | 293 | CONFIG_INET_TCP_DIAG=y |
279 | # CONFIG_TCP_CONG_ADVANCED is not set | 294 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -281,6 +296,7 @@ CONFIG_TCP_CONG_BIC=y | |||
281 | # CONFIG_IPV6 is not set | 296 | # CONFIG_IPV6 is not set |
282 | # CONFIG_INET6_XFRM_TUNNEL is not set | 297 | # CONFIG_INET6_XFRM_TUNNEL is not set |
283 | # CONFIG_INET6_TUNNEL is not set | 298 | # CONFIG_INET6_TUNNEL is not set |
299 | CONFIG_NETWORK_SECMARK=y | ||
284 | # CONFIG_NETFILTER is not set | 300 | # CONFIG_NETFILTER is not set |
285 | 301 | ||
286 | # | 302 | # |
@@ -334,6 +350,7 @@ CONFIG_TCP_CONG_BIC=y | |||
334 | CONFIG_STANDALONE=y | 350 | CONFIG_STANDALONE=y |
335 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 351 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
336 | CONFIG_FW_LOADER=y | 352 | CONFIG_FW_LOADER=y |
353 | # CONFIG_SYS_HYPERVISOR is not set | ||
337 | 354 | ||
338 | # | 355 | # |
339 | # Connector - unified userspace <-> kernelspace linker | 356 | # Connector - unified userspace <-> kernelspace linker |
@@ -427,6 +444,7 @@ CONFIG_SCSI_MULTI_LUN=y | |||
427 | # CONFIG_MEGARAID_LEGACY is not set | 444 | # CONFIG_MEGARAID_LEGACY is not set |
428 | # CONFIG_MEGARAID_SAS is not set | 445 | # CONFIG_MEGARAID_SAS is not set |
429 | # CONFIG_SCSI_SATA is not set | 446 | # CONFIG_SCSI_SATA is not set |
447 | # CONFIG_SCSI_HPTIOP is not set | ||
430 | # CONFIG_SCSI_DMX3191D is not set | 448 | # CONFIG_SCSI_DMX3191D is not set |
431 | # CONFIG_SCSI_FUTURE_DOMAIN is not set | 449 | # CONFIG_SCSI_FUTURE_DOMAIN is not set |
432 | # CONFIG_SCSI_IPS is not set | 450 | # CONFIG_SCSI_IPS is not set |
@@ -492,6 +510,8 @@ CONFIG_DAVICOM_PHY=m | |||
492 | CONFIG_QSEMI_PHY=m | 510 | CONFIG_QSEMI_PHY=m |
493 | CONFIG_LXT_PHY=m | 511 | CONFIG_LXT_PHY=m |
494 | CONFIG_CICADA_PHY=m | 512 | CONFIG_CICADA_PHY=m |
513 | CONFIG_VITESSE_PHY=m | ||
514 | CONFIG_SMSC_PHY=m | ||
495 | 515 | ||
496 | # | 516 | # |
497 | # Ethernet (10 or 100Mbit) | 517 | # Ethernet (10 or 100Mbit) |
@@ -554,6 +574,7 @@ CONFIG_E100=y | |||
554 | # CONFIG_CHELSIO_T1 is not set | 574 | # CONFIG_CHELSIO_T1 is not set |
555 | # CONFIG_IXGB is not set | 575 | # CONFIG_IXGB is not set |
556 | # CONFIG_S2IO is not set | 576 | # CONFIG_S2IO is not set |
577 | # CONFIG_MYRI10GE is not set | ||
557 | 578 | ||
558 | # | 579 | # |
559 | # Token Ring devices | 580 | # Token Ring devices |
@@ -624,6 +645,7 @@ CONFIG_INPUT=y | |||
624 | CONFIG_VT=y | 645 | CONFIG_VT=y |
625 | CONFIG_VT_CONSOLE=y | 646 | CONFIG_VT_CONSOLE=y |
626 | CONFIG_HW_CONSOLE=y | 647 | CONFIG_HW_CONSOLE=y |
648 | CONFIG_VT_HW_CONSOLE_BINDING=y | ||
627 | # CONFIG_SERIAL_NONSTANDARD is not set | 649 | # CONFIG_SERIAL_NONSTANDARD is not set |
628 | 650 | ||
629 | # | 651 | # |
@@ -652,6 +674,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
652 | # Watchdog Cards | 674 | # Watchdog Cards |
653 | # | 675 | # |
654 | # CONFIG_WATCHDOG is not set | 676 | # CONFIG_WATCHDOG is not set |
677 | # CONFIG_HW_RANDOM is not set | ||
655 | # CONFIG_RTC is not set | 678 | # CONFIG_RTC is not set |
656 | # CONFIG_GEN_RTC is not set | 679 | # CONFIG_GEN_RTC is not set |
657 | # CONFIG_DTLK is not set | 680 | # CONFIG_DTLK is not set |
@@ -702,6 +725,7 @@ CONFIG_GPIO_VR41XX=y | |||
702 | # Multimedia devices | 725 | # Multimedia devices |
703 | # | 726 | # |
704 | # CONFIG_VIDEO_DEV is not set | 727 | # CONFIG_VIDEO_DEV is not set |
728 | CONFIG_VIDEO_V4L2=y | ||
705 | 729 | ||
706 | # | 730 | # |
707 | # Digital Video Broadcasting Devices | 731 | # Digital Video Broadcasting Devices |
@@ -712,6 +736,7 @@ CONFIG_GPIO_VR41XX=y | |||
712 | # | 736 | # |
713 | # Graphics support | 737 | # Graphics support |
714 | # | 738 | # |
739 | # CONFIG_FIRMWARE_EDID is not set | ||
715 | # CONFIG_FB is not set | 740 | # CONFIG_FB is not set |
716 | 741 | ||
717 | # | 742 | # |
@@ -748,6 +773,7 @@ CONFIG_USB_DEVICEFS=y | |||
748 | CONFIG_USB_EHCI_HCD=y | 773 | CONFIG_USB_EHCI_HCD=y |
749 | # CONFIG_USB_EHCI_SPLIT_ISO is not set | 774 | # CONFIG_USB_EHCI_SPLIT_ISO is not set |
750 | # CONFIG_USB_EHCI_ROOT_HUB_TT is not set | 775 | # CONFIG_USB_EHCI_ROOT_HUB_TT is not set |
776 | # CONFIG_USB_EHCI_TT_NEWSCHED is not set | ||
751 | # CONFIG_USB_ISP116X_HCD is not set | 777 | # CONFIG_USB_ISP116X_HCD is not set |
752 | CONFIG_USB_OHCI_HCD=y | 778 | CONFIG_USB_OHCI_HCD=y |
753 | # CONFIG_USB_OHCI_BIG_ENDIAN is not set | 779 | # CONFIG_USB_OHCI_BIG_ENDIAN is not set |
@@ -838,10 +864,12 @@ CONFIG_USB_STORAGE=y | |||
838 | # CONFIG_USB_LEGOTOWER is not set | 864 | # CONFIG_USB_LEGOTOWER is not set |
839 | # CONFIG_USB_LCD is not set | 865 | # CONFIG_USB_LCD is not set |
840 | # CONFIG_USB_LED is not set | 866 | # CONFIG_USB_LED is not set |
867 | # CONFIG_USB_CY7C63 is not set | ||
841 | # CONFIG_USB_CYTHERM is not set | 868 | # CONFIG_USB_CYTHERM is not set |
842 | # CONFIG_USB_PHIDGETKIT is not set | 869 | # CONFIG_USB_PHIDGETKIT is not set |
843 | # CONFIG_USB_PHIDGETSERVO is not set | 870 | # CONFIG_USB_PHIDGETSERVO is not set |
844 | # CONFIG_USB_IDMOUSE is not set | 871 | # CONFIG_USB_IDMOUSE is not set |
872 | # CONFIG_USB_APPLEDISPLAY is not set | ||
845 | # CONFIG_USB_SISUSBVGA is not set | 873 | # CONFIG_USB_SISUSBVGA is not set |
846 | # CONFIG_USB_LD is not set | 874 | # CONFIG_USB_LD is not set |
847 | # CONFIG_USB_TEST is not set | 875 | # CONFIG_USB_TEST is not set |
@@ -896,13 +924,30 @@ CONFIG_RTC_HCTOSYS_DEVICE="rtc0" | |||
896 | CONFIG_RTC_INTF_SYSFS=y | 924 | CONFIG_RTC_INTF_SYSFS=y |
897 | CONFIG_RTC_INTF_PROC=y | 925 | CONFIG_RTC_INTF_PROC=y |
898 | CONFIG_RTC_INTF_DEV=y | 926 | CONFIG_RTC_INTF_DEV=y |
927 | # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set | ||
899 | 928 | ||
900 | # | 929 | # |
901 | # RTC drivers | 930 | # RTC drivers |
902 | # | 931 | # |
932 | # CONFIG_RTC_DRV_DS1553 is not set | ||
933 | # CONFIG_RTC_DRV_DS1742 is not set | ||
903 | # CONFIG_RTC_DRV_M48T86 is not set | 934 | # CONFIG_RTC_DRV_M48T86 is not set |
904 | CONFIG_RTC_DRV_VR41XX=y | 935 | CONFIG_RTC_DRV_VR41XX=y |
905 | # CONFIG_RTC_DRV_TEST is not set | 936 | # CONFIG_RTC_DRV_TEST is not set |
937 | # CONFIG_RTC_DRV_V3020 is not set | ||
938 | |||
939 | # | ||
940 | # DMA Engine support | ||
941 | # | ||
942 | # CONFIG_DMA_ENGINE is not set | ||
943 | |||
944 | # | ||
945 | # DMA Clients | ||
946 | # | ||
947 | |||
948 | # | ||
949 | # DMA Devices | ||
950 | # | ||
906 | 951 | ||
907 | # | 952 | # |
908 | # File systems | 953 | # File systems |
@@ -919,6 +964,7 @@ CONFIG_EXT2_FS=y | |||
919 | # CONFIG_MINIX_FS is not set | 964 | # CONFIG_MINIX_FS is not set |
920 | CONFIG_ROMFS_FS=m | 965 | CONFIG_ROMFS_FS=m |
921 | CONFIG_INOTIFY=y | 966 | CONFIG_INOTIFY=y |
967 | CONFIG_INOTIFY_USER=y | ||
922 | # CONFIG_QUOTA is not set | 968 | # CONFIG_QUOTA is not set |
923 | CONFIG_DNOTIFY=y | 969 | CONFIG_DNOTIFY=y |
924 | # CONFIG_AUTOFS_FS is not set | 970 | # CONFIG_AUTOFS_FS is not set |
@@ -989,6 +1035,7 @@ CONFIG_SUNRPC=y | |||
989 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1035 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
990 | # CONFIG_SMB_FS is not set | 1036 | # CONFIG_SMB_FS is not set |
991 | # CONFIG_CIFS is not set | 1037 | # CONFIG_CIFS is not set |
1038 | # CONFIG_CIFS_DEBUG2 is not set | ||
992 | # CONFIG_NCP_FS is not set | 1039 | # CONFIG_NCP_FS is not set |
993 | # CONFIG_CODA_FS is not set | 1040 | # CONFIG_CODA_FS is not set |
994 | # CONFIG_AFS_FS is not set | 1041 | # CONFIG_AFS_FS is not set |
@@ -1015,6 +1062,7 @@ CONFIG_MSDOS_PARTITION=y | |||
1015 | # | 1062 | # |
1016 | # CONFIG_PRINTK_TIME is not set | 1063 | # CONFIG_PRINTK_TIME is not set |
1017 | # CONFIG_MAGIC_SYSRQ is not set | 1064 | # CONFIG_MAGIC_SYSRQ is not set |
1065 | # CONFIG_UNUSED_SYMBOLS is not set | ||
1018 | # CONFIG_DEBUG_KERNEL is not set | 1066 | # CONFIG_DEBUG_KERNEL is not set |
1019 | CONFIG_LOG_BUF_SHIFT=14 | 1067 | CONFIG_LOG_BUF_SHIFT=14 |
1020 | # CONFIG_DEBUG_FS is not set | 1068 | # CONFIG_DEBUG_FS is not set |
@@ -1044,3 +1092,4 @@ CONFIG_CMDLINE="mem=32M console=ttyVR0,115200" | |||
1044 | # CONFIG_CRC32 is not set | 1092 | # CONFIG_CRC32 is not set |
1045 | # CONFIG_LIBCRC32C is not set | 1093 | # CONFIG_LIBCRC32C is not set |
1046 | CONFIG_ZLIB_INFLATE=m | 1094 | CONFIG_ZLIB_INFLATE=m |
1095 | CONFIG_PLIST=y | ||
diff --git a/arch/mips/configs/tb0229_defconfig b/arch/mips/configs/tb0229_defconfig index a187b1f0004c..fc8a407c1add 100644 --- a/arch/mips/configs/tb0229_defconfig +++ b/arch/mips/configs/tb0229_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17-rc2 | 3 | # Linux kernel version: 2.6.18-rc1 |
4 | # Tue Apr 25 00:08:59 2006 | 4 | # Thu Jul 6 10:04:20 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -21,6 +21,7 @@ CONFIG_MIPS=y | |||
21 | # CONFIG_MIPS_DB1550 is not set | 21 | # CONFIG_MIPS_DB1550 is not set |
22 | # CONFIG_MIPS_DB1200 is not set | 22 | # CONFIG_MIPS_DB1200 is not set |
23 | # CONFIG_MIPS_MIRAGE is not set | 23 | # CONFIG_MIPS_MIRAGE is not set |
24 | # CONFIG_BASLER_EXCITE is not set | ||
24 | # CONFIG_MIPS_COBALT is not set | 25 | # CONFIG_MIPS_COBALT is not set |
25 | # CONFIG_MACH_DECSTATION is not set | 26 | # CONFIG_MACH_DECSTATION is not set |
26 | # CONFIG_MIPS_EV64120 is not set | 27 | # CONFIG_MIPS_EV64120 is not set |
@@ -32,6 +33,7 @@ CONFIG_MIPS=y | |||
32 | # CONFIG_MIPS_ATLAS is not set | 33 | # CONFIG_MIPS_ATLAS is not set |
33 | # CONFIG_MIPS_MALTA is not set | 34 | # CONFIG_MIPS_MALTA is not set |
34 | # CONFIG_MIPS_SEAD is not set | 35 | # CONFIG_MIPS_SEAD is not set |
36 | # CONFIG_WR_PPMC is not set | ||
35 | # CONFIG_MIPS_SIM is not set | 37 | # CONFIG_MIPS_SIM is not set |
36 | # CONFIG_MOMENCO_JAGUAR_ATX is not set | 38 | # CONFIG_MOMENCO_JAGUAR_ATX is not set |
37 | # CONFIG_MOMENCO_OCELOT is not set | 39 | # CONFIG_MOMENCO_OCELOT is not set |
@@ -45,6 +47,7 @@ CONFIG_MIPS=y | |||
45 | CONFIG_MACH_VR41XX=y | 47 | CONFIG_MACH_VR41XX=y |
46 | # CONFIG_PMC_YOSEMITE is not set | 48 | # CONFIG_PMC_YOSEMITE is not set |
47 | # CONFIG_QEMU is not set | 49 | # CONFIG_QEMU is not set |
50 | # CONFIG_MARKEINS is not set | ||
48 | # CONFIG_SGI_IP22 is not set | 51 | # CONFIG_SGI_IP22 is not set |
49 | # CONFIG_SGI_IP27 is not set | 52 | # CONFIG_SGI_IP27 is not set |
50 | # CONFIG_SGI_IP32 is not set | 53 | # CONFIG_SGI_IP32 is not set |
@@ -75,6 +78,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y | |||
75 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 78 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
76 | CONFIG_GENERIC_HWEIGHT=y | 79 | CONFIG_GENERIC_HWEIGHT=y |
77 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 80 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
81 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
78 | CONFIG_DMA_NONCOHERENT=y | 82 | CONFIG_DMA_NONCOHERENT=y |
79 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 83 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
80 | # CONFIG_CPU_BIG_ENDIAN is not set | 84 | # CONFIG_CPU_BIG_ENDIAN is not set |
@@ -119,7 +123,10 @@ CONFIG_PAGE_SIZE_4KB=y | |||
119 | # CONFIG_PAGE_SIZE_8KB is not set | 123 | # CONFIG_PAGE_SIZE_8KB is not set |
120 | # CONFIG_PAGE_SIZE_16KB is not set | 124 | # CONFIG_PAGE_SIZE_16KB is not set |
121 | # CONFIG_PAGE_SIZE_64KB is not set | 125 | # CONFIG_PAGE_SIZE_64KB is not set |
122 | # CONFIG_MIPS_MT is not set | 126 | CONFIG_MIPS_MT_DISABLED=y |
127 | # CONFIG_MIPS_MT_SMTC is not set | ||
128 | # CONFIG_MIPS_MT_SMP is not set | ||
129 | # CONFIG_MIPS_VPE_LOADER is not set | ||
123 | CONFIG_CPU_HAS_SYNC=y | 130 | CONFIG_CPU_HAS_SYNC=y |
124 | CONFIG_GENERIC_HARDIRQS=y | 131 | CONFIG_GENERIC_HARDIRQS=y |
125 | CONFIG_GENERIC_IRQ_PROBE=y | 132 | CONFIG_GENERIC_IRQ_PROBE=y |
@@ -132,6 +139,7 @@ CONFIG_FLATMEM=y | |||
132 | CONFIG_FLAT_NODE_MEM_MAP=y | 139 | CONFIG_FLAT_NODE_MEM_MAP=y |
133 | # CONFIG_SPARSEMEM_STATIC is not set | 140 | # CONFIG_SPARSEMEM_STATIC is not set |
134 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 141 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
142 | # CONFIG_RESOURCES_64BIT is not set | ||
135 | # CONFIG_HZ_48 is not set | 143 | # CONFIG_HZ_48 is not set |
136 | # CONFIG_HZ_100 is not set | 144 | # CONFIG_HZ_100 is not set |
137 | # CONFIG_HZ_128 is not set | 145 | # CONFIG_HZ_128 is not set |
@@ -144,6 +152,7 @@ CONFIG_HZ=1000 | |||
144 | CONFIG_PREEMPT_NONE=y | 152 | CONFIG_PREEMPT_NONE=y |
145 | # CONFIG_PREEMPT_VOLUNTARY is not set | 153 | # CONFIG_PREEMPT_VOLUNTARY is not set |
146 | # CONFIG_PREEMPT is not set | 154 | # CONFIG_PREEMPT is not set |
155 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
147 | 156 | ||
148 | # | 157 | # |
149 | # Code maturity level options | 158 | # Code maturity level options |
@@ -175,10 +184,12 @@ CONFIG_PRINTK=y | |||
175 | CONFIG_BUG=y | 184 | CONFIG_BUG=y |
176 | CONFIG_ELF_CORE=y | 185 | CONFIG_ELF_CORE=y |
177 | CONFIG_BASE_FULL=y | 186 | CONFIG_BASE_FULL=y |
187 | CONFIG_RT_MUTEXES=y | ||
178 | CONFIG_FUTEX=y | 188 | CONFIG_FUTEX=y |
179 | CONFIG_EPOLL=y | 189 | CONFIG_EPOLL=y |
180 | CONFIG_SHMEM=y | 190 | CONFIG_SHMEM=y |
181 | CONFIG_SLAB=y | 191 | CONFIG_SLAB=y |
192 | CONFIG_VM_EVENT_COUNTERS=y | ||
182 | # CONFIG_TINY_SHMEM is not set | 193 | # CONFIG_TINY_SHMEM is not set |
183 | CONFIG_BASE_SMALL=0 | 194 | CONFIG_BASE_SMALL=0 |
184 | # CONFIG_SLOB is not set | 195 | # CONFIG_SLOB is not set |
@@ -249,6 +260,8 @@ CONFIG_NET=y | |||
249 | CONFIG_PACKET=y | 260 | CONFIG_PACKET=y |
250 | # CONFIG_PACKET_MMAP is not set | 261 | # CONFIG_PACKET_MMAP is not set |
251 | CONFIG_UNIX=y | 262 | CONFIG_UNIX=y |
263 | CONFIG_XFRM=y | ||
264 | # CONFIG_XFRM_USER is not set | ||
252 | # CONFIG_NET_KEY is not set | 265 | # CONFIG_NET_KEY is not set |
253 | CONFIG_INET=y | 266 | CONFIG_INET=y |
254 | CONFIG_IP_MULTICAST=y | 267 | CONFIG_IP_MULTICAST=y |
@@ -275,6 +288,8 @@ CONFIG_SYN_COOKIES=y | |||
275 | # CONFIG_INET_IPCOMP is not set | 288 | # CONFIG_INET_IPCOMP is not set |
276 | # CONFIG_INET_XFRM_TUNNEL is not set | 289 | # CONFIG_INET_XFRM_TUNNEL is not set |
277 | CONFIG_INET_TUNNEL=m | 290 | CONFIG_INET_TUNNEL=m |
291 | CONFIG_INET_XFRM_MODE_TRANSPORT=m | ||
292 | CONFIG_INET_XFRM_MODE_TUNNEL=m | ||
278 | CONFIG_INET_DIAG=y | 293 | CONFIG_INET_DIAG=y |
279 | CONFIG_INET_TCP_DIAG=y | 294 | CONFIG_INET_TCP_DIAG=y |
280 | # CONFIG_TCP_CONG_ADVANCED is not set | 295 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -282,6 +297,7 @@ CONFIG_TCP_CONG_BIC=y | |||
282 | # CONFIG_IPV6 is not set | 297 | # CONFIG_IPV6 is not set |
283 | # CONFIG_INET6_XFRM_TUNNEL is not set | 298 | # CONFIG_INET6_XFRM_TUNNEL is not set |
284 | # CONFIG_INET6_TUNNEL is not set | 299 | # CONFIG_INET6_TUNNEL is not set |
300 | CONFIG_NETWORK_SECMARK=y | ||
285 | # CONFIG_NETFILTER is not set | 301 | # CONFIG_NETFILTER is not set |
286 | 302 | ||
287 | # | 303 | # |
@@ -335,6 +351,7 @@ CONFIG_TCP_CONG_BIC=y | |||
335 | CONFIG_STANDALONE=y | 351 | CONFIG_STANDALONE=y |
336 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 352 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
337 | # CONFIG_FW_LOADER is not set | 353 | # CONFIG_FW_LOADER is not set |
354 | # CONFIG_SYS_HYPERVISOR is not set | ||
338 | 355 | ||
339 | # | 356 | # |
340 | # Connector - unified userspace <-> kernelspace linker | 357 | # Connector - unified userspace <-> kernelspace linker |
@@ -433,6 +450,8 @@ CONFIG_DAVICOM_PHY=m | |||
433 | CONFIG_QSEMI_PHY=m | 450 | CONFIG_QSEMI_PHY=m |
434 | CONFIG_LXT_PHY=m | 451 | CONFIG_LXT_PHY=m |
435 | CONFIG_CICADA_PHY=m | 452 | CONFIG_CICADA_PHY=m |
453 | CONFIG_VITESSE_PHY=m | ||
454 | CONFIG_SMSC_PHY=m | ||
436 | 455 | ||
437 | # | 456 | # |
438 | # Ethernet (10 or 100Mbit) | 457 | # Ethernet (10 or 100Mbit) |
@@ -476,6 +495,7 @@ CONFIG_R8169=y | |||
476 | # CONFIG_CHELSIO_T1 is not set | 495 | # CONFIG_CHELSIO_T1 is not set |
477 | # CONFIG_IXGB is not set | 496 | # CONFIG_IXGB is not set |
478 | # CONFIG_S2IO is not set | 497 | # CONFIG_S2IO is not set |
498 | # CONFIG_MYRI10GE is not set | ||
479 | 499 | ||
480 | # | 500 | # |
481 | # Token Ring devices | 501 | # Token Ring devices |
@@ -545,6 +565,7 @@ CONFIG_INPUT=y | |||
545 | CONFIG_VT=y | 565 | CONFIG_VT=y |
546 | CONFIG_VT_CONSOLE=y | 566 | CONFIG_VT_CONSOLE=y |
547 | CONFIG_HW_CONSOLE=y | 567 | CONFIG_HW_CONSOLE=y |
568 | CONFIG_VT_HW_CONSOLE_BINDING=y | ||
548 | # CONFIG_SERIAL_NONSTANDARD is not set | 569 | # CONFIG_SERIAL_NONSTANDARD is not set |
549 | 570 | ||
550 | # | 571 | # |
@@ -573,6 +594,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
573 | # Watchdog Cards | 594 | # Watchdog Cards |
574 | # | 595 | # |
575 | # CONFIG_WATCHDOG is not set | 596 | # CONFIG_WATCHDOG is not set |
597 | # CONFIG_HW_RANDOM is not set | ||
576 | # CONFIG_RTC is not set | 598 | # CONFIG_RTC is not set |
577 | # CONFIG_GEN_RTC is not set | 599 | # CONFIG_GEN_RTC is not set |
578 | # CONFIG_DTLK is not set | 600 | # CONFIG_DTLK is not set |
@@ -607,7 +629,6 @@ CONFIG_GPIO_VR41XX=y | |||
607 | # | 629 | # |
608 | # Dallas's 1-wire bus | 630 | # Dallas's 1-wire bus |
609 | # | 631 | # |
610 | # CONFIG_W1 is not set | ||
611 | 632 | ||
612 | # | 633 | # |
613 | # Hardware Monitoring support | 634 | # Hardware Monitoring support |
@@ -623,6 +644,7 @@ CONFIG_GPIO_VR41XX=y | |||
623 | # Multimedia devices | 644 | # Multimedia devices |
624 | # | 645 | # |
625 | # CONFIG_VIDEO_DEV is not set | 646 | # CONFIG_VIDEO_DEV is not set |
647 | CONFIG_VIDEO_V4L2=y | ||
626 | 648 | ||
627 | # | 649 | # |
628 | # Digital Video Broadcasting Devices | 650 | # Digital Video Broadcasting Devices |
@@ -633,6 +655,7 @@ CONFIG_GPIO_VR41XX=y | |||
633 | # | 655 | # |
634 | # Graphics support | 656 | # Graphics support |
635 | # | 657 | # |
658 | # CONFIG_FIRMWARE_EDID is not set | ||
636 | # CONFIG_FB is not set | 659 | # CONFIG_FB is not set |
637 | 660 | ||
638 | # | 661 | # |
@@ -669,6 +692,7 @@ CONFIG_USB_DEVICEFS=y | |||
669 | CONFIG_USB_EHCI_HCD=m | 692 | CONFIG_USB_EHCI_HCD=m |
670 | # CONFIG_USB_EHCI_SPLIT_ISO is not set | 693 | # CONFIG_USB_EHCI_SPLIT_ISO is not set |
671 | # CONFIG_USB_EHCI_ROOT_HUB_TT is not set | 694 | # CONFIG_USB_EHCI_ROOT_HUB_TT is not set |
695 | # CONFIG_USB_EHCI_TT_NEWSCHED is not set | ||
672 | # CONFIG_USB_ISP116X_HCD is not set | 696 | # CONFIG_USB_ISP116X_HCD is not set |
673 | CONFIG_USB_OHCI_HCD=m | 697 | CONFIG_USB_OHCI_HCD=m |
674 | # CONFIG_USB_OHCI_BIG_ENDIAN is not set | 698 | # CONFIG_USB_OHCI_BIG_ENDIAN is not set |
@@ -749,10 +773,12 @@ CONFIG_USB_MON=y | |||
749 | # CONFIG_USB_LEGOTOWER is not set | 773 | # CONFIG_USB_LEGOTOWER is not set |
750 | # CONFIG_USB_LCD is not set | 774 | # CONFIG_USB_LCD is not set |
751 | # CONFIG_USB_LED is not set | 775 | # CONFIG_USB_LED is not set |
776 | # CONFIG_USB_CY7C63 is not set | ||
752 | # CONFIG_USB_CYTHERM is not set | 777 | # CONFIG_USB_CYTHERM is not set |
753 | # CONFIG_USB_PHIDGETKIT is not set | 778 | # CONFIG_USB_PHIDGETKIT is not set |
754 | # CONFIG_USB_PHIDGETSERVO is not set | 779 | # CONFIG_USB_PHIDGETSERVO is not set |
755 | # CONFIG_USB_IDMOUSE is not set | 780 | # CONFIG_USB_IDMOUSE is not set |
781 | # CONFIG_USB_APPLEDISPLAY is not set | ||
756 | # CONFIG_USB_SISUSBVGA is not set | 782 | # CONFIG_USB_SISUSBVGA is not set |
757 | # CONFIG_USB_LD is not set | 783 | # CONFIG_USB_LD is not set |
758 | # CONFIG_USB_TEST is not set | 784 | # CONFIG_USB_TEST is not set |
@@ -807,13 +833,30 @@ CONFIG_RTC_HCTOSYS_DEVICE="rtc0" | |||
807 | CONFIG_RTC_INTF_SYSFS=y | 833 | CONFIG_RTC_INTF_SYSFS=y |
808 | CONFIG_RTC_INTF_PROC=y | 834 | CONFIG_RTC_INTF_PROC=y |
809 | CONFIG_RTC_INTF_DEV=y | 835 | CONFIG_RTC_INTF_DEV=y |
836 | # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set | ||
810 | 837 | ||
811 | # | 838 | # |
812 | # RTC drivers | 839 | # RTC drivers |
813 | # | 840 | # |
841 | # CONFIG_RTC_DRV_DS1553 is not set | ||
842 | # CONFIG_RTC_DRV_DS1742 is not set | ||
814 | # CONFIG_RTC_DRV_M48T86 is not set | 843 | # CONFIG_RTC_DRV_M48T86 is not set |
815 | CONFIG_RTC_DRV_VR41XX=y | 844 | CONFIG_RTC_DRV_VR41XX=y |
816 | # CONFIG_RTC_DRV_TEST is not set | 845 | # CONFIG_RTC_DRV_TEST is not set |
846 | # CONFIG_RTC_DRV_V3020 is not set | ||
847 | |||
848 | # | ||
849 | # DMA Engine support | ||
850 | # | ||
851 | # CONFIG_DMA_ENGINE is not set | ||
852 | |||
853 | # | ||
854 | # DMA Clients | ||
855 | # | ||
856 | |||
857 | # | ||
858 | # DMA Devices | ||
859 | # | ||
817 | 860 | ||
818 | # | 861 | # |
819 | # File systems | 862 | # File systems |
@@ -830,6 +873,7 @@ CONFIG_EXT2_FS=y | |||
830 | # CONFIG_MINIX_FS is not set | 873 | # CONFIG_MINIX_FS is not set |
831 | CONFIG_ROMFS_FS=m | 874 | CONFIG_ROMFS_FS=m |
832 | CONFIG_INOTIFY=y | 875 | CONFIG_INOTIFY=y |
876 | CONFIG_INOTIFY_USER=y | ||
833 | # CONFIG_QUOTA is not set | 877 | # CONFIG_QUOTA is not set |
834 | CONFIG_DNOTIFY=y | 878 | CONFIG_DNOTIFY=y |
835 | # CONFIG_AUTOFS_FS is not set | 879 | # CONFIG_AUTOFS_FS is not set |
@@ -900,6 +944,7 @@ CONFIG_SUNRPC=y | |||
900 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 944 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
901 | # CONFIG_SMB_FS is not set | 945 | # CONFIG_SMB_FS is not set |
902 | # CONFIG_CIFS is not set | 946 | # CONFIG_CIFS is not set |
947 | # CONFIG_CIFS_DEBUG2 is not set | ||
903 | # CONFIG_NCP_FS is not set | 948 | # CONFIG_NCP_FS is not set |
904 | # CONFIG_CODA_FS is not set | 949 | # CONFIG_CODA_FS is not set |
905 | # CONFIG_AFS_FS is not set | 950 | # CONFIG_AFS_FS is not set |
@@ -926,6 +971,7 @@ CONFIG_MSDOS_PARTITION=y | |||
926 | # | 971 | # |
927 | # CONFIG_PRINTK_TIME is not set | 972 | # CONFIG_PRINTK_TIME is not set |
928 | # CONFIG_MAGIC_SYSRQ is not set | 973 | # CONFIG_MAGIC_SYSRQ is not set |
974 | # CONFIG_UNUSED_SYMBOLS is not set | ||
929 | # CONFIG_DEBUG_KERNEL is not set | 975 | # CONFIG_DEBUG_KERNEL is not set |
930 | CONFIG_LOG_BUF_SHIFT=14 | 976 | CONFIG_LOG_BUF_SHIFT=14 |
931 | # CONFIG_DEBUG_FS is not set | 977 | # CONFIG_DEBUG_FS is not set |
@@ -955,3 +1001,4 @@ CONFIG_CMDLINE="mem=64M console=ttyVR0,115200 ip=any root=/dev/nfs" | |||
955 | CONFIG_CRC32=y | 1001 | CONFIG_CRC32=y |
956 | # CONFIG_LIBCRC32C is not set | 1002 | # CONFIG_LIBCRC32C is not set |
957 | CONFIG_ZLIB_INFLATE=m | 1003 | CONFIG_ZLIB_INFLATE=m |
1004 | CONFIG_PLIST=y | ||
diff --git a/arch/mips/configs/tb0287_defconfig b/arch/mips/configs/tb0287_defconfig index 258457fcbe11..effcb63b81a3 100644 --- a/arch/mips/configs/tb0287_defconfig +++ b/arch/mips/configs/tb0287_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17-rc2 | 3 | # Linux kernel version: 2.6.18-rc1 |
4 | # Tue Apr 25 00:09:17 2006 | 4 | # Thu Jul 6 10:04:21 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -21,6 +21,7 @@ CONFIG_MIPS=y | |||
21 | # CONFIG_MIPS_DB1550 is not set | 21 | # CONFIG_MIPS_DB1550 is not set |
22 | # CONFIG_MIPS_DB1200 is not set | 22 | # CONFIG_MIPS_DB1200 is not set |
23 | # CONFIG_MIPS_MIRAGE is not set | 23 | # CONFIG_MIPS_MIRAGE is not set |
24 | # CONFIG_BASLER_EXCITE is not set | ||
24 | # CONFIG_MIPS_COBALT is not set | 25 | # CONFIG_MIPS_COBALT is not set |
25 | # CONFIG_MACH_DECSTATION is not set | 26 | # CONFIG_MACH_DECSTATION is not set |
26 | # CONFIG_MIPS_EV64120 is not set | 27 | # CONFIG_MIPS_EV64120 is not set |
@@ -32,6 +33,7 @@ CONFIG_MIPS=y | |||
32 | # CONFIG_MIPS_ATLAS is not set | 33 | # CONFIG_MIPS_ATLAS is not set |
33 | # CONFIG_MIPS_MALTA is not set | 34 | # CONFIG_MIPS_MALTA is not set |
34 | # CONFIG_MIPS_SEAD is not set | 35 | # CONFIG_MIPS_SEAD is not set |
36 | # CONFIG_WR_PPMC is not set | ||
35 | # CONFIG_MIPS_SIM is not set | 37 | # CONFIG_MIPS_SIM is not set |
36 | # CONFIG_MOMENCO_JAGUAR_ATX is not set | 38 | # CONFIG_MOMENCO_JAGUAR_ATX is not set |
37 | # CONFIG_MOMENCO_OCELOT is not set | 39 | # CONFIG_MOMENCO_OCELOT is not set |
@@ -45,6 +47,7 @@ CONFIG_MIPS=y | |||
45 | CONFIG_MACH_VR41XX=y | 47 | CONFIG_MACH_VR41XX=y |
46 | # CONFIG_PMC_YOSEMITE is not set | 48 | # CONFIG_PMC_YOSEMITE is not set |
47 | # CONFIG_QEMU is not set | 49 | # CONFIG_QEMU is not set |
50 | # CONFIG_MARKEINS is not set | ||
48 | # CONFIG_SGI_IP22 is not set | 51 | # CONFIG_SGI_IP22 is not set |
49 | # CONFIG_SGI_IP27 is not set | 52 | # CONFIG_SGI_IP27 is not set |
50 | # CONFIG_SGI_IP32 is not set | 53 | # CONFIG_SGI_IP32 is not set |
@@ -120,7 +123,10 @@ CONFIG_PAGE_SIZE_4KB=y | |||
120 | # CONFIG_PAGE_SIZE_8KB is not set | 123 | # CONFIG_PAGE_SIZE_8KB is not set |
121 | # CONFIG_PAGE_SIZE_16KB is not set | 124 | # CONFIG_PAGE_SIZE_16KB is not set |
122 | # CONFIG_PAGE_SIZE_64KB is not set | 125 | # CONFIG_PAGE_SIZE_64KB is not set |
123 | # CONFIG_MIPS_MT is not set | 126 | CONFIG_MIPS_MT_DISABLED=y |
127 | # CONFIG_MIPS_MT_SMTC is not set | ||
128 | # CONFIG_MIPS_MT_SMP is not set | ||
129 | # CONFIG_MIPS_VPE_LOADER is not set | ||
124 | CONFIG_CPU_HAS_SYNC=y | 130 | CONFIG_CPU_HAS_SYNC=y |
125 | CONFIG_GENERIC_HARDIRQS=y | 131 | CONFIG_GENERIC_HARDIRQS=y |
126 | CONFIG_GENERIC_IRQ_PROBE=y | 132 | CONFIG_GENERIC_IRQ_PROBE=y |
@@ -133,6 +139,7 @@ CONFIG_FLATMEM=y | |||
133 | CONFIG_FLAT_NODE_MEM_MAP=y | 139 | CONFIG_FLAT_NODE_MEM_MAP=y |
134 | # CONFIG_SPARSEMEM_STATIC is not set | 140 | # CONFIG_SPARSEMEM_STATIC is not set |
135 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 141 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
142 | # CONFIG_RESOURCES_64BIT is not set | ||
136 | # CONFIG_HZ_48 is not set | 143 | # CONFIG_HZ_48 is not set |
137 | # CONFIG_HZ_100 is not set | 144 | # CONFIG_HZ_100 is not set |
138 | # CONFIG_HZ_128 is not set | 145 | # CONFIG_HZ_128 is not set |
@@ -145,6 +152,7 @@ CONFIG_HZ=1000 | |||
145 | CONFIG_PREEMPT_NONE=y | 152 | CONFIG_PREEMPT_NONE=y |
146 | # CONFIG_PREEMPT_VOLUNTARY is not set | 153 | # CONFIG_PREEMPT_VOLUNTARY is not set |
147 | # CONFIG_PREEMPT is not set | 154 | # CONFIG_PREEMPT is not set |
155 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
148 | 156 | ||
149 | # | 157 | # |
150 | # Code maturity level options | 158 | # Code maturity level options |
@@ -176,10 +184,12 @@ CONFIG_PRINTK=y | |||
176 | CONFIG_BUG=y | 184 | CONFIG_BUG=y |
177 | CONFIG_ELF_CORE=y | 185 | CONFIG_ELF_CORE=y |
178 | CONFIG_BASE_FULL=y | 186 | CONFIG_BASE_FULL=y |
187 | CONFIG_RT_MUTEXES=y | ||
179 | CONFIG_FUTEX=y | 188 | CONFIG_FUTEX=y |
180 | CONFIG_EPOLL=y | 189 | CONFIG_EPOLL=y |
181 | CONFIG_SHMEM=y | 190 | CONFIG_SHMEM=y |
182 | CONFIG_SLAB=y | 191 | CONFIG_SLAB=y |
192 | CONFIG_VM_EVENT_COUNTERS=y | ||
183 | # CONFIG_TINY_SHMEM is not set | 193 | # CONFIG_TINY_SHMEM is not set |
184 | CONFIG_BASE_SMALL=0 | 194 | CONFIG_BASE_SMALL=0 |
185 | # CONFIG_SLOB is not set | 195 | # CONFIG_SLOB is not set |
@@ -250,6 +260,8 @@ CONFIG_NET=y | |||
250 | CONFIG_PACKET=y | 260 | CONFIG_PACKET=y |
251 | # CONFIG_PACKET_MMAP is not set | 261 | # CONFIG_PACKET_MMAP is not set |
252 | CONFIG_UNIX=y | 262 | CONFIG_UNIX=y |
263 | CONFIG_XFRM=y | ||
264 | # CONFIG_XFRM_USER is not set | ||
253 | # CONFIG_NET_KEY is not set | 265 | # CONFIG_NET_KEY is not set |
254 | CONFIG_INET=y | 266 | CONFIG_INET=y |
255 | CONFIG_IP_MULTICAST=y | 267 | CONFIG_IP_MULTICAST=y |
@@ -276,6 +288,8 @@ CONFIG_SYN_COOKIES=y | |||
276 | # CONFIG_INET_IPCOMP is not set | 288 | # CONFIG_INET_IPCOMP is not set |
277 | # CONFIG_INET_XFRM_TUNNEL is not set | 289 | # CONFIG_INET_XFRM_TUNNEL is not set |
278 | CONFIG_INET_TUNNEL=m | 290 | CONFIG_INET_TUNNEL=m |
291 | CONFIG_INET_XFRM_MODE_TRANSPORT=m | ||
292 | CONFIG_INET_XFRM_MODE_TUNNEL=m | ||
279 | CONFIG_INET_DIAG=y | 293 | CONFIG_INET_DIAG=y |
280 | CONFIG_INET_TCP_DIAG=y | 294 | CONFIG_INET_TCP_DIAG=y |
281 | CONFIG_TCP_CONG_ADVANCED=y | 295 | CONFIG_TCP_CONG_ADVANCED=y |
@@ -291,9 +305,13 @@ CONFIG_TCP_CONG_HTCP=m | |||
291 | # CONFIG_TCP_CONG_HYBLA is not set | 305 | # CONFIG_TCP_CONG_HYBLA is not set |
292 | # CONFIG_TCP_CONG_VEGAS is not set | 306 | # CONFIG_TCP_CONG_VEGAS is not set |
293 | # CONFIG_TCP_CONG_SCALABLE is not set | 307 | # CONFIG_TCP_CONG_SCALABLE is not set |
308 | # CONFIG_TCP_CONG_LP is not set | ||
309 | # CONFIG_TCP_CONG_VENO is not set | ||
310 | # CONFIG_TCP_CONG_COMPOUND is not set | ||
294 | # CONFIG_IPV6 is not set | 311 | # CONFIG_IPV6 is not set |
295 | # CONFIG_INET6_XFRM_TUNNEL is not set | 312 | # CONFIG_INET6_XFRM_TUNNEL is not set |
296 | # CONFIG_INET6_TUNNEL is not set | 313 | # CONFIG_INET6_TUNNEL is not set |
314 | CONFIG_NETWORK_SECMARK=y | ||
297 | # CONFIG_NETFILTER is not set | 315 | # CONFIG_NETFILTER is not set |
298 | 316 | ||
299 | # | 317 | # |
@@ -347,6 +365,7 @@ CONFIG_TCP_CONG_HTCP=m | |||
347 | CONFIG_STANDALONE=y | 365 | CONFIG_STANDALONE=y |
348 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 366 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
349 | # CONFIG_FW_LOADER is not set | 367 | # CONFIG_FW_LOADER is not set |
368 | # CONFIG_SYS_HYPERVISOR is not set | ||
350 | 369 | ||
351 | # | 370 | # |
352 | # Connector - unified userspace <-> kernelspace linker | 371 | # Connector - unified userspace <-> kernelspace linker |
@@ -492,6 +511,7 @@ CONFIG_BLK_DEV_SD=y | |||
492 | # CONFIG_MEGARAID_LEGACY is not set | 511 | # CONFIG_MEGARAID_LEGACY is not set |
493 | # CONFIG_MEGARAID_SAS is not set | 512 | # CONFIG_MEGARAID_SAS is not set |
494 | # CONFIG_SCSI_SATA is not set | 513 | # CONFIG_SCSI_SATA is not set |
514 | # CONFIG_SCSI_HPTIOP is not set | ||
495 | # CONFIG_SCSI_DMX3191D is not set | 515 | # CONFIG_SCSI_DMX3191D is not set |
496 | # CONFIG_SCSI_FUTURE_DOMAIN is not set | 516 | # CONFIG_SCSI_FUTURE_DOMAIN is not set |
497 | # CONFIG_SCSI_IPS is not set | 517 | # CONFIG_SCSI_IPS is not set |
@@ -548,7 +568,6 @@ CONFIG_IEEE1394_OHCI1394=m | |||
548 | # | 568 | # |
549 | CONFIG_IEEE1394_VIDEO1394=m | 569 | CONFIG_IEEE1394_VIDEO1394=m |
550 | CONFIG_IEEE1394_SBP2=m | 570 | CONFIG_IEEE1394_SBP2=m |
551 | # CONFIG_IEEE1394_SBP2_PHYS_DMA is not set | ||
552 | CONFIG_IEEE1394_ETH1394=m | 571 | CONFIG_IEEE1394_ETH1394=m |
553 | CONFIG_IEEE1394_DV1394=m | 572 | CONFIG_IEEE1394_DV1394=m |
554 | CONFIG_IEEE1394_RAWIO=m | 573 | CONFIG_IEEE1394_RAWIO=m |
@@ -619,6 +638,7 @@ CONFIG_R8169=y | |||
619 | # CONFIG_CHELSIO_T1 is not set | 638 | # CONFIG_CHELSIO_T1 is not set |
620 | # CONFIG_IXGB is not set | 639 | # CONFIG_IXGB is not set |
621 | # CONFIG_S2IO is not set | 640 | # CONFIG_S2IO is not set |
641 | # CONFIG_MYRI10GE is not set | ||
622 | 642 | ||
623 | # | 643 | # |
624 | # Token Ring devices | 644 | # Token Ring devices |
@@ -689,6 +709,7 @@ CONFIG_INPUT=y | |||
689 | CONFIG_VT=y | 709 | CONFIG_VT=y |
690 | CONFIG_VT_CONSOLE=y | 710 | CONFIG_VT_CONSOLE=y |
691 | CONFIG_HW_CONSOLE=y | 711 | CONFIG_HW_CONSOLE=y |
712 | CONFIG_VT_HW_CONSOLE_BINDING=y | ||
692 | # CONFIG_SERIAL_NONSTANDARD is not set | 713 | # CONFIG_SERIAL_NONSTANDARD is not set |
693 | 714 | ||
694 | # | 715 | # |
@@ -717,6 +738,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
717 | # Watchdog Cards | 738 | # Watchdog Cards |
718 | # | 739 | # |
719 | # CONFIG_WATCHDOG is not set | 740 | # CONFIG_WATCHDOG is not set |
741 | # CONFIG_HW_RANDOM is not set | ||
720 | # CONFIG_RTC is not set | 742 | # CONFIG_RTC is not set |
721 | # CONFIG_GEN_RTC is not set | 743 | # CONFIG_GEN_RTC is not set |
722 | # CONFIG_DTLK is not set | 744 | # CONFIG_DTLK is not set |
@@ -751,7 +773,6 @@ CONFIG_GPIO_VR41XX=y | |||
751 | # | 773 | # |
752 | # Dallas's 1-wire bus | 774 | # Dallas's 1-wire bus |
753 | # | 775 | # |
754 | # CONFIG_W1 is not set | ||
755 | 776 | ||
756 | # | 777 | # |
757 | # Hardware Monitoring support | 778 | # Hardware Monitoring support |
@@ -767,6 +788,7 @@ CONFIG_GPIO_VR41XX=y | |||
767 | # Multimedia devices | 788 | # Multimedia devices |
768 | # | 789 | # |
769 | # CONFIG_VIDEO_DEV is not set | 790 | # CONFIG_VIDEO_DEV is not set |
791 | CONFIG_VIDEO_V4L2=y | ||
770 | 792 | ||
771 | # | 793 | # |
772 | # Digital Video Broadcasting Devices | 794 | # Digital Video Broadcasting Devices |
@@ -777,12 +799,13 @@ CONFIG_GPIO_VR41XX=y | |||
777 | # | 799 | # |
778 | # Graphics support | 800 | # Graphics support |
779 | # | 801 | # |
802 | # CONFIG_FIRMWARE_EDID is not set | ||
780 | CONFIG_FB=y | 803 | CONFIG_FB=y |
781 | CONFIG_FB_CFB_FILLRECT=y | 804 | CONFIG_FB_CFB_FILLRECT=y |
782 | CONFIG_FB_CFB_COPYAREA=y | 805 | CONFIG_FB_CFB_COPYAREA=y |
783 | CONFIG_FB_CFB_IMAGEBLIT=y | 806 | CONFIG_FB_CFB_IMAGEBLIT=y |
784 | # CONFIG_FB_MACMODES is not set | 807 | # CONFIG_FB_MACMODES is not set |
785 | CONFIG_FB_FIRMWARE_EDID=y | 808 | # CONFIG_FB_BACKLIGHT is not set |
786 | # CONFIG_FB_MODE_HELPERS is not set | 809 | # CONFIG_FB_MODE_HELPERS is not set |
787 | # CONFIG_FB_TILEBLITTING is not set | 810 | # CONFIG_FB_TILEBLITTING is not set |
788 | # CONFIG_FB_CIRRUS is not set | 811 | # CONFIG_FB_CIRRUS is not set |
@@ -848,6 +871,7 @@ CONFIG_USB=m | |||
848 | CONFIG_USB_EHCI_HCD=m | 871 | CONFIG_USB_EHCI_HCD=m |
849 | # CONFIG_USB_EHCI_SPLIT_ISO is not set | 872 | # CONFIG_USB_EHCI_SPLIT_ISO is not set |
850 | # CONFIG_USB_EHCI_ROOT_HUB_TT is not set | 873 | # CONFIG_USB_EHCI_ROOT_HUB_TT is not set |
874 | # CONFIG_USB_EHCI_TT_NEWSCHED is not set | ||
851 | # CONFIG_USB_ISP116X_HCD is not set | 875 | # CONFIG_USB_ISP116X_HCD is not set |
852 | CONFIG_USB_OHCI_HCD=m | 876 | CONFIG_USB_OHCI_HCD=m |
853 | # CONFIG_USB_OHCI_BIG_ENDIAN is not set | 877 | # CONFIG_USB_OHCI_BIG_ENDIAN is not set |
@@ -943,10 +967,12 @@ CONFIG_USB_MON=y | |||
943 | # CONFIG_USB_LEGOTOWER is not set | 967 | # CONFIG_USB_LEGOTOWER is not set |
944 | # CONFIG_USB_LCD is not set | 968 | # CONFIG_USB_LCD is not set |
945 | # CONFIG_USB_LED is not set | 969 | # CONFIG_USB_LED is not set |
970 | # CONFIG_USB_CY7C63 is not set | ||
946 | # CONFIG_USB_CYTHERM is not set | 971 | # CONFIG_USB_CYTHERM is not set |
947 | # CONFIG_USB_PHIDGETKIT is not set | 972 | # CONFIG_USB_PHIDGETKIT is not set |
948 | # CONFIG_USB_PHIDGETSERVO is not set | 973 | # CONFIG_USB_PHIDGETSERVO is not set |
949 | # CONFIG_USB_IDMOUSE is not set | 974 | # CONFIG_USB_IDMOUSE is not set |
975 | # CONFIG_USB_APPLEDISPLAY is not set | ||
950 | # CONFIG_USB_SISUSBVGA is not set | 976 | # CONFIG_USB_SISUSBVGA is not set |
951 | # CONFIG_USB_LD is not set | 977 | # CONFIG_USB_LD is not set |
952 | 978 | ||
@@ -992,6 +1018,19 @@ CONFIG_USB_MON=y | |||
992 | # CONFIG_RTC_CLASS is not set | 1018 | # CONFIG_RTC_CLASS is not set |
993 | 1019 | ||
994 | # | 1020 | # |
1021 | # DMA Engine support | ||
1022 | # | ||
1023 | # CONFIG_DMA_ENGINE is not set | ||
1024 | |||
1025 | # | ||
1026 | # DMA Clients | ||
1027 | # | ||
1028 | |||
1029 | # | ||
1030 | # DMA Devices | ||
1031 | # | ||
1032 | |||
1033 | # | ||
995 | # File systems | 1034 | # File systems |
996 | # | 1035 | # |
997 | CONFIG_EXT2_FS=y | 1036 | CONFIG_EXT2_FS=y |
@@ -1016,6 +1055,7 @@ CONFIG_XFS_POSIX_ACL=y | |||
1016 | # CONFIG_MINIX_FS is not set | 1055 | # CONFIG_MINIX_FS is not set |
1017 | CONFIG_ROMFS_FS=m | 1056 | CONFIG_ROMFS_FS=m |
1018 | CONFIG_INOTIFY=y | 1057 | CONFIG_INOTIFY=y |
1058 | CONFIG_INOTIFY_USER=y | ||
1019 | # CONFIG_QUOTA is not set | 1059 | # CONFIG_QUOTA is not set |
1020 | CONFIG_QUOTACTL=y | 1060 | CONFIG_QUOTACTL=y |
1021 | # CONFIG_DNOTIFY is not set | 1061 | # CONFIG_DNOTIFY is not set |
@@ -1082,6 +1122,7 @@ CONFIG_SUNRPC=y | |||
1082 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 1122 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
1083 | # CONFIG_SMB_FS is not set | 1123 | # CONFIG_SMB_FS is not set |
1084 | # CONFIG_CIFS is not set | 1124 | # CONFIG_CIFS is not set |
1125 | # CONFIG_CIFS_DEBUG2 is not set | ||
1085 | # CONFIG_NCP_FS is not set | 1126 | # CONFIG_NCP_FS is not set |
1086 | # CONFIG_CODA_FS is not set | 1127 | # CONFIG_CODA_FS is not set |
1087 | # CONFIG_AFS_FS is not set | 1128 | # CONFIG_AFS_FS is not set |
@@ -1108,6 +1149,7 @@ CONFIG_MSDOS_PARTITION=y | |||
1108 | # | 1149 | # |
1109 | # CONFIG_PRINTK_TIME is not set | 1150 | # CONFIG_PRINTK_TIME is not set |
1110 | # CONFIG_MAGIC_SYSRQ is not set | 1151 | # CONFIG_MAGIC_SYSRQ is not set |
1152 | # CONFIG_UNUSED_SYMBOLS is not set | ||
1111 | # CONFIG_DEBUG_KERNEL is not set | 1153 | # CONFIG_DEBUG_KERNEL is not set |
1112 | CONFIG_LOG_BUF_SHIFT=14 | 1154 | CONFIG_LOG_BUF_SHIFT=14 |
1113 | # CONFIG_DEBUG_FS is not set | 1155 | # CONFIG_DEBUG_FS is not set |
@@ -1137,3 +1179,4 @@ CONFIG_CMDLINE="mem=64M console=ttyVR0,115200 ip=any root=/dev/nfs" | |||
1137 | CONFIG_CRC32=y | 1179 | CONFIG_CRC32=y |
1138 | # CONFIG_LIBCRC32C is not set | 1180 | # CONFIG_LIBCRC32C is not set |
1139 | CONFIG_ZLIB_INFLATE=m | 1181 | CONFIG_ZLIB_INFLATE=m |
1182 | CONFIG_PLIST=y | ||
diff --git a/arch/mips/configs/workpad_defconfig b/arch/mips/configs/workpad_defconfig index 68af54f746e1..4891d02ef8ca 100644 --- a/arch/mips/configs/workpad_defconfig +++ b/arch/mips/configs/workpad_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17-rc2 | 3 | # Linux kernel version: 2.6.18-rc1 |
4 | # Tue Apr 25 00:09:33 2006 | 4 | # Thu Jul 6 10:04:21 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -21,6 +21,7 @@ CONFIG_MIPS=y | |||
21 | # CONFIG_MIPS_DB1550 is not set | 21 | # CONFIG_MIPS_DB1550 is not set |
22 | # CONFIG_MIPS_DB1200 is not set | 22 | # CONFIG_MIPS_DB1200 is not set |
23 | # CONFIG_MIPS_MIRAGE is not set | 23 | # CONFIG_MIPS_MIRAGE is not set |
24 | # CONFIG_BASLER_EXCITE is not set | ||
24 | # CONFIG_MIPS_COBALT is not set | 25 | # CONFIG_MIPS_COBALT is not set |
25 | # CONFIG_MACH_DECSTATION is not set | 26 | # CONFIG_MACH_DECSTATION is not set |
26 | # CONFIG_MIPS_EV64120 is not set | 27 | # CONFIG_MIPS_EV64120 is not set |
@@ -32,6 +33,7 @@ CONFIG_MIPS=y | |||
32 | # CONFIG_MIPS_ATLAS is not set | 33 | # CONFIG_MIPS_ATLAS is not set |
33 | # CONFIG_MIPS_MALTA is not set | 34 | # CONFIG_MIPS_MALTA is not set |
34 | # CONFIG_MIPS_SEAD is not set | 35 | # CONFIG_MIPS_SEAD is not set |
36 | # CONFIG_WR_PPMC is not set | ||
35 | # CONFIG_MIPS_SIM is not set | 37 | # CONFIG_MIPS_SIM is not set |
36 | # CONFIG_MOMENCO_JAGUAR_ATX is not set | 38 | # CONFIG_MOMENCO_JAGUAR_ATX is not set |
37 | # CONFIG_MOMENCO_OCELOT is not set | 39 | # CONFIG_MOMENCO_OCELOT is not set |
@@ -45,6 +47,7 @@ CONFIG_MIPS=y | |||
45 | CONFIG_MACH_VR41XX=y | 47 | CONFIG_MACH_VR41XX=y |
46 | # CONFIG_PMC_YOSEMITE is not set | 48 | # CONFIG_PMC_YOSEMITE is not set |
47 | # CONFIG_QEMU is not set | 49 | # CONFIG_QEMU is not set |
50 | # CONFIG_MARKEINS is not set | ||
48 | # CONFIG_SGI_IP22 is not set | 51 | # CONFIG_SGI_IP22 is not set |
49 | # CONFIG_SGI_IP27 is not set | 52 | # CONFIG_SGI_IP27 is not set |
50 | # CONFIG_SGI_IP32 is not set | 53 | # CONFIG_SGI_IP32 is not set |
@@ -71,6 +74,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y | |||
71 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 74 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
72 | CONFIG_GENERIC_HWEIGHT=y | 75 | CONFIG_GENERIC_HWEIGHT=y |
73 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 76 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
77 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
74 | CONFIG_DMA_NONCOHERENT=y | 78 | CONFIG_DMA_NONCOHERENT=y |
75 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 79 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
76 | # CONFIG_CPU_BIG_ENDIAN is not set | 80 | # CONFIG_CPU_BIG_ENDIAN is not set |
@@ -115,7 +119,10 @@ CONFIG_PAGE_SIZE_4KB=y | |||
115 | # CONFIG_PAGE_SIZE_8KB is not set | 119 | # CONFIG_PAGE_SIZE_8KB is not set |
116 | # CONFIG_PAGE_SIZE_16KB is not set | 120 | # CONFIG_PAGE_SIZE_16KB is not set |
117 | # CONFIG_PAGE_SIZE_64KB is not set | 121 | # CONFIG_PAGE_SIZE_64KB is not set |
118 | # CONFIG_MIPS_MT is not set | 122 | CONFIG_MIPS_MT_DISABLED=y |
123 | # CONFIG_MIPS_MT_SMTC is not set | ||
124 | # CONFIG_MIPS_MT_SMP is not set | ||
125 | # CONFIG_MIPS_VPE_LOADER is not set | ||
119 | CONFIG_CPU_HAS_SYNC=y | 126 | CONFIG_CPU_HAS_SYNC=y |
120 | CONFIG_GENERIC_HARDIRQS=y | 127 | CONFIG_GENERIC_HARDIRQS=y |
121 | CONFIG_GENERIC_IRQ_PROBE=y | 128 | CONFIG_GENERIC_IRQ_PROBE=y |
@@ -128,6 +135,7 @@ CONFIG_FLATMEM=y | |||
128 | CONFIG_FLAT_NODE_MEM_MAP=y | 135 | CONFIG_FLAT_NODE_MEM_MAP=y |
129 | # CONFIG_SPARSEMEM_STATIC is not set | 136 | # CONFIG_SPARSEMEM_STATIC is not set |
130 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 137 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
138 | # CONFIG_RESOURCES_64BIT is not set | ||
131 | # CONFIG_HZ_48 is not set | 139 | # CONFIG_HZ_48 is not set |
132 | # CONFIG_HZ_100 is not set | 140 | # CONFIG_HZ_100 is not set |
133 | # CONFIG_HZ_128 is not set | 141 | # CONFIG_HZ_128 is not set |
@@ -140,6 +148,7 @@ CONFIG_HZ=1000 | |||
140 | CONFIG_PREEMPT_NONE=y | 148 | CONFIG_PREEMPT_NONE=y |
141 | # CONFIG_PREEMPT_VOLUNTARY is not set | 149 | # CONFIG_PREEMPT_VOLUNTARY is not set |
142 | # CONFIG_PREEMPT is not set | 150 | # CONFIG_PREEMPT is not set |
151 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
143 | 152 | ||
144 | # | 153 | # |
145 | # Code maturity level options | 154 | # Code maturity level options |
@@ -171,10 +180,12 @@ CONFIG_PRINTK=y | |||
171 | CONFIG_BUG=y | 180 | CONFIG_BUG=y |
172 | CONFIG_ELF_CORE=y | 181 | CONFIG_ELF_CORE=y |
173 | CONFIG_BASE_FULL=y | 182 | CONFIG_BASE_FULL=y |
183 | CONFIG_RT_MUTEXES=y | ||
174 | CONFIG_FUTEX=y | 184 | CONFIG_FUTEX=y |
175 | CONFIG_EPOLL=y | 185 | CONFIG_EPOLL=y |
176 | CONFIG_SHMEM=y | 186 | CONFIG_SHMEM=y |
177 | CONFIG_SLAB=y | 187 | CONFIG_SLAB=y |
188 | CONFIG_VM_EVENT_COUNTERS=y | ||
178 | # CONFIG_TINY_SHMEM is not set | 189 | # CONFIG_TINY_SHMEM is not set |
179 | CONFIG_BASE_SMALL=0 | 190 | CONFIG_BASE_SMALL=0 |
180 | # CONFIG_SLOB is not set | 191 | # CONFIG_SLOB is not set |
@@ -273,6 +284,8 @@ CONFIG_IP_FIB_HASH=y | |||
273 | # CONFIG_INET_IPCOMP is not set | 284 | # CONFIG_INET_IPCOMP is not set |
274 | # CONFIG_INET_XFRM_TUNNEL is not set | 285 | # CONFIG_INET_XFRM_TUNNEL is not set |
275 | # CONFIG_INET_TUNNEL is not set | 286 | # CONFIG_INET_TUNNEL is not set |
287 | CONFIG_INET_XFRM_MODE_TRANSPORT=m | ||
288 | CONFIG_INET_XFRM_MODE_TUNNEL=m | ||
276 | CONFIG_INET_DIAG=y | 289 | CONFIG_INET_DIAG=y |
277 | CONFIG_INET_TCP_DIAG=y | 290 | CONFIG_INET_TCP_DIAG=y |
278 | # CONFIG_TCP_CONG_ADVANCED is not set | 291 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -280,6 +293,7 @@ CONFIG_TCP_CONG_BIC=y | |||
280 | # CONFIG_IPV6 is not set | 293 | # CONFIG_IPV6 is not set |
281 | # CONFIG_INET6_XFRM_TUNNEL is not set | 294 | # CONFIG_INET6_XFRM_TUNNEL is not set |
282 | # CONFIG_INET6_TUNNEL is not set | 295 | # CONFIG_INET6_TUNNEL is not set |
296 | CONFIG_NETWORK_SECMARK=y | ||
283 | # CONFIG_NETFILTER is not set | 297 | # CONFIG_NETFILTER is not set |
284 | 298 | ||
285 | # | 299 | # |
@@ -334,6 +348,7 @@ CONFIG_WIRELESS_EXT=y | |||
334 | CONFIG_STANDALONE=y | 348 | CONFIG_STANDALONE=y |
335 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 349 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
336 | CONFIG_FW_LOADER=y | 350 | CONFIG_FW_LOADER=y |
351 | # CONFIG_SYS_HYPERVISOR is not set | ||
337 | 352 | ||
338 | # | 353 | # |
339 | # Connector - unified userspace <-> kernelspace linker | 354 | # Connector - unified userspace <-> kernelspace linker |
@@ -452,6 +467,8 @@ CONFIG_DAVICOM_PHY=m | |||
452 | CONFIG_QSEMI_PHY=m | 467 | CONFIG_QSEMI_PHY=m |
453 | CONFIG_LXT_PHY=m | 468 | CONFIG_LXT_PHY=m |
454 | CONFIG_CICADA_PHY=m | 469 | CONFIG_CICADA_PHY=m |
470 | CONFIG_VITESSE_PHY=m | ||
471 | CONFIG_SMSC_PHY=m | ||
455 | 472 | ||
456 | # | 473 | # |
457 | # Ethernet (10 or 100Mbit) | 474 | # Ethernet (10 or 100Mbit) |
@@ -586,6 +603,7 @@ CONFIG_INPUT=y | |||
586 | CONFIG_VT=y | 603 | CONFIG_VT=y |
587 | CONFIG_VT_CONSOLE=y | 604 | CONFIG_VT_CONSOLE=y |
588 | CONFIG_HW_CONSOLE=y | 605 | CONFIG_HW_CONSOLE=y |
606 | CONFIG_VT_HW_CONSOLE_BINDING=y | ||
589 | # CONFIG_SERIAL_NONSTANDARD is not set | 607 | # CONFIG_SERIAL_NONSTANDARD is not set |
590 | 608 | ||
591 | # | 609 | # |
@@ -613,6 +631,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
613 | # Watchdog Cards | 631 | # Watchdog Cards |
614 | # | 632 | # |
615 | # CONFIG_WATCHDOG is not set | 633 | # CONFIG_WATCHDOG is not set |
634 | # CONFIG_HW_RANDOM is not set | ||
616 | # CONFIG_RTC is not set | 635 | # CONFIG_RTC is not set |
617 | # CONFIG_GEN_RTC is not set | 636 | # CONFIG_GEN_RTC is not set |
618 | # CONFIG_DTLK is not set | 637 | # CONFIG_DTLK is not set |
@@ -667,6 +686,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
667 | # Multimedia devices | 686 | # Multimedia devices |
668 | # | 687 | # |
669 | # CONFIG_VIDEO_DEV is not set | 688 | # CONFIG_VIDEO_DEV is not set |
689 | CONFIG_VIDEO_V4L2=y | ||
670 | 690 | ||
671 | # | 691 | # |
672 | # Digital Video Broadcasting Devices | 692 | # Digital Video Broadcasting Devices |
@@ -676,6 +696,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
676 | # | 696 | # |
677 | # Graphics support | 697 | # Graphics support |
678 | # | 698 | # |
699 | # CONFIG_FIRMWARE_EDID is not set | ||
679 | # CONFIG_FB is not set | 700 | # CONFIG_FB is not set |
680 | 701 | ||
681 | # | 702 | # |
@@ -738,6 +759,19 @@ CONFIG_DUMMY_CONSOLE=y | |||
738 | # CONFIG_RTC_CLASS is not set | 759 | # CONFIG_RTC_CLASS is not set |
739 | 760 | ||
740 | # | 761 | # |
762 | # DMA Engine support | ||
763 | # | ||
764 | # CONFIG_DMA_ENGINE is not set | ||
765 | |||
766 | # | ||
767 | # DMA Clients | ||
768 | # | ||
769 | |||
770 | # | ||
771 | # DMA Devices | ||
772 | # | ||
773 | |||
774 | # | ||
741 | # File systems | 775 | # File systems |
742 | # | 776 | # |
743 | CONFIG_EXT2_FS=y | 777 | CONFIG_EXT2_FS=y |
@@ -755,6 +789,7 @@ CONFIG_FS_POSIX_ACL=y | |||
755 | # CONFIG_MINIX_FS is not set | 789 | # CONFIG_MINIX_FS is not set |
756 | # CONFIG_ROMFS_FS is not set | 790 | # CONFIG_ROMFS_FS is not set |
757 | CONFIG_INOTIFY=y | 791 | CONFIG_INOTIFY=y |
792 | CONFIG_INOTIFY_USER=y | ||
758 | # CONFIG_QUOTA is not set | 793 | # CONFIG_QUOTA is not set |
759 | CONFIG_DNOTIFY=y | 794 | CONFIG_DNOTIFY=y |
760 | # CONFIG_AUTOFS_FS is not set | 795 | # CONFIG_AUTOFS_FS is not set |
@@ -820,6 +855,7 @@ CONFIG_SUNRPC=y | |||
820 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 855 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
821 | # CONFIG_SMB_FS is not set | 856 | # CONFIG_SMB_FS is not set |
822 | # CONFIG_CIFS is not set | 857 | # CONFIG_CIFS is not set |
858 | # CONFIG_CIFS_DEBUG2 is not set | ||
823 | # CONFIG_NCP_FS is not set | 859 | # CONFIG_NCP_FS is not set |
824 | # CONFIG_CODA_FS is not set | 860 | # CONFIG_CODA_FS is not set |
825 | # CONFIG_AFS_FS is not set | 861 | # CONFIG_AFS_FS is not set |
@@ -846,6 +882,7 @@ CONFIG_MSDOS_PARTITION=y | |||
846 | # | 882 | # |
847 | # CONFIG_PRINTK_TIME is not set | 883 | # CONFIG_PRINTK_TIME is not set |
848 | # CONFIG_MAGIC_SYSRQ is not set | 884 | # CONFIG_MAGIC_SYSRQ is not set |
885 | # CONFIG_UNUSED_SYMBOLS is not set | ||
849 | # CONFIG_DEBUG_KERNEL is not set | 886 | # CONFIG_DEBUG_KERNEL is not set |
850 | CONFIG_LOG_BUF_SHIFT=14 | 887 | CONFIG_LOG_BUF_SHIFT=14 |
851 | # CONFIG_DEBUG_FS is not set | 888 | # CONFIG_DEBUG_FS is not set |
@@ -874,3 +911,4 @@ CONFIG_CMDLINE="console=ttyVR0,19200 mem=16M" | |||
874 | # CONFIG_CRC16 is not set | 911 | # CONFIG_CRC16 is not set |
875 | CONFIG_CRC32=y | 912 | CONFIG_CRC32=y |
876 | # CONFIG_LIBCRC32C is not set | 913 | # CONFIG_LIBCRC32C is not set |
914 | CONFIG_PLIST=y | ||
diff --git a/arch/mips/configs/wrppmc_defconfig b/arch/mips/configs/wrppmc_defconfig index 40572a3c8cac..3e4b16b39827 100644 --- a/arch/mips/configs/wrppmc_defconfig +++ b/arch/mips/configs/wrppmc_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.16.11 | 3 | # Linux kernel version: 2.6.18-rc1 |
4 | # Fri May 5 17:11:22 2006 | 4 | # Thu Jul 6 10:04:21 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -21,6 +21,7 @@ CONFIG_MIPS=y | |||
21 | # CONFIG_MIPS_DB1550 is not set | 21 | # CONFIG_MIPS_DB1550 is not set |
22 | # CONFIG_MIPS_DB1200 is not set | 22 | # CONFIG_MIPS_DB1200 is not set |
23 | # CONFIG_MIPS_MIRAGE is not set | 23 | # CONFIG_MIPS_MIRAGE is not set |
24 | # CONFIG_BASLER_EXCITE is not set | ||
24 | # CONFIG_MIPS_COBALT is not set | 25 | # CONFIG_MIPS_COBALT is not set |
25 | # CONFIG_MACH_DECSTATION is not set | 26 | # CONFIG_MACH_DECSTATION is not set |
26 | # CONFIG_MIPS_EV64120 is not set | 27 | # CONFIG_MIPS_EV64120 is not set |
@@ -46,6 +47,7 @@ CONFIG_WR_PPMC=y | |||
46 | # CONFIG_MACH_VR41XX is not set | 47 | # CONFIG_MACH_VR41XX is not set |
47 | # CONFIG_PMC_YOSEMITE is not set | 48 | # CONFIG_PMC_YOSEMITE is not set |
48 | # CONFIG_QEMU is not set | 49 | # CONFIG_QEMU is not set |
50 | # CONFIG_MARKEINS is not set | ||
49 | # CONFIG_SGI_IP22 is not set | 51 | # CONFIG_SGI_IP22 is not set |
50 | # CONFIG_SGI_IP27 is not set | 52 | # CONFIG_SGI_IP27 is not set |
51 | # CONFIG_SGI_IP32 is not set | 53 | # CONFIG_SGI_IP32 is not set |
@@ -63,7 +65,10 @@ CONFIG_WR_PPMC=y | |||
63 | # CONFIG_TOSHIBA_RBTX4927 is not set | 65 | # CONFIG_TOSHIBA_RBTX4927 is not set |
64 | # CONFIG_TOSHIBA_RBTX4938 is not set | 66 | # CONFIG_TOSHIBA_RBTX4938 is not set |
65 | CONFIG_RWSEM_GENERIC_SPINLOCK=y | 67 | CONFIG_RWSEM_GENERIC_SPINLOCK=y |
68 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
69 | CONFIG_GENERIC_HWEIGHT=y | ||
66 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 70 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
71 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
67 | CONFIG_DMA_NONCOHERENT=y | 72 | CONFIG_DMA_NONCOHERENT=y |
68 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 73 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
69 | CONFIG_CPU_BIG_ENDIAN=y | 74 | CONFIG_CPU_BIG_ENDIAN=y |
@@ -119,9 +124,11 @@ CONFIG_PAGE_SIZE_4KB=y | |||
119 | # CONFIG_PAGE_SIZE_16KB is not set | 124 | # CONFIG_PAGE_SIZE_16KB is not set |
120 | # CONFIG_PAGE_SIZE_64KB is not set | 125 | # CONFIG_PAGE_SIZE_64KB is not set |
121 | CONFIG_CPU_HAS_PREFETCH=y | 126 | CONFIG_CPU_HAS_PREFETCH=y |
122 | # CONFIG_MIPS_MT is not set | 127 | CONFIG_MIPS_MT_DISABLED=y |
128 | # CONFIG_MIPS_MT_SMTC is not set | ||
129 | # CONFIG_MIPS_MT_SMP is not set | ||
130 | # CONFIG_MIPS_VPE_LOADER is not set | ||
123 | # CONFIG_64BIT_PHYS_ADDR is not set | 131 | # CONFIG_64BIT_PHYS_ADDR is not set |
124 | # CONFIG_CPU_ADVANCED is not set | ||
125 | CONFIG_CPU_HAS_LLSC=y | 132 | CONFIG_CPU_HAS_LLSC=y |
126 | CONFIG_CPU_HAS_SYNC=y | 133 | CONFIG_CPU_HAS_SYNC=y |
127 | CONFIG_GENERIC_HARDIRQS=y | 134 | CONFIG_GENERIC_HARDIRQS=y |
@@ -136,6 +143,7 @@ CONFIG_FLATMEM=y | |||
136 | CONFIG_FLAT_NODE_MEM_MAP=y | 143 | CONFIG_FLAT_NODE_MEM_MAP=y |
137 | # CONFIG_SPARSEMEM_STATIC is not set | 144 | # CONFIG_SPARSEMEM_STATIC is not set |
138 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 145 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
146 | # CONFIG_RESOURCES_64BIT is not set | ||
139 | # CONFIG_HZ_48 is not set | 147 | # CONFIG_HZ_48 is not set |
140 | # CONFIG_HZ_100 is not set | 148 | # CONFIG_HZ_100 is not set |
141 | # CONFIG_HZ_128 is not set | 149 | # CONFIG_HZ_128 is not set |
@@ -148,6 +156,7 @@ CONFIG_HZ=1000 | |||
148 | CONFIG_PREEMPT_NONE=y | 156 | CONFIG_PREEMPT_NONE=y |
149 | # CONFIG_PREEMPT_VOLUNTARY is not set | 157 | # CONFIG_PREEMPT_VOLUNTARY is not set |
150 | # CONFIG_PREEMPT is not set | 158 | # CONFIG_PREEMPT is not set |
159 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
151 | 160 | ||
152 | # | 161 | # |
153 | # Code maturity level options | 162 | # Code maturity level options |
@@ -169,6 +178,7 @@ CONFIG_BSD_PROCESS_ACCT=y | |||
169 | CONFIG_SYSCTL=y | 178 | CONFIG_SYSCTL=y |
170 | # CONFIG_AUDIT is not set | 179 | # CONFIG_AUDIT is not set |
171 | # CONFIG_IKCONFIG is not set | 180 | # CONFIG_IKCONFIG is not set |
181 | # CONFIG_RELAY is not set | ||
172 | CONFIG_INITRAMFS_SOURCE="" | 182 | CONFIG_INITRAMFS_SOURCE="" |
173 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | 183 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set |
174 | CONFIG_EMBEDDED=y | 184 | CONFIG_EMBEDDED=y |
@@ -179,14 +189,12 @@ CONFIG_PRINTK=y | |||
179 | CONFIG_BUG=y | 189 | CONFIG_BUG=y |
180 | CONFIG_ELF_CORE=y | 190 | CONFIG_ELF_CORE=y |
181 | CONFIG_BASE_FULL=y | 191 | CONFIG_BASE_FULL=y |
192 | CONFIG_RT_MUTEXES=y | ||
182 | CONFIG_FUTEX=y | 193 | CONFIG_FUTEX=y |
183 | # CONFIG_EPOLL is not set | 194 | # CONFIG_EPOLL is not set |
184 | CONFIG_SHMEM=y | 195 | CONFIG_SHMEM=y |
185 | CONFIG_CC_ALIGN_FUNCTIONS=0 | ||
186 | CONFIG_CC_ALIGN_LABELS=0 | ||
187 | CONFIG_CC_ALIGN_LOOPS=0 | ||
188 | CONFIG_CC_ALIGN_JUMPS=0 | ||
189 | CONFIG_SLAB=y | 196 | CONFIG_SLAB=y |
197 | CONFIG_VM_EVENT_COUNTERS=y | ||
190 | # CONFIG_TINY_SHMEM is not set | 198 | # CONFIG_TINY_SHMEM is not set |
191 | CONFIG_BASE_SMALL=0 | 199 | CONFIG_BASE_SMALL=0 |
192 | # CONFIG_SLOB is not set | 200 | # CONFIG_SLOB is not set |
@@ -197,7 +205,6 @@ CONFIG_BASE_SMALL=0 | |||
197 | CONFIG_MODULES=y | 205 | CONFIG_MODULES=y |
198 | CONFIG_MODULE_UNLOAD=y | 206 | CONFIG_MODULE_UNLOAD=y |
199 | # CONFIG_MODULE_FORCE_UNLOAD is not set | 207 | # CONFIG_MODULE_FORCE_UNLOAD is not set |
200 | CONFIG_OBSOLETE_MODPARM=y | ||
201 | CONFIG_MODVERSIONS=y | 208 | CONFIG_MODVERSIONS=y |
202 | CONFIG_MODULE_SRCVERSION_ALL=y | 209 | CONFIG_MODULE_SRCVERSION_ALL=y |
203 | # CONFIG_KMOD is not set | 210 | # CONFIG_KMOD is not set |
@@ -206,6 +213,8 @@ CONFIG_MODULE_SRCVERSION_ALL=y | |||
206 | # Block layer | 213 | # Block layer |
207 | # | 214 | # |
208 | # CONFIG_LBD is not set | 215 | # CONFIG_LBD is not set |
216 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
217 | # CONFIG_LSF is not set | ||
209 | 218 | ||
210 | # | 219 | # |
211 | # IO Schedulers | 220 | # IO Schedulers |
@@ -225,7 +234,6 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | |||
225 | # | 234 | # |
226 | CONFIG_HW_HAS_PCI=y | 235 | CONFIG_HW_HAS_PCI=y |
227 | CONFIG_PCI=y | 236 | CONFIG_PCI=y |
228 | CONFIG_PCI_LEGACY_PROC=y | ||
229 | CONFIG_MMU=y | 237 | CONFIG_MMU=y |
230 | 238 | ||
231 | # | 239 | # |
@@ -260,6 +268,8 @@ CONFIG_NET=y | |||
260 | CONFIG_PACKET=y | 268 | CONFIG_PACKET=y |
261 | CONFIG_PACKET_MMAP=y | 269 | CONFIG_PACKET_MMAP=y |
262 | CONFIG_UNIX=y | 270 | CONFIG_UNIX=y |
271 | CONFIG_XFRM=y | ||
272 | # CONFIG_XFRM_USER is not set | ||
263 | # CONFIG_NET_KEY is not set | 273 | # CONFIG_NET_KEY is not set |
264 | CONFIG_INET=y | 274 | CONFIG_INET=y |
265 | CONFIG_IP_MULTICAST=y | 275 | CONFIG_IP_MULTICAST=y |
@@ -279,12 +289,18 @@ CONFIG_ARPD=y | |||
279 | # CONFIG_INET_AH is not set | 289 | # CONFIG_INET_AH is not set |
280 | # CONFIG_INET_ESP is not set | 290 | # CONFIG_INET_ESP is not set |
281 | # CONFIG_INET_IPCOMP is not set | 291 | # CONFIG_INET_IPCOMP is not set |
292 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
282 | # CONFIG_INET_TUNNEL is not set | 293 | # CONFIG_INET_TUNNEL is not set |
294 | CONFIG_INET_XFRM_MODE_TRANSPORT=m | ||
295 | CONFIG_INET_XFRM_MODE_TUNNEL=m | ||
283 | CONFIG_INET_DIAG=y | 296 | CONFIG_INET_DIAG=y |
284 | CONFIG_INET_TCP_DIAG=y | 297 | CONFIG_INET_TCP_DIAG=y |
285 | # CONFIG_TCP_CONG_ADVANCED is not set | 298 | # CONFIG_TCP_CONG_ADVANCED is not set |
286 | CONFIG_TCP_CONG_BIC=y | 299 | CONFIG_TCP_CONG_BIC=y |
287 | # CONFIG_IPV6 is not set | 300 | # CONFIG_IPV6 is not set |
301 | # CONFIG_INET6_XFRM_TUNNEL is not set | ||
302 | # CONFIG_INET6_TUNNEL is not set | ||
303 | CONFIG_NETWORK_SECMARK=y | ||
288 | # CONFIG_NETFILTER is not set | 304 | # CONFIG_NETFILTER is not set |
289 | 305 | ||
290 | # | 306 | # |
@@ -338,6 +354,7 @@ CONFIG_TCP_CONG_BIC=y | |||
338 | CONFIG_STANDALONE=y | 354 | CONFIG_STANDALONE=y |
339 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 355 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
340 | # CONFIG_FW_LOADER is not set | 356 | # CONFIG_FW_LOADER is not set |
357 | # CONFIG_SYS_HYPERVISOR is not set | ||
341 | 358 | ||
342 | # | 359 | # |
343 | # Connector - unified userspace <-> kernelspace linker | 360 | # Connector - unified userspace <-> kernelspace linker |
@@ -434,6 +451,8 @@ CONFIG_PHYLIB=y | |||
434 | # CONFIG_QSEMI_PHY is not set | 451 | # CONFIG_QSEMI_PHY is not set |
435 | # CONFIG_LXT_PHY is not set | 452 | # CONFIG_LXT_PHY is not set |
436 | # CONFIG_CICADA_PHY is not set | 453 | # CONFIG_CICADA_PHY is not set |
454 | CONFIG_VITESSE_PHY=m | ||
455 | CONFIG_SMSC_PHY=m | ||
437 | 456 | ||
438 | # | 457 | # |
439 | # Ethernet (10 or 100Mbit) | 458 | # Ethernet (10 or 100Mbit) |
@@ -496,6 +515,7 @@ CONFIG_E100=y | |||
496 | # CONFIG_CHELSIO_T1 is not set | 515 | # CONFIG_CHELSIO_T1 is not set |
497 | # CONFIG_IXGB is not set | 516 | # CONFIG_IXGB is not set |
498 | # CONFIG_S2IO is not set | 517 | # CONFIG_S2IO is not set |
518 | # CONFIG_MYRI10GE is not set | ||
499 | 519 | ||
500 | # | 520 | # |
501 | # Token Ring devices | 521 | # Token Ring devices |
@@ -552,6 +572,7 @@ CONFIG_E100=y | |||
552 | # | 572 | # |
553 | CONFIG_SERIAL_8250=y | 573 | CONFIG_SERIAL_8250=y |
554 | CONFIG_SERIAL_8250_CONSOLE=y | 574 | CONFIG_SERIAL_8250_CONSOLE=y |
575 | CONFIG_SERIAL_8250_PCI=y | ||
555 | CONFIG_SERIAL_8250_NR_UARTS=1 | 576 | CONFIG_SERIAL_8250_NR_UARTS=1 |
556 | CONFIG_SERIAL_8250_RUNTIME_UARTS=1 | 577 | CONFIG_SERIAL_8250_RUNTIME_UARTS=1 |
557 | # CONFIG_SERIAL_8250_EXTENDED is not set | 578 | # CONFIG_SERIAL_8250_EXTENDED is not set |
@@ -575,6 +596,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
575 | # Watchdog Cards | 596 | # Watchdog Cards |
576 | # | 597 | # |
577 | # CONFIG_WATCHDOG is not set | 598 | # CONFIG_WATCHDOG is not set |
599 | # CONFIG_HW_RANDOM is not set | ||
578 | CONFIG_RTC=y | 600 | CONFIG_RTC=y |
579 | # CONFIG_DTLK is not set | 601 | # CONFIG_DTLK is not set |
580 | # CONFIG_R3964 is not set | 602 | # CONFIG_R3964 is not set |
@@ -606,13 +628,13 @@ CONFIG_RTC=y | |||
606 | # | 628 | # |
607 | # Dallas's 1-wire bus | 629 | # Dallas's 1-wire bus |
608 | # | 630 | # |
609 | # CONFIG_W1 is not set | ||
610 | 631 | ||
611 | # | 632 | # |
612 | # Hardware Monitoring support | 633 | # Hardware Monitoring support |
613 | # | 634 | # |
614 | CONFIG_HWMON=y | 635 | CONFIG_HWMON=y |
615 | # CONFIG_HWMON_VID is not set | 636 | # CONFIG_HWMON_VID is not set |
637 | # CONFIG_SENSORS_ABITUGURU is not set | ||
616 | # CONFIG_SENSORS_F71805F is not set | 638 | # CONFIG_SENSORS_F71805F is not set |
617 | # CONFIG_HWMON_DEBUG_CHIP is not set | 639 | # CONFIG_HWMON_DEBUG_CHIP is not set |
618 | 640 | ||
@@ -621,13 +643,10 @@ CONFIG_HWMON=y | |||
621 | # | 643 | # |
622 | 644 | ||
623 | # | 645 | # |
624 | # Multimedia Capabilities Port drivers | ||
625 | # | ||
626 | |||
627 | # | ||
628 | # Multimedia devices | 646 | # Multimedia devices |
629 | # | 647 | # |
630 | # CONFIG_VIDEO_DEV is not set | 648 | # CONFIG_VIDEO_DEV is not set |
649 | CONFIG_VIDEO_V4L2=y | ||
631 | 650 | ||
632 | # | 651 | # |
633 | # Digital Video Broadcasting Devices | 652 | # Digital Video Broadcasting Devices |
@@ -637,6 +656,7 @@ CONFIG_HWMON=y | |||
637 | # | 656 | # |
638 | # Graphics support | 657 | # Graphics support |
639 | # | 658 | # |
659 | # CONFIG_FIRMWARE_EDID is not set | ||
640 | # CONFIG_FB is not set | 660 | # CONFIG_FB is not set |
641 | 661 | ||
642 | # | 662 | # |
@@ -649,6 +669,7 @@ CONFIG_HWMON=y | |||
649 | # | 669 | # |
650 | CONFIG_USB_ARCH_HAS_HCD=y | 670 | CONFIG_USB_ARCH_HAS_HCD=y |
651 | CONFIG_USB_ARCH_HAS_OHCI=y | 671 | CONFIG_USB_ARCH_HAS_OHCI=y |
672 | CONFIG_USB_ARCH_HAS_EHCI=y | ||
652 | # CONFIG_USB is not set | 673 | # CONFIG_USB is not set |
653 | 674 | ||
654 | # | 675 | # |
@@ -666,6 +687,19 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
666 | # CONFIG_MMC is not set | 687 | # CONFIG_MMC is not set |
667 | 688 | ||
668 | # | 689 | # |
690 | # LED devices | ||
691 | # | ||
692 | # CONFIG_NEW_LEDS is not set | ||
693 | |||
694 | # | ||
695 | # LED drivers | ||
696 | # | ||
697 | |||
698 | # | ||
699 | # LED Triggers | ||
700 | # | ||
701 | |||
702 | # | ||
669 | # InfiniBand support | 703 | # InfiniBand support |
670 | # | 704 | # |
671 | # CONFIG_INFINIBAND is not set | 705 | # CONFIG_INFINIBAND is not set |
@@ -675,6 +709,24 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
675 | # | 709 | # |
676 | 710 | ||
677 | # | 711 | # |
712 | # Real Time Clock | ||
713 | # | ||
714 | # CONFIG_RTC_CLASS is not set | ||
715 | |||
716 | # | ||
717 | # DMA Engine support | ||
718 | # | ||
719 | # CONFIG_DMA_ENGINE is not set | ||
720 | |||
721 | # | ||
722 | # DMA Clients | ||
723 | # | ||
724 | |||
725 | # | ||
726 | # DMA Devices | ||
727 | # | ||
728 | |||
729 | # | ||
678 | # File systems | 730 | # File systems |
679 | # | 731 | # |
680 | # CONFIG_EXT2_FS is not set | 732 | # CONFIG_EXT2_FS is not set |
@@ -687,6 +739,7 @@ CONFIG_USB_ARCH_HAS_OHCI=y | |||
687 | # CONFIG_MINIX_FS is not set | 739 | # CONFIG_MINIX_FS is not set |
688 | # CONFIG_ROMFS_FS is not set | 740 | # CONFIG_ROMFS_FS is not set |
689 | CONFIG_INOTIFY=y | 741 | CONFIG_INOTIFY=y |
742 | CONFIG_INOTIFY_USER=y | ||
690 | # CONFIG_QUOTA is not set | 743 | # CONFIG_QUOTA is not set |
691 | CONFIG_DNOTIFY=y | 744 | CONFIG_DNOTIFY=y |
692 | # CONFIG_AUTOFS_FS is not set | 745 | # CONFIG_AUTOFS_FS is not set |
@@ -715,7 +768,6 @@ CONFIG_SYSFS=y | |||
715 | CONFIG_TMPFS=y | 768 | CONFIG_TMPFS=y |
716 | # CONFIG_HUGETLB_PAGE is not set | 769 | # CONFIG_HUGETLB_PAGE is not set |
717 | CONFIG_RAMFS=y | 770 | CONFIG_RAMFS=y |
718 | # CONFIG_RELAYFS_FS is not set | ||
719 | # CONFIG_CONFIGFS_FS is not set | 771 | # CONFIG_CONFIGFS_FS is not set |
720 | 772 | ||
721 | # | 773 | # |
@@ -753,6 +805,7 @@ CONFIG_SUNRPC=y | |||
753 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | 805 | # CONFIG_RPCSEC_GSS_SPKM3 is not set |
754 | # CONFIG_SMB_FS is not set | 806 | # CONFIG_SMB_FS is not set |
755 | # CONFIG_CIFS is not set | 807 | # CONFIG_CIFS is not set |
808 | # CONFIG_CIFS_DEBUG2 is not set | ||
756 | # CONFIG_NCP_FS is not set | 809 | # CONFIG_NCP_FS is not set |
757 | # CONFIG_CODA_FS is not set | 810 | # CONFIG_CODA_FS is not set |
758 | # CONFIG_AFS_FS is not set | 811 | # CONFIG_AFS_FS is not set |
@@ -779,8 +832,10 @@ CONFIG_MSDOS_PARTITION=y | |||
779 | # | 832 | # |
780 | # CONFIG_PRINTK_TIME is not set | 833 | # CONFIG_PRINTK_TIME is not set |
781 | # CONFIG_MAGIC_SYSRQ is not set | 834 | # CONFIG_MAGIC_SYSRQ is not set |
835 | # CONFIG_UNUSED_SYMBOLS is not set | ||
782 | # CONFIG_DEBUG_KERNEL is not set | 836 | # CONFIG_DEBUG_KERNEL is not set |
783 | CONFIG_LOG_BUF_SHIFT=14 | 837 | CONFIG_LOG_BUF_SHIFT=14 |
838 | # CONFIG_DEBUG_FS is not set | ||
784 | CONFIG_CROSSCOMPILE=y | 839 | CONFIG_CROSSCOMPILE=y |
785 | CONFIG_CMDLINE="console=ttyS0,115200n8" | 840 | CONFIG_CMDLINE="console=ttyS0,115200n8" |
786 | 841 | ||
@@ -806,3 +861,4 @@ CONFIG_CRC_CCITT=y | |||
806 | CONFIG_CRC16=y | 861 | CONFIG_CRC16=y |
807 | CONFIG_CRC32=y | 862 | CONFIG_CRC32=y |
808 | CONFIG_LIBCRC32C=y | 863 | CONFIG_LIBCRC32C=y |
864 | CONFIG_PLIST=y | ||
diff --git a/arch/mips/configs/yosemite_defconfig b/arch/mips/configs/yosemite_defconfig index 7ece2c008e9b..3a68d8a25b66 100644 --- a/arch/mips/configs/yosemite_defconfig +++ b/arch/mips/configs/yosemite_defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17-rc2 | 3 | # Linux kernel version: 2.6.18-rc1 |
4 | # Mon Apr 24 14:51:20 2006 | 4 | # Thu Jul 6 10:04:21 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -21,6 +21,7 @@ CONFIG_MIPS=y | |||
21 | # CONFIG_MIPS_DB1550 is not set | 21 | # CONFIG_MIPS_DB1550 is not set |
22 | # CONFIG_MIPS_DB1200 is not set | 22 | # CONFIG_MIPS_DB1200 is not set |
23 | # CONFIG_MIPS_MIRAGE is not set | 23 | # CONFIG_MIPS_MIRAGE is not set |
24 | # CONFIG_BASLER_EXCITE is not set | ||
24 | # CONFIG_MIPS_COBALT is not set | 25 | # CONFIG_MIPS_COBALT is not set |
25 | # CONFIG_MACH_DECSTATION is not set | 26 | # CONFIG_MACH_DECSTATION is not set |
26 | # CONFIG_MIPS_EV64120 is not set | 27 | # CONFIG_MIPS_EV64120 is not set |
@@ -32,6 +33,7 @@ CONFIG_MIPS=y | |||
32 | # CONFIG_MIPS_ATLAS is not set | 33 | # CONFIG_MIPS_ATLAS is not set |
33 | # CONFIG_MIPS_MALTA is not set | 34 | # CONFIG_MIPS_MALTA is not set |
34 | # CONFIG_MIPS_SEAD is not set | 35 | # CONFIG_MIPS_SEAD is not set |
36 | # CONFIG_WR_PPMC is not set | ||
35 | # CONFIG_MIPS_SIM is not set | 37 | # CONFIG_MIPS_SIM is not set |
36 | # CONFIG_MOMENCO_JAGUAR_ATX is not set | 38 | # CONFIG_MOMENCO_JAGUAR_ATX is not set |
37 | # CONFIG_MOMENCO_OCELOT is not set | 39 | # CONFIG_MOMENCO_OCELOT is not set |
@@ -45,6 +47,7 @@ CONFIG_MIPS=y | |||
45 | # CONFIG_MACH_VR41XX is not set | 47 | # CONFIG_MACH_VR41XX is not set |
46 | CONFIG_PMC_YOSEMITE=y | 48 | CONFIG_PMC_YOSEMITE=y |
47 | # CONFIG_QEMU is not set | 49 | # CONFIG_QEMU is not set |
50 | # CONFIG_MARKEINS is not set | ||
48 | # CONFIG_SGI_IP22 is not set | 51 | # CONFIG_SGI_IP22 is not set |
49 | # CONFIG_SGI_IP27 is not set | 52 | # CONFIG_SGI_IP27 is not set |
50 | # CONFIG_SGI_IP32 is not set | 53 | # CONFIG_SGI_IP32 is not set |
@@ -66,6 +69,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y | |||
66 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 69 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
67 | CONFIG_GENERIC_HWEIGHT=y | 70 | CONFIG_GENERIC_HWEIGHT=y |
68 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 71 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
72 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
69 | CONFIG_DMA_COHERENT=y | 73 | CONFIG_DMA_COHERENT=y |
70 | CONFIG_CPU_BIG_ENDIAN=y | 74 | CONFIG_CPU_BIG_ENDIAN=y |
71 | # CONFIG_CPU_LITTLE_ENDIAN is not set | 75 | # CONFIG_CPU_LITTLE_ENDIAN is not set |
@@ -114,12 +118,16 @@ CONFIG_PAGE_SIZE_4KB=y | |||
114 | # CONFIG_PAGE_SIZE_16KB is not set | 118 | # CONFIG_PAGE_SIZE_16KB is not set |
115 | # CONFIG_PAGE_SIZE_64KB is not set | 119 | # CONFIG_PAGE_SIZE_64KB is not set |
116 | CONFIG_CPU_HAS_PREFETCH=y | 120 | CONFIG_CPU_HAS_PREFETCH=y |
117 | # CONFIG_MIPS_MT is not set | 121 | CONFIG_MIPS_MT_DISABLED=y |
122 | # CONFIG_MIPS_MT_SMTC is not set | ||
123 | # CONFIG_MIPS_MT_SMP is not set | ||
124 | # CONFIG_MIPS_VPE_LOADER is not set | ||
118 | # CONFIG_64BIT_PHYS_ADDR is not set | 125 | # CONFIG_64BIT_PHYS_ADDR is not set |
119 | CONFIG_CPU_HAS_LLSC=y | 126 | CONFIG_CPU_HAS_LLSC=y |
120 | CONFIG_CPU_HAS_SYNC=y | 127 | CONFIG_CPU_HAS_SYNC=y |
121 | CONFIG_GENERIC_HARDIRQS=y | 128 | CONFIG_GENERIC_HARDIRQS=y |
122 | CONFIG_GENERIC_IRQ_PROBE=y | 129 | CONFIG_GENERIC_IRQ_PROBE=y |
130 | CONFIG_IRQ_PER_CPU=y | ||
123 | CONFIG_HIGHMEM=y | 131 | CONFIG_HIGHMEM=y |
124 | CONFIG_CPU_SUPPORTS_HIGHMEM=y | 132 | CONFIG_CPU_SUPPORTS_HIGHMEM=y |
125 | CONFIG_SYS_SUPPORTS_HIGHMEM=y | 133 | CONFIG_SYS_SUPPORTS_HIGHMEM=y |
@@ -128,6 +136,10 @@ CONFIG_FLATMEM=y | |||
128 | CONFIG_FLAT_NODE_MEM_MAP=y | 136 | CONFIG_FLAT_NODE_MEM_MAP=y |
129 | # CONFIG_SPARSEMEM_STATIC is not set | 137 | # CONFIG_SPARSEMEM_STATIC is not set |
130 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 138 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
139 | # CONFIG_RESOURCES_64BIT is not set | ||
140 | CONFIG_SMP=y | ||
141 | CONFIG_SYS_SUPPORTS_SMP=y | ||
142 | CONFIG_NR_CPUS=2 | ||
131 | # CONFIG_HZ_48 is not set | 143 | # CONFIG_HZ_48 is not set |
132 | # CONFIG_HZ_100 is not set | 144 | # CONFIG_HZ_100 is not set |
133 | # CONFIG_HZ_128 is not set | 145 | # CONFIG_HZ_128 is not set |
@@ -137,12 +149,11 @@ CONFIG_HZ_1000=y | |||
137 | # CONFIG_HZ_1024 is not set | 149 | # CONFIG_HZ_1024 is not set |
138 | CONFIG_SYS_SUPPORTS_ARBIT_HZ=y | 150 | CONFIG_SYS_SUPPORTS_ARBIT_HZ=y |
139 | CONFIG_HZ=1000 | 151 | CONFIG_HZ=1000 |
140 | CONFIG_SMP=y | ||
141 | CONFIG_NR_CPUS=2 | ||
142 | CONFIG_PREEMPT_NONE=y | 152 | CONFIG_PREEMPT_NONE=y |
143 | # CONFIG_PREEMPT_VOLUNTARY is not set | 153 | # CONFIG_PREEMPT_VOLUNTARY is not set |
144 | # CONFIG_PREEMPT is not set | 154 | # CONFIG_PREEMPT is not set |
145 | CONFIG_PREEMPT_BKL=y | 155 | CONFIG_PREEMPT_BKL=y |
156 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
146 | 157 | ||
147 | # | 158 | # |
148 | # Code maturity level options | 159 | # Code maturity level options |
@@ -175,10 +186,12 @@ CONFIG_PRINTK=y | |||
175 | CONFIG_BUG=y | 186 | CONFIG_BUG=y |
176 | CONFIG_ELF_CORE=y | 187 | CONFIG_ELF_CORE=y |
177 | CONFIG_BASE_FULL=y | 188 | CONFIG_BASE_FULL=y |
189 | CONFIG_RT_MUTEXES=y | ||
178 | CONFIG_FUTEX=y | 190 | CONFIG_FUTEX=y |
179 | CONFIG_EPOLL=y | 191 | CONFIG_EPOLL=y |
180 | CONFIG_SHMEM=y | 192 | CONFIG_SHMEM=y |
181 | CONFIG_SLAB=y | 193 | CONFIG_SLAB=y |
194 | CONFIG_VM_EVENT_COUNTERS=y | ||
182 | # CONFIG_TINY_SHMEM is not set | 195 | # CONFIG_TINY_SHMEM is not set |
183 | CONFIG_BASE_SMALL=0 | 196 | CONFIG_BASE_SMALL=0 |
184 | # CONFIG_SLOB is not set | 197 | # CONFIG_SLOB is not set |
@@ -268,6 +281,8 @@ CONFIG_IP_PNP_BOOTP=y | |||
268 | # CONFIG_INET_IPCOMP is not set | 281 | # CONFIG_INET_IPCOMP is not set |
269 | # CONFIG_INET_XFRM_TUNNEL is not set | 282 | # CONFIG_INET_XFRM_TUNNEL is not set |
270 | # CONFIG_INET_TUNNEL is not set | 283 | # CONFIG_INET_TUNNEL is not set |
284 | CONFIG_INET_XFRM_MODE_TRANSPORT=m | ||
285 | CONFIG_INET_XFRM_MODE_TUNNEL=m | ||
271 | CONFIG_INET_DIAG=y | 286 | CONFIG_INET_DIAG=y |
272 | CONFIG_INET_TCP_DIAG=y | 287 | CONFIG_INET_TCP_DIAG=y |
273 | # CONFIG_TCP_CONG_ADVANCED is not set | 288 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -280,7 +295,10 @@ CONFIG_INET6_ESP=m | |||
280 | CONFIG_INET6_IPCOMP=m | 295 | CONFIG_INET6_IPCOMP=m |
281 | CONFIG_INET6_XFRM_TUNNEL=m | 296 | CONFIG_INET6_XFRM_TUNNEL=m |
282 | CONFIG_INET6_TUNNEL=m | 297 | CONFIG_INET6_TUNNEL=m |
298 | CONFIG_INET6_XFRM_MODE_TRANSPORT=m | ||
299 | CONFIG_INET6_XFRM_MODE_TUNNEL=m | ||
283 | CONFIG_IPV6_TUNNEL=m | 300 | CONFIG_IPV6_TUNNEL=m |
301 | CONFIG_NETWORK_SECMARK=y | ||
284 | # CONFIG_NETFILTER is not set | 302 | # CONFIG_NETFILTER is not set |
285 | # CONFIG_BRIDGE is not set | 303 | # CONFIG_BRIDGE is not set |
286 | # CONFIG_VLAN_8021Q is not set | 304 | # CONFIG_VLAN_8021Q is not set |
@@ -317,6 +335,7 @@ CONFIG_STANDALONE=y | |||
317 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 335 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
318 | CONFIG_FW_LOADER=m | 336 | CONFIG_FW_LOADER=m |
319 | # CONFIG_DEBUG_DRIVER is not set | 337 | # CONFIG_DEBUG_DRIVER is not set |
338 | # CONFIG_SYS_HYPERVISOR is not set | ||
320 | 339 | ||
321 | # | 340 | # |
322 | # Connector - unified userspace <-> kernelspace linker | 341 | # Connector - unified userspace <-> kernelspace linker |
@@ -411,6 +430,8 @@ CONFIG_DAVICOM_PHY=m | |||
411 | CONFIG_QSEMI_PHY=m | 430 | CONFIG_QSEMI_PHY=m |
412 | CONFIG_LXT_PHY=m | 431 | CONFIG_LXT_PHY=m |
413 | CONFIG_CICADA_PHY=m | 432 | CONFIG_CICADA_PHY=m |
433 | CONFIG_VITESSE_PHY=m | ||
434 | CONFIG_SMSC_PHY=m | ||
414 | 435 | ||
415 | # | 436 | # |
416 | # Ethernet (10 or 100Mbit) | 437 | # Ethernet (10 or 100Mbit) |
@@ -452,6 +473,7 @@ CONFIG_TITAN_GE=y | |||
452 | # CONFIG_CHELSIO_T1 is not set | 473 | # CONFIG_CHELSIO_T1 is not set |
453 | # CONFIG_IXGB is not set | 474 | # CONFIG_IXGB is not set |
454 | # CONFIG_S2IO is not set | 475 | # CONFIG_S2IO is not set |
476 | # CONFIG_MYRI10GE is not set | ||
455 | 477 | ||
456 | # | 478 | # |
457 | # Token Ring devices | 479 | # Token Ring devices |
@@ -529,6 +551,7 @@ CONFIG_LEGACY_PTY_COUNT=256 | |||
529 | # Watchdog Cards | 551 | # Watchdog Cards |
530 | # | 552 | # |
531 | # CONFIG_WATCHDOG is not set | 553 | # CONFIG_WATCHDOG is not set |
554 | # CONFIG_HW_RANDOM is not set | ||
532 | # CONFIG_RTC is not set | 555 | # CONFIG_RTC is not set |
533 | CONFIG_GEN_RTC=y | 556 | CONFIG_GEN_RTC=y |
534 | CONFIG_GEN_RTC_X=y | 557 | CONFIG_GEN_RTC_X=y |
@@ -576,6 +599,7 @@ CONFIG_GEN_RTC_X=y | |||
576 | # Multimedia devices | 599 | # Multimedia devices |
577 | # | 600 | # |
578 | # CONFIG_VIDEO_DEV is not set | 601 | # CONFIG_VIDEO_DEV is not set |
602 | CONFIG_VIDEO_V4L2=y | ||
579 | 603 | ||
580 | # | 604 | # |
581 | # Digital Video Broadcasting Devices | 605 | # Digital Video Broadcasting Devices |
@@ -585,6 +609,7 @@ CONFIG_GEN_RTC_X=y | |||
585 | # | 609 | # |
586 | # Graphics support | 610 | # Graphics support |
587 | # | 611 | # |
612 | # CONFIG_FIRMWARE_EDID is not set | ||
588 | # CONFIG_FB is not set | 613 | # CONFIG_FB is not set |
589 | 614 | ||
590 | # | 615 | # |
@@ -641,6 +666,19 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
641 | # | 666 | # |
642 | 667 | ||
643 | # | 668 | # |
669 | # DMA Engine support | ||
670 | # | ||
671 | # CONFIG_DMA_ENGINE is not set | ||
672 | |||
673 | # | ||
674 | # DMA Clients | ||
675 | # | ||
676 | |||
677 | # | ||
678 | # DMA Devices | ||
679 | # | ||
680 | |||
681 | # | ||
644 | # File systems | 682 | # File systems |
645 | # | 683 | # |
646 | # CONFIG_EXT2_FS is not set | 684 | # CONFIG_EXT2_FS is not set |
@@ -652,6 +690,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y | |||
652 | # CONFIG_MINIX_FS is not set | 690 | # CONFIG_MINIX_FS is not set |
653 | # CONFIG_ROMFS_FS is not set | 691 | # CONFIG_ROMFS_FS is not set |
654 | CONFIG_INOTIFY=y | 692 | CONFIG_INOTIFY=y |
693 | CONFIG_INOTIFY_USER=y | ||
655 | # CONFIG_QUOTA is not set | 694 | # CONFIG_QUOTA is not set |
656 | CONFIG_DNOTIFY=y | 695 | CONFIG_DNOTIFY=y |
657 | # CONFIG_AUTOFS_FS is not set | 696 | # CONFIG_AUTOFS_FS is not set |
@@ -704,6 +743,7 @@ CONFIG_NFS_COMMON=y | |||
704 | CONFIG_SUNRPC=y | 743 | CONFIG_SUNRPC=y |
705 | # CONFIG_SMB_FS is not set | 744 | # CONFIG_SMB_FS is not set |
706 | # CONFIG_CIFS is not set | 745 | # CONFIG_CIFS is not set |
746 | # CONFIG_CIFS_DEBUG2 is not set | ||
707 | # CONFIG_NCP_FS is not set | 747 | # CONFIG_NCP_FS is not set |
708 | # CONFIG_CODA_FS is not set | 748 | # CONFIG_CODA_FS is not set |
709 | 749 | ||
@@ -723,14 +763,19 @@ CONFIG_MSDOS_PARTITION=y | |||
723 | # | 763 | # |
724 | # CONFIG_PRINTK_TIME is not set | 764 | # CONFIG_PRINTK_TIME is not set |
725 | # CONFIG_MAGIC_SYSRQ is not set | 765 | # CONFIG_MAGIC_SYSRQ is not set |
766 | # CONFIG_UNUSED_SYMBOLS is not set | ||
726 | CONFIG_DEBUG_KERNEL=y | 767 | CONFIG_DEBUG_KERNEL=y |
727 | CONFIG_LOG_BUF_SHIFT=14 | 768 | CONFIG_LOG_BUF_SHIFT=14 |
728 | CONFIG_DETECT_SOFTLOCKUP=y | 769 | CONFIG_DETECT_SOFTLOCKUP=y |
729 | # CONFIG_SCHEDSTATS is not set | 770 | # CONFIG_SCHEDSTATS is not set |
730 | # CONFIG_DEBUG_SLAB is not set | 771 | # CONFIG_DEBUG_SLAB is not set |
731 | CONFIG_DEBUG_MUTEXES=y | 772 | # CONFIG_DEBUG_RT_MUTEXES is not set |
773 | # CONFIG_RT_MUTEX_TESTER is not set | ||
732 | # CONFIG_DEBUG_SPINLOCK is not set | 774 | # CONFIG_DEBUG_SPINLOCK is not set |
775 | CONFIG_DEBUG_MUTEXES=y | ||
776 | # CONFIG_DEBUG_RWSEMS is not set | ||
733 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | 777 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set |
778 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | ||
734 | # CONFIG_DEBUG_KOBJECT is not set | 779 | # CONFIG_DEBUG_KOBJECT is not set |
735 | # CONFIG_DEBUG_HIGHMEM is not set | 780 | # CONFIG_DEBUG_HIGHMEM is not set |
736 | # CONFIG_DEBUG_INFO is not set | 781 | # CONFIG_DEBUG_INFO is not set |
@@ -793,3 +838,4 @@ CONFIG_CRC32=m | |||
793 | CONFIG_LIBCRC32C=m | 838 | CONFIG_LIBCRC32C=m |
794 | CONFIG_ZLIB_INFLATE=m | 839 | CONFIG_ZLIB_INFLATE=m |
795 | CONFIG_ZLIB_DEFLATE=m | 840 | CONFIG_ZLIB_DEFLATE=m |
841 | CONFIG_PLIST=y | ||
diff --git a/arch/mips/ddb5xxx/ddb5477/irq.c b/arch/mips/ddb5xxx/ddb5477/irq.c index 22fb94b7c440..513fc6722d84 100644 --- a/arch/mips/ddb5xxx/ddb5477/irq.c +++ b/arch/mips/ddb5xxx/ddb5477/irq.c | |||
@@ -74,7 +74,6 @@ set_pci_int_attr(u32 pci, u32 intn, u32 active, u32 trigger) | |||
74 | 74 | ||
75 | extern void vrc5477_irq_init(u32 base); | 75 | extern void vrc5477_irq_init(u32 base); |
76 | extern void mips_cpu_irq_init(u32 base); | 76 | extern void mips_cpu_irq_init(u32 base); |
77 | extern int setup_irq(unsigned int irq, struct irqaction *irqaction); | ||
78 | static struct irqaction irq_cascade = { no_action, 0, CPU_MASK_NONE, "cascade", NULL, NULL }; | 77 | static struct irqaction irq_cascade = { no_action, 0, CPU_MASK_NONE, "cascade", NULL, NULL }; |
79 | 78 | ||
80 | void __init arch_init_irq(void) | 79 | void __init arch_init_irq(void) |
diff --git a/arch/mips/ddb5xxx/ddb5477/irq_5477.c b/arch/mips/ddb5xxx/ddb5477/irq_5477.c index 63c3d6534b3a..ba52705a2738 100644 --- a/arch/mips/ddb5xxx/ddb5477/irq_5477.c +++ b/arch/mips/ddb5xxx/ddb5477/irq_5477.c | |||
@@ -89,7 +89,7 @@ vrc5477_irq_end(unsigned int irq) | |||
89 | ll_vrc5477_irq_enable( irq - vrc5477_irq_base); | 89 | ll_vrc5477_irq_enable( irq - vrc5477_irq_base); |
90 | } | 90 | } |
91 | 91 | ||
92 | hw_irq_controller vrc5477_irq_controller = { | 92 | struct irq_chip vrc5477_irq_controller = { |
93 | .typename = "vrc5477_irq", | 93 | .typename = "vrc5477_irq", |
94 | .startup = vrc5477_irq_startup, | 94 | .startup = vrc5477_irq_startup, |
95 | .shutdown = vrc5477_irq_shutdown, | 95 | .shutdown = vrc5477_irq_shutdown, |
diff --git a/arch/mips/ddb5xxx/ddb5477/setup.c b/arch/mips/ddb5xxx/ddb5477/setup.c index 47ba0b6f210f..f0cc0e8a8afa 100644 --- a/arch/mips/ddb5xxx/ddb5477/setup.c +++ b/arch/mips/ddb5xxx/ddb5477/setup.c | |||
@@ -19,6 +19,7 @@ | |||
19 | #include <linux/sched.h> | 19 | #include <linux/sched.h> |
20 | #include <linux/pci.h> | 20 | #include <linux/pci.h> |
21 | #include <linux/ide.h> | 21 | #include <linux/ide.h> |
22 | #include <linux/irq.h> | ||
22 | #include <linux/fs.h> | 23 | #include <linux/fs.h> |
23 | #include <linux/ioport.h> | 24 | #include <linux/ioport.h> |
24 | #include <linux/param.h> /* for HZ */ | 25 | #include <linux/param.h> /* for HZ */ |
@@ -146,9 +147,7 @@ static void __init ddb_time_init(void) | |||
146 | mips_hpt_frequency = bus_frequency*(i+4)/4; | 147 | mips_hpt_frequency = bus_frequency*(i+4)/4; |
147 | } | 148 | } |
148 | 149 | ||
149 | extern int setup_irq(unsigned int irq, struct irqaction *irqaction); | 150 | void __init plat_timer_setup(struct irqaction *irq) |
150 | |||
151 | static void __init ddb_timer_setup(struct irqaction *irq) | ||
152 | { | 151 | { |
153 | #if defined(USE_CPU_COUNTER_TIMER) | 152 | #if defined(USE_CPU_COUNTER_TIMER) |
154 | 153 | ||
@@ -178,7 +177,6 @@ void __init plat_mem_setup(void) | |||
178 | set_io_port_base(KSEG1ADDR(DDB_PCI_IO_BASE)); | 177 | set_io_port_base(KSEG1ADDR(DDB_PCI_IO_BASE)); |
179 | 178 | ||
180 | board_time_init = ddb_time_init; | 179 | board_time_init = ddb_time_init; |
181 | board_timer_setup = ddb_timer_setup; | ||
182 | 180 | ||
183 | _machine_restart = ddb_machine_restart; | 181 | _machine_restart = ddb_machine_restart; |
184 | _machine_halt = ddb_machine_halt; | 182 | _machine_halt = ddb_machine_halt; |
diff --git a/arch/mips/dec/ioasic-irq.c b/arch/mips/dec/ioasic-irq.c index da2dbb42f913..41cd2a96148b 100644 --- a/arch/mips/dec/ioasic-irq.c +++ b/arch/mips/dec/ioasic-irq.c | |||
@@ -93,7 +93,7 @@ static inline void end_ioasic_irq(unsigned int irq) | |||
93 | enable_ioasic_irq(irq); | 93 | enable_ioasic_irq(irq); |
94 | } | 94 | } |
95 | 95 | ||
96 | static struct hw_interrupt_type ioasic_irq_type = { | 96 | static struct irq_chip ioasic_irq_type = { |
97 | .typename = "IO-ASIC", | 97 | .typename = "IO-ASIC", |
98 | .startup = startup_ioasic_irq, | 98 | .startup = startup_ioasic_irq, |
99 | .shutdown = shutdown_ioasic_irq, | 99 | .shutdown = shutdown_ioasic_irq, |
@@ -121,7 +121,7 @@ static inline void end_ioasic_dma_irq(unsigned int irq) | |||
121 | end_ioasic_irq(irq); | 121 | end_ioasic_irq(irq); |
122 | } | 122 | } |
123 | 123 | ||
124 | static struct hw_interrupt_type ioasic_dma_irq_type = { | 124 | static struct irq_chip ioasic_dma_irq_type = { |
125 | .typename = "IO-ASIC-DMA", | 125 | .typename = "IO-ASIC-DMA", |
126 | .startup = startup_ioasic_dma_irq, | 126 | .startup = startup_ioasic_dma_irq, |
127 | .shutdown = shutdown_ioasic_dma_irq, | 127 | .shutdown = shutdown_ioasic_dma_irq, |
diff --git a/arch/mips/dec/kn02-irq.c b/arch/mips/dec/kn02-irq.c index d44c00d9e80f..04a367a60a57 100644 --- a/arch/mips/dec/kn02-irq.c +++ b/arch/mips/dec/kn02-irq.c | |||
@@ -94,7 +94,7 @@ static void end_kn02_irq(unsigned int irq) | |||
94 | enable_kn02_irq(irq); | 94 | enable_kn02_irq(irq); |
95 | } | 95 | } |
96 | 96 | ||
97 | static struct hw_interrupt_type kn02_irq_type = { | 97 | static struct irq_chip kn02_irq_type = { |
98 | .typename = "KN02-CSR", | 98 | .typename = "KN02-CSR", |
99 | .startup = startup_kn02_irq, | 99 | .startup = startup_kn02_irq, |
100 | .shutdown = shutdown_kn02_irq, | 100 | .shutdown = shutdown_kn02_irq, |
diff --git a/arch/mips/dec/setup.c b/arch/mips/dec/setup.c index 2684f121784b..d43241c2f541 100644 --- a/arch/mips/dec/setup.c +++ b/arch/mips/dec/setup.c | |||
@@ -145,13 +145,11 @@ static void __init dec_be_init(void) | |||
145 | 145 | ||
146 | 146 | ||
147 | extern void dec_time_init(void); | 147 | extern void dec_time_init(void); |
148 | extern void dec_timer_setup(struct irqaction *); | ||
149 | 148 | ||
150 | void __init plat_mem_setup(void) | 149 | void __init plat_mem_setup(void) |
151 | { | 150 | { |
152 | board_be_init = dec_be_init; | 151 | board_be_init = dec_be_init; |
153 | board_time_init = dec_time_init; | 152 | board_time_init = dec_time_init; |
154 | board_timer_setup = dec_timer_setup; | ||
155 | 153 | ||
156 | wbflush_setup(); | 154 | wbflush_setup(); |
157 | 155 | ||
diff --git a/arch/mips/dec/time.c b/arch/mips/dec/time.c index 76e4d09ff4d2..57294740c2dd 100644 --- a/arch/mips/dec/time.c +++ b/arch/mips/dec/time.c | |||
@@ -186,7 +186,7 @@ void __init dec_time_init(void) | |||
186 | 186 | ||
187 | EXPORT_SYMBOL(do_settimeofday); | 187 | EXPORT_SYMBOL(do_settimeofday); |
188 | 188 | ||
189 | void __init dec_timer_setup(struct irqaction *irq) | 189 | void __init plat_timer_setup(struct irqaction *irq) |
190 | { | 190 | { |
191 | setup_irq(dec_interrupt[DEC_IRQ_RTC], irq); | 191 | setup_irq(dec_interrupt[DEC_IRQ_RTC], irq); |
192 | 192 | ||
diff --git a/arch/mips/defconfig b/arch/mips/defconfig index 879ba1ad99ca..fff6fcc96212 100644 --- a/arch/mips/defconfig +++ b/arch/mips/defconfig | |||
@@ -1,7 +1,7 @@ | |||
1 | # | 1 | # |
2 | # Automatically generated make config: don't edit | 2 | # Automatically generated make config: don't edit |
3 | # Linux kernel version: 2.6.17-rc2 | 3 | # Linux kernel version: 2.6.18-rc1 |
4 | # Mon Apr 24 14:50:54 2006 | 4 | # Thu Jul 6 09:49:33 2006 |
5 | # | 5 | # |
6 | CONFIG_MIPS=y | 6 | CONFIG_MIPS=y |
7 | 7 | ||
@@ -21,6 +21,7 @@ CONFIG_MIPS=y | |||
21 | # CONFIG_MIPS_DB1550 is not set | 21 | # CONFIG_MIPS_DB1550 is not set |
22 | # CONFIG_MIPS_DB1200 is not set | 22 | # CONFIG_MIPS_DB1200 is not set |
23 | # CONFIG_MIPS_MIRAGE is not set | 23 | # CONFIG_MIPS_MIRAGE is not set |
24 | # CONFIG_BASLER_EXCITE is not set | ||
24 | # CONFIG_MIPS_COBALT is not set | 25 | # CONFIG_MIPS_COBALT is not set |
25 | # CONFIG_MACH_DECSTATION is not set | 26 | # CONFIG_MACH_DECSTATION is not set |
26 | # CONFIG_MIPS_EV64120 is not set | 27 | # CONFIG_MIPS_EV64120 is not set |
@@ -32,6 +33,7 @@ CONFIG_MIPS=y | |||
32 | # CONFIG_MIPS_ATLAS is not set | 33 | # CONFIG_MIPS_ATLAS is not set |
33 | # CONFIG_MIPS_MALTA is not set | 34 | # CONFIG_MIPS_MALTA is not set |
34 | # CONFIG_MIPS_SEAD is not set | 35 | # CONFIG_MIPS_SEAD is not set |
36 | # CONFIG_WR_PPMC is not set | ||
35 | # CONFIG_MIPS_SIM is not set | 37 | # CONFIG_MIPS_SIM is not set |
36 | # CONFIG_MOMENCO_JAGUAR_ATX is not set | 38 | # CONFIG_MOMENCO_JAGUAR_ATX is not set |
37 | # CONFIG_MOMENCO_OCELOT is not set | 39 | # CONFIG_MOMENCO_OCELOT is not set |
@@ -45,6 +47,7 @@ CONFIG_MIPS=y | |||
45 | # CONFIG_MACH_VR41XX is not set | 47 | # CONFIG_MACH_VR41XX is not set |
46 | # CONFIG_PMC_YOSEMITE is not set | 48 | # CONFIG_PMC_YOSEMITE is not set |
47 | # CONFIG_QEMU is not set | 49 | # CONFIG_QEMU is not set |
50 | # CONFIG_MARKEINS is not set | ||
48 | CONFIG_SGI_IP22=y | 51 | CONFIG_SGI_IP22=y |
49 | # CONFIG_SGI_IP27 is not set | 52 | # CONFIG_SGI_IP27 is not set |
50 | # CONFIG_SGI_IP32 is not set | 53 | # CONFIG_SGI_IP32 is not set |
@@ -65,6 +68,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y | |||
65 | CONFIG_GENERIC_FIND_NEXT_BIT=y | 68 | CONFIG_GENERIC_FIND_NEXT_BIT=y |
66 | CONFIG_GENERIC_HWEIGHT=y | 69 | CONFIG_GENERIC_HWEIGHT=y |
67 | CONFIG_GENERIC_CALIBRATE_DELAY=y | 70 | CONFIG_GENERIC_CALIBRATE_DELAY=y |
71 | CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||
68 | CONFIG_ARC=y | 72 | CONFIG_ARC=y |
69 | CONFIG_DMA_NONCOHERENT=y | 73 | CONFIG_DMA_NONCOHERENT=y |
70 | CONFIG_DMA_NEED_PCI_MAP_STATE=y | 74 | CONFIG_DMA_NEED_PCI_MAP_STATE=y |
@@ -119,7 +123,10 @@ CONFIG_PAGE_SIZE_4KB=y | |||
119 | # CONFIG_PAGE_SIZE_64KB is not set | 123 | # CONFIG_PAGE_SIZE_64KB is not set |
120 | CONFIG_BOARD_SCACHE=y | 124 | CONFIG_BOARD_SCACHE=y |
121 | CONFIG_IP22_CPU_SCACHE=y | 125 | CONFIG_IP22_CPU_SCACHE=y |
122 | # CONFIG_MIPS_MT is not set | 126 | CONFIG_MIPS_MT_DISABLED=y |
127 | # CONFIG_MIPS_MT_SMTC is not set | ||
128 | # CONFIG_MIPS_MT_SMP is not set | ||
129 | # CONFIG_MIPS_VPE_LOADER is not set | ||
123 | # CONFIG_64BIT_PHYS_ADDR is not set | 130 | # CONFIG_64BIT_PHYS_ADDR is not set |
124 | CONFIG_CPU_HAS_LLSC=y | 131 | CONFIG_CPU_HAS_LLSC=y |
125 | CONFIG_CPU_HAS_SYNC=y | 132 | CONFIG_CPU_HAS_SYNC=y |
@@ -134,6 +141,7 @@ CONFIG_FLATMEM=y | |||
134 | CONFIG_FLAT_NODE_MEM_MAP=y | 141 | CONFIG_FLAT_NODE_MEM_MAP=y |
135 | # CONFIG_SPARSEMEM_STATIC is not set | 142 | # CONFIG_SPARSEMEM_STATIC is not set |
136 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 143 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
144 | # CONFIG_RESOURCES_64BIT is not set | ||
137 | # CONFIG_HZ_48 is not set | 145 | # CONFIG_HZ_48 is not set |
138 | # CONFIG_HZ_100 is not set | 146 | # CONFIG_HZ_100 is not set |
139 | # CONFIG_HZ_128 is not set | 147 | # CONFIG_HZ_128 is not set |
@@ -146,6 +154,7 @@ CONFIG_HZ=1000 | |||
146 | # CONFIG_PREEMPT_NONE is not set | 154 | # CONFIG_PREEMPT_NONE is not set |
147 | CONFIG_PREEMPT_VOLUNTARY=y | 155 | CONFIG_PREEMPT_VOLUNTARY=y |
148 | # CONFIG_PREEMPT is not set | 156 | # CONFIG_PREEMPT is not set |
157 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
149 | 158 | ||
150 | # | 159 | # |
151 | # Code maturity level options | 160 | # Code maturity level options |
@@ -178,10 +187,12 @@ CONFIG_PRINTK=y | |||
178 | CONFIG_BUG=y | 187 | CONFIG_BUG=y |
179 | CONFIG_ELF_CORE=y | 188 | CONFIG_ELF_CORE=y |
180 | CONFIG_BASE_FULL=y | 189 | CONFIG_BASE_FULL=y |
190 | CONFIG_RT_MUTEXES=y | ||
181 | CONFIG_FUTEX=y | 191 | CONFIG_FUTEX=y |
182 | CONFIG_EPOLL=y | 192 | CONFIG_EPOLL=y |
183 | CONFIG_SHMEM=y | 193 | CONFIG_SHMEM=y |
184 | CONFIG_SLAB=y | 194 | CONFIG_SLAB=y |
195 | CONFIG_VM_EVENT_COUNTERS=y | ||
185 | # CONFIG_TINY_SHMEM is not set | 196 | # CONFIG_TINY_SHMEM is not set |
186 | CONFIG_BASE_SMALL=0 | 197 | CONFIG_BASE_SMALL=0 |
187 | # CONFIG_SLOB is not set | 198 | # CONFIG_SLOB is not set |
@@ -272,6 +283,8 @@ CONFIG_INET_ESP=m | |||
272 | CONFIG_INET_IPCOMP=m | 283 | CONFIG_INET_IPCOMP=m |
273 | CONFIG_INET_XFRM_TUNNEL=m | 284 | CONFIG_INET_XFRM_TUNNEL=m |
274 | CONFIG_INET_TUNNEL=m | 285 | CONFIG_INET_TUNNEL=m |
286 | CONFIG_INET_XFRM_MODE_TRANSPORT=m | ||
287 | CONFIG_INET_XFRM_MODE_TUNNEL=m | ||
275 | CONFIG_INET_DIAG=y | 288 | CONFIG_INET_DIAG=y |
276 | CONFIG_INET_TCP_DIAG=y | 289 | CONFIG_INET_TCP_DIAG=y |
277 | # CONFIG_TCP_CONG_ADVANCED is not set | 290 | # CONFIG_TCP_CONG_ADVANCED is not set |
@@ -319,7 +332,10 @@ CONFIG_INET6_ESP=m | |||
319 | CONFIG_INET6_IPCOMP=m | 332 | CONFIG_INET6_IPCOMP=m |
320 | CONFIG_INET6_XFRM_TUNNEL=m | 333 | CONFIG_INET6_XFRM_TUNNEL=m |
321 | CONFIG_INET6_TUNNEL=m | 334 | CONFIG_INET6_TUNNEL=m |
335 | CONFIG_INET6_XFRM_MODE_TRANSPORT=m | ||
336 | CONFIG_INET6_XFRM_MODE_TUNNEL=m | ||
322 | CONFIG_IPV6_TUNNEL=m | 337 | CONFIG_IPV6_TUNNEL=m |
338 | CONFIG_NETWORK_SECMARK=y | ||
323 | CONFIG_NETFILTER=y | 339 | CONFIG_NETFILTER=y |
324 | # CONFIG_NETFILTER_DEBUG is not set | 340 | # CONFIG_NETFILTER_DEBUG is not set |
325 | 341 | ||
@@ -335,6 +351,8 @@ CONFIG_NETFILTER_XT_TARGET_CONNMARK=m | |||
335 | CONFIG_NETFILTER_XT_TARGET_MARK=m | 351 | CONFIG_NETFILTER_XT_TARGET_MARK=m |
336 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m | 352 | CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m |
337 | CONFIG_NETFILTER_XT_TARGET_NOTRACK=m | 353 | CONFIG_NETFILTER_XT_TARGET_NOTRACK=m |
354 | CONFIG_NETFILTER_XT_TARGET_SECMARK=m | ||
355 | CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m | ||
338 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m | 356 | CONFIG_NETFILTER_XT_MATCH_COMMENT=m |
339 | CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m | 357 | CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m |
340 | CONFIG_NETFILTER_XT_MATCH_CONNMARK=m | 358 | CONFIG_NETFILTER_XT_MATCH_CONNMARK=m |
@@ -349,9 +367,11 @@ CONFIG_NETFILTER_XT_MATCH_MARK=m | |||
349 | CONFIG_NETFILTER_XT_MATCH_POLICY=m | 367 | CONFIG_NETFILTER_XT_MATCH_POLICY=m |
350 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m | 368 | CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m |
351 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m | 369 | CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m |
370 | CONFIG_NETFILTER_XT_MATCH_QUOTA=m | ||
352 | CONFIG_NETFILTER_XT_MATCH_REALM=m | 371 | CONFIG_NETFILTER_XT_MATCH_REALM=m |
353 | CONFIG_NETFILTER_XT_MATCH_SCTP=m | 372 | CONFIG_NETFILTER_XT_MATCH_SCTP=m |
354 | CONFIG_NETFILTER_XT_MATCH_STATE=m | 373 | CONFIG_NETFILTER_XT_MATCH_STATE=m |
374 | CONFIG_NETFILTER_XT_MATCH_STATISTIC=m | ||
355 | CONFIG_NETFILTER_XT_MATCH_STRING=m | 375 | CONFIG_NETFILTER_XT_MATCH_STRING=m |
356 | CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | 376 | CONFIG_NETFILTER_XT_MATCH_TCPMSS=m |
357 | 377 | ||
@@ -361,6 +381,7 @@ CONFIG_NETFILTER_XT_MATCH_TCPMSS=m | |||
361 | CONFIG_IP_NF_CONNTRACK=m | 381 | CONFIG_IP_NF_CONNTRACK=m |
362 | CONFIG_IP_NF_CT_ACCT=y | 382 | CONFIG_IP_NF_CT_ACCT=y |
363 | CONFIG_IP_NF_CONNTRACK_MARK=y | 383 | CONFIG_IP_NF_CONNTRACK_MARK=y |
384 | CONFIG_IP_NF_CONNTRACK_SECMARK=y | ||
364 | CONFIG_IP_NF_CONNTRACK_EVENTS=y | 385 | CONFIG_IP_NF_CONNTRACK_EVENTS=y |
365 | CONFIG_IP_NF_CONNTRACK_NETLINK=m | 386 | CONFIG_IP_NF_CONNTRACK_NETLINK=m |
366 | # CONFIG_IP_NF_CT_PROTO_SCTP is not set | 387 | # CONFIG_IP_NF_CT_PROTO_SCTP is not set |
@@ -371,6 +392,7 @@ CONFIG_IP_NF_TFTP=m | |||
371 | CONFIG_IP_NF_AMANDA=m | 392 | CONFIG_IP_NF_AMANDA=m |
372 | CONFIG_IP_NF_PPTP=m | 393 | CONFIG_IP_NF_PPTP=m |
373 | CONFIG_IP_NF_H323=m | 394 | CONFIG_IP_NF_H323=m |
395 | CONFIG_IP_NF_SIP=m | ||
374 | CONFIG_IP_NF_QUEUE=m | 396 | CONFIG_IP_NF_QUEUE=m |
375 | CONFIG_IP_NF_IPTABLES=m | 397 | CONFIG_IP_NF_IPTABLES=m |
376 | CONFIG_IP_NF_MATCH_IPRANGE=m | 398 | CONFIG_IP_NF_MATCH_IPRANGE=m |
@@ -401,6 +423,7 @@ CONFIG_IP_NF_NAT_TFTP=m | |||
401 | CONFIG_IP_NF_NAT_AMANDA=m | 423 | CONFIG_IP_NF_NAT_AMANDA=m |
402 | CONFIG_IP_NF_NAT_PPTP=m | 424 | CONFIG_IP_NF_NAT_PPTP=m |
403 | CONFIG_IP_NF_NAT_H323=m | 425 | CONFIG_IP_NF_NAT_H323=m |
426 | CONFIG_IP_NF_NAT_SIP=m | ||
404 | CONFIG_IP_NF_MANGLE=m | 427 | CONFIG_IP_NF_MANGLE=m |
405 | CONFIG_IP_NF_TARGET_TOS=m | 428 | CONFIG_IP_NF_TARGET_TOS=m |
406 | CONFIG_IP_NF_TARGET_ECN=m | 429 | CONFIG_IP_NF_TARGET_ECN=m |
@@ -533,6 +556,7 @@ CONFIG_WIRELESS_EXT=y | |||
533 | CONFIG_STANDALONE=y | 556 | CONFIG_STANDALONE=y |
534 | CONFIG_PREVENT_FIRMWARE_BUILD=y | 557 | CONFIG_PREVENT_FIRMWARE_BUILD=y |
535 | # CONFIG_FW_LOADER is not set | 558 | # CONFIG_FW_LOADER is not set |
559 | # CONFIG_SYS_HYPERVISOR is not set | ||
536 | 560 | ||
537 | # | 561 | # |
538 | # Connector - unified userspace <-> kernelspace linker | 562 | # Connector - unified userspace <-> kernelspace linker |
@@ -652,6 +676,8 @@ CONFIG_DAVICOM_PHY=m | |||
652 | CONFIG_QSEMI_PHY=m | 676 | CONFIG_QSEMI_PHY=m |
653 | CONFIG_LXT_PHY=m | 677 | CONFIG_LXT_PHY=m |
654 | CONFIG_CICADA_PHY=m | 678 | CONFIG_CICADA_PHY=m |
679 | # CONFIG_VITESSE_PHY is not set | ||
680 | # CONFIG_SMSC_PHY is not set | ||
655 | 681 | ||
656 | # | 682 | # |
657 | # Ethernet (10 or 100Mbit) | 683 | # Ethernet (10 or 100Mbit) |
@@ -749,6 +775,7 @@ CONFIG_SERIO_RAW=m | |||
749 | CONFIG_VT=y | 775 | CONFIG_VT=y |
750 | CONFIG_VT_CONSOLE=y | 776 | CONFIG_VT_CONSOLE=y |
751 | CONFIG_HW_CONSOLE=y | 777 | CONFIG_HW_CONSOLE=y |
778 | CONFIG_VT_HW_CONSOLE_BINDING=y | ||
752 | # CONFIG_SERIAL_NONSTANDARD is not set | 779 | # CONFIG_SERIAL_NONSTANDARD is not set |
753 | 780 | ||
754 | # | 781 | # |
@@ -781,6 +808,7 @@ CONFIG_WATCHDOG=y | |||
781 | # | 808 | # |
782 | # CONFIG_SOFT_WATCHDOG is not set | 809 | # CONFIG_SOFT_WATCHDOG is not set |
783 | CONFIG_INDYDOG=m | 810 | CONFIG_INDYDOG=m |
811 | # CONFIG_HW_RANDOM is not set | ||
784 | # CONFIG_RTC is not set | 812 | # CONFIG_RTC is not set |
785 | CONFIG_SGI_DS1286=m | 813 | CONFIG_SGI_DS1286=m |
786 | # CONFIG_GEN_RTC is not set | 814 | # CONFIG_GEN_RTC is not set |
@@ -829,6 +857,7 @@ CONFIG_MAX_RAW_DEVS=256 | |||
829 | # Multimedia devices | 857 | # Multimedia devices |
830 | # | 858 | # |
831 | # CONFIG_VIDEO_DEV is not set | 859 | # CONFIG_VIDEO_DEV is not set |
860 | CONFIG_VIDEO_V4L2=y | ||
832 | 861 | ||
833 | # | 862 | # |
834 | # Digital Video Broadcasting Devices | 863 | # Digital Video Broadcasting Devices |
@@ -838,6 +867,7 @@ CONFIG_MAX_RAW_DEVS=256 | |||
838 | # | 867 | # |
839 | # Graphics support | 868 | # Graphics support |
840 | # | 869 | # |
870 | CONFIG_FIRMWARE_EDID=y | ||
841 | # CONFIG_FB is not set | 871 | # CONFIG_FB is not set |
842 | 872 | ||
843 | # | 873 | # |
@@ -910,6 +940,19 @@ CONFIG_LOGO_SGI_CLUT224=y | |||
910 | # CONFIG_RTC_CLASS is not set | 940 | # CONFIG_RTC_CLASS is not set |
911 | 941 | ||
912 | # | 942 | # |
943 | # DMA Engine support | ||
944 | # | ||
945 | # CONFIG_DMA_ENGINE is not set | ||
946 | |||
947 | # | ||
948 | # DMA Clients | ||
949 | # | ||
950 | |||
951 | # | ||
952 | # DMA Devices | ||
953 | # | ||
954 | |||
955 | # | ||
913 | # File systems | 956 | # File systems |
914 | # | 957 | # |
915 | CONFIG_EXT2_FS=m | 958 | CONFIG_EXT2_FS=m |
@@ -926,7 +969,6 @@ CONFIG_FS_MBCACHE=y | |||
926 | # CONFIG_JFS_FS is not set | 969 | # CONFIG_JFS_FS is not set |
927 | CONFIG_FS_POSIX_ACL=y | 970 | CONFIG_FS_POSIX_ACL=y |
928 | CONFIG_XFS_FS=m | 971 | CONFIG_XFS_FS=m |
929 | CONFIG_XFS_EXPORT=y | ||
930 | CONFIG_XFS_QUOTA=y | 972 | CONFIG_XFS_QUOTA=y |
931 | CONFIG_XFS_SECURITY=y | 973 | CONFIG_XFS_SECURITY=y |
932 | # CONFIG_XFS_POSIX_ACL is not set | 974 | # CONFIG_XFS_POSIX_ACL is not set |
@@ -935,6 +977,7 @@ CONFIG_XFS_SECURITY=y | |||
935 | CONFIG_MINIX_FS=m | 977 | CONFIG_MINIX_FS=m |
936 | # CONFIG_ROMFS_FS is not set | 978 | # CONFIG_ROMFS_FS is not set |
937 | CONFIG_INOTIFY=y | 979 | CONFIG_INOTIFY=y |
980 | CONFIG_INOTIFY_USER=y | ||
938 | CONFIG_QUOTA=y | 981 | CONFIG_QUOTA=y |
939 | # CONFIG_QFMT_V1 is not set | 982 | # CONFIG_QFMT_V1 is not set |
940 | CONFIG_QFMT_V2=m | 983 | CONFIG_QFMT_V2=m |
@@ -991,6 +1034,8 @@ CONFIG_EFS_FS=m | |||
991 | # CONFIG_QNX4FS_FS is not set | 1034 | # CONFIG_QNX4FS_FS is not set |
992 | # CONFIG_SYSV_FS is not set | 1035 | # CONFIG_SYSV_FS is not set |
993 | CONFIG_UFS_FS=m | 1036 | CONFIG_UFS_FS=m |
1037 | # CONFIG_UFS_FS_WRITE is not set | ||
1038 | # CONFIG_UFS_DEBUG is not set | ||
994 | 1039 | ||
995 | # | 1040 | # |
996 | # Network File Systems | 1041 | # Network File Systems |
@@ -1020,7 +1065,9 @@ CONFIG_SMB_NLS_DEFAULT=y | |||
1020 | CONFIG_SMB_NLS_REMOTE="cp437" | 1065 | CONFIG_SMB_NLS_REMOTE="cp437" |
1021 | CONFIG_CIFS=m | 1066 | CONFIG_CIFS=m |
1022 | # CONFIG_CIFS_STATS is not set | 1067 | # CONFIG_CIFS_STATS is not set |
1068 | # CONFIG_CIFS_WEAK_PW_HASH is not set | ||
1023 | # CONFIG_CIFS_XATTR is not set | 1069 | # CONFIG_CIFS_XATTR is not set |
1070 | # CONFIG_CIFS_DEBUG2 is not set | ||
1024 | # CONFIG_CIFS_EXPERIMENTAL is not set | 1071 | # CONFIG_CIFS_EXPERIMENTAL is not set |
1025 | # CONFIG_NCP_FS is not set | 1072 | # CONFIG_NCP_FS is not set |
1026 | CONFIG_CODA_FS=m | 1073 | CONFIG_CODA_FS=m |
@@ -1103,6 +1150,7 @@ CONFIG_NLS_UTF8=m | |||
1103 | # | 1150 | # |
1104 | # CONFIG_PRINTK_TIME is not set | 1151 | # CONFIG_PRINTK_TIME is not set |
1105 | # CONFIG_MAGIC_SYSRQ is not set | 1152 | # CONFIG_MAGIC_SYSRQ is not set |
1153 | # CONFIG_UNUSED_SYMBOLS is not set | ||
1106 | # CONFIG_DEBUG_KERNEL is not set | 1154 | # CONFIG_DEBUG_KERNEL is not set |
1107 | CONFIG_LOG_BUF_SHIFT=14 | 1155 | CONFIG_LOG_BUF_SHIFT=14 |
1108 | # CONFIG_DEBUG_FS is not set | 1156 | # CONFIG_DEBUG_FS is not set |
@@ -1162,3 +1210,4 @@ CONFIG_TEXTSEARCH=y | |||
1162 | CONFIG_TEXTSEARCH_KMP=m | 1210 | CONFIG_TEXTSEARCH_KMP=m |
1163 | CONFIG_TEXTSEARCH_BM=m | 1211 | CONFIG_TEXTSEARCH_BM=m |
1164 | CONFIG_TEXTSEARCH_FSM=m | 1212 | CONFIG_TEXTSEARCH_FSM=m |
1213 | CONFIG_PLIST=y | ||
diff --git a/arch/mips/emma2rh/common/irq.c b/arch/mips/emma2rh/common/irq.c index b075281e50e9..3af57693c84c 100644 --- a/arch/mips/emma2rh/common/irq.c +++ b/arch/mips/emma2rh/common/irq.c | |||
@@ -22,7 +22,6 @@ | |||
22 | * along with this program; if not, write to the Free Software | 22 | * along with this program; if not, write to the Free Software |
23 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 23 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
24 | */ | 24 | */ |
25 | #include <linux/config.h> | ||
26 | #include <linux/init.h> | 25 | #include <linux/init.h> |
27 | #include <linux/interrupt.h> | 26 | #include <linux/interrupt.h> |
28 | #include <linux/irq.h> | 27 | #include <linux/irq.h> |
diff --git a/arch/mips/emma2rh/common/irq_emma2rh.c b/arch/mips/emma2rh/common/irq_emma2rh.c index b886aa94ca90..7c930860c921 100644 --- a/arch/mips/emma2rh/common/irq_emma2rh.c +++ b/arch/mips/emma2rh/common/irq_emma2rh.c | |||
@@ -78,7 +78,7 @@ static void emma2rh_irq_end(unsigned int irq) | |||
78 | ll_emma2rh_irq_enable(irq - emma2rh_irq_base); | 78 | ll_emma2rh_irq_enable(irq - emma2rh_irq_base); |
79 | } | 79 | } |
80 | 80 | ||
81 | hw_irq_controller emma2rh_irq_controller = { | 81 | struct irq_chip emma2rh_irq_controller = { |
82 | .typename = "emma2rh_irq", | 82 | .typename = "emma2rh_irq", |
83 | .startup = emma2rh_irq_startup, | 83 | .startup = emma2rh_irq_startup, |
84 | .shutdown = emma2rh_irq_shutdown, | 84 | .shutdown = emma2rh_irq_shutdown, |
diff --git a/arch/mips/emma2rh/common/prom.c b/arch/mips/emma2rh/common/prom.c index 8bba0b02a204..7433bd8e5562 100644 --- a/arch/mips/emma2rh/common/prom.c +++ b/arch/mips/emma2rh/common/prom.c | |||
@@ -22,7 +22,6 @@ | |||
22 | * along with this program; if not, write to the Free Software | 22 | * along with this program; if not, write to the Free Software |
23 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 23 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
24 | */ | 24 | */ |
25 | #include <linux/config.h> | ||
26 | #include <linux/init.h> | 25 | #include <linux/init.h> |
27 | #include <linux/mm.h> | 26 | #include <linux/mm.h> |
28 | #include <linux/sched.h> | 27 | #include <linux/sched.h> |
diff --git a/arch/mips/emma2rh/markeins/irq.c b/arch/mips/emma2rh/markeins/irq.c index 76dc3faeaf4e..2a736be42c8c 100644 --- a/arch/mips/emma2rh/markeins/irq.c +++ b/arch/mips/emma2rh/markeins/irq.c | |||
@@ -22,7 +22,6 @@ | |||
22 | * along with this program; if not, write to the Free Software | 22 | * along with this program; if not, write to the Free Software |
23 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 23 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
24 | */ | 24 | */ |
25 | #include <linux/config.h> | ||
26 | #include <linux/init.h> | 25 | #include <linux/init.h> |
27 | #include <linux/interrupt.h> | 26 | #include <linux/interrupt.h> |
28 | #include <linux/irq.h> | 27 | #include <linux/irq.h> |
diff --git a/arch/mips/emma2rh/markeins/irq_markeins.c b/arch/mips/emma2rh/markeins/irq_markeins.c index 1783fdab6459..f23ae9fcffa0 100644 --- a/arch/mips/emma2rh/markeins/irq_markeins.c +++ b/arch/mips/emma2rh/markeins/irq_markeins.c | |||
@@ -67,7 +67,7 @@ static void emma2rh_sw_irq_end(unsigned int irq) | |||
67 | ll_emma2rh_sw_irq_enable(irq - emma2rh_sw_irq_base); | 67 | ll_emma2rh_sw_irq_enable(irq - emma2rh_sw_irq_base); |
68 | } | 68 | } |
69 | 69 | ||
70 | hw_irq_controller emma2rh_sw_irq_controller = { | 70 | struct irq_chip emma2rh_sw_irq_controller = { |
71 | .typename = "emma2rh_sw_irq", | 71 | .typename = "emma2rh_sw_irq", |
72 | .startup = emma2rh_sw_irq_startup, | 72 | .startup = emma2rh_sw_irq_startup, |
73 | .shutdown = emma2rh_sw_irq_shutdown, | 73 | .shutdown = emma2rh_sw_irq_shutdown, |
@@ -147,7 +147,7 @@ static void emma2rh_gpio_irq_end(unsigned int irq) | |||
147 | ll_emma2rh_gpio_irq_enable(irq - emma2rh_gpio_irq_base); | 147 | ll_emma2rh_gpio_irq_enable(irq - emma2rh_gpio_irq_base); |
148 | } | 148 | } |
149 | 149 | ||
150 | hw_irq_controller emma2rh_gpio_irq_controller = { | 150 | struct irq_chip emma2rh_gpio_irq_controller = { |
151 | .typename = "emma2rh_gpio_irq", | 151 | .typename = "emma2rh_gpio_irq", |
152 | .startup = emma2rh_gpio_irq_startup, | 152 | .startup = emma2rh_gpio_irq_startup, |
153 | .shutdown = emma2rh_gpio_irq_shutdown, | 153 | .shutdown = emma2rh_gpio_irq_shutdown, |
diff --git a/arch/mips/emma2rh/markeins/platform.c b/arch/mips/emma2rh/markeins/platform.c index 6c1eeae1a898..15cc61df3622 100644 --- a/arch/mips/emma2rh/markeins/platform.c +++ b/arch/mips/emma2rh/markeins/platform.c | |||
@@ -20,7 +20,6 @@ | |||
20 | * along with this program; if not, write to the Free Software | 20 | * along with this program; if not, write to the Free Software |
21 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 21 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
22 | */ | 22 | */ |
23 | #include <linux/config.h> | ||
24 | #include <linux/init.h> | 23 | #include <linux/init.h> |
25 | #include <linux/kernel.h> | 24 | #include <linux/kernel.h> |
26 | #include <linux/types.h> | 25 | #include <linux/types.h> |
diff --git a/arch/mips/emma2rh/markeins/setup.c b/arch/mips/emma2rh/markeins/setup.c index 7d98fdbf8390..b29a44739230 100644 --- a/arch/mips/emma2rh/markeins/setup.c +++ b/arch/mips/emma2rh/markeins/setup.c | |||
@@ -22,7 +22,6 @@ | |||
22 | * along with this program; if not, write to the Free Software | 22 | * along with this program; if not, write to the Free Software |
23 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 23 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
24 | */ | 24 | */ |
25 | #include <linux/config.h> | ||
26 | #include <linux/init.h> | 25 | #include <linux/init.h> |
27 | #include <linux/kernel.h> | 26 | #include <linux/kernel.h> |
28 | #include <linux/types.h> | 27 | #include <linux/types.h> |
@@ -105,7 +104,7 @@ static void __init emma2rh_time_init(void) | |||
105 | mips_hpt_frequency = (bus_frequency * (4 + reg)) / 4 / 2; | 104 | mips_hpt_frequency = (bus_frequency * (4 + reg)) / 4 / 2; |
106 | } | 105 | } |
107 | 106 | ||
108 | static void __init emma2rh_timer_setup(struct irqaction *irq) | 107 | void __init plat_timer_setup(struct irqaction *irq) |
109 | { | 108 | { |
110 | /* we are using the cpu counter for timer interrupts */ | 109 | /* we are using the cpu counter for timer interrupts */ |
111 | setup_irq(CPU_IRQ_BASE + 7, irq); | 110 | setup_irq(CPU_IRQ_BASE + 7, irq); |
@@ -150,7 +149,6 @@ void __init plat_mem_setup(void) | |||
150 | set_io_port_base(KSEG1ADDR(EMMA2RH_PCI_IO_BASE)); | 149 | set_io_port_base(KSEG1ADDR(EMMA2RH_PCI_IO_BASE)); |
151 | 150 | ||
152 | board_time_init = emma2rh_time_init; | 151 | board_time_init = emma2rh_time_init; |
153 | board_timer_setup = emma2rh_timer_setup; | ||
154 | 152 | ||
155 | _machine_restart = markeins_machine_restart; | 153 | _machine_restart = markeins_machine_restart; |
156 | _machine_halt = markeins_machine_halt; | 154 | _machine_halt = markeins_machine_halt; |
diff --git a/arch/mips/gt64120/ev64120/irq.c b/arch/mips/gt64120/ev64120/irq.c index f489a8067a93..5d939ac58f3f 100644 --- a/arch/mips/gt64120/ev64120/irq.c +++ b/arch/mips/gt64120/ev64120/irq.c | |||
@@ -104,7 +104,7 @@ static void end_ev64120_irq(unsigned int irq) | |||
104 | enable_ev64120_irq(irq); | 104 | enable_ev64120_irq(irq); |
105 | } | 105 | } |
106 | 106 | ||
107 | static struct hw_interrupt_type ev64120_irq_type = { | 107 | static struct irq_chip ev64120_irq_type = { |
108 | .typename = "EV64120", | 108 | .typename = "EV64120", |
109 | .startup = startup_ev64120_irq, | 109 | .startup = startup_ev64120_irq, |
110 | .shutdown = shutdown_ev64120_irq, | 110 | .shutdown = shutdown_ev64120_irq, |
@@ -138,7 +138,7 @@ void __init arch_init_irq(void) | |||
138 | /* Let's initialize our IRQ descriptors */ | 138 | /* Let's initialize our IRQ descriptors */ |
139 | for (i = 0; i < NR_IRQS; i++) { | 139 | for (i = 0; i < NR_IRQS; i++) { |
140 | irq_desc[i].status = 0; | 140 | irq_desc[i].status = 0; |
141 | irq_desc[i].chip = &no_irq_type; | 141 | irq_desc[i].chip = &no_irq_chip; |
142 | irq_desc[i].action = NULL; | 142 | irq_desc[i].action = NULL; |
143 | irq_desc[i].depth = 0; | 143 | irq_desc[i].depth = 0; |
144 | spin_lock_init(&irq_desc[i].lock); | 144 | spin_lock_init(&irq_desc[i].lock); |
diff --git a/arch/mips/gt64120/wrppmc/setup.c b/arch/mips/gt64120/wrppmc/setup.c index 2db6375ef29e..429afc400cb4 100644 --- a/arch/mips/gt64120/wrppmc/setup.c +++ b/arch/mips/gt64120/wrppmc/setup.c | |||
@@ -8,7 +8,6 @@ | |||
8 | * Copyright (C) 1996, 1997, 2004 by Ralf Baechle (ralf@linux-mips.org) | 8 | * Copyright (C) 1996, 1997, 2004 by Ralf Baechle (ralf@linux-mips.org) |
9 | * Copyright (C) 2006, Wind River System Inc. Rongkai.zhan <rongkai.zhan@windriver.com> | 9 | * Copyright (C) 2006, Wind River System Inc. Rongkai.zhan <rongkai.zhan@windriver.com> |
10 | */ | 10 | */ |
11 | #include <linux/config.h> | ||
12 | #include <linux/init.h> | 11 | #include <linux/init.h> |
13 | #include <linux/string.h> | 12 | #include <linux/string.h> |
14 | #include <linux/kernel.h> | 13 | #include <linux/kernel.h> |
@@ -128,7 +127,6 @@ static void wrppmc_setup_serial(void) | |||
128 | void __init plat_mem_setup(void) | 127 | void __init plat_mem_setup(void) |
129 | { | 128 | { |
130 | extern void wrppmc_time_init(void); | 129 | extern void wrppmc_time_init(void); |
131 | extern void wrppmc_timer_setup(struct irqaction *); | ||
132 | extern void wrppmc_machine_restart(char *command); | 130 | extern void wrppmc_machine_restart(char *command); |
133 | extern void wrppmc_machine_halt(void); | 131 | extern void wrppmc_machine_halt(void); |
134 | extern void wrppmc_machine_power_off(void); | 132 | extern void wrppmc_machine_power_off(void); |
@@ -139,7 +137,6 @@ void __init plat_mem_setup(void) | |||
139 | 137 | ||
140 | /* Use MIPS Count/Compare Timer */ | 138 | /* Use MIPS Count/Compare Timer */ |
141 | board_time_init = wrppmc_time_init; | 139 | board_time_init = wrppmc_time_init; |
142 | board_timer_setup = wrppmc_timer_setup; | ||
143 | 140 | ||
144 | /* This makes the operations of 'in/out[bwl]' to the | 141 | /* This makes the operations of 'in/out[bwl]' to the |
145 | * physical address ( < KSEG0) can work via KSEG1 | 142 | * physical address ( < KSEG0) can work via KSEG1 |
diff --git a/arch/mips/gt64120/wrppmc/time.c b/arch/mips/gt64120/wrppmc/time.c index 6c24a82df0dd..5b440859bcee 100644 --- a/arch/mips/gt64120/wrppmc/time.c +++ b/arch/mips/gt64120/wrppmc/time.c | |||
@@ -10,7 +10,6 @@ | |||
10 | * Copyright (C) 1996, 1997, 2004 by Ralf Baechle (ralf@linux-mips.org) | 10 | * Copyright (C) 1996, 1997, 2004 by Ralf Baechle (ralf@linux-mips.org) |
11 | * Copyright (C) 2006, Wind River System Inc. | 11 | * Copyright (C) 2006, Wind River System Inc. |
12 | */ | 12 | */ |
13 | #include <linux/config.h> | ||
14 | #include <linux/init.h> | 13 | #include <linux/init.h> |
15 | #include <linux/string.h> | 14 | #include <linux/string.h> |
16 | #include <linux/kernel.h> | 15 | #include <linux/kernel.h> |
@@ -27,7 +26,7 @@ | |||
27 | 26 | ||
28 | #define WRPPMC_CPU_CLK_FREQ 40000000 /* 40MHZ */ | 27 | #define WRPPMC_CPU_CLK_FREQ 40000000 /* 40MHZ */ |
29 | 28 | ||
30 | void __init wrppmc_timer_setup(struct irqaction *irq) | 29 | void __init plat_timer_setup(struct irqaction *irq) |
31 | { | 30 | { |
32 | /* Install ISR for timer interrupt */ | 31 | /* Install ISR for timer interrupt */ |
33 | setup_irq(WRPPMC_MIPS_TIMER_IRQ, irq); | 32 | setup_irq(WRPPMC_MIPS_TIMER_IRQ, irq); |
diff --git a/arch/mips/ite-boards/generic/irq.c b/arch/mips/ite-boards/generic/irq.c index a6749c56fe38..cb59ca4f76f0 100644 --- a/arch/mips/ite-boards/generic/irq.c +++ b/arch/mips/ite-boards/generic/irq.c | |||
@@ -133,7 +133,7 @@ static void end_ite_irq(unsigned int irq) | |||
133 | enable_it8172_irq(irq); | 133 | enable_it8172_irq(irq); |
134 | } | 134 | } |
135 | 135 | ||
136 | static struct hw_interrupt_type it8172_irq_type = { | 136 | static struct irq_chip it8172_irq_type = { |
137 | .typename = "ITE8172", | 137 | .typename = "ITE8172", |
138 | .startup = startup_ite_irq, | 138 | .startup = startup_ite_irq, |
139 | .shutdown = shutdown_ite_irq, | 139 | .shutdown = shutdown_ite_irq, |
@@ -153,7 +153,7 @@ static void ack_none(unsigned int irq) { } | |||
153 | #define shutdown_none disable_none | 153 | #define shutdown_none disable_none |
154 | #define end_none enable_none | 154 | #define end_none enable_none |
155 | 155 | ||
156 | static struct hw_interrupt_type cp0_irq_type = { | 156 | static struct irq_chip cp0_irq_type = { |
157 | .typename = "CP0 Count", | 157 | .typename = "CP0 Count", |
158 | .startup = startup_none, | 158 | .startup = startup_none, |
159 | .shutdown = shutdown_none, | 159 | .shutdown = shutdown_none, |
diff --git a/arch/mips/ite-boards/generic/it8172_setup.c b/arch/mips/ite-boards/generic/it8172_setup.c index a4615a5904aa..07faf3cacff2 100644 --- a/arch/mips/ite-boards/generic/it8172_setup.c +++ b/arch/mips/ite-boards/generic/it8172_setup.c | |||
@@ -29,6 +29,7 @@ | |||
29 | #include <linux/init.h> | 29 | #include <linux/init.h> |
30 | #include <linux/sched.h> | 30 | #include <linux/sched.h> |
31 | #include <linux/ioport.h> | 31 | #include <linux/ioport.h> |
32 | #include <linux/irq.h> | ||
32 | #include <linux/serial_reg.h> | 33 | #include <linux/serial_reg.h> |
33 | #include <linux/major.h> | 34 | #include <linux/major.h> |
34 | #include <linux/kdev_t.h> | 35 | #include <linux/kdev_t.h> |
@@ -58,10 +59,7 @@ extern void it8172_restart(char *command); | |||
58 | extern void it8172_halt(void); | 59 | extern void it8172_halt(void); |
59 | extern void it8172_power_off(void); | 60 | extern void it8172_power_off(void); |
60 | 61 | ||
61 | extern void (*board_time_init)(void); | ||
62 | extern void (*board_timer_setup)(struct irqaction *irq); | ||
63 | extern void it8172_time_init(void); | 62 | extern void it8172_time_init(void); |
64 | extern void it8172_timer_setup(struct irqaction *irq); | ||
65 | 63 | ||
66 | #ifdef CONFIG_IT8172_REVC | 64 | #ifdef CONFIG_IT8172_REVC |
67 | struct { | 65 | struct { |
@@ -169,7 +167,6 @@ void __init plat_mem_setup(void) | |||
169 | clear_c0_status(ST0_FR); | 167 | clear_c0_status(ST0_FR); |
170 | 168 | ||
171 | board_time_init = it8172_time_init; | 169 | board_time_init = it8172_time_init; |
172 | board_timer_setup = it8172_timer_setup; | ||
173 | 170 | ||
174 | _machine_restart = it8172_restart; | 171 | _machine_restart = it8172_restart; |
175 | _machine_halt = it8172_halt; | 172 | _machine_halt = it8172_halt; |
diff --git a/arch/mips/ite-boards/generic/time.c b/arch/mips/ite-boards/generic/time.c index dee497a91807..3dc55569ff7f 100644 --- a/arch/mips/ite-boards/generic/time.c +++ b/arch/mips/ite-boards/generic/time.c | |||
@@ -233,7 +233,8 @@ void __init it8172_time_init(void) | |||
233 | } | 233 | } |
234 | 234 | ||
235 | #define ALLINTS (IE_IRQ0 | IE_IRQ1 | IE_IRQ2 | IE_IRQ3 | IE_IRQ4 | IE_IRQ5) | 235 | #define ALLINTS (IE_IRQ0 | IE_IRQ1 | IE_IRQ2 | IE_IRQ3 | IE_IRQ4 | IE_IRQ5) |
236 | void __init it8172_timer_setup(struct irqaction *irq) | 236 | |
237 | void __init plat_timer_setup(struct irqaction *irq) | ||
237 | { | 238 | { |
238 | puts("timer_setup\n"); | 239 | puts("timer_setup\n"); |
239 | put32(NR_IRQS); | 240 | put32(NR_IRQS); |
diff --git a/arch/mips/jazz/irq.c b/arch/mips/jazz/irq.c index 478be9858a1e..eef05093deb4 100644 --- a/arch/mips/jazz/irq.c +++ b/arch/mips/jazz/irq.c | |||
@@ -55,7 +55,7 @@ static void end_r4030_irq(unsigned int irq) | |||
55 | enable_r4030_irq(irq); | 55 | enable_r4030_irq(irq); |
56 | } | 56 | } |
57 | 57 | ||
58 | static struct hw_interrupt_type r4030_irq_type = { | 58 | static struct irq_chip r4030_irq_type = { |
59 | .typename = "R4030", | 59 | .typename = "R4030", |
60 | .startup = startup_r4030_irq, | 60 | .startup = startup_r4030_irq, |
61 | .shutdown = shutdown_r4030_irq, | 61 | .shutdown = shutdown_r4030_irq, |
diff --git a/arch/mips/jazz/setup.c b/arch/mips/jazz/setup.c index 385413e30fdd..487a9ea1ef00 100644 --- a/arch/mips/jazz/setup.c +++ b/arch/mips/jazz/setup.c | |||
@@ -37,7 +37,7 @@ extern void jazz_machine_restart(char *command); | |||
37 | extern void jazz_machine_halt(void); | 37 | extern void jazz_machine_halt(void); |
38 | extern void jazz_machine_power_off(void); | 38 | extern void jazz_machine_power_off(void); |
39 | 39 | ||
40 | static void __init jazz_time_init(struct irqaction *irq) | 40 | void __init plat_time_init(struct irqaction *irq) |
41 | { | 41 | { |
42 | /* set the clock to 100 Hz */ | 42 | /* set the clock to 100 Hz */ |
43 | r4030_write_reg32(JAZZ_TIMER_INTERVAL, 9); | 43 | r4030_write_reg32(JAZZ_TIMER_INTERVAL, 9); |
@@ -75,7 +75,6 @@ void __init plat_mem_setup(void) | |||
75 | for (i = 0; i < ARRAY_SIZE(jazz_io_resources); i++) | 75 | for (i = 0; i < ARRAY_SIZE(jazz_io_resources); i++) |
76 | request_resource(&ioport_resource, jazz_io_resources + i); | 76 | request_resource(&ioport_resource, jazz_io_resources + i); |
77 | 77 | ||
78 | board_timer_setup = jazz_time_init; | ||
79 | /* The RTC is outside the port address space */ | 78 | /* The RTC is outside the port address space */ |
80 | 79 | ||
81 | _machine_restart = jazz_machine_restart; | 80 | _machine_restart = jazz_machine_restart; |
diff --git a/arch/mips/jmr3927/rbhma3100/irq.c b/arch/mips/jmr3927/rbhma3100/irq.c index 9c43702e7a93..722174481467 100644 --- a/arch/mips/jmr3927/rbhma3100/irq.c +++ b/arch/mips/jmr3927/rbhma3100/irq.c | |||
@@ -416,7 +416,7 @@ void __init arch_init_irq(void) | |||
416 | set_c0_status(ST0_IM); /* IE bit is still 0. */ | 416 | set_c0_status(ST0_IM); /* IE bit is still 0. */ |
417 | } | 417 | } |
418 | 418 | ||
419 | static hw_irq_controller jmr3927_irq_controller = { | 419 | static struct irq_chip jmr3927_irq_controller = { |
420 | .typename = "jmr3927_irq", | 420 | .typename = "jmr3927_irq", |
421 | .startup = jmr3927_irq_startup, | 421 | .startup = jmr3927_irq_startup, |
422 | .shutdown = jmr3927_irq_shutdown, | 422 | .shutdown = jmr3927_irq_shutdown, |
diff --git a/arch/mips/jmr3927/rbhma3100/setup.c b/arch/mips/jmr3927/rbhma3100/setup.c index 6d4635d89d94..025434054ed0 100644 --- a/arch/mips/jmr3927/rbhma3100/setup.c +++ b/arch/mips/jmr3927/rbhma3100/setup.c | |||
@@ -40,6 +40,7 @@ | |||
40 | #include <linux/sched.h> | 40 | #include <linux/sched.h> |
41 | #include <linux/pci.h> | 41 | #include <linux/pci.h> |
42 | #include <linux/ide.h> | 42 | #include <linux/ide.h> |
43 | #include <linux/irq.h> | ||
43 | #include <linux/ioport.h> | 44 | #include <linux/ioport.h> |
44 | #include <linux/param.h> /* for HZ */ | 45 | #include <linux/param.h> /* for HZ */ |
45 | #include <linux/delay.h> | 46 | #include <linux/delay.h> |
@@ -183,9 +184,8 @@ static void __init jmr3927_time_init(void) | |||
183 | } | 184 | } |
184 | 185 | ||
185 | unsigned long jmr3927_do_gettimeoffset(void); | 186 | unsigned long jmr3927_do_gettimeoffset(void); |
186 | extern int setup_irq(unsigned int irq, struct irqaction *irqaction); | ||
187 | 187 | ||
188 | static void __init jmr3927_timer_setup(struct irqaction *irq) | 188 | void __init plat_timer_setup(struct irqaction *irq) |
189 | { | 189 | { |
190 | do_gettimeoffset = jmr3927_do_gettimeoffset; | 190 | do_gettimeoffset = jmr3927_do_gettimeoffset; |
191 | 191 | ||
@@ -244,7 +244,6 @@ void __init plat_mem_setup(void) | |||
244 | set_io_port_base(JMR3927_PORT_BASE + JMR3927_PCIIO); | 244 | set_io_port_base(JMR3927_PORT_BASE + JMR3927_PCIIO); |
245 | 245 | ||
246 | board_time_init = jmr3927_time_init; | 246 | board_time_init = jmr3927_time_init; |
247 | board_timer_setup = jmr3927_timer_setup; | ||
248 | 247 | ||
249 | _machine_restart = jmr3927_machine_restart; | 248 | _machine_restart = jmr3927_machine_restart; |
250 | _machine_halt = jmr3927_machine_halt; | 249 | _machine_halt = jmr3927_machine_halt; |
diff --git a/arch/mips/kernel/apm.c b/arch/mips/kernel/apm.c index 7bdbcd811b57..528e731049c1 100644 --- a/arch/mips/kernel/apm.c +++ b/arch/mips/kernel/apm.c | |||
@@ -10,7 +10,6 @@ | |||
10 | * [This document is available from Microsoft at: | 10 | * [This document is available from Microsoft at: |
11 | * http://www.microsoft.com/hwdev/busbios/amp_12.htm] | 11 | * http://www.microsoft.com/hwdev/busbios/amp_12.htm] |
12 | */ | 12 | */ |
13 | #include <linux/config.h> | ||
14 | #include <linux/module.h> | 13 | #include <linux/module.h> |
15 | #include <linux/poll.h> | 14 | #include <linux/poll.h> |
16 | #include <linux/timer.h> | 15 | #include <linux/timer.h> |
diff --git a/arch/mips/kernel/cpu-probe.c b/arch/mips/kernel/cpu-probe.c index ba08f055feb2..aa2caa67299a 100644 --- a/arch/mips/kernel/cpu-probe.c +++ b/arch/mips/kernel/cpu-probe.c | |||
@@ -459,7 +459,7 @@ static inline unsigned int decode_config0(struct cpuinfo_mips *c) | |||
459 | isa = (config0 & MIPS_CONF_AT) >> 13; | 459 | isa = (config0 & MIPS_CONF_AT) >> 13; |
460 | switch (isa) { | 460 | switch (isa) { |
461 | case 0: | 461 | case 0: |
462 | switch ((config0 >> 10) & 7) { | 462 | switch ((config0 & MIPS_CONF_AR) >> 10) { |
463 | case 0: | 463 | case 0: |
464 | c->isa_level = MIPS_CPU_ISA_M32R1; | 464 | c->isa_level = MIPS_CPU_ISA_M32R1; |
465 | break; | 465 | break; |
@@ -471,7 +471,7 @@ static inline unsigned int decode_config0(struct cpuinfo_mips *c) | |||
471 | } | 471 | } |
472 | break; | 472 | break; |
473 | case 2: | 473 | case 2: |
474 | switch ((config0 >> 10) & 7) { | 474 | switch ((config0 & MIPS_CONF_AR) >> 10) { |
475 | case 0: | 475 | case 0: |
476 | c->isa_level = MIPS_CPU_ISA_M64R1; | 476 | c->isa_level = MIPS_CPU_ISA_M64R1; |
477 | break; | 477 | break; |
@@ -548,7 +548,7 @@ static inline unsigned int decode_config3(struct cpuinfo_mips *c) | |||
548 | return config3 & MIPS_CONF_M; | 548 | return config3 & MIPS_CONF_M; |
549 | } | 549 | } |
550 | 550 | ||
551 | static inline void decode_configs(struct cpuinfo_mips *c) | 551 | static void __init decode_configs(struct cpuinfo_mips *c) |
552 | { | 552 | { |
553 | /* MIPS32 or MIPS64 compliant CPU. */ | 553 | /* MIPS32 or MIPS64 compliant CPU. */ |
554 | c->options = MIPS_CPU_4KEX | MIPS_CPU_4K_CACHE | MIPS_CPU_COUNTER | | 554 | c->options = MIPS_CPU_4KEX | MIPS_CPU_4K_CACHE | MIPS_CPU_COUNTER | |
diff --git a/arch/mips/kernel/entry.S b/arch/mips/kernel/entry.S index 01e7fa86aa43..766655f35250 100644 --- a/arch/mips/kernel/entry.S +++ b/arch/mips/kernel/entry.S | |||
@@ -113,6 +113,21 @@ FEXPORT(restore_all) # restore full frame | |||
113 | RESTORE_AT | 113 | RESTORE_AT |
114 | RESTORE_STATIC | 114 | RESTORE_STATIC |
115 | FEXPORT(restore_partial) # restore partial frame | 115 | FEXPORT(restore_partial) # restore partial frame |
116 | #ifdef CONFIG_TRACE_IRQFLAGS | ||
117 | SAVE_STATIC | ||
118 | SAVE_AT | ||
119 | SAVE_TEMP | ||
120 | LONG_L v0, PT_STATUS(sp) | ||
121 | and v0, 1 | ||
122 | beqz v0, 1f | ||
123 | jal trace_hardirqs_on | ||
124 | b 2f | ||
125 | 1: jal trace_hardirqs_off | ||
126 | 2: | ||
127 | RESTORE_TEMP | ||
128 | RESTORE_AT | ||
129 | RESTORE_STATIC | ||
130 | #endif | ||
116 | RESTORE_SOME | 131 | RESTORE_SOME |
117 | RESTORE_SP_AND_RET | 132 | RESTORE_SP_AND_RET |
118 | .set at | 133 | .set at |
diff --git a/arch/mips/kernel/gdb-low.S b/arch/mips/kernel/gdb-low.S index 666bc9014cbd..2c446063636a 100644 --- a/arch/mips/kernel/gdb-low.S +++ b/arch/mips/kernel/gdb-low.S | |||
@@ -7,6 +7,7 @@ | |||
7 | 7 | ||
8 | #include <asm/asm.h> | 8 | #include <asm/asm.h> |
9 | #include <asm/errno.h> | 9 | #include <asm/errno.h> |
10 | #include <asm/irqflags.h> | ||
10 | #include <asm/mipsregs.h> | 11 | #include <asm/mipsregs.h> |
11 | #include <asm/regdef.h> | 12 | #include <asm/regdef.h> |
12 | #include <asm/stackframe.h> | 13 | #include <asm/stackframe.h> |
@@ -120,6 +121,7 @@ | |||
120 | LONG_S $31, GDB_FR_REG31(sp) | 121 | LONG_S $31, GDB_FR_REG31(sp) |
121 | 122 | ||
122 | CLI /* disable interrupts */ | 123 | CLI /* disable interrupts */ |
124 | TRACE_IRQS_OFF | ||
123 | 125 | ||
124 | /* | 126 | /* |
125 | * Followed by the floating point registers | 127 | * Followed by the floating point registers |
diff --git a/arch/mips/kernel/genex.S b/arch/mips/kernel/genex.S index 5254a2222d2b..37fda3dcdfc5 100644 --- a/arch/mips/kernel/genex.S +++ b/arch/mips/kernel/genex.S | |||
@@ -13,6 +13,7 @@ | |||
13 | #include <asm/asm.h> | 13 | #include <asm/asm.h> |
14 | #include <asm/asmmacro.h> | 14 | #include <asm/asmmacro.h> |
15 | #include <asm/cacheops.h> | 15 | #include <asm/cacheops.h> |
16 | #include <asm/irqflags.h> | ||
16 | #include <asm/regdef.h> | 17 | #include <asm/regdef.h> |
17 | #include <asm/fpregdef.h> | 18 | #include <asm/fpregdef.h> |
18 | #include <asm/mipsregs.h> | 19 | #include <asm/mipsregs.h> |
@@ -128,6 +129,7 @@ handle_vcei: | |||
128 | NESTED(handle_int, PT_SIZE, sp) | 129 | NESTED(handle_int, PT_SIZE, sp) |
129 | SAVE_ALL | 130 | SAVE_ALL |
130 | CLI | 131 | CLI |
132 | TRACE_IRQS_OFF | ||
131 | 133 | ||
132 | PTR_LA ra, ret_from_irq | 134 | PTR_LA ra, ret_from_irq |
133 | move a0, sp | 135 | move a0, sp |
@@ -216,6 +218,7 @@ NESTED(except_vec_vi_handler, 0, sp) | |||
216 | _ehb | 218 | _ehb |
217 | #endif /* CONFIG_MIPS_MT_SMTC */ | 219 | #endif /* CONFIG_MIPS_MT_SMTC */ |
218 | CLI | 220 | CLI |
221 | TRACE_IRQS_OFF | ||
219 | move a0, sp | 222 | move a0, sp |
220 | jalr v0 | 223 | jalr v0 |
221 | j ret_from_irq | 224 | j ret_from_irq |
@@ -288,11 +291,13 @@ NESTED(nmi_handler, PT_SIZE, sp) | |||
288 | .endm | 291 | .endm |
289 | 292 | ||
290 | .macro __build_clear_sti | 293 | .macro __build_clear_sti |
294 | TRACE_IRQS_ON | ||
291 | STI | 295 | STI |
292 | .endm | 296 | .endm |
293 | 297 | ||
294 | .macro __build_clear_cli | 298 | .macro __build_clear_cli |
295 | CLI | 299 | CLI |
300 | TRACE_IRQS_OFF | ||
296 | .endm | 301 | .endm |
297 | 302 | ||
298 | .macro __build_clear_fpe | 303 | .macro __build_clear_fpe |
@@ -300,6 +305,7 @@ NESTED(nmi_handler, PT_SIZE, sp) | |||
300 | li a2, ~(0x3f << 12) | 305 | li a2, ~(0x3f << 12) |
301 | and a2, a1 | 306 | and a2, a1 |
302 | ctc1 a2, fcr31 | 307 | ctc1 a2, fcr31 |
308 | TRACE_IRQS_ON | ||
303 | STI | 309 | STI |
304 | .endm | 310 | .endm |
305 | 311 | ||
@@ -365,7 +371,7 @@ NESTED(nmi_handler, PT_SIZE, sp) | |||
365 | BUILD_HANDLER mdmx mdmx sti silent /* #22 */ | 371 | BUILD_HANDLER mdmx mdmx sti silent /* #22 */ |
366 | BUILD_HANDLER watch watch sti verbose /* #23 */ | 372 | BUILD_HANDLER watch watch sti verbose /* #23 */ |
367 | BUILD_HANDLER mcheck mcheck cli verbose /* #24 */ | 373 | BUILD_HANDLER mcheck mcheck cli verbose /* #24 */ |
368 | BUILD_HANDLER mt mt sti verbose /* #25 */ | 374 | BUILD_HANDLER mt mt sti silent /* #25 */ |
369 | BUILD_HANDLER dsp dsp sti silent /* #26 */ | 375 | BUILD_HANDLER dsp dsp sti silent /* #26 */ |
370 | BUILD_HANDLER reserved reserved sti verbose /* others */ | 376 | BUILD_HANDLER reserved reserved sti verbose /* others */ |
371 | 377 | ||
diff --git a/arch/mips/kernel/head.S b/arch/mips/kernel/head.S index 476c1eb33c94..8c6db0fc72f0 100644 --- a/arch/mips/kernel/head.S +++ b/arch/mips/kernel/head.S | |||
@@ -5,7 +5,7 @@ | |||
5 | * | 5 | * |
6 | * Copyright (C) 1994, 1995 Waldorf Electronics | 6 | * Copyright (C) 1994, 1995 Waldorf Electronics |
7 | * Written by Ralf Baechle and Andreas Busse | 7 | * Written by Ralf Baechle and Andreas Busse |
8 | * Copyright (C) 1994, 95, 96, 97, 98, 99, 2003 Ralf Baechle | 8 | * Copyright (C) 1994 - 99, 2003, 06 Ralf Baechle |
9 | * Copyright (C) 1996 Paul M. Antoine | 9 | * Copyright (C) 1996 Paul M. Antoine |
10 | * Modified for DECStation and hence R3000 support by Paul M. Antoine | 10 | * Modified for DECStation and hence R3000 support by Paul M. Antoine |
11 | * Further modifications by David S. Miller and Harald Koerfgen | 11 | * Further modifications by David S. Miller and Harald Koerfgen |
@@ -18,6 +18,7 @@ | |||
18 | 18 | ||
19 | #include <asm/asm.h> | 19 | #include <asm/asm.h> |
20 | #include <asm/asmmacro.h> | 20 | #include <asm/asmmacro.h> |
21 | #include <asm/irqflags.h> | ||
21 | #include <asm/regdef.h> | 22 | #include <asm/regdef.h> |
22 | #include <asm/page.h> | 23 | #include <asm/page.h> |
23 | #include <asm/mipsregs.h> | 24 | #include <asm/mipsregs.h> |
diff --git a/arch/mips/kernel/i8259.c b/arch/mips/kernel/i8259.c index 91ffb1233cad..ea36c8e8852c 100644 --- a/arch/mips/kernel/i8259.c +++ b/arch/mips/kernel/i8259.c | |||
@@ -51,7 +51,7 @@ static unsigned int startup_8259A_irq(unsigned int irq) | |||
51 | return 0; /* never anything pending */ | 51 | return 0; /* never anything pending */ |
52 | } | 52 | } |
53 | 53 | ||
54 | static struct hw_interrupt_type i8259A_irq_type = { | 54 | static struct irq_chip i8259A_irq_type = { |
55 | .typename = "XT-PIC", | 55 | .typename = "XT-PIC", |
56 | .startup = startup_8259A_irq, | 56 | .startup = startup_8259A_irq, |
57 | .shutdown = shutdown_8259A_irq, | 57 | .shutdown = shutdown_8259A_irq, |
diff --git a/arch/mips/kernel/irq-msc01.c b/arch/mips/kernel/irq-msc01.c index f8cd1ac64d88..63dfeb41796b 100644 --- a/arch/mips/kernel/irq-msc01.c +++ b/arch/mips/kernel/irq-msc01.c | |||
@@ -137,7 +137,7 @@ msc_bind_eic_interrupt (unsigned int irq, unsigned int set) | |||
137 | 137 | ||
138 | #define shutdown_msc_irq disable_msc_irq | 138 | #define shutdown_msc_irq disable_msc_irq |
139 | 139 | ||
140 | struct hw_interrupt_type msc_levelirq_type = { | 140 | struct irq_chip msc_levelirq_type = { |
141 | .typename = "SOC-it-Level", | 141 | .typename = "SOC-it-Level", |
142 | .startup = startup_msc_irq, | 142 | .startup = startup_msc_irq, |
143 | .shutdown = shutdown_msc_irq, | 143 | .shutdown = shutdown_msc_irq, |
@@ -147,7 +147,7 @@ struct hw_interrupt_type msc_levelirq_type = { | |||
147 | .end = end_msc_irq, | 147 | .end = end_msc_irq, |
148 | }; | 148 | }; |
149 | 149 | ||
150 | struct hw_interrupt_type msc_edgeirq_type = { | 150 | struct irq_chip msc_edgeirq_type = { |
151 | .typename = "SOC-it-Edge", | 151 | .typename = "SOC-it-Edge", |
152 | .startup =startup_msc_irq, | 152 | .startup =startup_msc_irq, |
153 | .shutdown = shutdown_msc_irq, | 153 | .shutdown = shutdown_msc_irq, |
diff --git a/arch/mips/kernel/irq-mv6434x.c b/arch/mips/kernel/irq-mv6434x.c index f9c763a65547..b117e64da64d 100644 --- a/arch/mips/kernel/irq-mv6434x.c +++ b/arch/mips/kernel/irq-mv6434x.c | |||
@@ -136,7 +136,7 @@ void ll_mv64340_irq(struct pt_regs *regs) | |||
136 | 136 | ||
137 | #define shutdown_mv64340_irq disable_mv64340_irq | 137 | #define shutdown_mv64340_irq disable_mv64340_irq |
138 | 138 | ||
139 | struct hw_interrupt_type mv64340_irq_type = { | 139 | struct irq_chip mv64340_irq_type = { |
140 | .typename = "MV-64340", | 140 | .typename = "MV-64340", |
141 | .startup = startup_mv64340_irq, | 141 | .startup = startup_mv64340_irq, |
142 | .shutdown = shutdown_mv64340_irq, | 142 | .shutdown = shutdown_mv64340_irq, |
diff --git a/arch/mips/kernel/irq-rm7000.c b/arch/mips/kernel/irq-rm7000.c index 121da385a94d..6b54c7109e2e 100644 --- a/arch/mips/kernel/irq-rm7000.c +++ b/arch/mips/kernel/irq-rm7000.c | |||
@@ -71,7 +71,7 @@ static void rm7k_cpu_irq_end(unsigned int irq) | |||
71 | unmask_rm7k_irq(irq); | 71 | unmask_rm7k_irq(irq); |
72 | } | 72 | } |
73 | 73 | ||
74 | static hw_irq_controller rm7k_irq_controller = { | 74 | static struct irq_chip rm7k_irq_controller = { |
75 | .typename = "RM7000", | 75 | .typename = "RM7000", |
76 | .startup = rm7k_cpu_irq_startup, | 76 | .startup = rm7k_cpu_irq_startup, |
77 | .shutdown = rm7k_cpu_irq_shutdown, | 77 | .shutdown = rm7k_cpu_irq_shutdown, |
diff --git a/arch/mips/kernel/irq-rm9000.c b/arch/mips/kernel/irq-rm9000.c index 25109c103e44..62f011ba97a2 100644 --- a/arch/mips/kernel/irq-rm9000.c +++ b/arch/mips/kernel/irq-rm9000.c | |||
@@ -105,7 +105,7 @@ static void rm9k_cpu_irq_end(unsigned int irq) | |||
105 | unmask_rm9k_irq(irq); | 105 | unmask_rm9k_irq(irq); |
106 | } | 106 | } |
107 | 107 | ||
108 | static hw_irq_controller rm9k_irq_controller = { | 108 | static struct irq_chip rm9k_irq_controller = { |
109 | .typename = "RM9000", | 109 | .typename = "RM9000", |
110 | .startup = rm9k_cpu_irq_startup, | 110 | .startup = rm9k_cpu_irq_startup, |
111 | .shutdown = rm9k_cpu_irq_shutdown, | 111 | .shutdown = rm9k_cpu_irq_shutdown, |
@@ -115,7 +115,7 @@ static hw_irq_controller rm9k_irq_controller = { | |||
115 | .end = rm9k_cpu_irq_end, | 115 | .end = rm9k_cpu_irq_end, |
116 | }; | 116 | }; |
117 | 117 | ||
118 | static hw_irq_controller rm9k_perfcounter_irq = { | 118 | static struct irq_chip rm9k_perfcounter_irq = { |
119 | .typename = "RM9000", | 119 | .typename = "RM9000", |
120 | .startup = rm9k_perfcounter_irq_startup, | 120 | .startup = rm9k_perfcounter_irq_startup, |
121 | .shutdown = rm9k_perfcounter_irq_shutdown, | 121 | .shutdown = rm9k_perfcounter_irq_shutdown, |
diff --git a/arch/mips/kernel/irq.c b/arch/mips/kernel/irq.c index cde5e5afa179..d955aaefbb8e 100644 --- a/arch/mips/kernel/irq.c +++ b/arch/mips/kernel/irq.c | |||
@@ -136,7 +136,7 @@ void __init init_IRQ(void) | |||
136 | irq_desc[i].status = IRQ_DISABLED; | 136 | irq_desc[i].status = IRQ_DISABLED; |
137 | irq_desc[i].action = NULL; | 137 | irq_desc[i].action = NULL; |
138 | irq_desc[i].depth = 1; | 138 | irq_desc[i].depth = 1; |
139 | irq_desc[i].chip = &no_irq_type; | 139 | irq_desc[i].chip = &no_irq_chip; |
140 | spin_lock_init(&irq_desc[i].lock); | 140 | spin_lock_init(&irq_desc[i].lock); |
141 | #ifdef CONFIG_MIPS_MT_SMTC | 141 | #ifdef CONFIG_MIPS_MT_SMTC |
142 | irq_hwmask[i] = 0; | 142 | irq_hwmask[i] = 0; |
diff --git a/arch/mips/kernel/irq_cpu.c b/arch/mips/kernel/irq_cpu.c index 0e455a8ad860..9bb21c7f2149 100644 --- a/arch/mips/kernel/irq_cpu.c +++ b/arch/mips/kernel/irq_cpu.c | |||
@@ -94,7 +94,7 @@ static void mips_cpu_irq_end(unsigned int irq) | |||
94 | unmask_mips_irq(irq); | 94 | unmask_mips_irq(irq); |
95 | } | 95 | } |
96 | 96 | ||
97 | static hw_irq_controller mips_cpu_irq_controller = { | 97 | static struct irq_chip mips_cpu_irq_controller = { |
98 | .typename = "MIPS", | 98 | .typename = "MIPS", |
99 | .startup = mips_cpu_irq_startup, | 99 | .startup = mips_cpu_irq_startup, |
100 | .shutdown = mips_cpu_irq_shutdown, | 100 | .shutdown = mips_cpu_irq_shutdown, |
@@ -140,7 +140,7 @@ static void mips_mt_cpu_irq_ack(unsigned int irq) | |||
140 | 140 | ||
141 | #define mips_mt_cpu_irq_end mips_cpu_irq_end | 141 | #define mips_mt_cpu_irq_end mips_cpu_irq_end |
142 | 142 | ||
143 | static hw_irq_controller mips_mt_cpu_irq_controller = { | 143 | static struct irq_chip mips_mt_cpu_irq_controller = { |
144 | .typename = "MIPS", | 144 | .typename = "MIPS", |
145 | .startup = mips_mt_cpu_irq_startup, | 145 | .startup = mips_mt_cpu_irq_startup, |
146 | .shutdown = mips_mt_cpu_irq_shutdown, | 146 | .shutdown = mips_mt_cpu_irq_shutdown, |
diff --git a/arch/mips/kernel/mips-mt.c b/arch/mips/kernel/mips-mt.c index 4dcc39f42951..c1373a6e668b 100644 --- a/arch/mips/kernel/mips-mt.c +++ b/arch/mips/kernel/mips-mt.c | |||
@@ -7,6 +7,7 @@ | |||
7 | #include <linux/sched.h> | 7 | #include <linux/sched.h> |
8 | #include <linux/cpumask.h> | 8 | #include <linux/cpumask.h> |
9 | #include <linux/interrupt.h> | 9 | #include <linux/interrupt.h> |
10 | #include <linux/security.h> | ||
10 | 11 | ||
11 | #include <asm/cpu.h> | 12 | #include <asm/cpu.h> |
12 | #include <asm/processor.h> | 13 | #include <asm/processor.h> |
diff --git a/arch/mips/kernel/scall32-o32.S b/arch/mips/kernel/scall32-o32.S index 8f8101f878ca..ba1bcd83c7d3 100644 --- a/arch/mips/kernel/scall32-o32.S +++ b/arch/mips/kernel/scall32-o32.S | |||
@@ -3,13 +3,14 @@ | |||
3 | * License. See the file "COPYING" in the main directory of this archive | 3 | * License. See the file "COPYING" in the main directory of this archive |
4 | * for more details. | 4 | * for more details. |
5 | * | 5 | * |
6 | * Copyright (C) 1995, 96, 97, 98, 99, 2000, 01, 02 by Ralf Baechle | 6 | * Copyright (C) 1995-99, 2000- 02, 06 Ralf Baechle <ralf@linux-mips.org> |
7 | * Copyright (C) 2001 MIPS Technologies, Inc. | 7 | * Copyright (C) 2001 MIPS Technologies, Inc. |
8 | * Copyright (C) 2004 Thiemo Seufer | 8 | * Copyright (C) 2004 Thiemo Seufer |
9 | */ | 9 | */ |
10 | #include <linux/errno.h> | 10 | #include <linux/errno.h> |
11 | #include <asm/asm.h> | 11 | #include <asm/asm.h> |
12 | #include <asm/asmmacro.h> | 12 | #include <asm/asmmacro.h> |
13 | #include <asm/irqflags.h> | ||
13 | #include <asm/mipsregs.h> | 14 | #include <asm/mipsregs.h> |
14 | #include <asm/regdef.h> | 15 | #include <asm/regdef.h> |
15 | #include <asm/stackframe.h> | 16 | #include <asm/stackframe.h> |
@@ -27,6 +28,18 @@ | |||
27 | NESTED(handle_sys, PT_SIZE, sp) | 28 | NESTED(handle_sys, PT_SIZE, sp) |
28 | .set noat | 29 | .set noat |
29 | SAVE_SOME | 30 | SAVE_SOME |
31 | #ifdef CONFIG_TRACE_IRQFLAGS | ||
32 | TRACE_IRQS_ON | ||
33 | #ifdef CONFIG_64BIT | ||
34 | LONG_L $8, PT_R8(sp) | ||
35 | LONG_L $9, PT_R9(sp) | ||
36 | #endif | ||
37 | LONG_L $7, PT_R7(sp) | ||
38 | LONG_L $6, PT_R6(sp) | ||
39 | LONG_L $5, PT_R5(sp) | ||
40 | LONG_L $4, PT_R4(sp) | ||
41 | LONG_L $2, PT_R2(sp) | ||
42 | #endif | ||
30 | STI | 43 | STI |
31 | .set at | 44 | .set at |
32 | 45 | ||
@@ -647,6 +660,8 @@ einval: li v0, -EINVAL | |||
647 | sys sys_splice 4 | 660 | sys sys_splice 4 |
648 | sys sys_sync_file_range 7 /* 4305 */ | 661 | sys sys_sync_file_range 7 /* 4305 */ |
649 | sys sys_tee 4 | 662 | sys sys_tee 4 |
663 | sys sys_vmsplice 4 | ||
664 | sys sys_move_pages 6 | ||
650 | .endm | 665 | .endm |
651 | 666 | ||
652 | /* We pre-compute the number of _instruction_ bytes needed to | 667 | /* We pre-compute the number of _instruction_ bytes needed to |
diff --git a/arch/mips/kernel/scall64-64.S b/arch/mips/kernel/scall64-64.S index b4a34a625a2e..939e172db953 100644 --- a/arch/mips/kernel/scall64-64.S +++ b/arch/mips/kernel/scall64-64.S | |||
@@ -10,6 +10,7 @@ | |||
10 | #include <linux/errno.h> | 10 | #include <linux/errno.h> |
11 | #include <asm/asm.h> | 11 | #include <asm/asm.h> |
12 | #include <asm/asmmacro.h> | 12 | #include <asm/asmmacro.h> |
13 | #include <asm/irqflags.h> | ||
13 | #include <asm/mipsregs.h> | 14 | #include <asm/mipsregs.h> |
14 | #include <asm/regdef.h> | 15 | #include <asm/regdef.h> |
15 | #include <asm/stackframe.h> | 16 | #include <asm/stackframe.h> |
@@ -33,6 +34,7 @@ NESTED(handle_sys64, PT_SIZE, sp) | |||
33 | */ | 34 | */ |
34 | .set noat | 35 | .set noat |
35 | SAVE_SOME | 36 | SAVE_SOME |
37 | TRACE_IRQS_ON | ||
36 | STI | 38 | STI |
37 | .set at | 39 | .set at |
38 | #endif | 40 | #endif |
@@ -462,3 +464,5 @@ sys_call_table: | |||
462 | PTR sys_splice | 464 | PTR sys_splice |
463 | PTR sys_sync_file_range | 465 | PTR sys_sync_file_range |
464 | PTR sys_tee /* 5265 */ | 466 | PTR sys_tee /* 5265 */ |
467 | PTR sys_vmsplice | ||
468 | PTR sys_move_pages | ||
diff --git a/arch/mips/kernel/scall64-n32.S b/arch/mips/kernel/scall64-n32.S index df8c4f8ccd61..98abbc5a9f13 100644 --- a/arch/mips/kernel/scall64-n32.S +++ b/arch/mips/kernel/scall64-n32.S | |||
@@ -10,6 +10,7 @@ | |||
10 | #include <linux/errno.h> | 10 | #include <linux/errno.h> |
11 | #include <asm/asm.h> | 11 | #include <asm/asm.h> |
12 | #include <asm/asmmacro.h> | 12 | #include <asm/asmmacro.h> |
13 | #include <asm/irqflags.h> | ||
13 | #include <asm/mipsregs.h> | 14 | #include <asm/mipsregs.h> |
14 | #include <asm/regdef.h> | 15 | #include <asm/regdef.h> |
15 | #include <asm/stackframe.h> | 16 | #include <asm/stackframe.h> |
@@ -32,6 +33,7 @@ NESTED(handle_sysn32, PT_SIZE, sp) | |||
32 | #ifndef CONFIG_MIPS32_O32 | 33 | #ifndef CONFIG_MIPS32_O32 |
33 | .set noat | 34 | .set noat |
34 | SAVE_SOME | 35 | SAVE_SOME |
36 | TRACE_IRQS_ON | ||
35 | STI | 37 | STI |
36 | .set at | 38 | .set at |
37 | #endif | 39 | #endif |
@@ -388,3 +390,5 @@ EXPORT(sysn32_call_table) | |||
388 | PTR sys_splice | 390 | PTR sys_splice |
389 | PTR sys_sync_file_range | 391 | PTR sys_sync_file_range |
390 | PTR sys_tee | 392 | PTR sys_tee |
393 | PTR sys_vmsplice /* 6271 */ | ||
394 | PTR sys_move_pages | ||
diff --git a/arch/mips/kernel/scall64-o32.S b/arch/mips/kernel/scall64-o32.S index f04fe4f085c3..505c9ee54009 100644 --- a/arch/mips/kernel/scall64-o32.S +++ b/arch/mips/kernel/scall64-o32.S | |||
@@ -16,6 +16,7 @@ | |||
16 | #include <linux/errno.h> | 16 | #include <linux/errno.h> |
17 | #include <asm/asm.h> | 17 | #include <asm/asm.h> |
18 | #include <asm/asmmacro.h> | 18 | #include <asm/asmmacro.h> |
19 | #include <asm/irqflags.h> | ||
19 | #include <asm/mipsregs.h> | 20 | #include <asm/mipsregs.h> |
20 | #include <asm/regdef.h> | 21 | #include <asm/regdef.h> |
21 | #include <asm/stackframe.h> | 22 | #include <asm/stackframe.h> |
@@ -27,6 +28,7 @@ | |||
27 | NESTED(handle_sys, PT_SIZE, sp) | 28 | NESTED(handle_sys, PT_SIZE, sp) |
28 | .set noat | 29 | .set noat |
29 | SAVE_SOME | 30 | SAVE_SOME |
31 | TRACE_IRQS_ON | ||
30 | STI | 32 | STI |
31 | .set at | 33 | .set at |
32 | ld t1, PT_EPC(sp) # skip syscall on return | 34 | ld t1, PT_EPC(sp) # skip syscall on return |
@@ -510,4 +512,6 @@ sys_call_table: | |||
510 | PTR sys_splice | 512 | PTR sys_splice |
511 | PTR sys32_sync_file_range /* 4305 */ | 513 | PTR sys32_sync_file_range /* 4305 */ |
512 | PTR sys_tee | 514 | PTR sys_tee |
515 | PTR sys_vmsplice | ||
516 | PTR compat_sys_move_pages | ||
513 | .size sys_call_table,.-sys_call_table | 517 | .size sys_call_table,.-sys_call_table |
diff --git a/arch/mips/kernel/smp.c b/arch/mips/kernel/smp.c index 9096a5ea4229..221895802dca 100644 --- a/arch/mips/kernel/smp.c +++ b/arch/mips/kernel/smp.c | |||
@@ -319,6 +319,32 @@ static void flush_tlb_mm_ipi(void *mm) | |||
319 | } | 319 | } |
320 | 320 | ||
321 | /* | 321 | /* |
322 | * Special Variant of smp_call_function for use by TLB functions: | ||
323 | * | ||
324 | * o No return value | ||
325 | * o collapses to normal function call on UP kernels | ||
326 | * o collapses to normal function call on systems with a single shared | ||
327 | * primary cache. | ||
328 | * o CONFIG_MIPS_MT_SMTC currently implies there is only one physical core. | ||
329 | */ | ||
330 | static inline void smp_on_other_tlbs(void (*func) (void *info), void *info) | ||
331 | { | ||
332 | #ifndef CONFIG_MIPS_MT_SMTC | ||
333 | smp_call_function(func, info, 1, 1); | ||
334 | #endif | ||
335 | } | ||
336 | |||
337 | static inline void smp_on_each_tlb(void (*func) (void *info), void *info) | ||
338 | { | ||
339 | preempt_disable(); | ||
340 | |||
341 | smp_on_other_tlbs(func, info); | ||
342 | func(info); | ||
343 | |||
344 | preempt_enable(); | ||
345 | } | ||
346 | |||
347 | /* | ||
322 | * The following tlb flush calls are invoked when old translations are | 348 | * The following tlb flush calls are invoked when old translations are |
323 | * being torn down, or pte attributes are changing. For single threaded | 349 | * being torn down, or pte attributes are changing. For single threaded |
324 | * address spaces, a new context is obtained on the current cpu, and tlb | 350 | * address spaces, a new context is obtained on the current cpu, and tlb |
@@ -336,7 +362,7 @@ void flush_tlb_mm(struct mm_struct *mm) | |||
336 | preempt_disable(); | 362 | preempt_disable(); |
337 | 363 | ||
338 | if ((atomic_read(&mm->mm_users) != 1) || (current->mm != mm)) { | 364 | if ((atomic_read(&mm->mm_users) != 1) || (current->mm != mm)) { |
339 | smp_call_function(flush_tlb_mm_ipi, (void *)mm, 1, 1); | 365 | smp_on_other_tlbs(flush_tlb_mm_ipi, (void *)mm); |
340 | } else { | 366 | } else { |
341 | int i; | 367 | int i; |
342 | for (i = 0; i < num_online_cpus(); i++) | 368 | for (i = 0; i < num_online_cpus(); i++) |
@@ -372,7 +398,7 @@ void flush_tlb_range(struct vm_area_struct *vma, unsigned long start, unsigned l | |||
372 | fd.vma = vma; | 398 | fd.vma = vma; |
373 | fd.addr1 = start; | 399 | fd.addr1 = start; |
374 | fd.addr2 = end; | 400 | fd.addr2 = end; |
375 | smp_call_function(flush_tlb_range_ipi, (void *)&fd, 1, 1); | 401 | smp_on_other_tlbs(flush_tlb_range_ipi, (void *)&fd); |
376 | } else { | 402 | } else { |
377 | int i; | 403 | int i; |
378 | for (i = 0; i < num_online_cpus(); i++) | 404 | for (i = 0; i < num_online_cpus(); i++) |
@@ -414,7 +440,7 @@ void flush_tlb_page(struct vm_area_struct *vma, unsigned long page) | |||
414 | 440 | ||
415 | fd.vma = vma; | 441 | fd.vma = vma; |
416 | fd.addr1 = page; | 442 | fd.addr1 = page; |
417 | smp_call_function(flush_tlb_page_ipi, (void *)&fd, 1, 1); | 443 | smp_on_other_tlbs(flush_tlb_page_ipi, (void *)&fd); |
418 | } else { | 444 | } else { |
419 | int i; | 445 | int i; |
420 | for (i = 0; i < num_online_cpus(); i++) | 446 | for (i = 0; i < num_online_cpus(); i++) |
@@ -434,8 +460,7 @@ static void flush_tlb_one_ipi(void *info) | |||
434 | 460 | ||
435 | void flush_tlb_one(unsigned long vaddr) | 461 | void flush_tlb_one(unsigned long vaddr) |
436 | { | 462 | { |
437 | smp_call_function(flush_tlb_one_ipi, (void *) vaddr, 1, 1); | 463 | smp_on_each_tlb(flush_tlb_one_ipi, (void *) vaddr); |
438 | local_flush_tlb_one(vaddr); | ||
439 | } | 464 | } |
440 | 465 | ||
441 | static DEFINE_PER_CPU(struct cpu, cpu_devices); | 466 | static DEFINE_PER_CPU(struct cpu, cpu_devices); |
diff --git a/arch/mips/kernel/smtc-asm.S b/arch/mips/kernel/smtc-asm.S index 72c6d98f8854..4cc3dea36612 100644 --- a/arch/mips/kernel/smtc-asm.S +++ b/arch/mips/kernel/smtc-asm.S | |||
@@ -96,6 +96,7 @@ FEXPORT(__smtc_ipi_vector) | |||
96 | /* Save all will redundantly recompute the SP, but use it for now */ | 96 | /* Save all will redundantly recompute the SP, but use it for now */ |
97 | SAVE_ALL | 97 | SAVE_ALL |
98 | CLI | 98 | CLI |
99 | TRACE_IRQS_OFF | ||
99 | move a0,sp | 100 | move a0,sp |
100 | /* Function to be invoked passed stack pad slot 5 */ | 101 | /* Function to be invoked passed stack pad slot 5 */ |
101 | lw t0,PT_PADSLOT5(sp) | 102 | lw t0,PT_PADSLOT5(sp) |
diff --git a/arch/mips/kernel/smtc.c b/arch/mips/kernel/smtc.c index a48d9e553083..604bcc5cb7c8 100644 --- a/arch/mips/kernel/smtc.c +++ b/arch/mips/kernel/smtc.c | |||
@@ -127,7 +127,7 @@ static int __init stlb_disable(char *s) | |||
127 | static int __init asidmask_set(char *str) | 127 | static int __init asidmask_set(char *str) |
128 | { | 128 | { |
129 | get_option(&str, &asidmask); | 129 | get_option(&str, &asidmask); |
130 | switch(asidmask) { | 130 | switch (asidmask) { |
131 | case 0x1: | 131 | case 0x1: |
132 | case 0x3: | 132 | case 0x3: |
133 | case 0x7: | 133 | case 0x7: |
@@ -249,7 +249,7 @@ void smtc_configure_tlb(void) | |||
249 | /* | 249 | /* |
250 | * Only count if the MMU Type indicated is TLB | 250 | * Only count if the MMU Type indicated is TLB |
251 | */ | 251 | */ |
252 | if(((read_vpe_c0_config() & MIPS_CONF_MT) >> 7) == 1) { | 252 | if (((read_vpe_c0_config() & MIPS_CONF_MT) >> 7) == 1) { |
253 | config1val = read_vpe_c0_config1(); | 253 | config1val = read_vpe_c0_config1(); |
254 | tlbsiz += ((config1val >> 25) & 0x3f) + 1; | 254 | tlbsiz += ((config1val >> 25) & 0x3f) + 1; |
255 | } | 255 | } |
@@ -500,7 +500,7 @@ void mipsmt_prepare_cpus(void) | |||
500 | /* Set up coprocessor affinity CPU mask(s) */ | 500 | /* Set up coprocessor affinity CPU mask(s) */ |
501 | 501 | ||
502 | for (tc = 0; tc < ntc; tc++) { | 502 | for (tc = 0; tc < ntc; tc++) { |
503 | if(cpu_data[tc].options & MIPS_CPU_FPU) | 503 | if (cpu_data[tc].options & MIPS_CPU_FPU) |
504 | cpu_set(tc, mt_fpu_cpumask); | 504 | cpu_set(tc, mt_fpu_cpumask); |
505 | } | 505 | } |
506 | 506 | ||
@@ -577,13 +577,13 @@ void smtc_init_secondary(void) | |||
577 | { | 577 | { |
578 | /* | 578 | /* |
579 | * Start timer on secondary VPEs if necessary. | 579 | * Start timer on secondary VPEs if necessary. |
580 | * mips_timer_setup should already have been invoked by init/main | 580 | * plat_timer_setup has already have been invoked by init/main |
581 | * on "boot" TC. Like per_cpu_trap_init() hack, this assumes that | 581 | * on "boot" TC. Like per_cpu_trap_init() hack, this assumes that |
582 | * SMTC init code assigns TCs consdecutively and in ascending order | 582 | * SMTC init code assigns TCs consdecutively and in ascending order |
583 | * to across available VPEs. | 583 | * to across available VPEs. |
584 | */ | 584 | */ |
585 | if(((read_c0_tcbind() & TCBIND_CURTC) != 0) | 585 | if (((read_c0_tcbind() & TCBIND_CURTC) != 0) && |
586 | && ((read_c0_tcbind() & TCBIND_CURVPE) | 586 | ((read_c0_tcbind() & TCBIND_CURVPE) |
587 | != cpu_data[smp_processor_id() - 1].vpe_id)){ | 587 | != cpu_data[smp_processor_id() - 1].vpe_id)){ |
588 | write_c0_compare (read_c0_count() + mips_hpt_frequency/HZ); | 588 | write_c0_compare (read_c0_count() + mips_hpt_frequency/HZ); |
589 | } | 589 | } |
@@ -757,8 +757,8 @@ void smtc_send_ipi(int cpu, int type, unsigned int action) | |||
757 | write_tc_c0_tchalt(0); | 757 | write_tc_c0_tchalt(0); |
758 | UNLOCK_CORE_PRA(); | 758 | UNLOCK_CORE_PRA(); |
759 | /* Try to reduce redundant timer interrupt messages */ | 759 | /* Try to reduce redundant timer interrupt messages */ |
760 | if(type == SMTC_CLOCK_TICK) { | 760 | if (type == SMTC_CLOCK_TICK) { |
761 | if(atomic_postincrement(&ipi_timer_latch[cpu])!=0) { | 761 | if (atomic_postincrement(&ipi_timer_latch[cpu])!=0){ |
762 | smtc_ipi_nq(&freeIPIq, pipi); | 762 | smtc_ipi_nq(&freeIPIq, pipi); |
763 | return; | 763 | return; |
764 | } | 764 | } |
@@ -797,7 +797,7 @@ void post_direct_ipi(int cpu, struct smtc_ipi *pipi) | |||
797 | * CU bit of Status is indicator that TC was | 797 | * CU bit of Status is indicator that TC was |
798 | * already running on a kernel stack... | 798 | * already running on a kernel stack... |
799 | */ | 799 | */ |
800 | if(tcstatus & ST0_CU0) { | 800 | if (tcstatus & ST0_CU0) { |
801 | /* Note that this "- 1" is pointer arithmetic */ | 801 | /* Note that this "- 1" is pointer arithmetic */ |
802 | kstack = ((struct pt_regs *)read_tc_gpr_sp()) - 1; | 802 | kstack = ((struct pt_regs *)read_tc_gpr_sp()) - 1; |
803 | } else { | 803 | } else { |
@@ -840,31 +840,31 @@ void ipi_decode(struct pt_regs *regs, struct smtc_ipi *pipi) | |||
840 | 840 | ||
841 | smtc_ipi_nq(&freeIPIq, pipi); | 841 | smtc_ipi_nq(&freeIPIq, pipi); |
842 | switch (type_copy) { | 842 | switch (type_copy) { |
843 | case SMTC_CLOCK_TICK: | 843 | case SMTC_CLOCK_TICK: |
844 | /* Invoke Clock "Interrupt" */ | 844 | /* Invoke Clock "Interrupt" */ |
845 | ipi_timer_latch[dest_copy] = 0; | 845 | ipi_timer_latch[dest_copy] = 0; |
846 | #ifdef SMTC_IDLE_HOOK_DEBUG | 846 | #ifdef SMTC_IDLE_HOOK_DEBUG |
847 | clock_hang_reported[dest_copy] = 0; | 847 | clock_hang_reported[dest_copy] = 0; |
848 | #endif /* SMTC_IDLE_HOOK_DEBUG */ | 848 | #endif /* SMTC_IDLE_HOOK_DEBUG */ |
849 | local_timer_interrupt(0, NULL, regs); | 849 | local_timer_interrupt(0, NULL, regs); |
850 | break; | ||
851 | case LINUX_SMP_IPI: | ||
852 | switch ((int)arg_copy) { | ||
853 | case SMP_RESCHEDULE_YOURSELF: | ||
854 | ipi_resched_interrupt(regs); | ||
850 | break; | 855 | break; |
851 | case LINUX_SMP_IPI: | 856 | case SMP_CALL_FUNCTION: |
852 | switch ((int)arg_copy) { | 857 | ipi_call_interrupt(regs); |
853 | case SMP_RESCHEDULE_YOURSELF: | ||
854 | ipi_resched_interrupt(regs); | ||
855 | break; | ||
856 | case SMP_CALL_FUNCTION: | ||
857 | ipi_call_interrupt(regs); | ||
858 | break; | ||
859 | default: | ||
860 | printk("Impossible SMTC IPI Argument 0x%x\n", | ||
861 | (int)arg_copy); | ||
862 | break; | ||
863 | } | ||
864 | break; | 858 | break; |
865 | default: | 859 | default: |
866 | printk("Impossible SMTC IPI Type 0x%x\n", type_copy); | 860 | printk("Impossible SMTC IPI Argument 0x%x\n", |
861 | (int)arg_copy); | ||
867 | break; | 862 | break; |
863 | } | ||
864 | break; | ||
865 | default: | ||
866 | printk("Impossible SMTC IPI Type 0x%x\n", type_copy); | ||
867 | break; | ||
868 | } | 868 | } |
869 | } | 869 | } |
870 | 870 | ||
@@ -879,7 +879,7 @@ void deferred_smtc_ipi(struct pt_regs *regs) | |||
879 | * Test is not atomic, but much faster than a dequeue, | 879 | * Test is not atomic, but much faster than a dequeue, |
880 | * and the vast majority of invocations will have a null queue. | 880 | * and the vast majority of invocations will have a null queue. |
881 | */ | 881 | */ |
882 | if(IPIQ[q].head != NULL) { | 882 | if (IPIQ[q].head != NULL) { |
883 | while((pipi = smtc_ipi_dq(&IPIQ[q])) != NULL) { | 883 | while((pipi = smtc_ipi_dq(&IPIQ[q])) != NULL) { |
884 | /* ipi_decode() should be called with interrupts off */ | 884 | /* ipi_decode() should be called with interrupts off */ |
885 | local_irq_save(flags); | 885 | local_irq_save(flags); |
@@ -1254,7 +1254,7 @@ void smtc_flush_tlb_asid(unsigned long asid) | |||
1254 | tlb_read(); | 1254 | tlb_read(); |
1255 | ehb(); | 1255 | ehb(); |
1256 | ehi = read_c0_entryhi(); | 1256 | ehi = read_c0_entryhi(); |
1257 | if((ehi & ASID_MASK) == asid) { | 1257 | if ((ehi & ASID_MASK) == asid) { |
1258 | /* | 1258 | /* |
1259 | * Invalidate only entries with specified ASID, | 1259 | * Invalidate only entries with specified ASID, |
1260 | * makiing sure all entries differ. | 1260 | * makiing sure all entries differ. |
diff --git a/arch/mips/kernel/time.c b/arch/mips/kernel/time.c index 2393c11d5a20..170cb67f4ede 100644 --- a/arch/mips/kernel/time.c +++ b/arch/mips/kernel/time.c | |||
@@ -566,14 +566,13 @@ asmlinkage void ll_local_timer_interrupt(int irq, struct pt_regs *regs) | |||
566 | * 2) setup xtime based on rtc_mips_get_time(). | 566 | * 2) setup xtime based on rtc_mips_get_time(). |
567 | * 3) choose a appropriate gettimeoffset routine. | 567 | * 3) choose a appropriate gettimeoffset routine. |
568 | * 4) calculate a couple of cached variables for later usage | 568 | * 4) calculate a couple of cached variables for later usage |
569 | * 5) board_timer_setup() - | 569 | * 5) plat_timer_setup() - |
570 | * a) (optional) over-write any choices made above by time_init(). | 570 | * a) (optional) over-write any choices made above by time_init(). |
571 | * b) machine specific code should setup the timer irqaction. | 571 | * b) machine specific code should setup the timer irqaction. |
572 | * c) enable the timer interrupt | 572 | * c) enable the timer interrupt |
573 | */ | 573 | */ |
574 | 574 | ||
575 | void (*board_time_init)(void); | 575 | void (*board_time_init)(void); |
576 | void (*board_timer_setup)(struct irqaction *irq); | ||
577 | 576 | ||
578 | unsigned int mips_hpt_frequency; | 577 | unsigned int mips_hpt_frequency; |
579 | 578 | ||
@@ -718,7 +717,7 @@ void __init time_init(void) | |||
718 | * to be NULL function so that we are sure the high-level code | 717 | * to be NULL function so that we are sure the high-level code |
719 | * is not invoked accidentally. | 718 | * is not invoked accidentally. |
720 | */ | 719 | */ |
721 | board_timer_setup(&timer_irqaction); | 720 | plat_timer_setup(&timer_irqaction); |
722 | } | 721 | } |
723 | 722 | ||
724 | #define FEBRUARY 2 | 723 | #define FEBRUARY 2 |
diff --git a/arch/mips/kernel/traps.c b/arch/mips/kernel/traps.c index 8b95eca9ac74..954a198494ef 100644 --- a/arch/mips/kernel/traps.c +++ b/arch/mips/kernel/traps.c | |||
@@ -569,6 +569,8 @@ asmlinkage void do_ov(struct pt_regs *regs) | |||
569 | */ | 569 | */ |
570 | asmlinkage void do_fpe(struct pt_regs *regs, unsigned long fcr31) | 570 | asmlinkage void do_fpe(struct pt_regs *regs, unsigned long fcr31) |
571 | { | 571 | { |
572 | die_if_kernel("FP exception in kernel code", regs); | ||
573 | |||
572 | if (fcr31 & FPU_CSR_UNI_X) { | 574 | if (fcr31 & FPU_CSR_UNI_X) { |
573 | int sig; | 575 | int sig; |
574 | 576 | ||
@@ -847,31 +849,29 @@ asmlinkage void do_mt(struct pt_regs *regs) | |||
847 | { | 849 | { |
848 | int subcode; | 850 | int subcode; |
849 | 851 | ||
850 | die_if_kernel("MIPS MT Thread exception in kernel", regs); | ||
851 | |||
852 | subcode = (read_vpe_c0_vpecontrol() & VPECONTROL_EXCPT) | 852 | subcode = (read_vpe_c0_vpecontrol() & VPECONTROL_EXCPT) |
853 | >> VPECONTROL_EXCPT_SHIFT; | 853 | >> VPECONTROL_EXCPT_SHIFT; |
854 | switch (subcode) { | 854 | switch (subcode) { |
855 | case 0: | 855 | case 0: |
856 | printk(KERN_ERR "Thread Underflow\n"); | 856 | printk(KERN_DEBUG "Thread Underflow\n"); |
857 | break; | 857 | break; |
858 | case 1: | 858 | case 1: |
859 | printk(KERN_ERR "Thread Overflow\n"); | 859 | printk(KERN_DEBUG "Thread Overflow\n"); |
860 | break; | 860 | break; |
861 | case 2: | 861 | case 2: |
862 | printk(KERN_ERR "Invalid YIELD Qualifier\n"); | 862 | printk(KERN_DEBUG "Invalid YIELD Qualifier\n"); |
863 | break; | 863 | break; |
864 | case 3: | 864 | case 3: |
865 | printk(KERN_ERR "Gating Storage Exception\n"); | 865 | printk(KERN_DEBUG "Gating Storage Exception\n"); |
866 | break; | 866 | break; |
867 | case 4: | 867 | case 4: |
868 | printk(KERN_ERR "YIELD Scheduler Exception\n"); | 868 | printk(KERN_DEBUG "YIELD Scheduler Exception\n"); |
869 | break; | 869 | break; |
870 | case 5: | 870 | case 5: |
871 | printk(KERN_ERR "Gating Storage Schedulier Exception\n"); | 871 | printk(KERN_DEBUG "Gating Storage Schedulier Exception\n"); |
872 | break; | 872 | break; |
873 | default: | 873 | default: |
874 | printk(KERN_ERR "*** UNKNOWN THREAD EXCEPTION %d ***\n", | 874 | printk(KERN_DEBUG "*** UNKNOWN THREAD EXCEPTION %d ***\n", |
875 | subcode); | 875 | subcode); |
876 | break; | 876 | break; |
877 | } | 877 | } |
@@ -980,10 +980,10 @@ void ejtag_exception_handler(struct pt_regs *regs) | |||
980 | unsigned long depc, old_epc; | 980 | unsigned long depc, old_epc; |
981 | unsigned int debug; | 981 | unsigned int debug; |
982 | 982 | ||
983 | printk("SDBBP EJTAG debug exception - not handled yet, just ignored!\n"); | 983 | printk(KERN_DEBUG "SDBBP EJTAG debug exception - not handled yet, just ignored!\n"); |
984 | depc = read_c0_depc(); | 984 | depc = read_c0_depc(); |
985 | debug = read_c0_debug(); | 985 | debug = read_c0_debug(); |
986 | printk("c0_depc = %0*lx, DEBUG = %08x\n", field, depc, debug); | 986 | printk(KERN_DEBUG "c0_depc = %0*lx, DEBUG = %08x\n", field, depc, debug); |
987 | if (debug & 0x80000000) { | 987 | if (debug & 0x80000000) { |
988 | /* | 988 | /* |
989 | * In branch delay slot. | 989 | * In branch delay slot. |
@@ -1001,7 +1001,7 @@ void ejtag_exception_handler(struct pt_regs *regs) | |||
1001 | write_c0_depc(depc); | 1001 | write_c0_depc(depc); |
1002 | 1002 | ||
1003 | #if 0 | 1003 | #if 0 |
1004 | printk("\n\n----- Enable EJTAG single stepping ----\n\n"); | 1004 | printk(KERN_DEBUG "\n\n----- Enable EJTAG single stepping ----\n\n"); |
1005 | write_c0_debug(debug | 0x100); | 1005 | write_c0_debug(debug | 0x100); |
1006 | #endif | 1006 | #endif |
1007 | } | 1007 | } |
diff --git a/arch/mips/kernel/vpe.c b/arch/mips/kernel/vpe.c index 85d7df7b18e1..9ee0ec2cd067 100644 --- a/arch/mips/kernel/vpe.c +++ b/arch/mips/kernel/vpe.c | |||
@@ -28,7 +28,6 @@ | |||
28 | * i.e cat spapp >/dev/vpe1. | 28 | * i.e cat spapp >/dev/vpe1. |
29 | */ | 29 | */ |
30 | 30 | ||
31 | #include <linux/config.h> | ||
32 | #include <linux/kernel.h> | 31 | #include <linux/kernel.h> |
33 | #include <linux/module.h> | 32 | #include <linux/module.h> |
34 | #include <linux/fs.h> | 33 | #include <linux/fs.h> |
diff --git a/arch/mips/lasat/interrupt.c b/arch/mips/lasat/interrupt.c index 9316a024a818..456be8fc961a 100644 --- a/arch/mips/lasat/interrupt.c +++ b/arch/mips/lasat/interrupt.c | |||
@@ -69,7 +69,7 @@ static void end_lasat_irq(unsigned int irq) | |||
69 | enable_lasat_irq(irq); | 69 | enable_lasat_irq(irq); |
70 | } | 70 | } |
71 | 71 | ||
72 | static struct hw_interrupt_type lasat_irq_type = { | 72 | static struct irq_chip lasat_irq_type = { |
73 | .typename = "Lasat", | 73 | .typename = "Lasat", |
74 | .startup = startup_lasat_irq, | 74 | .startup = startup_lasat_irq, |
75 | .shutdown = shutdown_lasat_irq, | 75 | .shutdown = shutdown_lasat_irq, |
diff --git a/arch/mips/lasat/setup.c b/arch/mips/lasat/setup.c index 2187e63c6d88..0ffc43c600d9 100644 --- a/arch/mips/lasat/setup.c +++ b/arch/mips/lasat/setup.c | |||
@@ -115,12 +115,9 @@ static void lasat_time_init(void) | |||
115 | mips_hpt_frequency = lasat_board_info.li_cpu_hz / 2; | 115 | mips_hpt_frequency = lasat_board_info.li_cpu_hz / 2; |
116 | } | 116 | } |
117 | 117 | ||
118 | static void lasat_timer_setup(struct irqaction *irq) | 118 | void __init plat_timer_setup(struct irqaction *irq) |
119 | { | 119 | { |
120 | 120 | write_c0_compare( read_c0_count() + mips_hpt_frequency / HZ); | |
121 | write_c0_compare( | ||
122 | read_c0_count() + | ||
123 | mips_hpt_frequency / HZ); | ||
124 | change_c0_status(ST0_IM, IE_IRQ0 | IE_IRQ5); | 121 | change_c0_status(ST0_IM, IE_IRQ0 | IE_IRQ5); |
125 | } | 122 | } |
126 | 123 | ||
@@ -170,7 +167,6 @@ void __init plat_mem_setup(void) | |||
170 | lasat_reboot_setup(); | 167 | lasat_reboot_setup(); |
171 | 168 | ||
172 | board_time_init = lasat_time_init; | 169 | board_time_init = lasat_time_init; |
173 | board_timer_setup = lasat_timer_setup; | ||
174 | 170 | ||
175 | #ifdef CONFIG_DS1603 | 171 | #ifdef CONFIG_DS1603 |
176 | ds1603 = &ds_defs[mips_machtype]; | 172 | ds1603 = &ds_defs[mips_machtype]; |
diff --git a/arch/mips/mips-boards/atlas/atlas_int.c b/arch/mips/mips-boards/atlas/atlas_int.c index 9dd6b8925581..fb25e0377f11 100644 --- a/arch/mips/mips-boards/atlas/atlas_int.c +++ b/arch/mips/mips-boards/atlas/atlas_int.c | |||
@@ -73,7 +73,7 @@ static void end_atlas_irq(unsigned int irq) | |||
73 | enable_atlas_irq(irq); | 73 | enable_atlas_irq(irq); |
74 | } | 74 | } |
75 | 75 | ||
76 | static struct hw_interrupt_type atlas_irq_type = { | 76 | static struct irq_chip atlas_irq_type = { |
77 | .typename = "Atlas", | 77 | .typename = "Atlas", |
78 | .startup = startup_atlas_irq, | 78 | .startup = startup_atlas_irq, |
79 | .shutdown = shutdown_atlas_irq, | 79 | .shutdown = shutdown_atlas_irq, |
diff --git a/arch/mips/mips-boards/atlas/atlas_setup.c b/arch/mips/mips-boards/atlas/atlas_setup.c index 3a7c3d28aa0d..9871a91fdb07 100644 --- a/arch/mips/mips-boards/atlas/atlas_setup.c +++ b/arch/mips/mips-boards/atlas/atlas_setup.c | |||
@@ -35,7 +35,6 @@ | |||
35 | 35 | ||
36 | extern void mips_reboot_setup(void); | 36 | extern void mips_reboot_setup(void); |
37 | extern void mips_time_init(void); | 37 | extern void mips_time_init(void); |
38 | extern void mips_timer_setup(struct irqaction *irq); | ||
39 | extern unsigned long mips_rtc_get_time(void); | 38 | extern unsigned long mips_rtc_get_time(void); |
40 | 39 | ||
41 | #ifdef CONFIG_KGDB | 40 | #ifdef CONFIG_KGDB |
@@ -63,7 +62,6 @@ void __init plat_mem_setup(void) | |||
63 | mips_reboot_setup(); | 62 | mips_reboot_setup(); |
64 | 63 | ||
65 | board_time_init = mips_time_init; | 64 | board_time_init = mips_time_init; |
66 | board_timer_setup = mips_timer_setup; | ||
67 | rtc_mips_get_time = mips_rtc_get_time; | 65 | rtc_mips_get_time = mips_rtc_get_time; |
68 | } | 66 | } |
69 | 67 | ||
diff --git a/arch/mips/mips-boards/generic/memory.c b/arch/mips/mips-boards/generic/memory.c index c89fcf9e9c22..be80c5dd4a0c 100644 --- a/arch/mips/mips-boards/generic/memory.c +++ b/arch/mips/mips-boards/generic/memory.c | |||
@@ -47,43 +47,45 @@ static char *mtypes[3] = { | |||
47 | }; | 47 | }; |
48 | #endif | 48 | #endif |
49 | 49 | ||
50 | /* determined physical memory size, not overridden by command line args */ | ||
51 | unsigned long physical_memsize = 0L; | ||
52 | |||
50 | struct prom_pmemblock * __init prom_getmdesc(void) | 53 | struct prom_pmemblock * __init prom_getmdesc(void) |
51 | { | 54 | { |
52 | char *memsize_str; | 55 | char *memsize_str; |
53 | unsigned int memsize; | 56 | unsigned int memsize; |
54 | char cmdline[CL_SIZE], *ptr; | 57 | char cmdline[CL_SIZE], *ptr; |
55 | 58 | ||
56 | /* Check the command line first for a memsize directive */ | 59 | /* otherwise look in the environment */ |
57 | strcpy(cmdline, arcs_cmdline); | 60 | memsize_str = prom_getenv("memsize"); |
58 | ptr = strstr(cmdline, "memsize="); | 61 | if (!memsize_str) { |
59 | if (ptr && (ptr != cmdline) && (*(ptr - 1) != ' ')) | 62 | prom_printf("memsize not set in boot prom, set to default (32Mb)\n"); |
60 | ptr = strstr(ptr, " memsize="); | 63 | physical_memsize = 0x02000000; |
61 | 64 | } else { | |
62 | if (ptr) { | ||
63 | memsize = memparse(ptr + 8, &ptr); | ||
64 | } | ||
65 | else { | ||
66 | /* otherwise look in the environment */ | ||
67 | memsize_str = prom_getenv("memsize"); | ||
68 | if (!memsize_str) { | ||
69 | prom_printf("memsize not set in boot prom, set to default (32Mb)\n"); | ||
70 | memsize = 0x02000000; | ||
71 | } else { | ||
72 | #ifdef DEBUG | 65 | #ifdef DEBUG |
73 | prom_printf("prom_memsize = %s\n", memsize_str); | 66 | prom_printf("prom_memsize = %s\n", memsize_str); |
74 | #endif | 67 | #endif |
75 | memsize = simple_strtol(memsize_str, NULL, 0); | 68 | physical_memsize = simple_strtol(memsize_str, NULL, 0); |
76 | } | ||
77 | } | 69 | } |
78 | 70 | ||
79 | #ifdef CONFIG_CPU_BIG_ENDIAN | 71 | #ifdef CONFIG_CPU_BIG_ENDIAN |
80 | /* | 72 | /* SOC-it swaps, or perhaps doesn't swap, when DMA'ing the last |
81 | * SOC-it swaps, or perhaps doesn't swap, when DMA'ing the last | 73 | word of physical memory */ |
82 | * word of physical memory | 74 | physical_memsize -= PAGE_SIZE; |
83 | */ | ||
84 | memsize -= PAGE_SIZE; | ||
85 | #endif | 75 | #endif |
86 | 76 | ||
77 | /* Check the command line for a memsize directive that overrides | ||
78 | the physical/default amount */ | ||
79 | strcpy(cmdline, arcs_cmdline); | ||
80 | ptr = strstr(cmdline, "memsize="); | ||
81 | if (ptr && (ptr != cmdline) && (*(ptr - 1) != ' ')) | ||
82 | ptr = strstr(ptr, " memsize="); | ||
83 | |||
84 | if (ptr) | ||
85 | memsize = memparse(ptr + 8, &ptr); | ||
86 | else | ||
87 | memsize = physical_memsize; | ||
88 | |||
87 | memset(mdesc, 0, sizeof(mdesc)); | 89 | memset(mdesc, 0, sizeof(mdesc)); |
88 | 90 | ||
89 | mdesc[0].type = yamon_dontuse; | 91 | mdesc[0].type = yamon_dontuse; |
diff --git a/arch/mips/mips-boards/generic/time.c b/arch/mips/mips-boards/generic/time.c index 5e207760826b..557bf961f36a 100644 --- a/arch/mips/mips-boards/generic/time.c +++ b/arch/mips/mips-boards/generic/time.c | |||
@@ -228,9 +228,7 @@ unsigned long __init mips_rtc_get_time(void) | |||
228 | 228 | ||
229 | void __init mips_time_init(void) | 229 | void __init mips_time_init(void) |
230 | { | 230 | { |
231 | unsigned int est_freq, flags; | 231 | unsigned int est_freq; |
232 | |||
233 | local_irq_save(flags); | ||
234 | 232 | ||
235 | /* Set Data mode - binary. */ | 233 | /* Set Data mode - binary. */ |
236 | CMOS_WRITE(CMOS_READ(RTC_CONTROL) | RTC_DM_BINARY, RTC_CONTROL); | 234 | CMOS_WRITE(CMOS_READ(RTC_CONTROL) | RTC_DM_BINARY, RTC_CONTROL); |
@@ -241,11 +239,9 @@ void __init mips_time_init(void) | |||
241 | (est_freq%1000000)*100/1000000); | 239 | (est_freq%1000000)*100/1000000); |
242 | 240 | ||
243 | cpu_khz = est_freq / 1000; | 241 | cpu_khz = est_freq / 1000; |
244 | |||
245 | local_irq_restore(flags); | ||
246 | } | 242 | } |
247 | 243 | ||
248 | void __init mips_timer_setup(struct irqaction *irq) | 244 | void __init plat_timer_setup(struct irqaction *irq) |
249 | { | 245 | { |
250 | if (cpu_has_veic) { | 246 | if (cpu_has_veic) { |
251 | set_vi_handler (MSC01E_INT_CPUCTR, mips_timer_dispatch); | 247 | set_vi_handler (MSC01E_INT_CPUCTR, mips_timer_dispatch); |
diff --git a/arch/mips/mips-boards/malta/malta_setup.c b/arch/mips/mips-boards/malta/malta_setup.c index 7a54195c78fb..ab460f805bef 100644 --- a/arch/mips/mips-boards/malta/malta_setup.c +++ b/arch/mips/mips-boards/malta/malta_setup.c | |||
@@ -44,7 +44,6 @@ | |||
44 | 44 | ||
45 | extern void mips_reboot_setup(void); | 45 | extern void mips_reboot_setup(void); |
46 | extern void mips_time_init(void); | 46 | extern void mips_time_init(void); |
47 | extern void mips_timer_setup(struct irqaction *irq); | ||
48 | extern unsigned long mips_rtc_get_time(void); | 47 | extern unsigned long mips_rtc_get_time(void); |
49 | 48 | ||
50 | #ifdef CONFIG_KGDB | 49 | #ifdef CONFIG_KGDB |
@@ -223,6 +222,5 @@ void __init plat_mem_setup(void) | |||
223 | mips_reboot_setup(); | 222 | mips_reboot_setup(); |
224 | 223 | ||
225 | board_time_init = mips_time_init; | 224 | board_time_init = mips_time_init; |
226 | board_timer_setup = mips_timer_setup; | ||
227 | rtc_mips_get_time = mips_rtc_get_time; | 225 | rtc_mips_get_time = mips_rtc_get_time; |
228 | } | 226 | } |
diff --git a/arch/mips/mips-boards/sead/sead_setup.c b/arch/mips/mips-boards/sead/sead_setup.c index a856bd664879..a189dec7c7bc 100644 --- a/arch/mips/mips-boards/sead/sead_setup.c +++ b/arch/mips/mips-boards/sead/sead_setup.c | |||
@@ -35,7 +35,6 @@ | |||
35 | 35 | ||
36 | extern void mips_reboot_setup(void); | 36 | extern void mips_reboot_setup(void); |
37 | extern void mips_time_init(void); | 37 | extern void mips_time_init(void); |
38 | extern void mips_timer_setup(struct irqaction *irq); | ||
39 | 38 | ||
40 | static void __init serial_init(void); | 39 | static void __init serial_init(void); |
41 | 40 | ||
@@ -51,7 +50,6 @@ void __init plat_mem_setup(void) | |||
51 | serial_init (); | 50 | serial_init (); |
52 | 51 | ||
53 | board_time_init = mips_time_init; | 52 | board_time_init = mips_time_init; |
54 | board_timer_setup = mips_timer_setup; | ||
55 | 53 | ||
56 | mips_reboot_setup(); | 54 | mips_reboot_setup(); |
57 | } | 55 | } |
diff --git a/arch/mips/mips-boards/sim/Makefile b/arch/mips/mips-boards/sim/Makefile index 5b977de4ecff..a12e32aafde0 100644 --- a/arch/mips/mips-boards/sim/Makefile +++ b/arch/mips/mips-boards/sim/Makefile | |||
@@ -15,6 +15,5 @@ | |||
15 | # 59 Temple Place - Suite 330, Boston MA 02111-1307, USA. | 15 | # 59 Temple Place - Suite 330, Boston MA 02111-1307, USA. |
16 | # | 16 | # |
17 | 17 | ||
18 | obj-y := sim_setup.o sim_mem.o sim_time.o sim_printf.o sim_int.o sim_irq.o \ | 18 | obj-y := sim_setup.o sim_mem.o sim_time.o sim_printf.o sim_int.o sim_cmdline.o |
19 | sim_cmdline.o | ||
20 | obj-$(CONFIG_SMP) += sim_smp.o | 19 | obj-$(CONFIG_SMP) += sim_smp.o |
diff --git a/arch/mips/mips-boards/sim/sim_IRQ.c b/arch/mips/mips-boards/sim/sim_IRQ.c deleted file mode 100644 index ec549f3e2011..000000000000 --- a/arch/mips/mips-boards/sim/sim_IRQ.c +++ /dev/null | |||
@@ -1,147 +0,0 @@ | |||
1 | /* | ||
2 | * Carsten Langgaard, carstenl@mips.com | ||
3 | * Copyright (C) 1999, 2000 MIPS Technologies, Inc. All rights reserved. | ||
4 | * | ||
5 | * This program is free software; you can distribute it and/or modify it | ||
6 | * under the terms of the GNU General Public License (Version 2) as | ||
7 | * published by the Free Software Foundation. | ||
8 | * | ||
9 | * This program is distributed in the hope it will be useful, but WITHOUT | ||
10 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
11 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | ||
12 | * for more details. | ||
13 | * | ||
14 | * You should have received a copy of the GNU General Public License along | ||
15 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
16 | * 59 Temple Place - Suite 330, Boston MA 02111-1307, USA. | ||
17 | * | ||
18 | * Interrupt exception dispatch code. | ||
19 | */ | ||
20 | |||
21 | #include <asm/asm.h> | ||
22 | #include <asm/mipsregs.h> | ||
23 | #include <asm/regdef.h> | ||
24 | #include <asm/stackframe.h> | ||
25 | |||
26 | /* A lot of complication here is taken away because: | ||
27 | * | ||
28 | * 1) We handle one interrupt and return, sitting in a loop and moving across | ||
29 | * all the pending IRQ bits in the cause register is _NOT_ the answer, the | ||
30 | * common case is one pending IRQ so optimize in that direction. | ||
31 | * | ||
32 | * 2) We need not check against bits in the status register IRQ mask, that | ||
33 | * would make this routine slow as hell. | ||
34 | * | ||
35 | * 3) Linux only thinks in terms of all IRQs on or all IRQs off, nothing in | ||
36 | * between like BSD spl() brain-damage. | ||
37 | * | ||
38 | * Furthermore, the IRQs on the MIPS board look basically (barring software | ||
39 | * IRQs which we don't use at all and all external interrupt sources are | ||
40 | * combined together on hardware interrupt 0 (MIPS IRQ 2)) like: | ||
41 | * | ||
42 | * MIPS IRQ Source | ||
43 | * -------- ------ | ||
44 | * 0 Software (ignored) | ||
45 | * 1 Software (ignored) | ||
46 | * 2 Combined hardware interrupt (hw0) | ||
47 | * 3 Hardware (ignored) | ||
48 | * 4 Hardware (ignored) | ||
49 | * 5 Hardware (ignored) | ||
50 | * 6 Hardware (ignored) | ||
51 | * 7 R4k timer (what we use) | ||
52 | * | ||
53 | * Note: On the SEAD board thing are a little bit different. | ||
54 | * Here IRQ 2 (hw0) is wired to the UART0 and IRQ 3 (hw1) is wired | ||
55 | * wired to UART1. | ||
56 | * | ||
57 | * We handle the IRQ according to _our_ priority which is: | ||
58 | * | ||
59 | * Highest ---- R4k Timer | ||
60 | * Lowest ---- Combined hardware interrupt | ||
61 | * | ||
62 | * then we just return, if multiple IRQs are pending then we will just take | ||
63 | * another exception, big deal. | ||
64 | */ | ||
65 | |||
66 | .text | ||
67 | .set noreorder | ||
68 | .set noat | ||
69 | .align 5 | ||
70 | NESTED(mipsIRQ, PT_SIZE, sp) | ||
71 | SAVE_ALL | ||
72 | CLI | ||
73 | .set at | ||
74 | |||
75 | mfc0 s0, CP0_CAUSE # get irq bits | ||
76 | mfc0 s1, CP0_STATUS # get irq mask | ||
77 | and s0, s1 | ||
78 | |||
79 | /* First we check for r4k counter/timer IRQ. */ | ||
80 | andi a0, s0, CAUSEF_IP7 | ||
81 | beq a0, zero, 1f | ||
82 | andi a0, s0, CAUSEF_IP2 # delay slot, check hw0 interrupt | ||
83 | |||
84 | /* Wheee, a timer interrupt. */ | ||
85 | move a0, sp | ||
86 | jal mips_timer_interrupt | ||
87 | nop | ||
88 | |||
89 | j ret_from_irq | ||
90 | nop | ||
91 | |||
92 | 1: | ||
93 | #if defined(CONFIG_MIPS_SEAD) | ||
94 | beq a0, zero, 1f | ||
95 | andi a0, s0, CAUSEF_IP3 # delay slot, check hw1 interrupt | ||
96 | #else | ||
97 | beq a0, zero, 1f # delay slot, check hw3 interrupt | ||
98 | andi a0, s0, CAUSEF_IP5 | ||
99 | #endif | ||
100 | |||
101 | /* Wheee, combined hardware level zero interrupt. */ | ||
102 | #if defined(CONFIG_MIPS_ATLAS) | ||
103 | jal atlas_hw0_irqdispatch | ||
104 | #elif defined(CONFIG_MIPS_MALTA) | ||
105 | jal malta_hw0_irqdispatch | ||
106 | #elif defined(CONFIG_MIPS_SEAD) | ||
107 | jal sead_hw0_irqdispatch | ||
108 | #else | ||
109 | #error "MIPS board not supported\n" | ||
110 | #endif | ||
111 | move a0, sp # delay slot | ||
112 | |||
113 | j ret_from_irq | ||
114 | nop # delay slot | ||
115 | |||
116 | 1: | ||
117 | #if defined(CONFIG_MIPS_SEAD) | ||
118 | beq a0, zero, 1f | ||
119 | andi a0, s0, CAUSEF_IP5 # delay slot, check hw3 interrupt | ||
120 | jal sead_hw1_irqdispatch | ||
121 | move a0, sp # delay slot | ||
122 | j ret_from_irq | ||
123 | nop # delay slot | ||
124 | 1: | ||
125 | #endif | ||
126 | #if defined(CONFIG_MIPS_MALTA) | ||
127 | beq a0, zero, 1f # check hw3 (coreHI) interrupt | ||
128 | nop | ||
129 | jal corehi_irqdispatch | ||
130 | move a0, sp | ||
131 | j ret_from_irq | ||
132 | nop | ||
133 | 1: | ||
134 | #endif | ||
135 | /* | ||
136 | * Here by mistake? This is possible, what can happen is that by the | ||
137 | * time we take the exception the IRQ pin goes low, so just leave if | ||
138 | * this is the case. | ||
139 | */ | ||
140 | move a1,s0 | ||
141 | PRINT("Got interrupt: c0_cause = %08x\n") | ||
142 | mfc0 a1, CP0_EPC | ||
143 | PRINT("c0_epc = %08x\n") | ||
144 | |||
145 | j ret_from_irq | ||
146 | nop | ||
147 | END(mipsIRQ) | ||
diff --git a/arch/mips/mips-boards/sim/sim_irq.S b/arch/mips/mips-boards/sim/sim_irq.S deleted file mode 100644 index b7444e74a6a1..000000000000 --- a/arch/mips/mips-boards/sim/sim_irq.S +++ /dev/null | |||
@@ -1,100 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (C) 1999, 2005 MIPS Technologies, Inc. All rights reserved. | ||
3 | * | ||
4 | * This program is free software; you can distribute it and/or modify it | ||
5 | * under the terms of the GNU General Public License (Version 2) as | ||
6 | * published by the Free Software Foundation. | ||
7 | * | ||
8 | * This program is distributed in the hope it will be useful, but WITHOUT | ||
9 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
10 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | ||
11 | * for more details. | ||
12 | * | ||
13 | * You should have received a copy of the GNU General Public License along | ||
14 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
15 | * 59 Temple Place - Suite 330, Boston MA 02111-1307, USA. | ||
16 | * | ||
17 | * Interrupt exception dispatch code. | ||
18 | * | ||
19 | */ | ||
20 | |||
21 | #include <asm/asm.h> | ||
22 | #include <asm/mipsregs.h> | ||
23 | #include <asm/regdef.h> | ||
24 | #include <asm/stackframe.h> | ||
25 | |||
26 | #include <asm/mips-boards/simint.h> | ||
27 | |||
28 | |||
29 | .text | ||
30 | .set noreorder | ||
31 | .set noat | ||
32 | .align 5 | ||
33 | NESTED(simIRQ, PT_SIZE, sp) | ||
34 | SAVE_ALL | ||
35 | CLI | ||
36 | .set at | ||
37 | |||
38 | mfc0 s0, CP0_CAUSE # get irq bits | ||
39 | mfc0 s1, CP0_STATUS # get irq mask | ||
40 | andi s0, ST0_IM # CAUSE.CE may be non-zero! | ||
41 | and s0, s1 | ||
42 | |||
43 | #if defined(CONFIG_CPU_MIPS32) || defined(CONFIG_CPU_MIPS64) | ||
44 | .set mips32 | ||
45 | clz a0, s0 | ||
46 | .set mips0 | ||
47 | negu a0 | ||
48 | addu a0, 31-CAUSEB_IP | ||
49 | bltz a0, spurious | ||
50 | #else | ||
51 | beqz s0, spurious | ||
52 | li a0, 7 | ||
53 | |||
54 | and t0, s0, 0xf000 | ||
55 | sltiu t0, t0, 1 | ||
56 | sll t0, 2 | ||
57 | subu a0, t0 | ||
58 | sll s0, t0 | ||
59 | |||
60 | and t0, s0, 0xc000 | ||
61 | sltiu t0, t0, 1 | ||
62 | sll t0, 1 | ||
63 | subu a0, t0 | ||
64 | sll s0, t0 | ||
65 | |||
66 | and t0, s0, 0x8000 | ||
67 | sltiu t0, t0, 1 | ||
68 | # sll t0, 0 | ||
69 | subu a0, t0 | ||
70 | # sll s0, t0 | ||
71 | #endif | ||
72 | |||
73 | #ifdef CASCADE_IRQ | ||
74 | li a1, CASCADE_IRQ | ||
75 | bne a0, a1, 1f | ||
76 | addu a0, MIPSCPU_INT_BASE | ||
77 | |||
78 | jal CASCADE_DISPATCH | ||
79 | move a0, sp | ||
80 | |||
81 | j ret_from_irq | ||
82 | nop | ||
83 | 1: | ||
84 | #else | ||
85 | addu a0, MIPSCPU_INT_BASE | ||
86 | #endif | ||
87 | |||
88 | jal do_IRQ | ||
89 | move a1, sp | ||
90 | |||
91 | j ret_from_irq | ||
92 | nop | ||
93 | |||
94 | |||
95 | spurious: | ||
96 | jal spurious_interrupt | ||
97 | nop | ||
98 | j ret_from_irq | ||
99 | nop | ||
100 | END(simIRQ) | ||
diff --git a/arch/mips/mips-boards/sim/sim_setup.c b/arch/mips/mips-boards/sim/sim_setup.c index 3d4a785b565a..2659c1c3b78d 100644 --- a/arch/mips/mips-boards/sim/sim_setup.c +++ b/arch/mips/mips-boards/sim/sim_setup.c | |||
@@ -37,7 +37,6 @@ | |||
37 | 37 | ||
38 | 38 | ||
39 | extern void sim_time_init(void); | 39 | extern void sim_time_init(void); |
40 | extern void sim_timer_setup(struct irqaction *irq); | ||
41 | static void __init serial_init(void); | 40 | static void __init serial_init(void); |
42 | unsigned int _isbonito = 0; | 41 | unsigned int _isbonito = 0; |
43 | 42 | ||
@@ -56,7 +55,6 @@ void __init plat_mem_setup(void) | |||
56 | serial_init(); | 55 | serial_init(); |
57 | 56 | ||
58 | board_time_init = sim_time_init; | 57 | board_time_init = sim_time_init; |
59 | board_timer_setup = sim_timer_setup; | ||
60 | prom_printf("Linux started...\n"); | 58 | prom_printf("Linux started...\n"); |
61 | 59 | ||
62 | #ifdef CONFIG_MT_SMP | 60 | #ifdef CONFIG_MT_SMP |
diff --git a/arch/mips/mips-boards/sim/sim_time.c b/arch/mips/mips-boards/sim/sim_time.c index e7f6003357f7..230929ecd57f 100644 --- a/arch/mips/mips-boards/sim/sim_time.c +++ b/arch/mips/mips-boards/sim/sim_time.c | |||
@@ -33,8 +33,6 @@ | |||
33 | 33 | ||
34 | unsigned long cpu_khz; | 34 | unsigned long cpu_khz; |
35 | 35 | ||
36 | extern asmlinkage void ll_local_timer_interrupt(int irq, struct pt_regs *regs); | ||
37 | |||
38 | irqreturn_t sim_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) | 36 | irqreturn_t sim_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs) |
39 | { | 37 | { |
40 | #ifdef CONFIG_SMP | 38 | #ifdef CONFIG_SMP |
@@ -185,7 +183,7 @@ static void mips_timer_dispatch (struct pt_regs *regs) | |||
185 | } | 183 | } |
186 | 184 | ||
187 | 185 | ||
188 | void __init sim_timer_setup(struct irqaction *irq) | 186 | void __init plat_timer_setup(struct irqaction *irq) |
189 | { | 187 | { |
190 | if (cpu_has_veic) { | 188 | if (cpu_has_veic) { |
191 | set_vi_handler(MSC01E_INT_CPUCTR, mips_timer_dispatch); | 189 | set_vi_handler(MSC01E_INT_CPUCTR, mips_timer_dispatch); |
diff --git a/arch/mips/mm/c-r4k.c b/arch/mips/mm/c-r4k.c index 857b726f4d41..069803f58f3b 100644 --- a/arch/mips/mm/c-r4k.c +++ b/arch/mips/mm/c-r4k.c | |||
@@ -578,7 +578,7 @@ static inline void local_r4k_flush_icache_page(void *args) | |||
578 | * secondary cache will result in any entries in the primary caches | 578 | * secondary cache will result in any entries in the primary caches |
579 | * also getting invalidated which hopefully is a bit more economical. | 579 | * also getting invalidated which hopefully is a bit more economical. |
580 | */ | 580 | */ |
581 | if (cpu_has_subset_pcaches) { | 581 | if (cpu_has_inclusive_pcaches) { |
582 | unsigned long addr = (unsigned long) page_address(page); | 582 | unsigned long addr = (unsigned long) page_address(page); |
583 | 583 | ||
584 | r4k_blast_scache_page(addr); | 584 | r4k_blast_scache_page(addr); |
@@ -634,7 +634,7 @@ static void r4k_dma_cache_wback_inv(unsigned long addr, unsigned long size) | |||
634 | /* Catch bad driver code */ | 634 | /* Catch bad driver code */ |
635 | BUG_ON(size == 0); | 635 | BUG_ON(size == 0); |
636 | 636 | ||
637 | if (cpu_has_subset_pcaches) { | 637 | if (cpu_has_inclusive_pcaches) { |
638 | if (size >= scache_size) | 638 | if (size >= scache_size) |
639 | r4k_blast_scache(); | 639 | r4k_blast_scache(); |
640 | else | 640 | else |
@@ -662,7 +662,7 @@ static void r4k_dma_cache_inv(unsigned long addr, unsigned long size) | |||
662 | /* Catch bad driver code */ | 662 | /* Catch bad driver code */ |
663 | BUG_ON(size == 0); | 663 | BUG_ON(size == 0); |
664 | 664 | ||
665 | if (cpu_has_subset_pcaches) { | 665 | if (cpu_has_inclusive_pcaches) { |
666 | if (size >= scache_size) | 666 | if (size >= scache_size) |
667 | r4k_blast_scache(); | 667 | r4k_blast_scache(); |
668 | else | 668 | else |
@@ -862,15 +862,18 @@ static void __init probe_pcache(void) | |||
862 | break; | 862 | break; |
863 | 863 | ||
864 | case CPU_VR4133: | 864 | case CPU_VR4133: |
865 | write_c0_config(config & ~CONF_EB); | 865 | write_c0_config(config & ~VR41_CONF_P4K); |
866 | case CPU_VR4131: | 866 | case CPU_VR4131: |
867 | /* Workaround for cache instruction bug of VR4131 */ | 867 | /* Workaround for cache instruction bug of VR4131 */ |
868 | if (c->processor_id == 0x0c80U || c->processor_id == 0x0c81U || | 868 | if (c->processor_id == 0x0c80U || c->processor_id == 0x0c81U || |
869 | c->processor_id == 0x0c82U) { | 869 | c->processor_id == 0x0c82U) { |
870 | config &= ~0x00000030U; | 870 | config |= 0x00400000U; |
871 | config |= 0x00410000U; | 871 | if (c->processor_id == 0x0c80U) |
872 | config |= VR41_CONF_BP; | ||
872 | write_c0_config(config); | 873 | write_c0_config(config); |
873 | } | 874 | } else |
875 | c->options |= MIPS_CPU_CACHE_CDEX_P; | ||
876 | |||
874 | icache_size = 1 << (10 + ((config & CONF_IC) >> 9)); | 877 | icache_size = 1 << (10 + ((config & CONF_IC) >> 9)); |
875 | c->icache.linesz = 16 << ((config & CONF_IB) >> 5); | 878 | c->icache.linesz = 16 << ((config & CONF_IB) >> 5); |
876 | c->icache.ways = 2; | 879 | c->icache.ways = 2; |
@@ -880,8 +883,6 @@ static void __init probe_pcache(void) | |||
880 | c->dcache.linesz = 16 << ((config & CONF_DB) >> 4); | 883 | c->dcache.linesz = 16 << ((config & CONF_DB) >> 4); |
881 | c->dcache.ways = 2; | 884 | c->dcache.ways = 2; |
882 | c->dcache.waybit = __ffs(dcache_size/2); | 885 | c->dcache.waybit = __ffs(dcache_size/2); |
883 | |||
884 | c->options |= MIPS_CPU_CACHE_CDEX_P; | ||
885 | break; | 886 | break; |
886 | 887 | ||
887 | case CPU_VR41XX: | 888 | case CPU_VR41XX: |
@@ -1192,7 +1193,7 @@ static void __init setup_scache(void) | |||
1192 | printk("Unified secondary cache %ldkB %s, linesize %d bytes.\n", | 1193 | printk("Unified secondary cache %ldkB %s, linesize %d bytes.\n", |
1193 | scache_size >> 10, way_string[c->scache.ways], c->scache.linesz); | 1194 | scache_size >> 10, way_string[c->scache.ways], c->scache.linesz); |
1194 | 1195 | ||
1195 | c->options |= MIPS_CPU_SUBSET_CACHES; | 1196 | c->options |= MIPS_CPU_INCLUSIVE_CACHES; |
1196 | } | 1197 | } |
1197 | 1198 | ||
1198 | void au1x00_fixup_config_od(void) | 1199 | void au1x00_fixup_config_od(void) |
diff --git a/arch/mips/mm/init.c b/arch/mips/mm/init.c index 802bdd32aa2b..c52497bb102a 100644 --- a/arch/mips/mm/init.c +++ b/arch/mips/mm/init.c | |||
@@ -139,10 +139,36 @@ void __init fixrange_init(unsigned long start, unsigned long end, | |||
139 | #ifndef CONFIG_NEED_MULTIPLE_NODES | 139 | #ifndef CONFIG_NEED_MULTIPLE_NODES |
140 | extern void pagetable_init(void); | 140 | extern void pagetable_init(void); |
141 | 141 | ||
142 | static int __init page_is_ram(unsigned long pagenr) | ||
143 | { | ||
144 | int i; | ||
145 | |||
146 | for (i = 0; i < boot_mem_map.nr_map; i++) { | ||
147 | unsigned long addr, end; | ||
148 | |||
149 | if (boot_mem_map.map[i].type != BOOT_MEM_RAM) | ||
150 | /* not usable memory */ | ||
151 | continue; | ||
152 | |||
153 | addr = PFN_UP(boot_mem_map.map[i].addr); | ||
154 | end = PFN_DOWN(boot_mem_map.map[i].addr + | ||
155 | boot_mem_map.map[i].size); | ||
156 | |||
157 | if (pagenr >= addr && pagenr < end) | ||
158 | return 1; | ||
159 | } | ||
160 | |||
161 | return 0; | ||
162 | } | ||
163 | |||
142 | void __init paging_init(void) | 164 | void __init paging_init(void) |
143 | { | 165 | { |
144 | unsigned long zones_size[MAX_NR_ZONES] = {0, 0, 0}; | 166 | unsigned long zones_size[] = { [0 ... MAX_NR_ZONES - 1] = 0 }; |
145 | unsigned long max_dma, high, low; | 167 | unsigned long max_dma, high, low; |
168 | #ifndef CONFIG_FLATMEM | ||
169 | unsigned long zholes_size[] = { [0 ... MAX_NR_ZONES - 1] = 0 }; | ||
170 | unsigned long i, j, pfn; | ||
171 | #endif | ||
146 | 172 | ||
147 | pagetable_init(); | 173 | pagetable_init(); |
148 | 174 | ||
@@ -174,29 +200,16 @@ void __init paging_init(void) | |||
174 | zones_size[ZONE_HIGHMEM] = high - low; | 200 | zones_size[ZONE_HIGHMEM] = high - low; |
175 | #endif | 201 | #endif |
176 | 202 | ||
203 | #ifdef CONFIG_FLATMEM | ||
177 | free_area_init(zones_size); | 204 | free_area_init(zones_size); |
178 | } | 205 | #else |
179 | 206 | pfn = 0; | |
180 | static inline int page_is_ram(unsigned long pagenr) | 207 | for (i = 0; i < MAX_NR_ZONES; i++) |
181 | { | 208 | for (j = 0; j < zones_size[i]; j++, pfn++) |
182 | int i; | 209 | if (!page_is_ram(pfn)) |
183 | 210 | zholes_size[i]++; | |
184 | for (i = 0; i < boot_mem_map.nr_map; i++) { | 211 | free_area_init_node(0, NODE_DATA(0), zones_size, 0, zholes_size); |
185 | unsigned long addr, end; | 212 | #endif |
186 | |||
187 | if (boot_mem_map.map[i].type != BOOT_MEM_RAM) | ||
188 | /* not usable memory */ | ||
189 | continue; | ||
190 | |||
191 | addr = PFN_UP(boot_mem_map.map[i].addr); | ||
192 | end = PFN_DOWN(boot_mem_map.map[i].addr + | ||
193 | boot_mem_map.map[i].size); | ||
194 | |||
195 | if (pagenr >= addr && pagenr < end) | ||
196 | return 1; | ||
197 | } | ||
198 | |||
199 | return 0; | ||
200 | } | 213 | } |
201 | 214 | ||
202 | static struct kcore_list kcore_mem, kcore_vmalloc; | 215 | static struct kcore_list kcore_mem, kcore_vmalloc; |
@@ -213,9 +226,9 @@ void __init mem_init(void) | |||
213 | #ifdef CONFIG_DISCONTIGMEM | 226 | #ifdef CONFIG_DISCONTIGMEM |
214 | #error "CONFIG_HIGHMEM and CONFIG_DISCONTIGMEM dont work together yet" | 227 | #error "CONFIG_HIGHMEM and CONFIG_DISCONTIGMEM dont work together yet" |
215 | #endif | 228 | #endif |
216 | max_mapnr = num_physpages = highend_pfn; | 229 | max_mapnr = highend_pfn; |
217 | #else | 230 | #else |
218 | max_mapnr = num_physpages = max_low_pfn; | 231 | max_mapnr = max_low_pfn; |
219 | #endif | 232 | #endif |
220 | high_memory = (void *) __va(max_low_pfn << PAGE_SHIFT); | 233 | high_memory = (void *) __va(max_low_pfn << PAGE_SHIFT); |
221 | 234 | ||
@@ -229,6 +242,7 @@ void __init mem_init(void) | |||
229 | if (PageReserved(pfn_to_page(tmp))) | 242 | if (PageReserved(pfn_to_page(tmp))) |
230 | reservedpages++; | 243 | reservedpages++; |
231 | } | 244 | } |
245 | num_physpages = ram; | ||
232 | 246 | ||
233 | #ifdef CONFIG_HIGHMEM | 247 | #ifdef CONFIG_HIGHMEM |
234 | for (tmp = highstart_pfn; tmp < highend_pfn; tmp++) { | 248 | for (tmp = highstart_pfn; tmp < highend_pfn; tmp++) { |
@@ -247,6 +261,7 @@ void __init mem_init(void) | |||
247 | totalhigh_pages++; | 261 | totalhigh_pages++; |
248 | } | 262 | } |
249 | totalram_pages += totalhigh_pages; | 263 | totalram_pages += totalhigh_pages; |
264 | num_physpages += totalhigh_pages; | ||
250 | #endif | 265 | #endif |
251 | 266 | ||
252 | codesize = (unsigned long) &_etext - (unsigned long) &_text; | 267 | codesize = (unsigned long) &_etext - (unsigned long) &_text; |
diff --git a/arch/mips/mm/pgtable.c b/arch/mips/mm/pgtable.c index 792c6eb44232..c93aa6cbcaca 100644 --- a/arch/mips/mm/pgtable.c +++ b/arch/mips/mm/pgtable.c | |||
@@ -15,6 +15,8 @@ void show_mem(void) | |||
15 | printk("Free swap: %6ldkB\n", nr_swap_pages<<(PAGE_SHIFT-10)); | 15 | printk("Free swap: %6ldkB\n", nr_swap_pages<<(PAGE_SHIFT-10)); |
16 | pfn = max_mapnr; | 16 | pfn = max_mapnr; |
17 | while (pfn-- > 0) { | 17 | while (pfn-- > 0) { |
18 | if (!pfn_valid(pfn)) | ||
19 | continue; | ||
18 | page = pfn_to_page(pfn); | 20 | page = pfn_to_page(pfn); |
19 | total++; | 21 | total++; |
20 | if (PageHighMem(page)) | 22 | if (PageHighMem(page)) |
diff --git a/arch/mips/mm/tlbex.c b/arch/mips/mm/tlbex.c index e1a8139fc8fb..375e0991505d 100644 --- a/arch/mips/mm/tlbex.c +++ b/arch/mips/mm/tlbex.c | |||
@@ -5,7 +5,7 @@ | |||
5 | * | 5 | * |
6 | * Synthesize TLB refill handlers at runtime. | 6 | * Synthesize TLB refill handlers at runtime. |
7 | * | 7 | * |
8 | * Copyright (C) 2004,2005 by Thiemo Seufer | 8 | * Copyright (C) 2004,2005,2006 by Thiemo Seufer |
9 | * Copyright (C) 2005 Maciej W. Rozycki | 9 | * Copyright (C) 2005 Maciej W. Rozycki |
10 | * Copyright (C) 2006 Ralf Baechle (ralf@linux-mips.org) | 10 | * Copyright (C) 2006 Ralf Baechle (ralf@linux-mips.org) |
11 | * | 11 | * |
@@ -35,8 +35,6 @@ | |||
35 | #include <asm/smp.h> | 35 | #include <asm/smp.h> |
36 | #include <asm/war.h> | 36 | #include <asm/war.h> |
37 | 37 | ||
38 | /* #define DEBUG_TLB */ | ||
39 | |||
40 | static __init int __attribute__((unused)) r45k_bvahwbug(void) | 38 | static __init int __attribute__((unused)) r45k_bvahwbug(void) |
41 | { | 39 | { |
42 | /* XXX: We should probe for the presence of this bug, but we don't. */ | 40 | /* XXX: We should probe for the presence of this bug, but we don't. */ |
@@ -728,6 +726,7 @@ static void __init build_r3000_tlb_refill_handler(void) | |||
728 | { | 726 | { |
729 | long pgdc = (long)pgd_current; | 727 | long pgdc = (long)pgd_current; |
730 | u32 *p; | 728 | u32 *p; |
729 | int i; | ||
731 | 730 | ||
732 | memset(tlb_handler, 0, sizeof(tlb_handler)); | 731 | memset(tlb_handler, 0, sizeof(tlb_handler)); |
733 | p = tlb_handler; | 732 | p = tlb_handler; |
@@ -753,16 +752,14 @@ static void __init build_r3000_tlb_refill_handler(void) | |||
753 | if (p > tlb_handler + 32) | 752 | if (p > tlb_handler + 32) |
754 | panic("TLB refill handler space exceeded"); | 753 | panic("TLB refill handler space exceeded"); |
755 | 754 | ||
756 | printk("Synthesized TLB refill handler (%u instructions).\n", | 755 | pr_info("Synthesized TLB refill handler (%u instructions).\n", |
757 | (unsigned int)(p - tlb_handler)); | 756 | (unsigned int)(p - tlb_handler)); |
758 | #ifdef DEBUG_TLB | ||
759 | { | ||
760 | int i; | ||
761 | 757 | ||
762 | for (i = 0; i < (p - tlb_handler); i++) | 758 | pr_debug("\t.set push\n"); |
763 | printk("%08x\n", tlb_handler[i]); | 759 | pr_debug("\t.set noreorder\n"); |
764 | } | 760 | for (i = 0; i < (p - tlb_handler); i++) |
765 | #endif | 761 | pr_debug("\t.word 0x%08x\n", tlb_handler[i]); |
762 | pr_debug("\t.set pop\n"); | ||
766 | 763 | ||
767 | memcpy((void *)ebase, tlb_handler, 0x80); | 764 | memcpy((void *)ebase, tlb_handler, 0x80); |
768 | } | 765 | } |
@@ -1175,6 +1172,7 @@ static void __init build_r4000_tlb_refill_handler(void) | |||
1175 | struct reloc *r = relocs; | 1172 | struct reloc *r = relocs; |
1176 | u32 *f; | 1173 | u32 *f; |
1177 | unsigned int final_len; | 1174 | unsigned int final_len; |
1175 | int i; | ||
1178 | 1176 | ||
1179 | memset(tlb_handler, 0, sizeof(tlb_handler)); | 1177 | memset(tlb_handler, 0, sizeof(tlb_handler)); |
1180 | memset(labels, 0, sizeof(labels)); | 1178 | memset(labels, 0, sizeof(labels)); |
@@ -1272,24 +1270,21 @@ static void __init build_r4000_tlb_refill_handler(void) | |||
1272 | #endif /* CONFIG_64BIT */ | 1270 | #endif /* CONFIG_64BIT */ |
1273 | 1271 | ||
1274 | resolve_relocs(relocs, labels); | 1272 | resolve_relocs(relocs, labels); |
1275 | printk("Synthesized TLB refill handler (%u instructions).\n", | 1273 | pr_info("Synthesized TLB refill handler (%u instructions).\n", |
1276 | final_len); | 1274 | final_len); |
1277 | |||
1278 | #ifdef DEBUG_TLB | ||
1279 | { | ||
1280 | int i; | ||
1281 | 1275 | ||
1282 | f = final_handler; | 1276 | f = final_handler; |
1283 | #ifdef CONFIG_64BIT | 1277 | #ifdef CONFIG_64BIT |
1284 | if (final_len > 32) | 1278 | if (final_len > 32) |
1285 | final_len = 64; | 1279 | final_len = 64; |
1286 | else | 1280 | else |
1287 | f = final_handler + 32; | 1281 | f = final_handler + 32; |
1288 | #endif /* CONFIG_64BIT */ | 1282 | #endif /* CONFIG_64BIT */ |
1289 | for (i = 0; i < final_len; i++) | 1283 | pr_debug("\t.set push\n"); |
1290 | printk("%08x\n", f[i]); | 1284 | pr_debug("\t.set noreorder\n"); |
1291 | } | 1285 | for (i = 0; i < final_len; i++) |
1292 | #endif | 1286 | pr_debug("\t.word 0x%08x\n", f[i]); |
1287 | pr_debug("\t.set pop\n"); | ||
1293 | 1288 | ||
1294 | memcpy((void *)ebase, final_handler, 0x100); | 1289 | memcpy((void *)ebase, final_handler, 0x100); |
1295 | } | 1290 | } |
@@ -1522,6 +1517,7 @@ static void __init build_r3000_tlb_load_handler(void) | |||
1522 | u32 *p = handle_tlbl; | 1517 | u32 *p = handle_tlbl; |
1523 | struct label *l = labels; | 1518 | struct label *l = labels; |
1524 | struct reloc *r = relocs; | 1519 | struct reloc *r = relocs; |
1520 | int i; | ||
1525 | 1521 | ||
1526 | memset(handle_tlbl, 0, sizeof(handle_tlbl)); | 1522 | memset(handle_tlbl, 0, sizeof(handle_tlbl)); |
1527 | memset(labels, 0, sizeof(labels)); | 1523 | memset(labels, 0, sizeof(labels)); |
@@ -1541,17 +1537,14 @@ static void __init build_r3000_tlb_load_handler(void) | |||
1541 | panic("TLB load handler fastpath space exceeded"); | 1537 | panic("TLB load handler fastpath space exceeded"); |
1542 | 1538 | ||
1543 | resolve_relocs(relocs, labels); | 1539 | resolve_relocs(relocs, labels); |
1544 | printk("Synthesized TLB load handler fastpath (%u instructions).\n", | 1540 | pr_info("Synthesized TLB load handler fastpath (%u instructions).\n", |
1545 | (unsigned int)(p - handle_tlbl)); | 1541 | (unsigned int)(p - handle_tlbl)); |
1546 | |||
1547 | #ifdef DEBUG_TLB | ||
1548 | { | ||
1549 | int i; | ||
1550 | 1542 | ||
1551 | for (i = 0; i < (p - handle_tlbl); i++) | 1543 | pr_debug("\t.set push\n"); |
1552 | printk("%08x\n", handle_tlbl[i]); | 1544 | pr_debug("\t.set noreorder\n"); |
1553 | } | 1545 | for (i = 0; i < (p - handle_tlbl); i++) |
1554 | #endif | 1546 | pr_debug("\t.word 0x%08x\n", handle_tlbl[i]); |
1547 | pr_debug("\t.set pop\n"); | ||
1555 | } | 1548 | } |
1556 | 1549 | ||
1557 | static void __init build_r3000_tlb_store_handler(void) | 1550 | static void __init build_r3000_tlb_store_handler(void) |
@@ -1559,6 +1552,7 @@ static void __init build_r3000_tlb_store_handler(void) | |||
1559 | u32 *p = handle_tlbs; | 1552 | u32 *p = handle_tlbs; |
1560 | struct label *l = labels; | 1553 | struct label *l = labels; |
1561 | struct reloc *r = relocs; | 1554 | struct reloc *r = relocs; |
1555 | int i; | ||
1562 | 1556 | ||
1563 | memset(handle_tlbs, 0, sizeof(handle_tlbs)); | 1557 | memset(handle_tlbs, 0, sizeof(handle_tlbs)); |
1564 | memset(labels, 0, sizeof(labels)); | 1558 | memset(labels, 0, sizeof(labels)); |
@@ -1578,17 +1572,14 @@ static void __init build_r3000_tlb_store_handler(void) | |||
1578 | panic("TLB store handler fastpath space exceeded"); | 1572 | panic("TLB store handler fastpath space exceeded"); |
1579 | 1573 | ||
1580 | resolve_relocs(relocs, labels); | 1574 | resolve_relocs(relocs, labels); |
1581 | printk("Synthesized TLB store handler fastpath (%u instructions).\n", | 1575 | pr_info("Synthesized TLB store handler fastpath (%u instructions).\n", |
1582 | (unsigned int)(p - handle_tlbs)); | 1576 | (unsigned int)(p - handle_tlbs)); |
1583 | 1577 | ||
1584 | #ifdef DEBUG_TLB | 1578 | pr_debug("\t.set push\n"); |
1585 | { | 1579 | pr_debug("\t.set noreorder\n"); |
1586 | int i; | 1580 | for (i = 0; i < (p - handle_tlbs); i++) |
1587 | 1581 | pr_debug("\t.word 0x%08x\n", handle_tlbs[i]); | |
1588 | for (i = 0; i < (p - handle_tlbs); i++) | 1582 | pr_debug("\t.set pop\n"); |
1589 | printk("%08x\n", handle_tlbs[i]); | ||
1590 | } | ||
1591 | #endif | ||
1592 | } | 1583 | } |
1593 | 1584 | ||
1594 | static void __init build_r3000_tlb_modify_handler(void) | 1585 | static void __init build_r3000_tlb_modify_handler(void) |
@@ -1596,6 +1587,7 @@ static void __init build_r3000_tlb_modify_handler(void) | |||
1596 | u32 *p = handle_tlbm; | 1587 | u32 *p = handle_tlbm; |
1597 | struct label *l = labels; | 1588 | struct label *l = labels; |
1598 | struct reloc *r = relocs; | 1589 | struct reloc *r = relocs; |
1590 | int i; | ||
1599 | 1591 | ||
1600 | memset(handle_tlbm, 0, sizeof(handle_tlbm)); | 1592 | memset(handle_tlbm, 0, sizeof(handle_tlbm)); |
1601 | memset(labels, 0, sizeof(labels)); | 1593 | memset(labels, 0, sizeof(labels)); |
@@ -1615,17 +1607,14 @@ static void __init build_r3000_tlb_modify_handler(void) | |||
1615 | panic("TLB modify handler fastpath space exceeded"); | 1607 | panic("TLB modify handler fastpath space exceeded"); |
1616 | 1608 | ||
1617 | resolve_relocs(relocs, labels); | 1609 | resolve_relocs(relocs, labels); |
1618 | printk("Synthesized TLB modify handler fastpath (%u instructions).\n", | 1610 | pr_info("Synthesized TLB modify handler fastpath (%u instructions).\n", |
1619 | (unsigned int)(p - handle_tlbm)); | 1611 | (unsigned int)(p - handle_tlbm)); |
1620 | 1612 | ||
1621 | #ifdef DEBUG_TLB | 1613 | pr_debug("\t.set push\n"); |
1622 | { | 1614 | pr_debug("\t.set noreorder\n"); |
1623 | int i; | 1615 | for (i = 0; i < (p - handle_tlbm); i++) |
1624 | 1616 | pr_debug("\t.word 0x%08x\n", handle_tlbm[i]); | |
1625 | for (i = 0; i < (p - handle_tlbm); i++) | 1617 | pr_debug("\t.set pop\n"); |
1626 | printk("%08x\n", handle_tlbm[i]); | ||
1627 | } | ||
1628 | #endif | ||
1629 | } | 1618 | } |
1630 | 1619 | ||
1631 | /* | 1620 | /* |
@@ -1677,6 +1666,7 @@ static void __init build_r4000_tlb_load_handler(void) | |||
1677 | u32 *p = handle_tlbl; | 1666 | u32 *p = handle_tlbl; |
1678 | struct label *l = labels; | 1667 | struct label *l = labels; |
1679 | struct reloc *r = relocs; | 1668 | struct reloc *r = relocs; |
1669 | int i; | ||
1680 | 1670 | ||
1681 | memset(handle_tlbl, 0, sizeof(handle_tlbl)); | 1671 | memset(handle_tlbl, 0, sizeof(handle_tlbl)); |
1682 | memset(labels, 0, sizeof(labels)); | 1672 | memset(labels, 0, sizeof(labels)); |
@@ -1704,17 +1694,14 @@ static void __init build_r4000_tlb_load_handler(void) | |||
1704 | panic("TLB load handler fastpath space exceeded"); | 1694 | panic("TLB load handler fastpath space exceeded"); |
1705 | 1695 | ||
1706 | resolve_relocs(relocs, labels); | 1696 | resolve_relocs(relocs, labels); |
1707 | printk("Synthesized TLB load handler fastpath (%u instructions).\n", | 1697 | pr_info("Synthesized TLB load handler fastpath (%u instructions).\n", |
1708 | (unsigned int)(p - handle_tlbl)); | 1698 | (unsigned int)(p - handle_tlbl)); |
1709 | |||
1710 | #ifdef DEBUG_TLB | ||
1711 | { | ||
1712 | int i; | ||
1713 | 1699 | ||
1714 | for (i = 0; i < (p - handle_tlbl); i++) | 1700 | pr_debug("\t.set push\n"); |
1715 | printk("%08x\n", handle_tlbl[i]); | 1701 | pr_debug("\t.set noreorder\n"); |
1716 | } | 1702 | for (i = 0; i < (p - handle_tlbl); i++) |
1717 | #endif | 1703 | pr_debug("\t.word 0x%08x\n", handle_tlbl[i]); |
1704 | pr_debug("\t.set pop\n"); | ||
1718 | } | 1705 | } |
1719 | 1706 | ||
1720 | static void __init build_r4000_tlb_store_handler(void) | 1707 | static void __init build_r4000_tlb_store_handler(void) |
@@ -1722,6 +1709,7 @@ static void __init build_r4000_tlb_store_handler(void) | |||
1722 | u32 *p = handle_tlbs; | 1709 | u32 *p = handle_tlbs; |
1723 | struct label *l = labels; | 1710 | struct label *l = labels; |
1724 | struct reloc *r = relocs; | 1711 | struct reloc *r = relocs; |
1712 | int i; | ||
1725 | 1713 | ||
1726 | memset(handle_tlbs, 0, sizeof(handle_tlbs)); | 1714 | memset(handle_tlbs, 0, sizeof(handle_tlbs)); |
1727 | memset(labels, 0, sizeof(labels)); | 1715 | memset(labels, 0, sizeof(labels)); |
@@ -1740,17 +1728,14 @@ static void __init build_r4000_tlb_store_handler(void) | |||
1740 | panic("TLB store handler fastpath space exceeded"); | 1728 | panic("TLB store handler fastpath space exceeded"); |
1741 | 1729 | ||
1742 | resolve_relocs(relocs, labels); | 1730 | resolve_relocs(relocs, labels); |
1743 | printk("Synthesized TLB store handler fastpath (%u instructions).\n", | 1731 | pr_info("Synthesized TLB store handler fastpath (%u instructions).\n", |
1744 | (unsigned int)(p - handle_tlbs)); | 1732 | (unsigned int)(p - handle_tlbs)); |
1745 | |||
1746 | #ifdef DEBUG_TLB | ||
1747 | { | ||
1748 | int i; | ||
1749 | 1733 | ||
1750 | for (i = 0; i < (p - handle_tlbs); i++) | 1734 | pr_debug("\t.set push\n"); |
1751 | printk("%08x\n", handle_tlbs[i]); | 1735 | pr_debug("\t.set noreorder\n"); |
1752 | } | 1736 | for (i = 0; i < (p - handle_tlbs); i++) |
1753 | #endif | 1737 | pr_debug("\t.word 0x%08x\n", handle_tlbs[i]); |
1738 | pr_debug("\t.set pop\n"); | ||
1754 | } | 1739 | } |
1755 | 1740 | ||
1756 | static void __init build_r4000_tlb_modify_handler(void) | 1741 | static void __init build_r4000_tlb_modify_handler(void) |
@@ -1758,6 +1743,7 @@ static void __init build_r4000_tlb_modify_handler(void) | |||
1758 | u32 *p = handle_tlbm; | 1743 | u32 *p = handle_tlbm; |
1759 | struct label *l = labels; | 1744 | struct label *l = labels; |
1760 | struct reloc *r = relocs; | 1745 | struct reloc *r = relocs; |
1746 | int i; | ||
1761 | 1747 | ||
1762 | memset(handle_tlbm, 0, sizeof(handle_tlbm)); | 1748 | memset(handle_tlbm, 0, sizeof(handle_tlbm)); |
1763 | memset(labels, 0, sizeof(labels)); | 1749 | memset(labels, 0, sizeof(labels)); |
@@ -1777,17 +1763,14 @@ static void __init build_r4000_tlb_modify_handler(void) | |||
1777 | panic("TLB modify handler fastpath space exceeded"); | 1763 | panic("TLB modify handler fastpath space exceeded"); |
1778 | 1764 | ||
1779 | resolve_relocs(relocs, labels); | 1765 | resolve_relocs(relocs, labels); |
1780 | printk("Synthesized TLB modify handler fastpath (%u instructions).\n", | 1766 | pr_info("Synthesized TLB modify handler fastpath (%u instructions).\n", |
1781 | (unsigned int)(p - handle_tlbm)); | 1767 | (unsigned int)(p - handle_tlbm)); |
1782 | 1768 | ||
1783 | #ifdef DEBUG_TLB | 1769 | pr_debug("\t.set push\n"); |
1784 | { | 1770 | pr_debug("\t.set noreorder\n"); |
1785 | int i; | 1771 | for (i = 0; i < (p - handle_tlbm); i++) |
1786 | 1772 | pr_debug("\t.word 0x%08x\n", handle_tlbm[i]); | |
1787 | for (i = 0; i < (p - handle_tlbm); i++) | 1773 | pr_debug("\t.set pop\n"); |
1788 | printk("%08x\n", handle_tlbm[i]); | ||
1789 | } | ||
1790 | #endif | ||
1791 | } | 1774 | } |
1792 | 1775 | ||
1793 | void __init build_tlb_refill_handler(void) | 1776 | void __init build_tlb_refill_handler(void) |
diff --git a/arch/mips/momentum/jaguar_atx/setup.c b/arch/mips/momentum/jaguar_atx/setup.c index b08e6a0456c1..e6fe2992227d 100644 --- a/arch/mips/momentum/jaguar_atx/setup.c +++ b/arch/mips/momentum/jaguar_atx/setup.c | |||
@@ -212,7 +212,7 @@ int m48t37y_set_time(unsigned long sec) | |||
212 | return 0; | 212 | return 0; |
213 | } | 213 | } |
214 | 214 | ||
215 | void momenco_timer_setup(struct irqaction *irq) | 215 | void __init plat_timer_setup(struct irqaction *irq) |
216 | { | 216 | { |
217 | setup_irq(8, irq); | 217 | setup_irq(8, irq); |
218 | } | 218 | } |
@@ -226,7 +226,6 @@ void momenco_time_init(void) | |||
226 | wire_stupidity_into_tlb(); | 226 | wire_stupidity_into_tlb(); |
227 | 227 | ||
228 | mips_hpt_frequency = cpu_clock / 2; | 228 | mips_hpt_frequency = cpu_clock / 2; |
229 | board_timer_setup = momenco_timer_setup; | ||
230 | 229 | ||
231 | rtc_mips_get_time = m48t37y_get_time; | 230 | rtc_mips_get_time = m48t37y_get_time; |
232 | rtc_mips_set_time = m48t37y_set_time; | 231 | rtc_mips_set_time = m48t37y_set_time; |
diff --git a/arch/mips/momentum/ocelot_3/setup.c b/arch/mips/momentum/ocelot_3/setup.c index 8c53490ba6f1..435d0787329e 100644 --- a/arch/mips/momentum/ocelot_3/setup.c +++ b/arch/mips/momentum/ocelot_3/setup.c | |||
@@ -197,7 +197,7 @@ int m48t37y_set_time(unsigned long sec) | |||
197 | return 0; | 197 | return 0; |
198 | } | 198 | } |
199 | 199 | ||
200 | void momenco_timer_setup(struct irqaction *irq) | 200 | void __init plat_timer_setup(struct irqaction *irq) |
201 | { | 201 | { |
202 | setup_irq(7, irq); /* Timer interrupt, unmask status IM7 */ | 202 | setup_irq(7, irq); /* Timer interrupt, unmask status IM7 */ |
203 | } | 203 | } |
@@ -211,7 +211,6 @@ void momenco_time_init(void) | |||
211 | * the Rm7900 and the Rm7065C | 211 | * the Rm7900 and the Rm7065C |
212 | */ | 212 | */ |
213 | mips_hpt_frequency = cpu_clock / 2; | 213 | mips_hpt_frequency = cpu_clock / 2; |
214 | board_timer_setup = momenco_timer_setup; | ||
215 | 214 | ||
216 | rtc_mips_get_time = m48t37y_get_time; | 215 | rtc_mips_get_time = m48t37y_get_time; |
217 | rtc_mips_set_time = m48t37y_set_time; | 216 | rtc_mips_set_time = m48t37y_set_time; |
diff --git a/arch/mips/momentum/ocelot_c/cpci-irq.c b/arch/mips/momentum/ocelot_c/cpci-irq.c index 31d179c4673f..a5dc230520df 100644 --- a/arch/mips/momentum/ocelot_c/cpci-irq.c +++ b/arch/mips/momentum/ocelot_c/cpci-irq.c | |||
@@ -128,7 +128,7 @@ void ll_cpci_irq(struct pt_regs *regs) | |||
128 | 128 | ||
129 | #define shutdown_cpci_irq disable_cpci_irq | 129 | #define shutdown_cpci_irq disable_cpci_irq |
130 | 130 | ||
131 | struct hw_interrupt_type cpci_irq_type = { | 131 | struct irq_chip cpci_irq_type = { |
132 | .typename = "CPCI/FPGA", | 132 | .typename = "CPCI/FPGA", |
133 | .startup = startup_cpci_irq, | 133 | .startup = startup_cpci_irq, |
134 | .shutdown = shutdown_cpci_irq, | 134 | .shutdown = shutdown_cpci_irq, |
diff --git a/arch/mips/momentum/ocelot_c/setup.c b/arch/mips/momentum/ocelot_c/setup.c index 6a4519936ee9..36f570ecc6fb 100644 --- a/arch/mips/momentum/ocelot_c/setup.c +++ b/arch/mips/momentum/ocelot_c/setup.c | |||
@@ -209,7 +209,7 @@ int m48t37y_set_time(unsigned long sec) | |||
209 | return 0; | 209 | return 0; |
210 | } | 210 | } |
211 | 211 | ||
212 | void momenco_timer_setup(struct irqaction *irq) | 212 | void __init plat_timer_setup(struct irqaction *irq) |
213 | { | 213 | { |
214 | setup_irq(7, irq); | 214 | setup_irq(7, irq); |
215 | } | 215 | } |
@@ -224,7 +224,6 @@ void momenco_time_init(void) | |||
224 | #error Unknown CPU for this board | 224 | #error Unknown CPU for this board |
225 | #endif | 225 | #endif |
226 | printk("momenco_time_init cpu_clock=%d\n", cpu_clock); | 226 | printk("momenco_time_init cpu_clock=%d\n", cpu_clock); |
227 | board_timer_setup = momenco_timer_setup; | ||
228 | 227 | ||
229 | rtc_mips_get_time = m48t37y_get_time; | 228 | rtc_mips_get_time = m48t37y_get_time; |
230 | rtc_mips_set_time = m48t37y_set_time; | 229 | rtc_mips_set_time = m48t37y_set_time; |
diff --git a/arch/mips/momentum/ocelot_c/uart-irq.c b/arch/mips/momentum/ocelot_c/uart-irq.c index 852265026fd1..9f33d8f1d826 100644 --- a/arch/mips/momentum/ocelot_c/uart-irq.c +++ b/arch/mips/momentum/ocelot_c/uart-irq.c | |||
@@ -121,7 +121,7 @@ void ll_uart_irq(struct pt_regs *regs) | |||
121 | 121 | ||
122 | #define shutdown_uart_irq disable_uart_irq | 122 | #define shutdown_uart_irq disable_uart_irq |
123 | 123 | ||
124 | struct hw_interrupt_type uart_irq_type = { | 124 | struct irq_chip uart_irq_type = { |
125 | .typename = "UART/FPGA", | 125 | .typename = "UART/FPGA", |
126 | .startup = startup_uart_irq, | 126 | .startup = startup_uart_irq, |
127 | .shutdown = shutdown_uart_irq, | 127 | .shutdown = shutdown_uart_irq, |
diff --git a/arch/mips/oprofile/op_model_mipsxx.c b/arch/mips/oprofile/op_model_mipsxx.c index a09c5f901233..a175d673540f 100644 --- a/arch/mips/oprofile/op_model_mipsxx.c +++ b/arch/mips/oprofile/op_model_mipsxx.c | |||
@@ -49,6 +49,7 @@ static inline unsigned int r_c0_ ## r ## n(void) \ | |||
49 | default: \ | 49 | default: \ |
50 | BUG(); \ | 50 | BUG(); \ |
51 | } \ | 51 | } \ |
52 | return 0; \ | ||
52 | } \ | 53 | } \ |
53 | \ | 54 | \ |
54 | static inline void w_c0_ ## r ## n(unsigned int value) \ | 55 | static inline void w_c0_ ## r ## n(unsigned int value) \ |
@@ -65,6 +66,7 @@ static inline void w_c0_ ## r ## n(unsigned int value) \ | |||
65 | default: \ | 66 | default: \ |
66 | BUG(); \ | 67 | BUG(); \ |
67 | } \ | 68 | } \ |
69 | return; \ | ||
68 | } \ | 70 | } \ |
69 | 71 | ||
70 | __define_perf_accessors(perfcntr, 0, 2) | 72 | __define_perf_accessors(perfcntr, 0, 2) |
diff --git a/arch/mips/pci/fixup-emma2rh.c b/arch/mips/pci/fixup-emma2rh.c index 3a34cd0efd6b..7abcfd175d43 100644 --- a/arch/mips/pci/fixup-emma2rh.c +++ b/arch/mips/pci/fixup-emma2rh.c | |||
@@ -23,7 +23,6 @@ | |||
23 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 23 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
24 | */ | 24 | */ |
25 | 25 | ||
26 | #include <linux/config.h> | ||
27 | #include <linux/kernel.h> | 26 | #include <linux/kernel.h> |
28 | #include <linux/init.h> | 27 | #include <linux/init.h> |
29 | #include <linux/types.h> | 28 | #include <linux/types.h> |
diff --git a/arch/mips/pci/fixup-mpc30x.c b/arch/mips/pci/fixup-mpc30x.c index b67ddaa47122..3c9ae41f7517 100644 --- a/arch/mips/pci/fixup-mpc30x.c +++ b/arch/mips/pci/fixup-mpc30x.c | |||
@@ -21,7 +21,6 @@ | |||
21 | #include <linux/pci.h> | 21 | #include <linux/pci.h> |
22 | 22 | ||
23 | #include <asm/vr41xx/mpc30x.h> | 23 | #include <asm/vr41xx/mpc30x.h> |
24 | #include <asm/vr41xx/vrc4173.h> | ||
25 | 24 | ||
26 | static const int internal_func_irqs[] __initdata = { | 25 | static const int internal_func_irqs[] __initdata = { |
27 | VRC4173_CASCADE_IRQ, | 26 | VRC4173_CASCADE_IRQ, |
diff --git a/arch/mips/pci/ops-emma2rh.c b/arch/mips/pci/ops-emma2rh.c index e21b11bf66bc..38f181625e10 100644 --- a/arch/mips/pci/ops-emma2rh.c +++ b/arch/mips/pci/ops-emma2rh.c | |||
@@ -23,7 +23,6 @@ | |||
23 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 23 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
24 | */ | 24 | */ |
25 | 25 | ||
26 | #include <linux/config.h> | ||
27 | #include <linux/pci.h> | 26 | #include <linux/pci.h> |
28 | #include <linux/kernel.h> | 27 | #include <linux/kernel.h> |
29 | #include <linux/types.h> | 28 | #include <linux/types.h> |
diff --git a/arch/mips/pci/pci-emma2rh.c b/arch/mips/pci/pci-emma2rh.c index 0f8b230057d3..d99591a0cdfe 100644 --- a/arch/mips/pci/pci-emma2rh.c +++ b/arch/mips/pci/pci-emma2rh.c | |||
@@ -23,7 +23,6 @@ | |||
23 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 23 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
24 | */ | 24 | */ |
25 | 25 | ||
26 | #include <linux/config.h> | ||
27 | #include <linux/kernel.h> | 26 | #include <linux/kernel.h> |
28 | #include <linux/init.h> | 27 | #include <linux/init.h> |
29 | #include <linux/types.h> | 28 | #include <linux/types.h> |
diff --git a/arch/mips/philips/pnx8550/common/int.c b/arch/mips/philips/pnx8550/common/int.c index 8aca317d4624..099679a9dfb9 100644 --- a/arch/mips/philips/pnx8550/common/int.c +++ b/arch/mips/philips/pnx8550/common/int.c | |||
@@ -207,7 +207,7 @@ static void end_irq(unsigned int irq) | |||
207 | } | 207 | } |
208 | } | 208 | } |
209 | 209 | ||
210 | static struct hw_interrupt_type level_irq_type = { | 210 | static struct irq_chip level_irq_type = { |
211 | .typename = "PNX Level IRQ", | 211 | .typename = "PNX Level IRQ", |
212 | .startup = startup_irq, | 212 | .startup = startup_irq, |
213 | .shutdown = shutdown_irq, | 213 | .shutdown = shutdown_irq, |
diff --git a/arch/mips/philips/pnx8550/common/setup.c b/arch/mips/philips/pnx8550/common/setup.c index 8ac81a9dc293..36b0c8bc6c06 100644 --- a/arch/mips/philips/pnx8550/common/setup.c +++ b/arch/mips/philips/pnx8550/common/setup.c | |||
@@ -20,6 +20,7 @@ | |||
20 | #include <linux/init.h> | 20 | #include <linux/init.h> |
21 | #include <linux/sched.h> | 21 | #include <linux/sched.h> |
22 | #include <linux/ioport.h> | 22 | #include <linux/ioport.h> |
23 | #include <linux/irq.h> | ||
23 | #include <linux/mm.h> | 24 | #include <linux/mm.h> |
24 | #include <linux/delay.h> | 25 | #include <linux/delay.h> |
25 | #include <linux/interrupt.h> | 26 | #include <linux/interrupt.h> |
@@ -48,10 +49,7 @@ extern void pnx8550_machine_halt(void); | |||
48 | extern void pnx8550_machine_power_off(void); | 49 | extern void pnx8550_machine_power_off(void); |
49 | extern struct resource ioport_resource; | 50 | extern struct resource ioport_resource; |
50 | extern struct resource iomem_resource; | 51 | extern struct resource iomem_resource; |
51 | extern void (*board_time_init)(void); | ||
52 | extern void pnx8550_time_init(void); | 52 | extern void pnx8550_time_init(void); |
53 | extern void (*board_timer_setup)(struct irqaction *irq); | ||
54 | extern void pnx8550_timer_setup(struct irqaction *irq); | ||
55 | extern void rs_kgdb_hook(int tty_no); | 53 | extern void rs_kgdb_hook(int tty_no); |
56 | extern void prom_printf(char *fmt, ...); | 54 | extern void prom_printf(char *fmt, ...); |
57 | extern char *prom_getcmdline(void); | 55 | extern char *prom_getcmdline(void); |
@@ -110,7 +108,6 @@ void __init plat_mem_setup(void) | |||
110 | pm_power_off = pnx8550_machine_power_off; | 108 | pm_power_off = pnx8550_machine_power_off; |
111 | 109 | ||
112 | board_time_init = pnx8550_time_init; | 110 | board_time_init = pnx8550_time_init; |
113 | board_timer_setup = pnx8550_timer_setup; | ||
114 | 111 | ||
115 | /* Clear the Global 2 Register, PCI Inta Output Enable Registers | 112 | /* Clear the Global 2 Register, PCI Inta Output Enable Registers |
116 | Bit 1:Enable DAC Powerdown | 113 | Bit 1:Enable DAC Powerdown |
diff --git a/arch/mips/philips/pnx8550/common/time.c b/arch/mips/philips/pnx8550/common/time.c index 70664ea96b92..0af655b1f330 100644 --- a/arch/mips/philips/pnx8550/common/time.c +++ b/arch/mips/philips/pnx8550/common/time.c | |||
@@ -70,16 +70,7 @@ void pnx8550_time_init(void) | |||
70 | mips_hpt_frequency = 27UL * ((1000000UL * n)/(m * pow2p)); | 70 | mips_hpt_frequency = 27UL * ((1000000UL * n)/(m * pow2p)); |
71 | } | 71 | } |
72 | 72 | ||
73 | /* | 73 | void __init plat_timer_setup(struct irqaction *irq) |
74 | * pnx8550_timer_setup() - it does the following things: | ||
75 | * | ||
76 | * 5) board_timer_setup() - | ||
77 | * a) (optional) over-write any choices made above by time_init(). | ||
78 | * b) machine specific code should setup the timer irqaction. | ||
79 | * c) enable the timer interrupt | ||
80 | */ | ||
81 | |||
82 | void __init pnx8550_timer_setup(struct irqaction *irq) | ||
83 | { | 74 | { |
84 | int configPR; | 75 | int configPR; |
85 | 76 | ||
diff --git a/arch/mips/pmc-sierra/yosemite/setup.c b/arch/mips/pmc-sierra/yosemite/setup.c index aa0d6ff3c6ec..0a6ee8e5eec2 100644 --- a/arch/mips/pmc-sierra/yosemite/setup.c +++ b/arch/mips/pmc-sierra/yosemite/setup.c | |||
@@ -133,14 +133,13 @@ int m48t37y_set_time(unsigned long sec) | |||
133 | return 0; | 133 | return 0; |
134 | } | 134 | } |
135 | 135 | ||
136 | void yosemite_timer_setup(struct irqaction *irq) | 136 | void __init plat_timer_setup(struct irqaction *irq) |
137 | { | 137 | { |
138 | setup_irq(7, irq); | 138 | setup_irq(7, irq); |
139 | } | 139 | } |
140 | 140 | ||
141 | void yosemite_time_init(void) | 141 | void yosemite_time_init(void) |
142 | { | 142 | { |
143 | board_timer_setup = yosemite_timer_setup; | ||
144 | mips_hpt_frequency = cpu_clock / 2; | 143 | mips_hpt_frequency = cpu_clock / 2; |
145 | mips_hpt_frequency = 33000000 * 3 * 5; | 144 | mips_hpt_frequency = 33000000 * 3 * 5; |
146 | } | 145 | } |
diff --git a/arch/mips/qemu/q-reset.c b/arch/mips/qemu/q-reset.c index c04ebcfc7843..dbbe44ad7e89 100644 --- a/arch/mips/qemu/q-reset.c +++ b/arch/mips/qemu/q-reset.c | |||
@@ -1,4 +1,3 @@ | |||
1 | #include <linux/config.h> | ||
2 | 1 | ||
3 | #include <asm/io.h> | 2 | #include <asm/io.h> |
4 | #include <asm/reboot.h> | 3 | #include <asm/reboot.h> |
diff --git a/arch/mips/qemu/q-setup.c b/arch/mips/qemu/q-setup.c index e100d6072e31..841394336f00 100644 --- a/arch/mips/qemu/q-setup.c +++ b/arch/mips/qemu/q-setup.c | |||
@@ -11,7 +11,7 @@ const char *get_system_type(void) | |||
11 | return "Qemu"; | 11 | return "Qemu"; |
12 | } | 12 | } |
13 | 13 | ||
14 | static void __init qemu_timer_setup(struct irqaction *irq) | 14 | void __init plat_timer_setup(struct irqaction *irq) |
15 | { | 15 | { |
16 | /* set the clock to 100 Hz */ | 16 | /* set the clock to 100 Hz */ |
17 | outb_p(0x34,0x43); /* binary, mode 2, LSB/MSB, ch 0 */ | 17 | outb_p(0x34,0x43); /* binary, mode 2, LSB/MSB, ch 0 */ |
@@ -23,7 +23,5 @@ static void __init qemu_timer_setup(struct irqaction *irq) | |||
23 | void __init plat_mem_setup(void) | 23 | void __init plat_mem_setup(void) |
24 | { | 24 | { |
25 | set_io_port_base(QEMU_PORT_BASE); | 25 | set_io_port_base(QEMU_PORT_BASE); |
26 | board_timer_setup = qemu_timer_setup; | ||
27 | |||
28 | qemu_reboot_setup(); | 26 | qemu_reboot_setup(); |
29 | } | 27 | } |
diff --git a/arch/mips/sgi-ip22/ip22-eisa.c b/arch/mips/sgi-ip22/ip22-eisa.c index ce8e4a7869b0..ee0514a29922 100644 --- a/arch/mips/sgi-ip22/ip22-eisa.c +++ b/arch/mips/sgi-ip22/ip22-eisa.c | |||
@@ -144,7 +144,7 @@ static void end_eisa1_irq(unsigned int irq) | |||
144 | enable_eisa1_irq(irq); | 144 | enable_eisa1_irq(irq); |
145 | } | 145 | } |
146 | 146 | ||
147 | static struct hw_interrupt_type ip22_eisa1_irq_type = { | 147 | static struct irq_chip ip22_eisa1_irq_type = { |
148 | .typename = "IP22 EISA", | 148 | .typename = "IP22 EISA", |
149 | .startup = startup_eisa1_irq, | 149 | .startup = startup_eisa1_irq, |
150 | .shutdown = shutdown_eisa1_irq, | 150 | .shutdown = shutdown_eisa1_irq, |
@@ -206,7 +206,7 @@ static void end_eisa2_irq(unsigned int irq) | |||
206 | enable_eisa2_irq(irq); | 206 | enable_eisa2_irq(irq); |
207 | } | 207 | } |
208 | 208 | ||
209 | static struct hw_interrupt_type ip22_eisa2_irq_type = { | 209 | static struct irq_chip ip22_eisa2_irq_type = { |
210 | .typename = "IP22 EISA", | 210 | .typename = "IP22 EISA", |
211 | .startup = startup_eisa2_irq, | 211 | .startup = startup_eisa2_irq, |
212 | .shutdown = shutdown_eisa2_irq, | 212 | .shutdown = shutdown_eisa2_irq, |
diff --git a/arch/mips/sgi-ip22/ip22-int.c b/arch/mips/sgi-ip22/ip22-int.c index 2d8762818d95..f66026e5d64b 100644 --- a/arch/mips/sgi-ip22/ip22-int.c +++ b/arch/mips/sgi-ip22/ip22-int.c | |||
@@ -74,7 +74,7 @@ static void end_local0_irq (unsigned int irq) | |||
74 | enable_local0_irq(irq); | 74 | enable_local0_irq(irq); |
75 | } | 75 | } |
76 | 76 | ||
77 | static struct hw_interrupt_type ip22_local0_irq_type = { | 77 | static struct irq_chip ip22_local0_irq_type = { |
78 | .typename = "IP22 local 0", | 78 | .typename = "IP22 local 0", |
79 | .startup = startup_local0_irq, | 79 | .startup = startup_local0_irq, |
80 | .shutdown = shutdown_local0_irq, | 80 | .shutdown = shutdown_local0_irq, |
@@ -120,7 +120,7 @@ static void end_local1_irq (unsigned int irq) | |||
120 | enable_local1_irq(irq); | 120 | enable_local1_irq(irq); |
121 | } | 121 | } |
122 | 122 | ||
123 | static struct hw_interrupt_type ip22_local1_irq_type = { | 123 | static struct irq_chip ip22_local1_irq_type = { |
124 | .typename = "IP22 local 1", | 124 | .typename = "IP22 local 1", |
125 | .startup = startup_local1_irq, | 125 | .startup = startup_local1_irq, |
126 | .shutdown = shutdown_local1_irq, | 126 | .shutdown = shutdown_local1_irq, |
@@ -166,7 +166,7 @@ static void end_local2_irq (unsigned int irq) | |||
166 | enable_local2_irq(irq); | 166 | enable_local2_irq(irq); |
167 | } | 167 | } |
168 | 168 | ||
169 | static struct hw_interrupt_type ip22_local2_irq_type = { | 169 | static struct irq_chip ip22_local2_irq_type = { |
170 | .typename = "IP22 local 2", | 170 | .typename = "IP22 local 2", |
171 | .startup = startup_local2_irq, | 171 | .startup = startup_local2_irq, |
172 | .shutdown = shutdown_local2_irq, | 172 | .shutdown = shutdown_local2_irq, |
@@ -212,7 +212,7 @@ static void end_local3_irq (unsigned int irq) | |||
212 | enable_local3_irq(irq); | 212 | enable_local3_irq(irq); |
213 | } | 213 | } |
214 | 214 | ||
215 | static struct hw_interrupt_type ip22_local3_irq_type = { | 215 | static struct irq_chip ip22_local3_irq_type = { |
216 | .typename = "IP22 local 3", | 216 | .typename = "IP22 local 3", |
217 | .startup = startup_local3_irq, | 217 | .startup = startup_local3_irq, |
218 | .shutdown = shutdown_local3_irq, | 218 | .shutdown = shutdown_local3_irq, |
@@ -421,7 +421,7 @@ void __init arch_init_irq(void) | |||
421 | mips_cpu_irq_init(SGINT_CPU); | 421 | mips_cpu_irq_init(SGINT_CPU); |
422 | 422 | ||
423 | for (i = SGINT_LOCAL0; i < SGI_INTERRUPTS; i++) { | 423 | for (i = SGINT_LOCAL0; i < SGI_INTERRUPTS; i++) { |
424 | hw_irq_controller *handler; | 424 | struct irq_chip *handler; |
425 | 425 | ||
426 | if (i < SGINT_LOCAL1) | 426 | if (i < SGINT_LOCAL1) |
427 | handler = &ip22_local0_irq_type; | 427 | handler = &ip22_local0_irq_type; |
diff --git a/arch/mips/sgi-ip22/ip22-time.c b/arch/mips/sgi-ip22/ip22-time.c index cca688ad64ad..0e061890f797 100644 --- a/arch/mips/sgi-ip22/ip22-time.c +++ b/arch/mips/sgi-ip22/ip22-time.c | |||
@@ -7,11 +7,12 @@ | |||
7 | * Ralf Baechle or David S. Miller (sorry guys, i'm really not sure) | 7 | * Ralf Baechle or David S. Miller (sorry guys, i'm really not sure) |
8 | * | 8 | * |
9 | * Copyright (C) 2001 by Ladislav Michl | 9 | * Copyright (C) 2001 by Ladislav Michl |
10 | * Copyright (C) 2003 Ralf Baechle (ralf@linux-mips.org) | 10 | * Copyright (C) 2003, 06 Ralf Baechle (ralf@linux-mips.org) |
11 | */ | 11 | */ |
12 | #include <linux/bcd.h> | 12 | #include <linux/bcd.h> |
13 | #include <linux/ds1286.h> | 13 | #include <linux/ds1286.h> |
14 | #include <linux/init.h> | 14 | #include <linux/init.h> |
15 | #include <linux/irq.h> | ||
15 | #include <linux/kernel.h> | 16 | #include <linux/kernel.h> |
16 | #include <linux/interrupt.h> | 17 | #include <linux/interrupt.h> |
17 | #include <linux/kernel_stat.h> | 18 | #include <linux/kernel_stat.h> |
@@ -76,7 +77,7 @@ static int indy_rtc_set_time(unsigned long tim) | |||
76 | save_control = hpc3c0->rtcregs[RTC_CMD] & 0xff; | 77 | save_control = hpc3c0->rtcregs[RTC_CMD] & 0xff; |
77 | hpc3c0->rtcregs[RTC_CMD] = save_control | RTC_TE; | 78 | hpc3c0->rtcregs[RTC_CMD] = save_control | RTC_TE; |
78 | 79 | ||
79 | hpc3c0->rtcregs[RTC_YEAR] = BIN2BCD(tm.tm_sec); | 80 | hpc3c0->rtcregs[RTC_YEAR] = BIN2BCD(tm.tm_year); |
80 | hpc3c0->rtcregs[RTC_MONTH] = BIN2BCD(tm.tm_mon); | 81 | hpc3c0->rtcregs[RTC_MONTH] = BIN2BCD(tm.tm_mon); |
81 | hpc3c0->rtcregs[RTC_DATE] = BIN2BCD(tm.tm_mday); | 82 | hpc3c0->rtcregs[RTC_DATE] = BIN2BCD(tm.tm_mday); |
82 | hpc3c0->rtcregs[RTC_HOURS] = BIN2BCD(tm.tm_hour); | 83 | hpc3c0->rtcregs[RTC_HOURS] = BIN2BCD(tm.tm_hour); |
@@ -198,9 +199,7 @@ void indy_r4k_timer_interrupt(struct pt_regs *regs) | |||
198 | irq_exit(); | 199 | irq_exit(); |
199 | } | 200 | } |
200 | 201 | ||
201 | extern int setup_irq(unsigned int irq, struct irqaction *irqaction); | 202 | void __init plat_timer_setup(struct irqaction *irq) |
202 | |||
203 | static void indy_timer_setup(struct irqaction *irq) | ||
204 | { | 203 | { |
205 | /* over-write the handler, we use our own way */ | 204 | /* over-write the handler, we use our own way */ |
206 | irq->handler = no_action; | 205 | irq->handler = no_action; |
@@ -216,5 +215,4 @@ void __init ip22_time_init(void) | |||
216 | rtc_mips_set_time = indy_rtc_set_time; | 215 | rtc_mips_set_time = indy_rtc_set_time; |
217 | 216 | ||
218 | board_time_init = indy_time_init; | 217 | board_time_init = indy_time_init; |
219 | board_timer_setup = indy_timer_setup; | ||
220 | } | 218 | } |
diff --git a/arch/mips/sgi-ip27/ip27-irq.c b/arch/mips/sgi-ip27/ip27-irq.c index 597ec73359b7..24a85372284f 100644 --- a/arch/mips/sgi-ip27/ip27-irq.c +++ b/arch/mips/sgi-ip27/ip27-irq.c | |||
@@ -296,7 +296,6 @@ static void shutdown_bridge_irq(unsigned int irq) | |||
296 | struct bridge_controller *bc = IRQ_TO_BRIDGE(irq); | 296 | struct bridge_controller *bc = IRQ_TO_BRIDGE(irq); |
297 | struct hub_data *hub = hub_data(cpu_to_node(bc->irq_cpu)); | 297 | struct hub_data *hub = hub_data(cpu_to_node(bc->irq_cpu)); |
298 | bridge_t *bridge = bc->base; | 298 | bridge_t *bridge = bc->base; |
299 | struct slice_data *si = cpu_data[bc->irq_cpu].data; | ||
300 | int pin, swlevel; | 299 | int pin, swlevel; |
301 | cpuid_t cpu; | 300 | cpuid_t cpu; |
302 | 301 | ||
@@ -311,7 +310,6 @@ static void shutdown_bridge_irq(unsigned int irq) | |||
311 | intr_disconnect_level(cpu, swlevel); | 310 | intr_disconnect_level(cpu, swlevel); |
312 | 311 | ||
313 | __clear_bit(swlevel, hub->irq_alloc_mask); | 312 | __clear_bit(swlevel, hub->irq_alloc_mask); |
314 | si->level_to_irq[swlevel] = -1; | ||
315 | 313 | ||
316 | bridge->b_int_enable &= ~(1 << pin); | 314 | bridge->b_int_enable &= ~(1 << pin); |
317 | bridge->b_wid_tflush; | 315 | bridge->b_wid_tflush; |
@@ -347,7 +345,7 @@ static void end_bridge_irq(unsigned int irq) | |||
347 | enable_bridge_irq(irq); | 345 | enable_bridge_irq(irq); |
348 | } | 346 | } |
349 | 347 | ||
350 | static struct hw_interrupt_type bridge_irq_type = { | 348 | static struct irq_chip bridge_irq_type = { |
351 | .typename = "bridge", | 349 | .typename = "bridge", |
352 | .startup = startup_bridge_irq, | 350 | .startup = startup_bridge_irq, |
353 | .shutdown = shutdown_bridge_irq, | 351 | .shutdown = shutdown_bridge_irq, |
diff --git a/arch/mips/sgi-ip27/ip27-timer.c b/arch/mips/sgi-ip27/ip27-timer.c index 3ca614a851e5..b029ba79c27a 100644 --- a/arch/mips/sgi-ip27/ip27-timer.c +++ b/arch/mips/sgi-ip27/ip27-timer.c | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * Copytight (C) 1999, 2000, 05 Ralf Baechle (ralf@linux-mips.org) | 2 | * Copytight (C) 1999, 2000, 05, 06 Ralf Baechle (ralf@linux-mips.org) |
3 | * Copytight (C) 1999, 2000 Silicon Graphics, Inc. | 3 | * Copytight (C) 1999, 2000 Silicon Graphics, Inc. |
4 | */ | 4 | */ |
5 | #include <linux/bcd.h> | 5 | #include <linux/bcd.h> |
@@ -181,8 +181,9 @@ static __init unsigned long get_m48t35_time(void) | |||
181 | return mktime(year, month, date, hour, min, sec); | 181 | return mktime(year, month, date, hour, min, sec); |
182 | } | 182 | } |
183 | 183 | ||
184 | static void startup_rt_irq(unsigned int irq) | 184 | static unsigned int startup_rt_irq(unsigned int irq) |
185 | { | 185 | { |
186 | return 0; | ||
186 | } | 187 | } |
187 | 188 | ||
188 | static void shutdown_rt_irq(unsigned int irq) | 189 | static void shutdown_rt_irq(unsigned int irq) |
@@ -205,7 +206,7 @@ static void end_rt_irq(unsigned int irq) | |||
205 | { | 206 | { |
206 | } | 207 | } |
207 | 208 | ||
208 | static struct hw_interrupt_type rt_irq_type = { | 209 | static struct irq_chip rt_irq_type = { |
209 | .typename = "SN HUB RT timer", | 210 | .typename = "SN HUB RT timer", |
210 | .startup = startup_rt_irq, | 211 | .startup = startup_rt_irq, |
211 | .shutdown = shutdown_rt_irq, | 212 | .shutdown = shutdown_rt_irq, |
@@ -224,17 +225,17 @@ static struct irqaction rt_irqaction = { | |||
224 | 225 | ||
225 | extern int allocate_irqno(void); | 226 | extern int allocate_irqno(void); |
226 | 227 | ||
227 | static void ip27_timer_setup(struct irqaction *irq) | 228 | void __init plat_timer_setup(struct irqaction *irq) |
228 | { | 229 | { |
229 | int irqno = allocate_irqno(); | 230 | int irqno = allocate_irqno(); |
230 | 231 | ||
231 | if (irqno < 0) | 232 | if (irqno < 0) |
232 | panic("Can't allocate interrupt number for timer interrupt"); | 233 | panic("Can't allocate interrupt number for timer interrupt"); |
233 | 234 | ||
234 | irq_desc[irqno].status = IRQ_DISABLED; | 235 | irq_desc[irqno].status = IRQ_DISABLED; |
235 | irq_desc[irqno].action = NULL; | 236 | irq_desc[irqno].action = NULL; |
236 | irq_desc[irqno].depth = 1; | 237 | irq_desc[irqno].depth = 1; |
237 | irq_desc[irqno].handler = &rt_irq_type; | 238 | irq_desc[irqno].chip = &rt_irq_type; |
238 | 239 | ||
239 | /* over-write the handler, we use our own way */ | 240 | /* over-write the handler, we use our own way */ |
240 | irq->handler = no_action; | 241 | irq->handler = no_action; |
@@ -243,6 +244,10 @@ static void ip27_timer_setup(struct irqaction *irq) | |||
243 | irq_desc[irqno].status |= IRQ_PER_CPU; | 244 | irq_desc[irqno].status |= IRQ_PER_CPU; |
244 | 245 | ||
245 | rt_timer_irq = irqno; | 246 | rt_timer_irq = irqno; |
247 | /* | ||
248 | * Only needed to get /proc/interrupt to display timer irq stats | ||
249 | */ | ||
250 | setup_irq(irqno, &rt_irqaction); | ||
246 | } | 251 | } |
247 | 252 | ||
248 | void __init ip27_time_init(void) | 253 | void __init ip27_time_init(void) |
@@ -251,8 +256,6 @@ void __init ip27_time_init(void) | |||
251 | xtime.tv_nsec = 0; | 256 | xtime.tv_nsec = 0; |
252 | 257 | ||
253 | do_gettimeoffset = ip27_do_gettimeoffset; | 258 | do_gettimeoffset = ip27_do_gettimeoffset; |
254 | |||
255 | board_timer_setup = ip27_timer_setup; | ||
256 | } | 259 | } |
257 | 260 | ||
258 | void __init cpu_time_init(void) | 261 | void __init cpu_time_init(void) |
diff --git a/arch/mips/sgi-ip32/ip32-irq.c b/arch/mips/sgi-ip32/ip32-irq.c index 3b7e74b6222e..c64a820373de 100644 --- a/arch/mips/sgi-ip32/ip32-irq.c +++ b/arch/mips/sgi-ip32/ip32-irq.c | |||
@@ -160,7 +160,7 @@ static void end_cpu_irq(unsigned int irq) | |||
160 | #define shutdown_cpu_irq disable_cpu_irq | 160 | #define shutdown_cpu_irq disable_cpu_irq |
161 | #define mask_and_ack_cpu_irq disable_cpu_irq | 161 | #define mask_and_ack_cpu_irq disable_cpu_irq |
162 | 162 | ||
163 | static struct hw_interrupt_type ip32_cpu_interrupt = { | 163 | static struct irq_chip ip32_cpu_interrupt = { |
164 | .typename = "IP32 CPU", | 164 | .typename = "IP32 CPU", |
165 | .startup = startup_cpu_irq, | 165 | .startup = startup_cpu_irq, |
166 | .shutdown = shutdown_cpu_irq, | 166 | .shutdown = shutdown_cpu_irq, |
@@ -230,7 +230,7 @@ static void end_crime_irq(unsigned int irq) | |||
230 | 230 | ||
231 | #define shutdown_crime_irq disable_crime_irq | 231 | #define shutdown_crime_irq disable_crime_irq |
232 | 232 | ||
233 | static struct hw_interrupt_type ip32_crime_interrupt = { | 233 | static struct irq_chip ip32_crime_interrupt = { |
234 | .typename = "IP32 CRIME", | 234 | .typename = "IP32 CRIME", |
235 | .startup = startup_crime_irq, | 235 | .startup = startup_crime_irq, |
236 | .shutdown = shutdown_crime_irq, | 236 | .shutdown = shutdown_crime_irq, |
@@ -289,7 +289,7 @@ static void end_macepci_irq(unsigned int irq) | |||
289 | #define shutdown_macepci_irq disable_macepci_irq | 289 | #define shutdown_macepci_irq disable_macepci_irq |
290 | #define mask_and_ack_macepci_irq disable_macepci_irq | 290 | #define mask_and_ack_macepci_irq disable_macepci_irq |
291 | 291 | ||
292 | static struct hw_interrupt_type ip32_macepci_interrupt = { | 292 | static struct irq_chip ip32_macepci_interrupt = { |
293 | .typename = "IP32 MACE PCI", | 293 | .typename = "IP32 MACE PCI", |
294 | .startup = startup_macepci_irq, | 294 | .startup = startup_macepci_irq, |
295 | .shutdown = shutdown_macepci_irq, | 295 | .shutdown = shutdown_macepci_irq, |
@@ -316,9 +316,9 @@ static struct hw_interrupt_type ip32_macepci_interrupt = { | |||
316 | MACEISA_KEYB_POLL_INT | \ | 316 | MACEISA_KEYB_POLL_INT | \ |
317 | MACEISA_MOUSE_INT | \ | 317 | MACEISA_MOUSE_INT | \ |
318 | MACEISA_MOUSE_POLL_INT | \ | 318 | MACEISA_MOUSE_POLL_INT | \ |
319 | MACEIIRQF_TIMER0_INT | \ | 319 | MACEISA_TIMER0_INT | \ |
320 | MACEIIRQF_TIMER1_INT | \ | 320 | MACEISA_TIMER1_INT | \ |
321 | MACEIIRQF_TIMER2_INT) | 321 | MACEISA_TIMER2_INT) |
322 | #define MACEISA_SUPERIO_INT (MACEISA_PARALLEL_INT | \ | 322 | #define MACEISA_SUPERIO_INT (MACEISA_PARALLEL_INT | \ |
323 | MACEISA_PAR_CTXA_INT | \ | 323 | MACEISA_PAR_CTXA_INT | \ |
324 | MACEISA_PAR_CTXB_INT | \ | 324 | MACEISA_PAR_CTXB_INT | \ |
@@ -349,7 +349,7 @@ static void enable_maceisa_irq (unsigned int irq) | |||
349 | case MACEISA_AUDIO_SW_IRQ ... MACEISA_AUDIO3_MERR_IRQ: | 349 | case MACEISA_AUDIO_SW_IRQ ... MACEISA_AUDIO3_MERR_IRQ: |
350 | crime_int = MACE_AUDIO_INT; | 350 | crime_int = MACE_AUDIO_INT; |
351 | break; | 351 | break; |
352 | case MACEISA_RTC_IRQ ... MACEIIRQF_TIMER2_IRQ: | 352 | case MACEISA_RTC_IRQ ... MACEISA_TIMER2_IRQ: |
353 | crime_int = MACE_MISC_INT; | 353 | crime_int = MACE_MISC_INT; |
354 | break; | 354 | break; |
355 | case MACEISA_PARALLEL_IRQ ... MACEISA_SERIAL2_RDMAOR_IRQ: | 355 | case MACEISA_PARALLEL_IRQ ... MACEISA_SERIAL2_RDMAOR_IRQ: |
@@ -419,7 +419,7 @@ static void end_maceisa_irq(unsigned irq) | |||
419 | 419 | ||
420 | #define shutdown_maceisa_irq disable_maceisa_irq | 420 | #define shutdown_maceisa_irq disable_maceisa_irq |
421 | 421 | ||
422 | static struct hw_interrupt_type ip32_maceisa_interrupt = { | 422 | static struct irq_chip ip32_maceisa_interrupt = { |
423 | .typename = "IP32 MACE ISA", | 423 | .typename = "IP32 MACE ISA", |
424 | .startup = startup_maceisa_irq, | 424 | .startup = startup_maceisa_irq, |
425 | .shutdown = shutdown_maceisa_irq, | 425 | .shutdown = shutdown_maceisa_irq, |
@@ -469,7 +469,7 @@ static void end_mace_irq(unsigned int irq) | |||
469 | #define shutdown_mace_irq disable_mace_irq | 469 | #define shutdown_mace_irq disable_mace_irq |
470 | #define mask_and_ack_mace_irq disable_mace_irq | 470 | #define mask_and_ack_mace_irq disable_mace_irq |
471 | 471 | ||
472 | static struct hw_interrupt_type ip32_mace_interrupt = { | 472 | static struct irq_chip ip32_mace_interrupt = { |
473 | .typename = "IP32 MACE", | 473 | .typename = "IP32 MACE", |
474 | .startup = startup_mace_irq, | 474 | .startup = startup_mace_irq, |
475 | .shutdown = shutdown_mace_irq, | 475 | .shutdown = shutdown_mace_irq, |
@@ -575,7 +575,7 @@ void __init arch_init_irq(void) | |||
575 | mace->perif.ctrl.imask = 0; | 575 | mace->perif.ctrl.imask = 0; |
576 | 576 | ||
577 | for (irq = 0; irq <= IP32_IRQ_MAX; irq++) { | 577 | for (irq = 0; irq <= IP32_IRQ_MAX; irq++) { |
578 | hw_irq_controller *controller; | 578 | struct irq_chip *controller; |
579 | 579 | ||
580 | if (irq == IP32_R4K_TIMER_IRQ) | 580 | if (irq == IP32_R4K_TIMER_IRQ) |
581 | controller = &ip32_cpu_interrupt; | 581 | controller = &ip32_cpu_interrupt; |
diff --git a/arch/mips/sgi-ip32/ip32-setup.c b/arch/mips/sgi-ip32/ip32-setup.c index 240a2f981d08..57708fe28bd7 100644 --- a/arch/mips/sgi-ip32/ip32-setup.c +++ b/arch/mips/sgi-ip32/ip32-setup.c | |||
@@ -7,6 +7,7 @@ | |||
7 | * | 7 | * |
8 | * Copyright (C) 2000 Harald Koerfgen | 8 | * Copyright (C) 2000 Harald Koerfgen |
9 | * Copyright (C) 2002, 2003, 2005 Ilya A. Volynets | 9 | * Copyright (C) 2002, 2003, 2005 Ilya A. Volynets |
10 | * Copyright (C) 2006 Ralf Baechle <ralf@linux-mips.org> | ||
10 | */ | 11 | */ |
11 | #include <linux/console.h> | 12 | #include <linux/console.h> |
12 | #include <linux/init.h> | 13 | #include <linux/init.h> |
@@ -80,7 +81,7 @@ void __init ip32_time_init(void) | |||
80 | printk("%d MHz CPU detected\n", mips_hpt_frequency * 2 / 1000000); | 81 | printk("%d MHz CPU detected\n", mips_hpt_frequency * 2 / 1000000); |
81 | } | 82 | } |
82 | 83 | ||
83 | void __init ip32_timer_setup(struct irqaction *irq) | 84 | void __init plat_timer_setup(struct irqaction *irq) |
84 | { | 85 | { |
85 | irq->handler = no_action; | 86 | irq->handler = no_action; |
86 | setup_irq(IP32_R4K_TIMER_IRQ, irq); | 87 | setup_irq(IP32_R4K_TIMER_IRQ, irq); |
@@ -94,7 +95,6 @@ void __init plat_mem_setup(void) | |||
94 | rtc_mips_set_mmss = mc146818_set_rtc_mmss; | 95 | rtc_mips_set_mmss = mc146818_set_rtc_mmss; |
95 | 96 | ||
96 | board_time_init = ip32_time_init; | 97 | board_time_init = ip32_time_init; |
97 | board_timer_setup = ip32_timer_setup; | ||
98 | 98 | ||
99 | #ifdef CONFIG_SERIAL_8250 | 99 | #ifdef CONFIG_SERIAL_8250 |
100 | { | 100 | { |
diff --git a/arch/mips/sibyte/bcm1480/irq.c b/arch/mips/sibyte/bcm1480/irq.c index 29d3bbb5847d..ed325f0ab28a 100644 --- a/arch/mips/sibyte/bcm1480/irq.c +++ b/arch/mips/sibyte/bcm1480/irq.c | |||
@@ -83,7 +83,7 @@ extern char sb1250_duart_present[]; | |||
83 | #endif | 83 | #endif |
84 | #endif | 84 | #endif |
85 | 85 | ||
86 | static struct hw_interrupt_type bcm1480_irq_type = { | 86 | static struct irq_chip bcm1480_irq_type = { |
87 | .typename = "BCM1480-IMR", | 87 | .typename = "BCM1480-IMR", |
88 | .startup = startup_bcm1480_irq, | 88 | .startup = startup_bcm1480_irq, |
89 | .shutdown = shutdown_bcm1480_irq, | 89 | .shutdown = shutdown_bcm1480_irq, |
@@ -140,7 +140,7 @@ static void bcm1480_set_affinity(unsigned int irq, cpumask_t mask) | |||
140 | { | 140 | { |
141 | int i = 0, old_cpu, cpu, int_on, k; | 141 | int i = 0, old_cpu, cpu, int_on, k; |
142 | u64 cur_ints; | 142 | u64 cur_ints; |
143 | irq_desc_t *desc = irq_desc + irq; | 143 | struct irq_desc *desc = irq_desc + irq; |
144 | unsigned long flags; | 144 | unsigned long flags; |
145 | unsigned int irq_dirty; | 145 | unsigned int irq_dirty; |
146 | 146 | ||
@@ -278,7 +278,7 @@ void __init init_bcm1480_irqs(void) | |||
278 | irq_desc[i].chip = &bcm1480_irq_type; | 278 | irq_desc[i].chip = &bcm1480_irq_type; |
279 | bcm1480_irq_owner[i] = 0; | 279 | bcm1480_irq_owner[i] = 0; |
280 | } else { | 280 | } else { |
281 | irq_desc[i].chip = &no_irq_type; | 281 | irq_desc[i].chip = &no_irq_chip; |
282 | } | 282 | } |
283 | } | 283 | } |
284 | } | 284 | } |
@@ -301,7 +301,7 @@ static struct irqaction bcm1480_dummy_action = { | |||
301 | 301 | ||
302 | int bcm1480_steal_irq(int irq) | 302 | int bcm1480_steal_irq(int irq) |
303 | { | 303 | { |
304 | irq_desc_t *desc = irq_desc + irq; | 304 | struct irq_desc *desc = irq_desc + irq; |
305 | unsigned long flags; | 305 | unsigned long flags; |
306 | int retval = 0; | 306 | int retval = 0; |
307 | 307 | ||
@@ -502,22 +502,23 @@ asmlinkage void plat_irq_dispatch(struct pt_regs *regs) | |||
502 | #ifdef CONFIG_SIBYTE_BCM1480_PROF | 502 | #ifdef CONFIG_SIBYTE_BCM1480_PROF |
503 | if (pending & CAUSEF_IP7) /* Cpu performance counter interrupt */ | 503 | if (pending & CAUSEF_IP7) /* Cpu performance counter interrupt */ |
504 | sbprof_cpu_intr(exception_epc(regs)); | 504 | sbprof_cpu_intr(exception_epc(regs)); |
505 | else | ||
505 | #endif | 506 | #endif |
506 | 507 | ||
507 | if (pending & CAUSEF_IP4) | 508 | if (pending & CAUSEF_IP4) |
508 | bcm1480_timer_interrupt(regs); | 509 | bcm1480_timer_interrupt(regs); |
509 | 510 | ||
510 | #ifdef CONFIG_SMP | 511 | #ifdef CONFIG_SMP |
511 | if (pending & CAUSEF_IP3) | 512 | else if (pending & CAUSEF_IP3) |
512 | bcm1480_mailbox_interrupt(regs); | 513 | bcm1480_mailbox_interrupt(regs); |
513 | #endif | 514 | #endif |
514 | 515 | ||
515 | #ifdef CONFIG_KGDB | 516 | #ifdef CONFIG_KGDB |
516 | if (pending & CAUSEF_IP6) | 517 | else if (pending & CAUSEF_IP6) |
517 | bcm1480_kgdb_interrupt(regs); /* KGDB (uart 1) */ | 518 | bcm1480_kgdb_interrupt(regs); /* KGDB (uart 1) */ |
518 | #endif | 519 | #endif |
519 | 520 | ||
520 | if (pending & CAUSEF_IP2) { | 521 | else if (pending & CAUSEF_IP2) { |
521 | unsigned long long mask_h, mask_l; | 522 | unsigned long long mask_h, mask_l; |
522 | unsigned long base; | 523 | unsigned long base; |
523 | 524 | ||
@@ -533,7 +534,7 @@ asmlinkage void plat_irq_dispatch(struct pt_regs *regs) | |||
533 | mask_l = __raw_readq( | 534 | mask_l = __raw_readq( |
534 | IOADDR(base + R_BCM1480_IMR_INTERRUPT_STATUS_BASE_L)); | 535 | IOADDR(base + R_BCM1480_IMR_INTERRUPT_STATUS_BASE_L)); |
535 | 536 | ||
536 | if (!mask_h) { | 537 | if (mask_h) { |
537 | if (mask_h ^ 1) | 538 | if (mask_h ^ 1) |
538 | do_IRQ(63 - dclz(mask_h), regs); | 539 | do_IRQ(63 - dclz(mask_h), regs); |
539 | else | 540 | else |
diff --git a/arch/mips/sibyte/sb1250/irq.c b/arch/mips/sibyte/sb1250/irq.c index 1d280aabcf6a..1de71adec6c6 100644 --- a/arch/mips/sibyte/sb1250/irq.c +++ b/arch/mips/sibyte/sb1250/irq.c | |||
@@ -69,7 +69,7 @@ extern char sb1250_duart_present[]; | |||
69 | #endif | 69 | #endif |
70 | #endif | 70 | #endif |
71 | 71 | ||
72 | static struct hw_interrupt_type sb1250_irq_type = { | 72 | static struct irq_chip sb1250_irq_type = { |
73 | .typename = "SB1250-IMR", | 73 | .typename = "SB1250-IMR", |
74 | .startup = startup_sb1250_irq, | 74 | .startup = startup_sb1250_irq, |
75 | .shutdown = shutdown_sb1250_irq, | 75 | .shutdown = shutdown_sb1250_irq, |
@@ -120,7 +120,7 @@ static void sb1250_set_affinity(unsigned int irq, cpumask_t mask) | |||
120 | { | 120 | { |
121 | int i = 0, old_cpu, cpu, int_on; | 121 | int i = 0, old_cpu, cpu, int_on; |
122 | u64 cur_ints; | 122 | u64 cur_ints; |
123 | irq_desc_t *desc = irq_desc + irq; | 123 | struct irq_desc *desc = irq_desc + irq; |
124 | unsigned long flags; | 124 | unsigned long flags; |
125 | 125 | ||
126 | i = first_cpu(mask); | 126 | i = first_cpu(mask); |
@@ -248,7 +248,7 @@ void __init init_sb1250_irqs(void) | |||
248 | irq_desc[i].chip = &sb1250_irq_type; | 248 | irq_desc[i].chip = &sb1250_irq_type; |
249 | sb1250_irq_owner[i] = 0; | 249 | sb1250_irq_owner[i] = 0; |
250 | } else { | 250 | } else { |
251 | irq_desc[i].chip = &no_irq_type; | 251 | irq_desc[i].chip = &no_irq_chip; |
252 | } | 252 | } |
253 | } | 253 | } |
254 | } | 254 | } |
@@ -271,7 +271,7 @@ static struct irqaction sb1250_dummy_action = { | |||
271 | 271 | ||
272 | int sb1250_steal_irq(int irq) | 272 | int sb1250_steal_irq(int irq) |
273 | { | 273 | { |
274 | irq_desc_t *desc = irq_desc + irq; | 274 | struct irq_desc *desc = irq_desc + irq; |
275 | unsigned long flags; | 275 | unsigned long flags; |
276 | int retval = 0; | 276 | int retval = 0; |
277 | 277 | ||
@@ -460,25 +460,25 @@ asmlinkage void plat_irq_dispatch(struct pt_regs *regs) | |||
460 | pending = read_c0_cause(); | 460 | pending = read_c0_cause(); |
461 | 461 | ||
462 | #ifdef CONFIG_SIBYTE_SB1250_PROF | 462 | #ifdef CONFIG_SIBYTE_SB1250_PROF |
463 | if (pending & CAUSEF_IP7) { /* Cpu performance counter interrupt */ | 463 | if (pending & CAUSEF_IP7) /* Cpu performance counter interrupt */ |
464 | sbprof_cpu_intr(exception_epc(regs)); | 464 | sbprof_cpu_intr(exception_epc(regs)); |
465 | } | 465 | else |
466 | #endif | 466 | #endif |
467 | 467 | ||
468 | if (pending & CAUSEF_IP4) | 468 | if (pending & CAUSEF_IP4) |
469 | sb1250_timer_interrupt(regs); | 469 | sb1250_timer_interrupt(regs); |
470 | 470 | ||
471 | #ifdef CONFIG_SMP | 471 | #ifdef CONFIG_SMP |
472 | if (pending & CAUSEF_IP3) | 472 | else if (pending & CAUSEF_IP3) |
473 | sb1250_mailbox_interrupt(regs); | 473 | sb1250_mailbox_interrupt(regs); |
474 | #endif | 474 | #endif |
475 | 475 | ||
476 | #ifdef CONFIG_KGDB | 476 | #ifdef CONFIG_KGDB |
477 | if (pending & CAUSEF_IP6) /* KGDB (uart 1) */ | 477 | else if (pending & CAUSEF_IP6) /* KGDB (uart 1) */ |
478 | sb1250_kgdb_interrupt(regs); | 478 | sb1250_kgdb_interrupt(regs); |
479 | #endif | 479 | #endif |
480 | 480 | ||
481 | if (pending & CAUSEF_IP2) { | 481 | else if (pending & CAUSEF_IP2) { |
482 | unsigned long long mask; | 482 | unsigned long long mask; |
483 | 483 | ||
484 | /* | 484 | /* |
diff --git a/arch/mips/sibyte/swarm/setup.c b/arch/mips/sibyte/swarm/setup.c index 2996e338cfbd..ac342f5643c9 100644 --- a/arch/mips/sibyte/swarm/setup.c +++ b/arch/mips/sibyte/swarm/setup.c | |||
@@ -77,7 +77,7 @@ void __init swarm_time_init(void) | |||
77 | #endif | 77 | #endif |
78 | } | 78 | } |
79 | 79 | ||
80 | void __init swarm_timer_setup(struct irqaction *irq) | 80 | void __init plat_timer_setup(struct irqaction *irq) |
81 | { | 81 | { |
82 | /* | 82 | /* |
83 | * we don't set up irqaction, because we will deliver timer | 83 | * we don't set up irqaction, because we will deliver timer |
@@ -117,7 +117,6 @@ void __init plat_mem_setup(void) | |||
117 | panic_timeout = 5; /* For debug. */ | 117 | panic_timeout = 5; /* For debug. */ |
118 | 118 | ||
119 | board_time_init = swarm_time_init; | 119 | board_time_init = swarm_time_init; |
120 | board_timer_setup = swarm_timer_setup; | ||
121 | board_be_handler = swarm_be_handler; | 120 | board_be_handler = swarm_be_handler; |
122 | 121 | ||
123 | if (xicor_probe()) { | 122 | if (xicor_probe()) { |
diff --git a/arch/mips/sni/irq.c b/arch/mips/sni/irq.c index c19e158ec402..cda165f42b6a 100644 --- a/arch/mips/sni/irq.c +++ b/arch/mips/sni/irq.c | |||
@@ -55,7 +55,7 @@ static void end_pciasic_irq(unsigned int irq) | |||
55 | enable_pciasic_irq(irq); | 55 | enable_pciasic_irq(irq); |
56 | } | 56 | } |
57 | 57 | ||
58 | static struct hw_interrupt_type pciasic_irq_type = { | 58 | static struct irq_chip pciasic_irq_type = { |
59 | .typename = "ASIC-PCI", | 59 | .typename = "ASIC-PCI", |
60 | .startup = startup_pciasic_irq, | 60 | .startup = startup_pciasic_irq, |
61 | .shutdown = shutdown_pciasic_irq, | 61 | .shutdown = shutdown_pciasic_irq, |
diff --git a/arch/mips/sni/setup.c b/arch/mips/sni/setup.c index e5646b027f72..4e98feb15410 100644 --- a/arch/mips/sni/setup.c +++ b/arch/mips/sni/setup.c | |||
@@ -41,7 +41,7 @@ extern void sni_machine_restart(char *command); | |||
41 | extern void sni_machine_halt(void); | 41 | extern void sni_machine_halt(void); |
42 | extern void sni_machine_power_off(void); | 42 | extern void sni_machine_power_off(void); |
43 | 43 | ||
44 | static void __init sni_rm200_pci_timer_setup(struct irqaction *irq) | 44 | void __init plat_timer_setup(struct irqaction *irq) |
45 | { | 45 | { |
46 | /* set the clock to 100 Hz */ | 46 | /* set the clock to 100 Hz */ |
47 | outb_p(0x34,0x43); /* binary, mode 2, LSB/MSB, ch 0 */ | 47 | outb_p(0x34,0x43); /* binary, mode 2, LSB/MSB, ch 0 */ |
@@ -270,7 +270,6 @@ void __init plat_mem_setup(void) | |||
270 | #endif | 270 | #endif |
271 | 271 | ||
272 | sni_resource_init(); | 272 | sni_resource_init(); |
273 | board_timer_setup = sni_rm200_pci_timer_setup; | ||
274 | 273 | ||
275 | _machine_restart = sni_machine_restart; | 274 | _machine_restart = sni_machine_restart; |
276 | _machine_halt = sni_machine_halt; | 275 | _machine_halt = sni_machine_halt; |
diff --git a/arch/mips/tx4927/common/tx4927_irq.c b/arch/mips/tx4927/common/tx4927_irq.c index ae9d5653a863..cd176f6a06c8 100644 --- a/arch/mips/tx4927/common/tx4927_irq.c +++ b/arch/mips/tx4927/common/tx4927_irq.c | |||
@@ -146,7 +146,7 @@ static DEFINE_SPINLOCK(tx4927_cp0_lock); | |||
146 | static DEFINE_SPINLOCK(tx4927_pic_lock); | 146 | static DEFINE_SPINLOCK(tx4927_pic_lock); |
147 | 147 | ||
148 | #define TX4927_CP0_NAME "TX4927-CP0" | 148 | #define TX4927_CP0_NAME "TX4927-CP0" |
149 | static struct hw_interrupt_type tx4927_irq_cp0_type = { | 149 | static struct irq_chip tx4927_irq_cp0_type = { |
150 | .typename = TX4927_CP0_NAME, | 150 | .typename = TX4927_CP0_NAME, |
151 | .startup = tx4927_irq_cp0_startup, | 151 | .startup = tx4927_irq_cp0_startup, |
152 | .shutdown = tx4927_irq_cp0_shutdown, | 152 | .shutdown = tx4927_irq_cp0_shutdown, |
@@ -158,7 +158,7 @@ static struct hw_interrupt_type tx4927_irq_cp0_type = { | |||
158 | }; | 158 | }; |
159 | 159 | ||
160 | #define TX4927_PIC_NAME "TX4927-PIC" | 160 | #define TX4927_PIC_NAME "TX4927-PIC" |
161 | static struct hw_interrupt_type tx4927_irq_pic_type = { | 161 | static struct irq_chip tx4927_irq_pic_type = { |
162 | .typename = TX4927_PIC_NAME, | 162 | .typename = TX4927_PIC_NAME, |
163 | .startup = tx4927_irq_pic_startup, | 163 | .startup = tx4927_irq_pic_startup, |
164 | .shutdown = tx4927_irq_pic_shutdown, | 164 | .shutdown = tx4927_irq_pic_shutdown, |
diff --git a/arch/mips/tx4927/common/tx4927_setup.c b/arch/mips/tx4927/common/tx4927_setup.c index 64a1b394b252..3ace4037343e 100644 --- a/arch/mips/tx4927/common/tx4927_setup.c +++ b/arch/mips/tx4927/common/tx4927_setup.c | |||
@@ -50,7 +50,6 @@ | |||
50 | #undef DEBUG | 50 | #undef DEBUG |
51 | 51 | ||
52 | void __init tx4927_time_init(void); | 52 | void __init tx4927_time_init(void); |
53 | void __init tx4927_timer_setup(struct irqaction *irq); | ||
54 | void dump_cp0(char *key); | 53 | void dump_cp0(char *key); |
55 | 54 | ||
56 | 55 | ||
@@ -66,7 +65,6 @@ static void tx4927_write_buffer_flush(void) | |||
66 | void __init plat_mem_setup(void) | 65 | void __init plat_mem_setup(void) |
67 | { | 66 | { |
68 | board_time_init = tx4927_time_init; | 67 | board_time_init = tx4927_time_init; |
69 | board_timer_setup = tx4927_timer_setup; | ||
70 | __wbflush = tx4927_write_buffer_flush; | 68 | __wbflush = tx4927_write_buffer_flush; |
71 | 69 | ||
72 | #ifdef CONFIG_TOSHIBA_RBTX4927 | 70 | #ifdef CONFIG_TOSHIBA_RBTX4927 |
@@ -91,7 +89,7 @@ void __init tx4927_time_init(void) | |||
91 | } | 89 | } |
92 | 90 | ||
93 | 91 | ||
94 | void __init tx4927_timer_setup(struct irqaction *irq) | 92 | void __init plat_timer_setup(struct irqaction *irq) |
95 | { | 93 | { |
96 | u32 count; | 94 | u32 count; |
97 | u32 c1; | 95 | u32 c1; |
diff --git a/arch/mips/tx4927/toshiba_rbtx4927/toshiba_rbtx4927_irq.c b/arch/mips/tx4927/toshiba_rbtx4927/toshiba_rbtx4927_irq.c index ec0a0de3083d..b0f021f2a6c4 100644 --- a/arch/mips/tx4927/toshiba_rbtx4927/toshiba_rbtx4927_irq.c +++ b/arch/mips/tx4927/toshiba_rbtx4927/toshiba_rbtx4927_irq.c | |||
@@ -251,7 +251,7 @@ static DEFINE_SPINLOCK(toshiba_rbtx4927_ioc_lock); | |||
251 | 251 | ||
252 | 252 | ||
253 | #define TOSHIBA_RBTX4927_IOC_NAME "RBTX4927-IOC" | 253 | #define TOSHIBA_RBTX4927_IOC_NAME "RBTX4927-IOC" |
254 | static struct hw_interrupt_type toshiba_rbtx4927_irq_ioc_type = { | 254 | static struct irq_chip toshiba_rbtx4927_irq_ioc_type = { |
255 | .typename = TOSHIBA_RBTX4927_IOC_NAME, | 255 | .typename = TOSHIBA_RBTX4927_IOC_NAME, |
256 | .startup = toshiba_rbtx4927_irq_ioc_startup, | 256 | .startup = toshiba_rbtx4927_irq_ioc_startup, |
257 | .shutdown = toshiba_rbtx4927_irq_ioc_shutdown, | 257 | .shutdown = toshiba_rbtx4927_irq_ioc_shutdown, |
@@ -267,7 +267,7 @@ static struct hw_interrupt_type toshiba_rbtx4927_irq_ioc_type = { | |||
267 | 267 | ||
268 | #ifdef CONFIG_TOSHIBA_FPCIB0 | 268 | #ifdef CONFIG_TOSHIBA_FPCIB0 |
269 | #define TOSHIBA_RBTX4927_ISA_NAME "RBTX4927-ISA" | 269 | #define TOSHIBA_RBTX4927_ISA_NAME "RBTX4927-ISA" |
270 | static struct hw_interrupt_type toshiba_rbtx4927_irq_isa_type = { | 270 | static struct irq_chip toshiba_rbtx4927_irq_isa_type = { |
271 | .typename = TOSHIBA_RBTX4927_ISA_NAME, | 271 | .typename = TOSHIBA_RBTX4927_ISA_NAME, |
272 | .startup = toshiba_rbtx4927_irq_isa_startup, | 272 | .startup = toshiba_rbtx4927_irq_isa_startup, |
273 | .shutdown = toshiba_rbtx4927_irq_isa_shutdown, | 273 | .shutdown = toshiba_rbtx4927_irq_isa_shutdown, |
diff --git a/arch/mips/tx4938/common/irq.c b/arch/mips/tx4938/common/irq.c index 0b2f8c849218..dc30d66123b6 100644 --- a/arch/mips/tx4938/common/irq.c +++ b/arch/mips/tx4938/common/irq.c | |||
@@ -57,7 +57,7 @@ DEFINE_SPINLOCK(tx4938_cp0_lock); | |||
57 | DEFINE_SPINLOCK(tx4938_pic_lock); | 57 | DEFINE_SPINLOCK(tx4938_pic_lock); |
58 | 58 | ||
59 | #define TX4938_CP0_NAME "TX4938-CP0" | 59 | #define TX4938_CP0_NAME "TX4938-CP0" |
60 | static struct hw_interrupt_type tx4938_irq_cp0_type = { | 60 | static struct irq_chip tx4938_irq_cp0_type = { |
61 | .typename = TX4938_CP0_NAME, | 61 | .typename = TX4938_CP0_NAME, |
62 | .startup = tx4938_irq_cp0_startup, | 62 | .startup = tx4938_irq_cp0_startup, |
63 | .shutdown = tx4938_irq_cp0_shutdown, | 63 | .shutdown = tx4938_irq_cp0_shutdown, |
@@ -69,7 +69,7 @@ static struct hw_interrupt_type tx4938_irq_cp0_type = { | |||
69 | }; | 69 | }; |
70 | 70 | ||
71 | #define TX4938_PIC_NAME "TX4938-PIC" | 71 | #define TX4938_PIC_NAME "TX4938-PIC" |
72 | static struct hw_interrupt_type tx4938_irq_pic_type = { | 72 | static struct irq_chip tx4938_irq_pic_type = { |
73 | .typename = TX4938_PIC_NAME, | 73 | .typename = TX4938_PIC_NAME, |
74 | .startup = tx4938_irq_pic_startup, | 74 | .startup = tx4938_irq_pic_startup, |
75 | .shutdown = tx4938_irq_pic_shutdown, | 75 | .shutdown = tx4938_irq_pic_shutdown, |
diff --git a/arch/mips/tx4938/common/setup.c b/arch/mips/tx4938/common/setup.c index ef59a5cffc69..71859c4fee84 100644 --- a/arch/mips/tx4938/common/setup.c +++ b/arch/mips/tx4938/common/setup.c | |||
@@ -39,7 +39,6 @@ extern void rbtx4938_time_init(void); | |||
39 | 39 | ||
40 | void __init tx4938_setup(void); | 40 | void __init tx4938_setup(void); |
41 | void __init tx4938_time_init(void); | 41 | void __init tx4938_time_init(void); |
42 | void __init tx4938_timer_setup(struct irqaction *irq); | ||
43 | void dump_cp0(char *key); | 42 | void dump_cp0(char *key); |
44 | 43 | ||
45 | void (*__wbflush) (void); | 44 | void (*__wbflush) (void); |
@@ -64,7 +63,6 @@ void __init | |||
64 | plat_mem_setup(void) | 63 | plat_mem_setup(void) |
65 | { | 64 | { |
66 | board_time_init = tx4938_time_init; | 65 | board_time_init = tx4938_time_init; |
67 | board_timer_setup = tx4938_timer_setup; | ||
68 | __wbflush = tx4938_write_buffer_flush; | 66 | __wbflush = tx4938_write_buffer_flush; |
69 | toshiba_rbtx4938_setup(); | 67 | toshiba_rbtx4938_setup(); |
70 | } | 68 | } |
@@ -75,8 +73,7 @@ tx4938_time_init(void) | |||
75 | rbtx4938_time_init(); | 73 | rbtx4938_time_init(); |
76 | } | 74 | } |
77 | 75 | ||
78 | void __init | 76 | void __init plat_timer_setup(struct irqaction *irq) |
79 | tx4938_timer_setup(struct irqaction *irq) | ||
80 | { | 77 | { |
81 | u32 count; | 78 | u32 count; |
82 | u32 c1; | 79 | u32 c1; |
diff --git a/arch/mips/tx4938/toshiba_rbtx4938/irq.c b/arch/mips/tx4938/toshiba_rbtx4938/irq.c index 3b8245dc5bd3..83f2750825a4 100644 --- a/arch/mips/tx4938/toshiba_rbtx4938/irq.c +++ b/arch/mips/tx4938/toshiba_rbtx4938/irq.c | |||
@@ -97,7 +97,7 @@ static void toshiba_rbtx4938_irq_ioc_end(unsigned int irq); | |||
97 | DEFINE_SPINLOCK(toshiba_rbtx4938_ioc_lock); | 97 | DEFINE_SPINLOCK(toshiba_rbtx4938_ioc_lock); |
98 | 98 | ||
99 | #define TOSHIBA_RBTX4938_IOC_NAME "RBTX4938-IOC" | 99 | #define TOSHIBA_RBTX4938_IOC_NAME "RBTX4938-IOC" |
100 | static struct hw_interrupt_type toshiba_rbtx4938_irq_ioc_type = { | 100 | static struct irq_chip toshiba_rbtx4938_irq_ioc_type = { |
101 | .typename = TOSHIBA_RBTX4938_IOC_NAME, | 101 | .typename = TOSHIBA_RBTX4938_IOC_NAME, |
102 | .startup = toshiba_rbtx4938_irq_ioc_startup, | 102 | .startup = toshiba_rbtx4938_irq_ioc_startup, |
103 | .shutdown = toshiba_rbtx4938_irq_ioc_shutdown, | 103 | .shutdown = toshiba_rbtx4938_irq_ioc_shutdown, |
diff --git a/arch/mips/vr41xx/Kconfig b/arch/mips/vr41xx/Kconfig index 6046ef23b2bf..92f41f6f934a 100644 --- a/arch/mips/vr41xx/Kconfig +++ b/arch/mips/vr41xx/Kconfig | |||
@@ -86,9 +86,3 @@ config PCI_VR41XX | |||
86 | depends on MACH_VR41XX && HW_HAS_PCI | 86 | depends on MACH_VR41XX && HW_HAS_PCI |
87 | default y | 87 | default y |
88 | select PCI | 88 | select PCI |
89 | |||
90 | config VRC4173 | ||
91 | tristate "Add NEC VRC4173 companion chip support" | ||
92 | depends on MACH_VR41XX && PCI_VR41XX | ||
93 | help | ||
94 | The NEC VRC4173 is a companion chip for NEC VR4122/VR4131. | ||
diff --git a/arch/mips/vr41xx/casio-e55/setup.c b/arch/mips/vr41xx/casio-e55/setup.c index 814900915c28..6d9bab890587 100644 --- a/arch/mips/vr41xx/casio-e55/setup.c +++ b/arch/mips/vr41xx/casio-e55/setup.c | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * setup.c, Setup for the CASIO CASSIOPEIA E-11/15/55/65. | 2 | * setup.c, Setup for the CASIO CASSIOPEIA E-11/15/55/65. |
3 | * | 3 | * |
4 | * Copyright (C) 2002-2005 Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp> | 4 | * Copyright (C) 2002-2006 Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp> |
5 | * | 5 | * |
6 | * This program is free software; you can redistribute it and/or modify | 6 | * This program is free software; you can redistribute it and/or modify |
7 | * it under the terms of the GNU General Public License as published by | 7 | * it under the terms of the GNU General Public License as published by |
@@ -21,13 +21,18 @@ | |||
21 | #include <linux/ioport.h> | 21 | #include <linux/ioport.h> |
22 | 22 | ||
23 | #include <asm/io.h> | 23 | #include <asm/io.h> |
24 | #include <asm/vr41xx/e55.h> | 24 | |
25 | #define E55_ISA_IO_BASE 0x1400c000 | ||
26 | #define E55_ISA_IO_SIZE 0x03ff4000 | ||
27 | #define E55_ISA_IO_START 0 | ||
28 | #define E55_ISA_IO_END (E55_ISA_IO_SIZE - 1) | ||
29 | #define E55_IO_PORT_BASE KSEG1ADDR(E55_ISA_IO_BASE) | ||
25 | 30 | ||
26 | static int __init casio_e55_setup(void) | 31 | static int __init casio_e55_setup(void) |
27 | { | 32 | { |
28 | set_io_port_base(IO_PORT_BASE); | 33 | set_io_port_base(E55_IO_PORT_BASE); |
29 | ioport_resource.start = IO_PORT_RESOURCE_START; | 34 | ioport_resource.start = E55_ISA_IO_START; |
30 | ioport_resource.end = IO_PORT_RESOURCE_END; | 35 | ioport_resource.end = E55_ISA_IO_END; |
31 | 36 | ||
32 | return 0; | 37 | return 0; |
33 | } | 38 | } |
diff --git a/arch/mips/vr41xx/common/Makefile b/arch/mips/vr41xx/common/Makefile index aa373974c80f..975d5caf9d1b 100644 --- a/arch/mips/vr41xx/common/Makefile +++ b/arch/mips/vr41xx/common/Makefile | |||
@@ -2,7 +2,6 @@ | |||
2 | # Makefile for common code of the NEC VR4100 series. | 2 | # Makefile for common code of the NEC VR4100 series. |
3 | # | 3 | # |
4 | 4 | ||
5 | obj-y += bcu.o cmu.o icu.o init.o irq.o pmu.o type.o | 5 | obj-y += bcu.o cmu.o icu.o init.o irq.o pmu.o type.o |
6 | obj-$(CONFIG_VRC4173) += vrc4173.o | ||
7 | 6 | ||
8 | EXTRA_AFLAGS := $(CFLAGS) | 7 | EXTRA_AFLAGS := $(CFLAGS) |
diff --git a/arch/mips/vr41xx/common/icu.c b/arch/mips/vr41xx/common/icu.c index b9323302cc4e..7a5c31d58378 100644 --- a/arch/mips/vr41xx/common/icu.c +++ b/arch/mips/vr41xx/common/icu.c | |||
@@ -38,6 +38,7 @@ | |||
38 | 38 | ||
39 | #include <asm/cpu.h> | 39 | #include <asm/cpu.h> |
40 | #include <asm/io.h> | 40 | #include <asm/io.h> |
41 | #include <asm/vr41xx/irq.h> | ||
41 | #include <asm/vr41xx/vr41xx.h> | 42 | #include <asm/vr41xx/vr41xx.h> |
42 | 43 | ||
43 | static void __iomem *icu1_base; | 44 | static void __iomem *icu1_base; |
@@ -152,7 +153,7 @@ static inline uint16_t icu2_clear(uint8_t offset, uint16_t clear) | |||
152 | 153 | ||
153 | void vr41xx_enable_piuint(uint16_t mask) | 154 | void vr41xx_enable_piuint(uint16_t mask) |
154 | { | 155 | { |
155 | irq_desc_t *desc = irq_desc + PIU_IRQ; | 156 | struct irq_desc *desc = irq_desc + PIU_IRQ; |
156 | unsigned long flags; | 157 | unsigned long flags; |
157 | 158 | ||
158 | if (current_cpu_data.cputype == CPU_VR4111 || | 159 | if (current_cpu_data.cputype == CPU_VR4111 || |
@@ -167,7 +168,7 @@ EXPORT_SYMBOL(vr41xx_enable_piuint); | |||
167 | 168 | ||
168 | void vr41xx_disable_piuint(uint16_t mask) | 169 | void vr41xx_disable_piuint(uint16_t mask) |
169 | { | 170 | { |
170 | irq_desc_t *desc = irq_desc + PIU_IRQ; | 171 | struct irq_desc *desc = irq_desc + PIU_IRQ; |
171 | unsigned long flags; | 172 | unsigned long flags; |
172 | 173 | ||
173 | if (current_cpu_data.cputype == CPU_VR4111 || | 174 | if (current_cpu_data.cputype == CPU_VR4111 || |
@@ -182,7 +183,7 @@ EXPORT_SYMBOL(vr41xx_disable_piuint); | |||
182 | 183 | ||
183 | void vr41xx_enable_aiuint(uint16_t mask) | 184 | void vr41xx_enable_aiuint(uint16_t mask) |
184 | { | 185 | { |
185 | irq_desc_t *desc = irq_desc + AIU_IRQ; | 186 | struct irq_desc *desc = irq_desc + AIU_IRQ; |
186 | unsigned long flags; | 187 | unsigned long flags; |
187 | 188 | ||
188 | if (current_cpu_data.cputype == CPU_VR4111 || | 189 | if (current_cpu_data.cputype == CPU_VR4111 || |
@@ -197,7 +198,7 @@ EXPORT_SYMBOL(vr41xx_enable_aiuint); | |||
197 | 198 | ||
198 | void vr41xx_disable_aiuint(uint16_t mask) | 199 | void vr41xx_disable_aiuint(uint16_t mask) |
199 | { | 200 | { |
200 | irq_desc_t *desc = irq_desc + AIU_IRQ; | 201 | struct irq_desc *desc = irq_desc + AIU_IRQ; |
201 | unsigned long flags; | 202 | unsigned long flags; |
202 | 203 | ||
203 | if (current_cpu_data.cputype == CPU_VR4111 || | 204 | if (current_cpu_data.cputype == CPU_VR4111 || |
@@ -212,7 +213,7 @@ EXPORT_SYMBOL(vr41xx_disable_aiuint); | |||
212 | 213 | ||
213 | void vr41xx_enable_kiuint(uint16_t mask) | 214 | void vr41xx_enable_kiuint(uint16_t mask) |
214 | { | 215 | { |
215 | irq_desc_t *desc = irq_desc + KIU_IRQ; | 216 | struct irq_desc *desc = irq_desc + KIU_IRQ; |
216 | unsigned long flags; | 217 | unsigned long flags; |
217 | 218 | ||
218 | if (current_cpu_data.cputype == CPU_VR4111 || | 219 | if (current_cpu_data.cputype == CPU_VR4111 || |
@@ -227,7 +228,7 @@ EXPORT_SYMBOL(vr41xx_enable_kiuint); | |||
227 | 228 | ||
228 | void vr41xx_disable_kiuint(uint16_t mask) | 229 | void vr41xx_disable_kiuint(uint16_t mask) |
229 | { | 230 | { |
230 | irq_desc_t *desc = irq_desc + KIU_IRQ; | 231 | struct irq_desc *desc = irq_desc + KIU_IRQ; |
231 | unsigned long flags; | 232 | unsigned long flags; |
232 | 233 | ||
233 | if (current_cpu_data.cputype == CPU_VR4111 || | 234 | if (current_cpu_data.cputype == CPU_VR4111 || |
@@ -242,7 +243,7 @@ EXPORT_SYMBOL(vr41xx_disable_kiuint); | |||
242 | 243 | ||
243 | void vr41xx_enable_dsiuint(uint16_t mask) | 244 | void vr41xx_enable_dsiuint(uint16_t mask) |
244 | { | 245 | { |
245 | irq_desc_t *desc = irq_desc + DSIU_IRQ; | 246 | struct irq_desc *desc = irq_desc + DSIU_IRQ; |
246 | unsigned long flags; | 247 | unsigned long flags; |
247 | 248 | ||
248 | spin_lock_irqsave(&desc->lock, flags); | 249 | spin_lock_irqsave(&desc->lock, flags); |
@@ -254,7 +255,7 @@ EXPORT_SYMBOL(vr41xx_enable_dsiuint); | |||
254 | 255 | ||
255 | void vr41xx_disable_dsiuint(uint16_t mask) | 256 | void vr41xx_disable_dsiuint(uint16_t mask) |
256 | { | 257 | { |
257 | irq_desc_t *desc = irq_desc + DSIU_IRQ; | 258 | struct irq_desc *desc = irq_desc + DSIU_IRQ; |
258 | unsigned long flags; | 259 | unsigned long flags; |
259 | 260 | ||
260 | spin_lock_irqsave(&desc->lock, flags); | 261 | spin_lock_irqsave(&desc->lock, flags); |
@@ -266,7 +267,7 @@ EXPORT_SYMBOL(vr41xx_disable_dsiuint); | |||
266 | 267 | ||
267 | void vr41xx_enable_firint(uint16_t mask) | 268 | void vr41xx_enable_firint(uint16_t mask) |
268 | { | 269 | { |
269 | irq_desc_t *desc = irq_desc + FIR_IRQ; | 270 | struct irq_desc *desc = irq_desc + FIR_IRQ; |
270 | unsigned long flags; | 271 | unsigned long flags; |
271 | 272 | ||
272 | spin_lock_irqsave(&desc->lock, flags); | 273 | spin_lock_irqsave(&desc->lock, flags); |
@@ -278,7 +279,7 @@ EXPORT_SYMBOL(vr41xx_enable_firint); | |||
278 | 279 | ||
279 | void vr41xx_disable_firint(uint16_t mask) | 280 | void vr41xx_disable_firint(uint16_t mask) |
280 | { | 281 | { |
281 | irq_desc_t *desc = irq_desc + FIR_IRQ; | 282 | struct irq_desc *desc = irq_desc + FIR_IRQ; |
282 | unsigned long flags; | 283 | unsigned long flags; |
283 | 284 | ||
284 | spin_lock_irqsave(&desc->lock, flags); | 285 | spin_lock_irqsave(&desc->lock, flags); |
@@ -290,7 +291,7 @@ EXPORT_SYMBOL(vr41xx_disable_firint); | |||
290 | 291 | ||
291 | void vr41xx_enable_pciint(void) | 292 | void vr41xx_enable_pciint(void) |
292 | { | 293 | { |
293 | irq_desc_t *desc = irq_desc + PCI_IRQ; | 294 | struct irq_desc *desc = irq_desc + PCI_IRQ; |
294 | unsigned long flags; | 295 | unsigned long flags; |
295 | 296 | ||
296 | if (current_cpu_data.cputype == CPU_VR4122 || | 297 | if (current_cpu_data.cputype == CPU_VR4122 || |
@@ -306,7 +307,7 @@ EXPORT_SYMBOL(vr41xx_enable_pciint); | |||
306 | 307 | ||
307 | void vr41xx_disable_pciint(void) | 308 | void vr41xx_disable_pciint(void) |
308 | { | 309 | { |
309 | irq_desc_t *desc = irq_desc + PCI_IRQ; | 310 | struct irq_desc *desc = irq_desc + PCI_IRQ; |
310 | unsigned long flags; | 311 | unsigned long flags; |
311 | 312 | ||
312 | if (current_cpu_data.cputype == CPU_VR4122 || | 313 | if (current_cpu_data.cputype == CPU_VR4122 || |
@@ -322,7 +323,7 @@ EXPORT_SYMBOL(vr41xx_disable_pciint); | |||
322 | 323 | ||
323 | void vr41xx_enable_scuint(void) | 324 | void vr41xx_enable_scuint(void) |
324 | { | 325 | { |
325 | irq_desc_t *desc = irq_desc + SCU_IRQ; | 326 | struct irq_desc *desc = irq_desc + SCU_IRQ; |
326 | unsigned long flags; | 327 | unsigned long flags; |
327 | 328 | ||
328 | if (current_cpu_data.cputype == CPU_VR4122 || | 329 | if (current_cpu_data.cputype == CPU_VR4122 || |
@@ -338,7 +339,7 @@ EXPORT_SYMBOL(vr41xx_enable_scuint); | |||
338 | 339 | ||
339 | void vr41xx_disable_scuint(void) | 340 | void vr41xx_disable_scuint(void) |
340 | { | 341 | { |
341 | irq_desc_t *desc = irq_desc + SCU_IRQ; | 342 | struct irq_desc *desc = irq_desc + SCU_IRQ; |
342 | unsigned long flags; | 343 | unsigned long flags; |
343 | 344 | ||
344 | if (current_cpu_data.cputype == CPU_VR4122 || | 345 | if (current_cpu_data.cputype == CPU_VR4122 || |
@@ -354,7 +355,7 @@ EXPORT_SYMBOL(vr41xx_disable_scuint); | |||
354 | 355 | ||
355 | void vr41xx_enable_csiint(uint16_t mask) | 356 | void vr41xx_enable_csiint(uint16_t mask) |
356 | { | 357 | { |
357 | irq_desc_t *desc = irq_desc + CSI_IRQ; | 358 | struct irq_desc *desc = irq_desc + CSI_IRQ; |
358 | unsigned long flags; | 359 | unsigned long flags; |
359 | 360 | ||
360 | if (current_cpu_data.cputype == CPU_VR4122 || | 361 | if (current_cpu_data.cputype == CPU_VR4122 || |
@@ -370,7 +371,7 @@ EXPORT_SYMBOL(vr41xx_enable_csiint); | |||
370 | 371 | ||
371 | void vr41xx_disable_csiint(uint16_t mask) | 372 | void vr41xx_disable_csiint(uint16_t mask) |
372 | { | 373 | { |
373 | irq_desc_t *desc = irq_desc + CSI_IRQ; | 374 | struct irq_desc *desc = irq_desc + CSI_IRQ; |
374 | unsigned long flags; | 375 | unsigned long flags; |
375 | 376 | ||
376 | if (current_cpu_data.cputype == CPU_VR4122 || | 377 | if (current_cpu_data.cputype == CPU_VR4122 || |
@@ -386,7 +387,7 @@ EXPORT_SYMBOL(vr41xx_disable_csiint); | |||
386 | 387 | ||
387 | void vr41xx_enable_bcuint(void) | 388 | void vr41xx_enable_bcuint(void) |
388 | { | 389 | { |
389 | irq_desc_t *desc = irq_desc + BCU_IRQ; | 390 | struct irq_desc *desc = irq_desc + BCU_IRQ; |
390 | unsigned long flags; | 391 | unsigned long flags; |
391 | 392 | ||
392 | if (current_cpu_data.cputype == CPU_VR4122 || | 393 | if (current_cpu_data.cputype == CPU_VR4122 || |
@@ -402,7 +403,7 @@ EXPORT_SYMBOL(vr41xx_enable_bcuint); | |||
402 | 403 | ||
403 | void vr41xx_disable_bcuint(void) | 404 | void vr41xx_disable_bcuint(void) |
404 | { | 405 | { |
405 | irq_desc_t *desc = irq_desc + BCU_IRQ; | 406 | struct irq_desc *desc = irq_desc + BCU_IRQ; |
406 | unsigned long flags; | 407 | unsigned long flags; |
407 | 408 | ||
408 | if (current_cpu_data.cputype == CPU_VR4122 || | 409 | if (current_cpu_data.cputype == CPU_VR4122 || |
@@ -442,7 +443,7 @@ static void end_sysint1_irq(unsigned int irq) | |||
442 | icu1_set(MSYSINT1REG, 1 << SYSINT1_IRQ_TO_PIN(irq)); | 443 | icu1_set(MSYSINT1REG, 1 << SYSINT1_IRQ_TO_PIN(irq)); |
443 | } | 444 | } |
444 | 445 | ||
445 | static struct hw_interrupt_type sysint1_irq_type = { | 446 | static struct irq_chip sysint1_irq_type = { |
446 | .typename = "SYSINT1", | 447 | .typename = "SYSINT1", |
447 | .startup = startup_sysint1_irq, | 448 | .startup = startup_sysint1_irq, |
448 | .shutdown = shutdown_sysint1_irq, | 449 | .shutdown = shutdown_sysint1_irq, |
@@ -478,7 +479,7 @@ static void end_sysint2_irq(unsigned int irq) | |||
478 | icu2_set(MSYSINT2REG, 1 << SYSINT2_IRQ_TO_PIN(irq)); | 479 | icu2_set(MSYSINT2REG, 1 << SYSINT2_IRQ_TO_PIN(irq)); |
479 | } | 480 | } |
480 | 481 | ||
481 | static struct hw_interrupt_type sysint2_irq_type = { | 482 | static struct irq_chip sysint2_irq_type = { |
482 | .typename = "SYSINT2", | 483 | .typename = "SYSINT2", |
483 | .startup = startup_sysint2_irq, | 484 | .startup = startup_sysint2_irq, |
484 | .shutdown = shutdown_sysint2_irq, | 485 | .shutdown = shutdown_sysint2_irq, |
@@ -490,7 +491,7 @@ static struct hw_interrupt_type sysint2_irq_type = { | |||
490 | 491 | ||
491 | static inline int set_sysint1_assign(unsigned int irq, unsigned char assign) | 492 | static inline int set_sysint1_assign(unsigned int irq, unsigned char assign) |
492 | { | 493 | { |
493 | irq_desc_t *desc = irq_desc + irq; | 494 | struct irq_desc *desc = irq_desc + irq; |
494 | uint16_t intassign0, intassign1; | 495 | uint16_t intassign0, intassign1; |
495 | unsigned int pin; | 496 | unsigned int pin; |
496 | 497 | ||
@@ -549,7 +550,7 @@ static inline int set_sysint1_assign(unsigned int irq, unsigned char assign) | |||
549 | 550 | ||
550 | static inline int set_sysint2_assign(unsigned int irq, unsigned char assign) | 551 | static inline int set_sysint2_assign(unsigned int irq, unsigned char assign) |
551 | { | 552 | { |
552 | irq_desc_t *desc = irq_desc + irq; | 553 | struct irq_desc *desc = irq_desc + irq; |
553 | uint16_t intassign2, intassign3; | 554 | uint16_t intassign2, intassign3; |
554 | unsigned int pin; | 555 | unsigned int pin; |
555 | 556 | ||
diff --git a/arch/mips/vr41xx/common/init.c b/arch/mips/vr41xx/common/init.c index 915bfa5c0719..a2e285c1d4d5 100644 --- a/arch/mips/vr41xx/common/init.c +++ b/arch/mips/vr41xx/common/init.c | |||
@@ -24,6 +24,7 @@ | |||
24 | 24 | ||
25 | #include <asm/bootinfo.h> | 25 | #include <asm/bootinfo.h> |
26 | #include <asm/time.h> | 26 | #include <asm/time.h> |
27 | #include <asm/vr41xx/irq.h> | ||
27 | #include <asm/vr41xx/vr41xx.h> | 28 | #include <asm/vr41xx/vr41xx.h> |
28 | 29 | ||
29 | #define IO_MEM_RESOURCE_START 0UL | 30 | #define IO_MEM_RESOURCE_START 0UL |
@@ -47,7 +48,7 @@ static void __init setup_timer_frequency(void) | |||
47 | mips_hpt_frequency = tclock / 4; | 48 | mips_hpt_frequency = tclock / 4; |
48 | } | 49 | } |
49 | 50 | ||
50 | static void __init setup_timer_irq(struct irqaction *irq) | 51 | void __init plat_timer_setup(struct irqaction *irq) |
51 | { | 52 | { |
52 | setup_irq(TIMER_IRQ, irq); | 53 | setup_irq(TIMER_IRQ, irq); |
53 | } | 54 | } |
@@ -55,7 +56,6 @@ static void __init setup_timer_irq(struct irqaction *irq) | |||
55 | static void __init timer_init(void) | 56 | static void __init timer_init(void) |
56 | { | 57 | { |
57 | board_time_init = setup_timer_frequency; | 58 | board_time_init = setup_timer_frequency; |
58 | board_timer_setup = setup_timer_irq; | ||
59 | } | 59 | } |
60 | 60 | ||
61 | void __init plat_mem_setup(void) | 61 | void __init plat_mem_setup(void) |
diff --git a/arch/mips/vr41xx/common/irq.c b/arch/mips/vr41xx/common/irq.c index 66aa50802deb..4733c5344467 100644 --- a/arch/mips/vr41xx/common/irq.c +++ b/arch/mips/vr41xx/common/irq.c | |||
@@ -22,7 +22,7 @@ | |||
22 | 22 | ||
23 | #include <asm/irq_cpu.h> | 23 | #include <asm/irq_cpu.h> |
24 | #include <asm/system.h> | 24 | #include <asm/system.h> |
25 | #include <asm/vr41xx/vr41xx.h> | 25 | #include <asm/vr41xx/irq.h> |
26 | 26 | ||
27 | typedef struct irq_cascade { | 27 | typedef struct irq_cascade { |
28 | int (*get_irq)(unsigned int, struct pt_regs *); | 28 | int (*get_irq)(unsigned int, struct pt_regs *); |
@@ -62,7 +62,7 @@ EXPORT_SYMBOL_GPL(cascade_irq); | |||
62 | static void irq_dispatch(unsigned int irq, struct pt_regs *regs) | 62 | static void irq_dispatch(unsigned int irq, struct pt_regs *regs) |
63 | { | 63 | { |
64 | irq_cascade_t *cascade; | 64 | irq_cascade_t *cascade; |
65 | irq_desc_t *desc; | 65 | struct irq_desc *desc; |
66 | 66 | ||
67 | if (irq >= NR_IRQS) { | 67 | if (irq >= NR_IRQS) { |
68 | atomic_inc(&irq_err_count); | 68 | atomic_inc(&irq_err_count); |
diff --git a/arch/mips/vr41xx/common/vrc4173.c b/arch/mips/vr41xx/common/vrc4173.c deleted file mode 100644 index 2d287b8893d9..000000000000 --- a/arch/mips/vr41xx/common/vrc4173.c +++ /dev/null | |||
@@ -1,581 +0,0 @@ | |||
1 | /* | ||
2 | * vrc4173.c, NEC VRC4173 base driver for NEC VR4122/VR4131. | ||
3 | * | ||
4 | * Copyright (C) 2001-2003 MontaVista Software Inc. | ||
5 | * Author: Yoichi Yuasa <yyuasa@mvista.com, or source@mvista.com> | ||
6 | * Copyright (C) 2004 Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp> | ||
7 | * Copyright (C) 2005 Ralf Baechle (ralf@linux-mips.org) | ||
8 | * | ||
9 | * This program is free software; you can redistribute it and/or modify | ||
10 | * it under the terms of the GNU General Public License as published by | ||
11 | * the Free Software Foundation; either version 2 of the License, or | ||
12 | * (at your option) any later version. | ||
13 | * | ||
14 | * This program is distributed in the hope that it will be useful, | ||
15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
17 | * GNU General Public License for more details. | ||
18 | * | ||
19 | * You should have received a copy of the GNU General Public License | ||
20 | * along with this program; if not, write to the Free Software | ||
21 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
22 | */ | ||
23 | #include <linux/init.h> | ||
24 | #include <linux/module.h> | ||
25 | #include <linux/interrupt.h> | ||
26 | #include <linux/irq.h> | ||
27 | #include <linux/pci.h> | ||
28 | #include <linux/spinlock.h> | ||
29 | #include <linux/types.h> | ||
30 | |||
31 | #include <asm/vr41xx/vr41xx.h> | ||
32 | #include <asm/vr41xx/vrc4173.h> | ||
33 | |||
34 | MODULE_DESCRIPTION("NEC VRC4173 base driver for NEC VR4122/4131"); | ||
35 | MODULE_AUTHOR("Yoichi Yuasa <yyuasa@mvista.com>"); | ||
36 | MODULE_LICENSE("GPL"); | ||
37 | |||
38 | #define VRC4173_CMUCLKMSK 0x040 | ||
39 | #define MSKPIU 0x0001 | ||
40 | #define MSKKIU 0x0002 | ||
41 | #define MSKAIU 0x0004 | ||
42 | #define MSKPS2CH1 0x0008 | ||
43 | #define MSKPS2CH2 0x0010 | ||
44 | #define MSKUSB 0x0020 | ||
45 | #define MSKCARD1 0x0040 | ||
46 | #define MSKCARD2 0x0080 | ||
47 | #define MSKAC97 0x0100 | ||
48 | #define MSK48MUSB 0x0400 | ||
49 | #define MSK48MPIN 0x0800 | ||
50 | #define MSK48MOSC 0x1000 | ||
51 | #define VRC4173_CMUSRST 0x042 | ||
52 | #define USBRST 0x0001 | ||
53 | #define CARD1RST 0x0002 | ||
54 | #define CARD2RST 0x0004 | ||
55 | #define AC97RST 0x0008 | ||
56 | |||
57 | #define VRC4173_SYSINT1REG 0x060 | ||
58 | #define VRC4173_MSYSINT1REG 0x06c | ||
59 | #define VRC4173_MPIUINTREG 0x06e | ||
60 | #define VRC4173_MAIUINTREG 0x070 | ||
61 | #define VRC4173_MKIUINTREG 0x072 | ||
62 | |||
63 | #define VRC4173_SELECTREG 0x09e | ||
64 | #define SEL3 0x0008 | ||
65 | #define SEL2 0x0004 | ||
66 | #define SEL1 0x0002 | ||
67 | #define SEL0 0x0001 | ||
68 | |||
69 | static struct pci_device_id vrc4173_id_table[] __devinitdata = { | ||
70 | { .vendor = PCI_VENDOR_ID_NEC, | ||
71 | .device = PCI_DEVICE_ID_NEC_VRC4173, | ||
72 | .subvendor = PCI_ANY_ID, | ||
73 | .subdevice = PCI_ANY_ID, }, | ||
74 | { .vendor = 0, }, | ||
75 | }; | ||
76 | |||
77 | unsigned long vrc4173_io_offset = 0; | ||
78 | |||
79 | EXPORT_SYMBOL(vrc4173_io_offset); | ||
80 | |||
81 | static int vrc4173_initialized; | ||
82 | static uint16_t vrc4173_cmuclkmsk; | ||
83 | static uint16_t vrc4173_selectreg; | ||
84 | static DEFINE_SPINLOCK(vrc4173_cmu_lock); | ||
85 | static DEFINE_SPINLOCK(vrc4173_giu_lock); | ||
86 | |||
87 | static inline void set_cmusrst(uint16_t val) | ||
88 | { | ||
89 | uint16_t cmusrst; | ||
90 | |||
91 | cmusrst = vrc4173_inw(VRC4173_CMUSRST); | ||
92 | cmusrst |= val; | ||
93 | vrc4173_outw(cmusrst, VRC4173_CMUSRST); | ||
94 | } | ||
95 | |||
96 | static inline void clear_cmusrst(uint16_t val) | ||
97 | { | ||
98 | uint16_t cmusrst; | ||
99 | |||
100 | cmusrst = vrc4173_inw(VRC4173_CMUSRST); | ||
101 | cmusrst &= ~val; | ||
102 | vrc4173_outw(cmusrst, VRC4173_CMUSRST); | ||
103 | } | ||
104 | |||
105 | void vrc4173_supply_clock(vrc4173_clock_t clock) | ||
106 | { | ||
107 | if (vrc4173_initialized) { | ||
108 | spin_lock_irq(&vrc4173_cmu_lock); | ||
109 | |||
110 | switch (clock) { | ||
111 | case VRC4173_PIU_CLOCK: | ||
112 | vrc4173_cmuclkmsk |= MSKPIU; | ||
113 | break; | ||
114 | case VRC4173_KIU_CLOCK: | ||
115 | vrc4173_cmuclkmsk |= MSKKIU; | ||
116 | break; | ||
117 | case VRC4173_AIU_CLOCK: | ||
118 | vrc4173_cmuclkmsk |= MSKAIU; | ||
119 | break; | ||
120 | case VRC4173_PS2_CH1_CLOCK: | ||
121 | vrc4173_cmuclkmsk |= MSKPS2CH1; | ||
122 | break; | ||
123 | case VRC4173_PS2_CH2_CLOCK: | ||
124 | vrc4173_cmuclkmsk |= MSKPS2CH2; | ||
125 | break; | ||
126 | case VRC4173_USBU_PCI_CLOCK: | ||
127 | set_cmusrst(USBRST); | ||
128 | vrc4173_cmuclkmsk |= MSKUSB; | ||
129 | break; | ||
130 | case VRC4173_CARDU1_PCI_CLOCK: | ||
131 | set_cmusrst(CARD1RST); | ||
132 | vrc4173_cmuclkmsk |= MSKCARD1; | ||
133 | break; | ||
134 | case VRC4173_CARDU2_PCI_CLOCK: | ||
135 | set_cmusrst(CARD2RST); | ||
136 | vrc4173_cmuclkmsk |= MSKCARD2; | ||
137 | break; | ||
138 | case VRC4173_AC97U_PCI_CLOCK: | ||
139 | set_cmusrst(AC97RST); | ||
140 | vrc4173_cmuclkmsk |= MSKAC97; | ||
141 | break; | ||
142 | case VRC4173_USBU_48MHz_CLOCK: | ||
143 | set_cmusrst(USBRST); | ||
144 | vrc4173_cmuclkmsk |= MSK48MUSB; | ||
145 | break; | ||
146 | case VRC4173_EXT_48MHz_CLOCK: | ||
147 | if (vrc4173_cmuclkmsk & MSK48MOSC) | ||
148 | vrc4173_cmuclkmsk |= MSK48MPIN; | ||
149 | else | ||
150 | printk(KERN_WARNING | ||
151 | "vrc4173_supply_clock: " | ||
152 | "Please supply VRC4173_48MHz_CLOCK first " | ||
153 | "rather than VRC4173_EXT_48MHz_CLOCK.\n"); | ||
154 | break; | ||
155 | case VRC4173_48MHz_CLOCK: | ||
156 | vrc4173_cmuclkmsk |= MSK48MOSC; | ||
157 | break; | ||
158 | default: | ||
159 | printk(KERN_WARNING | ||
160 | "vrc4173_supply_clock: Invalid CLOCK value %u\n", clock); | ||
161 | break; | ||
162 | } | ||
163 | |||
164 | vrc4173_outw(vrc4173_cmuclkmsk, VRC4173_CMUCLKMSK); | ||
165 | |||
166 | switch (clock) { | ||
167 | case VRC4173_USBU_PCI_CLOCK: | ||
168 | case VRC4173_USBU_48MHz_CLOCK: | ||
169 | clear_cmusrst(USBRST); | ||
170 | break; | ||
171 | case VRC4173_CARDU1_PCI_CLOCK: | ||
172 | clear_cmusrst(CARD1RST); | ||
173 | break; | ||
174 | case VRC4173_CARDU2_PCI_CLOCK: | ||
175 | clear_cmusrst(CARD2RST); | ||
176 | break; | ||
177 | case VRC4173_AC97U_PCI_CLOCK: | ||
178 | clear_cmusrst(AC97RST); | ||
179 | break; | ||
180 | default: | ||
181 | break; | ||
182 | } | ||
183 | |||
184 | spin_unlock_irq(&vrc4173_cmu_lock); | ||
185 | } | ||
186 | } | ||
187 | |||
188 | EXPORT_SYMBOL(vrc4173_supply_clock); | ||
189 | |||
190 | void vrc4173_mask_clock(vrc4173_clock_t clock) | ||
191 | { | ||
192 | if (vrc4173_initialized) { | ||
193 | spin_lock_irq(&vrc4173_cmu_lock); | ||
194 | |||
195 | switch (clock) { | ||
196 | case VRC4173_PIU_CLOCK: | ||
197 | vrc4173_cmuclkmsk &= ~MSKPIU; | ||
198 | break; | ||
199 | case VRC4173_KIU_CLOCK: | ||
200 | vrc4173_cmuclkmsk &= ~MSKKIU; | ||
201 | break; | ||
202 | case VRC4173_AIU_CLOCK: | ||
203 | vrc4173_cmuclkmsk &= ~MSKAIU; | ||
204 | break; | ||
205 | case VRC4173_PS2_CH1_CLOCK: | ||
206 | vrc4173_cmuclkmsk &= ~MSKPS2CH1; | ||
207 | break; | ||
208 | case VRC4173_PS2_CH2_CLOCK: | ||
209 | vrc4173_cmuclkmsk &= ~MSKPS2CH2; | ||
210 | break; | ||
211 | case VRC4173_USBU_PCI_CLOCK: | ||
212 | set_cmusrst(USBRST); | ||
213 | vrc4173_cmuclkmsk &= ~MSKUSB; | ||
214 | break; | ||
215 | case VRC4173_CARDU1_PCI_CLOCK: | ||
216 | set_cmusrst(CARD1RST); | ||
217 | vrc4173_cmuclkmsk &= ~MSKCARD1; | ||
218 | break; | ||
219 | case VRC4173_CARDU2_PCI_CLOCK: | ||
220 | set_cmusrst(CARD2RST); | ||
221 | vrc4173_cmuclkmsk &= ~MSKCARD2; | ||
222 | break; | ||
223 | case VRC4173_AC97U_PCI_CLOCK: | ||
224 | set_cmusrst(AC97RST); | ||
225 | vrc4173_cmuclkmsk &= ~MSKAC97; | ||
226 | break; | ||
227 | case VRC4173_USBU_48MHz_CLOCK: | ||
228 | set_cmusrst(USBRST); | ||
229 | vrc4173_cmuclkmsk &= ~MSK48MUSB; | ||
230 | break; | ||
231 | case VRC4173_EXT_48MHz_CLOCK: | ||
232 | vrc4173_cmuclkmsk &= ~MSK48MPIN; | ||
233 | break; | ||
234 | case VRC4173_48MHz_CLOCK: | ||
235 | vrc4173_cmuclkmsk &= ~MSK48MOSC; | ||
236 | break; | ||
237 | default: | ||
238 | printk(KERN_WARNING "vrc4173_mask_clock: Invalid CLOCK value %u\n", clock); | ||
239 | break; | ||
240 | } | ||
241 | |||
242 | vrc4173_outw(vrc4173_cmuclkmsk, VRC4173_CMUCLKMSK); | ||
243 | |||
244 | switch (clock) { | ||
245 | case VRC4173_USBU_PCI_CLOCK: | ||
246 | case VRC4173_USBU_48MHz_CLOCK: | ||
247 | clear_cmusrst(USBRST); | ||
248 | break; | ||
249 | case VRC4173_CARDU1_PCI_CLOCK: | ||
250 | clear_cmusrst(CARD1RST); | ||
251 | break; | ||
252 | case VRC4173_CARDU2_PCI_CLOCK: | ||
253 | clear_cmusrst(CARD2RST); | ||
254 | break; | ||
255 | case VRC4173_AC97U_PCI_CLOCK: | ||
256 | clear_cmusrst(AC97RST); | ||
257 | break; | ||
258 | default: | ||
259 | break; | ||
260 | } | ||
261 | |||
262 | spin_unlock_irq(&vrc4173_cmu_lock); | ||
263 | } | ||
264 | } | ||
265 | |||
266 | EXPORT_SYMBOL(vrc4173_mask_clock); | ||
267 | |||
268 | static inline void vrc4173_cmu_init(void) | ||
269 | { | ||
270 | vrc4173_cmuclkmsk = vrc4173_inw(VRC4173_CMUCLKMSK); | ||
271 | |||
272 | spin_lock_init(&vrc4173_cmu_lock); | ||
273 | } | ||
274 | |||
275 | void vrc4173_select_function(vrc4173_function_t function) | ||
276 | { | ||
277 | if (vrc4173_initialized) { | ||
278 | spin_lock_irq(&vrc4173_giu_lock); | ||
279 | |||
280 | switch(function) { | ||
281 | case PS2_CHANNEL1: | ||
282 | vrc4173_selectreg |= SEL2; | ||
283 | break; | ||
284 | case PS2_CHANNEL2: | ||
285 | vrc4173_selectreg |= SEL1; | ||
286 | break; | ||
287 | case TOUCHPANEL: | ||
288 | vrc4173_selectreg &= SEL2 | SEL1 | SEL0; | ||
289 | break; | ||
290 | case KEYBOARD_8SCANLINES: | ||
291 | vrc4173_selectreg &= SEL3 | SEL2 | SEL1; | ||
292 | break; | ||
293 | case KEYBOARD_10SCANLINES: | ||
294 | vrc4173_selectreg &= SEL3 | SEL2; | ||
295 | break; | ||
296 | case KEYBOARD_12SCANLINES: | ||
297 | vrc4173_selectreg &= SEL3; | ||
298 | break; | ||
299 | case GPIO_0_15PINS: | ||
300 | vrc4173_selectreg |= SEL0; | ||
301 | break; | ||
302 | case GPIO_16_20PINS: | ||
303 | vrc4173_selectreg |= SEL3; | ||
304 | break; | ||
305 | } | ||
306 | |||
307 | vrc4173_outw(vrc4173_selectreg, VRC4173_SELECTREG); | ||
308 | |||
309 | spin_unlock_irq(&vrc4173_giu_lock); | ||
310 | } | ||
311 | } | ||
312 | |||
313 | EXPORT_SYMBOL(vrc4173_select_function); | ||
314 | |||
315 | static inline void vrc4173_giu_init(void) | ||
316 | { | ||
317 | vrc4173_selectreg = vrc4173_inw(VRC4173_SELECTREG); | ||
318 | |||
319 | spin_lock_init(&vrc4173_giu_lock); | ||
320 | } | ||
321 | |||
322 | void vrc4173_enable_piuint(uint16_t mask) | ||
323 | { | ||
324 | irq_desc_t *desc = irq_desc + VRC4173_PIU_IRQ; | ||
325 | unsigned long flags; | ||
326 | uint16_t val; | ||
327 | |||
328 | spin_lock_irqsave(&desc->lock, flags); | ||
329 | val = vrc4173_inw(VRC4173_MPIUINTREG); | ||
330 | val |= mask; | ||
331 | vrc4173_outw(val, VRC4173_MPIUINTREG); | ||
332 | spin_unlock_irqrestore(&desc->lock, flags); | ||
333 | } | ||
334 | |||
335 | EXPORT_SYMBOL(vrc4173_enable_piuint); | ||
336 | |||
337 | void vrc4173_disable_piuint(uint16_t mask) | ||
338 | { | ||
339 | irq_desc_t *desc = irq_desc + VRC4173_PIU_IRQ; | ||
340 | unsigned long flags; | ||
341 | uint16_t val; | ||
342 | |||
343 | spin_lock_irqsave(&desc->lock, flags); | ||
344 | val = vrc4173_inw(VRC4173_MPIUINTREG); | ||
345 | val &= ~mask; | ||
346 | vrc4173_outw(val, VRC4173_MPIUINTREG); | ||
347 | spin_unlock_irqrestore(&desc->lock, flags); | ||
348 | } | ||
349 | |||
350 | EXPORT_SYMBOL(vrc4173_disable_piuint); | ||
351 | |||
352 | void vrc4173_enable_aiuint(uint16_t mask) | ||
353 | { | ||
354 | irq_desc_t *desc = irq_desc + VRC4173_AIU_IRQ; | ||
355 | unsigned long flags; | ||
356 | uint16_t val; | ||
357 | |||
358 | spin_lock_irqsave(&desc->lock, flags); | ||
359 | val = vrc4173_inw(VRC4173_MAIUINTREG); | ||
360 | val |= mask; | ||
361 | vrc4173_outw(val, VRC4173_MAIUINTREG); | ||
362 | spin_unlock_irqrestore(&desc->lock, flags); | ||
363 | } | ||
364 | |||
365 | EXPORT_SYMBOL(vrc4173_enable_aiuint); | ||
366 | |||
367 | void vrc4173_disable_aiuint(uint16_t mask) | ||
368 | { | ||
369 | irq_desc_t *desc = irq_desc + VRC4173_AIU_IRQ; | ||
370 | unsigned long flags; | ||
371 | uint16_t val; | ||
372 | |||
373 | spin_lock_irqsave(&desc->lock, flags); | ||
374 | val = vrc4173_inw(VRC4173_MAIUINTREG); | ||
375 | val &= ~mask; | ||
376 | vrc4173_outw(val, VRC4173_MAIUINTREG); | ||
377 | spin_unlock_irqrestore(&desc->lock, flags); | ||
378 | } | ||
379 | |||
380 | EXPORT_SYMBOL(vrc4173_disable_aiuint); | ||
381 | |||
382 | void vrc4173_enable_kiuint(uint16_t mask) | ||
383 | { | ||
384 | irq_desc_t *desc = irq_desc + VRC4173_KIU_IRQ; | ||
385 | unsigned long flags; | ||
386 | uint16_t val; | ||
387 | |||
388 | spin_lock_irqsave(&desc->lock, flags); | ||
389 | val = vrc4173_inw(VRC4173_MKIUINTREG); | ||
390 | val |= mask; | ||
391 | vrc4173_outw(val, VRC4173_MKIUINTREG); | ||
392 | spin_unlock_irqrestore(&desc->lock, flags); | ||
393 | } | ||
394 | |||
395 | EXPORT_SYMBOL(vrc4173_enable_kiuint); | ||
396 | |||
397 | void vrc4173_disable_kiuint(uint16_t mask) | ||
398 | { | ||
399 | irq_desc_t *desc = irq_desc + VRC4173_KIU_IRQ; | ||
400 | unsigned long flags; | ||
401 | uint16_t val; | ||
402 | |||
403 | spin_lock_irqsave(&desc->lock, flags); | ||
404 | val = vrc4173_inw(VRC4173_MKIUINTREG); | ||
405 | val &= ~mask; | ||
406 | vrc4173_outw(val, VRC4173_MKIUINTREG); | ||
407 | spin_unlock_irqrestore(&desc->lock, flags); | ||
408 | } | ||
409 | |||
410 | EXPORT_SYMBOL(vrc4173_disable_kiuint); | ||
411 | |||
412 | static void enable_vrc4173_irq(unsigned int irq) | ||
413 | { | ||
414 | uint16_t val; | ||
415 | |||
416 | val = vrc4173_inw(VRC4173_MSYSINT1REG); | ||
417 | val |= (uint16_t)1 << (irq - VRC4173_IRQ_BASE); | ||
418 | vrc4173_outw(val, VRC4173_MSYSINT1REG); | ||
419 | } | ||
420 | |||
421 | static void disable_vrc4173_irq(unsigned int irq) | ||
422 | { | ||
423 | uint16_t val; | ||
424 | |||
425 | val = vrc4173_inw(VRC4173_MSYSINT1REG); | ||
426 | val &= ~((uint16_t)1 << (irq - VRC4173_IRQ_BASE)); | ||
427 | vrc4173_outw(val, VRC4173_MSYSINT1REG); | ||
428 | } | ||
429 | |||
430 | static unsigned int startup_vrc4173_irq(unsigned int irq) | ||
431 | { | ||
432 | enable_vrc4173_irq(irq); | ||
433 | return 0; /* never anything pending */ | ||
434 | } | ||
435 | |||
436 | #define shutdown_vrc4173_irq disable_vrc4173_irq | ||
437 | #define ack_vrc4173_irq disable_vrc4173_irq | ||
438 | |||
439 | static void end_vrc4173_irq(unsigned int irq) | ||
440 | { | ||
441 | if (!(irq_desc[irq].status & (IRQ_DISABLED | IRQ_INPROGRESS))) | ||
442 | enable_vrc4173_irq(irq); | ||
443 | } | ||
444 | |||
445 | static struct hw_interrupt_type vrc4173_irq_type = { | ||
446 | .typename = "VRC4173", | ||
447 | .startup = startup_vrc4173_irq, | ||
448 | .shutdown = shutdown_vrc4173_irq, | ||
449 | .enable = enable_vrc4173_irq, | ||
450 | .disable = disable_vrc4173_irq, | ||
451 | .ack = ack_vrc4173_irq, | ||
452 | .end = end_vrc4173_irq, | ||
453 | }; | ||
454 | |||
455 | static int vrc4173_get_irq_number(int irq) | ||
456 | { | ||
457 | uint16_t status, mask; | ||
458 | int i; | ||
459 | |||
460 | status = vrc4173_inw(VRC4173_SYSINT1REG); | ||
461 | mask = vrc4173_inw(VRC4173_MSYSINT1REG); | ||
462 | |||
463 | status &= mask; | ||
464 | if (status) { | ||
465 | for (i = 0; i < 16; i++) | ||
466 | if (status & (0x0001 << i)) | ||
467 | return VRC4173_IRQ(i); | ||
468 | } | ||
469 | |||
470 | return -EINVAL; | ||
471 | } | ||
472 | |||
473 | static inline int vrc4173_icu_init(int cascade_irq) | ||
474 | { | ||
475 | int i; | ||
476 | |||
477 | if (cascade_irq < GIU_IRQ(0) || cascade_irq > GIU_IRQ(15)) | ||
478 | return -EINVAL; | ||
479 | |||
480 | vrc4173_outw(0, VRC4173_MSYSINT1REG); | ||
481 | |||
482 | vr41xx_set_irq_trigger(GIU_IRQ_TO_PIN(cascade_irq), TRIGGER_LEVEL, SIGNAL_THROUGH); | ||
483 | vr41xx_set_irq_level(GIU_IRQ_TO_PIN(cascade_irq), LEVEL_LOW); | ||
484 | |||
485 | for (i = VRC4173_IRQ_BASE; i <= VRC4173_IRQ_LAST; i++) | ||
486 | irq_desc[i].chip = &vrc4173_irq_type; | ||
487 | |||
488 | return 0; | ||
489 | } | ||
490 | |||
491 | static int __devinit vrc4173_probe(struct pci_dev *dev, | ||
492 | const struct pci_device_id *id) | ||
493 | { | ||
494 | unsigned long start, flags; | ||
495 | int err; | ||
496 | |||
497 | err = pci_enable_device(dev); | ||
498 | if (err < 0) { | ||
499 | printk(KERN_ERR "vrc4173: Failed to enable PCI device, aborting\n"); | ||
500 | return err; | ||
501 | } | ||
502 | |||
503 | pci_set_master(dev); | ||
504 | |||
505 | start = pci_resource_start(dev, 0); | ||
506 | if (start == 0) { | ||
507 | printk(KERN_ERR "vrc4173:No such PCI I/O resource, aborting\n"); | ||
508 | return -ENXIO; | ||
509 | } | ||
510 | |||
511 | flags = pci_resource_flags(dev, 0); | ||
512 | if ((flags & IORESOURCE_IO) == 0) { | ||
513 | printk(KERN_ERR "vrc4173: No such PCI I/O resource, aborting\n"); | ||
514 | return -ENXIO; | ||
515 | } | ||
516 | |||
517 | err = pci_request_regions(dev, "NEC VRC4173"); | ||
518 | if (err < 0) { | ||
519 | printk(KERN_ERR "vrc4173: PCI resources are busy, aborting\n"); | ||
520 | return err; | ||
521 | } | ||
522 | |||
523 | set_vrc4173_io_offset(start); | ||
524 | |||
525 | vrc4173_cmu_init(); | ||
526 | vrc4173_giu_init(); | ||
527 | |||
528 | err = vrc4173_icu_init(dev->irq); | ||
529 | if (err < 0) { | ||
530 | printk(KERN_ERR "vrc4173: Invalid IRQ %d, aborting\n", dev->irq); | ||
531 | return err; | ||
532 | } | ||
533 | |||
534 | err = vr41xx_cascade_irq(dev->irq, vrc4173_get_irq_number); | ||
535 | if (err < 0) { | ||
536 | printk(KERN_ERR "vrc4173: IRQ resource %d is busy, aborting\n", dev->irq); | ||
537 | return err; | ||
538 | } | ||
539 | |||
540 | printk(KERN_INFO | ||
541 | "NEC VRC4173 at 0x%#08lx, IRQ is cascaded to %d\n", start, dev->irq); | ||
542 | |||
543 | return 0; | ||
544 | } | ||
545 | |||
546 | static void vrc4173_remove(struct pci_dev *dev) | ||
547 | { | ||
548 | free_irq(dev->irq, NULL); | ||
549 | |||
550 | pci_release_regions(dev); | ||
551 | } | ||
552 | |||
553 | static struct pci_driver vrc4173_driver = { | ||
554 | .name = "NEC VRC4173", | ||
555 | .probe = vrc4173_probe, | ||
556 | .remove = vrc4173_remove, | ||
557 | .id_table = vrc4173_id_table, | ||
558 | }; | ||
559 | |||
560 | static int __devinit vrc4173_init(void) | ||
561 | { | ||
562 | int err; | ||
563 | |||
564 | err = pci_register_driver(&vrc4173_driver); | ||
565 | if (err < 0) | ||
566 | return err; | ||
567 | |||
568 | vrc4173_initialized = 1; | ||
569 | |||
570 | return 0; | ||
571 | } | ||
572 | |||
573 | static void __devexit vrc4173_exit(void) | ||
574 | { | ||
575 | vrc4173_initialized = 0; | ||
576 | |||
577 | pci_unregister_driver(&vrc4173_driver); | ||
578 | } | ||
579 | |||
580 | module_init(vrc4173_init); | ||
581 | module_exit(vrc4173_exit); | ||
diff --git a/arch/mips/vr41xx/ibm-workpad/setup.c b/arch/mips/vr41xx/ibm-workpad/setup.c index 50fe8af4c52c..9eef297eca1a 100644 --- a/arch/mips/vr41xx/ibm-workpad/setup.c +++ b/arch/mips/vr41xx/ibm-workpad/setup.c | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * setup.c, Setup for the IBM WorkPad z50. | 2 | * setup.c, Setup for the IBM WorkPad z50. |
3 | * | 3 | * |
4 | * Copyright (C) 2002-2005 Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp> | 4 | * Copyright (C) 2002-2006 Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp> |
5 | * | 5 | * |
6 | * This program is free software; you can redistribute it and/or modify | 6 | * This program is free software; you can redistribute it and/or modify |
7 | * it under the terms of the GNU General Public License as published by | 7 | * it under the terms of the GNU General Public License as published by |
@@ -21,13 +21,18 @@ | |||
21 | #include <linux/ioport.h> | 21 | #include <linux/ioport.h> |
22 | 22 | ||
23 | #include <asm/io.h> | 23 | #include <asm/io.h> |
24 | #include <asm/vr41xx/workpad.h> | 24 | |
25 | #define WORKPAD_ISA_IO_BASE 0x15000000 | ||
26 | #define WORKPAD_ISA_IO_SIZE 0x03000000 | ||
27 | #define WORKPAD_ISA_IO_START 0 | ||
28 | #define WORKPAD_ISA_IO_END (WORKPAD_ISA_IO_SIZE - 1) | ||
29 | #define WORKPAD_IO_PORT_BASE KSEG1ADDR(WORKPAD_ISA_IO_BASE) | ||
25 | 30 | ||
26 | static int __init ibm_workpad_setup(void) | 31 | static int __init ibm_workpad_setup(void) |
27 | { | 32 | { |
28 | set_io_port_base(IO_PORT_BASE); | 33 | set_io_port_base(WORKPAD_IO_PORT_BASE); |
29 | ioport_resource.start = IO_PORT_RESOURCE_START; | 34 | ioport_resource.start = WORKPAD_ISA_IO_START; |
30 | ioport_resource.end = IO_PORT_RESOURCE_END; | 35 | ioport_resource.end = WORKPAD_ISA_IO_END; |
31 | 36 | ||
32 | return 0; | 37 | return 0; |
33 | } | 38 | } |
diff --git a/arch/mips/vr41xx/nec-cmbvr4133/irq.c b/arch/mips/vr41xx/nec-cmbvr4133/irq.c index 7b2511ca0a61..2483487344c2 100644 --- a/arch/mips/vr41xx/nec-cmbvr4133/irq.c +++ b/arch/mips/vr41xx/nec-cmbvr4133/irq.c | |||
@@ -62,7 +62,7 @@ static void end_i8259_irq(unsigned int irq) | |||
62 | enable_8259A_irq(irq - I8259_IRQ_BASE); | 62 | enable_8259A_irq(irq - I8259_IRQ_BASE); |
63 | } | 63 | } |
64 | 64 | ||
65 | static struct hw_interrupt_type i8259_irq_type = { | 65 | static struct irq_chip i8259_irq_type = { |
66 | .typename = "XT-PIC", | 66 | .typename = "XT-PIC", |
67 | .startup = startup_i8259_irq, | 67 | .startup = startup_i8259_irq, |
68 | .shutdown = shutdown_i8259_irq, | 68 | .shutdown = shutdown_i8259_irq, |
diff --git a/arch/s390/hypfs/hypfs_diag.c b/arch/s390/hypfs/hypfs_diag.c index efa74af7f04a..1785bce2b919 100644 --- a/arch/s390/hypfs/hypfs_diag.c +++ b/arch/s390/hypfs/hypfs_diag.c | |||
@@ -403,7 +403,7 @@ static void *diag204_get_buffer(enum diag204_format fmt, int *pages) | |||
403 | *pages = 1; | 403 | *pages = 1; |
404 | return diag204_alloc_rbuf(); | 404 | return diag204_alloc_rbuf(); |
405 | } else {/* INFO_EXT */ | 405 | } else {/* INFO_EXT */ |
406 | *pages = diag204(SUBC_RSI | INFO_EXT, 0, 0); | 406 | *pages = diag204(SUBC_RSI | INFO_EXT, 0, NULL); |
407 | if (*pages <= 0) | 407 | if (*pages <= 0) |
408 | return ERR_PTR(-ENOSYS); | 408 | return ERR_PTR(-ENOSYS); |
409 | else | 409 | else |
diff --git a/arch/s390/kernel/compat_linux.c b/arch/s390/kernel/compat_linux.c index cabb4ff54cd7..785c9f70ac98 100644 --- a/arch/s390/kernel/compat_linux.c +++ b/arch/s390/kernel/compat_linux.c | |||
@@ -409,7 +409,7 @@ asmlinkage long sys32_sysinfo(struct sysinfo32 __user *info) | |||
409 | mm_segment_t old_fs = get_fs (); | 409 | mm_segment_t old_fs = get_fs (); |
410 | 410 | ||
411 | set_fs (KERNEL_DS); | 411 | set_fs (KERNEL_DS); |
412 | ret = sys_sysinfo(&s); | 412 | ret = sys_sysinfo((struct sysinfo __user *) &s); |
413 | set_fs (old_fs); | 413 | set_fs (old_fs); |
414 | err = put_user (s.uptime, &info->uptime); | 414 | err = put_user (s.uptime, &info->uptime); |
415 | err |= __put_user (s.loads[0], &info->loads[0]); | 415 | err |= __put_user (s.loads[0], &info->loads[0]); |
@@ -438,7 +438,7 @@ asmlinkage long sys32_sched_rr_get_interval(compat_pid_t pid, | |||
438 | mm_segment_t old_fs = get_fs (); | 438 | mm_segment_t old_fs = get_fs (); |
439 | 439 | ||
440 | set_fs (KERNEL_DS); | 440 | set_fs (KERNEL_DS); |
441 | ret = sys_sched_rr_get_interval(pid, &t); | 441 | ret = sys_sched_rr_get_interval(pid, (struct timespec __user *) &t); |
442 | set_fs (old_fs); | 442 | set_fs (old_fs); |
443 | if (put_compat_timespec(&t, interval)) | 443 | if (put_compat_timespec(&t, interval)) |
444 | return -EFAULT; | 444 | return -EFAULT; |
@@ -464,7 +464,10 @@ asmlinkage long sys32_rt_sigprocmask(int how, compat_sigset_t __user *set, | |||
464 | } | 464 | } |
465 | } | 465 | } |
466 | set_fs (KERNEL_DS); | 466 | set_fs (KERNEL_DS); |
467 | ret = sys_rt_sigprocmask(how, set ? &s : NULL, oset ? &s : NULL, sigsetsize); | 467 | ret = sys_rt_sigprocmask(how, |
468 | set ? (sigset_t __user *) &s : NULL, | ||
469 | oset ? (sigset_t __user *) &s : NULL, | ||
470 | sigsetsize); | ||
468 | set_fs (old_fs); | 471 | set_fs (old_fs); |
469 | if (ret) return ret; | 472 | if (ret) return ret; |
470 | if (oset) { | 473 | if (oset) { |
@@ -489,7 +492,7 @@ asmlinkage long sys32_rt_sigpending(compat_sigset_t __user *set, | |||
489 | mm_segment_t old_fs = get_fs(); | 492 | mm_segment_t old_fs = get_fs(); |
490 | 493 | ||
491 | set_fs (KERNEL_DS); | 494 | set_fs (KERNEL_DS); |
492 | ret = sys_rt_sigpending(&s, sigsetsize); | 495 | ret = sys_rt_sigpending((sigset_t __user *) &s, sigsetsize); |
493 | set_fs (old_fs); | 496 | set_fs (old_fs); |
494 | if (!ret) { | 497 | if (!ret) { |
495 | switch (_NSIG_WORDS) { | 498 | switch (_NSIG_WORDS) { |
@@ -514,7 +517,7 @@ sys32_rt_sigqueueinfo(int pid, int sig, compat_siginfo_t __user *uinfo) | |||
514 | if (copy_siginfo_from_user32(&info, uinfo)) | 517 | if (copy_siginfo_from_user32(&info, uinfo)) |
515 | return -EFAULT; | 518 | return -EFAULT; |
516 | set_fs (KERNEL_DS); | 519 | set_fs (KERNEL_DS); |
517 | ret = sys_rt_sigqueueinfo(pid, sig, &info); | 520 | ret = sys_rt_sigqueueinfo(pid, sig, (siginfo_t __user *) &info); |
518 | set_fs (old_fs); | 521 | set_fs (old_fs); |
519 | return ret; | 522 | return ret; |
520 | } | 523 | } |
@@ -674,7 +677,8 @@ asmlinkage long sys32_sendfile(int out_fd, int in_fd, compat_off_t __user *offse | |||
674 | return -EFAULT; | 677 | return -EFAULT; |
675 | 678 | ||
676 | set_fs(KERNEL_DS); | 679 | set_fs(KERNEL_DS); |
677 | ret = sys_sendfile(out_fd, in_fd, offset ? &of : NULL, count); | 680 | ret = sys_sendfile(out_fd, in_fd, |
681 | offset ? (off_t __user *) &of : NULL, count); | ||
678 | set_fs(old_fs); | 682 | set_fs(old_fs); |
679 | 683 | ||
680 | if (offset && put_user(of, offset)) | 684 | if (offset && put_user(of, offset)) |
@@ -694,7 +698,8 @@ asmlinkage long sys32_sendfile64(int out_fd, int in_fd, | |||
694 | return -EFAULT; | 698 | return -EFAULT; |
695 | 699 | ||
696 | set_fs(KERNEL_DS); | 700 | set_fs(KERNEL_DS); |
697 | ret = sys_sendfile64(out_fd, in_fd, offset ? &lof : NULL, count); | 701 | ret = sys_sendfile64(out_fd, in_fd, |
702 | offset ? (loff_t __user *) &lof : NULL, count); | ||
698 | set_fs(old_fs); | 703 | set_fs(old_fs); |
699 | 704 | ||
700 | if (offset && put_user(lof, offset)) | 705 | if (offset && put_user(lof, offset)) |
diff --git a/arch/s390/kernel/machine_kexec.c b/arch/s390/kernel/machine_kexec.c index fbde6a915264..60b1ea9f946b 100644 --- a/arch/s390/kernel/machine_kexec.c +++ b/arch/s390/kernel/machine_kexec.c | |||
@@ -63,6 +63,7 @@ NORET_TYPE void | |||
63 | machine_kexec(struct kimage *image) | 63 | machine_kexec(struct kimage *image) |
64 | { | 64 | { |
65 | clear_all_subchannels(); | 65 | clear_all_subchannels(); |
66 | cio_reset_channel_paths(); | ||
66 | 67 | ||
67 | /* Disable lowcore protection */ | 68 | /* Disable lowcore protection */ |
68 | ctl_clear_bit(0,28); | 69 | ctl_clear_bit(0,28); |
diff --git a/arch/s390/kernel/module.c b/arch/s390/kernel/module.c index c271cdab58e2..d989ed45a7aa 100644 --- a/arch/s390/kernel/module.c +++ b/arch/s390/kernel/module.c | |||
@@ -119,7 +119,7 @@ module_frob_arch_sections(Elf_Ehdr *hdr, Elf_Shdr *sechdrs, | |||
119 | int nrela, i, j; | 119 | int nrela, i, j; |
120 | 120 | ||
121 | /* Find symbol table and string table. */ | 121 | /* Find symbol table and string table. */ |
122 | symtab = 0; | 122 | symtab = NULL; |
123 | for (i = 0; i < hdr->e_shnum; i++) | 123 | for (i = 0; i < hdr->e_shnum; i++) |
124 | switch (sechdrs[i].sh_type) { | 124 | switch (sechdrs[i].sh_type) { |
125 | case SHT_SYMTAB: | 125 | case SHT_SYMTAB: |
diff --git a/arch/s390/kernel/process.c b/arch/s390/kernel/process.c index 78c8e5548caf..d3cbfa3005ec 100644 --- a/arch/s390/kernel/process.c +++ b/arch/s390/kernel/process.c | |||
@@ -172,7 +172,7 @@ void show_regs(struct pt_regs *regs) | |||
172 | show_registers(regs); | 172 | show_registers(regs); |
173 | /* Show stack backtrace if pt_regs is from kernel mode */ | 173 | /* Show stack backtrace if pt_regs is from kernel mode */ |
174 | if (!(regs->psw.mask & PSW_MASK_PSTATE)) | 174 | if (!(regs->psw.mask & PSW_MASK_PSTATE)) |
175 | show_trace(0,(unsigned long *) regs->gprs[15]); | 175 | show_trace(NULL, (unsigned long *) regs->gprs[15]); |
176 | } | 176 | } |
177 | 177 | ||
178 | extern void kernel_thread_starter(void); | 178 | extern void kernel_thread_starter(void); |
diff --git a/arch/s390/kernel/profile.c b/arch/s390/kernel/profile.c index 7ba777eec1a8..b81aa1f569ca 100644 --- a/arch/s390/kernel/profile.c +++ b/arch/s390/kernel/profile.c | |||
@@ -13,7 +13,7 @@ static struct proc_dir_entry * root_irq_dir; | |||
13 | void init_irq_proc(void) | 13 | void init_irq_proc(void) |
14 | { | 14 | { |
15 | /* create /proc/irq */ | 15 | /* create /proc/irq */ |
16 | root_irq_dir = proc_mkdir("irq", 0); | 16 | root_irq_dir = proc_mkdir("irq", NULL); |
17 | 17 | ||
18 | /* create /proc/irq/prof_cpu_mask */ | 18 | /* create /proc/irq/prof_cpu_mask */ |
19 | create_prof_cpu_mask(root_irq_dir); | 19 | create_prof_cpu_mask(root_irq_dir); |
diff --git a/arch/s390/kernel/s390_ext.c b/arch/s390/kernel/s390_ext.c index 207bc511a6e3..c1b383537fec 100644 --- a/arch/s390/kernel/s390_ext.c +++ b/arch/s390/kernel/s390_ext.c | |||
@@ -24,7 +24,7 @@ | |||
24 | * (0x1202 external call, 0x1004 cpu timer, 0x2401 hwc console, 0x4000 | 24 | * (0x1202 external call, 0x1004 cpu timer, 0x2401 hwc console, 0x4000 |
25 | * iucv and 0x2603 pfault) this is always the first element. | 25 | * iucv and 0x2603 pfault) this is always the first element. |
26 | */ | 26 | */ |
27 | ext_int_info_t *ext_int_hash[256] = { 0, }; | 27 | ext_int_info_t *ext_int_hash[256] = { NULL, }; |
28 | 28 | ||
29 | static inline int ext_hash(__u16 code) | 29 | static inline int ext_hash(__u16 code) |
30 | { | 30 | { |
diff --git a/arch/s390/kernel/time.c b/arch/s390/kernel/time.c index f7fe9bc43397..74e6178fbaf2 100644 --- a/arch/s390/kernel/time.c +++ b/arch/s390/kernel/time.c | |||
@@ -379,7 +379,7 @@ void __init time_init(void) | |||
379 | -xtime.tv_sec, -xtime.tv_nsec); | 379 | -xtime.tv_sec, -xtime.tv_nsec); |
380 | 380 | ||
381 | /* request the clock comparator external interrupt */ | 381 | /* request the clock comparator external interrupt */ |
382 | if (register_early_external_interrupt(0x1004, 0, | 382 | if (register_early_external_interrupt(0x1004, NULL, |
383 | &ext_int_info_cc) != 0) | 383 | &ext_int_info_cc) != 0) |
384 | panic("Couldn't request external interrupt 0x1004"); | 384 | panic("Couldn't request external interrupt 0x1004"); |
385 | 385 | ||
diff --git a/arch/s390/kernel/traps.c b/arch/s390/kernel/traps.c index 12240c03a6dd..bde1d1d59858 100644 --- a/arch/s390/kernel/traps.c +++ b/arch/s390/kernel/traps.c | |||
@@ -170,7 +170,7 @@ void show_stack(struct task_struct *task, unsigned long *sp) | |||
170 | */ | 170 | */ |
171 | void dump_stack(void) | 171 | void dump_stack(void) |
172 | { | 172 | { |
173 | show_stack(0, 0); | 173 | show_stack(NULL, NULL); |
174 | } | 174 | } |
175 | 175 | ||
176 | EXPORT_SYMBOL(dump_stack); | 176 | EXPORT_SYMBOL(dump_stack); |
@@ -331,9 +331,9 @@ static void inline do_trap(long interruption_code, int signr, char *str, | |||
331 | } | 331 | } |
332 | } | 332 | } |
333 | 333 | ||
334 | static inline void *get_check_address(struct pt_regs *regs) | 334 | static inline void __user *get_check_address(struct pt_regs *regs) |
335 | { | 335 | { |
336 | return (void *)((regs->psw.addr-S390_lowcore.pgm_ilc) & PSW_ADDR_INSN); | 336 | return (void __user *)((regs->psw.addr-S390_lowcore.pgm_ilc) & PSW_ADDR_INSN); |
337 | } | 337 | } |
338 | 338 | ||
339 | void do_single_step(struct pt_regs *regs) | 339 | void do_single_step(struct pt_regs *regs) |
@@ -360,7 +360,7 @@ asmlinkage void name(struct pt_regs * regs, long interruption_code) \ | |||
360 | info.si_signo = signr; \ | 360 | info.si_signo = signr; \ |
361 | info.si_errno = 0; \ | 361 | info.si_errno = 0; \ |
362 | info.si_code = sicode; \ | 362 | info.si_code = sicode; \ |
363 | info.si_addr = (void *)siaddr; \ | 363 | info.si_addr = siaddr; \ |
364 | do_trap(interruption_code, signr, str, regs, &info); \ | 364 | do_trap(interruption_code, signr, str, regs, &info); \ |
365 | } | 365 | } |
366 | 366 | ||
@@ -392,7 +392,7 @@ DO_ERROR_INFO(SIGILL, "translation exception", translation_exception, | |||
392 | ILL_ILLOPN, get_check_address(regs)) | 392 | ILL_ILLOPN, get_check_address(regs)) |
393 | 393 | ||
394 | static inline void | 394 | static inline void |
395 | do_fp_trap(struct pt_regs *regs, void *location, | 395 | do_fp_trap(struct pt_regs *regs, void __user *location, |
396 | int fpc, long interruption_code) | 396 | int fpc, long interruption_code) |
397 | { | 397 | { |
398 | siginfo_t si; | 398 | siginfo_t si; |
@@ -424,10 +424,10 @@ asmlinkage void illegal_op(struct pt_regs * regs, long interruption_code) | |||
424 | { | 424 | { |
425 | siginfo_t info; | 425 | siginfo_t info; |
426 | __u8 opcode[6]; | 426 | __u8 opcode[6]; |
427 | __u16 *location; | 427 | __u16 __user *location; |
428 | int signal = 0; | 428 | int signal = 0; |
429 | 429 | ||
430 | location = (__u16 *) get_check_address(regs); | 430 | location = get_check_address(regs); |
431 | 431 | ||
432 | /* | 432 | /* |
433 | * We got all needed information from the lowcore and can | 433 | * We got all needed information from the lowcore and can |
@@ -559,10 +559,10 @@ DO_ERROR_INFO(SIGILL, "specification exception", specification_exception, | |||
559 | 559 | ||
560 | asmlinkage void data_exception(struct pt_regs * regs, long interruption_code) | 560 | asmlinkage void data_exception(struct pt_regs * regs, long interruption_code) |
561 | { | 561 | { |
562 | __u16 *location; | 562 | __u16 __user *location; |
563 | int signal = 0; | 563 | int signal = 0; |
564 | 564 | ||
565 | location = (__u16 *) get_check_address(regs); | 565 | location = get_check_address(regs); |
566 | 566 | ||
567 | /* | 567 | /* |
568 | * We got all needed information from the lowcore and can | 568 | * We got all needed information from the lowcore and can |
diff --git a/arch/s390/lib/string.c b/arch/s390/lib/string.c index 8240cc77e06e..ae5cf5d03d41 100644 --- a/arch/s390/lib/string.c +++ b/arch/s390/lib/string.c | |||
@@ -233,7 +233,7 @@ char * strrchr(const char * s, int c) | |||
233 | if (s[len] == (char) c) | 233 | if (s[len] == (char) c) |
234 | return (char *) s + len; | 234 | return (char *) s + len; |
235 | } while (--len > 0); | 235 | } while (--len > 0); |
236 | return 0; | 236 | return NULL; |
237 | } | 237 | } |
238 | EXPORT_SYMBOL(strrchr); | 238 | EXPORT_SYMBOL(strrchr); |
239 | 239 | ||
@@ -267,7 +267,7 @@ char * strstr(const char * s1,const char * s2) | |||
267 | return (char *) s1; | 267 | return (char *) s1; |
268 | s1++; | 268 | s1++; |
269 | } | 269 | } |
270 | return 0; | 270 | return NULL; |
271 | } | 271 | } |
272 | EXPORT_SYMBOL(strstr); | 272 | EXPORT_SYMBOL(strstr); |
273 | 273 | ||
diff --git a/arch/s390/mm/cmm.c b/arch/s390/mm/cmm.c index 81be2fec7dc5..ceea51cff03b 100644 --- a/arch/s390/mm/cmm.c +++ b/arch/s390/mm/cmm.c | |||
@@ -161,7 +161,7 @@ cmm_thread(void *dummy) | |||
161 | static void | 161 | static void |
162 | cmm_start_thread(void) | 162 | cmm_start_thread(void) |
163 | { | 163 | { |
164 | kernel_thread(cmm_thread, 0, 0); | 164 | kernel_thread(cmm_thread, NULL, 0); |
165 | } | 165 | } |
166 | 166 | ||
167 | static void | 167 | static void |
diff --git a/arch/s390/mm/fault.c b/arch/s390/mm/fault.c index 833d5941746a..7cd82575813d 100644 --- a/arch/s390/mm/fault.c +++ b/arch/s390/mm/fault.c | |||
@@ -144,7 +144,7 @@ static void do_sigsegv(struct pt_regs *regs, unsigned long error_code, | |||
144 | #endif | 144 | #endif |
145 | si.si_signo = SIGSEGV; | 145 | si.si_signo = SIGSEGV; |
146 | si.si_code = si_code; | 146 | si.si_code = si_code; |
147 | si.si_addr = (void *) address; | 147 | si.si_addr = (void __user *) address; |
148 | force_sig_info(SIGSEGV, &si, current); | 148 | force_sig_info(SIGSEGV, &si, current); |
149 | } | 149 | } |
150 | 150 | ||
diff --git a/arch/sparc/kernel/of_device.c b/arch/sparc/kernel/of_device.c index bc956c530376..5a2faad5d043 100644 --- a/arch/sparc/kernel/of_device.c +++ b/arch/sparc/kernel/of_device.c | |||
@@ -183,7 +183,7 @@ struct bus_type of_bus_type = { | |||
183 | }; | 183 | }; |
184 | EXPORT_SYMBOL(of_bus_type); | 184 | EXPORT_SYMBOL(of_bus_type); |
185 | 185 | ||
186 | static inline u64 of_read_addr(u32 *cell, int size) | 186 | static inline u64 of_read_addr(const u32 *cell, int size) |
187 | { | 187 | { |
188 | u64 r = 0; | 188 | u64 r = 0; |
189 | while (size--) | 189 | while (size--) |
@@ -209,8 +209,8 @@ struct of_bus { | |||
209 | int (*match)(struct device_node *parent); | 209 | int (*match)(struct device_node *parent); |
210 | void (*count_cells)(struct device_node *child, | 210 | void (*count_cells)(struct device_node *child, |
211 | int *addrc, int *sizec); | 211 | int *addrc, int *sizec); |
212 | u64 (*map)(u32 *addr, u32 *range, int na, int ns, int pna); | 212 | int (*map)(u32 *addr, const u32 *range, |
213 | int (*translate)(u32 *addr, u64 offset, int na); | 213 | int na, int ns, int pna); |
214 | unsigned int (*get_flags)(u32 *addr); | 214 | unsigned int (*get_flags)(u32 *addr); |
215 | }; | 215 | }; |
216 | 216 | ||
@@ -224,27 +224,49 @@ static void of_bus_default_count_cells(struct device_node *dev, | |||
224 | get_cells(dev, addrc, sizec); | 224 | get_cells(dev, addrc, sizec); |
225 | } | 225 | } |
226 | 226 | ||
227 | static u64 of_bus_default_map(u32 *addr, u32 *range, int na, int ns, int pna) | 227 | /* Make sure the least significant 64-bits are in-range. Even |
228 | * for 3 or 4 cell values it is a good enough approximation. | ||
229 | */ | ||
230 | static int of_out_of_range(const u32 *addr, const u32 *base, | ||
231 | const u32 *size, int na, int ns) | ||
228 | { | 232 | { |
229 | u64 cp, s, da; | 233 | u64 a = of_read_addr(addr, na); |
234 | u64 b = of_read_addr(base, na); | ||
235 | |||
236 | if (a < b) | ||
237 | return 1; | ||
230 | 238 | ||
231 | cp = of_read_addr(range, na); | 239 | b += of_read_addr(size, ns); |
232 | s = of_read_addr(range + na + pna, ns); | 240 | if (a >= b) |
233 | da = of_read_addr(addr, na); | 241 | return 1; |
234 | 242 | ||
235 | if (da < cp || da >= (cp + s)) | 243 | return 0; |
236 | return OF_BAD_ADDR; | ||
237 | return da - cp; | ||
238 | } | 244 | } |
239 | 245 | ||
240 | static int of_bus_default_translate(u32 *addr, u64 offset, int na) | 246 | static int of_bus_default_map(u32 *addr, const u32 *range, |
247 | int na, int ns, int pna) | ||
241 | { | 248 | { |
242 | u64 a = of_read_addr(addr, na); | 249 | u32 result[OF_MAX_ADDR_CELLS]; |
243 | memset(addr, 0, na * 4); | 250 | int i; |
244 | a += offset; | 251 | |
245 | if (na > 1) | 252 | if (ns > 2) { |
246 | addr[na - 2] = a >> 32; | 253 | printk("of_device: Cannot handle size cells (%d) > 2.", ns); |
247 | addr[na - 1] = a & 0xffffffffu; | 254 | return -EINVAL; |
255 | } | ||
256 | |||
257 | if (of_out_of_range(addr, range, range + na + pna, na, ns)) | ||
258 | return -EINVAL; | ||
259 | |||
260 | /* Start with the parent range base. */ | ||
261 | memcpy(result, range + na, pna * 4); | ||
262 | |||
263 | /* Add in the child address offset. */ | ||
264 | for (i = 0; i < na; i++) | ||
265 | result[pna - 1 - i] += | ||
266 | (addr[na - 1 - i] - | ||
267 | range[na - 1 - i]); | ||
268 | |||
269 | memcpy(addr, result, pna * 4); | ||
248 | 270 | ||
249 | return 0; | 271 | return 0; |
250 | } | 272 | } |
@@ -254,14 +276,26 @@ static unsigned int of_bus_default_get_flags(u32 *addr) | |||
254 | return IORESOURCE_MEM; | 276 | return IORESOURCE_MEM; |
255 | } | 277 | } |
256 | 278 | ||
257 | |||
258 | /* | 279 | /* |
259 | * PCI bus specific translator | 280 | * PCI bus specific translator |
260 | */ | 281 | */ |
261 | 282 | ||
262 | static int of_bus_pci_match(struct device_node *np) | 283 | static int of_bus_pci_match(struct device_node *np) |
263 | { | 284 | { |
264 | return !strcmp(np->type, "pci") || !strcmp(np->type, "pciex"); | 285 | if (!strcmp(np->type, "pci") || !strcmp(np->type, "pciex")) { |
286 | /* Do not do PCI specific frobbing if the | ||
287 | * PCI bridge lacks a ranges property. We | ||
288 | * want to pass it through up to the next | ||
289 | * parent as-is, not with the PCI translate | ||
290 | * method which chops off the top address cell. | ||
291 | */ | ||
292 | if (!of_find_property(np, "ranges", NULL)) | ||
293 | return 0; | ||
294 | |||
295 | return 1; | ||
296 | } | ||
297 | |||
298 | return 0; | ||
265 | } | 299 | } |
266 | 300 | ||
267 | static void of_bus_pci_count_cells(struct device_node *np, | 301 | static void of_bus_pci_count_cells(struct device_node *np, |
@@ -273,27 +307,32 @@ static void of_bus_pci_count_cells(struct device_node *np, | |||
273 | *sizec = 2; | 307 | *sizec = 2; |
274 | } | 308 | } |
275 | 309 | ||
276 | static u64 of_bus_pci_map(u32 *addr, u32 *range, int na, int ns, int pna) | 310 | static int of_bus_pci_map(u32 *addr, const u32 *range, |
311 | int na, int ns, int pna) | ||
277 | { | 312 | { |
278 | u64 cp, s, da; | 313 | u32 result[OF_MAX_ADDR_CELLS]; |
314 | int i; | ||
279 | 315 | ||
280 | /* Check address type match */ | 316 | /* Check address type match */ |
281 | if ((addr[0] ^ range[0]) & 0x03000000) | 317 | if ((addr[0] ^ range[0]) & 0x03000000) |
282 | return OF_BAD_ADDR; | 318 | return -EINVAL; |
283 | 319 | ||
284 | /* Read address values, skipping high cell */ | 320 | if (of_out_of_range(addr + 1, range + 1, range + na + pna, |
285 | cp = of_read_addr(range + 1, na - 1); | 321 | na - 1, ns)) |
286 | s = of_read_addr(range + na + pna, ns); | 322 | return -EINVAL; |
287 | da = of_read_addr(addr + 1, na - 1); | ||
288 | 323 | ||
289 | if (da < cp || da >= (cp + s)) | 324 | /* Start with the parent range base. */ |
290 | return OF_BAD_ADDR; | 325 | memcpy(result, range + na, pna * 4); |
291 | return da - cp; | ||
292 | } | ||
293 | 326 | ||
294 | static int of_bus_pci_translate(u32 *addr, u64 offset, int na) | 327 | /* Add in the child address offset, skipping high cell. */ |
295 | { | 328 | for (i = 0; i < na - 1; i++) |
296 | return of_bus_default_translate(addr + 1, offset, na - 1); | 329 | result[pna - 1 - i] += |
330 | (addr[na - 1 - i] - | ||
331 | range[na - 1 - i]); | ||
332 | |||
333 | memcpy(addr, result, pna * 4); | ||
334 | |||
335 | return 0; | ||
297 | } | 336 | } |
298 | 337 | ||
299 | static unsigned int of_bus_pci_get_flags(u32 *addr) | 338 | static unsigned int of_bus_pci_get_flags(u32 *addr) |
@@ -332,16 +371,11 @@ static void of_bus_sbus_count_cells(struct device_node *child, | |||
332 | *sizec = 1; | 371 | *sizec = 1; |
333 | } | 372 | } |
334 | 373 | ||
335 | static u64 of_bus_sbus_map(u32 *addr, u32 *range, int na, int ns, int pna) | 374 | static int of_bus_sbus_map(u32 *addr, const u32 *range, int na, int ns, int pna) |
336 | { | 375 | { |
337 | return of_bus_default_map(addr, range, na, ns, pna); | 376 | return of_bus_default_map(addr, range, na, ns, pna); |
338 | } | 377 | } |
339 | 378 | ||
340 | static int of_bus_sbus_translate(u32 *addr, u64 offset, int na) | ||
341 | { | ||
342 | return of_bus_default_translate(addr, offset, na); | ||
343 | } | ||
344 | |||
345 | static unsigned int of_bus_sbus_get_flags(u32 *addr) | 379 | static unsigned int of_bus_sbus_get_flags(u32 *addr) |
346 | { | 380 | { |
347 | return IORESOURCE_MEM; | 381 | return IORESOURCE_MEM; |
@@ -360,7 +394,6 @@ static struct of_bus of_busses[] = { | |||
360 | .match = of_bus_pci_match, | 394 | .match = of_bus_pci_match, |
361 | .count_cells = of_bus_pci_count_cells, | 395 | .count_cells = of_bus_pci_count_cells, |
362 | .map = of_bus_pci_map, | 396 | .map = of_bus_pci_map, |
363 | .translate = of_bus_pci_translate, | ||
364 | .get_flags = of_bus_pci_get_flags, | 397 | .get_flags = of_bus_pci_get_flags, |
365 | }, | 398 | }, |
366 | /* SBUS */ | 399 | /* SBUS */ |
@@ -370,7 +403,6 @@ static struct of_bus of_busses[] = { | |||
370 | .match = of_bus_sbus_match, | 403 | .match = of_bus_sbus_match, |
371 | .count_cells = of_bus_sbus_count_cells, | 404 | .count_cells = of_bus_sbus_count_cells, |
372 | .map = of_bus_sbus_map, | 405 | .map = of_bus_sbus_map, |
373 | .translate = of_bus_sbus_translate, | ||
374 | .get_flags = of_bus_sbus_get_flags, | 406 | .get_flags = of_bus_sbus_get_flags, |
375 | }, | 407 | }, |
376 | /* Default */ | 408 | /* Default */ |
@@ -380,7 +412,6 @@ static struct of_bus of_busses[] = { | |||
380 | .match = NULL, | 412 | .match = NULL, |
381 | .count_cells = of_bus_default_count_cells, | 413 | .count_cells = of_bus_default_count_cells, |
382 | .map = of_bus_default_map, | 414 | .map = of_bus_default_map, |
383 | .translate = of_bus_default_translate, | ||
384 | .get_flags = of_bus_default_get_flags, | 415 | .get_flags = of_bus_default_get_flags, |
385 | }, | 416 | }, |
386 | }; | 417 | }; |
@@ -405,33 +436,34 @@ static int __init build_one_resource(struct device_node *parent, | |||
405 | u32 *ranges; | 436 | u32 *ranges; |
406 | unsigned int rlen; | 437 | unsigned int rlen; |
407 | int rone; | 438 | int rone; |
408 | u64 offset = OF_BAD_ADDR; | ||
409 | 439 | ||
410 | ranges = of_get_property(parent, "ranges", &rlen); | 440 | ranges = of_get_property(parent, "ranges", &rlen); |
411 | if (ranges == NULL || rlen == 0) { | 441 | if (ranges == NULL || rlen == 0) { |
412 | offset = of_read_addr(addr, na); | 442 | u32 result[OF_MAX_ADDR_CELLS]; |
413 | memset(addr, 0, pna * 4); | 443 | int i; |
414 | goto finish; | 444 | |
445 | memset(result, 0, pna * 4); | ||
446 | for (i = 0; i < na; i++) | ||
447 | result[pna - 1 - i] = | ||
448 | addr[na - 1 - i]; | ||
449 | |||
450 | memcpy(addr, result, pna * 4); | ||
451 | return 0; | ||
415 | } | 452 | } |
416 | 453 | ||
417 | /* Now walk through the ranges */ | 454 | /* Now walk through the ranges */ |
418 | rlen /= 4; | 455 | rlen /= 4; |
419 | rone = na + pna + ns; | 456 | rone = na + pna + ns; |
420 | for (; rlen >= rone; rlen -= rone, ranges += rone) { | 457 | for (; rlen >= rone; rlen -= rone, ranges += rone) { |
421 | offset = bus->map(addr, ranges, na, ns, pna); | 458 | if (!bus->map(addr, ranges, na, ns, pna)) |
422 | if (offset != OF_BAD_ADDR) | 459 | return 0; |
423 | break; | ||
424 | } | 460 | } |
425 | if (offset == OF_BAD_ADDR) | ||
426 | return 1; | ||
427 | 461 | ||
428 | memcpy(addr, ranges + na, 4 * pna); | 462 | return 1; |
429 | |||
430 | finish: | ||
431 | /* Translate it into parent bus space */ | ||
432 | return pbus->translate(addr, offset, pna); | ||
433 | } | 463 | } |
434 | 464 | ||
465 | static int of_resource_verbose; | ||
466 | |||
435 | static void __init build_device_resources(struct of_device *op, | 467 | static void __init build_device_resources(struct of_device *op, |
436 | struct device *parent) | 468 | struct device *parent) |
437 | { | 469 | { |
@@ -497,7 +529,8 @@ static void __init build_device_resources(struct of_device *op, | |||
497 | pbus = of_match_bus(pp); | 529 | pbus = of_match_bus(pp); |
498 | pbus->count_cells(dp, &pna, &pns); | 530 | pbus->count_cells(dp, &pna, &pns); |
499 | 531 | ||
500 | if (build_one_resource(dp, bus, pbus, addr, dna, dns, pna)) | 532 | if (build_one_resource(dp, bus, pbus, addr, |
533 | dna, dns, pna)) | ||
501 | break; | 534 | break; |
502 | 535 | ||
503 | dna = pna; | 536 | dna = pna; |
@@ -507,6 +540,12 @@ static void __init build_device_resources(struct of_device *op, | |||
507 | 540 | ||
508 | build_res: | 541 | build_res: |
509 | memset(r, 0, sizeof(*r)); | 542 | memset(r, 0, sizeof(*r)); |
543 | |||
544 | if (of_resource_verbose) | ||
545 | printk("%s reg[%d] -> %llx\n", | ||
546 | op->node->full_name, index, | ||
547 | result); | ||
548 | |||
510 | if (result != OF_BAD_ADDR) { | 549 | if (result != OF_BAD_ADDR) { |
511 | r->start = result & 0xffffffff; | 550 | r->start = result & 0xffffffff; |
512 | r->end = result + size - 1; | 551 | r->end = result + size - 1; |
@@ -643,6 +682,18 @@ static int __init of_bus_driver_init(void) | |||
643 | 682 | ||
644 | postcore_initcall(of_bus_driver_init); | 683 | postcore_initcall(of_bus_driver_init); |
645 | 684 | ||
685 | static int __init of_debug(char *str) | ||
686 | { | ||
687 | int val = 0; | ||
688 | |||
689 | get_option(&str, &val); | ||
690 | if (val & 1) | ||
691 | of_resource_verbose = 1; | ||
692 | return 1; | ||
693 | } | ||
694 | |||
695 | __setup("of_debug=", of_debug); | ||
696 | |||
646 | int of_register_driver(struct of_platform_driver *drv, struct bus_type *bus) | 697 | int of_register_driver(struct of_platform_driver *drv, struct bus_type *bus) |
647 | { | 698 | { |
648 | /* initialize common driver fields */ | 699 | /* initialize common driver fields */ |
@@ -695,9 +746,11 @@ int of_device_register(struct of_device *ofdev) | |||
695 | if (rc) | 746 | if (rc) |
696 | return rc; | 747 | return rc; |
697 | 748 | ||
698 | device_create_file(&ofdev->dev, &dev_attr_devspec); | 749 | rc = device_create_file(&ofdev->dev, &dev_attr_devspec); |
750 | if (rc) | ||
751 | device_unregister(&ofdev->dev); | ||
699 | 752 | ||
700 | return 0; | 753 | return rc; |
701 | } | 754 | } |
702 | 755 | ||
703 | void of_device_unregister(struct of_device *ofdev) | 756 | void of_device_unregister(struct of_device *ofdev) |
diff --git a/arch/sparc64/defconfig b/arch/sparc64/defconfig index b2f41147d0e4..38353621069e 100644 --- a/arch/sparc64/defconfig +++ b/arch/sparc64/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.17 | 3 | # Linux kernel version: 2.6.18-rc1 |
4 | # Fri Jun 23 23:17:09 2006 | 4 | # Wed Jul 12 14:00:58 2006 |
5 | # | 5 | # |
6 | CONFIG_SPARC=y | 6 | CONFIG_SPARC=y |
7 | CONFIG_SPARC64=y | 7 | CONFIG_SPARC64=y |
@@ -18,6 +18,7 @@ CONFIG_SECCOMP=y | |||
18 | CONFIG_HZ_250=y | 18 | CONFIG_HZ_250=y |
19 | # CONFIG_HZ_1000 is not set | 19 | # CONFIG_HZ_1000 is not set |
20 | CONFIG_HZ=250 | 20 | CONFIG_HZ=250 |
21 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
21 | 22 | ||
22 | # | 23 | # |
23 | # Code maturity level options | 24 | # Code maturity level options |
@@ -51,10 +52,12 @@ CONFIG_PRINTK=y | |||
51 | CONFIG_BUG=y | 52 | CONFIG_BUG=y |
52 | CONFIG_ELF_CORE=y | 53 | CONFIG_ELF_CORE=y |
53 | CONFIG_BASE_FULL=y | 54 | CONFIG_BASE_FULL=y |
55 | CONFIG_RT_MUTEXES=y | ||
54 | CONFIG_FUTEX=y | 56 | CONFIG_FUTEX=y |
55 | CONFIG_EPOLL=y | 57 | CONFIG_EPOLL=y |
56 | CONFIG_SHMEM=y | 58 | CONFIG_SHMEM=y |
57 | CONFIG_SLAB=y | 59 | CONFIG_SLAB=y |
60 | CONFIG_VM_EVENT_COUNTERS=y | ||
58 | # CONFIG_TINY_SHMEM is not set | 61 | # CONFIG_TINY_SHMEM is not set |
59 | CONFIG_BASE_SMALL=0 | 62 | CONFIG_BASE_SMALL=0 |
60 | # CONFIG_SLOB is not set | 63 | # CONFIG_SLOB is not set |
@@ -127,8 +130,8 @@ CONFIG_SPARSEMEM=y | |||
127 | CONFIG_HAVE_MEMORY_PRESENT=y | 130 | CONFIG_HAVE_MEMORY_PRESENT=y |
128 | # CONFIG_SPARSEMEM_STATIC is not set | 131 | # CONFIG_SPARSEMEM_STATIC is not set |
129 | CONFIG_SPARSEMEM_EXTREME=y | 132 | CONFIG_SPARSEMEM_EXTREME=y |
130 | CONFIG_MEMORY_HOTPLUG=y | ||
131 | CONFIG_SPLIT_PTLOCK_CPUS=4 | 133 | CONFIG_SPLIT_PTLOCK_CPUS=4 |
134 | CONFIG_RESOURCES_64BIT=y | ||
132 | CONFIG_GENERIC_ISA_DMA=y | 135 | CONFIG_GENERIC_ISA_DMA=y |
133 | CONFIG_SBUS=y | 136 | CONFIG_SBUS=y |
134 | CONFIG_SBUSCHAR=y | 137 | CONFIG_SBUSCHAR=y |
@@ -203,7 +206,6 @@ CONFIG_TCP_CONG_VEGAS=m | |||
203 | CONFIG_TCP_CONG_SCALABLE=m | 206 | CONFIG_TCP_CONG_SCALABLE=m |
204 | CONFIG_TCP_CONG_LP=m | 207 | CONFIG_TCP_CONG_LP=m |
205 | CONFIG_TCP_CONG_VENO=m | 208 | CONFIG_TCP_CONG_VENO=m |
206 | CONFIG_TCP_CONG_COMPOUND=m | ||
207 | CONFIG_IPV6=m | 209 | CONFIG_IPV6=m |
208 | CONFIG_IPV6_PRIVACY=y | 210 | CONFIG_IPV6_PRIVACY=y |
209 | CONFIG_IPV6_ROUTER_PREF=y | 211 | CONFIG_IPV6_ROUTER_PREF=y |
@@ -461,9 +463,8 @@ CONFIG_MD_LINEAR=m | |||
461 | CONFIG_MD_RAID0=m | 463 | CONFIG_MD_RAID0=m |
462 | CONFIG_MD_RAID1=m | 464 | CONFIG_MD_RAID1=m |
463 | CONFIG_MD_RAID10=m | 465 | CONFIG_MD_RAID10=m |
464 | CONFIG_MD_RAID5=m | 466 | CONFIG_MD_RAID456=m |
465 | # CONFIG_MD_RAID5_RESHAPE is not set | 467 | # CONFIG_MD_RAID5_RESHAPE is not set |
466 | CONFIG_MD_RAID6=m | ||
467 | CONFIG_MD_MULTIPATH=m | 468 | CONFIG_MD_MULTIPATH=m |
468 | # CONFIG_MD_FAULTY is not set | 469 | # CONFIG_MD_FAULTY is not set |
469 | CONFIG_BLK_DEV_DM=m | 470 | CONFIG_BLK_DEV_DM=m |
@@ -663,6 +664,7 @@ CONFIG_SERIO_RAW=m | |||
663 | CONFIG_VT=y | 664 | CONFIG_VT=y |
664 | CONFIG_VT_CONSOLE=y | 665 | CONFIG_VT_CONSOLE=y |
665 | CONFIG_HW_CONSOLE=y | 666 | CONFIG_HW_CONSOLE=y |
667 | # CONFIG_VT_HW_CONSOLE_BINDING is not set | ||
666 | # CONFIG_SERIAL_NONSTANDARD is not set | 668 | # CONFIG_SERIAL_NONSTANDARD is not set |
667 | 669 | ||
668 | # | 670 | # |
@@ -693,6 +695,7 @@ CONFIG_UNIX98_PTYS=y | |||
693 | # Watchdog Cards | 695 | # Watchdog Cards |
694 | # | 696 | # |
695 | # CONFIG_WATCHDOG is not set | 697 | # CONFIG_WATCHDOG is not set |
698 | # CONFIG_HW_RANDOM is not set | ||
696 | CONFIG_RTC=y | 699 | CONFIG_RTC=y |
697 | # CONFIG_DTLK is not set | 700 | # CONFIG_DTLK is not set |
698 | # CONFIG_R3964 is not set | 701 | # CONFIG_R3964 is not set |
@@ -839,12 +842,13 @@ CONFIG_VIDEO_V4L2=y | |||
839 | # | 842 | # |
840 | # Graphics support | 843 | # Graphics support |
841 | # | 844 | # |
845 | # CONFIG_FIRMWARE_EDID is not set | ||
842 | CONFIG_FB=y | 846 | CONFIG_FB=y |
843 | CONFIG_FB_CFB_FILLRECT=y | 847 | CONFIG_FB_CFB_FILLRECT=y |
844 | CONFIG_FB_CFB_COPYAREA=y | 848 | CONFIG_FB_CFB_COPYAREA=y |
845 | CONFIG_FB_CFB_IMAGEBLIT=y | 849 | CONFIG_FB_CFB_IMAGEBLIT=y |
846 | # CONFIG_FB_MACMODES is not set | 850 | # CONFIG_FB_MACMODES is not set |
847 | # CONFIG_FB_FIRMWARE_EDID is not set | 851 | # CONFIG_FB_BACKLIGHT is not set |
848 | CONFIG_FB_MODE_HELPERS=y | 852 | CONFIG_FB_MODE_HELPERS=y |
849 | CONFIG_FB_TILEBLITTING=y | 853 | CONFIG_FB_TILEBLITTING=y |
850 | # CONFIG_FB_CIRRUS is not set | 854 | # CONFIG_FB_CIRRUS is not set |
@@ -954,6 +958,18 @@ CONFIG_SND_ALI5451=m | |||
954 | # CONFIG_SND_CMIPCI is not set | 958 | # CONFIG_SND_CMIPCI is not set |
955 | # CONFIG_SND_CS4281 is not set | 959 | # CONFIG_SND_CS4281 is not set |
956 | # CONFIG_SND_CS46XX is not set | 960 | # CONFIG_SND_CS46XX is not set |
961 | # CONFIG_SND_DARLA20 is not set | ||
962 | # CONFIG_SND_GINA20 is not set | ||
963 | # CONFIG_SND_LAYLA20 is not set | ||
964 | # CONFIG_SND_DARLA24 is not set | ||
965 | # CONFIG_SND_GINA24 is not set | ||
966 | # CONFIG_SND_LAYLA24 is not set | ||
967 | # CONFIG_SND_MONA is not set | ||
968 | # CONFIG_SND_MIA is not set | ||
969 | # CONFIG_SND_ECHO3G is not set | ||
970 | # CONFIG_SND_INDIGO is not set | ||
971 | # CONFIG_SND_INDIGOIO is not set | ||
972 | # CONFIG_SND_INDIGODJ is not set | ||
957 | # CONFIG_SND_EMU10K1 is not set | 973 | # CONFIG_SND_EMU10K1 is not set |
958 | # CONFIG_SND_EMU10K1X is not set | 974 | # CONFIG_SND_EMU10K1X is not set |
959 | # CONFIG_SND_ENS1370 is not set | 975 | # CONFIG_SND_ENS1370 is not set |
@@ -1263,6 +1279,7 @@ CONFIG_RAMFS=y | |||
1263 | # CONFIG_NFSD is not set | 1279 | # CONFIG_NFSD is not set |
1264 | # CONFIG_SMB_FS is not set | 1280 | # CONFIG_SMB_FS is not set |
1265 | # CONFIG_CIFS is not set | 1281 | # CONFIG_CIFS is not set |
1282 | # CONFIG_CIFS_DEBUG2 is not set | ||
1266 | # CONFIG_NCP_FS is not set | 1283 | # CONFIG_NCP_FS is not set |
1267 | # CONFIG_CODA_FS is not set | 1284 | # CONFIG_CODA_FS is not set |
1268 | # CONFIG_AFS_FS is not set | 1285 | # CONFIG_AFS_FS is not set |
@@ -1331,14 +1348,19 @@ CONFIG_KPROBES=y | |||
1331 | # | 1348 | # |
1332 | CONFIG_PRINTK_TIME=y | 1349 | CONFIG_PRINTK_TIME=y |
1333 | CONFIG_MAGIC_SYSRQ=y | 1350 | CONFIG_MAGIC_SYSRQ=y |
1351 | # CONFIG_UNUSED_SYMBOLS is not set | ||
1334 | CONFIG_DEBUG_KERNEL=y | 1352 | CONFIG_DEBUG_KERNEL=y |
1335 | CONFIG_LOG_BUF_SHIFT=18 | 1353 | CONFIG_LOG_BUF_SHIFT=18 |
1336 | CONFIG_DETECT_SOFTLOCKUP=y | 1354 | CONFIG_DETECT_SOFTLOCKUP=y |
1337 | CONFIG_SCHEDSTATS=y | 1355 | CONFIG_SCHEDSTATS=y |
1338 | # CONFIG_DEBUG_SLAB is not set | 1356 | # CONFIG_DEBUG_SLAB is not set |
1339 | # CONFIG_DEBUG_MUTEXES is not set | 1357 | # CONFIG_DEBUG_RT_MUTEXES is not set |
1358 | # CONFIG_RT_MUTEX_TESTER is not set | ||
1340 | # CONFIG_DEBUG_SPINLOCK is not set | 1359 | # CONFIG_DEBUG_SPINLOCK is not set |
1360 | # CONFIG_DEBUG_MUTEXES is not set | ||
1361 | # CONFIG_DEBUG_RWSEMS is not set | ||
1341 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | 1362 | # CONFIG_DEBUG_SPINLOCK_SLEEP is not set |
1363 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | ||
1342 | # CONFIG_DEBUG_KOBJECT is not set | 1364 | # CONFIG_DEBUG_KOBJECT is not set |
1343 | CONFIG_DEBUG_BUGVERBOSE=y | 1365 | CONFIG_DEBUG_BUGVERBOSE=y |
1344 | # CONFIG_DEBUG_INFO is not set | 1366 | # CONFIG_DEBUG_INFO is not set |
@@ -1402,3 +1424,4 @@ CONFIG_CRC32=y | |||
1402 | CONFIG_LIBCRC32C=m | 1424 | CONFIG_LIBCRC32C=m |
1403 | CONFIG_ZLIB_INFLATE=y | 1425 | CONFIG_ZLIB_INFLATE=y |
1404 | CONFIG_ZLIB_DEFLATE=y | 1426 | CONFIG_ZLIB_DEFLATE=y |
1427 | CONFIG_PLIST=y | ||
diff --git a/arch/sparc64/kernel/head.S b/arch/sparc64/kernel/head.S index 75684b56767e..c8e9dc9d68a9 100644 --- a/arch/sparc64/kernel/head.S +++ b/arch/sparc64/kernel/head.S | |||
@@ -551,9 +551,10 @@ setup_trap_table: | |||
551 | save %sp, -192, %sp | 551 | save %sp, -192, %sp |
552 | 552 | ||
553 | /* Force interrupts to be disabled. */ | 553 | /* Force interrupts to be disabled. */ |
554 | rdpr %pstate, %o1 | 554 | rdpr %pstate, %l0 |
555 | andn %o1, PSTATE_IE, %o1 | 555 | andn %l0, PSTATE_IE, %o1 |
556 | wrpr %o1, 0x0, %pstate | 556 | wrpr %o1, 0x0, %pstate |
557 | rdpr %pil, %l1 | ||
557 | wrpr %g0, 15, %pil | 558 | wrpr %g0, 15, %pil |
558 | 559 | ||
559 | /* Make the firmware call to jump over to the Linux trap table. */ | 560 | /* Make the firmware call to jump over to the Linux trap table. */ |
@@ -622,11 +623,9 @@ setup_trap_table: | |||
622 | call init_irqwork_curcpu | 623 | call init_irqwork_curcpu |
623 | nop | 624 | nop |
624 | 625 | ||
625 | /* Now we can turn interrupts back on. */ | 626 | /* Now we can restore interrupt state. */ |
626 | rdpr %pstate, %o1 | 627 | wrpr %l0, 0, %pstate |
627 | or %o1, PSTATE_IE, %o1 | 628 | wrpr %l1, 0x0, %pil |
628 | wrpr %o1, 0, %pstate | ||
629 | wrpr %g0, 0x0, %pil | ||
630 | 629 | ||
631 | ret | 630 | ret |
632 | restore | 631 | restore |
diff --git a/arch/sparc64/kernel/of_device.c b/arch/sparc64/kernel/of_device.c index 169b017eec0b..7064cee290ae 100644 --- a/arch/sparc64/kernel/of_device.c +++ b/arch/sparc64/kernel/of_device.c | |||
@@ -210,7 +210,7 @@ struct bus_type of_bus_type = { | |||
210 | }; | 210 | }; |
211 | EXPORT_SYMBOL(of_bus_type); | 211 | EXPORT_SYMBOL(of_bus_type); |
212 | 212 | ||
213 | static inline u64 of_read_addr(u32 *cell, int size) | 213 | static inline u64 of_read_addr(const u32 *cell, int size) |
214 | { | 214 | { |
215 | u64 r = 0; | 215 | u64 r = 0; |
216 | while (size--) | 216 | while (size--) |
@@ -236,8 +236,8 @@ struct of_bus { | |||
236 | int (*match)(struct device_node *parent); | 236 | int (*match)(struct device_node *parent); |
237 | void (*count_cells)(struct device_node *child, | 237 | void (*count_cells)(struct device_node *child, |
238 | int *addrc, int *sizec); | 238 | int *addrc, int *sizec); |
239 | u64 (*map)(u32 *addr, u32 *range, int na, int ns, int pna); | 239 | int (*map)(u32 *addr, const u32 *range, |
240 | int (*translate)(u32 *addr, u64 offset, int na); | 240 | int na, int ns, int pna); |
241 | unsigned int (*get_flags)(u32 *addr); | 241 | unsigned int (*get_flags)(u32 *addr); |
242 | }; | 242 | }; |
243 | 243 | ||
@@ -251,27 +251,49 @@ static void of_bus_default_count_cells(struct device_node *dev, | |||
251 | get_cells(dev, addrc, sizec); | 251 | get_cells(dev, addrc, sizec); |
252 | } | 252 | } |
253 | 253 | ||
254 | static u64 of_bus_default_map(u32 *addr, u32 *range, int na, int ns, int pna) | 254 | /* Make sure the least significant 64-bits are in-range. Even |
255 | * for 3 or 4 cell values it is a good enough approximation. | ||
256 | */ | ||
257 | static int of_out_of_range(const u32 *addr, const u32 *base, | ||
258 | const u32 *size, int na, int ns) | ||
255 | { | 259 | { |
256 | u64 cp, s, da; | 260 | u64 a = of_read_addr(addr, na); |
261 | u64 b = of_read_addr(base, na); | ||
257 | 262 | ||
258 | cp = of_read_addr(range, na); | 263 | if (a < b) |
259 | s = of_read_addr(range + na + pna, ns); | 264 | return 1; |
260 | da = of_read_addr(addr, na); | ||
261 | 265 | ||
262 | if (da < cp || da >= (cp + s)) | 266 | b += of_read_addr(size, ns); |
263 | return OF_BAD_ADDR; | 267 | if (a >= b) |
264 | return da - cp; | 268 | return 1; |
269 | |||
270 | return 0; | ||
265 | } | 271 | } |
266 | 272 | ||
267 | static int of_bus_default_translate(u32 *addr, u64 offset, int na) | 273 | static int of_bus_default_map(u32 *addr, const u32 *range, |
274 | int na, int ns, int pna) | ||
268 | { | 275 | { |
269 | u64 a = of_read_addr(addr, na); | 276 | u32 result[OF_MAX_ADDR_CELLS]; |
270 | memset(addr, 0, na * 4); | 277 | int i; |
271 | a += offset; | 278 | |
272 | if (na > 1) | 279 | if (ns > 2) { |
273 | addr[na - 2] = a >> 32; | 280 | printk("of_device: Cannot handle size cells (%d) > 2.", ns); |
274 | addr[na - 1] = a & 0xffffffffu; | 281 | return -EINVAL; |
282 | } | ||
283 | |||
284 | if (of_out_of_range(addr, range, range + na + pna, na, ns)) | ||
285 | return -EINVAL; | ||
286 | |||
287 | /* Start with the parent range base. */ | ||
288 | memcpy(result, range + na, pna * 4); | ||
289 | |||
290 | /* Add in the child address offset. */ | ||
291 | for (i = 0; i < na; i++) | ||
292 | result[pna - 1 - i] += | ||
293 | (addr[na - 1 - i] - | ||
294 | range[na - 1 - i]); | ||
295 | |||
296 | memcpy(addr, result, pna * 4); | ||
275 | 297 | ||
276 | return 0; | 298 | return 0; |
277 | } | 299 | } |
@@ -287,7 +309,20 @@ static unsigned int of_bus_default_get_flags(u32 *addr) | |||
287 | 309 | ||
288 | static int of_bus_pci_match(struct device_node *np) | 310 | static int of_bus_pci_match(struct device_node *np) |
289 | { | 311 | { |
290 | return !strcmp(np->type, "pci") || !strcmp(np->type, "pciex"); | 312 | if (!strcmp(np->type, "pci") || !strcmp(np->type, "pciex")) { |
313 | /* Do not do PCI specific frobbing if the | ||
314 | * PCI bridge lacks a ranges property. We | ||
315 | * want to pass it through up to the next | ||
316 | * parent as-is, not with the PCI translate | ||
317 | * method which chops off the top address cell. | ||
318 | */ | ||
319 | if (!of_find_property(np, "ranges", NULL)) | ||
320 | return 0; | ||
321 | |||
322 | return 1; | ||
323 | } | ||
324 | |||
325 | return 0; | ||
291 | } | 326 | } |
292 | 327 | ||
293 | static void of_bus_pci_count_cells(struct device_node *np, | 328 | static void of_bus_pci_count_cells(struct device_node *np, |
@@ -299,27 +334,32 @@ static void of_bus_pci_count_cells(struct device_node *np, | |||
299 | *sizec = 2; | 334 | *sizec = 2; |
300 | } | 335 | } |
301 | 336 | ||
302 | static u64 of_bus_pci_map(u32 *addr, u32 *range, int na, int ns, int pna) | 337 | static int of_bus_pci_map(u32 *addr, const u32 *range, |
338 | int na, int ns, int pna) | ||
303 | { | 339 | { |
304 | u64 cp, s, da; | 340 | u32 result[OF_MAX_ADDR_CELLS]; |
341 | int i; | ||
305 | 342 | ||
306 | /* Check address type match */ | 343 | /* Check address type match */ |
307 | if ((addr[0] ^ range[0]) & 0x03000000) | 344 | if ((addr[0] ^ range[0]) & 0x03000000) |
308 | return OF_BAD_ADDR; | 345 | return -EINVAL; |
309 | 346 | ||
310 | /* Read address values, skipping high cell */ | 347 | if (of_out_of_range(addr + 1, range + 1, range + na + pna, |
311 | cp = of_read_addr(range + 1, na - 1); | 348 | na - 1, ns)) |
312 | s = of_read_addr(range + na + pna, ns); | 349 | return -EINVAL; |
313 | da = of_read_addr(addr + 1, na - 1); | ||
314 | 350 | ||
315 | if (da < cp || da >= (cp + s)) | 351 | /* Start with the parent range base. */ |
316 | return OF_BAD_ADDR; | 352 | memcpy(result, range + na, pna * 4); |
317 | return da - cp; | ||
318 | } | ||
319 | 353 | ||
320 | static int of_bus_pci_translate(u32 *addr, u64 offset, int na) | 354 | /* Add in the child address offset, skipping high cell. */ |
321 | { | 355 | for (i = 0; i < na - 1; i++) |
322 | return of_bus_default_translate(addr + 1, offset, na - 1); | 356 | result[pna - 1 - i] += |
357 | (addr[na - 1 - i] - | ||
358 | range[na - 1 - i]); | ||
359 | |||
360 | memcpy(addr, result, pna * 4); | ||
361 | |||
362 | return 0; | ||
323 | } | 363 | } |
324 | 364 | ||
325 | static unsigned int of_bus_pci_get_flags(u32 *addr) | 365 | static unsigned int of_bus_pci_get_flags(u32 *addr) |
@@ -340,59 +380,6 @@ static unsigned int of_bus_pci_get_flags(u32 *addr) | |||
340 | } | 380 | } |
341 | 381 | ||
342 | /* | 382 | /* |
343 | * ISA bus specific translator | ||
344 | */ | ||
345 | |||
346 | static int of_bus_isa_match(struct device_node *np) | ||
347 | { | ||
348 | return !strcmp(np->name, "isa"); | ||
349 | } | ||
350 | |||
351 | static void of_bus_isa_count_cells(struct device_node *child, | ||
352 | int *addrc, int *sizec) | ||
353 | { | ||
354 | if (addrc) | ||
355 | *addrc = 2; | ||
356 | if (sizec) | ||
357 | *sizec = 1; | ||
358 | } | ||
359 | |||
360 | static u64 of_bus_isa_map(u32 *addr, u32 *range, int na, int ns, int pna) | ||
361 | { | ||
362 | u64 cp, s, da; | ||
363 | |||
364 | /* Check address type match */ | ||
365 | if ((addr[0] ^ range[0]) & 0x00000001) | ||
366 | return OF_BAD_ADDR; | ||
367 | |||
368 | /* Read address values, skipping high cell */ | ||
369 | cp = of_read_addr(range + 1, na - 1); | ||
370 | s = of_read_addr(range + na + pna, ns); | ||
371 | da = of_read_addr(addr + 1, na - 1); | ||
372 | |||
373 | if (da < cp || da >= (cp + s)) | ||
374 | return OF_BAD_ADDR; | ||
375 | return da - cp; | ||
376 | } | ||
377 | |||
378 | static int of_bus_isa_translate(u32 *addr, u64 offset, int na) | ||
379 | { | ||
380 | return of_bus_default_translate(addr + 1, offset, na - 1); | ||
381 | } | ||
382 | |||
383 | static unsigned int of_bus_isa_get_flags(u32 *addr) | ||
384 | { | ||
385 | unsigned int flags = 0; | ||
386 | u32 w = addr[0]; | ||
387 | |||
388 | if (w & 1) | ||
389 | flags |= IORESOURCE_IO; | ||
390 | else | ||
391 | flags |= IORESOURCE_MEM; | ||
392 | return flags; | ||
393 | } | ||
394 | |||
395 | /* | ||
396 | * SBUS bus specific translator | 383 | * SBUS bus specific translator |
397 | */ | 384 | */ |
398 | 385 | ||
@@ -411,16 +398,11 @@ static void of_bus_sbus_count_cells(struct device_node *child, | |||
411 | *sizec = 1; | 398 | *sizec = 1; |
412 | } | 399 | } |
413 | 400 | ||
414 | static u64 of_bus_sbus_map(u32 *addr, u32 *range, int na, int ns, int pna) | 401 | static int of_bus_sbus_map(u32 *addr, const u32 *range, int na, int ns, int pna) |
415 | { | 402 | { |
416 | return of_bus_default_map(addr, range, na, ns, pna); | 403 | return of_bus_default_map(addr, range, na, ns, pna); |
417 | } | 404 | } |
418 | 405 | ||
419 | static int of_bus_sbus_translate(u32 *addr, u64 offset, int na) | ||
420 | { | ||
421 | return of_bus_default_translate(addr, offset, na); | ||
422 | } | ||
423 | |||
424 | static unsigned int of_bus_sbus_get_flags(u32 *addr) | 406 | static unsigned int of_bus_sbus_get_flags(u32 *addr) |
425 | { | 407 | { |
426 | return IORESOURCE_MEM; | 408 | return IORESOURCE_MEM; |
@@ -439,19 +421,8 @@ static struct of_bus of_busses[] = { | |||
439 | .match = of_bus_pci_match, | 421 | .match = of_bus_pci_match, |
440 | .count_cells = of_bus_pci_count_cells, | 422 | .count_cells = of_bus_pci_count_cells, |
441 | .map = of_bus_pci_map, | 423 | .map = of_bus_pci_map, |
442 | .translate = of_bus_pci_translate, | ||
443 | .get_flags = of_bus_pci_get_flags, | 424 | .get_flags = of_bus_pci_get_flags, |
444 | }, | 425 | }, |
445 | /* ISA */ | ||
446 | { | ||
447 | .name = "isa", | ||
448 | .addr_prop_name = "reg", | ||
449 | .match = of_bus_isa_match, | ||
450 | .count_cells = of_bus_isa_count_cells, | ||
451 | .map = of_bus_isa_map, | ||
452 | .translate = of_bus_isa_translate, | ||
453 | .get_flags = of_bus_isa_get_flags, | ||
454 | }, | ||
455 | /* SBUS */ | 426 | /* SBUS */ |
456 | { | 427 | { |
457 | .name = "sbus", | 428 | .name = "sbus", |
@@ -459,7 +430,6 @@ static struct of_bus of_busses[] = { | |||
459 | .match = of_bus_sbus_match, | 430 | .match = of_bus_sbus_match, |
460 | .count_cells = of_bus_sbus_count_cells, | 431 | .count_cells = of_bus_sbus_count_cells, |
461 | .map = of_bus_sbus_map, | 432 | .map = of_bus_sbus_map, |
462 | .translate = of_bus_sbus_translate, | ||
463 | .get_flags = of_bus_sbus_get_flags, | 433 | .get_flags = of_bus_sbus_get_flags, |
464 | }, | 434 | }, |
465 | /* Default */ | 435 | /* Default */ |
@@ -469,7 +439,6 @@ static struct of_bus of_busses[] = { | |||
469 | .match = NULL, | 439 | .match = NULL, |
470 | .count_cells = of_bus_default_count_cells, | 440 | .count_cells = of_bus_default_count_cells, |
471 | .map = of_bus_default_map, | 441 | .map = of_bus_default_map, |
472 | .translate = of_bus_default_translate, | ||
473 | .get_flags = of_bus_default_get_flags, | 442 | .get_flags = of_bus_default_get_flags, |
474 | }, | 443 | }, |
475 | }; | 444 | }; |
@@ -494,33 +463,62 @@ static int __init build_one_resource(struct device_node *parent, | |||
494 | u32 *ranges; | 463 | u32 *ranges; |
495 | unsigned int rlen; | 464 | unsigned int rlen; |
496 | int rone; | 465 | int rone; |
497 | u64 offset = OF_BAD_ADDR; | ||
498 | 466 | ||
499 | ranges = of_get_property(parent, "ranges", &rlen); | 467 | ranges = of_get_property(parent, "ranges", &rlen); |
500 | if (ranges == NULL || rlen == 0) { | 468 | if (ranges == NULL || rlen == 0) { |
501 | offset = of_read_addr(addr, na); | 469 | u32 result[OF_MAX_ADDR_CELLS]; |
502 | memset(addr, 0, pna * 4); | 470 | int i; |
503 | goto finish; | 471 | |
472 | memset(result, 0, pna * 4); | ||
473 | for (i = 0; i < na; i++) | ||
474 | result[pna - 1 - i] = | ||
475 | addr[na - 1 - i]; | ||
476 | |||
477 | memcpy(addr, result, pna * 4); | ||
478 | return 0; | ||
504 | } | 479 | } |
505 | 480 | ||
506 | /* Now walk through the ranges */ | 481 | /* Now walk through the ranges */ |
507 | rlen /= 4; | 482 | rlen /= 4; |
508 | rone = na + pna + ns; | 483 | rone = na + pna + ns; |
509 | for (; rlen >= rone; rlen -= rone, ranges += rone) { | 484 | for (; rlen >= rone; rlen -= rone, ranges += rone) { |
510 | offset = bus->map(addr, ranges, na, ns, pna); | 485 | if (!bus->map(addr, ranges, na, ns, pna)) |
511 | if (offset != OF_BAD_ADDR) | 486 | return 0; |
512 | break; | ||
513 | } | 487 | } |
514 | if (offset == OF_BAD_ADDR) | 488 | |
489 | return 1; | ||
490 | } | ||
491 | |||
492 | static int __init use_1to1_mapping(struct device_node *pp) | ||
493 | { | ||
494 | char *model; | ||
495 | |||
496 | /* If this is on the PMU bus, don't try to translate it even | ||
497 | * if a ranges property exists. | ||
498 | */ | ||
499 | if (!strcmp(pp->name, "pmu")) | ||
515 | return 1; | 500 | return 1; |
516 | 501 | ||
517 | memcpy(addr, ranges + na, 4 * pna); | 502 | /* If we have a ranges property in the parent, use it. */ |
503 | if (of_find_property(pp, "ranges", NULL) != NULL) | ||
504 | return 0; | ||
505 | |||
506 | /* If the parent is the dma node of an ISA bus, pass | ||
507 | * the translation up to the root. | ||
508 | */ | ||
509 | if (!strcmp(pp->name, "dma")) | ||
510 | return 0; | ||
511 | |||
512 | /* Similarly for Simba PCI bridges. */ | ||
513 | model = of_get_property(pp, "model", NULL); | ||
514 | if (model && !strcmp(model, "SUNW,simba")) | ||
515 | return 0; | ||
518 | 516 | ||
519 | finish: | 517 | return 1; |
520 | /* Translate it into parent bus space */ | ||
521 | return pbus->translate(addr, offset, pna); | ||
522 | } | 518 | } |
523 | 519 | ||
520 | static int of_resource_verbose; | ||
521 | |||
524 | static void __init build_device_resources(struct of_device *op, | 522 | static void __init build_device_resources(struct of_device *op, |
525 | struct device *parent) | 523 | struct device *parent) |
526 | { | 524 | { |
@@ -564,15 +562,7 @@ static void __init build_device_resources(struct of_device *op, | |||
564 | 562 | ||
565 | memcpy(addr, reg, na * 4); | 563 | memcpy(addr, reg, na * 4); |
566 | 564 | ||
567 | /* If the immediate parent has no ranges property to apply, | 565 | if (use_1to1_mapping(pp)) { |
568 | * just use a 1<->1 mapping. Unless it is the 'dma' child | ||
569 | * of an isa bus, which must be passed up towards the root. | ||
570 | * | ||
571 | * Also, don't try to translate PMU bus device registers. | ||
572 | */ | ||
573 | if ((of_find_property(pp, "ranges", NULL) == NULL && | ||
574 | strcmp(pp->name, "dma") != 0) || | ||
575 | !strcmp(pp->name, "pmu")) { | ||
576 | result = of_read_addr(addr, na); | 566 | result = of_read_addr(addr, na); |
577 | goto build_res; | 567 | goto build_res; |
578 | } | 568 | } |
@@ -591,7 +581,8 @@ static void __init build_device_resources(struct of_device *op, | |||
591 | pbus = of_match_bus(pp); | 581 | pbus = of_match_bus(pp); |
592 | pbus->count_cells(dp, &pna, &pns); | 582 | pbus->count_cells(dp, &pna, &pns); |
593 | 583 | ||
594 | if (build_one_resource(dp, bus, pbus, addr, dna, dns, pna)) | 584 | if (build_one_resource(dp, bus, pbus, addr, |
585 | dna, dns, pna)) | ||
595 | break; | 586 | break; |
596 | 587 | ||
597 | dna = pna; | 588 | dna = pna; |
@@ -601,6 +592,12 @@ static void __init build_device_resources(struct of_device *op, | |||
601 | 592 | ||
602 | build_res: | 593 | build_res: |
603 | memset(r, 0, sizeof(*r)); | 594 | memset(r, 0, sizeof(*r)); |
595 | |||
596 | if (of_resource_verbose) | ||
597 | printk("%s reg[%d] -> %lx\n", | ||
598 | op->node->full_name, index, | ||
599 | result); | ||
600 | |||
604 | if (result != OF_BAD_ADDR) { | 601 | if (result != OF_BAD_ADDR) { |
605 | if (tlb_type == hypervisor) | 602 | if (tlb_type == hypervisor) |
606 | result &= 0x0fffffffffffffffUL; | 603 | result &= 0x0fffffffffffffffUL; |
@@ -684,6 +681,8 @@ static unsigned int __init pci_irq_swizzle(struct device_node *dp, | |||
684 | return ret; | 681 | return ret; |
685 | } | 682 | } |
686 | 683 | ||
684 | static int of_irq_verbose; | ||
685 | |||
687 | static unsigned int __init build_one_device_irq(struct of_device *op, | 686 | static unsigned int __init build_one_device_irq(struct of_device *op, |
688 | struct device *parent, | 687 | struct device *parent, |
689 | unsigned int irq) | 688 | unsigned int irq) |
@@ -698,10 +697,11 @@ static unsigned int __init build_one_device_irq(struct of_device *op, | |||
698 | if (dp->irq_trans) { | 697 | if (dp->irq_trans) { |
699 | irq = dp->irq_trans->irq_build(dp, irq, | 698 | irq = dp->irq_trans->irq_build(dp, irq, |
700 | dp->irq_trans->data); | 699 | dp->irq_trans->data); |
701 | #if 1 | 700 | |
702 | printk("%s: direct translate %x --> %x\n", | 701 | if (of_irq_verbose) |
703 | dp->full_name, orig_irq, irq); | 702 | printk("%s: direct translate %x --> %x\n", |
704 | #endif | 703 | dp->full_name, orig_irq, irq); |
704 | |||
705 | return irq; | 705 | return irq; |
706 | } | 706 | } |
707 | 707 | ||
@@ -728,12 +728,13 @@ static unsigned int __init build_one_device_irq(struct of_device *op, | |||
728 | iret = apply_interrupt_map(dp, pp, | 728 | iret = apply_interrupt_map(dp, pp, |
729 | imap, imlen, imsk, | 729 | imap, imlen, imsk, |
730 | &irq); | 730 | &irq); |
731 | #if 1 | 731 | |
732 | printk("%s: Apply [%s:%x] imap --> [%s:%x]\n", | 732 | if (of_irq_verbose) |
733 | op->node->full_name, | 733 | printk("%s: Apply [%s:%x] imap --> [%s:%x]\n", |
734 | pp->full_name, this_orig_irq, | 734 | op->node->full_name, |
735 | (iret ? iret->full_name : "NULL"), irq); | 735 | pp->full_name, this_orig_irq, |
736 | #endif | 736 | (iret ? iret->full_name : "NULL"), irq); |
737 | |||
737 | if (!iret) | 738 | if (!iret) |
738 | break; | 739 | break; |
739 | 740 | ||
@@ -747,11 +748,13 @@ static unsigned int __init build_one_device_irq(struct of_device *op, | |||
747 | unsigned int this_orig_irq = irq; | 748 | unsigned int this_orig_irq = irq; |
748 | 749 | ||
749 | irq = pci_irq_swizzle(dp, pp, irq); | 750 | irq = pci_irq_swizzle(dp, pp, irq); |
750 | #if 1 | 751 | if (of_irq_verbose) |
751 | printk("%s: PCI swizzle [%s] %x --> %x\n", | 752 | printk("%s: PCI swizzle [%s] " |
752 | op->node->full_name, | 753 | "%x --> %x\n", |
753 | pp->full_name, this_orig_irq, irq); | 754 | op->node->full_name, |
754 | #endif | 755 | pp->full_name, this_orig_irq, |
756 | irq); | ||
757 | |||
755 | } | 758 | } |
756 | 759 | ||
757 | if (pp->irq_trans) { | 760 | if (pp->irq_trans) { |
@@ -767,10 +770,9 @@ static unsigned int __init build_one_device_irq(struct of_device *op, | |||
767 | 770 | ||
768 | irq = ip->irq_trans->irq_build(op->node, irq, | 771 | irq = ip->irq_trans->irq_build(op->node, irq, |
769 | ip->irq_trans->data); | 772 | ip->irq_trans->data); |
770 | #if 1 | 773 | if (of_irq_verbose) |
771 | printk("%s: Apply IRQ trans [%s] %x --> %x\n", | 774 | printk("%s: Apply IRQ trans [%s] %x --> %x\n", |
772 | op->node->full_name, ip->full_name, orig_irq, irq); | 775 | op->node->full_name, ip->full_name, orig_irq, irq); |
773 | #endif | ||
774 | 776 | ||
775 | return irq; | 777 | return irq; |
776 | } | 778 | } |
@@ -870,6 +872,20 @@ static int __init of_bus_driver_init(void) | |||
870 | 872 | ||
871 | postcore_initcall(of_bus_driver_init); | 873 | postcore_initcall(of_bus_driver_init); |
872 | 874 | ||
875 | static int __init of_debug(char *str) | ||
876 | { | ||
877 | int val = 0; | ||
878 | |||
879 | get_option(&str, &val); | ||
880 | if (val & 1) | ||
881 | of_resource_verbose = 1; | ||
882 | if (val & 2) | ||
883 | of_irq_verbose = 1; | ||
884 | return 1; | ||
885 | } | ||
886 | |||
887 | __setup("of_debug=", of_debug); | ||
888 | |||
873 | int of_register_driver(struct of_platform_driver *drv, struct bus_type *bus) | 889 | int of_register_driver(struct of_platform_driver *drv, struct bus_type *bus) |
874 | { | 890 | { |
875 | /* initialize common driver fields */ | 891 | /* initialize common driver fields */ |
@@ -922,9 +938,11 @@ int of_device_register(struct of_device *ofdev) | |||
922 | if (rc) | 938 | if (rc) |
923 | return rc; | 939 | return rc; |
924 | 940 | ||
925 | device_create_file(&ofdev->dev, &dev_attr_devspec); | 941 | rc = device_create_file(&ofdev->dev, &dev_attr_devspec); |
942 | if (rc) | ||
943 | device_unregister(&ofdev->dev); | ||
926 | 944 | ||
927 | return 0; | 945 | return rc; |
928 | } | 946 | } |
929 | 947 | ||
930 | void of_device_unregister(struct of_device *ofdev) | 948 | void of_device_unregister(struct of_device *ofdev) |
diff --git a/arch/sparc64/kernel/pci_psycho.c b/arch/sparc64/kernel/pci_psycho.c index 197a7ffd57ee..1ec0aab68c08 100644 --- a/arch/sparc64/kernel/pci_psycho.c +++ b/arch/sparc64/kernel/pci_psycho.c | |||
@@ -1099,9 +1099,6 @@ static void pbm_register_toplevel_resources(struct pci_controller_info *p, | |||
1099 | { | 1099 | { |
1100 | char *name = pbm->name; | 1100 | char *name = pbm->name; |
1101 | 1101 | ||
1102 | sprintf(name, "PSYCHO%d PBM%c", | ||
1103 | p->index, | ||
1104 | (pbm == &p->pbm_A ? 'A' : 'B')); | ||
1105 | pbm->io_space.name = pbm->mem_space.name = name; | 1102 | pbm->io_space.name = pbm->mem_space.name = name; |
1106 | 1103 | ||
1107 | request_resource(&ioport_resource, &pbm->io_space); | 1104 | request_resource(&ioport_resource, &pbm->io_space); |
@@ -1203,12 +1200,13 @@ static void psycho_pbm_init(struct pci_controller_info *p, | |||
1203 | pbm->io_space.flags = IORESOURCE_IO; | 1200 | pbm->io_space.flags = IORESOURCE_IO; |
1204 | pbm->mem_space.end = pbm->mem_space.start + PSYCHO_MEMSPACE_SIZE; | 1201 | pbm->mem_space.end = pbm->mem_space.start + PSYCHO_MEMSPACE_SIZE; |
1205 | pbm->mem_space.flags = IORESOURCE_MEM; | 1202 | pbm->mem_space.flags = IORESOURCE_MEM; |
1206 | pbm_register_toplevel_resources(p, pbm); | ||
1207 | 1203 | ||
1208 | pbm->parent = p; | 1204 | pbm->parent = p; |
1209 | pbm->prom_node = dp; | 1205 | pbm->prom_node = dp; |
1210 | pbm->name = dp->full_name; | 1206 | pbm->name = dp->full_name; |
1211 | 1207 | ||
1208 | pbm_register_toplevel_resources(p, pbm); | ||
1209 | |||
1212 | printk("%s: PSYCHO PCI Bus Module ver[%x:%x]\n", | 1210 | printk("%s: PSYCHO PCI Bus Module ver[%x:%x]\n", |
1213 | pbm->name, | 1211 | pbm->name, |
1214 | pbm->chip_version, pbm->chip_revision); | 1212 | pbm->chip_version, pbm->chip_revision); |
diff --git a/arch/sparc64/kernel/prom.c b/arch/sparc64/kernel/prom.c index 99daeee4209d..c86007a2aa3f 100644 --- a/arch/sparc64/kernel/prom.c +++ b/arch/sparc64/kernel/prom.c | |||
@@ -539,6 +539,45 @@ static unsigned long __sabre_onboard_imap_off[] = { | |||
539 | ((ino & 0x20) ? (SABRE_ICLR_SCSI + (((ino) & 0x1f) << 3)) : \ | 539 | ((ino & 0x20) ? (SABRE_ICLR_SCSI + (((ino) & 0x1f) << 3)) : \ |
540 | (SABRE_ICLR_A_SLOT0 + (((ino) & 0x1f)<<3))) | 540 | (SABRE_ICLR_A_SLOT0 + (((ino) & 0x1f)<<3))) |
541 | 541 | ||
542 | static int sabre_device_needs_wsync(struct device_node *dp) | ||
543 | { | ||
544 | struct device_node *parent = dp->parent; | ||
545 | char *parent_model, *parent_compat; | ||
546 | |||
547 | /* This traversal up towards the root is meant to | ||
548 | * handle two cases: | ||
549 | * | ||
550 | * 1) non-PCI bus sitting under PCI, such as 'ebus' | ||
551 | * 2) the PCI controller interrupts themselves, which | ||
552 | * will use the sabre_irq_build but do not need | ||
553 | * the DMA synchronization handling | ||
554 | */ | ||
555 | while (parent) { | ||
556 | if (!strcmp(parent->type, "pci")) | ||
557 | break; | ||
558 | parent = parent->parent; | ||
559 | } | ||
560 | |||
561 | if (!parent) | ||
562 | return 0; | ||
563 | |||
564 | parent_model = of_get_property(parent, | ||
565 | "model", NULL); | ||
566 | if (parent_model && | ||
567 | (!strcmp(parent_model, "SUNW,sabre") || | ||
568 | !strcmp(parent_model, "SUNW,simba"))) | ||
569 | return 0; | ||
570 | |||
571 | parent_compat = of_get_property(parent, | ||
572 | "compatible", NULL); | ||
573 | if (parent_compat && | ||
574 | (!strcmp(parent_compat, "pci108e,a000") || | ||
575 | !strcmp(parent_compat, "pci108e,a001"))) | ||
576 | return 0; | ||
577 | |||
578 | return 1; | ||
579 | } | ||
580 | |||
542 | static unsigned int sabre_irq_build(struct device_node *dp, | 581 | static unsigned int sabre_irq_build(struct device_node *dp, |
543 | unsigned int ino, | 582 | unsigned int ino, |
544 | void *_data) | 583 | void *_data) |
@@ -577,15 +616,17 @@ static unsigned int sabre_irq_build(struct device_node *dp, | |||
577 | 616 | ||
578 | virt_irq = build_irq(inofixup, iclr, imap); | 617 | virt_irq = build_irq(inofixup, iclr, imap); |
579 | 618 | ||
619 | /* If the parent device is a PCI<->PCI bridge other than | ||
620 | * APB, we have to install a pre-handler to ensure that | ||
621 | * all pending DMA is drained before the interrupt handler | ||
622 | * is run. | ||
623 | */ | ||
580 | regs = of_get_property(dp, "reg", NULL); | 624 | regs = of_get_property(dp, "reg", NULL); |
581 | if (regs && | 625 | if (regs && sabre_device_needs_wsync(dp)) { |
582 | ((regs->phys_hi >> 16) & 0xff) != irq_data->pci_first_busno) { | ||
583 | irq_install_pre_handler(virt_irq, | 626 | irq_install_pre_handler(virt_irq, |
584 | sabre_wsync_handler, | 627 | sabre_wsync_handler, |
585 | (void *) (long) regs->phys_hi, | 628 | (void *) (long) regs->phys_hi, |
586 | (void *) | 629 | (void *) irq_data); |
587 | controller_regs + | ||
588 | SABRE_WRSYNC); | ||
589 | } | 630 | } |
590 | 631 | ||
591 | return virt_irq; | 632 | return virt_irq; |
diff --git a/arch/sparc64/kernel/time.c b/arch/sparc64/kernel/time.c index b43de647ba73..094d3e35be18 100644 --- a/arch/sparc64/kernel/time.c +++ b/arch/sparc64/kernel/time.c | |||
@@ -928,8 +928,6 @@ static void sparc64_start_timers(void) | |||
928 | __asm__ __volatile__("wrpr %0, 0x0, %%pstate" | 928 | __asm__ __volatile__("wrpr %0, 0x0, %%pstate" |
929 | : /* no outputs */ | 929 | : /* no outputs */ |
930 | : "r" (pstate)); | 930 | : "r" (pstate)); |
931 | |||
932 | local_irq_enable(); | ||
933 | } | 931 | } |
934 | 932 | ||
935 | struct freq_table { | 933 | struct freq_table { |
diff --git a/arch/um/Makefile-x86_64 b/arch/um/Makefile-x86_64 index dffd1184c956..9558a7cf34d5 100644 --- a/arch/um/Makefile-x86_64 +++ b/arch/um/Makefile-x86_64 | |||
@@ -11,6 +11,7 @@ USER_CFLAGS += -fno-builtin -m64 | |||
11 | CHECKFLAGS += -m64 | 11 | CHECKFLAGS += -m64 |
12 | AFLAGS += -m64 | 12 | AFLAGS += -m64 |
13 | LDFLAGS += -m elf_x86_64 | 13 | LDFLAGS += -m elf_x86_64 |
14 | CPPFLAGS += -m64 | ||
14 | 15 | ||
15 | ELF_ARCH := i386:x86-64 | 16 | ELF_ARCH := i386:x86-64 |
16 | ELF_FORMAT := elf64-x86-64 | 17 | ELF_FORMAT := elf64-x86-64 |
diff --git a/arch/um/include/longjmp.h b/arch/um/include/longjmp.h index 8e7053013f7b..1b5c0131a12e 100644 --- a/arch/um/include/longjmp.h +++ b/arch/um/include/longjmp.h | |||
@@ -8,8 +8,8 @@ | |||
8 | longjmp(*buf, val); \ | 8 | longjmp(*buf, val); \ |
9 | } while(0) | 9 | } while(0) |
10 | 10 | ||
11 | #define UML_SETJMP(buf, enable) ({ \ | 11 | #define UML_SETJMP(buf) ({ \ |
12 | int n; \ | 12 | int n, enable; \ |
13 | enable = get_signals(); \ | 13 | enable = get_signals(); \ |
14 | n = setjmp(*buf); \ | 14 | n = setjmp(*buf); \ |
15 | if(n != 0) \ | 15 | if(n != 0) \ |
diff --git a/arch/um/include/os.h b/arch/um/include/os.h index b6c52496e15a..5316e8a4a4fd 100644 --- a/arch/um/include/os.h +++ b/arch/um/include/os.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (C) 2002 Jeff Dike (jdike@karaya.com) | 2 | * Copyright (C) 2002 Jeff Dike (jdike@karaya.com) |
3 | * Licensed under the GPL | 3 | * Licensed under the GPL |
4 | */ | 4 | */ |
@@ -15,9 +15,9 @@ | |||
15 | #include "irq_user.h" | 15 | #include "irq_user.h" |
16 | #include "sysdep/tls.h" | 16 | #include "sysdep/tls.h" |
17 | 17 | ||
18 | #define OS_TYPE_FILE 1 | 18 | #define OS_TYPE_FILE 1 |
19 | #define OS_TYPE_DIR 2 | 19 | #define OS_TYPE_DIR 2 |
20 | #define OS_TYPE_SYMLINK 3 | 20 | #define OS_TYPE_SYMLINK 3 |
21 | #define OS_TYPE_CHARDEV 4 | 21 | #define OS_TYPE_CHARDEV 4 |
22 | #define OS_TYPE_BLOCKDEV 5 | 22 | #define OS_TYPE_BLOCKDEV 5 |
23 | #define OS_TYPE_FIFO 6 | 23 | #define OS_TYPE_FIFO 6 |
@@ -61,68 +61,68 @@ struct openflags { | |||
61 | }; | 61 | }; |
62 | 62 | ||
63 | #define OPENFLAGS() ((struct openflags) { .r = 0, .w = 0, .s = 0, .c = 0, \ | 63 | #define OPENFLAGS() ((struct openflags) { .r = 0, .w = 0, .s = 0, .c = 0, \ |
64 | .t = 0, .a = 0, .e = 0, .cl = 0 }) | 64 | .t = 0, .a = 0, .e = 0, .cl = 0 }) |
65 | 65 | ||
66 | static inline struct openflags of_read(struct openflags flags) | 66 | static inline struct openflags of_read(struct openflags flags) |
67 | { | 67 | { |
68 | flags.r = 1; | 68 | flags.r = 1; |
69 | return(flags); | 69 | return flags; |
70 | } | 70 | } |
71 | 71 | ||
72 | static inline struct openflags of_write(struct openflags flags) | 72 | static inline struct openflags of_write(struct openflags flags) |
73 | { | 73 | { |
74 | flags.w = 1; | 74 | flags.w = 1; |
75 | return(flags); | 75 | return flags; |
76 | } | 76 | } |
77 | 77 | ||
78 | static inline struct openflags of_rdwr(struct openflags flags) | 78 | static inline struct openflags of_rdwr(struct openflags flags) |
79 | { | 79 | { |
80 | return(of_read(of_write(flags))); | 80 | return of_read(of_write(flags)); |
81 | } | 81 | } |
82 | 82 | ||
83 | static inline struct openflags of_set_rw(struct openflags flags, int r, int w) | 83 | static inline struct openflags of_set_rw(struct openflags flags, int r, int w) |
84 | { | 84 | { |
85 | flags.r = r; | 85 | flags.r = r; |
86 | flags.w = w; | 86 | flags.w = w; |
87 | return(flags); | 87 | return flags; |
88 | } | 88 | } |
89 | 89 | ||
90 | static inline struct openflags of_sync(struct openflags flags) | 90 | static inline struct openflags of_sync(struct openflags flags) |
91 | { | 91 | { |
92 | flags.s = 1; | 92 | flags.s = 1; |
93 | return(flags); | 93 | return flags; |
94 | } | 94 | } |
95 | 95 | ||
96 | static inline struct openflags of_create(struct openflags flags) | 96 | static inline struct openflags of_create(struct openflags flags) |
97 | { | 97 | { |
98 | flags.c = 1; | 98 | flags.c = 1; |
99 | return(flags); | 99 | return flags; |
100 | } | 100 | } |
101 | 101 | ||
102 | static inline struct openflags of_trunc(struct openflags flags) | 102 | static inline struct openflags of_trunc(struct openflags flags) |
103 | { | 103 | { |
104 | flags.t = 1; | 104 | flags.t = 1; |
105 | return(flags); | 105 | return flags; |
106 | } | 106 | } |
107 | 107 | ||
108 | static inline struct openflags of_append(struct openflags flags) | 108 | static inline struct openflags of_append(struct openflags flags) |
109 | { | 109 | { |
110 | flags.a = 1; | 110 | flags.a = 1; |
111 | return(flags); | 111 | return flags; |
112 | } | 112 | } |
113 | 113 | ||
114 | static inline struct openflags of_excl(struct openflags flags) | 114 | static inline struct openflags of_excl(struct openflags flags) |
115 | { | 115 | { |
116 | flags.e = 1; | 116 | flags.e = 1; |
117 | return(flags); | 117 | return flags; |
118 | } | 118 | } |
119 | 119 | ||
120 | static inline struct openflags of_cloexec(struct openflags flags) | 120 | static inline struct openflags of_cloexec(struct openflags flags) |
121 | { | 121 | { |
122 | flags.cl = 1; | 122 | flags.cl = 1; |
123 | return(flags); | 123 | return flags; |
124 | } | 124 | } |
125 | 125 | ||
126 | /* file.c */ | 126 | /* file.c */ |
127 | extern int os_stat_file(const char *file_name, struct uml_stat *buf); | 127 | extern int os_stat_file(const char *file_name, struct uml_stat *buf); |
128 | extern int os_stat_fd(const int fd, struct uml_stat *buf); | 128 | extern int os_stat_fd(const int fd, struct uml_stat *buf); |
@@ -204,7 +204,7 @@ extern int run_kernel_thread(int (*fn)(void *), void *arg, void **jmp_ptr); | |||
204 | 204 | ||
205 | extern int os_map_memory(void *virt, int fd, unsigned long long off, | 205 | extern int os_map_memory(void *virt, int fd, unsigned long long off, |
206 | unsigned long len, int r, int w, int x); | 206 | unsigned long len, int r, int w, int x); |
207 | extern int os_protect_memory(void *addr, unsigned long len, | 207 | extern int os_protect_memory(void *addr, unsigned long len, |
208 | int r, int w, int x); | 208 | int r, int w, int x); |
209 | extern int os_unmap_memory(void *addr, int len); | 209 | extern int os_unmap_memory(void *addr, int len); |
210 | extern int os_drop_memory(void *addr, int length); | 210 | extern int os_drop_memory(void *addr, int length); |
diff --git a/arch/um/kernel/syscall.c b/arch/um/kernel/syscall.c index abf14aaf905f..48cf88dd02d4 100644 --- a/arch/um/kernel/syscall.c +++ b/arch/um/kernel/syscall.c | |||
@@ -110,7 +110,7 @@ long sys_uname(struct old_utsname __user * name) | |||
110 | if (!name) | 110 | if (!name) |
111 | return -EFAULT; | 111 | return -EFAULT; |
112 | down_read(&uts_sem); | 112 | down_read(&uts_sem); |
113 | err = copy_to_user(name, utsname(), sizeof (*name)); | 113 | err = copy_to_user(name, &system_utsname, sizeof (*name)); |
114 | up_read(&uts_sem); | 114 | up_read(&uts_sem); |
115 | return err?-EFAULT:0; | 115 | return err?-EFAULT:0; |
116 | } | 116 | } |
@@ -126,21 +126,21 @@ long sys_olduname(struct oldold_utsname __user * name) | |||
126 | 126 | ||
127 | down_read(&uts_sem); | 127 | down_read(&uts_sem); |
128 | 128 | ||
129 | error = __copy_to_user(&name->sysname, &utsname()->sysname, | 129 | error = __copy_to_user(&name->sysname,&system_utsname.sysname, |
130 | __OLD_UTS_LEN); | 130 | __OLD_UTS_LEN); |
131 | error |= __put_user(0, name->sysname + __OLD_UTS_LEN); | 131 | error |= __put_user(0,name->sysname+__OLD_UTS_LEN); |
132 | error |= __copy_to_user(&name->nodename, &utsname()->nodename, | 132 | error |= __copy_to_user(&name->nodename,&system_utsname.nodename, |
133 | __OLD_UTS_LEN); | 133 | __OLD_UTS_LEN); |
134 | error |= __put_user(0, name->nodename + __OLD_UTS_LEN); | 134 | error |= __put_user(0,name->nodename+__OLD_UTS_LEN); |
135 | error |= __copy_to_user(&name->release, &utsname()->release, | 135 | error |= __copy_to_user(&name->release,&system_utsname.release, |
136 | __OLD_UTS_LEN); | 136 | __OLD_UTS_LEN); |
137 | error |= __put_user(0, name->release + __OLD_UTS_LEN); | 137 | error |= __put_user(0,name->release+__OLD_UTS_LEN); |
138 | error |= __copy_to_user(&name->version, &utsname()->version, | 138 | error |= __copy_to_user(&name->version,&system_utsname.version, |
139 | __OLD_UTS_LEN); | 139 | __OLD_UTS_LEN); |
140 | error |= __put_user(0, name->version + __OLD_UTS_LEN); | 140 | error |= __put_user(0,name->version+__OLD_UTS_LEN); |
141 | error |= __copy_to_user(&name->machine, &utsname()->machine, | 141 | error |= __copy_to_user(&name->machine,&system_utsname.machine, |
142 | __OLD_UTS_LEN); | 142 | __OLD_UTS_LEN); |
143 | error |= __put_user(0, name->machine + __OLD_UTS_LEN); | 143 | error |= __put_user(0,name->machine+__OLD_UTS_LEN); |
144 | 144 | ||
145 | up_read(&uts_sem); | 145 | up_read(&uts_sem); |
146 | 146 | ||
diff --git a/arch/um/kernel/vmlinux.lds.S b/arch/um/kernel/vmlinux.lds.S index 72acdce205e0..f8aeb448aab6 100644 --- a/arch/um/kernel/vmlinux.lds.S +++ b/arch/um/kernel/vmlinux.lds.S | |||
@@ -1,5 +1,3 @@ | |||
1 | /* in case the preprocessor is a 32bit one */ | ||
2 | #undef i386 | ||
3 | #ifdef CONFIG_LD_SCRIPT_STATIC | 1 | #ifdef CONFIG_LD_SCRIPT_STATIC |
4 | #include "uml.lds.S" | 2 | #include "uml.lds.S" |
5 | #else | 3 | #else |
diff --git a/arch/um/os-Linux/process.c b/arch/um/os-Linux/process.c index b1cda818f5b5..b98d3ca2cd1b 100644 --- a/arch/um/os-Linux/process.c +++ b/arch/um/os-Linux/process.c | |||
@@ -273,12 +273,12 @@ void init_new_thread_signals(void) | |||
273 | int run_kernel_thread(int (*fn)(void *), void *arg, void **jmp_ptr) | 273 | int run_kernel_thread(int (*fn)(void *), void *arg, void **jmp_ptr) |
274 | { | 274 | { |
275 | jmp_buf buf; | 275 | jmp_buf buf; |
276 | int n, enable; | 276 | int n; |
277 | 277 | ||
278 | *jmp_ptr = &buf; | 278 | *jmp_ptr = &buf; |
279 | n = UML_SETJMP(&buf, enable); | 279 | n = UML_SETJMP(&buf); |
280 | if(n != 0) | 280 | if(n != 0) |
281 | return(n); | 281 | return n; |
282 | (*fn)(arg); | 282 | (*fn)(arg); |
283 | return(0); | 283 | return 0; |
284 | } | 284 | } |
diff --git a/arch/um/os-Linux/skas/process.c b/arch/um/os-Linux/skas/process.c index bf35572d9cfa..7baf90fda58b 100644 --- a/arch/um/os-Linux/skas/process.c +++ b/arch/um/os-Linux/skas/process.c | |||
@@ -435,7 +435,6 @@ void new_thread(void *stack, void **switch_buf_ptr, void **fork_buf_ptr, | |||
435 | { | 435 | { |
436 | unsigned long flags; | 436 | unsigned long flags; |
437 | jmp_buf switch_buf, fork_buf; | 437 | jmp_buf switch_buf, fork_buf; |
438 | int enable; | ||
439 | 438 | ||
440 | *switch_buf_ptr = &switch_buf; | 439 | *switch_buf_ptr = &switch_buf; |
441 | *fork_buf_ptr = &fork_buf; | 440 | *fork_buf_ptr = &fork_buf; |
@@ -450,7 +449,7 @@ void new_thread(void *stack, void **switch_buf_ptr, void **fork_buf_ptr, | |||
450 | */ | 449 | */ |
451 | flags = get_signals(); | 450 | flags = get_signals(); |
452 | block_signals(); | 451 | block_signals(); |
453 | if(UML_SETJMP(&fork_buf, enable) == 0) | 452 | if(UML_SETJMP(&fork_buf) == 0) |
454 | new_thread_proc(stack, handler); | 453 | new_thread_proc(stack, handler); |
455 | 454 | ||
456 | remove_sigstack(); | 455 | remove_sigstack(); |
@@ -467,21 +466,19 @@ void new_thread(void *stack, void **switch_buf_ptr, void **fork_buf_ptr, | |||
467 | void thread_wait(void *sw, void *fb) | 466 | void thread_wait(void *sw, void *fb) |
468 | { | 467 | { |
469 | jmp_buf buf, **switch_buf = sw, *fork_buf; | 468 | jmp_buf buf, **switch_buf = sw, *fork_buf; |
470 | int enable; | ||
471 | 469 | ||
472 | *switch_buf = &buf; | 470 | *switch_buf = &buf; |
473 | fork_buf = fb; | 471 | fork_buf = fb; |
474 | if(UML_SETJMP(&buf, enable) == 0) | 472 | if(UML_SETJMP(&buf) == 0) |
475 | siglongjmp(*fork_buf, INIT_JMP_REMOVE_SIGSTACK); | 473 | siglongjmp(*fork_buf, INIT_JMP_REMOVE_SIGSTACK); |
476 | } | 474 | } |
477 | 475 | ||
478 | void switch_threads(void *me, void *next) | 476 | void switch_threads(void *me, void *next) |
479 | { | 477 | { |
480 | jmp_buf my_buf, **me_ptr = me, *next_buf = next; | 478 | jmp_buf my_buf, **me_ptr = me, *next_buf = next; |
481 | int enable; | ||
482 | 479 | ||
483 | *me_ptr = &my_buf; | 480 | *me_ptr = &my_buf; |
484 | if(UML_SETJMP(&my_buf, enable) == 0) | 481 | if(UML_SETJMP(&my_buf) == 0) |
485 | UML_LONGJMP(next_buf, 1); | 482 | UML_LONGJMP(next_buf, 1); |
486 | } | 483 | } |
487 | 484 | ||
@@ -495,14 +492,14 @@ static jmp_buf *cb_back; | |||
495 | int start_idle_thread(void *stack, void *switch_buf_ptr, void **fork_buf_ptr) | 492 | int start_idle_thread(void *stack, void *switch_buf_ptr, void **fork_buf_ptr) |
496 | { | 493 | { |
497 | jmp_buf **switch_buf = switch_buf_ptr; | 494 | jmp_buf **switch_buf = switch_buf_ptr; |
498 | int n, enable; | 495 | int n; |
499 | 496 | ||
500 | set_handler(SIGWINCH, (__sighandler_t) sig_handler, | 497 | set_handler(SIGWINCH, (__sighandler_t) sig_handler, |
501 | SA_ONSTACK | SA_RESTART, SIGUSR1, SIGIO, SIGALRM, | 498 | SA_ONSTACK | SA_RESTART, SIGUSR1, SIGIO, SIGALRM, |
502 | SIGVTALRM, -1); | 499 | SIGVTALRM, -1); |
503 | 500 | ||
504 | *fork_buf_ptr = &initial_jmpbuf; | 501 | *fork_buf_ptr = &initial_jmpbuf; |
505 | n = UML_SETJMP(&initial_jmpbuf, enable); | 502 | n = UML_SETJMP(&initial_jmpbuf); |
506 | switch(n){ | 503 | switch(n){ |
507 | case INIT_JMP_NEW_THREAD: | 504 | case INIT_JMP_NEW_THREAD: |
508 | new_thread_proc((void *) stack, new_thread_handler); | 505 | new_thread_proc((void *) stack, new_thread_handler); |
@@ -529,14 +526,13 @@ int start_idle_thread(void *stack, void *switch_buf_ptr, void **fork_buf_ptr) | |||
529 | void initial_thread_cb_skas(void (*proc)(void *), void *arg) | 526 | void initial_thread_cb_skas(void (*proc)(void *), void *arg) |
530 | { | 527 | { |
531 | jmp_buf here; | 528 | jmp_buf here; |
532 | int enable; | ||
533 | 529 | ||
534 | cb_proc = proc; | 530 | cb_proc = proc; |
535 | cb_arg = arg; | 531 | cb_arg = arg; |
536 | cb_back = &here; | 532 | cb_back = &here; |
537 | 533 | ||
538 | block_signals(); | 534 | block_signals(); |
539 | if(UML_SETJMP(&here, enable) == 0) | 535 | if(UML_SETJMP(&here) == 0) |
540 | UML_LONGJMP(&initial_jmpbuf, INIT_JMP_CALLBACK); | 536 | UML_LONGJMP(&initial_jmpbuf, INIT_JMP_CALLBACK); |
541 | unblock_signals(); | 537 | unblock_signals(); |
542 | 538 | ||
diff --git a/arch/um/os-Linux/uaccess.c b/arch/um/os-Linux/uaccess.c index e523719330b2..865f6a6a2590 100644 --- a/arch/um/os-Linux/uaccess.c +++ b/arch/um/os-Linux/uaccess.c | |||
@@ -14,11 +14,10 @@ unsigned long __do_user_copy(void *to, const void *from, int n, | |||
14 | int n), int *faulted_out) | 14 | int n), int *faulted_out) |
15 | { | 15 | { |
16 | unsigned long *faddrp = (unsigned long *) fault_addr, ret; | 16 | unsigned long *faddrp = (unsigned long *) fault_addr, ret; |
17 | int enable; | ||
18 | 17 | ||
19 | jmp_buf jbuf; | 18 | jmp_buf jbuf; |
20 | *fault_catcher = &jbuf; | 19 | *fault_catcher = &jbuf; |
21 | if(UML_SETJMP(&jbuf, enable) == 0){ | 20 | if(UML_SETJMP(&jbuf) == 0){ |
22 | (*op)(to, from, n); | 21 | (*op)(to, from, n); |
23 | ret = 0; | 22 | ret = 0; |
24 | *faulted_out = 0; | 23 | *faulted_out = 0; |
diff --git a/block/ioctl.c b/block/ioctl.c index 9cfa2e1ecb24..309760b7e37f 100644 --- a/block/ioctl.c +++ b/block/ioctl.c | |||
@@ -72,7 +72,7 @@ static int blkpg_ioctl(struct block_device *bdev, struct blkpg_ioctl_arg __user | |||
72 | bdevp = bdget_disk(disk, part); | 72 | bdevp = bdget_disk(disk, part); |
73 | if (!bdevp) | 73 | if (!bdevp) |
74 | return -ENOMEM; | 74 | return -ENOMEM; |
75 | mutex_lock(&bdevp->bd_mutex); | 75 | mutex_lock_nested(&bdevp->bd_mutex, BD_MUTEX_PARTITION); |
76 | if (bdevp->bd_openers) { | 76 | if (bdevp->bd_openers) { |
77 | mutex_unlock(&bdevp->bd_mutex); | 77 | mutex_unlock(&bdevp->bd_mutex); |
78 | bdput(bdevp); | 78 | bdput(bdevp); |
@@ -82,7 +82,7 @@ static int blkpg_ioctl(struct block_device *bdev, struct blkpg_ioctl_arg __user | |||
82 | fsync_bdev(bdevp); | 82 | fsync_bdev(bdevp); |
83 | invalidate_bdev(bdevp, 0); | 83 | invalidate_bdev(bdevp, 0); |
84 | 84 | ||
85 | mutex_lock(&bdev->bd_mutex); | 85 | mutex_lock_nested(&bdev->bd_mutex, BD_MUTEX_WHOLE); |
86 | delete_partition(disk, part); | 86 | delete_partition(disk, part); |
87 | mutex_unlock(&bdev->bd_mutex); | 87 | mutex_unlock(&bdev->bd_mutex); |
88 | mutex_unlock(&bdevp->bd_mutex); | 88 | mutex_unlock(&bdevp->bd_mutex); |
diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c index 47dfde95b8f8..b7d1514cd199 100644 --- a/drivers/acpi/osl.c +++ b/drivers/acpi/osl.c | |||
@@ -36,7 +36,6 @@ | |||
36 | #include <linux/delay.h> | 36 | #include <linux/delay.h> |
37 | #include <linux/workqueue.h> | 37 | #include <linux/workqueue.h> |
38 | #include <linux/nmi.h> | 38 | #include <linux/nmi.h> |
39 | #include <linux/kthread.h> | ||
40 | #include <acpi/acpi.h> | 39 | #include <acpi/acpi.h> |
41 | #include <asm/io.h> | 40 | #include <asm/io.h> |
42 | #include <acpi/acpi_bus.h> | 41 | #include <acpi/acpi_bus.h> |
@@ -583,16 +582,6 @@ static void acpi_os_execute_deferred(void *context) | |||
583 | return; | 582 | return; |
584 | } | 583 | } |
585 | 584 | ||
586 | static int acpi_os_execute_thread(void *context) | ||
587 | { | ||
588 | struct acpi_os_dpc *dpc = (struct acpi_os_dpc *)context; | ||
589 | if (dpc) { | ||
590 | dpc->function(dpc->context); | ||
591 | kfree(dpc); | ||
592 | } | ||
593 | do_exit(0); | ||
594 | } | ||
595 | |||
596 | /******************************************************************************* | 585 | /******************************************************************************* |
597 | * | 586 | * |
598 | * FUNCTION: acpi_os_execute | 587 | * FUNCTION: acpi_os_execute |
@@ -614,10 +603,16 @@ acpi_status acpi_os_execute(acpi_execute_type type, | |||
614 | acpi_status status = AE_OK; | 603 | acpi_status status = AE_OK; |
615 | struct acpi_os_dpc *dpc; | 604 | struct acpi_os_dpc *dpc; |
616 | struct work_struct *task; | 605 | struct work_struct *task; |
617 | struct task_struct *p; | 606 | |
607 | ACPI_FUNCTION_TRACE("os_queue_for_execution"); | ||
608 | |||
609 | ACPI_DEBUG_PRINT((ACPI_DB_EXEC, | ||
610 | "Scheduling function [%p(%p)] for deferred execution.\n", | ||
611 | function, context)); | ||
618 | 612 | ||
619 | if (!function) | 613 | if (!function) |
620 | return AE_BAD_PARAMETER; | 614 | return_ACPI_STATUS(AE_BAD_PARAMETER); |
615 | |||
621 | /* | 616 | /* |
622 | * Allocate/initialize DPC structure. Note that this memory will be | 617 | * Allocate/initialize DPC structure. Note that this memory will be |
623 | * freed by the callee. The kernel handles the tq_struct list in a | 618 | * freed by the callee. The kernel handles the tq_struct list in a |
@@ -628,34 +623,27 @@ acpi_status acpi_os_execute(acpi_execute_type type, | |||
628 | * We can save time and code by allocating the DPC and tq_structs | 623 | * We can save time and code by allocating the DPC and tq_structs |
629 | * from the same memory. | 624 | * from the same memory. |
630 | */ | 625 | */ |
631 | if (type == OSL_NOTIFY_HANDLER) { | 626 | |
632 | dpc = kmalloc(sizeof(struct acpi_os_dpc), GFP_KERNEL); | 627 | dpc = |
633 | } else { | 628 | kmalloc(sizeof(struct acpi_os_dpc) + sizeof(struct work_struct), |
634 | dpc = kmalloc(sizeof(struct acpi_os_dpc) + | 629 | GFP_ATOMIC); |
635 | sizeof(struct work_struct), GFP_ATOMIC); | ||
636 | } | ||
637 | if (!dpc) | 630 | if (!dpc) |
638 | return AE_NO_MEMORY; | 631 | return_ACPI_STATUS(AE_NO_MEMORY); |
632 | |||
639 | dpc->function = function; | 633 | dpc->function = function; |
640 | dpc->context = context; | 634 | dpc->context = context; |
641 | 635 | ||
642 | if (type == OSL_NOTIFY_HANDLER) { | 636 | task = (void *)(dpc + 1); |
643 | p = kthread_create(acpi_os_execute_thread, dpc, "kacpid_notify"); | 637 | INIT_WORK(task, acpi_os_execute_deferred, (void *)dpc); |
644 | if (!IS_ERR(p)) { | 638 | |
645 | wake_up_process(p); | 639 | if (!queue_work(kacpid_wq, task)) { |
646 | } else { | 640 | ACPI_DEBUG_PRINT((ACPI_DB_ERROR, |
647 | status = AE_NO_MEMORY; | 641 | "Call to queue_work() failed.\n")); |
648 | kfree(dpc); | 642 | kfree(dpc); |
649 | } | 643 | status = AE_ERROR; |
650 | } else { | ||
651 | task = (void *)(dpc + 1); | ||
652 | INIT_WORK(task, acpi_os_execute_deferred, (void *)dpc); | ||
653 | if (!queue_work(kacpid_wq, task)) { | ||
654 | status = AE_ERROR; | ||
655 | kfree(dpc); | ||
656 | } | ||
657 | } | 644 | } |
658 | return status; | 645 | |
646 | return_ACPI_STATUS(status); | ||
659 | } | 647 | } |
660 | 648 | ||
661 | EXPORT_SYMBOL(acpi_os_execute); | 649 | EXPORT_SYMBOL(acpi_os_execute); |
diff --git a/drivers/base/bus.c b/drivers/base/bus.c index 83fa8b291a59..2e954d07175a 100644 --- a/drivers/base/bus.c +++ b/drivers/base/bus.c | |||
@@ -129,7 +129,7 @@ static struct kobj_type ktype_bus = { | |||
129 | 129 | ||
130 | }; | 130 | }; |
131 | 131 | ||
132 | decl_subsys(bus, &ktype_bus, NULL); | 132 | static decl_subsys(bus, &ktype_bus, NULL); |
133 | 133 | ||
134 | 134 | ||
135 | #ifdef CONFIG_HOTPLUG | 135 | #ifdef CONFIG_HOTPLUG |
@@ -598,12 +598,13 @@ void put_bus(struct bus_type * bus) | |||
598 | * | 598 | * |
599 | * Note that kset_find_obj increments bus' reference count. | 599 | * Note that kset_find_obj increments bus' reference count. |
600 | */ | 600 | */ |
601 | 601 | #if 0 | |
602 | struct bus_type * find_bus(char * name) | 602 | struct bus_type * find_bus(char * name) |
603 | { | 603 | { |
604 | struct kobject * k = kset_find_obj(&bus_subsys.kset, name); | 604 | struct kobject * k = kset_find_obj(&bus_subsys.kset, name); |
605 | return k ? to_bus(k) : NULL; | 605 | return k ? to_bus(k) : NULL; |
606 | } | 606 | } |
607 | #endif /* 0 */ | ||
607 | 608 | ||
608 | 609 | ||
609 | /** | 610 | /** |
diff --git a/drivers/base/core.c b/drivers/base/core.c index b21f864c9ce8..be6b5bc0677d 100644 --- a/drivers/base/core.c +++ b/drivers/base/core.c | |||
@@ -559,20 +559,20 @@ static void device_create_release(struct device *dev) | |||
559 | 559 | ||
560 | /** | 560 | /** |
561 | * device_create - creates a device and registers it with sysfs | 561 | * device_create - creates a device and registers it with sysfs |
562 | * @cs: pointer to the struct class that this device should be registered to. | 562 | * @class: pointer to the struct class that this device should be registered to |
563 | * @parent: pointer to the parent struct device of this new device, if any. | 563 | * @parent: pointer to the parent struct device of this new device, if any |
564 | * @dev: the dev_t for the char device to be added. | 564 | * @devt: the dev_t for the char device to be added |
565 | * @fmt: string for the class device's name | 565 | * @fmt: string for the device's name |
566 | * | ||
567 | * This function can be used by char device classes. A struct device | ||
568 | * will be created in sysfs, registered to the specified class. | ||
566 | * | 569 | * |
567 | * This function can be used by char device classes. A struct | ||
568 | * device will be created in sysfs, registered to the specified | ||
569 | * class. | ||
570 | * A "dev" file will be created, showing the dev_t for the device, if | 570 | * A "dev" file will be created, showing the dev_t for the device, if |
571 | * the dev_t is not 0,0. | 571 | * the dev_t is not 0,0. |
572 | * If a pointer to a parent struct device is passed in, the newly | 572 | * If a pointer to a parent struct device is passed in, the newly created |
573 | * created struct device will be a child of that device in sysfs. The | 573 | * struct device will be a child of that device in sysfs. |
574 | * pointer to the struct device will be returned from the call. Any | 574 | * The pointer to the struct device will be returned from the call. |
575 | * further sysfs files that might be required can be created using this | 575 | * Any further sysfs files that might be required can be created using this |
576 | * pointer. | 576 | * pointer. |
577 | * | 577 | * |
578 | * Note: the struct class passed to this function must have previously | 578 | * Note: the struct class passed to this function must have previously |
@@ -620,11 +620,11 @@ EXPORT_SYMBOL_GPL(device_create); | |||
620 | 620 | ||
621 | /** | 621 | /** |
622 | * device_destroy - removes a device that was created with device_create() | 622 | * device_destroy - removes a device that was created with device_create() |
623 | * @class: the pointer to the struct class that this device was registered * with. | 623 | * @class: pointer to the struct class that this device was registered with |
624 | * @dev: the dev_t of the device that was previously registered. | 624 | * @devt: the dev_t of the device that was previously registered |
625 | * | 625 | * |
626 | * This call unregisters and cleans up a class device that was created with a | 626 | * This call unregisters and cleans up a device that was created with a |
627 | * call to class_device_create() | 627 | * call to device_create(). |
628 | */ | 628 | */ |
629 | void device_destroy(struct class *class, dev_t devt) | 629 | void device_destroy(struct class *class, dev_t devt) |
630 | { | 630 | { |
diff --git a/drivers/block/Kconfig b/drivers/block/Kconfig index 93d94749310b..b5382cedf0c0 100644 --- a/drivers/block/Kconfig +++ b/drivers/block/Kconfig | |||
@@ -400,6 +400,16 @@ config BLK_DEV_RAM_SIZE | |||
400 | what are you doing. If you are using IBM S/390, then set this to | 400 | what are you doing. If you are using IBM S/390, then set this to |
401 | 8192. | 401 | 8192. |
402 | 402 | ||
403 | config BLK_DEV_RAM_BLOCKSIZE | ||
404 | int "Default RAM disk block size (bytes)" | ||
405 | depends on BLK_DEV_RAM | ||
406 | default "1024" | ||
407 | help | ||
408 | The default value is 1024 kilobytes. PAGE_SIZE is a much more | ||
409 | efficient choice however. The default is kept to ensure initrd | ||
410 | setups function - apparently needed by the rd_load_image routine | ||
411 | that supposes the filesystem in the image uses a 1024 blocksize. | ||
412 | |||
403 | config BLK_DEV_INITRD | 413 | config BLK_DEV_INITRD |
404 | bool "Initial RAM filesystem and RAM disk (initramfs/initrd) support" | 414 | bool "Initial RAM filesystem and RAM disk (initramfs/initrd) support" |
405 | depends on BROKEN || !FRV | 415 | depends on BROKEN || !FRV |
diff --git a/drivers/block/cpqarray.c b/drivers/block/cpqarray.c index 757f42dd8e86..78082edc14b4 100644 --- a/drivers/block/cpqarray.c +++ b/drivers/block/cpqarray.c | |||
@@ -1739,8 +1739,6 @@ static void getgeometry(int ctlr) | |||
1739 | (log_index < id_ctlr_buf->nr_drvs) | 1739 | (log_index < id_ctlr_buf->nr_drvs) |
1740 | && (log_unit < NWD); | 1740 | && (log_unit < NWD); |
1741 | log_unit++) { | 1741 | log_unit++) { |
1742 | struct gendisk *disk = ida_gendisk[ctlr][log_unit]; | ||
1743 | |||
1744 | size = sizeof(sense_log_drv_stat_t); | 1742 | size = sizeof(sense_log_drv_stat_t); |
1745 | 1743 | ||
1746 | /* | 1744 | /* |
diff --git a/drivers/block/rd.c b/drivers/block/rd.c index 3cf246abb5ec..a3f64bfe6b58 100644 --- a/drivers/block/rd.c +++ b/drivers/block/rd.c | |||
@@ -84,7 +84,7 @@ int rd_size = CONFIG_BLK_DEV_RAM_SIZE; /* Size of the RAM disks */ | |||
84 | * behaviour. The default is still BLOCK_SIZE (needed by rd_load_image that | 84 | * behaviour. The default is still BLOCK_SIZE (needed by rd_load_image that |
85 | * supposes the filesystem in the image uses a BLOCK_SIZE blocksize). | 85 | * supposes the filesystem in the image uses a BLOCK_SIZE blocksize). |
86 | */ | 86 | */ |
87 | static int rd_blocksize = BLOCK_SIZE; /* blocksize of the RAM disks */ | 87 | static int rd_blocksize = CONFIG_BLK_DEV_RAM_BLOCKSIZE; |
88 | 88 | ||
89 | /* | 89 | /* |
90 | * Copyright (C) 2000 Linus Torvalds. | 90 | * Copyright (C) 2000 Linus Torvalds. |
diff --git a/drivers/bluetooth/hci_ldisc.c b/drivers/bluetooth/hci_ldisc.c index 1994270c16e1..93ba25b7ea32 100644 --- a/drivers/bluetooth/hci_ldisc.c +++ b/drivers/bluetooth/hci_ldisc.c | |||
@@ -191,7 +191,7 @@ static int hci_uart_flush(struct hci_dev *hdev) | |||
191 | 191 | ||
192 | /* Flush any pending characters in the driver and discipline. */ | 192 | /* Flush any pending characters in the driver and discipline. */ |
193 | tty_ldisc_flush(tty); | 193 | tty_ldisc_flush(tty); |
194 | if (tty->driver->flush_buffer) | 194 | if (tty->driver && tty->driver->flush_buffer) |
195 | tty->driver->flush_buffer(tty); | 195 | tty->driver->flush_buffer(tty); |
196 | 196 | ||
197 | if (test_bit(HCI_UART_PROTO_SET, &hu->flags)) | 197 | if (test_bit(HCI_UART_PROTO_SET, &hu->flags)) |
@@ -290,7 +290,7 @@ static int hci_uart_tty_open(struct tty_struct *tty) | |||
290 | if (tty->ldisc.flush_buffer) | 290 | if (tty->ldisc.flush_buffer) |
291 | tty->ldisc.flush_buffer(tty); | 291 | tty->ldisc.flush_buffer(tty); |
292 | 292 | ||
293 | if (tty->driver->flush_buffer) | 293 | if (tty->driver && tty->driver->flush_buffer) |
294 | tty->driver->flush_buffer(tty); | 294 | tty->driver->flush_buffer(tty); |
295 | 295 | ||
296 | return 0; | 296 | return 0; |
diff --git a/drivers/char/nsc_gpio.c b/drivers/char/nsc_gpio.c index 5b91e4e25641..7719bd75810b 100644 --- a/drivers/char/nsc_gpio.c +++ b/drivers/char/nsc_gpio.c | |||
@@ -68,13 +68,11 @@ ssize_t nsc_gpio_write(struct file *file, const char __user *data, | |||
68 | amp->gpio_config(m, ~1, 0); | 68 | amp->gpio_config(m, ~1, 0); |
69 | break; | 69 | break; |
70 | case 'T': | 70 | case 'T': |
71 | dev_dbg(dev, "GPIO%d output is push pull\n", | 71 | dev_dbg(dev, "GPIO%d output is push pull\n", m); |
72 | m); | ||
73 | amp->gpio_config(m, ~2, 2); | 72 | amp->gpio_config(m, ~2, 2); |
74 | break; | 73 | break; |
75 | case 't': | 74 | case 't': |
76 | dev_dbg(dev, "GPIO%d output is open drain\n", | 75 | dev_dbg(dev, "GPIO%d output is open drain\n", m); |
77 | m); | ||
78 | amp->gpio_config(m, ~2, 0); | 76 | amp->gpio_config(m, ~2, 0); |
79 | break; | 77 | break; |
80 | case 'P': | 78 | case 'P': |
diff --git a/drivers/char/pc8736x_gpio.c b/drivers/char/pc8736x_gpio.c index 11bd78c80628..645eb81cb5a9 100644 --- a/drivers/char/pc8736x_gpio.c +++ b/drivers/char/pc8736x_gpio.c | |||
@@ -212,22 +212,21 @@ static void pc8736x_gpio_change(unsigned index) | |||
212 | pc8736x_gpio_set(index, !pc8736x_gpio_current(index)); | 212 | pc8736x_gpio_set(index, !pc8736x_gpio_current(index)); |
213 | } | 213 | } |
214 | 214 | ||
215 | static struct nsc_gpio_ops pc8736x_access = { | 215 | static struct nsc_gpio_ops pc8736x_gpio_ops = { |
216 | .owner = THIS_MODULE, | 216 | .owner = THIS_MODULE, |
217 | .gpio_config = pc8736x_gpio_configure, | 217 | .gpio_config = pc8736x_gpio_configure, |
218 | .gpio_dump = nsc_gpio_dump, | 218 | .gpio_dump = nsc_gpio_dump, |
219 | .gpio_get = pc8736x_gpio_get, | 219 | .gpio_get = pc8736x_gpio_get, |
220 | .gpio_set = pc8736x_gpio_set, | 220 | .gpio_set = pc8736x_gpio_set, |
221 | .gpio_set_high = pc8736x_gpio_set_high, | ||
222 | .gpio_set_low = pc8736x_gpio_set_low, | ||
223 | .gpio_change = pc8736x_gpio_change, | 221 | .gpio_change = pc8736x_gpio_change, |
224 | .gpio_current = pc8736x_gpio_current | 222 | .gpio_current = pc8736x_gpio_current |
225 | }; | 223 | }; |
224 | EXPORT_SYMBOL(pc8736x_gpio_ops); | ||
226 | 225 | ||
227 | static int pc8736x_gpio_open(struct inode *inode, struct file *file) | 226 | static int pc8736x_gpio_open(struct inode *inode, struct file *file) |
228 | { | 227 | { |
229 | unsigned m = iminor(inode); | 228 | unsigned m = iminor(inode); |
230 | file->private_data = &pc8736x_access; | 229 | file->private_data = &pc8736x_gpio_ops; |
231 | 230 | ||
232 | dev_dbg(&pdev->dev, "open %d\n", m); | 231 | dev_dbg(&pdev->dev, "open %d\n", m); |
233 | 232 | ||
@@ -236,7 +235,7 @@ static int pc8736x_gpio_open(struct inode *inode, struct file *file) | |||
236 | return nonseekable_open(inode, file); | 235 | return nonseekable_open(inode, file); |
237 | } | 236 | } |
238 | 237 | ||
239 | static const struct file_operations pc8736x_gpio_fops = { | 238 | static const struct file_operations pc8736x_gpio_fileops = { |
240 | .owner = THIS_MODULE, | 239 | .owner = THIS_MODULE, |
241 | .open = pc8736x_gpio_open, | 240 | .open = pc8736x_gpio_open, |
242 | .write = nsc_gpio_write, | 241 | .write = nsc_gpio_write, |
@@ -278,7 +277,7 @@ static int __init pc8736x_gpio_init(void) | |||
278 | dev_err(&pdev->dev, "no device found\n"); | 277 | dev_err(&pdev->dev, "no device found\n"); |
279 | goto undo_platform_dev_add; | 278 | goto undo_platform_dev_add; |
280 | } | 279 | } |
281 | pc8736x_access.dev = &pdev->dev; | 280 | pc8736x_gpio_ops.dev = &pdev->dev; |
282 | 281 | ||
283 | /* Verify that chip and it's GPIO unit are both enabled. | 282 | /* Verify that chip and it's GPIO unit are both enabled. |
284 | My BIOS does this, so I take minimum action here | 283 | My BIOS does this, so I take minimum action here |
@@ -328,7 +327,7 @@ static int __init pc8736x_gpio_init(void) | |||
328 | pc8736x_init_shadow(); | 327 | pc8736x_init_shadow(); |
329 | 328 | ||
330 | /* ignore minor errs, and succeed */ | 329 | /* ignore minor errs, and succeed */ |
331 | cdev_init(&pc8736x_gpio_cdev, &pc8736x_gpio_fops); | 330 | cdev_init(&pc8736x_gpio_cdev, &pc8736x_gpio_fileops); |
332 | cdev_add(&pc8736x_gpio_cdev, devid, PC8736X_GPIO_CT); | 331 | cdev_add(&pc8736x_gpio_cdev, devid, PC8736X_GPIO_CT); |
333 | 332 | ||
334 | return 0; | 333 | return 0; |
@@ -355,7 +354,5 @@ static void __exit pc8736x_gpio_cleanup(void) | |||
355 | platform_device_put(pdev); | 354 | platform_device_put(pdev); |
356 | } | 355 | } |
357 | 356 | ||
358 | EXPORT_SYMBOL(pc8736x_access); | ||
359 | |||
360 | module_init(pc8736x_gpio_init); | 357 | module_init(pc8736x_gpio_init); |
361 | module_exit(pc8736x_gpio_cleanup); | 358 | module_exit(pc8736x_gpio_cleanup); |
diff --git a/drivers/char/rtc.c b/drivers/char/rtc.c index 6ccc364c08df..6e6a7c7a7eff 100644 --- a/drivers/char/rtc.c +++ b/drivers/char/rtc.c | |||
@@ -1245,7 +1245,7 @@ static int rtc_proc_open(struct inode *inode, struct file *file) | |||
1245 | 1245 | ||
1246 | void rtc_get_rtc_time(struct rtc_time *rtc_tm) | 1246 | void rtc_get_rtc_time(struct rtc_time *rtc_tm) |
1247 | { | 1247 | { |
1248 | unsigned long uip_watchdog = jiffies; | 1248 | unsigned long uip_watchdog = jiffies, flags; |
1249 | unsigned char ctrl; | 1249 | unsigned char ctrl; |
1250 | #ifdef CONFIG_MACH_DECSTATION | 1250 | #ifdef CONFIG_MACH_DECSTATION |
1251 | unsigned int real_year; | 1251 | unsigned int real_year; |
@@ -1272,7 +1272,7 @@ void rtc_get_rtc_time(struct rtc_time *rtc_tm) | |||
1272 | * RTC has RTC_DAY_OF_WEEK, we should usually ignore it, as it is | 1272 | * RTC has RTC_DAY_OF_WEEK, we should usually ignore it, as it is |
1273 | * only updated by the RTC when initially set to a non-zero value. | 1273 | * only updated by the RTC when initially set to a non-zero value. |
1274 | */ | 1274 | */ |
1275 | spin_lock_irq(&rtc_lock); | 1275 | spin_lock_irqsave(&rtc_lock, flags); |
1276 | rtc_tm->tm_sec = CMOS_READ(RTC_SECONDS); | 1276 | rtc_tm->tm_sec = CMOS_READ(RTC_SECONDS); |
1277 | rtc_tm->tm_min = CMOS_READ(RTC_MINUTES); | 1277 | rtc_tm->tm_min = CMOS_READ(RTC_MINUTES); |
1278 | rtc_tm->tm_hour = CMOS_READ(RTC_HOURS); | 1278 | rtc_tm->tm_hour = CMOS_READ(RTC_HOURS); |
@@ -1286,7 +1286,7 @@ void rtc_get_rtc_time(struct rtc_time *rtc_tm) | |||
1286 | real_year = CMOS_READ(RTC_DEC_YEAR); | 1286 | real_year = CMOS_READ(RTC_DEC_YEAR); |
1287 | #endif | 1287 | #endif |
1288 | ctrl = CMOS_READ(RTC_CONTROL); | 1288 | ctrl = CMOS_READ(RTC_CONTROL); |
1289 | spin_unlock_irq(&rtc_lock); | 1289 | spin_unlock_irqrestore(&rtc_lock, flags); |
1290 | 1290 | ||
1291 | if (!(ctrl & RTC_DM_BINARY) || RTC_ALWAYS_BCD) | 1291 | if (!(ctrl & RTC_DM_BINARY) || RTC_ALWAYS_BCD) |
1292 | { | 1292 | { |
diff --git a/drivers/char/scx200_gpio.c b/drivers/char/scx200_gpio.c index 425c58719db6..b956c7babd18 100644 --- a/drivers/char/scx200_gpio.c +++ b/drivers/char/scx200_gpio.c | |||
@@ -5,7 +5,6 @@ | |||
5 | 5 | ||
6 | Copyright (c) 2001,2002 Christer Weinigel <wingel@nano-system.com> */ | 6 | Copyright (c) 2001,2002 Christer Weinigel <wingel@nano-system.com> */ |
7 | 7 | ||
8 | #include <linux/config.h> | ||
9 | #include <linux/device.h> | 8 | #include <linux/device.h> |
10 | #include <linux/fs.h> | 9 | #include <linux/fs.h> |
11 | #include <linux/module.h> | 10 | #include <linux/module.h> |
@@ -22,37 +21,37 @@ | |||
22 | #include <linux/scx200_gpio.h> | 21 | #include <linux/scx200_gpio.h> |
23 | #include <linux/nsc_gpio.h> | 22 | #include <linux/nsc_gpio.h> |
24 | 23 | ||
25 | #define NAME "scx200_gpio" | 24 | #define DRVNAME "scx200_gpio" |
26 | #define DEVNAME NAME | ||
27 | 25 | ||
28 | static struct platform_device *pdev; | 26 | static struct platform_device *pdev; |
29 | 27 | ||
30 | MODULE_AUTHOR("Christer Weinigel <wingel@nano-system.com>"); | 28 | MODULE_AUTHOR("Christer Weinigel <wingel@nano-system.com>"); |
31 | MODULE_DESCRIPTION("NatSemi SCx200 GPIO Pin Driver"); | 29 | MODULE_DESCRIPTION("NatSemi/AMD SCx200 GPIO Pin Driver"); |
32 | MODULE_LICENSE("GPL"); | 30 | MODULE_LICENSE("GPL"); |
33 | 31 | ||
34 | static int major = 0; /* default to dynamic major */ | 32 | static int major = 0; /* default to dynamic major */ |
35 | module_param(major, int, 0); | 33 | module_param(major, int, 0); |
36 | MODULE_PARM_DESC(major, "Major device number"); | 34 | MODULE_PARM_DESC(major, "Major device number"); |
37 | 35 | ||
38 | struct nsc_gpio_ops scx200_access = { | 36 | #define MAX_PINS 32 /* 64 later, when known ok */ |
37 | |||
38 | struct nsc_gpio_ops scx200_gpio_ops = { | ||
39 | .owner = THIS_MODULE, | 39 | .owner = THIS_MODULE, |
40 | .gpio_config = scx200_gpio_configure, | 40 | .gpio_config = scx200_gpio_configure, |
41 | .gpio_dump = nsc_gpio_dump, | 41 | .gpio_dump = nsc_gpio_dump, |
42 | .gpio_get = scx200_gpio_get, | 42 | .gpio_get = scx200_gpio_get, |
43 | .gpio_set = scx200_gpio_set, | 43 | .gpio_set = scx200_gpio_set, |
44 | .gpio_set_high = scx200_gpio_set_high, | ||
45 | .gpio_set_low = scx200_gpio_set_low, | ||
46 | .gpio_change = scx200_gpio_change, | 44 | .gpio_change = scx200_gpio_change, |
47 | .gpio_current = scx200_gpio_current | 45 | .gpio_current = scx200_gpio_current |
48 | }; | 46 | }; |
47 | EXPORT_SYMBOL(scx200_gpio_ops); | ||
49 | 48 | ||
50 | static int scx200_gpio_open(struct inode *inode, struct file *file) | 49 | static int scx200_gpio_open(struct inode *inode, struct file *file) |
51 | { | 50 | { |
52 | unsigned m = iminor(inode); | 51 | unsigned m = iminor(inode); |
53 | file->private_data = &scx200_access; | 52 | file->private_data = &scx200_gpio_ops; |
54 | 53 | ||
55 | if (m > 63) | 54 | if (m >= MAX_PINS) |
56 | return -EINVAL; | 55 | return -EINVAL; |
57 | return nonseekable_open(inode, file); | 56 | return nonseekable_open(inode, file); |
58 | } | 57 | } |
@@ -62,8 +61,7 @@ static int scx200_gpio_release(struct inode *inode, struct file *file) | |||
62 | return 0; | 61 | return 0; |
63 | } | 62 | } |
64 | 63 | ||
65 | 64 | static const struct file_operations scx200_gpio_fileops = { | |
66 | static const struct file_operations scx200_gpio_fops = { | ||
67 | .owner = THIS_MODULE, | 65 | .owner = THIS_MODULE, |
68 | .write = nsc_gpio_write, | 66 | .write = nsc_gpio_write, |
69 | .read = nsc_gpio_read, | 67 | .read = nsc_gpio_read, |
@@ -71,21 +69,20 @@ static const struct file_operations scx200_gpio_fops = { | |||
71 | .release = scx200_gpio_release, | 69 | .release = scx200_gpio_release, |
72 | }; | 70 | }; |
73 | 71 | ||
74 | struct cdev *scx200_devices; | 72 | struct cdev scx200_gpio_cdev; /* use 1 cdev for all pins */ |
75 | static int num_pins = 32; | ||
76 | 73 | ||
77 | static int __init scx200_gpio_init(void) | 74 | static int __init scx200_gpio_init(void) |
78 | { | 75 | { |
79 | int rc, i; | 76 | int rc; |
80 | dev_t dev = MKDEV(major, 0); | 77 | dev_t devid; |
81 | 78 | ||
82 | if (!scx200_gpio_present()) { | 79 | if (!scx200_gpio_present()) { |
83 | printk(KERN_ERR NAME ": no SCx200 gpio present\n"); | 80 | printk(KERN_ERR DRVNAME ": no SCx200 gpio present\n"); |
84 | return -ENODEV; | 81 | return -ENODEV; |
85 | } | 82 | } |
86 | 83 | ||
87 | /* support dev_dbg() with pdev->dev */ | 84 | /* support dev_dbg() with pdev->dev */ |
88 | pdev = platform_device_alloc(DEVNAME, 0); | 85 | pdev = platform_device_alloc(DRVNAME, 0); |
89 | if (!pdev) | 86 | if (!pdev) |
90 | return -ENOMEM; | 87 | return -ENOMEM; |
91 | 88 | ||
@@ -94,37 +91,25 @@ static int __init scx200_gpio_init(void) | |||
94 | goto undo_malloc; | 91 | goto undo_malloc; |
95 | 92 | ||
96 | /* nsc_gpio uses dev_dbg(), so needs this */ | 93 | /* nsc_gpio uses dev_dbg(), so needs this */ |
97 | scx200_access.dev = &pdev->dev; | 94 | scx200_gpio_ops.dev = &pdev->dev; |
98 | 95 | ||
99 | if (major) | 96 | if (major) { |
100 | rc = register_chrdev_region(dev, num_pins, "scx200_gpio"); | 97 | devid = MKDEV(major, 0); |
101 | else { | 98 | rc = register_chrdev_region(devid, MAX_PINS, "scx200_gpio"); |
102 | rc = alloc_chrdev_region(&dev, 0, num_pins, "scx200_gpio"); | 99 | } else { |
103 | major = MAJOR(dev); | 100 | rc = alloc_chrdev_region(&devid, 0, MAX_PINS, "scx200_gpio"); |
101 | major = MAJOR(devid); | ||
104 | } | 102 | } |
105 | if (rc < 0) { | 103 | if (rc < 0) { |
106 | dev_err(&pdev->dev, "SCx200 chrdev_region err: %d\n", rc); | 104 | dev_err(&pdev->dev, "SCx200 chrdev_region err: %d\n", rc); |
107 | goto undo_platform_device_add; | 105 | goto undo_platform_device_add; |
108 | } | 106 | } |
109 | scx200_devices = kzalloc(num_pins * sizeof(struct cdev), GFP_KERNEL); | 107 | |
110 | if (!scx200_devices) { | 108 | cdev_init(&scx200_gpio_cdev, &scx200_gpio_fileops); |
111 | rc = -ENOMEM; | 109 | cdev_add(&scx200_gpio_cdev, devid, MAX_PINS); |
112 | goto undo_chrdev_region; | ||
113 | } | ||
114 | for (i = 0; i < num_pins; i++) { | ||
115 | struct cdev *cdev = &scx200_devices[i]; | ||
116 | cdev_init(cdev, &scx200_gpio_fops); | ||
117 | cdev->owner = THIS_MODULE; | ||
118 | rc = cdev_add(cdev, MKDEV(major, i), 1); | ||
119 | /* tolerate 'minor' errors */ | ||
120 | if (rc) | ||
121 | dev_err(&pdev->dev, "Error %d on minor %d", rc, i); | ||
122 | } | ||
123 | 110 | ||
124 | return 0; /* succeed */ | 111 | return 0; /* succeed */ |
125 | 112 | ||
126 | undo_chrdev_region: | ||
127 | unregister_chrdev_region(dev, num_pins); | ||
128 | undo_platform_device_add: | 113 | undo_platform_device_add: |
129 | platform_device_del(pdev); | 114 | platform_device_del(pdev); |
130 | undo_malloc: | 115 | undo_malloc: |
@@ -135,10 +120,11 @@ undo_malloc: | |||
135 | 120 | ||
136 | static void __exit scx200_gpio_cleanup(void) | 121 | static void __exit scx200_gpio_cleanup(void) |
137 | { | 122 | { |
138 | kfree(scx200_devices); | 123 | cdev_del(&scx200_gpio_cdev); |
139 | unregister_chrdev_region(MKDEV(major, 0), num_pins); | 124 | /* cdev_put(&scx200_gpio_cdev); */ |
125 | |||
126 | unregister_chrdev_region(MKDEV(major, 0), MAX_PINS); | ||
140 | platform_device_unregister(pdev); | 127 | platform_device_unregister(pdev); |
141 | /* kfree(pdev); */ | ||
142 | } | 128 | } |
143 | 129 | ||
144 | module_init(scx200_gpio_init); | 130 | module_init(scx200_gpio_init); |
diff --git a/drivers/char/tpm/tpm.c b/drivers/char/tpm/tpm.c index 6889e7db3aff..a082a2e34252 100644 --- a/drivers/char/tpm/tpm.c +++ b/drivers/char/tpm/tpm.c | |||
@@ -1141,6 +1141,7 @@ struct tpm_chip *tpm_register_hardware(struct device *dev, const struct tpm_vend | |||
1141 | put_device(dev); | 1141 | put_device(dev); |
1142 | clear_bit(chip->dev_num, dev_mask); | 1142 | clear_bit(chip->dev_num, dev_mask); |
1143 | kfree(chip); | 1143 | kfree(chip); |
1144 | kfree(devname); | ||
1144 | return NULL; | 1145 | return NULL; |
1145 | } | 1146 | } |
1146 | 1147 | ||
diff --git a/drivers/char/tpm/tpm_tis.c b/drivers/char/tpm/tpm_tis.c index 3232b1932597..ee7ac6f43c65 100644 --- a/drivers/char/tpm/tpm_tis.c +++ b/drivers/char/tpm/tpm_tis.c | |||
@@ -424,6 +424,7 @@ static irqreturn_t tis_int_handler(int irq, void *dev_id, struct pt_regs *regs) | |||
424 | iowrite32(interrupt, | 424 | iowrite32(interrupt, |
425 | chip->vendor.iobase + | 425 | chip->vendor.iobase + |
426 | TPM_INT_STATUS(chip->vendor.locality)); | 426 | TPM_INT_STATUS(chip->vendor.locality)); |
427 | ioread32(chip->vendor.iobase + TPM_INT_STATUS(chip->vendor.locality)); | ||
427 | return IRQ_HANDLED; | 428 | return IRQ_HANDLED; |
428 | } | 429 | } |
429 | 430 | ||
@@ -431,23 +432,19 @@ static int interrupts = 1; | |||
431 | module_param(interrupts, bool, 0444); | 432 | module_param(interrupts, bool, 0444); |
432 | MODULE_PARM_DESC(interrupts, "Enable interrupts"); | 433 | MODULE_PARM_DESC(interrupts, "Enable interrupts"); |
433 | 434 | ||
434 | static int __devinit tpm_tis_pnp_init(struct pnp_dev *pnp_dev, | 435 | static int tpm_tis_init(struct device *dev, resource_size_t start, |
435 | const struct pnp_device_id *pnp_id) | 436 | resource_size_t len) |
436 | { | 437 | { |
437 | u32 vendor, intfcaps, intmask; | 438 | u32 vendor, intfcaps, intmask; |
438 | int rc, i; | 439 | int rc, i; |
439 | unsigned long start, len; | ||
440 | struct tpm_chip *chip; | 440 | struct tpm_chip *chip; |
441 | 441 | ||
442 | start = pnp_mem_start(pnp_dev, 0); | ||
443 | len = pnp_mem_len(pnp_dev, 0); | ||
444 | |||
445 | if (!start) | 442 | if (!start) |
446 | start = TIS_MEM_BASE; | 443 | start = TIS_MEM_BASE; |
447 | if (!len) | 444 | if (!len) |
448 | len = TIS_MEM_LEN; | 445 | len = TIS_MEM_LEN; |
449 | 446 | ||
450 | if (!(chip = tpm_register_hardware(&pnp_dev->dev, &tpm_tis))) | 447 | if (!(chip = tpm_register_hardware(dev, &tpm_tis))) |
451 | return -ENODEV; | 448 | return -ENODEV; |
452 | 449 | ||
453 | chip->vendor.iobase = ioremap(start, len); | 450 | chip->vendor.iobase = ioremap(start, len); |
@@ -464,7 +461,7 @@ static int __devinit tpm_tis_pnp_init(struct pnp_dev *pnp_dev, | |||
464 | chip->vendor.timeout_c = msecs_to_jiffies(TIS_SHORT_TIMEOUT); | 461 | chip->vendor.timeout_c = msecs_to_jiffies(TIS_SHORT_TIMEOUT); |
465 | chip->vendor.timeout_d = msecs_to_jiffies(TIS_SHORT_TIMEOUT); | 462 | chip->vendor.timeout_d = msecs_to_jiffies(TIS_SHORT_TIMEOUT); |
466 | 463 | ||
467 | dev_info(&pnp_dev->dev, | 464 | dev_info(dev, |
468 | "1.2 TPM (device-id 0x%X, rev-id %d)\n", | 465 | "1.2 TPM (device-id 0x%X, rev-id %d)\n", |
469 | vendor >> 16, ioread8(chip->vendor.iobase + TPM_RID(0))); | 466 | vendor >> 16, ioread8(chip->vendor.iobase + TPM_RID(0))); |
470 | 467 | ||
@@ -472,26 +469,26 @@ static int __devinit tpm_tis_pnp_init(struct pnp_dev *pnp_dev, | |||
472 | intfcaps = | 469 | intfcaps = |
473 | ioread32(chip->vendor.iobase + | 470 | ioread32(chip->vendor.iobase + |
474 | TPM_INTF_CAPS(chip->vendor.locality)); | 471 | TPM_INTF_CAPS(chip->vendor.locality)); |
475 | dev_dbg(&pnp_dev->dev, "TPM interface capabilities (0x%x):\n", | 472 | dev_dbg(dev, "TPM interface capabilities (0x%x):\n", |
476 | intfcaps); | 473 | intfcaps); |
477 | if (intfcaps & TPM_INTF_BURST_COUNT_STATIC) | 474 | if (intfcaps & TPM_INTF_BURST_COUNT_STATIC) |
478 | dev_dbg(&pnp_dev->dev, "\tBurst Count Static\n"); | 475 | dev_dbg(dev, "\tBurst Count Static\n"); |
479 | if (intfcaps & TPM_INTF_CMD_READY_INT) | 476 | if (intfcaps & TPM_INTF_CMD_READY_INT) |
480 | dev_dbg(&pnp_dev->dev, "\tCommand Ready Int Support\n"); | 477 | dev_dbg(dev, "\tCommand Ready Int Support\n"); |
481 | if (intfcaps & TPM_INTF_INT_EDGE_FALLING) | 478 | if (intfcaps & TPM_INTF_INT_EDGE_FALLING) |
482 | dev_dbg(&pnp_dev->dev, "\tInterrupt Edge Falling\n"); | 479 | dev_dbg(dev, "\tInterrupt Edge Falling\n"); |
483 | if (intfcaps & TPM_INTF_INT_EDGE_RISING) | 480 | if (intfcaps & TPM_INTF_INT_EDGE_RISING) |
484 | dev_dbg(&pnp_dev->dev, "\tInterrupt Edge Rising\n"); | 481 | dev_dbg(dev, "\tInterrupt Edge Rising\n"); |
485 | if (intfcaps & TPM_INTF_INT_LEVEL_LOW) | 482 | if (intfcaps & TPM_INTF_INT_LEVEL_LOW) |
486 | dev_dbg(&pnp_dev->dev, "\tInterrupt Level Low\n"); | 483 | dev_dbg(dev, "\tInterrupt Level Low\n"); |
487 | if (intfcaps & TPM_INTF_INT_LEVEL_HIGH) | 484 | if (intfcaps & TPM_INTF_INT_LEVEL_HIGH) |
488 | dev_dbg(&pnp_dev->dev, "\tInterrupt Level High\n"); | 485 | dev_dbg(dev, "\tInterrupt Level High\n"); |
489 | if (intfcaps & TPM_INTF_LOCALITY_CHANGE_INT) | 486 | if (intfcaps & TPM_INTF_LOCALITY_CHANGE_INT) |
490 | dev_dbg(&pnp_dev->dev, "\tLocality Change Int Support\n"); | 487 | dev_dbg(dev, "\tLocality Change Int Support\n"); |
491 | if (intfcaps & TPM_INTF_STS_VALID_INT) | 488 | if (intfcaps & TPM_INTF_STS_VALID_INT) |
492 | dev_dbg(&pnp_dev->dev, "\tSts Valid Int Support\n"); | 489 | dev_dbg(dev, "\tSts Valid Int Support\n"); |
493 | if (intfcaps & TPM_INTF_DATA_AVAIL_INT) | 490 | if (intfcaps & TPM_INTF_DATA_AVAIL_INT) |
494 | dev_dbg(&pnp_dev->dev, "\tData Avail Int Support\n"); | 491 | dev_dbg(dev, "\tData Avail Int Support\n"); |
495 | 492 | ||
496 | if (request_locality(chip, 0) != 0) { | 493 | if (request_locality(chip, 0) != 0) { |
497 | rc = -ENODEV; | 494 | rc = -ENODEV; |
@@ -594,6 +591,16 @@ out_err: | |||
594 | return rc; | 591 | return rc; |
595 | } | 592 | } |
596 | 593 | ||
594 | static int __devinit tpm_tis_pnp_init(struct pnp_dev *pnp_dev, | ||
595 | const struct pnp_device_id *pnp_id) | ||
596 | { | ||
597 | resource_size_t start, len; | ||
598 | start = pnp_mem_start(pnp_dev, 0); | ||
599 | len = pnp_mem_len(pnp_dev, 0); | ||
600 | |||
601 | return tpm_tis_init(&pnp_dev->dev, start, len); | ||
602 | } | ||
603 | |||
597 | static int tpm_tis_pnp_suspend(struct pnp_dev *dev, pm_message_t msg) | 604 | static int tpm_tis_pnp_suspend(struct pnp_dev *dev, pm_message_t msg) |
598 | { | 605 | { |
599 | return tpm_pm_suspend(&dev->dev, msg); | 606 | return tpm_pm_suspend(&dev->dev, msg); |
@@ -628,8 +635,36 @@ module_param_string(hid, tpm_pnp_tbl[TIS_HID_USR_IDX].id, | |||
628 | sizeof(tpm_pnp_tbl[TIS_HID_USR_IDX].id), 0444); | 635 | sizeof(tpm_pnp_tbl[TIS_HID_USR_IDX].id), 0444); |
629 | MODULE_PARM_DESC(hid, "Set additional specific HID for this driver to probe"); | 636 | MODULE_PARM_DESC(hid, "Set additional specific HID for this driver to probe"); |
630 | 637 | ||
638 | static struct device_driver tis_drv = { | ||
639 | .name = "tpm_tis", | ||
640 | .bus = &platform_bus_type, | ||
641 | .owner = THIS_MODULE, | ||
642 | .suspend = tpm_pm_suspend, | ||
643 | .resume = tpm_pm_resume, | ||
644 | }; | ||
645 | |||
646 | static struct platform_device *pdev; | ||
647 | |||
648 | static int force; | ||
649 | module_param(force, bool, 0444); | ||
650 | MODULE_PARM_DESC(force, "Force device probe rather than using ACPI entry"); | ||
631 | static int __init init_tis(void) | 651 | static int __init init_tis(void) |
632 | { | 652 | { |
653 | int rc; | ||
654 | |||
655 | if (force) { | ||
656 | rc = driver_register(&tis_drv); | ||
657 | if (rc < 0) | ||
658 | return rc; | ||
659 | if (IS_ERR(pdev=platform_device_register_simple("tpm_tis", -1, NULL, 0))) | ||
660 | return PTR_ERR(pdev); | ||
661 | if((rc=tpm_tis_init(&pdev->dev, 0, 0)) != 0) { | ||
662 | platform_device_unregister(pdev); | ||
663 | driver_unregister(&tis_drv); | ||
664 | } | ||
665 | return rc; | ||
666 | } | ||
667 | |||
633 | return pnp_register_driver(&tis_pnp_driver); | 668 | return pnp_register_driver(&tis_pnp_driver); |
634 | } | 669 | } |
635 | 670 | ||
@@ -654,7 +689,11 @@ static void __exit cleanup_tis(void) | |||
654 | tpm_remove_hardware(chip->dev); | 689 | tpm_remove_hardware(chip->dev); |
655 | } | 690 | } |
656 | spin_unlock(&tis_lock); | 691 | spin_unlock(&tis_lock); |
657 | pnp_unregister_driver(&tis_pnp_driver); | 692 | if (force) { |
693 | platform_device_unregister(pdev); | ||
694 | driver_unregister(&tis_drv); | ||
695 | } else | ||
696 | pnp_unregister_driver(&tis_pnp_driver); | ||
658 | } | 697 | } |
659 | 698 | ||
660 | module_init(init_tis); | 699 | module_init(init_tis); |
diff --git a/drivers/char/vr41xx_giu.c b/drivers/char/vr41xx_giu.c index 1b9b1f1d4c49..8116a47b80f4 100644 --- a/drivers/char/vr41xx_giu.c +++ b/drivers/char/vr41xx_giu.c | |||
@@ -33,6 +33,7 @@ | |||
33 | #include <asm/cpu.h> | 33 | #include <asm/cpu.h> |
34 | #include <asm/io.h> | 34 | #include <asm/io.h> |
35 | #include <asm/vr41xx/giu.h> | 35 | #include <asm/vr41xx/giu.h> |
36 | #include <asm/vr41xx/irq.h> | ||
36 | #include <asm/vr41xx/vr41xx.h> | 37 | #include <asm/vr41xx/vr41xx.h> |
37 | 38 | ||
38 | MODULE_AUTHOR("Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>"); | 39 | MODULE_AUTHOR("Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>"); |
diff --git a/drivers/crypto/padlock-aes.c b/drivers/crypto/padlock-aes.c index 17ee684144f9..b643d71298a9 100644 --- a/drivers/crypto/padlock-aes.c +++ b/drivers/crypto/padlock-aes.c | |||
@@ -59,6 +59,9 @@ | |||
59 | #define AES_EXTENDED_KEY_SIZE 64 /* in uint32_t units */ | 59 | #define AES_EXTENDED_KEY_SIZE 64 /* in uint32_t units */ |
60 | #define AES_EXTENDED_KEY_SIZE_B (AES_EXTENDED_KEY_SIZE * sizeof(uint32_t)) | 60 | #define AES_EXTENDED_KEY_SIZE_B (AES_EXTENDED_KEY_SIZE * sizeof(uint32_t)) |
61 | 61 | ||
62 | /* Whenever making any changes to the following | ||
63 | * structure *make sure* you keep E, d_data | ||
64 | * and cword aligned on 16 Bytes boundaries!!! */ | ||
62 | struct aes_ctx { | 65 | struct aes_ctx { |
63 | struct { | 66 | struct { |
64 | struct cword encrypt; | 67 | struct cword encrypt; |
@@ -66,8 +69,10 @@ struct aes_ctx { | |||
66 | } cword; | 69 | } cword; |
67 | u32 *D; | 70 | u32 *D; |
68 | int key_length; | 71 | int key_length; |
69 | u32 E[AES_EXTENDED_KEY_SIZE]; | 72 | u32 E[AES_EXTENDED_KEY_SIZE] |
70 | u32 d_data[AES_EXTENDED_KEY_SIZE]; | 73 | __attribute__ ((__aligned__(PADLOCK_ALIGNMENT))); |
74 | u32 d_data[AES_EXTENDED_KEY_SIZE] | ||
75 | __attribute__ ((__aligned__(PADLOCK_ALIGNMENT))); | ||
71 | }; | 76 | }; |
72 | 77 | ||
73 | /* ====== Key management routines ====== */ | 78 | /* ====== Key management routines ====== */ |
diff --git a/drivers/hwmon/abituguru.c b/drivers/hwmon/abituguru.c index 59122cc0a50a..cc15c4f2e9ec 100644 --- a/drivers/hwmon/abituguru.c +++ b/drivers/hwmon/abituguru.c | |||
@@ -142,6 +142,14 @@ static const u8 abituguru_pwm_max[5] = { 0, 255, 255, 75, 75 }; | |||
142 | static int force; | 142 | static int force; |
143 | module_param(force, bool, 0); | 143 | module_param(force, bool, 0); |
144 | MODULE_PARM_DESC(force, "Set to one to force detection."); | 144 | MODULE_PARM_DESC(force, "Set to one to force detection."); |
145 | static int bank1_types[ABIT_UGURU_MAX_BANK1_SENSORS] = { -1, -1, -1, -1, -1, | ||
146 | -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }; | ||
147 | module_param_array(bank1_types, int, NULL, 0); | ||
148 | MODULE_PARM_DESC(bank1_types, "Bank1 sensortype autodetection override:\n" | ||
149 | " -1 autodetect\n" | ||
150 | " 0 volt sensor\n" | ||
151 | " 1 temp sensor\n" | ||
152 | " 2 not connected"); | ||
145 | static int fan_sensors; | 153 | static int fan_sensors; |
146 | module_param(fan_sensors, int, 0); | 154 | module_param(fan_sensors, int, 0); |
147 | MODULE_PARM_DESC(fan_sensors, "Number of fan sensors on the uGuru " | 155 | MODULE_PARM_DESC(fan_sensors, "Number of fan sensors on the uGuru " |
@@ -397,6 +405,15 @@ abituguru_detect_bank1_sensor_type(struct abituguru_data *data, | |||
397 | u8 val, buf[3]; | 405 | u8 val, buf[3]; |
398 | int ret = ABIT_UGURU_NC; | 406 | int ret = ABIT_UGURU_NC; |
399 | 407 | ||
408 | /* If overriden by the user return the user selected type */ | ||
409 | if (bank1_types[sensor_addr] >= ABIT_UGURU_IN_SENSOR && | ||
410 | bank1_types[sensor_addr] <= ABIT_UGURU_NC) { | ||
411 | ABIT_UGURU_DEBUG(2, "assuming sensor type %d for bank1 sensor " | ||
412 | "%d because of \"bank1_types\" module param\n", | ||
413 | bank1_types[sensor_addr], (int)sensor_addr); | ||
414 | return bank1_types[sensor_addr]; | ||
415 | } | ||
416 | |||
400 | /* First read the sensor and the current settings */ | 417 | /* First read the sensor and the current settings */ |
401 | if (abituguru_read(data, ABIT_UGURU_SENSOR_BANK1, sensor_addr, &val, | 418 | if (abituguru_read(data, ABIT_UGURU_SENSOR_BANK1, sensor_addr, &val, |
402 | 1, ABIT_UGURU_MAX_RETRIES) != 1) | 419 | 1, ABIT_UGURU_MAX_RETRIES) != 1) |
@@ -514,7 +531,7 @@ abituguru_detect_no_bank2_sensors(struct abituguru_data *data) | |||
514 | { | 531 | { |
515 | int i; | 532 | int i; |
516 | 533 | ||
517 | if (fan_sensors) { | 534 | if (fan_sensors > 0 && fan_sensors <= ABIT_UGURU_MAX_BANK2_SENSORS) { |
518 | data->bank2_sensors = fan_sensors; | 535 | data->bank2_sensors = fan_sensors; |
519 | ABIT_UGURU_DEBUG(2, "assuming %d fan sensors because of " | 536 | ABIT_UGURU_DEBUG(2, "assuming %d fan sensors because of " |
520 | "\"fan_sensors\" module param\n", | 537 | "\"fan_sensors\" module param\n", |
@@ -568,7 +585,7 @@ abituguru_detect_no_pwms(struct abituguru_data *data) | |||
568 | { | 585 | { |
569 | int i, j; | 586 | int i, j; |
570 | 587 | ||
571 | if (pwms) { | 588 | if (pwms > 0 && pwms <= ABIT_UGURU_MAX_PWMS) { |
572 | data->pwms = pwms; | 589 | data->pwms = pwms; |
573 | ABIT_UGURU_DEBUG(2, "assuming %d PWM outputs because of " | 590 | ABIT_UGURU_DEBUG(2, "assuming %d PWM outputs because of " |
574 | "\"pwms\" module param\n", (int)data->pwms); | 591 | "\"pwms\" module param\n", (int)data->pwms); |
diff --git a/drivers/i2c/algos/i2c-algo-bit.c b/drivers/i2c/algos/i2c-algo-bit.c index df05df1a0ef6..ab230c033f99 100644 --- a/drivers/i2c/algos/i2c-algo-bit.c +++ b/drivers/i2c/algos/i2c-algo-bit.c | |||
@@ -372,7 +372,6 @@ static inline int readbytes(struct i2c_adapter *i2c_adap, struct i2c_msg *msg) | |||
372 | 372 | ||
373 | while (count > 0) { | 373 | while (count > 0) { |
374 | inval = i2c_inb(i2c_adap); | 374 | inval = i2c_inb(i2c_adap); |
375 | /*printk("%#02x ",inval); if ( ! (count % 16) ) printk("\n"); */ | ||
376 | if (inval>=0) { | 375 | if (inval>=0) { |
377 | *temp = inval; | 376 | *temp = inval; |
378 | rdcount++; | 377 | rdcount++; |
@@ -544,8 +543,7 @@ int i2c_bit_add_bus(struct i2c_adapter *adap) | |||
544 | adap->timeout = 100; /* default values, should */ | 543 | adap->timeout = 100; /* default values, should */ |
545 | adap->retries = 3; /* be replaced by defines */ | 544 | adap->retries = 3; /* be replaced by defines */ |
546 | 545 | ||
547 | i2c_add_adapter(adap); | 546 | return i2c_add_adapter(adap); |
548 | return 0; | ||
549 | } | 547 | } |
550 | 548 | ||
551 | 549 | ||
diff --git a/drivers/i2c/algos/i2c-algo-ite.c b/drivers/i2c/algos/i2c-algo-ite.c index 2db7bfc85225..70d8eefb5efc 100644 --- a/drivers/i2c/algos/i2c-algo-ite.c +++ b/drivers/i2c/algos/i2c-algo-ite.c | |||
@@ -742,10 +742,8 @@ int i2c_iic_add_bus(struct i2c_adapter *adap) | |||
742 | adap->retries = 3; /* be replaced by defines */ | 742 | adap->retries = 3; /* be replaced by defines */ |
743 | adap->flags = 0; | 743 | adap->flags = 0; |
744 | 744 | ||
745 | i2c_add_adapter(adap); | ||
746 | iic_init(iic_adap); | 745 | iic_init(iic_adap); |
747 | 746 | return i2c_add_adapter(adap); | |
748 | return 0; | ||
749 | } | 747 | } |
750 | 748 | ||
751 | 749 | ||
diff --git a/drivers/i2c/algos/i2c-algo-pca.c b/drivers/i2c/algos/i2c-algo-pca.c index 82946acab4c7..b88a6fcf7bd0 100644 --- a/drivers/i2c/algos/i2c-algo-pca.c +++ b/drivers/i2c/algos/i2c-algo-pca.c | |||
@@ -374,10 +374,10 @@ int i2c_pca_add_bus(struct i2c_adapter *adap) | |||
374 | adap->timeout = 100; /* default values, should */ | 374 | adap->timeout = 100; /* default values, should */ |
375 | adap->retries = 3; /* be replaced by defines */ | 375 | adap->retries = 3; /* be replaced by defines */ |
376 | 376 | ||
377 | rval = pca_init(pca_adap); | 377 | if ((rval = pca_init(pca_adap))) |
378 | return rval; | ||
378 | 379 | ||
379 | if (!rval) | 380 | rval = i2c_add_adapter(adap); |
380 | i2c_add_adapter(adap); | ||
381 | 381 | ||
382 | return rval; | 382 | return rval; |
383 | } | 383 | } |
diff --git a/drivers/i2c/algos/i2c-algo-pcf.c b/drivers/i2c/algos/i2c-algo-pcf.c index 6e498df1f717..5b24930adb5a 100644 --- a/drivers/i2c/algos/i2c-algo-pcf.c +++ b/drivers/i2c/algos/i2c-algo-pcf.c | |||
@@ -479,9 +479,11 @@ int i2c_pcf_add_bus(struct i2c_adapter *adap) | |||
479 | adap->timeout = 100; /* default values, should */ | 479 | adap->timeout = 100; /* default values, should */ |
480 | adap->retries = 3; /* be replaced by defines */ | 480 | adap->retries = 3; /* be replaced by defines */ |
481 | 481 | ||
482 | rval = pcf_init_8584(pcf_adap); | 482 | if ((rval = pcf_init_8584(pcf_adap))) |
483 | if (!rval) | 483 | return rval; |
484 | i2c_add_adapter(adap); | 484 | |
485 | rval = i2c_add_adapter(adap); | ||
486 | |||
485 | return rval; | 487 | return rval; |
486 | } | 488 | } |
487 | 489 | ||
diff --git a/drivers/i2c/algos/i2c-algo-sibyte.c b/drivers/i2c/algos/i2c-algo-sibyte.c index 3df3f09995c2..32d41c6fac0f 100644 --- a/drivers/i2c/algos/i2c-algo-sibyte.c +++ b/drivers/i2c/algos/i2c-algo-sibyte.c | |||
@@ -173,9 +173,7 @@ int i2c_sibyte_add_bus(struct i2c_adapter *i2c_adap, int speed) | |||
173 | printk("\n"); | 173 | printk("\n"); |
174 | } | 174 | } |
175 | 175 | ||
176 | i2c_add_adapter(i2c_adap); | 176 | return i2c_add_adapter(i2c_adap); |
177 | |||
178 | return 0; | ||
179 | } | 177 | } |
180 | 178 | ||
181 | 179 | ||
diff --git a/drivers/i2c/busses/i2c-iop3xx.c b/drivers/i2c/busses/i2c-iop3xx.c index aca7e1668605..48c56939c861 100644 --- a/drivers/i2c/busses/i2c-iop3xx.c +++ b/drivers/i2c/busses/i2c-iop3xx.c | |||
@@ -21,6 +21,9 @@ | |||
21 | * - Make it work with IXP46x chips | 21 | * - Make it work with IXP46x chips |
22 | * - Cleanup function names, coding style, etc | 22 | * - Cleanup function names, coding style, etc |
23 | * | 23 | * |
24 | * - writing to slave address causes latchup on iop331. | ||
25 | * fix: driver refuses to address self. | ||
26 | * | ||
24 | * This program is free software; you can redistribute it and/or modify | 27 | * This program is free software; you can redistribute it and/or modify |
25 | * it under the terms of the GNU General Public License as published by | 28 | * it under the terms of the GNU General Public License as published by |
26 | * the Free Software Foundation, version 2. | 29 | * the Free Software Foundation, version 2. |
@@ -73,12 +76,6 @@ iop3xx_i2c_reset(struct i2c_algo_iop3xx_data *iop3xx_adap) | |||
73 | } | 76 | } |
74 | 77 | ||
75 | static void | 78 | static void |
76 | iop3xx_i2c_set_slave_addr(struct i2c_algo_iop3xx_data *iop3xx_adap) | ||
77 | { | ||
78 | __raw_writel(MYSAR, iop3xx_adap->ioaddr + SAR_OFFSET); | ||
79 | } | ||
80 | |||
81 | static void | ||
82 | iop3xx_i2c_enable(struct i2c_algo_iop3xx_data *iop3xx_adap) | 79 | iop3xx_i2c_enable(struct i2c_algo_iop3xx_data *iop3xx_adap) |
83 | { | 80 | { |
84 | u32 cr = IOP3XX_ICR_GCD | IOP3XX_ICR_SCLEN | IOP3XX_ICR_UE; | 81 | u32 cr = IOP3XX_ICR_GCD | IOP3XX_ICR_SCLEN | IOP3XX_ICR_UE; |
@@ -248,6 +245,13 @@ iop3xx_i2c_send_target_addr(struct i2c_algo_iop3xx_data *iop3xx_adap, | |||
248 | int status; | 245 | int status; |
249 | int rc; | 246 | int rc; |
250 | 247 | ||
248 | /* avoid writing to my slave address (hangs on 80331), | ||
249 | * forbidden in Intel developer manual | ||
250 | */ | ||
251 | if (msg->addr == MYSAR) { | ||
252 | return -EBUSY; | ||
253 | } | ||
254 | |||
251 | __raw_writel(iic_cook_addr(msg), iop3xx_adap->ioaddr + DBR_OFFSET); | 255 | __raw_writel(iic_cook_addr(msg), iop3xx_adap->ioaddr + DBR_OFFSET); |
252 | 256 | ||
253 | cr &= ~(IOP3XX_ICR_MSTOP | IOP3XX_ICR_NACK); | 257 | cr &= ~(IOP3XX_ICR_MSTOP | IOP3XX_ICR_NACK); |
@@ -498,7 +502,6 @@ iop3xx_i2c_probe(struct platform_device *pdev) | |||
498 | spin_lock_init(&adapter_data->lock); | 502 | spin_lock_init(&adapter_data->lock); |
499 | 503 | ||
500 | iop3xx_i2c_reset(adapter_data); | 504 | iop3xx_i2c_reset(adapter_data); |
501 | iop3xx_i2c_set_slave_addr(adapter_data); | ||
502 | iop3xx_i2c_enable(adapter_data); | 505 | iop3xx_i2c_enable(adapter_data); |
503 | 506 | ||
504 | platform_set_drvdata(pdev, new_adapter); | 507 | platform_set_drvdata(pdev, new_adapter); |
diff --git a/drivers/i2c/busses/i2c-iop3xx.h b/drivers/i2c/busses/i2c-iop3xx.h index e46ebaea7b1e..8485861f6a36 100644 --- a/drivers/i2c/busses/i2c-iop3xx.h +++ b/drivers/i2c/busses/i2c-iop3xx.h | |||
@@ -80,7 +80,7 @@ | |||
80 | #define IOP3XX_GPOD_I2C0 0x00c0 /* clear these bits to enable ch0 */ | 80 | #define IOP3XX_GPOD_I2C0 0x00c0 /* clear these bits to enable ch0 */ |
81 | #define IOP3XX_GPOD_I2C1 0x0030 /* clear these bits to enable ch1 */ | 81 | #define IOP3XX_GPOD_I2C1 0x0030 /* clear these bits to enable ch1 */ |
82 | 82 | ||
83 | #define MYSAR 0x02 /* SWAG a suitable slave address */ | 83 | #define MYSAR 0 /* default slave address */ |
84 | 84 | ||
85 | #define I2C_ERR 321 | 85 | #define I2C_ERR 321 |
86 | #define I2C_ERR_BERR (I2C_ERR+0) | 86 | #define I2C_ERR_BERR (I2C_ERR+0) |
diff --git a/drivers/i2c/busses/i2c-powermac.c b/drivers/i2c/busses/i2c-powermac.c index 2a0b3be7cdd0..53bb43593863 100644 --- a/drivers/i2c/busses/i2c-powermac.c +++ b/drivers/i2c/busses/i2c-powermac.c | |||
@@ -148,8 +148,6 @@ static int i2c_powermac_master_xfer( struct i2c_adapter *adap, | |||
148 | int read; | 148 | int read; |
149 | int addrdir; | 149 | int addrdir; |
150 | 150 | ||
151 | if (num != 1) | ||
152 | return -EINVAL; | ||
153 | if (msgs->flags & I2C_M_TEN) | 151 | if (msgs->flags & I2C_M_TEN) |
154 | return -EINVAL; | 152 | return -EINVAL; |
155 | read = (msgs->flags & I2C_M_RD) != 0; | 153 | read = (msgs->flags & I2C_M_RD) != 0; |
@@ -166,7 +164,7 @@ static int i2c_powermac_master_xfer( struct i2c_adapter *adap, | |||
166 | rc = pmac_i2c_xfer(bus, addrdir, 0, 0, msgs->buf, msgs->len); | 164 | rc = pmac_i2c_xfer(bus, addrdir, 0, 0, msgs->buf, msgs->len); |
167 | bail: | 165 | bail: |
168 | pmac_i2c_close(bus); | 166 | pmac_i2c_close(bus); |
169 | return rc < 0 ? rc : msgs->len; | 167 | return rc < 0 ? rc : 1; |
170 | } | 168 | } |
171 | 169 | ||
172 | static u32 i2c_powermac_func(struct i2c_adapter * adapter) | 170 | static u32 i2c_powermac_func(struct i2c_adapter * adapter) |
diff --git a/drivers/i2c/busses/scx200_acb.c b/drivers/i2c/busses/scx200_acb.c index 22a3eda04166..ced309ff056f 100644 --- a/drivers/i2c/busses/scx200_acb.c +++ b/drivers/i2c/busses/scx200_acb.c | |||
@@ -184,21 +184,21 @@ static void scx200_acb_machine(struct scx200_acb_iface *iface, u8 status) | |||
184 | break; | 184 | break; |
185 | 185 | ||
186 | case state_read: | 186 | case state_read: |
187 | /* Set ACK if receiving the last byte */ | 187 | /* Set ACK if _next_ byte will be the last one */ |
188 | if (iface->len == 1) | 188 | if (iface->len == 2) |
189 | outb(inb(ACBCTL1) | ACBCTL1_ACK, ACBCTL1); | 189 | outb(inb(ACBCTL1) | ACBCTL1_ACK, ACBCTL1); |
190 | else | 190 | else |
191 | outb(inb(ACBCTL1) & ~ACBCTL1_ACK, ACBCTL1); | 191 | outb(inb(ACBCTL1) & ~ACBCTL1_ACK, ACBCTL1); |
192 | 192 | ||
193 | *iface->ptr++ = inb(ACBSDA); | 193 | if (iface->len == 1) { |
194 | --iface->len; | ||
195 | |||
196 | if (iface->len == 0) { | ||
197 | iface->result = 0; | 194 | iface->result = 0; |
198 | iface->state = state_idle; | 195 | iface->state = state_idle; |
199 | outb(inb(ACBCTL1) | ACBCTL1_STOP, ACBCTL1); | 196 | outb(inb(ACBCTL1) | ACBCTL1_STOP, ACBCTL1); |
200 | } | 197 | } |
201 | 198 | ||
199 | *iface->ptr++ = inb(ACBSDA); | ||
200 | --iface->len; | ||
201 | |||
202 | break; | 202 | break; |
203 | 203 | ||
204 | case state_write: | 204 | case state_write: |
@@ -307,8 +307,12 @@ static s32 scx200_acb_smbus_xfer(struct i2c_adapter *adapter, | |||
307 | buffer = (u8 *)&cur_word; | 307 | buffer = (u8 *)&cur_word; |
308 | break; | 308 | break; |
309 | 309 | ||
310 | case I2C_SMBUS_BLOCK_DATA: | 310 | case I2C_SMBUS_I2C_BLOCK_DATA: |
311 | if (rw == I2C_SMBUS_READ) | ||
312 | data->block[0] = I2C_SMBUS_BLOCK_MAX; /* For now */ | ||
311 | len = data->block[0]; | 313 | len = data->block[0]; |
314 | if (len == 0 || len > I2C_SMBUS_BLOCK_MAX) | ||
315 | return -EINVAL; | ||
312 | buffer = &data->block[1]; | 316 | buffer = &data->block[1]; |
313 | break; | 317 | break; |
314 | 318 | ||
@@ -372,7 +376,7 @@ static u32 scx200_acb_func(struct i2c_adapter *adapter) | |||
372 | { | 376 | { |
373 | return I2C_FUNC_SMBUS_QUICK | I2C_FUNC_SMBUS_BYTE | | 377 | return I2C_FUNC_SMBUS_QUICK | I2C_FUNC_SMBUS_BYTE | |
374 | I2C_FUNC_SMBUS_BYTE_DATA | I2C_FUNC_SMBUS_WORD_DATA | | 378 | I2C_FUNC_SMBUS_BYTE_DATA | I2C_FUNC_SMBUS_WORD_DATA | |
375 | I2C_FUNC_SMBUS_BLOCK_DATA; | 379 | I2C_FUNC_SMBUS_I2C_BLOCK; |
376 | } | 380 | } |
377 | 381 | ||
378 | /* For now, we only handle combined mode (smbus) */ | 382 | /* For now, we only handle combined mode (smbus) */ |
diff --git a/drivers/i2c/chips/pca9539.c b/drivers/i2c/chips/pca9539.c index 54b6e6a4beed..cb22280cdd27 100644 --- a/drivers/i2c/chips/pca9539.c +++ b/drivers/i2c/chips/pca9539.c | |||
@@ -134,11 +134,13 @@ static int pca9539_detect(struct i2c_adapter *adapter, int address, int kind) | |||
134 | new_client->driver = &pca9539_driver; | 134 | new_client->driver = &pca9539_driver; |
135 | new_client->flags = 0; | 135 | new_client->flags = 0; |
136 | 136 | ||
137 | /* Detection: the pca9539 only has 8 registers (0-7). | 137 | if (kind < 0) { |
138 | A read of 7 should succeed, but a read of 8 should fail. */ | 138 | /* Detection: the pca9539 only has 8 registers (0-7). |
139 | if ((i2c_smbus_read_byte_data(new_client, 7) < 0) || | 139 | A read of 7 should succeed, but a read of 8 should fail. */ |
140 | (i2c_smbus_read_byte_data(new_client, 8) >= 0)) | 140 | if ((i2c_smbus_read_byte_data(new_client, 7) < 0) || |
141 | goto exit_kfree; | 141 | (i2c_smbus_read_byte_data(new_client, 8) >= 0)) |
142 | goto exit_kfree; | ||
143 | } | ||
142 | 144 | ||
143 | strlcpy(new_client->name, "pca9539", I2C_NAME_SIZE); | 145 | strlcpy(new_client->name, "pca9539", I2C_NAME_SIZE); |
144 | 146 | ||
diff --git a/drivers/i2c/i2c-core.c b/drivers/i2c/i2c-core.c index a45155f799d4..9cb277d6aa48 100644 --- a/drivers/i2c/i2c-core.c +++ b/drivers/i2c/i2c-core.c | |||
@@ -756,9 +756,9 @@ int i2c_probe(struct i2c_adapter *adapter, | |||
756 | "parameter for adapter %d, " | 756 | "parameter for adapter %d, " |
757 | "addr 0x%02x\n", adap_id, | 757 | "addr 0x%02x\n", adap_id, |
758 | address_data->ignore[j + 1]); | 758 | address_data->ignore[j + 1]); |
759 | ignore = 1; | ||
760 | break; | ||
759 | } | 761 | } |
760 | ignore = 1; | ||
761 | break; | ||
762 | } | 762 | } |
763 | if (ignore) | 763 | if (ignore) |
764 | continue; | 764 | continue; |
diff --git a/drivers/ide/legacy/ide-cs.c b/drivers/ide/legacy/ide-cs.c index b7e459e4f284..602797a44208 100644 --- a/drivers/ide/legacy/ide-cs.c +++ b/drivers/ide/legacy/ide-cs.c | |||
@@ -146,16 +146,7 @@ static void ide_detach(struct pcmcia_device *link) | |||
146 | kfree(link->priv); | 146 | kfree(link->priv); |
147 | } /* ide_detach */ | 147 | } /* ide_detach */ |
148 | 148 | ||
149 | static void idecs_mmio_fixup(ide_hwif_t *hwif) | 149 | static int idecs_register(unsigned long io, unsigned long ctl, unsigned long irq, struct pcmcia_device *handle) |
150 | { | ||
151 | default_hwif_mmiops(hwif); | ||
152 | hwif->mmio = 2; | ||
153 | |||
154 | ide_undecoded_slave(hwif); | ||
155 | } | ||
156 | |||
157 | static int idecs_register(unsigned long io, unsigned long ctl, | ||
158 | unsigned long irq, struct pcmcia_device *handle, int is_mmio) | ||
159 | { | 150 | { |
160 | hw_regs_t hw; | 151 | hw_regs_t hw; |
161 | memset(&hw, 0, sizeof(hw)); | 152 | memset(&hw, 0, sizeof(hw)); |
@@ -163,19 +154,7 @@ static int idecs_register(unsigned long io, unsigned long ctl, | |||
163 | hw.irq = irq; | 154 | hw.irq = irq; |
164 | hw.chipset = ide_pci; | 155 | hw.chipset = ide_pci; |
165 | hw.dev = &handle->dev; | 156 | hw.dev = &handle->dev; |
166 | 157 | return ide_register_hw_with_fixup(&hw, NULL, ide_undecoded_slave); | |
167 | if(is_mmio) | ||
168 | return ide_register_hw_with_fixup(&hw, NULL, idecs_mmio_fixup); | ||
169 | else | ||
170 | return ide_register_hw_with_fixup(&hw, NULL, ide_undecoded_slave); | ||
171 | } | ||
172 | |||
173 | void outb_io(unsigned char value, unsigned long port) { | ||
174 | outb(value, port); | ||
175 | } | ||
176 | |||
177 | void outb_mem(unsigned char value, unsigned long port) { | ||
178 | writeb(value, (void __iomem *) port); | ||
179 | } | 158 | } |
180 | 159 | ||
181 | /*====================================================================== | 160 | /*====================================================================== |
@@ -201,8 +180,7 @@ static int ide_config(struct pcmcia_device *link) | |||
201 | } *stk = NULL; | 180 | } *stk = NULL; |
202 | cistpl_cftable_entry_t *cfg; | 181 | cistpl_cftable_entry_t *cfg; |
203 | int i, pass, last_ret = 0, last_fn = 0, hd, is_kme = 0; | 182 | int i, pass, last_ret = 0, last_fn = 0, hd, is_kme = 0; |
204 | unsigned long io_base, ctl_base, is_mmio, try_slave; | 183 | unsigned long io_base, ctl_base; |
205 | void (*my_outb)(unsigned char, unsigned long); | ||
206 | 184 | ||
207 | DEBUG(0, "ide_config(0x%p)\n", link); | 185 | DEBUG(0, "ide_config(0x%p)\n", link); |
208 | 186 | ||
@@ -232,7 +210,7 @@ static int ide_config(struct pcmcia_device *link) | |||
232 | /* Not sure if this is right... look up the current Vcc */ | 210 | /* Not sure if this is right... look up the current Vcc */ |
233 | CS_CHECK(GetConfigurationInfo, pcmcia_get_configuration_info(link, &stk->conf)); | 211 | CS_CHECK(GetConfigurationInfo, pcmcia_get_configuration_info(link, &stk->conf)); |
234 | 212 | ||
235 | pass = io_base = ctl_base = is_mmio = try_slave = 0; | 213 | pass = io_base = ctl_base = 0; |
236 | tuple.DesiredTuple = CISTPL_CFTABLE_ENTRY; | 214 | tuple.DesiredTuple = CISTPL_CFTABLE_ENTRY; |
237 | tuple.Attributes = 0; | 215 | tuple.Attributes = 0; |
238 | CS_CHECK(GetFirstTuple, pcmcia_get_first_tuple(link, &tuple)); | 216 | CS_CHECK(GetFirstTuple, pcmcia_get_first_tuple(link, &tuple)); |
@@ -280,45 +258,11 @@ static int ide_config(struct pcmcia_device *link) | |||
280 | goto next_entry; | 258 | goto next_entry; |
281 | io_base = link->io.BasePort1; | 259 | io_base = link->io.BasePort1; |
282 | ctl_base = link->io.BasePort1 + 0x0e; | 260 | ctl_base = link->io.BasePort1 + 0x0e; |
283 | |||
284 | if (io->win[0].len >= 0x20) | ||
285 | try_slave = 1; | ||
286 | |||
287 | } else goto next_entry; | 261 | } else goto next_entry; |
288 | /* If we've got this far, we're done */ | 262 | /* If we've got this far, we're done */ |
289 | break; | 263 | break; |
290 | } | 264 | } |
291 | 265 | ||
292 | if ((cfg->mem.nwin > 0) || (stk->dflt.mem.nwin > 0)) { | ||
293 | win_req_t req; | ||
294 | memreq_t map; | ||
295 | cistpl_mem_t *mem = (cfg->mem.nwin) ? &cfg->mem : &stk->dflt.mem; | ||
296 | |||
297 | if (mem->win[0].len < 16) | ||
298 | goto next_entry; | ||
299 | |||
300 | req.Attributes = WIN_DATA_WIDTH_16|WIN_MEMORY_TYPE_CM; | ||
301 | req.Attributes |= WIN_ENABLE; | ||
302 | req.Base = mem->win[0].host_addr; | ||
303 | req.Size = 0; | ||
304 | |||
305 | req.AccessSpeed = 0; | ||
306 | if (pcmcia_request_window(&link, &req, &link->win) != 0) | ||
307 | goto next_entry; | ||
308 | map.Page = 0; map.CardOffset = mem->win[0].card_addr; | ||
309 | if (pcmcia_map_mem_page(link->win, &map) != 0) | ||
310 | goto next_entry; | ||
311 | |||
312 | io_base = (unsigned long) ioremap(req.Base, req.Size); | ||
313 | ctl_base = io_base + 0x0e; | ||
314 | is_mmio = 1; | ||
315 | |||
316 | if (mem->win[0].len >= 0x20) | ||
317 | try_slave = 1; | ||
318 | |||
319 | break; | ||
320 | } | ||
321 | |||
322 | next_entry: | 266 | next_entry: |
323 | if (cfg->flags & CISTPL_CFTABLE_DEFAULT) | 267 | if (cfg->flags & CISTPL_CFTABLE_DEFAULT) |
324 | memcpy(&stk->dflt, cfg, sizeof(stk->dflt)); | 268 | memcpy(&stk->dflt, cfg, sizeof(stk->dflt)); |
@@ -334,26 +278,21 @@ static int ide_config(struct pcmcia_device *link) | |||
334 | CS_CHECK(RequestIRQ, pcmcia_request_irq(link, &link->irq)); | 278 | CS_CHECK(RequestIRQ, pcmcia_request_irq(link, &link->irq)); |
335 | CS_CHECK(RequestConfiguration, pcmcia_request_configuration(link, &link->conf)); | 279 | CS_CHECK(RequestConfiguration, pcmcia_request_configuration(link, &link->conf)); |
336 | 280 | ||
337 | if(is_mmio) | ||
338 | my_outb = outb_mem; | ||
339 | else | ||
340 | my_outb = outb_io; | ||
341 | |||
342 | /* disable drive interrupts during IDE probe */ | 281 | /* disable drive interrupts during IDE probe */ |
343 | my_outb(0x02, ctl_base); | 282 | outb(0x02, ctl_base); |
344 | 283 | ||
345 | /* special setup for KXLC005 card */ | 284 | /* special setup for KXLC005 card */ |
346 | if (is_kme) | 285 | if (is_kme) |
347 | my_outb(0x81, ctl_base+1); | 286 | outb(0x81, ctl_base+1); |
348 | 287 | ||
349 | /* retry registration in case device is still spinning up */ | 288 | /* retry registration in case device is still spinning up */ |
350 | for (hd = -1, i = 0; i < 10; i++) { | 289 | for (hd = -1, i = 0; i < 10; i++) { |
351 | hd = idecs_register(io_base, ctl_base, link->irq.AssignedIRQ, link, is_mmio); | 290 | hd = idecs_register(io_base, ctl_base, link->irq.AssignedIRQ, link); |
352 | if (hd >= 0) break; | 291 | if (hd >= 0) break; |
353 | if (try_slave) { | 292 | if (link->io.NumPorts1 == 0x20) { |
354 | my_outb(0x02, ctl_base + 0x10); | 293 | outb(0x02, ctl_base + 0x10); |
355 | hd = idecs_register(io_base + 0x10, ctl_base + 0x10, | 294 | hd = idecs_register(io_base + 0x10, ctl_base + 0x10, |
356 | link->irq.AssignedIRQ, link, is_mmio); | 295 | link->irq.AssignedIRQ, link); |
357 | if (hd >= 0) { | 296 | if (hd >= 0) { |
358 | io_base += 0x10; | 297 | io_base += 0x10; |
359 | ctl_base += 0x10; | 298 | ctl_base += 0x10; |
diff --git a/drivers/ide/pci/generic.c b/drivers/ide/pci/generic.c index f82e82109728..2f962cfa3f7f 100644 --- a/drivers/ide/pci/generic.c +++ b/drivers/ide/pci/generic.c | |||
@@ -212,6 +212,9 @@ static int __devinit generic_init_one(struct pci_dev *dev, const struct pci_devi | |||
212 | (!(PCI_FUNC(dev->devfn) & 1))) | 212 | (!(PCI_FUNC(dev->devfn) & 1))) |
213 | goto out; | 213 | goto out; |
214 | 214 | ||
215 | if (dev->vendor == PCI_VENDOR_ID_JMICRON && PCI_FUNC(dev->devfn) != 1) | ||
216 | goto out; | ||
217 | |||
215 | pci_read_config_word(dev, PCI_COMMAND, &command); | 218 | pci_read_config_word(dev, PCI_COMMAND, &command); |
216 | if (!(command & PCI_COMMAND_IO)) { | 219 | if (!(command & PCI_COMMAND_IO)) { |
217 | printk(KERN_INFO "Skipping disabled %s IDE controller.\n", d->name); | 220 | printk(KERN_INFO "Skipping disabled %s IDE controller.\n", d->name); |
@@ -239,6 +242,11 @@ static struct pci_device_id generic_pci_tbl[] = { | |||
239 | { PCI_VENDOR_ID_TOSHIBA,PCI_DEVICE_ID_TOSHIBA_PICCOLO_1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 12}, | 242 | { PCI_VENDOR_ID_TOSHIBA,PCI_DEVICE_ID_TOSHIBA_PICCOLO_1, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 12}, |
240 | { PCI_VENDOR_ID_TOSHIBA,PCI_DEVICE_ID_TOSHIBA_PICCOLO_2, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 13}, | 243 | { PCI_VENDOR_ID_TOSHIBA,PCI_DEVICE_ID_TOSHIBA_PICCOLO_2, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 13}, |
241 | { PCI_VENDOR_ID_NETCELL,PCI_DEVICE_ID_REVOLUTION, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 14}, | 244 | { PCI_VENDOR_ID_NETCELL,PCI_DEVICE_ID_REVOLUTION, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 14}, |
245 | { PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB361, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 15}, | ||
246 | { PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB363, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 16}, | ||
247 | { PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB365, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 17}, | ||
248 | { PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB366, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 18}, | ||
249 | { PCI_VENDOR_ID_JMICRON, PCI_DEVICE_ID_JMICRON_JMB368, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 19}, | ||
242 | /* Must come last. If you add entries adjust this table appropriately and the init_one code */ | 250 | /* Must come last. If you add entries adjust this table appropriately and the init_one code */ |
243 | { PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_STORAGE_IDE << 8, 0xFFFFFF00UL, 0}, | 251 | { PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_STORAGE_IDE << 8, 0xFFFFFF00UL, 0}, |
244 | { 0, }, | 252 | { 0, }, |
diff --git a/drivers/infiniband/core/cm.c b/drivers/infiniband/core/cm.c index 3f6705f3083a..f85c97f7500a 100644 --- a/drivers/infiniband/core/cm.c +++ b/drivers/infiniband/core/cm.c | |||
@@ -701,7 +701,7 @@ static void cm_reset_to_idle(struct cm_id_private *cm_id_priv) | |||
701 | } | 701 | } |
702 | } | 702 | } |
703 | 703 | ||
704 | void ib_destroy_cm_id(struct ib_cm_id *cm_id) | 704 | static void cm_destroy_id(struct ib_cm_id *cm_id, int err) |
705 | { | 705 | { |
706 | struct cm_id_private *cm_id_priv; | 706 | struct cm_id_private *cm_id_priv; |
707 | struct cm_work *work; | 707 | struct cm_work *work; |
@@ -735,12 +735,22 @@ retest: | |||
735 | sizeof cm_id_priv->av.port->cm_dev->ca_guid, | 735 | sizeof cm_id_priv->av.port->cm_dev->ca_guid, |
736 | NULL, 0); | 736 | NULL, 0); |
737 | break; | 737 | break; |
738 | case IB_CM_REQ_RCVD: | ||
739 | if (err == -ENOMEM) { | ||
740 | /* Do not reject to allow future retries. */ | ||
741 | cm_reset_to_idle(cm_id_priv); | ||
742 | spin_unlock_irqrestore(&cm_id_priv->lock, flags); | ||
743 | } else { | ||
744 | spin_unlock_irqrestore(&cm_id_priv->lock, flags); | ||
745 | ib_send_cm_rej(cm_id, IB_CM_REJ_CONSUMER_DEFINED, | ||
746 | NULL, 0, NULL, 0); | ||
747 | } | ||
748 | break; | ||
738 | case IB_CM_MRA_REQ_RCVD: | 749 | case IB_CM_MRA_REQ_RCVD: |
739 | case IB_CM_REP_SENT: | 750 | case IB_CM_REP_SENT: |
740 | case IB_CM_MRA_REP_RCVD: | 751 | case IB_CM_MRA_REP_RCVD: |
741 | ib_cancel_mad(cm_id_priv->av.port->mad_agent, cm_id_priv->msg); | 752 | ib_cancel_mad(cm_id_priv->av.port->mad_agent, cm_id_priv->msg); |
742 | /* Fall through */ | 753 | /* Fall through */ |
743 | case IB_CM_REQ_RCVD: | ||
744 | case IB_CM_MRA_REQ_SENT: | 754 | case IB_CM_MRA_REQ_SENT: |
745 | case IB_CM_REP_RCVD: | 755 | case IB_CM_REP_RCVD: |
746 | case IB_CM_MRA_REP_SENT: | 756 | case IB_CM_MRA_REP_SENT: |
@@ -775,6 +785,11 @@ retest: | |||
775 | kfree(cm_id_priv->private_data); | 785 | kfree(cm_id_priv->private_data); |
776 | kfree(cm_id_priv); | 786 | kfree(cm_id_priv); |
777 | } | 787 | } |
788 | |||
789 | void ib_destroy_cm_id(struct ib_cm_id *cm_id) | ||
790 | { | ||
791 | cm_destroy_id(cm_id, 0); | ||
792 | } | ||
778 | EXPORT_SYMBOL(ib_destroy_cm_id); | 793 | EXPORT_SYMBOL(ib_destroy_cm_id); |
779 | 794 | ||
780 | int ib_cm_listen(struct ib_cm_id *cm_id, __be64 service_id, __be64 service_mask, | 795 | int ib_cm_listen(struct ib_cm_id *cm_id, __be64 service_id, __be64 service_mask, |
@@ -1163,7 +1178,7 @@ static void cm_process_work(struct cm_id_private *cm_id_priv, | |||
1163 | } | 1178 | } |
1164 | cm_deref_id(cm_id_priv); | 1179 | cm_deref_id(cm_id_priv); |
1165 | if (ret) | 1180 | if (ret) |
1166 | ib_destroy_cm_id(&cm_id_priv->id); | 1181 | cm_destroy_id(&cm_id_priv->id, ret); |
1167 | } | 1182 | } |
1168 | 1183 | ||
1169 | static void cm_format_mra(struct cm_mra_msg *mra_msg, | 1184 | static void cm_format_mra(struct cm_mra_msg *mra_msg, |
diff --git a/drivers/infiniband/core/cma.c b/drivers/infiniband/core/cma.c index 863f64befc7c..d6f99d5720fc 100644 --- a/drivers/infiniband/core/cma.c +++ b/drivers/infiniband/core/cma.c | |||
@@ -262,14 +262,14 @@ static void cma_detach_from_dev(struct rdma_id_private *id_priv) | |||
262 | static int cma_acquire_ib_dev(struct rdma_id_private *id_priv) | 262 | static int cma_acquire_ib_dev(struct rdma_id_private *id_priv) |
263 | { | 263 | { |
264 | struct cma_device *cma_dev; | 264 | struct cma_device *cma_dev; |
265 | union ib_gid *gid; | 265 | union ib_gid gid; |
266 | int ret = -ENODEV; | 266 | int ret = -ENODEV; |
267 | 267 | ||
268 | gid = ib_addr_get_sgid(&id_priv->id.route.addr.dev_addr); | 268 | ib_addr_get_sgid(&id_priv->id.route.addr.dev_addr, &gid), |
269 | 269 | ||
270 | mutex_lock(&lock); | 270 | mutex_lock(&lock); |
271 | list_for_each_entry(cma_dev, &dev_list, list) { | 271 | list_for_each_entry(cma_dev, &dev_list, list) { |
272 | ret = ib_find_cached_gid(cma_dev->device, gid, | 272 | ret = ib_find_cached_gid(cma_dev->device, &gid, |
273 | &id_priv->id.port_num, NULL); | 273 | &id_priv->id.port_num, NULL); |
274 | if (!ret) { | 274 | if (!ret) { |
275 | cma_attach_to_dev(id_priv, cma_dev); | 275 | cma_attach_to_dev(id_priv, cma_dev); |
@@ -812,6 +812,7 @@ static int cma_ib_handler(struct ib_cm_id *cm_id, struct ib_cm_event *ib_event) | |||
812 | cma_modify_qp_err(&id_priv->id); | 812 | cma_modify_qp_err(&id_priv->id); |
813 | status = ib_event->param.rej_rcvd.reason; | 813 | status = ib_event->param.rej_rcvd.reason; |
814 | event = RDMA_CM_EVENT_REJECTED; | 814 | event = RDMA_CM_EVENT_REJECTED; |
815 | private_data_len = IB_CM_REJ_PRIVATE_DATA_SIZE; | ||
815 | break; | 816 | break; |
816 | default: | 817 | default: |
817 | printk(KERN_ERR "RDMA CMA: unexpected IB CM event: %d", | 818 | printk(KERN_ERR "RDMA CMA: unexpected IB CM event: %d", |
@@ -1134,8 +1135,8 @@ static int cma_query_ib_route(struct rdma_id_private *id_priv, int timeout_ms, | |||
1134 | struct ib_sa_path_rec path_rec; | 1135 | struct ib_sa_path_rec path_rec; |
1135 | 1136 | ||
1136 | memset(&path_rec, 0, sizeof path_rec); | 1137 | memset(&path_rec, 0, sizeof path_rec); |
1137 | path_rec.sgid = *ib_addr_get_sgid(addr); | 1138 | ib_addr_get_sgid(addr, &path_rec.sgid); |
1138 | path_rec.dgid = *ib_addr_get_dgid(addr); | 1139 | ib_addr_get_dgid(addr, &path_rec.dgid); |
1139 | path_rec.pkey = cpu_to_be16(ib_addr_get_pkey(addr)); | 1140 | path_rec.pkey = cpu_to_be16(ib_addr_get_pkey(addr)); |
1140 | path_rec.numb_path = 1; | 1141 | path_rec.numb_path = 1; |
1141 | 1142 | ||
@@ -1263,7 +1264,7 @@ static int cma_bind_loopback(struct rdma_id_private *id_priv) | |||
1263 | { | 1264 | { |
1264 | struct cma_device *cma_dev; | 1265 | struct cma_device *cma_dev; |
1265 | struct ib_port_attr port_attr; | 1266 | struct ib_port_attr port_attr; |
1266 | union ib_gid *gid; | 1267 | union ib_gid gid; |
1267 | u16 pkey; | 1268 | u16 pkey; |
1268 | int ret; | 1269 | int ret; |
1269 | u8 p; | 1270 | u8 p; |
@@ -1284,8 +1285,7 @@ static int cma_bind_loopback(struct rdma_id_private *id_priv) | |||
1284 | } | 1285 | } |
1285 | 1286 | ||
1286 | port_found: | 1287 | port_found: |
1287 | gid = ib_addr_get_sgid(&id_priv->id.route.addr.dev_addr); | 1288 | ret = ib_get_cached_gid(cma_dev->device, p, 0, &gid); |
1288 | ret = ib_get_cached_gid(cma_dev->device, p, 0, gid); | ||
1289 | if (ret) | 1289 | if (ret) |
1290 | goto out; | 1290 | goto out; |
1291 | 1291 | ||
@@ -1293,6 +1293,7 @@ port_found: | |||
1293 | if (ret) | 1293 | if (ret) |
1294 | goto out; | 1294 | goto out; |
1295 | 1295 | ||
1296 | ib_addr_set_sgid(&id_priv->id.route.addr.dev_addr, &gid); | ||
1296 | ib_addr_set_pkey(&id_priv->id.route.addr.dev_addr, pkey); | 1297 | ib_addr_set_pkey(&id_priv->id.route.addr.dev_addr, pkey); |
1297 | id_priv->id.port_num = p; | 1298 | id_priv->id.port_num = p; |
1298 | cma_attach_to_dev(id_priv, cma_dev); | 1299 | cma_attach_to_dev(id_priv, cma_dev); |
@@ -1339,6 +1340,7 @@ static int cma_resolve_loopback(struct rdma_id_private *id_priv) | |||
1339 | { | 1340 | { |
1340 | struct cma_work *work; | 1341 | struct cma_work *work; |
1341 | struct sockaddr_in *src_in, *dst_in; | 1342 | struct sockaddr_in *src_in, *dst_in; |
1343 | union ib_gid gid; | ||
1342 | int ret; | 1344 | int ret; |
1343 | 1345 | ||
1344 | work = kzalloc(sizeof *work, GFP_KERNEL); | 1346 | work = kzalloc(sizeof *work, GFP_KERNEL); |
@@ -1351,8 +1353,8 @@ static int cma_resolve_loopback(struct rdma_id_private *id_priv) | |||
1351 | goto err; | 1353 | goto err; |
1352 | } | 1354 | } |
1353 | 1355 | ||
1354 | ib_addr_set_dgid(&id_priv->id.route.addr.dev_addr, | 1356 | ib_addr_get_sgid(&id_priv->id.route.addr.dev_addr, &gid); |
1355 | ib_addr_get_sgid(&id_priv->id.route.addr.dev_addr)); | 1357 | ib_addr_set_dgid(&id_priv->id.route.addr.dev_addr, &gid); |
1356 | 1358 | ||
1357 | if (cma_zero_addr(&id_priv->id.route.addr.src_addr)) { | 1359 | if (cma_zero_addr(&id_priv->id.route.addr.src_addr)) { |
1358 | src_in = (struct sockaddr_in *)&id_priv->id.route.addr.src_addr; | 1360 | src_in = (struct sockaddr_in *)&id_priv->id.route.addr.src_addr; |
diff --git a/drivers/infiniband/core/fmr_pool.c b/drivers/infiniband/core/fmr_pool.c index 615fe9cc6c56..86a3b2d401db 100644 --- a/drivers/infiniband/core/fmr_pool.c +++ b/drivers/infiniband/core/fmr_pool.c | |||
@@ -426,7 +426,7 @@ EXPORT_SYMBOL(ib_flush_fmr_pool); | |||
426 | struct ib_pool_fmr *ib_fmr_pool_map_phys(struct ib_fmr_pool *pool_handle, | 426 | struct ib_pool_fmr *ib_fmr_pool_map_phys(struct ib_fmr_pool *pool_handle, |
427 | u64 *page_list, | 427 | u64 *page_list, |
428 | int list_len, | 428 | int list_len, |
429 | u64 *io_virtual_address) | 429 | u64 io_virtual_address) |
430 | { | 430 | { |
431 | struct ib_fmr_pool *pool = pool_handle; | 431 | struct ib_fmr_pool *pool = pool_handle; |
432 | struct ib_pool_fmr *fmr; | 432 | struct ib_pool_fmr *fmr; |
@@ -440,7 +440,7 @@ struct ib_pool_fmr *ib_fmr_pool_map_phys(struct ib_fmr_pool *pool_handle, | |||
440 | fmr = ib_fmr_cache_lookup(pool, | 440 | fmr = ib_fmr_cache_lookup(pool, |
441 | page_list, | 441 | page_list, |
442 | list_len, | 442 | list_len, |
443 | *io_virtual_address); | 443 | io_virtual_address); |
444 | if (fmr) { | 444 | if (fmr) { |
445 | /* found in cache */ | 445 | /* found in cache */ |
446 | ++fmr->ref_count; | 446 | ++fmr->ref_count; |
@@ -464,7 +464,7 @@ struct ib_pool_fmr *ib_fmr_pool_map_phys(struct ib_fmr_pool *pool_handle, | |||
464 | spin_unlock_irqrestore(&pool->pool_lock, flags); | 464 | spin_unlock_irqrestore(&pool->pool_lock, flags); |
465 | 465 | ||
466 | result = ib_map_phys_fmr(fmr->fmr, page_list, list_len, | 466 | result = ib_map_phys_fmr(fmr->fmr, page_list, list_len, |
467 | *io_virtual_address); | 467 | io_virtual_address); |
468 | 468 | ||
469 | if (result) { | 469 | if (result) { |
470 | spin_lock_irqsave(&pool->pool_lock, flags); | 470 | spin_lock_irqsave(&pool->pool_lock, flags); |
@@ -481,7 +481,7 @@ struct ib_pool_fmr *ib_fmr_pool_map_phys(struct ib_fmr_pool *pool_handle, | |||
481 | fmr->ref_count = 1; | 481 | fmr->ref_count = 1; |
482 | 482 | ||
483 | if (pool->cache_bucket) { | 483 | if (pool->cache_bucket) { |
484 | fmr->io_virtual_address = *io_virtual_address; | 484 | fmr->io_virtual_address = io_virtual_address; |
485 | fmr->page_list_len = list_len; | 485 | fmr->page_list_len = list_len; |
486 | memcpy(fmr->page_list, page_list, list_len * sizeof(*page_list)); | 486 | memcpy(fmr->page_list, page_list, list_len * sizeof(*page_list)); |
487 | 487 | ||
diff --git a/drivers/infiniband/core/sa_query.c b/drivers/infiniband/core/sa_query.c index e911c99ff843..aeda484ffd82 100644 --- a/drivers/infiniband/core/sa_query.c +++ b/drivers/infiniband/core/sa_query.c | |||
@@ -488,13 +488,13 @@ static void init_mad(struct ib_sa_mad *mad, struct ib_mad_agent *agent) | |||
488 | spin_unlock_irqrestore(&tid_lock, flags); | 488 | spin_unlock_irqrestore(&tid_lock, flags); |
489 | } | 489 | } |
490 | 490 | ||
491 | static int send_mad(struct ib_sa_query *query, int timeout_ms) | 491 | static int send_mad(struct ib_sa_query *query, int timeout_ms, gfp_t gfp_mask) |
492 | { | 492 | { |
493 | unsigned long flags; | 493 | unsigned long flags; |
494 | int ret, id; | 494 | int ret, id; |
495 | 495 | ||
496 | retry: | 496 | retry: |
497 | if (!idr_pre_get(&query_idr, GFP_ATOMIC)) | 497 | if (!idr_pre_get(&query_idr, gfp_mask)) |
498 | return -ENOMEM; | 498 | return -ENOMEM; |
499 | spin_lock_irqsave(&idr_lock, flags); | 499 | spin_lock_irqsave(&idr_lock, flags); |
500 | ret = idr_get_new(&query_idr, query, &id); | 500 | ret = idr_get_new(&query_idr, query, &id); |
@@ -630,7 +630,7 @@ int ib_sa_path_rec_get(struct ib_device *device, u8 port_num, | |||
630 | 630 | ||
631 | *sa_query = &query->sa_query; | 631 | *sa_query = &query->sa_query; |
632 | 632 | ||
633 | ret = send_mad(&query->sa_query, timeout_ms); | 633 | ret = send_mad(&query->sa_query, timeout_ms, gfp_mask); |
634 | if (ret < 0) | 634 | if (ret < 0) |
635 | goto err2; | 635 | goto err2; |
636 | 636 | ||
@@ -752,7 +752,7 @@ int ib_sa_service_rec_query(struct ib_device *device, u8 port_num, u8 method, | |||
752 | 752 | ||
753 | *sa_query = &query->sa_query; | 753 | *sa_query = &query->sa_query; |
754 | 754 | ||
755 | ret = send_mad(&query->sa_query, timeout_ms); | 755 | ret = send_mad(&query->sa_query, timeout_ms, gfp_mask); |
756 | if (ret < 0) | 756 | if (ret < 0) |
757 | goto err2; | 757 | goto err2; |
758 | 758 | ||
@@ -844,7 +844,7 @@ int ib_sa_mcmember_rec_query(struct ib_device *device, u8 port_num, | |||
844 | 844 | ||
845 | *sa_query = &query->sa_query; | 845 | *sa_query = &query->sa_query; |
846 | 846 | ||
847 | ret = send_mad(&query->sa_query, timeout_ms); | 847 | ret = send_mad(&query->sa_query, timeout_ms, gfp_mask); |
848 | if (ret < 0) | 848 | if (ret < 0) |
849 | goto err2; | 849 | goto err2; |
850 | 850 | ||
diff --git a/drivers/infiniband/hw/mthca/mthca_av.c b/drivers/infiniband/hw/mthca/mthca_av.c index b12aa03be251..e215041b2db9 100644 --- a/drivers/infiniband/hw/mthca/mthca_av.c +++ b/drivers/infiniband/hw/mthca/mthca_av.c | |||
@@ -303,9 +303,10 @@ int mthca_ah_query(struct ib_ah *ibah, struct ib_ah_attr *attr) | |||
303 | memset(attr, 0, sizeof *attr); | 303 | memset(attr, 0, sizeof *attr); |
304 | attr->dlid = be16_to_cpu(ah->av->dlid); | 304 | attr->dlid = be16_to_cpu(ah->av->dlid); |
305 | attr->sl = be32_to_cpu(ah->av->sl_tclass_flowlabel) >> 28; | 305 | attr->sl = be32_to_cpu(ah->av->sl_tclass_flowlabel) >> 28; |
306 | attr->static_rate = ah->av->msg_sr & 0x7; | ||
307 | attr->src_path_bits = ah->av->g_slid & 0x7F; | ||
308 | attr->port_num = be32_to_cpu(ah->av->port_pd) >> 24; | 306 | attr->port_num = be32_to_cpu(ah->av->port_pd) >> 24; |
307 | attr->static_rate = mthca_rate_to_ib(dev, ah->av->msg_sr & 0x7, | ||
308 | attr->port_num); | ||
309 | attr->src_path_bits = ah->av->g_slid & 0x7F; | ||
309 | attr->ah_flags = mthca_ah_grh_present(ah) ? IB_AH_GRH : 0; | 310 | attr->ah_flags = mthca_ah_grh_present(ah) ? IB_AH_GRH : 0; |
310 | 311 | ||
311 | if (attr->ah_flags) { | 312 | if (attr->ah_flags) { |
diff --git a/drivers/infiniband/hw/mthca/mthca_qp.c b/drivers/infiniband/hw/mthca/mthca_qp.c index 490fc783bb0c..cd8b6721ac9c 100644 --- a/drivers/infiniband/hw/mthca/mthca_qp.c +++ b/drivers/infiniband/hw/mthca/mthca_qp.c | |||
@@ -222,9 +222,8 @@ static void *get_send_wqe(struct mthca_qp *qp, int n) | |||
222 | (PAGE_SIZE - 1)); | 222 | (PAGE_SIZE - 1)); |
223 | } | 223 | } |
224 | 224 | ||
225 | static void mthca_wq_init(struct mthca_wq *wq) | 225 | static void mthca_wq_reset(struct mthca_wq *wq) |
226 | { | 226 | { |
227 | /* mthca_alloc_qp_common() initializes the locks */ | ||
228 | wq->next_ind = 0; | 227 | wq->next_ind = 0; |
229 | wq->last_comp = wq->max - 1; | 228 | wq->last_comp = wq->max - 1; |
230 | wq->head = 0; | 229 | wq->head = 0; |
@@ -845,10 +844,10 @@ int mthca_modify_qp(struct ib_qp *ibqp, struct ib_qp_attr *attr, int attr_mask) | |||
845 | mthca_cq_clean(dev, to_mcq(qp->ibqp.recv_cq), qp->qpn, | 844 | mthca_cq_clean(dev, to_mcq(qp->ibqp.recv_cq), qp->qpn, |
846 | qp->ibqp.srq ? to_msrq(qp->ibqp.srq) : NULL); | 845 | qp->ibqp.srq ? to_msrq(qp->ibqp.srq) : NULL); |
847 | 846 | ||
848 | mthca_wq_init(&qp->sq); | 847 | mthca_wq_reset(&qp->sq); |
849 | qp->sq.last = get_send_wqe(qp, qp->sq.max - 1); | 848 | qp->sq.last = get_send_wqe(qp, qp->sq.max - 1); |
850 | 849 | ||
851 | mthca_wq_init(&qp->rq); | 850 | mthca_wq_reset(&qp->rq); |
852 | qp->rq.last = get_recv_wqe(qp, qp->rq.max - 1); | 851 | qp->rq.last = get_recv_wqe(qp, qp->rq.max - 1); |
853 | 852 | ||
854 | if (mthca_is_memfree(dev)) { | 853 | if (mthca_is_memfree(dev)) { |
@@ -1112,9 +1111,9 @@ static int mthca_alloc_qp_common(struct mthca_dev *dev, | |||
1112 | qp->atomic_rd_en = 0; | 1111 | qp->atomic_rd_en = 0; |
1113 | qp->resp_depth = 0; | 1112 | qp->resp_depth = 0; |
1114 | qp->sq_policy = send_policy; | 1113 | qp->sq_policy = send_policy; |
1115 | mthca_wq_init(&qp->sq); | 1114 | mthca_wq_reset(&qp->sq); |
1116 | mthca_wq_init(&qp->rq); | 1115 | mthca_wq_reset(&qp->rq); |
1117 | /* these are initialized separately so lockdep can tell them apart */ | 1116 | |
1118 | spin_lock_init(&qp->sq.lock); | 1117 | spin_lock_init(&qp->sq.lock); |
1119 | spin_lock_init(&qp->rq.lock); | 1118 | spin_lock_init(&qp->rq.lock); |
1120 | 1119 | ||
diff --git a/drivers/infiniband/ulp/iser/iser_verbs.c b/drivers/infiniband/ulp/iser/iser_verbs.c index ff117bbf81b4..72febf1f8ff8 100644 --- a/drivers/infiniband/ulp/iser/iser_verbs.c +++ b/drivers/infiniband/ulp/iser/iser_verbs.c | |||
@@ -594,7 +594,7 @@ int iser_reg_page_vec(struct iser_conn *ib_conn, | |||
594 | mem = ib_fmr_pool_map_phys(ib_conn->fmr_pool, | 594 | mem = ib_fmr_pool_map_phys(ib_conn->fmr_pool, |
595 | page_list, | 595 | page_list, |
596 | page_vec->length, | 596 | page_vec->length, |
597 | &io_addr); | 597 | io_addr); |
598 | 598 | ||
599 | if (IS_ERR(mem)) { | 599 | if (IS_ERR(mem)) { |
600 | status = (int)PTR_ERR(mem); | 600 | status = (int)PTR_ERR(mem); |
diff --git a/drivers/infiniband/ulp/srp/ib_srp.c b/drivers/infiniband/ulp/srp/ib_srp.c index 4e22afef7206..8f472e7113b4 100644 --- a/drivers/infiniband/ulp/srp/ib_srp.c +++ b/drivers/infiniband/ulp/srp/ib_srp.c | |||
@@ -615,9 +615,10 @@ static int srp_map_fmr(struct srp_device *dev, struct scatterlist *scat, | |||
615 | (sg_dma_address(&scat[i]) & dev->fmr_page_mask) + j; | 615 | (sg_dma_address(&scat[i]) & dev->fmr_page_mask) + j; |
616 | 616 | ||
617 | req->fmr = ib_fmr_pool_map_phys(dev->fmr_pool, | 617 | req->fmr = ib_fmr_pool_map_phys(dev->fmr_pool, |
618 | dma_pages, page_cnt, &io_addr); | 618 | dma_pages, page_cnt, io_addr); |
619 | if (IS_ERR(req->fmr)) { | 619 | if (IS_ERR(req->fmr)) { |
620 | ret = PTR_ERR(req->fmr); | 620 | ret = PTR_ERR(req->fmr); |
621 | req->fmr = NULL; | ||
621 | goto out; | 622 | goto out; |
622 | } | 623 | } |
623 | 624 | ||
diff --git a/drivers/leds/leds-net48xx.c b/drivers/leds/leds-net48xx.c index 35ee52f9b79e..713c4a8aa77d 100644 --- a/drivers/leds/leds-net48xx.c +++ b/drivers/leds/leds-net48xx.c | |||
@@ -18,6 +18,7 @@ | |||
18 | #include <asm/io.h> | 18 | #include <asm/io.h> |
19 | #include <linux/scx200_gpio.h> | 19 | #include <linux/scx200_gpio.h> |
20 | 20 | ||
21 | #define DRVNAME "net48xx-led" | ||
21 | #define NET48XX_ERROR_LED_GPIO 20 | 22 | #define NET48XX_ERROR_LED_GPIO 20 |
22 | 23 | ||
23 | static struct platform_device *pdev; | 24 | static struct platform_device *pdev; |
@@ -66,13 +67,13 @@ static int net48xx_led_remove(struct platform_device *pdev) | |||
66 | } | 67 | } |
67 | 68 | ||
68 | static struct platform_driver net48xx_led_driver = { | 69 | static struct platform_driver net48xx_led_driver = { |
69 | .driver.owner = THIS_MODULE, | ||
70 | .probe = net48xx_led_probe, | 70 | .probe = net48xx_led_probe, |
71 | .remove = net48xx_led_remove, | 71 | .remove = net48xx_led_remove, |
72 | .suspend = net48xx_led_suspend, | 72 | .suspend = net48xx_led_suspend, |
73 | .resume = net48xx_led_resume, | 73 | .resume = net48xx_led_resume, |
74 | .driver = { | 74 | .driver = { |
75 | .name = "net48xx-led", | 75 | .name = DRVNAME, |
76 | .owner = THIS_MODULE, | ||
76 | }, | 77 | }, |
77 | }; | 78 | }; |
78 | 79 | ||
@@ -89,7 +90,7 @@ static int __init net48xx_led_init(void) | |||
89 | if (ret < 0) | 90 | if (ret < 0) |
90 | goto out; | 91 | goto out; |
91 | 92 | ||
92 | pdev = platform_device_register_simple("net48xx-led", -1, NULL, 0); | 93 | pdev = platform_device_register_simple(DRVNAME, -1, NULL, 0); |
93 | if (IS_ERR(pdev)) { | 94 | if (IS_ERR(pdev)) { |
94 | ret = PTR_ERR(pdev); | 95 | ret = PTR_ERR(pdev); |
95 | platform_driver_unregister(&net48xx_led_driver); | 96 | platform_driver_unregister(&net48xx_led_driver); |
diff --git a/drivers/mfd/ucb1x00-core.c b/drivers/mfd/ucb1x00-core.c index 632bc218c86a..2bf32721eb53 100644 --- a/drivers/mfd/ucb1x00-core.c +++ b/drivers/mfd/ucb1x00-core.c | |||
@@ -479,7 +479,7 @@ static int ucb1x00_probe(struct mcp *mcp) | |||
479 | mcp_enable(mcp); | 479 | mcp_enable(mcp); |
480 | id = mcp_reg_read(mcp, UCB_ID); | 480 | id = mcp_reg_read(mcp, UCB_ID); |
481 | 481 | ||
482 | if (id != UCB_ID_1200 && id != UCB_ID_1300) { | 482 | if (id != UCB_ID_1200 && id != UCB_ID_1300 && id != UCB_ID_TC35143) { |
483 | printk(KERN_WARNING "UCB1x00 ID not found: %04x\n", id); | 483 | printk(KERN_WARNING "UCB1x00 ID not found: %04x\n", id); |
484 | goto err_disable; | 484 | goto err_disable; |
485 | } | 485 | } |
diff --git a/drivers/mfd/ucb1x00.h b/drivers/mfd/ucb1x00.h index 9c9a647d8b7b..ca8df8072d43 100644 --- a/drivers/mfd/ucb1x00.h +++ b/drivers/mfd/ucb1x00.h | |||
@@ -94,6 +94,7 @@ | |||
94 | #define UCB_ID 0x0c | 94 | #define UCB_ID 0x0c |
95 | #define UCB_ID_1200 0x1004 | 95 | #define UCB_ID_1200 0x1004 |
96 | #define UCB_ID_1300 0x1005 | 96 | #define UCB_ID_1300 0x1005 |
97 | #define UCB_ID_TC35143 0x9712 | ||
97 | 98 | ||
98 | #define UCB_MODE 0x0d | 99 | #define UCB_MODE 0x0d |
99 | #define UCB_MODE_DYN_VFLAG_ENA (1 << 12) | 100 | #define UCB_MODE_DYN_VFLAG_ENA (1 << 12) |
diff --git a/drivers/mmc/sdhci.c b/drivers/mmc/sdhci.c index 893319108ba4..4e21b3b9d330 100644 --- a/drivers/mmc/sdhci.c +++ b/drivers/mmc/sdhci.c | |||
@@ -565,7 +565,7 @@ static void sdhci_send_command(struct sdhci_host *host, struct mmc_command *cmd) | |||
565 | if (cmd->data) | 565 | if (cmd->data) |
566 | flags |= SDHCI_CMD_DATA; | 566 | flags |= SDHCI_CMD_DATA; |
567 | 567 | ||
568 | writel(SDHCI_MAKE_CMD(cmd->opcode, flags), | 568 | writew(SDHCI_MAKE_CMD(cmd->opcode, flags), |
569 | host->ioaddr + SDHCI_COMMAND); | 569 | host->ioaddr + SDHCI_COMMAND); |
570 | } | 570 | } |
571 | 571 | ||
@@ -1193,10 +1193,8 @@ static int __devinit sdhci_probe_slot(struct pci_dev *pdev, int slot) | |||
1193 | version = (version & SDHCI_SPEC_VER_MASK) >> SDHCI_SPEC_VER_SHIFT; | 1193 | version = (version & SDHCI_SPEC_VER_MASK) >> SDHCI_SPEC_VER_SHIFT; |
1194 | if (version != 0) { | 1194 | if (version != 0) { |
1195 | printk(KERN_ERR "%s: Unknown controller version (%d). " | 1195 | printk(KERN_ERR "%s: Unknown controller version (%d). " |
1196 | "Cowardly refusing to continue.\n", host->slot_descr, | 1196 | "You may experience problems.\n", host->slot_descr, |
1197 | version); | 1197 | version); |
1198 | ret = -ENODEV; | ||
1199 | goto unmap; | ||
1200 | } | 1198 | } |
1201 | 1199 | ||
1202 | caps = readl(host->ioaddr + SDHCI_CAPABILITIES); | 1200 | caps = readl(host->ioaddr + SDHCI_CAPABILITIES); |
diff --git a/drivers/net/wan/c101.c b/drivers/net/wan/c101.c index c92ac9fde083..2c09ec908a3f 100644 --- a/drivers/net/wan/c101.c +++ b/drivers/net/wan/c101.c | |||
@@ -116,27 +116,33 @@ static inline void openwin(card_t *card, u8 page) | |||
116 | #include "hd6457x.c" | 116 | #include "hd6457x.c" |
117 | 117 | ||
118 | 118 | ||
119 | static inline void set_carrier(port_t *port) | ||
120 | { | ||
121 | if (!sca_in(MSCI1_OFFSET + ST3, port) & ST3_DCD) | ||
122 | netif_carrier_on(port_to_dev(port)); | ||
123 | else | ||
124 | netif_carrier_off(port_to_dev(port)); | ||
125 | } | ||
126 | |||
127 | |||
119 | static void sca_msci_intr(port_t *port) | 128 | static void sca_msci_intr(port_t *port) |
120 | { | 129 | { |
121 | struct net_device *dev = port_to_dev(port); | 130 | u8 stat = sca_in(MSCI1_OFFSET + ST1, port); /* read MSCI ST1 status */ |
122 | card_t* card = port_to_card(port); | ||
123 | u8 stat = sca_in(MSCI1_OFFSET + ST1, card); /* read MSCI ST1 status */ | ||
124 | 131 | ||
125 | /* Reset MSCI TX underrun status bit */ | 132 | /* Reset MSCI TX underrun status bit */ |
126 | sca_out(stat & ST1_UDRN, MSCI0_OFFSET + ST1, card); | 133 | sca_out(stat & ST1_UDRN, MSCI0_OFFSET + ST1, port); |
127 | 134 | ||
128 | if (stat & ST1_UDRN) { | 135 | if (stat & ST1_UDRN) { |
129 | struct net_device_stats *stats = hdlc_stats(dev); | 136 | struct net_device_stats *stats = hdlc_stats(port_to_dev(port)); |
130 | stats->tx_errors++; /* TX Underrun error detected */ | 137 | stats->tx_errors++; /* TX Underrun error detected */ |
131 | stats->tx_fifo_errors++; | 138 | stats->tx_fifo_errors++; |
132 | } | 139 | } |
133 | 140 | ||
134 | /* Reset MSCI CDCD status bit - uses ch#2 DCD input */ | 141 | /* Reset MSCI CDCD status bit - uses ch#2 DCD input */ |
135 | sca_out(stat & ST1_CDCD, MSCI1_OFFSET + ST1, card); | 142 | sca_out(stat & ST1_CDCD, MSCI1_OFFSET + ST1, port); |
136 | 143 | ||
137 | if (stat & ST1_CDCD) | 144 | if (stat & ST1_CDCD) |
138 | hdlc_set_carrier(!(sca_in(MSCI1_OFFSET + ST3, card) & ST3_DCD), | 145 | set_carrier(port); |
139 | dev); | ||
140 | } | 146 | } |
141 | 147 | ||
142 | 148 | ||
@@ -190,7 +196,7 @@ static int c101_open(struct net_device *dev) | |||
190 | sca_out(IE1_UDRN, MSCI0_OFFSET + IE1, port); | 196 | sca_out(IE1_UDRN, MSCI0_OFFSET + IE1, port); |
191 | sca_out(IE0_TXINT, MSCI0_OFFSET + IE0, port); | 197 | sca_out(IE0_TXINT, MSCI0_OFFSET + IE0, port); |
192 | 198 | ||
193 | hdlc_set_carrier(!(sca_in(MSCI1_OFFSET + ST3, port) & ST3_DCD), dev); | 199 | set_carrier(port); |
194 | printk(KERN_DEBUG "0x%X\n", sca_in(MSCI1_OFFSET + ST3, port)); | 200 | printk(KERN_DEBUG "0x%X\n", sca_in(MSCI1_OFFSET + ST3, port)); |
195 | 201 | ||
196 | /* enable MSCI1 CDCD interrupt */ | 202 | /* enable MSCI1 CDCD interrupt */ |
@@ -378,7 +384,7 @@ static int __init c101_run(unsigned long irq, unsigned long winbase) | |||
378 | } | 384 | } |
379 | 385 | ||
380 | sca_init_sync_port(card); /* Set up C101 memory */ | 386 | sca_init_sync_port(card); /* Set up C101 memory */ |
381 | hdlc_set_carrier(!(sca_in(MSCI1_OFFSET + ST3, card) & ST3_DCD), dev); | 387 | set_carrier(card); |
382 | 388 | ||
383 | printk(KERN_INFO "%s: Moxa C101 on IRQ%u," | 389 | printk(KERN_INFO "%s: Moxa C101 on IRQ%u," |
384 | " using %u TX + %u RX packets rings\n", | 390 | " using %u TX + %u RX packets rings\n", |
diff --git a/drivers/net/wan/hd6457x.c b/drivers/net/wan/hd6457x.c index d3743321a977..dce2bb317b82 100644 --- a/drivers/net/wan/hd6457x.c +++ b/drivers/net/wan/hd6457x.c | |||
@@ -168,6 +168,23 @@ static inline u32 buffer_offset(port_t *port, u16 desc, int transmit) | |||
168 | } | 168 | } |
169 | 169 | ||
170 | 170 | ||
171 | static inline void sca_set_carrier(port_t *port) | ||
172 | { | ||
173 | if (!(sca_in(get_msci(port) + ST3, port_to_card(port)) & ST3_DCD)) { | ||
174 | #ifdef DEBUG_LINK | ||
175 | printk(KERN_DEBUG "%s: sca_set_carrier on\n", | ||
176 | port_to_dev(port)->name); | ||
177 | #endif | ||
178 | netif_carrier_on(port_to_dev(port)); | ||
179 | } else { | ||
180 | #ifdef DEBUG_LINK | ||
181 | printk(KERN_DEBUG "%s: sca_set_carrier off\n", | ||
182 | port_to_dev(port)->name); | ||
183 | #endif | ||
184 | netif_carrier_off(port_to_dev(port)); | ||
185 | } | ||
186 | } | ||
187 | |||
171 | 188 | ||
172 | static void sca_init_sync_port(port_t *port) | 189 | static void sca_init_sync_port(port_t *port) |
173 | { | 190 | { |
@@ -237,9 +254,7 @@ static void sca_init_sync_port(port_t *port) | |||
237 | sca_out(DIR_BOFE, DIR_TX(phy_node(port)), card); | 254 | sca_out(DIR_BOFE, DIR_TX(phy_node(port)), card); |
238 | } | 255 | } |
239 | } | 256 | } |
240 | 257 | sca_set_carrier(port); | |
241 | hdlc_set_carrier(!(sca_in(get_msci(port) + ST3, card) & ST3_DCD), | ||
242 | port_to_dev(port)); | ||
243 | } | 258 | } |
244 | 259 | ||
245 | 260 | ||
@@ -262,8 +277,7 @@ static inline void sca_msci_intr(port_t *port) | |||
262 | } | 277 | } |
263 | 278 | ||
264 | if (stat & ST1_CDCD) | 279 | if (stat & ST1_CDCD) |
265 | hdlc_set_carrier(!(sca_in(msci + ST3, card) & ST3_DCD), | 280 | sca_set_carrier(port); |
266 | port_to_dev(port)); | ||
267 | } | 281 | } |
268 | #endif | 282 | #endif |
269 | 283 | ||
@@ -566,7 +580,7 @@ static void sca_open(struct net_device *dev) | |||
566 | - all DMA interrupts | 580 | - all DMA interrupts |
567 | */ | 581 | */ |
568 | 582 | ||
569 | hdlc_set_carrier(!(sca_in(msci + ST3, card) & ST3_DCD), dev); | 583 | sca_set_carrier(port); |
570 | 584 | ||
571 | #ifdef __HD64570_H | 585 | #ifdef __HD64570_H |
572 | /* MSCI TX INT and RX INT A IRQ enable */ | 586 | /* MSCI TX INT and RX INT A IRQ enable */ |
diff --git a/drivers/net/wan/hdlc_cisco.c b/drivers/net/wan/hdlc_cisco.c index 1fd04662c4fc..f289daba0c7b 100644 --- a/drivers/net/wan/hdlc_cisco.c +++ b/drivers/net/wan/hdlc_cisco.c | |||
@@ -192,9 +192,7 @@ static int cisco_rx(struct sk_buff *skb) | |||
192 | "uptime %ud%uh%um%us)\n", | 192 | "uptime %ud%uh%um%us)\n", |
193 | dev->name, days, hrs, | 193 | dev->name, days, hrs, |
194 | min, sec); | 194 | min, sec); |
195 | #if 0 | 195 | netif_dormant_off(dev); |
196 | netif_carrier_on(dev); | ||
197 | #endif | ||
198 | hdlc->state.cisco.up = 1; | 196 | hdlc->state.cisco.up = 1; |
199 | } | 197 | } |
200 | } | 198 | } |
@@ -227,9 +225,7 @@ static void cisco_timer(unsigned long arg) | |||
227 | hdlc->state.cisco.settings.timeout * HZ)) { | 225 | hdlc->state.cisco.settings.timeout * HZ)) { |
228 | hdlc->state.cisco.up = 0; | 226 | hdlc->state.cisco.up = 0; |
229 | printk(KERN_INFO "%s: Link down\n", dev->name); | 227 | printk(KERN_INFO "%s: Link down\n", dev->name); |
230 | #if 0 | 228 | netif_dormant_on(dev); |
231 | netif_carrier_off(dev); | ||
232 | #endif | ||
233 | } | 229 | } |
234 | 230 | ||
235 | cisco_keepalive_send(dev, CISCO_KEEPALIVE_REQ, | 231 | cisco_keepalive_send(dev, CISCO_KEEPALIVE_REQ, |
@@ -265,10 +261,7 @@ static void cisco_stop(struct net_device *dev) | |||
265 | { | 261 | { |
266 | hdlc_device *hdlc = dev_to_hdlc(dev); | 262 | hdlc_device *hdlc = dev_to_hdlc(dev); |
267 | del_timer_sync(&hdlc->state.cisco.timer); | 263 | del_timer_sync(&hdlc->state.cisco.timer); |
268 | #if 0 | 264 | netif_dormant_on(dev); |
269 | if (netif_carrier_ok(dev)) | ||
270 | netif_carrier_off(dev); | ||
271 | #endif | ||
272 | hdlc->state.cisco.up = 0; | 265 | hdlc->state.cisco.up = 0; |
273 | hdlc->state.cisco.request_sent = 0; | 266 | hdlc->state.cisco.request_sent = 0; |
274 | } | 267 | } |
@@ -328,6 +321,7 @@ int hdlc_cisco_ioctl(struct net_device *dev, struct ifreq *ifr) | |||
328 | dev->type = ARPHRD_CISCO; | 321 | dev->type = ARPHRD_CISCO; |
329 | dev->flags = IFF_POINTOPOINT | IFF_NOARP; | 322 | dev->flags = IFF_POINTOPOINT | IFF_NOARP; |
330 | dev->addr_len = 0; | 323 | dev->addr_len = 0; |
324 | netif_dormant_on(dev); | ||
331 | return 0; | 325 | return 0; |
332 | } | 326 | } |
333 | 327 | ||
diff --git a/drivers/net/wan/hdlc_fr.c b/drivers/net/wan/hdlc_fr.c index 523afe17564e..7bb737bbdeb9 100644 --- a/drivers/net/wan/hdlc_fr.c +++ b/drivers/net/wan/hdlc_fr.c | |||
@@ -301,7 +301,7 @@ static int pvc_open(struct net_device *dev) | |||
301 | if (pvc->open_count++ == 0) { | 301 | if (pvc->open_count++ == 0) { |
302 | hdlc_device *hdlc = dev_to_hdlc(pvc->master); | 302 | hdlc_device *hdlc = dev_to_hdlc(pvc->master); |
303 | if (hdlc->state.fr.settings.lmi == LMI_NONE) | 303 | if (hdlc->state.fr.settings.lmi == LMI_NONE) |
304 | pvc->state.active = hdlc->carrier; | 304 | pvc->state.active = netif_carrier_ok(pvc->master); |
305 | 305 | ||
306 | pvc_carrier(pvc->state.active, pvc); | 306 | pvc_carrier(pvc->state.active, pvc); |
307 | hdlc->state.fr.dce_changed = 1; | 307 | hdlc->state.fr.dce_changed = 1; |
@@ -545,11 +545,7 @@ static void fr_set_link_state(int reliable, struct net_device *dev) | |||
545 | 545 | ||
546 | hdlc->state.fr.reliable = reliable; | 546 | hdlc->state.fr.reliable = reliable; |
547 | if (reliable) { | 547 | if (reliable) { |
548 | #if 0 | 548 | netif_dormant_off(dev); |
549 | if (!netif_carrier_ok(dev)) | ||
550 | netif_carrier_on(dev); | ||
551 | #endif | ||
552 | |||
553 | hdlc->state.fr.n391cnt = 0; /* Request full status */ | 549 | hdlc->state.fr.n391cnt = 0; /* Request full status */ |
554 | hdlc->state.fr.dce_changed = 1; | 550 | hdlc->state.fr.dce_changed = 1; |
555 | 551 | ||
@@ -562,11 +558,7 @@ static void fr_set_link_state(int reliable, struct net_device *dev) | |||
562 | } | 558 | } |
563 | } | 559 | } |
564 | } else { | 560 | } else { |
565 | #if 0 | 561 | netif_dormant_on(dev); |
566 | if (netif_carrier_ok(dev)) | ||
567 | netif_carrier_off(dev); | ||
568 | #endif | ||
569 | |||
570 | while (pvc) { /* Deactivate all PVCs */ | 562 | while (pvc) { /* Deactivate all PVCs */ |
571 | pvc_carrier(0, pvc); | 563 | pvc_carrier(0, pvc); |
572 | pvc->state.exist = pvc->state.active = 0; | 564 | pvc->state.exist = pvc->state.active = 0; |
diff --git a/drivers/net/wan/hdlc_generic.c b/drivers/net/wan/hdlc_generic.c index b7da55140fbd..04ca1f7b6424 100644 --- a/drivers/net/wan/hdlc_generic.c +++ b/drivers/net/wan/hdlc_generic.c | |||
@@ -34,10 +34,11 @@ | |||
34 | #include <linux/inetdevice.h> | 34 | #include <linux/inetdevice.h> |
35 | #include <linux/lapb.h> | 35 | #include <linux/lapb.h> |
36 | #include <linux/rtnetlink.h> | 36 | #include <linux/rtnetlink.h> |
37 | #include <linux/notifier.h> | ||
37 | #include <linux/hdlc.h> | 38 | #include <linux/hdlc.h> |
38 | 39 | ||
39 | 40 | ||
40 | static const char* version = "HDLC support module revision 1.18"; | 41 | static const char* version = "HDLC support module revision 1.19"; |
41 | 42 | ||
42 | #undef DEBUG_LINK | 43 | #undef DEBUG_LINK |
43 | 44 | ||
@@ -73,57 +74,51 @@ static int hdlc_rcv(struct sk_buff *skb, struct net_device *dev, | |||
73 | 74 | ||
74 | 75 | ||
75 | 76 | ||
76 | static void __hdlc_set_carrier_on(struct net_device *dev) | 77 | static inline void hdlc_proto_start(struct net_device *dev) |
77 | { | 78 | { |
78 | hdlc_device *hdlc = dev_to_hdlc(dev); | 79 | hdlc_device *hdlc = dev_to_hdlc(dev); |
79 | if (hdlc->proto.start) | 80 | if (hdlc->proto.start) |
80 | return hdlc->proto.start(dev); | 81 | return hdlc->proto.start(dev); |
81 | #if 0 | ||
82 | #ifdef DEBUG_LINK | ||
83 | if (netif_carrier_ok(dev)) | ||
84 | printk(KERN_ERR "hdlc_set_carrier_on(): already on\n"); | ||
85 | #endif | ||
86 | netif_carrier_on(dev); | ||
87 | #endif | ||
88 | } | 82 | } |
89 | 83 | ||
90 | 84 | ||
91 | 85 | ||
92 | static void __hdlc_set_carrier_off(struct net_device *dev) | 86 | static inline void hdlc_proto_stop(struct net_device *dev) |
93 | { | 87 | { |
94 | hdlc_device *hdlc = dev_to_hdlc(dev); | 88 | hdlc_device *hdlc = dev_to_hdlc(dev); |
95 | if (hdlc->proto.stop) | 89 | if (hdlc->proto.stop) |
96 | return hdlc->proto.stop(dev); | 90 | return hdlc->proto.stop(dev); |
97 | |||
98 | #if 0 | ||
99 | #ifdef DEBUG_LINK | ||
100 | if (!netif_carrier_ok(dev)) | ||
101 | printk(KERN_ERR "hdlc_set_carrier_off(): already off\n"); | ||
102 | #endif | ||
103 | netif_carrier_off(dev); | ||
104 | #endif | ||
105 | } | 91 | } |
106 | 92 | ||
107 | 93 | ||
108 | 94 | ||
109 | void hdlc_set_carrier(int on, struct net_device *dev) | 95 | static int hdlc_device_event(struct notifier_block *this, unsigned long event, |
96 | void *ptr) | ||
110 | { | 97 | { |
111 | hdlc_device *hdlc = dev_to_hdlc(dev); | 98 | struct net_device *dev = ptr; |
99 | hdlc_device *hdlc; | ||
112 | unsigned long flags; | 100 | unsigned long flags; |
113 | on = on ? 1 : 0; | 101 | int on; |
102 | |||
103 | if (dev->get_stats != hdlc_get_stats) | ||
104 | return NOTIFY_DONE; /* not an HDLC device */ | ||
105 | |||
106 | if (event != NETDEV_CHANGE) | ||
107 | return NOTIFY_DONE; /* Only interrested in carrier changes */ | ||
108 | |||
109 | on = netif_carrier_ok(dev); | ||
114 | 110 | ||
115 | #ifdef DEBUG_LINK | 111 | #ifdef DEBUG_LINK |
116 | printk(KERN_DEBUG "hdlc_set_carrier %i\n", on); | 112 | printk(KERN_DEBUG "%s: hdlc_device_event NETDEV_CHANGE, carrier %i\n", |
113 | dev->name, on); | ||
117 | #endif | 114 | #endif |
118 | 115 | ||
116 | hdlc = dev_to_hdlc(dev); | ||
119 | spin_lock_irqsave(&hdlc->state_lock, flags); | 117 | spin_lock_irqsave(&hdlc->state_lock, flags); |
120 | 118 | ||
121 | if (hdlc->carrier == on) | 119 | if (hdlc->carrier == on) |
122 | goto carrier_exit; /* no change in DCD line level */ | 120 | goto carrier_exit; /* no change in DCD line level */ |
123 | 121 | ||
124 | #ifdef DEBUG_LINK | ||
125 | printk(KERN_INFO "%s: carrier %s\n", dev->name, on ? "ON" : "off"); | ||
126 | #endif | ||
127 | hdlc->carrier = on; | 122 | hdlc->carrier = on; |
128 | 123 | ||
129 | if (!hdlc->open) | 124 | if (!hdlc->open) |
@@ -131,14 +126,15 @@ void hdlc_set_carrier(int on, struct net_device *dev) | |||
131 | 126 | ||
132 | if (hdlc->carrier) { | 127 | if (hdlc->carrier) { |
133 | printk(KERN_INFO "%s: Carrier detected\n", dev->name); | 128 | printk(KERN_INFO "%s: Carrier detected\n", dev->name); |
134 | __hdlc_set_carrier_on(dev); | 129 | hdlc_proto_start(dev); |
135 | } else { | 130 | } else { |
136 | printk(KERN_INFO "%s: Carrier lost\n", dev->name); | 131 | printk(KERN_INFO "%s: Carrier lost\n", dev->name); |
137 | __hdlc_set_carrier_off(dev); | 132 | hdlc_proto_stop(dev); |
138 | } | 133 | } |
139 | 134 | ||
140 | carrier_exit: | 135 | carrier_exit: |
141 | spin_unlock_irqrestore(&hdlc->state_lock, flags); | 136 | spin_unlock_irqrestore(&hdlc->state_lock, flags); |
137 | return NOTIFY_DONE; | ||
142 | } | 138 | } |
143 | 139 | ||
144 | 140 | ||
@@ -165,7 +161,7 @@ int hdlc_open(struct net_device *dev) | |||
165 | 161 | ||
166 | if (hdlc->carrier) { | 162 | if (hdlc->carrier) { |
167 | printk(KERN_INFO "%s: Carrier detected\n", dev->name); | 163 | printk(KERN_INFO "%s: Carrier detected\n", dev->name); |
168 | __hdlc_set_carrier_on(dev); | 164 | hdlc_proto_start(dev); |
169 | } else | 165 | } else |
170 | printk(KERN_INFO "%s: No carrier\n", dev->name); | 166 | printk(KERN_INFO "%s: No carrier\n", dev->name); |
171 | 167 | ||
@@ -190,7 +186,7 @@ void hdlc_close(struct net_device *dev) | |||
190 | 186 | ||
191 | hdlc->open = 0; | 187 | hdlc->open = 0; |
192 | if (hdlc->carrier) | 188 | if (hdlc->carrier) |
193 | __hdlc_set_carrier_off(dev); | 189 | hdlc_proto_stop(dev); |
194 | 190 | ||
195 | spin_unlock_irq(&hdlc->state_lock); | 191 | spin_unlock_irq(&hdlc->state_lock); |
196 | 192 | ||
@@ -303,7 +299,6 @@ MODULE_LICENSE("GPL v2"); | |||
303 | 299 | ||
304 | EXPORT_SYMBOL(hdlc_open); | 300 | EXPORT_SYMBOL(hdlc_open); |
305 | EXPORT_SYMBOL(hdlc_close); | 301 | EXPORT_SYMBOL(hdlc_close); |
306 | EXPORT_SYMBOL(hdlc_set_carrier); | ||
307 | EXPORT_SYMBOL(hdlc_ioctl); | 302 | EXPORT_SYMBOL(hdlc_ioctl); |
308 | EXPORT_SYMBOL(hdlc_setup); | 303 | EXPORT_SYMBOL(hdlc_setup); |
309 | EXPORT_SYMBOL(alloc_hdlcdev); | 304 | EXPORT_SYMBOL(alloc_hdlcdev); |
@@ -315,9 +310,18 @@ static struct packet_type hdlc_packet_type = { | |||
315 | }; | 310 | }; |
316 | 311 | ||
317 | 312 | ||
313 | static struct notifier_block hdlc_notifier = { | ||
314 | .notifier_call = hdlc_device_event, | ||
315 | }; | ||
316 | |||
317 | |||
318 | static int __init hdlc_module_init(void) | 318 | static int __init hdlc_module_init(void) |
319 | { | 319 | { |
320 | int result; | ||
321 | |||
320 | printk(KERN_INFO "%s\n", version); | 322 | printk(KERN_INFO "%s\n", version); |
323 | if ((result = register_netdevice_notifier(&hdlc_notifier)) != 0) | ||
324 | return result; | ||
321 | dev_add_pack(&hdlc_packet_type); | 325 | dev_add_pack(&hdlc_packet_type); |
322 | return 0; | 326 | return 0; |
323 | } | 327 | } |
@@ -327,6 +331,7 @@ static int __init hdlc_module_init(void) | |||
327 | static void __exit hdlc_module_exit(void) | 331 | static void __exit hdlc_module_exit(void) |
328 | { | 332 | { |
329 | dev_remove_pack(&hdlc_packet_type); | 333 | dev_remove_pack(&hdlc_packet_type); |
334 | unregister_netdevice_notifier(&hdlc_notifier); | ||
330 | } | 335 | } |
331 | 336 | ||
332 | 337 | ||
diff --git a/drivers/net/wan/wanxl.c b/drivers/net/wan/wanxl.c index d564224cdca9..b2031dfc4bb1 100644 --- a/drivers/net/wan/wanxl.c +++ b/drivers/net/wan/wanxl.c | |||
@@ -149,7 +149,10 @@ static inline void wanxl_cable_intr(port_t *port) | |||
149 | printk(KERN_INFO "%s: %s%s module, %s cable%s%s\n", | 149 | printk(KERN_INFO "%s: %s%s module, %s cable%s%s\n", |
150 | port->dev->name, pm, dte, cable, dsr, dcd); | 150 | port->dev->name, pm, dte, cable, dsr, dcd); |
151 | 151 | ||
152 | hdlc_set_carrier(value & STATUS_CABLE_DCD, port->dev); | 152 | if (value & STATUS_CABLE_DCD) |
153 | netif_carrier_on(port->dev); | ||
154 | else | ||
155 | netif_carrier_off(port->dev); | ||
153 | } | 156 | } |
154 | 157 | ||
155 | 158 | ||
diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c index 36bc7c415af7..a83c1f5735d6 100644 --- a/drivers/pci/msi.c +++ b/drivers/pci/msi.c | |||
@@ -47,13 +47,13 @@ msi_register(struct msi_ops *ops) | |||
47 | 47 | ||
48 | static void msi_cache_ctor(void *p, kmem_cache_t *cache, unsigned long flags) | 48 | static void msi_cache_ctor(void *p, kmem_cache_t *cache, unsigned long flags) |
49 | { | 49 | { |
50 | memset(p, 0, NR_IRQS * sizeof(struct msi_desc)); | 50 | memset(p, 0, sizeof(struct msi_desc)); |
51 | } | 51 | } |
52 | 52 | ||
53 | static int msi_cache_init(void) | 53 | static int msi_cache_init(void) |
54 | { | 54 | { |
55 | msi_cachep = kmem_cache_create("msi_cache", | 55 | msi_cachep = kmem_cache_create("msi_cache", |
56 | NR_IRQS * sizeof(struct msi_desc), | 56 | sizeof(struct msi_desc), |
57 | 0, SLAB_HWCACHE_ALIGN, msi_cache_ctor, NULL); | 57 | 0, SLAB_HWCACHE_ALIGN, msi_cache_ctor, NULL); |
58 | if (!msi_cachep) | 58 | if (!msi_cachep) |
59 | return -ENOMEM; | 59 | return -ENOMEM; |
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index cf57d7de3765..9f79dd6d51ab 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c | |||
@@ -19,6 +19,7 @@ | |||
19 | #include <asm/dma.h> /* isa_dma_bridge_buggy */ | 19 | #include <asm/dma.h> /* isa_dma_bridge_buggy */ |
20 | #include "pci.h" | 20 | #include "pci.h" |
21 | 21 | ||
22 | unsigned int pci_pm_d3_delay = 10; | ||
22 | 23 | ||
23 | /** | 24 | /** |
24 | * pci_bus_max_busnr - returns maximum PCI bus number of given bus' children | 25 | * pci_bus_max_busnr - returns maximum PCI bus number of given bus' children |
@@ -313,6 +314,14 @@ pci_set_power_state(struct pci_dev *dev, pci_power_t state) | |||
313 | } else if (dev->current_state == state) | 314 | } else if (dev->current_state == state) |
314 | return 0; /* we're already there */ | 315 | return 0; /* we're already there */ |
315 | 316 | ||
317 | /* | ||
318 | * If the device or the parent bridge can't support PCI PM, ignore | ||
319 | * the request if we're doing anything besides putting it into D0 | ||
320 | * (which would only happen on boot). | ||
321 | */ | ||
322 | if ((state == PCI_D1 || state == PCI_D2) && pci_no_d1d2(dev)) | ||
323 | return 0; | ||
324 | |||
316 | /* find PCI PM capability in list */ | 325 | /* find PCI PM capability in list */ |
317 | pm = pci_find_capability(dev, PCI_CAP_ID_PM); | 326 | pm = pci_find_capability(dev, PCI_CAP_ID_PM); |
318 | 327 | ||
@@ -363,7 +372,7 @@ pci_set_power_state(struct pci_dev *dev, pci_power_t state) | |||
363 | /* Mandatory power management transition delays */ | 372 | /* Mandatory power management transition delays */ |
364 | /* see PCI PM 1.1 5.6.1 table 18 */ | 373 | /* see PCI PM 1.1 5.6.1 table 18 */ |
365 | if (state == PCI_D3hot || dev->current_state == PCI_D3hot) | 374 | if (state == PCI_D3hot || dev->current_state == PCI_D3hot) |
366 | msleep(10); | 375 | msleep(pci_pm_d3_delay); |
367 | else if (state == PCI_D2 || dev->current_state == PCI_D2) | 376 | else if (state == PCI_D2 || dev->current_state == PCI_D2) |
368 | udelay(200); | 377 | udelay(200); |
369 | 378 | ||
diff --git a/drivers/pci/pci.h b/drivers/pci/pci.h index 9cc842b666eb..08d58fc78ee1 100644 --- a/drivers/pci/pci.h +++ b/drivers/pci/pci.h | |||
@@ -47,7 +47,7 @@ extern int pci_msi_quirk; | |||
47 | #else | 47 | #else |
48 | #define pci_msi_quirk 0 | 48 | #define pci_msi_quirk 0 |
49 | #endif | 49 | #endif |
50 | 50 | extern unsigned int pci_pm_d3_delay; | |
51 | #ifdef CONFIG_PCI_MSI | 51 | #ifdef CONFIG_PCI_MSI |
52 | void disable_msi_mode(struct pci_dev *dev, int pos, int type); | 52 | void disable_msi_mode(struct pci_dev *dev, int pos, int type); |
53 | void pci_no_msi(void); | 53 | void pci_no_msi(void); |
@@ -66,7 +66,15 @@ static inline int pci_save_msix_state(struct pci_dev *dev) { return 0; } | |||
66 | static inline void pci_restore_msi_state(struct pci_dev *dev) {} | 66 | static inline void pci_restore_msi_state(struct pci_dev *dev) {} |
67 | static inline void pci_restore_msix_state(struct pci_dev *dev) {} | 67 | static inline void pci_restore_msix_state(struct pci_dev *dev) {} |
68 | #endif | 68 | #endif |
69 | static inline int pci_no_d1d2(struct pci_dev *dev) | ||
70 | { | ||
71 | unsigned int parent_dstates = 0; | ||
69 | 72 | ||
73 | if (dev->bus->self) | ||
74 | parent_dstates = dev->bus->self->no_d1d2; | ||
75 | return (dev->no_d1d2 || parent_dstates); | ||
76 | |||
77 | } | ||
70 | extern int pcie_mch_quirk; | 78 | extern int pcie_mch_quirk; |
71 | extern struct device_attribute pci_dev_attrs[]; | 79 | extern struct device_attribute pci_dev_attrs[]; |
72 | extern struct class_device_attribute class_device_attr_cpuaffinity; | 80 | extern struct class_device_attribute class_device_attr_cpuaffinity; |
diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index d1d7333bb71b..e3c78c39b7e4 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c | |||
@@ -400,6 +400,7 @@ static void __devinit quirk_piix4_acpi(struct pci_dev *dev) | |||
400 | piix4_io_quirk(dev, "PIIX4 devres J", 0x7c, 1 << 20); | 400 | piix4_io_quirk(dev, "PIIX4 devres J", 0x7c, 1 << 20); |
401 | } | 401 | } |
402 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82371AB_3, quirk_piix4_acpi ); | 402 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82371AB_3, quirk_piix4_acpi ); |
403 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82443MX_3, quirk_piix4_acpi ); | ||
403 | 404 | ||
404 | /* | 405 | /* |
405 | * ICH4, ICH4-M, ICH5, ICH5-M ACPI: Three IO regions pointed to by longwords at | 406 | * ICH4, ICH4-M, ICH5, ICH5-M ACPI: Three IO regions pointed to by longwords at |
@@ -682,6 +683,33 @@ static void __devinit quirk_vt82c598_id(struct pci_dev *dev) | |||
682 | } | 683 | } |
683 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C597_0, quirk_vt82c598_id ); | 684 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C597_0, quirk_vt82c598_id ); |
684 | 685 | ||
686 | #ifdef CONFIG_ACPI_SLEEP | ||
687 | |||
688 | /* | ||
689 | * Some VIA systems boot with the abnormal status flag set. This can cause | ||
690 | * the BIOS to re-POST the system on resume rather than passing control | ||
691 | * back to the OS. Clear the flag on boot | ||
692 | */ | ||
693 | static void __devinit quirk_via_abnormal_poweroff(struct pci_dev *dev) | ||
694 | { | ||
695 | u32 reg; | ||
696 | |||
697 | acpi_hw_register_read(ACPI_MTX_DO_NOT_LOCK, ACPI_REGISTER_PM1_STATUS, | ||
698 | ®); | ||
699 | |||
700 | if (reg & 0x800) { | ||
701 | printk("Clearing abnormal poweroff flag\n"); | ||
702 | acpi_hw_register_write(ACPI_MTX_DO_NOT_LOCK, | ||
703 | ACPI_REGISTER_PM1_STATUS, | ||
704 | (u16)0x800); | ||
705 | } | ||
706 | } | ||
707 | |||
708 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8235, quirk_via_abnormal_poweroff); | ||
709 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8237, quirk_via_abnormal_poweroff); | ||
710 | |||
711 | #endif | ||
712 | |||
685 | /* | 713 | /* |
686 | * CardBus controllers have a legacy base address that enables them | 714 | * CardBus controllers have a legacy base address that enables them |
687 | * to respond as i82365 pcmcia controllers. We don't want them to | 715 | * to respond as i82365 pcmcia controllers. We don't want them to |
@@ -1174,6 +1202,55 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_962, quirk_sis_96x_ | |||
1174 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_963, quirk_sis_96x_smbus ); | 1202 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_963, quirk_sis_96x_smbus ); |
1175 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_LPC, quirk_sis_96x_smbus ); | 1203 | DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_LPC, quirk_sis_96x_smbus ); |
1176 | 1204 | ||
1205 | #if defined(CONFIG_SCSI_SATA) || defined(CONFIG_SCSI_SATA_MODULE) | ||
1206 | |||
1207 | /* | ||
1208 | * If we are using libata we can drive this chip properly but must | ||
1209 | * do this early on to make the additional device appear during | ||
1210 | * the PCI scanning. | ||
1211 | */ | ||
1212 | |||
1213 | static void __devinit quirk_jmicron_dualfn(struct pci_dev *pdev) | ||
1214 | { | ||
1215 | u32 conf; | ||
1216 | u8 hdr; | ||
1217 | |||
1218 | /* Only poke fn 0 */ | ||
1219 | if (PCI_FUNC(pdev->devfn)) | ||
1220 | return; | ||
1221 | |||
1222 | switch(pdev->device) { | ||
1223 | case PCI_DEVICE_ID_JMICRON_JMB365: | ||
1224 | case PCI_DEVICE_ID_JMICRON_JMB366: | ||
1225 | /* Redirect IDE second PATA port to the right spot */ | ||
1226 | pci_read_config_dword(pdev, 0x80, &conf); | ||
1227 | conf |= (1 << 24); | ||
1228 | /* Fall through */ | ||
1229 | pci_write_config_dword(pdev, 0x80, conf); | ||
1230 | case PCI_DEVICE_ID_JMICRON_JMB361: | ||
1231 | case PCI_DEVICE_ID_JMICRON_JMB363: | ||
1232 | pci_read_config_dword(pdev, 0x40, &conf); | ||
1233 | /* Enable dual function mode, AHCI on fn 0, IDE fn1 */ | ||
1234 | /* Set the class codes correctly and then direct IDE 0 */ | ||
1235 | conf &= ~0x000F0200; /* Clear bit 9 and 16-19 */ | ||
1236 | conf |= 0x00C20002; /* Set bit 1, 17, 22, 23 */ | ||
1237 | pci_write_config_dword(pdev, 0x40, conf); | ||
1238 | |||
1239 | /* Reconfigure so that the PCI scanner discovers the | ||
1240 | device is now multifunction */ | ||
1241 | |||
1242 | pci_read_config_byte(pdev, PCI_HEADER_TYPE, &hdr); | ||
1243 | pdev->hdr_type = hdr & 0x7f; | ||
1244 | pdev->multifunction = !!(hdr & 0x80); | ||
1245 | |||
1246 | break; | ||
1247 | } | ||
1248 | } | ||
1249 | |||
1250 | DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_JMICRON, PCI_ANY_ID, quirk_jmicron_dualfn); | ||
1251 | |||
1252 | #endif | ||
1253 | |||
1177 | #ifdef CONFIG_X86_IO_APIC | 1254 | #ifdef CONFIG_X86_IO_APIC |
1178 | static void __init quirk_alder_ioapic(struct pci_dev *pdev) | 1255 | static void __init quirk_alder_ioapic(struct pci_dev *pdev) |
1179 | { | 1256 | { |
@@ -1341,6 +1418,37 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_PXH_0, quirk_pc | |||
1341 | DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_PXH_1, quirk_pcie_pxh); | 1418 | DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_PXH_1, quirk_pcie_pxh); |
1342 | DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_PXHV, quirk_pcie_pxh); | 1419 | DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_PXHV, quirk_pcie_pxh); |
1343 | 1420 | ||
1421 | /* | ||
1422 | * Some Intel PCI Express chipsets have trouble with downstream | ||
1423 | * device power management. | ||
1424 | */ | ||
1425 | static void quirk_intel_pcie_pm(struct pci_dev * dev) | ||
1426 | { | ||
1427 | pci_pm_d3_delay = 120; | ||
1428 | dev->no_d1d2 = 1; | ||
1429 | } | ||
1430 | |||
1431 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x25e2, quirk_intel_pcie_pm); | ||
1432 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x25e3, quirk_intel_pcie_pm); | ||
1433 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x25e4, quirk_intel_pcie_pm); | ||
1434 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x25e5, quirk_intel_pcie_pm); | ||
1435 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x25e6, quirk_intel_pcie_pm); | ||
1436 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x25e7, quirk_intel_pcie_pm); | ||
1437 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x25f7, quirk_intel_pcie_pm); | ||
1438 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x25f8, quirk_intel_pcie_pm); | ||
1439 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x25f9, quirk_intel_pcie_pm); | ||
1440 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x25fa, quirk_intel_pcie_pm); | ||
1441 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x2601, quirk_intel_pcie_pm); | ||
1442 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x2602, quirk_intel_pcie_pm); | ||
1443 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x2603, quirk_intel_pcie_pm); | ||
1444 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x2604, quirk_intel_pcie_pm); | ||
1445 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x2605, quirk_intel_pcie_pm); | ||
1446 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x2606, quirk_intel_pcie_pm); | ||
1447 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x2607, quirk_intel_pcie_pm); | ||
1448 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x2608, quirk_intel_pcie_pm); | ||
1449 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x2609, quirk_intel_pcie_pm); | ||
1450 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x260a, quirk_intel_pcie_pm); | ||
1451 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, 0x260b, quirk_intel_pcie_pm); | ||
1344 | 1452 | ||
1345 | /* | 1453 | /* |
1346 | * Fixup the cardbus bridges on the IBM Dock II docking station | 1454 | * Fixup the cardbus bridges on the IBM Dock II docking station |
diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig index f5b9f187a930..7ff1d88094b6 100644 --- a/drivers/rtc/Kconfig +++ b/drivers/rtc/Kconfig | |||
@@ -121,6 +121,16 @@ config RTC_DRV_DS1553 | |||
121 | This driver can also be built as a module. If so, the module | 121 | This driver can also be built as a module. If so, the module |
122 | will be called rtc-ds1553. | 122 | will be called rtc-ds1553. |
123 | 123 | ||
124 | config RTC_DRV_ISL1208 | ||
125 | tristate "Intersil 1208" | ||
126 | depends on RTC_CLASS && I2C | ||
127 | help | ||
128 | If you say yes here you get support for the | ||
129 | Intersil 1208 RTC chip. | ||
130 | |||
131 | This driver can also be built as a module. If so, the module | ||
132 | will be called rtc-isl1208. | ||
133 | |||
124 | config RTC_DRV_DS1672 | 134 | config RTC_DRV_DS1672 |
125 | tristate "Dallas/Maxim DS1672" | 135 | tristate "Dallas/Maxim DS1672" |
126 | depends on RTC_CLASS && I2C | 136 | depends on RTC_CLASS && I2C |
diff --git a/drivers/rtc/Makefile b/drivers/rtc/Makefile index 54220714ff49..bbcfb09d81d9 100644 --- a/drivers/rtc/Makefile +++ b/drivers/rtc/Makefile | |||
@@ -12,6 +12,7 @@ obj-$(CONFIG_RTC_INTF_PROC) += rtc-proc.o | |||
12 | obj-$(CONFIG_RTC_INTF_DEV) += rtc-dev.o | 12 | obj-$(CONFIG_RTC_INTF_DEV) += rtc-dev.o |
13 | 13 | ||
14 | obj-$(CONFIG_RTC_DRV_X1205) += rtc-x1205.o | 14 | obj-$(CONFIG_RTC_DRV_X1205) += rtc-x1205.o |
15 | obj-$(CONFIG_RTC_DRV_ISL1208) += rtc-isl1208.o | ||
15 | obj-$(CONFIG_RTC_DRV_TEST) += rtc-test.o | 16 | obj-$(CONFIG_RTC_DRV_TEST) += rtc-test.o |
16 | obj-$(CONFIG_RTC_DRV_DS1307) += rtc-ds1307.o | 17 | obj-$(CONFIG_RTC_DRV_DS1307) += rtc-ds1307.o |
17 | obj-$(CONFIG_RTC_DRV_DS1672) += rtc-ds1672.o | 18 | obj-$(CONFIG_RTC_DRV_DS1672) += rtc-ds1672.o |
diff --git a/drivers/rtc/rtc-isl1208.c b/drivers/rtc/rtc-isl1208.c new file mode 100644 index 000000000000..f324d0a635d4 --- /dev/null +++ b/drivers/rtc/rtc-isl1208.c | |||
@@ -0,0 +1,591 @@ | |||
1 | /* | ||
2 | * Intersil ISL1208 rtc class driver | ||
3 | * | ||
4 | * Copyright 2005,2006 Hebert Valerio Riedel <hvr@gnu.org> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify it | ||
7 | * under the terms of the GNU General Public License as published by the | ||
8 | * Free Software Foundation; either version 2 of the License, or (at your | ||
9 | * option) any later version. | ||
10 | * | ||
11 | */ | ||
12 | |||
13 | #include <linux/module.h> | ||
14 | #include <linux/i2c.h> | ||
15 | #include <linux/bcd.h> | ||
16 | #include <linux/rtc.h> | ||
17 | |||
18 | #define DRV_NAME "isl1208" | ||
19 | #define DRV_VERSION "0.2" | ||
20 | |||
21 | /* Register map */ | ||
22 | /* rtc section */ | ||
23 | #define ISL1208_REG_SC 0x00 | ||
24 | #define ISL1208_REG_MN 0x01 | ||
25 | #define ISL1208_REG_HR 0x02 | ||
26 | #define ISL1208_REG_HR_MIL (1<<7) /* 24h/12h mode */ | ||
27 | #define ISL1208_REG_HR_PM (1<<5) /* PM/AM bit in 12h mode */ | ||
28 | #define ISL1208_REG_DT 0x03 | ||
29 | #define ISL1208_REG_MO 0x04 | ||
30 | #define ISL1208_REG_YR 0x05 | ||
31 | #define ISL1208_REG_DW 0x06 | ||
32 | #define ISL1208_RTC_SECTION_LEN 7 | ||
33 | |||
34 | /* control/status section */ | ||
35 | #define ISL1208_REG_SR 0x07 | ||
36 | #define ISL1208_REG_SR_ARST (1<<7) /* auto reset */ | ||
37 | #define ISL1208_REG_SR_XTOSCB (1<<6) /* crystal oscillator */ | ||
38 | #define ISL1208_REG_SR_WRTC (1<<4) /* write rtc */ | ||
39 | #define ISL1208_REG_SR_ALM (1<<2) /* alarm */ | ||
40 | #define ISL1208_REG_SR_BAT (1<<1) /* battery */ | ||
41 | #define ISL1208_REG_SR_RTCF (1<<0) /* rtc fail */ | ||
42 | #define ISL1208_REG_INT 0x08 | ||
43 | #define ISL1208_REG_09 0x09 /* reserved */ | ||
44 | #define ISL1208_REG_ATR 0x0a | ||
45 | #define ISL1208_REG_DTR 0x0b | ||
46 | |||
47 | /* alarm section */ | ||
48 | #define ISL1208_REG_SCA 0x0c | ||
49 | #define ISL1208_REG_MNA 0x0d | ||
50 | #define ISL1208_REG_HRA 0x0e | ||
51 | #define ISL1208_REG_DTA 0x0f | ||
52 | #define ISL1208_REG_MOA 0x10 | ||
53 | #define ISL1208_REG_DWA 0x11 | ||
54 | #define ISL1208_ALARM_SECTION_LEN 6 | ||
55 | |||
56 | /* user section */ | ||
57 | #define ISL1208_REG_USR1 0x12 | ||
58 | #define ISL1208_REG_USR2 0x13 | ||
59 | #define ISL1208_USR_SECTION_LEN 2 | ||
60 | |||
61 | /* i2c configuration */ | ||
62 | #define ISL1208_I2C_ADDR 0xde | ||
63 | |||
64 | static unsigned short normal_i2c[] = { | ||
65 | ISL1208_I2C_ADDR>>1, I2C_CLIENT_END | ||
66 | }; | ||
67 | I2C_CLIENT_INSMOD; /* defines addr_data */ | ||
68 | |||
69 | static int isl1208_attach_adapter(struct i2c_adapter *adapter); | ||
70 | static int isl1208_detach_client(struct i2c_client *client); | ||
71 | |||
72 | static struct i2c_driver isl1208_driver = { | ||
73 | .driver = { | ||
74 | .name = DRV_NAME, | ||
75 | }, | ||
76 | .id = I2C_DRIVERID_ISL1208, | ||
77 | .attach_adapter = &isl1208_attach_adapter, | ||
78 | .detach_client = &isl1208_detach_client, | ||
79 | }; | ||
80 | |||
81 | /* block read */ | ||
82 | static int | ||
83 | isl1208_i2c_read_regs(struct i2c_client *client, u8 reg, u8 buf[], | ||
84 | unsigned len) | ||
85 | { | ||
86 | u8 reg_addr[1] = { reg }; | ||
87 | struct i2c_msg msgs[2] = { | ||
88 | { client->addr, client->flags, sizeof(reg_addr), reg_addr }, | ||
89 | { client->addr, client->flags | I2C_M_RD, len, buf } | ||
90 | }; | ||
91 | int ret; | ||
92 | |||
93 | BUG_ON(len == 0); | ||
94 | BUG_ON(reg > ISL1208_REG_USR2); | ||
95 | BUG_ON(reg + len > ISL1208_REG_USR2 + 1); | ||
96 | |||
97 | ret = i2c_transfer(client->adapter, msgs, 2); | ||
98 | if (ret > 0) | ||
99 | ret = 0; | ||
100 | return ret; | ||
101 | } | ||
102 | |||
103 | /* block write */ | ||
104 | static int | ||
105 | isl1208_i2c_set_regs(struct i2c_client *client, u8 reg, u8 const buf[], | ||
106 | unsigned len) | ||
107 | { | ||
108 | u8 i2c_buf[ISL1208_REG_USR2 + 2]; | ||
109 | struct i2c_msg msgs[1] = { | ||
110 | { client->addr, client->flags, len + 1, i2c_buf } | ||
111 | }; | ||
112 | int ret; | ||
113 | |||
114 | BUG_ON(len == 0); | ||
115 | BUG_ON(reg > ISL1208_REG_USR2); | ||
116 | BUG_ON(reg + len > ISL1208_REG_USR2 + 1); | ||
117 | |||
118 | i2c_buf[0] = reg; | ||
119 | memcpy(&i2c_buf[1], &buf[0], len); | ||
120 | |||
121 | ret = i2c_transfer(client->adapter, msgs, 1); | ||
122 | if (ret > 0) | ||
123 | ret = 0; | ||
124 | return ret; | ||
125 | } | ||
126 | |||
127 | /* simple check to see wether we have a isl1208 */ | ||
128 | static int isl1208_i2c_validate_client(struct i2c_client *client) | ||
129 | { | ||
130 | u8 regs[ISL1208_RTC_SECTION_LEN] = { 0, }; | ||
131 | u8 zero_mask[ISL1208_RTC_SECTION_LEN] = { | ||
132 | 0x80, 0x80, 0x40, 0xc0, 0xe0, 0x00, 0xf8 | ||
133 | }; | ||
134 | int i; | ||
135 | int ret; | ||
136 | |||
137 | ret = isl1208_i2c_read_regs(client, 0, regs, ISL1208_RTC_SECTION_LEN); | ||
138 | if (ret < 0) | ||
139 | return ret; | ||
140 | |||
141 | for (i = 0; i < ISL1208_RTC_SECTION_LEN; ++i) { | ||
142 | if (regs[i] & zero_mask[i]) /* check if bits are cleared */ | ||
143 | return -ENODEV; | ||
144 | } | ||
145 | |||
146 | return 0; | ||
147 | } | ||
148 | |||
149 | static int isl1208_i2c_get_sr(struct i2c_client *client) | ||
150 | { | ||
151 | return i2c_smbus_read_byte_data(client, ISL1208_REG_SR) == -1 ? -EIO:0; | ||
152 | } | ||
153 | |||
154 | static int isl1208_i2c_get_atr(struct i2c_client *client) | ||
155 | { | ||
156 | int atr = i2c_smbus_read_byte_data(client, ISL1208_REG_ATR); | ||
157 | |||
158 | if (atr < 0) | ||
159 | return -EIO; | ||
160 | |||
161 | /* The 6bit value in the ATR register controls the load | ||
162 | * capacitance C_load * in steps of 0.25pF | ||
163 | * | ||
164 | * bit (1<<5) of the ATR register is inverted | ||
165 | * | ||
166 | * C_load(ATR=0x20) = 4.50pF | ||
167 | * C_load(ATR=0x00) = 12.50pF | ||
168 | * C_load(ATR=0x1f) = 20.25pF | ||
169 | * | ||
170 | */ | ||
171 | |||
172 | atr &= 0x3f; /* mask out lsb */ | ||
173 | atr ^= 1<<5; /* invert 6th bit */ | ||
174 | atr += 2*9; /* add offset of 4.5pF; unit[atr] = 0.25pF */ | ||
175 | |||
176 | return atr; | ||
177 | } | ||
178 | |||
179 | static int isl1208_i2c_get_dtr(struct i2c_client *client) | ||
180 | { | ||
181 | int dtr = i2c_smbus_read_byte_data(client, ISL1208_REG_DTR); | ||
182 | |||
183 | if (dtr < 0) | ||
184 | return -EIO; | ||
185 | |||
186 | /* dtr encodes adjustments of {-60,-40,-20,0,20,40,60} ppm */ | ||
187 | dtr = ((dtr & 0x3) * 20) * (dtr & (1<<2) ? -1 : 1); | ||
188 | |||
189 | return dtr; | ||
190 | } | ||
191 | |||
192 | static int isl1208_i2c_get_usr(struct i2c_client *client) | ||
193 | { | ||
194 | u8 buf[ISL1208_USR_SECTION_LEN] = { 0, }; | ||
195 | int ret; | ||
196 | |||
197 | ret = isl1208_i2c_read_regs (client, ISL1208_REG_USR1, buf, | ||
198 | ISL1208_USR_SECTION_LEN); | ||
199 | if (ret < 0) | ||
200 | return ret; | ||
201 | |||
202 | return (buf[1] << 8) | buf[0]; | ||
203 | } | ||
204 | |||
205 | static int isl1208_i2c_set_usr(struct i2c_client *client, u16 usr) | ||
206 | { | ||
207 | u8 buf[ISL1208_USR_SECTION_LEN]; | ||
208 | |||
209 | buf[0] = usr & 0xff; | ||
210 | buf[1] = (usr >> 8) & 0xff; | ||
211 | |||
212 | return isl1208_i2c_set_regs (client, ISL1208_REG_USR1, buf, | ||
213 | ISL1208_USR_SECTION_LEN); | ||
214 | } | ||
215 | |||
216 | static int isl1208_rtc_proc(struct device *dev, struct seq_file *seq) | ||
217 | { | ||
218 | struct i2c_client *const client = to_i2c_client(dev); | ||
219 | int sr, dtr, atr, usr; | ||
220 | |||
221 | sr = isl1208_i2c_get_sr(client); | ||
222 | if (sr < 0) { | ||
223 | dev_err(&client->dev, "%s: reading SR failed\n", __func__); | ||
224 | return sr; | ||
225 | } | ||
226 | |||
227 | seq_printf(seq, "status_reg\t:%s%s%s%s%s%s (0x%.2x)\n", | ||
228 | (sr & ISL1208_REG_SR_RTCF) ? " RTCF" : "", | ||
229 | (sr & ISL1208_REG_SR_BAT) ? " BAT" : "", | ||
230 | (sr & ISL1208_REG_SR_ALM) ? " ALM" : "", | ||
231 | (sr & ISL1208_REG_SR_WRTC) ? " WRTC" : "", | ||
232 | (sr & ISL1208_REG_SR_XTOSCB) ? " XTOSCB" : "", | ||
233 | (sr & ISL1208_REG_SR_ARST) ? " ARST" : "", | ||
234 | sr); | ||
235 | |||
236 | seq_printf(seq, "batt_status\t: %s\n", | ||
237 | (sr & ISL1208_REG_SR_RTCF) ? "bad" : "okay"); | ||
238 | |||
239 | dtr = isl1208_i2c_get_dtr(client); | ||
240 | if (dtr >= 0 -1) | ||
241 | seq_printf(seq, "digital_trim\t: %d ppm\n", dtr); | ||
242 | |||
243 | atr = isl1208_i2c_get_atr(client); | ||
244 | if (atr >= 0) | ||
245 | seq_printf(seq, "analog_trim\t: %d.%.2d pF\n", | ||
246 | atr>>2, (atr&0x3)*25); | ||
247 | |||
248 | usr = isl1208_i2c_get_usr(client); | ||
249 | if (usr >= 0) | ||
250 | seq_printf(seq, "user_data\t: 0x%.4x\n", usr); | ||
251 | |||
252 | return 0; | ||
253 | } | ||
254 | |||
255 | |||
256 | static int isl1208_i2c_read_time(struct i2c_client *client, | ||
257 | struct rtc_time *tm) | ||
258 | { | ||
259 | int sr; | ||
260 | u8 regs[ISL1208_RTC_SECTION_LEN] = { 0, }; | ||
261 | |||
262 | sr = isl1208_i2c_get_sr(client); | ||
263 | if (sr < 0) { | ||
264 | dev_err(&client->dev, "%s: reading SR failed\n", __func__); | ||
265 | return -EIO; | ||
266 | } | ||
267 | |||
268 | sr = isl1208_i2c_read_regs(client, 0, regs, ISL1208_RTC_SECTION_LEN); | ||
269 | if (sr < 0) { | ||
270 | dev_err(&client->dev, "%s: reading RTC section failed\n", | ||
271 | __func__); | ||
272 | return sr; | ||
273 | } | ||
274 | |||
275 | tm->tm_sec = BCD2BIN(regs[ISL1208_REG_SC]); | ||
276 | tm->tm_min = BCD2BIN(regs[ISL1208_REG_MN]); | ||
277 | { /* HR field has a more complex interpretation */ | ||
278 | const u8 _hr = regs[ISL1208_REG_HR]; | ||
279 | if (_hr & ISL1208_REG_HR_MIL) /* 24h format */ | ||
280 | tm->tm_hour = BCD2BIN(_hr & 0x3f); | ||
281 | else { // 12h format | ||
282 | tm->tm_hour = BCD2BIN(_hr & 0x1f); | ||
283 | if (_hr & ISL1208_REG_HR_PM) /* PM flag set */ | ||
284 | tm->tm_hour += 12; | ||
285 | } | ||
286 | } | ||
287 | |||
288 | tm->tm_mday = BCD2BIN(regs[ISL1208_REG_DT]); | ||
289 | tm->tm_mon = BCD2BIN(regs[ISL1208_REG_MO]) - 1; /* rtc starts at 1 */ | ||
290 | tm->tm_year = BCD2BIN(regs[ISL1208_REG_YR]) + 100; | ||
291 | tm->tm_wday = BCD2BIN(regs[ISL1208_REG_DW]); | ||
292 | |||
293 | return 0; | ||
294 | } | ||
295 | |||
296 | static int isl1208_i2c_read_alarm(struct i2c_client *client, | ||
297 | struct rtc_wkalrm *alarm) | ||
298 | { | ||
299 | struct rtc_time *const tm = &alarm->time; | ||
300 | u8 regs[ISL1208_ALARM_SECTION_LEN] = { 0, }; | ||
301 | int sr; | ||
302 | |||
303 | sr = isl1208_i2c_get_sr(client); | ||
304 | if (sr < 0) { | ||
305 | dev_err(&client->dev, "%s: reading SR failed\n", __func__); | ||
306 | return sr; | ||
307 | } | ||
308 | |||
309 | sr = isl1208_i2c_read_regs(client, ISL1208_REG_SCA, regs, | ||
310 | ISL1208_ALARM_SECTION_LEN); | ||
311 | if (sr < 0) { | ||
312 | dev_err(&client->dev, "%s: reading alarm section failed\n", | ||
313 | __func__); | ||
314 | return sr; | ||
315 | } | ||
316 | |||
317 | /* MSB of each alarm register is an enable bit */ | ||
318 | tm->tm_sec = BCD2BIN(regs[ISL1208_REG_SCA-ISL1208_REG_SCA] & 0x7f); | ||
319 | tm->tm_min = BCD2BIN(regs[ISL1208_REG_MNA-ISL1208_REG_SCA] & 0x7f); | ||
320 | tm->tm_hour = BCD2BIN(regs[ISL1208_REG_HRA-ISL1208_REG_SCA] & 0x3f); | ||
321 | tm->tm_mday = BCD2BIN(regs[ISL1208_REG_DTA-ISL1208_REG_SCA] & 0x3f); | ||
322 | tm->tm_mon = BCD2BIN(regs[ISL1208_REG_MOA-ISL1208_REG_SCA] & 0x1f)-1; | ||
323 | tm->tm_wday = BCD2BIN(regs[ISL1208_REG_DWA-ISL1208_REG_SCA] & 0x03); | ||
324 | |||
325 | return 0; | ||
326 | } | ||
327 | |||
328 | static int isl1208_rtc_read_time(struct device *dev, struct rtc_time *tm) | ||
329 | { | ||
330 | return isl1208_i2c_read_time(to_i2c_client(dev), tm); | ||
331 | } | ||
332 | |||
333 | static int isl1208_i2c_set_time(struct i2c_client *client, | ||
334 | struct rtc_time const *tm) | ||
335 | { | ||
336 | int sr; | ||
337 | u8 regs[ISL1208_RTC_SECTION_LEN] = { 0, }; | ||
338 | |||
339 | regs[ISL1208_REG_SC] = BIN2BCD(tm->tm_sec); | ||
340 | regs[ISL1208_REG_MN] = BIN2BCD(tm->tm_min); | ||
341 | regs[ISL1208_REG_HR] = BIN2BCD(tm->tm_hour) | ISL1208_REG_HR_MIL; | ||
342 | |||
343 | regs[ISL1208_REG_DT] = BIN2BCD(tm->tm_mday); | ||
344 | regs[ISL1208_REG_MO] = BIN2BCD(tm->tm_mon + 1); | ||
345 | regs[ISL1208_REG_YR] = BIN2BCD(tm->tm_year - 100); | ||
346 | |||
347 | regs[ISL1208_REG_DW] = BIN2BCD(tm->tm_wday & 7); | ||
348 | |||
349 | sr = isl1208_i2c_get_sr(client); | ||
350 | if (sr < 0) { | ||
351 | dev_err(&client->dev, "%s: reading SR failed\n", __func__); | ||
352 | return sr; | ||
353 | } | ||
354 | |||
355 | /* set WRTC */ | ||
356 | sr = i2c_smbus_write_byte_data (client, ISL1208_REG_SR, | ||
357 | sr | ISL1208_REG_SR_WRTC); | ||
358 | if (sr < 0) { | ||
359 | dev_err(&client->dev, "%s: writing SR failed\n", __func__); | ||
360 | return sr; | ||
361 | } | ||
362 | |||
363 | /* write RTC registers */ | ||
364 | sr = isl1208_i2c_set_regs(client, 0, regs, ISL1208_RTC_SECTION_LEN); | ||
365 | if (sr < 0) { | ||
366 | dev_err(&client->dev, "%s: writing RTC section failed\n", | ||
367 | __func__); | ||
368 | return sr; | ||
369 | } | ||
370 | |||
371 | /* clear WRTC again */ | ||
372 | sr = i2c_smbus_write_byte_data (client, ISL1208_REG_SR, | ||
373 | sr & ~ISL1208_REG_SR_WRTC); | ||
374 | if (sr < 0) { | ||
375 | dev_err(&client->dev, "%s: writing SR failed\n", __func__); | ||
376 | return sr; | ||
377 | } | ||
378 | |||
379 | return 0; | ||
380 | } | ||
381 | |||
382 | |||
383 | static int isl1208_rtc_set_time(struct device *dev, struct rtc_time *tm) | ||
384 | { | ||
385 | return isl1208_i2c_set_time(to_i2c_client(dev), tm); | ||
386 | } | ||
387 | |||
388 | static int isl1208_rtc_read_alarm(struct device *dev, struct rtc_wkalrm *alarm) | ||
389 | { | ||
390 | return isl1208_i2c_read_alarm(to_i2c_client(dev), alarm); | ||
391 | } | ||
392 | |||
393 | static struct rtc_class_ops isl1208_rtc_ops = { | ||
394 | .proc = isl1208_rtc_proc, | ||
395 | .read_time = isl1208_rtc_read_time, | ||
396 | .set_time = isl1208_rtc_set_time, | ||
397 | .read_alarm = isl1208_rtc_read_alarm, | ||
398 | //.set_alarm = isl1208_rtc_set_alarm, | ||
399 | }; | ||
400 | |||
401 | /* sysfs interface */ | ||
402 | |||
403 | static ssize_t isl1208_sysfs_show_atrim(struct device *dev, | ||
404 | struct device_attribute *attr, | ||
405 | char *buf) | ||
406 | { | ||
407 | int atr; | ||
408 | |||
409 | atr = isl1208_i2c_get_atr(to_i2c_client(dev)); | ||
410 | if (atr < 0) | ||
411 | return atr; | ||
412 | |||
413 | return sprintf(buf, "%d.%.2d pF\n", atr>>2, (atr&0x3)*25); | ||
414 | } | ||
415 | static DEVICE_ATTR(atrim, S_IRUGO, isl1208_sysfs_show_atrim, NULL); | ||
416 | |||
417 | static ssize_t isl1208_sysfs_show_dtrim(struct device *dev, | ||
418 | struct device_attribute *attr, | ||
419 | char *buf) | ||
420 | { | ||
421 | int dtr; | ||
422 | |||
423 | dtr = isl1208_i2c_get_dtr(to_i2c_client(dev)); | ||
424 | if (dtr < 0) | ||
425 | return dtr; | ||
426 | |||
427 | return sprintf(buf, "%d ppm\n", dtr); | ||
428 | } | ||
429 | static DEVICE_ATTR(dtrim, S_IRUGO, isl1208_sysfs_show_dtrim, NULL); | ||
430 | |||
431 | static ssize_t isl1208_sysfs_show_usr(struct device *dev, | ||
432 | struct device_attribute *attr, | ||
433 | char *buf) | ||
434 | { | ||
435 | int usr; | ||
436 | |||
437 | usr = isl1208_i2c_get_usr(to_i2c_client(dev)); | ||
438 | if (usr < 0) | ||
439 | return usr; | ||
440 | |||
441 | return sprintf(buf, "0x%.4x\n", usr); | ||
442 | } | ||
443 | |||
444 | static ssize_t isl1208_sysfs_store_usr(struct device *dev, | ||
445 | struct device_attribute *attr, | ||
446 | const char *buf, size_t count) | ||
447 | { | ||
448 | int usr = -1; | ||
449 | |||
450 | if (buf[0] == '0' && (buf[1] == 'x' || buf[1] == 'X')) { | ||
451 | if (sscanf(buf, "%x", &usr) != 1) | ||
452 | return -EINVAL; | ||
453 | } else { | ||
454 | if (sscanf(buf, "%d", &usr) != 1) | ||
455 | return -EINVAL; | ||
456 | } | ||
457 | |||
458 | if (usr < 0 || usr > 0xffff) | ||
459 | return -EINVAL; | ||
460 | |||
461 | return isl1208_i2c_set_usr(to_i2c_client(dev), usr) ? -EIO : count; | ||
462 | } | ||
463 | static DEVICE_ATTR(usr, S_IRUGO | S_IWUSR, isl1208_sysfs_show_usr, | ||
464 | isl1208_sysfs_store_usr); | ||
465 | |||
466 | static int | ||
467 | isl1208_probe(struct i2c_adapter *adapter, int addr, int kind) | ||
468 | { | ||
469 | int rc = 0; | ||
470 | struct i2c_client *new_client = NULL; | ||
471 | struct rtc_device *rtc = NULL; | ||
472 | |||
473 | if (!i2c_check_functionality(adapter, I2C_FUNC_I2C)) { | ||
474 | rc = -ENODEV; | ||
475 | goto failout; | ||
476 | } | ||
477 | |||
478 | new_client = kzalloc(sizeof(struct i2c_client), GFP_KERNEL); | ||
479 | if (new_client == NULL) { | ||
480 | rc = -ENOMEM; | ||
481 | goto failout; | ||
482 | } | ||
483 | |||
484 | new_client->addr = addr; | ||
485 | new_client->adapter = adapter; | ||
486 | new_client->driver = &isl1208_driver; | ||
487 | new_client->flags = 0; | ||
488 | strcpy(new_client->name, DRV_NAME); | ||
489 | |||
490 | if (kind < 0) { | ||
491 | rc = isl1208_i2c_validate_client(new_client); | ||
492 | if (rc < 0) | ||
493 | goto failout; | ||
494 | } | ||
495 | |||
496 | rc = i2c_attach_client(new_client); | ||
497 | if (rc < 0) | ||
498 | goto failout; | ||
499 | |||
500 | dev_info(&new_client->dev, | ||
501 | "chip found, driver version " DRV_VERSION "\n"); | ||
502 | |||
503 | rtc = rtc_device_register(isl1208_driver.driver.name, | ||
504 | &new_client->dev, | ||
505 | &isl1208_rtc_ops, THIS_MODULE); | ||
506 | |||
507 | if (IS_ERR(rtc)) { | ||
508 | rc = PTR_ERR(rtc); | ||
509 | goto failout_detach; | ||
510 | } | ||
511 | |||
512 | i2c_set_clientdata(new_client, rtc); | ||
513 | |||
514 | rc = isl1208_i2c_get_sr(new_client); | ||
515 | if (rc < 0) { | ||
516 | dev_err(&new_client->dev, "reading status failed\n"); | ||
517 | goto failout_unregister; | ||
518 | } | ||
519 | |||
520 | if (rc & ISL1208_REG_SR_RTCF) | ||
521 | dev_warn(&new_client->dev, "rtc power failure detected, " | ||
522 | "please set clock.\n"); | ||
523 | |||
524 | rc = device_create_file(&new_client->dev, &dev_attr_atrim); | ||
525 | if (rc < 0) | ||
526 | goto failout_unregister; | ||
527 | rc = device_create_file(&new_client->dev, &dev_attr_dtrim); | ||
528 | if (rc < 0) | ||
529 | goto failout_atrim; | ||
530 | rc = device_create_file(&new_client->dev, &dev_attr_usr); | ||
531 | if (rc < 0) | ||
532 | goto failout_dtrim; | ||
533 | |||
534 | return 0; | ||
535 | |||
536 | failout_dtrim: | ||
537 | device_remove_file(&new_client->dev, &dev_attr_dtrim); | ||
538 | failout_atrim: | ||
539 | device_remove_file(&new_client->dev, &dev_attr_atrim); | ||
540 | failout_unregister: | ||
541 | rtc_device_unregister(rtc); | ||
542 | failout_detach: | ||
543 | i2c_detach_client(new_client); | ||
544 | failout: | ||
545 | kfree(new_client); | ||
546 | return rc; | ||
547 | } | ||
548 | |||
549 | static int | ||
550 | isl1208_attach_adapter (struct i2c_adapter *adapter) | ||
551 | { | ||
552 | return i2c_probe(adapter, &addr_data, isl1208_probe); | ||
553 | } | ||
554 | |||
555 | static int | ||
556 | isl1208_detach_client(struct i2c_client *client) | ||
557 | { | ||
558 | int rc; | ||
559 | struct rtc_device *const rtc = i2c_get_clientdata(client); | ||
560 | |||
561 | if (rtc) | ||
562 | rtc_device_unregister(rtc); /* do we need to kfree? */ | ||
563 | |||
564 | rc = i2c_detach_client(client); | ||
565 | if (rc) | ||
566 | return rc; | ||
567 | |||
568 | kfree(client); | ||
569 | |||
570 | return 0; | ||
571 | } | ||
572 | |||
573 | /* module management */ | ||
574 | |||
575 | static int __init isl1208_init(void) | ||
576 | { | ||
577 | return i2c_add_driver(&isl1208_driver); | ||
578 | } | ||
579 | |||
580 | static void __exit isl1208_exit(void) | ||
581 | { | ||
582 | i2c_del_driver(&isl1208_driver); | ||
583 | } | ||
584 | |||
585 | MODULE_AUTHOR("Herbert Valerio Riedel <hvr@gnu.org>"); | ||
586 | MODULE_DESCRIPTION("Intersil ISL1208 RTC driver"); | ||
587 | MODULE_LICENSE("GPL"); | ||
588 | MODULE_VERSION(DRV_VERSION); | ||
589 | |||
590 | module_init(isl1208_init); | ||
591 | module_exit(isl1208_exit); | ||
diff --git a/drivers/rtc/rtc-vr41xx.c b/drivers/rtc/rtc-vr41xx.c index bb6d5ff24fd0..596764fd29f5 100644 --- a/drivers/rtc/rtc-vr41xx.c +++ b/drivers/rtc/rtc-vr41xx.c | |||
@@ -30,7 +30,7 @@ | |||
30 | #include <asm/div64.h> | 30 | #include <asm/div64.h> |
31 | #include <asm/io.h> | 31 | #include <asm/io.h> |
32 | #include <asm/uaccess.h> | 32 | #include <asm/uaccess.h> |
33 | #include <asm/vr41xx/vr41xx.h> | 33 | #include <asm/vr41xx/irq.h> |
34 | 34 | ||
35 | MODULE_AUTHOR("Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>"); | 35 | MODULE_AUTHOR("Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>"); |
36 | MODULE_DESCRIPTION("NEC VR4100 series RTC driver"); | 36 | MODULE_DESCRIPTION("NEC VR4100 series RTC driver"); |
diff --git a/drivers/s390/block/dasd_devmap.c b/drivers/s390/block/dasd_devmap.c index d7295386821c..7f6fdac74706 100644 --- a/drivers/s390/block/dasd_devmap.c +++ b/drivers/s390/block/dasd_devmap.c | |||
@@ -394,7 +394,7 @@ dasd_add_busid(char *bus_id, int features) | |||
394 | if (!new) | 394 | if (!new) |
395 | return ERR_PTR(-ENOMEM); | 395 | return ERR_PTR(-ENOMEM); |
396 | spin_lock(&dasd_devmap_lock); | 396 | spin_lock(&dasd_devmap_lock); |
397 | devmap = 0; | 397 | devmap = NULL; |
398 | hash = dasd_hash_busid(bus_id); | 398 | hash = dasd_hash_busid(bus_id); |
399 | list_for_each_entry(tmp, &dasd_hashlists[hash], list) | 399 | list_for_each_entry(tmp, &dasd_hashlists[hash], list) |
400 | if (strncmp(tmp->bus_id, bus_id, BUS_ID_SIZE) == 0) { | 400 | if (strncmp(tmp->bus_id, bus_id, BUS_ID_SIZE) == 0) { |
@@ -406,10 +406,10 @@ dasd_add_busid(char *bus_id, int features) | |||
406 | new->devindex = dasd_max_devindex++; | 406 | new->devindex = dasd_max_devindex++; |
407 | strncpy(new->bus_id, bus_id, BUS_ID_SIZE); | 407 | strncpy(new->bus_id, bus_id, BUS_ID_SIZE); |
408 | new->features = features; | 408 | new->features = features; |
409 | new->device = 0; | 409 | new->device = NULL; |
410 | list_add(&new->list, &dasd_hashlists[hash]); | 410 | list_add(&new->list, &dasd_hashlists[hash]); |
411 | devmap = new; | 411 | devmap = new; |
412 | new = 0; | 412 | new = NULL; |
413 | } | 413 | } |
414 | spin_unlock(&dasd_devmap_lock); | 414 | spin_unlock(&dasd_devmap_lock); |
415 | kfree(new); | 415 | kfree(new); |
@@ -479,7 +479,7 @@ dasd_device_from_devindex(int devindex) | |||
479 | int i; | 479 | int i; |
480 | 480 | ||
481 | spin_lock(&dasd_devmap_lock); | 481 | spin_lock(&dasd_devmap_lock); |
482 | devmap = 0; | 482 | devmap = NULL; |
483 | for (i = 0; (i < 256) && !devmap; i++) | 483 | for (i = 0; (i < 256) && !devmap; i++) |
484 | list_for_each_entry(tmp, &dasd_hashlists[i], list) | 484 | list_for_each_entry(tmp, &dasd_hashlists[i], list) |
485 | if (tmp->devindex == devindex) { | 485 | if (tmp->devindex == devindex) { |
diff --git a/drivers/s390/block/dasd_eckd.c b/drivers/s390/block/dasd_eckd.c index 2e655f466743..39c2281371b5 100644 --- a/drivers/s390/block/dasd_eckd.c +++ b/drivers/s390/block/dasd_eckd.c | |||
@@ -65,16 +65,16 @@ struct dasd_eckd_private { | |||
65 | /* The ccw bus type uses this table to find devices that it sends to | 65 | /* The ccw bus type uses this table to find devices that it sends to |
66 | * dasd_eckd_probe */ | 66 | * dasd_eckd_probe */ |
67 | static struct ccw_device_id dasd_eckd_ids[] = { | 67 | static struct ccw_device_id dasd_eckd_ids[] = { |
68 | { CCW_DEVICE_DEVTYPE (0x3990, 0, 0x3390, 0), driver_info: 0x1}, | 68 | { CCW_DEVICE_DEVTYPE (0x3990, 0, 0x3390, 0), .driver_info = 0x1}, |
69 | { CCW_DEVICE_DEVTYPE (0x2105, 0, 0x3390, 0), driver_info: 0x2}, | 69 | { CCW_DEVICE_DEVTYPE (0x2105, 0, 0x3390, 0), .driver_info = 0x2}, |
70 | { CCW_DEVICE_DEVTYPE (0x3880, 0, 0x3390, 0), driver_info: 0x3}, | 70 | { CCW_DEVICE_DEVTYPE (0x3880, 0, 0x3390, 0), .driver_info = 0x3}, |
71 | { CCW_DEVICE_DEVTYPE (0x3990, 0, 0x3380, 0), driver_info: 0x4}, | 71 | { CCW_DEVICE_DEVTYPE (0x3990, 0, 0x3380, 0), .driver_info = 0x4}, |
72 | { CCW_DEVICE_DEVTYPE (0x2105, 0, 0x3380, 0), driver_info: 0x5}, | 72 | { CCW_DEVICE_DEVTYPE (0x2105, 0, 0x3380, 0), .driver_info = 0x5}, |
73 | { CCW_DEVICE_DEVTYPE (0x9343, 0, 0x9345, 0), driver_info: 0x6}, | 73 | { CCW_DEVICE_DEVTYPE (0x9343, 0, 0x9345, 0), .driver_info = 0x6}, |
74 | { CCW_DEVICE_DEVTYPE (0x2107, 0, 0x3390, 0), driver_info: 0x7}, | 74 | { CCW_DEVICE_DEVTYPE (0x2107, 0, 0x3390, 0), .driver_info = 0x7}, |
75 | { CCW_DEVICE_DEVTYPE (0x2107, 0, 0x3380, 0), driver_info: 0x8}, | 75 | { CCW_DEVICE_DEVTYPE (0x2107, 0, 0x3380, 0), .driver_info = 0x8}, |
76 | { CCW_DEVICE_DEVTYPE (0x1750, 0, 0x3390, 0), driver_info: 0x9}, | 76 | { CCW_DEVICE_DEVTYPE (0x1750, 0, 0x3390, 0), .driver_info = 0x9}, |
77 | { CCW_DEVICE_DEVTYPE (0x1750, 0, 0x3380, 0), driver_info: 0xa}, | 77 | { CCW_DEVICE_DEVTYPE (0x1750, 0, 0x3380, 0), .driver_info = 0xa}, |
78 | { /* end of list */ }, | 78 | { /* end of list */ }, |
79 | }; | 79 | }; |
80 | 80 | ||
diff --git a/drivers/s390/block/dasd_fba.c b/drivers/s390/block/dasd_fba.c index 808434d38526..e85015be109b 100644 --- a/drivers/s390/block/dasd_fba.c +++ b/drivers/s390/block/dasd_fba.c | |||
@@ -44,8 +44,8 @@ struct dasd_fba_private { | |||
44 | }; | 44 | }; |
45 | 45 | ||
46 | static struct ccw_device_id dasd_fba_ids[] = { | 46 | static struct ccw_device_id dasd_fba_ids[] = { |
47 | { CCW_DEVICE_DEVTYPE (0x6310, 0, 0x9336, 0), driver_info: 0x1}, | 47 | { CCW_DEVICE_DEVTYPE (0x6310, 0, 0x9336, 0), .driver_info = 0x1}, |
48 | { CCW_DEVICE_DEVTYPE (0x3880, 0, 0x3370, 0), driver_info: 0x2}, | 48 | { CCW_DEVICE_DEVTYPE (0x3880, 0, 0x3370, 0), .driver_info = 0x2}, |
49 | { /* end of list */ }, | 49 | { /* end of list */ }, |
50 | }; | 50 | }; |
51 | 51 | ||
diff --git a/drivers/s390/block/dasd_genhd.c b/drivers/s390/block/dasd_genhd.c index 12c7d296eaa8..4c272b70f41a 100644 --- a/drivers/s390/block/dasd_genhd.c +++ b/drivers/s390/block/dasd_genhd.c | |||
@@ -84,9 +84,9 @@ void | |||
84 | dasd_gendisk_free(struct dasd_device *device) | 84 | dasd_gendisk_free(struct dasd_device *device) |
85 | { | 85 | { |
86 | del_gendisk(device->gdp); | 86 | del_gendisk(device->gdp); |
87 | device->gdp->queue = 0; | 87 | device->gdp->queue = NULL; |
88 | put_disk(device->gdp); | 88 | put_disk(device->gdp); |
89 | device->gdp = 0; | 89 | device->gdp = NULL; |
90 | } | 90 | } |
91 | 91 | ||
92 | /* | 92 | /* |
@@ -136,7 +136,7 @@ dasd_destroy_partitions(struct dasd_device * device) | |||
136 | * device->bdev to lower the offline open_count limit again. | 136 | * device->bdev to lower the offline open_count limit again. |
137 | */ | 137 | */ |
138 | bdev = device->bdev; | 138 | bdev = device->bdev; |
139 | device->bdev = 0; | 139 | device->bdev = NULL; |
140 | 140 | ||
141 | /* | 141 | /* |
142 | * See fs/partition/check.c:delete_partition | 142 | * See fs/partition/check.c:delete_partition |
@@ -145,7 +145,7 @@ dasd_destroy_partitions(struct dasd_device * device) | |||
145 | */ | 145 | */ |
146 | memset(&bpart, 0, sizeof(struct blkpg_partition)); | 146 | memset(&bpart, 0, sizeof(struct blkpg_partition)); |
147 | memset(&barg, 0, sizeof(struct blkpg_ioctl_arg)); | 147 | memset(&barg, 0, sizeof(struct blkpg_ioctl_arg)); |
148 | barg.data = &bpart; | 148 | barg.data = (void __user *) &bpart; |
149 | barg.op = BLKPG_DEL_PARTITION; | 149 | barg.op = BLKPG_DEL_PARTITION; |
150 | for (bpart.pno = device->gdp->minors - 1; bpart.pno > 0; bpart.pno--) | 150 | for (bpart.pno = device->gdp->minors - 1; bpart.pno > 0; bpart.pno--) |
151 | ioctl_by_bdev(bdev, BLKPG, (unsigned long) &barg); | 151 | ioctl_by_bdev(bdev, BLKPG, (unsigned long) &barg); |
diff --git a/drivers/s390/block/dasd_ioctl.c b/drivers/s390/block/dasd_ioctl.c index e97f5316ad2d..8fed3603e9ea 100644 --- a/drivers/s390/block/dasd_ioctl.c +++ b/drivers/s390/block/dasd_ioctl.c | |||
@@ -345,7 +345,7 @@ dasd_ioctl_set_ro(struct block_device *bdev, void __user *argp) | |||
345 | if (bdev != bdev->bd_contains) | 345 | if (bdev != bdev->bd_contains) |
346 | // ro setting is not allowed for partitions | 346 | // ro setting is not allowed for partitions |
347 | return -EINVAL; | 347 | return -EINVAL; |
348 | if (get_user(intval, (int *)argp)) | 348 | if (get_user(intval, (int __user *)argp)) |
349 | return -EFAULT; | 349 | return -EFAULT; |
350 | 350 | ||
351 | set_disk_ro(bdev->bd_disk, intval); | 351 | set_disk_ro(bdev->bd_disk, intval); |
diff --git a/drivers/s390/block/xpram.c b/drivers/s390/block/xpram.c index 4c1e56b9b98d..4cd879cb9bdd 100644 --- a/drivers/s390/block/xpram.c +++ b/drivers/s390/block/xpram.c | |||
@@ -71,11 +71,11 @@ static int xpram_devs; | |||
71 | /* | 71 | /* |
72 | * Parameter parsing functions. | 72 | * Parameter parsing functions. |
73 | */ | 73 | */ |
74 | static int devs = XPRAM_DEVS; | 74 | static int __initdata devs = XPRAM_DEVS; |
75 | static unsigned int sizes[XPRAM_MAX_DEVS]; | 75 | static char __initdata *sizes[XPRAM_MAX_DEVS]; |
76 | 76 | ||
77 | module_param(devs, int, 0); | 77 | module_param(devs, int, 0); |
78 | module_param_array(sizes, int, NULL, 0); | 78 | module_param_array(sizes, charp, NULL, 0); |
79 | 79 | ||
80 | MODULE_PARM_DESC(devs, "number of devices (\"partitions\"), " \ | 80 | MODULE_PARM_DESC(devs, "number of devices (\"partitions\"), " \ |
81 | "the default is " __MODULE_STRING(XPRAM_DEVS) "\n"); | 81 | "the default is " __MODULE_STRING(XPRAM_DEVS) "\n"); |
@@ -86,59 +86,6 @@ MODULE_PARM_DESC(sizes, "list of device (partition) sizes " \ | |||
86 | "claimed by explicit sizes\n"); | 86 | "claimed by explicit sizes\n"); |
87 | MODULE_LICENSE("GPL"); | 87 | MODULE_LICENSE("GPL"); |
88 | 88 | ||
89 | #ifndef MODULE | ||
90 | /* | ||
91 | * Parses the kernel parameters given in the kernel parameter line. | ||
92 | * The expected format is | ||
93 | * <number_of_partitions>[","<partition_size>]* | ||
94 | * where | ||
95 | * devices is a positive integer that initializes xpram_devs | ||
96 | * each size is a non-negative integer possibly followed by a | ||
97 | * magnitude (k,K,m,M,g,G), the list of sizes initialises | ||
98 | * xpram_sizes | ||
99 | * | ||
100 | * Arguments | ||
101 | * str: substring of kernel parameter line that contains xprams | ||
102 | * kernel parameters. | ||
103 | * | ||
104 | * Result 0 on success, -EINVAL else -- only for Version > 2.3 | ||
105 | * | ||
106 | * Side effects | ||
107 | * the global variabls devs is set to the value of | ||
108 | * <number_of_partitions> and sizes[i] is set to the i-th | ||
109 | * partition size (if provided). A parsing error of a value | ||
110 | * results in this value being set to -EINVAL. | ||
111 | */ | ||
112 | static int __init xpram_setup (char *str) | ||
113 | { | ||
114 | char *cp; | ||
115 | int i; | ||
116 | |||
117 | devs = simple_strtoul(str, &cp, 10); | ||
118 | if (cp <= str || devs > XPRAM_MAX_DEVS) | ||
119 | return 0; | ||
120 | for (i = 0; (i < devs) && (*cp++ == ','); i++) { | ||
121 | sizes[i] = simple_strtoul(cp, &cp, 10); | ||
122 | if (*cp == 'g' || *cp == 'G') { | ||
123 | sizes[i] <<= 20; | ||
124 | cp++; | ||
125 | } else if (*cp == 'm' || *cp == 'M') { | ||
126 | sizes[i] <<= 10; | ||
127 | cp++; | ||
128 | } else if (*cp == 'k' || *cp == 'K') | ||
129 | cp++; | ||
130 | while (isspace(*cp)) cp++; | ||
131 | } | ||
132 | if (*cp == ',' && i >= devs) | ||
133 | PRINT_WARN("partition sizes list has too many entries.\n"); | ||
134 | else if (*cp != 0) | ||
135 | PRINT_WARN("ignored '%s' at end of parameter string.\n", cp); | ||
136 | return 1; | ||
137 | } | ||
138 | |||
139 | __setup("xpram_parts=", xpram_setup); | ||
140 | #endif | ||
141 | |||
142 | /* | 89 | /* |
143 | * Copy expanded memory page (4kB) into main memory | 90 | * Copy expanded memory page (4kB) into main memory |
144 | * Arguments | 91 | * Arguments |
@@ -374,7 +321,9 @@ static int __init xpram_setup_sizes(unsigned long pages) | |||
374 | mem_needed = 0; | 321 | mem_needed = 0; |
375 | mem_auto_no = 0; | 322 | mem_auto_no = 0; |
376 | for (i = 0; i < xpram_devs; i++) { | 323 | for (i = 0; i < xpram_devs; i++) { |
377 | xpram_sizes[i] = (sizes[i] + 3) & -4UL; | 324 | if (sizes[i]) |
325 | xpram_sizes[i] = | ||
326 | (memparse(sizes[i], &sizes[i]) + 3) & -4UL; | ||
378 | if (xpram_sizes[i]) | 327 | if (xpram_sizes[i]) |
379 | mem_needed += xpram_sizes[i]; | 328 | mem_needed += xpram_sizes[i]; |
380 | else | 329 | else |
diff --git a/drivers/s390/char/con3215.c b/drivers/s390/char/con3215.c index f25c6d116f6f..2fa566fa6da4 100644 --- a/drivers/s390/char/con3215.c +++ b/drivers/s390/char/con3215.c | |||
@@ -693,7 +693,7 @@ raw3215_probe (struct ccw_device *cdev) | |||
693 | GFP_KERNEL|GFP_DMA); | 693 | GFP_KERNEL|GFP_DMA); |
694 | if (raw->buffer == NULL) { | 694 | if (raw->buffer == NULL) { |
695 | spin_lock(&raw3215_device_lock); | 695 | spin_lock(&raw3215_device_lock); |
696 | raw3215[line] = 0; | 696 | raw3215[line] = NULL; |
697 | spin_unlock(&raw3215_device_lock); | 697 | spin_unlock(&raw3215_device_lock); |
698 | kfree(raw); | 698 | kfree(raw); |
699 | return -ENOMEM; | 699 | return -ENOMEM; |
diff --git a/drivers/s390/char/ctrlchar.c b/drivers/s390/char/ctrlchar.c index 0ea6f36a2527..d83eb6358bac 100644 --- a/drivers/s390/char/ctrlchar.c +++ b/drivers/s390/char/ctrlchar.c | |||
@@ -23,7 +23,7 @@ ctrlchar_handle_sysrq(void *tty) | |||
23 | handle_sysrq(ctrlchar_sysrq_key, NULL, (struct tty_struct *) tty); | 23 | handle_sysrq(ctrlchar_sysrq_key, NULL, (struct tty_struct *) tty); |
24 | } | 24 | } |
25 | 25 | ||
26 | static DECLARE_WORK(ctrlchar_work, ctrlchar_handle_sysrq, 0); | 26 | static DECLARE_WORK(ctrlchar_work, ctrlchar_handle_sysrq, NULL); |
27 | #endif | 27 | #endif |
28 | 28 | ||
29 | 29 | ||
diff --git a/drivers/s390/char/defkeymap.c b/drivers/s390/char/defkeymap.c index ca15adb140d1..17027d918cf7 100644 --- a/drivers/s390/char/defkeymap.c +++ b/drivers/s390/char/defkeymap.c | |||
@@ -83,8 +83,8 @@ static u_short shift_ctrl_map[NR_KEYS] = { | |||
83 | }; | 83 | }; |
84 | 84 | ||
85 | ushort *key_maps[MAX_NR_KEYMAPS] = { | 85 | ushort *key_maps[MAX_NR_KEYMAPS] = { |
86 | plain_map, shift_map, 0, 0, | 86 | plain_map, shift_map, NULL, NULL, |
87 | ctrl_map, shift_ctrl_map, 0 | 87 | ctrl_map, shift_ctrl_map, NULL, |
88 | }; | 88 | }; |
89 | 89 | ||
90 | unsigned int keymap_count = 4; | 90 | unsigned int keymap_count = 4; |
@@ -145,7 +145,7 @@ char *func_table[MAX_NR_FUNC] = { | |||
145 | func_buf + 97, | 145 | func_buf + 97, |
146 | func_buf + 103, | 146 | func_buf + 103, |
147 | func_buf + 109, | 147 | func_buf + 109, |
148 | 0, | 148 | NULL, |
149 | }; | 149 | }; |
150 | 150 | ||
151 | struct kbdiacr accent_table[MAX_DIACR] = { | 151 | struct kbdiacr accent_table[MAX_DIACR] = { |
diff --git a/drivers/s390/char/fs3270.c b/drivers/s390/char/fs3270.c index 6099c14de429..ef004d089712 100644 --- a/drivers/s390/char/fs3270.c +++ b/drivers/s390/char/fs3270.c | |||
@@ -236,7 +236,7 @@ fs3270_irq(struct fs3270 *fp, struct raw3270_request *rq, struct irb *irb) | |||
236 | * Process reads from fullscreen 3270. | 236 | * Process reads from fullscreen 3270. |
237 | */ | 237 | */ |
238 | static ssize_t | 238 | static ssize_t |
239 | fs3270_read(struct file *filp, char *data, size_t count, loff_t *off) | 239 | fs3270_read(struct file *filp, char __user *data, size_t count, loff_t *off) |
240 | { | 240 | { |
241 | struct fs3270 *fp; | 241 | struct fs3270 *fp; |
242 | struct raw3270_request *rq; | 242 | struct raw3270_request *rq; |
@@ -281,7 +281,7 @@ fs3270_read(struct file *filp, char *data, size_t count, loff_t *off) | |||
281 | * Process writes to fullscreen 3270. | 281 | * Process writes to fullscreen 3270. |
282 | */ | 282 | */ |
283 | static ssize_t | 283 | static ssize_t |
284 | fs3270_write(struct file *filp, const char *data, size_t count, loff_t *off) | 284 | fs3270_write(struct file *filp, const char __user *data, size_t count, loff_t *off) |
285 | { | 285 | { |
286 | struct fs3270 *fp; | 286 | struct fs3270 *fp; |
287 | struct raw3270_request *rq; | 287 | struct raw3270_request *rq; |
@@ -338,10 +338,10 @@ fs3270_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) | |||
338 | fp->write_command = arg; | 338 | fp->write_command = arg; |
339 | break; | 339 | break; |
340 | case TUBGETI: | 340 | case TUBGETI: |
341 | rc = put_user(fp->read_command, (char *) arg); | 341 | rc = put_user(fp->read_command, (char __user *) arg); |
342 | break; | 342 | break; |
343 | case TUBGETO: | 343 | case TUBGETO: |
344 | rc = put_user(fp->write_command,(char *) arg); | 344 | rc = put_user(fp->write_command,(char __user *) arg); |
345 | break; | 345 | break; |
346 | case TUBGETMOD: | 346 | case TUBGETMOD: |
347 | iocb.model = fp->view.model; | 347 | iocb.model = fp->view.model; |
@@ -350,7 +350,7 @@ fs3270_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) | |||
350 | iocb.pf_cnt = 24; | 350 | iocb.pf_cnt = 24; |
351 | iocb.re_cnt = 20; | 351 | iocb.re_cnt = 20; |
352 | iocb.map = 0; | 352 | iocb.map = 0; |
353 | if (copy_to_user((char *) arg, &iocb, | 353 | if (copy_to_user((char __user *) arg, &iocb, |
354 | sizeof(struct raw3270_iocb))) | 354 | sizeof(struct raw3270_iocb))) |
355 | rc = -EFAULT; | 355 | rc = -EFAULT; |
356 | break; | 356 | break; |
@@ -479,7 +479,7 @@ fs3270_close(struct inode *inode, struct file *filp) | |||
479 | struct fs3270 *fp; | 479 | struct fs3270 *fp; |
480 | 480 | ||
481 | fp = filp->private_data; | 481 | fp = filp->private_data; |
482 | filp->private_data = 0; | 482 | filp->private_data = NULL; |
483 | if (fp) { | 483 | if (fp) { |
484 | fp->fs_pid = 0; | 484 | fp->fs_pid = 0; |
485 | raw3270_reset(&fp->view); | 485 | raw3270_reset(&fp->view); |
diff --git a/drivers/s390/char/keyboard.c b/drivers/s390/char/keyboard.c index 547ef906ae2c..3be06569180d 100644 --- a/drivers/s390/char/keyboard.c +++ b/drivers/s390/char/keyboard.c | |||
@@ -103,7 +103,7 @@ out_maps: | |||
103 | out_kbd: | 103 | out_kbd: |
104 | kfree(kbd); | 104 | kfree(kbd); |
105 | out: | 105 | out: |
106 | return 0; | 106 | return NULL; |
107 | } | 107 | } |
108 | 108 | ||
109 | void | 109 | void |
@@ -304,7 +304,7 @@ kbd_keycode(struct kbd_data *kbd, unsigned int keycode) | |||
304 | if (kbd->sysrq) { | 304 | if (kbd->sysrq) { |
305 | if (kbd->sysrq == K(KT_LATIN, '-')) { | 305 | if (kbd->sysrq == K(KT_LATIN, '-')) { |
306 | kbd->sysrq = 0; | 306 | kbd->sysrq = 0; |
307 | handle_sysrq(value, 0, kbd->tty); | 307 | handle_sysrq(value, NULL, kbd->tty); |
308 | return; | 308 | return; |
309 | } | 309 | } |
310 | if (value == '-') { | 310 | if (value == '-') { |
@@ -363,7 +363,7 @@ do_kdsk_ioctl(struct kbd_data *kbd, struct kbentry __user *user_kbe, | |||
363 | /* disallocate map */ | 363 | /* disallocate map */ |
364 | key_map = kbd->key_maps[tmp.kb_table]; | 364 | key_map = kbd->key_maps[tmp.kb_table]; |
365 | if (key_map) { | 365 | if (key_map) { |
366 | kbd->key_maps[tmp.kb_table] = 0; | 366 | kbd->key_maps[tmp.kb_table] = NULL; |
367 | kfree(key_map); | 367 | kfree(key_map); |
368 | } | 368 | } |
369 | break; | 369 | break; |
diff --git a/drivers/s390/char/raw3270.c b/drivers/s390/char/raw3270.c index e95b56f810db..95e285b2e25c 100644 --- a/drivers/s390/char/raw3270.c +++ b/drivers/s390/char/raw3270.c | |||
@@ -555,7 +555,7 @@ raw3270_start_init(struct raw3270 *rp, struct raw3270_view *view, | |||
555 | #ifdef CONFIG_TN3270_CONSOLE | 555 | #ifdef CONFIG_TN3270_CONSOLE |
556 | if (raw3270_registered == 0) { | 556 | if (raw3270_registered == 0) { |
557 | spin_lock_irqsave(get_ccwdev_lock(view->dev->cdev), flags); | 557 | spin_lock_irqsave(get_ccwdev_lock(view->dev->cdev), flags); |
558 | rq->callback = 0; | 558 | rq->callback = NULL; |
559 | rc = __raw3270_start(rp, view, rq); | 559 | rc = __raw3270_start(rp, view, rq); |
560 | if (rc == 0) | 560 | if (rc == 0) |
561 | while (!raw3270_request_final(rq)) { | 561 | while (!raw3270_request_final(rq)) { |
@@ -719,8 +719,8 @@ raw3270_size_device(struct raw3270 *rp) | |||
719 | rc = __raw3270_size_device_vm(rp); | 719 | rc = __raw3270_size_device_vm(rp); |
720 | else | 720 | else |
721 | rc = __raw3270_size_device(rp); | 721 | rc = __raw3270_size_device(rp); |
722 | raw3270_init_view.dev = 0; | 722 | raw3270_init_view.dev = NULL; |
723 | rp->view = 0; | 723 | rp->view = NULL; |
724 | up(&raw3270_init_sem); | 724 | up(&raw3270_init_sem); |
725 | if (rc == 0) { /* Found something. */ | 725 | if (rc == 0) { /* Found something. */ |
726 | /* Try to find a model. */ | 726 | /* Try to find a model. */ |
@@ -761,8 +761,8 @@ raw3270_reset_device(struct raw3270 *rp) | |||
761 | rp->view = &raw3270_init_view; | 761 | rp->view = &raw3270_init_view; |
762 | raw3270_init_view.dev = rp; | 762 | raw3270_init_view.dev = rp; |
763 | rc = raw3270_start_init(rp, &raw3270_init_view, &rp->init_request); | 763 | rc = raw3270_start_init(rp, &raw3270_init_view, &rp->init_request); |
764 | raw3270_init_view.dev = 0; | 764 | raw3270_init_view.dev = NULL; |
765 | rp->view = 0; | 765 | rp->view = NULL; |
766 | up(&raw3270_init_sem); | 766 | up(&raw3270_init_sem); |
767 | return rc; | 767 | return rc; |
768 | } | 768 | } |
@@ -934,7 +934,7 @@ raw3270_activate_view(struct raw3270_view *view) | |||
934 | else if (!test_bit(RAW3270_FLAGS_READY, &rp->flags)) | 934 | else if (!test_bit(RAW3270_FLAGS_READY, &rp->flags)) |
935 | rc = -ENODEV; | 935 | rc = -ENODEV; |
936 | else { | 936 | else { |
937 | oldview = 0; | 937 | oldview = NULL; |
938 | if (rp->view) { | 938 | if (rp->view) { |
939 | oldview = rp->view; | 939 | oldview = rp->view; |
940 | oldview->fn->deactivate(oldview); | 940 | oldview->fn->deactivate(oldview); |
@@ -951,7 +951,7 @@ raw3270_activate_view(struct raw3270_view *view) | |||
951 | rp->view = nv; | 951 | rp->view = nv; |
952 | if (nv->fn->activate(nv) == 0) | 952 | if (nv->fn->activate(nv) == 0) |
953 | break; | 953 | break; |
954 | rp->view = 0; | 954 | rp->view = NULL; |
955 | } | 955 | } |
956 | } | 956 | } |
957 | } | 957 | } |
@@ -975,7 +975,7 @@ raw3270_deactivate_view(struct raw3270_view *view) | |||
975 | spin_lock_irqsave(get_ccwdev_lock(rp->cdev), flags); | 975 | spin_lock_irqsave(get_ccwdev_lock(rp->cdev), flags); |
976 | if (rp->view == view) { | 976 | if (rp->view == view) { |
977 | view->fn->deactivate(view); | 977 | view->fn->deactivate(view); |
978 | rp->view = 0; | 978 | rp->view = NULL; |
979 | /* Move deactivated view to end of list. */ | 979 | /* Move deactivated view to end of list. */ |
980 | list_del_init(&view->list); | 980 | list_del_init(&view->list); |
981 | list_add_tail(&view->list, &rp->view_list); | 981 | list_add_tail(&view->list, &rp->view_list); |
@@ -985,7 +985,7 @@ raw3270_deactivate_view(struct raw3270_view *view) | |||
985 | rp->view = view; | 985 | rp->view = view; |
986 | if (view->fn->activate(view) == 0) | 986 | if (view->fn->activate(view) == 0) |
987 | break; | 987 | break; |
988 | rp->view = 0; | 988 | rp->view = NULL; |
989 | } | 989 | } |
990 | } | 990 | } |
991 | } | 991 | } |
@@ -1076,7 +1076,7 @@ raw3270_del_view(struct raw3270_view *view) | |||
1076 | spin_lock_irqsave(get_ccwdev_lock(rp->cdev), flags); | 1076 | spin_lock_irqsave(get_ccwdev_lock(rp->cdev), flags); |
1077 | if (rp->view == view) { | 1077 | if (rp->view == view) { |
1078 | view->fn->deactivate(view); | 1078 | view->fn->deactivate(view); |
1079 | rp->view = 0; | 1079 | rp->view = NULL; |
1080 | } | 1080 | } |
1081 | list_del_init(&view->list); | 1081 | list_del_init(&view->list); |
1082 | if (!rp->view && test_bit(RAW3270_FLAGS_READY, &rp->flags)) { | 1082 | if (!rp->view && test_bit(RAW3270_FLAGS_READY, &rp->flags)) { |
@@ -1117,9 +1117,9 @@ raw3270_delete_device(struct raw3270 *rp) | |||
1117 | 1117 | ||
1118 | /* Disconnect from ccw_device. */ | 1118 | /* Disconnect from ccw_device. */ |
1119 | cdev = rp->cdev; | 1119 | cdev = rp->cdev; |
1120 | rp->cdev = 0; | 1120 | rp->cdev = NULL; |
1121 | cdev->dev.driver_data = 0; | 1121 | cdev->dev.driver_data = NULL; |
1122 | cdev->handler = 0; | 1122 | cdev->handler = NULL; |
1123 | 1123 | ||
1124 | /* Put ccw_device structure. */ | 1124 | /* Put ccw_device structure. */ |
1125 | put_device(&cdev->dev); | 1125 | put_device(&cdev->dev); |
@@ -1144,7 +1144,7 @@ raw3270_model_show(struct device *dev, struct device_attribute *attr, char *buf) | |||
1144 | return snprintf(buf, PAGE_SIZE, "%i\n", | 1144 | return snprintf(buf, PAGE_SIZE, "%i\n", |
1145 | ((struct raw3270 *) dev->driver_data)->model); | 1145 | ((struct raw3270 *) dev->driver_data)->model); |
1146 | } | 1146 | } |
1147 | static DEVICE_ATTR(model, 0444, raw3270_model_show, 0); | 1147 | static DEVICE_ATTR(model, 0444, raw3270_model_show, NULL); |
1148 | 1148 | ||
1149 | static ssize_t | 1149 | static ssize_t |
1150 | raw3270_rows_show(struct device *dev, struct device_attribute *attr, char *buf) | 1150 | raw3270_rows_show(struct device *dev, struct device_attribute *attr, char *buf) |
@@ -1152,7 +1152,7 @@ raw3270_rows_show(struct device *dev, struct device_attribute *attr, char *buf) | |||
1152 | return snprintf(buf, PAGE_SIZE, "%i\n", | 1152 | return snprintf(buf, PAGE_SIZE, "%i\n", |
1153 | ((struct raw3270 *) dev->driver_data)->rows); | 1153 | ((struct raw3270 *) dev->driver_data)->rows); |
1154 | } | 1154 | } |
1155 | static DEVICE_ATTR(rows, 0444, raw3270_rows_show, 0); | 1155 | static DEVICE_ATTR(rows, 0444, raw3270_rows_show, NULL); |
1156 | 1156 | ||
1157 | static ssize_t | 1157 | static ssize_t |
1158 | raw3270_columns_show(struct device *dev, struct device_attribute *attr, char *buf) | 1158 | raw3270_columns_show(struct device *dev, struct device_attribute *attr, char *buf) |
@@ -1160,7 +1160,7 @@ raw3270_columns_show(struct device *dev, struct device_attribute *attr, char *bu | |||
1160 | return snprintf(buf, PAGE_SIZE, "%i\n", | 1160 | return snprintf(buf, PAGE_SIZE, "%i\n", |
1161 | ((struct raw3270 *) dev->driver_data)->cols); | 1161 | ((struct raw3270 *) dev->driver_data)->cols); |
1162 | } | 1162 | } |
1163 | static DEVICE_ATTR(columns, 0444, raw3270_columns_show, 0); | 1163 | static DEVICE_ATTR(columns, 0444, raw3270_columns_show, NULL); |
1164 | 1164 | ||
1165 | static struct attribute * raw3270_attrs[] = { | 1165 | static struct attribute * raw3270_attrs[] = { |
1166 | &dev_attr_model.attr, | 1166 | &dev_attr_model.attr, |
@@ -1296,7 +1296,7 @@ raw3270_remove (struct ccw_device *cdev) | |||
1296 | spin_lock_irqsave(get_ccwdev_lock(cdev), flags); | 1296 | spin_lock_irqsave(get_ccwdev_lock(cdev), flags); |
1297 | if (rp->view) { | 1297 | if (rp->view) { |
1298 | rp->view->fn->deactivate(rp->view); | 1298 | rp->view->fn->deactivate(rp->view); |
1299 | rp->view = 0; | 1299 | rp->view = NULL; |
1300 | } | 1300 | } |
1301 | while (!list_empty(&rp->view_list)) { | 1301 | while (!list_empty(&rp->view_list)) { |
1302 | v = list_entry(rp->view_list.next, struct raw3270_view, list); | 1302 | v = list_entry(rp->view_list.next, struct raw3270_view, list); |
diff --git a/drivers/s390/char/raw3270.h b/drivers/s390/char/raw3270.h index b635bf8e7775..90beaa80a782 100644 --- a/drivers/s390/char/raw3270.h +++ b/drivers/s390/char/raw3270.h | |||
@@ -231,7 +231,7 @@ alloc_string(struct list_head *free_list, unsigned long len) | |||
231 | INIT_LIST_HEAD(&cs->update); | 231 | INIT_LIST_HEAD(&cs->update); |
232 | return cs; | 232 | return cs; |
233 | } | 233 | } |
234 | return 0; | 234 | return NULL; |
235 | } | 235 | } |
236 | 236 | ||
237 | static inline unsigned long | 237 | static inline unsigned long |
diff --git a/drivers/s390/char/tape_34xx.c b/drivers/s390/char/tape_34xx.c index 48b4d30a7256..7b95dab913d0 100644 --- a/drivers/s390/char/tape_34xx.c +++ b/drivers/s390/char/tape_34xx.c | |||
@@ -1309,9 +1309,9 @@ static struct tape_discipline tape_discipline_34xx = { | |||
1309 | }; | 1309 | }; |
1310 | 1310 | ||
1311 | static struct ccw_device_id tape_34xx_ids[] = { | 1311 | static struct ccw_device_id tape_34xx_ids[] = { |
1312 | { CCW_DEVICE_DEVTYPE(0x3480, 0, 0x3480, 0), driver_info: tape_3480}, | 1312 | { CCW_DEVICE_DEVTYPE(0x3480, 0, 0x3480, 0), .driver_info = tape_3480}, |
1313 | { CCW_DEVICE_DEVTYPE(0x3490, 0, 0x3490, 0), driver_info: tape_3490}, | 1313 | { CCW_DEVICE_DEVTYPE(0x3490, 0, 0x3490, 0), .driver_info = tape_3490}, |
1314 | { /* end of list */ } | 1314 | { /* end of list */ }, |
1315 | }; | 1315 | }; |
1316 | 1316 | ||
1317 | static int | 1317 | static int |
diff --git a/drivers/s390/char/tty3270.c b/drivers/s390/char/tty3270.c index f496f236b9c0..29718042c6c9 100644 --- a/drivers/s390/char/tty3270.c +++ b/drivers/s390/char/tty3270.c | |||
@@ -437,7 +437,7 @@ tty3270_rcl_add(struct tty3270 *tp, char *input, int len) | |||
437 | { | 437 | { |
438 | struct string *s; | 438 | struct string *s; |
439 | 439 | ||
440 | tp->rcl_walk = 0; | 440 | tp->rcl_walk = NULL; |
441 | if (len <= 0) | 441 | if (len <= 0) |
442 | return; | 442 | return; |
443 | if (tp->rcl_nr >= tp->rcl_max) { | 443 | if (tp->rcl_nr >= tp->rcl_max) { |
@@ -466,12 +466,12 @@ tty3270_rcl_backward(struct kbd_data *kbd) | |||
466 | else if (!list_empty(&tp->rcl_lines)) | 466 | else if (!list_empty(&tp->rcl_lines)) |
467 | tp->rcl_walk = tp->rcl_lines.prev; | 467 | tp->rcl_walk = tp->rcl_lines.prev; |
468 | s = tp->rcl_walk ? | 468 | s = tp->rcl_walk ? |
469 | list_entry(tp->rcl_walk, struct string, list) : 0; | 469 | list_entry(tp->rcl_walk, struct string, list) : NULL; |
470 | if (tp->rcl_walk) { | 470 | if (tp->rcl_walk) { |
471 | s = list_entry(tp->rcl_walk, struct string, list); | 471 | s = list_entry(tp->rcl_walk, struct string, list); |
472 | tty3270_update_prompt(tp, s->string, s->len); | 472 | tty3270_update_prompt(tp, s->string, s->len); |
473 | } else | 473 | } else |
474 | tty3270_update_prompt(tp, 0, 0); | 474 | tty3270_update_prompt(tp, NULL, 0); |
475 | tty3270_set_timer(tp, 1); | 475 | tty3270_set_timer(tp, 1); |
476 | } | 476 | } |
477 | spin_unlock_bh(&tp->view.lock); | 477 | spin_unlock_bh(&tp->view.lock); |
@@ -553,7 +553,7 @@ tty3270_read_tasklet(struct raw3270_request *rrq) | |||
553 | * has to be emitted to the tty and for 0x6d the screen | 553 | * has to be emitted to the tty and for 0x6d the screen |
554 | * needs to be redrawn. | 554 | * needs to be redrawn. |
555 | */ | 555 | */ |
556 | input = 0; | 556 | input = NULL; |
557 | len = 0; | 557 | len = 0; |
558 | if (tp->input->string[0] == 0x7d) { | 558 | if (tp->input->string[0] == 0x7d) { |
559 | /* Enter: write input to tty. */ | 559 | /* Enter: write input to tty. */ |
@@ -567,7 +567,7 @@ tty3270_read_tasklet(struct raw3270_request *rrq) | |||
567 | tty3270_update_status(tp); | 567 | tty3270_update_status(tp); |
568 | } | 568 | } |
569 | /* Clear input area. */ | 569 | /* Clear input area. */ |
570 | tty3270_update_prompt(tp, 0, 0); | 570 | tty3270_update_prompt(tp, NULL, 0); |
571 | tty3270_set_timer(tp, 1); | 571 | tty3270_set_timer(tp, 1); |
572 | } else if (tp->input->string[0] == 0x6d) { | 572 | } else if (tp->input->string[0] == 0x6d) { |
573 | /* Display has been cleared. Redraw. */ | 573 | /* Display has been cleared. Redraw. */ |
@@ -808,8 +808,8 @@ tty3270_release(struct raw3270_view *view) | |||
808 | tp = (struct tty3270 *) view; | 808 | tp = (struct tty3270 *) view; |
809 | tty = tp->tty; | 809 | tty = tp->tty; |
810 | if (tty) { | 810 | if (tty) { |
811 | tty->driver_data = 0; | 811 | tty->driver_data = NULL; |
812 | tp->tty = tp->kbd->tty = 0; | 812 | tp->tty = tp->kbd->tty = NULL; |
813 | tty_hangup(tty); | 813 | tty_hangup(tty); |
814 | raw3270_put_view(&tp->view); | 814 | raw3270_put_view(&tp->view); |
815 | } | 815 | } |
@@ -948,8 +948,8 @@ tty3270_close(struct tty_struct *tty, struct file * filp) | |||
948 | return; | 948 | return; |
949 | tp = (struct tty3270 *) tty->driver_data; | 949 | tp = (struct tty3270 *) tty->driver_data; |
950 | if (tp) { | 950 | if (tp) { |
951 | tty->driver_data = 0; | 951 | tty->driver_data = NULL; |
952 | tp->tty = tp->kbd->tty = 0; | 952 | tp->tty = tp->kbd->tty = NULL; |
953 | raw3270_put_view(&tp->view); | 953 | raw3270_put_view(&tp->view); |
954 | } | 954 | } |
955 | } | 955 | } |
@@ -1673,7 +1673,7 @@ tty3270_set_termios(struct tty_struct *tty, struct termios *old) | |||
1673 | new = L_ECHO(tty) ? TF_INPUT: TF_INPUTN; | 1673 | new = L_ECHO(tty) ? TF_INPUT: TF_INPUTN; |
1674 | if (new != tp->inattr) { | 1674 | if (new != tp->inattr) { |
1675 | tp->inattr = new; | 1675 | tp->inattr = new; |
1676 | tty3270_update_prompt(tp, 0, 0); | 1676 | tty3270_update_prompt(tp, NULL, 0); |
1677 | tty3270_set_timer(tp, 1); | 1677 | tty3270_set_timer(tp, 1); |
1678 | } | 1678 | } |
1679 | } | 1679 | } |
@@ -1759,7 +1759,7 @@ void | |||
1759 | tty3270_notifier(int index, int active) | 1759 | tty3270_notifier(int index, int active) |
1760 | { | 1760 | { |
1761 | if (active) | 1761 | if (active) |
1762 | tty_register_device(tty3270_driver, index, 0); | 1762 | tty_register_device(tty3270_driver, index, NULL); |
1763 | else | 1763 | else |
1764 | tty_unregister_device(tty3270_driver, index); | 1764 | tty_unregister_device(tty3270_driver, index); |
1765 | } | 1765 | } |
@@ -1818,7 +1818,7 @@ tty3270_exit(void) | |||
1818 | 1818 | ||
1819 | raw3270_unregister_notifier(tty3270_notifier); | 1819 | raw3270_unregister_notifier(tty3270_notifier); |
1820 | driver = tty3270_driver; | 1820 | driver = tty3270_driver; |
1821 | tty3270_driver = 0; | 1821 | tty3270_driver = NULL; |
1822 | tty_unregister_driver(driver); | 1822 | tty_unregister_driver(driver); |
1823 | tty3270_del_views(); | 1823 | tty3270_del_views(); |
1824 | } | 1824 | } |
diff --git a/drivers/s390/char/vmlogrdr.c b/drivers/s390/char/vmlogrdr.c index c625b69ebd19..6cb23040954b 100644 --- a/drivers/s390/char/vmlogrdr.c +++ b/drivers/s390/char/vmlogrdr.c | |||
@@ -86,8 +86,8 @@ struct vmlogrdr_priv_t { | |||
86 | */ | 86 | */ |
87 | static int vmlogrdr_open(struct inode *, struct file *); | 87 | static int vmlogrdr_open(struct inode *, struct file *); |
88 | static int vmlogrdr_release(struct inode *, struct file *); | 88 | static int vmlogrdr_release(struct inode *, struct file *); |
89 | static ssize_t vmlogrdr_read (struct file *filp, char *data, size_t count, | 89 | static ssize_t vmlogrdr_read (struct file *filp, char __user *data, |
90 | loff_t * ppos); | 90 | size_t count, loff_t * ppos); |
91 | 91 | ||
92 | static struct file_operations vmlogrdr_fops = { | 92 | static struct file_operations vmlogrdr_fops = { |
93 | .owner = THIS_MODULE, | 93 | .owner = THIS_MODULE, |
@@ -515,7 +515,7 @@ vmlogrdr_receive_data(struct vmlogrdr_priv_t *priv) { | |||
515 | 515 | ||
516 | 516 | ||
517 | static ssize_t | 517 | static ssize_t |
518 | vmlogrdr_read (struct file *filp, char *data, size_t count, loff_t * ppos) | 518 | vmlogrdr_read(struct file *filp, char __user *data, size_t count, loff_t * ppos) |
519 | { | 519 | { |
520 | int rc; | 520 | int rc; |
521 | struct vmlogrdr_priv_t * priv = filp->private_data; | 521 | struct vmlogrdr_priv_t * priv = filp->private_data; |
diff --git a/drivers/s390/char/vmwatchdog.c b/drivers/s390/char/vmwatchdog.c index 5acc0ace3d7d..807320a41fa4 100644 --- a/drivers/s390/char/vmwatchdog.c +++ b/drivers/s390/char/vmwatchdog.c | |||
@@ -193,7 +193,7 @@ static int vmwdt_ioctl(struct inode *i, struct file *f, | |||
193 | return 0; | 193 | return 0; |
194 | case WDIOC_GETSTATUS: | 194 | case WDIOC_GETSTATUS: |
195 | case WDIOC_GETBOOTSTATUS: | 195 | case WDIOC_GETBOOTSTATUS: |
196 | return put_user(0, (int *)arg); | 196 | return put_user(0, (int __user *)arg); |
197 | case WDIOC_GETTEMP: | 197 | case WDIOC_GETTEMP: |
198 | return -EINVAL; | 198 | return -EINVAL; |
199 | case WDIOC_SETOPTIONS: | 199 | case WDIOC_SETOPTIONS: |
diff --git a/drivers/s390/cio/ccwgroup.c b/drivers/s390/cio/ccwgroup.c index c7319a07ba35..f26a2ee3aad8 100644 --- a/drivers/s390/cio/ccwgroup.c +++ b/drivers/s390/cio/ccwgroup.c | |||
@@ -319,7 +319,7 @@ ccwgroup_online_store (struct device *dev, struct device_attribute *attr, const | |||
319 | if (!try_module_get(gdrv->owner)) | 319 | if (!try_module_get(gdrv->owner)) |
320 | return -EINVAL; | 320 | return -EINVAL; |
321 | 321 | ||
322 | value = simple_strtoul(buf, 0, 0); | 322 | value = simple_strtoul(buf, NULL, 0); |
323 | ret = count; | 323 | ret = count; |
324 | if (value == 1) | 324 | if (value == 1) |
325 | ccwgroup_set_online(gdev); | 325 | ccwgroup_set_online(gdev); |
diff --git a/drivers/s390/cio/chsc.c b/drivers/s390/cio/chsc.c index a01f3bba4a7b..61ce3f1d5228 100644 --- a/drivers/s390/cio/chsc.c +++ b/drivers/s390/cio/chsc.c | |||
@@ -1464,6 +1464,40 @@ chsc_get_chp_desc(struct subchannel *sch, int chp_no) | |||
1464 | return desc; | 1464 | return desc; |
1465 | } | 1465 | } |
1466 | 1466 | ||
1467 | static int reset_channel_path(struct channel_path *chp) | ||
1468 | { | ||
1469 | int cc; | ||
1470 | |||
1471 | cc = rchp(chp->id); | ||
1472 | switch (cc) { | ||
1473 | case 0: | ||
1474 | return 0; | ||
1475 | case 2: | ||
1476 | return -EBUSY; | ||
1477 | default: | ||
1478 | return -ENODEV; | ||
1479 | } | ||
1480 | } | ||
1481 | |||
1482 | static void reset_channel_paths_css(struct channel_subsystem *css) | ||
1483 | { | ||
1484 | int i; | ||
1485 | |||
1486 | for (i = 0; i <= __MAX_CHPID; i++) { | ||
1487 | if (css->chps[i]) | ||
1488 | reset_channel_path(css->chps[i]); | ||
1489 | } | ||
1490 | } | ||
1491 | |||
1492 | void cio_reset_channel_paths(void) | ||
1493 | { | ||
1494 | int i; | ||
1495 | |||
1496 | for (i = 0; i <= __MAX_CSSID; i++) { | ||
1497 | if (css[i] && css[i]->valid) | ||
1498 | reset_channel_paths_css(css[i]); | ||
1499 | } | ||
1500 | } | ||
1467 | 1501 | ||
1468 | static int __init | 1502 | static int __init |
1469 | chsc_alloc_sei_area(void) | 1503 | chsc_alloc_sei_area(void) |
diff --git a/drivers/s390/cio/cio.c b/drivers/s390/cio/cio.c index 6fec90eab00e..89320c1ad825 100644 --- a/drivers/s390/cio/cio.c +++ b/drivers/s390/cio/cio.c | |||
@@ -519,6 +519,7 @@ cio_validate_subchannel (struct subchannel *sch, struct subchannel_id schid) | |||
519 | memset(sch, 0, sizeof(struct subchannel)); | 519 | memset(sch, 0, sizeof(struct subchannel)); |
520 | 520 | ||
521 | spin_lock_init(&sch->lock); | 521 | spin_lock_init(&sch->lock); |
522 | mutex_init(&sch->reg_mutex); | ||
522 | 523 | ||
523 | /* Set a name for the subchannel */ | 524 | /* Set a name for the subchannel */ |
524 | snprintf (sch->dev.bus_id, BUS_ID_SIZE, "0.%x.%04x", schid.ssid, | 525 | snprintf (sch->dev.bus_id, BUS_ID_SIZE, "0.%x.%04x", schid.ssid, |
@@ -797,7 +798,7 @@ struct subchannel * | |||
797 | cio_get_console_subchannel(void) | 798 | cio_get_console_subchannel(void) |
798 | { | 799 | { |
799 | if (!console_subchannel_in_use) | 800 | if (!console_subchannel_in_use) |
800 | return 0; | 801 | return NULL; |
801 | return &console_subchannel; | 802 | return &console_subchannel; |
802 | } | 803 | } |
803 | 804 | ||
@@ -875,5 +876,6 @@ void | |||
875 | reipl(unsigned long devno) | 876 | reipl(unsigned long devno) |
876 | { | 877 | { |
877 | clear_all_subchannels(); | 878 | clear_all_subchannels(); |
879 | cio_reset_channel_paths(); | ||
878 | do_reipl(devno); | 880 | do_reipl(devno); |
879 | } | 881 | } |
diff --git a/drivers/s390/cio/cio.h b/drivers/s390/cio/cio.h index 0ca987344e07..4541c1af4b66 100644 --- a/drivers/s390/cio/cio.h +++ b/drivers/s390/cio/cio.h | |||
@@ -2,6 +2,7 @@ | |||
2 | #define S390_CIO_H | 2 | #define S390_CIO_H |
3 | 3 | ||
4 | #include "schid.h" | 4 | #include "schid.h" |
5 | #include <linux/mutex.h> | ||
5 | 6 | ||
6 | /* | 7 | /* |
7 | * where we put the ssd info | 8 | * where we put the ssd info |
@@ -87,7 +88,7 @@ struct orb { | |||
87 | struct subchannel { | 88 | struct subchannel { |
88 | struct subchannel_id schid; | 89 | struct subchannel_id schid; |
89 | spinlock_t lock; /* subchannel lock */ | 90 | spinlock_t lock; /* subchannel lock */ |
90 | 91 | struct mutex reg_mutex; | |
91 | enum { | 92 | enum { |
92 | SUBCHANNEL_TYPE_IO = 0, | 93 | SUBCHANNEL_TYPE_IO = 0, |
93 | SUBCHANNEL_TYPE_CHSC = 1, | 94 | SUBCHANNEL_TYPE_CHSC = 1, |
diff --git a/drivers/s390/cio/cmf.c b/drivers/s390/cio/cmf.c index 1c3e8e9012b0..0df3af1f08de 100644 --- a/drivers/s390/cio/cmf.c +++ b/drivers/s390/cio/cmf.c | |||
@@ -1140,7 +1140,7 @@ static struct attribute *cmf_attributes[] = { | |||
1140 | &dev_attr_avg_device_disconnect_time.attr, | 1140 | &dev_attr_avg_device_disconnect_time.attr, |
1141 | &dev_attr_avg_control_unit_queuing_time.attr, | 1141 | &dev_attr_avg_control_unit_queuing_time.attr, |
1142 | &dev_attr_avg_device_active_only_time.attr, | 1142 | &dev_attr_avg_device_active_only_time.attr, |
1143 | 0, | 1143 | NULL, |
1144 | }; | 1144 | }; |
1145 | 1145 | ||
1146 | static struct attribute_group cmf_attr_group = { | 1146 | static struct attribute_group cmf_attr_group = { |
@@ -1160,7 +1160,7 @@ static struct attribute *cmf_attributes_ext[] = { | |||
1160 | &dev_attr_avg_device_active_only_time.attr, | 1160 | &dev_attr_avg_device_active_only_time.attr, |
1161 | &dev_attr_avg_device_busy_time.attr, | 1161 | &dev_attr_avg_device_busy_time.attr, |
1162 | &dev_attr_avg_initial_command_response_time.attr, | 1162 | &dev_attr_avg_initial_command_response_time.attr, |
1163 | 0, | 1163 | NULL, |
1164 | }; | 1164 | }; |
1165 | 1165 | ||
1166 | static struct attribute_group cmf_attr_group_ext = { | 1166 | static struct attribute_group cmf_attr_group_ext = { |
diff --git a/drivers/s390/cio/css.c b/drivers/s390/cio/css.c index 1d3be80797f8..13eeea3d547f 100644 --- a/drivers/s390/cio/css.c +++ b/drivers/s390/cio/css.c | |||
@@ -108,6 +108,24 @@ css_subchannel_release(struct device *dev) | |||
108 | 108 | ||
109 | extern int css_get_ssd_info(struct subchannel *sch); | 109 | extern int css_get_ssd_info(struct subchannel *sch); |
110 | 110 | ||
111 | |||
112 | int css_sch_device_register(struct subchannel *sch) | ||
113 | { | ||
114 | int ret; | ||
115 | |||
116 | mutex_lock(&sch->reg_mutex); | ||
117 | ret = device_register(&sch->dev); | ||
118 | mutex_unlock(&sch->reg_mutex); | ||
119 | return ret; | ||
120 | } | ||
121 | |||
122 | void css_sch_device_unregister(struct subchannel *sch) | ||
123 | { | ||
124 | mutex_lock(&sch->reg_mutex); | ||
125 | device_unregister(&sch->dev); | ||
126 | mutex_unlock(&sch->reg_mutex); | ||
127 | } | ||
128 | |||
111 | static int | 129 | static int |
112 | css_register_subchannel(struct subchannel *sch) | 130 | css_register_subchannel(struct subchannel *sch) |
113 | { | 131 | { |
@@ -119,7 +137,7 @@ css_register_subchannel(struct subchannel *sch) | |||
119 | sch->dev.release = &css_subchannel_release; | 137 | sch->dev.release = &css_subchannel_release; |
120 | 138 | ||
121 | /* make it known to the system */ | 139 | /* make it known to the system */ |
122 | ret = device_register(&sch->dev); | 140 | ret = css_sch_device_register(sch); |
123 | if (ret) | 141 | if (ret) |
124 | printk (KERN_WARNING "%s: could not register %s\n", | 142 | printk (KERN_WARNING "%s: could not register %s\n", |
125 | __func__, sch->dev.bus_id); | 143 | __func__, sch->dev.bus_id); |
@@ -250,7 +268,7 @@ css_evaluate_subchannel(struct subchannel_id schid, int slow) | |||
250 | * The device will be killed automatically. | 268 | * The device will be killed automatically. |
251 | */ | 269 | */ |
252 | cio_disable_subchannel(sch); | 270 | cio_disable_subchannel(sch); |
253 | device_unregister(&sch->dev); | 271 | css_sch_device_unregister(sch); |
254 | /* Reset intparm to zeroes. */ | 272 | /* Reset intparm to zeroes. */ |
255 | sch->schib.pmcw.intparm = 0; | 273 | sch->schib.pmcw.intparm = 0; |
256 | cio_modify(sch); | 274 | cio_modify(sch); |
@@ -264,7 +282,7 @@ css_evaluate_subchannel(struct subchannel_id schid, int slow) | |||
264 | * away in any case. | 282 | * away in any case. |
265 | */ | 283 | */ |
266 | if (!disc) { | 284 | if (!disc) { |
267 | device_unregister(&sch->dev); | 285 | css_sch_device_unregister(sch); |
268 | /* Reset intparm to zeroes. */ | 286 | /* Reset intparm to zeroes. */ |
269 | sch->schib.pmcw.intparm = 0; | 287 | sch->schib.pmcw.intparm = 0; |
270 | cio_modify(sch); | 288 | cio_modify(sch); |
@@ -605,9 +623,13 @@ init_channel_subsystem (void) | |||
605 | ret = device_register(&css[i]->device); | 623 | ret = device_register(&css[i]->device); |
606 | if (ret) | 624 | if (ret) |
607 | goto out_free; | 625 | goto out_free; |
608 | if (css_characteristics_avail && css_chsc_characteristics.secm) | 626 | if (css_characteristics_avail && |
609 | device_create_file(&css[i]->device, | 627 | css_chsc_characteristics.secm) { |
610 | &dev_attr_cm_enable); | 628 | ret = device_create_file(&css[i]->device, |
629 | &dev_attr_cm_enable); | ||
630 | if (ret) | ||
631 | goto out_device; | ||
632 | } | ||
611 | } | 633 | } |
612 | css_init_done = 1; | 634 | css_init_done = 1; |
613 | 635 | ||
@@ -615,6 +637,8 @@ init_channel_subsystem (void) | |||
615 | 637 | ||
616 | for_each_subchannel(__init_channel_subsystem, NULL); | 638 | for_each_subchannel(__init_channel_subsystem, NULL); |
617 | return 0; | 639 | return 0; |
640 | out_device: | ||
641 | device_unregister(&css[i]->device); | ||
618 | out_free: | 642 | out_free: |
619 | kfree(css[i]); | 643 | kfree(css[i]); |
620 | out_unregister: | 644 | out_unregister: |
diff --git a/drivers/s390/cio/css.h b/drivers/s390/cio/css.h index e210f89a2449..8aabb4adeb5f 100644 --- a/drivers/s390/cio/css.h +++ b/drivers/s390/cio/css.h | |||
@@ -100,7 +100,7 @@ struct ccw_device_private { | |||
100 | struct qdio_irq *qdio_data; | 100 | struct qdio_irq *qdio_data; |
101 | struct irb irb; /* device status */ | 101 | struct irb irb; /* device status */ |
102 | struct senseid senseid; /* SenseID info */ | 102 | struct senseid senseid; /* SenseID info */ |
103 | struct pgid pgid; /* path group ID */ | 103 | struct pgid pgid[8]; /* path group IDs per chpid*/ |
104 | struct ccw1 iccws[2]; /* ccws for SNID/SID/SPGID commands */ | 104 | struct ccw1 iccws[2]; /* ccws for SNID/SID/SPGID commands */ |
105 | struct work_struct kick_work; | 105 | struct work_struct kick_work; |
106 | wait_queue_head_t wait_q; | 106 | wait_queue_head_t wait_q; |
@@ -136,6 +136,8 @@ extern struct bus_type css_bus_type; | |||
136 | extern struct css_driver io_subchannel_driver; | 136 | extern struct css_driver io_subchannel_driver; |
137 | 137 | ||
138 | extern int css_probe_device(struct subchannel_id); | 138 | extern int css_probe_device(struct subchannel_id); |
139 | extern int css_sch_device_register(struct subchannel *); | ||
140 | extern void css_sch_device_unregister(struct subchannel *); | ||
139 | extern struct subchannel * get_subchannel_by_schid(struct subchannel_id); | 141 | extern struct subchannel * get_subchannel_by_schid(struct subchannel_id); |
140 | extern int css_init_done; | 142 | extern int css_init_done; |
141 | extern int for_each_subchannel(int(*fn)(struct subchannel_id, void *), void *); | 143 | extern int for_each_subchannel(int(*fn)(struct subchannel_id, void *), void *); |
diff --git a/drivers/s390/cio/device.c b/drivers/s390/cio/device.c index 67f0de6aed33..585fa04233c3 100644 --- a/drivers/s390/cio/device.c +++ b/drivers/s390/cio/device.c | |||
@@ -100,7 +100,7 @@ ccw_uevent (struct device *dev, char **envp, int num_envp, | |||
100 | if ((buffer_size - length <= 0) || (i >= num_envp)) | 100 | if ((buffer_size - length <= 0) || (i >= num_envp)) |
101 | return -ENOMEM; | 101 | return -ENOMEM; |
102 | 102 | ||
103 | envp[i] = 0; | 103 | envp[i] = NULL; |
104 | 104 | ||
105 | return 0; | 105 | return 0; |
106 | } | 106 | } |
@@ -280,7 +280,7 @@ ccw_device_remove_disconnected(struct ccw_device *cdev) | |||
280 | * 'throw away device'. | 280 | * 'throw away device'. |
281 | */ | 281 | */ |
282 | sch = to_subchannel(cdev->dev.parent); | 282 | sch = to_subchannel(cdev->dev.parent); |
283 | device_unregister(&sch->dev); | 283 | css_sch_device_unregister(sch); |
284 | /* Reset intparm to zeroes. */ | 284 | /* Reset intparm to zeroes. */ |
285 | sch->schib.pmcw.intparm = 0; | 285 | sch->schib.pmcw.intparm = 0; |
286 | cio_modify(sch); | 286 | cio_modify(sch); |
@@ -625,7 +625,7 @@ ccw_device_do_unreg_rereg(void *data) | |||
625 | other_sch->schib.pmcw.intparm = 0; | 625 | other_sch->schib.pmcw.intparm = 0; |
626 | cio_modify(other_sch); | 626 | cio_modify(other_sch); |
627 | } | 627 | } |
628 | device_unregister(&other_sch->dev); | 628 | css_sch_device_unregister(other_sch); |
629 | } | 629 | } |
630 | } | 630 | } |
631 | /* Update ssd info here. */ | 631 | /* Update ssd info here. */ |
@@ -709,7 +709,7 @@ ccw_device_call_sch_unregister(void *data) | |||
709 | struct subchannel *sch; | 709 | struct subchannel *sch; |
710 | 710 | ||
711 | sch = to_subchannel(cdev->dev.parent); | 711 | sch = to_subchannel(cdev->dev.parent); |
712 | device_unregister(&sch->dev); | 712 | css_sch_device_unregister(sch); |
713 | /* Reset intparm to zeroes. */ | 713 | /* Reset intparm to zeroes. */ |
714 | sch->schib.pmcw.intparm = 0; | 714 | sch->schib.pmcw.intparm = 0; |
715 | cio_modify(sch); | 715 | cio_modify(sch); |
@@ -1057,7 +1057,7 @@ get_ccwdev_by_busid(struct ccw_driver *cdrv, const char *bus_id) | |||
1057 | __ccwdev_check_busid); | 1057 | __ccwdev_check_busid); |
1058 | put_driver(drv); | 1058 | put_driver(drv); |
1059 | 1059 | ||
1060 | return dev ? to_ccwdev(dev) : 0; | 1060 | return dev ? to_ccwdev(dev) : NULL; |
1061 | } | 1061 | } |
1062 | 1062 | ||
1063 | /************************** device driver handling ************************/ | 1063 | /************************** device driver handling ************************/ |
@@ -1082,7 +1082,7 @@ ccw_device_probe (struct device *dev) | |||
1082 | ret = cdrv->probe ? cdrv->probe(cdev) : -ENODEV; | 1082 | ret = cdrv->probe ? cdrv->probe(cdev) : -ENODEV; |
1083 | 1083 | ||
1084 | if (ret) { | 1084 | if (ret) { |
1085 | cdev->drv = 0; | 1085 | cdev->drv = NULL; |
1086 | return ret; | 1086 | return ret; |
1087 | } | 1087 | } |
1088 | 1088 | ||
@@ -1113,7 +1113,7 @@ ccw_device_remove (struct device *dev) | |||
1113 | ret, cdev->dev.bus_id); | 1113 | ret, cdev->dev.bus_id); |
1114 | } | 1114 | } |
1115 | ccw_device_set_timeout(cdev, 0); | 1115 | ccw_device_set_timeout(cdev, 0); |
1116 | cdev->drv = 0; | 1116 | cdev->drv = NULL; |
1117 | return 0; | 1117 | return 0; |
1118 | } | 1118 | } |
1119 | 1119 | ||
diff --git a/drivers/s390/cio/device_fsm.c b/drivers/s390/cio/device_fsm.c index cb1af0b6f033..ac6e0c7e43d9 100644 --- a/drivers/s390/cio/device_fsm.c +++ b/drivers/s390/cio/device_fsm.c | |||
@@ -378,6 +378,56 @@ ccw_device_done(struct ccw_device *cdev, int state) | |||
378 | put_device (&cdev->dev); | 378 | put_device (&cdev->dev); |
379 | } | 379 | } |
380 | 380 | ||
381 | static inline int cmp_pgid(struct pgid *p1, struct pgid *p2) | ||
382 | { | ||
383 | char *c1; | ||
384 | char *c2; | ||
385 | |||
386 | c1 = (char *)p1; | ||
387 | c2 = (char *)p2; | ||
388 | |||
389 | return memcmp(c1 + 1, c2 + 1, sizeof(struct pgid) - 1); | ||
390 | } | ||
391 | |||
392 | static void __ccw_device_get_common_pgid(struct ccw_device *cdev) | ||
393 | { | ||
394 | int i; | ||
395 | int last; | ||
396 | |||
397 | last = 0; | ||
398 | for (i = 0; i < 8; i++) { | ||
399 | if (cdev->private->pgid[i].inf.ps.state1 == SNID_STATE1_RESET) | ||
400 | /* No PGID yet */ | ||
401 | continue; | ||
402 | if (cdev->private->pgid[last].inf.ps.state1 == | ||
403 | SNID_STATE1_RESET) { | ||
404 | /* First non-zero PGID */ | ||
405 | last = i; | ||
406 | continue; | ||
407 | } | ||
408 | if (cmp_pgid(&cdev->private->pgid[i], | ||
409 | &cdev->private->pgid[last]) == 0) | ||
410 | /* Non-conflicting PGIDs */ | ||
411 | continue; | ||
412 | |||
413 | /* PGID mismatch, can't pathgroup. */ | ||
414 | CIO_MSG_EVENT(0, "SNID - pgid mismatch for device " | ||
415 | "0.%x.%04x, can't pathgroup\n", | ||
416 | cdev->private->ssid, cdev->private->devno); | ||
417 | cdev->private->options.pgroup = 0; | ||
418 | return; | ||
419 | } | ||
420 | if (cdev->private->pgid[last].inf.ps.state1 == | ||
421 | SNID_STATE1_RESET) | ||
422 | /* No previous pgid found */ | ||
423 | memcpy(&cdev->private->pgid[0], &css[0]->global_pgid, | ||
424 | sizeof(struct pgid)); | ||
425 | else | ||
426 | /* Use existing pgid */ | ||
427 | memcpy(&cdev->private->pgid[0], &cdev->private->pgid[last], | ||
428 | sizeof(struct pgid)); | ||
429 | } | ||
430 | |||
381 | /* | 431 | /* |
382 | * Function called from device_pgid.c after sense path ground has completed. | 432 | * Function called from device_pgid.c after sense path ground has completed. |
383 | */ | 433 | */ |
@@ -388,24 +438,26 @@ ccw_device_sense_pgid_done(struct ccw_device *cdev, int err) | |||
388 | 438 | ||
389 | sch = to_subchannel(cdev->dev.parent); | 439 | sch = to_subchannel(cdev->dev.parent); |
390 | switch (err) { | 440 | switch (err) { |
391 | case 0: | 441 | case -EOPNOTSUPP: /* path grouping not supported, use nop instead. */ |
392 | /* Start Path Group verification. */ | 442 | cdev->private->options.pgroup = 0; |
393 | sch->vpm = 0; /* Start with no path groups set. */ | 443 | break; |
394 | cdev->private->state = DEV_STATE_VERIFY; | 444 | case 0: /* success */ |
395 | ccw_device_verify_start(cdev); | 445 | case -EACCES: /* partial success, some paths not operational */ |
446 | /* Check if all pgids are equal or 0. */ | ||
447 | __ccw_device_get_common_pgid(cdev); | ||
396 | break; | 448 | break; |
397 | case -ETIME: /* Sense path group id stopped by timeout. */ | 449 | case -ETIME: /* Sense path group id stopped by timeout. */ |
398 | case -EUSERS: /* device is reserved for someone else. */ | 450 | case -EUSERS: /* device is reserved for someone else. */ |
399 | ccw_device_done(cdev, DEV_STATE_BOXED); | 451 | ccw_device_done(cdev, DEV_STATE_BOXED); |
400 | break; | 452 | return; |
401 | case -EOPNOTSUPP: /* path grouping not supported, just set online. */ | ||
402 | cdev->private->options.pgroup = 0; | ||
403 | ccw_device_done(cdev, DEV_STATE_ONLINE); | ||
404 | break; | ||
405 | default: | 453 | default: |
406 | ccw_device_done(cdev, DEV_STATE_NOT_OPER); | 454 | ccw_device_done(cdev, DEV_STATE_NOT_OPER); |
407 | break; | 455 | return; |
408 | } | 456 | } |
457 | /* Start Path Group verification. */ | ||
458 | sch->vpm = 0; /* Start with no path groups set. */ | ||
459 | cdev->private->state = DEV_STATE_VERIFY; | ||
460 | ccw_device_verify_start(cdev); | ||
409 | } | 461 | } |
410 | 462 | ||
411 | /* | 463 | /* |
@@ -562,8 +614,9 @@ ccw_device_online(struct ccw_device *cdev) | |||
562 | } | 614 | } |
563 | /* Do we want to do path grouping? */ | 615 | /* Do we want to do path grouping? */ |
564 | if (!cdev->private->options.pgroup) { | 616 | if (!cdev->private->options.pgroup) { |
565 | /* No, set state online immediately. */ | 617 | /* Start initial path verification. */ |
566 | ccw_device_done(cdev, DEV_STATE_ONLINE); | 618 | cdev->private->state = DEV_STATE_VERIFY; |
619 | ccw_device_verify_start(cdev); | ||
567 | return 0; | 620 | return 0; |
568 | } | 621 | } |
569 | /* Do a SensePGID first. */ | 622 | /* Do a SensePGID first. */ |
@@ -609,6 +662,7 @@ ccw_device_offline(struct ccw_device *cdev) | |||
609 | /* Are we doing path grouping? */ | 662 | /* Are we doing path grouping? */ |
610 | if (!cdev->private->options.pgroup) { | 663 | if (!cdev->private->options.pgroup) { |
611 | /* No, set state offline immediately. */ | 664 | /* No, set state offline immediately. */ |
665 | sch->vpm = 0; | ||
612 | ccw_device_done(cdev, DEV_STATE_OFFLINE); | 666 | ccw_device_done(cdev, DEV_STATE_OFFLINE); |
613 | return 0; | 667 | return 0; |
614 | } | 668 | } |
@@ -705,8 +759,6 @@ ccw_device_online_verify(struct ccw_device *cdev, enum dev_event dev_event) | |||
705 | { | 759 | { |
706 | struct subchannel *sch; | 760 | struct subchannel *sch; |
707 | 761 | ||
708 | if (!cdev->private->options.pgroup) | ||
709 | return; | ||
710 | if (cdev->private->state == DEV_STATE_W4SENSE) { | 762 | if (cdev->private->state == DEV_STATE_W4SENSE) { |
711 | cdev->private->flags.doverify = 1; | 763 | cdev->private->flags.doverify = 1; |
712 | return; | 764 | return; |
@@ -995,8 +1047,7 @@ static void | |||
995 | ccw_device_wait4io_verify(struct ccw_device *cdev, enum dev_event dev_event) | 1047 | ccw_device_wait4io_verify(struct ccw_device *cdev, enum dev_event dev_event) |
996 | { | 1048 | { |
997 | /* When the I/O has terminated, we have to start verification. */ | 1049 | /* When the I/O has terminated, we have to start verification. */ |
998 | if (cdev->private->options.pgroup) | 1050 | cdev->private->flags.doverify = 1; |
999 | cdev->private->flags.doverify = 1; | ||
1000 | } | 1051 | } |
1001 | 1052 | ||
1002 | static void | 1053 | static void |
diff --git a/drivers/s390/cio/device_pgid.c b/drivers/s390/cio/device_pgid.c index 54cb64ed0786..32610fd8868e 100644 --- a/drivers/s390/cio/device_pgid.c +++ b/drivers/s390/cio/device_pgid.c | |||
@@ -33,12 +33,17 @@ __ccw_device_sense_pgid_start(struct ccw_device *cdev) | |||
33 | struct subchannel *sch; | 33 | struct subchannel *sch; |
34 | struct ccw1 *ccw; | 34 | struct ccw1 *ccw; |
35 | int ret; | 35 | int ret; |
36 | int i; | ||
36 | 37 | ||
37 | sch = to_subchannel(cdev->dev.parent); | 38 | sch = to_subchannel(cdev->dev.parent); |
39 | /* Return if we already checked on all paths. */ | ||
40 | if (cdev->private->imask == 0) | ||
41 | return (sch->lpm == 0) ? -ENODEV : -EACCES; | ||
42 | i = 8 - ffs(cdev->private->imask); | ||
43 | |||
38 | /* Setup sense path group id channel program. */ | 44 | /* Setup sense path group id channel program. */ |
39 | ccw = cdev->private->iccws; | 45 | ccw = cdev->private->iccws; |
40 | ccw->cmd_code = CCW_CMD_SENSE_PGID; | 46 | ccw->cmd_code = CCW_CMD_SENSE_PGID; |
41 | ccw->cda = (__u32) __pa (&cdev->private->pgid); | ||
42 | ccw->count = sizeof (struct pgid); | 47 | ccw->count = sizeof (struct pgid); |
43 | ccw->flags = CCW_FLAG_SLI; | 48 | ccw->flags = CCW_FLAG_SLI; |
44 | 49 | ||
@@ -48,6 +53,7 @@ __ccw_device_sense_pgid_start(struct ccw_device *cdev) | |||
48 | ret = -ENODEV; | 53 | ret = -ENODEV; |
49 | while (cdev->private->imask != 0) { | 54 | while (cdev->private->imask != 0) { |
50 | /* Try every path multiple times. */ | 55 | /* Try every path multiple times. */ |
56 | ccw->cda = (__u32) __pa (&cdev->private->pgid[i]); | ||
51 | if (cdev->private->iretry > 0) { | 57 | if (cdev->private->iretry > 0) { |
52 | cdev->private->iretry--; | 58 | cdev->private->iretry--; |
53 | ret = cio_start (sch, cdev->private->iccws, | 59 | ret = cio_start (sch, cdev->private->iccws, |
@@ -64,7 +70,9 @@ __ccw_device_sense_pgid_start(struct ccw_device *cdev) | |||
64 | } | 70 | } |
65 | cdev->private->imask >>= 1; | 71 | cdev->private->imask >>= 1; |
66 | cdev->private->iretry = 5; | 72 | cdev->private->iretry = 5; |
73 | i++; | ||
67 | } | 74 | } |
75 | |||
68 | return ret; | 76 | return ret; |
69 | } | 77 | } |
70 | 78 | ||
@@ -76,7 +84,7 @@ ccw_device_sense_pgid_start(struct ccw_device *cdev) | |||
76 | cdev->private->state = DEV_STATE_SENSE_PGID; | 84 | cdev->private->state = DEV_STATE_SENSE_PGID; |
77 | cdev->private->imask = 0x80; | 85 | cdev->private->imask = 0x80; |
78 | cdev->private->iretry = 5; | 86 | cdev->private->iretry = 5; |
79 | memset (&cdev->private->pgid, 0, sizeof (struct pgid)); | 87 | memset (&cdev->private->pgid, 0, sizeof (cdev->private->pgid)); |
80 | ret = __ccw_device_sense_pgid_start(cdev); | 88 | ret = __ccw_device_sense_pgid_start(cdev); |
81 | if (ret && ret != -EBUSY) | 89 | if (ret && ret != -EBUSY) |
82 | ccw_device_sense_pgid_done(cdev, ret); | 90 | ccw_device_sense_pgid_done(cdev, ret); |
@@ -91,6 +99,7 @@ __ccw_device_check_sense_pgid(struct ccw_device *cdev) | |||
91 | { | 99 | { |
92 | struct subchannel *sch; | 100 | struct subchannel *sch; |
93 | struct irb *irb; | 101 | struct irb *irb; |
102 | int i; | ||
94 | 103 | ||
95 | sch = to_subchannel(cdev->dev.parent); | 104 | sch = to_subchannel(cdev->dev.parent); |
96 | irb = &cdev->private->irb; | 105 | irb = &cdev->private->irb; |
@@ -124,7 +133,8 @@ __ccw_device_check_sense_pgid(struct ccw_device *cdev) | |||
124 | sch->schid.sch_no, sch->orb.lpm); | 133 | sch->schid.sch_no, sch->orb.lpm); |
125 | return -EACCES; | 134 | return -EACCES; |
126 | } | 135 | } |
127 | if (cdev->private->pgid.inf.ps.state2 == SNID_STATE2_RESVD_ELSE) { | 136 | i = 8 - ffs(cdev->private->imask); |
137 | if (cdev->private->pgid[i].inf.ps.state2 == SNID_STATE2_RESVD_ELSE) { | ||
128 | CIO_MSG_EVENT(2, "SNID - Device %04x on Subchannel 0.%x.%04x " | 138 | CIO_MSG_EVENT(2, "SNID - Device %04x on Subchannel 0.%x.%04x " |
129 | "is reserved by someone else\n", | 139 | "is reserved by someone else\n", |
130 | cdev->private->devno, sch->schid.ssid, | 140 | cdev->private->devno, sch->schid.ssid, |
@@ -162,12 +172,6 @@ ccw_device_sense_pgid_irq(struct ccw_device *cdev, enum dev_event dev_event) | |||
162 | memset(&cdev->private->irb, 0, sizeof(struct irb)); | 172 | memset(&cdev->private->irb, 0, sizeof(struct irb)); |
163 | switch (ret) { | 173 | switch (ret) { |
164 | /* 0, -ETIME, -EOPNOTSUPP, -EAGAIN, -EACCES or -EUSERS */ | 174 | /* 0, -ETIME, -EOPNOTSUPP, -EAGAIN, -EACCES or -EUSERS */ |
165 | case 0: /* Sense Path Group ID successful. */ | ||
166 | if (cdev->private->pgid.inf.ps.state1 == SNID_STATE1_RESET) | ||
167 | memcpy(&cdev->private->pgid, &css[0]->global_pgid, | ||
168 | sizeof(struct pgid)); | ||
169 | ccw_device_sense_pgid_done(cdev, 0); | ||
170 | break; | ||
171 | case -EOPNOTSUPP: /* Sense Path Group ID not supported */ | 175 | case -EOPNOTSUPP: /* Sense Path Group ID not supported */ |
172 | ccw_device_sense_pgid_done(cdev, -EOPNOTSUPP); | 176 | ccw_device_sense_pgid_done(cdev, -EOPNOTSUPP); |
173 | break; | 177 | break; |
@@ -176,13 +180,15 @@ ccw_device_sense_pgid_irq(struct ccw_device *cdev, enum dev_event dev_event) | |||
176 | break; | 180 | break; |
177 | case -EACCES: /* channel is not operational. */ | 181 | case -EACCES: /* channel is not operational. */ |
178 | sch->lpm &= ~cdev->private->imask; | 182 | sch->lpm &= ~cdev->private->imask; |
183 | /* Fall through. */ | ||
184 | case 0: /* Sense Path Group ID successful. */ | ||
179 | cdev->private->imask >>= 1; | 185 | cdev->private->imask >>= 1; |
180 | cdev->private->iretry = 5; | 186 | cdev->private->iretry = 5; |
181 | /* Fall through. */ | 187 | /* Fall through. */ |
182 | case -EAGAIN: /* Try again. */ | 188 | case -EAGAIN: /* Try again. */ |
183 | ret = __ccw_device_sense_pgid_start(cdev); | 189 | ret = __ccw_device_sense_pgid_start(cdev); |
184 | if (ret != 0 && ret != -EBUSY) | 190 | if (ret != 0 && ret != -EBUSY) |
185 | ccw_device_sense_pgid_done(cdev, -ENODEV); | 191 | ccw_device_sense_pgid_done(cdev, ret); |
186 | break; | 192 | break; |
187 | case -EUSERS: /* device is reserved for someone else. */ | 193 | case -EUSERS: /* device is reserved for someone else. */ |
188 | ccw_device_sense_pgid_done(cdev, -EUSERS); | 194 | ccw_device_sense_pgid_done(cdev, -EUSERS); |
@@ -203,20 +209,20 @@ __ccw_device_do_pgid(struct ccw_device *cdev, __u8 func) | |||
203 | sch = to_subchannel(cdev->dev.parent); | 209 | sch = to_subchannel(cdev->dev.parent); |
204 | 210 | ||
205 | /* Setup sense path group id channel program. */ | 211 | /* Setup sense path group id channel program. */ |
206 | cdev->private->pgid.inf.fc = func; | 212 | cdev->private->pgid[0].inf.fc = func; |
207 | ccw = cdev->private->iccws; | 213 | ccw = cdev->private->iccws; |
208 | if (!cdev->private->flags.pgid_single) { | 214 | if (!cdev->private->flags.pgid_single) { |
209 | cdev->private->pgid.inf.fc |= SPID_FUNC_MULTI_PATH; | 215 | cdev->private->pgid[0].inf.fc |= SPID_FUNC_MULTI_PATH; |
210 | ccw->cmd_code = CCW_CMD_SUSPEND_RECONN; | 216 | ccw->cmd_code = CCW_CMD_SUSPEND_RECONN; |
211 | ccw->cda = 0; | 217 | ccw->cda = 0; |
212 | ccw->count = 0; | 218 | ccw->count = 0; |
213 | ccw->flags = CCW_FLAG_SLI | CCW_FLAG_CC; | 219 | ccw->flags = CCW_FLAG_SLI | CCW_FLAG_CC; |
214 | ccw++; | 220 | ccw++; |
215 | } else | 221 | } else |
216 | cdev->private->pgid.inf.fc |= SPID_FUNC_SINGLE_PATH; | 222 | cdev->private->pgid[0].inf.fc |= SPID_FUNC_SINGLE_PATH; |
217 | 223 | ||
218 | ccw->cmd_code = CCW_CMD_SET_PGID; | 224 | ccw->cmd_code = CCW_CMD_SET_PGID; |
219 | ccw->cda = (__u32) __pa (&cdev->private->pgid); | 225 | ccw->cda = (__u32) __pa (&cdev->private->pgid[0]); |
220 | ccw->count = sizeof (struct pgid); | 226 | ccw->count = sizeof (struct pgid); |
221 | ccw->flags = CCW_FLAG_SLI; | 227 | ccw->flags = CCW_FLAG_SLI; |
222 | 228 | ||
@@ -244,6 +250,48 @@ __ccw_device_do_pgid(struct ccw_device *cdev, __u8 func) | |||
244 | } | 250 | } |
245 | 251 | ||
246 | /* | 252 | /* |
253 | * Helper function to send a nop ccw down a path. | ||
254 | */ | ||
255 | static int __ccw_device_do_nop(struct ccw_device *cdev) | ||
256 | { | ||
257 | struct subchannel *sch; | ||
258 | struct ccw1 *ccw; | ||
259 | int ret; | ||
260 | |||
261 | sch = to_subchannel(cdev->dev.parent); | ||
262 | |||
263 | /* Setup nop channel program. */ | ||
264 | ccw = cdev->private->iccws; | ||
265 | ccw->cmd_code = CCW_CMD_NOOP; | ||
266 | ccw->cda = 0; | ||
267 | ccw->count = 0; | ||
268 | ccw->flags = CCW_FLAG_SLI; | ||
269 | |||
270 | /* Reset device status. */ | ||
271 | memset(&cdev->private->irb, 0, sizeof(struct irb)); | ||
272 | |||
273 | /* Try multiple times. */ | ||
274 | ret = -ENODEV; | ||
275 | if (cdev->private->iretry > 0) { | ||
276 | cdev->private->iretry--; | ||
277 | ret = cio_start (sch, cdev->private->iccws, | ||
278 | cdev->private->imask); | ||
279 | /* ret is 0, -EBUSY, -EACCES or -ENODEV */ | ||
280 | if ((ret != -EACCES) && (ret != -ENODEV)) | ||
281 | return ret; | ||
282 | } | ||
283 | /* nop command failed on this path. Switch it off. */ | ||
284 | sch->lpm &= ~cdev->private->imask; | ||
285 | sch->vpm &= ~cdev->private->imask; | ||
286 | CIO_MSG_EVENT(2, "NOP - Device %04x on Subchannel " | ||
287 | "0.%x.%04x, lpm %02X, became 'not operational'\n", | ||
288 | cdev->private->devno, sch->schid.ssid, | ||
289 | sch->schid.sch_no, cdev->private->imask); | ||
290 | return ret; | ||
291 | } | ||
292 | |||
293 | |||
294 | /* | ||
247 | * Called from interrupt context to check if a valid answer | 295 | * Called from interrupt context to check if a valid answer |
248 | * to Set Path Group ID was received. | 296 | * to Set Path Group ID was received. |
249 | */ | 297 | */ |
@@ -282,6 +330,29 @@ __ccw_device_check_pgid(struct ccw_device *cdev) | |||
282 | return 0; | 330 | return 0; |
283 | } | 331 | } |
284 | 332 | ||
333 | /* | ||
334 | * Called from interrupt context to check the path status after a nop has | ||
335 | * been send. | ||
336 | */ | ||
337 | static int __ccw_device_check_nop(struct ccw_device *cdev) | ||
338 | { | ||
339 | struct subchannel *sch; | ||
340 | struct irb *irb; | ||
341 | |||
342 | sch = to_subchannel(cdev->dev.parent); | ||
343 | irb = &cdev->private->irb; | ||
344 | if (irb->scsw.fctl & (SCSW_FCTL_HALT_FUNC | SCSW_FCTL_CLEAR_FUNC)) | ||
345 | return -ETIME; | ||
346 | if (irb->scsw.cc == 3) { | ||
347 | CIO_MSG_EVENT(2, "NOP - Device %04x on Subchannel 0.%x.%04x," | ||
348 | " lpm %02X, became 'not operational'\n", | ||
349 | cdev->private->devno, sch->schid.ssid, | ||
350 | sch->schid.sch_no, cdev->private->imask); | ||
351 | return -EACCES; | ||
352 | } | ||
353 | return 0; | ||
354 | } | ||
355 | |||
285 | static void | 356 | static void |
286 | __ccw_device_verify_start(struct ccw_device *cdev) | 357 | __ccw_device_verify_start(struct ccw_device *cdev) |
287 | { | 358 | { |
@@ -296,9 +367,12 @@ __ccw_device_verify_start(struct ccw_device *cdev) | |||
296 | if ((sch->vpm & imask) != (sch->lpm & imask)) | 367 | if ((sch->vpm & imask) != (sch->lpm & imask)) |
297 | break; | 368 | break; |
298 | cdev->private->imask = imask; | 369 | cdev->private->imask = imask; |
299 | func = (sch->vpm & imask) ? | 370 | if (cdev->private->options.pgroup) { |
300 | SPID_FUNC_RESIGN : SPID_FUNC_ESTABLISH; | 371 | func = (sch->vpm & imask) ? |
301 | ret = __ccw_device_do_pgid(cdev, func); | 372 | SPID_FUNC_RESIGN : SPID_FUNC_ESTABLISH; |
373 | ret = __ccw_device_do_pgid(cdev, func); | ||
374 | } else | ||
375 | ret = __ccw_device_do_nop(cdev); | ||
302 | if (ret == 0 || ret == -EBUSY) | 376 | if (ret == 0 || ret == -EBUSY) |
303 | return; | 377 | return; |
304 | cdev->private->iretry = 5; | 378 | cdev->private->iretry = 5; |
@@ -327,7 +401,10 @@ ccw_device_verify_irq(struct ccw_device *cdev, enum dev_event dev_event) | |||
327 | if (ccw_device_accumulate_and_sense(cdev, irb) != 0) | 401 | if (ccw_device_accumulate_and_sense(cdev, irb) != 0) |
328 | return; | 402 | return; |
329 | sch = to_subchannel(cdev->dev.parent); | 403 | sch = to_subchannel(cdev->dev.parent); |
330 | ret = __ccw_device_check_pgid(cdev); | 404 | if (cdev->private->options.pgroup) |
405 | ret = __ccw_device_check_pgid(cdev); | ||
406 | else | ||
407 | ret = __ccw_device_check_nop(cdev); | ||
331 | memset(&cdev->private->irb, 0, sizeof(struct irb)); | 408 | memset(&cdev->private->irb, 0, sizeof(struct irb)); |
332 | switch (ret) { | 409 | switch (ret) { |
333 | /* 0, -ETIME, -EAGAIN, -EOPNOTSUPP or -EACCES */ | 410 | /* 0, -ETIME, -EAGAIN, -EOPNOTSUPP or -EACCES */ |
@@ -345,11 +422,10 @@ ccw_device_verify_irq(struct ccw_device *cdev, enum dev_event dev_event) | |||
345 | * One of those strange devices which claim to be able | 422 | * One of those strange devices which claim to be able |
346 | * to do multipathing but not for Set Path Group ID. | 423 | * to do multipathing but not for Set Path Group ID. |
347 | */ | 424 | */ |
348 | if (cdev->private->flags.pgid_single) { | 425 | if (cdev->private->flags.pgid_single) |
349 | ccw_device_verify_done(cdev, -EOPNOTSUPP); | 426 | cdev->private->options.pgroup = 0; |
350 | break; | 427 | else |
351 | } | 428 | cdev->private->flags.pgid_single = 1; |
352 | cdev->private->flags.pgid_single = 1; | ||
353 | /* fall through. */ | 429 | /* fall through. */ |
354 | case -EAGAIN: /* Try again. */ | 430 | case -EAGAIN: /* Try again. */ |
355 | __ccw_device_verify_start(cdev); | 431 | __ccw_device_verify_start(cdev); |
diff --git a/drivers/s390/cio/device_status.c b/drivers/s390/cio/device_status.c index 14bef2c179bf..caf148d5caad 100644 --- a/drivers/s390/cio/device_status.c +++ b/drivers/s390/cio/device_status.c | |||
@@ -67,8 +67,7 @@ ccw_device_path_notoper(struct ccw_device *cdev) | |||
67 | sch->schib.pmcw.pnom); | 67 | sch->schib.pmcw.pnom); |
68 | 68 | ||
69 | sch->lpm &= ~sch->schib.pmcw.pnom; | 69 | sch->lpm &= ~sch->schib.pmcw.pnom; |
70 | if (cdev->private->options.pgroup) | 70 | cdev->private->flags.doverify = 1; |
71 | cdev->private->flags.doverify = 1; | ||
72 | } | 71 | } |
73 | 72 | ||
74 | /* | 73 | /* |
@@ -180,7 +179,7 @@ ccw_device_accumulate_esw(struct ccw_device *cdev, struct irb *irb) | |||
180 | cdev_irb->esw.esw0.erw.auth = irb->esw.esw0.erw.auth; | 179 | cdev_irb->esw.esw0.erw.auth = irb->esw.esw0.erw.auth; |
181 | /* Copy path verification required flag. */ | 180 | /* Copy path verification required flag. */ |
182 | cdev_irb->esw.esw0.erw.pvrf = irb->esw.esw0.erw.pvrf; | 181 | cdev_irb->esw.esw0.erw.pvrf = irb->esw.esw0.erw.pvrf; |
183 | if (irb->esw.esw0.erw.pvrf && cdev->private->options.pgroup) | 182 | if (irb->esw.esw0.erw.pvrf) |
184 | cdev->private->flags.doverify = 1; | 183 | cdev->private->flags.doverify = 1; |
185 | /* Copy concurrent sense bit. */ | 184 | /* Copy concurrent sense bit. */ |
186 | cdev_irb->esw.esw0.erw.cons = irb->esw.esw0.erw.cons; | 185 | cdev_irb->esw.esw0.erw.cons = irb->esw.esw0.erw.cons; |
@@ -354,7 +353,7 @@ ccw_device_accumulate_basic_sense(struct ccw_device *cdev, struct irb *irb) | |||
354 | } | 353 | } |
355 | /* Check if path verification is required. */ | 354 | /* Check if path verification is required. */ |
356 | if (ccw_device_accumulate_esw_valid(irb) && | 355 | if (ccw_device_accumulate_esw_valid(irb) && |
357 | irb->esw.esw0.erw.pvrf && cdev->private->options.pgroup) | 356 | irb->esw.esw0.erw.pvrf) |
358 | cdev->private->flags.doverify = 1; | 357 | cdev->private->flags.doverify = 1; |
359 | } | 358 | } |
360 | 359 | ||
diff --git a/drivers/s390/cio/qdio.c b/drivers/s390/cio/qdio.c index b70039af70d6..7c93a8798d23 100644 --- a/drivers/s390/cio/qdio.c +++ b/drivers/s390/cio/qdio.c | |||
@@ -2735,7 +2735,7 @@ qdio_free(struct ccw_device *cdev) | |||
2735 | QDIO_DBF_TEXT1(0,trace,dbf_text); | 2735 | QDIO_DBF_TEXT1(0,trace,dbf_text); |
2736 | QDIO_DBF_TEXT0(0,setup,dbf_text); | 2736 | QDIO_DBF_TEXT0(0,setup,dbf_text); |
2737 | 2737 | ||
2738 | cdev->private->qdio_data = 0; | 2738 | cdev->private->qdio_data = NULL; |
2739 | 2739 | ||
2740 | up(&irq_ptr->setting_up_sema); | 2740 | up(&irq_ptr->setting_up_sema); |
2741 | 2741 | ||
diff --git a/drivers/s390/net/iucv.c b/drivers/s390/net/iucv.c index 189a49275433..0e863df4027a 100644 --- a/drivers/s390/net/iucv.c +++ b/drivers/s390/net/iucv.c | |||
@@ -692,7 +692,7 @@ iucv_retrieve_buffer (void) | |||
692 | iucv_debug(1, "entering"); | 692 | iucv_debug(1, "entering"); |
693 | if (iucv_cpuid != -1) { | 693 | if (iucv_cpuid != -1) { |
694 | smp_call_function_on(iucv_retrieve_buffer_cpuid, | 694 | smp_call_function_on(iucv_retrieve_buffer_cpuid, |
695 | 0, 0, 1, iucv_cpuid); | 695 | NULL, 0, 1, iucv_cpuid); |
696 | /* Release the cpu reserved by iucv_declare_buffer. */ | 696 | /* Release the cpu reserved by iucv_declare_buffer. */ |
697 | smp_put_cpu(iucv_cpuid); | 697 | smp_put_cpu(iucv_cpuid); |
698 | iucv_cpuid = -1; | 698 | iucv_cpuid = -1; |
diff --git a/drivers/s390/net/qeth_main.c b/drivers/s390/net/qeth_main.c index 4caced21ac8c..103c41470bd2 100644 --- a/drivers/s390/net/qeth_main.c +++ b/drivers/s390/net/qeth_main.c | |||
@@ -4804,7 +4804,7 @@ static struct qeth_cmd_buffer * | |||
4804 | qeth_get_setassparms_cmd(struct qeth_card *, enum qeth_ipa_funcs, | 4804 | qeth_get_setassparms_cmd(struct qeth_card *, enum qeth_ipa_funcs, |
4805 | __u16, __u16, enum qeth_prot_versions); | 4805 | __u16, __u16, enum qeth_prot_versions); |
4806 | static int | 4806 | static int |
4807 | qeth_arp_query(struct qeth_card *card, char *udata) | 4807 | qeth_arp_query(struct qeth_card *card, char __user *udata) |
4808 | { | 4808 | { |
4809 | struct qeth_cmd_buffer *iob; | 4809 | struct qeth_cmd_buffer *iob; |
4810 | struct qeth_arp_query_info qinfo = {0, }; | 4810 | struct qeth_arp_query_info qinfo = {0, }; |
@@ -4937,7 +4937,7 @@ qeth_get_adapter_cmd(struct qeth_card *card, __u32 command, __u32 cmdlen) | |||
4937 | * function to send SNMP commands to OSA-E card | 4937 | * function to send SNMP commands to OSA-E card |
4938 | */ | 4938 | */ |
4939 | static int | 4939 | static int |
4940 | qeth_snmp_command(struct qeth_card *card, char *udata) | 4940 | qeth_snmp_command(struct qeth_card *card, char __user *udata) |
4941 | { | 4941 | { |
4942 | struct qeth_cmd_buffer *iob; | 4942 | struct qeth_cmd_buffer *iob; |
4943 | struct qeth_ipa_cmd *cmd; | 4943 | struct qeth_ipa_cmd *cmd; |
@@ -7909,9 +7909,9 @@ qeth_set_online(struct ccwgroup_device *gdev) | |||
7909 | } | 7909 | } |
7910 | 7910 | ||
7911 | static struct ccw_device_id qeth_ids[] = { | 7911 | static struct ccw_device_id qeth_ids[] = { |
7912 | {CCW_DEVICE(0x1731, 0x01), driver_info:QETH_CARD_TYPE_OSAE}, | 7912 | {CCW_DEVICE(0x1731, 0x01), .driver_info = QETH_CARD_TYPE_OSAE}, |
7913 | {CCW_DEVICE(0x1731, 0x05), driver_info:QETH_CARD_TYPE_IQD}, | 7913 | {CCW_DEVICE(0x1731, 0x05), .driver_info = QETH_CARD_TYPE_IQD}, |
7914 | {CCW_DEVICE(0x1731, 0x06), driver_info:QETH_CARD_TYPE_OSN}, | 7914 | {CCW_DEVICE(0x1731, 0x06), .driver_info = QETH_CARD_TYPE_OSN}, |
7915 | {}, | 7915 | {}, |
7916 | }; | 7916 | }; |
7917 | MODULE_DEVICE_TABLE(ccw, qeth_ids); | 7917 | MODULE_DEVICE_TABLE(ccw, qeth_ids); |
@@ -8380,7 +8380,7 @@ out: | |||
8380 | 8380 | ||
8381 | static struct notifier_block qeth_ip_notifier = { | 8381 | static struct notifier_block qeth_ip_notifier = { |
8382 | qeth_ip_event, | 8382 | qeth_ip_event, |
8383 | 0 | 8383 | NULL, |
8384 | }; | 8384 | }; |
8385 | 8385 | ||
8386 | #ifdef CONFIG_QETH_IPV6 | 8386 | #ifdef CONFIG_QETH_IPV6 |
@@ -8433,7 +8433,7 @@ out: | |||
8433 | 8433 | ||
8434 | static struct notifier_block qeth_ip6_notifier = { | 8434 | static struct notifier_block qeth_ip6_notifier = { |
8435 | qeth_ip6_event, | 8435 | qeth_ip6_event, |
8436 | 0 | 8436 | NULL, |
8437 | }; | 8437 | }; |
8438 | #endif | 8438 | #endif |
8439 | 8439 | ||
@@ -8460,7 +8460,7 @@ qeth_reboot_event(struct notifier_block *this, unsigned long event, void *ptr) | |||
8460 | 8460 | ||
8461 | static struct notifier_block qeth_reboot_notifier = { | 8461 | static struct notifier_block qeth_reboot_notifier = { |
8462 | qeth_reboot_event, | 8462 | qeth_reboot_event, |
8463 | 0 | 8463 | NULL, |
8464 | }; | 8464 | }; |
8465 | 8465 | ||
8466 | static int | 8466 | static int |
diff --git a/drivers/s390/net/qeth_sys.c b/drivers/s390/net/qeth_sys.c index 185a9cfbcbdc..001497bbea16 100644 --- a/drivers/s390/net/qeth_sys.c +++ b/drivers/s390/net/qeth_sys.c | |||
@@ -1755,7 +1755,7 @@ qeth_driver_group_store(struct device_driver *ddrv, const char *buf, | |||
1755 | } | 1755 | } |
1756 | 1756 | ||
1757 | 1757 | ||
1758 | static DRIVER_ATTR(group, 0200, 0, qeth_driver_group_store); | 1758 | static DRIVER_ATTR(group, 0200, NULL, qeth_driver_group_store); |
1759 | 1759 | ||
1760 | static ssize_t | 1760 | static ssize_t |
1761 | qeth_driver_notifier_register_store(struct device_driver *ddrv, const char *buf, | 1761 | qeth_driver_notifier_register_store(struct device_driver *ddrv, const char *buf, |
@@ -1783,7 +1783,7 @@ qeth_driver_notifier_register_store(struct device_driver *ddrv, const char *buf, | |||
1783 | return count; | 1783 | return count; |
1784 | } | 1784 | } |
1785 | 1785 | ||
1786 | static DRIVER_ATTR(notifier_register, 0200, 0, | 1786 | static DRIVER_ATTR(notifier_register, 0200, NULL, |
1787 | qeth_driver_notifier_register_store); | 1787 | qeth_driver_notifier_register_store); |
1788 | 1788 | ||
1789 | int | 1789 | int |
diff --git a/drivers/s390/net/smsgiucv.c b/drivers/s390/net/smsgiucv.c index 72118ee68954..b8179c27ceb6 100644 --- a/drivers/s390/net/smsgiucv.c +++ b/drivers/s390/net/smsgiucv.c | |||
@@ -66,7 +66,7 @@ smsg_message_pending(iucv_MessagePending *eib, void *pgm_data) | |||
66 | return; | 66 | return; |
67 | } | 67 | } |
68 | rc = iucv_receive(eib->ippathid, eib->ipmsgid, eib->iptrgcls, | 68 | rc = iucv_receive(eib->ippathid, eib->ipmsgid, eib->iptrgcls, |
69 | msg, len, 0, 0, 0); | 69 | msg, len, NULL, NULL, NULL); |
70 | if (rc == 0) { | 70 | if (rc == 0) { |
71 | msg[len] = 0; | 71 | msg[len] = 0; |
72 | EBCASC(msg, len); | 72 | EBCASC(msg, len); |
@@ -122,7 +122,7 @@ smsg_unregister_callback(char *prefix, void (*callback)(char *from, char *str)) | |||
122 | struct smsg_callback *cb, *tmp; | 122 | struct smsg_callback *cb, *tmp; |
123 | 123 | ||
124 | spin_lock(&smsg_list_lock); | 124 | spin_lock(&smsg_list_lock); |
125 | cb = 0; | 125 | cb = NULL; |
126 | list_for_each_entry(tmp, &smsg_list, list) | 126 | list_for_each_entry(tmp, &smsg_list, list) |
127 | if (tmp->callback == callback && | 127 | if (tmp->callback == callback && |
128 | strcmp(tmp->prefix, prefix) == 0) { | 128 | strcmp(tmp->prefix, prefix) == 0) { |
@@ -139,7 +139,7 @@ smsg_exit(void) | |||
139 | { | 139 | { |
140 | if (smsg_handle > 0) { | 140 | if (smsg_handle > 0) { |
141 | cpcmd("SET SMSG OFF", NULL, 0, NULL); | 141 | cpcmd("SET SMSG OFF", NULL, 0, NULL); |
142 | iucv_sever(smsg_pathid, 0); | 142 | iucv_sever(smsg_pathid, NULL); |
143 | iucv_unregister_program(smsg_handle); | 143 | iucv_unregister_program(smsg_handle); |
144 | driver_unregister(&smsg_driver); | 144 | driver_unregister(&smsg_driver); |
145 | } | 145 | } |
@@ -162,19 +162,19 @@ smsg_init(void) | |||
162 | return rc; | 162 | return rc; |
163 | } | 163 | } |
164 | smsg_handle = iucv_register_program("SMSGIUCV ", "*MSG ", | 164 | smsg_handle = iucv_register_program("SMSGIUCV ", "*MSG ", |
165 | pgmmask, &smsg_ops, 0); | 165 | pgmmask, &smsg_ops, NULL); |
166 | if (!smsg_handle) { | 166 | if (!smsg_handle) { |
167 | printk(KERN_ERR "SMSGIUCV: failed to register to iucv"); | 167 | printk(KERN_ERR "SMSGIUCV: failed to register to iucv"); |
168 | driver_unregister(&smsg_driver); | 168 | driver_unregister(&smsg_driver); |
169 | return -EIO; /* better errno ? */ | 169 | return -EIO; /* better errno ? */ |
170 | } | 170 | } |
171 | rc = iucv_connect (&smsg_pathid, 255, 0, "*MSG ", 0, 0, 0, 0, | 171 | rc = iucv_connect (&smsg_pathid, 255, NULL, "*MSG ", NULL, 0, |
172 | smsg_handle, 0); | 172 | NULL, NULL, smsg_handle, NULL); |
173 | if (rc) { | 173 | if (rc) { |
174 | printk(KERN_ERR "SMSGIUCV: failed to connect to *MSG"); | 174 | printk(KERN_ERR "SMSGIUCV: failed to connect to *MSG"); |
175 | iucv_unregister_program(smsg_handle); | 175 | iucv_unregister_program(smsg_handle); |
176 | driver_unregister(&smsg_driver); | 176 | driver_unregister(&smsg_driver); |
177 | smsg_handle = 0; | 177 | smsg_handle = NULL; |
178 | return -EIO; | 178 | return -EIO; |
179 | } | 179 | } |
180 | cpcmd("SET SMSG IUCV", NULL, 0, NULL); | 180 | cpcmd("SET SMSG IUCV", NULL, 0, NULL); |
diff --git a/drivers/s390/s390mach.c b/drivers/s390/s390mach.c index ffb3677e354f..5399c5d99b81 100644 --- a/drivers/s390/s390mach.c +++ b/drivers/s390/s390mach.c | |||
@@ -111,6 +111,16 @@ repeat: | |||
111 | break; | 111 | break; |
112 | case CRW_RSC_CPATH: | 112 | case CRW_RSC_CPATH: |
113 | pr_debug("source is channel path %02X\n", crw[0].rsid); | 113 | pr_debug("source is channel path %02X\n", crw[0].rsid); |
114 | /* | ||
115 | * Check for solicited machine checks. These are | ||
116 | * created by reset channel path and need not be | ||
117 | * reported to the common I/O layer. | ||
118 | */ | ||
119 | if (crw[chain].slct) { | ||
120 | DBG(KERN_INFO"solicited machine check for " | ||
121 | "channel path %02X\n", crw[0].rsid); | ||
122 | break; | ||
123 | } | ||
114 | switch (crw[0].erc) { | 124 | switch (crw[0].erc) { |
115 | case CRW_ERC_IPARM: /* Path has come. */ | 125 | case CRW_ERC_IPARM: /* Path has come. */ |
116 | ret = chp_process_crw(crw[0].rsid, 1); | 126 | ret = chp_process_crw(crw[0].rsid, 1); |
diff --git a/drivers/s390/scsi/zfcp_fsf.c b/drivers/s390/scsi/zfcp_fsf.c index 6335f9229184..31db2b06faba 100644 --- a/drivers/s390/scsi/zfcp_fsf.c +++ b/drivers/s390/scsi/zfcp_fsf.c | |||
@@ -2227,7 +2227,7 @@ zfcp_fsf_exchange_port_data(struct zfcp_erp_action *erp_action, | |||
2227 | /* setup new FSF request */ | 2227 | /* setup new FSF request */ |
2228 | retval = zfcp_fsf_req_create(adapter, FSF_QTCB_EXCHANGE_PORT_DATA, | 2228 | retval = zfcp_fsf_req_create(adapter, FSF_QTCB_EXCHANGE_PORT_DATA, |
2229 | erp_action ? ZFCP_REQ_AUTO_CLEANUP : 0, | 2229 | erp_action ? ZFCP_REQ_AUTO_CLEANUP : 0, |
2230 | 0, &lock_flags, &fsf_req); | 2230 | NULL, &lock_flags, &fsf_req); |
2231 | if (retval < 0) { | 2231 | if (retval < 0) { |
2232 | ZFCP_LOG_INFO("error: Out of resources. Could not create an " | 2232 | ZFCP_LOG_INFO("error: Out of resources. Could not create an " |
2233 | "exchange port data request for" | 2233 | "exchange port data request for" |
diff --git a/drivers/s390/scsi/zfcp_scsi.c b/drivers/s390/scsi/zfcp_scsi.c index 46e14f22ec18..671f4a6a5d18 100644 --- a/drivers/s390/scsi/zfcp_scsi.c +++ b/drivers/s390/scsi/zfcp_scsi.c | |||
@@ -44,30 +44,29 @@ struct scsi_transport_template *zfcp_transport_template; | |||
44 | 44 | ||
45 | struct zfcp_data zfcp_data = { | 45 | struct zfcp_data zfcp_data = { |
46 | .scsi_host_template = { | 46 | .scsi_host_template = { |
47 | name: ZFCP_NAME, | 47 | .name = ZFCP_NAME, |
48 | proc_name: "zfcp", | 48 | .proc_name = "zfcp", |
49 | proc_info: NULL, | 49 | .proc_info = NULL, |
50 | detect: NULL, | 50 | .detect = NULL, |
51 | slave_alloc: zfcp_scsi_slave_alloc, | 51 | .slave_alloc = zfcp_scsi_slave_alloc, |
52 | slave_configure: zfcp_scsi_slave_configure, | 52 | .slave_configure = zfcp_scsi_slave_configure, |
53 | slave_destroy: zfcp_scsi_slave_destroy, | 53 | .slave_destroy = zfcp_scsi_slave_destroy, |
54 | queuecommand: zfcp_scsi_queuecommand, | 54 | .queuecommand = zfcp_scsi_queuecommand, |
55 | eh_abort_handler: zfcp_scsi_eh_abort_handler, | 55 | .eh_abort_handler = zfcp_scsi_eh_abort_handler, |
56 | eh_device_reset_handler: zfcp_scsi_eh_device_reset_handler, | 56 | .eh_device_reset_handler = zfcp_scsi_eh_device_reset_handler, |
57 | eh_bus_reset_handler: zfcp_scsi_eh_bus_reset_handler, | 57 | .eh_bus_reset_handler = zfcp_scsi_eh_bus_reset_handler, |
58 | eh_host_reset_handler: zfcp_scsi_eh_host_reset_handler, | 58 | .eh_host_reset_handler = zfcp_scsi_eh_host_reset_handler, |
59 | /* FIXME(openfcp): Tune */ | 59 | .can_queue = 4096, |
60 | can_queue: 4096, | 60 | .this_id = -1, |
61 | this_id: -1, | 61 | /* |
62 | /* | 62 | * FIXME: |
63 | * FIXME: | 63 | * one less? can zfcp_create_sbale cope with it? |
64 | * one less? can zfcp_create_sbale cope with it? | 64 | */ |
65 | */ | 65 | .sg_tablesize = ZFCP_MAX_SBALES_PER_REQ, |
66 | sg_tablesize: ZFCP_MAX_SBALES_PER_REQ, | 66 | .cmd_per_lun = 1, |
67 | cmd_per_lun: 1, | 67 | .unchecked_isa_dma = 0, |
68 | unchecked_isa_dma: 0, | 68 | .use_clustering = 1, |
69 | use_clustering: 1, | 69 | .sdev_attrs = zfcp_sysfs_sdev_attrs, |
70 | sdev_attrs: zfcp_sysfs_sdev_attrs, | ||
71 | }, | 70 | }, |
72 | .driver_version = ZFCP_VERSION, | 71 | .driver_version = ZFCP_VERSION, |
73 | /* rest initialised with zeros */ | 72 | /* rest initialised with zeros */ |
diff --git a/drivers/serial/8250.c b/drivers/serial/8250.c index 0995430e4cf1..0ae9ced00ed4 100644 --- a/drivers/serial/8250.c +++ b/drivers/serial/8250.c | |||
@@ -299,6 +299,7 @@ static inline int map_8250_out_reg(struct uart_8250_port *up, int offset) | |||
299 | 299 | ||
300 | static unsigned int serial_in(struct uart_8250_port *up, int offset) | 300 | static unsigned int serial_in(struct uart_8250_port *up, int offset) |
301 | { | 301 | { |
302 | unsigned int tmp; | ||
302 | offset = map_8250_in_reg(up, offset) << up->port.regshift; | 303 | offset = map_8250_in_reg(up, offset) << up->port.regshift; |
303 | 304 | ||
304 | switch (up->port.iotype) { | 305 | switch (up->port.iotype) { |
@@ -317,6 +318,13 @@ static unsigned int serial_in(struct uart_8250_port *up, int offset) | |||
317 | return __raw_readl(up->port.membase + offset); | 318 | return __raw_readl(up->port.membase + offset); |
318 | #endif | 319 | #endif |
319 | 320 | ||
321 | case UPIO_TSI: | ||
322 | if (offset == UART_IIR) { | ||
323 | tmp = readl((u32 *)(up->port.membase + UART_RX)); | ||
324 | return (cpu_to_le32(tmp) >> 8) & 0xff; | ||
325 | } else | ||
326 | return readb(up->port.membase + offset); | ||
327 | |||
320 | default: | 328 | default: |
321 | return inb(up->port.iobase + offset); | 329 | return inb(up->port.iobase + offset); |
322 | } | 330 | } |
@@ -346,6 +354,10 @@ serial_out(struct uart_8250_port *up, int offset, int value) | |||
346 | __raw_writel(value, up->port.membase + offset); | 354 | __raw_writel(value, up->port.membase + offset); |
347 | break; | 355 | break; |
348 | #endif | 356 | #endif |
357 | case UPIO_TSI: | ||
358 | if (!((offset == UART_IER) && (value & UART_IER_UUE))) | ||
359 | writeb(value, up->port.membase + offset); | ||
360 | break; | ||
349 | 361 | ||
350 | default: | 362 | default: |
351 | outb(value, up->port.iobase + offset); | 363 | outb(value, up->port.iobase + offset); |
@@ -2240,10 +2252,14 @@ serial8250_console_write(struct console *co, const char *s, unsigned int count) | |||
2240 | 2252 | ||
2241 | touch_nmi_watchdog(); | 2253 | touch_nmi_watchdog(); |
2242 | 2254 | ||
2243 | if (oops_in_progress) { | 2255 | local_irq_save(flags); |
2244 | locked = spin_trylock_irqsave(&up->port.lock, flags); | 2256 | if (up->port.sysrq) { |
2257 | /* serial8250_handle_port() already took the lock */ | ||
2258 | locked = 0; | ||
2259 | } else if (oops_in_progress) { | ||
2260 | locked = spin_trylock(&up->port.lock); | ||
2245 | } else | 2261 | } else |
2246 | spin_lock_irqsave(&up->port.lock, flags); | 2262 | spin_lock(&up->port.lock); |
2247 | 2263 | ||
2248 | /* | 2264 | /* |
2249 | * First save the IER then disable the interrupts | 2265 | * First save the IER then disable the interrupts |
@@ -2265,7 +2281,8 @@ serial8250_console_write(struct console *co, const char *s, unsigned int count) | |||
2265 | serial_out(up, UART_IER, ier); | 2281 | serial_out(up, UART_IER, ier); |
2266 | 2282 | ||
2267 | if (locked) | 2283 | if (locked) |
2268 | spin_unlock_irqrestore(&up->port.lock, flags); | 2284 | spin_unlock(&up->port.lock); |
2285 | local_irq_restore(flags); | ||
2269 | } | 2286 | } |
2270 | 2287 | ||
2271 | static int serial8250_console_setup(struct console *co, char *options) | 2288 | static int serial8250_console_setup(struct console *co, char *options) |
diff --git a/drivers/serial/dz.c b/drivers/serial/dz.c index d119c8296a78..8a98aae80e22 100644 --- a/drivers/serial/dz.c +++ b/drivers/serial/dz.c | |||
@@ -673,7 +673,7 @@ static void dz_reset(struct dz_port *dport) | |||
673 | } | 673 | } |
674 | 674 | ||
675 | #ifdef CONFIG_SERIAL_DZ_CONSOLE | 675 | #ifdef CONFIG_SERIAL_DZ_CONSOLE |
676 | static void dz_console_putchar(struct uart_port *port, int ch) | 676 | static void dz_console_putchar(struct uart_port *uport, int ch) |
677 | { | 677 | { |
678 | struct dz_port *dport = (struct dz_port *)uport; | 678 | struct dz_port *dport = (struct dz_port *)uport; |
679 | unsigned long flags; | 679 | unsigned long flags; |
diff --git a/drivers/serial/ip22zilog.c b/drivers/serial/ip22zilog.c index 342042889f6e..5ff269fb604c 100644 --- a/drivers/serial/ip22zilog.c +++ b/drivers/serial/ip22zilog.c | |||
@@ -1143,9 +1143,8 @@ static void __init ip22zilog_prepare(void) | |||
1143 | up[(chip * 2) + 1].port.fifosize = 1; | 1143 | up[(chip * 2) + 1].port.fifosize = 1; |
1144 | up[(chip * 2) + 1].port.ops = &ip22zilog_pops; | 1144 | up[(chip * 2) + 1].port.ops = &ip22zilog_pops; |
1145 | up[(chip * 2) + 1].port.type = PORT_IP22ZILOG; | 1145 | up[(chip * 2) + 1].port.type = PORT_IP22ZILOG; |
1146 | up[(chip * 2) + 1].port.flags |= IP22ZILOG_FLAG_IS_CHANNEL_A; | ||
1147 | up[(chip * 2) + 1].port.line = (chip * 2) + 1; | 1146 | up[(chip * 2) + 1].port.line = (chip * 2) + 1; |
1148 | up[(chip * 2) + 1].flags = 0; | 1147 | up[(chip * 2) + 1].flags |= IP22ZILOG_FLAG_IS_CHANNEL_A; |
1149 | } | 1148 | } |
1150 | } | 1149 | } |
1151 | 1150 | ||
diff --git a/drivers/serial/serial_core.c b/drivers/serial/serial_core.c index d5f636fbf29a..80ef7d482756 100644 --- a/drivers/serial/serial_core.c +++ b/drivers/serial/serial_core.c | |||
@@ -2036,6 +2036,7 @@ uart_report_port(struct uart_driver *drv, struct uart_port *port) | |||
2036 | case UPIO_MEM: | 2036 | case UPIO_MEM: |
2037 | case UPIO_MEM32: | 2037 | case UPIO_MEM32: |
2038 | case UPIO_AU: | 2038 | case UPIO_AU: |
2039 | case UPIO_TSI: | ||
2039 | snprintf(address, sizeof(address), | 2040 | snprintf(address, sizeof(address), |
2040 | "MMIO 0x%lx", port->mapbase); | 2041 | "MMIO 0x%lx", port->mapbase); |
2041 | break; | 2042 | break; |
diff --git a/drivers/serial/sunsab.c b/drivers/serial/sunsab.c index 0dbd4df44c05..979497f108c8 100644 --- a/drivers/serial/sunsab.c +++ b/drivers/serial/sunsab.c | |||
@@ -1052,7 +1052,7 @@ static int __devinit sab_probe(struct of_device *op, const struct of_device_id * | |||
1052 | if (err) | 1052 | if (err) |
1053 | return err; | 1053 | return err; |
1054 | 1054 | ||
1055 | err = sunsab_init_one(&up[0], op, 0, | 1055 | err = sunsab_init_one(&up[1], op, 0, |
1056 | (inst * 2) + 1); | 1056 | (inst * 2) + 1); |
1057 | if (err) { | 1057 | if (err) { |
1058 | of_iounmap(up[0].port.membase, | 1058 | of_iounmap(up[0].port.membase, |
diff --git a/drivers/serial/sunsu.c b/drivers/serial/sunsu.c index f9013baba05b..d3a5aeee73a3 100644 --- a/drivers/serial/sunsu.c +++ b/drivers/serial/sunsu.c | |||
@@ -1200,6 +1200,11 @@ static int __init sunsu_kbd_ms_init(struct uart_sunsu_port *up) | |||
1200 | if (up->port.type == PORT_UNKNOWN) | 1200 | if (up->port.type == PORT_UNKNOWN) |
1201 | return -ENODEV; | 1201 | return -ENODEV; |
1202 | 1202 | ||
1203 | printk("%s: %s port at %lx, irq %u\n", | ||
1204 | to_of_device(up->port.dev)->node->full_name, | ||
1205 | (up->su_type == SU_PORT_KBD) ? "Keyboard" : "Mouse", | ||
1206 | up->port.mapbase, up->port.irq); | ||
1207 | |||
1203 | #ifdef CONFIG_SERIO | 1208 | #ifdef CONFIG_SERIO |
1204 | serio = &up->serio; | 1209 | serio = &up->serio; |
1205 | serio->port_data = up; | 1210 | serio->port_data = up; |
@@ -1406,25 +1411,35 @@ static int __devinit su_probe(struct of_device *op, const struct of_device_id *m | |||
1406 | struct device_node *dp = op->node; | 1411 | struct device_node *dp = op->node; |
1407 | struct uart_sunsu_port *up; | 1412 | struct uart_sunsu_port *up; |
1408 | struct resource *rp; | 1413 | struct resource *rp; |
1414 | enum su_type type; | ||
1409 | int err; | 1415 | int err; |
1410 | 1416 | ||
1411 | if (inst >= UART_NR) | 1417 | type = su_get_type(dp); |
1412 | return -EINVAL; | 1418 | if (type == SU_PORT_PORT) { |
1419 | if (inst >= UART_NR) | ||
1420 | return -EINVAL; | ||
1421 | up = &sunsu_ports[inst]; | ||
1422 | } else { | ||
1423 | up = kzalloc(sizeof(*up), GFP_KERNEL); | ||
1424 | if (!up) | ||
1425 | return -ENOMEM; | ||
1426 | } | ||
1413 | 1427 | ||
1414 | up = &sunsu_ports[inst]; | ||
1415 | up->port.line = inst; | 1428 | up->port.line = inst; |
1416 | 1429 | ||
1417 | spin_lock_init(&up->port.lock); | 1430 | spin_lock_init(&up->port.lock); |
1418 | 1431 | ||
1419 | up->su_type = su_get_type(dp); | 1432 | up->su_type = type; |
1420 | 1433 | ||
1421 | rp = &op->resource[0]; | 1434 | rp = &op->resource[0]; |
1422 | up->port.mapbase = op->resource[0].start; | 1435 | up->port.mapbase = rp->start; |
1423 | |||
1424 | up->reg_size = (rp->end - rp->start) + 1; | 1436 | up->reg_size = (rp->end - rp->start) + 1; |
1425 | up->port.membase = of_ioremap(rp, 0, up->reg_size, "su"); | 1437 | up->port.membase = of_ioremap(rp, 0, up->reg_size, "su"); |
1426 | if (!up->port.membase) | 1438 | if (!up->port.membase) { |
1439 | if (type != SU_PORT_PORT) | ||
1440 | kfree(up); | ||
1427 | return -ENOMEM; | 1441 | return -ENOMEM; |
1442 | } | ||
1428 | 1443 | ||
1429 | up->port.irq = op->irqs[0]; | 1444 | up->port.irq = op->irqs[0]; |
1430 | 1445 | ||
@@ -1436,8 +1451,11 @@ static int __devinit su_probe(struct of_device *op, const struct of_device_id *m | |||
1436 | err = 0; | 1451 | err = 0; |
1437 | if (up->su_type == SU_PORT_KBD || up->su_type == SU_PORT_MS) { | 1452 | if (up->su_type == SU_PORT_KBD || up->su_type == SU_PORT_MS) { |
1438 | err = sunsu_kbd_ms_init(up); | 1453 | err = sunsu_kbd_ms_init(up); |
1439 | if (err) | 1454 | if (err) { |
1455 | kfree(up); | ||
1440 | goto out_unmap; | 1456 | goto out_unmap; |
1457 | } | ||
1458 | dev_set_drvdata(&op->dev, up); | ||
1441 | 1459 | ||
1442 | return 0; | 1460 | return 0; |
1443 | } | 1461 | } |
@@ -1476,8 +1494,12 @@ static int __devexit su_remove(struct of_device *dev) | |||
1476 | #ifdef CONFIG_SERIO | 1494 | #ifdef CONFIG_SERIO |
1477 | serio_unregister_port(&up->serio); | 1495 | serio_unregister_port(&up->serio); |
1478 | #endif | 1496 | #endif |
1479 | } else if (up->port.type != PORT_UNKNOWN) | 1497 | kfree(up); |
1498 | } else if (up->port.type != PORT_UNKNOWN) { | ||
1480 | uart_remove_one_port(&sunsu_reg, &up->port); | 1499 | uart_remove_one_port(&sunsu_reg, &up->port); |
1500 | } | ||
1501 | |||
1502 | dev_set_drvdata(&dev->dev, NULL); | ||
1481 | 1503 | ||
1482 | return 0; | 1504 | return 0; |
1483 | } | 1505 | } |
diff --git a/drivers/serial/vr41xx_siu.c b/drivers/serial/vr41xx_siu.c index e93d0edc2e08..6c8b0ea83c3c 100644 --- a/drivers/serial/vr41xx_siu.c +++ b/drivers/serial/vr41xx_siu.c | |||
@@ -38,6 +38,7 @@ | |||
38 | #include <linux/tty_flip.h> | 38 | #include <linux/tty_flip.h> |
39 | 39 | ||
40 | #include <asm/io.h> | 40 | #include <asm/io.h> |
41 | #include <asm/vr41xx/irq.h> | ||
41 | #include <asm/vr41xx/siu.h> | 42 | #include <asm/vr41xx/siu.h> |
42 | #include <asm/vr41xx/vr41xx.h> | 43 | #include <asm/vr41xx/vr41xx.h> |
43 | 44 | ||
diff --git a/drivers/usb/Kconfig b/drivers/usb/Kconfig index 7fdbc5dad5fd..2ee742d40c43 100644 --- a/drivers/usb/Kconfig +++ b/drivers/usb/Kconfig | |||
@@ -23,6 +23,7 @@ config USB_ARCH_HAS_OHCI | |||
23 | default y if ARCH_LH7A404 | 23 | default y if ARCH_LH7A404 |
24 | default y if ARCH_S3C2410 | 24 | default y if ARCH_S3C2410 |
25 | default y if PXA27x | 25 | default y if PXA27x |
26 | default y if ARCH_EP93XX | ||
26 | default y if ARCH_AT91RM9200 | 27 | default y if ARCH_AT91RM9200 |
27 | # PPC: | 28 | # PPC: |
28 | default y if STB03xxx | 29 | default y if STB03xxx |
diff --git a/drivers/usb/Makefile b/drivers/usb/Makefile index c7123bf71c58..4710eb02ed64 100644 --- a/drivers/usb/Makefile +++ b/drivers/usb/Makefile | |||
@@ -48,7 +48,7 @@ obj-$(CONFIG_USB_MICROTEK) += image/ | |||
48 | obj-$(CONFIG_USB_SERIAL) += serial/ | 48 | obj-$(CONFIG_USB_SERIAL) += serial/ |
49 | 49 | ||
50 | obj-$(CONFIG_USB_AUERSWALD) += misc/ | 50 | obj-$(CONFIG_USB_AUERSWALD) += misc/ |
51 | obj-$(CONFIG_USB_CY7C63) += misc/ | 51 | obj-$(CONFIG_USB_CYPRESS_CY7C63)+= misc/ |
52 | obj-$(CONFIG_USB_CYTHERM) += misc/ | 52 | obj-$(CONFIG_USB_CYTHERM) += misc/ |
53 | obj-$(CONFIG_USB_EMI26) += misc/ | 53 | obj-$(CONFIG_USB_EMI26) += misc/ |
54 | obj-$(CONFIG_USB_EMI62) += misc/ | 54 | obj-$(CONFIG_USB_EMI62) += misc/ |
diff --git a/drivers/usb/class/cdc-acm.c b/drivers/usb/class/cdc-acm.c index 3670d77e912c..ca90326f2f5c 100644 --- a/drivers/usb/class/cdc-acm.c +++ b/drivers/usb/class/cdc-acm.c | |||
@@ -291,13 +291,13 @@ static void acm_read_bulk(struct urb *urb, struct pt_regs *regs) | |||
291 | struct acm_ru *rcv = urb->context; | 291 | struct acm_ru *rcv = urb->context; |
292 | struct acm *acm = rcv->instance; | 292 | struct acm *acm = rcv->instance; |
293 | int status = urb->status; | 293 | int status = urb->status; |
294 | dbg("Entering acm_read_bulk with status %d\n", urb->status); | 294 | dbg("Entering acm_read_bulk with status %d", urb->status); |
295 | 295 | ||
296 | if (!ACM_READY(acm)) | 296 | if (!ACM_READY(acm)) |
297 | return; | 297 | return; |
298 | 298 | ||
299 | if (status) | 299 | if (status) |
300 | dev_dbg(&acm->data->dev, "bulk rx status %d\n", status); | 300 | dev_dbg(&acm->data->dev, "bulk rx status %d", status); |
301 | 301 | ||
302 | buf = rcv->buffer; | 302 | buf = rcv->buffer; |
303 | buf->size = urb->actual_length; | 303 | buf->size = urb->actual_length; |
@@ -343,7 +343,7 @@ next_buffer: | |||
343 | list_del(&buf->list); | 343 | list_del(&buf->list); |
344 | spin_unlock(&acm->read_lock); | 344 | spin_unlock(&acm->read_lock); |
345 | 345 | ||
346 | dbg("acm_rx_tasklet: procesing buf 0x%p, size = %d\n", buf, buf->size); | 346 | dbg("acm_rx_tasklet: procesing buf 0x%p, size = %d", buf, buf->size); |
347 | 347 | ||
348 | tty_buffer_request_room(tty, buf->size); | 348 | tty_buffer_request_room(tty, buf->size); |
349 | if (!acm->throttle) | 349 | if (!acm->throttle) |
@@ -394,7 +394,7 @@ urbs: | |||
394 | rcv->urb->transfer_dma = buf->dma; | 394 | rcv->urb->transfer_dma = buf->dma; |
395 | rcv->urb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP; | 395 | rcv->urb->transfer_flags |= URB_NO_TRANSFER_DMA_MAP; |
396 | 396 | ||
397 | dbg("acm_rx_tasklet: sending urb 0x%p, rcv 0x%p, buf 0x%p\n", rcv->urb, rcv, buf); | 397 | dbg("acm_rx_tasklet: sending urb 0x%p, rcv 0x%p, buf 0x%p", rcv->urb, rcv, buf); |
398 | 398 | ||
399 | /* This shouldn't kill the driver as unsuccessful URBs are returned to the | 399 | /* This shouldn't kill the driver as unsuccessful URBs are returned to the |
400 | free-urbs-pool and resubmited ASAP */ | 400 | free-urbs-pool and resubmited ASAP */ |
@@ -413,7 +413,7 @@ static void acm_write_bulk(struct urb *urb, struct pt_regs *regs) | |||
413 | { | 413 | { |
414 | struct acm *acm = (struct acm *)urb->context; | 414 | struct acm *acm = (struct acm *)urb->context; |
415 | 415 | ||
416 | dbg("Entering acm_write_bulk with status %d\n", urb->status); | 416 | dbg("Entering acm_write_bulk with status %d", urb->status); |
417 | 417 | ||
418 | acm_write_done(acm); | 418 | acm_write_done(acm); |
419 | acm_write_start(acm); | 419 | acm_write_start(acm); |
@@ -424,7 +424,7 @@ static void acm_write_bulk(struct urb *urb, struct pt_regs *regs) | |||
424 | static void acm_softint(void *private) | 424 | static void acm_softint(void *private) |
425 | { | 425 | { |
426 | struct acm *acm = private; | 426 | struct acm *acm = private; |
427 | dbg("Entering acm_softint.\n"); | 427 | dbg("Entering acm_softint."); |
428 | 428 | ||
429 | if (!ACM_READY(acm)) | 429 | if (!ACM_READY(acm)) |
430 | return; | 430 | return; |
@@ -440,7 +440,7 @@ static int acm_tty_open(struct tty_struct *tty, struct file *filp) | |||
440 | struct acm *acm; | 440 | struct acm *acm; |
441 | int rv = -EINVAL; | 441 | int rv = -EINVAL; |
442 | int i; | 442 | int i; |
443 | dbg("Entering acm_tty_open.\n"); | 443 | dbg("Entering acm_tty_open."); |
444 | 444 | ||
445 | mutex_lock(&open_mutex); | 445 | mutex_lock(&open_mutex); |
446 | 446 | ||
@@ -541,7 +541,7 @@ static int acm_tty_write(struct tty_struct *tty, const unsigned char *buf, int c | |||
541 | int wbn; | 541 | int wbn; |
542 | struct acm_wb *wb; | 542 | struct acm_wb *wb; |
543 | 543 | ||
544 | dbg("Entering acm_tty_write to write %d bytes,\n", count); | 544 | dbg("Entering acm_tty_write to write %d bytes,", count); |
545 | 545 | ||
546 | if (!ACM_READY(acm)) | 546 | if (!ACM_READY(acm)) |
547 | return -EINVAL; | 547 | return -EINVAL; |
@@ -793,7 +793,7 @@ static int acm_probe (struct usb_interface *intf, | |||
793 | 793 | ||
794 | if (!buflen) { | 794 | if (!buflen) { |
795 | if (intf->cur_altsetting->endpoint->extralen && intf->cur_altsetting->endpoint->extra) { | 795 | if (intf->cur_altsetting->endpoint->extralen && intf->cur_altsetting->endpoint->extra) { |
796 | dev_dbg(&intf->dev,"Seeking extra descriptors on endpoint\n"); | 796 | dev_dbg(&intf->dev,"Seeking extra descriptors on endpoint"); |
797 | buflen = intf->cur_altsetting->endpoint->extralen; | 797 | buflen = intf->cur_altsetting->endpoint->extralen; |
798 | buffer = intf->cur_altsetting->endpoint->extra; | 798 | buffer = intf->cur_altsetting->endpoint->extra; |
799 | } else { | 799 | } else { |
@@ -842,24 +842,24 @@ next_desc: | |||
842 | 842 | ||
843 | if (!union_header) { | 843 | if (!union_header) { |
844 | if (call_interface_num > 0) { | 844 | if (call_interface_num > 0) { |
845 | dev_dbg(&intf->dev,"No union descriptor, using call management descriptor\n"); | 845 | dev_dbg(&intf->dev,"No union descriptor, using call management descriptor"); |
846 | data_interface = usb_ifnum_to_if(usb_dev, (data_interface_num = call_interface_num)); | 846 | data_interface = usb_ifnum_to_if(usb_dev, (data_interface_num = call_interface_num)); |
847 | control_interface = intf; | 847 | control_interface = intf; |
848 | } else { | 848 | } else { |
849 | dev_dbg(&intf->dev,"No union descriptor, giving up\n"); | 849 | dev_dbg(&intf->dev,"No union descriptor, giving up"); |
850 | return -ENODEV; | 850 | return -ENODEV; |
851 | } | 851 | } |
852 | } else { | 852 | } else { |
853 | control_interface = usb_ifnum_to_if(usb_dev, union_header->bMasterInterface0); | 853 | control_interface = usb_ifnum_to_if(usb_dev, union_header->bMasterInterface0); |
854 | data_interface = usb_ifnum_to_if(usb_dev, (data_interface_num = union_header->bSlaveInterface0)); | 854 | data_interface = usb_ifnum_to_if(usb_dev, (data_interface_num = union_header->bSlaveInterface0)); |
855 | if (!control_interface || !data_interface) { | 855 | if (!control_interface || !data_interface) { |
856 | dev_dbg(&intf->dev,"no interfaces\n"); | 856 | dev_dbg(&intf->dev,"no interfaces"); |
857 | return -ENODEV; | 857 | return -ENODEV; |
858 | } | 858 | } |
859 | } | 859 | } |
860 | 860 | ||
861 | if (data_interface_num != call_interface_num) | 861 | if (data_interface_num != call_interface_num) |
862 | dev_dbg(&intf->dev,"Seperate call control interface. That is not fully supported.\n"); | 862 | dev_dbg(&intf->dev,"Seperate call control interface. That is not fully supported."); |
863 | 863 | ||
864 | skip_normal_probe: | 864 | skip_normal_probe: |
865 | 865 | ||
@@ -867,7 +867,7 @@ skip_normal_probe: | |||
867 | if (data_interface->cur_altsetting->desc.bInterfaceClass != CDC_DATA_INTERFACE_TYPE) { | 867 | if (data_interface->cur_altsetting->desc.bInterfaceClass != CDC_DATA_INTERFACE_TYPE) { |
868 | if (control_interface->cur_altsetting->desc.bInterfaceClass == CDC_DATA_INTERFACE_TYPE) { | 868 | if (control_interface->cur_altsetting->desc.bInterfaceClass == CDC_DATA_INTERFACE_TYPE) { |
869 | struct usb_interface *t; | 869 | struct usb_interface *t; |
870 | dev_dbg(&intf->dev,"Your device has switched interfaces.\n"); | 870 | dev_dbg(&intf->dev,"Your device has switched interfaces."); |
871 | 871 | ||
872 | t = control_interface; | 872 | t = control_interface; |
873 | control_interface = data_interface; | 873 | control_interface = data_interface; |
@@ -878,7 +878,7 @@ skip_normal_probe: | |||
878 | } | 878 | } |
879 | 879 | ||
880 | if (usb_interface_claimed(data_interface)) { /* valid in this context */ | 880 | if (usb_interface_claimed(data_interface)) { /* valid in this context */ |
881 | dev_dbg(&intf->dev,"The data interface isn't available\n"); | 881 | dev_dbg(&intf->dev,"The data interface isn't available"); |
882 | return -EBUSY; | 882 | return -EBUSY; |
883 | } | 883 | } |
884 | 884 | ||
@@ -895,7 +895,7 @@ skip_normal_probe: | |||
895 | if ((epread->bEndpointAddress & USB_DIR_IN) != USB_DIR_IN) { | 895 | if ((epread->bEndpointAddress & USB_DIR_IN) != USB_DIR_IN) { |
896 | /* descriptors are swapped */ | 896 | /* descriptors are swapped */ |
897 | struct usb_endpoint_descriptor *t; | 897 | struct usb_endpoint_descriptor *t; |
898 | dev_dbg(&intf->dev,"The data interface has switched endpoints\n"); | 898 | dev_dbg(&intf->dev,"The data interface has switched endpoints"); |
899 | 899 | ||
900 | t = epread; | 900 | t = epread; |
901 | epread = epwrite; | 901 | epread = epwrite; |
@@ -910,7 +910,7 @@ skip_normal_probe: | |||
910 | } | 910 | } |
911 | 911 | ||
912 | if (!(acm = kzalloc(sizeof(struct acm), GFP_KERNEL))) { | 912 | if (!(acm = kzalloc(sizeof(struct acm), GFP_KERNEL))) { |
913 | dev_dbg(&intf->dev, "out of memory (acm kzalloc)\n"); | 913 | dev_dbg(&intf->dev, "out of memory (acm kzalloc)"); |
914 | goto alloc_fail; | 914 | goto alloc_fail; |
915 | } | 915 | } |
916 | 916 | ||
@@ -936,26 +936,26 @@ skip_normal_probe: | |||
936 | 936 | ||
937 | buf = usb_buffer_alloc(usb_dev, ctrlsize, GFP_KERNEL, &acm->ctrl_dma); | 937 | buf = usb_buffer_alloc(usb_dev, ctrlsize, GFP_KERNEL, &acm->ctrl_dma); |
938 | if (!buf) { | 938 | if (!buf) { |
939 | dev_dbg(&intf->dev, "out of memory (ctrl buffer alloc)\n"); | 939 | dev_dbg(&intf->dev, "out of memory (ctrl buffer alloc)"); |
940 | goto alloc_fail2; | 940 | goto alloc_fail2; |
941 | } | 941 | } |
942 | acm->ctrl_buffer = buf; | 942 | acm->ctrl_buffer = buf; |
943 | 943 | ||
944 | if (acm_write_buffers_alloc(acm) < 0) { | 944 | if (acm_write_buffers_alloc(acm) < 0) { |
945 | dev_dbg(&intf->dev, "out of memory (write buffer alloc)\n"); | 945 | dev_dbg(&intf->dev, "out of memory (write buffer alloc)"); |
946 | goto alloc_fail4; | 946 | goto alloc_fail4; |
947 | } | 947 | } |
948 | 948 | ||
949 | acm->ctrlurb = usb_alloc_urb(0, GFP_KERNEL); | 949 | acm->ctrlurb = usb_alloc_urb(0, GFP_KERNEL); |
950 | if (!acm->ctrlurb) { | 950 | if (!acm->ctrlurb) { |
951 | dev_dbg(&intf->dev, "out of memory (ctrlurb kmalloc)\n"); | 951 | dev_dbg(&intf->dev, "out of memory (ctrlurb kmalloc)"); |
952 | goto alloc_fail5; | 952 | goto alloc_fail5; |
953 | } | 953 | } |
954 | for (i = 0; i < num_rx_buf; i++) { | 954 | for (i = 0; i < num_rx_buf; i++) { |
955 | struct acm_ru *rcv = &(acm->ru[i]); | 955 | struct acm_ru *rcv = &(acm->ru[i]); |
956 | 956 | ||
957 | if (!(rcv->urb = usb_alloc_urb(0, GFP_KERNEL))) { | 957 | if (!(rcv->urb = usb_alloc_urb(0, GFP_KERNEL))) { |
958 | dev_dbg(&intf->dev, "out of memory (read urbs usb_alloc_urb)\n"); | 958 | dev_dbg(&intf->dev, "out of memory (read urbs usb_alloc_urb)"); |
959 | goto alloc_fail7; | 959 | goto alloc_fail7; |
960 | } | 960 | } |
961 | 961 | ||
@@ -966,13 +966,13 @@ skip_normal_probe: | |||
966 | struct acm_rb *buf = &(acm->rb[i]); | 966 | struct acm_rb *buf = &(acm->rb[i]); |
967 | 967 | ||
968 | if (!(buf->base = usb_buffer_alloc(acm->dev, readsize, GFP_KERNEL, &buf->dma))) { | 968 | if (!(buf->base = usb_buffer_alloc(acm->dev, readsize, GFP_KERNEL, &buf->dma))) { |
969 | dev_dbg(&intf->dev, "out of memory (read bufs usb_buffer_alloc)\n"); | 969 | dev_dbg(&intf->dev, "out of memory (read bufs usb_buffer_alloc)"); |
970 | goto alloc_fail7; | 970 | goto alloc_fail7; |
971 | } | 971 | } |
972 | } | 972 | } |
973 | acm->writeurb = usb_alloc_urb(0, GFP_KERNEL); | 973 | acm->writeurb = usb_alloc_urb(0, GFP_KERNEL); |
974 | if (!acm->writeurb) { | 974 | if (!acm->writeurb) { |
975 | dev_dbg(&intf->dev, "out of memory (writeurb kmalloc)\n"); | 975 | dev_dbg(&intf->dev, "out of memory (writeurb kmalloc)"); |
976 | goto alloc_fail7; | 976 | goto alloc_fail7; |
977 | } | 977 | } |
978 | 978 | ||
@@ -1086,6 +1086,9 @@ static struct usb_device_id acm_ids[] = { | |||
1086 | { USB_DEVICE(0x0ace, 0x1608), /* ZyDAS 56K USB MODEM */ | 1086 | { USB_DEVICE(0x0ace, 0x1608), /* ZyDAS 56K USB MODEM */ |
1087 | .driver_info = SINGLE_RX_URB, /* firmware bug */ | 1087 | .driver_info = SINGLE_RX_URB, /* firmware bug */ |
1088 | }, | 1088 | }, |
1089 | { USB_DEVICE(0x0ace, 0x1611), /* ZyDAS 56K USB MODEM - new version */ | ||
1090 | .driver_info = SINGLE_RX_URB, /* firmware bug */ | ||
1091 | }, | ||
1089 | /* control interfaces with various AT-command sets */ | 1092 | /* control interfaces with various AT-command sets */ |
1090 | { USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM, | 1093 | { USB_INTERFACE_INFO(USB_CLASS_COMM, USB_CDC_SUBCLASS_ACM, |
1091 | USB_CDC_ACM_PROTO_AT_V25TER) }, | 1094 | USB_CDC_ACM_PROTO_AT_V25TER) }, |
diff --git a/drivers/usb/core/Kconfig b/drivers/usb/core/Kconfig index a08787e253aa..6e3b5358a760 100644 --- a/drivers/usb/core/Kconfig +++ b/drivers/usb/core/Kconfig | |||
@@ -31,9 +31,6 @@ config USB_DEVICEFS | |||
31 | For the format of the various /proc/bus/usb/ files, please read | 31 | For the format of the various /proc/bus/usb/ files, please read |
32 | <file:Documentation/usb/proc_usb_info.txt>. | 32 | <file:Documentation/usb/proc_usb_info.txt>. |
33 | 33 | ||
34 | Please note that this code is completely unrelated to devfs, the | ||
35 | "/dev file system support". | ||
36 | |||
37 | Most users want to say Y here. | 34 | Most users want to say Y here. |
38 | 35 | ||
39 | config USB_BANDWIDTH | 36 | config USB_BANDWIDTH |
diff --git a/drivers/usb/core/hub.c b/drivers/usb/core/hub.c index 875596e98e42..26c8cb5f3e67 100644 --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c | |||
@@ -1790,7 +1790,10 @@ static int finish_device_resume(struct usb_device *udev) | |||
1790 | * and device drivers will know about any resume quirks. | 1790 | * and device drivers will know about any resume quirks. |
1791 | */ | 1791 | */ |
1792 | status = usb_get_status(udev, USB_RECIP_DEVICE, 0, &devstatus); | 1792 | status = usb_get_status(udev, USB_RECIP_DEVICE, 0, &devstatus); |
1793 | if (status < 2) | 1793 | if (status >= 0) |
1794 | status = (status == 2 ? 0 : -ENODEV); | ||
1795 | |||
1796 | if (status) | ||
1794 | dev_dbg(&udev->dev, | 1797 | dev_dbg(&udev->dev, |
1795 | "gone after usb resume? status %d\n", | 1798 | "gone after usb resume? status %d\n", |
1796 | status); | 1799 | status); |
@@ -1879,7 +1882,12 @@ hub_port_resume(struct usb_hub *hub, int port1, struct usb_device *udev) | |||
1879 | dev_dbg(hub->intfdev, | 1882 | dev_dbg(hub->intfdev, |
1880 | "port %d status %04x.%04x after resume, %d\n", | 1883 | "port %d status %04x.%04x after resume, %d\n", |
1881 | port1, portchange, devstatus, status); | 1884 | port1, portchange, devstatus, status); |
1885 | if (status >= 0) | ||
1886 | status = -ENODEV; | ||
1882 | } else { | 1887 | } else { |
1888 | if (portchange & USB_PORT_STAT_C_SUSPEND) | ||
1889 | clear_port_feature(hub->hdev, port1, | ||
1890 | USB_PORT_FEAT_C_SUSPEND); | ||
1883 | /* TRSMRCY = 10 msec */ | 1891 | /* TRSMRCY = 10 msec */ |
1884 | msleep(10); | 1892 | msleep(10); |
1885 | if (udev) | 1893 | if (udev) |
diff --git a/drivers/usb/core/inode.c b/drivers/usb/core/inode.c index f48c3dbc367a..3182c2224ba2 100644 --- a/drivers/usb/core/inode.c +++ b/drivers/usb/core/inode.c | |||
@@ -695,7 +695,7 @@ static void usbfs_remove_device(struct usb_device *dev) | |||
695 | wake_up_all(&ds->wait); | 695 | wake_up_all(&ds->wait); |
696 | list_del_init(&ds->list); | 696 | list_del_init(&ds->list); |
697 | if (ds->discsignr) { | 697 | if (ds->discsignr) { |
698 | sinfo.si_signo = SIGPIPE; | 698 | sinfo.si_signo = ds->discsignr; |
699 | sinfo.si_errno = EPIPE; | 699 | sinfo.si_errno = EPIPE; |
700 | sinfo.si_code = SI_ASYNCIO; | 700 | sinfo.si_code = SI_ASYNCIO; |
701 | sinfo.si_addr = ds->disccontext; | 701 | sinfo.si_addr = ds->disccontext; |
diff --git a/drivers/usb/gadget/epautoconf.c b/drivers/usb/gadget/epautoconf.c index f7c6d758e1b0..53d584589c26 100644 --- a/drivers/usb/gadget/epautoconf.c +++ b/drivers/usb/gadget/epautoconf.c | |||
@@ -34,12 +34,12 @@ | |||
34 | 34 | ||
35 | 35 | ||
36 | /* we must assign addresses for configurable endpoints (like net2280) */ | 36 | /* we must assign addresses for configurable endpoints (like net2280) */ |
37 | static __initdata unsigned epnum; | 37 | static __devinitdata unsigned epnum; |
38 | 38 | ||
39 | // #define MANY_ENDPOINTS | 39 | // #define MANY_ENDPOINTS |
40 | #ifdef MANY_ENDPOINTS | 40 | #ifdef MANY_ENDPOINTS |
41 | /* more than 15 configurable endpoints */ | 41 | /* more than 15 configurable endpoints */ |
42 | static __initdata unsigned in_epnum; | 42 | static __devinitdata unsigned in_epnum; |
43 | #endif | 43 | #endif |
44 | 44 | ||
45 | 45 | ||
@@ -59,7 +59,7 @@ static __initdata unsigned in_epnum; | |||
59 | * NOTE: each endpoint is unidirectional, as specified by its USB | 59 | * NOTE: each endpoint is unidirectional, as specified by its USB |
60 | * descriptor; and isn't specific to a configuration or altsetting. | 60 | * descriptor; and isn't specific to a configuration or altsetting. |
61 | */ | 61 | */ |
62 | static int __init | 62 | static int __devinit |
63 | ep_matches ( | 63 | ep_matches ( |
64 | struct usb_gadget *gadget, | 64 | struct usb_gadget *gadget, |
65 | struct usb_ep *ep, | 65 | struct usb_ep *ep, |
@@ -73,7 +73,7 @@ ep_matches ( | |||
73 | /* endpoint already claimed? */ | 73 | /* endpoint already claimed? */ |
74 | if (0 != ep->driver_data) | 74 | if (0 != ep->driver_data) |
75 | return 0; | 75 | return 0; |
76 | 76 | ||
77 | /* only support ep0 for portable CONTROL traffic */ | 77 | /* only support ep0 for portable CONTROL traffic */ |
78 | type = desc->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK; | 78 | type = desc->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK; |
79 | if (USB_ENDPOINT_XFER_CONTROL == type) | 79 | if (USB_ENDPOINT_XFER_CONTROL == type) |
@@ -186,7 +186,7 @@ ep_matches ( | |||
186 | return 1; | 186 | return 1; |
187 | } | 187 | } |
188 | 188 | ||
189 | static struct usb_ep * __init | 189 | static struct usb_ep * __devinit |
190 | find_ep (struct usb_gadget *gadget, const char *name) | 190 | find_ep (struct usb_gadget *gadget, const char *name) |
191 | { | 191 | { |
192 | struct usb_ep *ep; | 192 | struct usb_ep *ep; |
@@ -228,7 +228,7 @@ find_ep (struct usb_gadget *gadget, const char *name) | |||
228 | * | 228 | * |
229 | * On failure, this returns a null endpoint descriptor. | 229 | * On failure, this returns a null endpoint descriptor. |
230 | */ | 230 | */ |
231 | struct usb_ep * __init usb_ep_autoconfig ( | 231 | struct usb_ep * __devinit usb_ep_autoconfig ( |
232 | struct usb_gadget *gadget, | 232 | struct usb_gadget *gadget, |
233 | struct usb_endpoint_descriptor *desc | 233 | struct usb_endpoint_descriptor *desc |
234 | ) | 234 | ) |
@@ -276,7 +276,7 @@ struct usb_ep * __init usb_ep_autoconfig ( | |||
276 | return ep; | 276 | return ep; |
277 | } | 277 | } |
278 | 278 | ||
279 | /* Second, look at endpoints until an unclaimed one looks usable */ | 279 | /* Second, look at endpoints until an unclaimed one looks usable */ |
280 | list_for_each_entry (ep, &gadget->ep_list, ep_list) { | 280 | list_for_each_entry (ep, &gadget->ep_list, ep_list) { |
281 | if (ep_matches (gadget, ep, desc)) | 281 | if (ep_matches (gadget, ep, desc)) |
282 | return ep; | 282 | return ep; |
@@ -295,7 +295,7 @@ struct usb_ep * __init usb_ep_autoconfig ( | |||
295 | * state such as ep->driver_data and the record of assigned endpoints | 295 | * state such as ep->driver_data and the record of assigned endpoints |
296 | * used by usb_ep_autoconfig(). | 296 | * used by usb_ep_autoconfig(). |
297 | */ | 297 | */ |
298 | void __init usb_ep_autoconfig_reset (struct usb_gadget *gadget) | 298 | void __devinit usb_ep_autoconfig_reset (struct usb_gadget *gadget) |
299 | { | 299 | { |
300 | struct usb_ep *ep; | 300 | struct usb_ep *ep; |
301 | 301 | ||
diff --git a/drivers/usb/gadget/ether.c b/drivers/usb/gadget/ether.c index 8320fcef0425..4fe1bec1c255 100644 --- a/drivers/usb/gadget/ether.c +++ b/drivers/usb/gadget/ether.c | |||
@@ -2131,7 +2131,7 @@ eth_req_free (struct usb_ep *ep, struct usb_request *req) | |||
2131 | } | 2131 | } |
2132 | 2132 | ||
2133 | 2133 | ||
2134 | static void __exit | 2134 | static void /* __init_or_exit */ |
2135 | eth_unbind (struct usb_gadget *gadget) | 2135 | eth_unbind (struct usb_gadget *gadget) |
2136 | { | 2136 | { |
2137 | struct eth_dev *dev = get_gadget_data (gadget); | 2137 | struct eth_dev *dev = get_gadget_data (gadget); |
@@ -2158,7 +2158,7 @@ eth_unbind (struct usb_gadget *gadget) | |||
2158 | set_gadget_data (gadget, NULL); | 2158 | set_gadget_data (gadget, NULL); |
2159 | } | 2159 | } |
2160 | 2160 | ||
2161 | static u8 __init nibble (unsigned char c) | 2161 | static u8 __devinit nibble (unsigned char c) |
2162 | { | 2162 | { |
2163 | if (likely (isdigit (c))) | 2163 | if (likely (isdigit (c))) |
2164 | return c - '0'; | 2164 | return c - '0'; |
@@ -2168,7 +2168,7 @@ static u8 __init nibble (unsigned char c) | |||
2168 | return 0; | 2168 | return 0; |
2169 | } | 2169 | } |
2170 | 2170 | ||
2171 | static int __init get_ether_addr(const char *str, u8 *dev_addr) | 2171 | static int __devinit get_ether_addr(const char *str, u8 *dev_addr) |
2172 | { | 2172 | { |
2173 | if (str) { | 2173 | if (str) { |
2174 | unsigned i; | 2174 | unsigned i; |
@@ -2189,7 +2189,7 @@ static int __init get_ether_addr(const char *str, u8 *dev_addr) | |||
2189 | return 1; | 2189 | return 1; |
2190 | } | 2190 | } |
2191 | 2191 | ||
2192 | static int __init | 2192 | static int __devinit |
2193 | eth_bind (struct usb_gadget *gadget) | 2193 | eth_bind (struct usb_gadget *gadget) |
2194 | { | 2194 | { |
2195 | struct eth_dev *dev; | 2195 | struct eth_dev *dev; |
diff --git a/drivers/usb/gadget/file_storage.c b/drivers/usb/gadget/file_storage.c index b1a9cf06f3e6..8d7f1e84cd7b 100644 --- a/drivers/usb/gadget/file_storage.c +++ b/drivers/usb/gadget/file_storage.c | |||
@@ -3691,7 +3691,7 @@ static void lun_release(struct device *dev) | |||
3691 | kref_put(&fsg->ref, fsg_release); | 3691 | kref_put(&fsg->ref, fsg_release); |
3692 | } | 3692 | } |
3693 | 3693 | ||
3694 | static void __exit fsg_unbind(struct usb_gadget *gadget) | 3694 | static void /* __init_or_exit */ fsg_unbind(struct usb_gadget *gadget) |
3695 | { | 3695 | { |
3696 | struct fsg_dev *fsg = get_gadget_data(gadget); | 3696 | struct fsg_dev *fsg = get_gadget_data(gadget); |
3697 | int i; | 3697 | int i; |
diff --git a/drivers/usb/gadget/rndis.c b/drivers/usb/gadget/rndis.c index 354670d12308..408c3380d602 100644 --- a/drivers/usb/gadget/rndis.c +++ b/drivers/usb/gadget/rndis.c | |||
@@ -1398,7 +1398,7 @@ static struct proc_dir_entry *rndis_connect_state [RNDIS_MAX_CONFIGS]; | |||
1398 | #endif /* CONFIG_USB_GADGET_DEBUG_FILES */ | 1398 | #endif /* CONFIG_USB_GADGET_DEBUG_FILES */ |
1399 | 1399 | ||
1400 | 1400 | ||
1401 | int __init rndis_init (void) | 1401 | int __devinit rndis_init (void) |
1402 | { | 1402 | { |
1403 | u8 i; | 1403 | u8 i; |
1404 | 1404 | ||
diff --git a/drivers/usb/gadget/rndis.h b/drivers/usb/gadget/rndis.h index 2956608be751..4c3c7259f019 100644 --- a/drivers/usb/gadget/rndis.h +++ b/drivers/usb/gadget/rndis.h | |||
@@ -264,7 +264,7 @@ int rndis_signal_disconnect (int configNr); | |||
264 | int rndis_state (int configNr); | 264 | int rndis_state (int configNr); |
265 | extern void rndis_set_host_mac (int configNr, const u8 *addr); | 265 | extern void rndis_set_host_mac (int configNr, const u8 *addr); |
266 | 266 | ||
267 | int __init rndis_init (void); | 267 | int __devinit rndis_init (void); |
268 | void rndis_exit (void); | 268 | void rndis_exit (void); |
269 | 269 | ||
270 | #endif /* _LINUX_RNDIS_H */ | 270 | #endif /* _LINUX_RNDIS_H */ |
diff --git a/drivers/usb/gadget/serial.c b/drivers/usb/gadget/serial.c index 30d7664d449d..e762aa19ab0a 100644 --- a/drivers/usb/gadget/serial.c +++ b/drivers/usb/gadget/serial.c | |||
@@ -1473,7 +1473,7 @@ autoconf_fail: | |||
1473 | * Called on module unload. Frees the control request and device | 1473 | * Called on module unload. Frees the control request and device |
1474 | * structure. | 1474 | * structure. |
1475 | */ | 1475 | */ |
1476 | static void __exit gs_unbind(struct usb_gadget *gadget) | 1476 | static void /* __init_or_exit */ gs_unbind(struct usb_gadget *gadget) |
1477 | { | 1477 | { |
1478 | struct gs_dev *dev = get_gadget_data(gadget); | 1478 | struct gs_dev *dev = get_gadget_data(gadget); |
1479 | 1479 | ||
diff --git a/drivers/usb/gadget/zero.c b/drivers/usb/gadget/zero.c index 3a08a7ab4ce0..b7018ee487ea 100644 --- a/drivers/usb/gadget/zero.c +++ b/drivers/usb/gadget/zero.c | |||
@@ -1121,7 +1121,7 @@ zero_autoresume (unsigned long _dev) | |||
1121 | 1121 | ||
1122 | /*-------------------------------------------------------------------------*/ | 1122 | /*-------------------------------------------------------------------------*/ |
1123 | 1123 | ||
1124 | static void __exit | 1124 | static void /* __init_or_exit */ |
1125 | zero_unbind (struct usb_gadget *gadget) | 1125 | zero_unbind (struct usb_gadget *gadget) |
1126 | { | 1126 | { |
1127 | struct zero_dev *dev = get_gadget_data (gadget); | 1127 | struct zero_dev *dev = get_gadget_data (gadget); |
diff --git a/drivers/usb/host/ehci-au1xxx.c b/drivers/usb/host/ehci-au1xxx.c index d66867aa527e..26ed757d22a6 100644 --- a/drivers/usb/host/ehci-au1xxx.c +++ b/drivers/usb/host/ehci-au1xxx.c | |||
@@ -41,8 +41,6 @@ | |||
41 | #endif | 41 | #endif |
42 | #define USBH_DISABLE (USB_MCFG_EBMEN | USB_MCFG_EMEMEN) | 42 | #define USBH_DISABLE (USB_MCFG_EBMEN | USB_MCFG_EMEMEN) |
43 | 43 | ||
44 | #endif /* Au1200 */ | ||
45 | |||
46 | extern int usb_disabled(void); | 44 | extern int usb_disabled(void); |
47 | 45 | ||
48 | /*-------------------------------------------------------------------------*/ | 46 | /*-------------------------------------------------------------------------*/ |
@@ -107,9 +105,9 @@ int usb_ehci_au1xxx_probe(const struct hc_driver *driver, | |||
107 | 105 | ||
108 | /* Au1200 AB USB does not support coherent memory */ | 106 | /* Au1200 AB USB does not support coherent memory */ |
109 | if (!(read_c0_prid() & 0xff)) { | 107 | if (!(read_c0_prid() & 0xff)) { |
110 | pr_info("%s: this is chip revision AB!\n", dev->dev.name); | 108 | pr_info("%s: this is chip revision AB!\n", dev->name); |
111 | pr_info("%s: update your board or re-configure the kernel\n", | 109 | pr_info("%s: update your board or re-configure the kernel\n", |
112 | dev->dev.name); | 110 | dev->name); |
113 | return -ENODEV; | 111 | return -ENODEV; |
114 | } | 112 | } |
115 | #endif | 113 | #endif |
@@ -228,9 +226,8 @@ static const struct hc_driver ehci_au1xxx_hc_driver = { | |||
228 | 226 | ||
229 | /*-------------------------------------------------------------------------*/ | 227 | /*-------------------------------------------------------------------------*/ |
230 | 228 | ||
231 | static int ehci_hcd_au1xxx_drv_probe(struct device *dev) | 229 | static int ehci_hcd_au1xxx_drv_probe(struct platform_device *pdev) |
232 | { | 230 | { |
233 | struct platform_device *pdev = to_platform_device(dev); | ||
234 | struct usb_hcd *hcd = NULL; | 231 | struct usb_hcd *hcd = NULL; |
235 | int ret; | 232 | int ret; |
236 | 233 | ||
@@ -243,10 +240,9 @@ static int ehci_hcd_au1xxx_drv_probe(struct device *dev) | |||
243 | return ret; | 240 | return ret; |
244 | } | 241 | } |
245 | 242 | ||
246 | static int ehci_hcd_au1xxx_drv_remove(struct device *dev) | 243 | static int ehci_hcd_au1xxx_drv_remove(struct platform_device *pdev) |
247 | { | 244 | { |
248 | struct platform_device *pdev = to_platform_device(dev); | 245 | struct usb_hcd *hcd = platform_get_drvdata(pdev); |
249 | struct usb_hcd *hcd = dev_get_drvdata(dev); | ||
250 | 246 | ||
251 | usb_ehci_au1xxx_remove(hcd, pdev); | 247 | usb_ehci_au1xxx_remove(hcd, pdev); |
252 | return 0; | 248 | return 0; |
@@ -269,12 +265,13 @@ static int ehci_hcd_au1xxx_drv_resume(struct device *dev) | |||
269 | } | 265 | } |
270 | */ | 266 | */ |
271 | MODULE_ALIAS("au1xxx-ehci"); | 267 | MODULE_ALIAS("au1xxx-ehci"); |
272 | /* FIXME use "struct platform_driver" */ | 268 | static struct platform_driver ehci_hcd_au1xxx_driver = { |
273 | static struct device_driver ehci_hcd_au1xxx_driver = { | ||
274 | .name = "au1xxx-ehci", | ||
275 | .bus = &platform_bus_type, | ||
276 | .probe = ehci_hcd_au1xxx_drv_probe, | 269 | .probe = ehci_hcd_au1xxx_drv_probe, |
277 | .remove = ehci_hcd_au1xxx_drv_remove, | 270 | .remove = ehci_hcd_au1xxx_drv_remove, |
278 | /*.suspend = ehci_hcd_au1xxx_drv_suspend, */ | 271 | /*.suspend = ehci_hcd_au1xxx_drv_suspend, */ |
279 | /*.resume = ehci_hcd_au1xxx_drv_resume, */ | 272 | /*.resume = ehci_hcd_au1xxx_drv_resume, */ |
273 | .driver = { | ||
274 | .name = "au1xxx-ehci", | ||
275 | .bus = &platform_bus_type | ||
276 | } | ||
280 | }; | 277 | }; |
diff --git a/drivers/usb/host/ehci-hcd.c b/drivers/usb/host/ehci-hcd.c index cee6f538de0a..85b0b4ad4c16 100644 --- a/drivers/usb/host/ehci-hcd.c +++ b/drivers/usb/host/ehci-hcd.c | |||
@@ -625,10 +625,11 @@ static irqreturn_t ehci_irq (struct usb_hcd *hcd, struct pt_regs *regs) | |||
625 | writel (status | CMD_RUN, &ehci->regs->command); | 625 | writel (status | CMD_RUN, &ehci->regs->command); |
626 | 626 | ||
627 | while (i--) { | 627 | while (i--) { |
628 | status = readl (&ehci->regs->port_status [i]); | 628 | int pstatus = readl (&ehci->regs->port_status [i]); |
629 | if (status & PORT_OWNER) | 629 | |
630 | if (pstatus & PORT_OWNER) | ||
630 | continue; | 631 | continue; |
631 | if (!(status & PORT_RESUME) | 632 | if (!(pstatus & PORT_RESUME) |
632 | || ehci->reset_done [i] != 0) | 633 | || ehci->reset_done [i] != 0) |
633 | continue; | 634 | continue; |
634 | 635 | ||
diff --git a/drivers/usb/host/ohci-au1xxx.c b/drivers/usb/host/ohci-au1xxx.c index 689261e44018..822914e2f43b 100644 --- a/drivers/usb/host/ohci-au1xxx.c +++ b/drivers/usb/host/ohci-au1xxx.c | |||
@@ -101,13 +101,16 @@ static void au1xxx_start_ohc(struct platform_device *dev) | |||
101 | 101 | ||
102 | #endif /* Au1200 */ | 102 | #endif /* Au1200 */ |
103 | 103 | ||
104 | #ifndef CONFIG_SOC_AU1200 | ||
104 | /* wait for reset complete (read register twice; see au1500 errata) */ | 105 | /* wait for reset complete (read register twice; see au1500 errata) */ |
105 | while (au_readl(USB_HOST_CONFIG), | 106 | while (au_readl(USB_HOST_CONFIG), |
106 | !(au_readl(USB_HOST_CONFIG) & USBH_ENABLE_RD)) | 107 | !(au_readl(USB_HOST_CONFIG) & USBH_ENABLE_RD)) |
108 | #endif | ||
107 | udelay(1000); | 109 | udelay(1000); |
108 | 110 | ||
109 | printk(KERN_DEBUG __FILE__ | 111 | printk(KERN_DEBUG __FILE__ |
110 | ": Clock to USB host has been enabled \n"); | 112 | ": Clock to USB host has been enabled \n"); |
113 | #endif | ||
111 | } | 114 | } |
112 | 115 | ||
113 | static void au1xxx_stop_ohc(struct platform_device *dev) | 116 | static void au1xxx_stop_ohc(struct platform_device *dev) |
@@ -157,9 +160,9 @@ static int usb_ohci_au1xxx_probe(const struct hc_driver *driver, | |||
157 | /* Au1200 AB USB does not support coherent memory */ | 160 | /* Au1200 AB USB does not support coherent memory */ |
158 | if (!(read_c0_prid() & 0xff)) { | 161 | if (!(read_c0_prid() & 0xff)) { |
159 | pr_info("%s: this is chip revision AB !!\n", | 162 | pr_info("%s: this is chip revision AB !!\n", |
160 | dev->dev.name); | 163 | dev->name); |
161 | pr_info("%s: update your board or re-configure the kernel\n", | 164 | pr_info("%s: update your board or re-configure the kernel\n", |
162 | dev->dev.name); | 165 | dev->name); |
163 | return -ENODEV; | 166 | return -ENODEV; |
164 | } | 167 | } |
165 | #endif | 168 | #endif |
diff --git a/drivers/usb/host/ohci-ep93xx.c b/drivers/usb/host/ohci-ep93xx.c new file mode 100644 index 000000000000..6531c4d26527 --- /dev/null +++ b/drivers/usb/host/ohci-ep93xx.c | |||
@@ -0,0 +1,225 @@ | |||
1 | /* | ||
2 | * OHCI HCD (Host Controller Driver) for USB. | ||
3 | * | ||
4 | * (C) Copyright 1999 Roman Weissgaerber <weissg@vienna.at> | ||
5 | * (C) Copyright 2000-2002 David Brownell <dbrownell@users.sourceforge.net> | ||
6 | * (C) Copyright 2002 Hewlett-Packard Company | ||
7 | * | ||
8 | * Bus Glue for ep93xx. | ||
9 | * | ||
10 | * Written by Christopher Hoover <ch@hpl.hp.com> | ||
11 | * Based on fragments of previous driver by Russell King et al. | ||
12 | * | ||
13 | * Modified for LH7A404 from ohci-sa1111.c | ||
14 | * by Durgesh Pattamatta <pattamattad@sharpsec.com> | ||
15 | * | ||
16 | * Modified for pxa27x from ohci-lh7a404.c | ||
17 | * by Nick Bane <nick@cecomputing.co.uk> 26-8-2004 | ||
18 | * | ||
19 | * Modified for ep93xx from ohci-pxa27x.c | ||
20 | * by Lennert Buytenhek <buytenh@wantstofly.org> 28-2-2006 | ||
21 | * Based on an earlier driver by Ray Lehtiniemi | ||
22 | * | ||
23 | * This file is licenced under the GPL. | ||
24 | */ | ||
25 | |||
26 | #include <linux/clk.h> | ||
27 | #include <linux/device.h> | ||
28 | #include <linux/signal.h> | ||
29 | #include <linux/platform_device.h> | ||
30 | |||
31 | #include <asm/mach-types.h> | ||
32 | #include <asm/hardware.h> | ||
33 | |||
34 | static struct clk *usb_host_clock; | ||
35 | |||
36 | static void ep93xx_start_hc(struct device *dev) | ||
37 | { | ||
38 | clk_enable(usb_host_clock); | ||
39 | } | ||
40 | |||
41 | static void ep93xx_stop_hc(struct device *dev) | ||
42 | { | ||
43 | clk_disable(usb_host_clock); | ||
44 | } | ||
45 | |||
46 | static int usb_hcd_ep93xx_probe(const struct hc_driver *driver, | ||
47 | struct platform_device *pdev) | ||
48 | { | ||
49 | int retval; | ||
50 | struct usb_hcd *hcd; | ||
51 | |||
52 | if (pdev->resource[1].flags != IORESOURCE_IRQ) { | ||
53 | pr_debug("resource[1] is not IORESOURCE_IRQ"); | ||
54 | return -ENOMEM; | ||
55 | } | ||
56 | |||
57 | hcd = usb_create_hcd(driver, &pdev->dev, "ep93xx"); | ||
58 | if (hcd == NULL) | ||
59 | return -ENOMEM; | ||
60 | |||
61 | hcd->rsrc_start = pdev->resource[0].start; | ||
62 | hcd->rsrc_len = pdev->resource[0].end - pdev->resource[0].start + 1; | ||
63 | if (!request_mem_region(hcd->rsrc_start, hcd->rsrc_len, hcd_name)) { | ||
64 | usb_put_hcd(hcd); | ||
65 | retval = -EBUSY; | ||
66 | goto err1; | ||
67 | } | ||
68 | |||
69 | hcd->regs = ioremap(hcd->rsrc_start, hcd->rsrc_len); | ||
70 | if (hcd->regs == NULL) { | ||
71 | pr_debug("ioremap failed"); | ||
72 | retval = -ENOMEM; | ||
73 | goto err2; | ||
74 | } | ||
75 | |||
76 | usb_host_clock = clk_get(&pdev->dev, "usb_host"); | ||
77 | ep93xx_start_hc(&pdev->dev); | ||
78 | |||
79 | ohci_hcd_init(hcd_to_ohci(hcd)); | ||
80 | |||
81 | retval = usb_add_hcd(hcd, pdev->resource[1].start, SA_INTERRUPT); | ||
82 | if (retval == 0) | ||
83 | return retval; | ||
84 | |||
85 | ep93xx_stop_hc(&pdev->dev); | ||
86 | iounmap(hcd->regs); | ||
87 | err2: | ||
88 | release_mem_region(hcd->rsrc_start, hcd->rsrc_len); | ||
89 | err1: | ||
90 | usb_put_hcd(hcd); | ||
91 | |||
92 | return retval; | ||
93 | } | ||
94 | |||
95 | static void usb_hcd_ep93xx_remove(struct usb_hcd *hcd, | ||
96 | struct platform_device *pdev) | ||
97 | { | ||
98 | usb_remove_hcd(hcd); | ||
99 | ep93xx_stop_hc(&pdev->dev); | ||
100 | clk_put(usb_host_clock); | ||
101 | iounmap(hcd->regs); | ||
102 | release_mem_region(hcd->rsrc_start, hcd->rsrc_len); | ||
103 | usb_put_hcd(hcd); | ||
104 | } | ||
105 | |||
106 | static int __devinit ohci_ep93xx_start(struct usb_hcd *hcd) | ||
107 | { | ||
108 | struct ohci_hcd *ohci = hcd_to_ohci(hcd); | ||
109 | int ret; | ||
110 | |||
111 | if ((ret = ohci_init(ohci)) < 0) | ||
112 | return ret; | ||
113 | |||
114 | if ((ret = ohci_run(ohci)) < 0) { | ||
115 | err("can't start %s", hcd->self.bus_name); | ||
116 | ohci_stop(hcd); | ||
117 | return ret; | ||
118 | } | ||
119 | |||
120 | return 0; | ||
121 | } | ||
122 | |||
123 | static struct hc_driver ohci_ep93xx_hc_driver = { | ||
124 | .description = hcd_name, | ||
125 | .product_desc = "EP93xx OHCI", | ||
126 | .hcd_priv_size = sizeof(struct ohci_hcd), | ||
127 | .irq = ohci_irq, | ||
128 | .flags = HCD_USB11 | HCD_MEMORY, | ||
129 | .start = ohci_ep93xx_start, | ||
130 | .stop = ohci_stop, | ||
131 | .urb_enqueue = ohci_urb_enqueue, | ||
132 | .urb_dequeue = ohci_urb_dequeue, | ||
133 | .endpoint_disable = ohci_endpoint_disable, | ||
134 | .get_frame_number = ohci_get_frame, | ||
135 | .hub_status_data = ohci_hub_status_data, | ||
136 | .hub_control = ohci_hub_control, | ||
137 | #ifdef CONFIG_PM | ||
138 | .bus_suspend = ohci_bus_suspend, | ||
139 | .bus_resume = ohci_bus_resume, | ||
140 | #endif | ||
141 | .start_port_reset = ohci_start_port_reset, | ||
142 | }; | ||
143 | |||
144 | extern int usb_disabled(void); | ||
145 | |||
146 | static int ohci_hcd_ep93xx_drv_probe(struct platform_device *pdev) | ||
147 | { | ||
148 | int ret; | ||
149 | |||
150 | ret = -ENODEV; | ||
151 | if (!usb_disabled()) | ||
152 | ret = usb_hcd_ep93xx_probe(&ohci_ep93xx_hc_driver, pdev); | ||
153 | |||
154 | return ret; | ||
155 | } | ||
156 | |||
157 | static int ohci_hcd_ep93xx_drv_remove(struct platform_device *pdev) | ||
158 | { | ||
159 | struct usb_hcd *hcd = platform_get_drvdata(pdev); | ||
160 | |||
161 | usb_hcd_ep93xx_remove(hcd, pdev); | ||
162 | |||
163 | return 0; | ||
164 | } | ||
165 | |||
166 | #ifdef CONFIG_PM | ||
167 | static int ohci_hcd_ep93xx_drv_suspend(struct platform_device *pdev, pm_message_t state) | ||
168 | { | ||
169 | struct usb_hcd *hcd = platform_get_drvdata(pdev); | ||
170 | struct ochi_hcd *ohci = hcd_to_ohci(hcd); | ||
171 | |||
172 | if (time_before(jiffies, ohci->next_statechange)) | ||
173 | msleep(5); | ||
174 | ohci->next_statechange = jiffies; | ||
175 | |||
176 | ep93xx_stop_hc(&pdev->dev); | ||
177 | hcd->state = HC_STATE_SUSPENDED; | ||
178 | pdev->dev.power.power_state = PMSG_SUSPEND; | ||
179 | |||
180 | return 0; | ||
181 | } | ||
182 | |||
183 | static int ohci_hcd_ep93xx_drv_resume(struct platform_device *pdev) | ||
184 | { | ||
185 | struct usb_hcd *hcd = platform_get_drvdata(pdev); | ||
186 | struct ohci_hcd *ohci = hcd_to_ohci(hcd); | ||
187 | int status; | ||
188 | |||
189 | if (time_before(jiffies, ohci->next_statechange)) | ||
190 | msleep(5); | ||
191 | ohci->next_statechange = jiffies; | ||
192 | |||
193 | ep93xx_start_hc(&pdev->dev); | ||
194 | pdev->dev.power.power_state = PMSG_ON; | ||
195 | usb_hcd_resume_root_hub(hcd); | ||
196 | |||
197 | return 0; | ||
198 | } | ||
199 | #endif | ||
200 | |||
201 | |||
202 | static struct platform_driver ohci_hcd_ep93xx_driver = { | ||
203 | .probe = ohci_hcd_ep93xx_drv_probe, | ||
204 | .remove = ohci_hcd_ep93xx_drv_remove, | ||
205 | #ifdef CONFIG_PM | ||
206 | .suspend = ohci_hcd_ep93xx_drv_suspend, | ||
207 | .resume = ohci_hcd_ep93xx_drv_resume, | ||
208 | #endif | ||
209 | .driver = { | ||
210 | .name = "ep93xx-ohci", | ||
211 | }, | ||
212 | }; | ||
213 | |||
214 | static int __init ohci_hcd_ep93xx_init(void) | ||
215 | { | ||
216 | return platform_driver_register(&ohci_hcd_ep93xx_driver); | ||
217 | } | ||
218 | |||
219 | static void __exit ohci_hcd_ep93xx_cleanup(void) | ||
220 | { | ||
221 | platform_driver_unregister(&ohci_hcd_ep93xx_driver); | ||
222 | } | ||
223 | |||
224 | module_init(ohci_hcd_ep93xx_init); | ||
225 | module_exit(ohci_hcd_ep93xx_cleanup); | ||
diff --git a/drivers/usb/host/ohci-hcd.c b/drivers/usb/host/ohci-hcd.c index 8fb842ed5f6e..afef5ac35b4a 100644 --- a/drivers/usb/host/ohci-hcd.c +++ b/drivers/usb/host/ohci-hcd.c | |||
@@ -901,6 +901,10 @@ MODULE_LICENSE ("GPL"); | |||
901 | #include "ohci-pxa27x.c" | 901 | #include "ohci-pxa27x.c" |
902 | #endif | 902 | #endif |
903 | 903 | ||
904 | #ifdef CONFIG_ARCH_EP93XX | ||
905 | #include "ohci-ep93xx.c" | ||
906 | #endif | ||
907 | |||
904 | #ifdef CONFIG_SOC_AU1X00 | 908 | #ifdef CONFIG_SOC_AU1X00 |
905 | #include "ohci-au1xxx.c" | 909 | #include "ohci-au1xxx.c" |
906 | #endif | 910 | #endif |
@@ -919,6 +923,7 @@ MODULE_LICENSE ("GPL"); | |||
919 | || defined(CONFIG_ARCH_OMAP) \ | 923 | || defined(CONFIG_ARCH_OMAP) \ |
920 | || defined (CONFIG_ARCH_LH7A404) \ | 924 | || defined (CONFIG_ARCH_LH7A404) \ |
921 | || defined (CONFIG_PXA27x) \ | 925 | || defined (CONFIG_PXA27x) \ |
926 | || defined (CONFIG_ARCH_EP93XX) \ | ||
922 | || defined (CONFIG_SOC_AU1X00) \ | 927 | || defined (CONFIG_SOC_AU1X00) \ |
923 | || defined (CONFIG_USB_OHCI_HCD_PPC_SOC) \ | 928 | || defined (CONFIG_USB_OHCI_HCD_PPC_SOC) \ |
924 | || defined (CONFIG_ARCH_AT91RM9200) \ | 929 | || defined (CONFIG_ARCH_AT91RM9200) \ |
diff --git a/drivers/usb/host/ohci-hub.c b/drivers/usb/host/ohci-hub.c index 0bb972b58336..5b0a23fd798b 100644 --- a/drivers/usb/host/ohci-hub.c +++ b/drivers/usb/host/ohci-hub.c | |||
@@ -581,14 +581,14 @@ static int ohci_hub_control ( | |||
581 | break; | 581 | break; |
582 | case GetHubStatus: | 582 | case GetHubStatus: |
583 | temp = roothub_status (ohci) & ~(RH_HS_CRWE | RH_HS_DRWE); | 583 | temp = roothub_status (ohci) & ~(RH_HS_CRWE | RH_HS_DRWE); |
584 | *(__le32 *) buf = cpu_to_le32 (temp); | 584 | put_unaligned(cpu_to_le32 (temp), (__le32 *) buf); |
585 | break; | 585 | break; |
586 | case GetPortStatus: | 586 | case GetPortStatus: |
587 | if (!wIndex || wIndex > ports) | 587 | if (!wIndex || wIndex > ports) |
588 | goto error; | 588 | goto error; |
589 | wIndex--; | 589 | wIndex--; |
590 | temp = roothub_portstatus (ohci, wIndex); | 590 | temp = roothub_portstatus (ohci, wIndex); |
591 | *(__le32 *) buf = cpu_to_le32 (temp); | 591 | put_unaligned(cpu_to_le32 (temp), (__le32 *) buf); |
592 | 592 | ||
593 | #ifndef OHCI_VERBOSE_DEBUG | 593 | #ifndef OHCI_VERBOSE_DEBUG |
594 | if (*(u16*)(buf+2)) /* only if wPortChange is interesting */ | 594 | if (*(u16*)(buf+2)) /* only if wPortChange is interesting */ |
diff --git a/drivers/usb/host/pci-quirks.c b/drivers/usb/host/pci-quirks.c index dff60568b4a1..20861650905e 100644 --- a/drivers/usb/host/pci-quirks.c +++ b/drivers/usb/host/pci-quirks.c | |||
@@ -167,8 +167,6 @@ static int __devinit mmio_resource_enabled(struct pci_dev *pdev, int idx) | |||
167 | static void __devinit quirk_usb_handoff_ohci(struct pci_dev *pdev) | 167 | static void __devinit quirk_usb_handoff_ohci(struct pci_dev *pdev) |
168 | { | 168 | { |
169 | void __iomem *base; | 169 | void __iomem *base; |
170 | int wait_time; | ||
171 | u32 control; | ||
172 | 170 | ||
173 | if (!mmio_resource_enabled(pdev, 0)) | 171 | if (!mmio_resource_enabled(pdev, 0)) |
174 | return; | 172 | return; |
@@ -179,9 +177,10 @@ static void __devinit quirk_usb_handoff_ohci(struct pci_dev *pdev) | |||
179 | 177 | ||
180 | /* On PA-RISC, PDC can leave IR set incorrectly; ignore it there. */ | 178 | /* On PA-RISC, PDC can leave IR set incorrectly; ignore it there. */ |
181 | #ifndef __hppa__ | 179 | #ifndef __hppa__ |
182 | control = readl(base + OHCI_CONTROL); | 180 | { |
181 | u32 control = readl(base + OHCI_CONTROL); | ||
183 | if (control & OHCI_CTRL_IR) { | 182 | if (control & OHCI_CTRL_IR) { |
184 | wait_time = 500; /* arbitrary; 5 seconds */ | 183 | int wait_time = 500; /* arbitrary; 5 seconds */ |
185 | writel(OHCI_INTR_OC, base + OHCI_INTRENABLE); | 184 | writel(OHCI_INTR_OC, base + OHCI_INTRENABLE); |
186 | writel(OHCI_OCR, base + OHCI_CMDSTATUS); | 185 | writel(OHCI_OCR, base + OHCI_CMDSTATUS); |
187 | while (wait_time > 0 && | 186 | while (wait_time > 0 && |
@@ -198,6 +197,7 @@ static void __devinit quirk_usb_handoff_ohci(struct pci_dev *pdev) | |||
198 | /* reset controller, preserving RWC */ | 197 | /* reset controller, preserving RWC */ |
199 | writel(control & OHCI_CTRL_RWC, base + OHCI_CONTROL); | 198 | writel(control & OHCI_CTRL_RWC, base + OHCI_CONTROL); |
200 | } | 199 | } |
200 | } | ||
201 | #endif | 201 | #endif |
202 | 202 | ||
203 | /* | 203 | /* |
diff --git a/drivers/usb/input/hid-core.c b/drivers/usb/input/hid-core.c index b9fb9687f926..8ea9c915fbf9 100644 --- a/drivers/usb/input/hid-core.c +++ b/drivers/usb/input/hid-core.c | |||
@@ -1507,6 +1507,9 @@ void hid_init_reports(struct hid_device *hid) | |||
1507 | #define USB_DEVICE_ID_4_PHIDGETSERVO_20 0x8104 | 1507 | #define USB_DEVICE_ID_4_PHIDGETSERVO_20 0x8104 |
1508 | #define USB_DEVICE_ID_DUAL_USB_JOYPAD 0x8866 | 1508 | #define USB_DEVICE_ID_DUAL_USB_JOYPAD 0x8866 |
1509 | 1509 | ||
1510 | #define USB_VENDOR_ID_WISEGROUP_LTD 0x6677 | ||
1511 | #define USB_DEVICE_ID_SMARTJOY_DUAL_PLUS 0x8802 | ||
1512 | |||
1510 | #define USB_VENDOR_ID_CODEMERCS 0x07c0 | 1513 | #define USB_VENDOR_ID_CODEMERCS 0x07c0 |
1511 | #define USB_DEVICE_ID_CODEMERCS_IOW40 0x1500 | 1514 | #define USB_DEVICE_ID_CODEMERCS_IOW40 0x1500 |
1512 | #define USB_DEVICE_ID_CODEMERCS_IOW24 0x1501 | 1515 | #define USB_DEVICE_ID_CODEMERCS_IOW24 0x1501 |
@@ -1670,6 +1673,7 @@ static const struct hid_blacklist { | |||
1670 | { USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_4PORTKVM, HID_QUIRK_NOGET }, | 1673 | { USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_4PORTKVM, HID_QUIRK_NOGET }, |
1671 | { USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_4PORTKVMC, HID_QUIRK_NOGET }, | 1674 | { USB_VENDOR_ID_ATEN, USB_DEVICE_ID_ATEN_4PORTKVMC, HID_QUIRK_NOGET }, |
1672 | { USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_DUAL_USB_JOYPAD, HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT }, | 1675 | { USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_DUAL_USB_JOYPAD, HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT }, |
1676 | { USB_VENDOR_ID_WISEGROUP_LTD, USB_DEVICE_ID_SMARTJOY_DUAL_PLUS, HID_QUIRK_NOGET | HID_QUIRK_MULTI_INPUT }, | ||
1673 | 1677 | ||
1674 | { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_MIGHTYMOUSE, HID_QUIRK_MIGHTYMOUSE | HID_QUIRK_INVERT_HWHEEL }, | 1678 | { USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_MIGHTYMOUSE, HID_QUIRK_MIGHTYMOUSE | HID_QUIRK_INVERT_HWHEEL }, |
1675 | { USB_VENDOR_ID_A4TECH, USB_DEVICE_ID_A4TECH_WCP32PU, HID_QUIRK_2WHEEL_MOUSE_HACK_7 }, | 1679 | { USB_VENDOR_ID_A4TECH, USB_DEVICE_ID_A4TECH_WCP32PU, HID_QUIRK_2WHEEL_MOUSE_HACK_7 }, |
diff --git a/drivers/usb/misc/Kconfig b/drivers/usb/misc/Kconfig index daa486dde8cf..88928a4be805 100644 --- a/drivers/usb/misc/Kconfig +++ b/drivers/usb/misc/Kconfig | |||
@@ -88,19 +88,19 @@ config USB_LED | |||
88 | To compile this driver as a module, choose M here: the | 88 | To compile this driver as a module, choose M here: the |
89 | module will be called usbled. | 89 | module will be called usbled. |
90 | 90 | ||
91 | config USB_CY7C63 | 91 | config USB_CYPRESS_CY7C63 |
92 | tristate "Cypress CY7C63xxx USB driver support" | 92 | tristate "Cypress CY7C63xxx USB driver support" |
93 | depends on USB | 93 | depends on USB |
94 | help | 94 | help |
95 | Say Y here if you want to connect a Cypress CY7C63xxx | 95 | Say Y here if you want to connect a Cypress CY7C63xxx |
96 | micro controller to your computer's USB port. This driver | 96 | micro controller to your computer's USB port. Currently this |
97 | supports the pre-programmed devices (incl. firmware) by | 97 | driver supports the pre-programmed devices (incl. firmware) |
98 | AK Modul-Bus Computer GmbH. | 98 | by AK Modul-Bus Computer GmbH. |
99 | 99 | ||
100 | Please see: http://www.ak-modul-bus.de/stat/mikrocontroller.html | 100 | Please see: http://www.ak-modul-bus.de/stat/mikrocontroller.html |
101 | 101 | ||
102 | To compile this driver as a module, choose M here: the | 102 | To compile this driver as a module, choose M here: the |
103 | module will be called cy7c63. | 103 | module will be called cypress_cy7c63. |
104 | 104 | ||
105 | config USB_CYTHERM | 105 | config USB_CYTHERM |
106 | tristate "Cypress USB thermometer driver support" | 106 | tristate "Cypress USB thermometer driver support" |
diff --git a/drivers/usb/misc/Makefile b/drivers/usb/misc/Makefile index f25a97227297..2927260c5812 100644 --- a/drivers/usb/misc/Makefile +++ b/drivers/usb/misc/Makefile | |||
@@ -4,7 +4,7 @@ | |||
4 | # | 4 | # |
5 | 5 | ||
6 | obj-$(CONFIG_USB_AUERSWALD) += auerswald.o | 6 | obj-$(CONFIG_USB_AUERSWALD) += auerswald.o |
7 | obj-$(CONFIG_USB_CY7C63) += cy7c63.o | 7 | obj-$(CONFIG_USB_CYPRESS_CY7C63)+= cypress_cy7c63.o |
8 | obj-$(CONFIG_USB_CYTHERM) += cytherm.o | 8 | obj-$(CONFIG_USB_CYTHERM) += cytherm.o |
9 | obj-$(CONFIG_USB_EMI26) += emi26.o | 9 | obj-$(CONFIG_USB_EMI26) += emi26.o |
10 | obj-$(CONFIG_USB_EMI62) += emi62.o | 10 | obj-$(CONFIG_USB_EMI62) += emi62.o |
diff --git a/drivers/usb/misc/cy7c63.c b/drivers/usb/misc/cy7c63.c deleted file mode 100644 index 8a1c10b89b76..000000000000 --- a/drivers/usb/misc/cy7c63.c +++ /dev/null | |||
@@ -1,244 +0,0 @@ | |||
1 | /* | ||
2 | * cy7c63.c | ||
3 | * | ||
4 | * Copyright (c) 2006 Oliver Bock (bock@fh-wolfenbuettel.de) | ||
5 | * | ||
6 | * This driver is based on the Cypress Thermometer USB Driver by | ||
7 | * Marcus Maul and the 2.0 version of Greg Kroah-Hartman's | ||
8 | * USB Skeleton driver. | ||
9 | * | ||
10 | * Is is a generic driver for the Cypress CY7C63000 family. | ||
11 | * For the time being it enables you to toggle the single I/O ports | ||
12 | * of the device. | ||
13 | * | ||
14 | * Supported vendors: AK Modul-Bus Computer GmbH | ||
15 | * Supported devices: CY7C63001A-PC (to be continued...) | ||
16 | * Supported functions: Read/Write Ports (to be continued...) | ||
17 | * | ||
18 | * Chipsets families: CY7C63000, CY7C63001, CY7C63100, CY7C63101 | ||
19 | * | ||
20 | * | ||
21 | * This program is free software; you can redistribute it and/or | ||
22 | * modify it under the terms of the GNU General Public License as | ||
23 | * published by the Free Software Foundation, version 2. | ||
24 | */ | ||
25 | |||
26 | #include <linux/init.h> | ||
27 | #include <linux/module.h> | ||
28 | #include <linux/kernel.h> | ||
29 | #include <linux/usb.h> | ||
30 | |||
31 | #define DRIVER_AUTHOR "Oliver Bock (bock@fh-wolfenbuettel.de)" | ||
32 | #define DRIVER_DESC "Cypress CY7C63xxx USB driver" | ||
33 | |||
34 | #define CY7C63_VENDOR_ID 0xa2c | ||
35 | #define CY7C63_PRODUCT_ID 0x8 | ||
36 | |||
37 | #define CY7C63_READ_PORT 0x4 | ||
38 | #define CY7C63_WRITE_PORT 0x5 | ||
39 | #define CY7C63_READ_RAM 0x2 | ||
40 | #define CY7C63_WRITE_RAM 0x3 | ||
41 | #define CY7C63_READ_ROM 0x1 | ||
42 | |||
43 | #define CY7C63_READ_PORT_ID0 0 | ||
44 | #define CY7C63_WRITE_PORT_ID0 0 | ||
45 | #define CY7C63_READ_PORT_ID1 0x2 | ||
46 | #define CY7C63_WRITE_PORT_ID1 1 | ||
47 | |||
48 | #define CY7C63_MAX_REQSIZE 8 | ||
49 | |||
50 | |||
51 | /* table of devices that work with this driver */ | ||
52 | static struct usb_device_id cy7c63_table [] = { | ||
53 | { USB_DEVICE(CY7C63_VENDOR_ID, CY7C63_PRODUCT_ID) }, | ||
54 | { } | ||
55 | }; | ||
56 | MODULE_DEVICE_TABLE(usb, cy7c63_table); | ||
57 | |||
58 | /* structure to hold all of our device specific stuff */ | ||
59 | struct cy7c63 { | ||
60 | struct usb_device * udev; | ||
61 | char port0; | ||
62 | char port1; | ||
63 | }; | ||
64 | |||
65 | /* used to send usb control messages to device */ | ||
66 | int vendor_command(struct cy7c63 *dev, unsigned char request, | ||
67 | unsigned char address, unsigned char data) { | ||
68 | |||
69 | int retval = 0; | ||
70 | unsigned int pipe; | ||
71 | unsigned char *iobuf; | ||
72 | |||
73 | /* allocate some memory for the i/o buffer*/ | ||
74 | iobuf = kzalloc(CY7C63_MAX_REQSIZE, GFP_KERNEL); | ||
75 | if (!iobuf) { | ||
76 | dev_err(&dev->udev->dev, "Out of memory!\n"); | ||
77 | retval = -ENOMEM; | ||
78 | goto error; | ||
79 | } | ||
80 | |||
81 | dev_dbg(&dev->udev->dev, "Sending usb_control_msg (data: %d)\n", data); | ||
82 | |||
83 | /* prepare usb control message and send it upstream */ | ||
84 | pipe = usb_rcvctrlpipe(dev->udev, 0); | ||
85 | retval = usb_control_msg(dev->udev, pipe, request, | ||
86 | USB_DIR_IN | USB_TYPE_VENDOR | USB_RECIP_OTHER, | ||
87 | address, data, iobuf, CY7C63_MAX_REQSIZE, | ||
88 | USB_CTRL_GET_TIMEOUT); | ||
89 | |||
90 | /* store returned data (more READs to be added!) */ | ||
91 | switch (request) { | ||
92 | case CY7C63_READ_PORT: | ||
93 | if (address == CY7C63_READ_PORT_ID0) { | ||
94 | dev->port0 = iobuf[1]; | ||
95 | dev_dbg(&dev->udev->dev, | ||
96 | "READ_PORT0 returned: %d\n",dev->port0); | ||
97 | } | ||
98 | else if (address == CY7C63_READ_PORT_ID1) { | ||
99 | dev->port1 = iobuf[1]; | ||
100 | dev_dbg(&dev->udev->dev, | ||
101 | "READ_PORT1 returned: %d\n",dev->port1); | ||
102 | } | ||
103 | break; | ||
104 | } | ||
105 | |||
106 | kfree(iobuf); | ||
107 | error: | ||
108 | return retval; | ||
109 | } | ||
110 | |||
111 | #define get_set_port(num,read_id,write_id) \ | ||
112 | static ssize_t set_port##num(struct device *dev, struct device_attribute *attr, \ | ||
113 | const char *buf, size_t count) { \ | ||
114 | \ | ||
115 | int value; \ | ||
116 | int result = 0; \ | ||
117 | \ | ||
118 | struct usb_interface *intf = to_usb_interface(dev); \ | ||
119 | struct cy7c63 *cyp = usb_get_intfdata(intf); \ | ||
120 | \ | ||
121 | dev_dbg(&cyp->udev->dev, "WRITE_PORT%d called\n", num); \ | ||
122 | \ | ||
123 | /* validate input data */ \ | ||
124 | if (sscanf(buf, "%d", &value) < 1) { \ | ||
125 | result = -EINVAL; \ | ||
126 | goto error; \ | ||
127 | } \ | ||
128 | if (value>255 || value<0) { \ | ||
129 | result = -EINVAL; \ | ||
130 | goto error; \ | ||
131 | } \ | ||
132 | \ | ||
133 | result = vendor_command(cyp, CY7C63_WRITE_PORT, write_id, \ | ||
134 | (unsigned char)value); \ | ||
135 | \ | ||
136 | dev_dbg(&cyp->udev->dev, "Result of vendor_command: %d\n\n",result); \ | ||
137 | error: \ | ||
138 | return result < 0 ? result : count; \ | ||
139 | } \ | ||
140 | \ | ||
141 | static ssize_t get_port##num(struct device *dev, \ | ||
142 | struct device_attribute *attr, char *buf) { \ | ||
143 | \ | ||
144 | int result = 0; \ | ||
145 | \ | ||
146 | struct usb_interface *intf = to_usb_interface(dev); \ | ||
147 | struct cy7c63 *cyp = usb_get_intfdata(intf); \ | ||
148 | \ | ||
149 | dev_dbg(&cyp->udev->dev, "READ_PORT%d called\n", num); \ | ||
150 | \ | ||
151 | result = vendor_command(cyp, CY7C63_READ_PORT, read_id, 0); \ | ||
152 | \ | ||
153 | dev_dbg(&cyp->udev->dev, "Result of vendor_command: %d\n\n", result); \ | ||
154 | \ | ||
155 | return sprintf(buf, "%d", cyp->port##num); \ | ||
156 | } \ | ||
157 | static DEVICE_ATTR(port##num, S_IWUGO | S_IRUGO, get_port##num, set_port##num); | ||
158 | |||
159 | get_set_port(0, CY7C63_READ_PORT_ID0, CY7C63_WRITE_PORT_ID0); | ||
160 | get_set_port(1, CY7C63_READ_PORT_ID1, CY7C63_WRITE_PORT_ID1); | ||
161 | |||
162 | static int cy7c63_probe(struct usb_interface *interface, | ||
163 | const struct usb_device_id *id) { | ||
164 | |||
165 | struct cy7c63 *dev = NULL; | ||
166 | int retval = -ENOMEM; | ||
167 | |||
168 | /* allocate memory for our device state and initialize it */ | ||
169 | dev = kzalloc(sizeof(*dev), GFP_KERNEL); | ||
170 | if (dev == NULL) { | ||
171 | dev_err(&dev->udev->dev, "Out of memory!\n"); | ||
172 | goto error; | ||
173 | } | ||
174 | |||
175 | dev->udev = usb_get_dev(interface_to_usbdev(interface)); | ||
176 | |||
177 | /* save our data pointer in this interface device */ | ||
178 | usb_set_intfdata(interface, dev); | ||
179 | |||
180 | /* create device attribute files */ | ||
181 | device_create_file(&interface->dev, &dev_attr_port0); | ||
182 | device_create_file(&interface->dev, &dev_attr_port1); | ||
183 | |||
184 | /* let the user know what node this device is now attached to */ | ||
185 | dev_info(&interface->dev, | ||
186 | "Cypress CY7C63xxx device now attached\n"); | ||
187 | |||
188 | retval = 0; | ||
189 | error: | ||
190 | return retval; | ||
191 | } | ||
192 | |||
193 | static void cy7c63_disconnect(struct usb_interface *interface) { | ||
194 | |||
195 | struct cy7c63 *dev; | ||
196 | |||
197 | dev = usb_get_intfdata(interface); | ||
198 | usb_set_intfdata(interface, NULL); | ||
199 | |||
200 | /* remove device attribute files */ | ||
201 | device_remove_file(&interface->dev, &dev_attr_port0); | ||
202 | device_remove_file(&interface->dev, &dev_attr_port1); | ||
203 | |||
204 | usb_put_dev(dev->udev); | ||
205 | |||
206 | dev_info(&interface->dev, | ||
207 | "Cypress CY7C63xxx device now disconnected\n"); | ||
208 | |||
209 | kfree(dev); | ||
210 | } | ||
211 | |||
212 | static struct usb_driver cy7c63_driver = { | ||
213 | .name = "cy7c63", | ||
214 | .probe = cy7c63_probe, | ||
215 | .disconnect = cy7c63_disconnect, | ||
216 | .id_table = cy7c63_table, | ||
217 | }; | ||
218 | |||
219 | static int __init cy7c63_init(void) { | ||
220 | |||
221 | int result; | ||
222 | |||
223 | /* register this driver with the USB subsystem */ | ||
224 | result = usb_register(&cy7c63_driver); | ||
225 | if (result) { | ||
226 | err("Function usb_register failed! Error number: %d\n", result); | ||
227 | } | ||
228 | |||
229 | return result; | ||
230 | } | ||
231 | |||
232 | static void __exit cy7c63_exit(void) { | ||
233 | |||
234 | /* deregister this driver with the USB subsystem */ | ||
235 | usb_deregister(&cy7c63_driver); | ||
236 | } | ||
237 | |||
238 | module_init(cy7c63_init); | ||
239 | module_exit(cy7c63_exit); | ||
240 | |||
241 | MODULE_AUTHOR(DRIVER_AUTHOR); | ||
242 | MODULE_DESCRIPTION(DRIVER_DESC); | ||
243 | |||
244 | MODULE_LICENSE("GPL"); | ||
diff --git a/drivers/usb/misc/cypress_cy7c63.c b/drivers/usb/misc/cypress_cy7c63.c new file mode 100644 index 000000000000..e091d327bd9e --- /dev/null +++ b/drivers/usb/misc/cypress_cy7c63.c | |||
@@ -0,0 +1,279 @@ | |||
1 | /* | ||
2 | * cypress_cy7c63.c | ||
3 | * | ||
4 | * Copyright (c) 2006 Oliver Bock (o.bock@fh-wolfenbuettel.de) | ||
5 | * | ||
6 | * This driver is based on the Cypress USB Driver by Marcus Maul | ||
7 | * (cyport) and the 2.0 version of Greg Kroah-Hartman's | ||
8 | * USB Skeleton driver. | ||
9 | * | ||
10 | * This is a generic driver for the Cypress CY7C63xxx family. | ||
11 | * For the time being it enables you to read from and write to | ||
12 | * the single I/O ports of the device. | ||
13 | * | ||
14 | * Supported vendors: AK Modul-Bus Computer GmbH | ||
15 | * Supported devices: CY7C63001A-PC (to be continued...) | ||
16 | * Supported functions: Read/Write Ports (to be continued...) | ||
17 | * | ||
18 | * | ||
19 | * This program is free software; you can redistribute it and/or | ||
20 | * modify it under the terms of the GNU General Public License as | ||
21 | * published by the Free Software Foundation, version 2. | ||
22 | */ | ||
23 | |||
24 | #include <linux/init.h> | ||
25 | #include <linux/module.h> | ||
26 | #include <linux/kernel.h> | ||
27 | #include <linux/usb.h> | ||
28 | |||
29 | #define DRIVER_AUTHOR "Oliver Bock (o.bock@fh-wolfenbuettel.de)" | ||
30 | #define DRIVER_DESC "Cypress CY7C63xxx USB driver" | ||
31 | |||
32 | #define CYPRESS_VENDOR_ID 0xa2c | ||
33 | #define CYPRESS_PRODUCT_ID 0x8 | ||
34 | |||
35 | #define CYPRESS_READ_PORT 0x4 | ||
36 | #define CYPRESS_WRITE_PORT 0x5 | ||
37 | |||
38 | #define CYPRESS_READ_RAM 0x2 | ||
39 | #define CYPRESS_WRITE_RAM 0x3 | ||
40 | #define CYPRESS_READ_ROM 0x1 | ||
41 | |||
42 | #define CYPRESS_READ_PORT_ID0 0 | ||
43 | #define CYPRESS_WRITE_PORT_ID0 0 | ||
44 | #define CYPRESS_READ_PORT_ID1 0x2 | ||
45 | #define CYPRESS_WRITE_PORT_ID1 1 | ||
46 | |||
47 | #define CYPRESS_MAX_REQSIZE 8 | ||
48 | |||
49 | |||
50 | /* table of devices that work with this driver */ | ||
51 | static struct usb_device_id cypress_table [] = { | ||
52 | { USB_DEVICE(CYPRESS_VENDOR_ID, CYPRESS_PRODUCT_ID) }, | ||
53 | { } | ||
54 | }; | ||
55 | MODULE_DEVICE_TABLE(usb, cypress_table); | ||
56 | |||
57 | /* structure to hold all of our device specific stuff */ | ||
58 | struct cypress { | ||
59 | struct usb_device * udev; | ||
60 | unsigned char port[2]; | ||
61 | }; | ||
62 | |||
63 | /* used to send usb control messages to device */ | ||
64 | static int vendor_command(struct cypress *dev, unsigned char request, | ||
65 | unsigned char address, unsigned char data) | ||
66 | { | ||
67 | int retval = 0; | ||
68 | unsigned int pipe; | ||
69 | unsigned char *iobuf; | ||
70 | |||
71 | /* allocate some memory for the i/o buffer*/ | ||
72 | iobuf = kzalloc(CYPRESS_MAX_REQSIZE, GFP_KERNEL); | ||
73 | if (!iobuf) { | ||
74 | dev_err(&dev->udev->dev, "Out of memory!\n"); | ||
75 | retval = -ENOMEM; | ||
76 | goto error; | ||
77 | } | ||
78 | |||
79 | dev_dbg(&dev->udev->dev, "Sending usb_control_msg (data: %d)\n", data); | ||
80 | |||
81 | /* prepare usb control message and send it upstream */ | ||
82 | pipe = usb_rcvctrlpipe(dev->udev, 0); | ||
83 | retval = usb_control_msg(dev->udev, pipe, request, | ||
84 | USB_DIR_IN | USB_TYPE_VENDOR | USB_RECIP_OTHER, | ||
85 | address, data, iobuf, CYPRESS_MAX_REQSIZE, | ||
86 | USB_CTRL_GET_TIMEOUT); | ||
87 | |||
88 | /* store returned data (more READs to be added) */ | ||
89 | switch (request) { | ||
90 | case CYPRESS_READ_PORT: | ||
91 | if (address == CYPRESS_READ_PORT_ID0) { | ||
92 | dev->port[0] = iobuf[1]; | ||
93 | dev_dbg(&dev->udev->dev, | ||
94 | "READ_PORT0 returned: %d\n", | ||
95 | dev->port[0]); | ||
96 | } | ||
97 | else if (address == CYPRESS_READ_PORT_ID1) { | ||
98 | dev->port[1] = iobuf[1]; | ||
99 | dev_dbg(&dev->udev->dev, | ||
100 | "READ_PORT1 returned: %d\n", | ||
101 | dev->port[1]); | ||
102 | } | ||
103 | break; | ||
104 | } | ||
105 | |||
106 | kfree(iobuf); | ||
107 | error: | ||
108 | return retval; | ||
109 | } | ||
110 | |||
111 | /* write port value */ | ||
112 | static ssize_t write_port(struct device *dev, struct device_attribute *attr, | ||
113 | const char *buf, size_t count, | ||
114 | int port_num, int write_id) | ||
115 | { | ||
116 | int value = -1; | ||
117 | int result = 0; | ||
118 | |||
119 | struct usb_interface *intf = to_usb_interface(dev); | ||
120 | struct cypress *cyp = usb_get_intfdata(intf); | ||
121 | |||
122 | dev_dbg(&cyp->udev->dev, "WRITE_PORT%d called\n", port_num); | ||
123 | |||
124 | /* validate input data */ | ||
125 | if (sscanf(buf, "%d", &value) < 1) { | ||
126 | result = -EINVAL; | ||
127 | goto error; | ||
128 | } | ||
129 | if (value < 0 || value > 255) { | ||
130 | result = -EINVAL; | ||
131 | goto error; | ||
132 | } | ||
133 | |||
134 | result = vendor_command(cyp, CYPRESS_WRITE_PORT, write_id, | ||
135 | (unsigned char)value); | ||
136 | |||
137 | dev_dbg(&cyp->udev->dev, "Result of vendor_command: %d\n\n", result); | ||
138 | error: | ||
139 | return result < 0 ? result : count; | ||
140 | } | ||
141 | |||
142 | /* attribute callback handler (write) */ | ||
143 | static ssize_t set_port0_handler(struct device *dev, | ||
144 | struct device_attribute *attr, | ||
145 | const char *buf, size_t count) | ||
146 | { | ||
147 | return write_port(dev, attr, buf, count, 0, CYPRESS_WRITE_PORT_ID0); | ||
148 | } | ||
149 | |||
150 | /* attribute callback handler (write) */ | ||
151 | static ssize_t set_port1_handler(struct device *dev, | ||
152 | struct device_attribute *attr, | ||
153 | const char *buf, size_t count) | ||
154 | { | ||
155 | return write_port(dev, attr, buf, count, 1, CYPRESS_WRITE_PORT_ID1); | ||
156 | } | ||
157 | |||
158 | /* read port value */ | ||
159 | static ssize_t read_port(struct device *dev, struct device_attribute *attr, | ||
160 | char *buf, int port_num, int read_id) | ||
161 | { | ||
162 | int result = 0; | ||
163 | |||
164 | struct usb_interface *intf = to_usb_interface(dev); | ||
165 | struct cypress *cyp = usb_get_intfdata(intf); | ||
166 | |||
167 | dev_dbg(&cyp->udev->dev, "READ_PORT%d called\n", port_num); | ||
168 | |||
169 | result = vendor_command(cyp, CYPRESS_READ_PORT, read_id, 0); | ||
170 | |||
171 | dev_dbg(&cyp->udev->dev, "Result of vendor_command: %d\n\n", result); | ||
172 | |||
173 | return sprintf(buf, "%d", cyp->port[port_num]); | ||
174 | } | ||
175 | |||
176 | /* attribute callback handler (read) */ | ||
177 | static ssize_t get_port0_handler(struct device *dev, | ||
178 | struct device_attribute *attr, char *buf) | ||
179 | { | ||
180 | return read_port(dev, attr, buf, 0, CYPRESS_READ_PORT_ID0); | ||
181 | } | ||
182 | |||
183 | /* attribute callback handler (read) */ | ||
184 | static ssize_t get_port1_handler(struct device *dev, | ||
185 | struct device_attribute *attr, char *buf) | ||
186 | { | ||
187 | return read_port(dev, attr, buf, 1, CYPRESS_READ_PORT_ID1); | ||
188 | } | ||
189 | |||
190 | static DEVICE_ATTR(port0, S_IWUGO | S_IRUGO, | ||
191 | get_port0_handler, set_port0_handler); | ||
192 | |||
193 | static DEVICE_ATTR(port1, S_IWUGO | S_IRUGO, | ||
194 | get_port1_handler, set_port1_handler); | ||
195 | |||
196 | |||
197 | static int cypress_probe(struct usb_interface *interface, | ||
198 | const struct usb_device_id *id) | ||
199 | { | ||
200 | struct cypress *dev = NULL; | ||
201 | int retval = -ENOMEM; | ||
202 | |||
203 | /* allocate memory for our device state and initialize it */ | ||
204 | dev = kzalloc(sizeof(*dev), GFP_KERNEL); | ||
205 | if (dev == NULL) { | ||
206 | dev_err(&dev->udev->dev, "Out of memory!\n"); | ||
207 | goto error; | ||
208 | } | ||
209 | |||
210 | dev->udev = usb_get_dev(interface_to_usbdev(interface)); | ||
211 | |||
212 | /* save our data pointer in this interface device */ | ||
213 | usb_set_intfdata(interface, dev); | ||
214 | |||
215 | /* create device attribute files */ | ||
216 | device_create_file(&interface->dev, &dev_attr_port0); | ||
217 | device_create_file(&interface->dev, &dev_attr_port1); | ||
218 | |||
219 | /* let the user know that the device is now attached */ | ||
220 | dev_info(&interface->dev, | ||
221 | "Cypress CY7C63xxx device now attached\n"); | ||
222 | |||
223 | retval = 0; | ||
224 | error: | ||
225 | return retval; | ||
226 | } | ||
227 | |||
228 | static void cypress_disconnect(struct usb_interface *interface) | ||
229 | { | ||
230 | struct cypress *dev; | ||
231 | |||
232 | dev = usb_get_intfdata(interface); | ||
233 | usb_set_intfdata(interface, NULL); | ||
234 | |||
235 | /* remove device attribute files */ | ||
236 | device_remove_file(&interface->dev, &dev_attr_port0); | ||
237 | device_remove_file(&interface->dev, &dev_attr_port1); | ||
238 | |||
239 | usb_put_dev(dev->udev); | ||
240 | |||
241 | dev_info(&interface->dev, | ||
242 | "Cypress CY7C63xxx device now disconnected\n"); | ||
243 | |||
244 | kfree(dev); | ||
245 | } | ||
246 | |||
247 | static struct usb_driver cypress_driver = { | ||
248 | .name = "cypress_cy7c63", | ||
249 | .probe = cypress_probe, | ||
250 | .disconnect = cypress_disconnect, | ||
251 | .id_table = cypress_table, | ||
252 | }; | ||
253 | |||
254 | static int __init cypress_init(void) | ||
255 | { | ||
256 | int result; | ||
257 | |||
258 | /* register this driver with the USB subsystem */ | ||
259 | result = usb_register(&cypress_driver); | ||
260 | if (result) { | ||
261 | err("Function usb_register failed! Error number: %d\n", result); | ||
262 | } | ||
263 | |||
264 | return result; | ||
265 | } | ||
266 | |||
267 | static void __exit cypress_exit(void) | ||
268 | { | ||
269 | /* deregister this driver with the USB subsystem */ | ||
270 | usb_deregister(&cypress_driver); | ||
271 | } | ||
272 | |||
273 | module_init(cypress_init); | ||
274 | module_exit(cypress_exit); | ||
275 | |||
276 | MODULE_AUTHOR(DRIVER_AUTHOR); | ||
277 | MODULE_DESCRIPTION(DRIVER_DESC); | ||
278 | |||
279 | MODULE_LICENSE("GPL"); | ||
diff --git a/drivers/usb/misc/usblcd.c b/drivers/usb/misc/usblcd.c index c82c402285a0..e095772dd8e9 100644 --- a/drivers/usb/misc/usblcd.c +++ b/drivers/usb/misc/usblcd.c | |||
@@ -200,10 +200,8 @@ static ssize_t lcd_write(struct file *file, const char __user * user_buffer, siz | |||
200 | 200 | ||
201 | /* create a urb, and a buffer for it, and copy the data to the urb */ | 201 | /* create a urb, and a buffer for it, and copy the data to the urb */ |
202 | urb = usb_alloc_urb(0, GFP_KERNEL); | 202 | urb = usb_alloc_urb(0, GFP_KERNEL); |
203 | if (!urb) { | 203 | if (!urb) |
204 | retval = -ENOMEM; | 204 | return -ENOMEM; |
205 | goto error; | ||
206 | } | ||
207 | 205 | ||
208 | buf = usb_buffer_alloc(dev->udev, count, GFP_KERNEL, &urb->transfer_dma); | 206 | buf = usb_buffer_alloc(dev->udev, count, GFP_KERNEL, &urb->transfer_dma); |
209 | if (!buf) { | 207 | if (!buf) { |
diff --git a/drivers/usb/mon/mon_text.c b/drivers/usb/mon/mon_text.c index e02c1a30c4cd..f961a770cee2 100644 --- a/drivers/usb/mon/mon_text.c +++ b/drivers/usb/mon/mon_text.c | |||
@@ -64,7 +64,6 @@ struct mon_reader_text { | |||
64 | }; | 64 | }; |
65 | 65 | ||
66 | static void mon_text_ctor(void *, kmem_cache_t *, unsigned long); | 66 | static void mon_text_ctor(void *, kmem_cache_t *, unsigned long); |
67 | static void mon_text_dtor(void *, kmem_cache_t *, unsigned long); | ||
68 | 67 | ||
69 | /* | 68 | /* |
70 | * mon_text_submit | 69 | * mon_text_submit |
@@ -268,7 +267,7 @@ static int mon_text_open(struct inode *inode, struct file *file) | |||
268 | (long)rp); | 267 | (long)rp); |
269 | rp->e_slab = kmem_cache_create(rp->slab_name, | 268 | rp->e_slab = kmem_cache_create(rp->slab_name, |
270 | sizeof(struct mon_event_text), sizeof(long), 0, | 269 | sizeof(struct mon_event_text), sizeof(long), 0, |
271 | mon_text_ctor, mon_text_dtor); | 270 | mon_text_ctor, NULL); |
272 | if (rp->e_slab == NULL) { | 271 | if (rp->e_slab == NULL) { |
273 | rc = -ENOMEM; | 272 | rc = -ENOMEM; |
274 | goto err_slab; | 273 | goto err_slab; |
@@ -459,7 +458,3 @@ static void mon_text_ctor(void *mem, kmem_cache_t *slab, unsigned long sflags) | |||
459 | memset(mem, 0xe5, sizeof(struct mon_event_text)); | 458 | memset(mem, 0xe5, sizeof(struct mon_event_text)); |
460 | } | 459 | } |
461 | 460 | ||
462 | static void mon_text_dtor(void *mem, kmem_cache_t *slab, unsigned long sflags) | ||
463 | { | ||
464 | ; | ||
465 | } | ||
diff --git a/drivers/usb/net/rtl8150.c b/drivers/usb/net/rtl8150.c index 718f8e2b552b..e5e6e4f3ef87 100644 --- a/drivers/usb/net/rtl8150.c +++ b/drivers/usb/net/rtl8150.c | |||
@@ -128,11 +128,13 @@ | |||
128 | #define VENDOR_ID_MELCO 0x0411 | 128 | #define VENDOR_ID_MELCO 0x0411 |
129 | #define VENDOR_ID_MICRONET 0x3980 | 129 | #define VENDOR_ID_MICRONET 0x3980 |
130 | #define VENDOR_ID_LONGSHINE 0x07b8 | 130 | #define VENDOR_ID_LONGSHINE 0x07b8 |
131 | #define VENDOR_ID_ZYXEL 0x0586 | ||
131 | 132 | ||
132 | #define PRODUCT_ID_RTL8150 0x8150 | 133 | #define PRODUCT_ID_RTL8150 0x8150 |
133 | #define PRODUCT_ID_LUAKTX 0x0012 | 134 | #define PRODUCT_ID_LUAKTX 0x0012 |
134 | #define PRODUCT_ID_LCS8138TX 0x401a | 135 | #define PRODUCT_ID_LCS8138TX 0x401a |
135 | #define PRODUCT_ID_SP128AR 0x0003 | 136 | #define PRODUCT_ID_SP128AR 0x0003 |
137 | #define PRODUCT_ID_PRESTIGE 0x401a | ||
136 | 138 | ||
137 | #undef EEPROM_WRITE | 139 | #undef EEPROM_WRITE |
138 | 140 | ||
@@ -142,6 +144,7 @@ static struct usb_device_id rtl8150_table[] = { | |||
142 | {USB_DEVICE(VENDOR_ID_MELCO, PRODUCT_ID_LUAKTX)}, | 144 | {USB_DEVICE(VENDOR_ID_MELCO, PRODUCT_ID_LUAKTX)}, |
143 | {USB_DEVICE(VENDOR_ID_MICRONET, PRODUCT_ID_SP128AR)}, | 145 | {USB_DEVICE(VENDOR_ID_MICRONET, PRODUCT_ID_SP128AR)}, |
144 | {USB_DEVICE(VENDOR_ID_LONGSHINE, PRODUCT_ID_LCS8138TX)}, | 146 | {USB_DEVICE(VENDOR_ID_LONGSHINE, PRODUCT_ID_LCS8138TX)}, |
147 | {USB_DEVICE(VENDOR_ID_ZYXEL, PRODUCT_ID_PRESTIGE)}, | ||
145 | {} | 148 | {} |
146 | }; | 149 | }; |
147 | 150 | ||
diff --git a/drivers/usb/serial/Kconfig b/drivers/usb/serial/Kconfig index 8bd44fda5eaf..ac33bd47cfce 100644 --- a/drivers/usb/serial/Kconfig +++ b/drivers/usb/serial/Kconfig | |||
@@ -456,6 +456,17 @@ config USB_SERIAL_SAFE_PADDED | |||
456 | bool "USB Secure Encapsulated Driver - Padded" | 456 | bool "USB Secure Encapsulated Driver - Padded" |
457 | depends on USB_SERIAL_SAFE | 457 | depends on USB_SERIAL_SAFE |
458 | 458 | ||
459 | config USB_SERIAL_SIERRAWIRELESS | ||
460 | tristate "USB Sierra Wireless Driver" | ||
461 | depends on USB_SERIAL | ||
462 | help | ||
463 | Say M here if you want to use a Sierra Wireless device (if | ||
464 | using an PC 5220 or AC580 please use the Airprime driver | ||
465 | instead). | ||
466 | |||
467 | To compile this driver as a module, choose M here: the | ||
468 | module will be called sierra. | ||
469 | |||
459 | config USB_SERIAL_TI | 470 | config USB_SERIAL_TI |
460 | tristate "USB TI 3410/5052 Serial Driver" | 471 | tristate "USB TI 3410/5052 Serial Driver" |
461 | depends on USB_SERIAL | 472 | depends on USB_SERIAL |
diff --git a/drivers/usb/serial/Makefile b/drivers/usb/serial/Makefile index 5a0960fc9d3e..35d4acc7f1d3 100644 --- a/drivers/usb/serial/Makefile +++ b/drivers/usb/serial/Makefile | |||
@@ -39,6 +39,7 @@ obj-$(CONFIG_USB_SERIAL_OMNINET) += omninet.o | |||
39 | obj-$(CONFIG_USB_SERIAL_OPTION) += option.o | 39 | obj-$(CONFIG_USB_SERIAL_OPTION) += option.o |
40 | obj-$(CONFIG_USB_SERIAL_PL2303) += pl2303.o | 40 | obj-$(CONFIG_USB_SERIAL_PL2303) += pl2303.o |
41 | obj-$(CONFIG_USB_SERIAL_SAFE) += safe_serial.o | 41 | obj-$(CONFIG_USB_SERIAL_SAFE) += safe_serial.o |
42 | obj-$(CONFIG_USB_SERIAL_SIERRAWIRELESS) += sierra.o | ||
42 | obj-$(CONFIG_USB_SERIAL_TI) += ti_usb_3410_5052.o | 43 | obj-$(CONFIG_USB_SERIAL_TI) += ti_usb_3410_5052.o |
43 | obj-$(CONFIG_USB_SERIAL_VISOR) += visor.o | 44 | obj-$(CONFIG_USB_SERIAL_VISOR) += visor.o |
44 | obj-$(CONFIG_USB_SERIAL_WHITEHEAT) += whiteheat.o | 45 | obj-$(CONFIG_USB_SERIAL_WHITEHEAT) += whiteheat.o |
diff --git a/drivers/usb/serial/airprime.c b/drivers/usb/serial/airprime.c index 94b9ba0ff875..62082532a8b3 100644 --- a/drivers/usb/serial/airprime.c +++ b/drivers/usb/serial/airprime.c | |||
@@ -13,7 +13,7 @@ | |||
13 | #include <linux/tty.h> | 13 | #include <linux/tty.h> |
14 | #include <linux/module.h> | 14 | #include <linux/module.h> |
15 | #include <linux/usb.h> | 15 | #include <linux/usb.h> |
16 | #include "usb-serial.h" | 16 | #include <linux/usb/serial.h> |
17 | 17 | ||
18 | static struct usb_device_id id_table [] = { | 18 | static struct usb_device_id id_table [] = { |
19 | { USB_DEVICE(0x0c88, 0x17da) }, /* Kyocera Wireless KPC650/Passport */ | 19 | { USB_DEVICE(0x0c88, 0x17da) }, /* Kyocera Wireless KPC650/Passport */ |
diff --git a/drivers/usb/serial/anydata.c b/drivers/usb/serial/anydata.c index 343f6f228220..01843ef8c11e 100644 --- a/drivers/usb/serial/anydata.c +++ b/drivers/usb/serial/anydata.c | |||
@@ -13,7 +13,7 @@ | |||
13 | #include <linux/tty.h> | 13 | #include <linux/tty.h> |
14 | #include <linux/module.h> | 14 | #include <linux/module.h> |
15 | #include <linux/usb.h> | 15 | #include <linux/usb.h> |
16 | #include "usb-serial.h" | 16 | #include <linux/usb/serial.h> |
17 | 17 | ||
18 | static struct usb_device_id id_table [] = { | 18 | static struct usb_device_id id_table [] = { |
19 | { USB_DEVICE(0x16d5, 0x6501) }, /* AirData CDMA device */ | 19 | { USB_DEVICE(0x16d5, 0x6501) }, /* AirData CDMA device */ |
@@ -71,7 +71,7 @@ static int anydata_open(struct usb_serial_port *port, struct file *filp) | |||
71 | port->bulk_in_endpointAddress), | 71 | port->bulk_in_endpointAddress), |
72 | port->read_urb->transfer_buffer, | 72 | port->read_urb->transfer_buffer, |
73 | port->read_urb->transfer_buffer_length, | 73 | port->read_urb->transfer_buffer_length, |
74 | usb_serial_generic_write_bulk_callback, port); | 74 | usb_serial_generic_read_bulk_callback, port); |
75 | result = usb_submit_urb(port->read_urb, GFP_KERNEL); | 75 | result = usb_submit_urb(port->read_urb, GFP_KERNEL); |
76 | if (result) | 76 | if (result) |
77 | dev_err(&port->dev, | 77 | dev_err(&port->dev, |
diff --git a/drivers/usb/serial/ark3116.c b/drivers/usb/serial/ark3116.c index 8dec796222a0..970d9ef0a7a5 100644 --- a/drivers/usb/serial/ark3116.c +++ b/drivers/usb/serial/ark3116.c | |||
@@ -21,7 +21,7 @@ | |||
21 | #include <linux/tty.h> | 21 | #include <linux/tty.h> |
22 | #include <linux/module.h> | 22 | #include <linux/module.h> |
23 | #include <linux/usb.h> | 23 | #include <linux/usb.h> |
24 | #include "usb-serial.h" | 24 | #include <linux/usb/serial.h> |
25 | 25 | ||
26 | 26 | ||
27 | static int debug; | 27 | static int debug; |
diff --git a/drivers/usb/serial/belkin_sa.c b/drivers/usb/serial/belkin_sa.c index 3faa7aa0111a..70ece9e01ce4 100644 --- a/drivers/usb/serial/belkin_sa.c +++ b/drivers/usb/serial/belkin_sa.c | |||
@@ -74,7 +74,7 @@ | |||
74 | #include <linux/spinlock.h> | 74 | #include <linux/spinlock.h> |
75 | #include <asm/uaccess.h> | 75 | #include <asm/uaccess.h> |
76 | #include <linux/usb.h> | 76 | #include <linux/usb.h> |
77 | #include "usb-serial.h" | 77 | #include <linux/usb/serial.h> |
78 | #include "belkin_sa.h" | 78 | #include "belkin_sa.h" |
79 | 79 | ||
80 | static int debug; | 80 | static int debug; |
diff --git a/drivers/usb/serial/bus.c b/drivers/usb/serial/bus.c index f2d993b70c18..6542f220468f 100644 --- a/drivers/usb/serial/bus.c +++ b/drivers/usb/serial/bus.c | |||
@@ -13,7 +13,7 @@ | |||
13 | #include <linux/tty.h> | 13 | #include <linux/tty.h> |
14 | #include <linux/module.h> | 14 | #include <linux/module.h> |
15 | #include <linux/usb.h> | 15 | #include <linux/usb.h> |
16 | #include "usb-serial.h" | 16 | #include <linux/usb/serial.h> |
17 | 17 | ||
18 | static int usb_serial_device_match (struct device *dev, struct device_driver *drv) | 18 | static int usb_serial_device_match (struct device *dev, struct device_driver *drv) |
19 | { | 19 | { |
diff --git a/drivers/usb/serial/console.c b/drivers/usb/serial/console.c index 3d456b32c316..3a9073dbfe6a 100644 --- a/drivers/usb/serial/console.c +++ b/drivers/usb/serial/console.c | |||
@@ -17,11 +17,10 @@ | |||
17 | #include <linux/tty.h> | 17 | #include <linux/tty.h> |
18 | #include <linux/console.h> | 18 | #include <linux/console.h> |
19 | #include <linux/usb.h> | 19 | #include <linux/usb.h> |
20 | #include <linux/usb/serial.h> | ||
20 | 21 | ||
21 | static int debug; | 22 | static int debug; |
22 | 23 | ||
23 | #include "usb-serial.h" | ||
24 | |||
25 | struct usbcons_info { | 24 | struct usbcons_info { |
26 | int magic; | 25 | int magic; |
27 | int break_flag; | 26 | int break_flag; |
diff --git a/drivers/usb/serial/cp2101.c b/drivers/usb/serial/cp2101.c index df0a4f98b4ae..486c7411b9a7 100644 --- a/drivers/usb/serial/cp2101.c +++ b/drivers/usb/serial/cp2101.c | |||
@@ -26,7 +26,7 @@ | |||
26 | #include <linux/moduleparam.h> | 26 | #include <linux/moduleparam.h> |
27 | #include <linux/usb.h> | 27 | #include <linux/usb.h> |
28 | #include <asm/uaccess.h> | 28 | #include <asm/uaccess.h> |
29 | #include "usb-serial.h" | 29 | #include <linux/usb/serial.h> |
30 | 30 | ||
31 | /* | 31 | /* |
32 | * Version Information | 32 | * Version Information |
diff --git a/drivers/usb/serial/cyberjack.c b/drivers/usb/serial/cyberjack.c index 49b51ab0d4cb..6286aba86fae 100644 --- a/drivers/usb/serial/cyberjack.c +++ b/drivers/usb/serial/cyberjack.c | |||
@@ -39,7 +39,7 @@ | |||
39 | #include <linux/spinlock.h> | 39 | #include <linux/spinlock.h> |
40 | #include <asm/uaccess.h> | 40 | #include <asm/uaccess.h> |
41 | #include <linux/usb.h> | 41 | #include <linux/usb.h> |
42 | #include "usb-serial.h" | 42 | #include <linux/usb/serial.h> |
43 | 43 | ||
44 | #define CYBERJACK_LOCAL_BUF_SIZE 32 | 44 | #define CYBERJACK_LOCAL_BUF_SIZE 32 |
45 | 45 | ||
diff --git a/drivers/usb/serial/cypress_m8.c b/drivers/usb/serial/cypress_m8.c index 4ff2dfb299bd..ee70fddcab60 100644 --- a/drivers/usb/serial/cypress_m8.c +++ b/drivers/usb/serial/cypress_m8.c | |||
@@ -59,11 +59,11 @@ | |||
59 | #include <linux/moduleparam.h> | 59 | #include <linux/moduleparam.h> |
60 | #include <linux/spinlock.h> | 60 | #include <linux/spinlock.h> |
61 | #include <linux/usb.h> | 61 | #include <linux/usb.h> |
62 | #include <linux/usb/serial.h> | ||
62 | #include <linux/serial.h> | 63 | #include <linux/serial.h> |
63 | #include <linux/delay.h> | 64 | #include <linux/delay.h> |
64 | #include <asm/uaccess.h> | 65 | #include <asm/uaccess.h> |
65 | 66 | ||
66 | #include "usb-serial.h" | ||
67 | #include "cypress_m8.h" | 67 | #include "cypress_m8.h" |
68 | 68 | ||
69 | 69 | ||
diff --git a/drivers/usb/serial/digi_acceleport.c b/drivers/usb/serial/digi_acceleport.c index 6953d3ef5738..9b225183fc7a 100644 --- a/drivers/usb/serial/digi_acceleport.c +++ b/drivers/usb/serial/digi_acceleport.c | |||
@@ -246,7 +246,7 @@ | |||
246 | #include <asm/uaccess.h> | 246 | #include <asm/uaccess.h> |
247 | #include <linux/usb.h> | 247 | #include <linux/usb.h> |
248 | #include <linux/wait.h> | 248 | #include <linux/wait.h> |
249 | #include "usb-serial.h" | 249 | #include <linux/usb/serial.h> |
250 | 250 | ||
251 | /* Defines */ | 251 | /* Defines */ |
252 | 252 | ||
diff --git a/drivers/usb/serial/empeg.c b/drivers/usb/serial/empeg.c index 1e2b31eeb497..daafe405d86d 100644 --- a/drivers/usb/serial/empeg.c +++ b/drivers/usb/serial/empeg.c | |||
@@ -62,7 +62,7 @@ | |||
62 | #include <linux/spinlock.h> | 62 | #include <linux/spinlock.h> |
63 | #include <asm/uaccess.h> | 63 | #include <asm/uaccess.h> |
64 | #include <linux/usb.h> | 64 | #include <linux/usb.h> |
65 | #include "usb-serial.h" | 65 | #include <linux/usb/serial.h> |
66 | 66 | ||
67 | static int debug; | 67 | static int debug; |
68 | 68 | ||
diff --git a/drivers/usb/serial/ezusb.c b/drivers/usb/serial/ezusb.c index debc3b0f9662..5169c2d154ab 100644 --- a/drivers/usb/serial/ezusb.c +++ b/drivers/usb/serial/ezusb.c | |||
@@ -15,7 +15,7 @@ | |||
15 | #include <linux/tty.h> | 15 | #include <linux/tty.h> |
16 | #include <linux/module.h> | 16 | #include <linux/module.h> |
17 | #include <linux/usb.h> | 17 | #include <linux/usb.h> |
18 | #include "usb-serial.h" | 18 | #include <linux/usb/serial.h> |
19 | 19 | ||
20 | /* EZ-USB Control and Status Register. Bit 0 controls 8051 reset */ | 20 | /* EZ-USB Control and Status Register. Bit 0 controls 8051 reset */ |
21 | #define CPUCS_REG 0x7F92 | 21 | #define CPUCS_REG 0x7F92 |
diff --git a/drivers/usb/serial/ftdi_sio.c b/drivers/usb/serial/ftdi_sio.c index 8a74b19f1283..b458aedc5fb6 100644 --- a/drivers/usb/serial/ftdi_sio.c +++ b/drivers/usb/serial/ftdi_sio.c | |||
@@ -257,7 +257,7 @@ | |||
257 | #include <asm/uaccess.h> | 257 | #include <asm/uaccess.h> |
258 | #include <linux/usb.h> | 258 | #include <linux/usb.h> |
259 | #include <linux/serial.h> | 259 | #include <linux/serial.h> |
260 | #include "usb-serial.h" | 260 | #include <linux/usb/serial.h> |
261 | #include "ftdi_sio.h" | 261 | #include "ftdi_sio.h" |
262 | 262 | ||
263 | /* | 263 | /* |
@@ -313,6 +313,7 @@ static struct usb_device_id id_table_combined [] = { | |||
313 | { USB_DEVICE(FTDI_VID, FTDI_8U232AM_PID) }, | 313 | { USB_DEVICE(FTDI_VID, FTDI_8U232AM_PID) }, |
314 | { USB_DEVICE(FTDI_VID, FTDI_8U232AM_ALT_PID) }, | 314 | { USB_DEVICE(FTDI_VID, FTDI_8U232AM_ALT_PID) }, |
315 | { USB_DEVICE(FTDI_VID, FTDI_8U2232C_PID) }, | 315 | { USB_DEVICE(FTDI_VID, FTDI_8U2232C_PID) }, |
316 | { USB_DEVICE(FTDI_VID, FTDI_MICRO_CHAMELEON_PID) }, | ||
316 | { USB_DEVICE(FTDI_VID, FTDI_RELAIS_PID) }, | 317 | { USB_DEVICE(FTDI_VID, FTDI_RELAIS_PID) }, |
317 | { USB_DEVICE(INTERBIOMETRICS_VID, INTERBIOMETRICS_IOBOARD_PID) }, | 318 | { USB_DEVICE(INTERBIOMETRICS_VID, INTERBIOMETRICS_IOBOARD_PID) }, |
318 | { USB_DEVICE(INTERBIOMETRICS_VID, INTERBIOMETRICS_MINI_IOBOARD_PID) }, | 319 | { USB_DEVICE(INTERBIOMETRICS_VID, INTERBIOMETRICS_MINI_IOBOARD_PID) }, |
@@ -500,6 +501,8 @@ static struct usb_device_id id_table_combined [] = { | |||
500 | { USB_DEVICE(PAPOUCH_VID, PAPOUCH_TMU_PID) }, | 501 | { USB_DEVICE(PAPOUCH_VID, PAPOUCH_TMU_PID) }, |
501 | { USB_DEVICE(FTDI_VID, FTDI_ACG_HFDUAL_PID) }, | 502 | { USB_DEVICE(FTDI_VID, FTDI_ACG_HFDUAL_PID) }, |
502 | { USB_DEVICE(FTDI_VID, FTDI_YEI_SERVOCENTER31_PID) }, | 503 | { USB_DEVICE(FTDI_VID, FTDI_YEI_SERVOCENTER31_PID) }, |
504 | { USB_DEVICE(FTDI_VID, FTDI_THORLABS_PID) }, | ||
505 | { USB_DEVICE(TESTO_VID, TESTO_USB_INTERFACE_PID) }, | ||
503 | { }, /* Optional parameter entry */ | 506 | { }, /* Optional parameter entry */ |
504 | { } /* Terminating entry */ | 507 | { } /* Terminating entry */ |
505 | }; | 508 | }; |
@@ -548,11 +551,17 @@ struct ftdi_private { | |||
548 | spinlock_t rx_lock; /* spinlock for receive state */ | 551 | spinlock_t rx_lock; /* spinlock for receive state */ |
549 | struct work_struct rx_work; | 552 | struct work_struct rx_work; |
550 | int rx_processed; | 553 | int rx_processed; |
554 | unsigned long rx_bytes; | ||
551 | 555 | ||
552 | __u16 interface; /* FT2232C port interface (0 for FT232/245) */ | 556 | __u16 interface; /* FT2232C port interface (0 for FT232/245) */ |
553 | 557 | ||
554 | int force_baud; /* if non-zero, force the baud rate to this value */ | 558 | int force_baud; /* if non-zero, force the baud rate to this value */ |
555 | int force_rtscts; /* if non-zero, force RTS-CTS to always be enabled */ | 559 | int force_rtscts; /* if non-zero, force RTS-CTS to always be enabled */ |
560 | |||
561 | spinlock_t tx_lock; /* spinlock for transmit state */ | ||
562 | unsigned long tx_bytes; | ||
563 | unsigned long tx_outstanding_bytes; | ||
564 | unsigned long tx_outstanding_urbs; | ||
556 | }; | 565 | }; |
557 | 566 | ||
558 | /* Used for TIOCMIWAIT */ | 567 | /* Used for TIOCMIWAIT */ |
@@ -626,6 +635,9 @@ static struct usb_serial_driver ftdi_sio_device = { | |||
626 | #define HIGH 1 | 635 | #define HIGH 1 |
627 | #define LOW 0 | 636 | #define LOW 0 |
628 | 637 | ||
638 | /* number of outstanding urbs to prevent userspace DoS from happening */ | ||
639 | #define URB_UPPER_LIMIT 42 | ||
640 | |||
629 | /* | 641 | /* |
630 | * *************************************************************************** | 642 | * *************************************************************************** |
631 | * Utlity functions | 643 | * Utlity functions |
@@ -1156,6 +1168,7 @@ static int ftdi_sio_attach (struct usb_serial *serial) | |||
1156 | } | 1168 | } |
1157 | 1169 | ||
1158 | spin_lock_init(&priv->rx_lock); | 1170 | spin_lock_init(&priv->rx_lock); |
1171 | spin_lock_init(&priv->tx_lock); | ||
1159 | init_waitqueue_head(&priv->delta_msr_wait); | 1172 | init_waitqueue_head(&priv->delta_msr_wait); |
1160 | /* This will push the characters through immediately rather | 1173 | /* This will push the characters through immediately rather |
1161 | than queue a task to deliver them */ | 1174 | than queue a task to deliver them */ |
@@ -1270,6 +1283,13 @@ static int ftdi_open (struct usb_serial_port *port, struct file *filp) | |||
1270 | 1283 | ||
1271 | dbg("%s", __FUNCTION__); | 1284 | dbg("%s", __FUNCTION__); |
1272 | 1285 | ||
1286 | spin_lock_irqsave(&priv->tx_lock, flags); | ||
1287 | priv->tx_bytes = 0; | ||
1288 | spin_unlock_irqrestore(&priv->tx_lock, flags); | ||
1289 | spin_lock_irqsave(&priv->rx_lock, flags); | ||
1290 | priv->rx_bytes = 0; | ||
1291 | spin_unlock_irqrestore(&priv->rx_lock, flags); | ||
1292 | |||
1273 | if (port->tty) | 1293 | if (port->tty) |
1274 | port->tty->low_latency = (priv->flags & ASYNC_LOW_LATENCY) ? 1 : 0; | 1294 | port->tty->low_latency = (priv->flags & ASYNC_LOW_LATENCY) ? 1 : 0; |
1275 | 1295 | ||
@@ -1372,6 +1392,7 @@ static int ftdi_write (struct usb_serial_port *port, | |||
1372 | int data_offset ; /* will be 1 for the SIO and 0 otherwise */ | 1392 | int data_offset ; /* will be 1 for the SIO and 0 otherwise */ |
1373 | int status; | 1393 | int status; |
1374 | int transfer_size; | 1394 | int transfer_size; |
1395 | unsigned long flags; | ||
1375 | 1396 | ||
1376 | dbg("%s port %d, %d bytes", __FUNCTION__, port->number, count); | 1397 | dbg("%s port %d, %d bytes", __FUNCTION__, port->number, count); |
1377 | 1398 | ||
@@ -1379,6 +1400,13 @@ static int ftdi_write (struct usb_serial_port *port, | |||
1379 | dbg("write request of 0 bytes"); | 1400 | dbg("write request of 0 bytes"); |
1380 | return 0; | 1401 | return 0; |
1381 | } | 1402 | } |
1403 | spin_lock_irqsave(&priv->tx_lock, flags); | ||
1404 | if (priv->tx_outstanding_urbs > URB_UPPER_LIMIT) { | ||
1405 | spin_unlock_irqrestore(&priv->tx_lock, flags); | ||
1406 | dbg("%s - write limit hit\n", __FUNCTION__); | ||
1407 | return 0; | ||
1408 | } | ||
1409 | spin_unlock_irqrestore(&priv->tx_lock, flags); | ||
1382 | 1410 | ||
1383 | data_offset = priv->write_offset; | 1411 | data_offset = priv->write_offset; |
1384 | dbg("data_offset set to %d",data_offset); | 1412 | dbg("data_offset set to %d",data_offset); |
@@ -1445,6 +1473,12 @@ static int ftdi_write (struct usb_serial_port *port, | |||
1445 | err("%s - failed submitting write urb, error %d", __FUNCTION__, status); | 1473 | err("%s - failed submitting write urb, error %d", __FUNCTION__, status); |
1446 | count = status; | 1474 | count = status; |
1447 | kfree (buffer); | 1475 | kfree (buffer); |
1476 | } else { | ||
1477 | spin_lock_irqsave(&priv->tx_lock, flags); | ||
1478 | ++priv->tx_outstanding_urbs; | ||
1479 | priv->tx_outstanding_bytes += count; | ||
1480 | priv->tx_bytes += count; | ||
1481 | spin_unlock_irqrestore(&priv->tx_lock, flags); | ||
1448 | } | 1482 | } |
1449 | 1483 | ||
1450 | /* we are done with this urb, so let the host driver | 1484 | /* we are done with this urb, so let the host driver |
@@ -1460,7 +1494,11 @@ static int ftdi_write (struct usb_serial_port *port, | |||
1460 | 1494 | ||
1461 | static void ftdi_write_bulk_callback (struct urb *urb, struct pt_regs *regs) | 1495 | static void ftdi_write_bulk_callback (struct urb *urb, struct pt_regs *regs) |
1462 | { | 1496 | { |
1497 | unsigned long flags; | ||
1463 | struct usb_serial_port *port = (struct usb_serial_port *)urb->context; | 1498 | struct usb_serial_port *port = (struct usb_serial_port *)urb->context; |
1499 | struct ftdi_private *priv; | ||
1500 | int data_offset; /* will be 1 for the SIO and 0 otherwise */ | ||
1501 | unsigned long countback; | ||
1464 | 1502 | ||
1465 | /* free up the transfer buffer, as usb_free_urb() does not do this */ | 1503 | /* free up the transfer buffer, as usb_free_urb() does not do this */ |
1466 | kfree (urb->transfer_buffer); | 1504 | kfree (urb->transfer_buffer); |
@@ -1472,34 +1510,67 @@ static void ftdi_write_bulk_callback (struct urb *urb, struct pt_regs *regs) | |||
1472 | return; | 1510 | return; |
1473 | } | 1511 | } |
1474 | 1512 | ||
1513 | priv = usb_get_serial_port_data(port); | ||
1514 | if (!priv) { | ||
1515 | dbg("%s - bad port private data pointer - exiting", __FUNCTION__); | ||
1516 | return; | ||
1517 | } | ||
1518 | /* account for transferred data */ | ||
1519 | countback = urb->actual_length; | ||
1520 | data_offset = priv->write_offset; | ||
1521 | if (data_offset > 0) { | ||
1522 | /* Subtract the control bytes */ | ||
1523 | countback -= (data_offset * ((countback + (PKTSZ - 1)) / PKTSZ)); | ||
1524 | } | ||
1525 | spin_lock_irqsave(&priv->tx_lock, flags); | ||
1526 | --priv->tx_outstanding_urbs; | ||
1527 | priv->tx_outstanding_bytes -= countback; | ||
1528 | spin_unlock_irqrestore(&priv->tx_lock, flags); | ||
1529 | |||
1475 | usb_serial_port_softint(port); | 1530 | usb_serial_port_softint(port); |
1476 | } /* ftdi_write_bulk_callback */ | 1531 | } /* ftdi_write_bulk_callback */ |
1477 | 1532 | ||
1478 | 1533 | ||
1479 | static int ftdi_write_room( struct usb_serial_port *port ) | 1534 | static int ftdi_write_room( struct usb_serial_port *port ) |
1480 | { | 1535 | { |
1536 | struct ftdi_private *priv = usb_get_serial_port_data(port); | ||
1537 | int room; | ||
1538 | unsigned long flags; | ||
1539 | |||
1481 | dbg("%s - port %d", __FUNCTION__, port->number); | 1540 | dbg("%s - port %d", __FUNCTION__, port->number); |
1482 | 1541 | ||
1483 | /* | 1542 | spin_lock_irqsave(&priv->tx_lock, flags); |
1484 | * We really can take anything the user throws at us | 1543 | if (priv->tx_outstanding_urbs < URB_UPPER_LIMIT) { |
1485 | * but let's pick a nice big number to tell the tty | 1544 | /* |
1486 | * layer that we have lots of free space | 1545 | * We really can take anything the user throws at us |
1487 | */ | 1546 | * but let's pick a nice big number to tell the tty |
1488 | return 2048; | 1547 | * layer that we have lots of free space |
1548 | */ | ||
1549 | room = 2048; | ||
1550 | } else { | ||
1551 | room = 0; | ||
1552 | } | ||
1553 | spin_unlock_irqrestore(&priv->tx_lock, flags); | ||
1554 | return room; | ||
1489 | } /* ftdi_write_room */ | 1555 | } /* ftdi_write_room */ |
1490 | 1556 | ||
1491 | 1557 | ||
1492 | static int ftdi_chars_in_buffer (struct usb_serial_port *port) | 1558 | static int ftdi_chars_in_buffer (struct usb_serial_port *port) |
1493 | { /* ftdi_chars_in_buffer */ | 1559 | { /* ftdi_chars_in_buffer */ |
1560 | struct ftdi_private *priv = usb_get_serial_port_data(port); | ||
1561 | int buffered; | ||
1562 | unsigned long flags; | ||
1563 | |||
1494 | dbg("%s - port %d", __FUNCTION__, port->number); | 1564 | dbg("%s - port %d", __FUNCTION__, port->number); |
1495 | 1565 | ||
1496 | /* | 1566 | spin_lock_irqsave(&priv->tx_lock, flags); |
1497 | * We can't really account for how much data we | 1567 | buffered = (int)priv->tx_outstanding_bytes; |
1498 | * have sent out, but hasn't made it through to the | 1568 | spin_unlock_irqrestore(&priv->tx_lock, flags); |
1499 | * device, so just tell the tty layer that everything | 1569 | if (buffered < 0) { |
1500 | * is flushed. | 1570 | err("%s outstanding tx bytes is negative!", __FUNCTION__); |
1501 | */ | 1571 | buffered = 0; |
1502 | return 0; | 1572 | } |
1573 | return buffered; | ||
1503 | } /* ftdi_chars_in_buffer */ | 1574 | } /* ftdi_chars_in_buffer */ |
1504 | 1575 | ||
1505 | 1576 | ||
@@ -1509,6 +1580,8 @@ static void ftdi_read_bulk_callback (struct urb *urb, struct pt_regs *regs) | |||
1509 | struct usb_serial_port *port = (struct usb_serial_port *)urb->context; | 1580 | struct usb_serial_port *port = (struct usb_serial_port *)urb->context; |
1510 | struct tty_struct *tty; | 1581 | struct tty_struct *tty; |
1511 | struct ftdi_private *priv; | 1582 | struct ftdi_private *priv; |
1583 | unsigned long countread; | ||
1584 | unsigned long flags; | ||
1512 | 1585 | ||
1513 | if (urb->number_of_packets > 0) { | 1586 | if (urb->number_of_packets > 0) { |
1514 | err("%s transfer_buffer_length %d actual_length %d number of packets %d",__FUNCTION__, | 1587 | err("%s transfer_buffer_length %d actual_length %d number of packets %d",__FUNCTION__, |
@@ -1543,6 +1616,13 @@ static void ftdi_read_bulk_callback (struct urb *urb, struct pt_regs *regs) | |||
1543 | return; | 1616 | return; |
1544 | } | 1617 | } |
1545 | 1618 | ||
1619 | /* count data bytes, but not status bytes */ | ||
1620 | countread = urb->actual_length; | ||
1621 | countread -= 2 * ((countread + (PKTSZ - 1)) / PKTSZ); | ||
1622 | spin_lock_irqsave(&priv->rx_lock, flags); | ||
1623 | priv->rx_bytes += countread; | ||
1624 | spin_unlock_irqrestore(&priv->rx_lock, flags); | ||
1625 | |||
1546 | ftdi_process_read(port); | 1626 | ftdi_process_read(port); |
1547 | 1627 | ||
1548 | } /* ftdi_read_bulk_callback */ | 1628 | } /* ftdi_read_bulk_callback */ |
diff --git a/drivers/usb/serial/ftdi_sio.h b/drivers/usb/serial/ftdi_sio.h index 6ab2ac845bd7..04ef90fcb876 100644 --- a/drivers/usb/serial/ftdi_sio.h +++ b/drivers/usb/serial/ftdi_sio.h | |||
@@ -36,6 +36,9 @@ | |||
36 | #define FTDI_ACTZWAVE_PID 0xF2D0 | 36 | #define FTDI_ACTZWAVE_PID 0xF2D0 |
37 | 37 | ||
38 | 38 | ||
39 | /* www.starting-point-systems.com µChameleon device */ | ||
40 | #define FTDI_MICRO_CHAMELEON_PID 0xCAA0 /* Product Id */ | ||
41 | |||
39 | /* www.irtrans.de device */ | 42 | /* www.irtrans.de device */ |
40 | #define FTDI_IRTRANS_PID 0xFC60 /* Product Id */ | 43 | #define FTDI_IRTRANS_PID 0xFC60 /* Product Id */ |
41 | 44 | ||
@@ -442,6 +445,18 @@ | |||
442 | */ | 445 | */ |
443 | #define FTDI_YEI_SERVOCENTER31_PID 0xE050 /* YEI ServoCenter3.1 USB */ | 446 | #define FTDI_YEI_SERVOCENTER31_PID 0xE050 /* YEI ServoCenter3.1 USB */ |
444 | 447 | ||
448 | /* | ||
449 | * ThorLabs USB motor drivers | ||
450 | */ | ||
451 | #define FTDI_THORLABS_PID 0xfaf0 /* ThorLabs USB motor drivers */ | ||
452 | |||
453 | /* | ||
454 | * Testo products (http://www.testo.com/) | ||
455 | * Submitted by Colin Leroy | ||
456 | */ | ||
457 | #define TESTO_VID 0x128D | ||
458 | #define TESTO_USB_INTERFACE_PID 0x0001 | ||
459 | |||
445 | /* Commands */ | 460 | /* Commands */ |
446 | #define FTDI_SIO_RESET 0 /* Reset the port */ | 461 | #define FTDI_SIO_RESET 0 /* Reset the port */ |
447 | #define FTDI_SIO_MODEM_CTRL 1 /* Set the modem control register */ | 462 | #define FTDI_SIO_MODEM_CTRL 1 /* Set the modem control register */ |
diff --git a/drivers/usb/serial/funsoft.c b/drivers/usb/serial/funsoft.c index 803721b97e2e..77b977206a8c 100644 --- a/drivers/usb/serial/funsoft.c +++ b/drivers/usb/serial/funsoft.c | |||
@@ -13,7 +13,7 @@ | |||
13 | #include <linux/tty.h> | 13 | #include <linux/tty.h> |
14 | #include <linux/module.h> | 14 | #include <linux/module.h> |
15 | #include <linux/usb.h> | 15 | #include <linux/usb.h> |
16 | #include "usb-serial.h" | 16 | #include <linux/usb/serial.h> |
17 | 17 | ||
18 | static struct usb_device_id id_table [] = { | 18 | static struct usb_device_id id_table [] = { |
19 | { USB_DEVICE(0x1404, 0xcddc) }, | 19 | { USB_DEVICE(0x1404, 0xcddc) }, |
diff --git a/drivers/usb/serial/garmin_gps.c b/drivers/usb/serial/garmin_gps.c index 1f5d1620baa1..727852634be9 100644 --- a/drivers/usb/serial/garmin_gps.c +++ b/drivers/usb/serial/garmin_gps.c | |||
@@ -35,6 +35,7 @@ | |||
35 | #include <linux/spinlock.h> | 35 | #include <linux/spinlock.h> |
36 | #include <asm/uaccess.h> | 36 | #include <asm/uaccess.h> |
37 | #include <linux/usb.h> | 37 | #include <linux/usb.h> |
38 | #include <linux/usb/serial.h> | ||
38 | 39 | ||
39 | /* the mode to be set when the port ist opened */ | 40 | /* the mode to be set when the port ist opened */ |
40 | static int initial_mode = 1; | 41 | static int initial_mode = 1; |
@@ -42,8 +43,6 @@ static int initial_mode = 1; | |||
42 | /* debug flag */ | 43 | /* debug flag */ |
43 | static int debug = 0; | 44 | static int debug = 0; |
44 | 45 | ||
45 | #include "usb-serial.h" | ||
46 | |||
47 | #define GARMIN_VENDOR_ID 0x091E | 46 | #define GARMIN_VENDOR_ID 0x091E |
48 | 47 | ||
49 | /* | 48 | /* |
diff --git a/drivers/usb/serial/generic.c b/drivers/usb/serial/generic.c index 945b8bb38c92..172713556393 100644 --- a/drivers/usb/serial/generic.c +++ b/drivers/usb/serial/generic.c | |||
@@ -17,8 +17,8 @@ | |||
17 | #include <linux/module.h> | 17 | #include <linux/module.h> |
18 | #include <linux/moduleparam.h> | 18 | #include <linux/moduleparam.h> |
19 | #include <linux/usb.h> | 19 | #include <linux/usb.h> |
20 | #include <linux/usb/serial.h> | ||
20 | #include <asm/uaccess.h> | 21 | #include <asm/uaccess.h> |
21 | #include "usb-serial.h" | ||
22 | 22 | ||
23 | static int debug; | 23 | static int debug; |
24 | 24 | ||
@@ -285,6 +285,7 @@ void usb_serial_generic_read_bulk_callback (struct urb *urb, struct pt_regs *reg | |||
285 | if (result) | 285 | if (result) |
286 | dev_err(&port->dev, "%s - failed resubmitting read urb, error %d\n", __FUNCTION__, result); | 286 | dev_err(&port->dev, "%s - failed resubmitting read urb, error %d\n", __FUNCTION__, result); |
287 | } | 287 | } |
288 | EXPORT_SYMBOL_GPL(usb_serial_generic_read_bulk_callback); | ||
288 | 289 | ||
289 | void usb_serial_generic_write_bulk_callback (struct urb *urb, struct pt_regs *regs) | 290 | void usb_serial_generic_write_bulk_callback (struct urb *urb, struct pt_regs *regs) |
290 | { | 291 | { |
diff --git a/drivers/usb/serial/hp4x.c b/drivers/usb/serial/hp4x.c index 7e06358b0310..ebcac701b069 100644 --- a/drivers/usb/serial/hp4x.c +++ b/drivers/usb/serial/hp4x.c | |||
@@ -17,7 +17,7 @@ | |||
17 | #include <linux/tty.h> | 17 | #include <linux/tty.h> |
18 | #include <linux/module.h> | 18 | #include <linux/module.h> |
19 | #include <linux/usb.h> | 19 | #include <linux/usb.h> |
20 | #include "usb-serial.h" | 20 | #include <linux/usb/serial.h> |
21 | 21 | ||
22 | /* | 22 | /* |
23 | * Version Information | 23 | * Version Information |
diff --git a/drivers/usb/serial/io_edgeport.c b/drivers/usb/serial/io_edgeport.c index bd2c05dac2a9..c49976c3ad52 100644 --- a/drivers/usb/serial/io_edgeport.c +++ b/drivers/usb/serial/io_edgeport.c | |||
@@ -44,7 +44,7 @@ | |||
44 | #include <linux/wait.h> | 44 | #include <linux/wait.h> |
45 | #include <asm/uaccess.h> | 45 | #include <asm/uaccess.h> |
46 | #include <linux/usb.h> | 46 | #include <linux/usb.h> |
47 | #include "usb-serial.h" | 47 | #include <linux/usb/serial.h> |
48 | #include "io_edgeport.h" | 48 | #include "io_edgeport.h" |
49 | #include "io_ionsp.h" /* info for the iosp messages */ | 49 | #include "io_ionsp.h" /* info for the iosp messages */ |
50 | #include "io_16654.h" /* 16654 UART defines */ | 50 | #include "io_16654.h" /* 16654 UART defines */ |
diff --git a/drivers/usb/serial/io_ti.c b/drivers/usb/serial/io_ti.c index 723a12ae87b5..17c5b1d2311a 100644 --- a/drivers/usb/serial/io_ti.c +++ b/drivers/usb/serial/io_ti.c | |||
@@ -39,8 +39,8 @@ | |||
39 | #include <asm/uaccess.h> | 39 | #include <asm/uaccess.h> |
40 | #include <asm/semaphore.h> | 40 | #include <asm/semaphore.h> |
41 | #include <linux/usb.h> | 41 | #include <linux/usb.h> |
42 | #include <linux/usb/serial.h> | ||
42 | 43 | ||
43 | #include "usb-serial.h" | ||
44 | #include "io_16654.h" | 44 | #include "io_16654.h" |
45 | #include "io_usbvend.h" | 45 | #include "io_usbvend.h" |
46 | #include "io_ti.h" | 46 | #include "io_ti.h" |
diff --git a/drivers/usb/serial/ipaq.c b/drivers/usb/serial/ipaq.c index dbcfe172a5cc..59c5d999009a 100644 --- a/drivers/usb/serial/ipaq.c +++ b/drivers/usb/serial/ipaq.c | |||
@@ -55,7 +55,7 @@ | |||
55 | #include <linux/spinlock.h> | 55 | #include <linux/spinlock.h> |
56 | #include <asm/uaccess.h> | 56 | #include <asm/uaccess.h> |
57 | #include <linux/usb.h> | 57 | #include <linux/usb.h> |
58 | #include "usb-serial.h" | 58 | #include <linux/usb/serial.h> |
59 | #include "ipaq.h" | 59 | #include "ipaq.h" |
60 | 60 | ||
61 | #define KP_RETRIES 100 | 61 | #define KP_RETRIES 100 |
@@ -70,6 +70,8 @@ | |||
70 | 70 | ||
71 | static __u16 product, vendor; | 71 | static __u16 product, vendor; |
72 | static int debug; | 72 | static int debug; |
73 | static int connect_retries = KP_RETRIES; | ||
74 | static int initial_wait; | ||
73 | 75 | ||
74 | /* Function prototypes for an ipaq */ | 76 | /* Function prototypes for an ipaq */ |
75 | static int ipaq_open (struct usb_serial_port *port, struct file *filp); | 77 | static int ipaq_open (struct usb_serial_port *port, struct file *filp); |
@@ -582,7 +584,7 @@ static int ipaq_open(struct usb_serial_port *port, struct file *filp) | |||
582 | struct ipaq_private *priv; | 584 | struct ipaq_private *priv; |
583 | struct ipaq_packet *pkt; | 585 | struct ipaq_packet *pkt; |
584 | int i, result = 0; | 586 | int i, result = 0; |
585 | int retries = KP_RETRIES; | 587 | int retries = connect_retries; |
586 | 588 | ||
587 | dbg("%s - port %d", __FUNCTION__, port->number); | 589 | dbg("%s - port %d", __FUNCTION__, port->number); |
588 | 590 | ||
@@ -646,16 +648,12 @@ static int ipaq_open(struct usb_serial_port *port, struct file *filp) | |||
646 | port->read_urb->transfer_buffer_length = URBDATA_SIZE; | 648 | port->read_urb->transfer_buffer_length = URBDATA_SIZE; |
647 | port->bulk_out_size = port->write_urb->transfer_buffer_length = URBDATA_SIZE; | 649 | port->bulk_out_size = port->write_urb->transfer_buffer_length = URBDATA_SIZE; |
648 | 650 | ||
651 | msleep(1000*initial_wait); | ||
649 | /* Start reading from the device */ | 652 | /* Start reading from the device */ |
650 | usb_fill_bulk_urb(port->read_urb, serial->dev, | 653 | usb_fill_bulk_urb(port->read_urb, serial->dev, |
651 | usb_rcvbulkpipe(serial->dev, port->bulk_in_endpointAddress), | 654 | usb_rcvbulkpipe(serial->dev, port->bulk_in_endpointAddress), |
652 | port->read_urb->transfer_buffer, port->read_urb->transfer_buffer_length, | 655 | port->read_urb->transfer_buffer, port->read_urb->transfer_buffer_length, |
653 | ipaq_read_bulk_callback, port); | 656 | ipaq_read_bulk_callback, port); |
654 | result = usb_submit_urb(port->read_urb, GFP_KERNEL); | ||
655 | if (result) { | ||
656 | err("%s - failed submitting read urb, error %d", __FUNCTION__, result); | ||
657 | goto error; | ||
658 | } | ||
659 | 657 | ||
660 | /* | 658 | /* |
661 | * Send out control message observed in win98 sniffs. Not sure what | 659 | * Send out control message observed in win98 sniffs. Not sure what |
@@ -670,8 +668,14 @@ static int ipaq_open(struct usb_serial_port *port, struct file *filp) | |||
670 | usb_sndctrlpipe(serial->dev, 0), 0x22, 0x21, | 668 | usb_sndctrlpipe(serial->dev, 0), 0x22, 0x21, |
671 | 0x1, 0, NULL, 0, 100); | 669 | 0x1, 0, NULL, 0, 100); |
672 | if (result == 0) { | 670 | if (result == 0) { |
671 | result = usb_submit_urb(port->read_urb, GFP_KERNEL); | ||
672 | if (result) { | ||
673 | err("%s - failed submitting read urb, error %d", __FUNCTION__, result); | ||
674 | goto error; | ||
675 | } | ||
673 | return 0; | 676 | return 0; |
674 | } | 677 | } |
678 | msleep(1000); | ||
675 | } | 679 | } |
676 | err("%s - failed doing control urb, error %d", __FUNCTION__, result); | 680 | err("%s - failed doing control urb, error %d", __FUNCTION__, result); |
677 | goto error; | 681 | goto error; |
@@ -854,6 +858,7 @@ static void ipaq_write_bulk_callback(struct urb *urb, struct pt_regs *regs) | |||
854 | 858 | ||
855 | if (urb->status) { | 859 | if (urb->status) { |
856 | dbg("%s - nonzero write bulk status received: %d", __FUNCTION__, urb->status); | 860 | dbg("%s - nonzero write bulk status received: %d", __FUNCTION__, urb->status); |
861 | return; | ||
857 | } | 862 | } |
858 | 863 | ||
859 | spin_lock_irqsave(&write_list_lock, flags); | 864 | spin_lock_irqsave(&write_list_lock, flags); |
@@ -966,3 +971,9 @@ MODULE_PARM_DESC(vendor, "User specified USB idVendor"); | |||
966 | 971 | ||
967 | module_param(product, ushort, 0); | 972 | module_param(product, ushort, 0); |
968 | MODULE_PARM_DESC(product, "User specified USB idProduct"); | 973 | MODULE_PARM_DESC(product, "User specified USB idProduct"); |
974 | |||
975 | module_param(connect_retries, int, S_IRUGO|S_IWUSR); | ||
976 | MODULE_PARM_DESC(connect_retries, "Maximum number of connect retries (one second each)"); | ||
977 | |||
978 | module_param(initial_wait, int, S_IRUGO|S_IWUSR); | ||
979 | MODULE_PARM_DESC(initial_wait, "Time to wait before attempting a connection (in seconds)"); | ||
diff --git a/drivers/usb/serial/ipw.c b/drivers/usb/serial/ipw.c index a4a0bfeaab00..87306cb6f9f5 100644 --- a/drivers/usb/serial/ipw.c +++ b/drivers/usb/serial/ipw.c | |||
@@ -46,8 +46,8 @@ | |||
46 | #include <linux/module.h> | 46 | #include <linux/module.h> |
47 | #include <linux/spinlock.h> | 47 | #include <linux/spinlock.h> |
48 | #include <linux/usb.h> | 48 | #include <linux/usb.h> |
49 | #include <linux/usb/serial.h> | ||
49 | #include <asm/uaccess.h> | 50 | #include <asm/uaccess.h> |
50 | #include "usb-serial.h" | ||
51 | 51 | ||
52 | /* | 52 | /* |
53 | * Version Information | 53 | * Version Information |
@@ -373,6 +373,8 @@ static void ipw_write_bulk_callback(struct urb *urb, struct pt_regs *regs) | |||
373 | 373 | ||
374 | dbg("%s", __FUNCTION__); | 374 | dbg("%s", __FUNCTION__); |
375 | 375 | ||
376 | port->write_urb_busy = 0; | ||
377 | |||
376 | if (urb->status) | 378 | if (urb->status) |
377 | dbg("%s - nonzero write bulk status received: %d", __FUNCTION__, urb->status); | 379 | dbg("%s - nonzero write bulk status received: %d", __FUNCTION__, urb->status); |
378 | 380 | ||
diff --git a/drivers/usb/serial/ir-usb.c b/drivers/usb/serial/ir-usb.c index 2cf1fed3de43..1738b0b6a376 100644 --- a/drivers/usb/serial/ir-usb.c +++ b/drivers/usb/serial/ir-usb.c | |||
@@ -57,7 +57,7 @@ | |||
57 | #include <linux/spinlock.h> | 57 | #include <linux/spinlock.h> |
58 | #include <asm/uaccess.h> | 58 | #include <asm/uaccess.h> |
59 | #include <linux/usb.h> | 59 | #include <linux/usb.h> |
60 | #include "usb-serial.h" | 60 | #include <linux/usb/serial.h> |
61 | 61 | ||
62 | /* | 62 | /* |
63 | * Version Information | 63 | * Version Information |
diff --git a/drivers/usb/serial/keyspan.c b/drivers/usb/serial/keyspan.c index d7c58f1bc960..015ad6cc1bbb 100644 --- a/drivers/usb/serial/keyspan.c +++ b/drivers/usb/serial/keyspan.c | |||
@@ -107,7 +107,7 @@ | |||
107 | #include <linux/spinlock.h> | 107 | #include <linux/spinlock.h> |
108 | #include <asm/uaccess.h> | 108 | #include <asm/uaccess.h> |
109 | #include <linux/usb.h> | 109 | #include <linux/usb.h> |
110 | #include "usb-serial.h" | 110 | #include <linux/usb/serial.h> |
111 | #include "keyspan.h" | 111 | #include "keyspan.h" |
112 | 112 | ||
113 | static int debug; | 113 | static int debug; |
diff --git a/drivers/usb/serial/keyspan_pda.c b/drivers/usb/serial/keyspan_pda.c index 03ab3c0f3cce..49b8dc039d1f 100644 --- a/drivers/usb/serial/keyspan_pda.c +++ b/drivers/usb/serial/keyspan_pda.c | |||
@@ -78,6 +78,7 @@ | |||
78 | #include <linux/workqueue.h> | 78 | #include <linux/workqueue.h> |
79 | #include <asm/uaccess.h> | 79 | #include <asm/uaccess.h> |
80 | #include <linux/usb.h> | 80 | #include <linux/usb.h> |
81 | #include <linux/usb/serial.h> | ||
81 | 82 | ||
82 | static int debug; | 83 | static int debug; |
83 | 84 | ||
@@ -107,8 +108,6 @@ struct ezusb_hex_record { | |||
107 | #include "xircom_pgs_fw.h" | 108 | #include "xircom_pgs_fw.h" |
108 | #endif | 109 | #endif |
109 | 110 | ||
110 | #include "usb-serial.h" | ||
111 | |||
112 | /* | 111 | /* |
113 | * Version Information | 112 | * Version Information |
114 | */ | 113 | */ |
diff --git a/drivers/usb/serial/kl5kusb105.c b/drivers/usb/serial/kl5kusb105.c index b45ff3e7ab40..2a2f3e2da055 100644 --- a/drivers/usb/serial/kl5kusb105.c +++ b/drivers/usb/serial/kl5kusb105.c | |||
@@ -55,7 +55,7 @@ | |||
55 | #include <linux/module.h> | 55 | #include <linux/module.h> |
56 | #include <asm/uaccess.h> | 56 | #include <asm/uaccess.h> |
57 | #include <linux/usb.h> | 57 | #include <linux/usb.h> |
58 | #include "usb-serial.h" | 58 | #include <linux/usb/serial.h> |
59 | #include "kl5kusb105.h" | 59 | #include "kl5kusb105.h" |
60 | 60 | ||
61 | static int debug; | 61 | static int debug; |
diff --git a/drivers/usb/serial/kobil_sct.c b/drivers/usb/serial/kobil_sct.c index 457733374772..d50dce034958 100644 --- a/drivers/usb/serial/kobil_sct.c +++ b/drivers/usb/serial/kobil_sct.c | |||
@@ -46,8 +46,8 @@ | |||
46 | #include <linux/spinlock.h> | 46 | #include <linux/spinlock.h> |
47 | #include <asm/uaccess.h> | 47 | #include <asm/uaccess.h> |
48 | #include <linux/usb.h> | 48 | #include <linux/usb.h> |
49 | #include <linux/usb/serial.h> | ||
49 | #include <linux/ioctl.h> | 50 | #include <linux/ioctl.h> |
50 | #include "usb-serial.h" | ||
51 | #include "kobil_sct.h" | 51 | #include "kobil_sct.h" |
52 | 52 | ||
53 | static int debug; | 53 | static int debug; |
diff --git a/drivers/usb/serial/mct_u232.c b/drivers/usb/serial/mct_u232.c index ca05d3275f3e..f4d4305c2c02 100644 --- a/drivers/usb/serial/mct_u232.c +++ b/drivers/usb/serial/mct_u232.c | |||
@@ -75,7 +75,7 @@ | |||
75 | #include <linux/spinlock.h> | 75 | #include <linux/spinlock.h> |
76 | #include <asm/uaccess.h> | 76 | #include <asm/uaccess.h> |
77 | #include <linux/usb.h> | 77 | #include <linux/usb.h> |
78 | #include "usb-serial.h" | 78 | #include <linux/usb/serial.h> |
79 | #include "mct_u232.h" | 79 | #include "mct_u232.h" |
80 | 80 | ||
81 | /* | 81 | /* |
diff --git a/drivers/usb/serial/navman.c b/drivers/usb/serial/navman.c index 7f544081032e..ac3f8b5d2c49 100644 --- a/drivers/usb/serial/navman.c +++ b/drivers/usb/serial/navman.c | |||
@@ -14,7 +14,7 @@ | |||
14 | #include <linux/tty_flip.h> | 14 | #include <linux/tty_flip.h> |
15 | #include <linux/module.h> | 15 | #include <linux/module.h> |
16 | #include <linux/usb.h> | 16 | #include <linux/usb.h> |
17 | #include "usb-serial.h" | 17 | #include <linux/usb/serial.h> |
18 | 18 | ||
19 | static int debug; | 19 | static int debug; |
20 | 20 | ||
diff --git a/drivers/usb/serial/omninet.c b/drivers/usb/serial/omninet.c index cfb711a21a45..e49f40913c27 100644 --- a/drivers/usb/serial/omninet.c +++ b/drivers/usb/serial/omninet.c | |||
@@ -46,7 +46,7 @@ | |||
46 | #include <linux/spinlock.h> | 46 | #include <linux/spinlock.h> |
47 | #include <asm/uaccess.h> | 47 | #include <asm/uaccess.h> |
48 | #include <linux/usb.h> | 48 | #include <linux/usb.h> |
49 | #include "usb-serial.h" | 49 | #include <linux/usb/serial.h> |
50 | 50 | ||
51 | static int debug; | 51 | static int debug; |
52 | 52 | ||
diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c index 78ad4b3126a6..f0530c1d7b7a 100644 --- a/drivers/usb/serial/option.c +++ b/drivers/usb/serial/option.c | |||
@@ -35,6 +35,7 @@ | |||
35 | 2006-06-01 v0.6.2 add backwards-compatibility stuff | 35 | 2006-06-01 v0.6.2 add backwards-compatibility stuff |
36 | 2006-06-01 v0.6.3 add Novatel Wireless | 36 | 2006-06-01 v0.6.3 add Novatel Wireless |
37 | 2006-06-01 v0.7 Option => GSM | 37 | 2006-06-01 v0.7 Option => GSM |
38 | 2006-06-01 v0.7.1 add COBRA2 | ||
38 | 39 | ||
39 | Work sponsored by: Sigos GmbH, Germany <info@sigos.de> | 40 | Work sponsored by: Sigos GmbH, Germany <info@sigos.de> |
40 | 41 | ||
@@ -53,7 +54,7 @@ | |||
53 | device features. | 54 | device features. |
54 | */ | 55 | */ |
55 | 56 | ||
56 | #define DRIVER_VERSION "v0.7.0" | 57 | #define DRIVER_VERSION "v0.7.1" |
57 | #define DRIVER_AUTHOR "Matthias Urlichs <smurf@smurf.noris.de>" | 58 | #define DRIVER_AUTHOR "Matthias Urlichs <smurf@smurf.noris.de>" |
58 | #define DRIVER_DESC "USB Driver for GSM modems" | 59 | #define DRIVER_DESC "USB Driver for GSM modems" |
59 | 60 | ||
@@ -64,7 +65,7 @@ | |||
64 | #include <linux/tty_flip.h> | 65 | #include <linux/tty_flip.h> |
65 | #include <linux/module.h> | 66 | #include <linux/module.h> |
66 | #include <linux/usb.h> | 67 | #include <linux/usb.h> |
67 | #include "usb-serial.h" | 68 | #include <linux/usb/serial.h> |
68 | 69 | ||
69 | /* Function prototypes */ | 70 | /* Function prototypes */ |
70 | static int option_open(struct usb_serial_port *port, struct file *filp); | 71 | static int option_open(struct usb_serial_port *port, struct file *filp); |
@@ -102,6 +103,7 @@ static int option_send_setup(struct usb_serial_port *port); | |||
102 | #define OPTION_PRODUCT_FUSION 0x6000 | 103 | #define OPTION_PRODUCT_FUSION 0x6000 |
103 | #define OPTION_PRODUCT_FUSION2 0x6300 | 104 | #define OPTION_PRODUCT_FUSION2 0x6300 |
104 | #define OPTION_PRODUCT_COBRA 0x6500 | 105 | #define OPTION_PRODUCT_COBRA 0x6500 |
106 | #define OPTION_PRODUCT_COBRA2 0x6600 | ||
105 | #define HUAWEI_PRODUCT_E600 0x1001 | 107 | #define HUAWEI_PRODUCT_E600 0x1001 |
106 | #define AUDIOVOX_PRODUCT_AIRCARD 0x0112 | 108 | #define AUDIOVOX_PRODUCT_AIRCARD 0x0112 |
107 | #define SIERRAWIRELESS_PRODUCT_MC8755 0x6802 | 109 | #define SIERRAWIRELESS_PRODUCT_MC8755 0x6802 |
@@ -112,6 +114,7 @@ static struct usb_device_id option_ids[] = { | |||
112 | { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_FUSION) }, | 114 | { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_FUSION) }, |
113 | { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_FUSION2) }, | 115 | { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_FUSION2) }, |
114 | { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_COBRA) }, | 116 | { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_COBRA) }, |
117 | { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_COBRA2) }, | ||
115 | { USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E600) }, | 118 | { USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E600) }, |
116 | { USB_DEVICE(AUDIOVOX_VENDOR_ID, AUDIOVOX_PRODUCT_AIRCARD) }, | 119 | { USB_DEVICE(AUDIOVOX_VENDOR_ID, AUDIOVOX_PRODUCT_AIRCARD) }, |
117 | { USB_DEVICE(SIERRAWIRELESS_VENDOR_ID, SIERRAWIRELESS_PRODUCT_MC8755) }, | 120 | { USB_DEVICE(SIERRAWIRELESS_VENDOR_ID, SIERRAWIRELESS_PRODUCT_MC8755) }, |
@@ -124,6 +127,7 @@ static struct usb_device_id option_ids1[] = { | |||
124 | { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_FUSION) }, | 127 | { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_FUSION) }, |
125 | { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_FUSION2) }, | 128 | { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_FUSION2) }, |
126 | { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_COBRA) }, | 129 | { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_COBRA) }, |
130 | { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_COBRA2) }, | ||
127 | { USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E600) }, | 131 | { USB_DEVICE(HUAWEI_VENDOR_ID, HUAWEI_PRODUCT_E600) }, |
128 | { USB_DEVICE(AUDIOVOX_VENDOR_ID, AUDIOVOX_PRODUCT_AIRCARD) }, | 132 | { USB_DEVICE(AUDIOVOX_VENDOR_ID, AUDIOVOX_PRODUCT_AIRCARD) }, |
129 | { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID,NOVATELWIRELESS_PRODUCT_U740) }, | 133 | { USB_DEVICE(NOVATELWIRELESS_VENDOR_ID,NOVATELWIRELESS_PRODUCT_U740) }, |
diff --git a/drivers/usb/serial/pl2303.c b/drivers/usb/serial/pl2303.c index de93a2b909e7..259db31b65c1 100644 --- a/drivers/usb/serial/pl2303.c +++ b/drivers/usb/serial/pl2303.c | |||
@@ -27,7 +27,7 @@ | |||
27 | #include <linux/spinlock.h> | 27 | #include <linux/spinlock.h> |
28 | #include <asm/uaccess.h> | 28 | #include <asm/uaccess.h> |
29 | #include <linux/usb.h> | 29 | #include <linux/usb.h> |
30 | #include "usb-serial.h" | 30 | #include <linux/usb/serial.h> |
31 | #include "pl2303.h" | 31 | #include "pl2303.h" |
32 | 32 | ||
33 | /* | 33 | /* |
@@ -52,6 +52,7 @@ struct pl2303_buf { | |||
52 | static struct usb_device_id id_table [] = { | 52 | static struct usb_device_id id_table [] = { |
53 | { USB_DEVICE(PL2303_VENDOR_ID, PL2303_PRODUCT_ID) }, | 53 | { USB_DEVICE(PL2303_VENDOR_ID, PL2303_PRODUCT_ID) }, |
54 | { USB_DEVICE(PL2303_VENDOR_ID, PL2303_PRODUCT_ID_RSAQ2) }, | 54 | { USB_DEVICE(PL2303_VENDOR_ID, PL2303_PRODUCT_ID_RSAQ2) }, |
55 | { USB_DEVICE(PL2303_VENDOR_ID, PL2303_PRODUCT_ID_DCU11) }, | ||
55 | { USB_DEVICE(PL2303_VENDOR_ID, PL2303_PRODUCT_ID_RSAQ3) }, | 56 | { USB_DEVICE(PL2303_VENDOR_ID, PL2303_PRODUCT_ID_RSAQ3) }, |
56 | { USB_DEVICE(PL2303_VENDOR_ID, PL2303_PRODUCT_ID_PHAROS) }, | 57 | { USB_DEVICE(PL2303_VENDOR_ID, PL2303_PRODUCT_ID_PHAROS) }, |
57 | { USB_DEVICE(IODATA_VENDOR_ID, IODATA_PRODUCT_ID) }, | 58 | { USB_DEVICE(IODATA_VENDOR_ID, IODATA_PRODUCT_ID) }, |
@@ -79,6 +80,7 @@ static struct usb_device_id id_table [] = { | |||
79 | { USB_DEVICE(LEADTEK_VENDOR_ID, LEADTEK_9531_PRODUCT_ID) }, | 80 | { USB_DEVICE(LEADTEK_VENDOR_ID, LEADTEK_9531_PRODUCT_ID) }, |
80 | { USB_DEVICE(SPEEDDRAGON_VENDOR_ID, SPEEDDRAGON_PRODUCT_ID) }, | 81 | { USB_DEVICE(SPEEDDRAGON_VENDOR_ID, SPEEDDRAGON_PRODUCT_ID) }, |
81 | { USB_DEVICE(OTI_VENDOR_ID, OTI_PRODUCT_ID) }, | 82 | { USB_DEVICE(OTI_VENDOR_ID, OTI_PRODUCT_ID) }, |
83 | { USB_DEVICE(DATAPILOT_U2_VENDOR_ID, DATAPILOT_U2_PRODUCT_ID) }, | ||
82 | { } /* Terminating entry */ | 84 | { } /* Terminating entry */ |
83 | }; | 85 | }; |
84 | 86 | ||
diff --git a/drivers/usb/serial/pl2303.h b/drivers/usb/serial/pl2303.h index 7f29e81d3e35..d9c1e6e0b4b3 100644 --- a/drivers/usb/serial/pl2303.h +++ b/drivers/usb/serial/pl2303.h | |||
@@ -10,6 +10,7 @@ | |||
10 | #define PL2303_VENDOR_ID 0x067b | 10 | #define PL2303_VENDOR_ID 0x067b |
11 | #define PL2303_PRODUCT_ID 0x2303 | 11 | #define PL2303_PRODUCT_ID 0x2303 |
12 | #define PL2303_PRODUCT_ID_RSAQ2 0x04bb | 12 | #define PL2303_PRODUCT_ID_RSAQ2 0x04bb |
13 | #define PL2303_PRODUCT_ID_DCU11 0x1234 | ||
13 | #define PL2303_PRODUCT_ID_PHAROS 0xaaa0 | 14 | #define PL2303_PRODUCT_ID_PHAROS 0xaaa0 |
14 | #define PL2303_PRODUCT_ID_RSAQ3 0xaaa2 | 15 | #define PL2303_PRODUCT_ID_RSAQ3 0xaaa2 |
15 | 16 | ||
@@ -84,3 +85,7 @@ | |||
84 | /* Ours Technology Inc DKU-5 clone, chipset: Prolific Technology Inc */ | 85 | /* Ours Technology Inc DKU-5 clone, chipset: Prolific Technology Inc */ |
85 | #define OTI_VENDOR_ID 0x0ea0 | 86 | #define OTI_VENDOR_ID 0x0ea0 |
86 | #define OTI_PRODUCT_ID 0x6858 | 87 | #define OTI_PRODUCT_ID 0x6858 |
88 | |||
89 | /* DATAPILOT Universal-2 Phone Cable */ | ||
90 | #define DATAPILOT_U2_VENDOR_ID 0x0731 | ||
91 | #define DATAPILOT_U2_PRODUCT_ID 0x2003 | ||
diff --git a/drivers/usb/serial/safe_serial.c b/drivers/usb/serial/safe_serial.c index 897d8447252b..789771ecdb11 100644 --- a/drivers/usb/serial/safe_serial.c +++ b/drivers/usb/serial/safe_serial.c | |||
@@ -71,7 +71,7 @@ | |||
71 | #include <linux/spinlock.h> | 71 | #include <linux/spinlock.h> |
72 | #include <asm/uaccess.h> | 72 | #include <asm/uaccess.h> |
73 | #include <linux/usb.h> | 73 | #include <linux/usb.h> |
74 | #include "usb-serial.h" | 74 | #include <linux/usb/serial.h> |
75 | 75 | ||
76 | 76 | ||
77 | #ifndef CONFIG_USB_SAFE_PADDED | 77 | #ifndef CONFIG_USB_SAFE_PADDED |
diff --git a/drivers/usb/serial/sierra.c b/drivers/usb/serial/sierra.c new file mode 100644 index 000000000000..d29638daa987 --- /dev/null +++ b/drivers/usb/serial/sierra.c | |||
@@ -0,0 +1,75 @@ | |||
1 | /* | ||
2 | * Sierra Wireless CDMA Wireless Serial USB driver | ||
3 | * | ||
4 | * Current Copy modified by: Kevin Lloyd <linux@sierrawireless.com> | ||
5 | * Original Copyright (C) 2005-2006 Greg Kroah-Hartman <gregkh@suse.de> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or | ||
8 | * modify it under the terms of the GNU General Public License version | ||
9 | * 2 as published by the Free Software Foundation. | ||
10 | */ | ||
11 | |||
12 | #include <linux/kernel.h> | ||
13 | #include <linux/init.h> | ||
14 | #include <linux/tty.h> | ||
15 | #include <linux/module.h> | ||
16 | #include <linux/usb.h> | ||
17 | #include <linux/usb/serial.h> | ||
18 | |||
19 | static struct usb_device_id id_table [] = { | ||
20 | { USB_DEVICE(0x1199, 0x0018) }, /* Sierra Wireless MC5720 */ | ||
21 | { USB_DEVICE(0x1199, 0x0020) }, /* Sierra Wireless MC5725 */ | ||
22 | { USB_DEVICE(0x1199, 0x0017) }, /* Sierra Wireless EM5625 */ | ||
23 | { USB_DEVICE(0x1199, 0x0019) }, /* Sierra Wireless AirCard 595 */ | ||
24 | { USB_DEVICE(0x1199, 0x6802) }, /* Sierra Wireless MC8755 */ | ||
25 | { USB_DEVICE(0x1199, 0x6803) }, /* Sierra Wireless MC8765 */ | ||
26 | { USB_DEVICE(0x1199, 0x6812) }, /* Sierra Wireless MC8775 */ | ||
27 | { USB_DEVICE(0x1199, 0x6820) }, /* Sierra Wireless AirCard 875 */ | ||
28 | /* Following devices are supported in the airprime.c driver */ | ||
29 | /* { USB_DEVICE(0x1199, 0x0112) }, */ /* Sierra Wireless AirCard 580 */ | ||
30 | /* { USB_DEVICE(0x0F3D, 0x0112) }, */ /* AirPrime/Sierra PC 5220 */ | ||
31 | { } | ||
32 | }; | ||
33 | MODULE_DEVICE_TABLE(usb, id_table); | ||
34 | |||
35 | static struct usb_driver sierra_driver = { | ||
36 | .name = "sierra_wireless", | ||
37 | .probe = usb_serial_probe, | ||
38 | .disconnect = usb_serial_disconnect, | ||
39 | .id_table = id_table, | ||
40 | }; | ||
41 | |||
42 | static struct usb_serial_driver sierra_device = { | ||
43 | .driver = { | ||
44 | .owner = THIS_MODULE, | ||
45 | .name = "Sierra_Wireless", | ||
46 | }, | ||
47 | .id_table = id_table, | ||
48 | .num_interrupt_in = NUM_DONT_CARE, | ||
49 | .num_bulk_in = NUM_DONT_CARE, | ||
50 | .num_bulk_out = NUM_DONT_CARE, | ||
51 | .num_ports = 3, | ||
52 | }; | ||
53 | |||
54 | static int __init sierra_init(void) | ||
55 | { | ||
56 | int retval; | ||
57 | |||
58 | retval = usb_serial_register(&sierra_device); | ||
59 | if (retval) | ||
60 | return retval; | ||
61 | retval = usb_register(&sierra_driver); | ||
62 | if (retval) | ||
63 | usb_serial_deregister(&sierra_device); | ||
64 | return retval; | ||
65 | } | ||
66 | |||
67 | static void __exit sierra_exit(void) | ||
68 | { | ||
69 | usb_deregister(&sierra_driver); | ||
70 | usb_serial_deregister(&sierra_device); | ||
71 | } | ||
72 | |||
73 | module_init(sierra_init); | ||
74 | module_exit(sierra_exit); | ||
75 | MODULE_LICENSE("GPL"); | ||
diff --git a/drivers/usb/serial/ti_usb_3410_5052.c b/drivers/usb/serial/ti_usb_3410_5052.c index a9afff31a921..ac9b8ee52d44 100644 --- a/drivers/usb/serial/ti_usb_3410_5052.c +++ b/drivers/usb/serial/ti_usb_3410_5052.c | |||
@@ -83,8 +83,8 @@ | |||
83 | #include <asm/uaccess.h> | 83 | #include <asm/uaccess.h> |
84 | #include <asm/semaphore.h> | 84 | #include <asm/semaphore.h> |
85 | #include <linux/usb.h> | 85 | #include <linux/usb.h> |
86 | #include <linux/usb/serial.h> | ||
86 | 87 | ||
87 | #include "usb-serial.h" | ||
88 | #include "ti_usb_3410_5052.h" | 88 | #include "ti_usb_3410_5052.h" |
89 | #include "ti_fw_3410.h" /* firmware image for 3410 */ | 89 | #include "ti_fw_3410.h" /* firmware image for 3410 */ |
90 | #include "ti_fw_5052.h" /* firmware image for 5052 */ | 90 | #include "ti_fw_5052.h" /* firmware image for 5052 */ |
diff --git a/drivers/usb/serial/usb-serial.c b/drivers/usb/serial/usb-serial.c index b59a0536ea5c..12c1694d322e 100644 --- a/drivers/usb/serial/usb-serial.c +++ b/drivers/usb/serial/usb-serial.c | |||
@@ -31,7 +31,7 @@ | |||
31 | #include <linux/smp_lock.h> | 31 | #include <linux/smp_lock.h> |
32 | #include <asm/uaccess.h> | 32 | #include <asm/uaccess.h> |
33 | #include <linux/usb.h> | 33 | #include <linux/usb.h> |
34 | #include "usb-serial.h" | 34 | #include <linux/usb/serial.h> |
35 | #include "pl2303.h" | 35 | #include "pl2303.h" |
36 | 36 | ||
37 | /* | 37 | /* |
@@ -40,6 +40,8 @@ | |||
40 | #define DRIVER_AUTHOR "Greg Kroah-Hartman, greg@kroah.com, http://www.kroah.com/linux/" | 40 | #define DRIVER_AUTHOR "Greg Kroah-Hartman, greg@kroah.com, http://www.kroah.com/linux/" |
41 | #define DRIVER_DESC "USB Serial Driver core" | 41 | #define DRIVER_DESC "USB Serial Driver core" |
42 | 42 | ||
43 | static void port_free(struct usb_serial_port *port); | ||
44 | |||
43 | /* Driver structure we register with the USB core */ | 45 | /* Driver structure we register with the USB core */ |
44 | static struct usb_driver usb_serial_driver = { | 46 | static struct usb_driver usb_serial_driver = { |
45 | .name = "usbserial", | 47 | .name = "usbserial", |
@@ -146,23 +148,10 @@ static void destroy_serial(struct kref *kref) | |||
146 | port = serial->port[i]; | 148 | port = serial->port[i]; |
147 | if (!port) | 149 | if (!port) |
148 | continue; | 150 | continue; |
149 | usb_kill_urb(port->read_urb); | 151 | port_free(port); |
150 | usb_free_urb(port->read_urb); | ||
151 | usb_kill_urb(port->write_urb); | ||
152 | usb_free_urb(port->write_urb); | ||
153 | usb_kill_urb(port->interrupt_in_urb); | ||
154 | usb_free_urb(port->interrupt_in_urb); | ||
155 | usb_kill_urb(port->interrupt_out_urb); | ||
156 | usb_free_urb(port->interrupt_out_urb); | ||
157 | kfree(port->bulk_in_buffer); | ||
158 | kfree(port->bulk_out_buffer); | ||
159 | kfree(port->interrupt_in_buffer); | ||
160 | kfree(port->interrupt_out_buffer); | ||
161 | } | 152 | } |
162 | } | 153 | } |
163 | 154 | ||
164 | flush_scheduled_work(); /* port->work */ | ||
165 | |||
166 | usb_put_dev(serial->dev); | 155 | usb_put_dev(serial->dev); |
167 | 156 | ||
168 | /* free up any memory that we allocated */ | 157 | /* free up any memory that we allocated */ |
@@ -564,6 +553,11 @@ static void port_release(struct device *dev) | |||
564 | struct usb_serial_port *port = to_usb_serial_port(dev); | 553 | struct usb_serial_port *port = to_usb_serial_port(dev); |
565 | 554 | ||
566 | dbg ("%s - %s", __FUNCTION__, dev->bus_id); | 555 | dbg ("%s - %s", __FUNCTION__, dev->bus_id); |
556 | port_free(port); | ||
557 | } | ||
558 | |||
559 | static void port_free(struct usb_serial_port *port) | ||
560 | { | ||
567 | usb_kill_urb(port->read_urb); | 561 | usb_kill_urb(port->read_urb); |
568 | usb_free_urb(port->read_urb); | 562 | usb_free_urb(port->read_urb); |
569 | usb_kill_urb(port->write_urb); | 563 | usb_kill_urb(port->write_urb); |
@@ -576,6 +570,7 @@ static void port_release(struct device *dev) | |||
576 | kfree(port->bulk_out_buffer); | 570 | kfree(port->bulk_out_buffer); |
577 | kfree(port->interrupt_in_buffer); | 571 | kfree(port->interrupt_in_buffer); |
578 | kfree(port->interrupt_out_buffer); | 572 | kfree(port->interrupt_out_buffer); |
573 | flush_scheduled_work(); /* port->work */ | ||
579 | kfree(port); | 574 | kfree(port); |
580 | } | 575 | } |
581 | 576 | ||
diff --git a/drivers/usb/serial/visor.c b/drivers/usb/serial/visor.c index 95a2936e902e..88949f7884ca 100644 --- a/drivers/usb/serial/visor.c +++ b/drivers/usb/serial/visor.c | |||
@@ -25,7 +25,7 @@ | |||
25 | #include <linux/spinlock.h> | 25 | #include <linux/spinlock.h> |
26 | #include <asm/uaccess.h> | 26 | #include <asm/uaccess.h> |
27 | #include <linux/usb.h> | 27 | #include <linux/usb.h> |
28 | #include "usb-serial.h" | 28 | #include <linux/usb/serial.h> |
29 | #include "visor.h" | 29 | #include "visor.h" |
30 | 30 | ||
31 | /* | 31 | /* |
@@ -302,7 +302,6 @@ static int visor_open (struct usb_serial_port *port, struct file *filp) | |||
302 | spin_lock_irqsave(&priv->lock, flags); | 302 | spin_lock_irqsave(&priv->lock, flags); |
303 | priv->bytes_in = 0; | 303 | priv->bytes_in = 0; |
304 | priv->bytes_out = 0; | 304 | priv->bytes_out = 0; |
305 | priv->outstanding_urbs = 0; | ||
306 | priv->throttled = 0; | 305 | priv->throttled = 0; |
307 | spin_unlock_irqrestore(&priv->lock, flags); | 306 | spin_unlock_irqrestore(&priv->lock, flags); |
308 | 307 | ||
@@ -435,13 +434,25 @@ static int visor_write (struct usb_serial_port *port, const unsigned char *buf, | |||
435 | 434 | ||
436 | static int visor_write_room (struct usb_serial_port *port) | 435 | static int visor_write_room (struct usb_serial_port *port) |
437 | { | 436 | { |
437 | struct visor_private *priv = usb_get_serial_port_data(port); | ||
438 | unsigned long flags; | ||
439 | |||
438 | dbg("%s - port %d", __FUNCTION__, port->number); | 440 | dbg("%s - port %d", __FUNCTION__, port->number); |
439 | 441 | ||
440 | /* | 442 | /* |
441 | * We really can take anything the user throws at us | 443 | * We really can take anything the user throws at us |
442 | * but let's pick a nice big number to tell the tty | 444 | * but let's pick a nice big number to tell the tty |
443 | * layer that we have lots of free space | 445 | * layer that we have lots of free space, unless we don't. |
444 | */ | 446 | */ |
447 | |||
448 | spin_lock_irqsave(&priv->lock, flags); | ||
449 | if (priv->outstanding_urbs > URB_UPPER_LIMIT * 2 / 3) { | ||
450 | spin_unlock_irqrestore(&priv->lock, flags); | ||
451 | dbg("%s - write limit hit\n", __FUNCTION__); | ||
452 | return 0; | ||
453 | } | ||
454 | spin_unlock_irqrestore(&priv->lock, flags); | ||
455 | |||
445 | return 2048; | 456 | return 2048; |
446 | } | 457 | } |
447 | 458 | ||
@@ -758,15 +769,22 @@ static int visor_calc_num_ports (struct usb_serial *serial) | |||
758 | 769 | ||
759 | static int generic_startup(struct usb_serial *serial) | 770 | static int generic_startup(struct usb_serial *serial) |
760 | { | 771 | { |
772 | struct usb_serial_port **ports = serial->port; | ||
761 | struct visor_private *priv; | 773 | struct visor_private *priv; |
762 | int i; | 774 | int i; |
763 | 775 | ||
764 | for (i = 0; i < serial->num_ports; ++i) { | 776 | for (i = 0; i < serial->num_ports; ++i) { |
765 | priv = kzalloc (sizeof(*priv), GFP_KERNEL); | 777 | priv = kzalloc (sizeof(*priv), GFP_KERNEL); |
766 | if (!priv) | 778 | if (!priv) { |
779 | while (i-- != 0) { | ||
780 | priv = usb_get_serial_port_data(ports[i]); | ||
781 | usb_set_serial_port_data(ports[i], NULL); | ||
782 | kfree(priv); | ||
783 | } | ||
767 | return -ENOMEM; | 784 | return -ENOMEM; |
785 | } | ||
768 | spin_lock_init(&priv->lock); | 786 | spin_lock_init(&priv->lock); |
769 | usb_set_serial_port_data(serial->port[i], priv); | 787 | usb_set_serial_port_data(ports[i], priv); |
770 | } | 788 | } |
771 | return 0; | 789 | return 0; |
772 | } | 790 | } |
@@ -876,7 +894,18 @@ static int clie_5_attach (struct usb_serial *serial) | |||
876 | 894 | ||
877 | static void visor_shutdown (struct usb_serial *serial) | 895 | static void visor_shutdown (struct usb_serial *serial) |
878 | { | 896 | { |
897 | struct visor_private *priv; | ||
898 | int i; | ||
899 | |||
879 | dbg("%s", __FUNCTION__); | 900 | dbg("%s", __FUNCTION__); |
901 | |||
902 | for (i = 0; i < serial->num_ports; i++) { | ||
903 | priv = usb_get_serial_port_data(serial->port[i]); | ||
904 | if (priv) { | ||
905 | usb_set_serial_port_data(serial->port[i], NULL); | ||
906 | kfree(priv); | ||
907 | } | ||
908 | } | ||
880 | } | 909 | } |
881 | 910 | ||
882 | static int visor_ioctl (struct usb_serial_port *port, struct file * file, unsigned int cmd, unsigned long arg) | 911 | static int visor_ioctl (struct usb_serial_port *port, struct file * file, unsigned int cmd, unsigned long arg) |
diff --git a/drivers/usb/serial/whiteheat.c b/drivers/usb/serial/whiteheat.c index 540438c3f381..6e6c7934be32 100644 --- a/drivers/usb/serial/whiteheat.c +++ b/drivers/usb/serial/whiteheat.c | |||
@@ -79,7 +79,7 @@ | |||
79 | #include <linux/usb.h> | 79 | #include <linux/usb.h> |
80 | #include <linux/serial_reg.h> | 80 | #include <linux/serial_reg.h> |
81 | #include <linux/serial.h> | 81 | #include <linux/serial.h> |
82 | #include "usb-serial.h" | 82 | #include <linux/usb/serial.h> |
83 | #include "whiteheat_fw.h" /* firmware for the ConnectTech WhiteHEAT device */ | 83 | #include "whiteheat_fw.h" /* firmware for the ConnectTech WhiteHEAT device */ |
84 | #include "whiteheat.h" /* WhiteHEAT specific commands */ | 84 | #include "whiteheat.h" /* WhiteHEAT specific commands */ |
85 | 85 | ||
diff --git a/drivers/usb/storage/scsiglue.c b/drivers/usb/storage/scsiglue.c index 5715291ba540..a4b7df9ff8c1 100644 --- a/drivers/usb/storage/scsiglue.c +++ b/drivers/usb/storage/scsiglue.c | |||
@@ -112,13 +112,11 @@ static int slave_configure(struct scsi_device *sdev) | |||
112 | if (sdev->scsi_level < SCSI_2) | 112 | if (sdev->scsi_level < SCSI_2) |
113 | sdev->scsi_level = sdev->sdev_target->scsi_level = SCSI_2; | 113 | sdev->scsi_level = sdev->sdev_target->scsi_level = SCSI_2; |
114 | 114 | ||
115 | /* According to the technical support people at Genesys Logic, | 115 | /* Many devices have trouble transfering more than 32KB at a time, |
116 | * devices using their chips have problems transferring more than | 116 | * while others have trouble with more than 64K. At this time we |
117 | * 32 KB at a time. In practice people have found that 64 KB | 117 | * are limiting both to 32K (64 sectores). |
118 | * works okay and that's what Windows does. But we'll be | 118 | */ |
119 | * conservative; people can always use the sysfs interface to | 119 | if ((us->flags & US_FL_MAX_SECTORS_64) && |
120 | * increase max_sectors. */ | ||
121 | if (le16_to_cpu(us->pusb_dev->descriptor.idVendor) == USB_VENDOR_ID_GENESYS && | ||
122 | sdev->request_queue->max_sectors > 64) | 120 | sdev->request_queue->max_sectors > 64) |
123 | blk_queue_max_sectors(sdev->request_queue, 64); | 121 | blk_queue_max_sectors(sdev->request_queue, 64); |
124 | 122 | ||
diff --git a/drivers/usb/storage/unusual_devs.h b/drivers/usb/storage/unusual_devs.h index c7e84e653df9..a5ca449f6e64 100644 --- a/drivers/usb/storage/unusual_devs.h +++ b/drivers/usb/storage/unusual_devs.h | |||
@@ -112,6 +112,19 @@ UNUSUAL_DEV( 0x0411, 0x001c, 0x0113, 0x0113, | |||
112 | US_SC_DEVICE, US_PR_DEVICE, NULL, | 112 | US_SC_DEVICE, US_PR_DEVICE, NULL, |
113 | US_FL_FIX_INQUIRY ), | 113 | US_FL_FIX_INQUIRY ), |
114 | 114 | ||
115 | /* Submitted by Ernestas Vaiciukevicius <ernisv@gmail.com> */ | ||
116 | UNUSUAL_DEV( 0x0419, 0x0100, 0x0100, 0x0100, | ||
117 | "Samsung Info. Systems America, Inc.", | ||
118 | "MP3 Player", | ||
119 | US_SC_DEVICE, US_PR_DEVICE, NULL, | ||
120 | US_FL_IGNORE_RESIDUE ), | ||
121 | |||
122 | /* Reported by Orgad Shaneh <orgads@gmail.com> */ | ||
123 | UNUSUAL_DEV( 0x0419, 0xaace, 0x0100, 0x0100, | ||
124 | "Samsung", "MP3 Player", | ||
125 | US_SC_DEVICE, US_PR_DEVICE, NULL, | ||
126 | US_FL_IGNORE_RESIDUE ), | ||
127 | |||
115 | /* Reported by Christian Leber <christian@leber.de> */ | 128 | /* Reported by Christian Leber <christian@leber.de> */ |
116 | UNUSUAL_DEV( 0x0419, 0xaaf5, 0x0100, 0x0100, | 129 | UNUSUAL_DEV( 0x0419, 0xaaf5, 0x0100, 0x0100, |
117 | "TrekStor", | 130 | "TrekStor", |
@@ -132,6 +145,14 @@ UNUSUAL_DEV( 0x0420, 0x0001, 0x0100, 0x0100, | |||
132 | US_SC_DEVICE, US_PR_DEVICE, NULL, | 145 | US_SC_DEVICE, US_PR_DEVICE, NULL, |
133 | US_FL_IGNORE_RESIDUE ), | 146 | US_FL_IGNORE_RESIDUE ), |
134 | 147 | ||
148 | /* Reported by Sumedha Swamy <sumedhaswamy@gmail.com> and | ||
149 | * Einar Th. Einarsson <einarthered@gmail.com> */ | ||
150 | UNUSUAL_DEV( 0x0421, 0x0444, 0x0100, 0x0100, | ||
151 | "Nokia", | ||
152 | "N91", | ||
153 | US_SC_DEVICE, US_PR_DEVICE, NULL, | ||
154 | US_FL_IGNORE_RESIDUE | US_FL_FIX_CAPACITY ), | ||
155 | |||
135 | /* Reported by Jiri Slaby <jirislaby@gmail.com> and | 156 | /* Reported by Jiri Slaby <jirislaby@gmail.com> and |
136 | * Rene C. Castberg <Rene@Castberg.org> */ | 157 | * Rene C. Castberg <Rene@Castberg.org> */ |
137 | UNUSUAL_DEV( 0x0421, 0x0446, 0x0100, 0x0100, | 158 | UNUSUAL_DEV( 0x0421, 0x0446, 0x0100, 0x0100, |
@@ -140,6 +161,13 @@ UNUSUAL_DEV( 0x0421, 0x0446, 0x0100, 0x0100, | |||
140 | US_SC_DEVICE, US_PR_DEVICE, NULL, | 161 | US_SC_DEVICE, US_PR_DEVICE, NULL, |
141 | US_FL_IGNORE_RESIDUE | US_FL_FIX_CAPACITY ), | 162 | US_FL_IGNORE_RESIDUE | US_FL_FIX_CAPACITY ), |
142 | 163 | ||
164 | /* Reported by Matthew Bloch <matthew@bytemark.co.uk> */ | ||
165 | UNUSUAL_DEV( 0x0421, 0x044e, 0x0100, 0x0100, | ||
166 | "Nokia", | ||
167 | "E61", | ||
168 | US_SC_DEVICE, US_PR_DEVICE, NULL, | ||
169 | US_FL_IGNORE_RESIDUE | US_FL_FIX_CAPACITY ), | ||
170 | |||
143 | /* Reported by Olaf Hering <olh@suse.de> from novell bug #105878 */ | 171 | /* Reported by Olaf Hering <olh@suse.de> from novell bug #105878 */ |
144 | UNUSUAL_DEV( 0x0424, 0x0fdc, 0x0210, 0x0210, | 172 | UNUSUAL_DEV( 0x0424, 0x0fdc, 0x0210, 0x0210, |
145 | "SMSC", | 173 | "SMSC", |
@@ -473,10 +501,11 @@ UNUSUAL_DEV( 0x054c, 0x0010, 0x0106, 0x0450, | |||
473 | US_SC_SCSI, US_PR_DEVICE, NULL, | 501 | US_SC_SCSI, US_PR_DEVICE, NULL, |
474 | US_FL_SINGLE_LUN | US_FL_NOT_LOCKABLE | US_FL_NO_WP_DETECT ), | 502 | US_FL_SINGLE_LUN | US_FL_NOT_LOCKABLE | US_FL_NO_WP_DETECT ), |
475 | 503 | ||
476 | /* This entry is needed because the device reports Sub=ff */ | 504 | /* Submitted by Lars Jacob <jacob.lars@googlemail.com> |
477 | UNUSUAL_DEV( 0x054c, 0x0010, 0x0500, 0x0600, | 505 | * This entry is needed because the device reports Sub=ff */ |
506 | UNUSUAL_DEV( 0x054c, 0x0010, 0x0500, 0x0610, | ||
478 | "Sony", | 507 | "Sony", |
479 | "DSC-T1/T5", | 508 | "DSC-T1/T5/H5", |
480 | US_SC_8070, US_PR_DEVICE, NULL, | 509 | US_SC_8070, US_PR_DEVICE, NULL, |
481 | US_FL_SINGLE_LUN ), | 510 | US_FL_SINGLE_LUN ), |
482 | 511 | ||
@@ -708,18 +737,22 @@ UNUSUAL_DEV( 0x05dc, 0xb002, 0x0000, 0x0113, | |||
708 | * They were originally reported by Alexander Oltu | 737 | * They were originally reported by Alexander Oltu |
709 | * <alexander@all-2.com> and Peter Marks <peter.marks@turner.com> | 738 | * <alexander@all-2.com> and Peter Marks <peter.marks@turner.com> |
710 | * respectively. | 739 | * respectively. |
740 | * | ||
741 | * US_FL_GO_SLOW and US_FL_MAX_SECTORS_64 added by Phil Dibowitz | ||
742 | * <phil@ipom.com> as these flags were made and hard-coded | ||
743 | * special-cases were pulled from scsiglue.c. | ||
711 | */ | 744 | */ |
712 | UNUSUAL_DEV( 0x05e3, 0x0701, 0x0000, 0xffff, | 745 | UNUSUAL_DEV( 0x05e3, 0x0701, 0x0000, 0xffff, |
713 | "Genesys Logic", | 746 | "Genesys Logic", |
714 | "USB to IDE Optical", | 747 | "USB to IDE Optical", |
715 | US_SC_DEVICE, US_PR_DEVICE, NULL, | 748 | US_SC_DEVICE, US_PR_DEVICE, NULL, |
716 | US_FL_GO_SLOW ), | 749 | US_FL_GO_SLOW | US_FL_MAX_SECTORS_64 ), |
717 | 750 | ||
718 | UNUSUAL_DEV( 0x05e3, 0x0702, 0x0000, 0xffff, | 751 | UNUSUAL_DEV( 0x05e3, 0x0702, 0x0000, 0xffff, |
719 | "Genesys Logic", | 752 | "Genesys Logic", |
720 | "USB to IDE Disk", | 753 | "USB to IDE Disk", |
721 | US_SC_DEVICE, US_PR_DEVICE, NULL, | 754 | US_SC_DEVICE, US_PR_DEVICE, NULL, |
722 | US_FL_GO_SLOW ), | 755 | US_FL_GO_SLOW | US_FL_MAX_SECTORS_64 ), |
723 | 756 | ||
724 | /* Reported by Hanno Boeck <hanno@gmx.de> | 757 | /* Reported by Hanno Boeck <hanno@gmx.de> |
725 | * Taken from the Lycoris Kernel */ | 758 | * Taken from the Lycoris Kernel */ |
@@ -1196,6 +1229,14 @@ UNUSUAL_DEV( 0x0ea0, 0x6828, 0x0110, 0x0110, | |||
1196 | US_SC_DEVICE, US_PR_DEVICE, NULL, | 1229 | US_SC_DEVICE, US_PR_DEVICE, NULL, |
1197 | US_FL_IGNORE_RESIDUE ), | 1230 | US_FL_IGNORE_RESIDUE ), |
1198 | 1231 | ||
1232 | /* Reported by Benjamin Schiller <sbenni@gmx.de> | ||
1233 | * It is also sold by Easylite as DJ 20 */ | ||
1234 | UNUSUAL_DEV( 0x0ed1, 0x7636, 0x0103, 0x0103, | ||
1235 | "Typhoon", | ||
1236 | "My DJ 1820", | ||
1237 | US_SC_DEVICE, US_PR_DEVICE, NULL, | ||
1238 | US_FL_IGNORE_RESIDUE | US_FL_GO_SLOW | US_FL_MAX_SECTORS_64), | ||
1239 | |||
1199 | /* Reported by Michael Stattmann <michael@stattmann.com> */ | 1240 | /* Reported by Michael Stattmann <michael@stattmann.com> */ |
1200 | UNUSUAL_DEV( 0x0fce, 0xd008, 0x0000, 0x0000, | 1241 | UNUSUAL_DEV( 0x0fce, 0xd008, 0x0000, 0x0000, |
1201 | "Sony Ericsson", | 1242 | "Sony Ericsson", |
@@ -1227,6 +1268,15 @@ UNUSUAL_DEV( 0x1370, 0x6828, 0x0110, 0x0110, | |||
1227 | US_SC_DEVICE, US_PR_DEVICE, NULL, | 1268 | US_SC_DEVICE, US_PR_DEVICE, NULL, |
1228 | US_FL_IGNORE_RESIDUE ), | 1269 | US_FL_IGNORE_RESIDUE ), |
1229 | 1270 | ||
1271 | /* patch submitted by Davide Perini <perini.davide@dpsoftware.org> | ||
1272 | * and Renato Perini <rperini@email.it> | ||
1273 | */ | ||
1274 | UNUSUAL_DEV( 0x22b8, 0x3010, 0x0001, 0x0001, | ||
1275 | "Motorola", | ||
1276 | "RAZR V3x", | ||
1277 | US_SC_DEVICE, US_PR_DEVICE, NULL, | ||
1278 | US_FL_FIX_CAPACITY | US_FL_IGNORE_RESIDUE ), | ||
1279 | |||
1230 | /* Reported by Radovan Garabik <garabik@kassiopeia.juls.savba.sk> */ | 1280 | /* Reported by Radovan Garabik <garabik@kassiopeia.juls.savba.sk> */ |
1231 | UNUSUAL_DEV( 0x2735, 0x100b, 0x0000, 0x9999, | 1281 | UNUSUAL_DEV( 0x2735, 0x100b, 0x0000, 0x9999, |
1232 | "MPIO", | 1282 | "MPIO", |
diff --git a/drivers/usb/storage/usb.c b/drivers/usb/storage/usb.c index 1185acac4b21..5ee19be52f65 100644 --- a/drivers/usb/storage/usb.c +++ b/drivers/usb/storage/usb.c | |||
@@ -55,6 +55,7 @@ | |||
55 | #include <linux/slab.h> | 55 | #include <linux/slab.h> |
56 | #include <linux/kthread.h> | 56 | #include <linux/kthread.h> |
57 | #include <linux/mutex.h> | 57 | #include <linux/mutex.h> |
58 | #include <linux/utsrelease.h> | ||
58 | 59 | ||
59 | #include <scsi/scsi.h> | 60 | #include <scsi/scsi.h> |
60 | #include <scsi/scsi_cmnd.h> | 61 | #include <scsi/scsi_cmnd.h> |
@@ -373,8 +374,12 @@ static int usb_stor_control_thread(void * __us) | |||
373 | /* lock access to the state */ | 374 | /* lock access to the state */ |
374 | scsi_lock(host); | 375 | scsi_lock(host); |
375 | 376 | ||
377 | /* did the command already complete because of a disconnect? */ | ||
378 | if (!us->srb) | ||
379 | ; /* nothing to do */ | ||
380 | |||
376 | /* indicate that the command is done */ | 381 | /* indicate that the command is done */ |
377 | if (us->srb->result != DID_ABORT << 16) { | 382 | else if (us->srb->result != DID_ABORT << 16) { |
378 | US_DEBUGP("scsi cmd done, result=0x%x\n", | 383 | US_DEBUGP("scsi cmd done, result=0x%x\n", |
379 | us->srb->result); | 384 | us->srb->result); |
380 | us->srb->scsi_done(us->srb); | 385 | us->srb->scsi_done(us->srb); |
@@ -524,7 +529,8 @@ static void get_device_info(struct us_data *us, const struct usb_device_id *id) | |||
524 | if (msg >= 0 && !(us->flags & US_FL_NEED_OVERRIDE)) | 529 | if (msg >= 0 && !(us->flags & US_FL_NEED_OVERRIDE)) |
525 | printk(KERN_NOTICE USB_STORAGE "This device " | 530 | printk(KERN_NOTICE USB_STORAGE "This device " |
526 | "(%04x,%04x,%04x S %02x P %02x)" | 531 | "(%04x,%04x,%04x S %02x P %02x)" |
527 | " has %s in unusual_devs.h\n" | 532 | " has %s in unusual_devs.h (kernel" |
533 | " %s)\n" | ||
528 | " Please send a copy of this message to " | 534 | " Please send a copy of this message to " |
529 | "<linux-usb-devel@lists.sourceforge.net>\n", | 535 | "<linux-usb-devel@lists.sourceforge.net>\n", |
530 | le16_to_cpu(ddesc->idVendor), | 536 | le16_to_cpu(ddesc->idVendor), |
@@ -532,7 +538,8 @@ static void get_device_info(struct us_data *us, const struct usb_device_id *id) | |||
532 | le16_to_cpu(ddesc->bcdDevice), | 538 | le16_to_cpu(ddesc->bcdDevice), |
533 | idesc->bInterfaceSubClass, | 539 | idesc->bInterfaceSubClass, |
534 | idesc->bInterfaceProtocol, | 540 | idesc->bInterfaceProtocol, |
535 | msgs[msg]); | 541 | msgs[msg], |
542 | UTS_RELEASE); | ||
536 | } | 543 | } |
537 | } | 544 | } |
538 | 545 | ||
@@ -836,32 +843,34 @@ static void dissociate_dev(struct us_data *us) | |||
836 | * the host */ | 843 | * the host */ |
837 | static void quiesce_and_remove_host(struct us_data *us) | 844 | static void quiesce_and_remove_host(struct us_data *us) |
838 | { | 845 | { |
846 | struct Scsi_Host *host = us_to_host(us); | ||
847 | |||
839 | /* Prevent new USB transfers, stop the current command, and | 848 | /* Prevent new USB transfers, stop the current command, and |
840 | * interrupt a SCSI-scan or device-reset delay */ | 849 | * interrupt a SCSI-scan or device-reset delay */ |
850 | scsi_lock(host); | ||
841 | set_bit(US_FLIDX_DISCONNECTING, &us->flags); | 851 | set_bit(US_FLIDX_DISCONNECTING, &us->flags); |
852 | scsi_unlock(host); | ||
842 | usb_stor_stop_transport(us); | 853 | usb_stor_stop_transport(us); |
843 | wake_up(&us->delay_wait); | 854 | wake_up(&us->delay_wait); |
844 | 855 | ||
845 | /* It doesn't matter if the SCSI-scanning thread is still running. | 856 | /* It doesn't matter if the SCSI-scanning thread is still running. |
846 | * The thread will exit when it sees the DISCONNECTING flag. */ | 857 | * The thread will exit when it sees the DISCONNECTING flag. */ |
847 | 858 | ||
848 | /* Wait for the current command to finish, then remove the host */ | ||
849 | mutex_lock(&us->dev_mutex); | ||
850 | mutex_unlock(&us->dev_mutex); | ||
851 | |||
852 | /* queuecommand won't accept any new commands and the control | 859 | /* queuecommand won't accept any new commands and the control |
853 | * thread won't execute a previously-queued command. If there | 860 | * thread won't execute a previously-queued command. If there |
854 | * is such a command pending, complete it with an error. */ | 861 | * is such a command pending, complete it with an error. */ |
862 | mutex_lock(&us->dev_mutex); | ||
855 | if (us->srb) { | 863 | if (us->srb) { |
856 | us->srb->result = DID_NO_CONNECT << 16; | 864 | us->srb->result = DID_NO_CONNECT << 16; |
857 | scsi_lock(us_to_host(us)); | 865 | scsi_lock(host); |
858 | us->srb->scsi_done(us->srb); | 866 | us->srb->scsi_done(us->srb); |
859 | us->srb = NULL; | 867 | us->srb = NULL; |
860 | scsi_unlock(us_to_host(us)); | 868 | scsi_unlock(host); |
861 | } | 869 | } |
870 | mutex_unlock(&us->dev_mutex); | ||
862 | 871 | ||
863 | /* Now we own no commands so it's safe to remove the SCSI host */ | 872 | /* Now we own no commands so it's safe to remove the SCSI host */ |
864 | scsi_remove_host(us_to_host(us)); | 873 | scsi_remove_host(host); |
865 | } | 874 | } |
866 | 875 | ||
867 | /* Second stage of disconnect processing: deallocate all resources */ | 876 | /* Second stage of disconnect processing: deallocate all resources */ |
diff --git a/drivers/usb/storage/usb.h b/drivers/usb/storage/usb.h index 5284abe1b5eb..21f3ddbc9080 100644 --- a/drivers/usb/storage/usb.h +++ b/drivers/usb/storage/usb.h | |||
@@ -176,8 +176,4 @@ extern void fill_inquiry_response(struct us_data *us, | |||
176 | #define scsi_unlock(host) spin_unlock_irq(host->host_lock) | 176 | #define scsi_unlock(host) spin_unlock_irq(host->host_lock) |
177 | #define scsi_lock(host) spin_lock_irq(host->host_lock) | 177 | #define scsi_lock(host) spin_lock_irq(host->host_lock) |
178 | 178 | ||
179 | |||
180 | /* Vendor ID list for devices that require special handling */ | ||
181 | #define USB_VENDOR_ID_GENESYS 0x05e3 /* Genesys Logic */ | ||
182 | |||
183 | #endif | 179 | #endif |
diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig index 3badb48d662b..6533b0f39231 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig | |||
@@ -1518,6 +1518,26 @@ config FB_PXA_PARAMETERS | |||
1518 | 1518 | ||
1519 | <file:Documentation/fb/pxafb.txt> describes the available parameters. | 1519 | <file:Documentation/fb/pxafb.txt> describes the available parameters. |
1520 | 1520 | ||
1521 | config FB_MBX | ||
1522 | tristate "2700G LCD framebuffer support" | ||
1523 | depends on FB && ARCH_PXA | ||
1524 | select FB_CFB_FILLRECT | ||
1525 | select FB_CFB_COPYAREA | ||
1526 | select FB_CFB_IMAGEBLIT | ||
1527 | ---help--- | ||
1528 | Framebuffer driver for the Intel 2700G (Marathon) Graphics | ||
1529 | Accelerator | ||
1530 | |||
1531 | config FB_MBX_DEBUG | ||
1532 | bool "Enable debugging info via debugfs" | ||
1533 | depends on FB_MBX && DEBUG_FS | ||
1534 | default n | ||
1535 | ---help--- | ||
1536 | Enable this if you want debugging information using the debug | ||
1537 | filesystem (debugfs) | ||
1538 | |||
1539 | If unsure, say N. | ||
1540 | |||
1521 | config FB_W100 | 1541 | config FB_W100 |
1522 | tristate "W100 frame buffer support" | 1542 | tristate "W100 frame buffer support" |
1523 | depends on FB && PXA_SHARPSL | 1543 | depends on FB && PXA_SHARPSL |
diff --git a/drivers/video/Makefile b/drivers/video/Makefile index 6283d015f8f5..95563c9c6b9c 100644 --- a/drivers/video/Makefile +++ b/drivers/video/Makefile | |||
@@ -38,6 +38,7 @@ obj-$(CONFIG_FB_SIS) += sis/ | |||
38 | obj-$(CONFIG_FB_KYRO) += kyro/ | 38 | obj-$(CONFIG_FB_KYRO) += kyro/ |
39 | obj-$(CONFIG_FB_SAVAGE) += savage/ | 39 | obj-$(CONFIG_FB_SAVAGE) += savage/ |
40 | obj-$(CONFIG_FB_GEODE) += geode/ | 40 | obj-$(CONFIG_FB_GEODE) += geode/ |
41 | obj-$(CONFIG_FB_MBX) += mbx/ | ||
41 | obj-$(CONFIG_FB_I810) += vgastate.o | 42 | obj-$(CONFIG_FB_I810) += vgastate.o |
42 | obj-$(CONFIG_FB_NEOMAGIC) += neofb.o vgastate.o | 43 | obj-$(CONFIG_FB_NEOMAGIC) += neofb.o vgastate.o |
43 | obj-$(CONFIG_FB_VIRGE) += virgefb.o | 44 | obj-$(CONFIG_FB_VIRGE) += virgefb.o |
diff --git a/drivers/video/mbx/Makefile b/drivers/video/mbx/Makefile new file mode 100644 index 000000000000..16c1165cf9c7 --- /dev/null +++ b/drivers/video/mbx/Makefile | |||
@@ -0,0 +1,4 @@ | |||
1 | # Makefile for the 2700G controller driver. | ||
2 | |||
3 | obj-$(CONFIG_FB_MBX) += mbxfb.o | ||
4 | obj-$(CONFIG_FB_MBX_DEBUG) += mbxfbdebugfs.o | ||
diff --git a/drivers/video/mbx/mbxdebugfs.c b/drivers/video/mbx/mbxdebugfs.c new file mode 100644 index 000000000000..84aab3ad024e --- /dev/null +++ b/drivers/video/mbx/mbxdebugfs.c | |||
@@ -0,0 +1,188 @@ | |||
1 | #include <linux/debugfs.h> | ||
2 | |||
3 | #define BIG_BUFFER_SIZE (1024) | ||
4 | |||
5 | static char big_buffer[BIG_BUFFER_SIZE]; | ||
6 | |||
7 | struct mbxfb_debugfs_data { | ||
8 | struct dentry *dir; | ||
9 | struct dentry *sysconf; | ||
10 | struct dentry *clock; | ||
11 | struct dentry *display; | ||
12 | struct dentry *gsctl; | ||
13 | }; | ||
14 | |||
15 | static int open_file_generic(struct inode *inode, struct file *file) | ||
16 | { | ||
17 | file->private_data = inode->u.generic_ip; | ||
18 | return 0; | ||
19 | } | ||
20 | |||
21 | static ssize_t write_file_dummy(struct file *file, const char __user *buf, | ||
22 | size_t count, loff_t *ppos) | ||
23 | { | ||
24 | return count; | ||
25 | } | ||
26 | |||
27 | static ssize_t sysconf_read_file(struct file *file, char __user *userbuf, | ||
28 | size_t count, loff_t *ppos) | ||
29 | { | ||
30 | char * s = big_buffer; | ||
31 | |||
32 | s += sprintf(s, "SYSCFG = %08lx\n", SYSCFG); | ||
33 | s += sprintf(s, "PFBASE = %08lx\n", PFBASE); | ||
34 | s += sprintf(s, "PFCEIL = %08lx\n", PFCEIL); | ||
35 | s += sprintf(s, "POLLFLAG = %08lx\n", POLLFLAG); | ||
36 | s += sprintf(s, "SYSRST = %08lx\n", SYSRST); | ||
37 | |||
38 | return simple_read_from_buffer(userbuf, count, ppos, | ||
39 | big_buffer, s-big_buffer); | ||
40 | } | ||
41 | |||
42 | |||
43 | static ssize_t gsctl_read_file(struct file *file, char __user *userbuf, | ||
44 | size_t count, loff_t *ppos) | ||
45 | { | ||
46 | char * s = big_buffer; | ||
47 | |||
48 | s += sprintf(s, "GSCTRL = %08lx\n", GSCTRL); | ||
49 | s += sprintf(s, "VSCTRL = %08lx\n", VSCTRL); | ||
50 | s += sprintf(s, "GBBASE = %08lx\n", GBBASE); | ||
51 | s += sprintf(s, "VBBASE = %08lx\n", VBBASE); | ||
52 | s += sprintf(s, "GDRCTRL = %08lx\n", GDRCTRL); | ||
53 | s += sprintf(s, "VCMSK = %08lx\n", VCMSK); | ||
54 | s += sprintf(s, "GSCADR = %08lx\n", GSCADR); | ||
55 | s += sprintf(s, "VSCADR = %08lx\n", VSCADR); | ||
56 | s += sprintf(s, "VUBASE = %08lx\n", VUBASE); | ||
57 | s += sprintf(s, "VVBASE = %08lx\n", VVBASE); | ||
58 | s += sprintf(s, "GSADR = %08lx\n", GSADR); | ||
59 | s += sprintf(s, "VSADR = %08lx\n", VSADR); | ||
60 | s += sprintf(s, "HCCTRL = %08lx\n", HCCTRL); | ||
61 | s += sprintf(s, "HCSIZE = %08lx\n", HCSIZE); | ||
62 | s += sprintf(s, "HCPOS = %08lx\n", HCPOS); | ||
63 | s += sprintf(s, "HCBADR = %08lx\n", HCBADR); | ||
64 | s += sprintf(s, "HCCKMSK = %08lx\n", HCCKMSK); | ||
65 | s += sprintf(s, "GPLUT = %08lx\n", GPLUT); | ||
66 | |||
67 | return simple_read_from_buffer(userbuf, count, ppos, | ||
68 | big_buffer, s-big_buffer); | ||
69 | } | ||
70 | |||
71 | static ssize_t display_read_file(struct file *file, char __user *userbuf, | ||
72 | size_t count, loff_t *ppos) | ||
73 | { | ||
74 | char * s = big_buffer; | ||
75 | |||
76 | s += sprintf(s, "DSCTRL = %08lx\n", DSCTRL); | ||
77 | s += sprintf(s, "DHT01 = %08lx\n", DHT01); | ||
78 | s += sprintf(s, "DHT02 = %08lx\n", DHT02); | ||
79 | s += sprintf(s, "DHT03 = %08lx\n", DHT03); | ||
80 | s += sprintf(s, "DVT01 = %08lx\n", DVT01); | ||
81 | s += sprintf(s, "DVT02 = %08lx\n", DVT02); | ||
82 | s += sprintf(s, "DVT03 = %08lx\n", DVT03); | ||
83 | s += sprintf(s, "DBCOL = %08lx\n", DBCOL); | ||
84 | s += sprintf(s, "BGCOLOR = %08lx\n", BGCOLOR); | ||
85 | s += sprintf(s, "DINTRS = %08lx\n", DINTRS); | ||
86 | s += sprintf(s, "DINTRE = %08lx\n", DINTRE); | ||
87 | s += sprintf(s, "DINTRCNT = %08lx\n", DINTRCNT); | ||
88 | s += sprintf(s, "DSIG = %08lx\n", DSIG); | ||
89 | s += sprintf(s, "DMCTRL = %08lx\n", DMCTRL); | ||
90 | s += sprintf(s, "CLIPCTRL = %08lx\n", CLIPCTRL); | ||
91 | s += sprintf(s, "SPOCTRL = %08lx\n", SPOCTRL); | ||
92 | s += sprintf(s, "SVCTRL = %08lx\n", SVCTRL); | ||
93 | s += sprintf(s, "DLSTS = %08lx\n", DLSTS); | ||
94 | s += sprintf(s, "DLLCTRL = %08lx\n", DLLCTRL); | ||
95 | s += sprintf(s, "DVLNUM = %08lx\n", DVLNUM); | ||
96 | s += sprintf(s, "DUCTRL = %08lx\n", DUCTRL); | ||
97 | s += sprintf(s, "DVECTRL = %08lx\n", DVECTRL); | ||
98 | s += sprintf(s, "DHDET = %08lx\n", DHDET); | ||
99 | s += sprintf(s, "DVDET = %08lx\n", DVDET); | ||
100 | s += sprintf(s, "DODMSK = %08lx\n", DODMSK); | ||
101 | s += sprintf(s, "CSC01 = %08lx\n", CSC01); | ||
102 | s += sprintf(s, "CSC02 = %08lx\n", CSC02); | ||
103 | s += sprintf(s, "CSC03 = %08lx\n", CSC03); | ||
104 | s += sprintf(s, "CSC04 = %08lx\n", CSC04); | ||
105 | s += sprintf(s, "CSC05 = %08lx\n", CSC05); | ||
106 | |||
107 | return simple_read_from_buffer(userbuf, count, ppos, | ||
108 | big_buffer, s-big_buffer); | ||
109 | } | ||
110 | |||
111 | static ssize_t clock_read_file(struct file *file, char __user *userbuf, | ||
112 | size_t count, loff_t *ppos) | ||
113 | { | ||
114 | char * s = big_buffer; | ||
115 | |||
116 | s += sprintf(s, "SYSCLKSRC = %08lx\n", SYSCLKSRC); | ||
117 | s += sprintf(s, "PIXCLKSRC = %08lx\n", PIXCLKSRC); | ||
118 | s += sprintf(s, "CLKSLEEP = %08lx\n", CLKSLEEP); | ||
119 | s += sprintf(s, "COREPLL = %08lx\n", COREPLL); | ||
120 | s += sprintf(s, "DISPPLL = %08lx\n", DISPPLL); | ||
121 | s += sprintf(s, "PLLSTAT = %08lx\n", PLLSTAT); | ||
122 | s += sprintf(s, "VOVRCLK = %08lx\n", VOVRCLK); | ||
123 | s += sprintf(s, "PIXCLK = %08lx\n", PIXCLK); | ||
124 | s += sprintf(s, "MEMCLK = %08lx\n", MEMCLK); | ||
125 | s += sprintf(s, "M24CLK = %08lx\n", M24CLK); | ||
126 | s += sprintf(s, "MBXCLK = %08lx\n", MBXCLK); | ||
127 | s += sprintf(s, "SDCLK = %08lx\n", SDCLK); | ||
128 | s += sprintf(s, "PIXCLKDIV = %08lx\n", PIXCLKDIV); | ||
129 | |||
130 | return simple_read_from_buffer(userbuf, count, ppos, | ||
131 | big_buffer, s-big_buffer); | ||
132 | } | ||
133 | |||
134 | static struct file_operations sysconf_fops = { | ||
135 | .read = sysconf_read_file, | ||
136 | .write = write_file_dummy, | ||
137 | .open = open_file_generic, | ||
138 | }; | ||
139 | |||
140 | static struct file_operations clock_fops = { | ||
141 | .read = clock_read_file, | ||
142 | .write = write_file_dummy, | ||
143 | .open = open_file_generic, | ||
144 | }; | ||
145 | |||
146 | static struct file_operations display_fops = { | ||
147 | .read = display_read_file, | ||
148 | .write = write_file_dummy, | ||
149 | .open = open_file_generic, | ||
150 | }; | ||
151 | |||
152 | static struct file_operations gsctl_fops = { | ||
153 | .read = gsctl_read_file, | ||
154 | .write = write_file_dummy, | ||
155 | .open = open_file_generic, | ||
156 | }; | ||
157 | |||
158 | |||
159 | static void __devinit mbxfb_debugfs_init(struct fb_info *fbi) | ||
160 | { | ||
161 | struct mbxfb_info *mfbi = fbi->par; | ||
162 | struct mbxfb_debugfs_data *dbg; | ||
163 | |||
164 | dbg = kzalloc(sizeof(struct mbxfb_debugfs_data), GFP_KERNEL); | ||
165 | mfbi->debugfs_data = dbg; | ||
166 | |||
167 | dbg->dir = debugfs_create_dir("mbxfb", NULL); | ||
168 | dbg->sysconf = debugfs_create_file("sysconf", 0444, dbg->dir, | ||
169 | fbi, &sysconf_fops); | ||
170 | dbg->clock = debugfs_create_file("clock", 0444, dbg->dir, | ||
171 | fbi, &clock_fops); | ||
172 | dbg->display = debugfs_create_file("display", 0444, dbg->dir, | ||
173 | fbi, &display_fops); | ||
174 | dbg->gsctl = debugfs_create_file("gsctl", 0444, dbg->dir, | ||
175 | fbi, &gsctl_fops); | ||
176 | } | ||
177 | |||
178 | static void __devexit mbxfb_debugfs_remove(struct fb_info *fbi) | ||
179 | { | ||
180 | struct mbxfb_info *mfbi = fbi->par; | ||
181 | struct mbxfb_debugfs_data *dbg = mfbi->debugfs_data; | ||
182 | |||
183 | debugfs_remove(dbg->gsctl); | ||
184 | debugfs_remove(dbg->display); | ||
185 | debugfs_remove(dbg->clock); | ||
186 | debugfs_remove(dbg->sysconf); | ||
187 | debugfs_remove(dbg->dir); | ||
188 | } | ||
diff --git a/drivers/video/mbx/mbxfb.c b/drivers/video/mbx/mbxfb.c new file mode 100644 index 000000000000..6849ab75d403 --- /dev/null +++ b/drivers/video/mbx/mbxfb.c | |||
@@ -0,0 +1,683 @@ | |||
1 | /* | ||
2 | * linux/drivers/video/mbx/mbxfb.c | ||
3 | * | ||
4 | * Copyright (C) 2006 Compulab, Ltd. | ||
5 | * Mike Rapoport <mike@compulab.co.il> | ||
6 | * | ||
7 | * Based on pxafb.c | ||
8 | * | ||
9 | * This file is subject to the terms and conditions of the GNU General Public | ||
10 | * License. See the file COPYING in the main directory of this archive for | ||
11 | * more details. | ||
12 | * | ||
13 | * Intel 2700G (Marathon) Graphics Accelerator Frame Buffer Driver | ||
14 | * | ||
15 | */ | ||
16 | |||
17 | #include <linux/delay.h> | ||
18 | #include <linux/fb.h> | ||
19 | #include <linux/init.h> | ||
20 | #include <linux/module.h> | ||
21 | #include <linux/platform_device.h> | ||
22 | |||
23 | #include <asm/io.h> | ||
24 | |||
25 | #include <video/mbxfb.h> | ||
26 | |||
27 | #include "regs.h" | ||
28 | #include "reg_bits.h" | ||
29 | |||
30 | static unsigned long virt_base_2700; | ||
31 | |||
32 | #define MIN_XRES 16 | ||
33 | #define MIN_YRES 16 | ||
34 | #define MAX_XRES 2048 | ||
35 | #define MAX_YRES 2048 | ||
36 | |||
37 | #define MAX_PALETTES 16 | ||
38 | |||
39 | /* FIXME: take care of different chip revisions with different sizes | ||
40 | of ODFB */ | ||
41 | #define MEMORY_OFFSET 0x60000 | ||
42 | |||
43 | struct mbxfb_info { | ||
44 | struct device *dev; | ||
45 | |||
46 | struct resource *fb_res; | ||
47 | struct resource *fb_req; | ||
48 | |||
49 | struct resource *reg_res; | ||
50 | struct resource *reg_req; | ||
51 | |||
52 | void __iomem *fb_virt_addr; | ||
53 | unsigned long fb_phys_addr; | ||
54 | |||
55 | void __iomem *reg_virt_addr; | ||
56 | unsigned long reg_phys_addr; | ||
57 | |||
58 | int (*platform_probe) (struct fb_info * fb); | ||
59 | int (*platform_remove) (struct fb_info * fb); | ||
60 | |||
61 | u32 pseudo_palette[MAX_PALETTES]; | ||
62 | #ifdef CONFIG_FB_MBX_DEBUG | ||
63 | void *debugfs_data; | ||
64 | #endif | ||
65 | |||
66 | }; | ||
67 | |||
68 | static struct fb_var_screeninfo mbxfb_default __devinitdata = { | ||
69 | .xres = 640, | ||
70 | .yres = 480, | ||
71 | .xres_virtual = 640, | ||
72 | .yres_virtual = 480, | ||
73 | .bits_per_pixel = 16, | ||
74 | .red = {11, 5, 0}, | ||
75 | .green = {5, 6, 0}, | ||
76 | .blue = {0, 5, 0}, | ||
77 | .activate = FB_ACTIVATE_TEST, | ||
78 | .height = -1, | ||
79 | .width = -1, | ||
80 | .pixclock = 40000, | ||
81 | .left_margin = 48, | ||
82 | .right_margin = 16, | ||
83 | .upper_margin = 33, | ||
84 | .lower_margin = 10, | ||
85 | .hsync_len = 96, | ||
86 | .vsync_len = 2, | ||
87 | .vmode = FB_VMODE_NONINTERLACED, | ||
88 | .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, | ||
89 | }; | ||
90 | |||
91 | static struct fb_fix_screeninfo mbxfb_fix __devinitdata = { | ||
92 | .id = "MBX", | ||
93 | .type = FB_TYPE_PACKED_PIXELS, | ||
94 | .visual = FB_VISUAL_TRUECOLOR, | ||
95 | .xpanstep = 0, | ||
96 | .ypanstep = 0, | ||
97 | .ywrapstep = 0, | ||
98 | .accel = FB_ACCEL_NONE, | ||
99 | }; | ||
100 | |||
101 | struct pixclock_div { | ||
102 | u8 m; | ||
103 | u8 n; | ||
104 | u8 p; | ||
105 | }; | ||
106 | |||
107 | static unsigned int mbxfb_get_pixclock(unsigned int pixclock_ps, | ||
108 | struct pixclock_div *div) | ||
109 | { | ||
110 | u8 m, n, p; | ||
111 | unsigned int err = 0; | ||
112 | unsigned int min_err = ~0x0; | ||
113 | unsigned int clk; | ||
114 | unsigned int best_clk = 0; | ||
115 | unsigned int ref_clk = 13000; /* FIXME: take from platform data */ | ||
116 | unsigned int pixclock; | ||
117 | |||
118 | /* convert pixclock to KHz */ | ||
119 | pixclock = PICOS2KHZ(pixclock_ps); | ||
120 | |||
121 | for (m = 1; m < 64; m++) { | ||
122 | for (n = 1; n < 8; n++) { | ||
123 | for (p = 0; p < 8; p++) { | ||
124 | clk = (ref_clk * m) / (n * (1 << p)); | ||
125 | err = (clk > pixclock) ? (clk - pixclock) : | ||
126 | (pixclock - clk); | ||
127 | if (err < min_err) { | ||
128 | min_err = err; | ||
129 | best_clk = clk; | ||
130 | div->m = m; | ||
131 | div->n = n; | ||
132 | div->p = p; | ||
133 | } | ||
134 | } | ||
135 | } | ||
136 | } | ||
137 | return KHZ2PICOS(best_clk); | ||
138 | } | ||
139 | |||
140 | static int mbxfb_setcolreg(u_int regno, u_int red, u_int green, u_int blue, | ||
141 | u_int trans, struct fb_info *info) | ||
142 | { | ||
143 | u32 val, ret = 1; | ||
144 | |||
145 | if (regno < MAX_PALETTES) { | ||
146 | u32 *pal = info->pseudo_palette; | ||
147 | |||
148 | val = (red & 0xf800) | ((green & 0xfc00) >> 5) | | ||
149 | ((blue & 0xf800) >> 11); | ||
150 | pal[regno] = val; | ||
151 | ret = 0; | ||
152 | } | ||
153 | |||
154 | return ret; | ||
155 | } | ||
156 | |||
157 | static int mbxfb_check_var(struct fb_var_screeninfo *var, struct fb_info *info) | ||
158 | { | ||
159 | struct pixclock_div div; | ||
160 | |||
161 | var->pixclock = mbxfb_get_pixclock(var->pixclock, &div); | ||
162 | |||
163 | if (var->xres < MIN_XRES) | ||
164 | var->xres = MIN_XRES; | ||
165 | if (var->yres < MIN_YRES) | ||
166 | var->yres = MIN_YRES; | ||
167 | if (var->xres > MAX_XRES) | ||
168 | return -EINVAL; | ||
169 | if (var->yres > MAX_YRES) | ||
170 | return -EINVAL; | ||
171 | var->xres_virtual = max(var->xres_virtual, var->xres); | ||
172 | var->yres_virtual = max(var->yres_virtual, var->yres); | ||
173 | |||
174 | switch (var->bits_per_pixel) { | ||
175 | /* 8 bits-per-pixel is not supported yet */ | ||
176 | case 8: | ||
177 | return -EINVAL; | ||
178 | case 16: | ||
179 | var->green.length = (var->green.length == 5) ? 5 : 6; | ||
180 | var->red.length = 5; | ||
181 | var->blue.length = 5; | ||
182 | var->transp.length = 6 - var->green.length; | ||
183 | var->blue.offset = 0; | ||
184 | var->green.offset = 5; | ||
185 | var->red.offset = 5 + var->green.length; | ||
186 | var->transp.offset = (5 + var->red.offset) & 15; | ||
187 | break; | ||
188 | case 24: /* RGB 888 */ | ||
189 | case 32: /* RGBA 8888 */ | ||
190 | var->red.offset = 16; | ||
191 | var->red.length = 8; | ||
192 | var->green.offset = 8; | ||
193 | var->green.length = 8; | ||
194 | var->blue.offset = 0; | ||
195 | var->blue.length = 8; | ||
196 | var->transp.length = var->bits_per_pixel - 24; | ||
197 | var->transp.offset = (var->transp.length) ? 24 : 0; | ||
198 | break; | ||
199 | } | ||
200 | var->red.msb_right = 0; | ||
201 | var->green.msb_right = 0; | ||
202 | var->blue.msb_right = 0; | ||
203 | var->transp.msb_right = 0; | ||
204 | |||
205 | return 0; | ||
206 | } | ||
207 | |||
208 | static int mbxfb_set_par(struct fb_info *info) | ||
209 | { | ||
210 | struct fb_var_screeninfo *var = &info->var; | ||
211 | struct pixclock_div div; | ||
212 | ushort hbps, ht, hfps, has; | ||
213 | ushort vbps, vt, vfps, vas; | ||
214 | u32 gsctrl = readl(GSCTRL); | ||
215 | u32 gsadr = readl(GSADR); | ||
216 | |||
217 | info->fix.line_length = var->xres_virtual * var->bits_per_pixel / 8; | ||
218 | |||
219 | /* setup color mode */ | ||
220 | gsctrl &= ~(FMsk(GSCTRL_GPIXFMT)); | ||
221 | /* FIXME: add *WORKING* support for 8-bits per color */ | ||
222 | if (info->var.bits_per_pixel == 8) { | ||
223 | return -EINVAL; | ||
224 | } else { | ||
225 | fb_dealloc_cmap(&info->cmap); | ||
226 | gsctrl &= ~GSCTRL_LUT_EN; | ||
227 | |||
228 | info->fix.visual = FB_VISUAL_TRUECOLOR; | ||
229 | switch (info->var.bits_per_pixel) { | ||
230 | case 16: | ||
231 | if (info->var.green.length == 5) | ||
232 | gsctrl |= GSCTRL_GPIXFMT_ARGB1555; | ||
233 | else | ||
234 | gsctrl |= GSCTRL_GPIXFMT_RGB565; | ||
235 | break; | ||
236 | case 24: | ||
237 | gsctrl |= GSCTRL_GPIXFMT_RGB888; | ||
238 | break; | ||
239 | case 32: | ||
240 | gsctrl |= GSCTRL_GPIXFMT_ARGB8888; | ||
241 | break; | ||
242 | } | ||
243 | } | ||
244 | |||
245 | /* setup resolution */ | ||
246 | gsctrl &= ~(FMsk(GSCTRL_GSWIDTH) | FMsk(GSCTRL_GSHEIGHT)); | ||
247 | gsctrl |= Gsctrl_Width(info->var.xres - 1) | | ||
248 | Gsctrl_Height(info->var.yres - 1); | ||
249 | writel(gsctrl, GSCTRL); | ||
250 | udelay(1000); | ||
251 | |||
252 | gsadr &= ~(FMsk(GSADR_SRCSTRIDE)); | ||
253 | gsadr |= Gsadr_Srcstride(info->var.xres * info->var.bits_per_pixel / | ||
254 | (8 * 16) - 1); | ||
255 | writel(gsadr, GSADR); | ||
256 | udelay(1000); | ||
257 | |||
258 | /* setup timings */ | ||
259 | var->pixclock = mbxfb_get_pixclock(info->var.pixclock, &div); | ||
260 | |||
261 | writel((Disp_Pll_M(div.m) | Disp_Pll_N(div.n) | | ||
262 | Disp_Pll_P(div.p) | DISP_PLL_EN), DISPPLL); | ||
263 | |||
264 | hbps = var->hsync_len; | ||
265 | has = hbps + var->left_margin; | ||
266 | hfps = has + var->xres; | ||
267 | ht = hfps + var->right_margin; | ||
268 | |||
269 | vbps = var->vsync_len; | ||
270 | vas = vbps + var->upper_margin; | ||
271 | vfps = vas + var->yres; | ||
272 | vt = vfps + var->lower_margin; | ||
273 | |||
274 | writel((Dht01_Hbps(hbps) | Dht01_Ht(ht)), DHT01); | ||
275 | writel((Dht02_Hlbs(has) | Dht02_Has(has)), DHT02); | ||
276 | writel((Dht03_Hfps(hfps) | Dht03_Hrbs(hfps)), DHT03); | ||
277 | writel((Dhdet_Hdes(has) | Dhdet_Hdef(hfps)), DHDET); | ||
278 | |||
279 | writel((Dvt01_Vbps(vbps) | Dvt01_Vt(vt)), DVT01); | ||
280 | writel((Dvt02_Vtbs(vas) | Dvt02_Vas(vas)), DVT02); | ||
281 | writel((Dvt03_Vfps(vfps) | Dvt03_Vbbs(vfps)), DVT03); | ||
282 | writel((Dvdet_Vdes(vas) | Dvdet_Vdef(vfps)), DVDET); | ||
283 | writel((Dvectrl_Vevent(vfps) | Dvectrl_Vfetch(vbps)), DVECTRL); | ||
284 | |||
285 | writel((readl(DSCTRL) | DSCTRL_SYNCGEN_EN), DSCTRL); | ||
286 | |||
287 | return 0; | ||
288 | } | ||
289 | |||
290 | static int mbxfb_blank(int blank, struct fb_info *info) | ||
291 | { | ||
292 | switch (blank) { | ||
293 | case FB_BLANK_POWERDOWN: | ||
294 | case FB_BLANK_VSYNC_SUSPEND: | ||
295 | case FB_BLANK_HSYNC_SUSPEND: | ||
296 | case FB_BLANK_NORMAL: | ||
297 | writel((readl(DSCTRL) & ~DSCTRL_SYNCGEN_EN), DSCTRL); | ||
298 | udelay(1000); | ||
299 | writel((readl(PIXCLK) & ~PIXCLK_EN), PIXCLK); | ||
300 | udelay(1000); | ||
301 | writel((readl(VOVRCLK) & ~VOVRCLK_EN), VOVRCLK); | ||
302 | udelay(1000); | ||
303 | break; | ||
304 | case FB_BLANK_UNBLANK: | ||
305 | writel((readl(DSCTRL) | DSCTRL_SYNCGEN_EN), DSCTRL); | ||
306 | udelay(1000); | ||
307 | writel((readl(PIXCLK) | PIXCLK_EN), PIXCLK); | ||
308 | udelay(1000); | ||
309 | break; | ||
310 | } | ||
311 | return 0; | ||
312 | } | ||
313 | |||
314 | static struct fb_ops mbxfb_ops = { | ||
315 | .owner = THIS_MODULE, | ||
316 | .fb_check_var = mbxfb_check_var, | ||
317 | .fb_set_par = mbxfb_set_par, | ||
318 | .fb_setcolreg = mbxfb_setcolreg, | ||
319 | .fb_fillrect = cfb_fillrect, | ||
320 | .fb_copyarea = cfb_copyarea, | ||
321 | .fb_imageblit = cfb_imageblit, | ||
322 | .fb_blank = mbxfb_blank, | ||
323 | }; | ||
324 | |||
325 | /* | ||
326 | Enable external SDRAM controller. Assume that all clocks are active | ||
327 | by now. | ||
328 | */ | ||
329 | static void __devinit setup_memc(struct fb_info *fbi) | ||
330 | { | ||
331 | struct mbxfb_info *mfbi = fbi->par; | ||
332 | unsigned long tmp; | ||
333 | int i; | ||
334 | |||
335 | /* FIXME: use platfrom specific parameters */ | ||
336 | /* setup SDRAM controller */ | ||
337 | writel((LMCFG_LMC_DS | LMCFG_LMC_TS | LMCFG_LMD_TS | | ||
338 | LMCFG_LMA_TS), | ||
339 | LMCFG); | ||
340 | udelay(1000); | ||
341 | |||
342 | writel(LMPWR_MC_PWR_ACT, LMPWR); | ||
343 | udelay(1000); | ||
344 | |||
345 | /* setup SDRAM timings */ | ||
346 | writel((Lmtim_Tras(7) | Lmtim_Trp(3) | Lmtim_Trcd(3) | | ||
347 | Lmtim_Trc(9) | Lmtim_Tdpl(2)), | ||
348 | LMTIM); | ||
349 | udelay(1000); | ||
350 | /* setup SDRAM refresh rate */ | ||
351 | writel(0xc2b, LMREFRESH); | ||
352 | udelay(1000); | ||
353 | /* setup SDRAM type parameters */ | ||
354 | writel((LMTYPE_CASLAT_3 | LMTYPE_BKSZ_2 | LMTYPE_ROWSZ_11 | | ||
355 | LMTYPE_COLSZ_8), | ||
356 | LMTYPE); | ||
357 | udelay(1000); | ||
358 | /* enable memory controller */ | ||
359 | writel(LMPWR_MC_PWR_ACT, LMPWR); | ||
360 | udelay(1000); | ||
361 | |||
362 | /* perform dummy reads */ | ||
363 | for ( i = 0; i < 16; i++ ) { | ||
364 | tmp = readl(fbi->screen_base); | ||
365 | } | ||
366 | } | ||
367 | |||
368 | static void enable_clocks(struct fb_info *fbi) | ||
369 | { | ||
370 | /* enable clocks */ | ||
371 | writel(SYSCLKSRC_PLL_2, SYSCLKSRC); | ||
372 | udelay(1000); | ||
373 | writel(PIXCLKSRC_PLL_1, PIXCLKSRC); | ||
374 | udelay(1000); | ||
375 | writel(0x00000000, CLKSLEEP); | ||
376 | udelay(1000); | ||
377 | writel((Core_Pll_M(0x17) | Core_Pll_N(0x3) | Core_Pll_P(0x0) | | ||
378 | CORE_PLL_EN), | ||
379 | COREPLL); | ||
380 | udelay(1000); | ||
381 | writel((Disp_Pll_M(0x1b) | Disp_Pll_N(0x7) | Disp_Pll_P(0x1) | | ||
382 | DISP_PLL_EN), | ||
383 | DISPPLL); | ||
384 | |||
385 | writel(0x00000000, VOVRCLK); | ||
386 | udelay(1000); | ||
387 | writel(PIXCLK_EN, PIXCLK); | ||
388 | udelay(1000); | ||
389 | writel(MEMCLK_EN, MEMCLK); | ||
390 | udelay(1000); | ||
391 | writel(0x00000006, M24CLK); | ||
392 | udelay(1000); | ||
393 | writel(0x00000006, MBXCLK); | ||
394 | udelay(1000); | ||
395 | writel(SDCLK_EN, SDCLK); | ||
396 | udelay(1000); | ||
397 | writel(0x00000001, PIXCLKDIV); | ||
398 | udelay(1000); | ||
399 | } | ||
400 | |||
401 | static void __devinit setup_graphics(struct fb_info *fbi) | ||
402 | { | ||
403 | unsigned long gsctrl; | ||
404 | |||
405 | gsctrl = GSCTRL_GAMMA_EN | Gsctrl_Width(fbi->var.xres - 1) | | ||
406 | Gsctrl_Height(fbi->var.yres - 1); | ||
407 | switch (fbi->var.bits_per_pixel) { | ||
408 | case 16: | ||
409 | if (fbi->var.green.length == 5) | ||
410 | gsctrl |= GSCTRL_GPIXFMT_ARGB1555; | ||
411 | else | ||
412 | gsctrl |= GSCTRL_GPIXFMT_RGB565; | ||
413 | break; | ||
414 | case 24: | ||
415 | gsctrl |= GSCTRL_GPIXFMT_RGB888; | ||
416 | break; | ||
417 | case 32: | ||
418 | gsctrl |= GSCTRL_GPIXFMT_ARGB8888; | ||
419 | break; | ||
420 | } | ||
421 | |||
422 | writel(gsctrl, GSCTRL); | ||
423 | udelay(1000); | ||
424 | writel(0x00000000, GBBASE); | ||
425 | udelay(1000); | ||
426 | writel(0x00ffffff, GDRCTRL); | ||
427 | udelay(1000); | ||
428 | writel((GSCADR_STR_EN | Gscadr_Gbase_Adr(0x6000)), GSCADR); | ||
429 | udelay(1000); | ||
430 | writel(0x00000000, GPLUT); | ||
431 | udelay(1000); | ||
432 | } | ||
433 | |||
434 | static void __devinit setup_display(struct fb_info *fbi) | ||
435 | { | ||
436 | unsigned long dsctrl = 0; | ||
437 | |||
438 | dsctrl = DSCTRL_BLNK_POL; | ||
439 | if (fbi->var.sync & FB_SYNC_HOR_HIGH_ACT) | ||
440 | dsctrl |= DSCTRL_HS_POL; | ||
441 | if (fbi->var.sync & FB_SYNC_VERT_HIGH_ACT) | ||
442 | dsctrl |= DSCTRL_VS_POL; | ||
443 | writel(dsctrl, DSCTRL); | ||
444 | udelay(1000); | ||
445 | writel(0xd0303010, DMCTRL); | ||
446 | udelay(1000); | ||
447 | writel((readl(DSCTRL) | DSCTRL_SYNCGEN_EN), DSCTRL); | ||
448 | } | ||
449 | |||
450 | static void __devinit enable_controller(struct fb_info *fbi) | ||
451 | { | ||
452 | writel(SYSRST_RST, SYSRST); | ||
453 | udelay(1000); | ||
454 | |||
455 | |||
456 | enable_clocks(fbi); | ||
457 | setup_memc(fbi); | ||
458 | setup_graphics(fbi); | ||
459 | setup_display(fbi); | ||
460 | } | ||
461 | |||
462 | #ifdef CONFIG_PM | ||
463 | /* | ||
464 | * Power management hooks. Note that we won't be called from IRQ context, | ||
465 | * unlike the blank functions above, so we may sleep. | ||
466 | */ | ||
467 | static int mbxfb_suspend(struct platform_device *dev, pm_message_t state) | ||
468 | { | ||
469 | /* make frame buffer memory enter self-refresh mode */ | ||
470 | writel(LMPWR_MC_PWR_SRM, LMPWR); | ||
471 | while (LMPWRSTAT != LMPWRSTAT_MC_PWR_SRM) | ||
472 | ; /* empty statement */ | ||
473 | |||
474 | /* reset the device, since it's initial state is 'mostly sleeping' */ | ||
475 | writel(SYSRST_RST, SYSRST); | ||
476 | return 0; | ||
477 | } | ||
478 | |||
479 | static int mbxfb_resume(struct platform_device *dev) | ||
480 | { | ||
481 | struct fb_info *fbi = platform_get_drvdata(dev); | ||
482 | |||
483 | enable_clocks(fbi); | ||
484 | /* setup_graphics(fbi); */ | ||
485 | /* setup_display(fbi); */ | ||
486 | |||
487 | writel((readl(DSCTRL) | DSCTRL_SYNCGEN_EN), DSCTRL); | ||
488 | return 0; | ||
489 | } | ||
490 | #else | ||
491 | #define mbxfb_suspend NULL | ||
492 | #define mbxfb_resume NULL | ||
493 | #endif | ||
494 | |||
495 | /* debugfs entries */ | ||
496 | #ifndef CONFIG_FB_MBX_DEBUG | ||
497 | #define mbxfb_debugfs_init(x) do {} while(0) | ||
498 | #define mbxfb_debugfs_remove(x) do {} while(0) | ||
499 | #endif | ||
500 | |||
501 | #define res_size(_r) (((_r)->end - (_r)->start) + 1) | ||
502 | |||
503 | static int __devinit mbxfb_probe(struct platform_device *dev) | ||
504 | { | ||
505 | int ret; | ||
506 | struct fb_info *fbi; | ||
507 | struct mbxfb_info *mfbi; | ||
508 | struct mbxfb_platform_data *pdata; | ||
509 | |||
510 | dev_dbg(dev, "mbxfb_probe\n"); | ||
511 | |||
512 | fbi = framebuffer_alloc(sizeof(struct mbxfb_info), &dev->dev); | ||
513 | if (fbi == NULL) { | ||
514 | dev_err(&dev->dev, "framebuffer_alloc failed\n"); | ||
515 | return -ENOMEM; | ||
516 | } | ||
517 | |||
518 | mfbi = fbi->par; | ||
519 | fbi->pseudo_palette = mfbi->pseudo_palette; | ||
520 | pdata = dev->dev.platform_data; | ||
521 | if (pdata->probe) | ||
522 | mfbi->platform_probe = pdata->probe; | ||
523 | if (pdata->remove) | ||
524 | mfbi->platform_remove = pdata->remove; | ||
525 | |||
526 | mfbi->fb_res = platform_get_resource(dev, IORESOURCE_MEM, 0); | ||
527 | mfbi->reg_res = platform_get_resource(dev, IORESOURCE_MEM, 1); | ||
528 | |||
529 | if (!mfbi->fb_res || !mfbi->reg_res) { | ||
530 | dev_err(&dev->dev, "no resources found\n"); | ||
531 | ret = -ENODEV; | ||
532 | goto err1; | ||
533 | } | ||
534 | |||
535 | mfbi->fb_req = request_mem_region(mfbi->fb_res->start, | ||
536 | res_size(mfbi->fb_res), dev->name); | ||
537 | if (mfbi->fb_req == NULL) { | ||
538 | dev_err(&dev->dev, "failed to claim framebuffer memory\n"); | ||
539 | ret = -EINVAL; | ||
540 | goto err1; | ||
541 | } | ||
542 | mfbi->fb_phys_addr = mfbi->fb_res->start; | ||
543 | |||
544 | mfbi->reg_req = request_mem_region(mfbi->reg_res->start, | ||
545 | res_size(mfbi->reg_res), dev->name); | ||
546 | if (mfbi->reg_req == NULL) { | ||
547 | dev_err(&dev->dev, "failed to claim Marathon registers\n"); | ||
548 | ret = -EINVAL; | ||
549 | goto err2; | ||
550 | } | ||
551 | mfbi->reg_phys_addr = mfbi->reg_res->start; | ||
552 | |||
553 | mfbi->reg_virt_addr = ioremap_nocache(mfbi->reg_phys_addr, | ||
554 | res_size(mfbi->reg_req)); | ||
555 | if (!mfbi->reg_virt_addr) { | ||
556 | dev_err(&dev->dev, "failed to ioremap Marathon registers\n"); | ||
557 | ret = -EINVAL; | ||
558 | goto err3; | ||
559 | } | ||
560 | virt_base_2700 = (unsigned long)mfbi->reg_virt_addr; | ||
561 | |||
562 | mfbi->fb_virt_addr = ioremap_nocache(mfbi->fb_phys_addr, | ||
563 | res_size(mfbi->fb_req)); | ||
564 | if (!mfbi->reg_virt_addr) { | ||
565 | dev_err(&dev->dev, "failed to ioremap frame buffer\n"); | ||
566 | ret = -EINVAL; | ||
567 | goto err4; | ||
568 | } | ||
569 | |||
570 | /* FIXME: get from platform */ | ||
571 | fbi->screen_base = (char __iomem *)(mfbi->fb_virt_addr + 0x60000); | ||
572 | fbi->screen_size = 8 * 1024 * 1024; /* 8 Megs */ | ||
573 | fbi->fbops = &mbxfb_ops; | ||
574 | |||
575 | fbi->var = mbxfb_default; | ||
576 | fbi->fix = mbxfb_fix; | ||
577 | fbi->fix.smem_start = mfbi->fb_phys_addr + 0x60000; | ||
578 | fbi->fix.smem_len = 8 * 1024 * 1024; | ||
579 | fbi->fix.line_length = 640 * 2; | ||
580 | |||
581 | ret = fb_alloc_cmap(&fbi->cmap, 256, 0); | ||
582 | if (ret < 0) { | ||
583 | dev_err(&dev->dev, "fb_alloc_cmap failed\n"); | ||
584 | ret = -EINVAL; | ||
585 | goto err5; | ||
586 | } | ||
587 | |||
588 | platform_set_drvdata(dev, fbi); | ||
589 | |||
590 | printk(KERN_INFO "fb%d: mbx frame buffer device\n", fbi->node); | ||
591 | |||
592 | if (mfbi->platform_probe) | ||
593 | mfbi->platform_probe(fbi); | ||
594 | |||
595 | enable_controller(fbi); | ||
596 | |||
597 | mbxfb_debugfs_init(fbi); | ||
598 | |||
599 | ret = register_framebuffer(fbi); | ||
600 | if (ret < 0) { | ||
601 | dev_err(&dev->dev, "register_framebuffer failed\n"); | ||
602 | ret = -EINVAL; | ||
603 | goto err6; | ||
604 | } | ||
605 | |||
606 | return 0; | ||
607 | |||
608 | err6: | ||
609 | fb_dealloc_cmap(&fbi->cmap); | ||
610 | err5: | ||
611 | iounmap(mfbi->fb_virt_addr); | ||
612 | err4: | ||
613 | iounmap(mfbi->reg_virt_addr); | ||
614 | err3: | ||
615 | release_mem_region(mfbi->reg_res->start, res_size(mfbi->reg_res)); | ||
616 | err2: | ||
617 | release_mem_region(mfbi->fb_res->start, res_size(mfbi->fb_res)); | ||
618 | err1: | ||
619 | framebuffer_release(fbi); | ||
620 | |||
621 | return ret; | ||
622 | } | ||
623 | |||
624 | static int __devexit mbxfb_remove(struct platform_device *dev) | ||
625 | { | ||
626 | struct fb_info *fbi = platform_get_drvdata(dev); | ||
627 | |||
628 | writel(SYSRST_RST, SYSRST); | ||
629 | udelay(1000); | ||
630 | |||
631 | mbxfb_debugfs_remove(fbi); | ||
632 | |||
633 | if (fbi) { | ||
634 | struct mbxfb_info *mfbi = fbi->par; | ||
635 | |||
636 | unregister_framebuffer(fbi); | ||
637 | if (mfbi) { | ||
638 | if (mfbi->platform_remove) | ||
639 | mfbi->platform_remove(fbi); | ||
640 | |||
641 | if (mfbi->fb_virt_addr) | ||
642 | iounmap(mfbi->fb_virt_addr); | ||
643 | if (mfbi->reg_virt_addr) | ||
644 | iounmap(mfbi->reg_virt_addr); | ||
645 | if (mfbi->reg_req) | ||
646 | release_mem_region(mfbi->reg_req->start, | ||
647 | res_size(mfbi->reg_req)); | ||
648 | if (mfbi->fb_req) | ||
649 | release_mem_region(mfbi->fb_req->start, | ||
650 | res_size(mfbi->fb_req)); | ||
651 | } | ||
652 | framebuffer_release(fbi); | ||
653 | } | ||
654 | |||
655 | return 0; | ||
656 | } | ||
657 | |||
658 | static struct platform_driver mbxfb_driver = { | ||
659 | .probe = mbxfb_probe, | ||
660 | .remove = mbxfb_remove, | ||
661 | .suspend = mbxfb_suspend, | ||
662 | .resume = mbxfb_resume, | ||
663 | .driver = { | ||
664 | .name = "mbx-fb", | ||
665 | }, | ||
666 | }; | ||
667 | |||
668 | int __devinit mbxfb_init(void) | ||
669 | { | ||
670 | return platform_driver_register(&mbxfb_driver); | ||
671 | } | ||
672 | |||
673 | static void __devexit mbxfb_exit(void) | ||
674 | { | ||
675 | platform_driver_unregister(&mbxfb_driver); | ||
676 | } | ||
677 | |||
678 | module_init(mbxfb_init); | ||
679 | module_exit(mbxfb_exit); | ||
680 | |||
681 | MODULE_DESCRIPTION("loadable framebuffer driver for Marathon device"); | ||
682 | MODULE_AUTHOR("Mike Rapoport, Compulab"); | ||
683 | MODULE_LICENSE("GPL"); | ||
diff --git a/drivers/video/mbx/reg_bits.h b/drivers/video/mbx/reg_bits.h new file mode 100644 index 000000000000..c226a8e45312 --- /dev/null +++ b/drivers/video/mbx/reg_bits.h | |||
@@ -0,0 +1,418 @@ | |||
1 | #ifndef __REG_BITS_2700G_ | ||
2 | #define __REG_BITS_2700G_ | ||
3 | |||
4 | /* use defines from asm-arm/arch-pxa/bitfields.h for bit fields access */ | ||
5 | #define UData(Data) ((unsigned long) (Data)) | ||
6 | #define Fld(Size, Shft) (((Size) << 16) + (Shft)) | ||
7 | #define FSize(Field) ((Field) >> 16) | ||
8 | #define FShft(Field) ((Field) & 0x0000FFFF) | ||
9 | #define FMsk(Field) (((UData (1) << FSize (Field)) - 1) << FShft (Field)) | ||
10 | #define FAlnMsk(Field) ((UData (1) << FSize (Field)) - 1) | ||
11 | #define F1stBit(Field) (UData (1) << FShft (Field)) | ||
12 | |||
13 | #define SYSRST_RST (1 << 0) | ||
14 | |||
15 | /* SYSCLKSRC - SYSCLK Source Control Register */ | ||
16 | #define SYSCLKSRC_SEL Fld(2,0) | ||
17 | #define SYSCLKSRC_REF ((0x0) << FShft(SYSCLKSRC_SEL)) | ||
18 | #define SYSCLKSRC_PLL_1 ((0x1) << FShft(SYSCLKSRC_SEL)) | ||
19 | #define SYSCLKSRC_PLL_2 ((0x2) << FShft(SYSCLKSRC_SEL)) | ||
20 | |||
21 | /* PIXCLKSRC - PIXCLK Source Control Register */ | ||
22 | #define PIXCLKSRC_SEL Fld(2,0) | ||
23 | #define PIXCLKSRC_REF ((0x0) << FShft(PIXCLKSRC_SEL)) | ||
24 | #define PIXCLKSRC_PLL_1 ((0x1) << FShft(PIXCLKSRC_SEL)) | ||
25 | #define PIXCLKSRC_PLL_2 ((0x2) << FShft(PIXCLKSRC_SEL)) | ||
26 | |||
27 | /* Clock Disable Register */ | ||
28 | #define CLKSLEEP_SLP (1 << 0) | ||
29 | |||
30 | /* Core PLL Control Register */ | ||
31 | #define CORE_PLL_M Fld(6,7) | ||
32 | #define Core_Pll_M(x) ((x) << FShft(CORE_PLL_M)) | ||
33 | #define CORE_PLL_N Fld(3,4) | ||
34 | #define Core_Pll_N(x) ((x) << FShft(CORE_PLL_N)) | ||
35 | #define CORE_PLL_P Fld(3,1) | ||
36 | #define Core_Pll_P(x) ((x) << FShft(CORE_PLL_P)) | ||
37 | #define CORE_PLL_EN (1 << 0) | ||
38 | |||
39 | /* Display PLL Control Register */ | ||
40 | #define DISP_PLL_M Fld(6,7) | ||
41 | #define Disp_Pll_M(x) ((x) << FShft(DISP_PLL_M)) | ||
42 | #define DISP_PLL_N Fld(3,4) | ||
43 | #define Disp_Pll_N(x) ((x) << FShft(DISP_PLL_N)) | ||
44 | #define DISP_PLL_P Fld(3,1) | ||
45 | #define Disp_Pll_P(x) ((x) << FShft(DISP_PLL_P)) | ||
46 | #define DISP_PLL_EN (1 << 0) | ||
47 | |||
48 | /* PLL status register */ | ||
49 | #define PLLSTAT_CORE_PLL_LOST_L (1 << 3) | ||
50 | #define PLLSTAT_CORE_PLL_LSTS (1 << 2) | ||
51 | #define PLLSTAT_DISP_PLL_LOST_L (1 << 1) | ||
52 | #define PLLSTAT_DISP_PLL_LSTS (1 << 0) | ||
53 | |||
54 | /* Video and scale clock control register */ | ||
55 | #define VOVRCLK_EN (1 << 0) | ||
56 | |||
57 | /* Pixel clock control register */ | ||
58 | #define PIXCLK_EN (1 << 0) | ||
59 | |||
60 | /* Memory clock control register */ | ||
61 | #define MEMCLK_EN (1 << 0) | ||
62 | |||
63 | /* MBX clock control register */ | ||
64 | #define MBXCLK_DIV Fld(2,2) | ||
65 | #define MBXCLK_DIV_1 ((0x0) << FShft(MBXCLK_DIV)) | ||
66 | #define MBXCLK_DIV_2 ((0x1) << FShft(MBXCLK_DIV)) | ||
67 | #define MBXCLK_DIV_3 ((0x2) << FShft(MBXCLK_DIV)) | ||
68 | #define MBXCLK_DIV_4 ((0x3) << FShft(MBXCLK_DIV)) | ||
69 | #define MBXCLK_EN Fld(2,0) | ||
70 | #define MBXCLK_EN_NONE ((0x0) << FShft(MBXCLK_EN)) | ||
71 | #define MBXCLK_EN_2D ((0x1) << FShft(MBXCLK_EN)) | ||
72 | #define MBXCLK_EN_BOTH ((0x2) << FShft(MBXCLK_EN)) | ||
73 | |||
74 | /* M24 clock control register */ | ||
75 | #define M24CLK_DIV Fld(2,1) | ||
76 | #define M24CLK_DIV_1 ((0x0) << FShft(M24CLK_DIV)) | ||
77 | #define M24CLK_DIV_2 ((0x1) << FShft(M24CLK_DIV)) | ||
78 | #define M24CLK_DIV_3 ((0x2) << FShft(M24CLK_DIV)) | ||
79 | #define M24CLK_DIV_4 ((0x3) << FShft(M24CLK_DIV)) | ||
80 | #define M24CLK_EN (1 << 0) | ||
81 | |||
82 | /* SDRAM clock control register */ | ||
83 | #define SDCLK_EN (1 << 0) | ||
84 | |||
85 | /* PixClk Divisor Register */ | ||
86 | #define PIXCLKDIV_PD Fld(9,0) | ||
87 | #define Pixclkdiv_Pd(x) ((x) << FShft(PIXCLKDIV_PD)) | ||
88 | |||
89 | /* LCD Config control register */ | ||
90 | #define LCDCFG_IN_FMT Fld(3,28) | ||
91 | #define Lcdcfg_In_Fmt(x) ((x) << FShft(LCDCFG_IN_FMT)) | ||
92 | #define LCDCFG_LCD1DEN_POL (1 << 27) | ||
93 | #define LCDCFG_LCD1FCLK_POL (1 << 26) | ||
94 | #define LCDCFG_LCD1LCLK_POL (1 << 25) | ||
95 | #define LCDCFG_LCD1D_POL (1 << 24) | ||
96 | #define LCDCFG_LCD2DEN_POL (1 << 23) | ||
97 | #define LCDCFG_LCD2FCLK_POL (1 << 22) | ||
98 | #define LCDCFG_LCD2LCLK_POL (1 << 21) | ||
99 | #define LCDCFG_LCD2D_POL (1 << 20) | ||
100 | #define LCDCFG_LCD1_TS (1 << 19) | ||
101 | #define LCDCFG_LCD1D_DS (1 << 18) | ||
102 | #define LCDCFG_LCD1C_DS (1 << 17) | ||
103 | #define LCDCFG_LCD1_IS_IN (1 << 16) | ||
104 | #define LCDCFG_LCD2_TS (1 << 3) | ||
105 | #define LCDCFG_LCD2D_DS (1 << 2) | ||
106 | #define LCDCFG_LCD2C_DS (1 << 1) | ||
107 | #define LCDCFG_LCD2_IS_IN (1 << 0) | ||
108 | |||
109 | /* On-Die Frame Buffer Power Control Register */ | ||
110 | #define ODFBPWR_SLOW (1 << 2) | ||
111 | #define ODFBPWR_MODE Fld(2,0) | ||
112 | #define ODFBPWR_MODE_ACT ((0x0) << FShft(ODFBPWR_MODE)) | ||
113 | #define ODFBPWR_MODE_ACT_LP ((0x1) << FShft(ODFBPWR_MODE)) | ||
114 | #define ODFBPWR_MODE_SLEEP ((0x2) << FShft(ODFBPWR_MODE)) | ||
115 | #define ODFBPWR_MODE_SHUTD ((0x3) << FShft(ODFBPWR_MODE)) | ||
116 | |||
117 | /* On-Die Frame Buffer Power State Status Register */ | ||
118 | #define ODFBSTAT_ACT (1 << 2) | ||
119 | #define ODFBSTAT_SLP (1 << 1) | ||
120 | #define ODFBSTAT_SDN (1 << 0) | ||
121 | |||
122 | /* LMRST - Local Memory (SDRAM) Reset */ | ||
123 | #define LMRST_MC_RST (1 << 0) | ||
124 | |||
125 | /* LMCFG - Local Memory (SDRAM) Configuration Register */ | ||
126 | #define LMCFG_LMC_DS (1 << 5) | ||
127 | #define LMCFG_LMD_DS (1 << 4) | ||
128 | #define LMCFG_LMA_DS (1 << 3) | ||
129 | #define LMCFG_LMC_TS (1 << 2) | ||
130 | #define LMCFG_LMD_TS (1 << 1) | ||
131 | #define LMCFG_LMA_TS (1 << 0) | ||
132 | |||
133 | /* LMPWR - Local Memory (SDRAM) Power Control Register */ | ||
134 | #define LMPWR_MC_PWR_CNT Fld(2,0) | ||
135 | #define LMPWR_MC_PWR_ACT ((0x0) << FShft(LMPWR_MC_PWR_CNT)) /* Active */ | ||
136 | #define LMPWR_MC_PWR_SRM ((0x1) << FShft(LMPWR_MC_PWR_CNT)) /* Self-refresh */ | ||
137 | #define LMPWR_MC_PWR_DPD ((0x3) << FShft(LMPWR_MC_PWR_CNT)) /* deep power down */ | ||
138 | |||
139 | /* LMPWRSTAT - Local Memory (SDRAM) Power Status Register */ | ||
140 | #define LMPWRSTAT_MC_PWR_CNT Fld(2,0) | ||
141 | #define LMPWRSTAT_MC_PWR_ACT ((0x0) << FShft(LMPWRSTAT_MC_PWR_CNT)) /* Active */ | ||
142 | #define LMPWRSTAT_MC_PWR_SRM ((0x1) << FShft(LMPWRSTAT_MC_PWR_CNT)) /* Self-refresh */ | ||
143 | #define LMPWRSTAT_MC_PWR_DPD ((0x3) << FShft(LMPWRSTAT_MC_PWR_CNT)) /* deep power down */ | ||
144 | |||
145 | /* LMTYPE - Local Memory (SDRAM) Type Register */ | ||
146 | #define LMTYPE_CASLAT Fld(3,10) | ||
147 | #define LMTYPE_CASLAT_1 ((0x1) << FShft(LMTYPE_CASLAT)) | ||
148 | #define LMTYPE_CASLAT_2 ((0x2) << FShft(LMTYPE_CASLAT)) | ||
149 | #define LMTYPE_CASLAT_3 ((0x3) << FShft(LMTYPE_CASLAT)) | ||
150 | #define LMTYPE_BKSZ Fld(2,8) | ||
151 | #define LMTYPE_BKSZ_1 ((0x1) << FShft(LMTYPE_BKSZ)) | ||
152 | #define LMTYPE_BKSZ_2 ((0x2) << FShft(LMTYPE_BKSZ)) | ||
153 | #define LMTYPE_ROWSZ Fld(4,4) | ||
154 | #define LMTYPE_ROWSZ_11 ((0xb) << FShft(LMTYPE_ROWSZ)) | ||
155 | #define LMTYPE_ROWSZ_12 ((0xc) << FShft(LMTYPE_ROWSZ)) | ||
156 | #define LMTYPE_ROWSZ_13 ((0xd) << FShft(LMTYPE_ROWSZ)) | ||
157 | #define LMTYPE_COLSZ Fld(4,0) | ||
158 | #define LMTYPE_COLSZ_7 ((0x7) << FShft(LMTYPE_COLSZ)) | ||
159 | #define LMTYPE_COLSZ_8 ((0x8) << FShft(LMTYPE_COLSZ)) | ||
160 | #define LMTYPE_COLSZ_9 ((0x9) << FShft(LMTYPE_COLSZ)) | ||
161 | #define LMTYPE_COLSZ_10 ((0xa) << FShft(LMTYPE_COLSZ)) | ||
162 | #define LMTYPE_COLSZ_11 ((0xb) << FShft(LMTYPE_COLSZ)) | ||
163 | #define LMTYPE_COLSZ_12 ((0xc) << FShft(LMTYPE_COLSZ)) | ||
164 | |||
165 | /* LMTIM - Local Memory (SDRAM) Timing Register */ | ||
166 | #define LMTIM_TRAS Fld(4,16) | ||
167 | #define Lmtim_Tras(x) ((x) << FShft(LMTIM_TRAS)) | ||
168 | #define LMTIM_TRP Fld(4,12) | ||
169 | #define Lmtim_Trp(x) ((x) << FShft(LMTIM_TRP)) | ||
170 | #define LMTIM_TRCD Fld(4,8) | ||
171 | #define Lmtim_Trcd(x) ((x) << FShft(LMTIM_TRCD)) | ||
172 | #define LMTIM_TRC Fld(4,4) | ||
173 | #define Lmtim_Trc(x) ((x) << FShft(LMTIM_TRC)) | ||
174 | #define LMTIM_TDPL Fld(4,0) | ||
175 | #define Lmtim_Tdpl(x) ((x) << FShft(LMTIM_TDPL)) | ||
176 | |||
177 | /* LMREFRESH - Local Memory (SDRAM) tREF Control Register */ | ||
178 | #define LMREFRESH_TREF Fld(2,0) | ||
179 | #define Lmrefresh_Tref(x) ((x) << FShft(LMREFRESH_TREF)) | ||
180 | |||
181 | /* GSCTRL - Graphics surface control register */ | ||
182 | #define GSCTRL_LUT_EN (1 << 31) | ||
183 | #define GSCTRL_GPIXFMT Fld(4,27) | ||
184 | #define GSCTRL_GPIXFMT_INDEXED ((0x0) << FShft(GSCTRL_GPIXFMT)) | ||
185 | #define GSCTRL_GPIXFMT_ARGB4444 ((0x4) << FShft(GSCTRL_GPIXFMT)) | ||
186 | #define GSCTRL_GPIXFMT_ARGB1555 ((0x5) << FShft(GSCTRL_GPIXFMT)) | ||
187 | #define GSCTRL_GPIXFMT_RGB888 ((0x6) << FShft(GSCTRL_GPIXFMT)) | ||
188 | #define GSCTRL_GPIXFMT_RGB565 ((0x7) << FShft(GSCTRL_GPIXFMT)) | ||
189 | #define GSCTRL_GPIXFMT_ARGB8888 ((0x8) << FShft(GSCTRL_GPIXFMT)) | ||
190 | #define GSCTRL_GAMMA_EN (1 << 26) | ||
191 | |||
192 | #define GSCTRL_GSWIDTH Fld(11,11) | ||
193 | #define Gsctrl_Width(Pixel) /* Display Width [1..2048 pix.] */ \ | ||
194 | (((Pixel) - 1) << FShft(GSCTRL_GSWIDTH)) | ||
195 | |||
196 | #define GSCTRL_GSHEIGHT Fld(11,0) | ||
197 | #define Gsctrl_Height(Pixel) /* Display Height [1..2048 pix.] */ \ | ||
198 | (((Pixel) - 1) << FShft(GSCTRL_GSHEIGHT)) | ||
199 | |||
200 | /* GBBASE fileds */ | ||
201 | #define GBBASE_GLALPHA Fld(8,24) | ||
202 | #define Gbbase_Glalpha(x) ((x) << FShft(GBBASE_GLALPHA)) | ||
203 | |||
204 | #define GBBASE_COLKEY Fld(24,0) | ||
205 | #define Gbbase_Colkey(x) ((x) << FShft(GBBASE_COLKEY)) | ||
206 | |||
207 | /* GDRCTRL fields */ | ||
208 | #define GDRCTRL_PIXDBL (1 << 31) | ||
209 | #define GDRCTRL_PIXHLV (1 << 30) | ||
210 | #define GDRCTRL_LNDBL (1 << 29) | ||
211 | #define GDRCTRL_LNHLV (1 << 28) | ||
212 | #define GDRCTRL_COLKEYM Fld(24,0) | ||
213 | #define Gdrctrl_Colkeym(x) ((x) << FShft(GDRCTRL_COLKEYM)) | ||
214 | |||
215 | /* GSCADR graphics stream control address register fields */ | ||
216 | #define GSCADR_STR_EN (1 << 31) | ||
217 | #define GSCADR_COLKEY_EN (1 << 30) | ||
218 | #define GSCADR_COLKEYSCR (1 << 29) | ||
219 | #define GSCADR_BLEND_M Fld(2,27) | ||
220 | #define GSCADR_BLEND_NONE ((0x0) << FShft(GSCADR_BLEND_M)) | ||
221 | #define GSCADR_BLEND_INV ((0x1) << FShft(GSCADR_BLEND_M)) | ||
222 | #define GSCADR_BLEND_GLOB ((0x2) << FShft(GSCADR_BLEND_M)) | ||
223 | #define GSCADR_BLEND_PIX ((0x3) << FShft(GSCADR_BLEND_M)) | ||
224 | #define GSCADR_BLEND_POS Fld(2,24) | ||
225 | #define GSCADR_BLEND_GFX ((0x0) << FShft(GSCADR_BLEND_POS)) | ||
226 | #define GSCADR_BLEND_VID ((0x1) << FShft(GSCADR_BLEND_POS)) | ||
227 | #define GSCADR_BLEND_CUR ((0x2) << FShft(GSCADR_BLEND_POS)) | ||
228 | #define GSCADR_GBASE_ADR Fld(23,0) | ||
229 | #define Gscadr_Gbase_Adr(x) ((x) << FShft(GSCADR_GBASE_ADR)) | ||
230 | |||
231 | /* GSADR graphics stride address register fields */ | ||
232 | #define GSADR_SRCSTRIDE Fld(10,22) | ||
233 | #define Gsadr_Srcstride(x) ((x) << FShft(GSADR_SRCSTRIDE)) | ||
234 | #define GSADR_XSTART Fld(11,11) | ||
235 | #define Gsadr_Xstart(x) ((x) << FShft(GSADR_XSTART)) | ||
236 | #define GSADR_YSTART Fld(11,0) | ||
237 | #define Gsadr_Ystart(y) ((y) << FShft(GSADR_YSTART)) | ||
238 | |||
239 | /* GPLUT graphics palette register fields */ | ||
240 | #define GPLUT_LUTADR Fld(8,24) | ||
241 | #define Gplut_Lutadr(x) ((x) << FShft(GPLUT_LUTADR)) | ||
242 | #define GPLUT_LUTDATA Fld(24,0) | ||
243 | #define Gplut_Lutdata(x) ((x) << FShft(GPLUT_LUTDATA)) | ||
244 | |||
245 | /* HCCTRL - Hardware Cursor Register fields */ | ||
246 | #define HCCTRL_CUR_EN (1 << 31) | ||
247 | #define HCCTRL_COLKEY_EN (1 << 29) | ||
248 | #define HCCTRL_COLKEYSRC (1 << 28) | ||
249 | #define HCCTRL_BLEND_M Fld(2,26) | ||
250 | #define HCCTRL_BLEND_NONE ((0x0) << FShft(HCCTRL_BLEND_M)) | ||
251 | #define HCCTRL_BLEND_INV ((0x1) << FShft(HCCTRL_BLEND_M)) | ||
252 | #define HCCTRL_BLEND_GLOB ((0x2) << FShft(HCCTRL_BLEND_M)) | ||
253 | #define HCCTRL_BLEND_PIX ((0x3) << FShft(HCCTRL_BLEND_M)) | ||
254 | #define HCCTRL_CPIXFMT Fld(3,23) | ||
255 | #define HCCTRL_CPIXFMT_RGB332 ((0x3) << FShft(HCCTRL_CPIXFMT)) | ||
256 | #define HCCTRL_CPIXFMT_ARGB4444 ((0x4) << FShft(HCCTRL_CPIXFMT)) | ||
257 | #define HCCTRL_CPIXFMT_ARGB1555 ((0x5) << FShft(HCCTRL_CPIXFMT)) | ||
258 | #define HCCTRL_CBASE_ADR Fld(23,0) | ||
259 | #define Hcctrl_Cbase_Adr(x) ((x) << FShft(HCCTRL_CBASE_ADR)) | ||
260 | |||
261 | /* HCSIZE Hardware Cursor Size Register fields */ | ||
262 | #define HCSIZE_BLEND_POS Fld(2,29) | ||
263 | #define HCSIZE_BLEND_GFX ((0x0) << FShft(HCSIZE_BLEND_POS)) | ||
264 | #define HCSIZE_BLEND_VID ((0x1) << FShft(HCSIZE_BLEND_POS)) | ||
265 | #define HCSIZE_BLEND_CUR ((0x2) << FShft(HCSIZE_BLEND_POS)) | ||
266 | #define HCSIZE_CWIDTH Fld(3,16) | ||
267 | #define Hcsize_Cwidth(x) ((x) << FShft(HCSIZE_CWIDTH)) | ||
268 | #define HCSIZE_CHEIGHT Fld(3,0) | ||
269 | #define Hcsize_Cheight(x) ((x) << FShft(HCSIZE_CHEIGHT)) | ||
270 | |||
271 | /* HCPOS Hardware Cursor Position Register fields */ | ||
272 | #define HCPOS_SWITCHSRC (1 << 30) | ||
273 | #define HCPOS_CURBLINK Fld(6,24) | ||
274 | #define Hcpos_Curblink(x) ((x) << FShft(HCPOS_CURBLINK)) | ||
275 | #define HCPOS_XSTART Fld(12,12) | ||
276 | #define Hcpos_Xstart(x) ((x) << FShft(HCPOS_XSTART)) | ||
277 | #define HCPOS_YSTART Fld(12,0) | ||
278 | #define Hcpos_Ystart(y) ((y) << FShft(HCPOS_YSTART)) | ||
279 | |||
280 | /* HCBADR Hardware Cursor Blend Address Register */ | ||
281 | #define HCBADR_GLALPHA Fld(8,24) | ||
282 | #define Hcbadr_Glalpha(x) ((x) << FShft(HCBADR_GLALPHA)) | ||
283 | #define HCBADR_COLKEY Fld(24,0) | ||
284 | #define Hcbadr_Colkey(x) ((x) << FShft(HCBADR_COLKEY)) | ||
285 | |||
286 | /* HCCKMSK - Hardware Cursor Color Key Mask Register */ | ||
287 | #define HCCKMSK_COLKEY_M Fld(24,0) | ||
288 | #define Hcckmsk_Colkey_M(x) ((x) << FShft(HCCKMSK_COLKEY_M)) | ||
289 | |||
290 | /* DSCTRL - Display sync control register */ | ||
291 | #define DSCTRL_SYNCGEN_EN (1 << 31) | ||
292 | #define DSCTRL_DPL_RST (1 << 29) | ||
293 | #define DSCTRL_PWRDN_M (1 << 28) | ||
294 | #define DSCTRL_UPDSYNCCNT (1 << 26) | ||
295 | #define DSCTRL_UPDINTCNT (1 << 25) | ||
296 | #define DSCTRL_UPDCNT (1 << 24) | ||
297 | #define DSCTRL_UPDWAIT Fld(4,16) | ||
298 | #define Dsctrl_Updwait(x) ((x) << FShft(DSCTRL_UPDWAIT)) | ||
299 | #define DSCTRL_CLKPOL (1 << 11) | ||
300 | #define DSCTRL_CSYNC_EN (1 << 10) | ||
301 | #define DSCTRL_VS_SLAVE (1 << 7) | ||
302 | #define DSCTRL_HS_SLAVE (1 << 6) | ||
303 | #define DSCTRL_BLNK_POL (1 << 5) | ||
304 | #define DSCTRL_BLNK_DIS (1 << 4) | ||
305 | #define DSCTRL_VS_POL (1 << 3) | ||
306 | #define DSCTRL_VS_DIS (1 << 2) | ||
307 | #define DSCTRL_HS_POL (1 << 1) | ||
308 | #define DSCTRL_HS_DIS (1 << 0) | ||
309 | |||
310 | /* DHT01 - Display horizontal timing register 01 */ | ||
311 | #define DHT01_HBPS Fld(12,16) | ||
312 | #define Dht01_Hbps(x) ((x) << FShft(DHT01_HBPS)) | ||
313 | #define DHT01_HT Fld(12,0) | ||
314 | #define Dht01_Ht(x) ((x) << FShft(DHT01_HT)) | ||
315 | |||
316 | /* DHT02 - Display horizontal timing register 02 */ | ||
317 | #define DHT02_HAS Fld(12,16) | ||
318 | #define Dht02_Has(x) ((x) << FShft(DHT02_HAS)) | ||
319 | #define DHT02_HLBS Fld(12,0) | ||
320 | #define Dht02_Hlbs(x) ((x) << FShft(DHT02_HLBS)) | ||
321 | |||
322 | /* DHT03 - Display horizontal timing register 03 */ | ||
323 | #define DHT03_HFPS Fld(12,16) | ||
324 | #define Dht03_Hfps(x) ((x) << FShft(DHT03_HFPS)) | ||
325 | #define DHT03_HRBS Fld(12,0) | ||
326 | #define Dht03_Hrbs(x) ((x) << FShft(DHT03_HRBS)) | ||
327 | |||
328 | /* DVT01 - Display vertical timing register 01 */ | ||
329 | #define DVT01_VBPS Fld(12,16) | ||
330 | #define Dvt01_Vbps(x) ((x) << FShft(DVT01_VBPS)) | ||
331 | #define DVT01_VT Fld(12,0) | ||
332 | #define Dvt01_Vt(x) ((x) << FShft(DVT01_VT)) | ||
333 | |||
334 | /* DVT02 - Display vertical timing register 02 */ | ||
335 | #define DVT02_VAS Fld(12,16) | ||
336 | #define Dvt02_Vas(x) ((x) << FShft(DVT02_VAS)) | ||
337 | #define DVT02_VTBS Fld(12,0) | ||
338 | #define Dvt02_Vtbs(x) ((x) << FShft(DVT02_VTBS)) | ||
339 | |||
340 | /* DVT03 - Display vertical timing register 03 */ | ||
341 | #define DVT03_VFPS Fld(12,16) | ||
342 | #define Dvt03_Vfps(x) ((x) << FShft(DVT03_VFPS)) | ||
343 | #define DVT03_VBBS Fld(12,0) | ||
344 | #define Dvt03_Vbbs(x) ((x) << FShft(DVT03_VBBS)) | ||
345 | |||
346 | /* DVECTRL - display vertical event control register */ | ||
347 | #define DVECTRL_VEVENT Fld(12,16) | ||
348 | #define Dvectrl_Vevent(x) ((x) << FShft(DVECTRL_VEVENT)) | ||
349 | #define DVECTRL_VFETCH Fld(12,0) | ||
350 | #define Dvectrl_Vfetch(x) ((x) << FShft(DVECTRL_VFETCH)) | ||
351 | |||
352 | /* DHDET - display horizontal DE timing register */ | ||
353 | #define DHDET_HDES Fld(12,16) | ||
354 | #define Dhdet_Hdes(x) ((x) << FShft(DHDET_HDES)) | ||
355 | #define DHDET_HDEF Fld(12,0) | ||
356 | #define Dhdet_Hdef(x) ((x) << FShft(DHDET_HDEF)) | ||
357 | |||
358 | /* DVDET - display vertical DE timing register */ | ||
359 | #define DVDET_VDES Fld(12,16) | ||
360 | #define Dvdet_Vdes(x) ((x) << FShft(DVDET_VDES)) | ||
361 | #define DVDET_VDEF Fld(12,0) | ||
362 | #define Dvdet_Vdef(x) ((x) << FShft(DVDET_VDEF)) | ||
363 | |||
364 | /* DODMSK - display output data mask register */ | ||
365 | #define DODMSK_MASK_LVL (1 << 31) | ||
366 | #define DODMSK_BLNK_LVL (1 << 30) | ||
367 | #define DODMSK_MASK_B Fld(8,16) | ||
368 | #define Dodmsk_Mask_B(x) ((x) << FShft(DODMSK_MASK_B)) | ||
369 | #define DODMSK_MASK_G Fld(8,8) | ||
370 | #define Dodmsk_Mask_G(x) ((x) << FShft(DODMSK_MASK_G)) | ||
371 | #define DODMSK_MASK_R Fld(8,0) | ||
372 | #define Dodmsk_Mask_R(x) ((x) << FShft(DODMSK_MASK_R)) | ||
373 | |||
374 | /* DBCOL - display border color control register */ | ||
375 | #define DBCOL_BORDCOL Fld(24,0) | ||
376 | #define Dbcol_Bordcol(x) ((x) << FShft(DBCOL_BORDCOL)) | ||
377 | |||
378 | /* DVLNUM - display vertical line number register */ | ||
379 | #define DVLNUM_VLINE Fld(12,0) | ||
380 | #define Dvlnum_Vline(x) ((x) << FShft(DVLNUM_VLINE)) | ||
381 | |||
382 | /* DMCTRL - Display Memory Control Register */ | ||
383 | #define DMCTRL_MEM_REF Fld(2,30) | ||
384 | #define DMCTRL_MEM_REF_ACT ((0x0) << FShft(DMCTRL_MEM_REF)) | ||
385 | #define DMCTRL_MEM_REF_HB ((0x1) << FShft(DMCTRL_MEM_REF)) | ||
386 | #define DMCTRL_MEM_REF_VB ((0x2) << FShft(DMCTRL_MEM_REF)) | ||
387 | #define DMCTRL_MEM_REF_BOTH ((0x3) << FShft(DMCTRL_MEM_REF)) | ||
388 | #define DMCTRL_UV_THRHLD Fld(6,24) | ||
389 | #define Dmctrl_Uv_Thrhld(x) ((x) << FShft(DMCTRL_UV_THRHLD)) | ||
390 | #define DMCTRL_V_THRHLD Fld(7,16) | ||
391 | #define Dmctrl_V_Thrhld(x) ((x) << FShft(DMCTRL_V_THRHLD)) | ||
392 | #define DMCTRL_D_THRHLD Fld(7,8) | ||
393 | #define Dmctrl_D_Thrhld(x) ((x) << FShft(DMCTRL_D_THRHLD)) | ||
394 | #define DMCTRL_BURSTLEN Fld(6,0) | ||
395 | #define Dmctrl_Burstlen(x) ((x) << FShft(DMCTRL_BURSTLEN)) | ||
396 | |||
397 | |||
398 | /* DLSTS - display load status register */ | ||
399 | #define DLSTS_RLD_ADONE (1 << 23) | ||
400 | /* #define DLSTS_RLD_ADOUT Fld(23,0) */ | ||
401 | |||
402 | /* DLLCTRL - display list load control register */ | ||
403 | #define DLLCTRL_RLD_ADRLN Fld(8,24) | ||
404 | #define Dllctrl_Rld_Adrln(x) ((x) << FShft(DLLCTRL_RLD_ADRLN)) | ||
405 | |||
406 | /* SPOCTRL - Scale Pitch/Order Control Register */ | ||
407 | #define SPOCTRL_H_SC_BP (1 << 31) | ||
408 | #define SPOCTRL_V_SC_BP (1 << 30) | ||
409 | #define SPOCTRL_HV_SC_OR (1 << 29) | ||
410 | #define SPOCTRL_VS_UR_C (1 << 27) | ||
411 | #define SPOCTRL_VORDER Fld(2,16) | ||
412 | #define SPOCTRL_VORDER_1TAP ((0x0) << FShft(SPOCTRL_VORDER)) | ||
413 | #define SPOCTRL_VORDER_2TAP ((0x1) << FShft(SPOCTRL_VORDER)) | ||
414 | #define SPOCTRL_VORDER_4TAP ((0x3) << FShft(SPOCTRL_VORDER)) | ||
415 | #define SPOCTRL_VPITCH Fld(16,0) | ||
416 | #define Spoctrl_Vpitch(x) ((x) << FShft(SPOCTRL_VPITCH)) | ||
417 | |||
418 | #endif /* __REG_BITS_2700G_ */ | ||
diff --git a/drivers/video/mbx/regs.h b/drivers/video/mbx/regs.h new file mode 100644 index 000000000000..ad20be07666b --- /dev/null +++ b/drivers/video/mbx/regs.h | |||
@@ -0,0 +1,195 @@ | |||
1 | #ifndef __REGS_2700G_ | ||
2 | #define __REGS_2700G_ | ||
3 | |||
4 | /* extern unsigned long virt_base_2700; */ | ||
5 | /* #define __REG_2700G(x) (*(volatile unsigned long*)((x)+virt_base_2700)) */ | ||
6 | #define __REG_2700G(x) ((x)+virt_base_2700) | ||
7 | |||
8 | /* System Configuration Registers (0x0000_0000 0x0000_0010) */ | ||
9 | #define SYSCFG __REG_2700G(0x00000000) | ||
10 | #define PFBASE __REG_2700G(0x00000004) | ||
11 | #define PFCEIL __REG_2700G(0x00000008) | ||
12 | #define POLLFLAG __REG_2700G(0x0000000c) | ||
13 | #define SYSRST __REG_2700G(0x00000010) | ||
14 | |||
15 | /* Interrupt Control Registers (0x0000_0014 0x0000_002F) */ | ||
16 | #define NINTPW __REG_2700G(0x00000014) | ||
17 | #define MINTENABLE __REG_2700G(0x00000018) | ||
18 | #define MINTSTAT __REG_2700G(0x0000001c) | ||
19 | #define SINTENABLE __REG_2700G(0x00000020) | ||
20 | #define SINTSTAT __REG_2700G(0x00000024) | ||
21 | #define SINTCLR __REG_2700G(0x00000028) | ||
22 | |||
23 | /* Clock Control Registers (0x0000_002C 0x0000_005F) */ | ||
24 | #define SYSCLKSRC __REG_2700G(0x0000002c) | ||
25 | #define PIXCLKSRC __REG_2700G(0x00000030) | ||
26 | #define CLKSLEEP __REG_2700G(0x00000034) | ||
27 | #define COREPLL __REG_2700G(0x00000038) | ||
28 | #define DISPPLL __REG_2700G(0x0000003c) | ||
29 | #define PLLSTAT __REG_2700G(0x00000040) | ||
30 | #define VOVRCLK __REG_2700G(0x00000044) | ||
31 | #define PIXCLK __REG_2700G(0x00000048) | ||
32 | #define MEMCLK __REG_2700G(0x0000004c) | ||
33 | #define M24CLK __REG_2700G(0x00000054) | ||
34 | #define MBXCLK __REG_2700G(0x00000054) | ||
35 | #define SDCLK __REG_2700G(0x00000058) | ||
36 | #define PIXCLKDIV __REG_2700G(0x0000005c) | ||
37 | |||
38 | /* LCD Port Control Register (0x0000_0060 0x0000_006F) */ | ||
39 | #define LCD_CONFIG __REG_2700G(0x00000060) | ||
40 | |||
41 | /* On-Die Frame Buffer Registers (0x0000_0064 0x0000_006B) */ | ||
42 | #define ODFBPWR __REG_2700G(0x00000064) | ||
43 | #define ODFBSTAT __REG_2700G(0x00000068) | ||
44 | |||
45 | /* GPIO Registers (0x0000_006C 0x0000_007F) */ | ||
46 | #define GPIOCGF __REG_2700G(0x0000006c) | ||
47 | #define GPIOHI __REG_2700G(0x00000070) | ||
48 | #define GPIOLO __REG_2700G(0x00000074) | ||
49 | #define GPIOSTAT __REG_2700G(0x00000078) | ||
50 | |||
51 | /* Pulse Width Modulator (PWM) Registers (0x0000_0200 0x0000_02FF) */ | ||
52 | #define PWMRST __REG_2700G(0x00000200) | ||
53 | #define PWMCFG __REG_2700G(0x00000204) | ||
54 | #define PWM0DIV __REG_2700G(0x00000210) | ||
55 | #define PWM0DUTY __REG_2700G(0x00000214) | ||
56 | #define PWM0PER __REG_2700G(0x00000218) | ||
57 | #define PWM1DIV __REG_2700G(0x00000220) | ||
58 | #define PWM1DUTY __REG_2700G(0x00000224) | ||
59 | #define PWM1PER __REG_2700G(0x00000228) | ||
60 | |||
61 | /* Identification (ID) Registers (0x0000_0300 0x0000_0FFF) */ | ||
62 | #define ID __REG_2700G(0x00000FF0) | ||
63 | |||
64 | /* Local Memory (SDRAM) Interface Registers (0x0000_1000 0x0000_1FFF) */ | ||
65 | #define LMRST __REG_2700G(0x00001000) | ||
66 | #define LMCFG __REG_2700G(0x00001004) | ||
67 | #define LMPWR __REG_2700G(0x00001008) | ||
68 | #define LMPWRSTAT __REG_2700G(0x0000100c) | ||
69 | #define LMCEMR __REG_2700G(0x00001010) | ||
70 | #define LMTYPE __REG_2700G(0x00001014) | ||
71 | #define LMTIM __REG_2700G(0x00001018) | ||
72 | #define LMREFRESH __REG_2700G(0x0000101c) | ||
73 | #define LMPROTMIN __REG_2700G(0x00001020) | ||
74 | #define LMPROTMAX __REG_2700G(0x00001024) | ||
75 | #define LMPROTCFG __REG_2700G(0x00001028) | ||
76 | #define LMPROTERR __REG_2700G(0x0000102c) | ||
77 | |||
78 | /* Plane Controller Registers (0x0000_2000 0x0000_2FFF) */ | ||
79 | #define GSCTRL __REG_2700G(0x00002000) | ||
80 | #define VSCTRL __REG_2700G(0x00002004) | ||
81 | #define GBBASE __REG_2700G(0x00002020) | ||
82 | #define VBBASE __REG_2700G(0x00002024) | ||
83 | #define GDRCTRL __REG_2700G(0x00002040) | ||
84 | #define VCMSK __REG_2700G(0x00002044) | ||
85 | #define GSCADR __REG_2700G(0x00002060) | ||
86 | #define VSCADR __REG_2700G(0x00002064) | ||
87 | #define VUBASE __REG_2700G(0x00002084) | ||
88 | #define VVBASE __REG_2700G(0x000020a4) | ||
89 | #define GSADR __REG_2700G(0x000020c0) | ||
90 | #define VSADR __REG_2700G(0x000020c4) | ||
91 | #define HCCTRL __REG_2700G(0x00002100) | ||
92 | #define HCSIZE __REG_2700G(0x00002110) | ||
93 | #define HCPOS __REG_2700G(0x00002120) | ||
94 | #define HCBADR __REG_2700G(0x00002130) | ||
95 | #define HCCKMSK __REG_2700G(0x00002140) | ||
96 | #define GPLUT __REG_2700G(0x00002150) | ||
97 | #define DSCTRL __REG_2700G(0x00002154) | ||
98 | #define DHT01 __REG_2700G(0x00002158) | ||
99 | #define DHT02 __REG_2700G(0x0000215c) | ||
100 | #define DHT03 __REG_2700G(0x00002160) | ||
101 | #define DVT01 __REG_2700G(0x00002164) | ||
102 | #define DVT02 __REG_2700G(0x00002168) | ||
103 | #define DVT03 __REG_2700G(0x0000216c) | ||
104 | #define DBCOL __REG_2700G(0x00002170) | ||
105 | #define BGCOLOR __REG_2700G(0x00002174) | ||
106 | #define DINTRS __REG_2700G(0x00002178) | ||
107 | #define DINTRE __REG_2700G(0x0000217c) | ||
108 | #define DINTRCNT __REG_2700G(0x00002180) | ||
109 | #define DSIG __REG_2700G(0x00002184) | ||
110 | #define DMCTRL __REG_2700G(0x00002188) | ||
111 | #define CLIPCTRL __REG_2700G(0x0000218c) | ||
112 | #define SPOCTRL __REG_2700G(0x00002190) | ||
113 | #define SVCTRL __REG_2700G(0x00002194) | ||
114 | |||
115 | /* 0x0000_2198 */ | ||
116 | /* 0x0000_21A8 VSCOEFF[0:4] Video Scalar Vertical Coefficient [0:4] 4.14.5 */ | ||
117 | #define VSCOEFF0 __REG_2700G(0x00002198) | ||
118 | #define VSCOEFF1 __REG_2700G(0x0000219c) | ||
119 | #define VSCOEFF2 __REG_2700G(0x000021a0) | ||
120 | #define VSCOEFF3 __REG_2700G(0x000021a4) | ||
121 | #define VSCOEFF4 __REG_2700G(0x000021a8) | ||
122 | |||
123 | #define SHCTRL __REG_2700G(0x000021b0) | ||
124 | |||
125 | /* 0x0000_21B4 */ | ||
126 | /* 0x0000_21D4 HSCOEFF[0:8] Video Scalar Horizontal Coefficient [0:8] 4.14.7 */ | ||
127 | #define HSCOEFF0 __REG_2700G(0x000021b4) | ||
128 | #define HSCOEFF1 __REG_2700G(0x000021b8) | ||
129 | #define HSCOEFF2 __REG_2700G(0x000021bc) | ||
130 | #define HSCOEFF3 __REG_2700G(0x000021b0) | ||
131 | #define HSCOEFF4 __REG_2700G(0x000021c4) | ||
132 | #define HSCOEFF5 __REG_2700G(0x000021c8) | ||
133 | #define HSCOEFF6 __REG_2700G(0x000021cc) | ||
134 | #define HSCOEFF7 __REG_2700G(0x000021d0) | ||
135 | #define HSCOEFF8 __REG_2700G(0x000021d4) | ||
136 | |||
137 | #define SSSIZE __REG_2700G(0x000021D8) | ||
138 | |||
139 | /* 0x0000_2200 */ | ||
140 | /* 0x0000_2240 VIDGAM[0:16] Video Gamma LUT Index [0:16] 4.15.2 */ | ||
141 | #define VIDGAM0 __REG_2700G(0x00002200) | ||
142 | #define VIDGAM1 __REG_2700G(0x00002204) | ||
143 | #define VIDGAM2 __REG_2700G(0x00002208) | ||
144 | #define VIDGAM3 __REG_2700G(0x0000220c) | ||
145 | #define VIDGAM4 __REG_2700G(0x00002210) | ||
146 | #define VIDGAM5 __REG_2700G(0x00002214) | ||
147 | #define VIDGAM6 __REG_2700G(0x00002218) | ||
148 | #define VIDGAM7 __REG_2700G(0x0000221c) | ||
149 | #define VIDGAM8 __REG_2700G(0x00002220) | ||
150 | #define VIDGAM9 __REG_2700G(0x00002224) | ||
151 | #define VIDGAM10 __REG_2700G(0x00002228) | ||
152 | #define VIDGAM11 __REG_2700G(0x0000222c) | ||
153 | #define VIDGAM12 __REG_2700G(0x00002230) | ||
154 | #define VIDGAM13 __REG_2700G(0x00002234) | ||
155 | #define VIDGAM14 __REG_2700G(0x00002238) | ||
156 | #define VIDGAM15 __REG_2700G(0x0000223c) | ||
157 | #define VIDGAM16 __REG_2700G(0x00002240) | ||
158 | |||
159 | /* 0x0000_2250 */ | ||
160 | /* 0x0000_2290 GFXGAM[0:16] Graphics Gamma LUT Index [0:16] 4.15.3 */ | ||
161 | #define GFXGAM0 __REG_2700G(0x00002250) | ||
162 | #define GFXGAM1 __REG_2700G(0x00002254) | ||
163 | #define GFXGAM2 __REG_2700G(0x00002258) | ||
164 | #define GFXGAM3 __REG_2700G(0x0000225c) | ||
165 | #define GFXGAM4 __REG_2700G(0x00002260) | ||
166 | #define GFXGAM5 __REG_2700G(0x00002264) | ||
167 | #define GFXGAM6 __REG_2700G(0x00002268) | ||
168 | #define GFXGAM7 __REG_2700G(0x0000226c) | ||
169 | #define GFXGAM8 __REG_2700G(0x00002270) | ||
170 | #define GFXGAM9 __REG_2700G(0x00002274) | ||
171 | #define GFXGAM10 __REG_2700G(0x00002278) | ||
172 | #define GFXGAM11 __REG_2700G(0x0000227c) | ||
173 | #define GFXGAM12 __REG_2700G(0x00002280) | ||
174 | #define GFXGAM13 __REG_2700G(0x00002284) | ||
175 | #define GFXGAM14 __REG_2700G(0x00002288) | ||
176 | #define GFXGAM15 __REG_2700G(0x0000228c) | ||
177 | #define GFXGAM16 __REG_2700G(0x00002290) | ||
178 | |||
179 | #define DLSTS __REG_2700G(0x00002300) | ||
180 | #define DLLCTRL __REG_2700G(0x00002304) | ||
181 | #define DVLNUM __REG_2700G(0x00002308) | ||
182 | #define DUCTRL __REG_2700G(0x0000230c) | ||
183 | #define DVECTRL __REG_2700G(0x00002310) | ||
184 | #define DHDET __REG_2700G(0x00002314) | ||
185 | #define DVDET __REG_2700G(0x00002318) | ||
186 | #define DODMSK __REG_2700G(0x0000231c) | ||
187 | #define CSC01 __REG_2700G(0x00002330) | ||
188 | #define CSC02 __REG_2700G(0x00002334) | ||
189 | #define CSC03 __REG_2700G(0x00002338) | ||
190 | #define CSC04 __REG_2700G(0x0000233c) | ||
191 | #define CSC05 __REG_2700G(0x00002340) | ||
192 | |||
193 | #define FB_MEMORY_START __REG_2700G(0x00060000) | ||
194 | |||
195 | #endif /* __REGS_2700G_ */ | ||
diff --git a/drivers/w1/masters/ds2482.c b/drivers/w1/masters/ds2482.c index af492cc48db2..d93eb626b2f0 100644 --- a/drivers/w1/masters/ds2482.c +++ b/drivers/w1/masters/ds2482.c | |||
@@ -218,7 +218,7 @@ static int ds2482_wait_1wire_idle(struct ds2482_data *pdev) | |||
218 | do { | 218 | do { |
219 | temp = i2c_smbus_read_byte(&pdev->client); | 219 | temp = i2c_smbus_read_byte(&pdev->client); |
220 | } while ((temp >= 0) && (temp & DS2482_REG_STS_1WB) && | 220 | } while ((temp >= 0) && (temp & DS2482_REG_STS_1WB) && |
221 | (++retries > DS2482_WAIT_IDLE_TIMEOUT)); | 221 | (++retries < DS2482_WAIT_IDLE_TIMEOUT)); |
222 | } | 222 | } |
223 | 223 | ||
224 | if (retries > DS2482_WAIT_IDLE_TIMEOUT) | 224 | if (retries > DS2482_WAIT_IDLE_TIMEOUT) |
diff --git a/drivers/w1/w1_io.h b/drivers/w1/w1_io.h deleted file mode 100644 index 9a76d2ad69c5..000000000000 --- a/drivers/w1/w1_io.h +++ /dev/null | |||
@@ -1,36 +0,0 @@ | |||
1 | /* | ||
2 | * w1_io.h | ||
3 | * | ||
4 | * Copyright (c) 2004 Evgeniy Polyakov <johnpol@2ka.mipt.ru> | ||
5 | * | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | * | ||
12 | * This program is distributed in the hope that it will be useful, | ||
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | * GNU General Public License for more details. | ||
16 | * | ||
17 | * You should have received a copy of the GNU General Public License | ||
18 | * along with this program; if not, write to the Free Software | ||
19 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
20 | */ | ||
21 | |||
22 | #ifndef __W1_IO_H | ||
23 | #define __W1_IO_H | ||
24 | |||
25 | #include "w1.h" | ||
26 | |||
27 | u8 w1_triplet(struct w1_master *dev, int bdir); | ||
28 | void w1_write_8(struct w1_master *, u8); | ||
29 | int w1_reset_bus(struct w1_master *); | ||
30 | u8 w1_calc_crc8(u8 *, int); | ||
31 | void w1_write_block(struct w1_master *, const u8 *, int); | ||
32 | u8 w1_read_block(struct w1_master *, u8 *, int); | ||
33 | void w1_search_devices(struct w1_master *dev, w1_slave_found_callback cb); | ||
34 | int w1_reset_select_slave(struct w1_slave *sl); | ||
35 | |||
36 | #endif /* __W1_IO_H */ | ||
diff --git a/fs/Kconfig b/fs/Kconfig index 53f5c6d61121..3f00a9faabcb 100644 --- a/fs/Kconfig +++ b/fs/Kconfig | |||
@@ -1801,6 +1801,7 @@ config CIFS_POSIX | |||
1801 | 1801 | ||
1802 | config CIFS_DEBUG2 | 1802 | config CIFS_DEBUG2 |
1803 | bool "Enable additional CIFS debugging routines" | 1803 | bool "Enable additional CIFS debugging routines" |
1804 | depends on CIFS | ||
1804 | help | 1805 | help |
1805 | Enabling this option adds a few more debugging routines | 1806 | Enabling this option adds a few more debugging routines |
1806 | to the cifs code which slightly increases the size of | 1807 | to the cifs code which slightly increases the size of |
diff --git a/fs/char_dev.c b/fs/char_dev.c index a4cbc6706ef0..3483d3cf8087 100644 --- a/fs/char_dev.c +++ b/fs/char_dev.c | |||
@@ -182,6 +182,28 @@ int alloc_chrdev_region(dev_t *dev, unsigned baseminor, unsigned count, | |||
182 | return 0; | 182 | return 0; |
183 | } | 183 | } |
184 | 184 | ||
185 | /** | ||
186 | * register_chrdev() - Register a major number for character devices. | ||
187 | * @major: major device number or 0 for dynamic allocation | ||
188 | * @name: name of this range of devices | ||
189 | * @fops: file operations associated with this devices | ||
190 | * | ||
191 | * If @major == 0 this functions will dynamically allocate a major and return | ||
192 | * its number. | ||
193 | * | ||
194 | * If @major > 0 this function will attempt to reserve a device with the given | ||
195 | * major number and will return zero on success. | ||
196 | * | ||
197 | * Returns a -ve errno on failure. | ||
198 | * | ||
199 | * The name of this device has nothing to do with the name of the device in | ||
200 | * /dev. It only helps to keep track of the different owners of devices. If | ||
201 | * your module name has only one type of devices it's ok to use e.g. the name | ||
202 | * of the module here. | ||
203 | * | ||
204 | * This function registers a range of 256 minor numbers. The first minor number | ||
205 | * is 0. | ||
206 | */ | ||
185 | int register_chrdev(unsigned int major, const char *name, | 207 | int register_chrdev(unsigned int major, const char *name, |
186 | const struct file_operations *fops) | 208 | const struct file_operations *fops) |
187 | { | 209 | { |
@@ -240,7 +240,7 @@ static struct fdtable *alloc_fdtable(int nr) | |||
240 | if (!fdt) | 240 | if (!fdt) |
241 | goto out; | 241 | goto out; |
242 | 242 | ||
243 | nfds = max_t(int, 8 * L1_CACHE_BYTES, roundup_pow_of_two(nfds)); | 243 | nfds = max_t(int, 8 * L1_CACHE_BYTES, roundup_pow_of_two(nr + 1)); |
244 | if (nfds > NR_OPEN) | 244 | if (nfds > NR_OPEN) |
245 | nfds = NR_OPEN; | 245 | nfds = NR_OPEN; |
246 | 246 | ||
@@ -273,11 +273,13 @@ static struct fdtable *alloc_fdtable(int nr) | |||
273 | } while (nfds <= nr); | 273 | } while (nfds <= nr); |
274 | new_fds = alloc_fd_array(nfds); | 274 | new_fds = alloc_fd_array(nfds); |
275 | if (!new_fds) | 275 | if (!new_fds) |
276 | goto out; | 276 | goto out2; |
277 | fdt->fd = new_fds; | 277 | fdt->fd = new_fds; |
278 | fdt->max_fds = nfds; | 278 | fdt->max_fds = nfds; |
279 | fdt->free_files = NULL; | 279 | fdt->free_files = NULL; |
280 | return fdt; | 280 | return fdt; |
281 | out2: | ||
282 | nfds = fdt->max_fdset; | ||
281 | out: | 283 | out: |
282 | if (new_openset) | 284 | if (new_openset) |
283 | free_fdset(new_openset, nfds); | 285 | free_fdset(new_openset, nfds); |
diff --git a/fs/jfs/jfs_txnmgr.c b/fs/jfs/jfs_txnmgr.c index 10c46231ce15..efbb586bed4b 100644 --- a/fs/jfs/jfs_txnmgr.c +++ b/fs/jfs/jfs_txnmgr.c | |||
@@ -2944,7 +2944,7 @@ int jfs_sync(void *arg) | |||
2944 | * Inode is being freed | 2944 | * Inode is being freed |
2945 | */ | 2945 | */ |
2946 | list_del_init(&jfs_ip->anon_inode_list); | 2946 | list_del_init(&jfs_ip->anon_inode_list); |
2947 | } else if (! !mutex_trylock(&jfs_ip->commit_mutex)) { | 2947 | } else if (mutex_trylock(&jfs_ip->commit_mutex)) { |
2948 | /* | 2948 | /* |
2949 | * inode will be removed from anonymous list | 2949 | * inode will be removed from anonymous list |
2950 | * when it is committed | 2950 | * when it is committed |
diff --git a/fs/jfs/namei.c b/fs/jfs/namei.c index 09ea03f62277..295268ad231b 100644 --- a/fs/jfs/namei.c +++ b/fs/jfs/namei.c | |||
@@ -165,8 +165,8 @@ static int jfs_create(struct inode *dip, struct dentry *dentry, int mode, | |||
165 | 165 | ||
166 | out3: | 166 | out3: |
167 | txEnd(tid); | 167 | txEnd(tid); |
168 | mutex_unlock(&JFS_IP(dip)->commit_mutex); | ||
169 | mutex_unlock(&JFS_IP(ip)->commit_mutex); | 168 | mutex_unlock(&JFS_IP(ip)->commit_mutex); |
169 | mutex_unlock(&JFS_IP(dip)->commit_mutex); | ||
170 | if (rc) { | 170 | if (rc) { |
171 | free_ea_wmap(ip); | 171 | free_ea_wmap(ip); |
172 | ip->i_nlink = 0; | 172 | ip->i_nlink = 0; |
@@ -300,8 +300,8 @@ static int jfs_mkdir(struct inode *dip, struct dentry *dentry, int mode) | |||
300 | 300 | ||
301 | out3: | 301 | out3: |
302 | txEnd(tid); | 302 | txEnd(tid); |
303 | mutex_unlock(&JFS_IP(dip)->commit_mutex); | ||
304 | mutex_unlock(&JFS_IP(ip)->commit_mutex); | 303 | mutex_unlock(&JFS_IP(ip)->commit_mutex); |
304 | mutex_unlock(&JFS_IP(dip)->commit_mutex); | ||
305 | if (rc) { | 305 | if (rc) { |
306 | free_ea_wmap(ip); | 306 | free_ea_wmap(ip); |
307 | ip->i_nlink = 0; | 307 | ip->i_nlink = 0; |
@@ -384,8 +384,8 @@ static int jfs_rmdir(struct inode *dip, struct dentry *dentry) | |||
384 | if (rc == -EIO) | 384 | if (rc == -EIO) |
385 | txAbort(tid, 1); | 385 | txAbort(tid, 1); |
386 | txEnd(tid); | 386 | txEnd(tid); |
387 | mutex_unlock(&JFS_IP(dip)->commit_mutex); | ||
388 | mutex_unlock(&JFS_IP(ip)->commit_mutex); | 387 | mutex_unlock(&JFS_IP(ip)->commit_mutex); |
388 | mutex_unlock(&JFS_IP(dip)->commit_mutex); | ||
389 | 389 | ||
390 | goto out2; | 390 | goto out2; |
391 | } | 391 | } |
@@ -422,8 +422,8 @@ static int jfs_rmdir(struct inode *dip, struct dentry *dentry) | |||
422 | 422 | ||
423 | txEnd(tid); | 423 | txEnd(tid); |
424 | 424 | ||
425 | mutex_unlock(&JFS_IP(dip)->commit_mutex); | ||
426 | mutex_unlock(&JFS_IP(ip)->commit_mutex); | 425 | mutex_unlock(&JFS_IP(ip)->commit_mutex); |
426 | mutex_unlock(&JFS_IP(dip)->commit_mutex); | ||
427 | 427 | ||
428 | /* | 428 | /* |
429 | * Truncating the directory index table is not guaranteed. It | 429 | * Truncating the directory index table is not guaranteed. It |
@@ -503,8 +503,8 @@ static int jfs_unlink(struct inode *dip, struct dentry *dentry) | |||
503 | if (rc == -EIO) | 503 | if (rc == -EIO) |
504 | txAbort(tid, 1); /* Marks FS Dirty */ | 504 | txAbort(tid, 1); /* Marks FS Dirty */ |
505 | txEnd(tid); | 505 | txEnd(tid); |
506 | mutex_unlock(&JFS_IP(dip)->commit_mutex); | ||
507 | mutex_unlock(&JFS_IP(ip)->commit_mutex); | 506 | mutex_unlock(&JFS_IP(ip)->commit_mutex); |
507 | mutex_unlock(&JFS_IP(dip)->commit_mutex); | ||
508 | IWRITE_UNLOCK(ip); | 508 | IWRITE_UNLOCK(ip); |
509 | goto out1; | 509 | goto out1; |
510 | } | 510 | } |
@@ -527,8 +527,8 @@ static int jfs_unlink(struct inode *dip, struct dentry *dentry) | |||
527 | if ((new_size = commitZeroLink(tid, ip)) < 0) { | 527 | if ((new_size = commitZeroLink(tid, ip)) < 0) { |
528 | txAbort(tid, 1); /* Marks FS Dirty */ | 528 | txAbort(tid, 1); /* Marks FS Dirty */ |
529 | txEnd(tid); | 529 | txEnd(tid); |
530 | mutex_unlock(&JFS_IP(dip)->commit_mutex); | ||
531 | mutex_unlock(&JFS_IP(ip)->commit_mutex); | 530 | mutex_unlock(&JFS_IP(ip)->commit_mutex); |
531 | mutex_unlock(&JFS_IP(dip)->commit_mutex); | ||
532 | IWRITE_UNLOCK(ip); | 532 | IWRITE_UNLOCK(ip); |
533 | rc = new_size; | 533 | rc = new_size; |
534 | goto out1; | 534 | goto out1; |
@@ -556,9 +556,8 @@ static int jfs_unlink(struct inode *dip, struct dentry *dentry) | |||
556 | 556 | ||
557 | txEnd(tid); | 557 | txEnd(tid); |
558 | 558 | ||
559 | mutex_unlock(&JFS_IP(dip)->commit_mutex); | ||
560 | mutex_unlock(&JFS_IP(ip)->commit_mutex); | 559 | mutex_unlock(&JFS_IP(ip)->commit_mutex); |
561 | 560 | mutex_unlock(&JFS_IP(dip)->commit_mutex); | |
562 | 561 | ||
563 | while (new_size && (rc == 0)) { | 562 | while (new_size && (rc == 0)) { |
564 | tid = txBegin(dip->i_sb, 0); | 563 | tid = txBegin(dip->i_sb, 0); |
@@ -847,8 +846,8 @@ static int jfs_link(struct dentry *old_dentry, | |||
847 | out: | 846 | out: |
848 | txEnd(tid); | 847 | txEnd(tid); |
849 | 848 | ||
850 | mutex_unlock(&JFS_IP(dir)->commit_mutex); | ||
851 | mutex_unlock(&JFS_IP(ip)->commit_mutex); | 849 | mutex_unlock(&JFS_IP(ip)->commit_mutex); |
850 | mutex_unlock(&JFS_IP(dir)->commit_mutex); | ||
852 | 851 | ||
853 | jfs_info("jfs_link: rc:%d", rc); | 852 | jfs_info("jfs_link: rc:%d", rc); |
854 | return rc; | 853 | return rc; |
@@ -1037,8 +1036,8 @@ static int jfs_symlink(struct inode *dip, struct dentry *dentry, | |||
1037 | 1036 | ||
1038 | out3: | 1037 | out3: |
1039 | txEnd(tid); | 1038 | txEnd(tid); |
1040 | mutex_unlock(&JFS_IP(dip)->commit_mutex); | ||
1041 | mutex_unlock(&JFS_IP(ip)->commit_mutex); | 1039 | mutex_unlock(&JFS_IP(ip)->commit_mutex); |
1040 | mutex_unlock(&JFS_IP(dip)->commit_mutex); | ||
1042 | if (rc) { | 1041 | if (rc) { |
1043 | free_ea_wmap(ip); | 1042 | free_ea_wmap(ip); |
1044 | ip->i_nlink = 0; | 1043 | ip->i_nlink = 0; |
@@ -1160,10 +1159,11 @@ static int jfs_rename(struct inode *old_dir, struct dentry *old_dentry, | |||
1160 | if (S_ISDIR(new_ip->i_mode)) { | 1159 | if (S_ISDIR(new_ip->i_mode)) { |
1161 | new_ip->i_nlink--; | 1160 | new_ip->i_nlink--; |
1162 | if (new_ip->i_nlink) { | 1161 | if (new_ip->i_nlink) { |
1163 | mutex_unlock(&JFS_IP(new_dir)->commit_mutex); | 1162 | mutex_unlock(&JFS_IP(new_ip)->commit_mutex); |
1164 | mutex_unlock(&JFS_IP(old_ip)->commit_mutex); | ||
1165 | if (old_dir != new_dir) | 1163 | if (old_dir != new_dir) |
1166 | mutex_unlock(&JFS_IP(old_dir)->commit_mutex); | 1164 | mutex_unlock(&JFS_IP(old_dir)->commit_mutex); |
1165 | mutex_unlock(&JFS_IP(old_ip)->commit_mutex); | ||
1166 | mutex_unlock(&JFS_IP(new_dir)->commit_mutex); | ||
1167 | if (!S_ISDIR(old_ip->i_mode) && new_ip) | 1167 | if (!S_ISDIR(old_ip->i_mode) && new_ip) |
1168 | IWRITE_UNLOCK(new_ip); | 1168 | IWRITE_UNLOCK(new_ip); |
1169 | jfs_error(new_ip->i_sb, | 1169 | jfs_error(new_ip->i_sb, |
@@ -1281,13 +1281,12 @@ static int jfs_rename(struct inode *old_dir, struct dentry *old_dentry, | |||
1281 | 1281 | ||
1282 | out4: | 1282 | out4: |
1283 | txEnd(tid); | 1283 | txEnd(tid); |
1284 | |||
1285 | mutex_unlock(&JFS_IP(new_dir)->commit_mutex); | ||
1286 | mutex_unlock(&JFS_IP(old_ip)->commit_mutex); | ||
1287 | if (old_dir != new_dir) | ||
1288 | mutex_unlock(&JFS_IP(old_dir)->commit_mutex); | ||
1289 | if (new_ip) | 1284 | if (new_ip) |
1290 | mutex_unlock(&JFS_IP(new_ip)->commit_mutex); | 1285 | mutex_unlock(&JFS_IP(new_ip)->commit_mutex); |
1286 | if (old_dir != new_dir) | ||
1287 | mutex_unlock(&JFS_IP(old_dir)->commit_mutex); | ||
1288 | mutex_unlock(&JFS_IP(old_ip)->commit_mutex); | ||
1289 | mutex_unlock(&JFS_IP(new_dir)->commit_mutex); | ||
1291 | 1290 | ||
1292 | while (new_size && (rc == 0)) { | 1291 | while (new_size && (rc == 0)) { |
1293 | tid = txBegin(new_ip->i_sb, 0); | 1292 | tid = txBegin(new_ip->i_sb, 0); |
diff --git a/fs/namei.c b/fs/namei.c index c9750d755aff..e01070d7bf58 100644 --- a/fs/namei.c +++ b/fs/namei.c | |||
@@ -1712,8 +1712,14 @@ do_link: | |||
1712 | if (error) | 1712 | if (error) |
1713 | goto exit_dput; | 1713 | goto exit_dput; |
1714 | error = __do_follow_link(&path, nd); | 1714 | error = __do_follow_link(&path, nd); |
1715 | if (error) | 1715 | if (error) { |
1716 | /* Does someone understand code flow here? Or it is only | ||
1717 | * me so stupid? Anathema to whoever designed this non-sense | ||
1718 | * with "intent.open". | ||
1719 | */ | ||
1720 | release_open_intent(nd); | ||
1716 | return error; | 1721 | return error; |
1722 | } | ||
1717 | nd->flags &= ~LOOKUP_PARENT; | 1723 | nd->flags &= ~LOOKUP_PARENT; |
1718 | if (nd->last_type == LAST_BIND) | 1724 | if (nd->last_type == LAST_BIND) |
1719 | goto ok; | 1725 | goto ok; |
diff --git a/fs/proc/array.c b/fs/proc/array.c index 7495d3e20775..0b615d62a159 100644 --- a/fs/proc/array.c +++ b/fs/proc/array.c | |||
@@ -74,6 +74,7 @@ | |||
74 | #include <linux/times.h> | 74 | #include <linux/times.h> |
75 | #include <linux/cpuset.h> | 75 | #include <linux/cpuset.h> |
76 | #include <linux/rcupdate.h> | 76 | #include <linux/rcupdate.h> |
77 | #include <linux/delayacct.h> | ||
77 | 78 | ||
78 | #include <asm/uaccess.h> | 79 | #include <asm/uaccess.h> |
79 | #include <asm/pgtable.h> | 80 | #include <asm/pgtable.h> |
@@ -411,7 +412,7 @@ static int do_task_stat(struct task_struct *task, char * buffer, int whole) | |||
411 | 412 | ||
412 | res = sprintf(buffer,"%d (%s) %c %d %d %d %d %d %lu %lu \ | 413 | res = sprintf(buffer,"%d (%s) %c %d %d %d %d %d %lu %lu \ |
413 | %lu %lu %lu %lu %lu %ld %ld %ld %ld %d 0 %llu %lu %ld %lu %lu %lu %lu %lu \ | 414 | %lu %lu %lu %lu %lu %ld %ld %ld %ld %d 0 %llu %lu %ld %lu %lu %lu %lu %lu \ |
414 | %lu %lu %lu %lu %lu %lu %lu %lu %d %d %lu %lu\n", | 415 | %lu %lu %lu %lu %lu %lu %lu %lu %d %d %lu %lu %llu\n", |
415 | task->pid, | 416 | task->pid, |
416 | tcomm, | 417 | tcomm, |
417 | state, | 418 | state, |
@@ -455,7 +456,8 @@ static int do_task_stat(struct task_struct *task, char * buffer, int whole) | |||
455 | task->exit_signal, | 456 | task->exit_signal, |
456 | task_cpu(task), | 457 | task_cpu(task), |
457 | task->rt_priority, | 458 | task->rt_priority, |
458 | task->policy); | 459 | task->policy, |
460 | (unsigned long long)delayacct_blkio_ticks(task)); | ||
459 | if(mm) | 461 | if(mm) |
460 | mmput(mm); | 462 | mmput(mm); |
461 | return res; | 463 | return res; |
diff --git a/fs/proc/base.c b/fs/proc/base.c index 243a94af0427..fe8d55fb17cc 100644 --- a/fs/proc/base.c +++ b/fs/proc/base.c | |||
@@ -551,6 +551,27 @@ static int proc_fd_access_allowed(struct inode *inode) | |||
551 | return allowed; | 551 | return allowed; |
552 | } | 552 | } |
553 | 553 | ||
554 | static int proc_setattr(struct dentry *dentry, struct iattr *attr) | ||
555 | { | ||
556 | int error; | ||
557 | struct inode *inode = dentry->d_inode; | ||
558 | |||
559 | if (attr->ia_valid & ATTR_MODE) | ||
560 | return -EPERM; | ||
561 | |||
562 | error = inode_change_ok(inode, attr); | ||
563 | if (!error) { | ||
564 | error = security_inode_setattr(dentry, attr); | ||
565 | if (!error) | ||
566 | error = inode_setattr(inode, attr); | ||
567 | } | ||
568 | return error; | ||
569 | } | ||
570 | |||
571 | static struct inode_operations proc_def_inode_operations = { | ||
572 | .setattr = proc_setattr, | ||
573 | }; | ||
574 | |||
554 | extern struct seq_operations mounts_op; | 575 | extern struct seq_operations mounts_op; |
555 | struct proc_mounts { | 576 | struct proc_mounts { |
556 | struct seq_file m; | 577 | struct seq_file m; |
@@ -1111,7 +1132,8 @@ out: | |||
1111 | 1132 | ||
1112 | static struct inode_operations proc_pid_link_inode_operations = { | 1133 | static struct inode_operations proc_pid_link_inode_operations = { |
1113 | .readlink = proc_pid_readlink, | 1134 | .readlink = proc_pid_readlink, |
1114 | .follow_link = proc_pid_follow_link | 1135 | .follow_link = proc_pid_follow_link, |
1136 | .setattr = proc_setattr, | ||
1115 | }; | 1137 | }; |
1116 | 1138 | ||
1117 | static int proc_readfd(struct file * filp, void * dirent, filldir_t filldir) | 1139 | static int proc_readfd(struct file * filp, void * dirent, filldir_t filldir) |
@@ -1285,6 +1307,7 @@ static struct inode *proc_pid_make_inode(struct super_block * sb, struct task_st | |||
1285 | ei = PROC_I(inode); | 1307 | ei = PROC_I(inode); |
1286 | inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME; | 1308 | inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME; |
1287 | inode->i_ino = fake_ino(task->pid, ino); | 1309 | inode->i_ino = fake_ino(task->pid, ino); |
1310 | inode->i_op = &proc_def_inode_operations; | ||
1288 | 1311 | ||
1289 | /* | 1312 | /* |
1290 | * grab the reference to task. | 1313 | * grab the reference to task. |
@@ -1339,6 +1362,7 @@ static int pid_revalidate(struct dentry *dentry, struct nameidata *nd) | |||
1339 | inode->i_uid = 0; | 1362 | inode->i_uid = 0; |
1340 | inode->i_gid = 0; | 1363 | inode->i_gid = 0; |
1341 | } | 1364 | } |
1365 | inode->i_mode &= ~(S_ISUID | S_ISGID); | ||
1342 | security_task_to_inode(task, inode); | 1366 | security_task_to_inode(task, inode); |
1343 | put_task_struct(task); | 1367 | put_task_struct(task); |
1344 | return 1; | 1368 | return 1; |
@@ -1389,6 +1413,7 @@ static int tid_fd_revalidate(struct dentry *dentry, struct nameidata *nd) | |||
1389 | inode->i_uid = 0; | 1413 | inode->i_uid = 0; |
1390 | inode->i_gid = 0; | 1414 | inode->i_gid = 0; |
1391 | } | 1415 | } |
1416 | inode->i_mode &= ~(S_ISUID | S_ISGID); | ||
1392 | security_task_to_inode(task, inode); | 1417 | security_task_to_inode(task, inode); |
1393 | put_task_struct(task); | 1418 | put_task_struct(task); |
1394 | return 1; | 1419 | return 1; |
@@ -1527,11 +1552,13 @@ static struct file_operations proc_task_operations = { | |||
1527 | */ | 1552 | */ |
1528 | static struct inode_operations proc_fd_inode_operations = { | 1553 | static struct inode_operations proc_fd_inode_operations = { |
1529 | .lookup = proc_lookupfd, | 1554 | .lookup = proc_lookupfd, |
1555 | .setattr = proc_setattr, | ||
1530 | }; | 1556 | }; |
1531 | 1557 | ||
1532 | static struct inode_operations proc_task_inode_operations = { | 1558 | static struct inode_operations proc_task_inode_operations = { |
1533 | .lookup = proc_task_lookup, | 1559 | .lookup = proc_task_lookup, |
1534 | .getattr = proc_task_getattr, | 1560 | .getattr = proc_task_getattr, |
1561 | .setattr = proc_setattr, | ||
1535 | }; | 1562 | }; |
1536 | 1563 | ||
1537 | #ifdef CONFIG_SECURITY | 1564 | #ifdef CONFIG_SECURITY |
@@ -1845,11 +1872,13 @@ static struct file_operations proc_tid_base_operations = { | |||
1845 | static struct inode_operations proc_tgid_base_inode_operations = { | 1872 | static struct inode_operations proc_tgid_base_inode_operations = { |
1846 | .lookup = proc_tgid_base_lookup, | 1873 | .lookup = proc_tgid_base_lookup, |
1847 | .getattr = pid_getattr, | 1874 | .getattr = pid_getattr, |
1875 | .setattr = proc_setattr, | ||
1848 | }; | 1876 | }; |
1849 | 1877 | ||
1850 | static struct inode_operations proc_tid_base_inode_operations = { | 1878 | static struct inode_operations proc_tid_base_inode_operations = { |
1851 | .lookup = proc_tid_base_lookup, | 1879 | .lookup = proc_tid_base_lookup, |
1852 | .getattr = pid_getattr, | 1880 | .getattr = pid_getattr, |
1881 | .setattr = proc_setattr, | ||
1853 | }; | 1882 | }; |
1854 | 1883 | ||
1855 | #ifdef CONFIG_SECURITY | 1884 | #ifdef CONFIG_SECURITY |
@@ -1892,11 +1921,13 @@ static struct dentry *proc_tid_attr_lookup(struct inode *dir, | |||
1892 | static struct inode_operations proc_tgid_attr_inode_operations = { | 1921 | static struct inode_operations proc_tgid_attr_inode_operations = { |
1893 | .lookup = proc_tgid_attr_lookup, | 1922 | .lookup = proc_tgid_attr_lookup, |
1894 | .getattr = pid_getattr, | 1923 | .getattr = pid_getattr, |
1924 | .setattr = proc_setattr, | ||
1895 | }; | 1925 | }; |
1896 | 1926 | ||
1897 | static struct inode_operations proc_tid_attr_inode_operations = { | 1927 | static struct inode_operations proc_tid_attr_inode_operations = { |
1898 | .lookup = proc_tid_attr_lookup, | 1928 | .lookup = proc_tid_attr_lookup, |
1899 | .getattr = pid_getattr, | 1929 | .getattr = pid_getattr, |
1930 | .setattr = proc_setattr, | ||
1900 | }; | 1931 | }; |
1901 | #endif | 1932 | #endif |
1902 | 1933 | ||
diff --git a/fs/proc/inode.c b/fs/proc/inode.c index 6dcef089e18e..49dfb2ab783e 100644 --- a/fs/proc/inode.c +++ b/fs/proc/inode.c | |||
@@ -192,7 +192,7 @@ int proc_fill_super(struct super_block *s, void *data, int silent) | |||
192 | { | 192 | { |
193 | struct inode * root_inode; | 193 | struct inode * root_inode; |
194 | 194 | ||
195 | s->s_flags |= MS_NODIRATIME; | 195 | s->s_flags |= MS_NODIRATIME | MS_NOSUID | MS_NOEXEC; |
196 | s->s_blocksize = 1024; | 196 | s->s_blocksize = 1024; |
197 | s->s_blocksize_bits = 10; | 197 | s->s_blocksize_bits = 10; |
198 | s->s_magic = PROC_SUPER_MAGIC; | 198 | s->s_magic = PROC_SUPER_MAGIC; |
diff --git a/fs/proc/kcore.c b/fs/proc/kcore.c index 8d6d85d7400f..6a984f64edd7 100644 --- a/fs/proc/kcore.c +++ b/fs/proc/kcore.c | |||
@@ -382,7 +382,7 @@ read_kcore(struct file *file, char __user *buffer, size_t buflen, loff_t *fpos) | |||
382 | */ | 382 | */ |
383 | if (n) { | 383 | if (n) { |
384 | if (clear_user(buffer + tsz - n, | 384 | if (clear_user(buffer + tsz - n, |
385 | tsz - n)) | 385 | n)) |
386 | return -EFAULT; | 386 | return -EFAULT; |
387 | } | 387 | } |
388 | } else { | 388 | } else { |
diff --git a/fs/reiserfs/procfs.c b/fs/reiserfs/procfs.c index 5d8a8cfebc70..c533ec1bcaec 100644 --- a/fs/reiserfs/procfs.c +++ b/fs/reiserfs/procfs.c | |||
@@ -492,9 +492,17 @@ static void add_file(struct super_block *sb, char *name, | |||
492 | 492 | ||
493 | int reiserfs_proc_info_init(struct super_block *sb) | 493 | int reiserfs_proc_info_init(struct super_block *sb) |
494 | { | 494 | { |
495 | char b[BDEVNAME_SIZE]; | ||
496 | char *s; | ||
497 | |||
498 | /* Some block devices use /'s */ | ||
499 | strlcpy(b, reiserfs_bdevname(sb), BDEVNAME_SIZE); | ||
500 | s = strchr(b, '/'); | ||
501 | if (s) | ||
502 | *s = '!'; | ||
503 | |||
495 | spin_lock_init(&__PINFO(sb).lock); | 504 | spin_lock_init(&__PINFO(sb).lock); |
496 | REISERFS_SB(sb)->procdir = | 505 | REISERFS_SB(sb)->procdir = proc_mkdir(b, proc_info_root); |
497 | proc_mkdir(reiserfs_bdevname(sb), proc_info_root); | ||
498 | if (REISERFS_SB(sb)->procdir) { | 506 | if (REISERFS_SB(sb)->procdir) { |
499 | REISERFS_SB(sb)->procdir->owner = THIS_MODULE; | 507 | REISERFS_SB(sb)->procdir->owner = THIS_MODULE; |
500 | REISERFS_SB(sb)->procdir->data = sb; | 508 | REISERFS_SB(sb)->procdir->data = sb; |
@@ -508,13 +516,22 @@ int reiserfs_proc_info_init(struct super_block *sb) | |||
508 | return 0; | 516 | return 0; |
509 | } | 517 | } |
510 | reiserfs_warning(sb, "reiserfs: cannot create /proc/%s/%s", | 518 | reiserfs_warning(sb, "reiserfs: cannot create /proc/%s/%s", |
511 | proc_info_root_name, reiserfs_bdevname(sb)); | 519 | proc_info_root_name, b); |
512 | return 1; | 520 | return 1; |
513 | } | 521 | } |
514 | 522 | ||
515 | int reiserfs_proc_info_done(struct super_block *sb) | 523 | int reiserfs_proc_info_done(struct super_block *sb) |
516 | { | 524 | { |
517 | struct proc_dir_entry *de = REISERFS_SB(sb)->procdir; | 525 | struct proc_dir_entry *de = REISERFS_SB(sb)->procdir; |
526 | char b[BDEVNAME_SIZE]; | ||
527 | char *s; | ||
528 | |||
529 | /* Some block devices use /'s */ | ||
530 | strlcpy(b, reiserfs_bdevname(sb), BDEVNAME_SIZE); | ||
531 | s = strchr(b, '/'); | ||
532 | if (s) | ||
533 | *s = '!'; | ||
534 | |||
518 | if (de) { | 535 | if (de) { |
519 | remove_proc_entry("journal", de); | 536 | remove_proc_entry("journal", de); |
520 | remove_proc_entry("oidmap", de); | 537 | remove_proc_entry("oidmap", de); |
@@ -528,7 +545,7 @@ int reiserfs_proc_info_done(struct super_block *sb) | |||
528 | __PINFO(sb).exiting = 1; | 545 | __PINFO(sb).exiting = 1; |
529 | spin_unlock(&__PINFO(sb).lock); | 546 | spin_unlock(&__PINFO(sb).lock); |
530 | if (proc_info_root) { | 547 | if (proc_info_root) { |
531 | remove_proc_entry(reiserfs_bdevname(sb), proc_info_root); | 548 | remove_proc_entry(b, proc_info_root); |
532 | REISERFS_SB(sb)->procdir = NULL; | 549 | REISERFS_SB(sb)->procdir = NULL; |
533 | } | 550 | } |
534 | return 0; | 551 | return 0; |
diff --git a/fs/splice.c b/fs/splice.c index 05fd2787be98..684bca3d3a10 100644 --- a/fs/splice.c +++ b/fs/splice.c | |||
@@ -1307,6 +1307,85 @@ asmlinkage long sys_splice(int fd_in, loff_t __user *off_in, | |||
1307 | } | 1307 | } |
1308 | 1308 | ||
1309 | /* | 1309 | /* |
1310 | * Make sure there's data to read. Wait for input if we can, otherwise | ||
1311 | * return an appropriate error. | ||
1312 | */ | ||
1313 | static int link_ipipe_prep(struct pipe_inode_info *pipe, unsigned int flags) | ||
1314 | { | ||
1315 | int ret; | ||
1316 | |||
1317 | /* | ||
1318 | * Check ->nrbufs without the inode lock first. This function | ||
1319 | * is speculative anyways, so missing one is ok. | ||
1320 | */ | ||
1321 | if (pipe->nrbufs) | ||
1322 | return 0; | ||
1323 | |||
1324 | ret = 0; | ||
1325 | mutex_lock(&pipe->inode->i_mutex); | ||
1326 | |||
1327 | while (!pipe->nrbufs) { | ||
1328 | if (signal_pending(current)) { | ||
1329 | ret = -ERESTARTSYS; | ||
1330 | break; | ||
1331 | } | ||
1332 | if (!pipe->writers) | ||
1333 | break; | ||
1334 | if (!pipe->waiting_writers) { | ||
1335 | if (flags & SPLICE_F_NONBLOCK) { | ||
1336 | ret = -EAGAIN; | ||
1337 | break; | ||
1338 | } | ||
1339 | } | ||
1340 | pipe_wait(pipe); | ||
1341 | } | ||
1342 | |||
1343 | mutex_unlock(&pipe->inode->i_mutex); | ||
1344 | return ret; | ||
1345 | } | ||
1346 | |||
1347 | /* | ||
1348 | * Make sure there's writeable room. Wait for room if we can, otherwise | ||
1349 | * return an appropriate error. | ||
1350 | */ | ||
1351 | static int link_opipe_prep(struct pipe_inode_info *pipe, unsigned int flags) | ||
1352 | { | ||
1353 | int ret; | ||
1354 | |||
1355 | /* | ||
1356 | * Check ->nrbufs without the inode lock first. This function | ||
1357 | * is speculative anyways, so missing one is ok. | ||
1358 | */ | ||
1359 | if (pipe->nrbufs < PIPE_BUFFERS) | ||
1360 | return 0; | ||
1361 | |||
1362 | ret = 0; | ||
1363 | mutex_lock(&pipe->inode->i_mutex); | ||
1364 | |||
1365 | while (pipe->nrbufs >= PIPE_BUFFERS) { | ||
1366 | if (!pipe->readers) { | ||
1367 | send_sig(SIGPIPE, current, 0); | ||
1368 | ret = -EPIPE; | ||
1369 | break; | ||
1370 | } | ||
1371 | if (flags & SPLICE_F_NONBLOCK) { | ||
1372 | ret = -EAGAIN; | ||
1373 | break; | ||
1374 | } | ||
1375 | if (signal_pending(current)) { | ||
1376 | ret = -ERESTARTSYS; | ||
1377 | break; | ||
1378 | } | ||
1379 | pipe->waiting_writers++; | ||
1380 | pipe_wait(pipe); | ||
1381 | pipe->waiting_writers--; | ||
1382 | } | ||
1383 | |||
1384 | mutex_unlock(&pipe->inode->i_mutex); | ||
1385 | return ret; | ||
1386 | } | ||
1387 | |||
1388 | /* | ||
1310 | * Link contents of ipipe to opipe. | 1389 | * Link contents of ipipe to opipe. |
1311 | */ | 1390 | */ |
1312 | static int link_pipe(struct pipe_inode_info *ipipe, | 1391 | static int link_pipe(struct pipe_inode_info *ipipe, |
@@ -1314,9 +1393,7 @@ static int link_pipe(struct pipe_inode_info *ipipe, | |||
1314 | size_t len, unsigned int flags) | 1393 | size_t len, unsigned int flags) |
1315 | { | 1394 | { |
1316 | struct pipe_buffer *ibuf, *obuf; | 1395 | struct pipe_buffer *ibuf, *obuf; |
1317 | int ret, do_wakeup, i, ipipe_first; | 1396 | int ret = 0, i = 0, nbuf; |
1318 | |||
1319 | ret = do_wakeup = ipipe_first = 0; | ||
1320 | 1397 | ||
1321 | /* | 1398 | /* |
1322 | * Potential ABBA deadlock, work around it by ordering lock | 1399 | * Potential ABBA deadlock, work around it by ordering lock |
@@ -1324,126 +1401,62 @@ static int link_pipe(struct pipe_inode_info *ipipe, | |||
1324 | * could deadlock (one doing tee from A -> B, the other from B -> A). | 1401 | * could deadlock (one doing tee from A -> B, the other from B -> A). |
1325 | */ | 1402 | */ |
1326 | if (ipipe->inode < opipe->inode) { | 1403 | if (ipipe->inode < opipe->inode) { |
1327 | ipipe_first = 1; | 1404 | mutex_lock_nested(&ipipe->inode->i_mutex, I_MUTEX_PARENT); |
1328 | mutex_lock(&ipipe->inode->i_mutex); | 1405 | mutex_lock_nested(&opipe->inode->i_mutex, I_MUTEX_CHILD); |
1329 | mutex_lock(&opipe->inode->i_mutex); | ||
1330 | } else { | 1406 | } else { |
1331 | mutex_lock(&opipe->inode->i_mutex); | 1407 | mutex_lock_nested(&opipe->inode->i_mutex, I_MUTEX_PARENT); |
1332 | mutex_lock(&ipipe->inode->i_mutex); | 1408 | mutex_lock_nested(&ipipe->inode->i_mutex, I_MUTEX_CHILD); |
1333 | } | 1409 | } |
1334 | 1410 | ||
1335 | for (i = 0;; i++) { | 1411 | do { |
1336 | if (!opipe->readers) { | 1412 | if (!opipe->readers) { |
1337 | send_sig(SIGPIPE, current, 0); | 1413 | send_sig(SIGPIPE, current, 0); |
1338 | if (!ret) | 1414 | if (!ret) |
1339 | ret = -EPIPE; | 1415 | ret = -EPIPE; |
1340 | break; | 1416 | break; |
1341 | } | 1417 | } |
1342 | if (ipipe->nrbufs - i) { | ||
1343 | ibuf = ipipe->bufs + ((ipipe->curbuf + i) & (PIPE_BUFFERS - 1)); | ||
1344 | 1418 | ||
1345 | /* | 1419 | /* |
1346 | * If we have room, fill this buffer | 1420 | * If we have iterated all input buffers or ran out of |
1347 | */ | 1421 | * output room, break. |
1348 | if (opipe->nrbufs < PIPE_BUFFERS) { | 1422 | */ |
1349 | int nbuf = (opipe->curbuf + opipe->nrbufs) & (PIPE_BUFFERS - 1); | 1423 | if (i >= ipipe->nrbufs || opipe->nrbufs >= PIPE_BUFFERS) |
1350 | 1424 | break; | |
1351 | /* | ||
1352 | * Get a reference to this pipe buffer, | ||
1353 | * so we can copy the contents over. | ||
1354 | */ | ||
1355 | ibuf->ops->get(ipipe, ibuf); | ||
1356 | |||
1357 | obuf = opipe->bufs + nbuf; | ||
1358 | *obuf = *ibuf; | ||
1359 | |||
1360 | /* | ||
1361 | * Don't inherit the gift flag, we need to | ||
1362 | * prevent multiple steals of this page. | ||
1363 | */ | ||
1364 | obuf->flags &= ~PIPE_BUF_FLAG_GIFT; | ||
1365 | |||
1366 | if (obuf->len > len) | ||
1367 | obuf->len = len; | ||
1368 | |||
1369 | opipe->nrbufs++; | ||
1370 | do_wakeup = 1; | ||
1371 | ret += obuf->len; | ||
1372 | len -= obuf->len; | ||
1373 | |||
1374 | if (!len) | ||
1375 | break; | ||
1376 | if (opipe->nrbufs < PIPE_BUFFERS) | ||
1377 | continue; | ||
1378 | } | ||
1379 | |||
1380 | /* | ||
1381 | * We have input available, but no output room. | ||
1382 | * If we already copied data, return that. If we | ||
1383 | * need to drop the opipe lock, it must be ordered | ||
1384 | * last to avoid deadlocks. | ||
1385 | */ | ||
1386 | if ((flags & SPLICE_F_NONBLOCK) || !ipipe_first) { | ||
1387 | if (!ret) | ||
1388 | ret = -EAGAIN; | ||
1389 | break; | ||
1390 | } | ||
1391 | if (signal_pending(current)) { | ||
1392 | if (!ret) | ||
1393 | ret = -ERESTARTSYS; | ||
1394 | break; | ||
1395 | } | ||
1396 | if (do_wakeup) { | ||
1397 | smp_mb(); | ||
1398 | if (waitqueue_active(&opipe->wait)) | ||
1399 | wake_up_interruptible(&opipe->wait); | ||
1400 | kill_fasync(&opipe->fasync_readers, SIGIO, POLL_IN); | ||
1401 | do_wakeup = 0; | ||
1402 | } | ||
1403 | 1425 | ||
1404 | opipe->waiting_writers++; | 1426 | ibuf = ipipe->bufs + ((ipipe->curbuf + i) & (PIPE_BUFFERS - 1)); |
1405 | pipe_wait(opipe); | 1427 | nbuf = (opipe->curbuf + opipe->nrbufs) & (PIPE_BUFFERS - 1); |
1406 | opipe->waiting_writers--; | ||
1407 | continue; | ||
1408 | } | ||
1409 | 1428 | ||
1410 | /* | 1429 | /* |
1411 | * No input buffers, do the usual checks for available | 1430 | * Get a reference to this pipe buffer, |
1412 | * writers and blocking and wait if necessary | 1431 | * so we can copy the contents over. |
1413 | */ | 1432 | */ |
1414 | if (!ipipe->writers) | 1433 | ibuf->ops->get(ipipe, ibuf); |
1415 | break; | 1434 | |
1416 | if (!ipipe->waiting_writers) { | 1435 | obuf = opipe->bufs + nbuf; |
1417 | if (ret) | 1436 | *obuf = *ibuf; |
1418 | break; | 1437 | |
1419 | } | ||
1420 | /* | 1438 | /* |
1421 | * pipe_wait() drops the ipipe mutex. To avoid deadlocks | 1439 | * Don't inherit the gift flag, we need to |
1422 | * with another process, we can only safely do that if | 1440 | * prevent multiple steals of this page. |
1423 | * the ipipe lock is ordered last. | ||
1424 | */ | 1441 | */ |
1425 | if ((flags & SPLICE_F_NONBLOCK) || ipipe_first) { | 1442 | obuf->flags &= ~PIPE_BUF_FLAG_GIFT; |
1426 | if (!ret) | ||
1427 | ret = -EAGAIN; | ||
1428 | break; | ||
1429 | } | ||
1430 | if (signal_pending(current)) { | ||
1431 | if (!ret) | ||
1432 | ret = -ERESTARTSYS; | ||
1433 | break; | ||
1434 | } | ||
1435 | 1443 | ||
1436 | if (waitqueue_active(&ipipe->wait)) | 1444 | if (obuf->len > len) |
1437 | wake_up_interruptible_sync(&ipipe->wait); | 1445 | obuf->len = len; |
1438 | kill_fasync(&ipipe->fasync_writers, SIGIO, POLL_OUT); | ||
1439 | 1446 | ||
1440 | pipe_wait(ipipe); | 1447 | opipe->nrbufs++; |
1441 | } | 1448 | ret += obuf->len; |
1449 | len -= obuf->len; | ||
1450 | i++; | ||
1451 | } while (len); | ||
1442 | 1452 | ||
1443 | mutex_unlock(&ipipe->inode->i_mutex); | 1453 | mutex_unlock(&ipipe->inode->i_mutex); |
1444 | mutex_unlock(&opipe->inode->i_mutex); | 1454 | mutex_unlock(&opipe->inode->i_mutex); |
1445 | 1455 | ||
1446 | if (do_wakeup) { | 1456 | /* |
1457 | * If we put data in the output pipe, wakeup any potential readers. | ||
1458 | */ | ||
1459 | if (ret > 0) { | ||
1447 | smp_mb(); | 1460 | smp_mb(); |
1448 | if (waitqueue_active(&opipe->wait)) | 1461 | if (waitqueue_active(&opipe->wait)) |
1449 | wake_up_interruptible(&opipe->wait); | 1462 | wake_up_interruptible(&opipe->wait); |
@@ -1464,14 +1477,29 @@ static long do_tee(struct file *in, struct file *out, size_t len, | |||
1464 | { | 1477 | { |
1465 | struct pipe_inode_info *ipipe = in->f_dentry->d_inode->i_pipe; | 1478 | struct pipe_inode_info *ipipe = in->f_dentry->d_inode->i_pipe; |
1466 | struct pipe_inode_info *opipe = out->f_dentry->d_inode->i_pipe; | 1479 | struct pipe_inode_info *opipe = out->f_dentry->d_inode->i_pipe; |
1480 | int ret = -EINVAL; | ||
1467 | 1481 | ||
1468 | /* | 1482 | /* |
1469 | * Link ipipe to the two output pipes, consuming as we go along. | 1483 | * Duplicate the contents of ipipe to opipe without actually |
1484 | * copying the data. | ||
1470 | */ | 1485 | */ |
1471 | if (ipipe && opipe) | 1486 | if (ipipe && opipe && ipipe != opipe) { |
1472 | return link_pipe(ipipe, opipe, len, flags); | 1487 | /* |
1488 | * Keep going, unless we encounter an error. The ipipe/opipe | ||
1489 | * ordering doesn't really matter. | ||
1490 | */ | ||
1491 | ret = link_ipipe_prep(ipipe, flags); | ||
1492 | if (!ret) { | ||
1493 | ret = link_opipe_prep(opipe, flags); | ||
1494 | if (!ret) { | ||
1495 | ret = link_pipe(ipipe, opipe, len, flags); | ||
1496 | if (!ret && (flags & SPLICE_F_NONBLOCK)) | ||
1497 | ret = -EAGAIN; | ||
1498 | } | ||
1499 | } | ||
1500 | } | ||
1473 | 1501 | ||
1474 | return -EINVAL; | 1502 | return ret; |
1475 | } | 1503 | } |
1476 | 1504 | ||
1477 | asmlinkage long sys_tee(int fdin, int fdout, size_t len, unsigned int flags) | 1505 | asmlinkage long sys_tee(int fdin, int fdout, size_t len, unsigned int flags) |
diff --git a/fs/sysfs/inode.c b/fs/sysfs/inode.c index 5e0e31cc46f5..9889e54e1f13 100644 --- a/fs/sysfs/inode.c +++ b/fs/sysfs/inode.c | |||
@@ -109,6 +109,17 @@ static inline void set_inode_attr(struct inode * inode, struct iattr * iattr) | |||
109 | inode->i_ctime = iattr->ia_ctime; | 109 | inode->i_ctime = iattr->ia_ctime; |
110 | } | 110 | } |
111 | 111 | ||
112 | |||
113 | /* | ||
114 | * sysfs has a different i_mutex lock order behavior for i_mutex than other | ||
115 | * filesystems; sysfs i_mutex is called in many places with subsystem locks | ||
116 | * held. At the same time, many of the VFS locking rules do not apply to | ||
117 | * sysfs at all (cross directory rename for example). To untangle this mess | ||
118 | * (which gives false positives in lockdep), we're giving sysfs inodes their | ||
119 | * own class for i_mutex. | ||
120 | */ | ||
121 | static struct lock_class_key sysfs_inode_imutex_key; | ||
122 | |||
112 | struct inode * sysfs_new_inode(mode_t mode, struct sysfs_dirent * sd) | 123 | struct inode * sysfs_new_inode(mode_t mode, struct sysfs_dirent * sd) |
113 | { | 124 | { |
114 | struct inode * inode = new_inode(sysfs_sb); | 125 | struct inode * inode = new_inode(sysfs_sb); |
@@ -118,6 +129,7 @@ struct inode * sysfs_new_inode(mode_t mode, struct sysfs_dirent * sd) | |||
118 | inode->i_mapping->a_ops = &sysfs_aops; | 129 | inode->i_mapping->a_ops = &sysfs_aops; |
119 | inode->i_mapping->backing_dev_info = &sysfs_backing_dev_info; | 130 | inode->i_mapping->backing_dev_info = &sysfs_backing_dev_info; |
120 | inode->i_op = &sysfs_inode_operations; | 131 | inode->i_op = &sysfs_inode_operations; |
132 | lockdep_set_class(&inode->i_mutex, &sysfs_inode_imutex_key); | ||
121 | 133 | ||
122 | if (sd->s_iattr) { | 134 | if (sd->s_iattr) { |
123 | /* sysfs_dirent has non-default attributes | 135 | /* sysfs_dirent has non-default attributes |
diff --git a/include/asm-alpha/barrier.h b/include/asm-alpha/barrier.h index 681ff581afa5..384dc08d6f53 100644 --- a/include/asm-alpha/barrier.h +++ b/include/asm-alpha/barrier.h | |||
@@ -30,7 +30,4 @@ __asm__ __volatile__("mb": : :"memory") | |||
30 | #define set_mb(var, value) \ | 30 | #define set_mb(var, value) \ |
31 | do { var = value; mb(); } while (0) | 31 | do { var = value; mb(); } while (0) |
32 | 32 | ||
33 | #define set_wmb(var, value) \ | ||
34 | do { var = value; wmb(); } while (0) | ||
35 | |||
36 | #endif /* __BARRIER_H */ | 33 | #endif /* __BARRIER_H */ |
diff --git a/include/asm-arm/arch-versatile/platform.h b/include/asm-arm/arch-versatile/platform.h index 72ef874567d5..2af9d7c9c63c 100644 --- a/include/asm-arm/arch-versatile/platform.h +++ b/include/asm-arm/arch-versatile/platform.h | |||
@@ -65,6 +65,8 @@ | |||
65 | #define VERSATILE_SYS_OSC1_OFFSET 0x1C | 65 | #define VERSATILE_SYS_OSC1_OFFSET 0x1C |
66 | #endif | 66 | #endif |
67 | 67 | ||
68 | #define VERSATILE_SYS_OSCCLCD_OFFSET 0x1c | ||
69 | |||
68 | #define VERSATILE_SYS_LOCK_OFFSET 0x20 | 70 | #define VERSATILE_SYS_LOCK_OFFSET 0x20 |
69 | #define VERSATILE_SYS_100HZ_OFFSET 0x24 | 71 | #define VERSATILE_SYS_100HZ_OFFSET 0x24 |
70 | #define VERSATILE_SYS_CFGDATA1_OFFSET 0x28 | 72 | #define VERSATILE_SYS_CFGDATA1_OFFSET 0x28 |
diff --git a/include/asm-arm/system.h b/include/asm-arm/system.h index 6001febfe63b..0947cbf9b69a 100644 --- a/include/asm-arm/system.h +++ b/include/asm-arm/system.h | |||
@@ -176,7 +176,6 @@ extern unsigned int user_debug; | |||
176 | #define wmb() mb() | 176 | #define wmb() mb() |
177 | #define read_barrier_depends() do { } while(0) | 177 | #define read_barrier_depends() do { } while(0) |
178 | #define set_mb(var, value) do { var = value; mb(); } while (0) | 178 | #define set_mb(var, value) do { var = value; mb(); } while (0) |
179 | #define set_wmb(var, value) do { var = value; wmb(); } while (0) | ||
180 | #define nop() __asm__ __volatile__("mov\tr0,r0\t@ nop\n\t"); | 179 | #define nop() __asm__ __volatile__("mov\tr0,r0\t@ nop\n\t"); |
181 | 180 | ||
182 | /* | 181 | /* |
diff --git a/include/asm-arm26/system.h b/include/asm-arm26/system.h index d1f69d706198..00ae32aa1dba 100644 --- a/include/asm-arm26/system.h +++ b/include/asm-arm26/system.h | |||
@@ -90,7 +90,6 @@ extern unsigned int user_debug; | |||
90 | 90 | ||
91 | #define read_barrier_depends() do { } while(0) | 91 | #define read_barrier_depends() do { } while(0) |
92 | #define set_mb(var, value) do { var = value; mb(); } while (0) | 92 | #define set_mb(var, value) do { var = value; mb(); } while (0) |
93 | #define set_wmb(var, value) do { var = value; wmb(); } while (0) | ||
94 | 93 | ||
95 | /* | 94 | /* |
96 | * We assume knowledge of how | 95 | * We assume knowledge of how |
diff --git a/include/asm-cris/system.h b/include/asm-cris/system.h index b1c593b6dbff..b869f6161aaa 100644 --- a/include/asm-cris/system.h +++ b/include/asm-cris/system.h | |||
@@ -17,7 +17,6 @@ extern struct task_struct *resume(struct task_struct *prev, struct task_struct * | |||
17 | #define wmb() mb() | 17 | #define wmb() mb() |
18 | #define read_barrier_depends() do { } while(0) | 18 | #define read_barrier_depends() do { } while(0) |
19 | #define set_mb(var, value) do { var = value; mb(); } while (0) | 19 | #define set_mb(var, value) do { var = value; mb(); } while (0) |
20 | #define set_wmb(var, value) do { var = value; wmb(); } while (0) | ||
21 | 20 | ||
22 | #ifdef CONFIG_SMP | 21 | #ifdef CONFIG_SMP |
23 | #define smp_mb() mb() | 22 | #define smp_mb() mb() |
diff --git a/include/asm-frv/processor.h b/include/asm-frv/processor.h index 1c4dba1c5f57..3744f2e47f48 100644 --- a/include/asm-frv/processor.h +++ b/include/asm-frv/processor.h | |||
@@ -21,6 +21,7 @@ | |||
21 | */ | 21 | */ |
22 | #define current_text_addr() ({ __label__ _l; _l: &&_l;}) | 22 | #define current_text_addr() ({ __label__ _l; _l: &&_l;}) |
23 | 23 | ||
24 | #include <linux/compiler.h> | ||
24 | #include <linux/linkage.h> | 25 | #include <linux/linkage.h> |
25 | #include <asm/sections.h> | 26 | #include <asm/sections.h> |
26 | #include <asm/segment.h> | 27 | #include <asm/segment.h> |
@@ -139,7 +140,7 @@ unsigned long get_wchan(struct task_struct *p); | |||
139 | extern struct task_struct *alloc_task_struct(void); | 140 | extern struct task_struct *alloc_task_struct(void); |
140 | extern void free_task_struct(struct task_struct *p); | 141 | extern void free_task_struct(struct task_struct *p); |
141 | 142 | ||
142 | #define cpu_relax() do { } while (0) | 143 | #define cpu_relax() barrier() |
143 | 144 | ||
144 | /* data cache prefetch */ | 145 | /* data cache prefetch */ |
145 | #define ARCH_HAS_PREFETCH | 146 | #define ARCH_HAS_PREFETCH |
diff --git a/include/asm-frv/system.h b/include/asm-frv/system.h index 351863dfd06e..1166899317d7 100644 --- a/include/asm-frv/system.h +++ b/include/asm-frv/system.h | |||
@@ -179,7 +179,6 @@ do { \ | |||
179 | #define rmb() asm volatile ("membar" : : :"memory") | 179 | #define rmb() asm volatile ("membar" : : :"memory") |
180 | #define wmb() asm volatile ("membar" : : :"memory") | 180 | #define wmb() asm volatile ("membar" : : :"memory") |
181 | #define set_mb(var, value) do { var = value; mb(); } while (0) | 181 | #define set_mb(var, value) do { var = value; mb(); } while (0) |
182 | #define set_wmb(var, value) do { var = value; wmb(); } while (0) | ||
183 | 182 | ||
184 | #define smp_mb() mb() | 183 | #define smp_mb() mb() |
185 | #define smp_rmb() rmb() | 184 | #define smp_rmb() rmb() |
diff --git a/include/asm-generic/Kbuild.asm b/include/asm-generic/Kbuild.asm index d8d0bcecd23f..6b16dda18115 100644 --- a/include/asm-generic/Kbuild.asm +++ b/include/asm-generic/Kbuild.asm | |||
@@ -1,11 +1,8 @@ | |||
1 | unifdef-y += a.out.h auxvec.h byteorder.h errno.h fcntl.h ioctl.h \ | 1 | unifdef-y += a.out.h auxvec.h byteorder.h errno.h fcntl.h ioctl.h \ |
2 | ioctls.h ipcbuf.h irq.h mman.h msgbuf.h param.h poll.h \ | 2 | ioctls.h ipcbuf.h mman.h msgbuf.h param.h poll.h \ |
3 | posix_types.h ptrace.h resource.h sembuf.h shmbuf.h shmparam.h \ | 3 | posix_types.h ptrace.h resource.h sembuf.h shmbuf.h shmparam.h \ |
4 | sigcontext.h siginfo.h signal.h socket.h sockios.h stat.h \ | 4 | sigcontext.h siginfo.h signal.h socket.h sockios.h stat.h \ |
5 | statfs.h termbits.h termios.h timex.h types.h unistd.h user.h | 5 | statfs.h termbits.h termios.h timex.h types.h unistd.h user.h |
6 | 6 | ||
7 | # These really shouldn't be exported | ||
8 | unifdef-y += atomic.h io.h | ||
9 | |||
10 | # These probably shouldn't be exported | 7 | # These probably shouldn't be exported |
11 | unifdef-y += elf.h page.h | 8 | unifdef-y += elf.h page.h |
diff --git a/include/asm-h8300/processor.h b/include/asm-h8300/processor.h index c7e2f454b83a..99b664aa2083 100644 --- a/include/asm-h8300/processor.h +++ b/include/asm-h8300/processor.h | |||
@@ -17,6 +17,7 @@ | |||
17 | */ | 17 | */ |
18 | #define current_text_addr() ({ __label__ _l; _l: &&_l;}) | 18 | #define current_text_addr() ({ __label__ _l; _l: &&_l;}) |
19 | 19 | ||
20 | #include <linux/compiler.h> | ||
20 | #include <asm/segment.h> | 21 | #include <asm/segment.h> |
21 | #include <asm/fpu.h> | 22 | #include <asm/fpu.h> |
22 | #include <asm/ptrace.h> | 23 | #include <asm/ptrace.h> |
@@ -129,6 +130,6 @@ unsigned long get_wchan(struct task_struct *p); | |||
129 | eip; }) | 130 | eip; }) |
130 | #define KSTK_ESP(tsk) ((tsk) == current ? rdusp() : (tsk)->thread.usp) | 131 | #define KSTK_ESP(tsk) ((tsk) == current ? rdusp() : (tsk)->thread.usp) |
131 | 132 | ||
132 | #define cpu_relax() do { } while (0) | 133 | #define cpu_relax() barrier() |
133 | 134 | ||
134 | #endif | 135 | #endif |
diff --git a/include/asm-h8300/system.h b/include/asm-h8300/system.h index 134e0929fce5..5084a9d42922 100644 --- a/include/asm-h8300/system.h +++ b/include/asm-h8300/system.h | |||
@@ -84,7 +84,6 @@ asmlinkage void resume(void); | |||
84 | #define wmb() asm volatile ("" : : :"memory") | 84 | #define wmb() asm volatile ("" : : :"memory") |
85 | #define set_rmb(var, value) do { xchg(&var, value); } while (0) | 85 | #define set_rmb(var, value) do { xchg(&var, value); } while (0) |
86 | #define set_mb(var, value) set_rmb(var, value) | 86 | #define set_mb(var, value) set_rmb(var, value) |
87 | #define set_wmb(var, value) do { var = value; wmb(); } while (0) | ||
88 | 87 | ||
89 | #ifdef CONFIG_SMP | 88 | #ifdef CONFIG_SMP |
90 | #define smp_mb() mb() | 89 | #define smp_mb() mb() |
diff --git a/include/asm-i386/system.h b/include/asm-i386/system.h index db398d88b1d9..49928eb33f8b 100644 --- a/include/asm-i386/system.h +++ b/include/asm-i386/system.h | |||
@@ -82,10 +82,6 @@ __asm__ __volatile__ ("movw %%dx,%1\n\t" \ | |||
82 | #define savesegment(seg, value) \ | 82 | #define savesegment(seg, value) \ |
83 | asm volatile("mov %%" #seg ",%0":"=rm" (value)) | 83 | asm volatile("mov %%" #seg ",%0":"=rm" (value)) |
84 | 84 | ||
85 | /* | ||
86 | * Clear and set 'TS' bit respectively | ||
87 | */ | ||
88 | #define clts() __asm__ __volatile__ ("clts") | ||
89 | #define read_cr0() ({ \ | 85 | #define read_cr0() ({ \ |
90 | unsigned int __dummy; \ | 86 | unsigned int __dummy; \ |
91 | __asm__ __volatile__( \ | 87 | __asm__ __volatile__( \ |
@@ -94,7 +90,7 @@ __asm__ __volatile__ ("movw %%dx,%1\n\t" \ | |||
94 | __dummy; \ | 90 | __dummy; \ |
95 | }) | 91 | }) |
96 | #define write_cr0(x) \ | 92 | #define write_cr0(x) \ |
97 | __asm__ __volatile__("movl %0,%%cr0": :"r" (x)); | 93 | __asm__ __volatile__("movl %0,%%cr0": :"r" (x)) |
98 | 94 | ||
99 | #define read_cr2() ({ \ | 95 | #define read_cr2() ({ \ |
100 | unsigned int __dummy; \ | 96 | unsigned int __dummy; \ |
@@ -104,7 +100,7 @@ __asm__ __volatile__ ("movw %%dx,%1\n\t" \ | |||
104 | __dummy; \ | 100 | __dummy; \ |
105 | }) | 101 | }) |
106 | #define write_cr2(x) \ | 102 | #define write_cr2(x) \ |
107 | __asm__ __volatile__("movl %0,%%cr2": :"r" (x)); | 103 | __asm__ __volatile__("movl %0,%%cr2": :"r" (x)) |
108 | 104 | ||
109 | #define read_cr3() ({ \ | 105 | #define read_cr3() ({ \ |
110 | unsigned int __dummy; \ | 106 | unsigned int __dummy; \ |
@@ -114,7 +110,7 @@ __asm__ __volatile__ ("movw %%dx,%1\n\t" \ | |||
114 | __dummy; \ | 110 | __dummy; \ |
115 | }) | 111 | }) |
116 | #define write_cr3(x) \ | 112 | #define write_cr3(x) \ |
117 | __asm__ __volatile__("movl %0,%%cr3": :"r" (x)); | 113 | __asm__ __volatile__("movl %0,%%cr3": :"r" (x)) |
118 | 114 | ||
119 | #define read_cr4() ({ \ | 115 | #define read_cr4() ({ \ |
120 | unsigned int __dummy; \ | 116 | unsigned int __dummy; \ |
@@ -123,7 +119,6 @@ __asm__ __volatile__ ("movw %%dx,%1\n\t" \ | |||
123 | :"=r" (__dummy)); \ | 119 | :"=r" (__dummy)); \ |
124 | __dummy; \ | 120 | __dummy; \ |
125 | }) | 121 | }) |
126 | |||
127 | #define read_cr4_safe() ({ \ | 122 | #define read_cr4_safe() ({ \ |
128 | unsigned int __dummy; \ | 123 | unsigned int __dummy; \ |
129 | /* This could fault if %cr4 does not exist */ \ | 124 | /* This could fault if %cr4 does not exist */ \ |
@@ -135,15 +130,19 @@ __asm__ __volatile__ ("movw %%dx,%1\n\t" \ | |||
135 | : "=r" (__dummy): "0" (0)); \ | 130 | : "=r" (__dummy): "0" (0)); \ |
136 | __dummy; \ | 131 | __dummy; \ |
137 | }) | 132 | }) |
138 | |||
139 | #define write_cr4(x) \ | 133 | #define write_cr4(x) \ |
140 | __asm__ __volatile__("movl %0,%%cr4": :"r" (x)); | 134 | __asm__ __volatile__("movl %0,%%cr4": :"r" (x)) |
135 | |||
136 | /* | ||
137 | * Clear and set 'TS' bit respectively | ||
138 | */ | ||
139 | #define clts() __asm__ __volatile__ ("clts") | ||
141 | #define stts() write_cr0(8 | read_cr0()) | 140 | #define stts() write_cr0(8 | read_cr0()) |
142 | 141 | ||
143 | #endif /* __KERNEL__ */ | 142 | #endif /* __KERNEL__ */ |
144 | 143 | ||
145 | #define wbinvd() \ | 144 | #define wbinvd() \ |
146 | __asm__ __volatile__ ("wbinvd": : :"memory"); | 145 | __asm__ __volatile__ ("wbinvd": : :"memory") |
147 | 146 | ||
148 | static inline unsigned long get_limit(unsigned long segment) | 147 | static inline unsigned long get_limit(unsigned long segment) |
149 | { | 148 | { |
@@ -454,8 +453,6 @@ static inline unsigned long long __cmpxchg64(volatile void *ptr, unsigned long l | |||
454 | #define set_mb(var, value) do { var = value; barrier(); } while (0) | 453 | #define set_mb(var, value) do { var = value; barrier(); } while (0) |
455 | #endif | 454 | #endif |
456 | 455 | ||
457 | #define set_wmb(var, value) do { var = value; wmb(); } while (0) | ||
458 | |||
459 | #include <linux/irqflags.h> | 456 | #include <linux/irqflags.h> |
460 | 457 | ||
461 | /* | 458 | /* |
diff --git a/include/asm-ia64/system.h b/include/asm-ia64/system.h index 65db43ce4de6..fc9677bc87ee 100644 --- a/include/asm-ia64/system.h +++ b/include/asm-ia64/system.h | |||
@@ -98,12 +98,11 @@ extern struct ia64_boot_param { | |||
98 | #endif | 98 | #endif |
99 | 99 | ||
100 | /* | 100 | /* |
101 | * XXX check on these---I suspect what Linus really wants here is | 101 | * XXX check on this ---I suspect what Linus really wants here is |
102 | * acquire vs release semantics but we can't discuss this stuff with | 102 | * acquire vs release semantics but we can't discuss this stuff with |
103 | * Linus just yet. Grrr... | 103 | * Linus just yet. Grrr... |
104 | */ | 104 | */ |
105 | #define set_mb(var, value) do { (var) = (value); mb(); } while (0) | 105 | #define set_mb(var, value) do { (var) = (value); mb(); } while (0) |
106 | #define set_wmb(var, value) do { (var) = (value); mb(); } while (0) | ||
107 | 106 | ||
108 | #define safe_halt() ia64_pal_halt_light() /* PAL_HALT_LIGHT */ | 107 | #define safe_halt() ia64_pal_halt_light() /* PAL_HALT_LIGHT */ |
109 | 108 | ||
diff --git a/include/asm-m32r/system.h b/include/asm-m32r/system.h index 311cebf44eff..9e618afec6ed 100644 --- a/include/asm-m32r/system.h +++ b/include/asm-m32r/system.h | |||
@@ -336,7 +336,6 @@ __cmpxchg(volatile void *ptr, unsigned long old, unsigned long new, int size) | |||
336 | #endif | 336 | #endif |
337 | 337 | ||
338 | #define set_mb(var, value) do { xchg(&var, value); } while (0) | 338 | #define set_mb(var, value) do { xchg(&var, value); } while (0) |
339 | #define set_wmb(var, value) do { var = value; wmb(); } while (0) | ||
340 | 339 | ||
341 | #define arch_align_stack(x) (x) | 340 | #define arch_align_stack(x) (x) |
342 | 341 | ||
diff --git a/include/asm-m68k/system.h b/include/asm-m68k/system.h index d6dd8052cd6f..131a0cb0f491 100644 --- a/include/asm-m68k/system.h +++ b/include/asm-m68k/system.h | |||
@@ -80,7 +80,6 @@ static inline int irqs_disabled(void) | |||
80 | #define wmb() barrier() | 80 | #define wmb() barrier() |
81 | #define read_barrier_depends() do { } while(0) | 81 | #define read_barrier_depends() do { } while(0) |
82 | #define set_mb(var, value) do { xchg(&var, value); } while (0) | 82 | #define set_mb(var, value) do { xchg(&var, value); } while (0) |
83 | #define set_wmb(var, value) do { var = value; wmb(); } while (0) | ||
84 | 83 | ||
85 | #define smp_mb() barrier() | 84 | #define smp_mb() barrier() |
86 | #define smp_rmb() barrier() | 85 | #define smp_rmb() barrier() |
diff --git a/include/asm-m68knommu/processor.h b/include/asm-m68knommu/processor.h index 0ee158e09abb..9d3a1bf41231 100644 --- a/include/asm-m68knommu/processor.h +++ b/include/asm-m68knommu/processor.h | |||
@@ -13,6 +13,7 @@ | |||
13 | */ | 13 | */ |
14 | #define current_text_addr() ({ __label__ _l; _l: &&_l;}) | 14 | #define current_text_addr() ({ __label__ _l; _l: &&_l;}) |
15 | 15 | ||
16 | #include <linux/compiler.h> | ||
16 | #include <linux/threads.h> | 17 | #include <linux/threads.h> |
17 | #include <asm/types.h> | 18 | #include <asm/types.h> |
18 | #include <asm/segment.h> | 19 | #include <asm/segment.h> |
@@ -137,6 +138,6 @@ unsigned long get_wchan(struct task_struct *p); | |||
137 | eip; }) | 138 | eip; }) |
138 | #define KSTK_ESP(tsk) ((tsk) == current ? rdusp() : (tsk)->thread.usp) | 139 | #define KSTK_ESP(tsk) ((tsk) == current ? rdusp() : (tsk)->thread.usp) |
139 | 140 | ||
140 | #define cpu_relax() do { } while (0) | 141 | #define cpu_relax() barrier() |
141 | 142 | ||
142 | #endif | 143 | #endif |
diff --git a/include/asm-m68knommu/system.h b/include/asm-m68knommu/system.h index 2bbe2db00a22..2a814498672d 100644 --- a/include/asm-m68knommu/system.h +++ b/include/asm-m68knommu/system.h | |||
@@ -106,7 +106,6 @@ asmlinkage void resume(void); | |||
106 | #define wmb() asm volatile ("" : : :"memory") | 106 | #define wmb() asm volatile ("" : : :"memory") |
107 | #define set_rmb(var, value) do { xchg(&var, value); } while (0) | 107 | #define set_rmb(var, value) do { xchg(&var, value); } while (0) |
108 | #define set_mb(var, value) set_rmb(var, value) | 108 | #define set_mb(var, value) set_rmb(var, value) |
109 | #define set_wmb(var, value) do { var = value; wmb(); } while (0) | ||
110 | 109 | ||
111 | #ifdef CONFIG_SMP | 110 | #ifdef CONFIG_SMP |
112 | #define smp_mb() mb() | 111 | #define smp_mb() mb() |
diff --git a/include/asm-m68knommu/uaccess.h b/include/asm-m68knommu/uaccess.h index 05be9515a2d2..62b29b10bc6d 100644 --- a/include/asm-m68knommu/uaccess.h +++ b/include/asm-m68knommu/uaccess.h | |||
@@ -93,7 +93,7 @@ extern int __put_user_bad(void); | |||
93 | #define get_user(x, ptr) \ | 93 | #define get_user(x, ptr) \ |
94 | ({ \ | 94 | ({ \ |
95 | int __gu_err = 0; \ | 95 | int __gu_err = 0; \ |
96 | typeof(*(ptr)) __gu_val = 0; \ | 96 | typeof(x) __gu_val = 0; \ |
97 | switch (sizeof(*(ptr))) { \ | 97 | switch (sizeof(*(ptr))) { \ |
98 | case 1: \ | 98 | case 1: \ |
99 | __get_user_asm(__gu_err, __gu_val, ptr, b, "=d"); \ | 99 | __get_user_asm(__gu_err, __gu_val, ptr, b, "=d"); \ |
@@ -105,23 +105,23 @@ extern int __put_user_bad(void); | |||
105 | __get_user_asm(__gu_err, __gu_val, ptr, l, "=r"); \ | 105 | __get_user_asm(__gu_err, __gu_val, ptr, l, "=r"); \ |
106 | break; \ | 106 | break; \ |
107 | case 8: \ | 107 | case 8: \ |
108 | memcpy(&__gu_val, ptr, sizeof (*(ptr))); \ | 108 | memcpy((void *) &__gu_val, ptr, sizeof (*(ptr))); \ |
109 | break; \ | 109 | break; \ |
110 | default: \ | 110 | default: \ |
111 | __gu_val = 0; \ | 111 | __gu_val = 0; \ |
112 | __gu_err = __get_user_bad(); \ | 112 | __gu_err = __get_user_bad(); \ |
113 | break; \ | 113 | break; \ |
114 | } \ | 114 | } \ |
115 | (x) = __gu_val; \ | 115 | (x) = (typeof(*(ptr))) __gu_val; \ |
116 | __gu_err; \ | 116 | __gu_err; \ |
117 | }) | 117 | }) |
118 | #define __get_user(x, ptr) get_user(x, ptr) | 118 | #define __get_user(x, ptr) get_user(x, ptr) |
119 | 119 | ||
120 | extern int __get_user_bad(void); | 120 | extern int __get_user_bad(void); |
121 | 121 | ||
122 | #define __get_user_asm(err,x,ptr,bwl,reg) \ | 122 | #define __get_user_asm(err,x,ptr,bwl,reg) \ |
123 | __asm__ ("move" #bwl " %1,%0" \ | 123 | __asm__ ("move" #bwl " %1,%0" \ |
124 | : "=d" (x) \ | 124 | : "=d" (x) \ |
125 | : "m" (*__ptr(ptr))) | 125 | : "m" (*__ptr(ptr))) |
126 | 126 | ||
127 | #define copy_from_user(to, from, n) (memcpy(to, from, n), 0) | 127 | #define copy_from_user(to, from, n) (memcpy(to, from, n), 0) |
diff --git a/include/asm-mips/apm.h b/include/asm-mips/apm.h index e8c69208f63a..4b99ffc11529 100644 --- a/include/asm-mips/apm.h +++ b/include/asm-mips/apm.h | |||
@@ -13,7 +13,6 @@ | |||
13 | #ifndef MIPS_ASM_SA1100_APM_H | 13 | #ifndef MIPS_ASM_SA1100_APM_H |
14 | #define MIPS_ASM_SA1100_APM_H | 14 | #define MIPS_ASM_SA1100_APM_H |
15 | 15 | ||
16 | #include <linux/config.h> | ||
17 | #include <linux/apm_bios.h> | 16 | #include <linux/apm_bios.h> |
18 | 17 | ||
19 | /* | 18 | /* |
diff --git a/include/asm-mips/atomic.h b/include/asm-mips/atomic.h index 13d44e14025a..e64abc0d8221 100644 --- a/include/asm-mips/atomic.h +++ b/include/asm-mips/atomic.h | |||
@@ -22,8 +22,8 @@ | |||
22 | #ifndef _ASM_ATOMIC_H | 22 | #ifndef _ASM_ATOMIC_H |
23 | #define _ASM_ATOMIC_H | 23 | #define _ASM_ATOMIC_H |
24 | 24 | ||
25 | #include <linux/irqflags.h> | ||
25 | #include <asm/cpu-features.h> | 26 | #include <asm/cpu-features.h> |
26 | #include <asm/interrupt.h> | ||
27 | #include <asm/war.h> | 27 | #include <asm/war.h> |
28 | 28 | ||
29 | typedef struct { volatile int counter; } atomic_t; | 29 | typedef struct { volatile int counter; } atomic_t; |
diff --git a/include/asm-mips/bitops.h b/include/asm-mips/bitops.h index 098cec263681..1bb89c5a10ee 100644 --- a/include/asm-mips/bitops.h +++ b/include/asm-mips/bitops.h | |||
@@ -31,7 +31,7 @@ | |||
31 | 31 | ||
32 | #ifdef __KERNEL__ | 32 | #ifdef __KERNEL__ |
33 | 33 | ||
34 | #include <asm/interrupt.h> | 34 | #include <linux/irqflags.h> |
35 | #include <asm/sgidefs.h> | 35 | #include <asm/sgidefs.h> |
36 | #include <asm/war.h> | 36 | #include <asm/war.h> |
37 | 37 | ||
diff --git a/include/asm-mips/cpu-features.h b/include/asm-mips/cpu-features.h index 44285a9d5520..eadca266f159 100644 --- a/include/asm-mips/cpu-features.h +++ b/include/asm-mips/cpu-features.h | |||
@@ -143,12 +143,8 @@ | |||
143 | #define cpu_has_dsp (cpu_data[0].ases & MIPS_ASE_DSP) | 143 | #define cpu_has_dsp (cpu_data[0].ases & MIPS_ASE_DSP) |
144 | #endif | 144 | #endif |
145 | 145 | ||
146 | #ifdef CONFIG_MIPS_MT | ||
147 | #ifndef cpu_has_mipsmt | 146 | #ifndef cpu_has_mipsmt |
148 | # define cpu_has_mipsmt (cpu_data[0].ases & MIPS_ASE_MIPSMT) | 147 | #define cpu_has_mipsmt (cpu_data[0].ases & MIPS_ASE_MIPSMT) |
149 | #endif | ||
150 | #else | ||
151 | # define cpu_has_mipsmt 0 | ||
152 | #endif | 148 | #endif |
153 | 149 | ||
154 | #ifdef CONFIG_32BIT | 150 | #ifdef CONFIG_32BIT |
@@ -199,8 +195,8 @@ | |||
199 | # define cpu_has_veic 0 | 195 | # define cpu_has_veic 0 |
200 | #endif | 196 | #endif |
201 | 197 | ||
202 | #ifndef cpu_has_subset_pcaches | 198 | #ifndef cpu_has_inclusive_pcaches |
203 | #define cpu_has_subset_pcaches (cpu_data[0].options & MIPS_CPU_SUBSET_CACHES) | 199 | #define cpu_has_inclusive_pcaches (cpu_data[0].options & MIPS_CPU_INCLUSIVE_CACHES) |
204 | #endif | 200 | #endif |
205 | 201 | ||
206 | #ifndef cpu_dcache_line_size | 202 | #ifndef cpu_dcache_line_size |
diff --git a/include/asm-mips/cpu.h b/include/asm-mips/cpu.h index dff2a0a52f8f..d38fdbf845b2 100644 --- a/include/asm-mips/cpu.h +++ b/include/asm-mips/cpu.h | |||
@@ -242,7 +242,7 @@ | |||
242 | #define MIPS_CPU_EJTAG 0x00008000 /* EJTAG exception */ | 242 | #define MIPS_CPU_EJTAG 0x00008000 /* EJTAG exception */ |
243 | #define MIPS_CPU_NOFPUEX 0x00010000 /* no FPU exception */ | 243 | #define MIPS_CPU_NOFPUEX 0x00010000 /* no FPU exception */ |
244 | #define MIPS_CPU_LLSC 0x00020000 /* CPU has ll/sc instructions */ | 244 | #define MIPS_CPU_LLSC 0x00020000 /* CPU has ll/sc instructions */ |
245 | #define MIPS_CPU_SUBSET_CACHES 0x00040000 /* P-cache subset enforced */ | 245 | #define MIPS_CPU_INCLUSIVE_CACHES 0x00040000 /* P-cache subset enforced */ |
246 | #define MIPS_CPU_PREFETCH 0x00080000 /* CPU has usable prefetch */ | 246 | #define MIPS_CPU_PREFETCH 0x00080000 /* CPU has usable prefetch */ |
247 | #define MIPS_CPU_VINT 0x00100000 /* CPU supports MIPSR2 vectored interrupts */ | 247 | #define MIPS_CPU_VINT 0x00100000 /* CPU supports MIPSR2 vectored interrupts */ |
248 | #define MIPS_CPU_VEIC 0x00200000 /* CPU supports MIPSR2 external interrupt controller mode */ | 248 | #define MIPS_CPU_VEIC 0x00200000 /* CPU supports MIPSR2 external interrupt controller mode */ |
diff --git a/include/asm-mips/inst.h b/include/asm-mips/inst.h index 1ed8d0f62577..6489f00731ca 100644 --- a/include/asm-mips/inst.h +++ b/include/asm-mips/inst.h | |||
@@ -74,7 +74,7 @@ enum spec3_op { | |||
74 | ins_op, dinsm_op, dinsu_op, dins_op, | 74 | ins_op, dinsm_op, dinsu_op, dins_op, |
75 | bshfl_op = 0x20, | 75 | bshfl_op = 0x20, |
76 | dbshfl_op = 0x24, | 76 | dbshfl_op = 0x24, |
77 | rdhwr_op = 0x3f | 77 | rdhwr_op = 0x3b |
78 | }; | 78 | }; |
79 | 79 | ||
80 | /* | 80 | /* |
diff --git a/include/asm-mips/interrupt.h b/include/asm-mips/irqflags.h index a99d6867510f..43ca09a3a3d0 100644 --- a/include/asm-mips/interrupt.h +++ b/include/asm-mips/irqflags.h | |||
@@ -8,13 +8,15 @@ | |||
8 | * Copyright (C) 1999 Silicon Graphics | 8 | * Copyright (C) 1999 Silicon Graphics |
9 | * Copyright (C) 2000 MIPS Technologies, Inc. | 9 | * Copyright (C) 2000 MIPS Technologies, Inc. |
10 | */ | 10 | */ |
11 | #ifndef _ASM_INTERRUPT_H | 11 | #ifndef _ASM_IRQFLAGS_H |
12 | #define _ASM_INTERRUPT_H | 12 | #define _ASM_IRQFLAGS_H |
13 | |||
14 | #ifndef __ASSEMBLY__ | ||
13 | 15 | ||
14 | #include <asm/hazards.h> | 16 | #include <asm/hazards.h> |
15 | 17 | ||
16 | __asm__ ( | 18 | __asm__ ( |
17 | " .macro local_irq_enable \n" | 19 | " .macro raw_local_irq_enable \n" |
18 | " .set push \n" | 20 | " .set push \n" |
19 | " .set reorder \n" | 21 | " .set reorder \n" |
20 | " .set noat \n" | 22 | " .set noat \n" |
@@ -35,10 +37,10 @@ __asm__ ( | |||
35 | " .set pop \n" | 37 | " .set pop \n" |
36 | " .endm"); | 38 | " .endm"); |
37 | 39 | ||
38 | static inline void local_irq_enable(void) | 40 | static inline void raw_local_irq_enable(void) |
39 | { | 41 | { |
40 | __asm__ __volatile__( | 42 | __asm__ __volatile__( |
41 | "local_irq_enable" | 43 | "raw_local_irq_enable" |
42 | : /* no outputs */ | 44 | : /* no outputs */ |
43 | : /* no inputs */ | 45 | : /* no inputs */ |
44 | : "memory"); | 46 | : "memory"); |
@@ -63,7 +65,7 @@ static inline void local_irq_enable(void) | |||
63 | * Workaround: mask EXL bit of the result or place a nop before mfc0. | 65 | * Workaround: mask EXL bit of the result or place a nop before mfc0. |
64 | */ | 66 | */ |
65 | __asm__ ( | 67 | __asm__ ( |
66 | " .macro local_irq_disable\n" | 68 | " .macro raw_local_irq_disable\n" |
67 | " .set push \n" | 69 | " .set push \n" |
68 | " .set noat \n" | 70 | " .set noat \n" |
69 | #ifdef CONFIG_MIPS_MT_SMTC | 71 | #ifdef CONFIG_MIPS_MT_SMTC |
@@ -84,17 +86,17 @@ __asm__ ( | |||
84 | " .set pop \n" | 86 | " .set pop \n" |
85 | " .endm \n"); | 87 | " .endm \n"); |
86 | 88 | ||
87 | static inline void local_irq_disable(void) | 89 | static inline void raw_local_irq_disable(void) |
88 | { | 90 | { |
89 | __asm__ __volatile__( | 91 | __asm__ __volatile__( |
90 | "local_irq_disable" | 92 | "raw_local_irq_disable" |
91 | : /* no outputs */ | 93 | : /* no outputs */ |
92 | : /* no inputs */ | 94 | : /* no inputs */ |
93 | : "memory"); | 95 | : "memory"); |
94 | } | 96 | } |
95 | 97 | ||
96 | __asm__ ( | 98 | __asm__ ( |
97 | " .macro local_save_flags flags \n" | 99 | " .macro raw_local_save_flags flags \n" |
98 | " .set push \n" | 100 | " .set push \n" |
99 | " .set reorder \n" | 101 | " .set reorder \n" |
100 | #ifdef CONFIG_MIPS_MT_SMTC | 102 | #ifdef CONFIG_MIPS_MT_SMTC |
@@ -105,13 +107,13 @@ __asm__ ( | |||
105 | " .set pop \n" | 107 | " .set pop \n" |
106 | " .endm \n"); | 108 | " .endm \n"); |
107 | 109 | ||
108 | #define local_save_flags(x) \ | 110 | #define raw_local_save_flags(x) \ |
109 | __asm__ __volatile__( \ | 111 | __asm__ __volatile__( \ |
110 | "local_save_flags %0" \ | 112 | "raw_local_save_flags %0" \ |
111 | : "=r" (x)) | 113 | : "=r" (x)) |
112 | 114 | ||
113 | __asm__ ( | 115 | __asm__ ( |
114 | " .macro local_irq_save result \n" | 116 | " .macro raw_local_irq_save result \n" |
115 | " .set push \n" | 117 | " .set push \n" |
116 | " .set reorder \n" | 118 | " .set reorder \n" |
117 | " .set noat \n" | 119 | " .set noat \n" |
@@ -135,15 +137,15 @@ __asm__ ( | |||
135 | " .set pop \n" | 137 | " .set pop \n" |
136 | " .endm \n"); | 138 | " .endm \n"); |
137 | 139 | ||
138 | #define local_irq_save(x) \ | 140 | #define raw_local_irq_save(x) \ |
139 | __asm__ __volatile__( \ | 141 | __asm__ __volatile__( \ |
140 | "local_irq_save\t%0" \ | 142 | "raw_local_irq_save\t%0" \ |
141 | : "=r" (x) \ | 143 | : "=r" (x) \ |
142 | : /* no inputs */ \ | 144 | : /* no inputs */ \ |
143 | : "memory") | 145 | : "memory") |
144 | 146 | ||
145 | __asm__ ( | 147 | __asm__ ( |
146 | " .macro local_irq_restore flags \n" | 148 | " .macro raw_local_irq_restore flags \n" |
147 | " .set push \n" | 149 | " .set push \n" |
148 | " .set noreorder \n" | 150 | " .set noreorder \n" |
149 | " .set noat \n" | 151 | " .set noat \n" |
@@ -182,40 +184,42 @@ __asm__ ( | |||
182 | " .set pop \n" | 184 | " .set pop \n" |
183 | " .endm \n"); | 185 | " .endm \n"); |
184 | 186 | ||
185 | #define local_irq_restore(flags) \ | 187 | #define raw_local_irq_restore(flags) \ |
186 | do { \ | 188 | do { \ |
187 | unsigned long __tmp1; \ | 189 | unsigned long __tmp1; \ |
188 | \ | 190 | \ |
189 | __asm__ __volatile__( \ | 191 | __asm__ __volatile__( \ |
190 | "local_irq_restore\t%0" \ | 192 | "raw_local_irq_restore\t%0" \ |
191 | : "=r" (__tmp1) \ | 193 | : "=r" (__tmp1) \ |
192 | : "0" (flags) \ | 194 | : "0" (flags) \ |
193 | : "memory"); \ | 195 | : "memory"); \ |
194 | } while(0) | 196 | } while(0) |
195 | 197 | ||
196 | static inline int irqs_disabled(void) | 198 | static inline int raw_irqs_disabled_flags(unsigned long flags) |
197 | { | 199 | { |
198 | #ifdef CONFIG_MIPS_MT_SMTC | 200 | #ifdef CONFIG_MIPS_MT_SMTC |
199 | /* | 201 | /* |
200 | * SMTC model uses TCStatus.IXMT to disable interrupts for a thread/CPU | 202 | * SMTC model uses TCStatus.IXMT to disable interrupts for a thread/CPU |
201 | */ | 203 | */ |
202 | unsigned long __result; | 204 | return flags & 0x400; |
203 | |||
204 | __asm__ __volatile__( | ||
205 | " .set noreorder \n" | ||
206 | " mfc0 %0, $2, 1 \n" | ||
207 | " andi %0, 0x400 \n" | ||
208 | " slt %0, $0, %0 \n" | ||
209 | " .set reorder \n" | ||
210 | : "=r" (__result)); | ||
211 | |||
212 | return __result; | ||
213 | #else | 205 | #else |
214 | unsigned long flags; | ||
215 | local_save_flags(flags); | ||
216 | |||
217 | return !(flags & 1); | 206 | return !(flags & 1); |
218 | #endif | 207 | #endif |
219 | } | 208 | } |
220 | 209 | ||
221 | #endif /* _ASM_INTERRUPT_H */ | 210 | #endif |
211 | |||
212 | /* | ||
213 | * Do the CPU's IRQ-state tracing from assembly code. | ||
214 | */ | ||
215 | #ifdef CONFIG_TRACE_IRQFLAGS | ||
216 | # define TRACE_IRQS_ON \ | ||
217 | jal trace_hardirqs_on | ||
218 | # define TRACE_IRQS_OFF \ | ||
219 | jal trace_hardirqs_off | ||
220 | #else | ||
221 | # define TRACE_IRQS_ON | ||
222 | # define TRACE_IRQS_OFF | ||
223 | #endif | ||
224 | |||
225 | #endif /* _ASM_IRQFLAGS_H */ | ||
diff --git a/include/asm-mips/mach-cobalt/cpu-feature-overrides.h b/include/asm-mips/mach-cobalt/cpu-feature-overrides.h index e0e08fc5d7f7..c6dfa59d1986 100644 --- a/include/asm-mips/mach-cobalt/cpu-feature-overrides.h +++ b/include/asm-mips/mach-cobalt/cpu-feature-overrides.h | |||
@@ -27,7 +27,7 @@ | |||
27 | #define cpu_has_mcheck 0 | 27 | #define cpu_has_mcheck 0 |
28 | #define cpu_has_ejtag 0 | 28 | #define cpu_has_ejtag 0 |
29 | 29 | ||
30 | #define cpu_has_subset_pcaches 0 | 30 | #define cpu_has_inclusive_pcaches 0 |
31 | #define cpu_dcache_line_size() 32 | 31 | #define cpu_dcache_line_size() 32 |
32 | #define cpu_icache_line_size() 32 | 32 | #define cpu_icache_line_size() 32 |
33 | #define cpu_scache_line_size() 0 | 33 | #define cpu_scache_line_size() 0 |
diff --git a/include/asm-mips/mach-excite/cpu-feature-overrides.h b/include/asm-mips/mach-excite/cpu-feature-overrides.h index abb76b2fd865..0d31854222f9 100644 --- a/include/asm-mips/mach-excite/cpu-feature-overrides.h +++ b/include/asm-mips/mach-excite/cpu-feature-overrides.h | |||
@@ -31,7 +31,7 @@ | |||
31 | #define cpu_has_nofpuex 0 | 31 | #define cpu_has_nofpuex 0 |
32 | #define cpu_has_64bits 1 | 32 | #define cpu_has_64bits 1 |
33 | 33 | ||
34 | #define cpu_has_subset_pcaches 0 | 34 | #define cpu_has_inclusive_pcaches 0 |
35 | 35 | ||
36 | #define cpu_dcache_line_size() 32 | 36 | #define cpu_dcache_line_size() 32 |
37 | #define cpu_icache_line_size() 32 | 37 | #define cpu_icache_line_size() 32 |
diff --git a/include/asm-mips/mach-excite/excite.h b/include/asm-mips/mach-excite/excite.h index c52610de2b3a..130bd4b8edce 100644 --- a/include/asm-mips/mach-excite/excite.h +++ b/include/asm-mips/mach-excite/excite.h | |||
@@ -1,7 +1,6 @@ | |||
1 | #ifndef __EXCITE_H__ | 1 | #ifndef __EXCITE_H__ |
2 | #define __EXCITE_H__ | 2 | #define __EXCITE_H__ |
3 | 3 | ||
4 | #include <linux/config.h> | ||
5 | #include <linux/init.h> | 4 | #include <linux/init.h> |
6 | #include <asm/addrspace.h> | 5 | #include <asm/addrspace.h> |
7 | #include <asm/types.h> | 6 | #include <asm/types.h> |
diff --git a/include/asm-mips/mach-ip27/cpu-feature-overrides.h b/include/asm-mips/mach-ip27/cpu-feature-overrides.h index 19c2d135985b..a071974b67bb 100644 --- a/include/asm-mips/mach-ip27/cpu-feature-overrides.h +++ b/include/asm-mips/mach-ip27/cpu-feature-overrides.h | |||
@@ -34,7 +34,7 @@ | |||
34 | #define cpu_has_4kex 1 | 34 | #define cpu_has_4kex 1 |
35 | #define cpu_has_4k_cache 1 | 35 | #define cpu_has_4k_cache 1 |
36 | 36 | ||
37 | #define cpu_has_subset_pcaches 1 | 37 | #define cpu_has_inclusive_pcaches 1 |
38 | 38 | ||
39 | #define cpu_dcache_line_size() 32 | 39 | #define cpu_dcache_line_size() 32 |
40 | #define cpu_icache_line_size() 64 | 40 | #define cpu_icache_line_size() 64 |
diff --git a/include/asm-mips/mach-ja/cpu-feature-overrides.h b/include/asm-mips/mach-ja/cpu-feature-overrides.h index 90ff087083b9..84b6dead0e8a 100644 --- a/include/asm-mips/mach-ja/cpu-feature-overrides.h +++ b/include/asm-mips/mach-ja/cpu-feature-overrides.h | |||
@@ -31,7 +31,7 @@ | |||
31 | #define cpu_has_nofpuex 0 | 31 | #define cpu_has_nofpuex 0 |
32 | #define cpu_has_64bits 1 | 32 | #define cpu_has_64bits 1 |
33 | 33 | ||
34 | #define cpu_has_subset_pcaches 0 | 34 | #define cpu_has_inclusive_pcaches 0 |
35 | 35 | ||
36 | #define cpu_dcache_line_size() 32 | 36 | #define cpu_dcache_line_size() 32 |
37 | #define cpu_icache_line_size() 32 | 37 | #define cpu_icache_line_size() 32 |
diff --git a/include/asm-mips/mach-mips/cpu-feature-overrides.h b/include/asm-mips/mach-mips/cpu-feature-overrides.h index e960679f54ba..7f3e3f9bd23a 100644 --- a/include/asm-mips/mach-mips/cpu-feature-overrides.h +++ b/include/asm-mips/mach-mips/cpu-feature-overrides.h | |||
@@ -39,7 +39,7 @@ | |||
39 | #define cpu_has_nofpuex 0 | 39 | #define cpu_has_nofpuex 0 |
40 | /* #define cpu_has_64bits ? */ | 40 | /* #define cpu_has_64bits ? */ |
41 | /* #define cpu_has_64bit_zero_reg ? */ | 41 | /* #define cpu_has_64bit_zero_reg ? */ |
42 | /* #define cpu_has_subset_pcaches ? */ | 42 | /* #define cpu_has_inclusive_pcaches ? */ |
43 | #define cpu_icache_snoops_remote_store 1 | 43 | #define cpu_icache_snoops_remote_store 1 |
44 | #endif | 44 | #endif |
45 | 45 | ||
@@ -65,7 +65,7 @@ | |||
65 | #define cpu_has_nofpuex 0 | 65 | #define cpu_has_nofpuex 0 |
66 | /* #define cpu_has_64bits ? */ | 66 | /* #define cpu_has_64bits ? */ |
67 | /* #define cpu_has_64bit_zero_reg ? */ | 67 | /* #define cpu_has_64bit_zero_reg ? */ |
68 | /* #define cpu_has_subset_pcaches ? */ | 68 | /* #define cpu_has_inclusive_pcaches ? */ |
69 | #define cpu_icache_snoops_remote_store 1 | 69 | #define cpu_icache_snoops_remote_store 1 |
70 | #endif | 70 | #endif |
71 | 71 | ||
diff --git a/include/asm-mips/mach-ocelot3/cpu-feature-overrides.h b/include/asm-mips/mach-ocelot3/cpu-feature-overrides.h index 782b986241dd..57a12ded0613 100644 --- a/include/asm-mips/mach-ocelot3/cpu-feature-overrides.h +++ b/include/asm-mips/mach-ocelot3/cpu-feature-overrides.h | |||
@@ -34,7 +34,7 @@ | |||
34 | #define cpu_has_nofpuex 0 | 34 | #define cpu_has_nofpuex 0 |
35 | #define cpu_has_64bits 1 | 35 | #define cpu_has_64bits 1 |
36 | 36 | ||
37 | #define cpu_has_subset_pcaches 0 | 37 | #define cpu_has_inclusive_pcaches 0 |
38 | 38 | ||
39 | #define cpu_dcache_line_size() 32 | 39 | #define cpu_dcache_line_size() 32 |
40 | #define cpu_icache_line_size() 32 | 40 | #define cpu_icache_line_size() 32 |
diff --git a/include/asm-mips/mach-sibyte/cpu-feature-overrides.h b/include/asm-mips/mach-sibyte/cpu-feature-overrides.h index 193a666cd131..a25968f277a2 100644 --- a/include/asm-mips/mach-sibyte/cpu-feature-overrides.h +++ b/include/asm-mips/mach-sibyte/cpu-feature-overrides.h | |||
@@ -31,7 +31,7 @@ | |||
31 | #define cpu_has_nofpuex 0 | 31 | #define cpu_has_nofpuex 0 |
32 | #define cpu_has_64bits 1 | 32 | #define cpu_has_64bits 1 |
33 | 33 | ||
34 | #define cpu_has_subset_pcaches 0 | 34 | #define cpu_has_inclusive_pcaches 0 |
35 | 35 | ||
36 | #define cpu_dcache_line_size() 32 | 36 | #define cpu_dcache_line_size() 32 |
37 | #define cpu_icache_line_size() 32 | 37 | #define cpu_icache_line_size() 32 |
diff --git a/include/asm-mips/mach-sim/cpu-feature-overrides.h b/include/asm-mips/mach-sim/cpu-feature-overrides.h index d736bdadb6df..779b02205737 100644 --- a/include/asm-mips/mach-sim/cpu-feature-overrides.h +++ b/include/asm-mips/mach-sim/cpu-feature-overrides.h | |||
@@ -34,7 +34,7 @@ | |||
34 | #define cpu_has_nofpuex 0 | 34 | #define cpu_has_nofpuex 0 |
35 | /* #define cpu_has_64bits ? */ | 35 | /* #define cpu_has_64bits ? */ |
36 | /* #define cpu_has_64bit_zero_reg ? */ | 36 | /* #define cpu_has_64bit_zero_reg ? */ |
37 | /* #define cpu_has_subset_pcaches ? */ | 37 | /* #define cpu_has_inclusive_pcaches ? */ |
38 | #endif | 38 | #endif |
39 | 39 | ||
40 | #ifdef CONFIG_CPU_MIPS64 | 40 | #ifdef CONFIG_CPU_MIPS64 |
@@ -59,7 +59,7 @@ | |||
59 | #define cpu_has_nofpuex 0 | 59 | #define cpu_has_nofpuex 0 |
60 | /* #define cpu_has_64bits ? */ | 60 | /* #define cpu_has_64bits ? */ |
61 | /* #define cpu_has_64bit_zero_reg ? */ | 61 | /* #define cpu_has_64bit_zero_reg ? */ |
62 | /* #define cpu_has_subset_pcaches ? */ | 62 | /* #define cpu_has_inclusive_pcaches ? */ |
63 | #endif | 63 | #endif |
64 | 64 | ||
65 | #endif /* __ASM_MACH_MIPS_CPU_FEATURE_OVERRIDES_H */ | 65 | #endif /* __ASM_MACH_MIPS_CPU_FEATURE_OVERRIDES_H */ |
diff --git a/include/asm-mips/mach-yosemite/cpu-feature-overrides.h b/include/asm-mips/mach-yosemite/cpu-feature-overrides.h index 3073542c93c7..42cebb7ce7a6 100644 --- a/include/asm-mips/mach-yosemite/cpu-feature-overrides.h +++ b/include/asm-mips/mach-yosemite/cpu-feature-overrides.h | |||
@@ -31,7 +31,7 @@ | |||
31 | #define cpu_has_nofpuex 0 | 31 | #define cpu_has_nofpuex 0 |
32 | #define cpu_has_64bits 1 | 32 | #define cpu_has_64bits 1 |
33 | 33 | ||
34 | #define cpu_has_subset_pcaches 0 | 34 | #define cpu_has_inclusive_pcaches 0 |
35 | 35 | ||
36 | #define cpu_dcache_line_size() 32 | 36 | #define cpu_dcache_line_size() 32 |
37 | #define cpu_icache_line_size() 32 | 37 | #define cpu_icache_line_size() 32 |
diff --git a/include/asm-mips/mipsregs.h b/include/asm-mips/mipsregs.h index 9192d76c133d..1f318d707998 100644 --- a/include/asm-mips/mipsregs.h +++ b/include/asm-mips/mipsregs.h | |||
@@ -470,6 +470,8 @@ | |||
470 | 470 | ||
471 | /* Bits specific to the VR41xx. */ | 471 | /* Bits specific to the VR41xx. */ |
472 | #define VR41_CONF_CS (_ULCAST_(1) << 12) | 472 | #define VR41_CONF_CS (_ULCAST_(1) << 12) |
473 | #define VR41_CONF_P4K (_ULCAST_(1) << 13) | ||
474 | #define VR41_CONF_BP (_ULCAST_(1) << 16) | ||
473 | #define VR41_CONF_M16 (_ULCAST_(1) << 20) | 475 | #define VR41_CONF_M16 (_ULCAST_(1) << 20) |
474 | #define VR41_CONF_AD (_ULCAST_(1) << 23) | 476 | #define VR41_CONF_AD (_ULCAST_(1) << 23) |
475 | 477 | ||
@@ -1416,7 +1418,7 @@ change_c0_##name(unsigned int change, unsigned int new) \ | |||
1416 | 1418 | ||
1417 | #else /* SMTC versions that manage MT scheduling */ | 1419 | #else /* SMTC versions that manage MT scheduling */ |
1418 | 1420 | ||
1419 | #include <asm/interrupt.h> | 1421 | #include <linux/irqflags.h> |
1420 | 1422 | ||
1421 | /* | 1423 | /* |
1422 | * This is a duplicate of dmt() in mipsmtregs.h to avoid problems with | 1424 | * This is a duplicate of dmt() in mipsmtregs.h to avoid problems with |
diff --git a/include/asm-mips/page.h b/include/asm-mips/page.h index 6b97744f00cd..6ed1151a05a3 100644 --- a/include/asm-mips/page.h +++ b/include/asm-mips/page.h | |||
@@ -138,16 +138,14 @@ typedef struct { unsigned long pgprot; } pgprot_t; | |||
138 | 138 | ||
139 | #define pfn_to_kaddr(pfn) __va((pfn) << PAGE_SHIFT) | 139 | #define pfn_to_kaddr(pfn) __va((pfn) << PAGE_SHIFT) |
140 | 140 | ||
141 | #ifndef CONFIG_SPARSEMEM | ||
142 | #ifndef CONFIG_NEED_MULTIPLE_NODES | ||
143 | #define pfn_valid(pfn) ((pfn) < max_mapnr) | ||
144 | #endif | ||
145 | #endif | ||
146 | |||
147 | #ifdef CONFIG_FLATMEM | 141 | #ifdef CONFIG_FLATMEM |
148 | 142 | ||
149 | #define pfn_valid(pfn) ((pfn) < max_mapnr) | 143 | #define pfn_valid(pfn) ((pfn) < max_mapnr) |
150 | 144 | ||
145 | #elif defined(CONFIG_SPARSEMEM) | ||
146 | |||
147 | /* pfn_valid is defined in linux/mmzone.h */ | ||
148 | |||
151 | #elif defined(CONFIG_NEED_MULTIPLE_NODES) | 149 | #elif defined(CONFIG_NEED_MULTIPLE_NODES) |
152 | 150 | ||
153 | #define pfn_valid(pfn) \ | 151 | #define pfn_valid(pfn) \ |
@@ -159,8 +157,6 @@ typedef struct { unsigned long pgprot; } pgprot_t; | |||
159 | : 0); \ | 157 | : 0); \ |
160 | }) | 158 | }) |
161 | 159 | ||
162 | #else | ||
163 | #error Provide a definition of pfn_valid | ||
164 | #endif | 160 | #endif |
165 | 161 | ||
166 | #define virt_to_page(kaddr) pfn_to_page(__pa(kaddr) >> PAGE_SHIFT) | 162 | #define virt_to_page(kaddr) pfn_to_page(__pa(kaddr) >> PAGE_SHIFT) |
diff --git a/include/asm-mips/system.h b/include/asm-mips/system.h index 130333d7c4ee..dcb4701d5728 100644 --- a/include/asm-mips/system.h +++ b/include/asm-mips/system.h | |||
@@ -13,13 +13,13 @@ | |||
13 | #define _ASM_SYSTEM_H | 13 | #define _ASM_SYSTEM_H |
14 | 14 | ||
15 | #include <linux/types.h> | 15 | #include <linux/types.h> |
16 | #include <linux/irqflags.h> | ||
16 | 17 | ||
17 | #include <asm/addrspace.h> | 18 | #include <asm/addrspace.h> |
18 | #include <asm/cpu-features.h> | 19 | #include <asm/cpu-features.h> |
19 | #include <asm/dsp.h> | 20 | #include <asm/dsp.h> |
20 | #include <asm/ptrace.h> | 21 | #include <asm/ptrace.h> |
21 | #include <asm/war.h> | 22 | #include <asm/war.h> |
22 | #include <asm/interrupt.h> | ||
23 | 23 | ||
24 | /* | 24 | /* |
25 | * read_barrier_depends - Flush all pending reads that subsequents reads | 25 | * read_barrier_depends - Flush all pending reads that subsequents reads |
@@ -143,9 +143,6 @@ | |||
143 | #define set_mb(var, value) \ | 143 | #define set_mb(var, value) \ |
144 | do { var = value; mb(); } while (0) | 144 | do { var = value; mb(); } while (0) |
145 | 145 | ||
146 | #define set_wmb(var, value) \ | ||
147 | do { var = value; wmb(); } while (0) | ||
148 | |||
149 | /* | 146 | /* |
150 | * switch_to(n) should switch tasks to task nr n, first | 147 | * switch_to(n) should switch tasks to task nr n, first |
151 | * checking that n isn't the current task, in which case it does nothing. | 148 | * checking that n isn't the current task, in which case it does nothing. |
diff --git a/include/asm-mips/time.h b/include/asm-mips/time.h index d897c8bb554d..2d543735668b 100644 --- a/include/asm-mips/time.h +++ b/include/asm-mips/time.h | |||
@@ -83,11 +83,11 @@ extern asmlinkage void ll_local_timer_interrupt(int irq, struct pt_regs *regs); | |||
83 | /* | 83 | /* |
84 | * board specific routines required by time_init(). | 84 | * board specific routines required by time_init(). |
85 | * board_time_init is defaulted to NULL and can remain so. | 85 | * board_time_init is defaulted to NULL and can remain so. |
86 | * board_timer_setup must be setup properly in machine setup routine. | 86 | * plat_timer_setup must be setup properly in machine setup routine. |
87 | */ | 87 | */ |
88 | struct irqaction; | 88 | struct irqaction; |
89 | extern void (*board_time_init)(void); | 89 | extern void (*board_time_init)(void); |
90 | extern void (*board_timer_setup)(struct irqaction *irq); | 90 | extern void plat_timer_setup(struct irqaction *irq); |
91 | 91 | ||
92 | /* | 92 | /* |
93 | * mips_hpt_frequency - must be set if you intend to use an R4k-compatible | 93 | * mips_hpt_frequency - must be set if you intend to use an R4k-compatible |
diff --git a/include/asm-mips/unistd.h b/include/asm-mips/unistd.h index 809f9f55bacb..610ccb8a50b3 100644 --- a/include/asm-mips/unistd.h +++ b/include/asm-mips/unistd.h | |||
@@ -327,16 +327,18 @@ | |||
327 | #define __NR_splice (__NR_Linux + 304) | 327 | #define __NR_splice (__NR_Linux + 304) |
328 | #define __NR_sync_file_range (__NR_Linux + 305) | 328 | #define __NR_sync_file_range (__NR_Linux + 305) |
329 | #define __NR_tee (__NR_Linux + 306) | 329 | #define __NR_tee (__NR_Linux + 306) |
330 | #define __NR_vmsplice (__NR_Linux + 307) | ||
331 | #define __NR_move_pages (__NR_Linux + 308) | ||
330 | 332 | ||
331 | /* | 333 | /* |
332 | * Offset of the last Linux o32 flavoured syscall | 334 | * Offset of the last Linux o32 flavoured syscall |
333 | */ | 335 | */ |
334 | #define __NR_Linux_syscalls 306 | 336 | #define __NR_Linux_syscalls 308 |
335 | 337 | ||
336 | #endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */ | 338 | #endif /* _MIPS_SIM == _MIPS_SIM_ABI32 */ |
337 | 339 | ||
338 | #define __NR_O32_Linux 4000 | 340 | #define __NR_O32_Linux 4000 |
339 | #define __NR_O32_Linux_syscalls 306 | 341 | #define __NR_O32_Linux_syscalls 308 |
340 | 342 | ||
341 | #if _MIPS_SIM == _MIPS_SIM_ABI64 | 343 | #if _MIPS_SIM == _MIPS_SIM_ABI64 |
342 | 344 | ||
@@ -610,16 +612,18 @@ | |||
610 | #define __NR_splice (__NR_Linux + 263) | 612 | #define __NR_splice (__NR_Linux + 263) |
611 | #define __NR_sync_file_range (__NR_Linux + 264) | 613 | #define __NR_sync_file_range (__NR_Linux + 264) |
612 | #define __NR_tee (__NR_Linux + 265) | 614 | #define __NR_tee (__NR_Linux + 265) |
615 | #define __NR_vmsplice (__NR_Linux + 266) | ||
616 | #define __NR_move_pages (__NR_Linux + 267) | ||
613 | 617 | ||
614 | /* | 618 | /* |
615 | * Offset of the last Linux 64-bit flavoured syscall | 619 | * Offset of the last Linux 64-bit flavoured syscall |
616 | */ | 620 | */ |
617 | #define __NR_Linux_syscalls 265 | 621 | #define __NR_Linux_syscalls 267 |
618 | 622 | ||
619 | #endif /* _MIPS_SIM == _MIPS_SIM_ABI64 */ | 623 | #endif /* _MIPS_SIM == _MIPS_SIM_ABI64 */ |
620 | 624 | ||
621 | #define __NR_64_Linux 5000 | 625 | #define __NR_64_Linux 5000 |
622 | #define __NR_64_Linux_syscalls 265 | 626 | #define __NR_64_Linux_syscalls 267 |
623 | 627 | ||
624 | #if _MIPS_SIM == _MIPS_SIM_NABI32 | 628 | #if _MIPS_SIM == _MIPS_SIM_NABI32 |
625 | 629 | ||
@@ -897,16 +901,18 @@ | |||
897 | #define __NR_splice (__NR_Linux + 267) | 901 | #define __NR_splice (__NR_Linux + 267) |
898 | #define __NR_sync_file_range (__NR_Linux + 268) | 902 | #define __NR_sync_file_range (__NR_Linux + 268) |
899 | #define __NR_tee (__NR_Linux + 269) | 903 | #define __NR_tee (__NR_Linux + 269) |
904 | #define __NR_vmsplice (__NR_Linux + 270) | ||
905 | #define __NR_move_pages (__NR_Linux + 271) | ||
900 | 906 | ||
901 | /* | 907 | /* |
902 | * Offset of the last N32 flavoured syscall | 908 | * Offset of the last N32 flavoured syscall |
903 | */ | 909 | */ |
904 | #define __NR_Linux_syscalls 269 | 910 | #define __NR_Linux_syscalls 271 |
905 | 911 | ||
906 | #endif /* _MIPS_SIM == _MIPS_SIM_NABI32 */ | 912 | #endif /* _MIPS_SIM == _MIPS_SIM_NABI32 */ |
907 | 913 | ||
908 | #define __NR_N32_Linux 6000 | 914 | #define __NR_N32_Linux 6000 |
909 | #define __NR_N32_Linux_syscalls 269 | 915 | #define __NR_N32_Linux_syscalls 271 |
910 | 916 | ||
911 | #ifdef __KERNEL__ | 917 | #ifdef __KERNEL__ |
912 | 918 | ||
diff --git a/include/asm-mips/vr41xx/capcella.h b/include/asm-mips/vr41xx/capcella.h index d10ffda50de7..e0ee05a3dfcc 100644 --- a/include/asm-mips/vr41xx/capcella.h +++ b/include/asm-mips/vr41xx/capcella.h | |||
@@ -20,7 +20,7 @@ | |||
20 | #ifndef __ZAO_CAPCELLA_H | 20 | #ifndef __ZAO_CAPCELLA_H |
21 | #define __ZAO_CAPCELLA_H | 21 | #define __ZAO_CAPCELLA_H |
22 | 22 | ||
23 | #include <asm/vr41xx/vr41xx.h> | 23 | #include <asm/vr41xx/irq.h> |
24 | 24 | ||
25 | /* | 25 | /* |
26 | * General-Purpose I/O Pin Number | 26 | * General-Purpose I/O Pin Number |
diff --git a/include/asm-mips/vr41xx/cmbvr4133.h b/include/asm-mips/vr41xx/cmbvr4133.h index 42af389019ea..9490ade58b46 100644 --- a/include/asm-mips/vr41xx/cmbvr4133.h +++ b/include/asm-mips/vr41xx/cmbvr4133.h | |||
@@ -15,8 +15,7 @@ | |||
15 | #ifndef __NEC_CMBVR4133_H | 15 | #ifndef __NEC_CMBVR4133_H |
16 | #define __NEC_CMBVR4133_H | 16 | #define __NEC_CMBVR4133_H |
17 | 17 | ||
18 | #include <asm/addrspace.h> | 18 | #include <asm/vr41xx/irq.h> |
19 | #include <asm/vr41xx/vr41xx.h> | ||
20 | 19 | ||
21 | /* | 20 | /* |
22 | * General-Purpose I/O Pin Number | 21 | * General-Purpose I/O Pin Number |
@@ -55,7 +54,4 @@ | |||
55 | #define IDE_SECONDARY_IRQ I8259_IRQ(15) | 54 | #define IDE_SECONDARY_IRQ I8259_IRQ(15) |
56 | #define I8259_IRQ_LAST IDE_SECONDARY_IRQ | 55 | #define I8259_IRQ_LAST IDE_SECONDARY_IRQ |
57 | 56 | ||
58 | #define RTC_PORT(x) (0xaf000100 + (x)) | ||
59 | #define RTC_IO_EXTENT 0x140 | ||
60 | |||
61 | #endif /* __NEC_CMBVR4133_H */ | 57 | #endif /* __NEC_CMBVR4133_H */ |
diff --git a/include/asm-mips/vr41xx/e55.h b/include/asm-mips/vr41xx/e55.h deleted file mode 100644 index 558f2269bf37..000000000000 --- a/include/asm-mips/vr41xx/e55.h +++ /dev/null | |||
@@ -1,43 +0,0 @@ | |||
1 | /* | ||
2 | * e55.h, Include file for CASIO CASSIOPEIA E-10/15/55/65. | ||
3 | * | ||
4 | * Copyright (C) 2002-2004 Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License | ||
17 | * along with this program; if not, write to the Free Software | ||
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
19 | */ | ||
20 | #ifndef __CASIO_E55_H | ||
21 | #define __CASIO_E55_H | ||
22 | |||
23 | #include <asm/addrspace.h> | ||
24 | #include <asm/vr41xx/vr41xx.h> | ||
25 | |||
26 | /* | ||
27 | * Board specific address mapping | ||
28 | */ | ||
29 | #define VR41XX_ISA_MEM_BASE 0x10000000 | ||
30 | #define VR41XX_ISA_MEM_SIZE 0x04000000 | ||
31 | |||
32 | /* VR41XX_ISA_IO_BASE includes offset from real base. */ | ||
33 | #define VR41XX_ISA_IO_BASE 0x1400c000 | ||
34 | #define VR41XX_ISA_IO_SIZE 0x03ff4000 | ||
35 | |||
36 | #define ISA_BUS_IO_BASE 0 | ||
37 | #define ISA_BUS_IO_SIZE VR41XX_ISA_IO_SIZE | ||
38 | |||
39 | #define IO_PORT_BASE KSEG1ADDR(VR41XX_ISA_IO_BASE) | ||
40 | #define IO_PORT_RESOURCE_START ISA_BUS_IO_BASE | ||
41 | #define IO_PORT_RESOURCE_END (ISA_BUS_IO_BASE + ISA_BUS_IO_SIZE - 1) | ||
42 | |||
43 | #endif /* __CASIO_E55_H */ | ||
diff --git a/include/asm-mips/vr41xx/irq.h b/include/asm-mips/vr41xx/irq.h new file mode 100644 index 000000000000..d315dfbc08f2 --- /dev/null +++ b/include/asm-mips/vr41xx/irq.h | |||
@@ -0,0 +1,101 @@ | |||
1 | /* | ||
2 | * include/asm-mips/vr41xx/irq.h | ||
3 | * | ||
4 | * Interrupt numbers for NEC VR4100 series. | ||
5 | * | ||
6 | * Copyright (C) 1999 Michael Klar | ||
7 | * Copyright (C) 2001, 2002 Paul Mundt | ||
8 | * Copyright (C) 2002 MontaVista Software, Inc. | ||
9 | * Copyright (C) 2002 TimeSys Corp. | ||
10 | * Copyright (C) 2003-2006 Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp> | ||
11 | * | ||
12 | * This program is free software; you can redistribute it and/or modify it | ||
13 | * under the terms of the GNU General Public License as published by the | ||
14 | * Free Software Foundation; either version 2 of the License, or (at your | ||
15 | * option) any later version. | ||
16 | */ | ||
17 | #ifndef __NEC_VR41XX_IRQ_H | ||
18 | #define __NEC_VR41XX_IRQ_H | ||
19 | |||
20 | /* | ||
21 | * CPU core Interrupt Numbers | ||
22 | */ | ||
23 | #define MIPS_CPU_IRQ_BASE 0 | ||
24 | #define MIPS_CPU_IRQ(x) (MIPS_CPU_IRQ_BASE + (x)) | ||
25 | #define MIPS_SOFTINT0_IRQ MIPS_CPU_IRQ(0) | ||
26 | #define MIPS_SOFTINT1_IRQ MIPS_CPU_IRQ(1) | ||
27 | #define INT0_IRQ MIPS_CPU_IRQ(2) | ||
28 | #define INT1_IRQ MIPS_CPU_IRQ(3) | ||
29 | #define INT2_IRQ MIPS_CPU_IRQ(4) | ||
30 | #define INT3_IRQ MIPS_CPU_IRQ(5) | ||
31 | #define INT4_IRQ MIPS_CPU_IRQ(6) | ||
32 | #define TIMER_IRQ MIPS_CPU_IRQ(7) | ||
33 | |||
34 | /* | ||
35 | * SYINT1 Interrupt Numbers | ||
36 | */ | ||
37 | #define SYSINT1_IRQ_BASE 8 | ||
38 | #define SYSINT1_IRQ(x) (SYSINT1_IRQ_BASE + (x)) | ||
39 | #define BATTRY_IRQ SYSINT1_IRQ(0) | ||
40 | #define POWER_IRQ SYSINT1_IRQ(1) | ||
41 | #define RTCLONG1_IRQ SYSINT1_IRQ(2) | ||
42 | #define ELAPSEDTIME_IRQ SYSINT1_IRQ(3) | ||
43 | /* RFU */ | ||
44 | #define PIU_IRQ SYSINT1_IRQ(5) | ||
45 | #define AIU_IRQ SYSINT1_IRQ(6) | ||
46 | #define KIU_IRQ SYSINT1_IRQ(7) | ||
47 | #define GIUINT_IRQ SYSINT1_IRQ(8) | ||
48 | #define SIU_IRQ SYSINT1_IRQ(9) | ||
49 | #define BUSERR_IRQ SYSINT1_IRQ(10) | ||
50 | #define SOFTINT_IRQ SYSINT1_IRQ(11) | ||
51 | #define CLKRUN_IRQ SYSINT1_IRQ(12) | ||
52 | #define DOZEPIU_IRQ SYSINT1_IRQ(13) | ||
53 | #define SYSINT1_IRQ_LAST DOZEPIU_IRQ | ||
54 | |||
55 | /* | ||
56 | * SYSINT2 Interrupt Numbers | ||
57 | */ | ||
58 | #define SYSINT2_IRQ_BASE 24 | ||
59 | #define SYSINT2_IRQ(x) (SYSINT2_IRQ_BASE + (x)) | ||
60 | #define RTCLONG2_IRQ SYSINT2_IRQ(0) | ||
61 | #define LED_IRQ SYSINT2_IRQ(1) | ||
62 | #define HSP_IRQ SYSINT2_IRQ(2) | ||
63 | #define TCLOCK_IRQ SYSINT2_IRQ(3) | ||
64 | #define FIR_IRQ SYSINT2_IRQ(4) | ||
65 | #define CEU_IRQ SYSINT2_IRQ(4) /* same number as FIR_IRQ */ | ||
66 | #define DSIU_IRQ SYSINT2_IRQ(5) | ||
67 | #define PCI_IRQ SYSINT2_IRQ(6) | ||
68 | #define SCU_IRQ SYSINT2_IRQ(7) | ||
69 | #define CSI_IRQ SYSINT2_IRQ(8) | ||
70 | #define BCU_IRQ SYSINT2_IRQ(9) | ||
71 | #define ETHERNET_IRQ SYSINT2_IRQ(10) | ||
72 | #define SYSINT2_IRQ_LAST ETHERNET_IRQ | ||
73 | |||
74 | /* | ||
75 | * GIU Interrupt Numbers | ||
76 | */ | ||
77 | #define GIU_IRQ_BASE 40 | ||
78 | #define GIU_IRQ(x) (GIU_IRQ_BASE + (x)) /* IRQ 40-71 */ | ||
79 | #define GIU_IRQ_LAST GIU_IRQ(31) | ||
80 | |||
81 | /* | ||
82 | * VRC4173 Interrupt Numbers | ||
83 | */ | ||
84 | #define VRC4173_IRQ_BASE 72 | ||
85 | #define VRC4173_IRQ(x) (VRC4173_IRQ_BASE + (x)) | ||
86 | #define VRC4173_USB_IRQ VRC4173_IRQ(0) | ||
87 | #define VRC4173_PCMCIA2_IRQ VRC4173_IRQ(1) | ||
88 | #define VRC4173_PCMCIA1_IRQ VRC4173_IRQ(2) | ||
89 | #define VRC4173_PS2CH2_IRQ VRC4173_IRQ(3) | ||
90 | #define VRC4173_PS2CH1_IRQ VRC4173_IRQ(4) | ||
91 | #define VRC4173_PIU_IRQ VRC4173_IRQ(5) | ||
92 | #define VRC4173_AIU_IRQ VRC4173_IRQ(6) | ||
93 | #define VRC4173_KIU_IRQ VRC4173_IRQ(7) | ||
94 | #define VRC4173_GIU_IRQ VRC4173_IRQ(8) | ||
95 | #define VRC4173_AC97_IRQ VRC4173_IRQ(9) | ||
96 | #define VRC4173_AC97INT1_IRQ VRC4173_IRQ(10) | ||
97 | /* RFU */ | ||
98 | #define VRC4173_DOZEPIU_IRQ VRC4173_IRQ(13) | ||
99 | #define VRC4173_IRQ_LAST VRC4173_DOZEPIU_IRQ | ||
100 | |||
101 | #endif /* __NEC_VR41XX_IRQ_H */ | ||
diff --git a/include/asm-mips/vr41xx/mpc30x.h b/include/asm-mips/vr41xx/mpc30x.h index a6cbe4da6667..1d67df843dc3 100644 --- a/include/asm-mips/vr41xx/mpc30x.h +++ b/include/asm-mips/vr41xx/mpc30x.h | |||
@@ -20,7 +20,7 @@ | |||
20 | #ifndef __VICTOR_MPC30X_H | 20 | #ifndef __VICTOR_MPC30X_H |
21 | #define __VICTOR_MPC30X_H | 21 | #define __VICTOR_MPC30X_H |
22 | 22 | ||
23 | #include <asm/vr41xx/vr41xx.h> | 23 | #include <asm/vr41xx/irq.h> |
24 | 24 | ||
25 | /* | 25 | /* |
26 | * General-Purpose I/O Pin Number | 26 | * General-Purpose I/O Pin Number |
diff --git a/include/asm-mips/vr41xx/tb0219.h b/include/asm-mips/vr41xx/tb0219.h index b318b9612a83..dc981b4be0a4 100644 --- a/include/asm-mips/vr41xx/tb0219.h +++ b/include/asm-mips/vr41xx/tb0219.h | |||
@@ -23,7 +23,7 @@ | |||
23 | #ifndef __TANBAC_TB0219_H | 23 | #ifndef __TANBAC_TB0219_H |
24 | #define __TANBAC_TB0219_H | 24 | #define __TANBAC_TB0219_H |
25 | 25 | ||
26 | #include <asm/vr41xx/vr41xx.h> | 26 | #include <asm/vr41xx/irq.h> |
27 | 27 | ||
28 | /* | 28 | /* |
29 | * General-Purpose I/O Pin Number | 29 | * General-Purpose I/O Pin Number |
diff --git a/include/asm-mips/vr41xx/tb0226.h b/include/asm-mips/vr41xx/tb0226.h index 2513f450e2d6..de527dcfa5f3 100644 --- a/include/asm-mips/vr41xx/tb0226.h +++ b/include/asm-mips/vr41xx/tb0226.h | |||
@@ -20,7 +20,7 @@ | |||
20 | #ifndef __TANBAC_TB0226_H | 20 | #ifndef __TANBAC_TB0226_H |
21 | #define __TANBAC_TB0226_H | 21 | #define __TANBAC_TB0226_H |
22 | 22 | ||
23 | #include <asm/vr41xx/vr41xx.h> | 23 | #include <asm/vr41xx/irq.h> |
24 | 24 | ||
25 | /* | 25 | /* |
26 | * General-Purpose I/O Pin Number | 26 | * General-Purpose I/O Pin Number |
diff --git a/include/asm-mips/vr41xx/tb0287.h b/include/asm-mips/vr41xx/tb0287.h index dd9832313afe..61bead68abf0 100644 --- a/include/asm-mips/vr41xx/tb0287.h +++ b/include/asm-mips/vr41xx/tb0287.h | |||
@@ -22,7 +22,7 @@ | |||
22 | #ifndef __TANBAC_TB0287_H | 22 | #ifndef __TANBAC_TB0287_H |
23 | #define __TANBAC_TB0287_H | 23 | #define __TANBAC_TB0287_H |
24 | 24 | ||
25 | #include <asm/vr41xx/vr41xx.h> | 25 | #include <asm/vr41xx/irq.h> |
26 | 26 | ||
27 | /* | 27 | /* |
28 | * General-Purpose I/O Pin Number | 28 | * General-Purpose I/O Pin Number |
diff --git a/include/asm-mips/vr41xx/vr41xx.h b/include/asm-mips/vr41xx/vr41xx.h index 70828d5fae9c..dd3eb3dc5886 100644 --- a/include/asm-mips/vr41xx/vr41xx.h +++ b/include/asm-mips/vr41xx/vr41xx.h | |||
@@ -74,59 +74,6 @@ extern void vr41xx_mask_clock(vr41xx_clock_t clock); | |||
74 | /* | 74 | /* |
75 | * Interrupt Control Unit | 75 | * Interrupt Control Unit |
76 | */ | 76 | */ |
77 | /* CPU core Interrupt Numbers */ | ||
78 | #define MIPS_CPU_IRQ_BASE 0 | ||
79 | #define MIPS_CPU_IRQ(x) (MIPS_CPU_IRQ_BASE + (x)) | ||
80 | #define MIPS_SOFTINT0_IRQ MIPS_CPU_IRQ(0) | ||
81 | #define MIPS_SOFTINT1_IRQ MIPS_CPU_IRQ(1) | ||
82 | #define INT0_IRQ MIPS_CPU_IRQ(2) | ||
83 | #define INT1_IRQ MIPS_CPU_IRQ(3) | ||
84 | #define INT2_IRQ MIPS_CPU_IRQ(4) | ||
85 | #define INT3_IRQ MIPS_CPU_IRQ(5) | ||
86 | #define INT4_IRQ MIPS_CPU_IRQ(6) | ||
87 | #define TIMER_IRQ MIPS_CPU_IRQ(7) | ||
88 | |||
89 | /* SYINT1 Interrupt Numbers */ | ||
90 | #define SYSINT1_IRQ_BASE 8 | ||
91 | #define SYSINT1_IRQ(x) (SYSINT1_IRQ_BASE + (x)) | ||
92 | #define BATTRY_IRQ SYSINT1_IRQ(0) | ||
93 | #define POWER_IRQ SYSINT1_IRQ(1) | ||
94 | #define RTCLONG1_IRQ SYSINT1_IRQ(2) | ||
95 | #define ELAPSEDTIME_IRQ SYSINT1_IRQ(3) | ||
96 | /* RFU */ | ||
97 | #define PIU_IRQ SYSINT1_IRQ(5) | ||
98 | #define AIU_IRQ SYSINT1_IRQ(6) | ||
99 | #define KIU_IRQ SYSINT1_IRQ(7) | ||
100 | #define GIUINT_IRQ SYSINT1_IRQ(8) | ||
101 | #define SIU_IRQ SYSINT1_IRQ(9) | ||
102 | #define BUSERR_IRQ SYSINT1_IRQ(10) | ||
103 | #define SOFTINT_IRQ SYSINT1_IRQ(11) | ||
104 | #define CLKRUN_IRQ SYSINT1_IRQ(12) | ||
105 | #define DOZEPIU_IRQ SYSINT1_IRQ(13) | ||
106 | #define SYSINT1_IRQ_LAST DOZEPIU_IRQ | ||
107 | |||
108 | /* SYSINT2 Interrupt Numbers */ | ||
109 | #define SYSINT2_IRQ_BASE 24 | ||
110 | #define SYSINT2_IRQ(x) (SYSINT2_IRQ_BASE + (x)) | ||
111 | #define RTCLONG2_IRQ SYSINT2_IRQ(0) | ||
112 | #define LED_IRQ SYSINT2_IRQ(1) | ||
113 | #define HSP_IRQ SYSINT2_IRQ(2) | ||
114 | #define TCLOCK_IRQ SYSINT2_IRQ(3) | ||
115 | #define FIR_IRQ SYSINT2_IRQ(4) | ||
116 | #define CEU_IRQ SYSINT2_IRQ(4) /* same number as FIR_IRQ */ | ||
117 | #define DSIU_IRQ SYSINT2_IRQ(5) | ||
118 | #define PCI_IRQ SYSINT2_IRQ(6) | ||
119 | #define SCU_IRQ SYSINT2_IRQ(7) | ||
120 | #define CSI_IRQ SYSINT2_IRQ(8) | ||
121 | #define BCU_IRQ SYSINT2_IRQ(9) | ||
122 | #define ETHERNET_IRQ SYSINT2_IRQ(10) | ||
123 | #define SYSINT2_IRQ_LAST ETHERNET_IRQ | ||
124 | |||
125 | /* GIU Interrupt Numbers */ | ||
126 | #define GIU_IRQ_BASE 40 | ||
127 | #define GIU_IRQ(x) (GIU_IRQ_BASE + (x)) /* IRQ 40-71 */ | ||
128 | #define GIU_IRQ_LAST GIU_IRQ(31) | ||
129 | |||
130 | extern int vr41xx_set_intassign(unsigned int irq, unsigned char intassign); | 77 | extern int vr41xx_set_intassign(unsigned int irq, unsigned char intassign); |
131 | extern int cascade_irq(unsigned int irq, int (*get_irq)(unsigned int, struct pt_regs *)); | 78 | extern int cascade_irq(unsigned int irq, int (*get_irq)(unsigned int, struct pt_regs *)); |
132 | 79 | ||
diff --git a/include/asm-mips/vr41xx/vrc4173.h b/include/asm-mips/vr41xx/vrc4173.h deleted file mode 100644 index 96fdcd54cec7..000000000000 --- a/include/asm-mips/vr41xx/vrc4173.h +++ /dev/null | |||
@@ -1,221 +0,0 @@ | |||
1 | /* | ||
2 | * vrc4173.h, Include file for NEC VRC4173. | ||
3 | * | ||
4 | * Copyright (C) 2000 Michael R. McDonald | ||
5 | * Copyright (C) 2001-2003 Montavista Software Inc. | ||
6 | * Author: Yoichi Yuasa <yyuasa@mvista.com, or source@mvista.com> | ||
7 | * Copyright (C) 2004 Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp> | ||
8 | * Copyright (C) 2005 Ralf Baechle (ralf@linux-mips.org) | ||
9 | * | ||
10 | * This program is free software; you can redistribute it and/or modify | ||
11 | * it under the terms of the GNU General Public License as published by | ||
12 | * the Free Software Foundation; either version 2 of the License, or | ||
13 | * (at your option) any later version. | ||
14 | * | ||
15 | * This program is distributed in the hope that it will be useful, | ||
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
18 | * GNU General Public License for more details. | ||
19 | * | ||
20 | * You should have received a copy of the GNU General Public License | ||
21 | * along with this program; if not, write to the Free Software | ||
22 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
23 | */ | ||
24 | #ifndef __NEC_VRC4173_H | ||
25 | #define __NEC_VRC4173_H | ||
26 | |||
27 | #include <asm/io.h> | ||
28 | |||
29 | /* | ||
30 | * Interrupt Number | ||
31 | */ | ||
32 | #define VRC4173_IRQ_BASE 72 | ||
33 | #define VRC4173_IRQ(x) (VRC4173_IRQ_BASE + (x)) | ||
34 | #define VRC4173_USB_IRQ VRC4173_IRQ(0) | ||
35 | #define VRC4173_PCMCIA2_IRQ VRC4173_IRQ(1) | ||
36 | #define VRC4173_PCMCIA1_IRQ VRC4173_IRQ(2) | ||
37 | #define VRC4173_PS2CH2_IRQ VRC4173_IRQ(3) | ||
38 | #define VRC4173_PS2CH1_IRQ VRC4173_IRQ(4) | ||
39 | #define VRC4173_PIU_IRQ VRC4173_IRQ(5) | ||
40 | #define VRC4173_AIU_IRQ VRC4173_IRQ(6) | ||
41 | #define VRC4173_KIU_IRQ VRC4173_IRQ(7) | ||
42 | #define VRC4173_GIU_IRQ VRC4173_IRQ(8) | ||
43 | #define VRC4173_AC97_IRQ VRC4173_IRQ(9) | ||
44 | #define VRC4173_AC97INT1_IRQ VRC4173_IRQ(10) | ||
45 | /* RFU */ | ||
46 | #define VRC4173_DOZEPIU_IRQ VRC4173_IRQ(13) | ||
47 | #define VRC4173_IRQ_LAST VRC4173_DOZEPIU_IRQ | ||
48 | |||
49 | /* | ||
50 | * PCI I/O accesses | ||
51 | */ | ||
52 | #ifdef CONFIG_VRC4173 | ||
53 | |||
54 | extern unsigned long vrc4173_io_offset; | ||
55 | |||
56 | #define set_vrc4173_io_offset(offset) do { vrc4173_io_offset = (offset); } while (0) | ||
57 | |||
58 | #define vrc4173_outb(val,port) outb((val), vrc4173_io_offset+(port)) | ||
59 | #define vrc4173_outw(val,port) outw((val), vrc4173_io_offset+(port)) | ||
60 | #define vrc4173_outl(val,port) outl((val), vrc4173_io_offset+(port)) | ||
61 | #define vrc4173_outb_p(val,port) outb_p((val), vrc4173_io_offset+(port)) | ||
62 | #define vrc4173_outw_p(val,port) outw_p((val), vrc4173_io_offset+(port)) | ||
63 | #define vrc4173_outl_p(val,port) outl_p((val), vrc4173_io_offset+(port)) | ||
64 | |||
65 | #define vrc4173_inb(port) inb(vrc4173_io_offset+(port)) | ||
66 | #define vrc4173_inw(port) inw(vrc4173_io_offset+(port)) | ||
67 | #define vrc4173_inl(port) inl(vrc4173_io_offset+(port)) | ||
68 | #define vrc4173_inb_p(port) inb_p(vrc4173_io_offset+(port)) | ||
69 | #define vrc4173_inw_p(port) inw_p(vrc4173_io_offset+(port)) | ||
70 | #define vrc4173_inl_p(port) inl_p(vrc4173_io_offset+(port)) | ||
71 | |||
72 | #define vrc4173_outsb(port,addr,count) outsb(vrc4173_io_offset+(port),(addr),(count)) | ||
73 | #define vrc4173_outsw(port,addr,count) outsw(vrc4173_io_offset+(port),(addr),(count)) | ||
74 | #define vrc4173_outsl(port,addr,count) outsl(vrc4173_io_offset+(port),(addr),(count)) | ||
75 | |||
76 | #define vrc4173_insb(port,addr,count) insb(vrc4173_io_offset+(port),(addr),(count)) | ||
77 | #define vrc4173_insw(port,addr,count) insw(vrc4173_io_offset+(port),(addr),(count)) | ||
78 | #define vrc4173_insl(port,addr,count) insl(vrc4173_io_offset+(port),(addr),(count)) | ||
79 | |||
80 | #else | ||
81 | |||
82 | #define set_vrc4173_io_offset(offset) do {} while (0) | ||
83 | |||
84 | #define vrc4173_outb(val,port) do {} while (0) | ||
85 | #define vrc4173_outw(val,port) do {} while (0) | ||
86 | #define vrc4173_outl(val,port) do {} while (0) | ||
87 | #define vrc4173_outb_p(val,port) do {} while (0) | ||
88 | #define vrc4173_outw_p(val,port) do {} while (0) | ||
89 | #define vrc4173_outl_p(val,port) do {} while (0) | ||
90 | |||
91 | #define vrc4173_inb(port) 0 | ||
92 | #define vrc4173_inw(port) 0 | ||
93 | #define vrc4173_inl(port) 0 | ||
94 | #define vrc4173_inb_p(port) 0 | ||
95 | #define vrc4173_inw_p(port) 0 | ||
96 | #define vrc4173_inl_p(port) 0 | ||
97 | |||
98 | #define vrc4173_outsb(port,addr,count) do {} while (0) | ||
99 | #define vrc4173_outsw(port,addr,count) do {} while (0) | ||
100 | #define vrc4173_outsl(port,addr,count) do {} while (0) | ||
101 | |||
102 | #define vrc4173_insb(port,addr,count) do {} while (0) | ||
103 | #define vrc4173_insw(port,addr,count) do {} while (0) | ||
104 | #define vrc4173_insl(port,addr,count) do {} while (0) | ||
105 | |||
106 | #endif | ||
107 | |||
108 | /* | ||
109 | * Clock Mask Unit | ||
110 | */ | ||
111 | typedef enum vrc4173_clock { | ||
112 | VRC4173_PIU_CLOCK, | ||
113 | VRC4173_KIU_CLOCK, | ||
114 | VRC4173_AIU_CLOCK, | ||
115 | VRC4173_PS2_CH1_CLOCK, | ||
116 | VRC4173_PS2_CH2_CLOCK, | ||
117 | VRC4173_USBU_PCI_CLOCK, | ||
118 | VRC4173_CARDU1_PCI_CLOCK, | ||
119 | VRC4173_CARDU2_PCI_CLOCK, | ||
120 | VRC4173_AC97U_PCI_CLOCK, | ||
121 | VRC4173_USBU_48MHz_CLOCK, | ||
122 | VRC4173_EXT_48MHz_CLOCK, | ||
123 | VRC4173_48MHz_CLOCK, | ||
124 | } vrc4173_clock_t; | ||
125 | |||
126 | #ifdef CONFIG_VRC4173 | ||
127 | |||
128 | extern void vrc4173_supply_clock(vrc4173_clock_t clock); | ||
129 | extern void vrc4173_mask_clock(vrc4173_clock_t clock); | ||
130 | |||
131 | #else | ||
132 | |||
133 | static inline void vrc4173_supply_clock(vrc4173_clock_t clock) {} | ||
134 | static inline void vrc4173_mask_clock(vrc4173_clock_t clock) {} | ||
135 | |||
136 | #endif | ||
137 | |||
138 | /* | ||
139 | * Interupt Control Unit | ||
140 | */ | ||
141 | |||
142 | #define VRC4173_PIUINT_COMMAND 0x0040 | ||
143 | #define VRC4173_PIUINT_DATA 0x0020 | ||
144 | #define VRC4173_PIUINT_PAGE1 0x0010 | ||
145 | #define VRC4173_PIUINT_PAGE0 0x0008 | ||
146 | #define VRC4173_PIUINT_DATALOST 0x0004 | ||
147 | #define VRC4173_PIUINT_STATUSCHANGE 0x0001 | ||
148 | |||
149 | #ifdef CONFIG_VRC4173 | ||
150 | |||
151 | extern void vrc4173_enable_piuint(uint16_t mask); | ||
152 | extern void vrc4173_disable_piuint(uint16_t mask); | ||
153 | |||
154 | #else | ||
155 | |||
156 | static inline void vrc4173_enable_piuint(uint16_t mask) {} | ||
157 | static inline void vrc4173_disable_piuint(uint16_t mask) {} | ||
158 | |||
159 | #endif | ||
160 | |||
161 | #define VRC4173_AIUINT_INPUT_DMAEND 0x0800 | ||
162 | #define VRC4173_AIUINT_INPUT_DMAHALT 0x0400 | ||
163 | #define VRC4173_AIUINT_INPUT_DATALOST 0x0200 | ||
164 | #define VRC4173_AIUINT_INPUT_DATA 0x0100 | ||
165 | #define VRC4173_AIUINT_OUTPUT_DMAEND 0x0008 | ||
166 | #define VRC4173_AIUINT_OUTPUT_DMAHALT 0x0004 | ||
167 | #define VRC4173_AIUINT_OUTPUT_NODATA 0x0002 | ||
168 | |||
169 | #ifdef CONFIG_VRC4173 | ||
170 | |||
171 | extern void vrc4173_enable_aiuint(uint16_t mask); | ||
172 | extern void vrc4173_disable_aiuint(uint16_t mask); | ||
173 | |||
174 | #else | ||
175 | |||
176 | static inline void vrc4173_enable_aiuint(uint16_t mask) {} | ||
177 | static inline void vrc4173_disable_aiuint(uint16_t mask) {} | ||
178 | |||
179 | #endif | ||
180 | |||
181 | #define VRC4173_KIUINT_DATALOST 0x0004 | ||
182 | #define VRC4173_KIUINT_DATAREADY 0x0002 | ||
183 | #define VRC4173_KIUINT_SCAN 0x0001 | ||
184 | |||
185 | #ifdef CONFIG_VRC4173 | ||
186 | |||
187 | extern void vrc4173_enable_kiuint(uint16_t mask); | ||
188 | extern void vrc4173_disable_kiuint(uint16_t mask); | ||
189 | |||
190 | #else | ||
191 | |||
192 | static inline void vrc4173_enable_kiuint(uint16_t mask) {} | ||
193 | static inline void vrc4173_disable_kiuint(uint16_t mask) {} | ||
194 | |||
195 | #endif | ||
196 | |||
197 | /* | ||
198 | * General-Purpose I/O Unit | ||
199 | */ | ||
200 | typedef enum vrc4173_function { | ||
201 | PS2_CHANNEL1, | ||
202 | PS2_CHANNEL2, | ||
203 | TOUCHPANEL, | ||
204 | KEYBOARD_8SCANLINES, | ||
205 | KEYBOARD_10SCANLINES, | ||
206 | KEYBOARD_12SCANLINES, | ||
207 | GPIO_0_15PINS, | ||
208 | GPIO_16_20PINS, | ||
209 | } vrc4173_function_t; | ||
210 | |||
211 | #ifdef CONFIG_VRC4173 | ||
212 | |||
213 | extern void vrc4173_select_function(vrc4173_function_t function); | ||
214 | |||
215 | #else | ||
216 | |||
217 | static inline void vrc4173_select_function(vrc4173_function_t function) {} | ||
218 | |||
219 | #endif | ||
220 | |||
221 | #endif /* __NEC_VRC4173_H */ | ||
diff --git a/include/asm-mips/vr41xx/workpad.h b/include/asm-mips/vr41xx/workpad.h deleted file mode 100644 index 6bfa9c009a9b..000000000000 --- a/include/asm-mips/vr41xx/workpad.h +++ /dev/null | |||
@@ -1,43 +0,0 @@ | |||
1 | /* | ||
2 | * workpad.h, Include file for IBM WorkPad z50. | ||
3 | * | ||
4 | * Copyright (C) 2002-2004 Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp> | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License as published by | ||
8 | * the Free Software Foundation; either version 2 of the License, or | ||
9 | * (at your option) any later version. | ||
10 | * | ||
11 | * This program is distributed in the hope that it will be useful, | ||
12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
14 | * GNU General Public License for more details. | ||
15 | * | ||
16 | * You should have received a copy of the GNU General Public License | ||
17 | * along with this program; if not, write to the Free Software | ||
18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
19 | */ | ||
20 | #ifndef __IBM_WORKPAD_H | ||
21 | #define __IBM_WORKPAD_H | ||
22 | |||
23 | #include <asm/addrspace.h> | ||
24 | #include <asm/vr41xx/vr41xx.h> | ||
25 | |||
26 | /* | ||
27 | * Board specific address mapping | ||
28 | */ | ||
29 | #define VR41XX_ISA_MEM_BASE 0x10000000 | ||
30 | #define VR41XX_ISA_MEM_SIZE 0x04000000 | ||
31 | |||
32 | /* VR41XX_ISA_IO_BASE includes offset from real base. */ | ||
33 | #define VR41XX_ISA_IO_BASE 0x15000000 | ||
34 | #define VR41XX_ISA_IO_SIZE 0x03000000 | ||
35 | |||
36 | #define ISA_BUS_IO_BASE 0 | ||
37 | #define ISA_BUS_IO_SIZE VR41XX_ISA_IO_SIZE | ||
38 | |||
39 | #define IO_PORT_BASE KSEG1ADDR(VR41XX_ISA_IO_BASE) | ||
40 | #define IO_PORT_RESOURCE_START ISA_BUS_IO_BASE | ||
41 | #define IO_PORT_RESOURCE_END (ISA_BUS_IO_BASE + ISA_BUS_IO_SIZE - 1) | ||
42 | |||
43 | #endif /* __IBM_WORKPAD_H */ | ||
diff --git a/include/asm-parisc/system.h b/include/asm-parisc/system.h index 5fe2d2329ab5..74f037a39e6f 100644 --- a/include/asm-parisc/system.h +++ b/include/asm-parisc/system.h | |||
@@ -143,8 +143,6 @@ static inline void set_eiem(unsigned long val) | |||
143 | #define read_barrier_depends() do { } while(0) | 143 | #define read_barrier_depends() do { } while(0) |
144 | 144 | ||
145 | #define set_mb(var, value) do { var = value; mb(); } while (0) | 145 | #define set_mb(var, value) do { var = value; mb(); } while (0) |
146 | #define set_wmb(var, value) do { var = value; wmb(); } while (0) | ||
147 | |||
148 | 146 | ||
149 | #ifndef CONFIG_PA20 | 147 | #ifndef CONFIG_PA20 |
150 | /* Because kmalloc only guarantees 8-byte alignment for kmalloc'd data, | 148 | /* Because kmalloc only guarantees 8-byte alignment for kmalloc'd data, |
diff --git a/include/asm-powerpc/system.h b/include/asm-powerpc/system.h index c6569516ba35..7307aa775671 100644 --- a/include/asm-powerpc/system.h +++ b/include/asm-powerpc/system.h | |||
@@ -39,7 +39,6 @@ | |||
39 | #define read_barrier_depends() do { } while(0) | 39 | #define read_barrier_depends() do { } while(0) |
40 | 40 | ||
41 | #define set_mb(var, value) do { var = value; mb(); } while (0) | 41 | #define set_mb(var, value) do { var = value; mb(); } while (0) |
42 | #define set_wmb(var, value) do { var = value; wmb(); } while (0) | ||
43 | 42 | ||
44 | #ifdef __KERNEL__ | 43 | #ifdef __KERNEL__ |
45 | #ifdef CONFIG_SMP | 44 | #ifdef CONFIG_SMP |
diff --git a/include/asm-ppc/system.h b/include/asm-ppc/system.h index fb49c0c49ea1..738943584c01 100644 --- a/include/asm-ppc/system.h +++ b/include/asm-ppc/system.h | |||
@@ -33,7 +33,6 @@ | |||
33 | #define read_barrier_depends() do { } while(0) | 33 | #define read_barrier_depends() do { } while(0) |
34 | 34 | ||
35 | #define set_mb(var, value) do { var = value; mb(); } while (0) | 35 | #define set_mb(var, value) do { var = value; mb(); } while (0) |
36 | #define set_wmb(var, value) do { var = value; wmb(); } while (0) | ||
37 | 36 | ||
38 | #ifdef CONFIG_SMP | 37 | #ifdef CONFIG_SMP |
39 | #define smp_mb() mb() | 38 | #define smp_mb() mb() |
diff --git a/include/asm-s390/bug.h b/include/asm-s390/bug.h index 7ddaa05b98d8..876898363944 100644 --- a/include/asm-s390/bug.h +++ b/include/asm-s390/bug.h | |||
@@ -5,9 +5,18 @@ | |||
5 | 5 | ||
6 | #ifdef CONFIG_BUG | 6 | #ifdef CONFIG_BUG |
7 | 7 | ||
8 | static inline __attribute__((noreturn)) void __do_illegal_op(void) | ||
9 | { | ||
10 | #if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) | ||
11 | __builtin_trap(); | ||
12 | #else | ||
13 | asm volatile(".long 0"); | ||
14 | #endif | ||
15 | } | ||
16 | |||
8 | #define BUG() do { \ | 17 | #define BUG() do { \ |
9 | printk("kernel BUG at %s:%d!\n", __FILE__, __LINE__); \ | 18 | printk("kernel BUG at %s:%d!\n", __FILE__, __LINE__); \ |
10 | __builtin_trap(); \ | 19 | __do_illegal_op(); \ |
11 | } while (0) | 20 | } while (0) |
12 | 21 | ||
13 | #define HAVE_ARCH_BUG | 22 | #define HAVE_ARCH_BUG |
diff --git a/include/asm-s390/ccwdev.h b/include/asm-s390/ccwdev.h index 12456cb2f882..58c70acffc73 100644 --- a/include/asm-s390/ccwdev.h +++ b/include/asm-s390/ccwdev.h | |||
@@ -63,7 +63,7 @@ ccw_device_id_match(const struct ccw_device_id *array, | |||
63 | return id; | 63 | return id; |
64 | } | 64 | } |
65 | 65 | ||
66 | return 0; | 66 | return NULL; |
67 | } | 67 | } |
68 | 68 | ||
69 | /* The struct ccw device is our replacement for the globally accessible | 69 | /* The struct ccw device is our replacement for the globally accessible |
diff --git a/include/asm-s390/cio.h b/include/asm-s390/cio.h index 2b1619306351..28fdd6e2b8ba 100644 --- a/include/asm-s390/cio.h +++ b/include/asm-s390/cio.h | |||
@@ -276,6 +276,8 @@ extern void wait_cons_dev(void); | |||
276 | 276 | ||
277 | extern void clear_all_subchannels(void); | 277 | extern void clear_all_subchannels(void); |
278 | 278 | ||
279 | extern void cio_reset_channel_paths(void); | ||
280 | |||
279 | extern void css_schedule_reprobe(void); | 281 | extern void css_schedule_reprobe(void); |
280 | 282 | ||
281 | #endif | 283 | #endif |
diff --git a/include/asm-s390/futex.h b/include/asm-s390/futex.h index 1802775568b9..ffedf14f89f6 100644 --- a/include/asm-s390/futex.h +++ b/include/asm-s390/futex.h | |||
@@ -98,9 +98,10 @@ futex_atomic_cmpxchg_inatomic(int __user *uaddr, int oldval, int newval) | |||
98 | 98 | ||
99 | if (! access_ok (VERIFY_WRITE, uaddr, sizeof(int))) | 99 | if (! access_ok (VERIFY_WRITE, uaddr, sizeof(int))) |
100 | return -EFAULT; | 100 | return -EFAULT; |
101 | asm volatile(" cs %1,%4,0(%5)\n" | 101 | asm volatile(" sacf 256\n" |
102 | " cs %1,%4,0(%5)\n" | ||
102 | "0: lr %0,%1\n" | 103 | "0: lr %0,%1\n" |
103 | "1:\n" | 104 | "1: sacf 0\n" |
104 | #ifndef __s390x__ | 105 | #ifndef __s390x__ |
105 | ".section __ex_table,\"a\"\n" | 106 | ".section __ex_table,\"a\"\n" |
106 | " .align 4\n" | 107 | " .align 4\n" |
diff --git a/include/asm-s390/irqflags.h b/include/asm-s390/irqflags.h index 65f4db627e7a..3b566a5b3cc7 100644 --- a/include/asm-s390/irqflags.h +++ b/include/asm-s390/irqflags.h | |||
@@ -25,16 +25,22 @@ | |||
25 | __flags; \ | 25 | __flags; \ |
26 | }) | 26 | }) |
27 | 27 | ||
28 | #define raw_local_save_flags(x) \ | 28 | #define raw_local_save_flags(x) \ |
29 | __asm__ __volatile__("stosm 0(%1),0" : "=m" (x) : "a" (&x), "m" (x) ) | 29 | do { \ |
30 | 30 | typecheck(unsigned long, x); \ | |
31 | #define raw_local_irq_restore(x) \ | 31 | __asm__ __volatile__("stosm 0(%1),0" : "=m" (x) : "a" (&x), "m" (x) ); \ |
32 | __asm__ __volatile__("ssm 0(%0)" : : "a" (&x), "m" (x) : "memory") | 32 | } while (0) |
33 | |||
34 | #define raw_local_irq_restore(x) \ | ||
35 | do { \ | ||
36 | typecheck(unsigned long, x); \ | ||
37 | __asm__ __volatile__("ssm 0(%0)" : : "a" (&x), "m" (x) : "memory"); \ | ||
38 | } while (0) | ||
33 | 39 | ||
34 | #define raw_irqs_disabled() \ | 40 | #define raw_irqs_disabled() \ |
35 | ({ \ | 41 | ({ \ |
36 | unsigned long flags; \ | 42 | unsigned long flags; \ |
37 | local_save_flags(flags); \ | 43 | raw_local_save_flags(flags); \ |
38 | !((flags >> __FLAG_SHIFT) & 3); \ | 44 | !((flags >> __FLAG_SHIFT) & 3); \ |
39 | }) | 45 | }) |
40 | 46 | ||
diff --git a/include/asm-s390/pgalloc.h b/include/asm-s390/pgalloc.h index 3002fda89d33..a78e853e0dd5 100644 --- a/include/asm-s390/pgalloc.h +++ b/include/asm-s390/pgalloc.h | |||
@@ -142,7 +142,7 @@ pte_alloc_one(struct mm_struct *mm, unsigned long vmaddr) | |||
142 | pte_t *pte = pte_alloc_one_kernel(mm, vmaddr); | 142 | pte_t *pte = pte_alloc_one_kernel(mm, vmaddr); |
143 | if (pte) | 143 | if (pte) |
144 | return virt_to_page(pte); | 144 | return virt_to_page(pte); |
145 | return 0; | 145 | return NULL; |
146 | } | 146 | } |
147 | 147 | ||
148 | static inline void pte_free_kernel(pte_t *pte) | 148 | static inline void pte_free_kernel(pte_t *pte) |
diff --git a/include/asm-s390/processor.h b/include/asm-s390/processor.h index c5cbc4bd8414..5b71d3731723 100644 --- a/include/asm-s390/processor.h +++ b/include/asm-s390/processor.h | |||
@@ -199,15 +199,13 @@ unsigned long get_wchan(struct task_struct *p); | |||
199 | /* | 199 | /* |
200 | * Give up the time slice of the virtual PU. | 200 | * Give up the time slice of the virtual PU. |
201 | */ | 201 | */ |
202 | #ifndef __s390x__ | 202 | static inline void cpu_relax(void) |
203 | # define cpu_relax() asm volatile ("diag 0,0,68" : : : "memory") | 203 | { |
204 | #else /* __s390x__ */ | 204 | if (MACHINE_HAS_DIAG44) |
205 | # define cpu_relax() \ | 205 | asm volatile ("diag 0,0,68" : : : "memory"); |
206 | do { \ | 206 | else |
207 | if (MACHINE_HAS_DIAG44) \ | 207 | barrier(); |
208 | asm volatile ("diag 0,0,68" : : : "memory"); \ | 208 | } |
209 | } while (0) | ||
210 | #endif /* __s390x__ */ | ||
211 | 209 | ||
212 | /* | 210 | /* |
213 | * Set PSW to specified value. | 211 | * Set PSW to specified value. |
diff --git a/include/asm-s390/setup.h b/include/asm-s390/setup.h index da3fd4a7bb32..19e31979309a 100644 --- a/include/asm-s390/setup.h +++ b/include/asm-s390/setup.h | |||
@@ -40,15 +40,16 @@ extern unsigned long machine_flags; | |||
40 | #define MACHINE_IS_VM (machine_flags & 1) | 40 | #define MACHINE_IS_VM (machine_flags & 1) |
41 | #define MACHINE_IS_P390 (machine_flags & 4) | 41 | #define MACHINE_IS_P390 (machine_flags & 4) |
42 | #define MACHINE_HAS_MVPG (machine_flags & 16) | 42 | #define MACHINE_HAS_MVPG (machine_flags & 16) |
43 | #define MACHINE_HAS_DIAG44 (machine_flags & 32) | ||
44 | #define MACHINE_HAS_IDTE (machine_flags & 128) | 43 | #define MACHINE_HAS_IDTE (machine_flags & 128) |
45 | 44 | ||
46 | #ifndef __s390x__ | 45 | #ifndef __s390x__ |
47 | #define MACHINE_HAS_IEEE (machine_flags & 2) | 46 | #define MACHINE_HAS_IEEE (machine_flags & 2) |
48 | #define MACHINE_HAS_CSP (machine_flags & 8) | 47 | #define MACHINE_HAS_CSP (machine_flags & 8) |
48 | #define MACHINE_HAS_DIAG44 (1) | ||
49 | #else /* __s390x__ */ | 49 | #else /* __s390x__ */ |
50 | #define MACHINE_HAS_IEEE (1) | 50 | #define MACHINE_HAS_IEEE (1) |
51 | #define MACHINE_HAS_CSP (1) | 51 | #define MACHINE_HAS_CSP (1) |
52 | #define MACHINE_HAS_DIAG44 (machine_flags & 32) | ||
52 | #endif /* __s390x__ */ | 53 | #endif /* __s390x__ */ |
53 | 54 | ||
54 | 55 | ||
diff --git a/include/asm-s390/system.h b/include/asm-s390/system.h index 9ab186ffde23..36a3a85d611a 100644 --- a/include/asm-s390/system.h +++ b/include/asm-s390/system.h | |||
@@ -299,7 +299,6 @@ __cmpxchg(volatile void *ptr, unsigned long old, unsigned long new, int size) | |||
299 | 299 | ||
300 | 300 | ||
301 | #define set_mb(var, value) do { var = value; mb(); } while (0) | 301 | #define set_mb(var, value) do { var = value; mb(); } while (0) |
302 | #define set_wmb(var, value) do { var = value; wmb(); } while (0) | ||
303 | 302 | ||
304 | #ifdef __s390x__ | 303 | #ifdef __s390x__ |
305 | 304 | ||
diff --git a/include/asm-sh/processor.h b/include/asm-sh/processor.h index fa5bd2d8803e..eeb0f48bb99e 100644 --- a/include/asm-sh/processor.h +++ b/include/asm-sh/processor.h | |||
@@ -9,6 +9,7 @@ | |||
9 | #define __ASM_SH_PROCESSOR_H | 9 | #define __ASM_SH_PROCESSOR_H |
10 | #ifdef __KERNEL__ | 10 | #ifdef __KERNEL__ |
11 | 11 | ||
12 | #include <linux/compiler.h> | ||
12 | #include <asm/page.h> | 13 | #include <asm/page.h> |
13 | #include <asm/types.h> | 14 | #include <asm/types.h> |
14 | #include <asm/cache.h> | 15 | #include <asm/cache.h> |
@@ -263,7 +264,7 @@ extern unsigned long get_wchan(struct task_struct *p); | |||
263 | #define KSTK_ESP(tsk) ((tsk)->thread.sp) | 264 | #define KSTK_ESP(tsk) ((tsk)->thread.sp) |
264 | 265 | ||
265 | #define cpu_sleep() __asm__ __volatile__ ("sleep" : : : "memory") | 266 | #define cpu_sleep() __asm__ __volatile__ ("sleep" : : : "memory") |
266 | #define cpu_relax() do { } while (0) | 267 | #define cpu_relax() barrier() |
267 | 268 | ||
268 | #endif /* __KERNEL__ */ | 269 | #endif /* __KERNEL__ */ |
269 | #endif /* __ASM_SH_PROCESSOR_H */ | 270 | #endif /* __ASM_SH_PROCESSOR_H */ |
diff --git a/include/asm-sh/system.h b/include/asm-sh/system.h index ce2e60664a86..ad35ad4958f4 100644 --- a/include/asm-sh/system.h +++ b/include/asm-sh/system.h | |||
@@ -101,7 +101,6 @@ extern void __xchg_called_with_bad_pointer(void); | |||
101 | #endif | 101 | #endif |
102 | 102 | ||
103 | #define set_mb(var, value) do { xchg(&var, value); } while (0) | 103 | #define set_mb(var, value) do { xchg(&var, value); } while (0) |
104 | #define set_wmb(var, value) do { var = value; wmb(); } while (0) | ||
105 | 104 | ||
106 | /* Interrupt Control */ | 105 | /* Interrupt Control */ |
107 | static __inline__ void local_irq_enable(void) | 106 | static __inline__ void local_irq_enable(void) |
diff --git a/include/asm-sh64/processor.h b/include/asm-sh64/processor.h index 1bf252dad824..eb2bee4b47b9 100644 --- a/include/asm-sh64/processor.h +++ b/include/asm-sh64/processor.h | |||
@@ -22,6 +22,7 @@ | |||
22 | #include <asm/cache.h> | 22 | #include <asm/cache.h> |
23 | #include <asm/registers.h> | 23 | #include <asm/registers.h> |
24 | #include <linux/threads.h> | 24 | #include <linux/threads.h> |
25 | #include <linux/compiler.h> | ||
25 | 26 | ||
26 | /* | 27 | /* |
27 | * Default implementation of macro that returns current | 28 | * Default implementation of macro that returns current |
@@ -279,7 +280,7 @@ extern unsigned long get_wchan(struct task_struct *p); | |||
279 | #define KSTK_EIP(tsk) ((tsk)->thread.pc) | 280 | #define KSTK_EIP(tsk) ((tsk)->thread.pc) |
280 | #define KSTK_ESP(tsk) ((tsk)->thread.sp) | 281 | #define KSTK_ESP(tsk) ((tsk)->thread.sp) |
281 | 282 | ||
282 | #define cpu_relax() do { } while (0) | 283 | #define cpu_relax() barrier() |
283 | 284 | ||
284 | #endif /* __ASSEMBLY__ */ | 285 | #endif /* __ASSEMBLY__ */ |
285 | #endif /* __ASM_SH64_PROCESSOR_H */ | 286 | #endif /* __ASM_SH64_PROCESSOR_H */ |
diff --git a/include/asm-sh64/system.h b/include/asm-sh64/system.h index 7606f6e1f01e..87ef6f1ad5a4 100644 --- a/include/asm-sh64/system.h +++ b/include/asm-sh64/system.h | |||
@@ -66,7 +66,6 @@ extern void __xchg_called_with_bad_pointer(void); | |||
66 | 66 | ||
67 | #define set_rmb(var, value) do { xchg(&var, value); } while (0) | 67 | #define set_rmb(var, value) do { xchg(&var, value); } while (0) |
68 | #define set_mb(var, value) set_rmb(var, value) | 68 | #define set_mb(var, value) set_rmb(var, value) |
69 | #define set_wmb(var, value) do { var = value; wmb(); } while (0) | ||
70 | 69 | ||
71 | /* Interrupt Control */ | 70 | /* Interrupt Control */ |
72 | #ifndef HARD_CLI | 71 | #ifndef HARD_CLI |
diff --git a/include/asm-sparc/system.h b/include/asm-sparc/system.h index cb7dda1e5e91..100c3eaf3c1f 100644 --- a/include/asm-sparc/system.h +++ b/include/asm-sparc/system.h | |||
@@ -199,7 +199,6 @@ static inline unsigned long getipl(void) | |||
199 | #define wmb() mb() | 199 | #define wmb() mb() |
200 | #define read_barrier_depends() do { } while(0) | 200 | #define read_barrier_depends() do { } while(0) |
201 | #define set_mb(__var, __value) do { __var = __value; mb(); } while(0) | 201 | #define set_mb(__var, __value) do { __var = __value; mb(); } while(0) |
202 | #define set_wmb(__var, __value) set_mb(__var, __value) | ||
203 | #define smp_mb() __asm__ __volatile__("":::"memory") | 202 | #define smp_mb() __asm__ __volatile__("":::"memory") |
204 | #define smp_rmb() __asm__ __volatile__("":::"memory") | 203 | #define smp_rmb() __asm__ __volatile__("":::"memory") |
205 | #define smp_wmb() __asm__ __volatile__("":::"memory") | 204 | #define smp_wmb() __asm__ __volatile__("":::"memory") |
diff --git a/include/asm-sparc64/Kbuild b/include/asm-sparc64/Kbuild index c78d44bb195f..9284c3cb27ec 100644 --- a/include/asm-sparc64/Kbuild +++ b/include/asm-sparc64/Kbuild | |||
@@ -4,7 +4,7 @@ ALTARCH := sparc | |||
4 | ARCHDEF := defined __sparc__ && defined __arch64__ | 4 | ARCHDEF := defined __sparc__ && defined __arch64__ |
5 | ALTARCHDEF := defined __sparc__ && !defined __arch64__ | 5 | ALTARCHDEF := defined __sparc__ && !defined __arch64__ |
6 | 6 | ||
7 | unifdef-y := fbio.h perfctr.h | 7 | unifdef-y += fbio.h perfctr.h |
8 | header-y += apb.h asi.h bbc.h bpp.h display7seg.h envctrl.h floppy.h \ | 8 | header-y += apb.h asi.h bbc.h bpp.h display7seg.h envctrl.h floppy.h \ |
9 | ipc.h kdebug.h mostek.h openprom.h openpromio.h parport.h \ | 9 | ipc.h kdebug.h mostek.h openprom.h openpromio.h parport.h \ |
10 | pconf.h psrcompat.h pstate.h reg.h uctx.h utrap.h watchdog.h | 10 | pconf.h psrcompat.h pstate.h reg.h uctx.h utrap.h watchdog.h |
diff --git a/include/asm-sparc64/system.h b/include/asm-sparc64/system.h index 4ca68600c670..a8b7432c9a70 100644 --- a/include/asm-sparc64/system.h +++ b/include/asm-sparc64/system.h | |||
@@ -123,8 +123,6 @@ do { __asm__ __volatile__("ba,pt %%xcc, 1f\n\t" \ | |||
123 | #define read_barrier_depends() do { } while(0) | 123 | #define read_barrier_depends() do { } while(0) |
124 | #define set_mb(__var, __value) \ | 124 | #define set_mb(__var, __value) \ |
125 | do { __var = __value; membar_storeload_storestore(); } while(0) | 125 | do { __var = __value; membar_storeload_storestore(); } while(0) |
126 | #define set_wmb(__var, __value) \ | ||
127 | do { __var = __value; wmb(); } while(0) | ||
128 | 126 | ||
129 | #ifdef CONFIG_SMP | 127 | #ifdef CONFIG_SMP |
130 | #define smp_mb() mb() | 128 | #define smp_mb() mb() |
diff --git a/include/asm-v850/processor.h b/include/asm-v850/processor.h index 6965b66ccaed..979e3467f9af 100644 --- a/include/asm-v850/processor.h +++ b/include/asm-v850/processor.h | |||
@@ -18,6 +18,7 @@ | |||
18 | #include <linux/thread_info.h> | 18 | #include <linux/thread_info.h> |
19 | #endif | 19 | #endif |
20 | 20 | ||
21 | #include <linux/compiler.h> | ||
21 | #include <asm/ptrace.h> | 22 | #include <asm/ptrace.h> |
22 | #include <asm/entry.h> | 23 | #include <asm/entry.h> |
23 | 24 | ||
@@ -106,7 +107,7 @@ unsigned long get_wchan (struct task_struct *p); | |||
106 | #define KSTK_ESP(task) task_sp (task) | 107 | #define KSTK_ESP(task) task_sp (task) |
107 | 108 | ||
108 | 109 | ||
109 | #define cpu_relax() ((void)0) | 110 | #define cpu_relax() barrier() |
110 | 111 | ||
111 | 112 | ||
112 | #else /* __ASSEMBLY__ */ | 113 | #else /* __ASSEMBLY__ */ |
diff --git a/include/asm-v850/system.h b/include/asm-v850/system.h index 7091af4b7866..da39916f10b0 100644 --- a/include/asm-v850/system.h +++ b/include/asm-v850/system.h | |||
@@ -68,7 +68,6 @@ static inline int irqs_disabled (void) | |||
68 | #define read_barrier_depends() ((void)0) | 68 | #define read_barrier_depends() ((void)0) |
69 | #define set_rmb(var, value) do { xchg (&var, value); } while (0) | 69 | #define set_rmb(var, value) do { xchg (&var, value); } while (0) |
70 | #define set_mb(var, value) set_rmb (var, value) | 70 | #define set_mb(var, value) set_rmb (var, value) |
71 | #define set_wmb(var, value) do { var = value; wmb (); } while (0) | ||
72 | 71 | ||
73 | #define smp_mb() mb () | 72 | #define smp_mb() mb () |
74 | #define smp_rmb() rmb () | 73 | #define smp_rmb() rmb () |
diff --git a/include/asm-x86_64/system.h b/include/asm-x86_64/system.h index f67f2873a922..6bf170bceae1 100644 --- a/include/asm-x86_64/system.h +++ b/include/asm-x86_64/system.h | |||
@@ -240,7 +240,6 @@ static inline unsigned long __cmpxchg(volatile void *ptr, unsigned long old, | |||
240 | #endif | 240 | #endif |
241 | #define read_barrier_depends() do {} while(0) | 241 | #define read_barrier_depends() do {} while(0) |
242 | #define set_mb(var, value) do { (void) xchg(&var, value); } while (0) | 242 | #define set_mb(var, value) do { (void) xchg(&var, value); } while (0) |
243 | #define set_wmb(var, value) do { var = value; wmb(); } while (0) | ||
244 | 243 | ||
245 | #define warn_if_not_ulong(x) do { unsigned long foo; (void) (&(x) == &foo); } while (0) | 244 | #define warn_if_not_ulong(x) do { unsigned long foo; (void) (&(x) == &foo); } while (0) |
246 | 245 | ||
diff --git a/include/asm-xtensa/processor.h b/include/asm-xtensa/processor.h index d1d72ad36f08..8b96e77c9d82 100644 --- a/include/asm-xtensa/processor.h +++ b/include/asm-xtensa/processor.h | |||
@@ -20,6 +20,7 @@ | |||
20 | #include <xtensa/config/tie.h> | 20 | #include <xtensa/config/tie.h> |
21 | #include <xtensa/config/system.h> | 21 | #include <xtensa/config/system.h> |
22 | 22 | ||
23 | #include <linux/compiler.h> | ||
23 | #include <asm/ptrace.h> | 24 | #include <asm/ptrace.h> |
24 | #include <asm/types.h> | 25 | #include <asm/types.h> |
25 | #include <asm/coprocessor.h> | 26 | #include <asm/coprocessor.h> |
@@ -191,7 +192,7 @@ extern unsigned long get_wchan(struct task_struct *p); | |||
191 | #define KSTK_EIP(tsk) (task_pt_regs(tsk)->pc) | 192 | #define KSTK_EIP(tsk) (task_pt_regs(tsk)->pc) |
192 | #define KSTK_ESP(tsk) (task_pt_regs(tsk)->areg[1]) | 193 | #define KSTK_ESP(tsk) (task_pt_regs(tsk)->areg[1]) |
193 | 194 | ||
194 | #define cpu_relax() do { } while (0) | 195 | #define cpu_relax() barrier() |
195 | 196 | ||
196 | /* Special register access. */ | 197 | /* Special register access. */ |
197 | 198 | ||
diff --git a/include/asm-xtensa/system.h b/include/asm-xtensa/system.h index f986170bd2a1..932bda92a21c 100644 --- a/include/asm-xtensa/system.h +++ b/include/asm-xtensa/system.h | |||
@@ -99,7 +99,6 @@ static inline void disable_coprocessor(int i) | |||
99 | #endif | 99 | #endif |
100 | 100 | ||
101 | #define set_mb(var, value) do { var = value; mb(); } while (0) | 101 | #define set_mb(var, value) do { var = value; mb(); } while (0) |
102 | #define set_wmb(var, value) do { var = value; wmb(); } while (0) | ||
103 | 102 | ||
104 | #if !defined (__ASSEMBLY__) | 103 | #if !defined (__ASSEMBLY__) |
105 | 104 | ||
diff --git a/include/linux/delayacct.h b/include/linux/delayacct.h new file mode 100644 index 000000000000..7e8b6011b8f3 --- /dev/null +++ b/include/linux/delayacct.h | |||
@@ -0,0 +1,119 @@ | |||
1 | /* delayacct.h - per-task delay accounting | ||
2 | * | ||
3 | * Copyright (C) Shailabh Nagar, IBM Corp. 2006 | ||
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 as published by | ||
7 | * the Free Software Foundation; either version 2 of the License, or | ||
8 | * (at your option) any later version. | ||
9 | * | ||
10 | * This program is distributed in the hope that it will be useful, | ||
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | ||
13 | * the GNU General Public License for more details. | ||
14 | * | ||
15 | */ | ||
16 | |||
17 | #ifndef _LINUX_DELAYACCT_H | ||
18 | #define _LINUX_DELAYACCT_H | ||
19 | |||
20 | #include <linux/sched.h> | ||
21 | #include <linux/taskstats_kern.h> | ||
22 | |||
23 | /* | ||
24 | * Per-task flags relevant to delay accounting | ||
25 | * maintained privately to avoid exhausting similar flags in sched.h:PF_* | ||
26 | * Used to set current->delays->flags | ||
27 | */ | ||
28 | #define DELAYACCT_PF_SWAPIN 0x00000001 /* I am doing a swapin */ | ||
29 | |||
30 | #ifdef CONFIG_TASK_DELAY_ACCT | ||
31 | |||
32 | extern int delayacct_on; /* Delay accounting turned on/off */ | ||
33 | extern kmem_cache_t *delayacct_cache; | ||
34 | extern void delayacct_init(void); | ||
35 | extern void __delayacct_tsk_init(struct task_struct *); | ||
36 | extern void __delayacct_tsk_exit(struct task_struct *); | ||
37 | extern void __delayacct_blkio_start(void); | ||
38 | extern void __delayacct_blkio_end(void); | ||
39 | extern int __delayacct_add_tsk(struct taskstats *, struct task_struct *); | ||
40 | extern __u64 __delayacct_blkio_ticks(struct task_struct *); | ||
41 | |||
42 | static inline void delayacct_set_flag(int flag) | ||
43 | { | ||
44 | if (current->delays) | ||
45 | current->delays->flags |= flag; | ||
46 | } | ||
47 | |||
48 | static inline void delayacct_clear_flag(int flag) | ||
49 | { | ||
50 | if (current->delays) | ||
51 | current->delays->flags &= ~flag; | ||
52 | } | ||
53 | |||
54 | static inline void delayacct_tsk_init(struct task_struct *tsk) | ||
55 | { | ||
56 | /* reinitialize in case parent's non-null pointer was dup'ed*/ | ||
57 | tsk->delays = NULL; | ||
58 | if (unlikely(delayacct_on)) | ||
59 | __delayacct_tsk_init(tsk); | ||
60 | } | ||
61 | |||
62 | static inline void delayacct_tsk_exit(struct task_struct *tsk) | ||
63 | { | ||
64 | if (tsk->delays) | ||
65 | __delayacct_tsk_exit(tsk); | ||
66 | } | ||
67 | |||
68 | static inline void delayacct_blkio_start(void) | ||
69 | { | ||
70 | if (current->delays) | ||
71 | __delayacct_blkio_start(); | ||
72 | } | ||
73 | |||
74 | static inline void delayacct_blkio_end(void) | ||
75 | { | ||
76 | if (current->delays) | ||
77 | __delayacct_blkio_end(); | ||
78 | } | ||
79 | |||
80 | static inline int delayacct_add_tsk(struct taskstats *d, | ||
81 | struct task_struct *tsk) | ||
82 | { | ||
83 | if (likely(!delayacct_on)) | ||
84 | return -EINVAL; | ||
85 | if (!tsk->delays) | ||
86 | return 0; | ||
87 | return __delayacct_add_tsk(d, tsk); | ||
88 | } | ||
89 | |||
90 | static inline __u64 delayacct_blkio_ticks(struct task_struct *tsk) | ||
91 | { | ||
92 | if (tsk->delays) | ||
93 | return __delayacct_blkio_ticks(tsk); | ||
94 | return 0; | ||
95 | } | ||
96 | |||
97 | #else | ||
98 | static inline void delayacct_set_flag(int flag) | ||
99 | {} | ||
100 | static inline void delayacct_clear_flag(int flag) | ||
101 | {} | ||
102 | static inline void delayacct_init(void) | ||
103 | {} | ||
104 | static inline void delayacct_tsk_init(struct task_struct *tsk) | ||
105 | {} | ||
106 | static inline void delayacct_tsk_exit(struct task_struct *tsk) | ||
107 | {} | ||
108 | static inline void delayacct_blkio_start(void) | ||
109 | {} | ||
110 | static inline void delayacct_blkio_end(void) | ||
111 | {} | ||
112 | static inline int delayacct_add_tsk(struct taskstats *d, | ||
113 | struct task_struct *tsk) | ||
114 | { return 0; } | ||
115 | static inline __u64 delayacct_blkio_ticks(struct task_struct *tsk) | ||
116 | { return 0; } | ||
117 | #endif /* CONFIG_TASK_DELAY_ACCT */ | ||
118 | |||
119 | #endif | ||
diff --git a/include/linux/hdlc.h b/include/linux/hdlc.h index 4513f9e40937..d5ebbb29aeae 100644 --- a/include/linux/hdlc.h +++ b/include/linux/hdlc.h | |||
@@ -224,8 +224,6 @@ static __inline__ void debug_frame(const struct sk_buff *skb) | |||
224 | int hdlc_open(struct net_device *dev); | 224 | int hdlc_open(struct net_device *dev); |
225 | /* Must be called by hardware driver when HDLC device is being closed */ | 225 | /* Must be called by hardware driver when HDLC device is being closed */ |
226 | void hdlc_close(struct net_device *dev); | 226 | void hdlc_close(struct net_device *dev); |
227 | /* Called by hardware driver when DCD line level changes */ | ||
228 | void hdlc_set_carrier(int on, struct net_device *dev); | ||
229 | 227 | ||
230 | /* May be used by hardware driver to gain control over HDLC device */ | 228 | /* May be used by hardware driver to gain control over HDLC device */ |
231 | static __inline__ void hdlc_proto_detach(hdlc_device *hdlc) | 229 | static __inline__ void hdlc_proto_detach(hdlc_device *hdlc) |
diff --git a/include/linux/i2c-id.h b/include/linux/i2c-id.h index 21338bb3441d..9418519a55d1 100644 --- a/include/linux/i2c-id.h +++ b/include/linux/i2c-id.h | |||
@@ -115,6 +115,7 @@ | |||
115 | #define I2C_DRIVERID_BT866 85 /* Conexant bt866 video encoder */ | 115 | #define I2C_DRIVERID_BT866 85 /* Conexant bt866 video encoder */ |
116 | #define I2C_DRIVERID_KS0127 86 /* Samsung ks0127 video decoder */ | 116 | #define I2C_DRIVERID_KS0127 86 /* Samsung ks0127 video decoder */ |
117 | #define I2C_DRIVERID_TLV320AIC23B 87 /* TI TLV320AIC23B audio codec */ | 117 | #define I2C_DRIVERID_TLV320AIC23B 87 /* TI TLV320AIC23B audio codec */ |
118 | #define I2C_DRIVERID_ISL1208 88 /* Intersil ISL1208 RTC */ | ||
118 | 119 | ||
119 | #define I2C_DRIVERID_I2CDEV 900 | 120 | #define I2C_DRIVERID_I2CDEV 900 |
120 | #define I2C_DRIVERID_ARP 902 /* SMBus ARP Client */ | 121 | #define I2C_DRIVERID_ARP 902 /* SMBus ARP Client */ |
diff --git a/include/linux/i2c.h b/include/linux/i2c.h index 526ddc8eecfb..eb0628a7ecc6 100644 --- a/include/linux/i2c.h +++ b/include/linux/i2c.h | |||
@@ -193,6 +193,8 @@ struct i2c_algorithm { | |||
193 | to NULL. If an adapter algorithm can do SMBus access, set | 193 | to NULL. If an adapter algorithm can do SMBus access, set |
194 | smbus_xfer. If set to NULL, the SMBus protocol is simulated | 194 | smbus_xfer. If set to NULL, the SMBus protocol is simulated |
195 | using common I2C messages */ | 195 | using common I2C messages */ |
196 | /* master_xfer should return the number of messages successfully | ||
197 | processed, or a negative value on error */ | ||
196 | int (*master_xfer)(struct i2c_adapter *adap,struct i2c_msg *msgs, | 198 | int (*master_xfer)(struct i2c_adapter *adap,struct i2c_msg *msgs, |
197 | int num); | 199 | int num); |
198 | int (*smbus_xfer) (struct i2c_adapter *adap, u16 addr, | 200 | int (*smbus_xfer) (struct i2c_adapter *adap, u16 addr, |
diff --git a/include/linux/if_vlan.h b/include/linux/if_vlan.h index eef0876d8307..383627ad328f 100644 --- a/include/linux/if_vlan.h +++ b/include/linux/if_vlan.h | |||
@@ -23,8 +23,8 @@ struct vlan_collection; | |||
23 | struct vlan_dev_info; | 23 | struct vlan_dev_info; |
24 | struct hlist_node; | 24 | struct hlist_node; |
25 | 25 | ||
26 | #include <linux/proc_fs.h> /* for proc_dir_entry */ | ||
27 | #include <linux/netdevice.h> | 26 | #include <linux/netdevice.h> |
27 | #include <linux/etherdevice.h> | ||
28 | 28 | ||
29 | #define VLAN_HLEN 4 /* The additional bytes (on top of the Ethernet header) | 29 | #define VLAN_HLEN 4 /* The additional bytes (on top of the Ethernet header) |
30 | * that VLAN requires. | 30 | * that VLAN requires. |
@@ -185,7 +185,8 @@ static inline int __vlan_hwaccel_rx(struct sk_buff *skb, | |||
185 | * This allows the VLAN to have a different MAC than the underlying | 185 | * This allows the VLAN to have a different MAC than the underlying |
186 | * device, and still route correctly. | 186 | * device, and still route correctly. |
187 | */ | 187 | */ |
188 | if (!memcmp(eth_hdr(skb)->h_dest, skb->dev->dev_addr, ETH_ALEN)) | 188 | if (!compare_ether_addr(eth_hdr(skb)->h_dest, |
189 | skb->dev->dev_addr)) | ||
189 | skb->pkt_type = PACKET_HOST; | 190 | skb->pkt_type = PACKET_HOST; |
190 | break; | 191 | break; |
191 | }; | 192 | }; |
diff --git a/include/linux/ioport.h b/include/linux/ioport.h index 5612dfeeae50..d42c83399071 100644 --- a/include/linux/ioport.h +++ b/include/linux/ioport.h | |||
@@ -97,7 +97,7 @@ extern struct resource iomem_resource; | |||
97 | extern int request_resource(struct resource *root, struct resource *new); | 97 | extern int request_resource(struct resource *root, struct resource *new); |
98 | extern struct resource * ____request_resource(struct resource *root, struct resource *new); | 98 | extern struct resource * ____request_resource(struct resource *root, struct resource *new); |
99 | extern int release_resource(struct resource *new); | 99 | extern int release_resource(struct resource *new); |
100 | extern __deprecated_for_modules int insert_resource(struct resource *parent, struct resource *new); | 100 | extern int insert_resource(struct resource *parent, struct resource *new); |
101 | extern int allocate_resource(struct resource *root, struct resource *new, | 101 | extern int allocate_resource(struct resource *root, struct resource *new, |
102 | resource_size_t size, resource_size_t min, | 102 | resource_size_t size, resource_size_t min, |
103 | resource_size_t max, resource_size_t align, | 103 | resource_size_t max, resource_size_t align, |
diff --git a/include/linux/kthread.h b/include/linux/kthread.h index 7cce5dfa092f..1c65e7a9f186 100644 --- a/include/linux/kthread.h +++ b/include/linux/kthread.h | |||
@@ -28,7 +28,6 @@ struct task_struct *kthread_create(int (*threadfn)(void *data), | |||
28 | 28 | ||
29 | void kthread_bind(struct task_struct *k, unsigned int cpu); | 29 | void kthread_bind(struct task_struct *k, unsigned int cpu); |
30 | int kthread_stop(struct task_struct *k); | 30 | int kthread_stop(struct task_struct *k); |
31 | int kthread_stop_sem(struct task_struct *k, struct semaphore *s); | ||
32 | int kthread_should_stop(void); | 31 | int kthread_should_stop(void); |
33 | 32 | ||
34 | #endif /* _LINUX_KTHREAD_H */ | 33 | #endif /* _LINUX_KTHREAD_H */ |
diff --git a/include/linux/list.h b/include/linux/list.h index 6b74adf5297f..65a5b5ceda49 100644 --- a/include/linux/list.h +++ b/include/linux/list.h | |||
@@ -265,6 +265,17 @@ static inline void list_move_tail(struct list_head *list, | |||
265 | } | 265 | } |
266 | 266 | ||
267 | /** | 267 | /** |
268 | * list_is_last - tests whether @list is the last entry in list @head | ||
269 | * @list: the entry to test | ||
270 | * @head: the head of the list | ||
271 | */ | ||
272 | static inline int list_is_last(const struct list_head *list, | ||
273 | const struct list_head *head) | ||
274 | { | ||
275 | return list->next == head; | ||
276 | } | ||
277 | |||
278 | /** | ||
268 | * list_empty - tests whether a list is empty | 279 | * list_empty - tests whether a list is empty |
269 | * @head: the list to test. | 280 | * @head: the list to test. |
270 | */ | 281 | */ |
diff --git a/include/linux/module.h b/include/linux/module.h index d06c74fb8c26..0dfb794c52d3 100644 --- a/include/linux/module.h +++ b/include/linux/module.h | |||
@@ -362,10 +362,8 @@ int is_module_address(unsigned long addr); | |||
362 | 362 | ||
363 | /* Returns module and fills in value, defined and namebuf, or NULL if | 363 | /* Returns module and fills in value, defined and namebuf, or NULL if |
364 | symnum out of range. */ | 364 | symnum out of range. */ |
365 | struct module *module_get_kallsym(unsigned int symnum, | 365 | struct module *module_get_kallsym(unsigned int symnum, unsigned long *value, |
366 | unsigned long *value, | 366 | char *type, char *name, size_t namelen); |
367 | char *type, | ||
368 | char namebuf[128]); | ||
369 | 367 | ||
370 | /* Look for this name: can be of form module:name. */ | 368 | /* Look for this name: can be of form module:name. */ |
371 | unsigned long module_kallsyms_lookup_name(const char *name); | 369 | unsigned long module_kallsyms_lookup_name(const char *name); |
@@ -535,8 +533,8 @@ static inline const char *module_address_lookup(unsigned long addr, | |||
535 | 533 | ||
536 | static inline struct module *module_get_kallsym(unsigned int symnum, | 534 | static inline struct module *module_get_kallsym(unsigned int symnum, |
537 | unsigned long *value, | 535 | unsigned long *value, |
538 | char *type, | 536 | char *type, char *name, |
539 | char namebuf[128]) | 537 | size_t namelen) |
540 | { | 538 | { |
541 | return NULL; | 539 | return NULL; |
542 | } | 540 | } |
diff --git a/include/linux/namei.h b/include/linux/namei.h index 58cb3d3d44b4..45511a5918d3 100644 --- a/include/linux/namei.h +++ b/include/linux/namei.h | |||
@@ -11,7 +11,7 @@ struct open_intent { | |||
11 | struct file *file; | 11 | struct file *file; |
12 | }; | 12 | }; |
13 | 13 | ||
14 | enum { MAX_NESTED_LINKS = 5 }; | 14 | enum { MAX_NESTED_LINKS = 8 }; |
15 | 15 | ||
16 | struct nameidata { | 16 | struct nameidata { |
17 | struct dentry *dentry; | 17 | struct dentry *dentry; |
diff --git a/include/linux/nsc_gpio.h b/include/linux/nsc_gpio.h index 135742cfada5..7da0cf3702ee 100644 --- a/include/linux/nsc_gpio.h +++ b/include/linux/nsc_gpio.h | |||
@@ -25,8 +25,6 @@ struct nsc_gpio_ops { | |||
25 | void (*gpio_dump) (struct nsc_gpio_ops *amp, unsigned iminor); | 25 | void (*gpio_dump) (struct nsc_gpio_ops *amp, unsigned iminor); |
26 | int (*gpio_get) (unsigned iminor); | 26 | int (*gpio_get) (unsigned iminor); |
27 | void (*gpio_set) (unsigned iminor, int state); | 27 | void (*gpio_set) (unsigned iminor, int state); |
28 | void (*gpio_set_high)(unsigned iminor); | ||
29 | void (*gpio_set_low) (unsigned iminor); | ||
30 | void (*gpio_change) (unsigned iminor); | 28 | void (*gpio_change) (unsigned iminor); |
31 | int (*gpio_current) (unsigned iminor); | 29 | int (*gpio_current) (unsigned iminor); |
32 | struct device* dev; /* for dev_dbg() support, set in init */ | 30 | struct device* dev; /* for dev_dbg() support, set in init */ |
diff --git a/include/linux/pci.h b/include/linux/pci.h index 983fca251b25..8565b81d7fbc 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h | |||
@@ -161,6 +161,7 @@ struct pci_dev { | |||
161 | unsigned int is_enabled:1; /* pci_enable_device has been called */ | 161 | unsigned int is_enabled:1; /* pci_enable_device has been called */ |
162 | unsigned int is_busmaster:1; /* device is busmaster */ | 162 | unsigned int is_busmaster:1; /* device is busmaster */ |
163 | unsigned int no_msi:1; /* device may not use msi */ | 163 | unsigned int no_msi:1; /* device may not use msi */ |
164 | unsigned int no_d1d2:1; /* only allow d0 or d3 */ | ||
164 | unsigned int block_ucfg_access:1; /* userspace config space access is blocked */ | 165 | unsigned int block_ucfg_access:1; /* userspace config space access is blocked */ |
165 | unsigned int broken_parity_status:1; /* Device generates false positive parity */ | 166 | unsigned int broken_parity_status:1; /* Device generates false positive parity */ |
166 | unsigned int msi_enabled:1; | 167 | unsigned int msi_enabled:1; |
diff --git a/include/linux/pci_regs.h b/include/linux/pci_regs.h index 6bce4a240364..96930cb5927c 100644 --- a/include/linux/pci_regs.h +++ b/include/linux/pci_regs.h | |||
@@ -422,7 +422,23 @@ | |||
422 | #define PCI_ERR_CAP_ECRC_CHKE 0x00000100 /* ECRC Check Enable */ | 422 | #define PCI_ERR_CAP_ECRC_CHKE 0x00000100 /* ECRC Check Enable */ |
423 | #define PCI_ERR_HEADER_LOG 28 /* Header Log Register (16 bytes) */ | 423 | #define PCI_ERR_HEADER_LOG 28 /* Header Log Register (16 bytes) */ |
424 | #define PCI_ERR_ROOT_COMMAND 44 /* Root Error Command */ | 424 | #define PCI_ERR_ROOT_COMMAND 44 /* Root Error Command */ |
425 | /* Correctable Err Reporting Enable */ | ||
426 | #define PCI_ERR_ROOT_CMD_COR_EN 0x00000001 | ||
427 | /* Non-fatal Err Reporting Enable */ | ||
428 | #define PCI_ERR_ROOT_CMD_NONFATAL_EN 0x00000002 | ||
429 | /* Fatal Err Reporting Enable */ | ||
430 | #define PCI_ERR_ROOT_CMD_FATAL_EN 0x00000004 | ||
425 | #define PCI_ERR_ROOT_STATUS 48 | 431 | #define PCI_ERR_ROOT_STATUS 48 |
432 | #define PCI_ERR_ROOT_COR_RCV 0x00000001 /* ERR_COR Received */ | ||
433 | /* Multi ERR_COR Received */ | ||
434 | #define PCI_ERR_ROOT_MULTI_COR_RCV 0x00000002 | ||
435 | /* ERR_FATAL/NONFATAL Recevied */ | ||
436 | #define PCI_ERR_ROOT_UNCOR_RCV 0x00000004 | ||
437 | /* Multi ERR_FATAL/NONFATAL Recevied */ | ||
438 | #define PCI_ERR_ROOT_MULTI_UNCOR_RCV 0x00000008 | ||
439 | #define PCI_ERR_ROOT_FIRST_FATAL 0x00000010 /* First Fatal */ | ||
440 | #define PCI_ERR_ROOT_NONFATAL_RCV 0x00000020 /* Non-Fatal Received */ | ||
441 | #define PCI_ERR_ROOT_FATAL_RCV 0x00000040 /* Fatal Received */ | ||
426 | #define PCI_ERR_ROOT_COR_SRC 52 | 442 | #define PCI_ERR_ROOT_COR_SRC 52 |
427 | #define PCI_ERR_ROOT_SRC 54 | 443 | #define PCI_ERR_ROOT_SRC 54 |
428 | 444 | ||
diff --git a/include/linux/pm_legacy.h b/include/linux/pm_legacy.h index 78027c533b94..514729a44688 100644 --- a/include/linux/pm_legacy.h +++ b/include/linux/pm_legacy.h | |||
@@ -15,11 +15,6 @@ struct pm_dev __deprecated * | |||
15 | pm_register(pm_dev_t type, unsigned long id, pm_callback callback); | 15 | pm_register(pm_dev_t type, unsigned long id, pm_callback callback); |
16 | 16 | ||
17 | /* | 17 | /* |
18 | * Unregister all devices with matching callback | ||
19 | */ | ||
20 | void __deprecated pm_unregister_all(pm_callback callback); | ||
21 | |||
22 | /* | ||
23 | * Send a request to all devices | 18 | * Send a request to all devices |
24 | */ | 19 | */ |
25 | int __deprecated pm_send_all(pm_request_t rqst, void *data); | 20 | int __deprecated pm_send_all(pm_request_t rqst, void *data); |
@@ -35,8 +30,6 @@ static inline struct pm_dev *pm_register(pm_dev_t type, | |||
35 | return NULL; | 30 | return NULL; |
36 | } | 31 | } |
37 | 32 | ||
38 | static inline void pm_unregister_all(pm_callback callback) {} | ||
39 | |||
40 | static inline int pm_send_all(pm_request_t rqst, void *data) | 33 | static inline int pm_send_all(pm_request_t rqst, void *data) |
41 | { | 34 | { |
42 | return 0; | 35 | return 0; |
diff --git a/include/linux/root_dev.h b/include/linux/root_dev.h index ea4bc9d13735..ed241aad7c17 100644 --- a/include/linux/root_dev.h +++ b/include/linux/root_dev.h | |||
@@ -2,6 +2,8 @@ | |||
2 | #define _ROOT_DEV_H_ | 2 | #define _ROOT_DEV_H_ |
3 | 3 | ||
4 | #include <linux/major.h> | 4 | #include <linux/major.h> |
5 | #include <linux/types.h> | ||
6 | #include <linux/kdev_t.h> | ||
5 | 7 | ||
6 | enum { | 8 | enum { |
7 | Root_NFS = MKDEV(UNNAMED_MAJOR, 255), | 9 | Root_NFS = MKDEV(UNNAMED_MAJOR, 255), |
diff --git a/include/linux/sched.h b/include/linux/sched.h index 1c876e27ff93..6afa72e080cb 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
@@ -463,6 +463,10 @@ struct signal_struct { | |||
463 | #ifdef CONFIG_BSD_PROCESS_ACCT | 463 | #ifdef CONFIG_BSD_PROCESS_ACCT |
464 | struct pacct_struct pacct; /* per-process accounting information */ | 464 | struct pacct_struct pacct; /* per-process accounting information */ |
465 | #endif | 465 | #endif |
466 | #ifdef CONFIG_TASKSTATS | ||
467 | spinlock_t stats_lock; | ||
468 | struct taskstats *stats; | ||
469 | #endif | ||
466 | }; | 470 | }; |
467 | 471 | ||
468 | /* Context switch must be unlocked if interrupts are to be enabled */ | 472 | /* Context switch must be unlocked if interrupts are to be enabled */ |
@@ -537,7 +541,7 @@ extern struct user_struct root_user; | |||
537 | struct backing_dev_info; | 541 | struct backing_dev_info; |
538 | struct reclaim_state; | 542 | struct reclaim_state; |
539 | 543 | ||
540 | #ifdef CONFIG_SCHEDSTATS | 544 | #if defined(CONFIG_SCHEDSTATS) || defined(CONFIG_TASK_DELAY_ACCT) |
541 | struct sched_info { | 545 | struct sched_info { |
542 | /* cumulative counters */ | 546 | /* cumulative counters */ |
543 | unsigned long cpu_time, /* time spent on the cpu */ | 547 | unsigned long cpu_time, /* time spent on the cpu */ |
@@ -548,9 +552,53 @@ struct sched_info { | |||
548 | unsigned long last_arrival, /* when we last ran on a cpu */ | 552 | unsigned long last_arrival, /* when we last ran on a cpu */ |
549 | last_queued; /* when we were last queued to run */ | 553 | last_queued; /* when we were last queued to run */ |
550 | }; | 554 | }; |
555 | #endif /* defined(CONFIG_SCHEDSTATS) || defined(CONFIG_TASK_DELAY_ACCT) */ | ||
551 | 556 | ||
557 | #ifdef CONFIG_SCHEDSTATS | ||
552 | extern struct file_operations proc_schedstat_operations; | 558 | extern struct file_operations proc_schedstat_operations; |
559 | #endif /* CONFIG_SCHEDSTATS */ | ||
560 | |||
561 | #ifdef CONFIG_TASK_DELAY_ACCT | ||
562 | struct task_delay_info { | ||
563 | spinlock_t lock; | ||
564 | unsigned int flags; /* Private per-task flags */ | ||
565 | |||
566 | /* For each stat XXX, add following, aligned appropriately | ||
567 | * | ||
568 | * struct timespec XXX_start, XXX_end; | ||
569 | * u64 XXX_delay; | ||
570 | * u32 XXX_count; | ||
571 | * | ||
572 | * Atomicity of updates to XXX_delay, XXX_count protected by | ||
573 | * single lock above (split into XXX_lock if contention is an issue). | ||
574 | */ | ||
575 | |||
576 | /* | ||
577 | * XXX_count is incremented on every XXX operation, the delay | ||
578 | * associated with the operation is added to XXX_delay. | ||
579 | * XXX_delay contains the accumulated delay time in nanoseconds. | ||
580 | */ | ||
581 | struct timespec blkio_start, blkio_end; /* Shared by blkio, swapin */ | ||
582 | u64 blkio_delay; /* wait for sync block io completion */ | ||
583 | u64 swapin_delay; /* wait for swapin block io completion */ | ||
584 | u32 blkio_count; /* total count of the number of sync block */ | ||
585 | /* io operations performed */ | ||
586 | u32 swapin_count; /* total count of the number of swapin block */ | ||
587 | /* io operations performed */ | ||
588 | }; | ||
589 | #endif /* CONFIG_TASK_DELAY_ACCT */ | ||
590 | |||
591 | static inline int sched_info_on(void) | ||
592 | { | ||
593 | #ifdef CONFIG_SCHEDSTATS | ||
594 | return 1; | ||
595 | #elif defined(CONFIG_TASK_DELAY_ACCT) | ||
596 | extern int delayacct_on; | ||
597 | return delayacct_on; | ||
598 | #else | ||
599 | return 0; | ||
553 | #endif | 600 | #endif |
601 | } | ||
554 | 602 | ||
555 | enum idle_type | 603 | enum idle_type |
556 | { | 604 | { |
@@ -747,7 +795,7 @@ struct task_struct { | |||
747 | cpumask_t cpus_allowed; | 795 | cpumask_t cpus_allowed; |
748 | unsigned int time_slice, first_time_slice; | 796 | unsigned int time_slice, first_time_slice; |
749 | 797 | ||
750 | #ifdef CONFIG_SCHEDSTATS | 798 | #if defined(CONFIG_SCHEDSTATS) || defined(CONFIG_TASK_DELAY_ACCT) |
751 | struct sched_info sched_info; | 799 | struct sched_info sched_info; |
752 | #endif | 800 | #endif |
753 | 801 | ||
@@ -945,6 +993,10 @@ struct task_struct { | |||
945 | * cache last used pipe for splice | 993 | * cache last used pipe for splice |
946 | */ | 994 | */ |
947 | struct pipe_inode_info *splice_pipe; | 995 | struct pipe_inode_info *splice_pipe; |
996 | #ifdef CONFIG_TASK_DELAY_ACCT | ||
997 | spinlock_t delays_lock; | ||
998 | struct task_delay_info *delays; | ||
999 | #endif | ||
948 | }; | 1000 | }; |
949 | 1001 | ||
950 | static inline pid_t process_group(struct task_struct *tsk) | 1002 | static inline pid_t process_group(struct task_struct *tsk) |
diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h index 058cba70818a..86501a3de2ac 100644 --- a/include/linux/serial_core.h +++ b/include/linux/serial_core.h | |||
@@ -227,6 +227,7 @@ struct uart_port { | |||
227 | #define UPIO_MEM (2) | 227 | #define UPIO_MEM (2) |
228 | #define UPIO_MEM32 (3) | 228 | #define UPIO_MEM32 (3) |
229 | #define UPIO_AU (4) /* Au1x00 type IO */ | 229 | #define UPIO_AU (4) /* Au1x00 type IO */ |
230 | #define UPIO_TSI (5) /* Tsi108/109 type IO */ | ||
230 | 231 | ||
231 | unsigned int read_status_mask; /* driver specific */ | 232 | unsigned int read_status_mask; /* driver specific */ |
232 | unsigned int ignore_status_mask; /* driver specific */ | 233 | unsigned int ignore_status_mask; /* driver specific */ |
diff --git a/include/linux/taskstats.h b/include/linux/taskstats.h new file mode 100644 index 000000000000..f1cb6cddd19d --- /dev/null +++ b/include/linux/taskstats.h | |||
@@ -0,0 +1,137 @@ | |||
1 | /* taskstats.h - exporting per-task statistics | ||
2 | * | ||
3 | * Copyright (C) Shailabh Nagar, IBM Corp. 2006 | ||
4 | * (C) Balbir Singh, IBM Corp. 2006 | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify it | ||
7 | * under the terms of version 2.1 of the GNU Lesser General Public License | ||
8 | * as published by the Free Software Foundation. | ||
9 | * | ||
10 | * This program is distributed in the hope that it would be useful, but | ||
11 | * WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | ||
13 | */ | ||
14 | |||
15 | #ifndef _LINUX_TASKSTATS_H | ||
16 | #define _LINUX_TASKSTATS_H | ||
17 | |||
18 | /* Format for per-task data returned to userland when | ||
19 | * - a task exits | ||
20 | * - listener requests stats for a task | ||
21 | * | ||
22 | * The struct is versioned. Newer versions should only add fields to | ||
23 | * the bottom of the struct to maintain backward compatibility. | ||
24 | * | ||
25 | * | ||
26 | * To add new fields | ||
27 | * a) bump up TASKSTATS_VERSION | ||
28 | * b) add comment indicating new version number at end of struct | ||
29 | * c) add new fields after version comment; maintain 64-bit alignment | ||
30 | */ | ||
31 | |||
32 | #define TASKSTATS_VERSION 1 | ||
33 | |||
34 | struct taskstats { | ||
35 | |||
36 | /* Version 1 */ | ||
37 | __u16 version; | ||
38 | __u16 padding[3]; /* Userspace should not interpret the padding | ||
39 | * field which can be replaced by useful | ||
40 | * fields if struct taskstats is extended. | ||
41 | */ | ||
42 | |||
43 | /* Delay accounting fields start | ||
44 | * | ||
45 | * All values, until comment "Delay accounting fields end" are | ||
46 | * available only if delay accounting is enabled, even though the last | ||
47 | * few fields are not delays | ||
48 | * | ||
49 | * xxx_count is the number of delay values recorded | ||
50 | * xxx_delay_total is the corresponding cumulative delay in nanoseconds | ||
51 | * | ||
52 | * xxx_delay_total wraps around to zero on overflow | ||
53 | * xxx_count incremented regardless of overflow | ||
54 | */ | ||
55 | |||
56 | /* Delay waiting for cpu, while runnable | ||
57 | * count, delay_total NOT updated atomically | ||
58 | */ | ||
59 | __u64 cpu_count; | ||
60 | __u64 cpu_delay_total; | ||
61 | |||
62 | /* Following four fields atomically updated using task->delays->lock */ | ||
63 | |||
64 | /* Delay waiting for synchronous block I/O to complete | ||
65 | * does not account for delays in I/O submission | ||
66 | */ | ||
67 | __u64 blkio_count; | ||
68 | __u64 blkio_delay_total; | ||
69 | |||
70 | /* Delay waiting for page fault I/O (swap in only) */ | ||
71 | __u64 swapin_count; | ||
72 | __u64 swapin_delay_total; | ||
73 | |||
74 | /* cpu "wall-clock" running time | ||
75 | * On some architectures, value will adjust for cpu time stolen | ||
76 | * from the kernel in involuntary waits due to virtualization. | ||
77 | * Value is cumulative, in nanoseconds, without a corresponding count | ||
78 | * and wraps around to zero silently on overflow | ||
79 | */ | ||
80 | __u64 cpu_run_real_total; | ||
81 | |||
82 | /* cpu "virtual" running time | ||
83 | * Uses time intervals seen by the kernel i.e. no adjustment | ||
84 | * for kernel's involuntary waits due to virtualization. | ||
85 | * Value is cumulative, in nanoseconds, without a corresponding count | ||
86 | * and wraps around to zero silently on overflow | ||
87 | */ | ||
88 | __u64 cpu_run_virtual_total; | ||
89 | /* Delay accounting fields end */ | ||
90 | /* version 1 ends here */ | ||
91 | }; | ||
92 | |||
93 | |||
94 | /* | ||
95 | * Commands sent from userspace | ||
96 | * Not versioned. New commands should only be inserted at the enum's end | ||
97 | * prior to __TASKSTATS_CMD_MAX | ||
98 | */ | ||
99 | |||
100 | enum { | ||
101 | TASKSTATS_CMD_UNSPEC = 0, /* Reserved */ | ||
102 | TASKSTATS_CMD_GET, /* user->kernel request/get-response */ | ||
103 | TASKSTATS_CMD_NEW, /* kernel->user event */ | ||
104 | __TASKSTATS_CMD_MAX, | ||
105 | }; | ||
106 | |||
107 | #define TASKSTATS_CMD_MAX (__TASKSTATS_CMD_MAX - 1) | ||
108 | |||
109 | enum { | ||
110 | TASKSTATS_TYPE_UNSPEC = 0, /* Reserved */ | ||
111 | TASKSTATS_TYPE_PID, /* Process id */ | ||
112 | TASKSTATS_TYPE_TGID, /* Thread group id */ | ||
113 | TASKSTATS_TYPE_STATS, /* taskstats structure */ | ||
114 | TASKSTATS_TYPE_AGGR_PID, /* contains pid + stats */ | ||
115 | TASKSTATS_TYPE_AGGR_TGID, /* contains tgid + stats */ | ||
116 | __TASKSTATS_TYPE_MAX, | ||
117 | }; | ||
118 | |||
119 | #define TASKSTATS_TYPE_MAX (__TASKSTATS_TYPE_MAX - 1) | ||
120 | |||
121 | enum { | ||
122 | TASKSTATS_CMD_ATTR_UNSPEC = 0, | ||
123 | TASKSTATS_CMD_ATTR_PID, | ||
124 | TASKSTATS_CMD_ATTR_TGID, | ||
125 | TASKSTATS_CMD_ATTR_REGISTER_CPUMASK, | ||
126 | TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK, | ||
127 | __TASKSTATS_CMD_ATTR_MAX, | ||
128 | }; | ||
129 | |||
130 | #define TASKSTATS_CMD_ATTR_MAX (__TASKSTATS_CMD_ATTR_MAX - 1) | ||
131 | |||
132 | /* NETLINK_GENERIC related info */ | ||
133 | |||
134 | #define TASKSTATS_GENL_NAME "TASKSTATS" | ||
135 | #define TASKSTATS_GENL_VERSION 0x1 | ||
136 | |||
137 | #endif /* _LINUX_TASKSTATS_H */ | ||
diff --git a/include/linux/taskstats_kern.h b/include/linux/taskstats_kern.h new file mode 100644 index 000000000000..16894b7edcc8 --- /dev/null +++ b/include/linux/taskstats_kern.h | |||
@@ -0,0 +1,89 @@ | |||
1 | /* taskstats_kern.h - kernel header for per-task statistics interface | ||
2 | * | ||
3 | * Copyright (C) Shailabh Nagar, IBM Corp. 2006 | ||
4 | * (C) Balbir Singh, IBM Corp. 2006 | ||
5 | */ | ||
6 | |||
7 | #ifndef _LINUX_TASKSTATS_KERN_H | ||
8 | #define _LINUX_TASKSTATS_KERN_H | ||
9 | |||
10 | #include <linux/taskstats.h> | ||
11 | #include <linux/sched.h> | ||
12 | #include <net/genetlink.h> | ||
13 | |||
14 | #ifdef CONFIG_TASKSTATS | ||
15 | extern kmem_cache_t *taskstats_cache; | ||
16 | extern struct mutex taskstats_exit_mutex; | ||
17 | |||
18 | static inline void taskstats_exit_free(struct taskstats *tidstats) | ||
19 | { | ||
20 | if (tidstats) | ||
21 | kmem_cache_free(taskstats_cache, tidstats); | ||
22 | } | ||
23 | |||
24 | static inline void taskstats_tgid_init(struct signal_struct *sig) | ||
25 | { | ||
26 | spin_lock_init(&sig->stats_lock); | ||
27 | sig->stats = NULL; | ||
28 | } | ||
29 | |||
30 | static inline void taskstats_tgid_alloc(struct signal_struct *sig) | ||
31 | { | ||
32 | struct taskstats *stats; | ||
33 | unsigned long flags; | ||
34 | |||
35 | stats = kmem_cache_zalloc(taskstats_cache, SLAB_KERNEL); | ||
36 | if (!stats) | ||
37 | return; | ||
38 | |||
39 | spin_lock_irqsave(&sig->stats_lock, flags); | ||
40 | if (!sig->stats) { | ||
41 | sig->stats = stats; | ||
42 | stats = NULL; | ||
43 | } | ||
44 | spin_unlock_irqrestore(&sig->stats_lock, flags); | ||
45 | |||
46 | if (stats) | ||
47 | kmem_cache_free(taskstats_cache, stats); | ||
48 | } | ||
49 | |||
50 | static inline void taskstats_tgid_free(struct signal_struct *sig) | ||
51 | { | ||
52 | struct taskstats *stats = NULL; | ||
53 | unsigned long flags; | ||
54 | |||
55 | spin_lock_irqsave(&sig->stats_lock, flags); | ||
56 | if (sig->stats) { | ||
57 | stats = sig->stats; | ||
58 | sig->stats = NULL; | ||
59 | } | ||
60 | spin_unlock_irqrestore(&sig->stats_lock, flags); | ||
61 | if (stats) | ||
62 | kmem_cache_free(taskstats_cache, stats); | ||
63 | } | ||
64 | |||
65 | extern void taskstats_exit_alloc(struct taskstats **, unsigned int *); | ||
66 | extern void taskstats_exit_send(struct task_struct *, struct taskstats *, int, unsigned int); | ||
67 | extern void taskstats_init_early(void); | ||
68 | extern void taskstats_tgid_alloc(struct signal_struct *); | ||
69 | #else | ||
70 | static inline void taskstats_exit_alloc(struct taskstats **ptidstats, unsigned int *mycpu) | ||
71 | {} | ||
72 | static inline void taskstats_exit_free(struct taskstats *ptidstats) | ||
73 | {} | ||
74 | static inline void taskstats_exit_send(struct task_struct *tsk, | ||
75 | struct taskstats *tidstats, | ||
76 | int group_dead, unsigned int cpu) | ||
77 | {} | ||
78 | static inline void taskstats_tgid_init(struct signal_struct *sig) | ||
79 | {} | ||
80 | static inline void taskstats_tgid_alloc(struct signal_struct *sig) | ||
81 | {} | ||
82 | static inline void taskstats_tgid_free(struct signal_struct *sig) | ||
83 | {} | ||
84 | static inline void taskstats_init_early(void) | ||
85 | {} | ||
86 | #endif /* CONFIG_TASKSTATS */ | ||
87 | |||
88 | #endif | ||
89 | |||
diff --git a/include/linux/time.h b/include/linux/time.h index c05f8bb9a323..a5b739967b74 100644 --- a/include/linux/time.h +++ b/include/linux/time.h | |||
@@ -71,6 +71,18 @@ extern unsigned long mktime(const unsigned int year, const unsigned int mon, | |||
71 | extern void set_normalized_timespec(struct timespec *ts, time_t sec, long nsec); | 71 | extern void set_normalized_timespec(struct timespec *ts, time_t sec, long nsec); |
72 | 72 | ||
73 | /* | 73 | /* |
74 | * sub = lhs - rhs, in normalized form | ||
75 | */ | ||
76 | static inline struct timespec timespec_sub(struct timespec lhs, | ||
77 | struct timespec rhs) | ||
78 | { | ||
79 | struct timespec ts_delta; | ||
80 | set_normalized_timespec(&ts_delta, lhs.tv_sec - rhs.tv_sec, | ||
81 | lhs.tv_nsec - rhs.tv_nsec); | ||
82 | return ts_delta; | ||
83 | } | ||
84 | |||
85 | /* | ||
74 | * Returns true if the timespec is norm, false if denorm: | 86 | * Returns true if the timespec is norm, false if denorm: |
75 | */ | 87 | */ |
76 | #define timespec_valid(ts) \ | 88 | #define timespec_valid(ts) \ |
diff --git a/include/linux/usb.h b/include/linux/usb.h index 8dead32e7ebf..c944e8f06a4a 100644 --- a/include/linux/usb.h +++ b/include/linux/usb.h | |||
@@ -48,7 +48,7 @@ struct ep_device; | |||
48 | * @urb_list: urbs queued to this endpoint; maintained by usbcore | 48 | * @urb_list: urbs queued to this endpoint; maintained by usbcore |
49 | * @hcpriv: for use by HCD; typically holds hardware dma queue head (QH) | 49 | * @hcpriv: for use by HCD; typically holds hardware dma queue head (QH) |
50 | * with one or more transfer descriptors (TDs) per urb | 50 | * with one or more transfer descriptors (TDs) per urb |
51 | * @kobj: kobject for sysfs info | 51 | * @ep_dev: ep_device for sysfs info |
52 | * @extra: descriptors following this endpoint in the configuration | 52 | * @extra: descriptors following this endpoint in the configuration |
53 | * @extralen: how many bytes of "extra" are valid | 53 | * @extralen: how many bytes of "extra" are valid |
54 | * | 54 | * |
diff --git a/drivers/usb/serial/usb-serial.h b/include/linux/usb/serial.h index 0f2802a60194..91c983eef899 100644 --- a/drivers/usb/serial/usb-serial.h +++ b/include/linux/usb/serial.h | |||
@@ -1,12 +1,12 @@ | |||
1 | /* | 1 | /* |
2 | * USB Serial Converter driver | 2 | * USB Serial Converter stuff |
3 | * | 3 | * |
4 | * Copyright (C) 1999 - 2005 | 4 | * Copyright (C) 1999 - 2005 |
5 | * Greg Kroah-Hartman (greg@kroah.com) | 5 | * Greg Kroah-Hartman (greg@kroah.com) |
6 | * | 6 | * |
7 | * This program is free software; you can redistribute it and/or modify | 7 | * This program is free software; you can redistribute it and/or modify |
8 | * it under the terms of the GNU General Public License as published by | 8 | * it under the terms of the GNU General Public License as published by |
9 | * the Free Software Foundation; either version 2 of the License. | 9 | * the Free Software Foundation; version 2 of the License. |
10 | * | 10 | * |
11 | */ | 11 | */ |
12 | 12 | ||
@@ -171,7 +171,7 @@ static inline void usb_set_serial_data (struct usb_serial *serial, void *data) | |||
171 | * but before the device has been fully initialized by the usb_serial | 171 | * but before the device has been fully initialized by the usb_serial |
172 | * subsystem. Use this function to download any firmware to the device, | 172 | * subsystem. Use this function to download any firmware to the device, |
173 | * or any other early initialization that might be needed. | 173 | * or any other early initialization that might be needed. |
174 | * Return 0 to continue on with the initialization sequence. Anything | 174 | * Return 0 to continue on with the initialization sequence. Anything |
175 | * else will abort it. | 175 | * else will abort it. |
176 | * @attach: pointer to the driver's attach function. | 176 | * @attach: pointer to the driver's attach function. |
177 | * This will be called when the struct usb_serial structure is fully set | 177 | * This will be called when the struct usb_serial structure is fully set |
diff --git a/include/linux/usb_ch9.h b/include/linux/usb_ch9.h index a2aacfc7af2f..c720d107ff29 100644 --- a/include/linux/usb_ch9.h +++ b/include/linux/usb_ch9.h | |||
@@ -51,6 +51,9 @@ | |||
51 | #define USB_RECIP_INTERFACE 0x01 | 51 | #define USB_RECIP_INTERFACE 0x01 |
52 | #define USB_RECIP_ENDPOINT 0x02 | 52 | #define USB_RECIP_ENDPOINT 0x02 |
53 | #define USB_RECIP_OTHER 0x03 | 53 | #define USB_RECIP_OTHER 0x03 |
54 | /* From Wireless USB 1.0 */ | ||
55 | #define USB_RECIP_PORT 0x04 | ||
56 | #define USB_RECIP_RPIPE 0x05 | ||
54 | 57 | ||
55 | /* | 58 | /* |
56 | * Standard requests, for the bRequest field of a SETUP packet. | 59 | * Standard requests, for the bRequest field of a SETUP packet. |
@@ -73,7 +76,9 @@ | |||
73 | 76 | ||
74 | #define USB_REQ_SET_ENCRYPTION 0x0D /* Wireless USB */ | 77 | #define USB_REQ_SET_ENCRYPTION 0x0D /* Wireless USB */ |
75 | #define USB_REQ_GET_ENCRYPTION 0x0E | 78 | #define USB_REQ_GET_ENCRYPTION 0x0E |
79 | #define USB_REQ_RPIPE_ABORT 0x0E | ||
76 | #define USB_REQ_SET_HANDSHAKE 0x0F | 80 | #define USB_REQ_SET_HANDSHAKE 0x0F |
81 | #define USB_REQ_RPIPE_RESET 0x0F | ||
77 | #define USB_REQ_GET_HANDSHAKE 0x10 | 82 | #define USB_REQ_GET_HANDSHAKE 0x10 |
78 | #define USB_REQ_SET_CONNECTION 0x11 | 83 | #define USB_REQ_SET_CONNECTION 0x11 |
79 | #define USB_REQ_SET_SECURITY_DATA 0x12 | 84 | #define USB_REQ_SET_SECURITY_DATA 0x12 |
@@ -159,6 +164,8 @@ struct usb_ctrlrequest { | |||
159 | #define USB_DT_BOS 0x0f | 164 | #define USB_DT_BOS 0x0f |
160 | #define USB_DT_DEVICE_CAPABILITY 0x10 | 165 | #define USB_DT_DEVICE_CAPABILITY 0x10 |
161 | #define USB_DT_WIRELESS_ENDPOINT_COMP 0x11 | 166 | #define USB_DT_WIRELESS_ENDPOINT_COMP 0x11 |
167 | #define USB_DT_WIRE_ADAPTER 0x21 | ||
168 | #define USB_DT_RPIPE 0x22 | ||
162 | 169 | ||
163 | /* conventional codes for class-specific descriptors */ | 170 | /* conventional codes for class-specific descriptors */ |
164 | #define USB_DT_CS_DEVICE 0x21 | 171 | #define USB_DT_CS_DEVICE 0x21 |
diff --git a/include/linux/usb_gadget.h b/include/linux/usb_gadget.h index 1d78870ed8af..e17186dbcdca 100644 --- a/include/linux/usb_gadget.h +++ b/include/linux/usb_gadget.h | |||
@@ -872,9 +872,9 @@ int usb_gadget_config_buf(const struct usb_config_descriptor *config, | |||
872 | /* utility wrapping a simple endpoint selection policy */ | 872 | /* utility wrapping a simple endpoint selection policy */ |
873 | 873 | ||
874 | extern struct usb_ep *usb_ep_autoconfig (struct usb_gadget *, | 874 | extern struct usb_ep *usb_ep_autoconfig (struct usb_gadget *, |
875 | struct usb_endpoint_descriptor *) __init; | 875 | struct usb_endpoint_descriptor *) __devinit; |
876 | 876 | ||
877 | extern void usb_ep_autoconfig_reset (struct usb_gadget *) __init; | 877 | extern void usb_ep_autoconfig_reset (struct usb_gadget *) __devinit; |
878 | 878 | ||
879 | #endif /* __KERNEL__ */ | 879 | #endif /* __KERNEL__ */ |
880 | 880 | ||
diff --git a/include/linux/usb_usual.h b/include/linux/usb_usual.h index 608487a62c98..f38f43f20fae 100644 --- a/include/linux/usb_usual.h +++ b/include/linux/usb_usual.h | |||
@@ -43,6 +43,8 @@ | |||
43 | /* Need delay after Command phase */ \ | 43 | /* Need delay after Command phase */ \ |
44 | US_FLAG(NO_WP_DETECT, 0x00000200) \ | 44 | US_FLAG(NO_WP_DETECT, 0x00000200) \ |
45 | /* Don't check for write-protect */ \ | 45 | /* Don't check for write-protect */ \ |
46 | US_FLAG(MAX_SECTORS_64, 0x00000400) \ | ||
47 | /* Sets max_sectors to 64 */ | ||
46 | 48 | ||
47 | #define US_FLAG(name, value) US_FL_##name = value , | 49 | #define US_FLAG(name, value) US_FL_##name = value , |
48 | enum { US_DO_ALL_FLAGS }; | 50 | enum { US_DO_ALL_FLAGS }; |
diff --git a/include/linux/vmalloc.h b/include/linux/vmalloc.h index f6024ab4eff0..71b6363caaaf 100644 --- a/include/linux/vmalloc.h +++ b/include/linux/vmalloc.h | |||
@@ -11,6 +11,7 @@ struct vm_area_struct; | |||
11 | #define VM_ALLOC 0x00000002 /* vmalloc() */ | 11 | #define VM_ALLOC 0x00000002 /* vmalloc() */ |
12 | #define VM_MAP 0x00000004 /* vmap()ed pages */ | 12 | #define VM_MAP 0x00000004 /* vmap()ed pages */ |
13 | #define VM_USERMAP 0x00000008 /* suitable for remap_vmalloc_range */ | 13 | #define VM_USERMAP 0x00000008 /* suitable for remap_vmalloc_range */ |
14 | #define VM_VPAGES 0x00000010 /* buffer for pages was vmalloc'ed */ | ||
14 | /* bits [20..32] reserved for arch specific ioremap internals */ | 15 | /* bits [20..32] reserved for arch specific ioremap internals */ |
15 | 16 | ||
16 | /* | 17 | /* |
diff --git a/include/net/genetlink.h b/include/net/genetlink.h index 805de50df00d..8c2287264266 100644 --- a/include/net/genetlink.h +++ b/include/net/genetlink.h | |||
@@ -150,4 +150,24 @@ static inline int genlmsg_unicast(struct sk_buff *skb, u32 pid) | |||
150 | return nlmsg_unicast(genl_sock, skb, pid); | 150 | return nlmsg_unicast(genl_sock, skb, pid); |
151 | } | 151 | } |
152 | 152 | ||
153 | /** | ||
154 | * gennlmsg_data - head of message payload | ||
155 | * @gnlh: genetlink messsage header | ||
156 | */ | ||
157 | static inline void *genlmsg_data(const struct genlmsghdr *gnlh) | ||
158 | { | ||
159 | return ((unsigned char *) gnlh + GENL_HDRLEN); | ||
160 | } | ||
161 | |||
162 | /** | ||
163 | * genlmsg_len - length of message payload | ||
164 | * @gnlh: genetlink message header | ||
165 | */ | ||
166 | static inline int genlmsg_len(const struct genlmsghdr *gnlh) | ||
167 | { | ||
168 | struct nlmsghdr *nlh = (struct nlmsghdr *)((unsigned char *)gnlh - | ||
169 | NLMSG_HDRLEN); | ||
170 | return (nlh->nlmsg_len - GENL_HDRLEN - NLMSG_HDRLEN); | ||
171 | } | ||
172 | |||
153 | #endif /* __NET_GENERIC_NETLINK_H */ | 173 | #endif /* __NET_GENERIC_NETLINK_H */ |
diff --git a/include/rdma/ib_addr.h b/include/rdma/ib_addr.h index fcb5ba87dcc5..0ff67398928d 100644 --- a/include/rdma/ib_addr.h +++ b/include/rdma/ib_addr.h | |||
@@ -89,9 +89,10 @@ static inline void ib_addr_set_pkey(struct rdma_dev_addr *dev_addr, u16 pkey) | |||
89 | dev_addr->broadcast[9] = (unsigned char) pkey; | 89 | dev_addr->broadcast[9] = (unsigned char) pkey; |
90 | } | 90 | } |
91 | 91 | ||
92 | static inline union ib_gid *ib_addr_get_sgid(struct rdma_dev_addr *dev_addr) | 92 | static inline void ib_addr_get_sgid(struct rdma_dev_addr *dev_addr, |
93 | union ib_gid *gid) | ||
93 | { | 94 | { |
94 | return (union ib_gid *) (dev_addr->src_dev_addr + 4); | 95 | memcpy(gid, dev_addr->src_dev_addr + 4, sizeof *gid); |
95 | } | 96 | } |
96 | 97 | ||
97 | static inline void ib_addr_set_sgid(struct rdma_dev_addr *dev_addr, | 98 | static inline void ib_addr_set_sgid(struct rdma_dev_addr *dev_addr, |
@@ -100,9 +101,10 @@ static inline void ib_addr_set_sgid(struct rdma_dev_addr *dev_addr, | |||
100 | memcpy(dev_addr->src_dev_addr + 4, gid, sizeof *gid); | 101 | memcpy(dev_addr->src_dev_addr + 4, gid, sizeof *gid); |
101 | } | 102 | } |
102 | 103 | ||
103 | static inline union ib_gid *ib_addr_get_dgid(struct rdma_dev_addr *dev_addr) | 104 | static inline void ib_addr_get_dgid(struct rdma_dev_addr *dev_addr, |
105 | union ib_gid *gid) | ||
104 | { | 106 | { |
105 | return (union ib_gid *) (dev_addr->dst_dev_addr + 4); | 107 | memcpy(gid, dev_addr->dst_dev_addr + 4, sizeof *gid); |
106 | } | 108 | } |
107 | 109 | ||
108 | static inline void ib_addr_set_dgid(struct rdma_dev_addr *dev_addr, | 110 | static inline void ib_addr_set_dgid(struct rdma_dev_addr *dev_addr, |
diff --git a/include/rdma/ib_fmr_pool.h b/include/rdma/ib_fmr_pool.h index 4ace54cd0cce..00dadbf94e1d 100644 --- a/include/rdma/ib_fmr_pool.h +++ b/include/rdma/ib_fmr_pool.h | |||
@@ -88,7 +88,7 @@ int ib_flush_fmr_pool(struct ib_fmr_pool *pool); | |||
88 | struct ib_pool_fmr *ib_fmr_pool_map_phys(struct ib_fmr_pool *pool_handle, | 88 | struct ib_pool_fmr *ib_fmr_pool_map_phys(struct ib_fmr_pool *pool_handle, |
89 | u64 *page_list, | 89 | u64 *page_list, |
90 | int list_len, | 90 | int list_len, |
91 | u64 *io_virtual_address); | 91 | u64 io_virtual_address); |
92 | 92 | ||
93 | int ib_fmr_pool_unmap(struct ib_pool_fmr *fmr); | 93 | int ib_fmr_pool_unmap(struct ib_pool_fmr *fmr); |
94 | 94 | ||
diff --git a/include/sound/core.h b/include/sound/core.h index 5d184be0ff72..bab3ff457e40 100644 --- a/include/sound/core.h +++ b/include/sound/core.h | |||
@@ -188,8 +188,6 @@ struct snd_minor { | |||
188 | int device; /* device number */ | 188 | int device; /* device number */ |
189 | const struct file_operations *f_ops; /* file operations */ | 189 | const struct file_operations *f_ops; /* file operations */ |
190 | void *private_data; /* private data for f_ops->open */ | 190 | void *private_data; /* private data for f_ops->open */ |
191 | char name[0]; /* device name (keep at the end of | ||
192 | structure) */ | ||
193 | }; | 191 | }; |
194 | 192 | ||
195 | /* sound.c */ | 193 | /* sound.c */ |
diff --git a/include/sound/cs46xx.h b/include/sound/cs46xx.h index 80b2979c0cba..685928e6f65a 100644 --- a/include/sound/cs46xx.h +++ b/include/sound/cs46xx.h | |||
@@ -1704,6 +1704,7 @@ struct snd_cs46xx { | |||
1704 | int acpi_port; | 1704 | int acpi_port; |
1705 | struct snd_kcontrol *eapd_switch; /* for amplifier hack */ | 1705 | struct snd_kcontrol *eapd_switch; /* for amplifier hack */ |
1706 | int accept_valid; /* accept mmap valid (for OSS) */ | 1706 | int accept_valid; /* accept mmap valid (for OSS) */ |
1707 | int in_suspend; | ||
1707 | 1708 | ||
1708 | struct gameport *gameport; | 1709 | struct gameport *gameport; |
1709 | 1710 | ||
diff --git a/include/video/mbxfb.h b/include/video/mbxfb.h new file mode 100644 index 000000000000..3bde0f5cd55c --- /dev/null +++ b/include/video/mbxfb.h | |||
@@ -0,0 +1,28 @@ | |||
1 | #ifndef __MBX_FB_H | ||
2 | #define __MBX_FB_H | ||
3 | |||
4 | struct mbxfb_val { | ||
5 | unsigned int defval; | ||
6 | unsigned int min; | ||
7 | unsigned int max; | ||
8 | }; | ||
9 | |||
10 | struct fb_info; | ||
11 | |||
12 | struct mbxfb_platform_data { | ||
13 | /* Screen info */ | ||
14 | struct mbxfb_val xres; | ||
15 | struct mbxfb_val yres; | ||
16 | struct mbxfb_val bpp; | ||
17 | |||
18 | /* Memory info */ | ||
19 | unsigned long memsize; /* if 0 use ODFB? */ | ||
20 | unsigned long timings1; | ||
21 | unsigned long timings2; | ||
22 | unsigned long timings3; | ||
23 | |||
24 | int (*probe)(struct fb_info *fb); | ||
25 | int (*remove)(struct fb_info *fb); | ||
26 | }; | ||
27 | |||
28 | #endif /* __MBX_FB_H */ | ||
diff --git a/init/Kconfig b/init/Kconfig index a5b073a103e7..a099fc6526d9 100644 --- a/init/Kconfig +++ b/init/Kconfig | |||
@@ -158,6 +158,30 @@ config BSD_PROCESS_ACCT_V3 | |||
158 | for processing it. A preliminary version of these tools is available | 158 | for processing it. A preliminary version of these tools is available |
159 | at <http://www.physik3.uni-rostock.de/tim/kernel/utils/acct/>. | 159 | at <http://www.physik3.uni-rostock.de/tim/kernel/utils/acct/>. |
160 | 160 | ||
161 | config TASKSTATS | ||
162 | bool "Export task/process statistics through netlink (EXPERIMENTAL)" | ||
163 | depends on NET | ||
164 | default n | ||
165 | help | ||
166 | Export selected statistics for tasks/processes through the | ||
167 | generic netlink interface. Unlike BSD process accounting, the | ||
168 | statistics are available during the lifetime of tasks/processes as | ||
169 | responses to commands. Like BSD accounting, they are sent to user | ||
170 | space on task exit. | ||
171 | |||
172 | Say N if unsure. | ||
173 | |||
174 | config TASK_DELAY_ACCT | ||
175 | bool "Enable per-task delay accounting (EXPERIMENTAL)" | ||
176 | depends on TASKSTATS | ||
177 | help | ||
178 | Collect information on time spent by a task waiting for system | ||
179 | resources like cpu, synchronous block I/O completion and swapping | ||
180 | in pages. Such statistics can help in setting a task's priorities | ||
181 | relative to other tasks for cpu, io, rss limits etc. | ||
182 | |||
183 | Say N if unsure. | ||
184 | |||
161 | config SYSCTL | 185 | config SYSCTL |
162 | bool "Sysctl support" if EMBEDDED | 186 | bool "Sysctl support" if EMBEDDED |
163 | default y | 187 | default y |
diff --git a/init/main.c b/init/main.c index 628b8e9e841a..8651a720a092 100644 --- a/init/main.c +++ b/init/main.c | |||
@@ -41,6 +41,8 @@ | |||
41 | #include <linux/cpu.h> | 41 | #include <linux/cpu.h> |
42 | #include <linux/cpuset.h> | 42 | #include <linux/cpuset.h> |
43 | #include <linux/efi.h> | 43 | #include <linux/efi.h> |
44 | #include <linux/taskstats_kern.h> | ||
45 | #include <linux/delayacct.h> | ||
44 | #include <linux/unistd.h> | 46 | #include <linux/unistd.h> |
45 | #include <linux/rmap.h> | 47 | #include <linux/rmap.h> |
46 | #include <linux/mempolicy.h> | 48 | #include <linux/mempolicy.h> |
@@ -574,6 +576,8 @@ asmlinkage void __init start_kernel(void) | |||
574 | proc_root_init(); | 576 | proc_root_init(); |
575 | #endif | 577 | #endif |
576 | cpuset_init(); | 578 | cpuset_init(); |
579 | taskstats_init_early(); | ||
580 | delayacct_init(); | ||
577 | 581 | ||
578 | check_bugs(); | 582 | check_bugs(); |
579 | 583 | ||
diff --git a/kernel/Makefile b/kernel/Makefile index 47dbcd570cd8..d62ec66c1af2 100644 --- a/kernel/Makefile +++ b/kernel/Makefile | |||
@@ -48,6 +48,8 @@ obj-$(CONFIG_GENERIC_HARDIRQS) += irq/ | |||
48 | obj-$(CONFIG_SECCOMP) += seccomp.o | 48 | obj-$(CONFIG_SECCOMP) += seccomp.o |
49 | obj-$(CONFIG_RCU_TORTURE_TEST) += rcutorture.o | 49 | obj-$(CONFIG_RCU_TORTURE_TEST) += rcutorture.o |
50 | obj-$(CONFIG_RELAY) += relay.o | 50 | obj-$(CONFIG_RELAY) += relay.o |
51 | obj-$(CONFIG_TASK_DELAY_ACCT) += delayacct.o | ||
52 | obj-$(CONFIG_TASKSTATS) += taskstats.o | ||
51 | 53 | ||
52 | ifneq ($(CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER),y) | 54 | ifneq ($(CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER),y) |
53 | # According to Alan Modra <alan@linuxcare.com.au>, the -fno-omit-frame-pointer is | 55 | # According to Alan Modra <alan@linuxcare.com.au>, the -fno-omit-frame-pointer is |
diff --git a/kernel/acct.c b/kernel/acct.c index f18e0b8df3e1..2a7c933651c7 100644 --- a/kernel/acct.c +++ b/kernel/acct.c | |||
@@ -488,7 +488,7 @@ static void do_acct_process(struct file *file) | |||
488 | old_encode_dev(tty_devnum(current->signal->tty)) : 0; | 488 | old_encode_dev(tty_devnum(current->signal->tty)) : 0; |
489 | read_unlock(&tasklist_lock); | 489 | read_unlock(&tasklist_lock); |
490 | 490 | ||
491 | spin_lock(¤t->sighand->siglock); | 491 | spin_lock_irq(¤t->sighand->siglock); |
492 | ac.ac_utime = encode_comp_t(jiffies_to_AHZ(cputime_to_jiffies(pacct->ac_utime))); | 492 | ac.ac_utime = encode_comp_t(jiffies_to_AHZ(cputime_to_jiffies(pacct->ac_utime))); |
493 | ac.ac_stime = encode_comp_t(jiffies_to_AHZ(cputime_to_jiffies(pacct->ac_stime))); | 493 | ac.ac_stime = encode_comp_t(jiffies_to_AHZ(cputime_to_jiffies(pacct->ac_stime))); |
494 | ac.ac_flag = pacct->ac_flag; | 494 | ac.ac_flag = pacct->ac_flag; |
@@ -496,7 +496,7 @@ static void do_acct_process(struct file *file) | |||
496 | ac.ac_minflt = encode_comp_t(pacct->ac_minflt); | 496 | ac.ac_minflt = encode_comp_t(pacct->ac_minflt); |
497 | ac.ac_majflt = encode_comp_t(pacct->ac_majflt); | 497 | ac.ac_majflt = encode_comp_t(pacct->ac_majflt); |
498 | ac.ac_exitcode = pacct->ac_exitcode; | 498 | ac.ac_exitcode = pacct->ac_exitcode; |
499 | spin_unlock(¤t->sighand->siglock); | 499 | spin_unlock_irq(¤t->sighand->siglock); |
500 | ac.ac_io = encode_comp_t(0 /* current->io_usage */); /* %% */ | 500 | ac.ac_io = encode_comp_t(0 /* current->io_usage */); /* %% */ |
501 | ac.ac_rw = encode_comp_t(ac.ac_io / 1024); | 501 | ac.ac_rw = encode_comp_t(ac.ac_io / 1024); |
502 | ac.ac_swaps = encode_comp_t(0); | 502 | ac.ac_swaps = encode_comp_t(0); |
diff --git a/kernel/delayacct.c b/kernel/delayacct.c new file mode 100644 index 000000000000..f05392d64267 --- /dev/null +++ b/kernel/delayacct.c | |||
@@ -0,0 +1,178 @@ | |||
1 | /* delayacct.c - per-task delay accounting | ||
2 | * | ||
3 | * Copyright (C) Shailabh Nagar, IBM Corp. 2006 | ||
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 as published by | ||
7 | * the Free Software Foundation; either version 2 of the License, or | ||
8 | * (at your option) any later version. | ||
9 | * | ||
10 | * This program is distributed in the hope that it would be useful, but | ||
11 | * WITHOUT ANY WARRANTY; without even the implied warranty of | ||
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See | ||
13 | * the GNU General Public License for more details. | ||
14 | */ | ||
15 | |||
16 | #include <linux/sched.h> | ||
17 | #include <linux/slab.h> | ||
18 | #include <linux/time.h> | ||
19 | #include <linux/sysctl.h> | ||
20 | #include <linux/delayacct.h> | ||
21 | |||
22 | int delayacct_on __read_mostly; /* Delay accounting turned on/off */ | ||
23 | kmem_cache_t *delayacct_cache; | ||
24 | |||
25 | static int __init delayacct_setup_enable(char *str) | ||
26 | { | ||
27 | delayacct_on = 1; | ||
28 | return 1; | ||
29 | } | ||
30 | __setup("delayacct", delayacct_setup_enable); | ||
31 | |||
32 | void delayacct_init(void) | ||
33 | { | ||
34 | delayacct_cache = kmem_cache_create("delayacct_cache", | ||
35 | sizeof(struct task_delay_info), | ||
36 | 0, | ||
37 | SLAB_PANIC, | ||
38 | NULL, NULL); | ||
39 | delayacct_tsk_init(&init_task); | ||
40 | } | ||
41 | |||
42 | void __delayacct_tsk_init(struct task_struct *tsk) | ||
43 | { | ||
44 | spin_lock_init(&tsk->delays_lock); | ||
45 | /* No need to acquire tsk->delays_lock for allocation here unless | ||
46 | __delayacct_tsk_init called after tsk is attached to tasklist | ||
47 | */ | ||
48 | tsk->delays = kmem_cache_zalloc(delayacct_cache, SLAB_KERNEL); | ||
49 | if (tsk->delays) | ||
50 | spin_lock_init(&tsk->delays->lock); | ||
51 | } | ||
52 | |||
53 | void __delayacct_tsk_exit(struct task_struct *tsk) | ||
54 | { | ||
55 | struct task_delay_info *delays = tsk->delays; | ||
56 | spin_lock(&tsk->delays_lock); | ||
57 | tsk->delays = NULL; | ||
58 | spin_unlock(&tsk->delays_lock); | ||
59 | kmem_cache_free(delayacct_cache, delays); | ||
60 | } | ||
61 | |||
62 | /* | ||
63 | * Start accounting for a delay statistic using | ||
64 | * its starting timestamp (@start) | ||
65 | */ | ||
66 | |||
67 | static inline void delayacct_start(struct timespec *start) | ||
68 | { | ||
69 | do_posix_clock_monotonic_gettime(start); | ||
70 | } | ||
71 | |||
72 | /* | ||
73 | * Finish delay accounting for a statistic using | ||
74 | * its timestamps (@start, @end), accumalator (@total) and @count | ||
75 | */ | ||
76 | |||
77 | static void delayacct_end(struct timespec *start, struct timespec *end, | ||
78 | u64 *total, u32 *count) | ||
79 | { | ||
80 | struct timespec ts; | ||
81 | s64 ns; | ||
82 | |||
83 | do_posix_clock_monotonic_gettime(end); | ||
84 | ts = timespec_sub(*end, *start); | ||
85 | ns = timespec_to_ns(&ts); | ||
86 | if (ns < 0) | ||
87 | return; | ||
88 | |||
89 | spin_lock(¤t->delays->lock); | ||
90 | *total += ns; | ||
91 | (*count)++; | ||
92 | spin_unlock(¤t->delays->lock); | ||
93 | } | ||
94 | |||
95 | void __delayacct_blkio_start(void) | ||
96 | { | ||
97 | delayacct_start(¤t->delays->blkio_start); | ||
98 | } | ||
99 | |||
100 | void __delayacct_blkio_end(void) | ||
101 | { | ||
102 | if (current->delays->flags & DELAYACCT_PF_SWAPIN) | ||
103 | /* Swapin block I/O */ | ||
104 | delayacct_end(¤t->delays->blkio_start, | ||
105 | ¤t->delays->blkio_end, | ||
106 | ¤t->delays->swapin_delay, | ||
107 | ¤t->delays->swapin_count); | ||
108 | else /* Other block I/O */ | ||
109 | delayacct_end(¤t->delays->blkio_start, | ||
110 | ¤t->delays->blkio_end, | ||
111 | ¤t->delays->blkio_delay, | ||
112 | ¤t->delays->blkio_count); | ||
113 | } | ||
114 | |||
115 | int __delayacct_add_tsk(struct taskstats *d, struct task_struct *tsk) | ||
116 | { | ||
117 | s64 tmp; | ||
118 | struct timespec ts; | ||
119 | unsigned long t1,t2,t3; | ||
120 | |||
121 | spin_lock(&tsk->delays_lock); | ||
122 | |||
123 | /* Though tsk->delays accessed later, early exit avoids | ||
124 | * unnecessary returning of other data | ||
125 | */ | ||
126 | if (!tsk->delays) | ||
127 | goto done; | ||
128 | |||
129 | tmp = (s64)d->cpu_run_real_total; | ||
130 | cputime_to_timespec(tsk->utime + tsk->stime, &ts); | ||
131 | tmp += timespec_to_ns(&ts); | ||
132 | d->cpu_run_real_total = (tmp < (s64)d->cpu_run_real_total) ? 0 : tmp; | ||
133 | |||
134 | /* | ||
135 | * No locking available for sched_info (and too expensive to add one) | ||
136 | * Mitigate by taking snapshot of values | ||
137 | */ | ||
138 | t1 = tsk->sched_info.pcnt; | ||
139 | t2 = tsk->sched_info.run_delay; | ||
140 | t3 = tsk->sched_info.cpu_time; | ||
141 | |||
142 | d->cpu_count += t1; | ||
143 | |||
144 | jiffies_to_timespec(t2, &ts); | ||
145 | tmp = (s64)d->cpu_delay_total + timespec_to_ns(&ts); | ||
146 | d->cpu_delay_total = (tmp < (s64)d->cpu_delay_total) ? 0 : tmp; | ||
147 | |||
148 | tmp = (s64)d->cpu_run_virtual_total + (s64)jiffies_to_usecs(t3) * 1000; | ||
149 | d->cpu_run_virtual_total = | ||
150 | (tmp < (s64)d->cpu_run_virtual_total) ? 0 : tmp; | ||
151 | |||
152 | /* zero XXX_total, non-zero XXX_count implies XXX stat overflowed */ | ||
153 | |||
154 | spin_lock(&tsk->delays->lock); | ||
155 | tmp = d->blkio_delay_total + tsk->delays->blkio_delay; | ||
156 | d->blkio_delay_total = (tmp < d->blkio_delay_total) ? 0 : tmp; | ||
157 | tmp = d->swapin_delay_total + tsk->delays->swapin_delay; | ||
158 | d->swapin_delay_total = (tmp < d->swapin_delay_total) ? 0 : tmp; | ||
159 | d->blkio_count += tsk->delays->blkio_count; | ||
160 | d->swapin_count += tsk->delays->swapin_count; | ||
161 | spin_unlock(&tsk->delays->lock); | ||
162 | |||
163 | done: | ||
164 | spin_unlock(&tsk->delays_lock); | ||
165 | return 0; | ||
166 | } | ||
167 | |||
168 | __u64 __delayacct_blkio_ticks(struct task_struct *tsk) | ||
169 | { | ||
170 | __u64 ret; | ||
171 | |||
172 | spin_lock(&tsk->delays->lock); | ||
173 | ret = nsec_to_clock_t(tsk->delays->blkio_delay + | ||
174 | tsk->delays->swapin_delay); | ||
175 | spin_unlock(&tsk->delays->lock); | ||
176 | return ret; | ||
177 | } | ||
178 | |||
diff --git a/kernel/exit.c b/kernel/exit.c index 6664c084783d..dba194a8d416 100644 --- a/kernel/exit.c +++ b/kernel/exit.c | |||
@@ -25,6 +25,8 @@ | |||
25 | #include <linux/mount.h> | 25 | #include <linux/mount.h> |
26 | #include <linux/proc_fs.h> | 26 | #include <linux/proc_fs.h> |
27 | #include <linux/mempolicy.h> | 27 | #include <linux/mempolicy.h> |
28 | #include <linux/taskstats_kern.h> | ||
29 | #include <linux/delayacct.h> | ||
28 | #include <linux/cpuset.h> | 30 | #include <linux/cpuset.h> |
29 | #include <linux/syscalls.h> | 31 | #include <linux/syscalls.h> |
30 | #include <linux/signal.h> | 32 | #include <linux/signal.h> |
@@ -843,7 +845,9 @@ static void exit_notify(struct task_struct *tsk) | |||
843 | fastcall NORET_TYPE void do_exit(long code) | 845 | fastcall NORET_TYPE void do_exit(long code) |
844 | { | 846 | { |
845 | struct task_struct *tsk = current; | 847 | struct task_struct *tsk = current; |
848 | struct taskstats *tidstats; | ||
846 | int group_dead; | 849 | int group_dead; |
850 | unsigned int mycpu; | ||
847 | 851 | ||
848 | profile_task_exit(tsk); | 852 | profile_task_exit(tsk); |
849 | 853 | ||
@@ -881,6 +885,8 @@ fastcall NORET_TYPE void do_exit(long code) | |||
881 | current->comm, current->pid, | 885 | current->comm, current->pid, |
882 | preempt_count()); | 886 | preempt_count()); |
883 | 887 | ||
888 | taskstats_exit_alloc(&tidstats, &mycpu); | ||
889 | |||
884 | acct_update_integrals(tsk); | 890 | acct_update_integrals(tsk); |
885 | if (tsk->mm) { | 891 | if (tsk->mm) { |
886 | update_hiwater_rss(tsk->mm); | 892 | update_hiwater_rss(tsk->mm); |
@@ -900,6 +906,10 @@ fastcall NORET_TYPE void do_exit(long code) | |||
900 | #endif | 906 | #endif |
901 | if (unlikely(tsk->audit_context)) | 907 | if (unlikely(tsk->audit_context)) |
902 | audit_free(tsk); | 908 | audit_free(tsk); |
909 | taskstats_exit_send(tsk, tidstats, group_dead, mycpu); | ||
910 | taskstats_exit_free(tidstats); | ||
911 | delayacct_tsk_exit(tsk); | ||
912 | |||
903 | exit_mm(tsk); | 913 | exit_mm(tsk); |
904 | 914 | ||
905 | if (group_dead) | 915 | if (group_dead) |
diff --git a/kernel/fork.c b/kernel/fork.c index 926e5a68ea9e..1b0f7b1e0881 100644 --- a/kernel/fork.c +++ b/kernel/fork.c | |||
@@ -43,6 +43,8 @@ | |||
43 | #include <linux/rmap.h> | 43 | #include <linux/rmap.h> |
44 | #include <linux/acct.h> | 44 | #include <linux/acct.h> |
45 | #include <linux/cn_proc.h> | 45 | #include <linux/cn_proc.h> |
46 | #include <linux/delayacct.h> | ||
47 | #include <linux/taskstats_kern.h> | ||
46 | 48 | ||
47 | #include <asm/pgtable.h> | 49 | #include <asm/pgtable.h> |
48 | #include <asm/pgalloc.h> | 50 | #include <asm/pgalloc.h> |
@@ -818,6 +820,7 @@ static inline int copy_signal(unsigned long clone_flags, struct task_struct * ts | |||
818 | if (clone_flags & CLONE_THREAD) { | 820 | if (clone_flags & CLONE_THREAD) { |
819 | atomic_inc(¤t->signal->count); | 821 | atomic_inc(¤t->signal->count); |
820 | atomic_inc(¤t->signal->live); | 822 | atomic_inc(¤t->signal->live); |
823 | taskstats_tgid_alloc(current->signal); | ||
821 | return 0; | 824 | return 0; |
822 | } | 825 | } |
823 | sig = kmem_cache_alloc(signal_cachep, GFP_KERNEL); | 826 | sig = kmem_cache_alloc(signal_cachep, GFP_KERNEL); |
@@ -862,6 +865,7 @@ static inline int copy_signal(unsigned long clone_flags, struct task_struct * ts | |||
862 | INIT_LIST_HEAD(&sig->cpu_timers[0]); | 865 | INIT_LIST_HEAD(&sig->cpu_timers[0]); |
863 | INIT_LIST_HEAD(&sig->cpu_timers[1]); | 866 | INIT_LIST_HEAD(&sig->cpu_timers[1]); |
864 | INIT_LIST_HEAD(&sig->cpu_timers[2]); | 867 | INIT_LIST_HEAD(&sig->cpu_timers[2]); |
868 | taskstats_tgid_init(sig); | ||
865 | 869 | ||
866 | task_lock(current->group_leader); | 870 | task_lock(current->group_leader); |
867 | memcpy(sig->rlim, current->signal->rlim, sizeof sig->rlim); | 871 | memcpy(sig->rlim, current->signal->rlim, sizeof sig->rlim); |
@@ -883,6 +887,7 @@ static inline int copy_signal(unsigned long clone_flags, struct task_struct * ts | |||
883 | void __cleanup_signal(struct signal_struct *sig) | 887 | void __cleanup_signal(struct signal_struct *sig) |
884 | { | 888 | { |
885 | exit_thread_group_keys(sig); | 889 | exit_thread_group_keys(sig); |
890 | taskstats_tgid_free(sig); | ||
886 | kmem_cache_free(signal_cachep, sig); | 891 | kmem_cache_free(signal_cachep, sig); |
887 | } | 892 | } |
888 | 893 | ||
@@ -1000,6 +1005,7 @@ static struct task_struct *copy_process(unsigned long clone_flags, | |||
1000 | goto bad_fork_cleanup_put_domain; | 1005 | goto bad_fork_cleanup_put_domain; |
1001 | 1006 | ||
1002 | p->did_exec = 0; | 1007 | p->did_exec = 0; |
1008 | delayacct_tsk_init(p); /* Must remain after dup_task_struct() */ | ||
1003 | copy_flags(clone_flags, p); | 1009 | copy_flags(clone_flags, p); |
1004 | p->pid = pid; | 1010 | p->pid = pid; |
1005 | retval = -EFAULT; | 1011 | retval = -EFAULT; |
diff --git a/kernel/kallsyms.c b/kernel/kallsyms.c index 39277dd6bf90..ab16a5a4cfe9 100644 --- a/kernel/kallsyms.c +++ b/kernel/kallsyms.c | |||
@@ -275,8 +275,8 @@ static void upcase_if_global(struct kallsym_iter *iter) | |||
275 | static int get_ksymbol_mod(struct kallsym_iter *iter) | 275 | static int get_ksymbol_mod(struct kallsym_iter *iter) |
276 | { | 276 | { |
277 | iter->owner = module_get_kallsym(iter->pos - kallsyms_num_syms, | 277 | iter->owner = module_get_kallsym(iter->pos - kallsyms_num_syms, |
278 | &iter->value, | 278 | &iter->value, &iter->type, |
279 | &iter->type, iter->name); | 279 | iter->name, sizeof(iter->name)); |
280 | if (iter->owner == NULL) | 280 | if (iter->owner == NULL) |
281 | return 0; | 281 | return 0; |
282 | 282 | ||
diff --git a/kernel/kthread.c b/kernel/kthread.c index 24be714b04c7..4f9c60ef95e8 100644 --- a/kernel/kthread.c +++ b/kernel/kthread.c | |||
@@ -216,23 +216,6 @@ EXPORT_SYMBOL(kthread_bind); | |||
216 | */ | 216 | */ |
217 | int kthread_stop(struct task_struct *k) | 217 | int kthread_stop(struct task_struct *k) |
218 | { | 218 | { |
219 | return kthread_stop_sem(k, NULL); | ||
220 | } | ||
221 | EXPORT_SYMBOL(kthread_stop); | ||
222 | |||
223 | /** | ||
224 | * kthread_stop_sem - stop a thread created by kthread_create(). | ||
225 | * @k: thread created by kthread_create(). | ||
226 | * @s: semaphore that @k waits on while idle. | ||
227 | * | ||
228 | * Does essentially the same thing as kthread_stop() above, but wakes | ||
229 | * @k by calling up(@s). | ||
230 | * | ||
231 | * Returns the result of threadfn(), or %-EINTR if wake_up_process() | ||
232 | * was never called. | ||
233 | */ | ||
234 | int kthread_stop_sem(struct task_struct *k, struct semaphore *s) | ||
235 | { | ||
236 | int ret; | 219 | int ret; |
237 | 220 | ||
238 | mutex_lock(&kthread_stop_lock); | 221 | mutex_lock(&kthread_stop_lock); |
@@ -246,10 +229,7 @@ int kthread_stop_sem(struct task_struct *k, struct semaphore *s) | |||
246 | 229 | ||
247 | /* Now set kthread_should_stop() to true, and wake it up. */ | 230 | /* Now set kthread_should_stop() to true, and wake it up. */ |
248 | kthread_stop_info.k = k; | 231 | kthread_stop_info.k = k; |
249 | if (s) | 232 | wake_up_process(k); |
250 | up(s); | ||
251 | else | ||
252 | wake_up_process(k); | ||
253 | put_task_struct(k); | 233 | put_task_struct(k); |
254 | 234 | ||
255 | /* Once it dies, reset stop ptr, gather result and we're done. */ | 235 | /* Once it dies, reset stop ptr, gather result and we're done. */ |
@@ -260,7 +240,7 @@ int kthread_stop_sem(struct task_struct *k, struct semaphore *s) | |||
260 | 240 | ||
261 | return ret; | 241 | return ret; |
262 | } | 242 | } |
263 | EXPORT_SYMBOL(kthread_stop_sem); | 243 | EXPORT_SYMBOL(kthread_stop); |
264 | 244 | ||
265 | static __init int helper_init(void) | 245 | static __init int helper_init(void) |
266 | { | 246 | { |
diff --git a/kernel/module.c b/kernel/module.c index 35e1b1f859d7..2a19cd47c046 100644 --- a/kernel/module.c +++ b/kernel/module.c | |||
@@ -2019,10 +2019,8 @@ const char *module_address_lookup(unsigned long addr, | |||
2019 | return NULL; | 2019 | return NULL; |
2020 | } | 2020 | } |
2021 | 2021 | ||
2022 | struct module *module_get_kallsym(unsigned int symnum, | 2022 | struct module *module_get_kallsym(unsigned int symnum, unsigned long *value, |
2023 | unsigned long *value, | 2023 | char *type, char *name, size_t namelen) |
2024 | char *type, | ||
2025 | char namebuf[128]) | ||
2026 | { | 2024 | { |
2027 | struct module *mod; | 2025 | struct module *mod; |
2028 | 2026 | ||
@@ -2031,9 +2029,8 @@ struct module *module_get_kallsym(unsigned int symnum, | |||
2031 | if (symnum < mod->num_symtab) { | 2029 | if (symnum < mod->num_symtab) { |
2032 | *value = mod->symtab[symnum].st_value; | 2030 | *value = mod->symtab[symnum].st_value; |
2033 | *type = mod->symtab[symnum].st_info; | 2031 | *type = mod->symtab[symnum].st_info; |
2034 | strncpy(namebuf, | 2032 | strlcpy(name, mod->strtab + mod->symtab[symnum].st_name, |
2035 | mod->strtab + mod->symtab[symnum].st_name, | 2033 | namelen); |
2036 | 127); | ||
2037 | mutex_unlock(&module_mutex); | 2034 | mutex_unlock(&module_mutex); |
2038 | return mod; | 2035 | return mod; |
2039 | } | 2036 | } |
diff --git a/kernel/power/pm.c b/kernel/power/pm.c index 84063ac8fcfc..c50d15266c10 100644 --- a/kernel/power/pm.c +++ b/kernel/power/pm.c | |||
@@ -75,42 +75,6 @@ struct pm_dev *pm_register(pm_dev_t type, | |||
75 | return dev; | 75 | return dev; |
76 | } | 76 | } |
77 | 77 | ||
78 | static void __pm_unregister(struct pm_dev *dev) | ||
79 | { | ||
80 | if (dev) { | ||
81 | list_del(&dev->entry); | ||
82 | kfree(dev); | ||
83 | } | ||
84 | } | ||
85 | |||
86 | /** | ||
87 | * pm_unregister_all - unregister all devices with matching callback | ||
88 | * @callback: callback function pointer | ||
89 | * | ||
90 | * Unregister every device that would call the callback passed. This | ||
91 | * is primarily meant as a helper function for loadable modules. It | ||
92 | * enables a module to give up all its managed devices without keeping | ||
93 | * its own private list. | ||
94 | */ | ||
95 | |||
96 | void pm_unregister_all(pm_callback callback) | ||
97 | { | ||
98 | struct list_head *entry; | ||
99 | |||
100 | if (!callback) | ||
101 | return; | ||
102 | |||
103 | mutex_lock(&pm_devs_lock); | ||
104 | entry = pm_devs.next; | ||
105 | while (entry != &pm_devs) { | ||
106 | struct pm_dev *dev = list_entry(entry, struct pm_dev, entry); | ||
107 | entry = entry->next; | ||
108 | if (dev->callback == callback) | ||
109 | __pm_unregister(dev); | ||
110 | } | ||
111 | mutex_unlock(&pm_devs_lock); | ||
112 | } | ||
113 | |||
114 | /** | 78 | /** |
115 | * pm_send - send request to a single device | 79 | * pm_send - send request to a single device |
116 | * @dev: device to send to | 80 | * @dev: device to send to |
@@ -239,7 +203,6 @@ int pm_send_all(pm_request_t rqst, void *data) | |||
239 | } | 203 | } |
240 | 204 | ||
241 | EXPORT_SYMBOL(pm_register); | 205 | EXPORT_SYMBOL(pm_register); |
242 | EXPORT_SYMBOL(pm_unregister_all); | ||
243 | EXPORT_SYMBOL(pm_send_all); | 206 | EXPORT_SYMBOL(pm_send_all); |
244 | EXPORT_SYMBOL(pm_active); | 207 | EXPORT_SYMBOL(pm_active); |
245 | 208 | ||
diff --git a/kernel/resource.c b/kernel/resource.c index 129cf046e561..0dd3a857579e 100644 --- a/kernel/resource.c +++ b/kernel/resource.c | |||
@@ -404,8 +404,6 @@ int insert_resource(struct resource *parent, struct resource *new) | |||
404 | return result; | 404 | return result; |
405 | } | 405 | } |
406 | 406 | ||
407 | EXPORT_SYMBOL(insert_resource); | ||
408 | |||
409 | /* | 407 | /* |
410 | * Given an existing resource, change its start and size to match the | 408 | * Given an existing resource, change its start and size to match the |
411 | * arguments. Returns -EBUSY if it can't fit. Existing children of | 409 | * arguments. Returns -EBUSY if it can't fit. Existing children of |
diff --git a/kernel/rtmutex-tester.c b/kernel/rtmutex-tester.c index 494dac872a13..948bd8f643e2 100644 --- a/kernel/rtmutex-tester.c +++ b/kernel/rtmutex-tester.c | |||
@@ -275,6 +275,7 @@ static int test_func(void *data) | |||
275 | 275 | ||
276 | /* Wait for the next command to be executed */ | 276 | /* Wait for the next command to be executed */ |
277 | schedule(); | 277 | schedule(); |
278 | try_to_freeze(); | ||
278 | 279 | ||
279 | if (signal_pending(current)) | 280 | if (signal_pending(current)) |
280 | flush_signals(current); | 281 | flush_signals(current); |
diff --git a/kernel/sched.c b/kernel/sched.c index d714611f1691..b44b9a43b0fc 100644 --- a/kernel/sched.c +++ b/kernel/sched.c | |||
@@ -51,6 +51,7 @@ | |||
51 | #include <linux/times.h> | 51 | #include <linux/times.h> |
52 | #include <linux/acct.h> | 52 | #include <linux/acct.h> |
53 | #include <linux/kprobes.h> | 53 | #include <linux/kprobes.h> |
54 | #include <linux/delayacct.h> | ||
54 | #include <asm/tlb.h> | 55 | #include <asm/tlb.h> |
55 | 56 | ||
56 | #include <asm/unistd.h> | 57 | #include <asm/unistd.h> |
@@ -501,9 +502,36 @@ struct file_operations proc_schedstat_operations = { | |||
501 | .release = single_release, | 502 | .release = single_release, |
502 | }; | 503 | }; |
503 | 504 | ||
505 | /* | ||
506 | * Expects runqueue lock to be held for atomicity of update | ||
507 | */ | ||
508 | static inline void | ||
509 | rq_sched_info_arrive(struct rq *rq, unsigned long delta_jiffies) | ||
510 | { | ||
511 | if (rq) { | ||
512 | rq->rq_sched_info.run_delay += delta_jiffies; | ||
513 | rq->rq_sched_info.pcnt++; | ||
514 | } | ||
515 | } | ||
516 | |||
517 | /* | ||
518 | * Expects runqueue lock to be held for atomicity of update | ||
519 | */ | ||
520 | static inline void | ||
521 | rq_sched_info_depart(struct rq *rq, unsigned long delta_jiffies) | ||
522 | { | ||
523 | if (rq) | ||
524 | rq->rq_sched_info.cpu_time += delta_jiffies; | ||
525 | } | ||
504 | # define schedstat_inc(rq, field) do { (rq)->field++; } while (0) | 526 | # define schedstat_inc(rq, field) do { (rq)->field++; } while (0) |
505 | # define schedstat_add(rq, field, amt) do { (rq)->field += (amt); } while (0) | 527 | # define schedstat_add(rq, field, amt) do { (rq)->field += (amt); } while (0) |
506 | #else /* !CONFIG_SCHEDSTATS */ | 528 | #else /* !CONFIG_SCHEDSTATS */ |
529 | static inline void | ||
530 | rq_sched_info_arrive(struct rq *rq, unsigned long delta_jiffies) | ||
531 | {} | ||
532 | static inline void | ||
533 | rq_sched_info_depart(struct rq *rq, unsigned long delta_jiffies) | ||
534 | {} | ||
507 | # define schedstat_inc(rq, field) do { } while (0) | 535 | # define schedstat_inc(rq, field) do { } while (0) |
508 | # define schedstat_add(rq, field, amt) do { } while (0) | 536 | # define schedstat_add(rq, field, amt) do { } while (0) |
509 | #endif | 537 | #endif |
@@ -523,7 +551,7 @@ static inline struct rq *this_rq_lock(void) | |||
523 | return rq; | 551 | return rq; |
524 | } | 552 | } |
525 | 553 | ||
526 | #ifdef CONFIG_SCHEDSTATS | 554 | #if defined(CONFIG_SCHEDSTATS) || defined(CONFIG_TASK_DELAY_ACCT) |
527 | /* | 555 | /* |
528 | * Called when a process is dequeued from the active array and given | 556 | * Called when a process is dequeued from the active array and given |
529 | * the cpu. We should note that with the exception of interactive | 557 | * the cpu. We should note that with the exception of interactive |
@@ -551,21 +579,16 @@ static inline void sched_info_dequeued(struct task_struct *t) | |||
551 | */ | 579 | */ |
552 | static void sched_info_arrive(struct task_struct *t) | 580 | static void sched_info_arrive(struct task_struct *t) |
553 | { | 581 | { |
554 | unsigned long now = jiffies, diff = 0; | 582 | unsigned long now = jiffies, delta_jiffies = 0; |
555 | struct rq *rq = task_rq(t); | ||
556 | 583 | ||
557 | if (t->sched_info.last_queued) | 584 | if (t->sched_info.last_queued) |
558 | diff = now - t->sched_info.last_queued; | 585 | delta_jiffies = now - t->sched_info.last_queued; |
559 | sched_info_dequeued(t); | 586 | sched_info_dequeued(t); |
560 | t->sched_info.run_delay += diff; | 587 | t->sched_info.run_delay += delta_jiffies; |
561 | t->sched_info.last_arrival = now; | 588 | t->sched_info.last_arrival = now; |
562 | t->sched_info.pcnt++; | 589 | t->sched_info.pcnt++; |
563 | 590 | ||
564 | if (!rq) | 591 | rq_sched_info_arrive(task_rq(t), delta_jiffies); |
565 | return; | ||
566 | |||
567 | rq->rq_sched_info.run_delay += diff; | ||
568 | rq->rq_sched_info.pcnt++; | ||
569 | } | 592 | } |
570 | 593 | ||
571 | /* | 594 | /* |
@@ -585,8 +608,9 @@ static void sched_info_arrive(struct task_struct *t) | |||
585 | */ | 608 | */ |
586 | static inline void sched_info_queued(struct task_struct *t) | 609 | static inline void sched_info_queued(struct task_struct *t) |
587 | { | 610 | { |
588 | if (!t->sched_info.last_queued) | 611 | if (unlikely(sched_info_on())) |
589 | t->sched_info.last_queued = jiffies; | 612 | if (!t->sched_info.last_queued) |
613 | t->sched_info.last_queued = jiffies; | ||
590 | } | 614 | } |
591 | 615 | ||
592 | /* | 616 | /* |
@@ -595,13 +619,10 @@ static inline void sched_info_queued(struct task_struct *t) | |||
595 | */ | 619 | */ |
596 | static inline void sched_info_depart(struct task_struct *t) | 620 | static inline void sched_info_depart(struct task_struct *t) |
597 | { | 621 | { |
598 | struct rq *rq = task_rq(t); | 622 | unsigned long delta_jiffies = jiffies - t->sched_info.last_arrival; |
599 | unsigned long diff = jiffies - t->sched_info.last_arrival; | ||
600 | |||
601 | t->sched_info.cpu_time += diff; | ||
602 | 623 | ||
603 | if (rq) | 624 | t->sched_info.cpu_time += delta_jiffies; |
604 | rq->rq_sched_info.cpu_time += diff; | 625 | rq_sched_info_depart(task_rq(t), delta_jiffies); |
605 | } | 626 | } |
606 | 627 | ||
607 | /* | 628 | /* |
@@ -610,7 +631,7 @@ static inline void sched_info_depart(struct task_struct *t) | |||
610 | * the idle task.) We are only called when prev != next. | 631 | * the idle task.) We are only called when prev != next. |
611 | */ | 632 | */ |
612 | static inline void | 633 | static inline void |
613 | sched_info_switch(struct task_struct *prev, struct task_struct *next) | 634 | __sched_info_switch(struct task_struct *prev, struct task_struct *next) |
614 | { | 635 | { |
615 | struct rq *rq = task_rq(prev); | 636 | struct rq *rq = task_rq(prev); |
616 | 637 | ||
@@ -625,10 +646,16 @@ sched_info_switch(struct task_struct *prev, struct task_struct *next) | |||
625 | if (next != rq->idle) | 646 | if (next != rq->idle) |
626 | sched_info_arrive(next); | 647 | sched_info_arrive(next); |
627 | } | 648 | } |
649 | static inline void | ||
650 | sched_info_switch(struct task_struct *prev, struct task_struct *next) | ||
651 | { | ||
652 | if (unlikely(sched_info_on())) | ||
653 | __sched_info_switch(prev, next); | ||
654 | } | ||
628 | #else | 655 | #else |
629 | #define sched_info_queued(t) do { } while (0) | 656 | #define sched_info_queued(t) do { } while (0) |
630 | #define sched_info_switch(t, next) do { } while (0) | 657 | #define sched_info_switch(t, next) do { } while (0) |
631 | #endif /* CONFIG_SCHEDSTATS */ | 658 | #endif /* CONFIG_SCHEDSTATS || CONFIG_TASK_DELAY_ACCT */ |
632 | 659 | ||
633 | /* | 660 | /* |
634 | * Adding/removing a task to/from a priority array: | 661 | * Adding/removing a task to/from a priority array: |
@@ -1530,8 +1557,9 @@ void fastcall sched_fork(struct task_struct *p, int clone_flags) | |||
1530 | 1557 | ||
1531 | INIT_LIST_HEAD(&p->run_list); | 1558 | INIT_LIST_HEAD(&p->run_list); |
1532 | p->array = NULL; | 1559 | p->array = NULL; |
1533 | #ifdef CONFIG_SCHEDSTATS | 1560 | #if defined(CONFIG_SCHEDSTATS) || defined(CONFIG_TASK_DELAY_ACCT) |
1534 | memset(&p->sched_info, 0, sizeof(p->sched_info)); | 1561 | if (unlikely(sched_info_on())) |
1562 | memset(&p->sched_info, 0, sizeof(p->sched_info)); | ||
1535 | #endif | 1563 | #endif |
1536 | #if defined(CONFIG_SMP) && defined(__ARCH_WANT_UNLOCKED_CTXSW) | 1564 | #if defined(CONFIG_SMP) && defined(__ARCH_WANT_UNLOCKED_CTXSW) |
1537 | p->oncpu = 0; | 1565 | p->oncpu = 0; |
@@ -1788,7 +1816,15 @@ context_switch(struct rq *rq, struct task_struct *prev, | |||
1788 | WARN_ON(rq->prev_mm); | 1816 | WARN_ON(rq->prev_mm); |
1789 | rq->prev_mm = oldmm; | 1817 | rq->prev_mm = oldmm; |
1790 | } | 1818 | } |
1819 | /* | ||
1820 | * Since the runqueue lock will be released by the next | ||
1821 | * task (which is an invalid locking op but in the case | ||
1822 | * of the scheduler it's an obvious special-case), so we | ||
1823 | * do an early lockdep release here: | ||
1824 | */ | ||
1825 | #ifndef __ARCH_WANT_UNLOCKED_CTXSW | ||
1791 | spin_release(&rq->lock.dep_map, 1, _THIS_IP_); | 1826 | spin_release(&rq->lock.dep_map, 1, _THIS_IP_); |
1827 | #endif | ||
1792 | 1828 | ||
1793 | /* Here we just switch the register state and the stack. */ | 1829 | /* Here we just switch the register state and the stack. */ |
1794 | switch_to(prev, next, prev); | 1830 | switch_to(prev, next, prev); |
@@ -4526,9 +4562,11 @@ void __sched io_schedule(void) | |||
4526 | { | 4562 | { |
4527 | struct rq *rq = &__raw_get_cpu_var(runqueues); | 4563 | struct rq *rq = &__raw_get_cpu_var(runqueues); |
4528 | 4564 | ||
4565 | delayacct_blkio_start(); | ||
4529 | atomic_inc(&rq->nr_iowait); | 4566 | atomic_inc(&rq->nr_iowait); |
4530 | schedule(); | 4567 | schedule(); |
4531 | atomic_dec(&rq->nr_iowait); | 4568 | atomic_dec(&rq->nr_iowait); |
4569 | delayacct_blkio_end(); | ||
4532 | } | 4570 | } |
4533 | EXPORT_SYMBOL(io_schedule); | 4571 | EXPORT_SYMBOL(io_schedule); |
4534 | 4572 | ||
@@ -4537,9 +4575,11 @@ long __sched io_schedule_timeout(long timeout) | |||
4537 | struct rq *rq = &__raw_get_cpu_var(runqueues); | 4575 | struct rq *rq = &__raw_get_cpu_var(runqueues); |
4538 | long ret; | 4576 | long ret; |
4539 | 4577 | ||
4578 | delayacct_blkio_start(); | ||
4540 | atomic_inc(&rq->nr_iowait); | 4579 | atomic_inc(&rq->nr_iowait); |
4541 | ret = schedule_timeout(timeout); | 4580 | ret = schedule_timeout(timeout); |
4542 | atomic_dec(&rq->nr_iowait); | 4581 | atomic_dec(&rq->nr_iowait); |
4582 | delayacct_blkio_end(); | ||
4543 | return ret; | 4583 | return ret; |
4544 | } | 4584 | } |
4545 | 4585 | ||
diff --git a/kernel/softirq.c b/kernel/softirq.c index fd12f2556f0d..0f08a84ae307 100644 --- a/kernel/softirq.c +++ b/kernel/softirq.c | |||
@@ -311,8 +311,6 @@ void open_softirq(int nr, void (*action)(struct softirq_action*), void *data) | |||
311 | softirq_vec[nr].action = action; | 311 | softirq_vec[nr].action = action; |
312 | } | 312 | } |
313 | 313 | ||
314 | EXPORT_UNUSED_SYMBOL(open_softirq); /* June 2006 */ | ||
315 | |||
316 | /* Tasklets */ | 314 | /* Tasklets */ |
317 | struct tasklet_head | 315 | struct tasklet_head |
318 | { | 316 | { |
diff --git a/kernel/sys.c b/kernel/sys.c index dbb3b9c7ea64..e236f98f7ec5 100644 --- a/kernel/sys.c +++ b/kernel/sys.c | |||
@@ -1983,7 +1983,7 @@ asmlinkage long sys_prctl(int option, unsigned long arg2, unsigned long arg3, | |||
1983 | error = current->mm->dumpable; | 1983 | error = current->mm->dumpable; |
1984 | break; | 1984 | break; |
1985 | case PR_SET_DUMPABLE: | 1985 | case PR_SET_DUMPABLE: |
1986 | if (arg2 < 0 || arg2 > 2) { | 1986 | if (arg2 < 0 || arg2 > 1) { |
1987 | error = -EINVAL; | 1987 | error = -EINVAL; |
1988 | break; | 1988 | break; |
1989 | } | 1989 | } |
diff --git a/kernel/taskstats.c b/kernel/taskstats.c new file mode 100644 index 000000000000..f45179ce028e --- /dev/null +++ b/kernel/taskstats.c | |||
@@ -0,0 +1,568 @@ | |||
1 | /* | ||
2 | * taskstats.c - Export per-task statistics to userland | ||
3 | * | ||
4 | * Copyright (C) Shailabh Nagar, IBM Corp. 2006 | ||
5 | * (C) Balbir Singh, IBM Corp. 2006 | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify | ||
8 | * it under the terms of the GNU General Public License as published by | ||
9 | * the Free Software Foundation; either version 2 of the License, or | ||
10 | * (at your option) any later version. | ||
11 | * | ||
12 | * This program is distributed in the hope that it will be useful, | ||
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
15 | * GNU General Public License for more details. | ||
16 | * | ||
17 | */ | ||
18 | |||
19 | #include <linux/kernel.h> | ||
20 | #include <linux/taskstats_kern.h> | ||
21 | #include <linux/delayacct.h> | ||
22 | #include <linux/cpumask.h> | ||
23 | #include <linux/percpu.h> | ||
24 | #include <net/genetlink.h> | ||
25 | #include <asm/atomic.h> | ||
26 | |||
27 | /* | ||
28 | * Maximum length of a cpumask that can be specified in | ||
29 | * the TASKSTATS_CMD_ATTR_REGISTER/DEREGISTER_CPUMASK attribute | ||
30 | */ | ||
31 | #define TASKSTATS_CPUMASK_MAXLEN (100+6*NR_CPUS) | ||
32 | |||
33 | static DEFINE_PER_CPU(__u32, taskstats_seqnum) = { 0 }; | ||
34 | static int family_registered; | ||
35 | kmem_cache_t *taskstats_cache; | ||
36 | |||
37 | static struct genl_family family = { | ||
38 | .id = GENL_ID_GENERATE, | ||
39 | .name = TASKSTATS_GENL_NAME, | ||
40 | .version = TASKSTATS_GENL_VERSION, | ||
41 | .maxattr = TASKSTATS_CMD_ATTR_MAX, | ||
42 | }; | ||
43 | |||
44 | static struct nla_policy taskstats_cmd_get_policy[TASKSTATS_CMD_ATTR_MAX+1] | ||
45 | __read_mostly = { | ||
46 | [TASKSTATS_CMD_ATTR_PID] = { .type = NLA_U32 }, | ||
47 | [TASKSTATS_CMD_ATTR_TGID] = { .type = NLA_U32 }, | ||
48 | [TASKSTATS_CMD_ATTR_REGISTER_CPUMASK] = { .type = NLA_STRING }, | ||
49 | [TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK] = { .type = NLA_STRING },}; | ||
50 | |||
51 | struct listener { | ||
52 | struct list_head list; | ||
53 | pid_t pid; | ||
54 | char valid; | ||
55 | }; | ||
56 | |||
57 | struct listener_list { | ||
58 | struct rw_semaphore sem; | ||
59 | struct list_head list; | ||
60 | }; | ||
61 | static DEFINE_PER_CPU(struct listener_list, listener_array); | ||
62 | |||
63 | enum actions { | ||
64 | REGISTER, | ||
65 | DEREGISTER, | ||
66 | CPU_DONT_CARE | ||
67 | }; | ||
68 | |||
69 | static int prepare_reply(struct genl_info *info, u8 cmd, struct sk_buff **skbp, | ||
70 | void **replyp, size_t size) | ||
71 | { | ||
72 | struct sk_buff *skb; | ||
73 | void *reply; | ||
74 | |||
75 | /* | ||
76 | * If new attributes are added, please revisit this allocation | ||
77 | */ | ||
78 | skb = nlmsg_new(size); | ||
79 | if (!skb) | ||
80 | return -ENOMEM; | ||
81 | |||
82 | if (!info) { | ||
83 | int seq = get_cpu_var(taskstats_seqnum)++; | ||
84 | put_cpu_var(taskstats_seqnum); | ||
85 | |||
86 | reply = genlmsg_put(skb, 0, seq, | ||
87 | family.id, 0, 0, | ||
88 | cmd, family.version); | ||
89 | } else | ||
90 | reply = genlmsg_put(skb, info->snd_pid, info->snd_seq, | ||
91 | family.id, 0, 0, | ||
92 | cmd, family.version); | ||
93 | if (reply == NULL) { | ||
94 | nlmsg_free(skb); | ||
95 | return -EINVAL; | ||
96 | } | ||
97 | |||
98 | *skbp = skb; | ||
99 | *replyp = reply; | ||
100 | return 0; | ||
101 | } | ||
102 | |||
103 | /* | ||
104 | * Send taskstats data in @skb to listener with nl_pid @pid | ||
105 | */ | ||
106 | static int send_reply(struct sk_buff *skb, pid_t pid) | ||
107 | { | ||
108 | struct genlmsghdr *genlhdr = nlmsg_data((struct nlmsghdr *)skb->data); | ||
109 | void *reply = genlmsg_data(genlhdr); | ||
110 | int rc; | ||
111 | |||
112 | rc = genlmsg_end(skb, reply); | ||
113 | if (rc < 0) { | ||
114 | nlmsg_free(skb); | ||
115 | return rc; | ||
116 | } | ||
117 | |||
118 | return genlmsg_unicast(skb, pid); | ||
119 | } | ||
120 | |||
121 | /* | ||
122 | * Send taskstats data in @skb to listeners registered for @cpu's exit data | ||
123 | */ | ||
124 | static int send_cpu_listeners(struct sk_buff *skb, unsigned int cpu) | ||
125 | { | ||
126 | struct genlmsghdr *genlhdr = nlmsg_data((struct nlmsghdr *)skb->data); | ||
127 | struct listener_list *listeners; | ||
128 | struct listener *s, *tmp; | ||
129 | struct sk_buff *skb_next, *skb_cur = skb; | ||
130 | void *reply = genlmsg_data(genlhdr); | ||
131 | int rc, ret, delcount = 0; | ||
132 | |||
133 | rc = genlmsg_end(skb, reply); | ||
134 | if (rc < 0) { | ||
135 | nlmsg_free(skb); | ||
136 | return rc; | ||
137 | } | ||
138 | |||
139 | rc = 0; | ||
140 | listeners = &per_cpu(listener_array, cpu); | ||
141 | down_read(&listeners->sem); | ||
142 | list_for_each_entry_safe(s, tmp, &listeners->list, list) { | ||
143 | skb_next = NULL; | ||
144 | if (!list_is_last(&s->list, &listeners->list)) { | ||
145 | skb_next = skb_clone(skb_cur, GFP_KERNEL); | ||
146 | if (!skb_next) { | ||
147 | nlmsg_free(skb_cur); | ||
148 | rc = -ENOMEM; | ||
149 | break; | ||
150 | } | ||
151 | } | ||
152 | ret = genlmsg_unicast(skb_cur, s->pid); | ||
153 | if (ret == -ECONNREFUSED) { | ||
154 | s->valid = 0; | ||
155 | delcount++; | ||
156 | rc = ret; | ||
157 | } | ||
158 | skb_cur = skb_next; | ||
159 | } | ||
160 | up_read(&listeners->sem); | ||
161 | |||
162 | if (!delcount) | ||
163 | return rc; | ||
164 | |||
165 | /* Delete invalidated entries */ | ||
166 | down_write(&listeners->sem); | ||
167 | list_for_each_entry_safe(s, tmp, &listeners->list, list) { | ||
168 | if (!s->valid) { | ||
169 | list_del(&s->list); | ||
170 | kfree(s); | ||
171 | } | ||
172 | } | ||
173 | up_write(&listeners->sem); | ||
174 | return rc; | ||
175 | } | ||
176 | |||
177 | static int fill_pid(pid_t pid, struct task_struct *pidtsk, | ||
178 | struct taskstats *stats) | ||
179 | { | ||
180 | int rc; | ||
181 | struct task_struct *tsk = pidtsk; | ||
182 | |||
183 | if (!pidtsk) { | ||
184 | read_lock(&tasklist_lock); | ||
185 | tsk = find_task_by_pid(pid); | ||
186 | if (!tsk) { | ||
187 | read_unlock(&tasklist_lock); | ||
188 | return -ESRCH; | ||
189 | } | ||
190 | get_task_struct(tsk); | ||
191 | read_unlock(&tasklist_lock); | ||
192 | } else | ||
193 | get_task_struct(tsk); | ||
194 | |||
195 | /* | ||
196 | * Each accounting subsystem adds calls to its functions to | ||
197 | * fill in relevant parts of struct taskstsats as follows | ||
198 | * | ||
199 | * rc = per-task-foo(stats, tsk); | ||
200 | * if (rc) | ||
201 | * goto err; | ||
202 | */ | ||
203 | |||
204 | rc = delayacct_add_tsk(stats, tsk); | ||
205 | stats->version = TASKSTATS_VERSION; | ||
206 | |||
207 | /* Define err: label here if needed */ | ||
208 | put_task_struct(tsk); | ||
209 | return rc; | ||
210 | |||
211 | } | ||
212 | |||
213 | static int fill_tgid(pid_t tgid, struct task_struct *tgidtsk, | ||
214 | struct taskstats *stats) | ||
215 | { | ||
216 | struct task_struct *tsk, *first; | ||
217 | unsigned long flags; | ||
218 | |||
219 | /* | ||
220 | * Add additional stats from live tasks except zombie thread group | ||
221 | * leaders who are already counted with the dead tasks | ||
222 | */ | ||
223 | first = tgidtsk; | ||
224 | if (!first) { | ||
225 | read_lock(&tasklist_lock); | ||
226 | first = find_task_by_pid(tgid); | ||
227 | if (!first) { | ||
228 | read_unlock(&tasklist_lock); | ||
229 | return -ESRCH; | ||
230 | } | ||
231 | get_task_struct(first); | ||
232 | read_unlock(&tasklist_lock); | ||
233 | } else | ||
234 | get_task_struct(first); | ||
235 | |||
236 | /* Start with stats from dead tasks */ | ||
237 | spin_lock_irqsave(&first->signal->stats_lock, flags); | ||
238 | if (first->signal->stats) | ||
239 | memcpy(stats, first->signal->stats, sizeof(*stats)); | ||
240 | spin_unlock_irqrestore(&first->signal->stats_lock, flags); | ||
241 | |||
242 | tsk = first; | ||
243 | read_lock(&tasklist_lock); | ||
244 | do { | ||
245 | if (tsk->exit_state == EXIT_ZOMBIE && thread_group_leader(tsk)) | ||
246 | continue; | ||
247 | /* | ||
248 | * Accounting subsystem can call its functions here to | ||
249 | * fill in relevant parts of struct taskstsats as follows | ||
250 | * | ||
251 | * per-task-foo(stats, tsk); | ||
252 | */ | ||
253 | delayacct_add_tsk(stats, tsk); | ||
254 | |||
255 | } while_each_thread(first, tsk); | ||
256 | read_unlock(&tasklist_lock); | ||
257 | stats->version = TASKSTATS_VERSION; | ||
258 | |||
259 | /* | ||
260 | * Accounting subsytems can also add calls here to modify | ||
261 | * fields of taskstats. | ||
262 | */ | ||
263 | |||
264 | return 0; | ||
265 | } | ||
266 | |||
267 | |||
268 | static void fill_tgid_exit(struct task_struct *tsk) | ||
269 | { | ||
270 | unsigned long flags; | ||
271 | |||
272 | spin_lock_irqsave(&tsk->signal->stats_lock, flags); | ||
273 | if (!tsk->signal->stats) | ||
274 | goto ret; | ||
275 | |||
276 | /* | ||
277 | * Each accounting subsystem calls its functions here to | ||
278 | * accumalate its per-task stats for tsk, into the per-tgid structure | ||
279 | * | ||
280 | * per-task-foo(tsk->signal->stats, tsk); | ||
281 | */ | ||
282 | delayacct_add_tsk(tsk->signal->stats, tsk); | ||
283 | ret: | ||
284 | spin_unlock_irqrestore(&tsk->signal->stats_lock, flags); | ||
285 | return; | ||
286 | } | ||
287 | |||
288 | static int add_del_listener(pid_t pid, cpumask_t *maskp, int isadd) | ||
289 | { | ||
290 | struct listener_list *listeners; | ||
291 | struct listener *s, *tmp; | ||
292 | unsigned int cpu; | ||
293 | cpumask_t mask = *maskp; | ||
294 | |||
295 | if (!cpus_subset(mask, cpu_possible_map)) | ||
296 | return -EINVAL; | ||
297 | |||
298 | if (isadd == REGISTER) { | ||
299 | for_each_cpu_mask(cpu, mask) { | ||
300 | s = kmalloc_node(sizeof(struct listener), GFP_KERNEL, | ||
301 | cpu_to_node(cpu)); | ||
302 | if (!s) | ||
303 | goto cleanup; | ||
304 | s->pid = pid; | ||
305 | INIT_LIST_HEAD(&s->list); | ||
306 | s->valid = 1; | ||
307 | |||
308 | listeners = &per_cpu(listener_array, cpu); | ||
309 | down_write(&listeners->sem); | ||
310 | list_add(&s->list, &listeners->list); | ||
311 | up_write(&listeners->sem); | ||
312 | } | ||
313 | return 0; | ||
314 | } | ||
315 | |||
316 | /* Deregister or cleanup */ | ||
317 | cleanup: | ||
318 | for_each_cpu_mask(cpu, mask) { | ||
319 | listeners = &per_cpu(listener_array, cpu); | ||
320 | down_write(&listeners->sem); | ||
321 | list_for_each_entry_safe(s, tmp, &listeners->list, list) { | ||
322 | if (s->pid == pid) { | ||
323 | list_del(&s->list); | ||
324 | kfree(s); | ||
325 | break; | ||
326 | } | ||
327 | } | ||
328 | up_write(&listeners->sem); | ||
329 | } | ||
330 | return 0; | ||
331 | } | ||
332 | |||
333 | static int parse(struct nlattr *na, cpumask_t *mask) | ||
334 | { | ||
335 | char *data; | ||
336 | int len; | ||
337 | int ret; | ||
338 | |||
339 | if (na == NULL) | ||
340 | return 1; | ||
341 | len = nla_len(na); | ||
342 | if (len > TASKSTATS_CPUMASK_MAXLEN) | ||
343 | return -E2BIG; | ||
344 | if (len < 1) | ||
345 | return -EINVAL; | ||
346 | data = kmalloc(len, GFP_KERNEL); | ||
347 | if (!data) | ||
348 | return -ENOMEM; | ||
349 | nla_strlcpy(data, na, len); | ||
350 | ret = cpulist_parse(data, *mask); | ||
351 | kfree(data); | ||
352 | return ret; | ||
353 | } | ||
354 | |||
355 | static int taskstats_user_cmd(struct sk_buff *skb, struct genl_info *info) | ||
356 | { | ||
357 | int rc = 0; | ||
358 | struct sk_buff *rep_skb; | ||
359 | struct taskstats stats; | ||
360 | void *reply; | ||
361 | size_t size; | ||
362 | struct nlattr *na; | ||
363 | cpumask_t mask; | ||
364 | |||
365 | rc = parse(info->attrs[TASKSTATS_CMD_ATTR_REGISTER_CPUMASK], &mask); | ||
366 | if (rc < 0) | ||
367 | return rc; | ||
368 | if (rc == 0) | ||
369 | return add_del_listener(info->snd_pid, &mask, REGISTER); | ||
370 | |||
371 | rc = parse(info->attrs[TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK], &mask); | ||
372 | if (rc < 0) | ||
373 | return rc; | ||
374 | if (rc == 0) | ||
375 | return add_del_listener(info->snd_pid, &mask, DEREGISTER); | ||
376 | |||
377 | /* | ||
378 | * Size includes space for nested attributes | ||
379 | */ | ||
380 | size = nla_total_size(sizeof(u32)) + | ||
381 | nla_total_size(sizeof(struct taskstats)) + nla_total_size(0); | ||
382 | |||
383 | memset(&stats, 0, sizeof(stats)); | ||
384 | rc = prepare_reply(info, TASKSTATS_CMD_NEW, &rep_skb, &reply, size); | ||
385 | if (rc < 0) | ||
386 | return rc; | ||
387 | |||
388 | if (info->attrs[TASKSTATS_CMD_ATTR_PID]) { | ||
389 | u32 pid = nla_get_u32(info->attrs[TASKSTATS_CMD_ATTR_PID]); | ||
390 | rc = fill_pid(pid, NULL, &stats); | ||
391 | if (rc < 0) | ||
392 | goto err; | ||
393 | |||
394 | na = nla_nest_start(rep_skb, TASKSTATS_TYPE_AGGR_PID); | ||
395 | NLA_PUT_U32(rep_skb, TASKSTATS_TYPE_PID, pid); | ||
396 | NLA_PUT_TYPE(rep_skb, struct taskstats, TASKSTATS_TYPE_STATS, | ||
397 | stats); | ||
398 | } else if (info->attrs[TASKSTATS_CMD_ATTR_TGID]) { | ||
399 | u32 tgid = nla_get_u32(info->attrs[TASKSTATS_CMD_ATTR_TGID]); | ||
400 | rc = fill_tgid(tgid, NULL, &stats); | ||
401 | if (rc < 0) | ||
402 | goto err; | ||
403 | |||
404 | na = nla_nest_start(rep_skb, TASKSTATS_TYPE_AGGR_TGID); | ||
405 | NLA_PUT_U32(rep_skb, TASKSTATS_TYPE_TGID, tgid); | ||
406 | NLA_PUT_TYPE(rep_skb, struct taskstats, TASKSTATS_TYPE_STATS, | ||
407 | stats); | ||
408 | } else { | ||
409 | rc = -EINVAL; | ||
410 | goto err; | ||
411 | } | ||
412 | |||
413 | nla_nest_end(rep_skb, na); | ||
414 | |||
415 | return send_reply(rep_skb, info->snd_pid); | ||
416 | |||
417 | nla_put_failure: | ||
418 | return genlmsg_cancel(rep_skb, reply); | ||
419 | err: | ||
420 | nlmsg_free(rep_skb); | ||
421 | return rc; | ||
422 | } | ||
423 | |||
424 | void taskstats_exit_alloc(struct taskstats **ptidstats, unsigned int *mycpu) | ||
425 | { | ||
426 | struct listener_list *listeners; | ||
427 | struct taskstats *tmp; | ||
428 | /* | ||
429 | * This is the cpu on which the task is exiting currently and will | ||
430 | * be the one for which the exit event is sent, even if the cpu | ||
431 | * on which this function is running changes later. | ||
432 | */ | ||
433 | *mycpu = raw_smp_processor_id(); | ||
434 | |||
435 | *ptidstats = NULL; | ||
436 | tmp = kmem_cache_zalloc(taskstats_cache, SLAB_KERNEL); | ||
437 | if (!tmp) | ||
438 | return; | ||
439 | |||
440 | listeners = &per_cpu(listener_array, *mycpu); | ||
441 | down_read(&listeners->sem); | ||
442 | if (!list_empty(&listeners->list)) { | ||
443 | *ptidstats = tmp; | ||
444 | tmp = NULL; | ||
445 | } | ||
446 | up_read(&listeners->sem); | ||
447 | kfree(tmp); | ||
448 | } | ||
449 | |||
450 | /* Send pid data out on exit */ | ||
451 | void taskstats_exit_send(struct task_struct *tsk, struct taskstats *tidstats, | ||
452 | int group_dead, unsigned int mycpu) | ||
453 | { | ||
454 | int rc; | ||
455 | struct sk_buff *rep_skb; | ||
456 | void *reply; | ||
457 | size_t size; | ||
458 | int is_thread_group; | ||
459 | struct nlattr *na; | ||
460 | unsigned long flags; | ||
461 | |||
462 | if (!family_registered || !tidstats) | ||
463 | return; | ||
464 | |||
465 | spin_lock_irqsave(&tsk->signal->stats_lock, flags); | ||
466 | is_thread_group = tsk->signal->stats ? 1 : 0; | ||
467 | spin_unlock_irqrestore(&tsk->signal->stats_lock, flags); | ||
468 | |||
469 | rc = 0; | ||
470 | /* | ||
471 | * Size includes space for nested attributes | ||
472 | */ | ||
473 | size = nla_total_size(sizeof(u32)) + | ||
474 | nla_total_size(sizeof(struct taskstats)) + nla_total_size(0); | ||
475 | |||
476 | if (is_thread_group) | ||
477 | size = 2 * size; /* PID + STATS + TGID + STATS */ | ||
478 | |||
479 | rc = prepare_reply(NULL, TASKSTATS_CMD_NEW, &rep_skb, &reply, size); | ||
480 | if (rc < 0) | ||
481 | goto ret; | ||
482 | |||
483 | rc = fill_pid(tsk->pid, tsk, tidstats); | ||
484 | if (rc < 0) | ||
485 | goto err_skb; | ||
486 | |||
487 | na = nla_nest_start(rep_skb, TASKSTATS_TYPE_AGGR_PID); | ||
488 | NLA_PUT_U32(rep_skb, TASKSTATS_TYPE_PID, (u32)tsk->pid); | ||
489 | NLA_PUT_TYPE(rep_skb, struct taskstats, TASKSTATS_TYPE_STATS, | ||
490 | *tidstats); | ||
491 | nla_nest_end(rep_skb, na); | ||
492 | |||
493 | if (!is_thread_group) | ||
494 | goto send; | ||
495 | |||
496 | /* | ||
497 | * tsk has/had a thread group so fill the tsk->signal->stats structure | ||
498 | * Doesn't matter if tsk is the leader or the last group member leaving | ||
499 | */ | ||
500 | |||
501 | fill_tgid_exit(tsk); | ||
502 | if (!group_dead) | ||
503 | goto send; | ||
504 | |||
505 | na = nla_nest_start(rep_skb, TASKSTATS_TYPE_AGGR_TGID); | ||
506 | NLA_PUT_U32(rep_skb, TASKSTATS_TYPE_TGID, (u32)tsk->tgid); | ||
507 | /* No locking needed for tsk->signal->stats since group is dead */ | ||
508 | NLA_PUT_TYPE(rep_skb, struct taskstats, TASKSTATS_TYPE_STATS, | ||
509 | *tsk->signal->stats); | ||
510 | nla_nest_end(rep_skb, na); | ||
511 | |||
512 | send: | ||
513 | send_cpu_listeners(rep_skb, mycpu); | ||
514 | return; | ||
515 | |||
516 | nla_put_failure: | ||
517 | genlmsg_cancel(rep_skb, reply); | ||
518 | goto ret; | ||
519 | err_skb: | ||
520 | nlmsg_free(rep_skb); | ||
521 | ret: | ||
522 | return; | ||
523 | } | ||
524 | |||
525 | static struct genl_ops taskstats_ops = { | ||
526 | .cmd = TASKSTATS_CMD_GET, | ||
527 | .doit = taskstats_user_cmd, | ||
528 | .policy = taskstats_cmd_get_policy, | ||
529 | }; | ||
530 | |||
531 | /* Needed early in initialization */ | ||
532 | void __init taskstats_init_early(void) | ||
533 | { | ||
534 | unsigned int i; | ||
535 | |||
536 | taskstats_cache = kmem_cache_create("taskstats_cache", | ||
537 | sizeof(struct taskstats), | ||
538 | 0, SLAB_PANIC, NULL, NULL); | ||
539 | for_each_possible_cpu(i) { | ||
540 | INIT_LIST_HEAD(&(per_cpu(listener_array, i).list)); | ||
541 | init_rwsem(&(per_cpu(listener_array, i).sem)); | ||
542 | } | ||
543 | } | ||
544 | |||
545 | static int __init taskstats_init(void) | ||
546 | { | ||
547 | int rc; | ||
548 | |||
549 | rc = genl_register_family(&family); | ||
550 | if (rc) | ||
551 | return rc; | ||
552 | |||
553 | rc = genl_register_ops(&family, &taskstats_ops); | ||
554 | if (rc < 0) | ||
555 | goto err; | ||
556 | |||
557 | family_registered = 1; | ||
558 | return 0; | ||
559 | err: | ||
560 | genl_unregister_family(&family); | ||
561 | return rc; | ||
562 | } | ||
563 | |||
564 | /* | ||
565 | * late initcall ensures initialization of statistics collection | ||
566 | * mechanisms precedes initialization of the taskstats interface | ||
567 | */ | ||
568 | late_initcall(taskstats_init); | ||
diff --git a/kernel/timer.c b/kernel/timer.c index 2a87430a58d4..05809c2e2fd6 100644 --- a/kernel/timer.c +++ b/kernel/timer.c | |||
@@ -374,6 +374,7 @@ int del_timer_sync(struct timer_list *timer) | |||
374 | int ret = try_to_del_timer_sync(timer); | 374 | int ret = try_to_del_timer_sync(timer); |
375 | if (ret >= 0) | 375 | if (ret >= 0) |
376 | return ret; | 376 | return ret; |
377 | cpu_relax(); | ||
377 | } | 378 | } |
378 | } | 379 | } |
379 | 380 | ||
@@ -968,6 +969,7 @@ void __init timekeeping_init(void) | |||
968 | } | 969 | } |
969 | 970 | ||
970 | 971 | ||
972 | static int timekeeping_suspended; | ||
971 | /* | 973 | /* |
972 | * timekeeping_resume - Resumes the generic timekeeping subsystem. | 974 | * timekeeping_resume - Resumes the generic timekeeping subsystem. |
973 | * @dev: unused | 975 | * @dev: unused |
@@ -983,6 +985,18 @@ static int timekeeping_resume(struct sys_device *dev) | |||
983 | write_seqlock_irqsave(&xtime_lock, flags); | 985 | write_seqlock_irqsave(&xtime_lock, flags); |
984 | /* restart the last cycle value */ | 986 | /* restart the last cycle value */ |
985 | clock->cycle_last = clocksource_read(clock); | 987 | clock->cycle_last = clocksource_read(clock); |
988 | clock->error = 0; | ||
989 | timekeeping_suspended = 0; | ||
990 | write_sequnlock_irqrestore(&xtime_lock, flags); | ||
991 | return 0; | ||
992 | } | ||
993 | |||
994 | static int timekeeping_suspend(struct sys_device *dev, pm_message_t state) | ||
995 | { | ||
996 | unsigned long flags; | ||
997 | |||
998 | write_seqlock_irqsave(&xtime_lock, flags); | ||
999 | timekeeping_suspended = 1; | ||
986 | write_sequnlock_irqrestore(&xtime_lock, flags); | 1000 | write_sequnlock_irqrestore(&xtime_lock, flags); |
987 | return 0; | 1001 | return 0; |
988 | } | 1002 | } |
@@ -990,6 +1004,7 @@ static int timekeeping_resume(struct sys_device *dev) | |||
990 | /* sysfs resume/suspend bits for timekeeping */ | 1004 | /* sysfs resume/suspend bits for timekeeping */ |
991 | static struct sysdev_class timekeeping_sysclass = { | 1005 | static struct sysdev_class timekeeping_sysclass = { |
992 | .resume = timekeeping_resume, | 1006 | .resume = timekeeping_resume, |
1007 | .suspend = timekeeping_suspend, | ||
993 | set_kset_name("timekeeping"), | 1008 | set_kset_name("timekeeping"), |
994 | }; | 1009 | }; |
995 | 1010 | ||
@@ -1100,13 +1115,16 @@ static void update_wall_time(void) | |||
1100 | { | 1115 | { |
1101 | cycle_t offset; | 1116 | cycle_t offset; |
1102 | 1117 | ||
1103 | clock->xtime_nsec += (s64)xtime.tv_nsec << clock->shift; | 1118 | /* Make sure we're fully resumed: */ |
1119 | if (unlikely(timekeeping_suspended)) | ||
1120 | return; | ||
1104 | 1121 | ||
1105 | #ifdef CONFIG_GENERIC_TIME | 1122 | #ifdef CONFIG_GENERIC_TIME |
1106 | offset = (clocksource_read(clock) - clock->cycle_last) & clock->mask; | 1123 | offset = (clocksource_read(clock) - clock->cycle_last) & clock->mask; |
1107 | #else | 1124 | #else |
1108 | offset = clock->cycle_interval; | 1125 | offset = clock->cycle_interval; |
1109 | #endif | 1126 | #endif |
1127 | clock->xtime_nsec += (s64)xtime.tv_nsec << clock->shift; | ||
1110 | 1128 | ||
1111 | /* normally this loop will run just once, however in the | 1129 | /* normally this loop will run just once, however in the |
1112 | * case of lost or late ticks, it will accumulate correctly. | 1130 | * case of lost or late ticks, it will accumulate correctly. |
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug index e5889b1a33ff..554ee688a9f8 100644 --- a/lib/Kconfig.debug +++ b/lib/Kconfig.debug | |||
@@ -158,7 +158,7 @@ config DEBUG_RWSEMS | |||
158 | 158 | ||
159 | config DEBUG_LOCK_ALLOC | 159 | config DEBUG_LOCK_ALLOC |
160 | bool "Lock debugging: detect incorrect freeing of live locks" | 160 | bool "Lock debugging: detect incorrect freeing of live locks" |
161 | depends on TRACE_IRQFLAGS_SUPPORT && STACKTRACE_SUPPORT && LOCKDEP_SUPPORT | 161 | depends on DEBUG_KERNEL && TRACE_IRQFLAGS_SUPPORT && STACKTRACE_SUPPORT && LOCKDEP_SUPPORT |
162 | select DEBUG_SPINLOCK | 162 | select DEBUG_SPINLOCK |
163 | select DEBUG_MUTEXES | 163 | select DEBUG_MUTEXES |
164 | select DEBUG_RWSEMS | 164 | select DEBUG_RWSEMS |
@@ -173,7 +173,7 @@ config DEBUG_LOCK_ALLOC | |||
173 | 173 | ||
174 | config PROVE_LOCKING | 174 | config PROVE_LOCKING |
175 | bool "Lock debugging: prove locking correctness" | 175 | bool "Lock debugging: prove locking correctness" |
176 | depends on TRACE_IRQFLAGS_SUPPORT && STACKTRACE_SUPPORT && LOCKDEP_SUPPORT | 176 | depends on DEBUG_KERNEL && TRACE_IRQFLAGS_SUPPORT && STACKTRACE_SUPPORT && LOCKDEP_SUPPORT |
177 | select LOCKDEP | 177 | select LOCKDEP |
178 | select DEBUG_SPINLOCK | 178 | select DEBUG_SPINLOCK |
179 | select DEBUG_MUTEXES | 179 | select DEBUG_MUTEXES |
@@ -216,7 +216,7 @@ config PROVE_LOCKING | |||
216 | 216 | ||
217 | config LOCKDEP | 217 | config LOCKDEP |
218 | bool | 218 | bool |
219 | depends on TRACE_IRQFLAGS_SUPPORT && STACKTRACE_SUPPORT && LOCKDEP_SUPPORT | 219 | depends on DEBUG_KERNEL && TRACE_IRQFLAGS_SUPPORT && STACKTRACE_SUPPORT && LOCKDEP_SUPPORT |
220 | select STACKTRACE | 220 | select STACKTRACE |
221 | select FRAME_POINTER | 221 | select FRAME_POINTER |
222 | select KALLSYMS | 222 | select KALLSYMS |
@@ -224,13 +224,14 @@ config LOCKDEP | |||
224 | 224 | ||
225 | config DEBUG_LOCKDEP | 225 | config DEBUG_LOCKDEP |
226 | bool "Lock dependency engine debugging" | 226 | bool "Lock dependency engine debugging" |
227 | depends on LOCKDEP | 227 | depends on DEBUG_KERNEL && LOCKDEP |
228 | help | 228 | help |
229 | If you say Y here, the lock dependency engine will do | 229 | If you say Y here, the lock dependency engine will do |
230 | additional runtime checks to debug itself, at the price | 230 | additional runtime checks to debug itself, at the price |
231 | of more runtime overhead. | 231 | of more runtime overhead. |
232 | 232 | ||
233 | config TRACE_IRQFLAGS | 233 | config TRACE_IRQFLAGS |
234 | depends on DEBUG_KERNEL | ||
234 | bool | 235 | bool |
235 | default y | 236 | default y |
236 | depends on TRACE_IRQFLAGS_SUPPORT | 237 | depends on TRACE_IRQFLAGS_SUPPORT |
@@ -256,6 +257,7 @@ config DEBUG_LOCKING_API_SELFTESTS | |||
256 | 257 | ||
257 | config STACKTRACE | 258 | config STACKTRACE |
258 | bool | 259 | bool |
260 | depends on DEBUG_KERNEL | ||
259 | depends on STACKTRACE_SUPPORT | 261 | depends on STACKTRACE_SUPPORT |
260 | 262 | ||
261 | config DEBUG_KOBJECT | 263 | config DEBUG_KOBJECT |
@@ -38,14 +38,15 @@ static kmem_cache_t *idr_layer_cache; | |||
38 | static struct idr_layer *alloc_layer(struct idr *idp) | 38 | static struct idr_layer *alloc_layer(struct idr *idp) |
39 | { | 39 | { |
40 | struct idr_layer *p; | 40 | struct idr_layer *p; |
41 | unsigned long flags; | ||
41 | 42 | ||
42 | spin_lock(&idp->lock); | 43 | spin_lock_irqsave(&idp->lock, flags); |
43 | if ((p = idp->id_free)) { | 44 | if ((p = idp->id_free)) { |
44 | idp->id_free = p->ary[0]; | 45 | idp->id_free = p->ary[0]; |
45 | idp->id_free_cnt--; | 46 | idp->id_free_cnt--; |
46 | p->ary[0] = NULL; | 47 | p->ary[0] = NULL; |
47 | } | 48 | } |
48 | spin_unlock(&idp->lock); | 49 | spin_unlock_irqrestore(&idp->lock, flags); |
49 | return(p); | 50 | return(p); |
50 | } | 51 | } |
51 | 52 | ||
@@ -59,12 +60,14 @@ static void __free_layer(struct idr *idp, struct idr_layer *p) | |||
59 | 60 | ||
60 | static void free_layer(struct idr *idp, struct idr_layer *p) | 61 | static void free_layer(struct idr *idp, struct idr_layer *p) |
61 | { | 62 | { |
63 | unsigned long flags; | ||
64 | |||
62 | /* | 65 | /* |
63 | * Depends on the return element being zeroed. | 66 | * Depends on the return element being zeroed. |
64 | */ | 67 | */ |
65 | spin_lock(&idp->lock); | 68 | spin_lock_irqsave(&idp->lock, flags); |
66 | __free_layer(idp, p); | 69 | __free_layer(idp, p); |
67 | spin_unlock(&idp->lock); | 70 | spin_unlock_irqrestore(&idp->lock, flags); |
68 | } | 71 | } |
69 | 72 | ||
70 | /** | 73 | /** |
@@ -168,6 +171,7 @@ static int idr_get_new_above_int(struct idr *idp, void *ptr, int starting_id) | |||
168 | { | 171 | { |
169 | struct idr_layer *p, *new; | 172 | struct idr_layer *p, *new; |
170 | int layers, v, id; | 173 | int layers, v, id; |
174 | unsigned long flags; | ||
171 | 175 | ||
172 | id = starting_id; | 176 | id = starting_id; |
173 | build_up: | 177 | build_up: |
@@ -191,14 +195,14 @@ build_up: | |||
191 | * The allocation failed. If we built part of | 195 | * The allocation failed. If we built part of |
192 | * the structure tear it down. | 196 | * the structure tear it down. |
193 | */ | 197 | */ |
194 | spin_lock(&idp->lock); | 198 | spin_lock_irqsave(&idp->lock, flags); |
195 | for (new = p; p && p != idp->top; new = p) { | 199 | for (new = p; p && p != idp->top; new = p) { |
196 | p = p->ary[0]; | 200 | p = p->ary[0]; |
197 | new->ary[0] = NULL; | 201 | new->ary[0] = NULL; |
198 | new->bitmap = new->count = 0; | 202 | new->bitmap = new->count = 0; |
199 | __free_layer(idp, new); | 203 | __free_layer(idp, new); |
200 | } | 204 | } |
201 | spin_unlock(&idp->lock); | 205 | spin_unlock_irqrestore(&idp->lock, flags); |
202 | return -1; | 206 | return -1; |
203 | } | 207 | } |
204 | new->ary[0] = p; | 208 | new->ary[0] = p; |
diff --git a/mm/memory.c b/mm/memory.c index dc0d82cf2a1c..109e9866237e 100644 --- a/mm/memory.c +++ b/mm/memory.c | |||
@@ -47,6 +47,7 @@ | |||
47 | #include <linux/pagemap.h> | 47 | #include <linux/pagemap.h> |
48 | #include <linux/rmap.h> | 48 | #include <linux/rmap.h> |
49 | #include <linux/module.h> | 49 | #include <linux/module.h> |
50 | #include <linux/delayacct.h> | ||
50 | #include <linux/init.h> | 51 | #include <linux/init.h> |
51 | 52 | ||
52 | #include <asm/pgalloc.h> | 53 | #include <asm/pgalloc.h> |
@@ -1549,9 +1550,9 @@ gotten: | |||
1549 | flush_cache_page(vma, address, pte_pfn(orig_pte)); | 1550 | flush_cache_page(vma, address, pte_pfn(orig_pte)); |
1550 | entry = mk_pte(new_page, vma->vm_page_prot); | 1551 | entry = mk_pte(new_page, vma->vm_page_prot); |
1551 | entry = maybe_mkwrite(pte_mkdirty(entry), vma); | 1552 | entry = maybe_mkwrite(pte_mkdirty(entry), vma); |
1553 | lazy_mmu_prot_update(entry); | ||
1552 | ptep_establish(vma, address, page_table, entry); | 1554 | ptep_establish(vma, address, page_table, entry); |
1553 | update_mmu_cache(vma, address, entry); | 1555 | update_mmu_cache(vma, address, entry); |
1554 | lazy_mmu_prot_update(entry); | ||
1555 | lru_cache_add_active(new_page); | 1556 | lru_cache_add_active(new_page); |
1556 | page_add_new_anon_rmap(new_page, vma, address); | 1557 | page_add_new_anon_rmap(new_page, vma, address); |
1557 | 1558 | ||
@@ -1934,6 +1935,7 @@ static int do_swap_page(struct mm_struct *mm, struct vm_area_struct *vma, | |||
1934 | migration_entry_wait(mm, pmd, address); | 1935 | migration_entry_wait(mm, pmd, address); |
1935 | goto out; | 1936 | goto out; |
1936 | } | 1937 | } |
1938 | delayacct_set_flag(DELAYACCT_PF_SWAPIN); | ||
1937 | page = lookup_swap_cache(entry); | 1939 | page = lookup_swap_cache(entry); |
1938 | if (!page) { | 1940 | if (!page) { |
1939 | swapin_readahead(entry, address, vma); | 1941 | swapin_readahead(entry, address, vma); |
@@ -1946,6 +1948,7 @@ static int do_swap_page(struct mm_struct *mm, struct vm_area_struct *vma, | |||
1946 | page_table = pte_offset_map_lock(mm, pmd, address, &ptl); | 1948 | page_table = pte_offset_map_lock(mm, pmd, address, &ptl); |
1947 | if (likely(pte_same(*page_table, orig_pte))) | 1949 | if (likely(pte_same(*page_table, orig_pte))) |
1948 | ret = VM_FAULT_OOM; | 1950 | ret = VM_FAULT_OOM; |
1951 | delayacct_clear_flag(DELAYACCT_PF_SWAPIN); | ||
1949 | goto unlock; | 1952 | goto unlock; |
1950 | } | 1953 | } |
1951 | 1954 | ||
@@ -1955,6 +1958,7 @@ static int do_swap_page(struct mm_struct *mm, struct vm_area_struct *vma, | |||
1955 | grab_swap_token(); | 1958 | grab_swap_token(); |
1956 | } | 1959 | } |
1957 | 1960 | ||
1961 | delayacct_clear_flag(DELAYACCT_PF_SWAPIN); | ||
1958 | mark_page_accessed(page); | 1962 | mark_page_accessed(page); |
1959 | lock_page(page); | 1963 | lock_page(page); |
1960 | 1964 | ||
diff --git a/mm/nommu.c b/mm/nommu.c index 5151c44a8257..c576df71e3bb 100644 --- a/mm/nommu.c +++ b/mm/nommu.c | |||
@@ -1070,6 +1070,7 @@ int remap_pfn_range(struct vm_area_struct *vma, unsigned long from, | |||
1070 | vma->vm_start = vma->vm_pgoff << PAGE_SHIFT; | 1070 | vma->vm_start = vma->vm_pgoff << PAGE_SHIFT; |
1071 | return 0; | 1071 | return 0; |
1072 | } | 1072 | } |
1073 | EXPORT_SYMBOL(remap_pfn_range); | ||
1073 | 1074 | ||
1074 | void swap_unplug_io_fn(struct backing_dev_info *bdi, struct page *page) | 1075 | void swap_unplug_io_fn(struct backing_dev_info *bdi, struct page *page) |
1075 | { | 1076 | { |
@@ -1090,6 +1091,7 @@ void unmap_mapping_range(struct address_space *mapping, | |||
1090 | int even_cows) | 1091 | int even_cows) |
1091 | { | 1092 | { |
1092 | } | 1093 | } |
1094 | EXPORT_SYMBOL(unmap_mapping_range); | ||
1093 | 1095 | ||
1094 | /* | 1096 | /* |
1095 | * Check that a process has enough memory to allocate a new virtual | 1097 | * Check that a process has enough memory to allocate a new virtual |
@@ -674,6 +674,37 @@ static struct kmem_cache cache_cache = { | |||
674 | #endif | 674 | #endif |
675 | }; | 675 | }; |
676 | 676 | ||
677 | #ifdef CONFIG_LOCKDEP | ||
678 | |||
679 | /* | ||
680 | * Slab sometimes uses the kmalloc slabs to store the slab headers | ||
681 | * for other slabs "off slab". | ||
682 | * The locking for this is tricky in that it nests within the locks | ||
683 | * of all other slabs in a few places; to deal with this special | ||
684 | * locking we put on-slab caches into a separate lock-class. | ||
685 | */ | ||
686 | static struct lock_class_key on_slab_key; | ||
687 | |||
688 | static inline void init_lock_keys(struct cache_sizes *s) | ||
689 | { | ||
690 | int q; | ||
691 | |||
692 | for (q = 0; q < MAX_NUMNODES; q++) { | ||
693 | if (!s->cs_cachep->nodelists[q] || OFF_SLAB(s->cs_cachep)) | ||
694 | continue; | ||
695 | lockdep_set_class(&s->cs_cachep->nodelists[q]->list_lock, | ||
696 | &on_slab_key); | ||
697 | } | ||
698 | } | ||
699 | |||
700 | #else | ||
701 | static inline void init_lock_keys(struct cache_sizes *s) | ||
702 | { | ||
703 | } | ||
704 | #endif | ||
705 | |||
706 | |||
707 | |||
677 | /* Guard access to the cache-chain. */ | 708 | /* Guard access to the cache-chain. */ |
678 | static DEFINE_MUTEX(cache_chain_mutex); | 709 | static DEFINE_MUTEX(cache_chain_mutex); |
679 | static struct list_head cache_chain; | 710 | static struct list_head cache_chain; |
@@ -1021,8 +1052,7 @@ static void drain_alien_cache(struct kmem_cache *cachep, | |||
1021 | } | 1052 | } |
1022 | } | 1053 | } |
1023 | 1054 | ||
1024 | static inline int cache_free_alien(struct kmem_cache *cachep, void *objp, | 1055 | static inline int cache_free_alien(struct kmem_cache *cachep, void *objp) |
1025 | int nesting) | ||
1026 | { | 1056 | { |
1027 | struct slab *slabp = virt_to_slab(objp); | 1057 | struct slab *slabp = virt_to_slab(objp); |
1028 | int nodeid = slabp->nodeid; | 1058 | int nodeid = slabp->nodeid; |
@@ -1040,7 +1070,7 @@ static inline int cache_free_alien(struct kmem_cache *cachep, void *objp, | |||
1040 | STATS_INC_NODEFREES(cachep); | 1070 | STATS_INC_NODEFREES(cachep); |
1041 | if (l3->alien && l3->alien[nodeid]) { | 1071 | if (l3->alien && l3->alien[nodeid]) { |
1042 | alien = l3->alien[nodeid]; | 1072 | alien = l3->alien[nodeid]; |
1043 | spin_lock_nested(&alien->lock, nesting); | 1073 | spin_lock(&alien->lock); |
1044 | if (unlikely(alien->avail == alien->limit)) { | 1074 | if (unlikely(alien->avail == alien->limit)) { |
1045 | STATS_INC_ACOVERFLOW(cachep); | 1075 | STATS_INC_ACOVERFLOW(cachep); |
1046 | __drain_alien_cache(cachep, alien, nodeid); | 1076 | __drain_alien_cache(cachep, alien, nodeid); |
@@ -1069,8 +1099,7 @@ static inline void free_alien_cache(struct array_cache **ac_ptr) | |||
1069 | { | 1099 | { |
1070 | } | 1100 | } |
1071 | 1101 | ||
1072 | static inline int cache_free_alien(struct kmem_cache *cachep, void *objp, | 1102 | static inline int cache_free_alien(struct kmem_cache *cachep, void *objp) |
1073 | int nesting) | ||
1074 | { | 1103 | { |
1075 | return 0; | 1104 | return 0; |
1076 | } | 1105 | } |
@@ -1393,6 +1422,7 @@ void __init kmem_cache_init(void) | |||
1393 | ARCH_KMALLOC_FLAGS|SLAB_PANIC, | 1422 | ARCH_KMALLOC_FLAGS|SLAB_PANIC, |
1394 | NULL, NULL); | 1423 | NULL, NULL); |
1395 | } | 1424 | } |
1425 | init_lock_keys(sizes); | ||
1396 | 1426 | ||
1397 | sizes->cs_dmacachep = kmem_cache_create(names->name_dma, | 1427 | sizes->cs_dmacachep = kmem_cache_create(names->name_dma, |
1398 | sizes->cs_size, | 1428 | sizes->cs_size, |
@@ -1760,8 +1790,6 @@ static void slab_destroy_objs(struct kmem_cache *cachep, struct slab *slabp) | |||
1760 | } | 1790 | } |
1761 | #endif | 1791 | #endif |
1762 | 1792 | ||
1763 | static void __cache_free(struct kmem_cache *cachep, void *objp, int nesting); | ||
1764 | |||
1765 | /** | 1793 | /** |
1766 | * slab_destroy - destroy and release all objects in a slab | 1794 | * slab_destroy - destroy and release all objects in a slab |
1767 | * @cachep: cache pointer being destroyed | 1795 | * @cachep: cache pointer being destroyed |
@@ -1785,17 +1813,8 @@ static void slab_destroy(struct kmem_cache *cachep, struct slab *slabp) | |||
1785 | call_rcu(&slab_rcu->head, kmem_rcu_free); | 1813 | call_rcu(&slab_rcu->head, kmem_rcu_free); |
1786 | } else { | 1814 | } else { |
1787 | kmem_freepages(cachep, addr); | 1815 | kmem_freepages(cachep, addr); |
1788 | if (OFF_SLAB(cachep)) { | 1816 | if (OFF_SLAB(cachep)) |
1789 | unsigned long flags; | 1817 | kmem_cache_free(cachep->slabp_cache, slabp); |
1790 | |||
1791 | /* | ||
1792 | * lockdep: we may nest inside an already held | ||
1793 | * ac->lock, so pass in a nesting flag: | ||
1794 | */ | ||
1795 | local_irq_save(flags); | ||
1796 | __cache_free(cachep->slabp_cache, slabp, 1); | ||
1797 | local_irq_restore(flags); | ||
1798 | } | ||
1799 | } | 1818 | } |
1800 | } | 1819 | } |
1801 | 1820 | ||
@@ -3100,16 +3119,7 @@ static void free_block(struct kmem_cache *cachep, void **objpp, int nr_objects, | |||
3100 | if (slabp->inuse == 0) { | 3119 | if (slabp->inuse == 0) { |
3101 | if (l3->free_objects > l3->free_limit) { | 3120 | if (l3->free_objects > l3->free_limit) { |
3102 | l3->free_objects -= cachep->num; | 3121 | l3->free_objects -= cachep->num; |
3103 | /* | ||
3104 | * It is safe to drop the lock. The slab is | ||
3105 | * no longer linked to the cache. cachep | ||
3106 | * cannot disappear - we are using it and | ||
3107 | * all destruction of caches must be | ||
3108 | * serialized properly by the user. | ||
3109 | */ | ||
3110 | spin_unlock(&l3->list_lock); | ||
3111 | slab_destroy(cachep, slabp); | 3122 | slab_destroy(cachep, slabp); |
3112 | spin_lock(&l3->list_lock); | ||
3113 | } else { | 3123 | } else { |
3114 | list_add(&slabp->list, &l3->slabs_free); | 3124 | list_add(&slabp->list, &l3->slabs_free); |
3115 | } | 3125 | } |
@@ -3135,7 +3145,7 @@ static void cache_flusharray(struct kmem_cache *cachep, struct array_cache *ac) | |||
3135 | #endif | 3145 | #endif |
3136 | check_irq_off(); | 3146 | check_irq_off(); |
3137 | l3 = cachep->nodelists[node]; | 3147 | l3 = cachep->nodelists[node]; |
3138 | spin_lock_nested(&l3->list_lock, SINGLE_DEPTH_NESTING); | 3148 | spin_lock(&l3->list_lock); |
3139 | if (l3->shared) { | 3149 | if (l3->shared) { |
3140 | struct array_cache *shared_array = l3->shared; | 3150 | struct array_cache *shared_array = l3->shared; |
3141 | int max = shared_array->limit - shared_array->avail; | 3151 | int max = shared_array->limit - shared_array->avail; |
@@ -3178,14 +3188,14 @@ free_done: | |||
3178 | * Release an obj back to its cache. If the obj has a constructed state, it must | 3188 | * Release an obj back to its cache. If the obj has a constructed state, it must |
3179 | * be in this state _before_ it is released. Called with disabled ints. | 3189 | * be in this state _before_ it is released. Called with disabled ints. |
3180 | */ | 3190 | */ |
3181 | static void __cache_free(struct kmem_cache *cachep, void *objp, int nesting) | 3191 | static inline void __cache_free(struct kmem_cache *cachep, void *objp) |
3182 | { | 3192 | { |
3183 | struct array_cache *ac = cpu_cache_get(cachep); | 3193 | struct array_cache *ac = cpu_cache_get(cachep); |
3184 | 3194 | ||
3185 | check_irq_off(); | 3195 | check_irq_off(); |
3186 | objp = cache_free_debugcheck(cachep, objp, __builtin_return_address(0)); | 3196 | objp = cache_free_debugcheck(cachep, objp, __builtin_return_address(0)); |
3187 | 3197 | ||
3188 | if (cache_free_alien(cachep, objp, nesting)) | 3198 | if (cache_free_alien(cachep, objp)) |
3189 | return; | 3199 | return; |
3190 | 3200 | ||
3191 | if (likely(ac->avail < ac->limit)) { | 3201 | if (likely(ac->avail < ac->limit)) { |
@@ -3424,7 +3434,7 @@ void kmem_cache_free(struct kmem_cache *cachep, void *objp) | |||
3424 | BUG_ON(virt_to_cache(objp) != cachep); | 3434 | BUG_ON(virt_to_cache(objp) != cachep); |
3425 | 3435 | ||
3426 | local_irq_save(flags); | 3436 | local_irq_save(flags); |
3427 | __cache_free(cachep, objp, 0); | 3437 | __cache_free(cachep, objp); |
3428 | local_irq_restore(flags); | 3438 | local_irq_restore(flags); |
3429 | } | 3439 | } |
3430 | EXPORT_SYMBOL(kmem_cache_free); | 3440 | EXPORT_SYMBOL(kmem_cache_free); |
@@ -3449,7 +3459,7 @@ void kfree(const void *objp) | |||
3449 | kfree_debugcheck(objp); | 3459 | kfree_debugcheck(objp); |
3450 | c = virt_to_cache(objp); | 3460 | c = virt_to_cache(objp); |
3451 | debug_check_no_locks_freed(objp, obj_size(c)); | 3461 | debug_check_no_locks_freed(objp, obj_size(c)); |
3452 | __cache_free(c, (void *)objp, 0); | 3462 | __cache_free(c, (void *)objp); |
3453 | local_irq_restore(flags); | 3463 | local_irq_restore(flags); |
3454 | } | 3464 | } |
3455 | EXPORT_SYMBOL(kfree); | 3465 | EXPORT_SYMBOL(kfree); |
diff --git a/mm/vmalloc.c b/mm/vmalloc.c index 7b450798b458..266162d2ba28 100644 --- a/mm/vmalloc.c +++ b/mm/vmalloc.c | |||
@@ -340,7 +340,7 @@ void __vunmap(void *addr, int deallocate_pages) | |||
340 | __free_page(area->pages[i]); | 340 | __free_page(area->pages[i]); |
341 | } | 341 | } |
342 | 342 | ||
343 | if (area->nr_pages > PAGE_SIZE/sizeof(struct page *)) | 343 | if (area->flags & VM_VPAGES) |
344 | vfree(area->pages); | 344 | vfree(area->pages); |
345 | else | 345 | else |
346 | kfree(area->pages); | 346 | kfree(area->pages); |
@@ -427,9 +427,10 @@ void *__vmalloc_area_node(struct vm_struct *area, gfp_t gfp_mask, | |||
427 | 427 | ||
428 | area->nr_pages = nr_pages; | 428 | area->nr_pages = nr_pages; |
429 | /* Please note that the recursion is strictly bounded. */ | 429 | /* Please note that the recursion is strictly bounded. */ |
430 | if (array_size > PAGE_SIZE) | 430 | if (array_size > PAGE_SIZE) { |
431 | pages = __vmalloc_node(array_size, gfp_mask, PAGE_KERNEL, node); | 431 | pages = __vmalloc_node(array_size, gfp_mask, PAGE_KERNEL, node); |
432 | else | 432 | area->flags |= VM_VPAGES; |
433 | } else | ||
433 | pages = kmalloc_node(array_size, (gfp_mask & ~__GFP_HIGHMEM), node); | 434 | pages = kmalloc_node(array_size, (gfp_mask & ~__GFP_HIGHMEM), node); |
434 | area->pages = pages; | 435 | area->pages = pages; |
435 | if (!area->pages) { | 436 | if (!area->pages) { |
diff --git a/net/ax25/af_ax25.c b/net/ax25/af_ax25.c index f12be2acf9bc..000695c48583 100644 --- a/net/ax25/af_ax25.c +++ b/net/ax25/af_ax25.c | |||
@@ -145,7 +145,7 @@ struct sock *ax25_find_listener(ax25_address *addr, int digi, | |||
145 | ax25_cb *s; | 145 | ax25_cb *s; |
146 | struct hlist_node *node; | 146 | struct hlist_node *node; |
147 | 147 | ||
148 | spin_lock_bh(&ax25_list_lock); | 148 | spin_lock(&ax25_list_lock); |
149 | ax25_for_each(s, node, &ax25_list) { | 149 | ax25_for_each(s, node, &ax25_list) { |
150 | if ((s->iamdigi && !digi) || (!s->iamdigi && digi)) | 150 | if ((s->iamdigi && !digi) || (!s->iamdigi && digi)) |
151 | continue; | 151 | continue; |
@@ -154,12 +154,12 @@ struct sock *ax25_find_listener(ax25_address *addr, int digi, | |||
154 | /* If device is null we match any device */ | 154 | /* If device is null we match any device */ |
155 | if (s->ax25_dev == NULL || s->ax25_dev->dev == dev) { | 155 | if (s->ax25_dev == NULL || s->ax25_dev->dev == dev) { |
156 | sock_hold(s->sk); | 156 | sock_hold(s->sk); |
157 | spin_unlock_bh(&ax25_list_lock); | 157 | spin_unlock(&ax25_list_lock); |
158 | return s->sk; | 158 | return s->sk; |
159 | } | 159 | } |
160 | } | 160 | } |
161 | } | 161 | } |
162 | spin_unlock_bh(&ax25_list_lock); | 162 | spin_unlock(&ax25_list_lock); |
163 | 163 | ||
164 | return NULL; | 164 | return NULL; |
165 | } | 165 | } |
@@ -174,7 +174,7 @@ struct sock *ax25_get_socket(ax25_address *my_addr, ax25_address *dest_addr, | |||
174 | ax25_cb *s; | 174 | ax25_cb *s; |
175 | struct hlist_node *node; | 175 | struct hlist_node *node; |
176 | 176 | ||
177 | spin_lock_bh(&ax25_list_lock); | 177 | spin_lock(&ax25_list_lock); |
178 | ax25_for_each(s, node, &ax25_list) { | 178 | ax25_for_each(s, node, &ax25_list) { |
179 | if (s->sk && !ax25cmp(&s->source_addr, my_addr) && | 179 | if (s->sk && !ax25cmp(&s->source_addr, my_addr) && |
180 | !ax25cmp(&s->dest_addr, dest_addr) && | 180 | !ax25cmp(&s->dest_addr, dest_addr) && |
@@ -185,7 +185,7 @@ struct sock *ax25_get_socket(ax25_address *my_addr, ax25_address *dest_addr, | |||
185 | } | 185 | } |
186 | } | 186 | } |
187 | 187 | ||
188 | spin_unlock_bh(&ax25_list_lock); | 188 | spin_unlock(&ax25_list_lock); |
189 | 189 | ||
190 | return sk; | 190 | return sk; |
191 | } | 191 | } |
@@ -235,7 +235,7 @@ void ax25_send_to_raw(ax25_address *addr, struct sk_buff *skb, int proto) | |||
235 | struct sk_buff *copy; | 235 | struct sk_buff *copy; |
236 | struct hlist_node *node; | 236 | struct hlist_node *node; |
237 | 237 | ||
238 | spin_lock_bh(&ax25_list_lock); | 238 | spin_lock(&ax25_list_lock); |
239 | ax25_for_each(s, node, &ax25_list) { | 239 | ax25_for_each(s, node, &ax25_list) { |
240 | if (s->sk != NULL && ax25cmp(&s->source_addr, addr) == 0 && | 240 | if (s->sk != NULL && ax25cmp(&s->source_addr, addr) == 0 && |
241 | s->sk->sk_type == SOCK_RAW && | 241 | s->sk->sk_type == SOCK_RAW && |
@@ -248,7 +248,7 @@ void ax25_send_to_raw(ax25_address *addr, struct sk_buff *skb, int proto) | |||
248 | kfree_skb(copy); | 248 | kfree_skb(copy); |
249 | } | 249 | } |
250 | } | 250 | } |
251 | spin_unlock_bh(&ax25_list_lock); | 251 | spin_unlock(&ax25_list_lock); |
252 | } | 252 | } |
253 | 253 | ||
254 | /* | 254 | /* |
diff --git a/net/ax25/ax25_ds_subr.c b/net/ax25/ax25_ds_subr.c index 1d4ab641f82b..4d22d4430ec8 100644 --- a/net/ax25/ax25_ds_subr.c +++ b/net/ax25/ax25_ds_subr.c | |||
@@ -80,7 +80,7 @@ void ax25_ds_enquiry_response(ax25_cb *ax25) | |||
80 | ax25_start_t3timer(ax25); | 80 | ax25_start_t3timer(ax25); |
81 | ax25_ds_set_timer(ax25->ax25_dev); | 81 | ax25_ds_set_timer(ax25->ax25_dev); |
82 | 82 | ||
83 | spin_lock_bh(&ax25_list_lock); | 83 | spin_lock(&ax25_list_lock); |
84 | ax25_for_each(ax25o, node, &ax25_list) { | 84 | ax25_for_each(ax25o, node, &ax25_list) { |
85 | if (ax25o == ax25) | 85 | if (ax25o == ax25) |
86 | continue; | 86 | continue; |
@@ -106,7 +106,7 @@ void ax25_ds_enquiry_response(ax25_cb *ax25) | |||
106 | if (ax25o->state != AX25_STATE_0) | 106 | if (ax25o->state != AX25_STATE_0) |
107 | ax25_start_t3timer(ax25o); | 107 | ax25_start_t3timer(ax25o); |
108 | } | 108 | } |
109 | spin_unlock_bh(&ax25_list_lock); | 109 | spin_unlock(&ax25_list_lock); |
110 | } | 110 | } |
111 | 111 | ||
112 | void ax25_ds_establish_data_link(ax25_cb *ax25) | 112 | void ax25_ds_establish_data_link(ax25_cb *ax25) |
@@ -162,13 +162,13 @@ static int ax25_check_dama_slave(ax25_dev *ax25_dev) | |||
162 | int res = 0; | 162 | int res = 0; |
163 | struct hlist_node *node; | 163 | struct hlist_node *node; |
164 | 164 | ||
165 | spin_lock_bh(&ax25_list_lock); | 165 | spin_lock(&ax25_list_lock); |
166 | ax25_for_each(ax25, node, &ax25_list) | 166 | ax25_for_each(ax25, node, &ax25_list) |
167 | if (ax25->ax25_dev == ax25_dev && (ax25->condition & AX25_COND_DAMA_MODE) && ax25->state > AX25_STATE_1) { | 167 | if (ax25->ax25_dev == ax25_dev && (ax25->condition & AX25_COND_DAMA_MODE) && ax25->state > AX25_STATE_1) { |
168 | res = 1; | 168 | res = 1; |
169 | break; | 169 | break; |
170 | } | 170 | } |
171 | spin_unlock_bh(&ax25_list_lock); | 171 | spin_unlock(&ax25_list_lock); |
172 | 172 | ||
173 | return res; | 173 | return res; |
174 | } | 174 | } |
diff --git a/net/ax25/ax25_ds_timer.c b/net/ax25/ax25_ds_timer.c index 5961459935eb..4f44185955c7 100644 --- a/net/ax25/ax25_ds_timer.c +++ b/net/ax25/ax25_ds_timer.c | |||
@@ -85,7 +85,7 @@ static void ax25_ds_timeout(unsigned long arg) | |||
85 | return; | 85 | return; |
86 | } | 86 | } |
87 | 87 | ||
88 | spin_lock_bh(&ax25_list_lock); | 88 | spin_lock(&ax25_list_lock); |
89 | ax25_for_each(ax25, node, &ax25_list) { | 89 | ax25_for_each(ax25, node, &ax25_list) { |
90 | if (ax25->ax25_dev != ax25_dev || !(ax25->condition & AX25_COND_DAMA_MODE)) | 90 | if (ax25->ax25_dev != ax25_dev || !(ax25->condition & AX25_COND_DAMA_MODE)) |
91 | continue; | 91 | continue; |
@@ -93,7 +93,7 @@ static void ax25_ds_timeout(unsigned long arg) | |||
93 | ax25_send_control(ax25, AX25_DISC, AX25_POLLON, AX25_COMMAND); | 93 | ax25_send_control(ax25, AX25_DISC, AX25_POLLON, AX25_COMMAND); |
94 | ax25_disconnect(ax25, ETIMEDOUT); | 94 | ax25_disconnect(ax25, ETIMEDOUT); |
95 | } | 95 | } |
96 | spin_unlock_bh(&ax25_list_lock); | 96 | spin_unlock(&ax25_list_lock); |
97 | 97 | ||
98 | ax25_dev_dama_off(ax25_dev); | 98 | ax25_dev_dama_off(ax25_dev); |
99 | } | 99 | } |
diff --git a/net/ax25/ax25_iface.c b/net/ax25/ax25_iface.c index 77ba07c67682..07ac0207eb69 100644 --- a/net/ax25/ax25_iface.c +++ b/net/ax25/ax25_iface.c | |||
@@ -66,10 +66,10 @@ int ax25_protocol_register(unsigned int pid, | |||
66 | protocol->pid = pid; | 66 | protocol->pid = pid; |
67 | protocol->func = func; | 67 | protocol->func = func; |
68 | 68 | ||
69 | write_lock(&protocol_list_lock); | 69 | write_lock_bh(&protocol_list_lock); |
70 | protocol->next = protocol_list; | 70 | protocol->next = protocol_list; |
71 | protocol_list = protocol; | 71 | protocol_list = protocol; |
72 | write_unlock(&protocol_list_lock); | 72 | write_unlock_bh(&protocol_list_lock); |
73 | 73 | ||
74 | return 1; | 74 | return 1; |
75 | } | 75 | } |
@@ -80,16 +80,16 @@ void ax25_protocol_release(unsigned int pid) | |||
80 | { | 80 | { |
81 | struct protocol_struct *s, *protocol; | 81 | struct protocol_struct *s, *protocol; |
82 | 82 | ||
83 | write_lock(&protocol_list_lock); | 83 | write_lock_bh(&protocol_list_lock); |
84 | protocol = protocol_list; | 84 | protocol = protocol_list; |
85 | if (protocol == NULL) { | 85 | if (protocol == NULL) { |
86 | write_unlock(&protocol_list_lock); | 86 | write_unlock_bh(&protocol_list_lock); |
87 | return; | 87 | return; |
88 | } | 88 | } |
89 | 89 | ||
90 | if (protocol->pid == pid) { | 90 | if (protocol->pid == pid) { |
91 | protocol_list = protocol->next; | 91 | protocol_list = protocol->next; |
92 | write_unlock(&protocol_list_lock); | 92 | write_unlock_bh(&protocol_list_lock); |
93 | kfree(protocol); | 93 | kfree(protocol); |
94 | return; | 94 | return; |
95 | } | 95 | } |
@@ -98,14 +98,14 @@ void ax25_protocol_release(unsigned int pid) | |||
98 | if (protocol->next->pid == pid) { | 98 | if (protocol->next->pid == pid) { |
99 | s = protocol->next; | 99 | s = protocol->next; |
100 | protocol->next = protocol->next->next; | 100 | protocol->next = protocol->next->next; |
101 | write_unlock(&protocol_list_lock); | 101 | write_unlock_bh(&protocol_list_lock); |
102 | kfree(s); | 102 | kfree(s); |
103 | return; | 103 | return; |
104 | } | 104 | } |
105 | 105 | ||
106 | protocol = protocol->next; | 106 | protocol = protocol->next; |
107 | } | 107 | } |
108 | write_unlock(&protocol_list_lock); | 108 | write_unlock_bh(&protocol_list_lock); |
109 | } | 109 | } |
110 | 110 | ||
111 | EXPORT_SYMBOL(ax25_protocol_release); | 111 | EXPORT_SYMBOL(ax25_protocol_release); |
@@ -266,13 +266,13 @@ int ax25_protocol_is_registered(unsigned int pid) | |||
266 | struct protocol_struct *protocol; | 266 | struct protocol_struct *protocol; |
267 | int res = 0; | 267 | int res = 0; |
268 | 268 | ||
269 | read_lock(&protocol_list_lock); | 269 | read_lock_bh(&protocol_list_lock); |
270 | for (protocol = protocol_list; protocol != NULL; protocol = protocol->next) | 270 | for (protocol = protocol_list; protocol != NULL; protocol = protocol->next) |
271 | if (protocol->pid == pid) { | 271 | if (protocol->pid == pid) { |
272 | res = 1; | 272 | res = 1; |
273 | break; | 273 | break; |
274 | } | 274 | } |
275 | read_unlock(&protocol_list_lock); | 275 | read_unlock_bh(&protocol_list_lock); |
276 | 276 | ||
277 | return res; | 277 | return res; |
278 | } | 278 | } |
diff --git a/net/bluetooth/cmtp/capi.c b/net/bluetooth/cmtp/capi.c index 6fb47e00e188..be04e9fb11f6 100644 --- a/net/bluetooth/cmtp/capi.c +++ b/net/bluetooth/cmtp/capi.c | |||
@@ -75,15 +75,13 @@ | |||
75 | 75 | ||
76 | static struct cmtp_application *cmtp_application_add(struct cmtp_session *session, __u16 appl) | 76 | static struct cmtp_application *cmtp_application_add(struct cmtp_session *session, __u16 appl) |
77 | { | 77 | { |
78 | struct cmtp_application *app = kmalloc(sizeof(*app), GFP_KERNEL); | 78 | struct cmtp_application *app = kzalloc(sizeof(*app), GFP_KERNEL); |
79 | 79 | ||
80 | BT_DBG("session %p application %p appl %d", session, app, appl); | 80 | BT_DBG("session %p application %p appl %d", session, app, appl); |
81 | 81 | ||
82 | if (!app) | 82 | if (!app) |
83 | return NULL; | 83 | return NULL; |
84 | 84 | ||
85 | memset(app, 0, sizeof(*app)); | ||
86 | |||
87 | app->state = BT_OPEN; | 85 | app->state = BT_OPEN; |
88 | app->appl = appl; | 86 | app->appl = appl; |
89 | 87 | ||
diff --git a/net/bluetooth/cmtp/core.c b/net/bluetooth/cmtp/core.c index 182254a580e2..b81a01c64aea 100644 --- a/net/bluetooth/cmtp/core.c +++ b/net/bluetooth/cmtp/core.c | |||
@@ -335,10 +335,9 @@ int cmtp_add_connection(struct cmtp_connadd_req *req, struct socket *sock) | |||
335 | baswap(&src, &bt_sk(sock->sk)->src); | 335 | baswap(&src, &bt_sk(sock->sk)->src); |
336 | baswap(&dst, &bt_sk(sock->sk)->dst); | 336 | baswap(&dst, &bt_sk(sock->sk)->dst); |
337 | 337 | ||
338 | session = kmalloc(sizeof(struct cmtp_session), GFP_KERNEL); | 338 | session = kzalloc(sizeof(struct cmtp_session), GFP_KERNEL); |
339 | if (!session) | 339 | if (!session) |
340 | return -ENOMEM; | 340 | return -ENOMEM; |
341 | memset(session, 0, sizeof(struct cmtp_session)); | ||
342 | 341 | ||
343 | down_write(&cmtp_session_sem); | 342 | down_write(&cmtp_session_sem); |
344 | 343 | ||
diff --git a/net/bluetooth/hci_core.c b/net/bluetooth/hci_core.c index 54e8e5ea2154..5ed474277903 100644 --- a/net/bluetooth/hci_core.c +++ b/net/bluetooth/hci_core.c | |||
@@ -336,9 +336,8 @@ void hci_inquiry_cache_update(struct hci_dev *hdev, struct inquiry_data *data) | |||
336 | 336 | ||
337 | if (!(e = hci_inquiry_cache_lookup(hdev, &data->bdaddr))) { | 337 | if (!(e = hci_inquiry_cache_lookup(hdev, &data->bdaddr))) { |
338 | /* Entry not in the cache. Add new one. */ | 338 | /* Entry not in the cache. Add new one. */ |
339 | if (!(e = kmalloc(sizeof(struct inquiry_entry), GFP_ATOMIC))) | 339 | if (!(e = kzalloc(sizeof(struct inquiry_entry), GFP_ATOMIC))) |
340 | return; | 340 | return; |
341 | memset(e, 0, sizeof(struct inquiry_entry)); | ||
342 | e->next = cache->list; | 341 | e->next = cache->list; |
343 | cache->list = e; | 342 | cache->list = e; |
344 | } | 343 | } |
@@ -800,12 +799,10 @@ struct hci_dev *hci_alloc_dev(void) | |||
800 | { | 799 | { |
801 | struct hci_dev *hdev; | 800 | struct hci_dev *hdev; |
802 | 801 | ||
803 | hdev = kmalloc(sizeof(struct hci_dev), GFP_KERNEL); | 802 | hdev = kzalloc(sizeof(struct hci_dev), GFP_KERNEL); |
804 | if (!hdev) | 803 | if (!hdev) |
805 | return NULL; | 804 | return NULL; |
806 | 805 | ||
807 | memset(hdev, 0, sizeof(struct hci_dev)); | ||
808 | |||
809 | skb_queue_head_init(&hdev->driver_init); | 806 | skb_queue_head_init(&hdev->driver_init); |
810 | 807 | ||
811 | return hdev; | 808 | return hdev; |
diff --git a/net/bluetooth/hidp/Kconfig b/net/bluetooth/hidp/Kconfig index edfea772fb67..c6abf2a5a932 100644 --- a/net/bluetooth/hidp/Kconfig +++ b/net/bluetooth/hidp/Kconfig | |||
@@ -1,7 +1,6 @@ | |||
1 | config BT_HIDP | 1 | config BT_HIDP |
2 | tristate "HIDP protocol support" | 2 | tristate "HIDP protocol support" |
3 | depends on BT && BT_L2CAP && (BROKEN || !S390) | 3 | depends on BT && BT_L2CAP && INPUT |
4 | select INPUT | ||
5 | help | 4 | help |
6 | HIDP (Human Interface Device Protocol) is a transport layer | 5 | HIDP (Human Interface Device Protocol) is a transport layer |
7 | for HID reports. HIDP is required for the Bluetooth Human | 6 | for HID reports. HIDP is required for the Bluetooth Human |
diff --git a/net/bluetooth/hidp/core.c b/net/bluetooth/hidp/core.c index b9c24a55425c..c6e3a2c27c6e 100644 --- a/net/bluetooth/hidp/core.c +++ b/net/bluetooth/hidp/core.c | |||
@@ -582,10 +582,9 @@ int hidp_add_connection(struct hidp_connadd_req *req, struct socket *ctrl_sock, | |||
582 | bacmp(&bt_sk(ctrl_sock->sk)->dst, &bt_sk(intr_sock->sk)->dst)) | 582 | bacmp(&bt_sk(ctrl_sock->sk)->dst, &bt_sk(intr_sock->sk)->dst)) |
583 | return -ENOTUNIQ; | 583 | return -ENOTUNIQ; |
584 | 584 | ||
585 | session = kmalloc(sizeof(struct hidp_session), GFP_KERNEL); | 585 | session = kzalloc(sizeof(struct hidp_session), GFP_KERNEL); |
586 | if (!session) | 586 | if (!session) |
587 | return -ENOMEM; | 587 | return -ENOMEM; |
588 | memset(session, 0, sizeof(struct hidp_session)); | ||
589 | 588 | ||
590 | session->input = input_allocate_device(); | 589 | session->input = input_allocate_device(); |
591 | if (!session->input) { | 590 | if (!session->input) { |
diff --git a/net/bluetooth/l2cap.c b/net/bluetooth/l2cap.c index eaaad658d11d..d56f60b392ac 100644 --- a/net/bluetooth/l2cap.c +++ b/net/bluetooth/l2cap.c | |||
@@ -185,7 +185,7 @@ static inline void l2cap_chan_unlink(struct l2cap_chan_list *l, struct sock *sk) | |||
185 | { | 185 | { |
186 | struct sock *next = l2cap_pi(sk)->next_c, *prev = l2cap_pi(sk)->prev_c; | 186 | struct sock *next = l2cap_pi(sk)->next_c, *prev = l2cap_pi(sk)->prev_c; |
187 | 187 | ||
188 | write_lock(&l->lock); | 188 | write_lock_bh(&l->lock); |
189 | if (sk == l->head) | 189 | if (sk == l->head) |
190 | l->head = next; | 190 | l->head = next; |
191 | 191 | ||
@@ -193,7 +193,7 @@ static inline void l2cap_chan_unlink(struct l2cap_chan_list *l, struct sock *sk) | |||
193 | l2cap_pi(next)->prev_c = prev; | 193 | l2cap_pi(next)->prev_c = prev; |
194 | if (prev) | 194 | if (prev) |
195 | l2cap_pi(prev)->next_c = next; | 195 | l2cap_pi(prev)->next_c = next; |
196 | write_unlock(&l->lock); | 196 | write_unlock_bh(&l->lock); |
197 | 197 | ||
198 | __sock_put(sk); | 198 | __sock_put(sk); |
199 | } | 199 | } |
@@ -313,9 +313,9 @@ static void l2cap_conn_del(struct hci_conn *hcon, int err) | |||
313 | static inline void l2cap_chan_add(struct l2cap_conn *conn, struct sock *sk, struct sock *parent) | 313 | static inline void l2cap_chan_add(struct l2cap_conn *conn, struct sock *sk, struct sock *parent) |
314 | { | 314 | { |
315 | struct l2cap_chan_list *l = &conn->chan_list; | 315 | struct l2cap_chan_list *l = &conn->chan_list; |
316 | write_lock(&l->lock); | 316 | write_lock_bh(&l->lock); |
317 | __l2cap_chan_add(conn, sk, parent); | 317 | __l2cap_chan_add(conn, sk, parent); |
318 | write_unlock(&l->lock); | 318 | write_unlock_bh(&l->lock); |
319 | } | 319 | } |
320 | 320 | ||
321 | static inline u8 l2cap_get_ident(struct l2cap_conn *conn) | 321 | static inline u8 l2cap_get_ident(struct l2cap_conn *conn) |
@@ -328,14 +328,14 @@ static inline u8 l2cap_get_ident(struct l2cap_conn *conn) | |||
328 | * 200 - 254 are used by utilities like l2ping, etc. | 328 | * 200 - 254 are used by utilities like l2ping, etc. |
329 | */ | 329 | */ |
330 | 330 | ||
331 | spin_lock(&conn->lock); | 331 | spin_lock_bh(&conn->lock); |
332 | 332 | ||
333 | if (++conn->tx_ident > 128) | 333 | if (++conn->tx_ident > 128) |
334 | conn->tx_ident = 1; | 334 | conn->tx_ident = 1; |
335 | 335 | ||
336 | id = conn->tx_ident; | 336 | id = conn->tx_ident; |
337 | 337 | ||
338 | spin_unlock(&conn->lock); | 338 | spin_unlock_bh(&conn->lock); |
339 | 339 | ||
340 | return id; | 340 | return id; |
341 | } | 341 | } |
@@ -1416,11 +1416,11 @@ static inline int l2cap_connect_req(struct l2cap_conn *conn, struct l2cap_cmd_hd | |||
1416 | if (!sk) | 1416 | if (!sk) |
1417 | goto response; | 1417 | goto response; |
1418 | 1418 | ||
1419 | write_lock(&list->lock); | 1419 | write_lock_bh(&list->lock); |
1420 | 1420 | ||
1421 | /* Check if we already have channel with that dcid */ | 1421 | /* Check if we already have channel with that dcid */ |
1422 | if (__l2cap_get_chan_by_dcid(list, scid)) { | 1422 | if (__l2cap_get_chan_by_dcid(list, scid)) { |
1423 | write_unlock(&list->lock); | 1423 | write_unlock_bh(&list->lock); |
1424 | sock_set_flag(sk, SOCK_ZAPPED); | 1424 | sock_set_flag(sk, SOCK_ZAPPED); |
1425 | l2cap_sock_kill(sk); | 1425 | l2cap_sock_kill(sk); |
1426 | goto response; | 1426 | goto response; |
@@ -1458,7 +1458,7 @@ static inline int l2cap_connect_req(struct l2cap_conn *conn, struct l2cap_cmd_hd | |||
1458 | result = status = 0; | 1458 | result = status = 0; |
1459 | 1459 | ||
1460 | done: | 1460 | done: |
1461 | write_unlock(&list->lock); | 1461 | write_unlock_bh(&list->lock); |
1462 | 1462 | ||
1463 | response: | 1463 | response: |
1464 | bh_unlock_sock(parent); | 1464 | bh_unlock_sock(parent); |
diff --git a/net/bluetooth/rfcomm/core.c b/net/bluetooth/rfcomm/core.c index 155a2b93760e..77eab8f4c7fd 100644 --- a/net/bluetooth/rfcomm/core.c +++ b/net/bluetooth/rfcomm/core.c | |||
@@ -273,10 +273,10 @@ static void rfcomm_dlc_clear_state(struct rfcomm_dlc *d) | |||
273 | 273 | ||
274 | struct rfcomm_dlc *rfcomm_dlc_alloc(gfp_t prio) | 274 | struct rfcomm_dlc *rfcomm_dlc_alloc(gfp_t prio) |
275 | { | 275 | { |
276 | struct rfcomm_dlc *d = kmalloc(sizeof(*d), prio); | 276 | struct rfcomm_dlc *d = kzalloc(sizeof(*d), prio); |
277 | |||
277 | if (!d) | 278 | if (!d) |
278 | return NULL; | 279 | return NULL; |
279 | memset(d, 0, sizeof(*d)); | ||
280 | 280 | ||
281 | init_timer(&d->timer); | 281 | init_timer(&d->timer); |
282 | d->timer.function = rfcomm_dlc_timeout; | 282 | d->timer.function = rfcomm_dlc_timeout; |
@@ -289,6 +289,7 @@ struct rfcomm_dlc *rfcomm_dlc_alloc(gfp_t prio) | |||
289 | rfcomm_dlc_clear_state(d); | 289 | rfcomm_dlc_clear_state(d); |
290 | 290 | ||
291 | BT_DBG("%p", d); | 291 | BT_DBG("%p", d); |
292 | |||
292 | return d; | 293 | return d; |
293 | } | 294 | } |
294 | 295 | ||
@@ -522,10 +523,10 @@ int rfcomm_dlc_get_modem_status(struct rfcomm_dlc *d, u8 *v24_sig) | |||
522 | /* ---- RFCOMM sessions ---- */ | 523 | /* ---- RFCOMM sessions ---- */ |
523 | static struct rfcomm_session *rfcomm_session_add(struct socket *sock, int state) | 524 | static struct rfcomm_session *rfcomm_session_add(struct socket *sock, int state) |
524 | { | 525 | { |
525 | struct rfcomm_session *s = kmalloc(sizeof(*s), GFP_KERNEL); | 526 | struct rfcomm_session *s = kzalloc(sizeof(*s), GFP_KERNEL); |
527 | |||
526 | if (!s) | 528 | if (!s) |
527 | return NULL; | 529 | return NULL; |
528 | memset(s, 0, sizeof(*s)); | ||
529 | 530 | ||
530 | BT_DBG("session %p sock %p", s, sock); | 531 | BT_DBG("session %p sock %p", s, sock); |
531 | 532 | ||
diff --git a/net/bluetooth/rfcomm/tty.c b/net/bluetooth/rfcomm/tty.c index 2ff2d5b87c93..bd8d671a0ba6 100644 --- a/net/bluetooth/rfcomm/tty.c +++ b/net/bluetooth/rfcomm/tty.c | |||
@@ -169,10 +169,9 @@ static int rfcomm_dev_add(struct rfcomm_dev_req *req, struct rfcomm_dlc *dlc) | |||
169 | 169 | ||
170 | BT_DBG("id %d channel %d", req->dev_id, req->channel); | 170 | BT_DBG("id %d channel %d", req->dev_id, req->channel); |
171 | 171 | ||
172 | dev = kmalloc(sizeof(struct rfcomm_dev), GFP_KERNEL); | 172 | dev = kzalloc(sizeof(struct rfcomm_dev), GFP_KERNEL); |
173 | if (!dev) | 173 | if (!dev) |
174 | return -ENOMEM; | 174 | return -ENOMEM; |
175 | memset(dev, 0, sizeof(struct rfcomm_dev)); | ||
176 | 175 | ||
177 | write_lock_bh(&rfcomm_dev_lock); | 176 | write_lock_bh(&rfcomm_dev_lock); |
178 | 177 | ||
diff --git a/net/bluetooth/sco.c b/net/bluetooth/sco.c index 85defccc0287..7714a2ec3854 100644 --- a/net/bluetooth/sco.c +++ b/net/bluetooth/sco.c | |||
@@ -108,17 +108,14 @@ static void sco_sock_init_timer(struct sock *sk) | |||
108 | static struct sco_conn *sco_conn_add(struct hci_conn *hcon, __u8 status) | 108 | static struct sco_conn *sco_conn_add(struct hci_conn *hcon, __u8 status) |
109 | { | 109 | { |
110 | struct hci_dev *hdev = hcon->hdev; | 110 | struct hci_dev *hdev = hcon->hdev; |
111 | struct sco_conn *conn; | 111 | struct sco_conn *conn = hcon->sco_data; |
112 | |||
113 | if ((conn = hcon->sco_data)) | ||
114 | return conn; | ||
115 | 112 | ||
116 | if (status) | 113 | if (conn || status) |
117 | return conn; | 114 | return conn; |
118 | 115 | ||
119 | if (!(conn = kmalloc(sizeof(struct sco_conn), GFP_ATOMIC))) | 116 | conn = kzalloc(sizeof(struct sco_conn), GFP_ATOMIC); |
117 | if (!conn) | ||
120 | return NULL; | 118 | return NULL; |
121 | memset(conn, 0, sizeof(struct sco_conn)); | ||
122 | 119 | ||
123 | spin_lock_init(&conn->lock); | 120 | spin_lock_init(&conn->lock); |
124 | 121 | ||
@@ -134,6 +131,7 @@ static struct sco_conn *sco_conn_add(struct hci_conn *hcon, __u8 status) | |||
134 | conn->mtu = 60; | 131 | conn->mtu = 60; |
135 | 132 | ||
136 | BT_DBG("hcon %p conn %p", hcon, conn); | 133 | BT_DBG("hcon %p conn %p", hcon, conn); |
134 | |||
137 | return conn; | 135 | return conn; |
138 | } | 136 | } |
139 | 137 | ||
diff --git a/net/core/ethtool.c b/net/core/ethtool.c index 27ce1683caf5..2797e2815418 100644 --- a/net/core/ethtool.c +++ b/net/core/ethtool.c | |||
@@ -437,7 +437,7 @@ static int ethtool_set_pauseparam(struct net_device *dev, void __user *useraddr) | |||
437 | { | 437 | { |
438 | struct ethtool_pauseparam pauseparam; | 438 | struct ethtool_pauseparam pauseparam; |
439 | 439 | ||
440 | if (!dev->ethtool_ops->get_pauseparam) | 440 | if (!dev->ethtool_ops->set_pauseparam) |
441 | return -EOPNOTSUPP; | 441 | return -EOPNOTSUPP; |
442 | 442 | ||
443 | if (copy_from_user(&pauseparam, useraddr, sizeof(pauseparam))) | 443 | if (copy_from_user(&pauseparam, useraddr, sizeof(pauseparam))) |
diff --git a/net/core/skbuff.c b/net/core/skbuff.c index 44f6a181a754..476aa3978504 100644 --- a/net/core/skbuff.c +++ b/net/core/skbuff.c | |||
@@ -257,11 +257,11 @@ nodata: | |||
257 | } | 257 | } |
258 | 258 | ||
259 | 259 | ||
260 | static void skb_drop_fraglist(struct sk_buff *skb) | 260 | static void skb_drop_list(struct sk_buff **listp) |
261 | { | 261 | { |
262 | struct sk_buff *list = skb_shinfo(skb)->frag_list; | 262 | struct sk_buff *list = *listp; |
263 | 263 | ||
264 | skb_shinfo(skb)->frag_list = NULL; | 264 | *listp = NULL; |
265 | 265 | ||
266 | do { | 266 | do { |
267 | struct sk_buff *this = list; | 267 | struct sk_buff *this = list; |
@@ -270,6 +270,11 @@ static void skb_drop_fraglist(struct sk_buff *skb) | |||
270 | } while (list); | 270 | } while (list); |
271 | } | 271 | } |
272 | 272 | ||
273 | static inline void skb_drop_fraglist(struct sk_buff *skb) | ||
274 | { | ||
275 | skb_drop_list(&skb_shinfo(skb)->frag_list); | ||
276 | } | ||
277 | |||
273 | static void skb_clone_fraglist(struct sk_buff *skb) | 278 | static void skb_clone_fraglist(struct sk_buff *skb) |
274 | { | 279 | { |
275 | struct sk_buff *list; | 280 | struct sk_buff *list; |
@@ -830,41 +835,75 @@ free_skb: | |||
830 | 835 | ||
831 | int ___pskb_trim(struct sk_buff *skb, unsigned int len) | 836 | int ___pskb_trim(struct sk_buff *skb, unsigned int len) |
832 | { | 837 | { |
838 | struct sk_buff **fragp; | ||
839 | struct sk_buff *frag; | ||
833 | int offset = skb_headlen(skb); | 840 | int offset = skb_headlen(skb); |
834 | int nfrags = skb_shinfo(skb)->nr_frags; | 841 | int nfrags = skb_shinfo(skb)->nr_frags; |
835 | int i; | 842 | int i; |
843 | int err; | ||
844 | |||
845 | if (skb_cloned(skb) && | ||
846 | unlikely((err = pskb_expand_head(skb, 0, 0, GFP_ATOMIC)))) | ||
847 | return err; | ||
836 | 848 | ||
837 | for (i = 0; i < nfrags; i++) { | 849 | for (i = 0; i < nfrags; i++) { |
838 | int end = offset + skb_shinfo(skb)->frags[i].size; | 850 | int end = offset + skb_shinfo(skb)->frags[i].size; |
839 | if (end > len) { | 851 | |
840 | if (skb_cloned(skb)) { | 852 | if (end < len) { |
841 | if (pskb_expand_head(skb, 0, 0, GFP_ATOMIC)) | 853 | offset = end; |
842 | return -ENOMEM; | 854 | continue; |
843 | } | ||
844 | if (len <= offset) { | ||
845 | put_page(skb_shinfo(skb)->frags[i].page); | ||
846 | skb_shinfo(skb)->nr_frags--; | ||
847 | } else { | ||
848 | skb_shinfo(skb)->frags[i].size = len - offset; | ||
849 | } | ||
850 | } | 855 | } |
851 | offset = end; | 856 | |
857 | if (len > offset) | ||
858 | skb_shinfo(skb)->frags[i++].size = len - offset; | ||
859 | |||
860 | skb_shinfo(skb)->nr_frags = i; | ||
861 | |||
862 | for (; i < nfrags; i++) | ||
863 | put_page(skb_shinfo(skb)->frags[i].page); | ||
864 | |||
865 | if (skb_shinfo(skb)->frag_list) | ||
866 | skb_drop_fraglist(skb); | ||
867 | break; | ||
852 | } | 868 | } |
853 | 869 | ||
854 | if (offset < len) { | 870 | for (fragp = &skb_shinfo(skb)->frag_list; (frag = *fragp); |
871 | fragp = &frag->next) { | ||
872 | int end = offset + frag->len; | ||
873 | |||
874 | if (skb_shared(frag)) { | ||
875 | struct sk_buff *nfrag; | ||
876 | |||
877 | nfrag = skb_clone(frag, GFP_ATOMIC); | ||
878 | if (unlikely(!nfrag)) | ||
879 | return -ENOMEM; | ||
880 | |||
881 | nfrag->next = frag->next; | ||
882 | frag = nfrag; | ||
883 | *fragp = frag; | ||
884 | } | ||
885 | |||
886 | if (end < len) { | ||
887 | offset = end; | ||
888 | continue; | ||
889 | } | ||
890 | |||
891 | if (end > len && | ||
892 | unlikely((err = pskb_trim(frag, len - offset)))) | ||
893 | return err; | ||
894 | |||
895 | if (frag->next) | ||
896 | skb_drop_list(&frag->next); | ||
897 | break; | ||
898 | } | ||
899 | |||
900 | if (len > skb_headlen(skb)) { | ||
855 | skb->data_len -= skb->len - len; | 901 | skb->data_len -= skb->len - len; |
856 | skb->len = len; | 902 | skb->len = len; |
857 | } else { | 903 | } else { |
858 | if (len <= skb_headlen(skb)) { | 904 | skb->len = len; |
859 | skb->len = len; | 905 | skb->data_len = 0; |
860 | skb->data_len = 0; | 906 | skb->tail = skb->data + len; |
861 | skb->tail = skb->data + len; | ||
862 | if (skb_shinfo(skb)->frag_list && !skb_cloned(skb)) | ||
863 | skb_drop_fraglist(skb); | ||
864 | } else { | ||
865 | skb->data_len -= skb->len - len; | ||
866 | skb->len = len; | ||
867 | } | ||
868 | } | 907 | } |
869 | 908 | ||
870 | return 0; | 909 | return 0; |
diff --git a/net/core/stream.c b/net/core/stream.c index e9489696f694..d1d7decf70b0 100644 --- a/net/core/stream.c +++ b/net/core/stream.c | |||
@@ -196,15 +196,13 @@ EXPORT_SYMBOL(sk_stream_error); | |||
196 | 196 | ||
197 | void __sk_stream_mem_reclaim(struct sock *sk) | 197 | void __sk_stream_mem_reclaim(struct sock *sk) |
198 | { | 198 | { |
199 | if (sk->sk_forward_alloc >= SK_STREAM_MEM_QUANTUM) { | 199 | atomic_sub(sk->sk_forward_alloc / SK_STREAM_MEM_QUANTUM, |
200 | atomic_sub(sk->sk_forward_alloc / SK_STREAM_MEM_QUANTUM, | 200 | sk->sk_prot->memory_allocated); |
201 | sk->sk_prot->memory_allocated); | 201 | sk->sk_forward_alloc &= SK_STREAM_MEM_QUANTUM - 1; |
202 | sk->sk_forward_alloc &= SK_STREAM_MEM_QUANTUM - 1; | 202 | if (*sk->sk_prot->memory_pressure && |
203 | if (*sk->sk_prot->memory_pressure && | 203 | (atomic_read(sk->sk_prot->memory_allocated) < |
204 | (atomic_read(sk->sk_prot->memory_allocated) < | 204 | sk->sk_prot->sysctl_mem[0])) |
205 | sk->sk_prot->sysctl_mem[0])) | 205 | *sk->sk_prot->memory_pressure = 0; |
206 | *sk->sk_prot->memory_pressure = 0; | ||
207 | } | ||
208 | } | 206 | } |
209 | 207 | ||
210 | EXPORT_SYMBOL(__sk_stream_mem_reclaim); | 208 | EXPORT_SYMBOL(__sk_stream_mem_reclaim); |
diff --git a/net/ipv4/fib_trie.c b/net/ipv4/fib_trie.c index 1cb65305e102..23fb9d9768e3 100644 --- a/net/ipv4/fib_trie.c +++ b/net/ipv4/fib_trie.c | |||
@@ -1252,8 +1252,8 @@ fn_trie_insert(struct fib_table *tb, struct rtmsg *r, struct kern_rta *rta, | |||
1252 | */ | 1252 | */ |
1253 | 1253 | ||
1254 | if (!fa_head) { | 1254 | if (!fa_head) { |
1255 | fa_head = fib_insert_node(t, &err, key, plen); | ||
1256 | err = 0; | 1255 | err = 0; |
1256 | fa_head = fib_insert_node(t, &err, key, plen); | ||
1257 | if (err) | 1257 | if (err) |
1258 | goto out_free_new_fa; | 1258 | goto out_free_new_fa; |
1259 | } | 1259 | } |
diff --git a/net/ipv4/ip_input.c b/net/ipv4/ip_input.c index e1a7dba2fa8a..184c78ca79e6 100644 --- a/net/ipv4/ip_input.c +++ b/net/ipv4/ip_input.c | |||
@@ -428,6 +428,9 @@ int ip_rcv(struct sk_buff *skb, struct net_device *dev, struct packet_type *pt, | |||
428 | goto drop; | 428 | goto drop; |
429 | } | 429 | } |
430 | 430 | ||
431 | /* Remove any debris in the socket control block */ | ||
432 | memset(&(IPCB(skb)->opt), 0, sizeof(struct ip_options)); | ||
433 | |||
431 | return NF_HOOK(PF_INET, NF_IP_PRE_ROUTING, skb, dev, NULL, | 434 | return NF_HOOK(PF_INET, NF_IP_PRE_ROUTING, skb, dev, NULL, |
432 | ip_rcv_finish); | 435 | ip_rcv_finish); |
433 | 436 | ||
diff --git a/net/ipv4/ipcomp.c b/net/ipv4/ipcomp.c index 8e0374847532..8a8b5cf2f7fe 100644 --- a/net/ipv4/ipcomp.c +++ b/net/ipv4/ipcomp.c | |||
@@ -70,7 +70,8 @@ static int ipcomp_decompress(struct xfrm_state *x, struct sk_buff *skb) | |||
70 | if (err) | 70 | if (err) |
71 | goto out; | 71 | goto out; |
72 | 72 | ||
73 | skb_put(skb, dlen - plen); | 73 | skb->truesize += dlen - plen; |
74 | __skb_put(skb, dlen - plen); | ||
74 | memcpy(skb->data, scratch, dlen); | 75 | memcpy(skb->data, scratch, dlen); |
75 | out: | 76 | out: |
76 | put_cpu(); | 77 | put_cpu(); |
diff --git a/net/ipv4/tcp_highspeed.c b/net/ipv4/tcp_highspeed.c index aaa1538c0692..fa3e1aad660c 100644 --- a/net/ipv4/tcp_highspeed.c +++ b/net/ipv4/tcp_highspeed.c | |||
@@ -139,14 +139,19 @@ static void hstcp_cong_avoid(struct sock *sk, u32 adk, u32 rtt, | |||
139 | tp->snd_cwnd++; | 139 | tp->snd_cwnd++; |
140 | } | 140 | } |
141 | } else { | 141 | } else { |
142 | /* Update AIMD parameters */ | 142 | /* Update AIMD parameters. |
143 | * | ||
144 | * We want to guarantee that: | ||
145 | * hstcp_aimd_vals[ca->ai-1].cwnd < | ||
146 | * snd_cwnd <= | ||
147 | * hstcp_aimd_vals[ca->ai].cwnd | ||
148 | */ | ||
143 | if (tp->snd_cwnd > hstcp_aimd_vals[ca->ai].cwnd) { | 149 | if (tp->snd_cwnd > hstcp_aimd_vals[ca->ai].cwnd) { |
144 | while (tp->snd_cwnd > hstcp_aimd_vals[ca->ai].cwnd && | 150 | while (tp->snd_cwnd > hstcp_aimd_vals[ca->ai].cwnd && |
145 | ca->ai < HSTCP_AIMD_MAX - 1) | 151 | ca->ai < HSTCP_AIMD_MAX - 1) |
146 | ca->ai++; | 152 | ca->ai++; |
147 | } else if (tp->snd_cwnd < hstcp_aimd_vals[ca->ai].cwnd) { | 153 | } else if (ca->ai && tp->snd_cwnd <= hstcp_aimd_vals[ca->ai-1].cwnd) { |
148 | while (tp->snd_cwnd > hstcp_aimd_vals[ca->ai].cwnd && | 154 | while (ca->ai && tp->snd_cwnd <= hstcp_aimd_vals[ca->ai-1].cwnd) |
149 | ca->ai > 0) | ||
150 | ca->ai--; | 155 | ca->ai--; |
151 | } | 156 | } |
152 | 157 | ||
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c index c250d0af10d7..2316a4315a18 100644 --- a/net/ipv6/addrconf.c +++ b/net/ipv6/addrconf.c | |||
@@ -508,6 +508,26 @@ void inet6_ifa_finish_destroy(struct inet6_ifaddr *ifp) | |||
508 | kfree(ifp); | 508 | kfree(ifp); |
509 | } | 509 | } |
510 | 510 | ||
511 | static void | ||
512 | ipv6_link_dev_addr(struct inet6_dev *idev, struct inet6_ifaddr *ifp) | ||
513 | { | ||
514 | struct inet6_ifaddr *ifa, **ifap; | ||
515 | int ifp_scope = ipv6_addr_src_scope(&ifp->addr); | ||
516 | |||
517 | /* | ||
518 | * Each device address list is sorted in order of scope - | ||
519 | * global before linklocal. | ||
520 | */ | ||
521 | for (ifap = &idev->addr_list; (ifa = *ifap) != NULL; | ||
522 | ifap = &ifa->if_next) { | ||
523 | if (ifp_scope >= ipv6_addr_src_scope(&ifa->addr)) | ||
524 | break; | ||
525 | } | ||
526 | |||
527 | ifp->if_next = *ifap; | ||
528 | *ifap = ifp; | ||
529 | } | ||
530 | |||
511 | /* On success it returns ifp with increased reference count */ | 531 | /* On success it returns ifp with increased reference count */ |
512 | 532 | ||
513 | static struct inet6_ifaddr * | 533 | static struct inet6_ifaddr * |
@@ -573,8 +593,7 @@ ipv6_add_addr(struct inet6_dev *idev, const struct in6_addr *addr, int pfxlen, | |||
573 | 593 | ||
574 | write_lock(&idev->lock); | 594 | write_lock(&idev->lock); |
575 | /* Add to inet6_dev unicast addr list. */ | 595 | /* Add to inet6_dev unicast addr list. */ |
576 | ifa->if_next = idev->addr_list; | 596 | ipv6_link_dev_addr(idev, ifa); |
577 | idev->addr_list = ifa; | ||
578 | 597 | ||
579 | #ifdef CONFIG_IPV6_PRIVACY | 598 | #ifdef CONFIG_IPV6_PRIVACY |
580 | if (ifa->flags&IFA_F_TEMPORARY) { | 599 | if (ifa->flags&IFA_F_TEMPORARY) { |
@@ -987,7 +1006,7 @@ int ipv6_dev_get_saddr(struct net_device *daddr_dev, | |||
987 | continue; | 1006 | continue; |
988 | } else if (score.scope < hiscore.scope) { | 1007 | } else if (score.scope < hiscore.scope) { |
989 | if (score.scope < daddr_scope) | 1008 | if (score.scope < daddr_scope) |
990 | continue; | 1009 | break; /* addresses sorted by scope */ |
991 | else { | 1010 | else { |
992 | score.rule = 2; | 1011 | score.rule = 2; |
993 | goto record_it; | 1012 | goto record_it; |
diff --git a/net/ipv6/ipcomp6.c b/net/ipv6/ipcomp6.c index b285b0357084..7e4d1c17bfbc 100644 --- a/net/ipv6/ipcomp6.c +++ b/net/ipv6/ipcomp6.c | |||
@@ -109,7 +109,8 @@ static int ipcomp6_input(struct xfrm_state *x, struct sk_buff *skb) | |||
109 | goto out_put_cpu; | 109 | goto out_put_cpu; |
110 | } | 110 | } |
111 | 111 | ||
112 | skb_put(skb, dlen - plen); | 112 | skb->truesize += dlen - plen; |
113 | __skb_put(skb, dlen - plen); | ||
113 | memcpy(skb->data, scratch, dlen); | 114 | memcpy(skb->data, scratch, dlen); |
114 | err = ipch->nexthdr; | 115 | err = ipch->nexthdr; |
115 | 116 | ||
diff --git a/net/netrom/af_netrom.c b/net/netrom/af_netrom.c index ecc796878f38..1d50f801f181 100644 --- a/net/netrom/af_netrom.c +++ b/net/netrom/af_netrom.c | |||
@@ -66,6 +66,14 @@ static DEFINE_SPINLOCK(nr_list_lock); | |||
66 | static const struct proto_ops nr_proto_ops; | 66 | static const struct proto_ops nr_proto_ops; |
67 | 67 | ||
68 | /* | 68 | /* |
69 | * NETROM network devices are virtual network devices encapsulating NETROM | ||
70 | * frames into AX.25 which will be sent through an AX.25 device, so form a | ||
71 | * special "super class" of normal net devices; split their locks off into a | ||
72 | * separate class since they always nest. | ||
73 | */ | ||
74 | static struct lock_class_key nr_netdev_xmit_lock_key; | ||
75 | |||
76 | /* | ||
69 | * Socket removal during an interrupt is now safe. | 77 | * Socket removal during an interrupt is now safe. |
70 | */ | 78 | */ |
71 | static void nr_remove_socket(struct sock *sk) | 79 | static void nr_remove_socket(struct sock *sk) |
@@ -986,18 +994,18 @@ int nr_rx_frame(struct sk_buff *skb, struct net_device *dev) | |||
986 | nr_make->vl = 0; | 994 | nr_make->vl = 0; |
987 | nr_make->state = NR_STATE_3; | 995 | nr_make->state = NR_STATE_3; |
988 | sk_acceptq_added(sk); | 996 | sk_acceptq_added(sk); |
989 | |||
990 | nr_insert_socket(make); | ||
991 | |||
992 | skb_queue_head(&sk->sk_receive_queue, skb); | 997 | skb_queue_head(&sk->sk_receive_queue, skb); |
993 | 998 | ||
994 | nr_start_heartbeat(make); | ||
995 | nr_start_idletimer(make); | ||
996 | |||
997 | if (!sock_flag(sk, SOCK_DEAD)) | 999 | if (!sock_flag(sk, SOCK_DEAD)) |
998 | sk->sk_data_ready(sk, skb->len); | 1000 | sk->sk_data_ready(sk, skb->len); |
999 | 1001 | ||
1000 | bh_unlock_sock(sk); | 1002 | bh_unlock_sock(sk); |
1003 | |||
1004 | nr_insert_socket(make); | ||
1005 | |||
1006 | nr_start_heartbeat(make); | ||
1007 | nr_start_idletimer(make); | ||
1008 | |||
1001 | return 1; | 1009 | return 1; |
1002 | } | 1010 | } |
1003 | 1011 | ||
@@ -1405,6 +1413,7 @@ static int __init nr_proto_init(void) | |||
1405 | free_netdev(dev); | 1413 | free_netdev(dev); |
1406 | goto fail; | 1414 | goto fail; |
1407 | } | 1415 | } |
1416 | lockdep_set_class(&dev->_xmit_lock, &nr_netdev_xmit_lock_key); | ||
1408 | dev_nr[i] = dev; | 1417 | dev_nr[i] = dev; |
1409 | } | 1418 | } |
1410 | 1419 | ||
diff --git a/net/netrom/nr_timer.c b/net/netrom/nr_timer.c index 75b72d389ba9..ddba1c144260 100644 --- a/net/netrom/nr_timer.c +++ b/net/netrom/nr_timer.c | |||
@@ -138,8 +138,8 @@ static void nr_heartbeat_expiry(unsigned long param) | |||
138 | if (sock_flag(sk, SOCK_DESTROY) || | 138 | if (sock_flag(sk, SOCK_DESTROY) || |
139 | (sk->sk_state == TCP_LISTEN && sock_flag(sk, SOCK_DEAD))) { | 139 | (sk->sk_state == TCP_LISTEN && sock_flag(sk, SOCK_DEAD))) { |
140 | sock_hold(sk); | 140 | sock_hold(sk); |
141 | nr_destroy_socket(sk); | ||
142 | bh_unlock_sock(sk); | 141 | bh_unlock_sock(sk); |
142 | nr_destroy_socket(sk); | ||
143 | sock_put(sk); | 143 | sock_put(sk); |
144 | return; | 144 | return; |
145 | } | 145 | } |
diff --git a/net/rose/af_rose.c b/net/rose/af_rose.c index c115295ab431..08a542855654 100644 --- a/net/rose/af_rose.c +++ b/net/rose/af_rose.c | |||
@@ -67,6 +67,14 @@ static struct proto_ops rose_proto_ops; | |||
67 | ax25_address rose_callsign; | 67 | ax25_address rose_callsign; |
68 | 68 | ||
69 | /* | 69 | /* |
70 | * ROSE network devices are virtual network devices encapsulating ROSE | ||
71 | * frames into AX.25 which will be sent through an AX.25 device, so form a | ||
72 | * special "super class" of normal net devices; split their locks off into a | ||
73 | * separate class since they always nest. | ||
74 | */ | ||
75 | static struct lock_class_key rose_netdev_xmit_lock_key; | ||
76 | |||
77 | /* | ||
70 | * Convert a ROSE address into text. | 78 | * Convert a ROSE address into text. |
71 | */ | 79 | */ |
72 | const char *rose2asc(const rose_address *addr) | 80 | const char *rose2asc(const rose_address *addr) |
@@ -1515,6 +1523,7 @@ static int __init rose_proto_init(void) | |||
1515 | free_netdev(dev); | 1523 | free_netdev(dev); |
1516 | goto fail; | 1524 | goto fail; |
1517 | } | 1525 | } |
1526 | lockdep_set_class(&dev->_xmit_lock, &rose_netdev_xmit_lock_key); | ||
1518 | dev_rose[i] = dev; | 1527 | dev_rose[i] = dev; |
1519 | } | 1528 | } |
1520 | 1529 | ||
diff --git a/net/sched/act_api.c b/net/sched/act_api.c index 0972247a839c..9affeeedf107 100644 --- a/net/sched/act_api.c +++ b/net/sched/act_api.c | |||
@@ -884,8 +884,6 @@ static int __init tc_action_init(void) | |||
884 | link_p[RTM_GETACTION-RTM_BASE].dumpit = tc_dump_action; | 884 | link_p[RTM_GETACTION-RTM_BASE].dumpit = tc_dump_action; |
885 | } | 885 | } |
886 | 886 | ||
887 | printk("TC classifier action (bugs to netdev@vger.kernel.org cc " | ||
888 | "hadi@cyberus.ca)\n"); | ||
889 | return 0; | 887 | return 0; |
890 | } | 888 | } |
891 | 889 | ||
diff --git a/net/sched/sch_htb.c b/net/sched/sch_htb.c index 34afe41fa2f3..cc5f339e6f91 100644 --- a/net/sched/sch_htb.c +++ b/net/sched/sch_htb.c | |||
@@ -196,7 +196,7 @@ struct htb_class | |||
196 | struct qdisc_rate_table *rate; /* rate table of the class itself */ | 196 | struct qdisc_rate_table *rate; /* rate table of the class itself */ |
197 | struct qdisc_rate_table *ceil; /* ceiling rate (limits borrows too) */ | 197 | struct qdisc_rate_table *ceil; /* ceiling rate (limits borrows too) */ |
198 | long buffer,cbuffer; /* token bucket depth/rate */ | 198 | long buffer,cbuffer; /* token bucket depth/rate */ |
199 | long mbuffer; /* max wait time */ | 199 | psched_tdiff_t mbuffer; /* max wait time */ |
200 | long tokens,ctokens; /* current number of tokens */ | 200 | long tokens,ctokens; /* current number of tokens */ |
201 | psched_time_t t_c; /* checkpoint time */ | 201 | psched_time_t t_c; /* checkpoint time */ |
202 | }; | 202 | }; |
@@ -1601,7 +1601,7 @@ static int htb_change_class(struct Qdisc *sch, u32 classid, | |||
1601 | /* set class to be in HTB_CAN_SEND state */ | 1601 | /* set class to be in HTB_CAN_SEND state */ |
1602 | cl->tokens = hopt->buffer; | 1602 | cl->tokens = hopt->buffer; |
1603 | cl->ctokens = hopt->cbuffer; | 1603 | cl->ctokens = hopt->cbuffer; |
1604 | cl->mbuffer = 60000000; /* 1min */ | 1604 | cl->mbuffer = PSCHED_JIFFIE2US(HZ*60); /* 1min */ |
1605 | PSCHED_GET_TIME(cl->t_c); | 1605 | PSCHED_GET_TIME(cl->t_c); |
1606 | cl->cmode = HTB_CAN_SEND; | 1606 | cl->cmode = HTB_CAN_SEND; |
1607 | 1607 | ||
diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c index 2e8b4dfcbc74..a91c961ba38b 100644 --- a/security/selinux/hooks.c +++ b/security/selinux/hooks.c | |||
@@ -523,12 +523,16 @@ static int try_context_mount(struct super_block *sb, void *data) | |||
523 | goto out_free; | 523 | goto out_free; |
524 | } | 524 | } |
525 | 525 | ||
526 | rc = may_context_mount_sb_relabel(sid, sbsec, tsec); | 526 | if (!fscontext) { |
527 | if (rc) | 527 | rc = may_context_mount_sb_relabel(sid, sbsec, tsec); |
528 | goto out_free; | 528 | if (rc) |
529 | 529 | goto out_free; | |
530 | if (!fscontext) | ||
531 | sbsec->sid = sid; | 530 | sbsec->sid = sid; |
531 | } else { | ||
532 | rc = may_context_mount_inode_relabel(sid, sbsec, tsec); | ||
533 | if (rc) | ||
534 | goto out_free; | ||
535 | } | ||
532 | sbsec->mntpoint_sid = sid; | 536 | sbsec->mntpoint_sid = sid; |
533 | 537 | ||
534 | sbsec->behavior = SECURITY_FS_USE_MNTPOINT; | 538 | sbsec->behavior = SECURITY_FS_USE_MNTPOINT; |
diff --git a/sound/core/sound.c b/sound/core/sound.c index 264f2efd1af8..7edd1fc58b17 100644 --- a/sound/core/sound.c +++ b/sound/core/sound.c | |||
@@ -244,7 +244,7 @@ int snd_register_device(int type, struct snd_card *card, int dev, | |||
244 | struct device *device = NULL; | 244 | struct device *device = NULL; |
245 | 245 | ||
246 | snd_assert(name, return -EINVAL); | 246 | snd_assert(name, return -EINVAL); |
247 | preg = kmalloc(sizeof(struct snd_minor) + strlen(name) + 1, GFP_KERNEL); | 247 | preg = kmalloc(sizeof *preg, GFP_KERNEL); |
248 | if (preg == NULL) | 248 | if (preg == NULL) |
249 | return -ENOMEM; | 249 | return -ENOMEM; |
250 | preg->type = type; | 250 | preg->type = type; |
@@ -252,7 +252,6 @@ int snd_register_device(int type, struct snd_card *card, int dev, | |||
252 | preg->device = dev; | 252 | preg->device = dev; |
253 | preg->f_ops = f_ops; | 253 | preg->f_ops = f_ops; |
254 | preg->private_data = private_data; | 254 | preg->private_data = private_data; |
255 | strcpy(preg->name, name); | ||
256 | mutex_lock(&sound_mutex); | 255 | mutex_lock(&sound_mutex); |
257 | #ifdef CONFIG_SND_DYNAMIC_MINORS | 256 | #ifdef CONFIG_SND_DYNAMIC_MINORS |
258 | minor = snd_find_free_minor(); | 257 | minor = snd_find_free_minor(); |
diff --git a/sound/core/timer.c b/sound/core/timer.c index 78199f58b93a..0a984e881c10 100644 --- a/sound/core/timer.c +++ b/sound/core/timer.c | |||
@@ -628,8 +628,9 @@ static void snd_timer_tasklet(unsigned long arg) | |||
628 | struct snd_timer_instance *ti; | 628 | struct snd_timer_instance *ti; |
629 | struct list_head *p; | 629 | struct list_head *p; |
630 | unsigned long resolution, ticks; | 630 | unsigned long resolution, ticks; |
631 | unsigned long flags; | ||
631 | 632 | ||
632 | spin_lock(&timer->lock); | 633 | spin_lock_irqsave(&timer->lock, flags); |
633 | /* now process all callbacks */ | 634 | /* now process all callbacks */ |
634 | while (!list_empty(&timer->sack_list_head)) { | 635 | while (!list_empty(&timer->sack_list_head)) { |
635 | p = timer->sack_list_head.next; /* get first item */ | 636 | p = timer->sack_list_head.next; /* get first item */ |
@@ -649,7 +650,7 @@ static void snd_timer_tasklet(unsigned long arg) | |||
649 | spin_lock(&timer->lock); | 650 | spin_lock(&timer->lock); |
650 | ti->flags &= ~SNDRV_TIMER_IFLG_CALLBACK; | 651 | ti->flags &= ~SNDRV_TIMER_IFLG_CALLBACK; |
651 | } | 652 | } |
652 | spin_unlock(&timer->lock); | 653 | spin_unlock_irqrestore(&timer->lock, flags); |
653 | } | 654 | } |
654 | 655 | ||
655 | /* | 656 | /* |
diff --git a/sound/i2c/cs8427.c b/sound/i2c/cs8427.c index cb89f7eb9236..64388cb8d6e5 100644 --- a/sound/i2c/cs8427.c +++ b/sound/i2c/cs8427.c | |||
@@ -76,23 +76,28 @@ int snd_cs8427_reg_write(struct snd_i2c_device *device, unsigned char reg, | |||
76 | buf[0] = reg & 0x7f; | 76 | buf[0] = reg & 0x7f; |
77 | buf[1] = val; | 77 | buf[1] = val; |
78 | if ((err = snd_i2c_sendbytes(device, buf, 2)) != 2) { | 78 | if ((err = snd_i2c_sendbytes(device, buf, 2)) != 2) { |
79 | snd_printk(KERN_ERR "unable to send bytes 0x%02x:0x%02x to CS8427 (%i)\n", buf[0], buf[1], err); | 79 | snd_printk(KERN_ERR "unable to send bytes 0x%02x:0x%02x " |
80 | "to CS8427 (%i)\n", buf[0], buf[1], err); | ||
80 | return err < 0 ? err : -EIO; | 81 | return err < 0 ? err : -EIO; |
81 | } | 82 | } |
82 | return 0; | 83 | return 0; |
83 | } | 84 | } |
84 | 85 | ||
86 | EXPORT_SYMBOL(snd_cs8427_reg_write); | ||
87 | |||
85 | static int snd_cs8427_reg_read(struct snd_i2c_device *device, unsigned char reg) | 88 | static int snd_cs8427_reg_read(struct snd_i2c_device *device, unsigned char reg) |
86 | { | 89 | { |
87 | int err; | 90 | int err; |
88 | unsigned char buf; | 91 | unsigned char buf; |
89 | 92 | ||
90 | if ((err = snd_i2c_sendbytes(device, ®, 1)) != 1) { | 93 | if ((err = snd_i2c_sendbytes(device, ®, 1)) != 1) { |
91 | snd_printk(KERN_ERR "unable to send register 0x%x byte to CS8427\n", reg); | 94 | snd_printk(KERN_ERR "unable to send register 0x%x byte " |
95 | "to CS8427\n", reg); | ||
92 | return err < 0 ? err : -EIO; | 96 | return err < 0 ? err : -EIO; |
93 | } | 97 | } |
94 | if ((err = snd_i2c_readbytes(device, &buf, 1)) != 1) { | 98 | if ((err = snd_i2c_readbytes(device, &buf, 1)) != 1) { |
95 | snd_printk(KERN_ERR "unable to read register 0x%x byte from CS8427\n", reg); | 99 | snd_printk(KERN_ERR "unable to read register 0x%x byte " |
100 | "from CS8427\n", reg); | ||
96 | return err < 0 ? err : -EIO; | 101 | return err < 0 ? err : -EIO; |
97 | } | 102 | } |
98 | return buf; | 103 | return buf; |
@@ -121,7 +126,8 @@ static int snd_cs8427_send_corudata(struct snd_i2c_device *device, | |||
121 | int count) | 126 | int count) |
122 | { | 127 | { |
123 | struct cs8427 *chip = device->private_data; | 128 | struct cs8427 *chip = device->private_data; |
124 | char *hw_data = udata ? chip->playback.hw_udata : chip->playback.hw_status; | 129 | char *hw_data = udata ? |
130 | chip->playback.hw_udata : chip->playback.hw_status; | ||
125 | char data[32]; | 131 | char data[32]; |
126 | int err, idx; | 132 | int err, idx; |
127 | 133 | ||
@@ -134,11 +140,11 @@ static int snd_cs8427_send_corudata(struct snd_i2c_device *device, | |||
134 | memset(data, 0, sizeof(data)); | 140 | memset(data, 0, sizeof(data)); |
135 | if (memcmp(hw_data, data, count) == 0) { | 141 | if (memcmp(hw_data, data, count) == 0) { |
136 | chip->regmap[CS8427_REG_UDATABUF] &= ~CS8427_UBMMASK; | 142 | chip->regmap[CS8427_REG_UDATABUF] &= ~CS8427_UBMMASK; |
137 | chip->regmap[CS8427_REG_UDATABUF] |= CS8427_UBMZEROS | CS8427_EFTUI; | 143 | chip->regmap[CS8427_REG_UDATABUF] |= CS8427_UBMZEROS | |
138 | if ((err = snd_cs8427_reg_write(device, CS8427_REG_UDATABUF, | 144 | CS8427_EFTUI; |
139 | chip->regmap[CS8427_REG_UDATABUF])) < 0) | 145 | err = snd_cs8427_reg_write(device, CS8427_REG_UDATABUF, |
140 | return err; | 146 | chip->regmap[CS8427_REG_UDATABUF]); |
141 | return 0; | 147 | return err < 0 ? err : 0; |
142 | } | 148 | } |
143 | } | 149 | } |
144 | data[0] = CS8427_REG_AUTOINC | CS8427_REG_CORU_DATABUF; | 150 | data[0] = CS8427_REG_AUTOINC | CS8427_REG_CORU_DATABUF; |
@@ -161,24 +167,32 @@ int snd_cs8427_create(struct snd_i2c_bus *bus, | |||
161 | { | 167 | { |
162 | static unsigned char initvals1[] = { | 168 | static unsigned char initvals1[] = { |
163 | CS8427_REG_CONTROL1 | CS8427_REG_AUTOINC, | 169 | CS8427_REG_CONTROL1 | CS8427_REG_AUTOINC, |
164 | /* CS8427_REG_CONTROL1: RMCK to OMCK, valid PCM audio, disable mutes, TCBL=output */ | 170 | /* CS8427_REG_CONTROL1: RMCK to OMCK, valid PCM audio, disable mutes, |
171 | TCBL=output */ | ||
165 | CS8427_SWCLK | CS8427_TCBLDIR, | 172 | CS8427_SWCLK | CS8427_TCBLDIR, |
166 | /* CS8427_REG_CONTROL2: hold last valid audio sample, RMCK=256*Fs, normal stereo operation */ | 173 | /* CS8427_REG_CONTROL2: hold last valid audio sample, RMCK=256*Fs, |
174 | normal stereo operation */ | ||
167 | 0x00, | 175 | 0x00, |
168 | /* CS8427_REG_DATAFLOW: output drivers normal operation, Tx<=serial, Rx=>serial */ | 176 | /* CS8427_REG_DATAFLOW: output drivers normal operation, Tx<=serial, |
177 | Rx=>serial */ | ||
169 | CS8427_TXDSERIAL | CS8427_SPDAES3RECEIVER, | 178 | CS8427_TXDSERIAL | CS8427_SPDAES3RECEIVER, |
170 | /* CS8427_REG_CLOCKSOURCE: Run off, CMCK=256*Fs, output time base = OMCK, input time base = | 179 | /* CS8427_REG_CLOCKSOURCE: Run off, CMCK=256*Fs, |
171 | recovered input clock, recovered input clock source is ILRCK changed to AES3INPUT (workaround, see snd_cs8427_reset) */ | 180 | output time base = OMCK, input time base = recovered input clock, |
181 | recovered input clock source is ILRCK changed to AES3INPUT | ||
182 | (workaround, see snd_cs8427_reset) */ | ||
172 | CS8427_RXDILRCK, | 183 | CS8427_RXDILRCK, |
173 | /* CS8427_REG_SERIALINPUT: Serial audio input port data format = I2S, 24-bit, 64*Fsi */ | 184 | /* CS8427_REG_SERIALINPUT: Serial audio input port data format = I2S, |
185 | 24-bit, 64*Fsi */ | ||
174 | CS8427_SIDEL | CS8427_SILRPOL, | 186 | CS8427_SIDEL | CS8427_SILRPOL, |
175 | /* CS8427_REG_SERIALOUTPUT: Serial audio output port data format = I2S, 24-bit, 64*Fsi */ | 187 | /* CS8427_REG_SERIALOUTPUT: Serial audio output port data format |
188 | = I2S, 24-bit, 64*Fsi */ | ||
176 | CS8427_SODEL | CS8427_SOLRPOL, | 189 | CS8427_SODEL | CS8427_SOLRPOL, |
177 | }; | 190 | }; |
178 | static unsigned char initvals2[] = { | 191 | static unsigned char initvals2[] = { |
179 | CS8427_REG_RECVERRMASK | CS8427_REG_AUTOINC, | 192 | CS8427_REG_RECVERRMASK | CS8427_REG_AUTOINC, |
180 | /* CS8427_REG_RECVERRMASK: unmask the input PLL clock, V, confidence, biphase, parity status bits */ | 193 | /* CS8427_REG_RECVERRMASK: unmask the input PLL clock, V, confidence, |
181 | /* CS8427_UNLOCK | CS8427_V | CS8427_CONF | CS8427_BIP | CS8427_PAR, */ | 194 | biphase, parity status bits */ |
195 | /* CS8427_UNLOCK | CS8427_V | CS8427_CONF | CS8427_BIP | CS8427_PAR,*/ | ||
182 | 0xff, /* set everything */ | 196 | 0xff, /* set everything */ |
183 | /* CS8427_REG_CSDATABUF: | 197 | /* CS8427_REG_CSDATABUF: |
184 | Registers 32-55 window to CS buffer | 198 | Registers 32-55 window to CS buffer |
@@ -201,7 +215,8 @@ int snd_cs8427_create(struct snd_i2c_bus *bus, | |||
201 | struct snd_i2c_device *device; | 215 | struct snd_i2c_device *device; |
202 | unsigned char buf[24]; | 216 | unsigned char buf[24]; |
203 | 217 | ||
204 | if ((err = snd_i2c_device_create(bus, "CS8427", CS8427_ADDR | (addr & 7), | 218 | if ((err = snd_i2c_device_create(bus, "CS8427", |
219 | CS8427_ADDR | (addr & 7), | ||
205 | &device)) < 0) | 220 | &device)) < 0) |
206 | return err; | 221 | return err; |
207 | chip = device->private_data = kzalloc(sizeof(*chip), GFP_KERNEL); | 222 | chip = device->private_data = kzalloc(sizeof(*chip), GFP_KERNEL); |
@@ -212,8 +227,8 @@ int snd_cs8427_create(struct snd_i2c_bus *bus, | |||
212 | device->private_free = snd_cs8427_free; | 227 | device->private_free = snd_cs8427_free; |
213 | 228 | ||
214 | snd_i2c_lock(bus); | 229 | snd_i2c_lock(bus); |
215 | if ((err = snd_cs8427_reg_read(device, CS8427_REG_ID_AND_VER)) != | 230 | err = snd_cs8427_reg_read(device, CS8427_REG_ID_AND_VER); |
216 | CS8427_VER8427A) { | 231 | if (err != CS8427_VER8427A) { |
217 | snd_i2c_unlock(bus); | 232 | snd_i2c_unlock(bus); |
218 | snd_printk(KERN_ERR "unable to find CS8427 signature " | 233 | snd_printk(KERN_ERR "unable to find CS8427 signature " |
219 | "(expected 0x%x, read 0x%x),\n", | 234 | "(expected 0x%x, read 0x%x),\n", |
@@ -222,7 +237,8 @@ int snd_cs8427_create(struct snd_i2c_bus *bus, | |||
222 | return -EFAULT; | 237 | return -EFAULT; |
223 | } | 238 | } |
224 | /* turn off run bit while making changes to configuration */ | 239 | /* turn off run bit while making changes to configuration */ |
225 | if ((err = snd_cs8427_reg_write(device, CS8427_REG_CLOCKSOURCE, 0x00)) < 0) | 240 | err = snd_cs8427_reg_write(device, CS8427_REG_CLOCKSOURCE, 0x00); |
241 | if (err < 0) | ||
226 | goto __fail; | 242 | goto __fail; |
227 | /* send initial values */ | 243 | /* send initial values */ |
228 | memcpy(chip->regmap + (initvals1[0] & 0x7f), initvals1 + 1, 6); | 244 | memcpy(chip->regmap + (initvals1[0] & 0x7f), initvals1 + 1, 6); |
@@ -282,6 +298,8 @@ int snd_cs8427_create(struct snd_i2c_bus *bus, | |||
282 | return err < 0 ? err : -EIO; | 298 | return err < 0 ? err : -EIO; |
283 | } | 299 | } |
284 | 300 | ||
301 | EXPORT_SYMBOL(snd_cs8427_create); | ||
302 | |||
285 | /* | 303 | /* |
286 | * Reset the chip using run bit, also lock PLL using ILRCK and | 304 | * Reset the chip using run bit, also lock PLL using ILRCK and |
287 | * put back AES3INPUT. This workaround is described in latest | 305 | * put back AES3INPUT. This workaround is described in latest |
@@ -296,7 +314,8 @@ static void snd_cs8427_reset(struct snd_i2c_device *cs8427) | |||
296 | snd_assert(cs8427, return); | 314 | snd_assert(cs8427, return); |
297 | chip = cs8427->private_data; | 315 | chip = cs8427->private_data; |
298 | snd_i2c_lock(cs8427->bus); | 316 | snd_i2c_lock(cs8427->bus); |
299 | if ((chip->regmap[CS8427_REG_CLOCKSOURCE] & CS8427_RXDAES3INPUT) == CS8427_RXDAES3INPUT) /* AES3 bit is set */ | 317 | if ((chip->regmap[CS8427_REG_CLOCKSOURCE] & CS8427_RXDAES3INPUT) == |
318 | CS8427_RXDAES3INPUT) /* AES3 bit is set */ | ||
300 | aes3input = 1; | 319 | aes3input = 1; |
301 | chip->regmap[CS8427_REG_CLOCKSOURCE] &= ~(CS8427_RUN | CS8427_RXDMASK); | 320 | chip->regmap[CS8427_REG_CLOCKSOURCE] &= ~(CS8427_RUN | CS8427_RXDMASK); |
302 | snd_cs8427_reg_write(cs8427, CS8427_REG_CLOCKSOURCE, | 321 | snd_cs8427_reg_write(cs8427, CS8427_REG_CLOCKSOURCE, |
@@ -367,12 +386,15 @@ static int snd_cs8427_qsubcode_get(struct snd_kcontrol *kcontrol, | |||
367 | 386 | ||
368 | snd_i2c_lock(device->bus); | 387 | snd_i2c_lock(device->bus); |
369 | if ((err = snd_i2c_sendbytes(device, ®, 1)) != 1) { | 388 | if ((err = snd_i2c_sendbytes(device, ®, 1)) != 1) { |
370 | snd_printk(KERN_ERR "unable to send register 0x%x byte to CS8427\n", reg); | 389 | snd_printk(KERN_ERR "unable to send register 0x%x byte " |
390 | "to CS8427\n", reg); | ||
371 | snd_i2c_unlock(device->bus); | 391 | snd_i2c_unlock(device->bus); |
372 | return err < 0 ? err : -EIO; | 392 | return err < 0 ? err : -EIO; |
373 | } | 393 | } |
374 | if ((err = snd_i2c_readbytes(device, ucontrol->value.bytes.data, 10)) != 10) { | 394 | err = snd_i2c_readbytes(device, ucontrol->value.bytes.data, 10); |
375 | snd_printk(KERN_ERR "unable to read Q-subcode bytes from CS8427\n"); | 395 | if (err != 10) { |
396 | snd_printk(KERN_ERR "unable to read Q-subcode bytes " | ||
397 | "from CS8427\n"); | ||
376 | snd_i2c_unlock(device->bus); | 398 | snd_i2c_unlock(device->bus); |
377 | return err < 0 ? err : -EIO; | 399 | return err < 0 ? err : -EIO; |
378 | } | 400 | } |
@@ -380,7 +402,8 @@ static int snd_cs8427_qsubcode_get(struct snd_kcontrol *kcontrol, | |||
380 | return 0; | 402 | return 0; |
381 | } | 403 | } |
382 | 404 | ||
383 | static int snd_cs8427_spdif_info(struct snd_kcontrol *kcontrol, struct snd_ctl_elem_info *uinfo) | 405 | static int snd_cs8427_spdif_info(struct snd_kcontrol *kcontrol, |
406 | struct snd_ctl_elem_info *uinfo) | ||
384 | { | 407 | { |
385 | uinfo->type = SNDRV_CTL_ELEM_TYPE_IEC958; | 408 | uinfo->type = SNDRV_CTL_ELEM_TYPE_IEC958; |
386 | uinfo->count = 1; | 409 | uinfo->count = 1; |
@@ -413,7 +436,8 @@ static int snd_cs8427_spdif_put(struct snd_kcontrol *kcontrol, | |||
413 | snd_i2c_lock(device->bus); | 436 | snd_i2c_lock(device->bus); |
414 | change = memcmp(ucontrol->value.iec958.status, status, 24) != 0; | 437 | change = memcmp(ucontrol->value.iec958.status, status, 24) != 0; |
415 | memcpy(status, ucontrol->value.iec958.status, 24); | 438 | memcpy(status, ucontrol->value.iec958.status, 24); |
416 | if (change && (kcontrol->private_value ? runtime != NULL : runtime == NULL)) { | 439 | if (change && (kcontrol->private_value ? |
440 | runtime != NULL : runtime == NULL)) { | ||
417 | err = snd_cs8427_send_corudata(device, 0, status, 24); | 441 | err = snd_cs8427_send_corudata(device, 0, status, 24); |
418 | if (err < 0) | 442 | if (err < 0) |
419 | change = err; | 443 | change = err; |
@@ -442,7 +466,8 @@ static struct snd_kcontrol_new snd_cs8427_iec958_controls[] = { | |||
442 | .iface = SNDRV_CTL_ELEM_IFACE_PCM, | 466 | .iface = SNDRV_CTL_ELEM_IFACE_PCM, |
443 | .info = snd_cs8427_in_status_info, | 467 | .info = snd_cs8427_in_status_info, |
444 | .name = "IEC958 CS8427 Input Status", | 468 | .name = "IEC958 CS8427 Input Status", |
445 | .access = SNDRV_CTL_ELEM_ACCESS_READ | SNDRV_CTL_ELEM_ACCESS_VOLATILE, | 469 | .access = (SNDRV_CTL_ELEM_ACCESS_READ | |
470 | SNDRV_CTL_ELEM_ACCESS_VOLATILE), | ||
446 | .get = snd_cs8427_in_status_get, | 471 | .get = snd_cs8427_in_status_get, |
447 | .private_value = 15, | 472 | .private_value = 15, |
448 | }, | 473 | }, |
@@ -450,7 +475,8 @@ static struct snd_kcontrol_new snd_cs8427_iec958_controls[] = { | |||
450 | .iface = SNDRV_CTL_ELEM_IFACE_PCM, | 475 | .iface = SNDRV_CTL_ELEM_IFACE_PCM, |
451 | .info = snd_cs8427_in_status_info, | 476 | .info = snd_cs8427_in_status_info, |
452 | .name = "IEC958 CS8427 Error Status", | 477 | .name = "IEC958 CS8427 Error Status", |
453 | .access = SNDRV_CTL_ELEM_ACCESS_READ | SNDRV_CTL_ELEM_ACCESS_VOLATILE, | 478 | .access = (SNDRV_CTL_ELEM_ACCESS_READ | |
479 | SNDRV_CTL_ELEM_ACCESS_VOLATILE), | ||
454 | .get = snd_cs8427_in_status_get, | 480 | .get = snd_cs8427_in_status_get, |
455 | .private_value = 16, | 481 | .private_value = 16, |
456 | }, | 482 | }, |
@@ -470,7 +496,8 @@ static struct snd_kcontrol_new snd_cs8427_iec958_controls[] = { | |||
470 | .private_value = 0 | 496 | .private_value = 0 |
471 | }, | 497 | }, |
472 | { | 498 | { |
473 | .access = SNDRV_CTL_ELEM_ACCESS_READWRITE | SNDRV_CTL_ELEM_ACCESS_INACTIVE, | 499 | .access = (SNDRV_CTL_ELEM_ACCESS_READWRITE | |
500 | SNDRV_CTL_ELEM_ACCESS_INACTIVE), | ||
474 | .iface = SNDRV_CTL_ELEM_IFACE_PCM, | 501 | .iface = SNDRV_CTL_ELEM_IFACE_PCM, |
475 | .name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,PCM_STREAM), | 502 | .name = SNDRV_CTL_NAME_IEC958("",PLAYBACK,PCM_STREAM), |
476 | .info = snd_cs8427_spdif_info, | 503 | .info = snd_cs8427_spdif_info, |
@@ -482,7 +509,8 @@ static struct snd_kcontrol_new snd_cs8427_iec958_controls[] = { | |||
482 | .iface = SNDRV_CTL_ELEM_IFACE_PCM, | 509 | .iface = SNDRV_CTL_ELEM_IFACE_PCM, |
483 | .info = snd_cs8427_qsubcode_info, | 510 | .info = snd_cs8427_qsubcode_info, |
484 | .name = "IEC958 Q-subcode Capture Default", | 511 | .name = "IEC958 Q-subcode Capture Default", |
485 | .access = SNDRV_CTL_ELEM_ACCESS_READ | SNDRV_CTL_ELEM_ACCESS_VOLATILE, | 512 | .access = (SNDRV_CTL_ELEM_ACCESS_READ | |
513 | SNDRV_CTL_ELEM_ACCESS_VOLATILE), | ||
486 | .get = snd_cs8427_qsubcode_get | 514 | .get = snd_cs8427_qsubcode_get |
487 | }}; | 515 | }}; |
488 | 516 | ||
@@ -505,7 +533,8 @@ int snd_cs8427_iec958_build(struct snd_i2c_device *cs8427, | |||
505 | err = snd_ctl_add(cs8427->bus->card, kctl); | 533 | err = snd_ctl_add(cs8427->bus->card, kctl); |
506 | if (err < 0) | 534 | if (err < 0) |
507 | return err; | 535 | return err; |
508 | if (!strcmp(kctl->id.name, SNDRV_CTL_NAME_IEC958("",PLAYBACK,PCM_STREAM))) | 536 | if (! strcmp(kctl->id.name, |
537 | SNDRV_CTL_NAME_IEC958("",PLAYBACK,PCM_STREAM))) | ||
509 | chip->playback.pcm_ctl = kctl; | 538 | chip->playback.pcm_ctl = kctl; |
510 | } | 539 | } |
511 | 540 | ||
@@ -515,6 +544,8 @@ int snd_cs8427_iec958_build(struct snd_i2c_device *cs8427, | |||
515 | return 0; | 544 | return 0; |
516 | } | 545 | } |
517 | 546 | ||
547 | EXPORT_SYMBOL(snd_cs8427_iec958_build); | ||
548 | |||
518 | int snd_cs8427_iec958_active(struct snd_i2c_device *cs8427, int active) | 549 | int snd_cs8427_iec958_active(struct snd_i2c_device *cs8427, int active) |
519 | { | 550 | { |
520 | struct cs8427 *chip; | 551 | struct cs8427 *chip; |
@@ -522,13 +553,17 @@ int snd_cs8427_iec958_active(struct snd_i2c_device *cs8427, int active) | |||
522 | snd_assert(cs8427, return -ENXIO); | 553 | snd_assert(cs8427, return -ENXIO); |
523 | chip = cs8427->private_data; | 554 | chip = cs8427->private_data; |
524 | if (active) | 555 | if (active) |
525 | memcpy(chip->playback.pcm_status, chip->playback.def_status, 24); | 556 | memcpy(chip->playback.pcm_status, |
557 | chip->playback.def_status, 24); | ||
526 | chip->playback.pcm_ctl->vd[0].access &= ~SNDRV_CTL_ELEM_ACCESS_INACTIVE; | 558 | chip->playback.pcm_ctl->vd[0].access &= ~SNDRV_CTL_ELEM_ACCESS_INACTIVE; |
527 | snd_ctl_notify(cs8427->bus->card, SNDRV_CTL_EVENT_MASK_VALUE | | 559 | snd_ctl_notify(cs8427->bus->card, |
528 | SNDRV_CTL_EVENT_MASK_INFO, &chip->playback.pcm_ctl->id); | 560 | SNDRV_CTL_EVENT_MASK_VALUE | SNDRV_CTL_EVENT_MASK_INFO, |
561 | &chip->playback.pcm_ctl->id); | ||
529 | return 0; | 562 | return 0; |
530 | } | 563 | } |
531 | 564 | ||
565 | EXPORT_SYMBOL(snd_cs8427_iec958_active); | ||
566 | |||
532 | int snd_cs8427_iec958_pcm(struct snd_i2c_device *cs8427, unsigned int rate) | 567 | int snd_cs8427_iec958_pcm(struct snd_i2c_device *cs8427, unsigned int rate) |
533 | { | 568 | { |
534 | struct cs8427 *chip; | 569 | struct cs8427 *chip; |
@@ -568,6 +603,8 @@ int snd_cs8427_iec958_pcm(struct snd_i2c_device *cs8427, unsigned int rate) | |||
568 | return err < 0 ? err : 0; | 603 | return err < 0 ? err : 0; |
569 | } | 604 | } |
570 | 605 | ||
606 | EXPORT_SYMBOL(snd_cs8427_iec958_pcm); | ||
607 | |||
571 | static int __init alsa_cs8427_module_init(void) | 608 | static int __init alsa_cs8427_module_init(void) |
572 | { | 609 | { |
573 | return 0; | 610 | return 0; |
@@ -579,10 +616,3 @@ static void __exit alsa_cs8427_module_exit(void) | |||
579 | 616 | ||
580 | module_init(alsa_cs8427_module_init) | 617 | module_init(alsa_cs8427_module_init) |
581 | module_exit(alsa_cs8427_module_exit) | 618 | module_exit(alsa_cs8427_module_exit) |
582 | |||
583 | EXPORT_SYMBOL(snd_cs8427_create); | ||
584 | EXPORT_SYMBOL(snd_cs8427_reset); | ||
585 | EXPORT_SYMBOL(snd_cs8427_reg_write); | ||
586 | EXPORT_SYMBOL(snd_cs8427_iec958_build); | ||
587 | EXPORT_SYMBOL(snd_cs8427_iec958_active); | ||
588 | EXPORT_SYMBOL(snd_cs8427_iec958_pcm); | ||
diff --git a/sound/isa/cs423x/Makefile b/sound/isa/cs423x/Makefile index d2afaea30cbc..2fb4f7409d7c 100644 --- a/sound/isa/cs423x/Makefile +++ b/sound/isa/cs423x/Makefile | |||
@@ -11,6 +11,7 @@ snd-cs4236-objs := cs4236.o | |||
11 | 11 | ||
12 | # Toplevel Module Dependency | 12 | # Toplevel Module Dependency |
13 | obj-$(CONFIG_SND_AZT2320) += snd-cs4231-lib.o | 13 | obj-$(CONFIG_SND_AZT2320) += snd-cs4231-lib.o |
14 | obj-$(CONFIG_SND_MIRO) += snd-cs4231-lib.o | ||
14 | obj-$(CONFIG_SND_OPL3SA2) += snd-cs4231-lib.o | 15 | obj-$(CONFIG_SND_OPL3SA2) += snd-cs4231-lib.o |
15 | obj-$(CONFIG_SND_CS4231) += snd-cs4231.o snd-cs4231-lib.o | 16 | obj-$(CONFIG_SND_CS4231) += snd-cs4231.o snd-cs4231-lib.o |
16 | obj-$(CONFIG_SND_CS4232) += snd-cs4232.o snd-cs4231-lib.o | 17 | obj-$(CONFIG_SND_CS4232) += snd-cs4232.o snd-cs4231-lib.o |
diff --git a/sound/isa/gus/gusextreme.c b/sound/isa/gus/gusextreme.c index 22cdddbfd824..532c56e35ca4 100644 --- a/sound/isa/gus/gusextreme.c +++ b/sound/isa/gus/gusextreme.c | |||
@@ -87,7 +87,7 @@ MODULE_PARM_DESC(channels, "GF1 channels for GUS Extreme driver."); | |||
87 | module_param_array(pcm_channels, int, NULL, 0444); | 87 | module_param_array(pcm_channels, int, NULL, 0444); |
88 | MODULE_PARM_DESC(pcm_channels, "Reserved PCM channels for GUS Extreme driver."); | 88 | MODULE_PARM_DESC(pcm_channels, "Reserved PCM channels for GUS Extreme driver."); |
89 | 89 | ||
90 | struct platform_device *devices[SNDRV_CARDS]; | 90 | static struct platform_device *devices[SNDRV_CARDS]; |
91 | 91 | ||
92 | 92 | ||
93 | #define PFX "gusextreme: " | 93 | #define PFX "gusextreme: " |
diff --git a/sound/isa/wavefront/wavefront_fx.c b/sound/isa/wavefront/wavefront_fx.c index 180661c5ffdc..4f0846feb73f 100644 --- a/sound/isa/wavefront/wavefront_fx.c +++ b/sound/isa/wavefront/wavefront_fx.c | |||
@@ -34,7 +34,7 @@ | |||
34 | 34 | ||
35 | /* weird stuff, derived from port I/O tracing with dosemu */ | 35 | /* weird stuff, derived from port I/O tracing with dosemu */ |
36 | 36 | ||
37 | static unsigned char page_zero[] __initdata = { | 37 | static unsigned char page_zero[] __devinitdata = { |
38 | 0x01, 0x7c, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf5, 0x00, | 38 | 0x01, 0x7c, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf5, 0x00, |
39 | 0x11, 0x00, 0x20, 0x00, 0x32, 0x00, 0x40, 0x00, 0x13, 0x00, 0x00, | 39 | 0x11, 0x00, 0x20, 0x00, 0x32, 0x00, 0x40, 0x00, 0x13, 0x00, 0x00, |
40 | 0x00, 0x14, 0x02, 0x76, 0x00, 0x60, 0x00, 0x80, 0x02, 0x00, 0x00, | 40 | 0x00, 0x14, 0x02, 0x76, 0x00, 0x60, 0x00, 0x80, 0x02, 0x00, 0x00, |
@@ -61,7 +61,7 @@ static unsigned char page_zero[] __initdata = { | |||
61 | 0x1d, 0x02, 0xdf | 61 | 0x1d, 0x02, 0xdf |
62 | }; | 62 | }; |
63 | 63 | ||
64 | static unsigned char page_one[] __initdata = { | 64 | static unsigned char page_one[] __devinitdata = { |
65 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x19, 0x00, | 65 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x19, 0x00, |
66 | 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xd8, 0x00, 0x00, | 66 | 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xd8, 0x00, 0x00, |
67 | 0x02, 0x20, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x01, | 67 | 0x02, 0x20, 0x00, 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x01, |
@@ -88,7 +88,7 @@ static unsigned char page_one[] __initdata = { | |||
88 | 0x60, 0x00, 0x1b | 88 | 0x60, 0x00, 0x1b |
89 | }; | 89 | }; |
90 | 90 | ||
91 | static unsigned char page_two[] __initdata = { | 91 | static unsigned char page_two[] __devinitdata = { |
92 | 0xc4, 0x00, 0x44, 0x07, 0x44, 0x00, 0x40, 0x25, 0x01, 0x06, 0xc4, | 92 | 0xc4, 0x00, 0x44, 0x07, 0x44, 0x00, 0x40, 0x25, 0x01, 0x06, 0xc4, |
93 | 0x07, 0x40, 0x25, 0x01, 0x00, 0x46, 0x46, 0x00, 0x00, 0x00, 0x00, | 93 | 0x07, 0x40, 0x25, 0x01, 0x00, 0x46, 0x46, 0x00, 0x00, 0x00, 0x00, |
94 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | 94 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
@@ -103,7 +103,7 @@ static unsigned char page_two[] __initdata = { | |||
103 | 0x46, 0x05, 0x46, 0x07, 0x46, 0x07, 0x44 | 103 | 0x46, 0x05, 0x46, 0x07, 0x46, 0x07, 0x44 |
104 | }; | 104 | }; |
105 | 105 | ||
106 | static unsigned char page_three[] __initdata = { | 106 | static unsigned char page_three[] __devinitdata = { |
107 | 0x07, 0x40, 0x00, 0x00, 0x00, 0x47, 0x00, 0x40, 0x00, 0x40, 0x06, | 107 | 0x07, 0x40, 0x00, 0x00, 0x00, 0x47, 0x00, 0x40, 0x00, 0x40, 0x06, |
108 | 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | 108 | 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
109 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | 109 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
@@ -118,7 +118,7 @@ static unsigned char page_three[] __initdata = { | |||
118 | 0x02, 0x00, 0x42, 0x00, 0xc0, 0x00, 0x40 | 118 | 0x02, 0x00, 0x42, 0x00, 0xc0, 0x00, 0x40 |
119 | }; | 119 | }; |
120 | 120 | ||
121 | static unsigned char page_four[] __initdata = { | 121 | static unsigned char page_four[] __devinitdata = { |
122 | 0x63, 0x03, 0x26, 0x02, 0x2c, 0x00, 0x24, 0x00, 0x2e, 0x02, 0x02, | 122 | 0x63, 0x03, 0x26, 0x02, 0x2c, 0x00, 0x24, 0x00, 0x2e, 0x02, 0x02, |
123 | 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | 123 | 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
124 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | 124 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
@@ -133,7 +133,7 @@ static unsigned char page_four[] __initdata = { | |||
133 | 0x02, 0x62, 0x02, 0x20, 0x01, 0x21, 0x01 | 133 | 0x02, 0x62, 0x02, 0x20, 0x01, 0x21, 0x01 |
134 | }; | 134 | }; |
135 | 135 | ||
136 | static unsigned char page_six[] __initdata = { | 136 | static unsigned char page_six[] __devinitdata = { |
137 | 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x04, 0x00, 0x00, 0x06, 0x00, | 137 | 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x04, 0x00, 0x00, 0x06, 0x00, |
138 | 0x00, 0x08, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x0e, | 138 | 0x00, 0x08, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x0e, |
139 | 0x00, 0x00, 0x10, 0x00, 0x00, 0x12, 0x00, 0x00, 0x14, 0x00, 0x00, | 139 | 0x00, 0x00, 0x10, 0x00, 0x00, 0x12, 0x00, 0x00, 0x14, 0x00, 0x00, |
@@ -154,7 +154,7 @@ static unsigned char page_six[] __initdata = { | |||
154 | 0x80, 0x00, 0x7e, 0x80, 0x80 | 154 | 0x80, 0x00, 0x7e, 0x80, 0x80 |
155 | }; | 155 | }; |
156 | 156 | ||
157 | static unsigned char page_seven[] __initdata = { | 157 | static unsigned char page_seven[] __devinitdata = { |
158 | 0x0f, 0xff, 0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 0x02, 0x00, 0x00, | 158 | 0x0f, 0xff, 0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 0x02, 0x00, 0x00, |
159 | 0x00, 0x00, 0x00, 0x0f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, | 159 | 0x00, 0x00, 0x00, 0x0f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, |
160 | 0x08, 0x00, 0x00, 0x00, 0x0f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x0f, | 160 | 0x08, 0x00, 0x00, 0x00, 0x0f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x0f, |
@@ -181,7 +181,7 @@ static unsigned char page_seven[] __initdata = { | |||
181 | 0x00, 0x02, 0x00 | 181 | 0x00, 0x02, 0x00 |
182 | }; | 182 | }; |
183 | 183 | ||
184 | static unsigned char page_zero_v2[] __initdata = { | 184 | static unsigned char page_zero_v2[] __devinitdata = { |
185 | 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | 185 | 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
186 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | 186 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
187 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | 187 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
@@ -193,7 +193,7 @@ static unsigned char page_zero_v2[] __initdata = { | |||
193 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 | 193 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 |
194 | }; | 194 | }; |
195 | 195 | ||
196 | static unsigned char page_one_v2[] __initdata = { | 196 | static unsigned char page_one_v2[] __devinitdata = { |
197 | 0x01, 0xc0, 0x01, 0xfa, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x00, 0x00, | 197 | 0x01, 0xc0, 0x01, 0xfa, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x00, 0x00, |
198 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | 198 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
199 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | 199 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
@@ -205,21 +205,21 @@ static unsigned char page_one_v2[] __initdata = { | |||
205 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 | 205 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 |
206 | }; | 206 | }; |
207 | 207 | ||
208 | static unsigned char page_two_v2[] __initdata = { | 208 | static unsigned char page_two_v2[] __devinitdata = { |
209 | 0x46, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | 209 | 0x46, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
210 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | 210 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
211 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | 211 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
212 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | 212 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
213 | 0x00, 0x00, 0x00, 0x00 | 213 | 0x00, 0x00, 0x00, 0x00 |
214 | }; | 214 | }; |
215 | static unsigned char page_three_v2[] __initdata = { | 215 | static unsigned char page_three_v2[] __devinitdata = { |
216 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | 216 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
217 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | 217 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
218 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | 218 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
219 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | 219 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
220 | 0x00, 0x00, 0x00, 0x00 | 220 | 0x00, 0x00, 0x00, 0x00 |
221 | }; | 221 | }; |
222 | static unsigned char page_four_v2[] __initdata = { | 222 | static unsigned char page_four_v2[] __devinitdata = { |
223 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | 223 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
224 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | 224 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
225 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | 225 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
@@ -227,7 +227,7 @@ static unsigned char page_four_v2[] __initdata = { | |||
227 | 0x00, 0x00, 0x00, 0x00 | 227 | 0x00, 0x00, 0x00, 0x00 |
228 | }; | 228 | }; |
229 | 229 | ||
230 | static unsigned char page_seven_v2[] __initdata = { | 230 | static unsigned char page_seven_v2[] __devinitdata = { |
231 | 0x0f, 0xff, 0x0f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | 231 | 0x0f, 0xff, 0x0f, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
232 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | 232 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
233 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, | 233 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, |
@@ -239,7 +239,7 @@ static unsigned char page_seven_v2[] __initdata = { | |||
239 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 | 239 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 |
240 | }; | 240 | }; |
241 | 241 | ||
242 | static unsigned char mod_v2[] __initdata = { | 242 | static unsigned char mod_v2[] __devinitdata = { |
243 | 0x01, 0x00, 0x02, 0x00, 0x01, 0x01, 0x02, 0x00, 0x01, 0x02, 0x02, | 243 | 0x01, 0x00, 0x02, 0x00, 0x01, 0x01, 0x02, 0x00, 0x01, 0x02, 0x02, |
244 | 0x00, 0x01, 0x03, 0x02, 0x00, 0x01, 0x04, 0x02, 0x00, 0x01, 0x05, | 244 | 0x00, 0x01, 0x03, 0x02, 0x00, 0x01, 0x04, 0x02, 0x00, 0x01, 0x05, |
245 | 0x02, 0x00, 0x01, 0x06, 0x02, 0x00, 0x01, 0x07, 0x02, 0x00, 0xb0, | 245 | 0x02, 0x00, 0x01, 0x06, 0x02, 0x00, 0x01, 0x07, 0x02, 0x00, 0xb0, |
@@ -269,7 +269,7 @@ static unsigned char mod_v2[] __initdata = { | |||
269 | 0x02, 0x01, 0x01, 0x04, 0x02, 0x01, 0x01, 0x05, 0x02, 0x01, 0x01, | 269 | 0x02, 0x01, 0x01, 0x04, 0x02, 0x01, 0x01, 0x05, 0x02, 0x01, 0x01, |
270 | 0x06, 0x02, 0x01, 0x01, 0x07, 0x02, 0x01 | 270 | 0x06, 0x02, 0x01, 0x01, 0x07, 0x02, 0x01 |
271 | }; | 271 | }; |
272 | static unsigned char coefficients[] __initdata = { | 272 | static unsigned char coefficients[] __devinitdata = { |
273 | 0x07, 0x46, 0x00, 0x00, 0x07, 0x49, 0x00, 0x00, 0x00, 0x4b, 0x03, | 273 | 0x07, 0x46, 0x00, 0x00, 0x07, 0x49, 0x00, 0x00, 0x00, 0x4b, 0x03, |
274 | 0x11, 0x00, 0x4d, 0x01, 0x32, 0x07, 0x46, 0x00, 0x00, 0x07, 0x49, | 274 | 0x11, 0x00, 0x4d, 0x01, 0x32, 0x07, 0x46, 0x00, 0x00, 0x07, 0x49, |
275 | 0x00, 0x00, 0x07, 0x40, 0x00, 0x00, 0x07, 0x41, 0x00, 0x00, 0x01, | 275 | 0x00, 0x00, 0x07, 0x40, 0x00, 0x00, 0x07, 0x41, 0x00, 0x00, 0x01, |
@@ -305,14 +305,14 @@ static unsigned char coefficients[] __initdata = { | |||
305 | 0x06, 0x6c, 0x4c, 0x6c, 0x06, 0x50, 0x52, 0xe2, 0x06, 0x42, 0x02, | 305 | 0x06, 0x6c, 0x4c, 0x6c, 0x06, 0x50, 0x52, 0xe2, 0x06, 0x42, 0x02, |
306 | 0xba | 306 | 0xba |
307 | }; | 307 | }; |
308 | static unsigned char coefficients2[] __initdata = { | 308 | static unsigned char coefficients2[] __devinitdata = { |
309 | 0x07, 0x46, 0x00, 0x00, 0x07, 0x49, 0x00, 0x00, 0x07, 0x45, 0x0f, | 309 | 0x07, 0x46, 0x00, 0x00, 0x07, 0x49, 0x00, 0x00, 0x07, 0x45, 0x0f, |
310 | 0xff, 0x07, 0x48, 0x0f, 0xff, 0x07, 0x7b, 0x04, 0xcc, 0x07, 0x7d, | 310 | 0xff, 0x07, 0x48, 0x0f, 0xff, 0x07, 0x7b, 0x04, 0xcc, 0x07, 0x7d, |
311 | 0x04, 0xcc, 0x07, 0x7c, 0x00, 0x00, 0x07, 0x7e, 0x00, 0x00, 0x07, | 311 | 0x04, 0xcc, 0x07, 0x7c, 0x00, 0x00, 0x07, 0x7e, 0x00, 0x00, 0x07, |
312 | 0x46, 0x00, 0x00, 0x07, 0x49, 0x00, 0x00, 0x07, 0x47, 0x00, 0x00, | 312 | 0x46, 0x00, 0x00, 0x07, 0x49, 0x00, 0x00, 0x07, 0x47, 0x00, 0x00, |
313 | 0x07, 0x4a, 0x00, 0x00, 0x07, 0x4c, 0x00, 0x00, 0x07, 0x4e, 0x00, 0x00 | 313 | 0x07, 0x4a, 0x00, 0x00, 0x07, 0x4c, 0x00, 0x00, 0x07, 0x4e, 0x00, 0x00 |
314 | }; | 314 | }; |
315 | static unsigned char coefficients3[] __initdata = { | 315 | static unsigned char coefficients3[] __devinitdata = { |
316 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x28, 0x00, 0x51, 0x00, | 316 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x28, 0x00, 0x51, 0x00, |
317 | 0x51, 0x00, 0x7a, 0x00, 0x7a, 0x00, 0xa3, 0x00, 0xa3, 0x00, 0xcc, | 317 | 0x51, 0x00, 0x7a, 0x00, 0x7a, 0x00, 0xa3, 0x00, 0xa3, 0x00, 0xcc, |
318 | 0x00, 0xcc, 0x00, 0xf5, 0x00, 0xf5, 0x01, 0x1e, 0x01, 0x1e, 0x01, | 318 | 0x00, 0xcc, 0x00, 0xf5, 0x00, 0xf5, 0x01, 0x1e, 0x01, 0x1e, 0x01, |
@@ -563,7 +563,7 @@ snd_wavefront_fx_ioctl (struct snd_hwdep *sdev, struct file *file, | |||
563 | */ | 563 | */ |
564 | 564 | ||
565 | 565 | ||
566 | int __init | 566 | int __devinit |
567 | snd_wavefront_fx_start (snd_wavefront_t *dev) | 567 | snd_wavefront_fx_start (snd_wavefront_t *dev) |
568 | 568 | ||
569 | { | 569 | { |
diff --git a/sound/isa/wavefront/wavefront_midi.c b/sound/isa/wavefront/wavefront_midi.c index 15888ba2169b..cb3460094324 100644 --- a/sound/isa/wavefront/wavefront_midi.c +++ b/sound/isa/wavefront/wavefront_midi.c | |||
@@ -474,7 +474,7 @@ snd_wavefront_midi_disable_virtual (snd_wavefront_card_t *card) | |||
474 | spin_unlock_irqrestore (&card->wavefront.midi.virtual, flags); | 474 | spin_unlock_irqrestore (&card->wavefront.midi.virtual, flags); |
475 | } | 475 | } |
476 | 476 | ||
477 | int __init | 477 | int __devinit |
478 | snd_wavefront_midi_start (snd_wavefront_card_t *card) | 478 | snd_wavefront_midi_start (snd_wavefront_card_t *card) |
479 | 479 | ||
480 | { | 480 | { |
diff --git a/sound/isa/wavefront/wavefront_synth.c b/sound/isa/wavefront/wavefront_synth.c index 68aa091e8961..bed329edbdd7 100644 --- a/sound/isa/wavefront/wavefront_synth.c +++ b/sound/isa/wavefront/wavefront_synth.c | |||
@@ -1738,7 +1738,7 @@ snd_wavefront_internal_interrupt (snd_wavefront_card_t *card) | |||
1738 | 7 Unused | 1738 | 7 Unused |
1739 | */ | 1739 | */ |
1740 | 1740 | ||
1741 | static int __init | 1741 | static int __devinit |
1742 | snd_wavefront_interrupt_bits (int irq) | 1742 | snd_wavefront_interrupt_bits (int irq) |
1743 | 1743 | ||
1744 | { | 1744 | { |
@@ -1766,7 +1766,7 @@ snd_wavefront_interrupt_bits (int irq) | |||
1766 | return bits; | 1766 | return bits; |
1767 | } | 1767 | } |
1768 | 1768 | ||
1769 | static void __init | 1769 | static void __devinit |
1770 | wavefront_should_cause_interrupt (snd_wavefront_t *dev, | 1770 | wavefront_should_cause_interrupt (snd_wavefront_t *dev, |
1771 | int val, int port, int timeout) | 1771 | int val, int port, int timeout) |
1772 | 1772 | ||
@@ -1787,7 +1787,7 @@ wavefront_should_cause_interrupt (snd_wavefront_t *dev, | |||
1787 | } | 1787 | } |
1788 | } | 1788 | } |
1789 | 1789 | ||
1790 | static int __init | 1790 | static int __devinit |
1791 | wavefront_reset_to_cleanliness (snd_wavefront_t *dev) | 1791 | wavefront_reset_to_cleanliness (snd_wavefront_t *dev) |
1792 | 1792 | ||
1793 | { | 1793 | { |
@@ -1946,7 +1946,7 @@ wavefront_reset_to_cleanliness (snd_wavefront_t *dev) | |||
1946 | #include <asm/uaccess.h> | 1946 | #include <asm/uaccess.h> |
1947 | 1947 | ||
1948 | 1948 | ||
1949 | static int __init | 1949 | static int __devinit |
1950 | wavefront_download_firmware (snd_wavefront_t *dev, char *path) | 1950 | wavefront_download_firmware (snd_wavefront_t *dev, char *path) |
1951 | 1951 | ||
1952 | { | 1952 | { |
@@ -2047,7 +2047,7 @@ wavefront_download_firmware (snd_wavefront_t *dev, char *path) | |||
2047 | } | 2047 | } |
2048 | 2048 | ||
2049 | 2049 | ||
2050 | static int __init | 2050 | static int __devinit |
2051 | wavefront_do_reset (snd_wavefront_t *dev) | 2051 | wavefront_do_reset (snd_wavefront_t *dev) |
2052 | 2052 | ||
2053 | { | 2053 | { |
@@ -2136,7 +2136,7 @@ wavefront_do_reset (snd_wavefront_t *dev) | |||
2136 | return 1; | 2136 | return 1; |
2137 | } | 2137 | } |
2138 | 2138 | ||
2139 | int __init | 2139 | int __devinit |
2140 | snd_wavefront_start (snd_wavefront_t *dev) | 2140 | snd_wavefront_start (snd_wavefront_t *dev) |
2141 | 2141 | ||
2142 | { | 2142 | { |
@@ -2178,7 +2178,7 @@ snd_wavefront_start (snd_wavefront_t *dev) | |||
2178 | return (0); | 2178 | return (0); |
2179 | } | 2179 | } |
2180 | 2180 | ||
2181 | int __init | 2181 | int __devinit |
2182 | snd_wavefront_detect (snd_wavefront_card_t *card) | 2182 | snd_wavefront_detect (snd_wavefront_card_t *card) |
2183 | 2183 | ||
2184 | { | 2184 | { |
diff --git a/sound/pci/Kconfig b/sound/pci/Kconfig index 23e54cedfd4a..d7ad32f514da 100644 --- a/sound/pci/Kconfig +++ b/sound/pci/Kconfig | |||
@@ -460,17 +460,19 @@ config SND_FM801 | |||
460 | To compile this driver as a module, choose M here: the module | 460 | To compile this driver as a module, choose M here: the module |
461 | will be called snd-fm801. | 461 | will be called snd-fm801. |
462 | 462 | ||
463 | config SND_FM801_TEA575X | 463 | config SND_FM801_TEA575X_BOOL |
464 | tristate "ForteMedia FM801 + TEA5757 tuner" | 464 | bool "ForteMedia FM801 + TEA5757 tuner" |
465 | depends on SND_FM801 | 465 | depends on SND_FM801 |
466 | select VIDEO_DEV | ||
467 | help | 466 | help |
468 | Say Y here to include support for soundcards based on the ForteMedia | 467 | Say Y here to include support for soundcards based on the ForteMedia |
469 | FM801 chip with a TEA5757 tuner connected to GPIO1-3 pins (Media | 468 | FM801 chip with a TEA5757 tuner connected to GPIO1-3 pins (Media |
470 | Forte SF256-PCS-02). | 469 | Forte SF256-PCS-02) into the snd-fm801 driver. |
471 | 470 | ||
472 | To compile this driver as a module, choose M here: the module | 471 | config SND_FM801_TEA575X |
473 | will be called snd-fm801-tea575x. | 472 | tristate |
473 | depends on SND_FM801_TEA575X_BOOL | ||
474 | default SND_FM801 | ||
475 | select VIDEO_DEV | ||
474 | 476 | ||
475 | config SND_HDA_INTEL | 477 | config SND_HDA_INTEL |
476 | tristate "Intel HD Audio" | 478 | tristate "Intel HD Audio" |
diff --git a/sound/pci/ad1889.c b/sound/pci/ad1889.c index f7aef8c9cf43..0786d0edaca5 100644 --- a/sound/pci/ad1889.c +++ b/sound/pci/ad1889.c | |||
@@ -241,14 +241,14 @@ ad1889_channel_reset(struct snd_ad1889 *chip, unsigned int channel) | |||
241 | } | 241 | } |
242 | } | 242 | } |
243 | 243 | ||
244 | static inline u16 | 244 | static u16 |
245 | snd_ad1889_ac97_read(struct snd_ac97 *ac97, unsigned short reg) | 245 | snd_ad1889_ac97_read(struct snd_ac97 *ac97, unsigned short reg) |
246 | { | 246 | { |
247 | struct snd_ad1889 *chip = ac97->private_data; | 247 | struct snd_ad1889 *chip = ac97->private_data; |
248 | return ad1889_readw(chip, AD_AC97_BASE + reg); | 248 | return ad1889_readw(chip, AD_AC97_BASE + reg); |
249 | } | 249 | } |
250 | 250 | ||
251 | static inline void | 251 | static void |
252 | snd_ad1889_ac97_write(struct snd_ac97 *ac97, unsigned short reg, unsigned short val) | 252 | snd_ad1889_ac97_write(struct snd_ac97 *ac97, unsigned short reg, unsigned short val) |
253 | { | 253 | { |
254 | struct snd_ad1889 *chip = ac97->private_data; | 254 | struct snd_ad1889 *chip = ac97->private_data; |
@@ -873,7 +873,7 @@ skip_hw: | |||
873 | return 0; | 873 | return 0; |
874 | } | 874 | } |
875 | 875 | ||
876 | static inline int | 876 | static int |
877 | snd_ad1889_dev_free(struct snd_device *device) | 877 | snd_ad1889_dev_free(struct snd_device *device) |
878 | { | 878 | { |
879 | struct snd_ad1889 *chip = device->device_data; | 879 | struct snd_ad1889 *chip = device->device_data; |
@@ -1051,7 +1051,7 @@ snd_ad1889_remove(struct pci_dev *pci) | |||
1051 | pci_set_drvdata(pci, NULL); | 1051 | pci_set_drvdata(pci, NULL); |
1052 | } | 1052 | } |
1053 | 1053 | ||
1054 | static struct pci_device_id snd_ad1889_ids[] __devinitdata = { | 1054 | static struct pci_device_id snd_ad1889_ids[] = { |
1055 | { PCI_DEVICE(PCI_VENDOR_ID_ANALOG_DEVICES, PCI_DEVICE_ID_AD1889JS) }, | 1055 | { PCI_DEVICE(PCI_VENDOR_ID_ANALOG_DEVICES, PCI_DEVICE_ID_AD1889JS) }, |
1056 | { 0, }, | 1056 | { 0, }, |
1057 | }; | 1057 | }; |
diff --git a/sound/pci/ali5451/ali5451.c b/sound/pci/ali5451/ali5451.c index e0a815e53d1c..74668398eac5 100644 --- a/sound/pci/ali5451/ali5451.c +++ b/sound/pci/ali5451/ali5451.c | |||
@@ -279,7 +279,7 @@ struct snd_ali { | |||
279 | #endif | 279 | #endif |
280 | }; | 280 | }; |
281 | 281 | ||
282 | static struct pci_device_id snd_ali_ids[] __devinitdata = { | 282 | static struct pci_device_id snd_ali_ids[] = { |
283 | {PCI_DEVICE(PCI_VENDOR_ID_AL, PCI_DEVICE_ID_AL_M5451), 0, 0, 0}, | 283 | {PCI_DEVICE(PCI_VENDOR_ID_AL, PCI_DEVICE_ID_AL_M5451), 0, 0, 0}, |
284 | {0, } | 284 | {0, } |
285 | }; | 285 | }; |
diff --git a/sound/pci/als300.c b/sound/pci/als300.c index a9c38963188a..96cfb8ae5055 100644 --- a/sound/pci/als300.c +++ b/sound/pci/als300.c | |||
@@ -146,7 +146,7 @@ struct snd_als300_substream_data { | |||
146 | int block_counter_register; | 146 | int block_counter_register; |
147 | }; | 147 | }; |
148 | 148 | ||
149 | static struct pci_device_id snd_als300_ids[] __devinitdata = { | 149 | static struct pci_device_id snd_als300_ids[] = { |
150 | { 0x4005, 0x0300, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_ALS300 }, | 150 | { 0x4005, 0x0300, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_ALS300 }, |
151 | { 0x4005, 0x0308, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_ALS300_PLUS }, | 151 | { 0x4005, 0x0308, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_ALS300_PLUS }, |
152 | { 0, } | 152 | { 0, } |
diff --git a/sound/pci/als4000.c b/sound/pci/als4000.c index a9f08066459a..9e596f750cbd 100644 --- a/sound/pci/als4000.c +++ b/sound/pci/als4000.c | |||
@@ -116,7 +116,7 @@ struct snd_card_als4000 { | |||
116 | #endif | 116 | #endif |
117 | }; | 117 | }; |
118 | 118 | ||
119 | static struct pci_device_id snd_als4000_ids[] __devinitdata = { | 119 | static struct pci_device_id snd_als4000_ids[] = { |
120 | { 0x4005, 0x4000, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* ALS4000 */ | 120 | { 0x4005, 0x4000, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* ALS4000 */ |
121 | { 0, } | 121 | { 0, } |
122 | }; | 122 | }; |
diff --git a/sound/pci/atiixp.c b/sound/pci/atiixp.c index 9fbb065a810b..347e25ff073d 100644 --- a/sound/pci/atiixp.c +++ b/sound/pci/atiixp.c | |||
@@ -284,7 +284,7 @@ struct atiixp { | |||
284 | 284 | ||
285 | /* | 285 | /* |
286 | */ | 286 | */ |
287 | static struct pci_device_id snd_atiixp_ids[] __devinitdata = { | 287 | static struct pci_device_id snd_atiixp_ids[] = { |
288 | { 0x1002, 0x4341, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* SB200 */ | 288 | { 0x1002, 0x4341, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* SB200 */ |
289 | { 0x1002, 0x4361, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* SB300 */ | 289 | { 0x1002, 0x4361, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* SB300 */ |
290 | { 0x1002, 0x4370, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* SB400 */ | 290 | { 0x1002, 0x4370, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* SB400 */ |
diff --git a/sound/pci/atiixp_modem.c b/sound/pci/atiixp_modem.c index 7dcf4941dce2..a89d67c4598b 100644 --- a/sound/pci/atiixp_modem.c +++ b/sound/pci/atiixp_modem.c | |||
@@ -262,7 +262,7 @@ struct atiixp_modem { | |||
262 | 262 | ||
263 | /* | 263 | /* |
264 | */ | 264 | */ |
265 | static struct pci_device_id snd_atiixp_ids[] __devinitdata = { | 265 | static struct pci_device_id snd_atiixp_ids[] = { |
266 | { 0x1002, 0x434d, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* SB200 */ | 266 | { 0x1002, 0x434d, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* SB200 */ |
267 | { 0x1002, 0x4378, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* SB400 */ | 267 | { 0x1002, 0x4378, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* SB400 */ |
268 | { 0, } | 268 | { 0, } |
diff --git a/sound/pci/au88x0/au8810.c b/sound/pci/au88x0/au8810.c index bd3352998ad0..fce22c7af0ea 100644 --- a/sound/pci/au88x0/au8810.c +++ b/sound/pci/au88x0/au8810.c | |||
@@ -1,6 +1,6 @@ | |||
1 | #include "au8810.h" | 1 | #include "au8810.h" |
2 | #include "au88x0.h" | 2 | #include "au88x0.h" |
3 | static struct pci_device_id snd_vortex_ids[] __devinitdata = { | 3 | static struct pci_device_id snd_vortex_ids[] = { |
4 | {PCI_VENDOR_ID_AUREAL, PCI_DEVICE_ID_AUREAL_ADVANTAGE, | 4 | {PCI_VENDOR_ID_AUREAL, PCI_DEVICE_ID_AUREAL_ADVANTAGE, |
5 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1,}, | 5 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1,}, |
6 | {0,} | 6 | {0,} |
diff --git a/sound/pci/au88x0/au8820.c b/sound/pci/au88x0/au8820.c index 7e3fd8372d8d..d1fbcce07257 100644 --- a/sound/pci/au88x0/au8820.c +++ b/sound/pci/au88x0/au8820.c | |||
@@ -1,6 +1,6 @@ | |||
1 | #include "au8820.h" | 1 | #include "au8820.h" |
2 | #include "au88x0.h" | 2 | #include "au88x0.h" |
3 | static struct pci_device_id snd_vortex_ids[] __devinitdata = { | 3 | static struct pci_device_id snd_vortex_ids[] = { |
4 | {PCI_VENDOR_ID_AUREAL, PCI_DEVICE_ID_AUREAL_VORTEX_1, | 4 | {PCI_VENDOR_ID_AUREAL, PCI_DEVICE_ID_AUREAL_VORTEX_1, |
5 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0,}, | 5 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0,}, |
6 | {0,} | 6 | {0,} |
diff --git a/sound/pci/au88x0/au8830.c b/sound/pci/au88x0/au8830.c index b840f6608a61..d4f2717c14fb 100644 --- a/sound/pci/au88x0/au8830.c +++ b/sound/pci/au88x0/au8830.c | |||
@@ -1,6 +1,6 @@ | |||
1 | #include "au8830.h" | 1 | #include "au8830.h" |
2 | #include "au88x0.h" | 2 | #include "au88x0.h" |
3 | static struct pci_device_id snd_vortex_ids[] __devinitdata = { | 3 | static struct pci_device_id snd_vortex_ids[] = { |
4 | {PCI_VENDOR_ID_AUREAL, PCI_DEVICE_ID_AUREAL_VORTEX_2, | 4 | {PCI_VENDOR_ID_AUREAL, PCI_DEVICE_ID_AUREAL_VORTEX_2, |
5 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0,}, | 5 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0,}, |
6 | {0,} | 6 | {0,} |
diff --git a/sound/pci/au88x0/au88x0.h b/sound/pci/au88x0/au88x0.h index f078b716d2b0..b1cfc3c79d07 100644 --- a/sound/pci/au88x0/au88x0.h +++ b/sound/pci/au88x0/au88x0.h | |||
@@ -270,7 +270,8 @@ static void vortex_mix_setvolumebyte(vortex_t * vortex, unsigned char mix, | |||
270 | 270 | ||
271 | /* A3D functions. */ | 271 | /* A3D functions. */ |
272 | #ifndef CHIP_AU8820 | 272 | #ifndef CHIP_AU8820 |
273 | static void vortex_Vort3D(vortex_t * v, int en); | 273 | static void vortex_Vort3D_enable(vortex_t * v); |
274 | static void vortex_Vort3D_disable(vortex_t * v); | ||
274 | static void vortex_Vort3D_connect(vortex_t * vortex, int en); | 275 | static void vortex_Vort3D_connect(vortex_t * vortex, int en); |
275 | static void vortex_Vort3D_InitializeSource(a3dsrc_t * a, int en); | 276 | static void vortex_Vort3D_InitializeSource(a3dsrc_t * a, int en); |
276 | #endif | 277 | #endif |
diff --git a/sound/pci/au88x0/au88x0_a3d.c b/sound/pci/au88x0/au88x0_a3d.c index d215f393ea64..649849e540d3 100644 --- a/sound/pci/au88x0/au88x0_a3d.c +++ b/sound/pci/au88x0/au88x0_a3d.c | |||
@@ -593,24 +593,23 @@ static int Vort3DRend_Initialize(vortex_t * v, unsigned short mode) | |||
593 | static int vortex_a3d_register_controls(vortex_t * vortex); | 593 | static int vortex_a3d_register_controls(vortex_t * vortex); |
594 | static void vortex_a3d_unregister_controls(vortex_t * vortex); | 594 | static void vortex_a3d_unregister_controls(vortex_t * vortex); |
595 | /* A3D base support init/shudown */ | 595 | /* A3D base support init/shudown */ |
596 | static void vortex_Vort3D(vortex_t * v, int en) | 596 | static void __devinit vortex_Vort3D_enable(vortex_t * v) |
597 | { | 597 | { |
598 | int i; | 598 | int i; |
599 | if (en) { | 599 | |
600 | Vort3DRend_Initialize(v, XT_HEADPHONE); | 600 | Vort3DRend_Initialize(v, XT_HEADPHONE); |
601 | for (i = 0; i < NR_A3D; i++) { | 601 | for (i = 0; i < NR_A3D; i++) { |
602 | vortex_A3dSourceHw_Initialize(v, i % 4, i >> 2); | 602 | vortex_A3dSourceHw_Initialize(v, i % 4, i >> 2); |
603 | a3dsrc_ZeroStateA3D(&(v->a3d[0])); | 603 | a3dsrc_ZeroStateA3D(&(v->a3d[0])); |
604 | } | ||
605 | } else { | ||
606 | vortex_XtalkHw_Disable(v); | ||
607 | } | 604 | } |
608 | /* Register ALSA controls */ | 605 | /* Register ALSA controls */ |
609 | if (en) { | 606 | vortex_a3d_register_controls(v); |
610 | vortex_a3d_register_controls(v); | 607 | } |
611 | } else { | 608 | |
612 | vortex_a3d_unregister_controls(v); | 609 | static void vortex_Vort3D_disable(vortex_t * v) |
613 | } | 610 | { |
611 | vortex_XtalkHw_Disable(v); | ||
612 | vortex_a3d_unregister_controls(v); | ||
614 | } | 613 | } |
615 | 614 | ||
616 | /* Make A3D subsystem connections. */ | 615 | /* Make A3D subsystem connections. */ |
@@ -855,7 +854,7 @@ static struct snd_kcontrol_new vortex_a3d_kcontrol __devinitdata = { | |||
855 | }; | 854 | }; |
856 | 855 | ||
857 | /* Control (un)registration. */ | 856 | /* Control (un)registration. */ |
858 | static int vortex_a3d_register_controls(vortex_t * vortex) | 857 | static int __devinit vortex_a3d_register_controls(vortex_t * vortex) |
859 | { | 858 | { |
860 | struct snd_kcontrol *kcontrol; | 859 | struct snd_kcontrol *kcontrol; |
861 | int err, i; | 860 | int err, i; |
diff --git a/sound/pci/au88x0/au88x0_core.c b/sound/pci/au88x0/au88x0_core.c index 4347e6abc1d5..5299cce583d3 100644 --- a/sound/pci/au88x0/au88x0_core.c +++ b/sound/pci/au88x0/au88x0_core.c | |||
@@ -2690,7 +2690,7 @@ static int __devinit vortex_core_init(vortex_t * vortex) | |||
2690 | #ifndef CHIP_AU8820 | 2690 | #ifndef CHIP_AU8820 |
2691 | vortex_eq_init(vortex); | 2691 | vortex_eq_init(vortex); |
2692 | vortex_spdif_init(vortex, 48000, 1); | 2692 | vortex_spdif_init(vortex, 48000, 1); |
2693 | vortex_Vort3D(vortex, 1); | 2693 | vortex_Vort3D_enable(vortex); |
2694 | #endif | 2694 | #endif |
2695 | #ifndef CHIP_AU8810 | 2695 | #ifndef CHIP_AU8810 |
2696 | vortex_wt_init(vortex); | 2696 | vortex_wt_init(vortex); |
@@ -2718,7 +2718,7 @@ static int vortex_core_shutdown(vortex_t * vortex) | |||
2718 | printk(KERN_INFO "Vortex: shutdown..."); | 2718 | printk(KERN_INFO "Vortex: shutdown..."); |
2719 | #ifndef CHIP_AU8820 | 2719 | #ifndef CHIP_AU8820 |
2720 | vortex_eq_free(vortex); | 2720 | vortex_eq_free(vortex); |
2721 | vortex_Vort3D(vortex, 0); | 2721 | vortex_Vort3D_disable(vortex); |
2722 | #endif | 2722 | #endif |
2723 | //vortex_disable_timer_int(vortex); | 2723 | //vortex_disable_timer_int(vortex); |
2724 | vortex_disable_int(vortex); | 2724 | vortex_disable_int(vortex); |
diff --git a/sound/pci/azt3328.c b/sound/pci/azt3328.c index 15447a3216dd..bac8e9cfd921 100644 --- a/sound/pci/azt3328.c +++ b/sound/pci/azt3328.c | |||
@@ -238,7 +238,7 @@ struct snd_azf3328 { | |||
238 | #endif | 238 | #endif |
239 | }; | 239 | }; |
240 | 240 | ||
241 | static const struct pci_device_id snd_azf3328_ids[] __devinitdata = { | 241 | static const struct pci_device_id snd_azf3328_ids[] = { |
242 | { 0x122D, 0x50DC, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* PCI168/3328 */ | 242 | { 0x122D, 0x50DC, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* PCI168/3328 */ |
243 | { 0x122D, 0x80DA, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* 3328 */ | 243 | { 0x122D, 0x80DA, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* 3328 */ |
244 | { 0, } | 244 | { 0, } |
diff --git a/sound/pci/bt87x.c b/sound/pci/bt87x.c index 4d4277d045aa..97a280a246cb 100644 --- a/sound/pci/bt87x.c +++ b/sound/pci/bt87x.c | |||
@@ -774,7 +774,7 @@ static int __devinit snd_bt87x_create(struct snd_card *card, | |||
774 | .driver_data = rate } | 774 | .driver_data = rate } |
775 | 775 | ||
776 | /* driver_data is the default digital_rate value for that device */ | 776 | /* driver_data is the default digital_rate value for that device */ |
777 | static struct pci_device_id snd_bt87x_ids[] __devinitdata = { | 777 | static struct pci_device_id snd_bt87x_ids[] = { |
778 | /* Hauppauge WinTV series */ | 778 | /* Hauppauge WinTV series */ |
779 | BT_DEVICE(PCI_DEVICE_ID_BROOKTREE_878, 0x0070, 0x13eb, 32000), | 779 | BT_DEVICE(PCI_DEVICE_ID_BROOKTREE_878, 0x0070, 0x13eb, 32000), |
780 | /* Hauppauge WinTV series */ | 780 | /* Hauppauge WinTV series */ |
diff --git a/sound/pci/ca0106/ca0106_main.c b/sound/pci/ca0106/ca0106_main.c index a30c019bab64..12bbbb6afd2d 100644 --- a/sound/pci/ca0106/ca0106_main.c +++ b/sound/pci/ca0106/ca0106_main.c | |||
@@ -1602,7 +1602,7 @@ static void __devexit snd_ca0106_remove(struct pci_dev *pci) | |||
1602 | } | 1602 | } |
1603 | 1603 | ||
1604 | // PCI IDs | 1604 | // PCI IDs |
1605 | static struct pci_device_id snd_ca0106_ids[] __devinitdata = { | 1605 | static struct pci_device_id snd_ca0106_ids[] = { |
1606 | { 0x1102, 0x0007, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* Audigy LS or Live 24bit */ | 1606 | { 0x1102, 0x0007, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* Audigy LS or Live 24bit */ |
1607 | { 0, } | 1607 | { 0, } |
1608 | }; | 1608 | }; |
diff --git a/sound/pci/cmipci.c b/sound/pci/cmipci.c index 03766ad74998..876b64464b6f 100644 --- a/sound/pci/cmipci.c +++ b/sound/pci/cmipci.c | |||
@@ -2609,7 +2609,7 @@ static inline void snd_cmipci_proc_init(struct cmipci *cm) {} | |||
2609 | #endif | 2609 | #endif |
2610 | 2610 | ||
2611 | 2611 | ||
2612 | static struct pci_device_id snd_cmipci_ids[] __devinitdata = { | 2612 | static struct pci_device_id snd_cmipci_ids[] = { |
2613 | {PCI_VENDOR_ID_CMEDIA, PCI_DEVICE_ID_CMEDIA_CM8338A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, | 2613 | {PCI_VENDOR_ID_CMEDIA, PCI_DEVICE_ID_CMEDIA_CM8338A, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, |
2614 | {PCI_VENDOR_ID_CMEDIA, PCI_DEVICE_ID_CMEDIA_CM8338B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, | 2614 | {PCI_VENDOR_ID_CMEDIA, PCI_DEVICE_ID_CMEDIA_CM8338B, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, |
2615 | {PCI_VENDOR_ID_CMEDIA, PCI_DEVICE_ID_CMEDIA_CM8738, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, | 2615 | {PCI_VENDOR_ID_CMEDIA, PCI_DEVICE_ID_CMEDIA_CM8738, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, |
diff --git a/sound/pci/cs4281.c b/sound/pci/cs4281.c index d1802487f5be..9631456ec3de 100644 --- a/sound/pci/cs4281.c +++ b/sound/pci/cs4281.c | |||
@@ -494,7 +494,7 @@ struct cs4281 { | |||
494 | 494 | ||
495 | static irqreturn_t snd_cs4281_interrupt(int irq, void *dev_id, struct pt_regs *regs); | 495 | static irqreturn_t snd_cs4281_interrupt(int irq, void *dev_id, struct pt_regs *regs); |
496 | 496 | ||
497 | static struct pci_device_id snd_cs4281_ids[] __devinitdata = { | 497 | static struct pci_device_id snd_cs4281_ids[] = { |
498 | { 0x1013, 0x6005, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* CS4281 */ | 498 | { 0x1013, 0x6005, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* CS4281 */ |
499 | { 0, } | 499 | { 0, } |
500 | }; | 500 | }; |
diff --git a/sound/pci/cs46xx/cs46xx.c b/sound/pci/cs46xx/cs46xx.c index 772dc52bfeb2..8b6cd144d101 100644 --- a/sound/pci/cs46xx/cs46xx.c +++ b/sound/pci/cs46xx/cs46xx.c | |||
@@ -65,7 +65,7 @@ MODULE_PARM_DESC(thinkpad, "Force to enable Thinkpad's CLKRUN control."); | |||
65 | module_param_array(mmap_valid, bool, NULL, 0444); | 65 | module_param_array(mmap_valid, bool, NULL, 0444); |
66 | MODULE_PARM_DESC(mmap_valid, "Support OSS mmap."); | 66 | MODULE_PARM_DESC(mmap_valid, "Support OSS mmap."); |
67 | 67 | ||
68 | static struct pci_device_id snd_cs46xx_ids[] __devinitdata = { | 68 | static struct pci_device_id snd_cs46xx_ids[] = { |
69 | { 0x1013, 0x6001, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* CS4280 */ | 69 | { 0x1013, 0x6001, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* CS4280 */ |
70 | { 0x1013, 0x6003, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* CS4612 */ | 70 | { 0x1013, 0x6003, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* CS4612 */ |
71 | { 0x1013, 0x6004, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* CS4615 */ | 71 | { 0x1013, 0x6004, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* CS4615 */ |
diff --git a/sound/pci/cs46xx/cs46xx_lib.c b/sound/pci/cs46xx/cs46xx_lib.c index 894545ea41fd..4851847180d2 100644 --- a/sound/pci/cs46xx/cs46xx_lib.c +++ b/sound/pci/cs46xx/cs46xx_lib.c | |||
@@ -2317,7 +2317,7 @@ static struct snd_kcontrol_new snd_cs46xx_front_dup_ctl = { | |||
2317 | 2317 | ||
2318 | #ifdef CONFIG_SND_CS46XX_NEW_DSP | 2318 | #ifdef CONFIG_SND_CS46XX_NEW_DSP |
2319 | /* Only available on the Hercules Game Theater XP soundcard */ | 2319 | /* Only available on the Hercules Game Theater XP soundcard */ |
2320 | static struct snd_kcontrol_new snd_hercules_controls[] __devinitdata = { | 2320 | static struct snd_kcontrol_new snd_hercules_controls[] = { |
2321 | { | 2321 | { |
2322 | .iface = SNDRV_CTL_ELEM_IFACE_MIXER, | 2322 | .iface = SNDRV_CTL_ELEM_IFACE_MIXER, |
2323 | .name = "Optical/Coaxial SPDIF Input Switch", | 2323 | .name = "Optical/Coaxial SPDIF Input Switch", |
@@ -3458,6 +3458,9 @@ static void hercules_mixer_init (struct snd_cs46xx *chip) | |||
3458 | snd_printdd ("initializing Hercules mixer\n"); | 3458 | snd_printdd ("initializing Hercules mixer\n"); |
3459 | 3459 | ||
3460 | #ifdef CONFIG_SND_CS46XX_NEW_DSP | 3460 | #ifdef CONFIG_SND_CS46XX_NEW_DSP |
3461 | if (chip->in_suspend) | ||
3462 | return; | ||
3463 | |||
3461 | for (idx = 0 ; idx < ARRAY_SIZE(snd_hercules_controls); idx++) { | 3464 | for (idx = 0 ; idx < ARRAY_SIZE(snd_hercules_controls); idx++) { |
3462 | struct snd_kcontrol *kctl; | 3465 | struct snd_kcontrol *kctl; |
3463 | 3466 | ||
@@ -3669,6 +3672,7 @@ int snd_cs46xx_suspend(struct pci_dev *pci, pm_message_t state) | |||
3669 | int amp_saved; | 3672 | int amp_saved; |
3670 | 3673 | ||
3671 | snd_power_change_state(card, SNDRV_CTL_POWER_D3hot); | 3674 | snd_power_change_state(card, SNDRV_CTL_POWER_D3hot); |
3675 | chip->in_suspend = 1; | ||
3672 | snd_pcm_suspend_all(chip->pcm); | 3676 | snd_pcm_suspend_all(chip->pcm); |
3673 | // chip->ac97_powerdown = snd_cs46xx_codec_read(chip, AC97_POWER_CONTROL); | 3677 | // chip->ac97_powerdown = snd_cs46xx_codec_read(chip, AC97_POWER_CONTROL); |
3674 | // chip->ac97_general_purpose = snd_cs46xx_codec_read(chip, BA0_AC97_GENERAL_PURPOSE); | 3678 | // chip->ac97_general_purpose = snd_cs46xx_codec_read(chip, BA0_AC97_GENERAL_PURPOSE); |
@@ -3722,6 +3726,7 @@ int snd_cs46xx_resume(struct pci_dev *pci) | |||
3722 | else | 3726 | else |
3723 | chip->active_ctrl(chip, -1); /* disable CLKRUN */ | 3727 | chip->active_ctrl(chip, -1); /* disable CLKRUN */ |
3724 | chip->amplifier = amp_saved; | 3728 | chip->amplifier = amp_saved; |
3729 | chip->in_suspend = 0; | ||
3725 | snd_power_change_state(card, SNDRV_CTL_POWER_D0); | 3730 | snd_power_change_state(card, SNDRV_CTL_POWER_D0); |
3726 | return 0; | 3731 | return 0; |
3727 | } | 3732 | } |
diff --git a/sound/pci/cs5535audio/cs5535audio.c b/sound/pci/cs5535audio/cs5535audio.c index c12b24c679f2..64c7826e8b8c 100644 --- a/sound/pci/cs5535audio/cs5535audio.c +++ b/sound/pci/cs5535audio/cs5535audio.c | |||
@@ -67,7 +67,7 @@ MODULE_PARM_DESC(id, "ID string for " DRIVER_NAME); | |||
67 | module_param_array(enable, bool, NULL, 0444); | 67 | module_param_array(enable, bool, NULL, 0444); |
68 | MODULE_PARM_DESC(enable, "Enable " DRIVER_NAME); | 68 | MODULE_PARM_DESC(enable, "Enable " DRIVER_NAME); |
69 | 69 | ||
70 | static struct pci_device_id snd_cs5535audio_ids[] __devinitdata = { | 70 | static struct pci_device_id snd_cs5535audio_ids[] = { |
71 | { PCI_DEVICE(PCI_VENDOR_ID_NS, PCI_DEVICE_ID_NS_CS5535_AUDIO) }, | 71 | { PCI_DEVICE(PCI_VENDOR_ID_NS, PCI_DEVICE_ID_NS_CS5535_AUDIO) }, |
72 | { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_CS5536_AUDIO) }, | 72 | { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_CS5536_AUDIO) }, |
73 | {} | 73 | {} |
diff --git a/sound/pci/emu10k1/emu10k1.c b/sound/pci/emu10k1/emu10k1.c index 549673ea14a9..289bcd99c19c 100644 --- a/sound/pci/emu10k1/emu10k1.c +++ b/sound/pci/emu10k1/emu10k1.c | |||
@@ -77,7 +77,7 @@ MODULE_PARM_DESC(subsystem, "Force card subsystem model."); | |||
77 | /* | 77 | /* |
78 | * Class 0401: 1102:0008 (rev 00) Subsystem: 1102:1001 -> Audigy2 Value Model:SB0400 | 78 | * Class 0401: 1102:0008 (rev 00) Subsystem: 1102:1001 -> Audigy2 Value Model:SB0400 |
79 | */ | 79 | */ |
80 | static struct pci_device_id snd_emu10k1_ids[] __devinitdata = { | 80 | static struct pci_device_id snd_emu10k1_ids[] = { |
81 | { 0x1102, 0x0002, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* EMU10K1 */ | 81 | { 0x1102, 0x0002, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* EMU10K1 */ |
82 | { 0x1102, 0x0004, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1 }, /* Audigy */ | 82 | { 0x1102, 0x0004, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1 }, /* Audigy */ |
83 | { 0x1102, 0x0008, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1 }, /* Audigy 2 Value SB0400 */ | 83 | { 0x1102, 0x0008, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 1 }, /* Audigy 2 Value SB0400 */ |
diff --git a/sound/pci/emu10k1/emu10k1_main.c b/sound/pci/emu10k1/emu10k1_main.c index d6f135fe2958..f9b5c3dc3b34 100644 --- a/sound/pci/emu10k1/emu10k1_main.c +++ b/sound/pci/emu10k1/emu10k1_main.c | |||
@@ -531,7 +531,7 @@ static void snd_emu10k1_ecard_setadcgain(struct snd_emu10k1 * emu, | |||
531 | snd_emu10k1_ecard_write(emu, emu->ecard_ctrl); | 531 | snd_emu10k1_ecard_write(emu, emu->ecard_ctrl); |
532 | } | 532 | } |
533 | 533 | ||
534 | static int __devinit snd_emu10k1_ecard_init(struct snd_emu10k1 * emu) | 534 | static int snd_emu10k1_ecard_init(struct snd_emu10k1 * emu) |
535 | { | 535 | { |
536 | unsigned int hc_value; | 536 | unsigned int hc_value; |
537 | 537 | ||
@@ -571,7 +571,7 @@ static int __devinit snd_emu10k1_ecard_init(struct snd_emu10k1 * emu) | |||
571 | return 0; | 571 | return 0; |
572 | } | 572 | } |
573 | 573 | ||
574 | static int __devinit snd_emu10k1_cardbus_init(struct snd_emu10k1 * emu) | 574 | static int snd_emu10k1_cardbus_init(struct snd_emu10k1 * emu) |
575 | { | 575 | { |
576 | unsigned long special_port; | 576 | unsigned long special_port; |
577 | unsigned int value; | 577 | unsigned int value; |
@@ -633,7 +633,7 @@ static int snd_emu1212m_fpga_netlist_write(struct snd_emu10k1 * emu, int reg, in | |||
633 | return 0; | 633 | return 0; |
634 | } | 634 | } |
635 | 635 | ||
636 | static int __devinit snd_emu10k1_emu1212m_init(struct snd_emu10k1 * emu) | 636 | static int snd_emu10k1_emu1212m_init(struct snd_emu10k1 * emu) |
637 | { | 637 | { |
638 | unsigned int i; | 638 | unsigned int i; |
639 | int tmp; | 639 | int tmp; |
@@ -1430,6 +1430,10 @@ void snd_emu10k1_resume_init(struct snd_emu10k1 *emu) | |||
1430 | { | 1430 | { |
1431 | if (emu->card_capabilities->ecard) | 1431 | if (emu->card_capabilities->ecard) |
1432 | snd_emu10k1_ecard_init(emu); | 1432 | snd_emu10k1_ecard_init(emu); |
1433 | else if (emu->card_capabilities->ca_cardbus_chip) | ||
1434 | snd_emu10k1_cardbus_init(emu); | ||
1435 | else if (emu->card_capabilities->emu1212m) | ||
1436 | snd_emu10k1_emu1212m_init(emu); | ||
1433 | else | 1437 | else |
1434 | snd_emu10k1_ptr_write(emu, AC97SLOT, 0, AC97SLOT_CNTR|AC97SLOT_LFE); | 1438 | snd_emu10k1_ptr_write(emu, AC97SLOT, 0, AC97SLOT_CNTR|AC97SLOT_LFE); |
1435 | snd_emu10k1_init(emu, emu->enable_ir, 1); | 1439 | snd_emu10k1_init(emu, emu->enable_ir, 1); |
diff --git a/sound/pci/emu10k1/emu10k1x.c b/sound/pci/emu10k1/emu10k1x.c index 2167279429b8..bda8bdf59935 100644 --- a/sound/pci/emu10k1/emu10k1x.c +++ b/sound/pci/emu10k1/emu10k1x.c | |||
@@ -1286,7 +1286,7 @@ static void snd_emu10k1x_midi_interrupt(struct emu10k1x *emu, unsigned int statu | |||
1286 | do_emu10k1x_midi_interrupt(emu, &emu->midi, status); | 1286 | do_emu10k1x_midi_interrupt(emu, &emu->midi, status); |
1287 | } | 1287 | } |
1288 | 1288 | ||
1289 | static void snd_emu10k1x_midi_cmd(struct emu10k1x * emu, | 1289 | static int snd_emu10k1x_midi_cmd(struct emu10k1x * emu, |
1290 | struct emu10k1x_midi *midi, unsigned char cmd, int ack) | 1290 | struct emu10k1x_midi *midi, unsigned char cmd, int ack) |
1291 | { | 1291 | { |
1292 | unsigned long flags; | 1292 | unsigned long flags; |
@@ -1312,11 +1312,14 @@ static void snd_emu10k1x_midi_cmd(struct emu10k1x * emu, | |||
1312 | ok = 1; | 1312 | ok = 1; |
1313 | } | 1313 | } |
1314 | spin_unlock_irqrestore(&midi->input_lock, flags); | 1314 | spin_unlock_irqrestore(&midi->input_lock, flags); |
1315 | if (!ok) | 1315 | if (!ok) { |
1316 | snd_printk(KERN_ERR "midi_cmd: 0x%x failed at 0x%lx (status = 0x%x, data = 0x%x)!!!\n", | 1316 | snd_printk(KERN_ERR "midi_cmd: 0x%x failed at 0x%lx (status = 0x%x, data = 0x%x)!!!\n", |
1317 | cmd, emu->port, | 1317 | cmd, emu->port, |
1318 | mpu401_read_stat(emu, midi), | 1318 | mpu401_read_stat(emu, midi), |
1319 | mpu401_read_data(emu, midi)); | 1319 | mpu401_read_data(emu, midi)); |
1320 | return 1; | ||
1321 | } | ||
1322 | return 0; | ||
1320 | } | 1323 | } |
1321 | 1324 | ||
1322 | static int snd_emu10k1x_midi_input_open(struct snd_rawmidi_substream *substream) | 1325 | static int snd_emu10k1x_midi_input_open(struct snd_rawmidi_substream *substream) |
@@ -1332,12 +1335,17 @@ static int snd_emu10k1x_midi_input_open(struct snd_rawmidi_substream *substream) | |||
1332 | midi->substream_input = substream; | 1335 | midi->substream_input = substream; |
1333 | if (!(midi->midi_mode & EMU10K1X_MIDI_MODE_OUTPUT)) { | 1336 | if (!(midi->midi_mode & EMU10K1X_MIDI_MODE_OUTPUT)) { |
1334 | spin_unlock_irqrestore(&midi->open_lock, flags); | 1337 | spin_unlock_irqrestore(&midi->open_lock, flags); |
1335 | snd_emu10k1x_midi_cmd(emu, midi, MPU401_RESET, 1); | 1338 | if (snd_emu10k1x_midi_cmd(emu, midi, MPU401_RESET, 1)) |
1336 | snd_emu10k1x_midi_cmd(emu, midi, MPU401_ENTER_UART, 1); | 1339 | goto error_out; |
1340 | if (snd_emu10k1x_midi_cmd(emu, midi, MPU401_ENTER_UART, 1)) | ||
1341 | goto error_out; | ||
1337 | } else { | 1342 | } else { |
1338 | spin_unlock_irqrestore(&midi->open_lock, flags); | 1343 | spin_unlock_irqrestore(&midi->open_lock, flags); |
1339 | } | 1344 | } |
1340 | return 0; | 1345 | return 0; |
1346 | |||
1347 | error_out: | ||
1348 | return -EIO; | ||
1341 | } | 1349 | } |
1342 | 1350 | ||
1343 | static int snd_emu10k1x_midi_output_open(struct snd_rawmidi_substream *substream) | 1351 | static int snd_emu10k1x_midi_output_open(struct snd_rawmidi_substream *substream) |
@@ -1353,12 +1361,17 @@ static int snd_emu10k1x_midi_output_open(struct snd_rawmidi_substream *substream | |||
1353 | midi->substream_output = substream; | 1361 | midi->substream_output = substream; |
1354 | if (!(midi->midi_mode & EMU10K1X_MIDI_MODE_INPUT)) { | 1362 | if (!(midi->midi_mode & EMU10K1X_MIDI_MODE_INPUT)) { |
1355 | spin_unlock_irqrestore(&midi->open_lock, flags); | 1363 | spin_unlock_irqrestore(&midi->open_lock, flags); |
1356 | snd_emu10k1x_midi_cmd(emu, midi, MPU401_RESET, 1); | 1364 | if (snd_emu10k1x_midi_cmd(emu, midi, MPU401_RESET, 1)) |
1357 | snd_emu10k1x_midi_cmd(emu, midi, MPU401_ENTER_UART, 1); | 1365 | goto error_out; |
1366 | if (snd_emu10k1x_midi_cmd(emu, midi, MPU401_ENTER_UART, 1)) | ||
1367 | goto error_out; | ||
1358 | } else { | 1368 | } else { |
1359 | spin_unlock_irqrestore(&midi->open_lock, flags); | 1369 | spin_unlock_irqrestore(&midi->open_lock, flags); |
1360 | } | 1370 | } |
1361 | return 0; | 1371 | return 0; |
1372 | |||
1373 | error_out: | ||
1374 | return -EIO; | ||
1362 | } | 1375 | } |
1363 | 1376 | ||
1364 | static int snd_emu10k1x_midi_input_close(struct snd_rawmidi_substream *substream) | 1377 | static int snd_emu10k1x_midi_input_close(struct snd_rawmidi_substream *substream) |
@@ -1366,6 +1379,7 @@ static int snd_emu10k1x_midi_input_close(struct snd_rawmidi_substream *substream | |||
1366 | struct emu10k1x *emu; | 1379 | struct emu10k1x *emu; |
1367 | struct emu10k1x_midi *midi = substream->rmidi->private_data; | 1380 | struct emu10k1x_midi *midi = substream->rmidi->private_data; |
1368 | unsigned long flags; | 1381 | unsigned long flags; |
1382 | int err = 0; | ||
1369 | 1383 | ||
1370 | emu = midi->emu; | 1384 | emu = midi->emu; |
1371 | snd_assert(emu, return -ENXIO); | 1385 | snd_assert(emu, return -ENXIO); |
@@ -1375,11 +1389,11 @@ static int snd_emu10k1x_midi_input_close(struct snd_rawmidi_substream *substream | |||
1375 | midi->substream_input = NULL; | 1389 | midi->substream_input = NULL; |
1376 | if (!(midi->midi_mode & EMU10K1X_MIDI_MODE_OUTPUT)) { | 1390 | if (!(midi->midi_mode & EMU10K1X_MIDI_MODE_OUTPUT)) { |
1377 | spin_unlock_irqrestore(&midi->open_lock, flags); | 1391 | spin_unlock_irqrestore(&midi->open_lock, flags); |
1378 | snd_emu10k1x_midi_cmd(emu, midi, MPU401_RESET, 0); | 1392 | err = snd_emu10k1x_midi_cmd(emu, midi, MPU401_RESET, 0); |
1379 | } else { | 1393 | } else { |
1380 | spin_unlock_irqrestore(&midi->open_lock, flags); | 1394 | spin_unlock_irqrestore(&midi->open_lock, flags); |
1381 | } | 1395 | } |
1382 | return 0; | 1396 | return err; |
1383 | } | 1397 | } |
1384 | 1398 | ||
1385 | static int snd_emu10k1x_midi_output_close(struct snd_rawmidi_substream *substream) | 1399 | static int snd_emu10k1x_midi_output_close(struct snd_rawmidi_substream *substream) |
@@ -1387,6 +1401,7 @@ static int snd_emu10k1x_midi_output_close(struct snd_rawmidi_substream *substrea | |||
1387 | struct emu10k1x *emu; | 1401 | struct emu10k1x *emu; |
1388 | struct emu10k1x_midi *midi = substream->rmidi->private_data; | 1402 | struct emu10k1x_midi *midi = substream->rmidi->private_data; |
1389 | unsigned long flags; | 1403 | unsigned long flags; |
1404 | int err = 0; | ||
1390 | 1405 | ||
1391 | emu = midi->emu; | 1406 | emu = midi->emu; |
1392 | snd_assert(emu, return -ENXIO); | 1407 | snd_assert(emu, return -ENXIO); |
@@ -1396,11 +1411,11 @@ static int snd_emu10k1x_midi_output_close(struct snd_rawmidi_substream *substrea | |||
1396 | midi->substream_output = NULL; | 1411 | midi->substream_output = NULL; |
1397 | if (!(midi->midi_mode & EMU10K1X_MIDI_MODE_INPUT)) { | 1412 | if (!(midi->midi_mode & EMU10K1X_MIDI_MODE_INPUT)) { |
1398 | spin_unlock_irqrestore(&midi->open_lock, flags); | 1413 | spin_unlock_irqrestore(&midi->open_lock, flags); |
1399 | snd_emu10k1x_midi_cmd(emu, midi, MPU401_RESET, 0); | 1414 | err = snd_emu10k1x_midi_cmd(emu, midi, MPU401_RESET, 0); |
1400 | } else { | 1415 | } else { |
1401 | spin_unlock_irqrestore(&midi->open_lock, flags); | 1416 | spin_unlock_irqrestore(&midi->open_lock, flags); |
1402 | } | 1417 | } |
1403 | return 0; | 1418 | return err; |
1404 | } | 1419 | } |
1405 | 1420 | ||
1406 | static void snd_emu10k1x_midi_input_trigger(struct snd_rawmidi_substream *substream, int up) | 1421 | static void snd_emu10k1x_midi_input_trigger(struct snd_rawmidi_substream *substream, int up) |
@@ -1594,7 +1609,7 @@ static void __devexit snd_emu10k1x_remove(struct pci_dev *pci) | |||
1594 | } | 1609 | } |
1595 | 1610 | ||
1596 | // PCI IDs | 1611 | // PCI IDs |
1597 | static struct pci_device_id snd_emu10k1x_ids[] __devinitdata = { | 1612 | static struct pci_device_id snd_emu10k1x_ids[] = { |
1598 | { 0x1102, 0x0006, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* Dell OEM version (EMU10K1) */ | 1613 | { 0x1102, 0x0006, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* Dell OEM version (EMU10K1) */ |
1599 | { 0, } | 1614 | { 0, } |
1600 | }; | 1615 | }; |
diff --git a/sound/pci/emu10k1/emumpu401.c b/sound/pci/emu10k1/emumpu401.c index d96eb455103f..950c6bcd6b7d 100644 --- a/sound/pci/emu10k1/emumpu401.c +++ b/sound/pci/emu10k1/emumpu401.c | |||
@@ -116,7 +116,7 @@ static void snd_emu10k1_midi_interrupt2(struct snd_emu10k1 *emu, unsigned int st | |||
116 | do_emu10k1_midi_interrupt(emu, &emu->midi2, status); | 116 | do_emu10k1_midi_interrupt(emu, &emu->midi2, status); |
117 | } | 117 | } |
118 | 118 | ||
119 | static void snd_emu10k1_midi_cmd(struct snd_emu10k1 * emu, struct snd_emu10k1_midi *midi, unsigned char cmd, int ack) | 119 | static int snd_emu10k1_midi_cmd(struct snd_emu10k1 * emu, struct snd_emu10k1_midi *midi, unsigned char cmd, int ack) |
120 | { | 120 | { |
121 | unsigned long flags; | 121 | unsigned long flags; |
122 | int timeout, ok; | 122 | int timeout, ok; |
@@ -141,11 +141,14 @@ static void snd_emu10k1_midi_cmd(struct snd_emu10k1 * emu, struct snd_emu10k1_mi | |||
141 | ok = 1; | 141 | ok = 1; |
142 | } | 142 | } |
143 | spin_unlock_irqrestore(&midi->input_lock, flags); | 143 | spin_unlock_irqrestore(&midi->input_lock, flags); |
144 | if (!ok) | 144 | if (!ok) { |
145 | snd_printk(KERN_ERR "midi_cmd: 0x%x failed at 0x%lx (status = 0x%x, data = 0x%x)!!!\n", | 145 | snd_printk(KERN_ERR "midi_cmd: 0x%x failed at 0x%lx (status = 0x%x, data = 0x%x)!!!\n", |
146 | cmd, emu->port, | 146 | cmd, emu->port, |
147 | mpu401_read_stat(emu, midi), | 147 | mpu401_read_stat(emu, midi), |
148 | mpu401_read_data(emu, midi)); | 148 | mpu401_read_data(emu, midi)); |
149 | return 1; | ||
150 | } | ||
151 | return 0; | ||
149 | } | 152 | } |
150 | 153 | ||
151 | static int snd_emu10k1_midi_input_open(struct snd_rawmidi_substream *substream) | 154 | static int snd_emu10k1_midi_input_open(struct snd_rawmidi_substream *substream) |
@@ -161,12 +164,17 @@ static int snd_emu10k1_midi_input_open(struct snd_rawmidi_substream *substream) | |||
161 | midi->substream_input = substream; | 164 | midi->substream_input = substream; |
162 | if (!(midi->midi_mode & EMU10K1_MIDI_MODE_OUTPUT)) { | 165 | if (!(midi->midi_mode & EMU10K1_MIDI_MODE_OUTPUT)) { |
163 | spin_unlock_irqrestore(&midi->open_lock, flags); | 166 | spin_unlock_irqrestore(&midi->open_lock, flags); |
164 | snd_emu10k1_midi_cmd(emu, midi, MPU401_RESET, 1); | 167 | if (snd_emu10k1_midi_cmd(emu, midi, MPU401_RESET, 1)) |
165 | snd_emu10k1_midi_cmd(emu, midi, MPU401_ENTER_UART, 1); | 168 | goto error_out; |
169 | if (snd_emu10k1_midi_cmd(emu, midi, MPU401_ENTER_UART, 1)) | ||
170 | goto error_out; | ||
166 | } else { | 171 | } else { |
167 | spin_unlock_irqrestore(&midi->open_lock, flags); | 172 | spin_unlock_irqrestore(&midi->open_lock, flags); |
168 | } | 173 | } |
169 | return 0; | 174 | return 0; |
175 | |||
176 | error_out: | ||
177 | return -EIO; | ||
170 | } | 178 | } |
171 | 179 | ||
172 | static int snd_emu10k1_midi_output_open(struct snd_rawmidi_substream *substream) | 180 | static int snd_emu10k1_midi_output_open(struct snd_rawmidi_substream *substream) |
@@ -182,12 +190,17 @@ static int snd_emu10k1_midi_output_open(struct snd_rawmidi_substream *substream) | |||
182 | midi->substream_output = substream; | 190 | midi->substream_output = substream; |
183 | if (!(midi->midi_mode & EMU10K1_MIDI_MODE_INPUT)) { | 191 | if (!(midi->midi_mode & EMU10K1_MIDI_MODE_INPUT)) { |
184 | spin_unlock_irqrestore(&midi->open_lock, flags); | 192 | spin_unlock_irqrestore(&midi->open_lock, flags); |
185 | snd_emu10k1_midi_cmd(emu, midi, MPU401_RESET, 1); | 193 | if (snd_emu10k1_midi_cmd(emu, midi, MPU401_RESET, 1)) |
186 | snd_emu10k1_midi_cmd(emu, midi, MPU401_ENTER_UART, 1); | 194 | goto error_out; |
195 | if (snd_emu10k1_midi_cmd(emu, midi, MPU401_ENTER_UART, 1)) | ||
196 | goto error_out; | ||
187 | } else { | 197 | } else { |
188 | spin_unlock_irqrestore(&midi->open_lock, flags); | 198 | spin_unlock_irqrestore(&midi->open_lock, flags); |
189 | } | 199 | } |
190 | return 0; | 200 | return 0; |
201 | |||
202 | error_out: | ||
203 | return -EIO; | ||
191 | } | 204 | } |
192 | 205 | ||
193 | static int snd_emu10k1_midi_input_close(struct snd_rawmidi_substream *substream) | 206 | static int snd_emu10k1_midi_input_close(struct snd_rawmidi_substream *substream) |
@@ -195,6 +208,7 @@ static int snd_emu10k1_midi_input_close(struct snd_rawmidi_substream *substream) | |||
195 | struct snd_emu10k1 *emu; | 208 | struct snd_emu10k1 *emu; |
196 | struct snd_emu10k1_midi *midi = (struct snd_emu10k1_midi *)substream->rmidi->private_data; | 209 | struct snd_emu10k1_midi *midi = (struct snd_emu10k1_midi *)substream->rmidi->private_data; |
197 | unsigned long flags; | 210 | unsigned long flags; |
211 | int err = 0; | ||
198 | 212 | ||
199 | emu = midi->emu; | 213 | emu = midi->emu; |
200 | snd_assert(emu, return -ENXIO); | 214 | snd_assert(emu, return -ENXIO); |
@@ -204,11 +218,11 @@ static int snd_emu10k1_midi_input_close(struct snd_rawmidi_substream *substream) | |||
204 | midi->substream_input = NULL; | 218 | midi->substream_input = NULL; |
205 | if (!(midi->midi_mode & EMU10K1_MIDI_MODE_OUTPUT)) { | 219 | if (!(midi->midi_mode & EMU10K1_MIDI_MODE_OUTPUT)) { |
206 | spin_unlock_irqrestore(&midi->open_lock, flags); | 220 | spin_unlock_irqrestore(&midi->open_lock, flags); |
207 | snd_emu10k1_midi_cmd(emu, midi, MPU401_RESET, 0); | 221 | err = snd_emu10k1_midi_cmd(emu, midi, MPU401_RESET, 0); |
208 | } else { | 222 | } else { |
209 | spin_unlock_irqrestore(&midi->open_lock, flags); | 223 | spin_unlock_irqrestore(&midi->open_lock, flags); |
210 | } | 224 | } |
211 | return 0; | 225 | return err; |
212 | } | 226 | } |
213 | 227 | ||
214 | static int snd_emu10k1_midi_output_close(struct snd_rawmidi_substream *substream) | 228 | static int snd_emu10k1_midi_output_close(struct snd_rawmidi_substream *substream) |
@@ -216,6 +230,7 @@ static int snd_emu10k1_midi_output_close(struct snd_rawmidi_substream *substream | |||
216 | struct snd_emu10k1 *emu; | 230 | struct snd_emu10k1 *emu; |
217 | struct snd_emu10k1_midi *midi = (struct snd_emu10k1_midi *)substream->rmidi->private_data; | 231 | struct snd_emu10k1_midi *midi = (struct snd_emu10k1_midi *)substream->rmidi->private_data; |
218 | unsigned long flags; | 232 | unsigned long flags; |
233 | int err = 0; | ||
219 | 234 | ||
220 | emu = midi->emu; | 235 | emu = midi->emu; |
221 | snd_assert(emu, return -ENXIO); | 236 | snd_assert(emu, return -ENXIO); |
@@ -225,11 +240,11 @@ static int snd_emu10k1_midi_output_close(struct snd_rawmidi_substream *substream | |||
225 | midi->substream_output = NULL; | 240 | midi->substream_output = NULL; |
226 | if (!(midi->midi_mode & EMU10K1_MIDI_MODE_INPUT)) { | 241 | if (!(midi->midi_mode & EMU10K1_MIDI_MODE_INPUT)) { |
227 | spin_unlock_irqrestore(&midi->open_lock, flags); | 242 | spin_unlock_irqrestore(&midi->open_lock, flags); |
228 | snd_emu10k1_midi_cmd(emu, midi, MPU401_RESET, 0); | 243 | err = snd_emu10k1_midi_cmd(emu, midi, MPU401_RESET, 0); |
229 | } else { | 244 | } else { |
230 | spin_unlock_irqrestore(&midi->open_lock, flags); | 245 | spin_unlock_irqrestore(&midi->open_lock, flags); |
231 | } | 246 | } |
232 | return 0; | 247 | return err; |
233 | } | 248 | } |
234 | 249 | ||
235 | static void snd_emu10k1_midi_input_trigger(struct snd_rawmidi_substream *substream, int up) | 250 | static void snd_emu10k1_midi_input_trigger(struct snd_rawmidi_substream *substream, int up) |
diff --git a/sound/pci/ens1370.c b/sound/pci/ens1370.c index 7a985c868007..a8a601fc781f 100644 --- a/sound/pci/ens1370.c +++ b/sound/pci/ens1370.c | |||
@@ -446,7 +446,7 @@ struct ensoniq { | |||
446 | 446 | ||
447 | static irqreturn_t snd_audiopci_interrupt(int irq, void *dev_id, struct pt_regs *regs); | 447 | static irqreturn_t snd_audiopci_interrupt(int irq, void *dev_id, struct pt_regs *regs); |
448 | 448 | ||
449 | static struct pci_device_id snd_audiopci_ids[] __devinitdata = { | 449 | static struct pci_device_id snd_audiopci_ids[] = { |
450 | #ifdef CHIP1370 | 450 | #ifdef CHIP1370 |
451 | { 0x1274, 0x5000, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* ES1370 */ | 451 | { 0x1274, 0x5000, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* ES1370 */ |
452 | #endif | 452 | #endif |
diff --git a/sound/pci/es1938.c b/sound/pci/es1938.c index 1113b10259cf..cc0f34f68185 100644 --- a/sound/pci/es1938.c +++ b/sound/pci/es1938.c | |||
@@ -242,7 +242,7 @@ struct es1938 { | |||
242 | 242 | ||
243 | static irqreturn_t snd_es1938_interrupt(int irq, void *dev_id, struct pt_regs *regs); | 243 | static irqreturn_t snd_es1938_interrupt(int irq, void *dev_id, struct pt_regs *regs); |
244 | 244 | ||
245 | static struct pci_device_id snd_es1938_ids[] __devinitdata = { | 245 | static struct pci_device_id snd_es1938_ids[] = { |
246 | { 0x125d, 0x1969, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* Solo-1 */ | 246 | { 0x125d, 0x1969, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* Solo-1 */ |
247 | { 0, } | 247 | { 0, } |
248 | }; | 248 | }; |
diff --git a/sound/pci/es1968.c b/sound/pci/es1968.c index a491c8f8a6a8..3c5ab7c2e72d 100644 --- a/sound/pci/es1968.c +++ b/sound/pci/es1968.c | |||
@@ -592,7 +592,7 @@ struct es1968 { | |||
592 | 592 | ||
593 | static irqreturn_t snd_es1968_interrupt(int irq, void *dev_id, struct pt_regs *regs); | 593 | static irqreturn_t snd_es1968_interrupt(int irq, void *dev_id, struct pt_regs *regs); |
594 | 594 | ||
595 | static struct pci_device_id snd_es1968_ids[] __devinitdata = { | 595 | static struct pci_device_id snd_es1968_ids[] = { |
596 | /* Maestro 1 */ | 596 | /* Maestro 1 */ |
597 | { 0x1285, 0x0100, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_MULTIMEDIA_AUDIO << 8, 0xffff00, TYPE_MAESTRO }, | 597 | { 0x1285, 0x0100, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_MULTIMEDIA_AUDIO << 8, 0xffff00, TYPE_MAESTRO }, |
598 | /* Maestro 2 */ | 598 | /* Maestro 2 */ |
diff --git a/sound/pci/fm801.c b/sound/pci/fm801.c index 3aed27eace2c..13868c985126 100644 --- a/sound/pci/fm801.c +++ b/sound/pci/fm801.c | |||
@@ -35,7 +35,7 @@ | |||
35 | 35 | ||
36 | #include <asm/io.h> | 36 | #include <asm/io.h> |
37 | 37 | ||
38 | #if (defined(CONFIG_SND_FM801_TEA575X) || defined(CONFIG_SND_FM801_TEA575X_MODULE)) && (defined(CONFIG_VIDEO_DEV) || defined(CONFIG_VIDEO_DEV_MODULE)) | 38 | #ifdef CONFIG_SND_FM801_TEA575X_BOOL |
39 | #include <sound/tea575x-tuner.h> | 39 | #include <sound/tea575x-tuner.h> |
40 | #define TEA575X_RADIO 1 | 40 | #define TEA575X_RADIO 1 |
41 | #endif | 41 | #endif |
@@ -199,7 +199,7 @@ struct fm801 { | |||
199 | #endif | 199 | #endif |
200 | }; | 200 | }; |
201 | 201 | ||
202 | static struct pci_device_id snd_fm801_ids[] __devinitdata = { | 202 | static struct pci_device_id snd_fm801_ids[] = { |
203 | { 0x1319, 0x0801, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_MULTIMEDIA_AUDIO << 8, 0xffff00, 0, }, /* FM801 */ | 203 | { 0x1319, 0x0801, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_MULTIMEDIA_AUDIO << 8, 0xffff00, 0, }, /* FM801 */ |
204 | { 0x5213, 0x0510, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_MULTIMEDIA_AUDIO << 8, 0xffff00, 0, }, /* Gallant Odyssey Sound 4 */ | 204 | { 0x5213, 0x0510, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_MULTIMEDIA_AUDIO << 8, 0xffff00, 0, }, /* Gallant Odyssey Sound 4 */ |
205 | { 0, } | 205 | { 0, } |
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index 025af7c0c6e1..79d63c99f092 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c | |||
@@ -1629,7 +1629,7 @@ static void __devexit azx_remove(struct pci_dev *pci) | |||
1629 | } | 1629 | } |
1630 | 1630 | ||
1631 | /* PCI IDs */ | 1631 | /* PCI IDs */ |
1632 | static struct pci_device_id azx_ids[] __devinitdata = { | 1632 | static struct pci_device_id azx_ids[] = { |
1633 | { 0x8086, 0x2668, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_ICH }, /* ICH6 */ | 1633 | { 0x8086, 0x2668, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_ICH }, /* ICH6 */ |
1634 | { 0x8086, 0x27d8, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_ICH }, /* ICH7 */ | 1634 | { 0x8086, 0x27d8, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_ICH }, /* ICH7 */ |
1635 | { 0x8086, 0x269a, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_ICH }, /* ESB2 */ | 1635 | { 0x8086, 0x269a, PCI_ANY_ID, PCI_ANY_ID, 0, 0, AZX_DRIVER_ICH }, /* ESB2 */ |
diff --git a/sound/pci/hda/patch_analog.c b/sound/pci/hda/patch_analog.c index 33b7d5806469..6823f2bc10b3 100644 --- a/sound/pci/hda/patch_analog.c +++ b/sound/pci/hda/patch_analog.c | |||
@@ -1545,6 +1545,9 @@ enum { | |||
1545 | /* reivision id to check workarounds */ | 1545 | /* reivision id to check workarounds */ |
1546 | #define AD1988A_REV2 0x100200 | 1546 | #define AD1988A_REV2 0x100200 |
1547 | 1547 | ||
1548 | #define is_rev2(codec) \ | ||
1549 | ((codec)->vendor_id == 0x11d41988 && \ | ||
1550 | (codec)->revision_id == AD1988A_REV2) | ||
1548 | 1551 | ||
1549 | /* | 1552 | /* |
1550 | * mixers | 1553 | * mixers |
@@ -1636,6 +1639,7 @@ static struct snd_kcontrol_new ad1988_6stack_mixers1[] = { | |||
1636 | HDA_CODEC_VOLUME_MONO("Center Playback Volume", 0x05, 1, 0x0, HDA_OUTPUT), | 1639 | HDA_CODEC_VOLUME_MONO("Center Playback Volume", 0x05, 1, 0x0, HDA_OUTPUT), |
1637 | HDA_CODEC_VOLUME_MONO("LFE Playback Volume", 0x05, 2, 0x0, HDA_OUTPUT), | 1640 | HDA_CODEC_VOLUME_MONO("LFE Playback Volume", 0x05, 2, 0x0, HDA_OUTPUT), |
1638 | HDA_CODEC_VOLUME("Side Playback Volume", 0x0a, 0x0, HDA_OUTPUT), | 1641 | HDA_CODEC_VOLUME("Side Playback Volume", 0x0a, 0x0, HDA_OUTPUT), |
1642 | { } /* end */ | ||
1639 | }; | 1643 | }; |
1640 | 1644 | ||
1641 | static struct snd_kcontrol_new ad1988_6stack_mixers1_rev2[] = { | 1645 | static struct snd_kcontrol_new ad1988_6stack_mixers1_rev2[] = { |
@@ -1644,6 +1648,7 @@ static struct snd_kcontrol_new ad1988_6stack_mixers1_rev2[] = { | |||
1644 | HDA_CODEC_VOLUME_MONO("Center Playback Volume", 0x0a, 1, 0x0, HDA_OUTPUT), | 1648 | HDA_CODEC_VOLUME_MONO("Center Playback Volume", 0x0a, 1, 0x0, HDA_OUTPUT), |
1645 | HDA_CODEC_VOLUME_MONO("LFE Playback Volume", 0x0a, 2, 0x0, HDA_OUTPUT), | 1649 | HDA_CODEC_VOLUME_MONO("LFE Playback Volume", 0x0a, 2, 0x0, HDA_OUTPUT), |
1646 | HDA_CODEC_VOLUME("Side Playback Volume", 0x06, 0x0, HDA_OUTPUT), | 1650 | HDA_CODEC_VOLUME("Side Playback Volume", 0x06, 0x0, HDA_OUTPUT), |
1651 | { } /* end */ | ||
1647 | }; | 1652 | }; |
1648 | 1653 | ||
1649 | static struct snd_kcontrol_new ad1988_6stack_mixers2[] = { | 1654 | static struct snd_kcontrol_new ad1988_6stack_mixers2[] = { |
@@ -1682,6 +1687,7 @@ static struct snd_kcontrol_new ad1988_3stack_mixers1[] = { | |||
1682 | HDA_CODEC_VOLUME("Surround Playback Volume", 0x0a, 0x0, HDA_OUTPUT), | 1687 | HDA_CODEC_VOLUME("Surround Playback Volume", 0x0a, 0x0, HDA_OUTPUT), |
1683 | HDA_CODEC_VOLUME_MONO("Center Playback Volume", 0x05, 1, 0x0, HDA_OUTPUT), | 1688 | HDA_CODEC_VOLUME_MONO("Center Playback Volume", 0x05, 1, 0x0, HDA_OUTPUT), |
1684 | HDA_CODEC_VOLUME_MONO("LFE Playback Volume", 0x05, 2, 0x0, HDA_OUTPUT), | 1689 | HDA_CODEC_VOLUME_MONO("LFE Playback Volume", 0x05, 2, 0x0, HDA_OUTPUT), |
1690 | { } /* end */ | ||
1685 | }; | 1691 | }; |
1686 | 1692 | ||
1687 | static struct snd_kcontrol_new ad1988_3stack_mixers1_rev2[] = { | 1693 | static struct snd_kcontrol_new ad1988_3stack_mixers1_rev2[] = { |
@@ -1689,6 +1695,7 @@ static struct snd_kcontrol_new ad1988_3stack_mixers1_rev2[] = { | |||
1689 | HDA_CODEC_VOLUME("Surround Playback Volume", 0x0a, 0x0, HDA_OUTPUT), | 1695 | HDA_CODEC_VOLUME("Surround Playback Volume", 0x0a, 0x0, HDA_OUTPUT), |
1690 | HDA_CODEC_VOLUME_MONO("Center Playback Volume", 0x06, 1, 0x0, HDA_OUTPUT), | 1696 | HDA_CODEC_VOLUME_MONO("Center Playback Volume", 0x06, 1, 0x0, HDA_OUTPUT), |
1691 | HDA_CODEC_VOLUME_MONO("LFE Playback Volume", 0x06, 2, 0x0, HDA_OUTPUT), | 1697 | HDA_CODEC_VOLUME_MONO("LFE Playback Volume", 0x06, 2, 0x0, HDA_OUTPUT), |
1698 | { } /* end */ | ||
1692 | }; | 1699 | }; |
1693 | 1700 | ||
1694 | static struct snd_kcontrol_new ad1988_3stack_mixers2[] = { | 1701 | static struct snd_kcontrol_new ad1988_3stack_mixers2[] = { |
@@ -2195,7 +2202,7 @@ static inline hda_nid_t ad1988_idx_to_dac(struct hda_codec *codec, int idx) | |||
2195 | /* A B C D E F G H */ | 2202 | /* A B C D E F G H */ |
2196 | 0x04, 0x05, 0x0a, 0x04, 0x06, 0x05, 0x0a, 0x06 | 2203 | 0x04, 0x05, 0x0a, 0x04, 0x06, 0x05, 0x0a, 0x06 |
2197 | }; | 2204 | }; |
2198 | if (codec->revision_id == AD1988A_REV2) | 2205 | if (is_rev2(codec)) |
2199 | return idx_to_dac_rev2[idx]; | 2206 | return idx_to_dac_rev2[idx]; |
2200 | else | 2207 | else |
2201 | return idx_to_dac[idx]; | 2208 | return idx_to_dac[idx]; |
@@ -2564,7 +2571,7 @@ static int patch_ad1988(struct hda_codec *codec) | |||
2564 | mutex_init(&spec->amp_mutex); | 2571 | mutex_init(&spec->amp_mutex); |
2565 | codec->spec = spec; | 2572 | codec->spec = spec; |
2566 | 2573 | ||
2567 | if (codec->revision_id == AD1988A_REV2) | 2574 | if (is_rev2(codec)) |
2568 | snd_printk(KERN_INFO "patch_analog: AD1988A rev.2 is detected, enable workarounds\n"); | 2575 | snd_printk(KERN_INFO "patch_analog: AD1988A rev.2 is detected, enable workarounds\n"); |
2569 | 2576 | ||
2570 | board_config = snd_hda_check_board_config(codec, ad1988_cfg_tbl); | 2577 | board_config = snd_hda_check_board_config(codec, ad1988_cfg_tbl); |
@@ -2590,13 +2597,13 @@ static int patch_ad1988(struct hda_codec *codec) | |||
2590 | case AD1988_6STACK_DIG: | 2597 | case AD1988_6STACK_DIG: |
2591 | spec->multiout.max_channels = 8; | 2598 | spec->multiout.max_channels = 8; |
2592 | spec->multiout.num_dacs = 4; | 2599 | spec->multiout.num_dacs = 4; |
2593 | if (codec->revision_id == AD1988A_REV2) | 2600 | if (is_rev2(codec)) |
2594 | spec->multiout.dac_nids = ad1988_6stack_dac_nids_rev2; | 2601 | spec->multiout.dac_nids = ad1988_6stack_dac_nids_rev2; |
2595 | else | 2602 | else |
2596 | spec->multiout.dac_nids = ad1988_6stack_dac_nids; | 2603 | spec->multiout.dac_nids = ad1988_6stack_dac_nids; |
2597 | spec->input_mux = &ad1988_6stack_capture_source; | 2604 | spec->input_mux = &ad1988_6stack_capture_source; |
2598 | spec->num_mixers = 2; | 2605 | spec->num_mixers = 2; |
2599 | if (codec->revision_id == AD1988A_REV2) | 2606 | if (is_rev2(codec)) |
2600 | spec->mixers[0] = ad1988_6stack_mixers1_rev2; | 2607 | spec->mixers[0] = ad1988_6stack_mixers1_rev2; |
2601 | else | 2608 | else |
2602 | spec->mixers[0] = ad1988_6stack_mixers1; | 2609 | spec->mixers[0] = ad1988_6stack_mixers1; |
@@ -2612,7 +2619,7 @@ static int patch_ad1988(struct hda_codec *codec) | |||
2612 | case AD1988_3STACK_DIG: | 2619 | case AD1988_3STACK_DIG: |
2613 | spec->multiout.max_channels = 6; | 2620 | spec->multiout.max_channels = 6; |
2614 | spec->multiout.num_dacs = 3; | 2621 | spec->multiout.num_dacs = 3; |
2615 | if (codec->revision_id == AD1988A_REV2) | 2622 | if (is_rev2(codec)) |
2616 | spec->multiout.dac_nids = ad1988_3stack_dac_nids_rev2; | 2623 | spec->multiout.dac_nids = ad1988_3stack_dac_nids_rev2; |
2617 | else | 2624 | else |
2618 | spec->multiout.dac_nids = ad1988_3stack_dac_nids; | 2625 | spec->multiout.dac_nids = ad1988_3stack_dac_nids; |
@@ -2620,7 +2627,7 @@ static int patch_ad1988(struct hda_codec *codec) | |||
2620 | spec->channel_mode = ad1988_3stack_modes; | 2627 | spec->channel_mode = ad1988_3stack_modes; |
2621 | spec->num_channel_mode = ARRAY_SIZE(ad1988_3stack_modes); | 2628 | spec->num_channel_mode = ARRAY_SIZE(ad1988_3stack_modes); |
2622 | spec->num_mixers = 2; | 2629 | spec->num_mixers = 2; |
2623 | if (codec->revision_id == AD1988A_REV2) | 2630 | if (is_rev2(codec)) |
2624 | spec->mixers[0] = ad1988_3stack_mixers1_rev2; | 2631 | spec->mixers[0] = ad1988_3stack_mixers1_rev2; |
2625 | else | 2632 | else |
2626 | spec->mixers[0] = ad1988_3stack_mixers1; | 2633 | spec->mixers[0] = ad1988_3stack_mixers1; |
diff --git a/sound/pci/ice1712/aureon.c b/sound/pci/ice1712/aureon.c index ca74f5b85f42..9492f3d2455b 100644 --- a/sound/pci/ice1712/aureon.c +++ b/sound/pci/ice1712/aureon.c | |||
@@ -2131,7 +2131,7 @@ struct snd_ice1712_card_info snd_vt1724_aureon_cards[] __devinitdata = { | |||
2131 | .build_controls = aureon_add_controls, | 2131 | .build_controls = aureon_add_controls, |
2132 | .eeprom_size = sizeof(aureon71_eeprom), | 2132 | .eeprom_size = sizeof(aureon71_eeprom), |
2133 | .eeprom_data = aureon71_eeprom, | 2133 | .eeprom_data = aureon71_eeprom, |
2134 | .driver = "Aureon71Universe", | 2134 | .driver = "Aureon71Univ", /* keep in 15 letters */ |
2135 | }, | 2135 | }, |
2136 | { | 2136 | { |
2137 | .subvendor = VT1724_SUBDEVICE_PRODIGY71, | 2137 | .subvendor = VT1724_SUBDEVICE_PRODIGY71, |
diff --git a/sound/pci/ice1712/ice1712.c b/sound/pci/ice1712/ice1712.c index 89a06dec4365..bf20858d9f19 100644 --- a/sound/pci/ice1712/ice1712.c +++ b/sound/pci/ice1712/ice1712.c | |||
@@ -106,7 +106,7 @@ module_param_array(dxr_enable, int, NULL, 0444); | |||
106 | MODULE_PARM_DESC(dxr_enable, "Enable DXR support for Terratec DMX6FIRE."); | 106 | MODULE_PARM_DESC(dxr_enable, "Enable DXR support for Terratec DMX6FIRE."); |
107 | 107 | ||
108 | 108 | ||
109 | static struct pci_device_id snd_ice1712_ids[] __devinitdata = { | 109 | static struct pci_device_id snd_ice1712_ids[] = { |
110 | { PCI_VENDOR_ID_ICE, PCI_DEVICE_ID_ICE_1712, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* ICE1712 */ | 110 | { PCI_VENDOR_ID_ICE, PCI_DEVICE_ID_ICE_1712, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, /* ICE1712 */ |
111 | { 0, } | 111 | { 0, } |
112 | }; | 112 | }; |
diff --git a/sound/pci/ice1712/ice1724.c b/sound/pci/ice1712/ice1724.c index ad69ed7c1b81..71d6aedc0749 100644 --- a/sound/pci/ice1712/ice1724.c +++ b/sound/pci/ice1712/ice1724.c | |||
@@ -86,7 +86,7 @@ MODULE_PARM_DESC(model, "Use the given board model."); | |||
86 | 86 | ||
87 | 87 | ||
88 | /* Both VT1720 and VT1724 have the same PCI IDs */ | 88 | /* Both VT1720 and VT1724 have the same PCI IDs */ |
89 | static struct pci_device_id snd_vt1724_ids[] __devinitdata = { | 89 | static struct pci_device_id snd_vt1724_ids[] = { |
90 | { PCI_VENDOR_ID_ICE, PCI_DEVICE_ID_VT1724, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, | 90 | { PCI_VENDOR_ID_ICE, PCI_DEVICE_ID_VT1724, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 }, |
91 | { 0, } | 91 | { 0, } |
92 | }; | 92 | }; |
diff --git a/sound/pci/intel8x0.c b/sound/pci/intel8x0.c index 5634bc349257..6874263f1681 100644 --- a/sound/pci/intel8x0.c +++ b/sound/pci/intel8x0.c | |||
@@ -413,7 +413,7 @@ struct intel8x0 { | |||
413 | u32 int_sta_mask; /* interrupt status mask */ | 413 | u32 int_sta_mask; /* interrupt status mask */ |
414 | }; | 414 | }; |
415 | 415 | ||
416 | static struct pci_device_id snd_intel8x0_ids[] __devinitdata = { | 416 | static struct pci_device_id snd_intel8x0_ids[] = { |
417 | { 0x8086, 0x2415, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_INTEL }, /* 82801AA */ | 417 | { 0x8086, 0x2415, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_INTEL }, /* 82801AA */ |
418 | { 0x8086, 0x2425, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_INTEL }, /* 82901AB */ | 418 | { 0x8086, 0x2425, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_INTEL }, /* 82901AB */ |
419 | { 0x8086, 0x2445, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_INTEL }, /* 82801BA */ | 419 | { 0x8086, 0x2445, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_INTEL }, /* 82801BA */ |
@@ -1956,6 +1956,12 @@ static struct ac97_quirk ac97_quirks[] __devinitdata = { | |||
1956 | .type = AC97_TUNE_HP_ONLY | 1956 | .type = AC97_TUNE_HP_ONLY |
1957 | }, | 1957 | }, |
1958 | { | 1958 | { |
1959 | .subvendor = 0x10f1, | ||
1960 | .subdevice = 0x2895, | ||
1961 | .name = "Tyan Thunder K8WE", | ||
1962 | .type = AC97_TUNE_HP_ONLY | ||
1963 | }, | ||
1964 | { | ||
1959 | .subvendor = 0x110a, | 1965 | .subvendor = 0x110a, |
1960 | .subdevice = 0x0056, | 1966 | .subdevice = 0x0056, |
1961 | .name = "Fujitsu-Siemens Scenic", /* AD1981? */ | 1967 | .name = "Fujitsu-Siemens Scenic", /* AD1981? */ |
diff --git a/sound/pci/intel8x0m.c b/sound/pci/intel8x0m.c index f28e273ae276..91850281f89b 100644 --- a/sound/pci/intel8x0m.c +++ b/sound/pci/intel8x0m.c | |||
@@ -224,7 +224,7 @@ struct intel8x0m { | |||
224 | unsigned int pcm_pos_shift; | 224 | unsigned int pcm_pos_shift; |
225 | }; | 225 | }; |
226 | 226 | ||
227 | static struct pci_device_id snd_intel8x0m_ids[] __devinitdata = { | 227 | static struct pci_device_id snd_intel8x0m_ids[] = { |
228 | { 0x8086, 0x2416, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_INTEL }, /* 82801AA */ | 228 | { 0x8086, 0x2416, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_INTEL }, /* 82801AA */ |
229 | { 0x8086, 0x2426, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_INTEL }, /* 82901AB */ | 229 | { 0x8086, 0x2426, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_INTEL }, /* 82901AB */ |
230 | { 0x8086, 0x2446, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_INTEL }, /* 82801BA */ | 230 | { 0x8086, 0x2446, PCI_ANY_ID, PCI_ANY_ID, 0, 0, DEVICE_INTEL }, /* 82801BA */ |
diff --git a/sound/pci/korg1212/korg1212.c b/sound/pci/korg1212/korg1212.c index 2b4ce002794a..cfea51f44784 100644 --- a/sound/pci/korg1212/korg1212.c +++ b/sound/pci/korg1212/korg1212.c | |||
@@ -424,7 +424,7 @@ module_param_array(enable, bool, NULL, 0444); | |||
424 | MODULE_PARM_DESC(enable, "Enable Korg 1212 soundcard."); | 424 | MODULE_PARM_DESC(enable, "Enable Korg 1212 soundcard."); |
425 | MODULE_AUTHOR("Haroldo Gamal <gamal@alternex.com.br>"); | 425 | MODULE_AUTHOR("Haroldo Gamal <gamal@alternex.com.br>"); |
426 | 426 | ||
427 | static struct pci_device_id snd_korg1212_ids[] __devinitdata = { | 427 | static struct pci_device_id snd_korg1212_ids[] = { |
428 | { | 428 | { |
429 | .vendor = 0x10b5, | 429 | .vendor = 0x10b5, |
430 | .device = 0x906d, | 430 | .device = 0x906d, |
diff --git a/sound/pci/maestro3.c b/sound/pci/maestro3.c index 828eab59253a..45214b3b81be 100644 --- a/sound/pci/maestro3.c +++ b/sound/pci/maestro3.c | |||
@@ -869,7 +869,7 @@ struct snd_m3 { | |||
869 | /* | 869 | /* |
870 | * pci ids | 870 | * pci ids |
871 | */ | 871 | */ |
872 | static struct pci_device_id snd_m3_ids[] __devinitdata = { | 872 | static struct pci_device_id snd_m3_ids[] = { |
873 | {PCI_VENDOR_ID_ESS, PCI_DEVICE_ID_ESS_ALLEGRO_1, PCI_ANY_ID, PCI_ANY_ID, | 873 | {PCI_VENDOR_ID_ESS, PCI_DEVICE_ID_ESS_ALLEGRO_1, PCI_ANY_ID, PCI_ANY_ID, |
874 | PCI_CLASS_MULTIMEDIA_AUDIO << 8, 0xffff00, 0}, | 874 | PCI_CLASS_MULTIMEDIA_AUDIO << 8, 0xffff00, 0}, |
875 | {PCI_VENDOR_ID_ESS, PCI_DEVICE_ID_ESS_ALLEGRO, PCI_ANY_ID, PCI_ANY_ID, | 875 | {PCI_VENDOR_ID_ESS, PCI_DEVICE_ID_ESS_ALLEGRO, PCI_ANY_ID, PCI_ANY_ID, |
@@ -2137,7 +2137,7 @@ static int __devinit snd_m3_mixer(struct snd_m3 *chip) | |||
2137 | * DSP Code images | 2137 | * DSP Code images |
2138 | */ | 2138 | */ |
2139 | 2139 | ||
2140 | static const u16 assp_kernel_image[] __devinitdata = { | 2140 | static const u16 assp_kernel_image[] = { |
2141 | 0x7980, 0x0030, 0x7980, 0x03B4, 0x7980, 0x03B4, 0x7980, 0x00FB, 0x7980, 0x00DD, 0x7980, 0x03B4, | 2141 | 0x7980, 0x0030, 0x7980, 0x03B4, 0x7980, 0x03B4, 0x7980, 0x00FB, 0x7980, 0x00DD, 0x7980, 0x03B4, |
2142 | 0x7980, 0x0332, 0x7980, 0x0287, 0x7980, 0x03B4, 0x7980, 0x03B4, 0x7980, 0x03B4, 0x7980, 0x03B4, | 2142 | 0x7980, 0x0332, 0x7980, 0x0287, 0x7980, 0x03B4, 0x7980, 0x03B4, 0x7980, 0x03B4, 0x7980, 0x03B4, |
2143 | 0x7980, 0x031A, 0x7980, 0x03B4, 0x7980, 0x022F, 0x7980, 0x03B4, 0x7980, 0x03B4, 0x7980, 0x03B4, | 2143 | 0x7980, 0x031A, 0x7980, 0x03B4, 0x7980, 0x022F, 0x7980, 0x03B4, 0x7980, 0x03B4, 0x7980, 0x03B4, |
@@ -2224,7 +2224,7 @@ static const u16 assp_kernel_image[] __devinitdata = { | |||
2224 | * Mini sample rate converter code image | 2224 | * Mini sample rate converter code image |
2225 | * that is to be loaded at 0x400 on the DSP. | 2225 | * that is to be loaded at 0x400 on the DSP. |
2226 | */ | 2226 | */ |
2227 | static const u16 assp_minisrc_image[] __devinitdata = { | 2227 | static const u16 assp_minisrc_image[] = { |
2228 | 2228 | ||
2229 | 0xBF80, 0x101E, 0x906E, 0x006E, 0x8B88, 0x6980, 0xEF88, 0x906F, 0x0D6F, 0x6900, 0xEB08, 0x0412, | 2229 | 0xBF80, 0x101E, 0x906E, 0x006E, 0x8B88, 0x6980, 0xEF88, 0x906F, 0x0D6F, 0x6900, 0xEB08, 0x0412, |
2230 | 0xBC20, 0x696E, 0xB801, 0x906E, 0x7980, 0x0403, 0xB90E, 0x8807, 0xBE43, 0xBF01, 0xBE47, 0xBE41, | 2230 | 0xBC20, 0x696E, 0xB801, 0x906E, 0x7980, 0x0403, 0xB90E, 0x8807, 0xBE43, 0xBF01, 0xBE47, 0xBE41, |
@@ -2267,12 +2267,12 @@ static const u16 assp_minisrc_image[] __devinitdata = { | |||
2267 | */ | 2267 | */ |
2268 | 2268 | ||
2269 | #define MINISRC_LPF_LEN 10 | 2269 | #define MINISRC_LPF_LEN 10 |
2270 | static const u16 minisrc_lpf[MINISRC_LPF_LEN] __devinitdata = { | 2270 | static const u16 minisrc_lpf[MINISRC_LPF_LEN] = { |
2271 | 0X0743, 0X1104, 0X0A4C, 0XF88D, 0X242C, | 2271 | 0X0743, 0X1104, 0X0A4C, 0XF88D, 0X242C, |
2272 | 0X1023, 0X1AA9, 0X0B60, 0XEFDD, 0X186F | 2272 | 0X1023, 0X1AA9, 0X0B60, 0XEFDD, 0X186F |
2273 | }; | 2273 | }; |
2274 | 2274 | ||
2275 | static void __devinit snd_m3_assp_init(struct snd_m3 *chip) | 2275 | static void snd_m3_assp_init(struct snd_m3 *chip) |
2276 | { | 2276 | { |
2277 | unsigned int i; | 2277 | unsigned int i; |
2278 | 2278 | ||
diff --git a/sound/pci/mixart/mixart.c b/sound/pci/mixart/mixart.c index a4aaa7b9a231..cc43ecd67906 100644 --- a/sound/pci/mixart/mixart.c +++ b/sound/pci/mixart/mixart.c | |||
@@ -61,7 +61,7 @@ MODULE_PARM_DESC(enable, "Enable Digigram " CARD_NAME " soundcard."); | |||
61 | /* | 61 | /* |
62 | */ | 62 | */ |
63 | 63 | ||
64 | static struct pci_device_id snd_mixart_ids[] __devinitdata = { | 64 | static struct pci_device_id snd_mixart_ids[] = { |
65 | { 0x1057, 0x0003, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* MC8240 */ | 65 | { 0x1057, 0x0003, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* MC8240 */ |
66 | { 0, } | 66 | { 0, } |
67 | }; | 67 | }; |
diff --git a/sound/pci/nm256/nm256.c b/sound/pci/nm256/nm256.c index 56d7282e6651..101eee0aa018 100644 --- a/sound/pci/nm256/nm256.c +++ b/sound/pci/nm256/nm256.c | |||
@@ -263,7 +263,7 @@ struct nm256 { | |||
263 | /* | 263 | /* |
264 | * PCI ids | 264 | * PCI ids |
265 | */ | 265 | */ |
266 | static struct pci_device_id snd_nm256_ids[] __devinitdata = { | 266 | static struct pci_device_id snd_nm256_ids[] = { |
267 | {PCI_VENDOR_ID_NEOMAGIC, PCI_DEVICE_ID_NEOMAGIC_NM256AV_AUDIO, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, | 267 | {PCI_VENDOR_ID_NEOMAGIC, PCI_DEVICE_ID_NEOMAGIC_NM256AV_AUDIO, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, |
268 | {PCI_VENDOR_ID_NEOMAGIC, PCI_DEVICE_ID_NEOMAGIC_NM256ZX_AUDIO, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, | 268 | {PCI_VENDOR_ID_NEOMAGIC, PCI_DEVICE_ID_NEOMAGIC_NM256ZX_AUDIO, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, |
269 | {PCI_VENDOR_ID_NEOMAGIC, PCI_DEVICE_ID_NEOMAGIC_NM256XL_PLUS_AUDIO, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, | 269 | {PCI_VENDOR_ID_NEOMAGIC, PCI_DEVICE_ID_NEOMAGIC_NM256XL_PLUS_AUDIO, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0}, |
diff --git a/sound/pci/pcxhr/pcxhr.c b/sound/pci/pcxhr/pcxhr.c index ae980e11827f..533c672ae8f3 100644 --- a/sound/pci/pcxhr/pcxhr.c +++ b/sound/pci/pcxhr/pcxhr.c | |||
@@ -73,7 +73,7 @@ enum { | |||
73 | PCI_ID_LAST | 73 | PCI_ID_LAST |
74 | }; | 74 | }; |
75 | 75 | ||
76 | static struct pci_device_id pcxhr_ids[] __devinitdata = { | 76 | static struct pci_device_id pcxhr_ids[] = { |
77 | { 0x10b5, 0x9656, 0x1369, 0xb001, 0, 0, PCI_ID_VX882HR, }, /* VX882HR */ | 77 | { 0x10b5, 0x9656, 0x1369, 0xb001, 0, 0, PCI_ID_VX882HR, }, /* VX882HR */ |
78 | { 0x10b5, 0x9656, 0x1369, 0xb101, 0, 0, PCI_ID_PCX882HR, }, /* PCX882HR */ | 78 | { 0x10b5, 0x9656, 0x1369, 0xb101, 0, 0, PCI_ID_PCX882HR, }, /* PCX882HR */ |
79 | { 0x10b5, 0x9656, 0x1369, 0xb201, 0, 0, PCI_ID_VX881HR, }, /* VX881HR */ | 79 | { 0x10b5, 0x9656, 0x1369, 0xb201, 0, 0, PCI_ID_VX881HR, }, /* VX881HR */ |
diff --git a/sound/pci/riptide/riptide.c b/sound/pci/riptide/riptide.c index 5501a08ca23a..f435fcd6dca9 100644 --- a/sound/pci/riptide/riptide.c +++ b/sound/pci/riptide/riptide.c | |||
@@ -506,7 +506,7 @@ static int riptide_reset(struct cmdif *cif, struct snd_riptide *chip); | |||
506 | /* | 506 | /* |
507 | */ | 507 | */ |
508 | 508 | ||
509 | static struct pci_device_id snd_riptide_ids[] __devinitdata = { | 509 | static struct pci_device_id snd_riptide_ids[] = { |
510 | { | 510 | { |
511 | .vendor = 0x127a,.device = 0x4310, | 511 | .vendor = 0x127a,.device = 0x4310, |
512 | .subvendor = PCI_ANY_ID,.subdevice = PCI_ANY_ID, | 512 | .subvendor = PCI_ANY_ID,.subdevice = PCI_ANY_ID, |
diff --git a/sound/pci/rme32.c b/sound/pci/rme32.c index 2e24b68d07aa..2a71499242fa 100644 --- a/sound/pci/rme32.c +++ b/sound/pci/rme32.c | |||
@@ -227,7 +227,7 @@ struct rme32 { | |||
227 | struct snd_kcontrol *spdif_ctl; | 227 | struct snd_kcontrol *spdif_ctl; |
228 | }; | 228 | }; |
229 | 229 | ||
230 | static struct pci_device_id snd_rme32_ids[] __devinitdata = { | 230 | static struct pci_device_id snd_rme32_ids[] = { |
231 | {PCI_VENDOR_ID_XILINX_RME, PCI_DEVICE_ID_RME_DIGI32, | 231 | {PCI_VENDOR_ID_XILINX_RME, PCI_DEVICE_ID_RME_DIGI32, |
232 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0,}, | 232 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0,}, |
233 | {PCI_VENDOR_ID_XILINX_RME, PCI_DEVICE_ID_RME_DIGI32_8, | 233 | {PCI_VENDOR_ID_XILINX_RME, PCI_DEVICE_ID_RME_DIGI32_8, |
diff --git a/sound/pci/rme96.c b/sound/pci/rme96.c index fde0f3e20530..f8de7c997017 100644 --- a/sound/pci/rme96.c +++ b/sound/pci/rme96.c | |||
@@ -232,7 +232,7 @@ struct rme96 { | |||
232 | struct snd_kcontrol *spdif_ctl; | 232 | struct snd_kcontrol *spdif_ctl; |
233 | }; | 233 | }; |
234 | 234 | ||
235 | static struct pci_device_id snd_rme96_ids[] __devinitdata = { | 235 | static struct pci_device_id snd_rme96_ids[] = { |
236 | { PCI_VENDOR_ID_XILINX, PCI_DEVICE_ID_RME_DIGI96, | 236 | { PCI_VENDOR_ID_XILINX, PCI_DEVICE_ID_RME_DIGI96, |
237 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, | 237 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, |
238 | { PCI_VENDOR_ID_XILINX, PCI_DEVICE_ID_RME_DIGI96_8, | 238 | { PCI_VENDOR_ID_XILINX, PCI_DEVICE_ID_RME_DIGI96_8, |
diff --git a/sound/pci/rme9652/hdsp.c b/sound/pci/rme9652/hdsp.c index 99cf86244acb..e5a52da77b85 100644 --- a/sound/pci/rme9652/hdsp.c +++ b/sound/pci/rme9652/hdsp.c | |||
@@ -568,7 +568,7 @@ static void snd_hammerfall_free_buffer(struct snd_dma_buffer *dmab, struct pci_d | |||
568 | } | 568 | } |
569 | 569 | ||
570 | 570 | ||
571 | static struct pci_device_id snd_hdsp_ids[] __devinitdata = { | 571 | static struct pci_device_id snd_hdsp_ids[] = { |
572 | { | 572 | { |
573 | .vendor = PCI_VENDOR_ID_XILINX, | 573 | .vendor = PCI_VENDOR_ID_XILINX, |
574 | .device = PCI_DEVICE_ID_XILINX_HAMMERFALL_DSP, | 574 | .device = PCI_DEVICE_ID_XILINX_HAMMERFALL_DSP, |
@@ -1356,7 +1356,7 @@ static struct snd_rawmidi_ops snd_hdsp_midi_input = | |||
1356 | .trigger = snd_hdsp_midi_input_trigger, | 1356 | .trigger = snd_hdsp_midi_input_trigger, |
1357 | }; | 1357 | }; |
1358 | 1358 | ||
1359 | static int __devinit snd_hdsp_create_midi (struct snd_card *card, struct hdsp *hdsp, int id) | 1359 | static int snd_hdsp_create_midi (struct snd_card *card, struct hdsp *hdsp, int id) |
1360 | { | 1360 | { |
1361 | char buf[32]; | 1361 | char buf[32]; |
1362 | 1362 | ||
diff --git a/sound/pci/rme9652/rme9652.c b/sound/pci/rme9652/rme9652.c index 9534e1834138..fc15f61ad5d1 100644 --- a/sound/pci/rme9652/rme9652.c +++ b/sound/pci/rme9652/rme9652.c | |||
@@ -315,7 +315,7 @@ static void snd_hammerfall_free_buffer(struct snd_dma_buffer *dmab, struct pci_d | |||
315 | } | 315 | } |
316 | 316 | ||
317 | 317 | ||
318 | static struct pci_device_id snd_rme9652_ids[] __devinitdata = { | 318 | static struct pci_device_id snd_rme9652_ids[] = { |
319 | { | 319 | { |
320 | .vendor = 0x10ee, | 320 | .vendor = 0x10ee, |
321 | .device = 0x3fc4, | 321 | .device = 0x3fc4, |
diff --git a/sound/pci/sonicvibes.c b/sound/pci/sonicvibes.c index c4303418668b..e5d4def1aa6f 100644 --- a/sound/pci/sonicvibes.c +++ b/sound/pci/sonicvibes.c | |||
@@ -243,7 +243,7 @@ struct sonicvibes { | |||
243 | #endif | 243 | #endif |
244 | }; | 244 | }; |
245 | 245 | ||
246 | static struct pci_device_id snd_sonic_ids[] __devinitdata = { | 246 | static struct pci_device_id snd_sonic_ids[] = { |
247 | { 0x5333, 0xca00, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, | 247 | { 0x5333, 0xca00, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, |
248 | { 0, } | 248 | { 0, } |
249 | }; | 249 | }; |
diff --git a/sound/pci/trident/trident.c b/sound/pci/trident/trident.c index 5629b7eba96d..9145f7c57fb0 100644 --- a/sound/pci/trident/trident.c +++ b/sound/pci/trident/trident.c | |||
@@ -63,7 +63,7 @@ MODULE_PARM_DESC(pcm_channels, "Number of hardware channels assigned for PCM."); | |||
63 | module_param_array(wavetable_size, int, NULL, 0444); | 63 | module_param_array(wavetable_size, int, NULL, 0444); |
64 | MODULE_PARM_DESC(wavetable_size, "Maximum memory size in kB for wavetable synth."); | 64 | MODULE_PARM_DESC(wavetable_size, "Maximum memory size in kB for wavetable synth."); |
65 | 65 | ||
66 | static struct pci_device_id snd_trident_ids[] __devinitdata = { | 66 | static struct pci_device_id snd_trident_ids[] = { |
67 | {PCI_DEVICE(PCI_VENDOR_ID_TRIDENT, PCI_DEVICE_ID_TRIDENT_4DWAVE_DX), | 67 | {PCI_DEVICE(PCI_VENDOR_ID_TRIDENT, PCI_DEVICE_ID_TRIDENT_4DWAVE_DX), |
68 | PCI_CLASS_MULTIMEDIA_AUDIO << 8, 0xffff00, 0}, | 68 | PCI_CLASS_MULTIMEDIA_AUDIO << 8, 0xffff00, 0}, |
69 | {PCI_DEVICE(PCI_VENDOR_ID_TRIDENT, PCI_DEVICE_ID_TRIDENT_4DWAVE_NX), | 69 | {PCI_DEVICE(PCI_VENDOR_ID_TRIDENT, PCI_DEVICE_ID_TRIDENT_4DWAVE_NX), |
diff --git a/sound/pci/via82xx.c b/sound/pci/via82xx.c index 37bd5eb7a380..08da9234efb3 100644 --- a/sound/pci/via82xx.c +++ b/sound/pci/via82xx.c | |||
@@ -396,7 +396,7 @@ struct via82xx { | |||
396 | #endif | 396 | #endif |
397 | }; | 397 | }; |
398 | 398 | ||
399 | static struct pci_device_id snd_via82xx_ids[] __devinitdata = { | 399 | static struct pci_device_id snd_via82xx_ids[] = { |
400 | /* 0x1106, 0x3058 */ | 400 | /* 0x1106, 0x3058 */ |
401 | { PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_5, PCI_ANY_ID, PCI_ANY_ID, 0, 0, TYPE_CARD_VIA686, }, /* 686A */ | 401 | { PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_5, PCI_ANY_ID, PCI_ANY_ID, 0, 0, TYPE_CARD_VIA686, }, /* 686A */ |
402 | /* 0x1106, 0x3059 */ | 402 | /* 0x1106, 0x3059 */ |
diff --git a/sound/pci/via82xx_modem.c b/sound/pci/via82xx_modem.c index c1ede6c2a6d4..016f9dac253f 100644 --- a/sound/pci/via82xx_modem.c +++ b/sound/pci/via82xx_modem.c | |||
@@ -261,7 +261,7 @@ struct via82xx_modem { | |||
261 | struct snd_info_entry *proc_entry; | 261 | struct snd_info_entry *proc_entry; |
262 | }; | 262 | }; |
263 | 263 | ||
264 | static struct pci_device_id snd_via82xx_modem_ids[] __devinitdata = { | 264 | static struct pci_device_id snd_via82xx_modem_ids[] = { |
265 | { 0x1106, 0x3068, PCI_ANY_ID, PCI_ANY_ID, 0, 0, TYPE_CARD_VIA82XX_MODEM, }, | 265 | { 0x1106, 0x3068, PCI_ANY_ID, PCI_ANY_ID, 0, 0, TYPE_CARD_VIA82XX_MODEM, }, |
266 | { 0, } | 266 | { 0, } |
267 | }; | 267 | }; |
diff --git a/sound/pci/vx222/vx222.c b/sound/pci/vx222/vx222.c index 7deda25f7adc..9c03c6b4e490 100644 --- a/sound/pci/vx222/vx222.c +++ b/sound/pci/vx222/vx222.c | |||
@@ -60,7 +60,7 @@ enum { | |||
60 | VX_PCI_VX222_NEW | 60 | VX_PCI_VX222_NEW |
61 | }; | 61 | }; |
62 | 62 | ||
63 | static struct pci_device_id snd_vx222_ids[] __devinitdata = { | 63 | static struct pci_device_id snd_vx222_ids[] = { |
64 | { 0x10b5, 0x9050, 0x1369, PCI_ANY_ID, 0, 0, VX_PCI_VX222_OLD, }, /* PLX */ | 64 | { 0x10b5, 0x9050, 0x1369, PCI_ANY_ID, 0, 0, VX_PCI_VX222_OLD, }, /* PLX */ |
65 | { 0x10b5, 0x9030, 0x1369, PCI_ANY_ID, 0, 0, VX_PCI_VX222_NEW, }, /* PLX */ | 65 | { 0x10b5, 0x9030, 0x1369, PCI_ANY_ID, 0, 0, VX_PCI_VX222_NEW, }, /* PLX */ |
66 | { 0, } | 66 | { 0, } |
diff --git a/sound/pci/ymfpci/ymfpci.c b/sound/pci/ymfpci/ymfpci.c index 26aa775b7b69..186453f7abe7 100644 --- a/sound/pci/ymfpci/ymfpci.c +++ b/sound/pci/ymfpci/ymfpci.c | |||
@@ -70,7 +70,7 @@ MODULE_PARM_DESC(rear_switch, "Enable shared rear/line-in switch"); | |||
70 | module_param_array(rear_swap, bool, NULL, 0444); | 70 | module_param_array(rear_swap, bool, NULL, 0444); |
71 | MODULE_PARM_DESC(rear_swap, "Swap rear channels (must be enabled for correct IEC958 (S/PDIF)) output"); | 71 | MODULE_PARM_DESC(rear_swap, "Swap rear channels (must be enabled for correct IEC958 (S/PDIF)) output"); |
72 | 72 | ||
73 | static struct pci_device_id snd_ymfpci_ids[] __devinitdata = { | 73 | static struct pci_device_id snd_ymfpci_ids[] = { |
74 | { 0x1073, 0x0004, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* YMF724 */ | 74 | { 0x1073, 0x0004, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* YMF724 */ |
75 | { 0x1073, 0x000d, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* YMF724F */ | 75 | { 0x1073, 0x000d, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* YMF724F */ |
76 | { 0x1073, 0x000a, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* YMF740 */ | 76 | { 0x1073, 0x000a, PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, /* YMF740 */ |
diff --git a/sound/pcmcia/pdaudiocf/pdaudiocf.c b/sound/pcmcia/pdaudiocf/pdaudiocf.c index adfdce7499d1..1c09e5f49da8 100644 --- a/sound/pcmcia/pdaudiocf/pdaudiocf.c +++ b/sound/pcmcia/pdaudiocf/pdaudiocf.c | |||
@@ -241,12 +241,13 @@ static int pdacf_config(struct pcmcia_device *link) | |||
241 | CS_CHECK(ParseTuple, pcmcia_parse_tuple(link, &tuple, parse)); | 241 | CS_CHECK(ParseTuple, pcmcia_parse_tuple(link, &tuple, parse)); |
242 | link->conf.ConfigBase = parse->config.base; | 242 | link->conf.ConfigBase = parse->config.base; |
243 | link->conf.ConfigIndex = 0x5; | 243 | link->conf.ConfigIndex = 0x5; |
244 | kfree(parse); | ||
245 | 244 | ||
246 | CS_CHECK(RequestIO, pcmcia_request_io(link, &link->io)); | 245 | CS_CHECK(RequestIO, pcmcia_request_io(link, &link->io)); |
247 | CS_CHECK(RequestIRQ, pcmcia_request_irq(link, &link->irq)); | 246 | CS_CHECK(RequestIRQ, pcmcia_request_irq(link, &link->irq)); |
248 | CS_CHECK(RequestConfiguration, pcmcia_request_configuration(link, &link->conf)); | 247 | CS_CHECK(RequestConfiguration, pcmcia_request_configuration(link, &link->conf)); |
249 | 248 | ||
249 | kfree(parse); | ||
250 | |||
250 | if (snd_pdacf_assign_resources(pdacf, link->io.BasePort1, link->irq.AssignedIRQ) < 0) | 251 | if (snd_pdacf_assign_resources(pdacf, link->io.BasePort1, link->irq.AssignedIRQ) < 0) |
251 | goto failed; | 252 | goto failed; |
252 | 253 | ||
@@ -254,6 +255,7 @@ static int pdacf_config(struct pcmcia_device *link) | |||
254 | return 0; | 255 | return 0; |
255 | 256 | ||
256 | cs_failed: | 257 | cs_failed: |
258 | kfree(parse); | ||
257 | cs_error(link, last_fn, last_ret); | 259 | cs_error(link, last_fn, last_ret); |
258 | failed: | 260 | failed: |
259 | pcmcia_disable_device(link); | 261 | pcmcia_disable_device(link); |