aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/ide-dma.c
diff options
context:
space:
mode:
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2008-10-10 16:39:19 -0400
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2008-10-10 16:39:19 -0400
commit48fb2688aa67baba373531cc4ed2d9e695983c3f (patch)
tree9382e5175e43b914fd06bb778cc6f37a4967ab9d /drivers/ide/ide-dma.c
parent4dde4492d850a4c9bcaa92e5bd7f4eebe3e2f5ab (diff)
ide: remove drive->driveid
* Factor out HDIO_[OBSOLETE,GET]_IDENTITY ioctls handling to ide_get_identity_ioctl(). * Use temporary buffer in ide_get_identity_ioctl() instead of accessing drive->id directly. * Add ide_id_to_hd_driveid() inline to convert raw id into struct hd_driveid format (needed on big-endian). * Use ide_id_to_hd_driveid() in ide_get_identity_ioctl(), cleanup ide_fix_driveid() and switch ide to use use raw id. * Remove no longer needed drive->driveid. This leaves us with 3 users of struct hd_driveid in tree: - arch/um/drivers/ubd_kern.c - drivers/block/xsysace.c - drivers/usb/storage/isd200.c While at it: * Use ata_id_u{32,64}() and ata_id_has_{dma,lba,iordy}() macros. There should be no functional changes caused by this patch. Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide/ide-dma.c')
-rw-r--r--drivers/ide/ide-dma.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/ide/ide-dma.c b/drivers/ide/ide-dma.c
index abab26de7687..15e608f52eba 100644
--- a/drivers/ide/ide-dma.c
+++ b/drivers/ide/ide-dma.c
@@ -649,8 +649,8 @@ static unsigned int ide_get_mode_mask(ide_drive_t *drive, u8 base, u8 req_mode)
649 case XFER_SW_DMA_0: 649 case XFER_SW_DMA_0:
650 if (id[ATA_ID_FIELD_VALID] & 2) { 650 if (id[ATA_ID_FIELD_VALID] & 2) {
651 mask = id[ATA_ID_SWDMA_MODES] & hwif->swdma_mask; 651 mask = id[ATA_ID_SWDMA_MODES] & hwif->swdma_mask;
652 } else if (drive->driveid->tDMA) { 652 } else if (id[ATA_ID_OLD_DMA_MODES] >> 8) {
653 u8 mode = drive->driveid->tDMA; 653 u8 mode = id[ATA_ID_OLD_DMA_MODES] >> 8;
654 654
655 /* 655 /*
656 * if the mode is valid convert it to the mask 656 * if the mode is valid convert it to the mask
@@ -727,7 +727,7 @@ static int ide_tune_dma(ide_drive_t *drive)
727 ide_hwif_t *hwif = drive->hwif; 727 ide_hwif_t *hwif = drive->hwif;
728 u8 speed; 728 u8 speed;
729 729
730 if (drive->nodma || (drive->driveid->capability & 1) == 0) 730 if (drive->nodma || ata_id_has_dma(drive->id) == 0)
731 return 0; 731 return 0;
732 732
733 /* consult the list of known "bad" drives */ 733 /* consult the list of known "bad" drives */