diff options
| author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2007-05-15 18:51:46 -0400 |
|---|---|---|
| committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2007-05-15 18:51:46 -0400 |
| commit | 122ab0887c36247bd4508c25e4fccf9264546fe2 (patch) | |
| tree | ae8645bf5fb8ce6dbbafda5789f91fa002f335b3 | |
| parent | 3649c06e66ad3589374e8765ed69eda65658735c (diff) | |
ide: remove ide_use_dma()
ide_use_dma() duplicates a lot of ide_max_dma_mode() functionality
and as all users of ide_use_dma() were converted to use ide_tune_dma()
now it is possible to add missing checks to ide_tune_dma() and remove
ide_use_dma() completely, so do it.
There should be no functionality changes caused by this patch.
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
| -rw-r--r-- | drivers/ide/ide-dma.c | 42 | ||||
| -rw-r--r-- | include/linux/ide.h | 2 |
2 files changed, 5 insertions, 39 deletions
diff --git a/drivers/ide/ide-dma.c b/drivers/ide/ide-dma.c index ada2a3ea9430..b77b7d138c49 100644 --- a/drivers/ide/ide-dma.c +++ b/drivers/ide/ide-dma.c | |||
| @@ -670,41 +670,6 @@ int __ide_dma_good_drive (ide_drive_t *drive) | |||
| 670 | 670 | ||
| 671 | EXPORT_SYMBOL(__ide_dma_good_drive); | 671 | EXPORT_SYMBOL(__ide_dma_good_drive); |
| 672 | 672 | ||
| 673 | int ide_use_dma(ide_drive_t *drive) | ||
| 674 | { | ||
| 675 | struct hd_driveid *id = drive->id; | ||
| 676 | ide_hwif_t *hwif = drive->hwif; | ||
| 677 | |||
| 678 | if ((id->capability & 1) == 0 || drive->autodma == 0) | ||
| 679 | return 0; | ||
| 680 | |||
| 681 | /* consult the list of known "bad" drives */ | ||
| 682 | if (__ide_dma_bad_drive(drive)) | ||
| 683 | return 0; | ||
| 684 | |||
| 685 | /* capable of UltraDMA modes */ | ||
| 686 | if (id->field_valid & 4) { | ||
| 687 | if (hwif->ultra_mask & id->dma_ultra) | ||
| 688 | return 1; | ||
| 689 | } | ||
| 690 | |||
| 691 | /* capable of regular DMA modes */ | ||
| 692 | if (id->field_valid & 2) { | ||
| 693 | if (hwif->mwdma_mask & id->dma_mword) | ||
| 694 | return 1; | ||
| 695 | if (hwif->swdma_mask & id->dma_1word) | ||
| 696 | return 1; | ||
| 697 | } | ||
| 698 | |||
| 699 | /* consult the list of known "good" drives */ | ||
| 700 | if (__ide_dma_good_drive(drive) && id->eide_dma_time < 150) | ||
| 701 | return 1; | ||
| 702 | |||
| 703 | return 0; | ||
| 704 | } | ||
| 705 | |||
| 706 | EXPORT_SYMBOL_GPL(ide_use_dma); | ||
| 707 | |||
| 708 | static const u8 xfer_mode_bases[] = { | 673 | static const u8 xfer_mode_bases[] = { |
| 709 | XFER_UDMA_0, | 674 | XFER_UDMA_0, |
| 710 | XFER_MW_DMA_0, | 675 | XFER_MW_DMA_0, |
| @@ -785,8 +750,11 @@ int ide_tune_dma(ide_drive_t *drive) | |||
| 785 | { | 750 | { |
| 786 | u8 speed; | 751 | u8 speed; |
| 787 | 752 | ||
| 788 | /* TODO: use only ide_max_dma_mode() */ | 753 | if ((drive->id->capability & 1) == 0 || drive->autodma == 0) |
| 789 | if (!ide_use_dma(drive)) | 754 | return 0; |
| 755 | |||
| 756 | /* consult the list of known "bad" drives */ | ||
| 757 | if (__ide_dma_bad_drive(drive)) | ||
| 790 | return 0; | 758 | return 0; |
| 791 | 759 | ||
| 792 | speed = ide_max_dma_mode(drive); | 760 | speed = ide_max_dma_mode(drive); |
diff --git a/include/linux/ide.h b/include/linux/ide.h index be789613007d..07aba87d369d 100644 --- a/include/linux/ide.h +++ b/include/linux/ide.h | |||
| @@ -1281,7 +1281,6 @@ struct drive_list_entry { | |||
| 1281 | int ide_in_drive_list(struct hd_driveid *, const struct drive_list_entry *); | 1281 | int ide_in_drive_list(struct hd_driveid *, const struct drive_list_entry *); |
| 1282 | int __ide_dma_bad_drive(ide_drive_t *); | 1282 | int __ide_dma_bad_drive(ide_drive_t *); |
| 1283 | int __ide_dma_good_drive(ide_drive_t *); | 1283 | int __ide_dma_good_drive(ide_drive_t *); |
| 1284 | int ide_use_dma(ide_drive_t *); | ||
| 1285 | u8 ide_max_dma_mode(ide_drive_t *); | 1284 | u8 ide_max_dma_mode(ide_drive_t *); |
| 1286 | int ide_tune_dma(ide_drive_t *); | 1285 | int ide_tune_dma(ide_drive_t *); |
| 1287 | void ide_dma_off(ide_drive_t *); | 1286 | void ide_dma_off(ide_drive_t *); |
| @@ -1309,7 +1308,6 @@ extern int __ide_dma_timeout(ide_drive_t *); | |||
| 1309 | #endif /* CONFIG_BLK_DEV_IDEDMA_PCI */ | 1308 | #endif /* CONFIG_BLK_DEV_IDEDMA_PCI */ |
| 1310 | 1309 | ||
| 1311 | #else | 1310 | #else |
| 1312 | static inline int ide_use_dma(ide_drive_t *drive) { return 0; } | ||
| 1313 | static inline u8 ide_max_dma_mode(ide_drive_t *drive) { return 0; } | 1311 | static inline u8 ide_max_dma_mode(ide_drive_t *drive) { return 0; } |
| 1314 | static inline int ide_tune_dma(ide_drive_t *drive) { return 0; } | 1312 | static inline int ide_tune_dma(ide_drive_t *drive) { return 0; } |
| 1315 | static inline void ide_dma_off(ide_drive_t *drive) { ; } | 1313 | static inline void ide_dma_off(ide_drive_t *drive) { ; } |
