summaryrefslogtreecommitdiffstats
path: root/drivers/ide/pci/sc1200.c
diff options
context:
space:
mode:
authorBartlomiej Zolnierkiewicz2008-10-10 22:39:19 +0200
committerBartlomiej Zolnierkiewicz2008-10-10 22:39:19 +0200
commit48fb2688aa67baba373531cc4ed2d9e695983c3f (patch)
tree9382e5175e43b914fd06bb778cc6f37a4967ab9d /drivers/ide/pci/sc1200.c
parentide: make drive->id an union (take 2) (diff)
downloadkernel-qcow2-linux-48fb2688aa67baba373531cc4ed2d9e695983c3f.tar.gz
kernel-qcow2-linux-48fb2688aa67baba373531cc4ed2d9e695983c3f.tar.xz
kernel-qcow2-linux-48fb2688aa67baba373531cc4ed2d9e695983c3f.zip
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/pci/sc1200.c')
-rw-r--r--drivers/ide/pci/sc1200.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/ide/pci/sc1200.c b/drivers/ide/pci/sc1200.c
index 5c8367df14e4..695cc9742048 100644
--- a/drivers/ide/pci/sc1200.c
+++ b/drivers/ide/pci/sc1200.c
@@ -111,7 +111,7 @@ static u8 sc1200_udma_filter(ide_drive_t *drive)
if (mate->present == 0)
goto out;
- if ((mate->driveid->capability & 1) && __ide_dma_bad_drive(mate) == 0) {
+ if (ata_id_has_dma(mateid) && __ide_dma_bad_drive(mate) == 0) {
if ((mateid[ATA_ID_FIELD_VALID] & 4) &&
(mateid[ATA_ID_UDMA_MODES] & 7))
goto out;