diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2008-10-10 16:39:19 -0400 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2008-10-10 16:39:19 -0400 |
commit | 48fb2688aa67baba373531cc4ed2d9e695983c3f (patch) | |
tree | 9382e5175e43b914fd06bb778cc6f37a4967ab9d /drivers/ide/ide-dma.c | |
parent | 4dde4492d850a4c9bcaa92e5bd7f4eebe3e2f5ab (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.c | 6 |
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 */ |