diff options
-rw-r--r-- | drivers/ide/arm/icside.c | 5 | ||||
-rw-r--r-- | drivers/ide/ide-dma.c | 9 | ||||
-rw-r--r-- | drivers/ide/ide-io.c | 2 | ||||
-rw-r--r-- | drivers/ide/ide.c | 2 | ||||
-rw-r--r-- | drivers/ide/mips/au1xxx-ide.c | 5 | ||||
-rw-r--r-- | drivers/ide/pci/aec62xx.c | 10 | ||||
-rw-r--r-- | drivers/ide/pci/hpt366.c | 6 | ||||
-rw-r--r-- | drivers/ide/pci/pdc202xx_old.c | 13 | ||||
-rw-r--r-- | drivers/ide/pci/sgiioc4.c | 18 | ||||
-rw-r--r-- | drivers/ide/pci/sl82c105.c | 7 | ||||
-rw-r--r-- | drivers/ide/ppc/pmac.c | 9 | ||||
-rw-r--r-- | include/linux/ide.h | 4 |
12 files changed, 41 insertions, 49 deletions
diff --git a/drivers/ide/arm/icside.c b/drivers/ide/arm/icside.c index 66f826252aee..543f8b51f6b1 100644 --- a/drivers/ide/arm/icside.c +++ b/drivers/ide/arm/icside.c | |||
@@ -461,10 +461,9 @@ static int icside_dma_timeout(ide_drive_t *drive) | |||
461 | return icside_dma_end(drive); | 461 | return icside_dma_end(drive); |
462 | } | 462 | } |
463 | 463 | ||
464 | static int icside_dma_lostirq(ide_drive_t *drive) | 464 | static void icside_dma_lost_irq(ide_drive_t *drive) |
465 | { | 465 | { |
466 | printk(KERN_ERR "%s: IRQ lost\n", drive->name); | 466 | printk(KERN_ERR "%s: IRQ lost\n", drive->name); |
467 | return 1; | ||
468 | } | 467 | } |
469 | 468 | ||
470 | static void icside_dma_init(ide_hwif_t *hwif) | 469 | static void icside_dma_init(ide_hwif_t *hwif) |
@@ -491,7 +490,7 @@ static void icside_dma_init(ide_hwif_t *hwif) | |||
491 | hwif->ide_dma_end = icside_dma_end; | 490 | hwif->ide_dma_end = icside_dma_end; |
492 | hwif->ide_dma_test_irq = icside_dma_test_irq; | 491 | hwif->ide_dma_test_irq = icside_dma_test_irq; |
493 | hwif->ide_dma_timeout = icside_dma_timeout; | 492 | hwif->ide_dma_timeout = icside_dma_timeout; |
494 | hwif->ide_dma_lostirq = icside_dma_lostirq; | 493 | hwif->dma_lost_irq = icside_dma_lost_irq; |
495 | 494 | ||
496 | hwif->drives[0].autodma = hwif->autodma; | 495 | hwif->drives[0].autodma = hwif->autodma; |
497 | hwif->drives[1].autodma = hwif->autodma; | 496 | hwif->drives[1].autodma = hwif->autodma; |
diff --git a/drivers/ide/ide-dma.c b/drivers/ide/ide-dma.c index ead141e2db9e..ce322602982e 100644 --- a/drivers/ide/ide-dma.c +++ b/drivers/ide/ide-dma.c | |||
@@ -850,13 +850,12 @@ int ide_set_dma(ide_drive_t *drive) | |||
850 | EXPORT_SYMBOL_GPL(ide_set_dma); | 850 | EXPORT_SYMBOL_GPL(ide_set_dma); |
851 | 851 | ||
852 | #ifdef CONFIG_BLK_DEV_IDEDMA_PCI | 852 | #ifdef CONFIG_BLK_DEV_IDEDMA_PCI |
853 | int __ide_dma_lostirq (ide_drive_t *drive) | 853 | void ide_dma_lost_irq (ide_drive_t *drive) |
854 | { | 854 | { |
855 | printk("%s: DMA interrupt recovery\n", drive->name); | 855 | printk("%s: DMA interrupt recovery\n", drive->name); |
856 | return 1; | ||
857 | } | 856 | } |
858 | 857 | ||
859 | EXPORT_SYMBOL(__ide_dma_lostirq); | 858 | EXPORT_SYMBOL(ide_dma_lost_irq); |
860 | 859 | ||
861 | int __ide_dma_timeout (ide_drive_t *drive) | 860 | int __ide_dma_timeout (ide_drive_t *drive) |
862 | { | 861 | { |
@@ -1020,8 +1019,8 @@ void ide_setup_dma (ide_hwif_t *hwif, unsigned long dma_base, unsigned int num_p | |||
1020 | hwif->ide_dma_test_irq = &__ide_dma_test_irq; | 1019 | hwif->ide_dma_test_irq = &__ide_dma_test_irq; |
1021 | if (!hwif->ide_dma_timeout) | 1020 | if (!hwif->ide_dma_timeout) |
1022 | hwif->ide_dma_timeout = &__ide_dma_timeout; | 1021 | hwif->ide_dma_timeout = &__ide_dma_timeout; |
1023 | if (!hwif->ide_dma_lostirq) | 1022 | if (!hwif->dma_lost_irq) |
1024 | hwif->ide_dma_lostirq = &__ide_dma_lostirq; | 1023 | hwif->dma_lost_irq = &ide_dma_lost_irq; |
1025 | 1024 | ||
1026 | if (hwif->chipset != ide_trm290) { | 1025 | if (hwif->chipset != ide_trm290) { |
1027 | u8 dma_stat = hwif->INB(hwif->dma_status); | 1026 | u8 dma_stat = hwif->INB(hwif->dma_status); |
diff --git a/drivers/ide/ide-io.c b/drivers/ide/ide-io.c index bfe8f1b712ba..9f4f8878b551 100644 --- a/drivers/ide/ide-io.c +++ b/drivers/ide/ide-io.c | |||
@@ -1466,7 +1466,7 @@ void ide_timer_expiry (unsigned long data) | |||
1466 | startstop = handler(drive); | 1466 | startstop = handler(drive); |
1467 | } else if (drive_is_ready(drive)) { | 1467 | } else if (drive_is_ready(drive)) { |
1468 | if (drive->waiting_for_dma) | 1468 | if (drive->waiting_for_dma) |
1469 | (void) hwgroup->hwif->ide_dma_lostirq(drive); | 1469 | hwgroup->hwif->dma_lost_irq(drive); |
1470 | (void)ide_ack_intr(hwif); | 1470 | (void)ide_ack_intr(hwif); |
1471 | printk(KERN_WARNING "%s: lost interrupt\n", drive->name); | 1471 | printk(KERN_WARNING "%s: lost interrupt\n", drive->name); |
1472 | startstop = handler(drive); | 1472 | startstop = handler(drive); |
diff --git a/drivers/ide/ide.c b/drivers/ide/ide.c index 0cd76bf66833..8a8674d3223f 100644 --- a/drivers/ide/ide.c +++ b/drivers/ide/ide.c | |||
@@ -496,7 +496,7 @@ static void ide_hwif_restore(ide_hwif_t *hwif, ide_hwif_t *tmp_hwif) | |||
496 | hwif->ide_dma_clear_irq = tmp_hwif->ide_dma_clear_irq; | 496 | hwif->ide_dma_clear_irq = tmp_hwif->ide_dma_clear_irq; |
497 | hwif->dma_host_on = tmp_hwif->dma_host_on; | 497 | hwif->dma_host_on = tmp_hwif->dma_host_on; |
498 | hwif->dma_host_off = tmp_hwif->dma_host_off; | 498 | hwif->dma_host_off = tmp_hwif->dma_host_off; |
499 | hwif->ide_dma_lostirq = tmp_hwif->ide_dma_lostirq; | 499 | hwif->dma_lost_irq = tmp_hwif->dma_lost_irq; |
500 | hwif->ide_dma_timeout = tmp_hwif->ide_dma_timeout; | 500 | hwif->ide_dma_timeout = tmp_hwif->ide_dma_timeout; |
501 | 501 | ||
502 | hwif->OUTB = tmp_hwif->OUTB; | 502 | hwif->OUTB = tmp_hwif->OUTB; |
diff --git a/drivers/ide/mips/au1xxx-ide.c b/drivers/ide/mips/au1xxx-ide.c index ca95e990862e..e8935519edbe 100644 --- a/drivers/ide/mips/au1xxx-ide.c +++ b/drivers/ide/mips/au1xxx-ide.c | |||
@@ -456,10 +456,9 @@ static void auide_dma_off_quietly(ide_drive_t *drive) | |||
456 | drive->using_dma = 0; | 456 | drive->using_dma = 0; |
457 | } | 457 | } |
458 | 458 | ||
459 | static int auide_dma_lostirq(ide_drive_t *drive) | 459 | static void auide_dma_lost_irq(ide_drive_t *drive) |
460 | { | 460 | { |
461 | printk(KERN_ERR "%s: IRQ lost\n", drive->name); | 461 | printk(KERN_ERR "%s: IRQ lost\n", drive->name); |
462 | return 0; | ||
463 | } | 462 | } |
464 | 463 | ||
465 | static void auide_ddma_tx_callback(int irq, void *param) | 464 | static void auide_ddma_tx_callback(int irq, void *param) |
@@ -731,7 +730,7 @@ static int au_ide_probe(struct device *dev) | |||
731 | hwif->ide_dma_test_irq = &auide_dma_test_irq; | 730 | hwif->ide_dma_test_irq = &auide_dma_test_irq; |
732 | hwif->dma_host_off = &auide_dma_host_off; | 731 | hwif->dma_host_off = &auide_dma_host_off; |
733 | hwif->dma_host_on = &auide_dma_host_on; | 732 | hwif->dma_host_on = &auide_dma_host_on; |
734 | hwif->ide_dma_lostirq = &auide_dma_lostirq; | 733 | hwif->dma_lost_irq = &auide_dma_lost_irq; |
735 | hwif->ide_dma_on = &auide_dma_on; | 734 | hwif->ide_dma_on = &auide_dma_on; |
736 | 735 | ||
737 | hwif->autodma = 1; | 736 | hwif->autodma = 1; |
diff --git a/drivers/ide/pci/aec62xx.c b/drivers/ide/pci/aec62xx.c index b173bc66ce1e..bed32d0eaa37 100644 --- a/drivers/ide/pci/aec62xx.c +++ b/drivers/ide/pci/aec62xx.c | |||
@@ -172,12 +172,9 @@ static int aec62xx_config_drive_xfer_rate (ide_drive_t *drive) | |||
172 | return -1; | 172 | return -1; |
173 | } | 173 | } |
174 | 174 | ||
175 | static int aec62xx_irq_timeout (ide_drive_t *drive) | 175 | static void aec62xx_dma_lost_irq (ide_drive_t *drive) |
176 | { | 176 | { |
177 | ide_hwif_t *hwif = HWIF(drive); | 177 | switch (HWIF(drive)->pci_dev->device) { |
178 | struct pci_dev *dev = hwif->pci_dev; | ||
179 | |||
180 | switch(dev->device) { | ||
181 | case PCI_DEVICE_ID_ARTOP_ATP860: | 178 | case PCI_DEVICE_ID_ARTOP_ATP860: |
182 | case PCI_DEVICE_ID_ARTOP_ATP860R: | 179 | case PCI_DEVICE_ID_ARTOP_ATP860R: |
183 | case PCI_DEVICE_ID_ARTOP_ATP865: | 180 | case PCI_DEVICE_ID_ARTOP_ATP865: |
@@ -186,7 +183,6 @@ static int aec62xx_irq_timeout (ide_drive_t *drive) | |||
186 | default: | 183 | default: |
187 | break; | 184 | break; |
188 | } | 185 | } |
189 | return 0; | ||
190 | } | 186 | } |
191 | 187 | ||
192 | static unsigned int __devinit init_chipset_aec62xx(struct pci_dev *dev, const char *name) | 188 | static unsigned int __devinit init_chipset_aec62xx(struct pci_dev *dev, const char *name) |
@@ -254,7 +250,7 @@ static void __devinit init_hwif_aec62xx(ide_hwif_t *hwif) | |||
254 | hwif->mwdma_mask = 0x07; | 250 | hwif->mwdma_mask = 0x07; |
255 | 251 | ||
256 | hwif->ide_dma_check = &aec62xx_config_drive_xfer_rate; | 252 | hwif->ide_dma_check = &aec62xx_config_drive_xfer_rate; |
257 | hwif->ide_dma_lostirq = &aec62xx_irq_timeout; | 253 | hwif->dma_lost_irq = &aec62xx_dma_lost_irq; |
258 | 254 | ||
259 | if (!noautodma) | 255 | if (!noautodma) |
260 | hwif->autodma = 1; | 256 | hwif->autodma = 1; |
diff --git a/drivers/ide/pci/hpt366.c b/drivers/ide/pci/hpt366.c index c33d0b0f11c9..34d06dc7f2b2 100644 --- a/drivers/ide/pci/hpt366.c +++ b/drivers/ide/pci/hpt366.c | |||
@@ -737,7 +737,7 @@ static int hpt366_config_drive_xfer_rate(ide_drive_t *drive) | |||
737 | * This is specific to the HPT366 UDMA chipset | 737 | * This is specific to the HPT366 UDMA chipset |
738 | * by HighPoint|Triones Technologies, Inc. | 738 | * by HighPoint|Triones Technologies, Inc. |
739 | */ | 739 | */ |
740 | static int hpt366_ide_dma_lostirq(ide_drive_t *drive) | 740 | static void hpt366_dma_lost_irq(ide_drive_t *drive) |
741 | { | 741 | { |
742 | struct pci_dev *dev = HWIF(drive)->pci_dev; | 742 | struct pci_dev *dev = HWIF(drive)->pci_dev; |
743 | u8 mcr1 = 0, mcr3 = 0, scr1 = 0; | 743 | u8 mcr1 = 0, mcr3 = 0, scr1 = 0; |
@@ -749,7 +749,7 @@ static int hpt366_ide_dma_lostirq(ide_drive_t *drive) | |||
749 | drive->name, __FUNCTION__, mcr1, mcr3, scr1); | 749 | drive->name, __FUNCTION__, mcr1, mcr3, scr1); |
750 | if (scr1 & 0x10) | 750 | if (scr1 & 0x10) |
751 | pci_write_config_byte(dev, 0x5a, scr1 & ~0x10); | 751 | pci_write_config_byte(dev, 0x5a, scr1 & ~0x10); |
752 | return __ide_dma_lostirq(drive); | 752 | ide_dma_lost_irq(drive); |
753 | } | 753 | } |
754 | 754 | ||
755 | static void hpt370_clear_engine(ide_drive_t *drive) | 755 | static void hpt370_clear_engine(ide_drive_t *drive) |
@@ -1355,7 +1355,7 @@ static void __devinit init_hwif_hpt366(ide_hwif_t *hwif) | |||
1355 | hwif->ide_dma_end = &hpt370_ide_dma_end; | 1355 | hwif->ide_dma_end = &hpt370_ide_dma_end; |
1356 | hwif->ide_dma_timeout = &hpt370_ide_dma_timeout; | 1356 | hwif->ide_dma_timeout = &hpt370_ide_dma_timeout; |
1357 | } else | 1357 | } else |
1358 | hwif->ide_dma_lostirq = &hpt366_ide_dma_lostirq; | 1358 | hwif->dma_lost_irq = &hpt366_dma_lost_irq; |
1359 | 1359 | ||
1360 | if (!noautodma) | 1360 | if (!noautodma) |
1361 | hwif->autodma = 1; | 1361 | hwif->autodma = 1; |
diff --git a/drivers/ide/pci/pdc202xx_old.c b/drivers/ide/pci/pdc202xx_old.c index 23844687deea..5013df84e971 100644 --- a/drivers/ide/pci/pdc202xx_old.c +++ b/drivers/ide/pci/pdc202xx_old.c | |||
@@ -267,11 +267,14 @@ somebody_else: | |||
267 | return (dma_stat & 4) == 4; /* return 1 if INTR asserted */ | 267 | return (dma_stat & 4) == 4; /* return 1 if INTR asserted */ |
268 | } | 268 | } |
269 | 269 | ||
270 | static int pdc202xx_ide_dma_lostirq(ide_drive_t *drive) | 270 | static void pdc202xx_dma_lost_irq(ide_drive_t *drive) |
271 | { | 271 | { |
272 | if (HWIF(drive)->resetproc != NULL) | 272 | ide_hwif_t *hwif = HWIF(drive); |
273 | HWIF(drive)->resetproc(drive); | 273 | |
274 | return __ide_dma_lostirq(drive); | 274 | if (hwif->resetproc != NULL) |
275 | hwif->resetproc(drive); | ||
276 | |||
277 | ide_dma_lost_irq(drive); | ||
275 | } | 278 | } |
276 | 279 | ||
277 | static int pdc202xx_ide_dma_timeout(ide_drive_t *drive) | 280 | static int pdc202xx_ide_dma_timeout(ide_drive_t *drive) |
@@ -347,7 +350,7 @@ static void __devinit init_hwif_pdc202xx(ide_hwif_t *hwif) | |||
347 | hwif->err_stops_fifo = 1; | 350 | hwif->err_stops_fifo = 1; |
348 | 351 | ||
349 | hwif->ide_dma_check = &pdc202xx_config_drive_xfer_rate; | 352 | hwif->ide_dma_check = &pdc202xx_config_drive_xfer_rate; |
350 | hwif->ide_dma_lostirq = &pdc202xx_ide_dma_lostirq; | 353 | hwif->dma_lost_irq = &pdc202xx_dma_lost_irq; |
351 | hwif->ide_dma_timeout = &pdc202xx_ide_dma_timeout; | 354 | hwif->ide_dma_timeout = &pdc202xx_ide_dma_timeout; |
352 | 355 | ||
353 | if (hwif->pci_dev->device != PCI_DEVICE_ID_PROMISE_20246) { | 356 | if (hwif->pci_dev->device != PCI_DEVICE_ID_PROMISE_20246) { |
diff --git a/drivers/ide/pci/sgiioc4.c b/drivers/ide/pci/sgiioc4.c index d3185e29a38e..53bee59264ef 100644 --- a/drivers/ide/pci/sgiioc4.c +++ b/drivers/ide/pci/sgiioc4.c | |||
@@ -316,14 +316,6 @@ static void sgiioc4_dma_host_off(ide_drive_t * drive) | |||
316 | sgiioc4_clearirq(drive); | 316 | sgiioc4_clearirq(drive); |
317 | } | 317 | } |
318 | 318 | ||
319 | static int | ||
320 | sgiioc4_ide_dma_lostirq(ide_drive_t * drive) | ||
321 | { | ||
322 | HWIF(drive)->resetproc(drive); | ||
323 | |||
324 | return __ide_dma_lostirq(drive); | ||
325 | } | ||
326 | |||
327 | static void | 319 | static void |
328 | sgiioc4_resetproc(ide_drive_t * drive) | 320 | sgiioc4_resetproc(ide_drive_t * drive) |
329 | { | 321 | { |
@@ -331,6 +323,14 @@ sgiioc4_resetproc(ide_drive_t * drive) | |||
331 | sgiioc4_clearirq(drive); | 323 | sgiioc4_clearirq(drive); |
332 | } | 324 | } |
333 | 325 | ||
326 | static void | ||
327 | sgiioc4_dma_lost_irq(ide_drive_t * drive) | ||
328 | { | ||
329 | sgiioc4_resetproc(drive); | ||
330 | |||
331 | ide_dma_lost_irq(drive); | ||
332 | } | ||
333 | |||
334 | static u8 | 334 | static u8 |
335 | sgiioc4_INB(unsigned long port) | 335 | sgiioc4_INB(unsigned long port) |
336 | { | 336 | { |
@@ -607,7 +607,7 @@ ide_init_sgiioc4(ide_hwif_t * hwif) | |||
607 | hwif->ide_dma_test_irq = &sgiioc4_ide_dma_test_irq; | 607 | hwif->ide_dma_test_irq = &sgiioc4_ide_dma_test_irq; |
608 | hwif->dma_host_on = &sgiioc4_dma_host_on; | 608 | hwif->dma_host_on = &sgiioc4_dma_host_on; |
609 | hwif->dma_host_off = &sgiioc4_dma_host_off; | 609 | hwif->dma_host_off = &sgiioc4_dma_host_off; |
610 | hwif->ide_dma_lostirq = &sgiioc4_ide_dma_lostirq; | 610 | hwif->dma_lost_irq = &sgiioc4_dma_lost_irq; |
611 | hwif->ide_dma_timeout = &__ide_dma_timeout; | 611 | hwif->ide_dma_timeout = &__ide_dma_timeout; |
612 | 612 | ||
613 | hwif->INB = &sgiioc4_INB; | 613 | hwif->INB = &sgiioc4_INB; |
diff --git a/drivers/ide/pci/sl82c105.c b/drivers/ide/pci/sl82c105.c index 7c383d9cc472..202ce4965b60 100644 --- a/drivers/ide/pci/sl82c105.c +++ b/drivers/ide/pci/sl82c105.c | |||
@@ -195,7 +195,7 @@ static inline void sl82c105_reset_host(struct pci_dev *dev) | |||
195 | * This function is called when the IDE timer expires, the drive | 195 | * This function is called when the IDE timer expires, the drive |
196 | * indicates that it is READY, and we were waiting for DMA to complete. | 196 | * indicates that it is READY, and we were waiting for DMA to complete. |
197 | */ | 197 | */ |
198 | static int sl82c105_ide_dma_lostirq(ide_drive_t *drive) | 198 | static void sl82c105_dma_lost_irq(ide_drive_t *drive) |
199 | { | 199 | { |
200 | ide_hwif_t *hwif = HWIF(drive); | 200 | ide_hwif_t *hwif = HWIF(drive); |
201 | struct pci_dev *dev = hwif->pci_dev; | 201 | struct pci_dev *dev = hwif->pci_dev; |
@@ -222,9 +222,6 @@ static int sl82c105_ide_dma_lostirq(ide_drive_t *drive) | |||
222 | } | 222 | } |
223 | 223 | ||
224 | sl82c105_reset_host(dev); | 224 | sl82c105_reset_host(dev); |
225 | |||
226 | /* __ide_dma_lostirq would return 1, so we do as well */ | ||
227 | return 1; | ||
228 | } | 225 | } |
229 | 226 | ||
230 | /* | 227 | /* |
@@ -441,7 +438,7 @@ static void __devinit init_hwif_sl82c105(ide_hwif_t *hwif) | |||
441 | hwif->ide_dma_check = &sl82c105_ide_dma_check; | 438 | hwif->ide_dma_check = &sl82c105_ide_dma_check; |
442 | hwif->ide_dma_on = &sl82c105_ide_dma_on; | 439 | hwif->ide_dma_on = &sl82c105_ide_dma_on; |
443 | hwif->dma_off_quietly = &sl82c105_dma_off_quietly; | 440 | hwif->dma_off_quietly = &sl82c105_dma_off_quietly; |
444 | hwif->ide_dma_lostirq = &sl82c105_ide_dma_lostirq; | 441 | hwif->dma_lost_irq = &sl82c105_dma_lost_irq; |
445 | hwif->dma_start = &sl82c105_dma_start; | 442 | hwif->dma_start = &sl82c105_dma_start; |
446 | hwif->ide_dma_timeout = &sl82c105_ide_dma_timeout; | 443 | hwif->ide_dma_timeout = &sl82c105_ide_dma_timeout; |
447 | 444 | ||
diff --git a/drivers/ide/ppc/pmac.c b/drivers/ide/ppc/pmac.c index 45fc36f0f219..ca72ad202ebc 100644 --- a/drivers/ide/ppc/pmac.c +++ b/drivers/ide/ppc/pmac.c | |||
@@ -2004,20 +2004,19 @@ static void pmac_ide_dma_host_on(ide_drive_t *drive) | |||
2004 | { | 2004 | { |
2005 | } | 2005 | } |
2006 | 2006 | ||
2007 | static int | 2007 | static void |
2008 | pmac_ide_dma_lostirq (ide_drive_t *drive) | 2008 | pmac_ide_dma_lost_irq (ide_drive_t *drive) |
2009 | { | 2009 | { |
2010 | pmac_ide_hwif_t* pmif = (pmac_ide_hwif_t *)HWIF(drive)->hwif_data; | 2010 | pmac_ide_hwif_t* pmif = (pmac_ide_hwif_t *)HWIF(drive)->hwif_data; |
2011 | volatile struct dbdma_regs __iomem *dma; | 2011 | volatile struct dbdma_regs __iomem *dma; |
2012 | unsigned long status; | 2012 | unsigned long status; |
2013 | 2013 | ||
2014 | if (pmif == NULL) | 2014 | if (pmif == NULL) |
2015 | return 0; | 2015 | return; |
2016 | dma = pmif->dma_regs; | 2016 | dma = pmif->dma_regs; |
2017 | 2017 | ||
2018 | status = readl(&dma->status); | 2018 | status = readl(&dma->status); |
2019 | printk(KERN_ERR "ide-pmac lost interrupt, dma status: %lx\n", status); | 2019 | printk(KERN_ERR "ide-pmac lost interrupt, dma status: %lx\n", status); |
2020 | return 0; | ||
2021 | } | 2020 | } |
2022 | 2021 | ||
2023 | /* | 2022 | /* |
@@ -2058,7 +2057,7 @@ pmac_ide_setup_dma(pmac_ide_hwif_t *pmif, ide_hwif_t *hwif) | |||
2058 | hwif->dma_host_off = &pmac_ide_dma_host_off; | 2057 | hwif->dma_host_off = &pmac_ide_dma_host_off; |
2059 | hwif->dma_host_on = &pmac_ide_dma_host_on; | 2058 | hwif->dma_host_on = &pmac_ide_dma_host_on; |
2060 | hwif->ide_dma_timeout = &__ide_dma_timeout; | 2059 | hwif->ide_dma_timeout = &__ide_dma_timeout; |
2061 | hwif->ide_dma_lostirq = &pmac_ide_dma_lostirq; | 2060 | hwif->dma_lost_irq = &pmac_ide_dma_lost_irq; |
2062 | 2061 | ||
2063 | hwif->atapi_dma = 1; | 2062 | hwif->atapi_dma = 1; |
2064 | switch(pmif->kind) { | 2063 | switch(pmif->kind) { |
diff --git a/include/linux/ide.h b/include/linux/ide.h index 1e365acdd369..d7f74e7c5155 100644 --- a/include/linux/ide.h +++ b/include/linux/ide.h | |||
@@ -735,7 +735,7 @@ typedef struct hwif_s { | |||
735 | void (*ide_dma_clear_irq)(ide_drive_t *drive); | 735 | void (*ide_dma_clear_irq)(ide_drive_t *drive); |
736 | void (*dma_host_on)(ide_drive_t *drive); | 736 | void (*dma_host_on)(ide_drive_t *drive); |
737 | void (*dma_host_off)(ide_drive_t *drive); | 737 | void (*dma_host_off)(ide_drive_t *drive); |
738 | int (*ide_dma_lostirq)(ide_drive_t *drive); | 738 | void (*dma_lost_irq)(ide_drive_t *drive); |
739 | int (*ide_dma_timeout)(ide_drive_t *drive); | 739 | int (*ide_dma_timeout)(ide_drive_t *drive); |
740 | 740 | ||
741 | void (*OUTB)(u8 addr, unsigned long port); | 741 | void (*OUTB)(u8 addr, unsigned long port); |
@@ -1304,7 +1304,7 @@ extern int __ide_dma_check(ide_drive_t *); | |||
1304 | extern int ide_dma_setup(ide_drive_t *); | 1304 | extern int ide_dma_setup(ide_drive_t *); |
1305 | extern void ide_dma_start(ide_drive_t *); | 1305 | extern void ide_dma_start(ide_drive_t *); |
1306 | extern int __ide_dma_end(ide_drive_t *); | 1306 | extern int __ide_dma_end(ide_drive_t *); |
1307 | extern int __ide_dma_lostirq(ide_drive_t *); | 1307 | extern void ide_dma_lost_irq(ide_drive_t *); |
1308 | extern int __ide_dma_timeout(ide_drive_t *); | 1308 | extern int __ide_dma_timeout(ide_drive_t *); |
1309 | #endif /* CONFIG_BLK_DEV_IDEDMA_PCI */ | 1309 | #endif /* CONFIG_BLK_DEV_IDEDMA_PCI */ |
1310 | 1310 | ||