Skip to content

Commit

Permalink
ide: remove ide_use_dma()
Browse files Browse the repository at this point in the history
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 <[email protected]>
  • Loading branch information
bzolnier committed May 15, 2007
1 parent 3649c06 commit 122ab08
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 39 deletions.
42 changes: 5 additions & 37 deletions drivers/ide/ide-dma.c
Original file line number Diff line number Diff line change
Expand Up @@ -670,41 +670,6 @@ int __ide_dma_good_drive (ide_drive_t *drive)

EXPORT_SYMBOL(__ide_dma_good_drive);

int ide_use_dma(ide_drive_t *drive)
{
struct hd_driveid *id = drive->id;
ide_hwif_t *hwif = drive->hwif;

if ((id->capability & 1) == 0 || drive->autodma == 0)
return 0;

/* consult the list of known "bad" drives */
if (__ide_dma_bad_drive(drive))
return 0;

/* capable of UltraDMA modes */
if (id->field_valid & 4) {
if (hwif->ultra_mask & id->dma_ultra)
return 1;
}

/* capable of regular DMA modes */
if (id->field_valid & 2) {
if (hwif->mwdma_mask & id->dma_mword)
return 1;
if (hwif->swdma_mask & id->dma_1word)
return 1;
}

/* consult the list of known "good" drives */
if (__ide_dma_good_drive(drive) && id->eide_dma_time < 150)
return 1;

return 0;
}

EXPORT_SYMBOL_GPL(ide_use_dma);

static const u8 xfer_mode_bases[] = {
XFER_UDMA_0,
XFER_MW_DMA_0,
Expand Down Expand Up @@ -785,8 +750,11 @@ int ide_tune_dma(ide_drive_t *drive)
{
u8 speed;

/* TODO: use only ide_max_dma_mode() */
if (!ide_use_dma(drive))
if ((drive->id->capability & 1) == 0 || drive->autodma == 0)
return 0;

/* consult the list of known "bad" drives */
if (__ide_dma_bad_drive(drive))
return 0;

speed = ide_max_dma_mode(drive);
Expand Down
2 changes: 0 additions & 2 deletions include/linux/ide.h
Original file line number Diff line number Diff line change
Expand Up @@ -1281,7 +1281,6 @@ struct drive_list_entry {
int ide_in_drive_list(struct hd_driveid *, const struct drive_list_entry *);
int __ide_dma_bad_drive(ide_drive_t *);
int __ide_dma_good_drive(ide_drive_t *);
int ide_use_dma(ide_drive_t *);
u8 ide_max_dma_mode(ide_drive_t *);
int ide_tune_dma(ide_drive_t *);
void ide_dma_off(ide_drive_t *);
Expand Down Expand Up @@ -1309,7 +1308,6 @@ extern int __ide_dma_timeout(ide_drive_t *);
#endif /* CONFIG_BLK_DEV_IDEDMA_PCI */

#else
static inline int ide_use_dma(ide_drive_t *drive) { return 0; }
static inline u8 ide_max_dma_mode(ide_drive_t *drive) { return 0; }
static inline int ide_tune_dma(ide_drive_t *drive) { return 0; }
static inline void ide_dma_off(ide_drive_t *drive) { ; }
Expand Down

0 comments on commit 122ab08

Please sign in to comment.