diff options
author | Jeff Garzik <jeff@garzik.org> | 2007-08-15 05:38:46 -0400 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2007-10-12 14:55:34 -0400 |
commit | 6d32d30f55020d766388df7515f771f68c973033 (patch) | |
tree | ec0efe48460b5b3f177fed2698ccd04b7964359b | |
parent | cb94c1cf5a6beffbd8935eb91227df0dd1987644 (diff) |
[libata] Remove ->irq_ack() hook, and ata_dummy_irq_on()
* ->irq_ack() is redundant to what the irq handler already
performs... chk-status + irq-clear. Furthermore, it is only
called in one place, when screaming-irq-debugging is enabled,
so we don't want to bother with a hook just for that.
* ata_dummy_irq_on() is only ever used in drivers that have
no callpath reaching ->irq_on(). Remove .irq_on hook from
those drivers, and the now-unused ata_dummy_irq_on()
Signed-off-by: Jeff Garzik <jeff@garzik.org>
66 files changed, 2 insertions, 207 deletions
diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c index baf7d0562190..c888c966a020 100644 --- a/drivers/ata/ahci.c +++ b/drivers/ata/ahci.c | |||
@@ -276,8 +276,6 @@ static const struct ata_port_operations ahci_ops = { | |||
276 | .qc_issue = ahci_qc_issue, | 276 | .qc_issue = ahci_qc_issue, |
277 | 277 | ||
278 | .irq_clear = ahci_irq_clear, | 278 | .irq_clear = ahci_irq_clear, |
279 | .irq_on = ata_dummy_irq_on, | ||
280 | .irq_ack = ata_dummy_irq_ack, | ||
281 | 279 | ||
282 | .scr_read = ahci_scr_read, | 280 | .scr_read = ahci_scr_read, |
283 | .scr_write = ahci_scr_write, | 281 | .scr_write = ahci_scr_write, |
@@ -310,8 +308,6 @@ static const struct ata_port_operations ahci_vt8251_ops = { | |||
310 | .qc_issue = ahci_qc_issue, | 308 | .qc_issue = ahci_qc_issue, |
311 | 309 | ||
312 | .irq_clear = ahci_irq_clear, | 310 | .irq_clear = ahci_irq_clear, |
313 | .irq_on = ata_dummy_irq_on, | ||
314 | .irq_ack = ata_dummy_irq_ack, | ||
315 | 311 | ||
316 | .scr_read = ahci_scr_read, | 312 | .scr_read = ahci_scr_read, |
317 | .scr_write = ahci_scr_write, | 313 | .scr_write = ahci_scr_write, |
diff --git a/drivers/ata/ata_generic.c b/drivers/ata/ata_generic.c index e390ad47c8ef..6ec1bbc4fcc4 100644 --- a/drivers/ata/ata_generic.c +++ b/drivers/ata/ata_generic.c | |||
@@ -121,7 +121,6 @@ static struct ata_port_operations generic_port_ops = { | |||
121 | .irq_handler = ata_interrupt, | 121 | .irq_handler = ata_interrupt, |
122 | .irq_clear = ata_bmdma_irq_clear, | 122 | .irq_clear = ata_bmdma_irq_clear, |
123 | .irq_on = ata_irq_on, | 123 | .irq_on = ata_irq_on, |
124 | .irq_ack = ata_irq_ack, | ||
125 | 124 | ||
126 | .port_start = ata_port_start, | 125 | .port_start = ata_port_start, |
127 | }; | 126 | }; |
diff --git a/drivers/ata/ata_piix.c b/drivers/ata/ata_piix.c index 4b66b9e9638f..68bc0ae671c5 100644 --- a/drivers/ata/ata_piix.c +++ b/drivers/ata/ata_piix.c | |||
@@ -318,7 +318,6 @@ static const struct ata_port_operations piix_pata_ops = { | |||
318 | .irq_handler = ata_interrupt, | 318 | .irq_handler = ata_interrupt, |
319 | .irq_clear = ata_bmdma_irq_clear, | 319 | .irq_clear = ata_bmdma_irq_clear, |
320 | .irq_on = ata_irq_on, | 320 | .irq_on = ata_irq_on, |
321 | .irq_ack = ata_irq_ack, | ||
322 | 321 | ||
323 | .port_start = ata_port_start, | 322 | .port_start = ata_port_start, |
324 | }; | 323 | }; |
@@ -352,7 +351,6 @@ static const struct ata_port_operations ich_pata_ops = { | |||
352 | .irq_handler = ata_interrupt, | 351 | .irq_handler = ata_interrupt, |
353 | .irq_clear = ata_bmdma_irq_clear, | 352 | .irq_clear = ata_bmdma_irq_clear, |
354 | .irq_on = ata_irq_on, | 353 | .irq_on = ata_irq_on, |
355 | .irq_ack = ata_irq_ack, | ||
356 | 354 | ||
357 | .port_start = ata_port_start, | 355 | .port_start = ata_port_start, |
358 | }; | 356 | }; |
@@ -382,7 +380,6 @@ static const struct ata_port_operations piix_sata_ops = { | |||
382 | .irq_handler = ata_interrupt, | 380 | .irq_handler = ata_interrupt, |
383 | .irq_clear = ata_bmdma_irq_clear, | 381 | .irq_clear = ata_bmdma_irq_clear, |
384 | .irq_on = ata_irq_on, | 382 | .irq_on = ata_irq_on, |
385 | .irq_ack = ata_irq_ack, | ||
386 | 383 | ||
387 | .port_start = ata_port_start, | 384 | .port_start = ata_port_start, |
388 | }; | 385 | }; |
diff --git a/drivers/ata/libata-core.c b/drivers/ata/libata-core.c index 9f87f7ddd485..4f8b8d210cf4 100644 --- a/drivers/ata/libata-core.c +++ b/drivers/ata/libata-core.c | |||
@@ -5747,7 +5747,8 @@ idle_irq: | |||
5747 | 5747 | ||
5748 | #ifdef ATA_IRQ_TRAP | 5748 | #ifdef ATA_IRQ_TRAP |
5749 | if ((ap->stats.idle_irq % 1000) == 0) { | 5749 | if ((ap->stats.idle_irq % 1000) == 0) { |
5750 | ap->ops->irq_ack(ap, 0); /* debug trap */ | 5750 | ata_chk_status(ap); |
5751 | ap->ops->irq_clear(ap); | ||
5751 | ata_port_printk(ap, KERN_WARNING, "irq trap\n"); | 5752 | ata_port_printk(ap, KERN_WARNING, "irq trap\n"); |
5752 | return 1; | 5753 | return 1; |
5753 | } | 5754 | } |
@@ -7137,9 +7138,6 @@ EXPORT_SYMBOL_GPL(ata_eh_qc_complete); | |||
7137 | EXPORT_SYMBOL_GPL(ata_eh_qc_retry); | 7138 | EXPORT_SYMBOL_GPL(ata_eh_qc_retry); |
7138 | EXPORT_SYMBOL_GPL(ata_do_eh); | 7139 | EXPORT_SYMBOL_GPL(ata_do_eh); |
7139 | EXPORT_SYMBOL_GPL(ata_irq_on); | 7140 | EXPORT_SYMBOL_GPL(ata_irq_on); |
7140 | EXPORT_SYMBOL_GPL(ata_dummy_irq_on); | ||
7141 | EXPORT_SYMBOL_GPL(ata_irq_ack); | ||
7142 | EXPORT_SYMBOL_GPL(ata_dummy_irq_ack); | ||
7143 | EXPORT_SYMBOL_GPL(ata_dev_try_classify); | 7141 | EXPORT_SYMBOL_GPL(ata_dev_try_classify); |
7144 | 7142 | ||
7145 | EXPORT_SYMBOL_GPL(ata_cable_40wire); | 7143 | EXPORT_SYMBOL_GPL(ata_cable_40wire); |
diff --git a/drivers/ata/libata-sff.c b/drivers/ata/libata-sff.c index dd528dbd9ccf..ccef99a0337c 100644 --- a/drivers/ata/libata-sff.c +++ b/drivers/ata/libata-sff.c | |||
@@ -64,46 +64,6 @@ u8 ata_irq_on(struct ata_port *ap) | |||
64 | return tmp; | 64 | return tmp; |
65 | } | 65 | } |
66 | 66 | ||
67 | u8 ata_dummy_irq_on (struct ata_port *ap) { return 0; } | ||
68 | |||
69 | /** | ||
70 | * ata_irq_ack - Acknowledge a device interrupt. | ||
71 | * @ap: Port on which interrupts are enabled. | ||
72 | * | ||
73 | * Wait up to 10 ms for legacy IDE device to become idle (BUSY | ||
74 | * or BUSY+DRQ clear). Obtain dma status and port status from | ||
75 | * device. Clear the interrupt. Return port status. | ||
76 | * | ||
77 | * LOCKING: | ||
78 | */ | ||
79 | |||
80 | u8 ata_irq_ack(struct ata_port *ap, unsigned int chk_drq) | ||
81 | { | ||
82 | unsigned int bits = chk_drq ? ATA_BUSY | ATA_DRQ : ATA_BUSY; | ||
83 | u8 host_stat = 0, post_stat = 0, status; | ||
84 | |||
85 | status = ata_busy_wait(ap, bits, 1000); | ||
86 | if (status & bits) | ||
87 | if (ata_msg_err(ap)) | ||
88 | printk(KERN_ERR "abnormal status 0x%X\n", status); | ||
89 | |||
90 | if (ap->ioaddr.bmdma_addr) { | ||
91 | /* get controller status; clear intr, err bits */ | ||
92 | host_stat = ioread8(ap->ioaddr.bmdma_addr + ATA_DMA_STATUS); | ||
93 | iowrite8(host_stat | ATA_DMA_INTR | ATA_DMA_ERR, | ||
94 | ap->ioaddr.bmdma_addr + ATA_DMA_STATUS); | ||
95 | |||
96 | post_stat = ioread8(ap->ioaddr.bmdma_addr + ATA_DMA_STATUS); | ||
97 | } | ||
98 | if (ata_msg_intr(ap)) | ||
99 | printk(KERN_INFO "%s: irq ack: host_stat 0x%X, new host_stat 0x%X, drv_stat 0x%X\n", | ||
100 | __FUNCTION__, | ||
101 | host_stat, post_stat, status); | ||
102 | return status; | ||
103 | } | ||
104 | |||
105 | u8 ata_dummy_irq_ack(struct ata_port *ap, unsigned int chk_drq) { return 0; } | ||
106 | |||
107 | /** | 67 | /** |
108 | * ata_tf_load - send taskfile registers to host controller | 68 | * ata_tf_load - send taskfile registers to host controller |
109 | * @ap: Port to which output is sent | 69 | * @ap: Port to which output is sent |
diff --git a/drivers/ata/pata_ali.c b/drivers/ata/pata_ali.c index 32a10c99c06f..9436c4963929 100644 --- a/drivers/ata/pata_ali.c +++ b/drivers/ata/pata_ali.c | |||
@@ -327,7 +327,6 @@ static struct ata_port_operations ali_early_port_ops = { | |||
327 | .irq_handler = ata_interrupt, | 327 | .irq_handler = ata_interrupt, |
328 | .irq_clear = ata_bmdma_irq_clear, | 328 | .irq_clear = ata_bmdma_irq_clear, |
329 | .irq_on = ata_irq_on, | 329 | .irq_on = ata_irq_on, |
330 | .irq_ack = ata_irq_ack, | ||
331 | 330 | ||
332 | .port_start = ata_port_start, | 331 | .port_start = ata_port_start, |
333 | }; | 332 | }; |
@@ -369,7 +368,6 @@ static struct ata_port_operations ali_20_port_ops = { | |||
369 | .irq_handler = ata_interrupt, | 368 | .irq_handler = ata_interrupt, |
370 | .irq_clear = ata_bmdma_irq_clear, | 369 | .irq_clear = ata_bmdma_irq_clear, |
371 | .irq_on = ata_irq_on, | 370 | .irq_on = ata_irq_on, |
372 | .irq_ack = ata_irq_ack, | ||
373 | 371 | ||
374 | .port_start = ata_port_start, | 372 | .port_start = ata_port_start, |
375 | }; | 373 | }; |
@@ -408,7 +406,6 @@ static struct ata_port_operations ali_c2_port_ops = { | |||
408 | .irq_handler = ata_interrupt, | 406 | .irq_handler = ata_interrupt, |
409 | .irq_clear = ata_bmdma_irq_clear, | 407 | .irq_clear = ata_bmdma_irq_clear, |
410 | .irq_on = ata_irq_on, | 408 | .irq_on = ata_irq_on, |
411 | .irq_ack = ata_irq_ack, | ||
412 | 409 | ||
413 | .port_start = ata_port_start, | 410 | .port_start = ata_port_start, |
414 | }; | 411 | }; |
@@ -446,7 +443,6 @@ static struct ata_port_operations ali_c5_port_ops = { | |||
446 | .irq_handler = ata_interrupt, | 443 | .irq_handler = ata_interrupt, |
447 | .irq_clear = ata_bmdma_irq_clear, | 444 | .irq_clear = ata_bmdma_irq_clear, |
448 | .irq_on = ata_irq_on, | 445 | .irq_on = ata_irq_on, |
449 | .irq_ack = ata_irq_ack, | ||
450 | 446 | ||
451 | .port_start = ata_port_start, | 447 | .port_start = ata_port_start, |
452 | }; | 448 | }; |
diff --git a/drivers/ata/pata_amd.c b/drivers/ata/pata_amd.c index d0cebe16a8ee..46f829c838b3 100644 --- a/drivers/ata/pata_amd.c +++ b/drivers/ata/pata_amd.c | |||
@@ -358,7 +358,6 @@ static struct ata_port_operations amd33_port_ops = { | |||
358 | .irq_handler = ata_interrupt, | 358 | .irq_handler = ata_interrupt, |
359 | .irq_clear = ata_bmdma_irq_clear, | 359 | .irq_clear = ata_bmdma_irq_clear, |
360 | .irq_on = ata_irq_on, | 360 | .irq_on = ata_irq_on, |
361 | .irq_ack = ata_irq_ack, | ||
362 | 361 | ||
363 | .port_start = ata_port_start, | 362 | .port_start = ata_port_start, |
364 | }; | 363 | }; |
@@ -393,7 +392,6 @@ static struct ata_port_operations amd66_port_ops = { | |||
393 | .irq_handler = ata_interrupt, | 392 | .irq_handler = ata_interrupt, |
394 | .irq_clear = ata_bmdma_irq_clear, | 393 | .irq_clear = ata_bmdma_irq_clear, |
395 | .irq_on = ata_irq_on, | 394 | .irq_on = ata_irq_on, |
396 | .irq_ack = ata_irq_ack, | ||
397 | 395 | ||
398 | .port_start = ata_port_start, | 396 | .port_start = ata_port_start, |
399 | }; | 397 | }; |
@@ -428,7 +426,6 @@ static struct ata_port_operations amd100_port_ops = { | |||
428 | .irq_handler = ata_interrupt, | 426 | .irq_handler = ata_interrupt, |
429 | .irq_clear = ata_bmdma_irq_clear, | 427 | .irq_clear = ata_bmdma_irq_clear, |
430 | .irq_on = ata_irq_on, | 428 | .irq_on = ata_irq_on, |
431 | .irq_ack = ata_irq_ack, | ||
432 | 429 | ||
433 | .port_start = ata_port_start, | 430 | .port_start = ata_port_start, |
434 | }; | 431 | }; |
@@ -463,7 +460,6 @@ static struct ata_port_operations amd133_port_ops = { | |||
463 | .irq_handler = ata_interrupt, | 460 | .irq_handler = ata_interrupt, |
464 | .irq_clear = ata_bmdma_irq_clear, | 461 | .irq_clear = ata_bmdma_irq_clear, |
465 | .irq_on = ata_irq_on, | 462 | .irq_on = ata_irq_on, |
466 | .irq_ack = ata_irq_ack, | ||
467 | 463 | ||
468 | .port_start = ata_port_start, | 464 | .port_start = ata_port_start, |
469 | }; | 465 | }; |
@@ -498,7 +494,6 @@ static struct ata_port_operations nv100_port_ops = { | |||
498 | .irq_handler = ata_interrupt, | 494 | .irq_handler = ata_interrupt, |
499 | .irq_clear = ata_bmdma_irq_clear, | 495 | .irq_clear = ata_bmdma_irq_clear, |
500 | .irq_on = ata_irq_on, | 496 | .irq_on = ata_irq_on, |
501 | .irq_ack = ata_irq_ack, | ||
502 | 497 | ||
503 | .port_start = ata_port_start, | 498 | .port_start = ata_port_start, |
504 | }; | 499 | }; |
@@ -533,7 +528,6 @@ static struct ata_port_operations nv133_port_ops = { | |||
533 | .irq_handler = ata_interrupt, | 528 | .irq_handler = ata_interrupt, |
534 | .irq_clear = ata_bmdma_irq_clear, | 529 | .irq_clear = ata_bmdma_irq_clear, |
535 | .irq_on = ata_irq_on, | 530 | .irq_on = ata_irq_on, |
536 | .irq_ack = ata_irq_ack, | ||
537 | 531 | ||
538 | .port_start = ata_port_start, | 532 | .port_start = ata_port_start, |
539 | }; | 533 | }; |
diff --git a/drivers/ata/pata_artop.c b/drivers/ata/pata_artop.c index 361f2fca7e54..8c864353596e 100644 --- a/drivers/ata/pata_artop.c +++ b/drivers/ata/pata_artop.c | |||
@@ -361,7 +361,6 @@ static const struct ata_port_operations artop6210_ops = { | |||
361 | .irq_handler = ata_interrupt, | 361 | .irq_handler = ata_interrupt, |
362 | .irq_clear = ata_bmdma_irq_clear, | 362 | .irq_clear = ata_bmdma_irq_clear, |
363 | .irq_on = ata_irq_on, | 363 | .irq_on = ata_irq_on, |
364 | .irq_ack = ata_irq_ack, | ||
365 | 364 | ||
366 | .port_start = ata_port_start, | 365 | .port_start = ata_port_start, |
367 | }; | 366 | }; |
@@ -394,7 +393,6 @@ static const struct ata_port_operations artop6260_ops = { | |||
394 | .irq_handler = ata_interrupt, | 393 | .irq_handler = ata_interrupt, |
395 | .irq_clear = ata_bmdma_irq_clear, | 394 | .irq_clear = ata_bmdma_irq_clear, |
396 | .irq_on = ata_irq_on, | 395 | .irq_on = ata_irq_on, |
397 | .irq_ack = ata_irq_ack, | ||
398 | 396 | ||
399 | .port_start = ata_port_start, | 397 | .port_start = ata_port_start, |
400 | }; | 398 | }; |
diff --git a/drivers/ata/pata_atiixp.c b/drivers/ata/pata_atiixp.c index 656f4d0a5728..f2bfdeb44023 100644 --- a/drivers/ata/pata_atiixp.c +++ b/drivers/ata/pata_atiixp.c | |||
@@ -262,7 +262,6 @@ static struct ata_port_operations atiixp_port_ops = { | |||
262 | .irq_handler = ata_interrupt, | 262 | .irq_handler = ata_interrupt, |
263 | .irq_clear = ata_bmdma_irq_clear, | 263 | .irq_clear = ata_bmdma_irq_clear, |
264 | .irq_on = ata_irq_on, | 264 | .irq_on = ata_irq_on, |
265 | .irq_ack = ata_irq_ack, | ||
266 | 265 | ||
267 | .port_start = ata_port_start, | 266 | .port_start = ata_port_start, |
268 | }; | 267 | }; |
diff --git a/drivers/ata/pata_cmd640.c b/drivers/ata/pata_cmd640.c index 0feb5ae8c486..a292ed97246d 100644 --- a/drivers/ata/pata_cmd640.c +++ b/drivers/ata/pata_cmd640.c | |||
@@ -213,7 +213,6 @@ static struct ata_port_operations cmd640_port_ops = { | |||
213 | .irq_handler = ata_interrupt, | 213 | .irq_handler = ata_interrupt, |
214 | .irq_clear = ata_bmdma_irq_clear, | 214 | .irq_clear = ata_bmdma_irq_clear, |
215 | .irq_on = ata_irq_on, | 215 | .irq_on = ata_irq_on, |
216 | .irq_ack = ata_irq_ack, | ||
217 | 216 | ||
218 | .port_start = cmd640_port_start, | 217 | .port_start = cmd640_port_start, |
219 | }; | 218 | }; |
diff --git a/drivers/ata/pata_cmd64x.c b/drivers/ata/pata_cmd64x.c index 922902a1b4ae..d308c4644647 100644 --- a/drivers/ata/pata_cmd64x.c +++ b/drivers/ata/pata_cmd64x.c | |||
@@ -313,7 +313,6 @@ static struct ata_port_operations cmd64x_port_ops = { | |||
313 | .irq_handler = ata_interrupt, | 313 | .irq_handler = ata_interrupt, |
314 | .irq_clear = ata_bmdma_irq_clear, | 314 | .irq_clear = ata_bmdma_irq_clear, |
315 | .irq_on = ata_irq_on, | 315 | .irq_on = ata_irq_on, |
316 | .irq_ack = ata_irq_ack, | ||
317 | 316 | ||
318 | .port_start = ata_port_start, | 317 | .port_start = ata_port_start, |
319 | }; | 318 | }; |
@@ -348,7 +347,6 @@ static struct ata_port_operations cmd646r1_port_ops = { | |||
348 | .irq_handler = ata_interrupt, | 347 | .irq_handler = ata_interrupt, |
349 | .irq_clear = ata_bmdma_irq_clear, | 348 | .irq_clear = ata_bmdma_irq_clear, |
350 | .irq_on = ata_irq_on, | 349 | .irq_on = ata_irq_on, |
351 | .irq_ack = ata_irq_ack, | ||
352 | 350 | ||
353 | .port_start = ata_port_start, | 351 | .port_start = ata_port_start, |
354 | }; | 352 | }; |
@@ -383,7 +381,6 @@ static struct ata_port_operations cmd648_port_ops = { | |||
383 | .irq_handler = ata_interrupt, | 381 | .irq_handler = ata_interrupt, |
384 | .irq_clear = ata_bmdma_irq_clear, | 382 | .irq_clear = ata_bmdma_irq_clear, |
385 | .irq_on = ata_irq_on, | 383 | .irq_on = ata_irq_on, |
386 | .irq_ack = ata_irq_ack, | ||
387 | 384 | ||
388 | .port_start = ata_port_start, | 385 | .port_start = ata_port_start, |
389 | }; | 386 | }; |
diff --git a/drivers/ata/pata_cs5520.c b/drivers/ata/pata_cs5520.c index e2459088cdcd..300dcff949e2 100644 --- a/drivers/ata/pata_cs5520.c +++ b/drivers/ata/pata_cs5520.c | |||
@@ -184,7 +184,6 @@ static struct ata_port_operations cs5520_port_ops = { | |||
184 | 184 | ||
185 | .irq_clear = ata_bmdma_irq_clear, | 185 | .irq_clear = ata_bmdma_irq_clear, |
186 | .irq_on = ata_irq_on, | 186 | .irq_on = ata_irq_on, |
187 | .irq_ack = ata_irq_ack, | ||
188 | 187 | ||
189 | .port_start = ata_port_start, | 188 | .port_start = ata_port_start, |
190 | }; | 189 | }; |
diff --git a/drivers/ata/pata_cs5530.c b/drivers/ata/pata_cs5530.c index eaaea848b649..2b770072f392 100644 --- a/drivers/ata/pata_cs5530.c +++ b/drivers/ata/pata_cs5530.c | |||
@@ -209,7 +209,6 @@ static struct ata_port_operations cs5530_port_ops = { | |||
209 | .irq_handler = ata_interrupt, | 209 | .irq_handler = ata_interrupt, |
210 | .irq_clear = ata_bmdma_irq_clear, | 210 | .irq_clear = ata_bmdma_irq_clear, |
211 | .irq_on = ata_irq_on, | 211 | .irq_on = ata_irq_on, |
212 | .irq_ack = ata_irq_ack, | ||
213 | 212 | ||
214 | .port_start = ata_port_start, | 213 | .port_start = ata_port_start, |
215 | }; | 214 | }; |
diff --git a/drivers/ata/pata_cs5535.c b/drivers/ata/pata_cs5535.c index 360b6f32e17e..94b1a9caf3cb 100644 --- a/drivers/ata/pata_cs5535.c +++ b/drivers/ata/pata_cs5535.c | |||
@@ -206,7 +206,6 @@ static struct ata_port_operations cs5535_port_ops = { | |||
206 | .irq_handler = ata_interrupt, | 206 | .irq_handler = ata_interrupt, |
207 | .irq_clear = ata_bmdma_irq_clear, | 207 | .irq_clear = ata_bmdma_irq_clear, |
208 | .irq_on = ata_irq_on, | 208 | .irq_on = ata_irq_on, |
209 | .irq_ack = ata_irq_ack, | ||
210 | 209 | ||
211 | .port_start = ata_port_start, | 210 | .port_start = ata_port_start, |
212 | }; | 211 | }; |
diff --git a/drivers/ata/pata_cypress.c b/drivers/ata/pata_cypress.c index 6cbc8778bf4f..8c439a9bb5dd 100644 --- a/drivers/ata/pata_cypress.c +++ b/drivers/ata/pata_cypress.c | |||
@@ -158,7 +158,6 @@ static struct ata_port_operations cy82c693_port_ops = { | |||
158 | .irq_handler = ata_interrupt, | 158 | .irq_handler = ata_interrupt, |
159 | .irq_clear = ata_bmdma_irq_clear, | 159 | .irq_clear = ata_bmdma_irq_clear, |
160 | .irq_on = ata_irq_on, | 160 | .irq_on = ata_irq_on, |
161 | .irq_ack = ata_irq_ack, | ||
162 | 161 | ||
163 | .port_start = ata_port_start, | 162 | .port_start = ata_port_start, |
164 | }; | 163 | }; |
diff --git a/drivers/ata/pata_efar.c b/drivers/ata/pata_efar.c index 9f6fae6e38bf..4d646ffb257b 100644 --- a/drivers/ata/pata_efar.c +++ b/drivers/ata/pata_efar.c | |||
@@ -279,7 +279,6 @@ static const struct ata_port_operations efar_ops = { | |||
279 | .irq_handler = ata_interrupt, | 279 | .irq_handler = ata_interrupt, |
280 | .irq_clear = ata_bmdma_irq_clear, | 280 | .irq_clear = ata_bmdma_irq_clear, |
281 | .irq_on = ata_irq_on, | 281 | .irq_on = ata_irq_on, |
282 | .irq_ack = ata_irq_ack, | ||
283 | 282 | ||
284 | .port_start = ata_port_start, | 283 | .port_start = ata_port_start, |
285 | }; | 284 | }; |
diff --git a/drivers/ata/pata_hpt366.c b/drivers/ata/pata_hpt366.c index 6f7d34ad19ef..508d1cab52d1 100644 --- a/drivers/ata/pata_hpt366.c +++ b/drivers/ata/pata_hpt366.c | |||
@@ -342,7 +342,6 @@ static struct ata_port_operations hpt366_port_ops = { | |||
342 | .irq_handler = ata_interrupt, | 342 | .irq_handler = ata_interrupt, |
343 | .irq_clear = ata_bmdma_irq_clear, | 343 | .irq_clear = ata_bmdma_irq_clear, |
344 | .irq_on = ata_irq_on, | 344 | .irq_on = ata_irq_on, |
345 | .irq_ack = ata_irq_ack, | ||
346 | 345 | ||
347 | .port_start = ata_port_start, | 346 | .port_start = ata_port_start, |
348 | }; | 347 | }; |
diff --git a/drivers/ata/pata_hpt37x.c b/drivers/ata/pata_hpt37x.c index 1a4d0ad68d18..896e6e31c67f 100644 --- a/drivers/ata/pata_hpt37x.c +++ b/drivers/ata/pata_hpt37x.c | |||
@@ -673,7 +673,6 @@ static struct ata_port_operations hpt370_port_ops = { | |||
673 | .irq_handler = ata_interrupt, | 673 | .irq_handler = ata_interrupt, |
674 | .irq_clear = ata_bmdma_irq_clear, | 674 | .irq_clear = ata_bmdma_irq_clear, |
675 | .irq_on = ata_irq_on, | 675 | .irq_on = ata_irq_on, |
676 | .irq_ack = ata_irq_ack, | ||
677 | 676 | ||
678 | .port_start = ata_port_start, | 677 | .port_start = ata_port_start, |
679 | }; | 678 | }; |
@@ -712,7 +711,6 @@ static struct ata_port_operations hpt370a_port_ops = { | |||
712 | .irq_handler = ata_interrupt, | 711 | .irq_handler = ata_interrupt, |
713 | .irq_clear = ata_bmdma_irq_clear, | 712 | .irq_clear = ata_bmdma_irq_clear, |
714 | .irq_on = ata_irq_on, | 713 | .irq_on = ata_irq_on, |
715 | .irq_ack = ata_irq_ack, | ||
716 | 714 | ||
717 | .port_start = ata_port_start, | 715 | .port_start = ata_port_start, |
718 | }; | 716 | }; |
@@ -752,7 +750,6 @@ static struct ata_port_operations hpt372_port_ops = { | |||
752 | .irq_handler = ata_interrupt, | 750 | .irq_handler = ata_interrupt, |
753 | .irq_clear = ata_bmdma_irq_clear, | 751 | .irq_clear = ata_bmdma_irq_clear, |
754 | .irq_on = ata_irq_on, | 752 | .irq_on = ata_irq_on, |
755 | .irq_ack = ata_irq_ack, | ||
756 | 753 | ||
757 | .port_start = ata_port_start, | 754 | .port_start = ata_port_start, |
758 | }; | 755 | }; |
@@ -792,7 +789,6 @@ static struct ata_port_operations hpt374_port_ops = { | |||
792 | .irq_handler = ata_interrupt, | 789 | .irq_handler = ata_interrupt, |
793 | .irq_clear = ata_bmdma_irq_clear, | 790 | .irq_clear = ata_bmdma_irq_clear, |
794 | .irq_on = ata_irq_on, | 791 | .irq_on = ata_irq_on, |
795 | .irq_ack = ata_irq_ack, | ||
796 | 792 | ||
797 | .port_start = ata_port_start, | 793 | .port_start = ata_port_start, |
798 | }; | 794 | }; |
diff --git a/drivers/ata/pata_hpt3x2n.c b/drivers/ata/pata_hpt3x2n.c index 739a89180eb9..2b7f099ac785 100644 --- a/drivers/ata/pata_hpt3x2n.c +++ b/drivers/ata/pata_hpt3x2n.c | |||
@@ -391,7 +391,6 @@ static struct ata_port_operations hpt3x2n_port_ops = { | |||
391 | .irq_handler = ata_interrupt, | 391 | .irq_handler = ata_interrupt, |
392 | .irq_clear = ata_bmdma_irq_clear, | 392 | .irq_clear = ata_bmdma_irq_clear, |
393 | .irq_on = ata_irq_on, | 393 | .irq_on = ata_irq_on, |
394 | .irq_ack = ata_irq_ack, | ||
395 | 394 | ||
396 | .port_start = ata_port_start, | 395 | .port_start = ata_port_start, |
397 | }; | 396 | }; |
diff --git a/drivers/ata/pata_hpt3x3.c b/drivers/ata/pata_hpt3x3.c index be0f05efac6d..a2f81f40d7ac 100644 --- a/drivers/ata/pata_hpt3x3.c +++ b/drivers/ata/pata_hpt3x3.c | |||
@@ -153,7 +153,6 @@ static struct ata_port_operations hpt3x3_port_ops = { | |||
153 | .irq_handler = ata_interrupt, | 153 | .irq_handler = ata_interrupt, |
154 | .irq_clear = ata_bmdma_irq_clear, | 154 | .irq_clear = ata_bmdma_irq_clear, |
155 | .irq_on = ata_irq_on, | 155 | .irq_on = ata_irq_on, |
156 | .irq_ack = ata_irq_ack, | ||
157 | 156 | ||
158 | .port_start = ata_port_start, | 157 | .port_start = ata_port_start, |
159 | }; | 158 | }; |
diff --git a/drivers/ata/pata_icside.c b/drivers/ata/pata_icside.c index 64a711776c45..ffcccfc0b9d4 100644 --- a/drivers/ata/pata_icside.c +++ b/drivers/ata/pata_icside.c | |||
@@ -357,23 +357,6 @@ static void pata_icside_error_handler(struct ata_port *ap) | |||
357 | pata_icside_postreset); | 357 | pata_icside_postreset); |
358 | } | 358 | } |
359 | 359 | ||
360 | static u8 pata_icside_irq_ack(struct ata_port *ap, unsigned int chk_drq) | ||
361 | { | ||
362 | unsigned int bits = chk_drq ? ATA_BUSY | ATA_DRQ : ATA_BUSY; | ||
363 | u8 status; | ||
364 | |||
365 | status = ata_busy_wait(ap, bits, 1000); | ||
366 | if (status & bits) | ||
367 | if (ata_msg_err(ap)) | ||
368 | printk(KERN_ERR "abnormal status 0x%X\n", status); | ||
369 | |||
370 | if (ata_msg_intr(ap)) | ||
371 | printk(KERN_INFO "%s: irq ack: drv_stat 0x%X\n", | ||
372 | __FUNCTION__, status); | ||
373 | |||
374 | return status; | ||
375 | } | ||
376 | |||
377 | static struct ata_port_operations pata_icside_port_ops = { | 360 | static struct ata_port_operations pata_icside_port_ops = { |
378 | .port_disable = ata_port_disable, | 361 | .port_disable = ata_port_disable, |
379 | 362 | ||
@@ -403,7 +386,6 @@ static struct ata_port_operations pata_icside_port_ops = { | |||
403 | 386 | ||
404 | .irq_clear = ata_dummy_noret, | 387 | .irq_clear = ata_dummy_noret, |
405 | .irq_on = ata_irq_on, | 388 | .irq_on = ata_irq_on, |
406 | .irq_ack = pata_icside_irq_ack, | ||
407 | 389 | ||
408 | .port_start = pata_icside_port_start, | 390 | .port_start = pata_icside_port_start, |
409 | 391 | ||
diff --git a/drivers/ata/pata_isapnp.c b/drivers/ata/pata_isapnp.c index 9e553c54203a..b8d6d5c43537 100644 --- a/drivers/ata/pata_isapnp.c +++ b/drivers/ata/pata_isapnp.c | |||
@@ -58,7 +58,6 @@ static struct ata_port_operations isapnp_port_ops = { | |||
58 | 58 | ||
59 | .irq_clear = ata_bmdma_irq_clear, | 59 | .irq_clear = ata_bmdma_irq_clear, |
60 | .irq_on = ata_irq_on, | 60 | .irq_on = ata_irq_on, |
61 | .irq_ack = ata_irq_ack, | ||
62 | 61 | ||
63 | .port_start = ata_port_start, | 62 | .port_start = ata_port_start, |
64 | }; | 63 | }; |
diff --git a/drivers/ata/pata_it8213.c b/drivers/ata/pata_it8213.c index 1daf1e19bdfc..8aae9d7171c1 100644 --- a/drivers/ata/pata_it8213.c +++ b/drivers/ata/pata_it8213.c | |||
@@ -289,7 +289,6 @@ static const struct ata_port_operations it8213_ops = { | |||
289 | .irq_handler = ata_interrupt, | 289 | .irq_handler = ata_interrupt, |
290 | .irq_clear = ata_bmdma_irq_clear, | 290 | .irq_clear = ata_bmdma_irq_clear, |
291 | .irq_on = ata_irq_on, | 291 | .irq_on = ata_irq_on, |
292 | .irq_ack = ata_irq_ack, | ||
293 | 292 | ||
294 | .port_start = ata_port_start, | 293 | .port_start = ata_port_start, |
295 | }; | 294 | }; |
diff --git a/drivers/ata/pata_it821x.c b/drivers/ata/pata_it821x.c index f32d9b7ab496..0179b29c5156 100644 --- a/drivers/ata/pata_it821x.c +++ b/drivers/ata/pata_it821x.c | |||
@@ -650,7 +650,6 @@ static struct ata_port_operations it821x_smart_port_ops = { | |||
650 | .irq_handler = ata_interrupt, | 650 | .irq_handler = ata_interrupt, |
651 | .irq_clear = ata_bmdma_irq_clear, | 651 | .irq_clear = ata_bmdma_irq_clear, |
652 | .irq_on = ata_irq_on, | 652 | .irq_on = ata_irq_on, |
653 | .irq_ack = ata_irq_ack, | ||
654 | 653 | ||
655 | .port_start = it821x_port_start, | 654 | .port_start = it821x_port_start, |
656 | }; | 655 | }; |
@@ -687,7 +686,6 @@ static struct ata_port_operations it821x_passthru_port_ops = { | |||
687 | .irq_clear = ata_bmdma_irq_clear, | 686 | .irq_clear = ata_bmdma_irq_clear, |
688 | .irq_handler = ata_interrupt, | 687 | .irq_handler = ata_interrupt, |
689 | .irq_on = ata_irq_on, | 688 | .irq_on = ata_irq_on, |
690 | .irq_ack = ata_irq_ack, | ||
691 | 689 | ||
692 | .port_start = it821x_port_start, | 690 | .port_start = it821x_port_start, |
693 | }; | 691 | }; |
diff --git a/drivers/ata/pata_ixp4xx_cf.c b/drivers/ata/pata_ixp4xx_cf.c index 6bf1709508ab..ce1f9b17ad32 100644 --- a/drivers/ata/pata_ixp4xx_cf.c +++ b/drivers/ata/pata_ixp4xx_cf.c | |||
@@ -127,7 +127,6 @@ static struct ata_port_operations ixp4xx_port_ops = { | |||
127 | .irq_handler = ata_interrupt, | 127 | .irq_handler = ata_interrupt, |
128 | .irq_clear = ata_bmdma_irq_clear, | 128 | .irq_clear = ata_bmdma_irq_clear, |
129 | .irq_on = ata_irq_on, | 129 | .irq_on = ata_irq_on, |
130 | .irq_ack = ata_dummy_irq_ack, | ||
131 | 130 | ||
132 | .port_start = ata_port_start, | 131 | .port_start = ata_port_start, |
133 | }; | 132 | }; |
diff --git a/drivers/ata/pata_jmicron.c b/drivers/ata/pata_jmicron.c index 1619b86b74af..26f84063859d 100644 --- a/drivers/ata/pata_jmicron.c +++ b/drivers/ata/pata_jmicron.c | |||
@@ -168,7 +168,6 @@ static const struct ata_port_operations jmicron_ops = { | |||
168 | .irq_handler = ata_interrupt, | 168 | .irq_handler = ata_interrupt, |
169 | .irq_clear = ata_bmdma_irq_clear, | 169 | .irq_clear = ata_bmdma_irq_clear, |
170 | .irq_on = ata_irq_on, | 170 | .irq_on = ata_irq_on, |
171 | .irq_ack = ata_irq_ack, | ||
172 | 171 | ||
173 | /* Generic PATA PCI ATA helpers */ | 172 | /* Generic PATA PCI ATA helpers */ |
174 | .port_start = ata_port_start, | 173 | .port_start = ata_port_start, |
diff --git a/drivers/ata/pata_legacy.c b/drivers/ata/pata_legacy.c index cfb2bc86a1d1..6529d34f0370 100644 --- a/drivers/ata/pata_legacy.c +++ b/drivers/ata/pata_legacy.c | |||
@@ -171,7 +171,6 @@ static struct ata_port_operations simple_port_ops = { | |||
171 | .irq_handler = ata_interrupt, | 171 | .irq_handler = ata_interrupt, |
172 | .irq_clear = ata_bmdma_irq_clear, | 172 | .irq_clear = ata_bmdma_irq_clear, |
173 | .irq_on = ata_irq_on, | 173 | .irq_on = ata_irq_on, |
174 | .irq_ack = ata_irq_ack, | ||
175 | 174 | ||
176 | .port_start = ata_port_start, | 175 | .port_start = ata_port_start, |
177 | }; | 176 | }; |
@@ -200,7 +199,6 @@ static struct ata_port_operations legacy_port_ops = { | |||
200 | .irq_handler = ata_interrupt, | 199 | .irq_handler = ata_interrupt, |
201 | .irq_clear = ata_bmdma_irq_clear, | 200 | .irq_clear = ata_bmdma_irq_clear, |
202 | .irq_on = ata_irq_on, | 201 | .irq_on = ata_irq_on, |
203 | .irq_ack = ata_irq_ack, | ||
204 | 202 | ||
205 | .port_start = ata_port_start, | 203 | .port_start = ata_port_start, |
206 | }; | 204 | }; |
@@ -316,7 +314,6 @@ static struct ata_port_operations pdc20230_port_ops = { | |||
316 | .irq_handler = ata_interrupt, | 314 | .irq_handler = ata_interrupt, |
317 | .irq_clear = ata_bmdma_irq_clear, | 315 | .irq_clear = ata_bmdma_irq_clear, |
318 | .irq_on = ata_irq_on, | 316 | .irq_on = ata_irq_on, |
319 | .irq_ack = ata_irq_ack, | ||
320 | 317 | ||
321 | .port_start = ata_port_start, | 318 | .port_start = ata_port_start, |
322 | }; | 319 | }; |
@@ -372,7 +369,6 @@ static struct ata_port_operations ht6560a_port_ops = { | |||
372 | .irq_handler = ata_interrupt, | 369 | .irq_handler = ata_interrupt, |
373 | .irq_clear = ata_bmdma_irq_clear, | 370 | .irq_clear = ata_bmdma_irq_clear, |
374 | .irq_on = ata_irq_on, | 371 | .irq_on = ata_irq_on, |
375 | .irq_ack = ata_irq_ack, | ||
376 | 372 | ||
377 | .port_start = ata_port_start, | 373 | .port_start = ata_port_start, |
378 | }; | 374 | }; |
@@ -439,7 +435,6 @@ static struct ata_port_operations ht6560b_port_ops = { | |||
439 | .irq_handler = ata_interrupt, | 435 | .irq_handler = ata_interrupt, |
440 | .irq_clear = ata_bmdma_irq_clear, | 436 | .irq_clear = ata_bmdma_irq_clear, |
441 | .irq_on = ata_irq_on, | 437 | .irq_on = ata_irq_on, |
442 | .irq_ack = ata_irq_ack, | ||
443 | 438 | ||
444 | .port_start = ata_port_start, | 439 | .port_start = ata_port_start, |
445 | }; | 440 | }; |
@@ -561,7 +556,6 @@ static struct ata_port_operations opti82c611a_port_ops = { | |||
561 | .irq_handler = ata_interrupt, | 556 | .irq_handler = ata_interrupt, |
562 | .irq_clear = ata_bmdma_irq_clear, | 557 | .irq_clear = ata_bmdma_irq_clear, |
563 | .irq_on = ata_irq_on, | 558 | .irq_on = ata_irq_on, |
564 | .irq_ack = ata_irq_ack, | ||
565 | 559 | ||
566 | .port_start = ata_port_start, | 560 | .port_start = ata_port_start, |
567 | }; | 561 | }; |
@@ -695,7 +689,6 @@ static struct ata_port_operations opti82c46x_port_ops = { | |||
695 | .irq_handler = ata_interrupt, | 689 | .irq_handler = ata_interrupt, |
696 | .irq_clear = ata_bmdma_irq_clear, | 690 | .irq_clear = ata_bmdma_irq_clear, |
697 | .irq_on = ata_irq_on, | 691 | .irq_on = ata_irq_on, |
698 | .irq_ack = ata_irq_ack, | ||
699 | 692 | ||
700 | .port_start = ata_port_start, | 693 | .port_start = ata_port_start, |
701 | }; | 694 | }; |
diff --git a/drivers/ata/pata_marvell.c b/drivers/ata/pata_marvell.c index b4dd18f3fa5d..021d9d9218bd 100644 --- a/drivers/ata/pata_marvell.c +++ b/drivers/ata/pata_marvell.c | |||
@@ -139,7 +139,6 @@ static const struct ata_port_operations marvell_ops = { | |||
139 | .irq_handler = ata_interrupt, | 139 | .irq_handler = ata_interrupt, |
140 | .irq_clear = ata_bmdma_irq_clear, | 140 | .irq_clear = ata_bmdma_irq_clear, |
141 | .irq_on = ata_irq_on, | 141 | .irq_on = ata_irq_on, |
142 | .irq_ack = ata_irq_ack, | ||
143 | 142 | ||
144 | /* Generic PATA PCI ATA helpers */ | 143 | /* Generic PATA PCI ATA helpers */ |
145 | .port_start = ata_port_start, | 144 | .port_start = ata_port_start, |
diff --git a/drivers/ata/pata_mpc52xx.c b/drivers/ata/pata_mpc52xx.c index 099f4cdc4cd9..6e3fac2fedc4 100644 --- a/drivers/ata/pata_mpc52xx.c +++ b/drivers/ata/pata_mpc52xx.c | |||
@@ -299,7 +299,6 @@ static struct ata_port_operations mpc52xx_ata_port_ops = { | |||
299 | .data_xfer = ata_data_xfer, | 299 | .data_xfer = ata_data_xfer, |
300 | .irq_clear = ata_bmdma_irq_clear, | 300 | .irq_clear = ata_bmdma_irq_clear, |
301 | .irq_on = ata_irq_on, | 301 | .irq_on = ata_irq_on, |
302 | .irq_ack = ata_irq_ack, | ||
303 | .port_start = ata_port_start, | 302 | .port_start = ata_port_start, |
304 | }; | 303 | }; |
305 | 304 | ||
diff --git a/drivers/ata/pata_mpiix.c b/drivers/ata/pata_mpiix.c index 36c964b9e7da..8a82fcd4fa31 100644 --- a/drivers/ata/pata_mpiix.c +++ b/drivers/ata/pata_mpiix.c | |||
@@ -190,7 +190,6 @@ static struct ata_port_operations mpiix_port_ops = { | |||
190 | 190 | ||
191 | .irq_clear = ata_bmdma_irq_clear, | 191 | .irq_clear = ata_bmdma_irq_clear, |
192 | .irq_on = ata_irq_on, | 192 | .irq_on = ata_irq_on, |
193 | .irq_ack = ata_irq_ack, | ||
194 | 193 | ||
195 | .port_start = ata_port_start, | 194 | .port_start = ata_port_start, |
196 | }; | 195 | }; |
diff --git a/drivers/ata/pata_netcell.c b/drivers/ata/pata_netcell.c index 40eb574828bf..2d64c58482fa 100644 --- a/drivers/ata/pata_netcell.c +++ b/drivers/ata/pata_netcell.c | |||
@@ -68,7 +68,6 @@ static const struct ata_port_operations netcell_ops = { | |||
68 | .irq_handler = ata_interrupt, | 68 | .irq_handler = ata_interrupt, |
69 | .irq_clear = ata_bmdma_irq_clear, | 69 | .irq_clear = ata_bmdma_irq_clear, |
70 | .irq_on = ata_irq_on, | 70 | .irq_on = ata_irq_on, |
71 | .irq_ack = ata_irq_ack, | ||
72 | 71 | ||
73 | /* Generic PATA PCI ATA helpers */ | 72 | /* Generic PATA PCI ATA helpers */ |
74 | .port_start = ata_port_start, | 73 | .port_start = ata_port_start, |
diff --git a/drivers/ata/pata_ns87410.c b/drivers/ata/pata_ns87410.c index 65a217727718..00a763c67f99 100644 --- a/drivers/ata/pata_ns87410.c +++ b/drivers/ata/pata_ns87410.c | |||
@@ -185,7 +185,6 @@ static struct ata_port_operations ns87410_port_ops = { | |||
185 | .irq_handler = ata_interrupt, | 185 | .irq_handler = ata_interrupt, |
186 | .irq_clear = ata_bmdma_irq_clear, | 186 | .irq_clear = ata_bmdma_irq_clear, |
187 | .irq_on = ata_irq_on, | 187 | .irq_on = ata_irq_on, |
188 | .irq_ack = ata_irq_ack, | ||
189 | 188 | ||
190 | .port_start = ata_port_start, | 189 | .port_start = ata_port_start, |
191 | }; | 190 | }; |
diff --git a/drivers/ata/pata_oldpiix.c b/drivers/ata/pata_oldpiix.c index 5b2c86fe9fc2..851dae960018 100644 --- a/drivers/ata/pata_oldpiix.c +++ b/drivers/ata/pata_oldpiix.c | |||
@@ -266,7 +266,6 @@ static const struct ata_port_operations oldpiix_pata_ops = { | |||
266 | .irq_handler = ata_interrupt, | 266 | .irq_handler = ata_interrupt, |
267 | .irq_clear = ata_bmdma_irq_clear, | 267 | .irq_clear = ata_bmdma_irq_clear, |
268 | .irq_on = ata_irq_on, | 268 | .irq_on = ata_irq_on, |
269 | .irq_ack = ata_irq_ack, | ||
270 | 269 | ||
271 | .port_start = ata_port_start, | 270 | .port_start = ata_port_start, |
272 | }; | 271 | }; |
diff --git a/drivers/ata/pata_opti.c b/drivers/ata/pata_opti.c index 5770c7755a62..0ab300cda9b7 100644 --- a/drivers/ata/pata_opti.c +++ b/drivers/ata/pata_opti.c | |||
@@ -210,7 +210,6 @@ static struct ata_port_operations opti_port_ops = { | |||
210 | .irq_handler = ata_interrupt, | 210 | .irq_handler = ata_interrupt, |
211 | .irq_clear = ata_bmdma_irq_clear, | 211 | .irq_clear = ata_bmdma_irq_clear, |
212 | .irq_on = ata_irq_on, | 212 | .irq_on = ata_irq_on, |
213 | .irq_ack = ata_irq_ack, | ||
214 | 213 | ||
215 | .port_start = ata_port_start, | 214 | .port_start = ata_port_start, |
216 | }; | 215 | }; |
diff --git a/drivers/ata/pata_optidma.c b/drivers/ata/pata_optidma.c index 09ef725afd90..51c49283fb39 100644 --- a/drivers/ata/pata_optidma.c +++ b/drivers/ata/pata_optidma.c | |||
@@ -398,7 +398,6 @@ static struct ata_port_operations optidma_port_ops = { | |||
398 | .irq_handler = ata_interrupt, | 398 | .irq_handler = ata_interrupt, |
399 | .irq_clear = ata_bmdma_irq_clear, | 399 | .irq_clear = ata_bmdma_irq_clear, |
400 | .irq_on = ata_irq_on, | 400 | .irq_on = ata_irq_on, |
401 | .irq_ack = ata_irq_ack, | ||
402 | 401 | ||
403 | .port_start = ata_port_start, | 402 | .port_start = ata_port_start, |
404 | }; | 403 | }; |
@@ -434,7 +433,6 @@ static struct ata_port_operations optiplus_port_ops = { | |||
434 | .irq_handler = ata_interrupt, | 433 | .irq_handler = ata_interrupt, |
435 | .irq_clear = ata_bmdma_irq_clear, | 434 | .irq_clear = ata_bmdma_irq_clear, |
436 | .irq_on = ata_irq_on, | 435 | .irq_on = ata_irq_on, |
437 | .irq_ack = ata_irq_ack, | ||
438 | 436 | ||
439 | .port_start = ata_port_start, | 437 | .port_start = ata_port_start, |
440 | }; | 438 | }; |
diff --git a/drivers/ata/pata_pcmcia.c b/drivers/ata/pata_pcmcia.c index 9bfe12ac851a..f2167729c3df 100644 --- a/drivers/ata/pata_pcmcia.c +++ b/drivers/ata/pata_pcmcia.c | |||
@@ -127,7 +127,6 @@ static struct ata_port_operations pcmcia_port_ops = { | |||
127 | 127 | ||
128 | .irq_clear = ata_bmdma_irq_clear, | 128 | .irq_clear = ata_bmdma_irq_clear, |
129 | .irq_on = ata_irq_on, | 129 | .irq_on = ata_irq_on, |
130 | .irq_ack = ata_irq_ack, | ||
131 | 130 | ||
132 | .port_start = ata_sff_port_start, | 131 | .port_start = ata_sff_port_start, |
133 | }; | 132 | }; |
diff --git a/drivers/ata/pata_pdc2027x.c b/drivers/ata/pata_pdc2027x.c index db069d7515bc..7c6df320c833 100644 --- a/drivers/ata/pata_pdc2027x.c +++ b/drivers/ata/pata_pdc2027x.c | |||
@@ -173,7 +173,6 @@ static struct ata_port_operations pdc2027x_pata100_ops = { | |||
173 | 173 | ||
174 | .irq_clear = ata_bmdma_irq_clear, | 174 | .irq_clear = ata_bmdma_irq_clear, |
175 | .irq_on = ata_irq_on, | 175 | .irq_on = ata_irq_on, |
176 | .irq_ack = ata_irq_ack, | ||
177 | 176 | ||
178 | .port_start = ata_port_start, | 177 | .port_start = ata_port_start, |
179 | }; | 178 | }; |
@@ -208,7 +207,6 @@ static struct ata_port_operations pdc2027x_pata133_ops = { | |||
208 | 207 | ||
209 | .irq_clear = ata_bmdma_irq_clear, | 208 | .irq_clear = ata_bmdma_irq_clear, |
210 | .irq_on = ata_irq_on, | 209 | .irq_on = ata_irq_on, |
211 | .irq_ack = ata_irq_ack, | ||
212 | 210 | ||
213 | .port_start = ata_port_start, | 211 | .port_start = ata_port_start, |
214 | }; | 212 | }; |
diff --git a/drivers/ata/pata_pdc202xx_old.c b/drivers/ata/pata_pdc202xx_old.c index 92447bed5e77..b03b33872457 100644 --- a/drivers/ata/pata_pdc202xx_old.c +++ b/drivers/ata/pata_pdc202xx_old.c | |||
@@ -275,7 +275,6 @@ static struct ata_port_operations pdc2024x_port_ops = { | |||
275 | .irq_handler = ata_interrupt, | 275 | .irq_handler = ata_interrupt, |
276 | .irq_clear = ata_bmdma_irq_clear, | 276 | .irq_clear = ata_bmdma_irq_clear, |
277 | .irq_on = ata_irq_on, | 277 | .irq_on = ata_irq_on, |
278 | .irq_ack = ata_irq_ack, | ||
279 | 278 | ||
280 | .port_start = ata_port_start, | 279 | .port_start = ata_port_start, |
281 | }; | 280 | }; |
@@ -310,7 +309,6 @@ static struct ata_port_operations pdc2026x_port_ops = { | |||
310 | .irq_handler = ata_interrupt, | 309 | .irq_handler = ata_interrupt, |
311 | .irq_clear = ata_bmdma_irq_clear, | 310 | .irq_clear = ata_bmdma_irq_clear, |
312 | .irq_on = ata_irq_on, | 311 | .irq_on = ata_irq_on, |
313 | .irq_ack = ata_irq_ack, | ||
314 | 312 | ||
315 | .port_start = ata_port_start, | 313 | .port_start = ata_port_start, |
316 | }; | 314 | }; |
diff --git a/drivers/ata/pata_platform.c b/drivers/ata/pata_platform.c index 9dc628931e99..a616616706da 100644 --- a/drivers/ata/pata_platform.c +++ b/drivers/ata/pata_platform.c | |||
@@ -89,7 +89,6 @@ static struct ata_port_operations pata_platform_port_ops = { | |||
89 | 89 | ||
90 | .irq_clear = ata_bmdma_irq_clear, | 90 | .irq_clear = ata_bmdma_irq_clear, |
91 | .irq_on = ata_irq_on, | 91 | .irq_on = ata_irq_on, |
92 | .irq_ack = ata_irq_ack, | ||
93 | 92 | ||
94 | .port_start = ata_dummy_ret0, | 93 | .port_start = ata_dummy_ret0, |
95 | }; | 94 | }; |
diff --git a/drivers/ata/pata_qdi.c b/drivers/ata/pata_qdi.c index ec2206e820ac..ade5a4421663 100644 --- a/drivers/ata/pata_qdi.c +++ b/drivers/ata/pata_qdi.c | |||
@@ -192,7 +192,6 @@ static struct ata_port_operations qdi6500_port_ops = { | |||
192 | 192 | ||
193 | .irq_clear = ata_bmdma_irq_clear, | 193 | .irq_clear = ata_bmdma_irq_clear, |
194 | .irq_on = ata_irq_on, | 194 | .irq_on = ata_irq_on, |
195 | .irq_ack = ata_irq_ack, | ||
196 | 195 | ||
197 | .port_start = ata_port_start, | 196 | .port_start = ata_port_start, |
198 | }; | 197 | }; |
@@ -220,7 +219,6 @@ static struct ata_port_operations qdi6580_port_ops = { | |||
220 | 219 | ||
221 | .irq_clear = ata_bmdma_irq_clear, | 220 | .irq_clear = ata_bmdma_irq_clear, |
222 | .irq_on = ata_irq_on, | 221 | .irq_on = ata_irq_on, |
223 | .irq_ack = ata_irq_ack, | ||
224 | 222 | ||
225 | .port_start = ata_port_start, | 223 | .port_start = ata_port_start, |
226 | }; | 224 | }; |
diff --git a/drivers/ata/pata_radisys.c b/drivers/ata/pata_radisys.c index 7d1aabed422d..66b9a341931b 100644 --- a/drivers/ata/pata_radisys.c +++ b/drivers/ata/pata_radisys.c | |||
@@ -231,7 +231,6 @@ static const struct ata_port_operations radisys_pata_ops = { | |||
231 | .irq_handler = ata_interrupt, | 231 | .irq_handler = ata_interrupt, |
232 | .irq_clear = ata_bmdma_irq_clear, | 232 | .irq_clear = ata_bmdma_irq_clear, |
233 | .irq_on = ata_irq_on, | 233 | .irq_on = ata_irq_on, |
234 | .irq_ack = ata_irq_ack, | ||
235 | 234 | ||
236 | .port_start = ata_port_start, | 235 | .port_start = ata_port_start, |
237 | }; | 236 | }; |
diff --git a/drivers/ata/pata_rz1000.c b/drivers/ata/pata_rz1000.c index de3698cf3b8c..98784647c7e8 100644 --- a/drivers/ata/pata_rz1000.c +++ b/drivers/ata/pata_rz1000.c | |||
@@ -99,7 +99,6 @@ static struct ata_port_operations rz1000_port_ops = { | |||
99 | .irq_handler = ata_interrupt, | 99 | .irq_handler = ata_interrupt, |
100 | .irq_clear = ata_bmdma_irq_clear, | 100 | .irq_clear = ata_bmdma_irq_clear, |
101 | .irq_on = ata_irq_on, | 101 | .irq_on = ata_irq_on, |
102 | .irq_ack = ata_irq_ack, | ||
103 | 102 | ||
104 | .port_start = ata_port_start, | 103 | .port_start = ata_port_start, |
105 | }; | 104 | }; |
diff --git a/drivers/ata/pata_sc1200.c b/drivers/ata/pata_sc1200.c index 5edf67b1f3bf..61edff4a5c6e 100644 --- a/drivers/ata/pata_sc1200.c +++ b/drivers/ata/pata_sc1200.c | |||
@@ -227,7 +227,6 @@ static struct ata_port_operations sc1200_port_ops = { | |||
227 | .irq_handler = ata_interrupt, | 227 | .irq_handler = ata_interrupt, |
228 | .irq_clear = ata_bmdma_irq_clear, | 228 | .irq_clear = ata_bmdma_irq_clear, |
229 | .irq_on = ata_irq_on, | 229 | .irq_on = ata_irq_on, |
230 | .irq_ack = ata_irq_ack, | ||
231 | 230 | ||
232 | .port_start = ata_port_start, | 231 | .port_start = ata_port_start, |
233 | }; | 232 | }; |
diff --git a/drivers/ata/pata_scc.c b/drivers/ata/pata_scc.c index 63fe99a10cd1..95f04b81352f 100644 --- a/drivers/ata/pata_scc.c +++ b/drivers/ata/pata_scc.c | |||
@@ -839,38 +839,6 @@ static u8 scc_irq_on (struct ata_port *ap) | |||
839 | } | 839 | } |
840 | 840 | ||
841 | /** | 841 | /** |
842 | * scc_irq_ack - Acknowledge a device interrupt. | ||
843 | * @ap: Port on which interrupts are enabled. | ||
844 | * | ||
845 | * Note: Original code is ata_irq_ack(). | ||
846 | */ | ||
847 | |||
848 | static u8 scc_irq_ack (struct ata_port *ap, unsigned int chk_drq) | ||
849 | { | ||
850 | unsigned int bits = chk_drq ? ATA_BUSY | ATA_DRQ : ATA_BUSY; | ||
851 | u8 host_stat, post_stat, status; | ||
852 | |||
853 | status = ata_busy_wait(ap, bits, 1000); | ||
854 | if (status & bits) | ||
855 | if (ata_msg_err(ap)) | ||
856 | printk(KERN_ERR "abnormal status 0x%X\n", status); | ||
857 | |||
858 | /* get controller status; clear intr, err bits */ | ||
859 | host_stat = in_be32(ap->ioaddr.bmdma_addr + SCC_DMA_STATUS); | ||
860 | out_be32(ap->ioaddr.bmdma_addr + SCC_DMA_STATUS, | ||
861 | host_stat | ATA_DMA_INTR | ATA_DMA_ERR); | ||
862 | |||
863 | post_stat = in_be32(ap->ioaddr.bmdma_addr + SCC_DMA_STATUS); | ||
864 | |||
865 | if (ata_msg_intr(ap)) | ||
866 | printk(KERN_INFO "%s: irq ack: host_stat 0x%X, new host_stat 0x%X, drv_stat 0x%X\n", | ||
867 | __FUNCTION__, | ||
868 | host_stat, post_stat, status); | ||
869 | |||
870 | return status; | ||
871 | } | ||
872 | |||
873 | /** | ||
874 | * scc_bmdma_freeze - Freeze BMDMA controller port | 842 | * scc_bmdma_freeze - Freeze BMDMA controller port |
875 | * @ap: port to freeze | 843 | * @ap: port to freeze |
876 | * | 844 | * |
@@ -1047,7 +1015,6 @@ static const struct ata_port_operations scc_pata_ops = { | |||
1047 | 1015 | ||
1048 | .irq_clear = scc_bmdma_irq_clear, | 1016 | .irq_clear = scc_bmdma_irq_clear, |
1049 | .irq_on = scc_irq_on, | 1017 | .irq_on = scc_irq_on, |
1050 | .irq_ack = scc_irq_ack, | ||
1051 | 1018 | ||
1052 | .port_start = scc_port_start, | 1019 | .port_start = scc_port_start, |
1053 | .port_stop = scc_port_stop, | 1020 | .port_stop = scc_port_stop, |
diff --git a/drivers/ata/pata_serverworks.c b/drivers/ata/pata_serverworks.c index 0faf99c8f13e..c87cd67f4152 100644 --- a/drivers/ata/pata_serverworks.c +++ b/drivers/ata/pata_serverworks.c | |||
@@ -348,7 +348,6 @@ static struct ata_port_operations serverworks_osb4_port_ops = { | |||
348 | .irq_handler = ata_interrupt, | 348 | .irq_handler = ata_interrupt, |
349 | .irq_clear = ata_bmdma_irq_clear, | 349 | .irq_clear = ata_bmdma_irq_clear, |
350 | .irq_on = ata_irq_on, | 350 | .irq_on = ata_irq_on, |
351 | .irq_ack = ata_irq_ack, | ||
352 | 351 | ||
353 | .port_start = ata_port_start, | 352 | .port_start = ata_port_start, |
354 | }; | 353 | }; |
@@ -384,7 +383,6 @@ static struct ata_port_operations serverworks_csb_port_ops = { | |||
384 | .irq_handler = ata_interrupt, | 383 | .irq_handler = ata_interrupt, |
385 | .irq_clear = ata_bmdma_irq_clear, | 384 | .irq_clear = ata_bmdma_irq_clear, |
386 | .irq_on = ata_irq_on, | 385 | .irq_on = ata_irq_on, |
387 | .irq_ack = ata_irq_ack, | ||
388 | 386 | ||
389 | .port_start = ata_port_start, | 387 | .port_start = ata_port_start, |
390 | }; | 388 | }; |
diff --git a/drivers/ata/pata_sil680.c b/drivers/ata/pata_sil680.c index 45515a22d856..c5abf6616543 100644 --- a/drivers/ata/pata_sil680.c +++ b/drivers/ata/pata_sil680.c | |||
@@ -267,7 +267,6 @@ static struct ata_port_operations sil680_port_ops = { | |||
267 | .irq_handler = ata_interrupt, | 267 | .irq_handler = ata_interrupt, |
268 | .irq_clear = ata_bmdma_irq_clear, | 268 | .irq_clear = ata_bmdma_irq_clear, |
269 | .irq_on = ata_irq_on, | 269 | .irq_on = ata_irq_on, |
270 | .irq_ack = ata_irq_ack, | ||
271 | 270 | ||
272 | .port_start = ata_port_start, | 271 | .port_start = ata_port_start, |
273 | }; | 272 | }; |
diff --git a/drivers/ata/pata_sis.c b/drivers/ata/pata_sis.c index b72227676f00..72850667d371 100644 --- a/drivers/ata/pata_sis.c +++ b/drivers/ata/pata_sis.c | |||
@@ -559,7 +559,6 @@ static const struct ata_port_operations sis_133_ops = { | |||
559 | .irq_handler = ata_interrupt, | 559 | .irq_handler = ata_interrupt, |
560 | .irq_clear = ata_bmdma_irq_clear, | 560 | .irq_clear = ata_bmdma_irq_clear, |
561 | .irq_on = ata_irq_on, | 561 | .irq_on = ata_irq_on, |
562 | .irq_ack = ata_irq_ack, | ||
563 | 562 | ||
564 | .port_start = ata_port_start, | 563 | .port_start = ata_port_start, |
565 | }; | 564 | }; |
@@ -593,7 +592,6 @@ static const struct ata_port_operations sis_133_for_sata_ops = { | |||
593 | .irq_handler = ata_interrupt, | 592 | .irq_handler = ata_interrupt, |
594 | .irq_clear = ata_bmdma_irq_clear, | 593 | .irq_clear = ata_bmdma_irq_clear, |
595 | .irq_on = ata_irq_on, | 594 | .irq_on = ata_irq_on, |
596 | .irq_ack = ata_irq_ack, | ||
597 | 595 | ||
598 | .port_start = ata_port_start, | 596 | .port_start = ata_port_start, |
599 | }; | 597 | }; |
@@ -627,7 +625,6 @@ static const struct ata_port_operations sis_133_early_ops = { | |||
627 | .irq_handler = ata_interrupt, | 625 | .irq_handler = ata_interrupt, |
628 | .irq_clear = ata_bmdma_irq_clear, | 626 | .irq_clear = ata_bmdma_irq_clear, |
629 | .irq_on = ata_irq_on, | 627 | .irq_on = ata_irq_on, |
630 | .irq_ack = ata_irq_ack, | ||
631 | 628 | ||
632 | .port_start = ata_port_start, | 629 | .port_start = ata_port_start, |
633 | }; | 630 | }; |
@@ -661,7 +658,6 @@ static const struct ata_port_operations sis_100_ops = { | |||
661 | .irq_handler = ata_interrupt, | 658 | .irq_handler = ata_interrupt, |
662 | .irq_clear = ata_bmdma_irq_clear, | 659 | .irq_clear = ata_bmdma_irq_clear, |
663 | .irq_on = ata_irq_on, | 660 | .irq_on = ata_irq_on, |
664 | .irq_ack = ata_irq_ack, | ||
665 | 661 | ||
666 | .port_start = ata_port_start, | 662 | .port_start = ata_port_start, |
667 | }; | 663 | }; |
@@ -695,7 +691,6 @@ static const struct ata_port_operations sis_66_ops = { | |||
695 | .irq_handler = ata_interrupt, | 691 | .irq_handler = ata_interrupt, |
696 | .irq_clear = ata_bmdma_irq_clear, | 692 | .irq_clear = ata_bmdma_irq_clear, |
697 | .irq_on = ata_irq_on, | 693 | .irq_on = ata_irq_on, |
698 | .irq_ack = ata_irq_ack, | ||
699 | 694 | ||
700 | .port_start = ata_port_start, | 695 | .port_start = ata_port_start, |
701 | }; | 696 | }; |
@@ -729,7 +724,6 @@ static const struct ata_port_operations sis_old_ops = { | |||
729 | .irq_handler = ata_interrupt, | 724 | .irq_handler = ata_interrupt, |
730 | .irq_clear = ata_bmdma_irq_clear, | 725 | .irq_clear = ata_bmdma_irq_clear, |
731 | .irq_on = ata_irq_on, | 726 | .irq_on = ata_irq_on, |
732 | .irq_ack = ata_irq_ack, | ||
733 | 727 | ||
734 | .port_start = ata_port_start, | 728 | .port_start = ata_port_start, |
735 | }; | 729 | }; |
diff --git a/drivers/ata/pata_sl82c105.c b/drivers/ata/pata_sl82c105.c index 375c3705dc43..1c50c191e4bc 100644 --- a/drivers/ata/pata_sl82c105.c +++ b/drivers/ata/pata_sl82c105.c | |||
@@ -254,7 +254,6 @@ static struct ata_port_operations sl82c105_port_ops = { | |||
254 | .irq_handler = ata_interrupt, | 254 | .irq_handler = ata_interrupt, |
255 | .irq_clear = ata_bmdma_irq_clear, | 255 | .irq_clear = ata_bmdma_irq_clear, |
256 | .irq_on = ata_irq_on, | 256 | .irq_on = ata_irq_on, |
257 | .irq_ack = ata_irq_ack, | ||
258 | 257 | ||
259 | .port_start = ata_port_start, | 258 | .port_start = ata_port_start, |
260 | }; | 259 | }; |
diff --git a/drivers/ata/pata_triflex.c b/drivers/ata/pata_triflex.c index bc4b6f6be963..2a55eed45ad8 100644 --- a/drivers/ata/pata_triflex.c +++ b/drivers/ata/pata_triflex.c | |||
@@ -227,7 +227,6 @@ static struct ata_port_operations triflex_port_ops = { | |||
227 | .irq_handler = ata_interrupt, | 227 | .irq_handler = ata_interrupt, |
228 | .irq_clear = ata_bmdma_irq_clear, | 228 | .irq_clear = ata_bmdma_irq_clear, |
229 | .irq_on = ata_irq_on, | 229 | .irq_on = ata_irq_on, |
230 | .irq_ack = ata_irq_ack, | ||
231 | 230 | ||
232 | .port_start = ata_port_start, | 231 | .port_start = ata_port_start, |
233 | }; | 232 | }; |
diff --git a/drivers/ata/pata_via.c b/drivers/ata/pata_via.c index b612808a319e..4ddcae8b8c96 100644 --- a/drivers/ata/pata_via.c +++ b/drivers/ata/pata_via.c | |||
@@ -375,7 +375,6 @@ static struct ata_port_operations via_port_ops = { | |||
375 | .irq_handler = ata_interrupt, | 375 | .irq_handler = ata_interrupt, |
376 | .irq_clear = ata_bmdma_irq_clear, | 376 | .irq_clear = ata_bmdma_irq_clear, |
377 | .irq_on = ata_irq_on, | 377 | .irq_on = ata_irq_on, |
378 | .irq_ack = ata_irq_ack, | ||
379 | 378 | ||
380 | .port_start = ata_port_start, | 379 | .port_start = ata_port_start, |
381 | }; | 380 | }; |
@@ -411,7 +410,6 @@ static struct ata_port_operations via_port_ops_noirq = { | |||
411 | .irq_handler = ata_interrupt, | 410 | .irq_handler = ata_interrupt, |
412 | .irq_clear = ata_bmdma_irq_clear, | 411 | .irq_clear = ata_bmdma_irq_clear, |
413 | .irq_on = ata_irq_on, | 412 | .irq_on = ata_irq_on, |
414 | .irq_ack = ata_irq_ack, | ||
415 | 413 | ||
416 | .port_start = ata_port_start, | 414 | .port_start = ata_port_start, |
417 | }; | 415 | }; |
diff --git a/drivers/ata/pata_winbond.c b/drivers/ata/pata_winbond.c index c37570330073..c1647da55543 100644 --- a/drivers/ata/pata_winbond.c +++ b/drivers/ata/pata_winbond.c | |||
@@ -160,7 +160,6 @@ static struct ata_port_operations winbond_port_ops = { | |||
160 | 160 | ||
161 | .irq_clear = ata_bmdma_irq_clear, | 161 | .irq_clear = ata_bmdma_irq_clear, |
162 | .irq_on = ata_irq_on, | 162 | .irq_on = ata_irq_on, |
163 | .irq_ack = ata_irq_ack, | ||
164 | 163 | ||
165 | .port_start = ata_port_start, | 164 | .port_start = ata_port_start, |
166 | }; | 165 | }; |
diff --git a/drivers/ata/pdc_adma.c b/drivers/ata/pdc_adma.c index 304c19b9b0f2..7dd7361289c4 100644 --- a/drivers/ata/pdc_adma.c +++ b/drivers/ata/pdc_adma.c | |||
@@ -177,7 +177,6 @@ static const struct ata_port_operations adma_ata_ops = { | |||
177 | .error_handler = adma_error_handler, | 177 | .error_handler = adma_error_handler, |
178 | .irq_clear = adma_irq_clear, | 178 | .irq_clear = adma_irq_clear, |
179 | .irq_on = ata_irq_on, | 179 | .irq_on = ata_irq_on, |
180 | .irq_ack = ata_irq_ack, | ||
181 | .port_start = adma_port_start, | 180 | .port_start = adma_port_start, |
182 | .port_stop = adma_port_stop, | 181 | .port_stop = adma_port_stop, |
183 | .host_stop = adma_host_stop, | 182 | .host_stop = adma_host_stop, |
diff --git a/drivers/ata/sata_inic162x.c b/drivers/ata/sata_inic162x.c index 95caba0f910e..d6a3e286c79d 100644 --- a/drivers/ata/sata_inic162x.c +++ b/drivers/ata/sata_inic162x.c | |||
@@ -569,7 +569,6 @@ static struct ata_port_operations inic_port_ops = { | |||
569 | 569 | ||
570 | .irq_clear = inic_irq_clear, | 570 | .irq_clear = inic_irq_clear, |
571 | .irq_on = ata_irq_on, | 571 | .irq_on = ata_irq_on, |
572 | .irq_ack = ata_irq_ack, | ||
573 | 572 | ||
574 | .qc_prep = ata_qc_prep, | 573 | .qc_prep = ata_qc_prep, |
575 | .qc_issue = inic_qc_issue, | 574 | .qc_issue = inic_qc_issue, |
diff --git a/drivers/ata/sata_mv.c b/drivers/ata/sata_mv.c index 56784ce10544..393fc655f8c1 100644 --- a/drivers/ata/sata_mv.c +++ b/drivers/ata/sata_mv.c | |||
@@ -499,7 +499,6 @@ static const struct ata_port_operations mv5_ops = { | |||
499 | 499 | ||
500 | .irq_clear = mv_irq_clear, | 500 | .irq_clear = mv_irq_clear, |
501 | .irq_on = ata_irq_on, | 501 | .irq_on = ata_irq_on, |
502 | .irq_ack = ata_irq_ack, | ||
503 | 502 | ||
504 | .error_handler = mv_error_handler, | 503 | .error_handler = mv_error_handler, |
505 | .post_internal_cmd = mv_post_int_cmd, | 504 | .post_internal_cmd = mv_post_int_cmd, |
@@ -530,7 +529,6 @@ static const struct ata_port_operations mv6_ops = { | |||
530 | 529 | ||
531 | .irq_clear = mv_irq_clear, | 530 | .irq_clear = mv_irq_clear, |
532 | .irq_on = ata_irq_on, | 531 | .irq_on = ata_irq_on, |
533 | .irq_ack = ata_irq_ack, | ||
534 | 532 | ||
535 | .error_handler = mv_error_handler, | 533 | .error_handler = mv_error_handler, |
536 | .post_internal_cmd = mv_post_int_cmd, | 534 | .post_internal_cmd = mv_post_int_cmd, |
@@ -561,7 +559,6 @@ static const struct ata_port_operations mv_iie_ops = { | |||
561 | 559 | ||
562 | .irq_clear = mv_irq_clear, | 560 | .irq_clear = mv_irq_clear, |
563 | .irq_on = ata_irq_on, | 561 | .irq_on = ata_irq_on, |
564 | .irq_ack = ata_irq_ack, | ||
565 | 562 | ||
566 | .error_handler = mv_error_handler, | 563 | .error_handler = mv_error_handler, |
567 | .post_internal_cmd = mv_post_int_cmd, | 564 | .post_internal_cmd = mv_post_int_cmd, |
diff --git a/drivers/ata/sata_nv.c b/drivers/ata/sata_nv.c index 884d9f05e6c6..88ecca6343ea 100644 --- a/drivers/ata/sata_nv.c +++ b/drivers/ata/sata_nv.c | |||
@@ -359,7 +359,6 @@ static const struct ata_port_operations nv_generic_ops = { | |||
359 | .data_xfer = ata_data_xfer, | 359 | .data_xfer = ata_data_xfer, |
360 | .irq_clear = ata_bmdma_irq_clear, | 360 | .irq_clear = ata_bmdma_irq_clear, |
361 | .irq_on = ata_irq_on, | 361 | .irq_on = ata_irq_on, |
362 | .irq_ack = ata_irq_ack, | ||
363 | .scr_read = nv_scr_read, | 362 | .scr_read = nv_scr_read, |
364 | .scr_write = nv_scr_write, | 363 | .scr_write = nv_scr_write, |
365 | .port_start = ata_port_start, | 364 | .port_start = ata_port_start, |
@@ -385,7 +384,6 @@ static const struct ata_port_operations nv_nf2_ops = { | |||
385 | .data_xfer = ata_data_xfer, | 384 | .data_xfer = ata_data_xfer, |
386 | .irq_clear = ata_bmdma_irq_clear, | 385 | .irq_clear = ata_bmdma_irq_clear, |
387 | .irq_on = ata_irq_on, | 386 | .irq_on = ata_irq_on, |
388 | .irq_ack = ata_irq_ack, | ||
389 | .scr_read = nv_scr_read, | 387 | .scr_read = nv_scr_read, |
390 | .scr_write = nv_scr_write, | 388 | .scr_write = nv_scr_write, |
391 | .port_start = ata_port_start, | 389 | .port_start = ata_port_start, |
@@ -411,7 +409,6 @@ static const struct ata_port_operations nv_ck804_ops = { | |||
411 | .data_xfer = ata_data_xfer, | 409 | .data_xfer = ata_data_xfer, |
412 | .irq_clear = ata_bmdma_irq_clear, | 410 | .irq_clear = ata_bmdma_irq_clear, |
413 | .irq_on = ata_irq_on, | 411 | .irq_on = ata_irq_on, |
414 | .irq_ack = ata_irq_ack, | ||
415 | .scr_read = nv_scr_read, | 412 | .scr_read = nv_scr_read, |
416 | .scr_write = nv_scr_write, | 413 | .scr_write = nv_scr_write, |
417 | .port_start = ata_port_start, | 414 | .port_start = ata_port_start, |
@@ -439,7 +436,6 @@ static const struct ata_port_operations nv_adma_ops = { | |||
439 | .data_xfer = ata_data_xfer, | 436 | .data_xfer = ata_data_xfer, |
440 | .irq_clear = nv_adma_irq_clear, | 437 | .irq_clear = nv_adma_irq_clear, |
441 | .irq_on = ata_irq_on, | 438 | .irq_on = ata_irq_on, |
442 | .irq_ack = ata_irq_ack, | ||
443 | .scr_read = nv_scr_read, | 439 | .scr_read = nv_scr_read, |
444 | .scr_write = nv_scr_write, | 440 | .scr_write = nv_scr_write, |
445 | .port_start = nv_adma_port_start, | 441 | .port_start = nv_adma_port_start, |
diff --git a/drivers/ata/sata_promise.c b/drivers/ata/sata_promise.c index c7238ce83541..37d737b442b5 100644 --- a/drivers/ata/sata_promise.c +++ b/drivers/ata/sata_promise.c | |||
@@ -185,7 +185,6 @@ static const struct ata_port_operations pdc_sata_ops = { | |||
185 | .data_xfer = ata_data_xfer, | 185 | .data_xfer = ata_data_xfer, |
186 | .irq_clear = pdc_irq_clear, | 186 | .irq_clear = pdc_irq_clear, |
187 | .irq_on = ata_irq_on, | 187 | .irq_on = ata_irq_on, |
188 | .irq_ack = ata_irq_ack, | ||
189 | 188 | ||
190 | .scr_read = pdc_sata_scr_read, | 189 | .scr_read = pdc_sata_scr_read, |
191 | .scr_write = pdc_sata_scr_write, | 190 | .scr_write = pdc_sata_scr_write, |
@@ -212,7 +211,6 @@ static const struct ata_port_operations pdc_old_sata_ops = { | |||
212 | .data_xfer = ata_data_xfer, | 211 | .data_xfer = ata_data_xfer, |
213 | .irq_clear = pdc_irq_clear, | 212 | .irq_clear = pdc_irq_clear, |
214 | .irq_on = ata_irq_on, | 213 | .irq_on = ata_irq_on, |
215 | .irq_ack = ata_irq_ack, | ||
216 | 214 | ||
217 | .scr_read = pdc_sata_scr_read, | 215 | .scr_read = pdc_sata_scr_read, |
218 | .scr_write = pdc_sata_scr_write, | 216 | .scr_write = pdc_sata_scr_write, |
@@ -238,7 +236,6 @@ static const struct ata_port_operations pdc_pata_ops = { | |||
238 | .data_xfer = ata_data_xfer, | 236 | .data_xfer = ata_data_xfer, |
239 | .irq_clear = pdc_irq_clear, | 237 | .irq_clear = pdc_irq_clear, |
240 | .irq_on = ata_irq_on, | 238 | .irq_on = ata_irq_on, |
241 | .irq_ack = ata_irq_ack, | ||
242 | 239 | ||
243 | .port_start = pdc_common_port_start, | 240 | .port_start = pdc_common_port_start, |
244 | }; | 241 | }; |
diff --git a/drivers/ata/sata_qstor.c b/drivers/ata/sata_qstor.c index ef1ad69c26ed..5a60ab72ecb6 100644 --- a/drivers/ata/sata_qstor.c +++ b/drivers/ata/sata_qstor.c | |||
@@ -159,7 +159,6 @@ static const struct ata_port_operations qs_ata_ops = { | |||
159 | .eng_timeout = qs_eng_timeout, | 159 | .eng_timeout = qs_eng_timeout, |
160 | .irq_clear = qs_irq_clear, | 160 | .irq_clear = qs_irq_clear, |
161 | .irq_on = ata_irq_on, | 161 | .irq_on = ata_irq_on, |
162 | .irq_ack = ata_irq_ack, | ||
163 | .scr_read = qs_scr_read, | 162 | .scr_read = qs_scr_read, |
164 | .scr_write = qs_scr_write, | 163 | .scr_write = qs_scr_write, |
165 | .port_start = qs_port_start, | 164 | .port_start = qs_port_start, |
diff --git a/drivers/ata/sata_sil.c b/drivers/ata/sata_sil.c index 802d679dc994..1930e7cf1438 100644 --- a/drivers/ata/sata_sil.c +++ b/drivers/ata/sata_sil.c | |||
@@ -207,7 +207,6 @@ static const struct ata_port_operations sil_ops = { | |||
207 | .post_internal_cmd = ata_bmdma_post_internal_cmd, | 207 | .post_internal_cmd = ata_bmdma_post_internal_cmd, |
208 | .irq_clear = ata_bmdma_irq_clear, | 208 | .irq_clear = ata_bmdma_irq_clear, |
209 | .irq_on = ata_irq_on, | 209 | .irq_on = ata_irq_on, |
210 | .irq_ack = ata_irq_ack, | ||
211 | .scr_read = sil_scr_read, | 210 | .scr_read = sil_scr_read, |
212 | .scr_write = sil_scr_write, | 211 | .scr_write = sil_scr_write, |
213 | .port_start = ata_port_start, | 212 | .port_start = ata_port_start, |
diff --git a/drivers/ata/sata_sil24.c b/drivers/ata/sata_sil24.c index e2cccc7f4358..961b3f201a38 100644 --- a/drivers/ata/sata_sil24.c +++ b/drivers/ata/sata_sil24.c | |||
@@ -398,8 +398,6 @@ static const struct ata_port_operations sil24_ops = { | |||
398 | .qc_issue = sil24_qc_issue, | 398 | .qc_issue = sil24_qc_issue, |
399 | 399 | ||
400 | .irq_clear = sil24_irq_clear, | 400 | .irq_clear = sil24_irq_clear, |
401 | .irq_on = ata_dummy_irq_on, | ||
402 | .irq_ack = ata_dummy_irq_ack, | ||
403 | 401 | ||
404 | .scr_read = sil24_scr_read, | 402 | .scr_read = sil24_scr_read, |
405 | .scr_write = sil24_scr_write, | 403 | .scr_write = sil24_scr_write, |
diff --git a/drivers/ata/sata_sis.c b/drivers/ata/sata_sis.c index 41c1d6e8f1fe..691017eddbb1 100644 --- a/drivers/ata/sata_sis.c +++ b/drivers/ata/sata_sis.c | |||
@@ -123,7 +123,6 @@ static const struct ata_port_operations sis_ops = { | |||
123 | .post_internal_cmd = ata_bmdma_post_internal_cmd, | 123 | .post_internal_cmd = ata_bmdma_post_internal_cmd, |
124 | .irq_clear = ata_bmdma_irq_clear, | 124 | .irq_clear = ata_bmdma_irq_clear, |
125 | .irq_on = ata_irq_on, | 125 | .irq_on = ata_irq_on, |
126 | .irq_ack = ata_irq_ack, | ||
127 | .scr_read = sis_scr_read, | 126 | .scr_read = sis_scr_read, |
128 | .scr_write = sis_scr_write, | 127 | .scr_write = sis_scr_write, |
129 | .port_start = ata_port_start, | 128 | .port_start = ata_port_start, |
diff --git a/drivers/ata/sata_svw.c b/drivers/ata/sata_svw.c index d9678e7bc3a9..006a720da406 100644 --- a/drivers/ata/sata_svw.c +++ b/drivers/ata/sata_svw.c | |||
@@ -349,7 +349,6 @@ static const struct ata_port_operations k2_sata_ops = { | |||
349 | .post_internal_cmd = ata_bmdma_post_internal_cmd, | 349 | .post_internal_cmd = ata_bmdma_post_internal_cmd, |
350 | .irq_clear = ata_bmdma_irq_clear, | 350 | .irq_clear = ata_bmdma_irq_clear, |
351 | .irq_on = ata_irq_on, | 351 | .irq_on = ata_irq_on, |
352 | .irq_ack = ata_irq_ack, | ||
353 | .scr_read = k2_sata_scr_read, | 352 | .scr_read = k2_sata_scr_read, |
354 | .scr_write = k2_sata_scr_write, | 353 | .scr_write = k2_sata_scr_write, |
355 | .port_start = ata_port_start, | 354 | .port_start = ata_port_start, |
diff --git a/drivers/ata/sata_sx4.c b/drivers/ata/sata_sx4.c index 12691f091933..d5cbd16629ad 100644 --- a/drivers/ata/sata_sx4.c +++ b/drivers/ata/sata_sx4.c | |||
@@ -267,7 +267,6 @@ static const struct ata_port_operations pdc_20621_ops = { | |||
267 | .eng_timeout = pdc_eng_timeout, | 267 | .eng_timeout = pdc_eng_timeout, |
268 | .irq_clear = pdc20621_irq_clear, | 268 | .irq_clear = pdc20621_irq_clear, |
269 | .irq_on = ata_irq_on, | 269 | .irq_on = ata_irq_on, |
270 | .irq_ack = ata_irq_ack, | ||
271 | .port_start = pdc_port_start, | 270 | .port_start = pdc_port_start, |
272 | }; | 271 | }; |
273 | 272 | ||
diff --git a/drivers/ata/sata_uli.c b/drivers/ata/sata_uli.c index e6b8b45279af..d4514e2149bc 100644 --- a/drivers/ata/sata_uli.c +++ b/drivers/ata/sata_uli.c | |||
@@ -117,7 +117,6 @@ static const struct ata_port_operations uli_ops = { | |||
117 | 117 | ||
118 | .irq_clear = ata_bmdma_irq_clear, | 118 | .irq_clear = ata_bmdma_irq_clear, |
119 | .irq_on = ata_irq_on, | 119 | .irq_on = ata_irq_on, |
120 | .irq_ack = ata_irq_ack, | ||
121 | 120 | ||
122 | .scr_read = uli_scr_read, | 121 | .scr_read = uli_scr_read, |
123 | .scr_write = uli_scr_write, | 122 | .scr_write = uli_scr_write, |
diff --git a/drivers/ata/sata_via.c b/drivers/ata/sata_via.c index 690280660b81..4b25c3ef986f 100644 --- a/drivers/ata/sata_via.c +++ b/drivers/ata/sata_via.c | |||
@@ -146,7 +146,6 @@ static const struct ata_port_operations vt6420_sata_ops = { | |||
146 | 146 | ||
147 | .irq_clear = ata_bmdma_irq_clear, | 147 | .irq_clear = ata_bmdma_irq_clear, |
148 | .irq_on = ata_irq_on, | 148 | .irq_on = ata_irq_on, |
149 | .irq_ack = ata_irq_ack, | ||
150 | 149 | ||
151 | .port_start = ata_port_start, | 150 | .port_start = ata_port_start, |
152 | }; | 151 | }; |
@@ -180,7 +179,6 @@ static const struct ata_port_operations vt6421_pata_ops = { | |||
180 | 179 | ||
181 | .irq_clear = ata_bmdma_irq_clear, | 180 | .irq_clear = ata_bmdma_irq_clear, |
182 | .irq_on = ata_irq_on, | 181 | .irq_on = ata_irq_on, |
183 | .irq_ack = ata_irq_ack, | ||
184 | 182 | ||
185 | .port_start = ata_port_start, | 183 | .port_start = ata_port_start, |
186 | }; | 184 | }; |
@@ -211,7 +209,6 @@ static const struct ata_port_operations vt6421_sata_ops = { | |||
211 | 209 | ||
212 | .irq_clear = ata_bmdma_irq_clear, | 210 | .irq_clear = ata_bmdma_irq_clear, |
213 | .irq_on = ata_irq_on, | 211 | .irq_on = ata_irq_on, |
214 | .irq_ack = ata_irq_ack, | ||
215 | 212 | ||
216 | .scr_read = svia_scr_read, | 213 | .scr_read = svia_scr_read, |
217 | .scr_write = svia_scr_write, | 214 | .scr_write = svia_scr_write, |
diff --git a/drivers/ata/sata_vsc.c b/drivers/ata/sata_vsc.c index 9586b8b51cea..55fb2e0b369a 100644 --- a/drivers/ata/sata_vsc.c +++ b/drivers/ata/sata_vsc.c | |||
@@ -336,7 +336,6 @@ static const struct ata_port_operations vsc_sata_ops = { | |||
336 | .post_internal_cmd = ata_bmdma_post_internal_cmd, | 336 | .post_internal_cmd = ata_bmdma_post_internal_cmd, |
337 | .irq_clear = ata_bmdma_irq_clear, | 337 | .irq_clear = ata_bmdma_irq_clear, |
338 | .irq_on = ata_irq_on, | 338 | .irq_on = ata_irq_on, |
339 | .irq_ack = ata_irq_ack, | ||
340 | .scr_read = vsc_sata_scr_read, | 339 | .scr_read = vsc_sata_scr_read, |
341 | .scr_write = vsc_sata_scr_write, | 340 | .scr_write = vsc_sata_scr_write, |
342 | .port_start = ata_port_start, | 341 | .port_start = ata_port_start, |
diff --git a/include/linux/libata.h b/include/linux/libata.h index b89d191ceb2b..9295cd541ffc 100644 --- a/include/linux/libata.h +++ b/include/linux/libata.h | |||
@@ -644,7 +644,6 @@ struct ata_port_operations { | |||
644 | irq_handler_t irq_handler; | 644 | irq_handler_t irq_handler; |
645 | void (*irq_clear) (struct ata_port *); | 645 | void (*irq_clear) (struct ata_port *); |
646 | u8 (*irq_on) (struct ata_port *); | 646 | u8 (*irq_on) (struct ata_port *); |
647 | u8 (*irq_ack) (struct ata_port *ap, unsigned int chk_drq); | ||
648 | 647 | ||
649 | int (*scr_read) (struct ata_port *ap, unsigned int sc_reg, u32 *val); | 648 | int (*scr_read) (struct ata_port *ap, unsigned int sc_reg, u32 *val); |
650 | int (*scr_write) (struct ata_port *ap, unsigned int sc_reg, u32 val); | 649 | int (*scr_write) (struct ata_port *ap, unsigned int sc_reg, u32 val); |
@@ -852,9 +851,6 @@ extern int ata_scsi_change_queue_depth(struct scsi_device *sdev, | |||
852 | extern struct ata_device *ata_dev_pair(struct ata_device *adev); | 851 | extern struct ata_device *ata_dev_pair(struct ata_device *adev); |
853 | extern int ata_do_set_mode(struct ata_link *link, struct ata_device **r_failed_dev); | 852 | extern int ata_do_set_mode(struct ata_link *link, struct ata_device **r_failed_dev); |
854 | extern u8 ata_irq_on(struct ata_port *ap); | 853 | extern u8 ata_irq_on(struct ata_port *ap); |
855 | extern u8 ata_dummy_irq_on(struct ata_port *ap); | ||
856 | extern u8 ata_irq_ack(struct ata_port *ap, unsigned int chk_drq); | ||
857 | extern u8 ata_dummy_irq_ack(struct ata_port *ap, unsigned int chk_drq); | ||
858 | 854 | ||
859 | extern int ata_cable_40wire(struct ata_port *ap); | 855 | extern int ata_cable_40wire(struct ata_port *ap); |
860 | extern int ata_cable_80wire(struct ata_port *ap); | 856 | extern int ata_cable_80wire(struct ata_port *ap); |