diff options
-rw-r--r-- | drivers/ide/arm/icside.c | 8 | ||||
-rw-r--r-- | drivers/ide/cris/ide-cris.c | 2 | ||||
-rw-r--r-- | drivers/ide/ide-dma.c | 17 | ||||
-rw-r--r-- | drivers/ide/ide-iops.c | 2 | ||||
-rw-r--r-- | drivers/ide/ide.c | 2 | ||||
-rw-r--r-- | drivers/ide/mips/au1xxx-ide.c | 8 | ||||
-rw-r--r-- | drivers/ide/pci/atiixp.c | 6 | ||||
-rw-r--r-- | drivers/ide/pci/sgiioc4.c | 11 | ||||
-rw-r--r-- | drivers/ide/ppc/pmac.c | 6 | ||||
-rw-r--r-- | include/linux/ide.h | 4 |
10 files changed, 28 insertions, 38 deletions
diff --git a/drivers/ide/arm/icside.c b/drivers/ide/arm/icside.c index de3739270bc0..40e5c66b81ce 100644 --- a/drivers/ide/arm/icside.c +++ b/drivers/ide/arm/icside.c | |||
@@ -316,15 +316,15 @@ static void icside_dma_off_quietly(ide_drive_t *drive) | |||
316 | drive->using_dma = 0; | 316 | drive->using_dma = 0; |
317 | } | 317 | } |
318 | 318 | ||
319 | static int icside_dma_host_on(ide_drive_t *drive) | 319 | static void icside_dma_host_on(ide_drive_t *drive) |
320 | { | 320 | { |
321 | return 0; | ||
322 | } | 321 | } |
323 | 322 | ||
324 | static int icside_dma_on(ide_drive_t *drive) | 323 | static int icside_dma_on(ide_drive_t *drive) |
325 | { | 324 | { |
326 | drive->using_dma = 1; | 325 | drive->using_dma = 1; |
327 | return icside_dma_host_on(drive); | 326 | |
327 | return 0; | ||
328 | } | 328 | } |
329 | 329 | ||
330 | static int icside_dma_check(ide_drive_t *drive) | 330 | static int icside_dma_check(ide_drive_t *drive) |
@@ -494,7 +494,7 @@ static void icside_dma_init(ide_hwif_t *hwif) | |||
494 | hwif->ide_dma_check = icside_dma_check; | 494 | hwif->ide_dma_check = icside_dma_check; |
495 | hwif->dma_host_off = icside_dma_host_off; | 495 | hwif->dma_host_off = icside_dma_host_off; |
496 | hwif->dma_off_quietly = icside_dma_off_quietly; | 496 | hwif->dma_off_quietly = icside_dma_off_quietly; |
497 | hwif->ide_dma_host_on = icside_dma_host_on; | 497 | hwif->dma_host_on = icside_dma_host_on; |
498 | hwif->ide_dma_on = icside_dma_on; | 498 | hwif->ide_dma_on = icside_dma_on; |
499 | hwif->dma_setup = icside_dma_setup; | 499 | hwif->dma_setup = icside_dma_setup; |
500 | hwif->dma_exec_cmd = icside_dma_exec_cmd; | 500 | hwif->dma_exec_cmd = icside_dma_exec_cmd; |
diff --git a/drivers/ide/cris/ide-cris.c b/drivers/ide/cris/ide-cris.c index c81b2719bca6..6b2d152351b3 100644 --- a/drivers/ide/cris/ide-cris.c +++ b/drivers/ide/cris/ide-cris.c | |||
@@ -818,7 +818,7 @@ init_e100_ide (void) | |||
818 | hwif->INB = &cris_ide_inb; | 818 | hwif->INB = &cris_ide_inb; |
819 | hwif->INW = &cris_ide_inw; | 819 | hwif->INW = &cris_ide_inw; |
820 | hwif->dma_host_off = &cris_dma_off; | 820 | hwif->dma_host_off = &cris_dma_off; |
821 | hwif->ide_dma_host_on = &cris_dma_on; | 821 | hwif->dma_host_on = &cris_dma_on; |
822 | hwif->dma_off_quietly = &cris_dma_off; | 822 | hwif->dma_off_quietly = &cris_dma_off; |
823 | hwif->udma_four = 0; | 823 | hwif->udma_four = 0; |
824 | hwif->ultra_mask = cris_ultra_mask; | 824 | hwif->ultra_mask = cris_ultra_mask; |
diff --git a/drivers/ide/ide-dma.c b/drivers/ide/ide-dma.c index a15217b136f5..08e7cd043bcc 100644 --- a/drivers/ide/ide-dma.c +++ b/drivers/ide/ide-dma.c | |||
@@ -468,14 +468,14 @@ EXPORT_SYMBOL(ide_dma_off); | |||
468 | 468 | ||
469 | #ifdef CONFIG_BLK_DEV_IDEDMA_PCI | 469 | #ifdef CONFIG_BLK_DEV_IDEDMA_PCI |
470 | /** | 470 | /** |
471 | * __ide_dma_host_on - Enable DMA on a host | 471 | * ide_dma_host_on - Enable DMA on a host |
472 | * @drive: drive to enable for DMA | 472 | * @drive: drive to enable for DMA |
473 | * | 473 | * |
474 | * Enable DMA on an IDE controller following generic bus mastering | 474 | * Enable DMA on an IDE controller following generic bus mastering |
475 | * IDE controller behaviour | 475 | * IDE controller behaviour |
476 | */ | 476 | */ |
477 | 477 | ||
478 | int __ide_dma_host_on (ide_drive_t *drive) | 478 | void ide_dma_host_on(ide_drive_t *drive) |
479 | { | 479 | { |
480 | if (drive->using_dma) { | 480 | if (drive->using_dma) { |
481 | ide_hwif_t *hwif = HWIF(drive); | 481 | ide_hwif_t *hwif = HWIF(drive); |
@@ -483,12 +483,10 @@ int __ide_dma_host_on (ide_drive_t *drive) | |||
483 | u8 dma_stat = hwif->INB(hwif->dma_status); | 483 | u8 dma_stat = hwif->INB(hwif->dma_status); |
484 | 484 | ||
485 | hwif->OUTB((dma_stat|(1<<(5+unit))), hwif->dma_status); | 485 | hwif->OUTB((dma_stat|(1<<(5+unit))), hwif->dma_status); |
486 | return 0; | ||
487 | } | 486 | } |
488 | return 1; | ||
489 | } | 487 | } |
490 | 488 | ||
491 | EXPORT_SYMBOL(__ide_dma_host_on); | 489 | EXPORT_SYMBOL(ide_dma_host_on); |
492 | 490 | ||
493 | /** | 491 | /** |
494 | * __ide_dma_on - Enable DMA on a device | 492 | * __ide_dma_on - Enable DMA on a device |
@@ -506,8 +504,7 @@ int __ide_dma_on (ide_drive_t *drive) | |||
506 | drive->using_dma = 1; | 504 | drive->using_dma = 1; |
507 | ide_toggle_bounce(drive, 1); | 505 | ide_toggle_bounce(drive, 1); |
508 | 506 | ||
509 | if (HWIF(drive)->ide_dma_host_on(drive)) | 507 | drive->hwif->dma_host_on(drive); |
510 | return 1; | ||
511 | 508 | ||
512 | return 0; | 509 | return 0; |
513 | } | 510 | } |
@@ -940,8 +937,8 @@ void ide_setup_dma (ide_hwif_t *hwif, unsigned long dma_base, unsigned int num_p | |||
940 | hwif->dma_host_off = &ide_dma_host_off; | 937 | hwif->dma_host_off = &ide_dma_host_off; |
941 | if (!hwif->ide_dma_on) | 938 | if (!hwif->ide_dma_on) |
942 | hwif->ide_dma_on = &__ide_dma_on; | 939 | hwif->ide_dma_on = &__ide_dma_on; |
943 | if (!hwif->ide_dma_host_on) | 940 | if (!hwif->dma_host_on) |
944 | hwif->ide_dma_host_on = &__ide_dma_host_on; | 941 | hwif->dma_host_on = &ide_dma_host_on; |
945 | if (!hwif->ide_dma_check) | 942 | if (!hwif->ide_dma_check) |
946 | hwif->ide_dma_check = &__ide_dma_check; | 943 | hwif->ide_dma_check = &__ide_dma_check; |
947 | if (!hwif->dma_setup) | 944 | if (!hwif->dma_setup) |
diff --git a/drivers/ide/ide-iops.c b/drivers/ide/ide-iops.c index 5ecdb11a3462..c67b3b1e6f4c 100644 --- a/drivers/ide/ide-iops.c +++ b/drivers/ide/ide-iops.c | |||
@@ -830,7 +830,7 @@ int ide_config_drive_speed (ide_drive_t *drive, u8 speed) | |||
830 | 830 | ||
831 | #ifdef CONFIG_BLK_DEV_IDEDMA | 831 | #ifdef CONFIG_BLK_DEV_IDEDMA |
832 | if (speed >= XFER_SW_DMA_0) | 832 | if (speed >= XFER_SW_DMA_0) |
833 | hwif->ide_dma_host_on(drive); | 833 | hwif->dma_host_on(drive); |
834 | else if (hwif->ide_dma_check) /* check if host supports DMA */ | 834 | else if (hwif->ide_dma_check) /* check if host supports DMA */ |
835 | hwif->dma_off_quietly(drive); | 835 | hwif->dma_off_quietly(drive); |
836 | #endif | 836 | #endif |
diff --git a/drivers/ide/ide.c b/drivers/ide/ide.c index 6e146b54257d..b3c0818c5c6c 100644 --- a/drivers/ide/ide.c +++ b/drivers/ide/ide.c | |||
@@ -509,7 +509,7 @@ static void ide_hwif_restore(ide_hwif_t *hwif, ide_hwif_t *tmp_hwif) | |||
509 | hwif->dma_off_quietly = tmp_hwif->dma_off_quietly; | 509 | hwif->dma_off_quietly = tmp_hwif->dma_off_quietly; |
510 | hwif->ide_dma_test_irq = tmp_hwif->ide_dma_test_irq; | 510 | hwif->ide_dma_test_irq = tmp_hwif->ide_dma_test_irq; |
511 | hwif->ide_dma_clear_irq = tmp_hwif->ide_dma_clear_irq; | 511 | hwif->ide_dma_clear_irq = tmp_hwif->ide_dma_clear_irq; |
512 | hwif->ide_dma_host_on = tmp_hwif->ide_dma_host_on; | 512 | hwif->dma_host_on = tmp_hwif->dma_host_on; |
513 | hwif->dma_host_off = tmp_hwif->dma_host_off; | 513 | hwif->dma_host_off = tmp_hwif->dma_host_off; |
514 | hwif->ide_dma_lostirq = tmp_hwif->ide_dma_lostirq; | 514 | hwif->ide_dma_lostirq = tmp_hwif->ide_dma_lostirq; |
515 | hwif->ide_dma_timeout = tmp_hwif->ide_dma_timeout; | 515 | hwif->ide_dma_timeout = tmp_hwif->ide_dma_timeout; |
diff --git a/drivers/ide/mips/au1xxx-ide.c b/drivers/ide/mips/au1xxx-ide.c index 266ef37a2807..0a59d5ef1599 100644 --- a/drivers/ide/mips/au1xxx-ide.c +++ b/drivers/ide/mips/au1xxx-ide.c | |||
@@ -438,15 +438,15 @@ static int auide_dma_test_irq(ide_drive_t *drive) | |||
438 | return 0; | 438 | return 0; |
439 | } | 439 | } |
440 | 440 | ||
441 | static int auide_dma_host_on(ide_drive_t *drive) | 441 | static void auide_dma_host_on(ide_drive_t *drive) |
442 | { | 442 | { |
443 | return 0; | ||
444 | } | 443 | } |
445 | 444 | ||
446 | static int auide_dma_on(ide_drive_t *drive) | 445 | static int auide_dma_on(ide_drive_t *drive) |
447 | { | 446 | { |
448 | drive->using_dma = 1; | 447 | drive->using_dma = 1; |
449 | return auide_dma_host_on(drive); | 448 | |
449 | return 0; | ||
450 | } | 450 | } |
451 | 451 | ||
452 | static void auide_dma_host_off(ide_drive_t *drive) | 452 | static void auide_dma_host_off(ide_drive_t *drive) |
@@ -731,7 +731,7 @@ static int au_ide_probe(struct device *dev) | |||
731 | hwif->dma_setup = &auide_dma_setup; | 731 | hwif->dma_setup = &auide_dma_setup; |
732 | hwif->ide_dma_test_irq = &auide_dma_test_irq; | 732 | hwif->ide_dma_test_irq = &auide_dma_test_irq; |
733 | hwif->dma_host_off = &auide_dma_host_off; | 733 | hwif->dma_host_off = &auide_dma_host_off; |
734 | hwif->ide_dma_host_on = &auide_dma_host_on; | 734 | hwif->dma_host_on = &auide_dma_host_on; |
735 | hwif->ide_dma_lostirq = &auide_dma_lostirq; | 735 | hwif->ide_dma_lostirq = &auide_dma_lostirq; |
736 | hwif->ide_dma_on = &auide_dma_on; | 736 | hwif->ide_dma_on = &auide_dma_on; |
737 | 737 | ||
diff --git a/drivers/ide/pci/atiixp.c b/drivers/ide/pci/atiixp.c index ed32be174200..2d48af32e3f4 100644 --- a/drivers/ide/pci/atiixp.c +++ b/drivers/ide/pci/atiixp.c | |||
@@ -101,7 +101,7 @@ static u8 atiixp_dma_2_pio(u8 xfer_rate) { | |||
101 | } | 101 | } |
102 | } | 102 | } |
103 | 103 | ||
104 | static int atiixp_ide_dma_host_on(ide_drive_t *drive) | 104 | static void atiixp_dma_host_on(ide_drive_t *drive) |
105 | { | 105 | { |
106 | struct pci_dev *dev = drive->hwif->pci_dev; | 106 | struct pci_dev *dev = drive->hwif->pci_dev; |
107 | unsigned long flags; | 107 | unsigned long flags; |
@@ -118,7 +118,7 @@ static int atiixp_ide_dma_host_on(ide_drive_t *drive) | |||
118 | 118 | ||
119 | spin_unlock_irqrestore(&atiixp_lock, flags); | 119 | spin_unlock_irqrestore(&atiixp_lock, flags); |
120 | 120 | ||
121 | return __ide_dma_host_on(drive); | 121 | ide_dma_host_on(drive); |
122 | } | 122 | } |
123 | 123 | ||
124 | static void atiixp_dma_host_off(ide_drive_t *drive) | 124 | static void atiixp_dma_host_off(ide_drive_t *drive) |
@@ -305,7 +305,7 @@ static void __devinit init_hwif_atiixp(ide_hwif_t *hwif) | |||
305 | else | 305 | else |
306 | hwif->udma_four = 0; | 306 | hwif->udma_four = 0; |
307 | 307 | ||
308 | hwif->ide_dma_host_on = &atiixp_ide_dma_host_on; | 308 | hwif->dma_host_on = &atiixp_dma_host_on; |
309 | hwif->dma_host_off = &atiixp_dma_host_off; | 309 | hwif->dma_host_off = &atiixp_dma_host_off; |
310 | hwif->ide_dma_check = &atiixp_dma_check; | 310 | hwif->ide_dma_check = &atiixp_dma_check; |
311 | if (!noautodma) | 311 | if (!noautodma) |
diff --git a/drivers/ide/pci/sgiioc4.c b/drivers/ide/pci/sgiioc4.c index d9aa20012fc0..fd09b295a69d 100644 --- a/drivers/ide/pci/sgiioc4.c +++ b/drivers/ide/pci/sgiioc4.c | |||
@@ -279,7 +279,7 @@ sgiioc4_ide_dma_on(ide_drive_t * drive) | |||
279 | { | 279 | { |
280 | drive->using_dma = 1; | 280 | drive->using_dma = 1; |
281 | 281 | ||
282 | return HWIF(drive)->ide_dma_host_on(drive); | 282 | return 0; |
283 | } | 283 | } |
284 | 284 | ||
285 | static void sgiioc4_dma_off_quietly(ide_drive_t *drive) | 285 | static void sgiioc4_dma_off_quietly(ide_drive_t *drive) |
@@ -307,13 +307,8 @@ sgiioc4_ide_dma_test_irq(ide_drive_t * drive) | |||
307 | return sgiioc4_checkirq(HWIF(drive)); | 307 | return sgiioc4_checkirq(HWIF(drive)); |
308 | } | 308 | } |
309 | 309 | ||
310 | static int | 310 | static void sgiioc4_dma_host_on(ide_drive_t * drive) |
311 | sgiioc4_ide_dma_host_on(ide_drive_t * drive) | ||
312 | { | 311 | { |
313 | if (drive->using_dma) | ||
314 | return 0; | ||
315 | |||
316 | return 1; | ||
317 | } | 312 | } |
318 | 313 | ||
319 | static void sgiioc4_dma_host_off(ide_drive_t * drive) | 314 | static void sgiioc4_dma_host_off(ide_drive_t * drive) |
@@ -610,7 +605,7 @@ ide_init_sgiioc4(ide_hwif_t * hwif) | |||
610 | hwif->ide_dma_on = &sgiioc4_ide_dma_on; | 605 | hwif->ide_dma_on = &sgiioc4_ide_dma_on; |
611 | hwif->dma_off_quietly = &sgiioc4_dma_off_quietly; | 606 | hwif->dma_off_quietly = &sgiioc4_dma_off_quietly; |
612 | hwif->ide_dma_test_irq = &sgiioc4_ide_dma_test_irq; | 607 | hwif->ide_dma_test_irq = &sgiioc4_ide_dma_test_irq; |
613 | hwif->ide_dma_host_on = &sgiioc4_ide_dma_host_on; | 608 | hwif->dma_host_on = &sgiioc4_dma_host_on; |
614 | hwif->dma_host_off = &sgiioc4_dma_host_off; | 609 | hwif->dma_host_off = &sgiioc4_dma_host_off; |
615 | hwif->ide_dma_lostirq = &sgiioc4_ide_dma_lostirq; | 610 | hwif->ide_dma_lostirq = &sgiioc4_ide_dma_lostirq; |
616 | hwif->ide_dma_timeout = &__ide_dma_timeout; | 611 | hwif->ide_dma_timeout = &__ide_dma_timeout; |
diff --git a/drivers/ide/ppc/pmac.c b/drivers/ide/ppc/pmac.c index d3bb247e9574..395d35253d5d 100644 --- a/drivers/ide/ppc/pmac.c +++ b/drivers/ide/ppc/pmac.c | |||
@@ -1983,10 +1983,8 @@ static void pmac_ide_dma_host_off(ide_drive_t *drive) | |||
1983 | { | 1983 | { |
1984 | } | 1984 | } |
1985 | 1985 | ||
1986 | static int | 1986 | static int pmac_ide_dma_host_on(ide_drive_t *drive) |
1987 | pmac_ide_dma_host_on (ide_drive_t *drive) | ||
1988 | { | 1987 | { |
1989 | return 0; | ||
1990 | } | 1988 | } |
1991 | 1989 | ||
1992 | static int | 1990 | static int |
@@ -2041,7 +2039,7 @@ pmac_ide_setup_dma(pmac_ide_hwif_t *pmif, ide_hwif_t *hwif) | |||
2041 | hwif->ide_dma_end = &pmac_ide_dma_end; | 2039 | hwif->ide_dma_end = &pmac_ide_dma_end; |
2042 | hwif->ide_dma_test_irq = &pmac_ide_dma_test_irq; | 2040 | hwif->ide_dma_test_irq = &pmac_ide_dma_test_irq; |
2043 | hwif->dma_host_off = &pmac_ide_dma_host_off; | 2041 | hwif->dma_host_off = &pmac_ide_dma_host_off; |
2044 | hwif->ide_dma_host_on = &pmac_ide_dma_host_on; | 2042 | hwif->dma_host_on = &pmac_ide_dma_host_on; |
2045 | hwif->ide_dma_timeout = &__ide_dma_timeout; | 2043 | hwif->ide_dma_timeout = &__ide_dma_timeout; |
2046 | hwif->ide_dma_lostirq = &pmac_ide_dma_lostirq; | 2044 | hwif->ide_dma_lostirq = &pmac_ide_dma_lostirq; |
2047 | 2045 | ||
diff --git a/include/linux/ide.h b/include/linux/ide.h index 00cbe531e1e8..79c028251c70 100644 --- a/include/linux/ide.h +++ b/include/linux/ide.h | |||
@@ -738,7 +738,7 @@ typedef struct hwif_s { | |||
738 | void (*dma_off_quietly)(ide_drive_t *drive); | 738 | void (*dma_off_quietly)(ide_drive_t *drive); |
739 | int (*ide_dma_test_irq)(ide_drive_t *drive); | 739 | int (*ide_dma_test_irq)(ide_drive_t *drive); |
740 | void (*ide_dma_clear_irq)(ide_drive_t *drive); | 740 | void (*ide_dma_clear_irq)(ide_drive_t *drive); |
741 | int (*ide_dma_host_on)(ide_drive_t *drive); | 741 | void (*dma_host_on)(ide_drive_t *drive); |
742 | void (*dma_host_off)(ide_drive_t *drive); | 742 | void (*dma_host_off)(ide_drive_t *drive); |
743 | int (*ide_dma_lostirq)(ide_drive_t *drive); | 743 | int (*ide_dma_lostirq)(ide_drive_t *drive); |
744 | int (*ide_dma_timeout)(ide_drive_t *drive); | 744 | int (*ide_dma_timeout)(ide_drive_t *drive); |
@@ -1290,7 +1290,7 @@ extern void ide_setup_dma(ide_hwif_t *, unsigned long, unsigned int); | |||
1290 | 1290 | ||
1291 | void ide_dma_host_off(ide_drive_t *); | 1291 | void ide_dma_host_off(ide_drive_t *); |
1292 | void ide_dma_off_quietly(ide_drive_t *); | 1292 | void ide_dma_off_quietly(ide_drive_t *); |
1293 | extern int __ide_dma_host_on(ide_drive_t *); | 1293 | void ide_dma_host_on(ide_drive_t *); |
1294 | extern int __ide_dma_on(ide_drive_t *); | 1294 | extern int __ide_dma_on(ide_drive_t *); |
1295 | extern int __ide_dma_check(ide_drive_t *); | 1295 | extern int __ide_dma_check(ide_drive_t *); |
1296 | extern int ide_dma_setup(ide_drive_t *); | 1296 | extern int ide_dma_setup(ide_drive_t *); |