diff options
author | Andrea Bastoni <bastoni@cs.unc.edu> | 2010-05-30 19:16:45 -0400 |
---|---|---|
committer | Andrea Bastoni <bastoni@cs.unc.edu> | 2010-05-30 19:16:45 -0400 |
commit | ada47b5fe13d89735805b566185f4885f5a3f750 (patch) | |
tree | 644b88f8a71896307d71438e9b3af49126ffb22b /drivers/parport | |
parent | 43e98717ad40a4ae64545b5ba047c7b86aa44f4f (diff) | |
parent | 3280f21d43ee541f97f8cda5792150d2dbec20d5 (diff) |
Merge branch 'wip-2.6.34' into old-private-masterarchived-private-master
Diffstat (limited to 'drivers/parport')
-rw-r--r-- | drivers/parport/ChangeLog | 583 | ||||
-rw-r--r-- | drivers/parport/daisy.c | 1 | ||||
-rw-r--r-- | drivers/parport/parport_ax88796.c | 1 | ||||
-rw-r--r-- | drivers/parport/parport_cs.c | 38 | ||||
-rw-r--r-- | drivers/parport/parport_ip32.c | 1 | ||||
-rw-r--r-- | drivers/parport/parport_mfc3.c | 2 | ||||
-rw-r--r-- | drivers/parport/parport_pc.c | 8 | ||||
-rw-r--r-- | drivers/parport/parport_serial.c | 1 | ||||
-rw-r--r-- | drivers/parport/probe.c | 1 | ||||
-rw-r--r-- | drivers/parport/procfs.c | 39 |
10 files changed, 43 insertions, 632 deletions
diff --git a/drivers/parport/ChangeLog b/drivers/parport/ChangeLog deleted file mode 100644 index 8565bbbeb6ec..000000000000 --- a/drivers/parport/ChangeLog +++ /dev/null | |||
@@ -1,583 +0,0 @@ | |||
1 | 2001-10-11 Tim Waugh <twaugh@redhat.com> | ||
2 | * parport_pc.c, parport_serial.c: Support for NetMos cards. | ||
3 | + Patch originally from Michael Reinelt <reinelt@eunet.at>. | ||
4 | |||
5 | 2002-04-25 Tim Waugh <twaugh@redhat.com> | ||
6 | |||
7 | * parport_serial.c, parport_pc.c: Move some SIIG cards around. | ||
8 | Patch from Andrey Panin. | ||
9 | |||
10 | 2002-01-20 Tim Waugh <twaugh@redhat.com> | ||
11 | |||
12 | * parport_pc.c (parport_pc_compat_write_block_pio, | ||
13 | parport_pc_ecp_write_block_pio, parport_pc_ecp_read_block_pio): | ||
14 | Use the default implementations if the caller wants to use | ||
15 | O_NONBLOCK. | ||
16 | |||
17 | 2002-02-25 Tim Waugh <twaugh@redhat.com> | ||
18 | |||
19 | * parport_pc.c: Make sure that priv->ctr_writable includes IntEn | ||
20 | even if IRQ is given as a parameter. | ||
21 | |||
22 | 2002-01-21 Tim Waugh <twaugh@redhat.com> | ||
23 | |||
24 | * daisy.c: Apply patch from Max Vorobiev to make parport_daisy_select | ||
25 | work for ECP/EPP modes. | ||
26 | |||
27 | 2002-01-13 Niels Kristian Bech Jensen <nkbj@image.dk> | ||
28 | |||
29 | * parport_pc.c: Change some occurrences of frob_set_mode to | ||
30 | ECR_WRITE. This fixes PLIP. | ||
31 | |||
32 | 2002-01-04 Tim Waugh <twaugh@redhat.com> | ||
33 | |||
34 | * share.c (parport_claim_or_block): Sleep interruptibly to prevent | ||
35 | a possible deadlock. | ||
36 | |||
37 | 2001-12-07 Damian Gruszka <damian.gruszka@VisionSystems.de> | ||
38 | |||
39 | * parport_pc.c (ECR_WRITE): Define. If there are forbidden bits | ||
40 | in the ECR register for some chips, this will be a useful place to | ||
41 | put that knowledge. | ||
42 | (change_mode): Use ECR_WRITE. | ||
43 | (parport_pc_restore_state): Likewise. | ||
44 | (parport_ECPPS2_supported): Likewise. | ||
45 | (parport_ECPEPP_supported): Likewise. | ||
46 | (irq_probe_EPP): Likewise. | ||
47 | (programmable_irq_support): Likewise. | ||
48 | (programmable_dma_support): Likewise. | ||
49 | (parport_pc_probe_port): Likewise. | ||
50 | |||
51 | (frob_set_mode): New function. Set the mode bits of the ECR. | ||
52 | (get_fifo_residue): Use frob_set_mode. | ||
53 | (parport_pc_ecpepp_read_data): Likewise. | ||
54 | (parport_pc_ecpepp_write_data): Likewise. | ||
55 | (parport_pc_ecpepp_read_addr): Likewise. | ||
56 | (parport_pc_ecpepp_write_addr): Likewise. | ||
57 | (parport_pc_compat_write_block_pio): Likewise. | ||
58 | (parport_pc_ecp_write_block_pio): Likewise. | ||
59 | (parport_ECR_present): Likewise. | ||
60 | (parport_ECP_supported): Likewise. | ||
61 | (parport_EPP_supported): Likewise. | ||
62 | (parport_ECPEPP_supported): Likewise. | ||
63 | (programmable_irq_support): Likewise. | ||
64 | (irq_probe_ECP): Likewise. | ||
65 | (programmable_dma_support): Likewise. | ||
66 | |||
67 | (parport_pc_enable_irq): Only enable interrupts if we know which | ||
68 | IRQ line they will come from. | ||
69 | (parport_pc_init_state): Set nErrIntrEn at initialisation. | ||
70 | (parport_pc_restore_state): Only write writable bits of CTR. | ||
71 | (parport_irq_probe): If no IRQ is found, take ackIntEn out of the | ||
72 | writable bit set. | ||
73 | |||
74 | 2001-12-07 Tim Waugh <twaugh@redhat.com> | ||
75 | |||
76 | * parport_pc.c (parport_pc_fifo_write_block_pio): Correct typo. | ||
77 | (parport_pc_init_state): Only set ackIntEn if we know which IRQ | ||
78 | line the interrupts will come from. | ||
79 | |||
80 | 2001-12-07 Tim Waugh <twaugh@redhat.com> | ||
81 | |||
82 | * ieee1284_ops.c (parport_ieee1284_epp_write_addr, | ||
83 | parport_ieee1284_epp_read_addr): Actually do something useful. | ||
84 | |||
85 | 2001-12-07 Tim Waugh <twaugh@redhat.com> | ||
86 | |||
87 | * parport_pc.c (dmaval): Don't use DMA by default. It seems to be | ||
88 | too buggy at the moment. Use 'dma=auto' to restore the previous | ||
89 | behaviour. | ||
90 | |||
91 | 2001-12-07 Tim Waugh <twaugh@redhat.com> | ||
92 | |||
93 | * daisy.c (DEBUG): Undefine. | ||
94 | |||
95 | 2001-12-06 Tim Waugh <twaugh@redhat.com> | ||
96 | |||
97 | * ieee1284_ops.c (parport_ieee1284_ecp_read_data): Mask off | ||
98 | PARPORT_CONTROL_AUTOFD as well. Bug spotted by Joe | ||
99 | <joeja@mindspring.com>. | ||
100 | |||
101 | 2001-12-03 Rich Liu <Rich.Liu@ite.com.tw> | ||
102 | |||
103 | * parport_pc.c (sio_ite_8872_probe): ITE8873 is a single-port | ||
104 | serial board, not a serial+parallel. | ||
105 | |||
106 | 2001-11-30 Niels Kristian Bech Jensen <nkbj@image.dk> | ||
107 | |||
108 | * parport_pc.c: Fix compiler warning. | ||
109 | |||
110 | 2001-11-14 Tim Waugh <twaugh@redhat.com> | ||
111 | |||
112 | * parport_pc.c (parport_pc_pci_probe): Hooks for PCI cards before | ||
113 | and after probing for ports. | ||
114 | * parport_serial.c (parport_register): Likewise. | ||
115 | |||
116 | 2001-11-12 Tim Waugh <twaugh@redhat.com> | ||
117 | |||
118 | * parport_pc.c (init_module): Warn when parameters are ignored. | ||
119 | |||
120 | 2001-11-01 Damian Gruszka <damian.gruszka@VisionSystems.de> | ||
121 | |||
122 | * parport_serial.c (serial_register): Set base_baud before | ||
123 | calling register_serial. | ||
124 | |||
125 | 2001-10-26 Tim Waugh <twaugh@redhat.com> | ||
126 | |||
127 | * parport_pc.c (parport_irq_probe): When ECR programmable IRQ | ||
128 | support fails, generate interrupts using the FIFO even if we don't | ||
129 | want to use the FIFO for real data transfers. | ||
130 | (parport_pc_probe_port): Display the ECR address if we have an | ||
131 | ECR, not just if we will use the FIFO. | ||
132 | |||
133 | 2001-10-24 Dave Strauss <D.Strauss@motorola.com> | ||
134 | |||
135 | * parport_pc.c (parport_pc_compat_write_block_pio, | ||
136 | parport_pc_ecp_write_block_pio): Allow a few seconds for an ECP | ||
137 | transfer to finish up. | ||
138 | |||
139 | 2001-10-11 Tim Waugh <twaugh@redhat.com> | ||
140 | |||
141 | * parport_pc (sio_ite_8872_probe): New function, submitted by Rich | ||
142 | Liu from ITE. Cleaned up, removed bogus phys_to_virt calls. | ||
143 | |||
144 | 2001-10-24 Tim Waugh <twaugh@redhat.com> | ||
145 | |||
146 | * parport_pc.c: Support for AKS AladdinCARD. Patch from | ||
147 | Aladdin Knowledge Systems (Christian Groessler). | ||
148 | |||
149 | 2001-10-24 Tim Waugh <twaugh@redhat.com> | ||
150 | |||
151 | * ieee1284_ops.c (parport_ieee1284_ecp_read_data): Try to minimise | ||
152 | turnaround time. | ||
153 | |||
154 | * ieee1284.c (parport_poll_peripheral): Try a couple of times | ||
155 | first without delaying. | ||
156 | |||
157 | 2001-10-10 Tim Waugh <twaugh@redhat.com> | ||
158 | |||
159 | * parport_pc.c: Support for OX16PCI954 PCI card. | ||
160 | |||
161 | 2001-10-10 Tim Waugh <twaugh@redhat.com> | ||
162 | |||
163 | * parport_pc.c: Support for OX12PCI840 PCI card (reported by | ||
164 | mk@daveg.com). Lock-ups diagnosed by Ronnie Arosa (and now we | ||
165 | just don't trust its ECR). | ||
166 | |||
167 | 2001-10-10 Gunther Mayer <gunther.mayer@braunschweig.okersurf.de> | ||
168 | |||
169 | * parport_pc.c: Support for AVLAB cards. | ||
170 | |||
171 | 2001-10-10 Tim Waugh <twaugh@redhat.com> | ||
172 | |||
173 | * ieee1284_ops.c (ecp_forward_to_reverse, ecp_reverse_to_forward): | ||
174 | Remember to retry direction switch if it fails. Patch from David | ||
175 | Lambert. | ||
176 | |||
177 | 2001-10-08 David C. Hansen <haveblue@us.ibm.com> | ||
178 | |||
179 | * share.c: Make driverlist_lock and parportlist_lock static. | ||
180 | |||
181 | 2001-10-08 Philip Blundell <philb@gnu.org> | ||
182 | |||
183 | * parport_pc.c: New modular parameter verbose_logging. | ||
184 | Make port->modes indicate the modes that we are prepared to use, | ||
185 | rather than the modes that are available. | ||
186 | |||
187 | 2001-10-07 Tim Waugh <twaugh@redhat.com> | ||
188 | |||
189 | * parport_pc.c (parport_pc_probe_port): Fix memory leak spotted by | ||
190 | Kipp Cannon. | ||
191 | |||
192 | 2001-10-07 Tim Waugh <twaugh@redhat.com> | ||
193 | |||
194 | * parport_serial.c: Remove NetMos support, since it causes problems | ||
195 | for some people. | ||
196 | |||
197 | 2001-08-30 Tim Waugh <twaugh@redhat.com> | ||
198 | |||
199 | * parport_serial.c (parport_serial_pci_probe): Clean-up on partial | ||
200 | registration failure. | ||
201 | |||
202 | 2001-08-14 Tim Waugh <twaugh@redhat.com> | ||
203 | |||
204 | * parport_pc.c (parport_pc_init_superio): Allow for more than one | ||
205 | SuperIO device. Patch from Rich Lio (ITE). | ||
206 | |||
207 | 2001-08-11 Tim Waugh <twaugh@redhat.com> | ||
208 | |||
209 | * parport_pc.c: Support for Titan Electronics cards. | ||
210 | |||
211 | 2001-08-08 Tim Waugh <twaugh@redhat.com> | ||
212 | |||
213 | * share.c (parport_unregister_device): Remove device from wait list | ||
214 | too. | ||
215 | |||
216 | 2001-06-20 Tim Waugh <twaugh@redhat.com> | ||
217 | |||
218 | * parport_pc.c: Make 'io_hi=0' work. | ||
219 | |||
220 | 2001-05-31 Tim Waugh <twaugh@redhat.com> | ||
221 | |||
222 | * parport_serial.c: New file. | ||
223 | |||
224 | 2001-06-05 Tim Waugh <twaugh@redhat.com> | ||
225 | |||
226 | * parport_pc.c (parport_pc_unregister_port): New exported function. | ||
227 | Do the opposite of parport_pc_probe_port. | ||
228 | (cleanup_module): Use it. | ||
229 | |||
230 | 2001-05-22 Juan Quintela <quintela@mandrakesoft.com> | ||
231 | |||
232 | * parport_amiga.c: Set printk levels. | ||
233 | * parport_gsc.c: Likewise. | ||
234 | * parport_mfc3.c: Likewise. | ||
235 | * parport_pc.c: Likewise. | ||
236 | * parport_sunbpp.c: Likewise. | ||
237 | * probe.c: Likewise. | ||
238 | * share.c: Likewise. | ||
239 | |||
240 | 2001-05-10 Fred Barnes <frmb2@ukc.ac.uk> | ||
241 | |||
242 | * parport_pc.c (parport_pc_epp_read_data): added support for | ||
243 | reading from a w91284pic peripheral, flag is PARPORT_W91284PIC. | ||
244 | |||
245 | 2001-05-07 Fred Barnes <frmb2@ukc.ac.uk> | ||
246 | |||
247 | * parport_pc.c (parport_pc_epp_read_data, | ||
248 | parport_pc_epp_write_data, parport_pc_epp_read_addr, | ||
249 | parport_pc_epp_write_addr): support for fast reads/writes using | ||
250 | the PARPORT_EPP_FAST flag. | ||
251 | |||
252 | * ieee1284.c (parport_read, parport_write): added code to handle | ||
253 | software EPP mode (IEEE1284_MODE_EPPSWE). Added code to allow | ||
254 | BYTE mode reverse transfers (previously always went for NIBBLE | ||
255 | mode). | ||
256 | |||
257 | * ieee1284_ops.c (parport_ieee1284_epp_read_data, | ||
258 | parport_ieee1284_epp_write_data): fixed various polarity problems. | ||
259 | Also (theoretically) fixed address versions (.._addr), but no | ||
260 | hardware to test this on. | ||
261 | |||
262 | * parport_pc.h: added parport_dump_state() function for debugging. | ||
263 | Needs to have DEBUG_PARPORT to be defined for it to be included. | ||
264 | |||
265 | 2001-05-03 Tim Waugh <twaugh@redhat.com> | ||
266 | |||
267 | * parport_pc.c: Fix the compile problem I introduce from the last | ||
268 | change. | ||
269 | |||
270 | 2001-04-20 Paul Gortmaker <p_gortmaker@yahoo.com> | ||
271 | |||
272 | * parport_pc.c: Cut down the size quite a bit (more than 4k off | ||
273 | the object, about 1k off the zImage) for the older non-PCI | ||
274 | machines which are typically resource starved anyway... | ||
275 | |||
276 | 2001-03-26 R Horn <rjh@world.std.com> | ||
277 | |||
278 | * parport_pc.c: Some commentary changes. | ||
279 | |||
280 | 2001-04-19 Tim Waugh <twaugh@redhat.com> | ||
281 | |||
282 | * parport_pc.c (parport_pc_probe_port): Remove __devinit | ||
283 | attribute. Export unconditionally. | ||
284 | |||
285 | 2001-04-14 Jeff Garzik <jgarzik@pobox.com> | ||
286 | |||
287 | Merged: 2001-03-30 Tim Waugh <twaugh@redhat.com> | ||
288 | |||
289 | * drivers/parport/parport_pc.c: Make Via SuperIO chipsets behave | ||
290 | like everything else with respect to irq= and dma= parameters. | ||
291 | |||
292 | 2001-04-08 Tim Waugh <twaugh@redhat.com> | ||
293 | |||
294 | * parport_pc.c (parport_pc_save_state): Read from the soft copy of | ||
295 | the control port. | ||
296 | (parport_pc_restore_state): Update the soft copy of the control | ||
297 | port. | ||
298 | |||
299 | 2001-03-26 Tim Waugh <twaugh@redhat.com> | ||
300 | |||
301 | * share.c (parport_find_number, parport_find_base): Trigger | ||
302 | a lowlevel driver load if there are no ports yet. | ||
303 | |||
304 | 2001-03-26 Tim Waugh <twaugh@redhat.com> | ||
305 | |||
306 | * parport_pc.c (parport_ECP_supported): Remove the IRQ conflict | ||
307 | check since it seems totally unreliable. | ||
308 | |||
309 | 2001-03-02 Tim Waugh <twaugh@redhat.com> | ||
310 | |||
311 | * ieee1284_ops.c (parport_ieee1284_read_nibble): Reset nAutoFd | ||
312 | on timeout. Matches 2.2.x behaviour. | ||
313 | |||
314 | 2001-03-02 Andrew Morton | ||
315 | |||
316 | * parport_pc.c (registered_parport): New static variable. | ||
317 | (parport_pc_find_ports): Set it when we register PCI driver. | ||
318 | (init_module): Unregister PCI driver if necessary when we | ||
319 | fail. | ||
320 | |||
321 | 2001-03-02 Tim Waugh <twaugh@redhat.com> | ||
322 | |||
323 | * ieee1284_ops.c (parport_ieee1284_write_compat): Don't use | ||
324 | down_trylock to reset the IRQ count. Don't even use sema_init, | ||
325 | because it's not even necessary to reset the count. I can't | ||
326 | remember why we ever did. | ||
327 | |||
328 | 2001-01-04 Peter Osterlund <peter.osterlund@mailbox.swipnet.se> | ||
329 | |||
330 | * ieee1284.c (parport_negotiate): Fix missing printk argument. | ||
331 | |||
332 | 2001-01-03 Paul Schleger <Paul.Schleger@t-online.de> | ||
333 | |||
334 | * probe.c (parse_data): Get rid of trailing blanks in values. | ||
335 | Needed for XEROX XJ8C printer. | ||
336 | |||
337 | 2001-01-03 Tim Waugh <twaugh@redhat.com> | ||
338 | |||
339 | * parport_pc.c (parport_pc_probe_port): Say something when probes | ||
340 | are omitted. | ||
341 | |||
342 | 2001-01-03 Tim Waugh <twaugh@redhat.com> | ||
343 | |||
344 | * parport_pc.c (sio_via_686a_probe): Correct dma=255 fix. | ||
345 | |||
346 | 2000-11-21 Tim Waugh <twaugh@redhat.com> | ||
347 | |||
348 | * parport_pc.c (parport_pc_ecp_write_block_pio): Fix | ||
349 | reverse-to-forward logic. Spotted by Roland Kuck | ||
350 | <rci@cityweb.de>. | ||
351 | |||
352 | 2000-09-16 Cesar Eduardo Barros <cesarb@nitnet.com.br> | ||
353 | |||
354 | * parport_pc.c (sio_via_686a_probe): Handle case | ||
355 | where hardware returns 255 for IRQ or DMA. | ||
356 | |||
357 | 2000-07-20 Eddie C. Dost <ecd@skynet.be> | ||
358 | |||
359 | * share.c (attach_driver_chain): attach[i](port) needs to be | ||
360 | replaced by attach[count](port). | ||
361 | |||
362 | 2000-07-20 Eddie C. Dost <ecd@skynet.be> | ||
363 | |||
364 | * daisy.c (add_dev): kmalloc args are in wrong order. | ||
365 | |||
366 | 2000-07-12 Tim Waugh <twaugh@redhat.com> | ||
367 | |||
368 | * share.c: Documentation for parport_{get,port}_port, | ||
369 | parport_find_{number,base}. | ||
370 | |||
371 | 2000-07-12 Tim Waugh <twaugh@redhat.com> | ||
372 | |||
373 | * share.c (parport_unregister_device): Remove unneeded locking | ||
374 | (test cad==dev). | ||
375 | (parport_claim): Likewise. | ||
376 | (parport_find_number): New function. | ||
377 | |||
378 | 2000-07-12 Tim Waugh <twaugh@redhat.com> | ||
379 | |||
380 | * share.c (parport_register_port): Hold the parportlist_lock while | ||
381 | looking for a free parport number. | ||
382 | (parport_register_driver): Make sure that attach can block. | ||
383 | (attach_driver_chain): Likewise. | ||
384 | |||
385 | 2000-07-12 Tim Waugh <twaugh@redhat.com> | ||
386 | |||
387 | * share.c (call_driver_chain): Do reference counting things. | ||
388 | (parport_get_port): New function. | ||
389 | (parport_put_port): New function. | ||
390 | (parport_register_port): Initialise reference count to zero. | ||
391 | (parport_unregister_port): Check reference count rather than | ||
392 | driver list to see if we can free the port. | ||
393 | |||
394 | 2000-07-12 Tim Waugh <twaugh@redhat.com> | ||
395 | |||
396 | * share.c: Clarifications in doc comments. | ||
397 | |||
398 | 2000-07-12 Tim Waugh <twaugh@redhat.com> | ||
399 | |||
400 | * share.c (parport_unregister_port): Fix typo in comment. | ||
401 | |||
402 | 2000-07-11 Gunther Mayer <gunther.mayer@braunschweig.okersurf.de> | ||
403 | |||
404 | * parport_pc.c: Support for the full range of Timedia cards. | ||
405 | |||
406 | 2000-07-08 Tim Waugh <twaugh@redhat.com> | ||
407 | |||
408 | * daisy.c: License block comments as part of parportbook. | ||
409 | * ieee1284.c: Likewise. | ||
410 | * share.c: Likewise. | ||
411 | |||
412 | 2000-06-30 Petr Vandrovec <vandrove@vc.cvut.cz> | ||
413 | |||
414 | * procfs.c (do_hardware_modes): Generated string can be up to 34 | ||
415 | chars long. | ||
416 | |||
417 | 2000-06-20 Gunther Mayer <gunther.mayer@braunschweig.okersurf.de> | ||
418 | |||
419 | * parport_pc.c (parport_pc_compat_write_block_pio): Warn about | ||
420 | change_mode failures. | ||
421 | (parport_pc_ecp_write_block_pio): Likewise. | ||
422 | (parport_pc_ecp_read_block_pio): Likewise. | ||
423 | |||
424 | 2000-06-20 Gunther Mayer <gunther.mayer@braunschweig.okersurf.de> | ||
425 | |||
426 | * parport_pc.c (parport_SPP_supported): Warn more about possibly | ||
427 | incorrect parameters. | ||
428 | |||
429 | 2000-06-15 Tim Waugh <twaugh@redhat.com> | ||
430 | |||
431 | * parport_pc.c (parport_ECP_supported): Set PARPORT_MODE_COMPAT | ||
432 | for ECP ports, since they can all do hardware accelerated | ||
433 | compatibility mode (I assume). | ||
434 | |||
435 | 2000-06-13 Tim Waugh <twaugh@redhat.com> | ||
436 | |||
437 | * parport_pc.c (cleanup_module): Remark about possible bugs. | ||
438 | |||
439 | 2000-06-13 Tim Waugh <twaugh@redhat.com> | ||
440 | |||
441 | * procfs.c: Break 'hardware' out into separate files. | ||
442 | |||
443 | 2000-05-28 Gunther Mayer <gunther.mayer@braunschweig.okersurf.de> | ||
444 | |||
445 | * Fix PCI ID printk for non-superio PCI cards. | ||
446 | |||
447 | 2000-05-28 Tim Waugh <twaugh@redhat.com> | ||
448 | |||
449 | * share.c (call_driver_chain): Get the driverlist_lock. | ||
450 | (parport_register_device): Make sure that port->devices always | ||
451 | looks consistent. | ||
452 | (parport_register_driver): Ensure that parport drivers are given | ||
453 | parameters that are valid for the duration of the callback by | ||
454 | locking the portlist against changes. | ||
455 | (parport_unregister_driver): Likewise. | ||
456 | (parport_claim): Don't overwrite flags. | ||
457 | |||
458 | 2000-05-28 Tim Waugh <twaugh@redhat.com> | ||
459 | |||
460 | * daisy.c (assign_addrs): Avoid double-probing daisy-chain devices | ||
461 | if the first probe succeeds. | ||
462 | |||
463 | 2000-05-16 Tim Waugh <twaugh@redhat.com> | ||
464 | |||
465 | * share.c (parport_claim): Fix SMP race. | ||
466 | |||
467 | 2000-05-15 Gunther Mayer <gunther.mayer@braunschweig.okersurf.de> | ||
468 | |||
469 | * parport_pc.c (parport_pc_compat_write_block_pio): Check for | ||
470 | timeouts. | ||
471 | (parport_pc_ecp_write_block_pio): Likewise. | ||
472 | (parport_pc_ecp_read_block_pio): Likewise. | ||
473 | |||
474 | 2000-05-02 Gunther Mayer <gunther.mayer@braunschweig.okersurf.de> | ||
475 | |||
476 | * parport_pc.c: PCI SYBA patch and verbose PCI detection. | ||
477 | |||
478 | 2000-05-02 Gunther Mayer <gunther.mayer@braunschweig.okersurf.de> | ||
479 | |||
480 | * parport_pc.c (decode_smsc): Fix SMSC 665/666 identification. | ||
481 | |||
482 | 2000-04-28 Tim Waugh <twaugh@redhat.com> | ||
483 | |||
484 | * ieee1284.c: Short function descriptions can't be multiline. | ||
485 | |||
486 | * daisy.c: Short function descriptions can't be multiline. | ||
487 | |||
488 | 2000-04-19 Tim Waugh <twaugh@redhat.com> | ||
489 | |||
490 | * parport_pc.c (parport_pc_fifo_write_block_dma): Make maxlen | ||
491 | calculation a bit clearer. | ||
492 | |||
493 | * ieee1284.c (parport_negotiate): Turn on data line drivers. | ||
494 | |||
495 | * ieee1284_ops.c (parport_ieee1284_read_byte): Turn off data line | ||
496 | drivers. | ||
497 | (parport_ieee1284_write_compat): Turn on data line drivers. | ||
498 | |||
499 | * daisy.c (assign_addrs): Turn on data line drivers. | ||
500 | (cpp_mux): Likewise. | ||
501 | (cpp_daisy): Likewise. | ||
502 | |||
503 | 2000-04-04 Tim Waugh <twaugh@redhat.com> | ||
504 | |||
505 | * parport_pc.c: Add support for another PCI card. | ||
506 | |||
507 | 2000-04-04 Tim Waugh <twaugh@redhat.com> | ||
508 | |||
509 | * daisy.c: Documentation in kernel-doc format. | ||
510 | |||
511 | * ieee1284.c: Likewise. | ||
512 | |||
513 | * share.c: Likewise. | ||
514 | |||
515 | 2000-04-01 Tim Waugh <twaugh@redhat.com> | ||
516 | |||
517 | * share.c (parport_register_device): Need to hold the module | ||
518 | reference counts before sleeping. | ||
519 | |||
520 | 2000-03-27 Tim Waugh <twaugh@redhat.com> | ||
521 | |||
522 | * parport_pc.c (parport_pc_ecp_read_block_pio): Correct operation | ||
523 | when peripheral is trying to send data when we stop listening. | ||
524 | |||
525 | 2000-03-22 Tim Waugh <twaugh@redhat.com> | ||
526 | |||
527 | * init.c (parport_setup): Fix return value. | ||
528 | |||
529 | 2000-03-21 Tim Waugh <twaugh@redhat.com> | ||
530 | |||
531 | * parport_pc.c (parport_pc_pci_probe): Fix return value; call | ||
532 | pci_enable_device. | ||
533 | |||
534 | 2000-03-16 Tim Waugh <twaugh@redhat.com> | ||
535 | |||
536 | * parport_pc.c (parport_ECP_supported): This seems to trigger on | ||
537 | machines that don't have an IRQ conflict; toned down the warning | ||
538 | message accordingly. | ||
539 | |||
540 | 2000-03-16 Gunther Mayer <gunther.mayer@braunschweig.netsurf.de> | ||
541 | |||
542 | * parport_pc.c (show_parconfig_smsc37c669): Fix typo. | ||
543 | (decode_winbond): More IDs. | ||
544 | (winbond_check): Protect against false positives. | ||
545 | (winbond_check2): Likewise. | ||
546 | (smsc_check): Likewise. | ||
547 | |||
548 | 2000-03-15 Tim Waugh <twaugh@redhat.com> | ||
549 | |||
550 | * parport_pc.c (cleanup_module): Don't call pci_unregister_driver | ||
551 | if we didn't call pci_register_driver first. | ||
552 | |||
553 | 2000-03-13 Tim Waugh <twaugh@redhat.com> | ||
554 | |||
555 | * parport_pc.c (parport_pc_init): Moved from asm/parport.h. | ||
556 | |||
557 | * Config.in: CONFIG_PARPORT_PC_SUPERIO: new option. | ||
558 | |||
559 | * parport_pc.c (show_parconfig_smsc37c669): Make __devinit. | ||
560 | (show_parconfig_winbond): Likewise. | ||
561 | (decode_winbond): Likewise. | ||
562 | (decode_smsc): Likewise. | ||
563 | (winbond_check): Likewise. | ||
564 | (winbond_check2): Likewise. | ||
565 | (smsc_check): Likewise. | ||
566 | (detect_and_report_winbond): Likewise. | ||
567 | (detect_and_report_smsc): Likewise. | ||
568 | (get_superio_dma): Likewise. | ||
569 | (get_superio_irq): Likewise. | ||
570 | (parport_pc_find_isa_ports): New function. | ||
571 | (parport_pc_find_ports): New function. | ||
572 | (init_module): Make superio a config option, not a parameter. | ||
573 | |||
574 | 2000-03-10 Tim Waugh <twaugh@redhat.com> | ||
575 | |||
576 | * parport_pc.c (decode_winbond): Use correct 83877ATF chip ID. | ||
577 | (decode_winbond): Fix typo. | ||
578 | |||
579 | 2000-03-09 Tim Waugh <twaugh@redhat.com> | ||
580 | |||
581 | * parport_pc.c: Integrate SuperIO PCI probe with normal PCI card | ||
582 | probe, so that the MODULE_DEVICE_TABLE is complete. | ||
583 | |||
diff --git a/drivers/parport/daisy.c b/drivers/parport/daisy.c index 3c8f06c3a5a0..5bed17f68ef4 100644 --- a/drivers/parport/daisy.c +++ b/drivers/parport/daisy.c | |||
@@ -22,6 +22,7 @@ | |||
22 | #include <linux/module.h> | 22 | #include <linux/module.h> |
23 | #include <linux/parport.h> | 23 | #include <linux/parport.h> |
24 | #include <linux/delay.h> | 24 | #include <linux/delay.h> |
25 | #include <linux/slab.h> | ||
25 | #include <linux/sched.h> | 26 | #include <linux/sched.h> |
26 | 27 | ||
27 | #include <asm/current.h> | 28 | #include <asm/current.h> |
diff --git a/drivers/parport/parport_ax88796.c b/drivers/parport/parport_ax88796.c index 6938d2e9f18f..2c5ac2bf5c56 100644 --- a/drivers/parport/parport_ax88796.c +++ b/drivers/parport/parport_ax88796.c | |||
@@ -15,6 +15,7 @@ | |||
15 | #include <linux/interrupt.h> | 15 | #include <linux/interrupt.h> |
16 | #include <linux/errno.h> | 16 | #include <linux/errno.h> |
17 | #include <linux/platform_device.h> | 17 | #include <linux/platform_device.h> |
18 | #include <linux/slab.h> | ||
18 | 19 | ||
19 | #include <asm/io.h> | 20 | #include <asm/io.h> |
20 | #include <asm/irq.h> | 21 | #include <asm/irq.h> |
diff --git a/drivers/parport/parport_cs.c b/drivers/parport/parport_cs.c index 8fdfa4f537a6..7dd370fa3439 100644 --- a/drivers/parport/parport_cs.c +++ b/drivers/parport/parport_cs.c | |||
@@ -67,14 +67,6 @@ MODULE_LICENSE("Dual MPL/GPL"); | |||
67 | 67 | ||
68 | INT_MODULE_PARM(epp_mode, 1); | 68 | INT_MODULE_PARM(epp_mode, 1); |
69 | 69 | ||
70 | #ifdef PCMCIA_DEBUG | ||
71 | INT_MODULE_PARM(pc_debug, PCMCIA_DEBUG); | ||
72 | #define DEBUG(n, args...) if (pc_debug>(n)) printk(KERN_DEBUG args) | ||
73 | static char *version = | ||
74 | "parport_cs.c 1.29 2002/10/11 06:57:41 (David Hinds)"; | ||
75 | #else | ||
76 | #define DEBUG(n, args...) | ||
77 | #endif | ||
78 | 70 | ||
79 | /*====================================================================*/ | 71 | /*====================================================================*/ |
80 | 72 | ||
@@ -103,7 +95,7 @@ static int parport_probe(struct pcmcia_device *link) | |||
103 | { | 95 | { |
104 | parport_info_t *info; | 96 | parport_info_t *info; |
105 | 97 | ||
106 | DEBUG(0, "parport_attach()\n"); | 98 | dev_dbg(&link->dev, "parport_attach()\n"); |
107 | 99 | ||
108 | /* Create new parport device */ | 100 | /* Create new parport device */ |
109 | info = kzalloc(sizeof(*info), GFP_KERNEL); | 101 | info = kzalloc(sizeof(*info), GFP_KERNEL); |
@@ -114,7 +106,6 @@ static int parport_probe(struct pcmcia_device *link) | |||
114 | link->io.Attributes1 = IO_DATA_PATH_WIDTH_8; | 106 | link->io.Attributes1 = IO_DATA_PATH_WIDTH_8; |
115 | link->io.Attributes2 = IO_DATA_PATH_WIDTH_8; | 107 | link->io.Attributes2 = IO_DATA_PATH_WIDTH_8; |
116 | link->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING; | 108 | link->irq.Attributes = IRQ_TYPE_DYNAMIC_SHARING; |
117 | link->irq.IRQInfo1 = IRQ_LEVEL_ID; | ||
118 | link->conf.Attributes = CONF_ENABLE_IRQ; | 109 | link->conf.Attributes = CONF_ENABLE_IRQ; |
119 | link->conf.IntType = INT_MEMORY_AND_IO; | 110 | link->conf.IntType = INT_MEMORY_AND_IO; |
120 | 111 | ||
@@ -132,7 +123,7 @@ static int parport_probe(struct pcmcia_device *link) | |||
132 | 123 | ||
133 | static void parport_detach(struct pcmcia_device *link) | 124 | static void parport_detach(struct pcmcia_device *link) |
134 | { | 125 | { |
135 | DEBUG(0, "parport_detach(0x%p)\n", link); | 126 | dev_dbg(&link->dev, "parport_detach\n"); |
136 | 127 | ||
137 | parport_cs_release(link); | 128 | parport_cs_release(link); |
138 | 129 | ||
@@ -147,9 +138,6 @@ static void parport_detach(struct pcmcia_device *link) | |||
147 | 138 | ||
148 | ======================================================================*/ | 139 | ======================================================================*/ |
149 | 140 | ||
150 | #define CS_CHECK(fn, ret) \ | ||
151 | do { last_fn = (fn); if ((last_ret = (ret)) != 0) goto cs_failed; } while (0) | ||
152 | |||
153 | static int parport_config_check(struct pcmcia_device *p_dev, | 141 | static int parport_config_check(struct pcmcia_device *p_dev, |
154 | cistpl_cftable_entry_t *cfg, | 142 | cistpl_cftable_entry_t *cfg, |
155 | cistpl_cftable_entry_t *dflt, | 143 | cistpl_cftable_entry_t *dflt, |
@@ -178,18 +166,20 @@ static int parport_config(struct pcmcia_device *link) | |||
178 | { | 166 | { |
179 | parport_info_t *info = link->priv; | 167 | parport_info_t *info = link->priv; |
180 | struct parport *p; | 168 | struct parport *p; |
181 | int last_ret, last_fn; | 169 | int ret; |
182 | 170 | ||
183 | DEBUG(0, "parport_config(0x%p)\n", link); | 171 | dev_dbg(&link->dev, "parport_config\n"); |
184 | 172 | ||
185 | last_ret = pcmcia_loop_config(link, parport_config_check, NULL); | 173 | ret = pcmcia_loop_config(link, parport_config_check, NULL); |
186 | if (last_ret) { | 174 | if (ret) |
187 | cs_error(link, RequestIO, last_ret); | ||
188 | goto failed; | 175 | goto failed; |
189 | } | ||
190 | 176 | ||
191 | CS_CHECK(RequestIRQ, pcmcia_request_irq(link, &link->irq)); | 177 | ret = pcmcia_request_irq(link, &link->irq); |
192 | CS_CHECK(RequestConfiguration, pcmcia_request_configuration(link, &link->conf)); | 178 | if (ret) |
179 | goto failed; | ||
180 | ret = pcmcia_request_configuration(link, &link->conf); | ||
181 | if (ret) | ||
182 | goto failed; | ||
193 | 183 | ||
194 | p = parport_pc_probe_port(link->io.BasePort1, link->io.BasePort2, | 184 | p = parport_pc_probe_port(link->io.BasePort1, link->io.BasePort2, |
195 | link->irq.AssignedIRQ, PARPORT_DMA_NONE, | 185 | link->irq.AssignedIRQ, PARPORT_DMA_NONE, |
@@ -213,8 +203,6 @@ static int parport_config(struct pcmcia_device *link) | |||
213 | 203 | ||
214 | return 0; | 204 | return 0; |
215 | 205 | ||
216 | cs_failed: | ||
217 | cs_error(link, last_fn, last_ret); | ||
218 | failed: | 206 | failed: |
219 | parport_cs_release(link); | 207 | parport_cs_release(link); |
220 | return -ENODEV; | 208 | return -ENODEV; |
@@ -232,7 +220,7 @@ static void parport_cs_release(struct pcmcia_device *link) | |||
232 | { | 220 | { |
233 | parport_info_t *info = link->priv; | 221 | parport_info_t *info = link->priv; |
234 | 222 | ||
235 | DEBUG(0, "parport_release(0x%p)\n", link); | 223 | dev_dbg(&link->dev, "parport_release\n"); |
236 | 224 | ||
237 | if (info->ndev) { | 225 | if (info->ndev) { |
238 | struct parport *p = info->port; | 226 | struct parport *p = info->port; |
diff --git a/drivers/parport/parport_ip32.c b/drivers/parport/parport_ip32.c index 6d58bf895b1a..d3d7809af8bf 100644 --- a/drivers/parport/parport_ip32.c +++ b/drivers/parport/parport_ip32.c | |||
@@ -103,6 +103,7 @@ | |||
103 | #include <linux/module.h> | 103 | #include <linux/module.h> |
104 | #include <linux/parport.h> | 104 | #include <linux/parport.h> |
105 | #include <linux/sched.h> | 105 | #include <linux/sched.h> |
106 | #include <linux/slab.h> | ||
106 | #include <linux/spinlock.h> | 107 | #include <linux/spinlock.h> |
107 | #include <linux/stddef.h> | 108 | #include <linux/stddef.h> |
108 | #include <linux/types.h> | 109 | #include <linux/types.h> |
diff --git a/drivers/parport/parport_mfc3.c b/drivers/parport/parport_mfc3.c index 6dec9ba5ed28..362db31d8ca6 100644 --- a/drivers/parport/parport_mfc3.c +++ b/drivers/parport/parport_mfc3.c | |||
@@ -386,7 +386,7 @@ static void __exit parport_mfc3_exit(void) | |||
386 | if (!this_port[i]) | 386 | if (!this_port[i]) |
387 | continue; | 387 | continue; |
388 | parport_remove_port(this_port[i]); | 388 | parport_remove_port(this_port[i]); |
389 | if (!this_port[i]->irq != PARPORT_IRQ_NONE) { | 389 | if (this_port[i]->irq != PARPORT_IRQ_NONE) { |
390 | if (--use_cnt == 0) | 390 | if (--use_cnt == 0) |
391 | free_irq(IRQ_AMIGA_PORTS, &pp_mfc3_ops); | 391 | free_irq(IRQ_AMIGA_PORTS, &pp_mfc3_ops); |
392 | } | 392 | } |
diff --git a/drivers/parport/parport_pc.c b/drivers/parport/parport_pc.c index 2597145a066e..0950fa40684f 100644 --- a/drivers/parport/parport_pc.c +++ b/drivers/parport/parport_pc.c | |||
@@ -2908,6 +2908,7 @@ enum parport_pc_pci_cards { | |||
2908 | netmos_9805, | 2908 | netmos_9805, |
2909 | netmos_9815, | 2909 | netmos_9815, |
2910 | netmos_9901, | 2910 | netmos_9901, |
2911 | netmos_9865, | ||
2911 | quatech_sppxp100, | 2912 | quatech_sppxp100, |
2912 | }; | 2913 | }; |
2913 | 2914 | ||
@@ -2989,6 +2990,7 @@ static struct parport_pc_pci { | |||
2989 | /* netmos_9805 */ { 1, { { 0, -1 }, } }, | 2990 | /* netmos_9805 */ { 1, { { 0, -1 }, } }, |
2990 | /* netmos_9815 */ { 2, { { 0, -1 }, { 2, -1 }, } }, | 2991 | /* netmos_9815 */ { 2, { { 0, -1 }, { 2, -1 }, } }, |
2991 | /* netmos_9901 */ { 1, { { 0, -1 }, } }, | 2992 | /* netmos_9901 */ { 1, { { 0, -1 }, } }, |
2993 | /* netmos_9865 */ { 1, { { 0, -1 }, } }, | ||
2992 | /* quatech_sppxp100 */ { 1, { { 0, 1 }, } }, | 2994 | /* quatech_sppxp100 */ { 1, { { 0, 1 }, } }, |
2993 | }; | 2995 | }; |
2994 | 2996 | ||
@@ -3092,6 +3094,10 @@ static const struct pci_device_id parport_pc_pci_tbl[] = { | |||
3092 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, netmos_9815 }, | 3094 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, netmos_9815 }, |
3093 | { PCI_VENDOR_ID_NETMOS, PCI_DEVICE_ID_NETMOS_9901, | 3095 | { PCI_VENDOR_ID_NETMOS, PCI_DEVICE_ID_NETMOS_9901, |
3094 | 0xA000, 0x2000, 0, 0, netmos_9901 }, | 3096 | 0xA000, 0x2000, 0, 0, netmos_9901 }, |
3097 | { PCI_VENDOR_ID_NETMOS, PCI_DEVICE_ID_NETMOS_9865, | ||
3098 | 0xA000, 0x1000, 0, 0, netmos_9865 }, | ||
3099 | { PCI_VENDOR_ID_NETMOS, PCI_DEVICE_ID_NETMOS_9865, | ||
3100 | 0xA000, 0x2000, 0, 0, netmos_9865 }, | ||
3095 | /* Quatech SPPXP-100 Parallel port PCI ExpressCard */ | 3101 | /* Quatech SPPXP-100 Parallel port PCI ExpressCard */ |
3096 | { PCI_VENDOR_ID_QUATECH, PCI_DEVICE_ID_QUATECH_SPPXP_100, | 3102 | { PCI_VENDOR_ID_QUATECH, PCI_DEVICE_ID_QUATECH_SPPXP_100, |
3097 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, quatech_sppxp100 }, | 3103 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, quatech_sppxp100 }, |
@@ -3403,7 +3409,7 @@ static int __init parport_parse_param(const char *s, int *val, | |||
3403 | *val = automatic; | 3409 | *val = automatic; |
3404 | else if (!strncmp(s, "none", 4)) | 3410 | else if (!strncmp(s, "none", 4)) |
3405 | *val = none; | 3411 | *val = none; |
3406 | else if (nofifo && !strncmp(s, "nofifo", 4)) | 3412 | else if (nofifo && !strncmp(s, "nofifo", 6)) |
3407 | *val = nofifo; | 3413 | *val = nofifo; |
3408 | else { | 3414 | else { |
3409 | char *ep; | 3415 | char *ep; |
diff --git a/drivers/parport/parport_serial.c b/drivers/parport/parport_serial.c index c3bb84ac931e..40e208d130f5 100644 --- a/drivers/parport/parport_serial.c +++ b/drivers/parport/parport_serial.c | |||
@@ -20,6 +20,7 @@ | |||
20 | #include <linux/types.h> | 20 | #include <linux/types.h> |
21 | #include <linux/module.h> | 21 | #include <linux/module.h> |
22 | #include <linux/init.h> | 22 | #include <linux/init.h> |
23 | #include <linux/slab.h> | ||
23 | #include <linux/pci.h> | 24 | #include <linux/pci.h> |
24 | #include <linux/interrupt.h> | 25 | #include <linux/interrupt.h> |
25 | #include <linux/parport.h> | 26 | #include <linux/parport.h> |
diff --git a/drivers/parport/probe.c b/drivers/parport/probe.c index 0f6550719bcf..d763bc9e44c1 100644 --- a/drivers/parport/probe.c +++ b/drivers/parport/probe.c | |||
@@ -9,6 +9,7 @@ | |||
9 | #include <linux/parport.h> | 9 | #include <linux/parport.h> |
10 | #include <linux/ctype.h> | 10 | #include <linux/ctype.h> |
11 | #include <linux/string.h> | 11 | #include <linux/string.h> |
12 | #include <linux/slab.h> | ||
12 | #include <asm/uaccess.h> | 13 | #include <asm/uaccess.h> |
13 | 14 | ||
14 | static const struct { | 15 | static const struct { |
diff --git a/drivers/parport/procfs.c b/drivers/parport/procfs.c index 8eefe56f1cbe..3f56bc086cb5 100644 --- a/drivers/parport/procfs.c +++ b/drivers/parport/procfs.c | |||
@@ -233,10 +233,10 @@ static int do_hardware_modes (ctl_table *table, int write, | |||
233 | return copy_to_user(result, buffer, len) ? -EFAULT : 0; | 233 | return copy_to_user(result, buffer, len) ? -EFAULT : 0; |
234 | } | 234 | } |
235 | 235 | ||
236 | #define PARPORT_PORT_DIR(CHILD) { .ctl_name = 0, .procname = NULL, .mode = 0555, .child = CHILD } | 236 | #define PARPORT_PORT_DIR(CHILD) { .procname = NULL, .mode = 0555, .child = CHILD } |
237 | #define PARPORT_PARPORT_DIR(CHILD) { .ctl_name = DEV_PARPORT, .procname = "parport", \ | 237 | #define PARPORT_PARPORT_DIR(CHILD) { .procname = "parport", \ |
238 | .mode = 0555, .child = CHILD } | 238 | .mode = 0555, .child = CHILD } |
239 | #define PARPORT_DEV_DIR(CHILD) { .ctl_name = CTL_DEV, .procname = "dev", .mode = 0555, .child = CHILD } | 239 | #define PARPORT_DEV_DIR(CHILD) { .procname = "dev", .mode = 0555, .child = CHILD } |
240 | #define PARPORT_DEVICES_ROOT_DIR { .procname = "devices", \ | 240 | #define PARPORT_DEVICES_ROOT_DIR { .procname = "devices", \ |
241 | .mode = 0555, .child = NULL } | 241 | .mode = 0555, .child = NULL } |
242 | 242 | ||
@@ -270,7 +270,7 @@ static const struct parport_sysctl_table parport_sysctl_template = { | |||
270 | .data = NULL, | 270 | .data = NULL, |
271 | .maxlen = sizeof(int), | 271 | .maxlen = sizeof(int), |
272 | .mode = 0644, | 272 | .mode = 0644, |
273 | .proc_handler = &proc_dointvec_minmax, | 273 | .proc_handler = proc_dointvec_minmax, |
274 | .extra1 = (void*) &parport_min_spintime_value, | 274 | .extra1 = (void*) &parport_min_spintime_value, |
275 | .extra2 = (void*) &parport_max_spintime_value | 275 | .extra2 = (void*) &parport_max_spintime_value |
276 | }, | 276 | }, |
@@ -279,28 +279,28 @@ static const struct parport_sysctl_table parport_sysctl_template = { | |||
279 | .data = NULL, | 279 | .data = NULL, |
280 | .maxlen = 0, | 280 | .maxlen = 0, |
281 | .mode = 0444, | 281 | .mode = 0444, |
282 | .proc_handler = &do_hardware_base_addr | 282 | .proc_handler = do_hardware_base_addr |
283 | }, | 283 | }, |
284 | { | 284 | { |
285 | .procname = "irq", | 285 | .procname = "irq", |
286 | .data = NULL, | 286 | .data = NULL, |
287 | .maxlen = 0, | 287 | .maxlen = 0, |
288 | .mode = 0444, | 288 | .mode = 0444, |
289 | .proc_handler = &do_hardware_irq | 289 | .proc_handler = do_hardware_irq |
290 | }, | 290 | }, |
291 | { | 291 | { |
292 | .procname = "dma", | 292 | .procname = "dma", |
293 | .data = NULL, | 293 | .data = NULL, |
294 | .maxlen = 0, | 294 | .maxlen = 0, |
295 | .mode = 0444, | 295 | .mode = 0444, |
296 | .proc_handler = &do_hardware_dma | 296 | .proc_handler = do_hardware_dma |
297 | }, | 297 | }, |
298 | { | 298 | { |
299 | .procname = "modes", | 299 | .procname = "modes", |
300 | .data = NULL, | 300 | .data = NULL, |
301 | .maxlen = 0, | 301 | .maxlen = 0, |
302 | .mode = 0444, | 302 | .mode = 0444, |
303 | .proc_handler = &do_hardware_modes | 303 | .proc_handler = do_hardware_modes |
304 | }, | 304 | }, |
305 | PARPORT_DEVICES_ROOT_DIR, | 305 | PARPORT_DEVICES_ROOT_DIR, |
306 | #ifdef CONFIG_PARPORT_1284 | 306 | #ifdef CONFIG_PARPORT_1284 |
@@ -309,35 +309,35 @@ static const struct parport_sysctl_table parport_sysctl_template = { | |||
309 | .data = NULL, | 309 | .data = NULL, |
310 | .maxlen = 0, | 310 | .maxlen = 0, |
311 | .mode = 0444, | 311 | .mode = 0444, |
312 | .proc_handler = &do_autoprobe | 312 | .proc_handler = do_autoprobe |
313 | }, | 313 | }, |
314 | { | 314 | { |
315 | .procname = "autoprobe0", | 315 | .procname = "autoprobe0", |
316 | .data = NULL, | 316 | .data = NULL, |
317 | .maxlen = 0, | 317 | .maxlen = 0, |
318 | .mode = 0444, | 318 | .mode = 0444, |
319 | .proc_handler = &do_autoprobe | 319 | .proc_handler = do_autoprobe |
320 | }, | 320 | }, |
321 | { | 321 | { |
322 | .procname = "autoprobe1", | 322 | .procname = "autoprobe1", |
323 | .data = NULL, | 323 | .data = NULL, |
324 | .maxlen = 0, | 324 | .maxlen = 0, |
325 | .mode = 0444, | 325 | .mode = 0444, |
326 | .proc_handler = &do_autoprobe | 326 | .proc_handler = do_autoprobe |
327 | }, | 327 | }, |
328 | { | 328 | { |
329 | .procname = "autoprobe2", | 329 | .procname = "autoprobe2", |
330 | .data = NULL, | 330 | .data = NULL, |
331 | .maxlen = 0, | 331 | .maxlen = 0, |
332 | .mode = 0444, | 332 | .mode = 0444, |
333 | .proc_handler = &do_autoprobe | 333 | .proc_handler = do_autoprobe |
334 | }, | 334 | }, |
335 | { | 335 | { |
336 | .procname = "autoprobe3", | 336 | .procname = "autoprobe3", |
337 | .data = NULL, | 337 | .data = NULL, |
338 | .maxlen = 0, | 338 | .maxlen = 0, |
339 | .mode = 0444, | 339 | .mode = 0444, |
340 | .proc_handler = &do_autoprobe | 340 | .proc_handler = do_autoprobe |
341 | }, | 341 | }, |
342 | #endif /* IEEE 1284 support */ | 342 | #endif /* IEEE 1284 support */ |
343 | {} | 343 | {} |
@@ -348,7 +348,7 @@ static const struct parport_sysctl_table parport_sysctl_template = { | |||
348 | .data = NULL, | 348 | .data = NULL, |
349 | .maxlen = 0, | 349 | .maxlen = 0, |
350 | .mode = 0444, | 350 | .mode = 0444, |
351 | .proc_handler = &do_active_device | 351 | .proc_handler = do_active_device |
352 | }, | 352 | }, |
353 | {} | 353 | {} |
354 | }, | 354 | }, |
@@ -386,14 +386,13 @@ parport_device_sysctl_template = { | |||
386 | .data = NULL, | 386 | .data = NULL, |
387 | .maxlen = sizeof(unsigned long), | 387 | .maxlen = sizeof(unsigned long), |
388 | .mode = 0644, | 388 | .mode = 0644, |
389 | .proc_handler = &proc_doulongvec_ms_jiffies_minmax, | 389 | .proc_handler = proc_doulongvec_ms_jiffies_minmax, |
390 | .extra1 = (void*) &parport_min_timeslice_value, | 390 | .extra1 = (void*) &parport_min_timeslice_value, |
391 | .extra2 = (void*) &parport_max_timeslice_value | 391 | .extra2 = (void*) &parport_max_timeslice_value |
392 | }, | 392 | }, |
393 | }, | 393 | }, |
394 | { | 394 | { |
395 | { | 395 | { |
396 | .ctl_name = 0, | ||
397 | .procname = NULL, | 396 | .procname = NULL, |
398 | .data = NULL, | 397 | .data = NULL, |
399 | .maxlen = 0, | 398 | .maxlen = 0, |
@@ -438,7 +437,7 @@ parport_default_sysctl_table = { | |||
438 | .data = &parport_default_timeslice, | 437 | .data = &parport_default_timeslice, |
439 | .maxlen = sizeof(parport_default_timeslice), | 438 | .maxlen = sizeof(parport_default_timeslice), |
440 | .mode = 0644, | 439 | .mode = 0644, |
441 | .proc_handler = &proc_doulongvec_ms_jiffies_minmax, | 440 | .proc_handler = proc_doulongvec_ms_jiffies_minmax, |
442 | .extra1 = (void*) &parport_min_timeslice_value, | 441 | .extra1 = (void*) &parport_min_timeslice_value, |
443 | .extra2 = (void*) &parport_max_timeslice_value | 442 | .extra2 = (void*) &parport_max_timeslice_value |
444 | }, | 443 | }, |
@@ -447,7 +446,7 @@ parport_default_sysctl_table = { | |||
447 | .data = &parport_default_spintime, | 446 | .data = &parport_default_spintime, |
448 | .maxlen = sizeof(parport_default_spintime), | 447 | .maxlen = sizeof(parport_default_spintime), |
449 | .mode = 0644, | 448 | .mode = 0644, |
450 | .proc_handler = &proc_dointvec_minmax, | 449 | .proc_handler = proc_dointvec_minmax, |
451 | .extra1 = (void*) &parport_min_spintime_value, | 450 | .extra1 = (void*) &parport_min_spintime_value, |
452 | .extra2 = (void*) &parport_max_spintime_value | 451 | .extra2 = (void*) &parport_max_spintime_value |
453 | }, | 452 | }, |
@@ -455,7 +454,6 @@ parport_default_sysctl_table = { | |||
455 | }, | 454 | }, |
456 | { | 455 | { |
457 | { | 456 | { |
458 | .ctl_name = DEV_PARPORT_DEFAULT, | ||
459 | .procname = "default", | 457 | .procname = "default", |
460 | .mode = 0555, | 458 | .mode = 0555, |
461 | .child = parport_default_sysctl_table.vars | 459 | .child = parport_default_sysctl_table.vars |
@@ -495,7 +493,6 @@ int parport_proc_register(struct parport *port) | |||
495 | t->vars[6 + i].extra2 = &port->probe_info[i]; | 493 | t->vars[6 + i].extra2 = &port->probe_info[i]; |
496 | 494 | ||
497 | t->port_dir[0].procname = port->name; | 495 | t->port_dir[0].procname = port->name; |
498 | t->port_dir[0].ctl_name = 0; | ||
499 | 496 | ||
500 | t->port_dir[0].child = t->vars; | 497 | t->port_dir[0].child = t->vars; |
501 | t->parport_dir[0].child = t->port_dir; | 498 | t->parport_dir[0].child = t->port_dir; |
@@ -534,11 +531,9 @@ int parport_device_proc_register(struct pardevice *device) | |||
534 | t->dev_dir[0].child = t->parport_dir; | 531 | t->dev_dir[0].child = t->parport_dir; |
535 | t->parport_dir[0].child = t->port_dir; | 532 | t->parport_dir[0].child = t->port_dir; |
536 | t->port_dir[0].procname = port->name; | 533 | t->port_dir[0].procname = port->name; |
537 | t->port_dir[0].ctl_name = 0; | ||
538 | t->port_dir[0].child = t->devices_root_dir; | 534 | t->port_dir[0].child = t->devices_root_dir; |
539 | t->devices_root_dir[0].child = t->device_dir; | 535 | t->devices_root_dir[0].child = t->device_dir; |
540 | 536 | ||
541 | t->device_dir[0].ctl_name = 0; | ||
542 | t->device_dir[0].procname = device->name; | 537 | t->device_dir[0].procname = device->name; |
543 | t->device_dir[0].child = t->vars; | 538 | t->device_dir[0].child = t->vars; |
544 | t->vars[0].data = &device->timeslice; | 539 | t->vars[0].data = &device->timeslice; |