aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/ide/ide.c
diff options
context:
space:
mode:
authorBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2007-02-16 20:40:26 -0500
committerBartlomiej Zolnierkiewicz <bzolnier@gmail.com>2007-02-16 20:40:26 -0500
commit3608b5d71a52c053787dbad6af20c25f7e0b75a9 (patch)
tree5bd6ac777d32d8426e65e3c31cc1587674771e8c /drivers/ide/ide.c
parent9ef5791e1be91007951477b8ed1530ac1166a8e7 (diff)
ide: add ide_set_dma() helper (v2)
* add ide_set_dma() helper and make ide_hwif_t.ide_dma_check return -1 when DMA needs to be disabled (== need to call ->ide_dma_off_quietly) 0 when DMA needs to be enabled (== need to call ->ide_dma_on) 1 when DMA setting shouldn't be changed * fix IDE code to use ide_set_dma() instead if using ->ide_dma_check directly v2: * updated for scc_pata Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide/ide.c')
-rw-r--r--drivers/ide/ide.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/ide/ide.c b/drivers/ide/ide.c
index fbc6d39ace68..5585c01a9b7f 100644
--- a/drivers/ide/ide.c
+++ b/drivers/ide/ide.c
@@ -1135,7 +1135,8 @@ static int set_using_dma (ide_drive_t *drive, int arg)
1135 if (HWIF(drive)->ide_dma_check == NULL) 1135 if (HWIF(drive)->ide_dma_check == NULL)
1136 return -EPERM; 1136 return -EPERM;
1137 if (arg) { 1137 if (arg) {
1138 if (HWIF(drive)->ide_dma_check(drive)) return -EIO; 1138 if (ide_set_dma(drive))
1139 return -EIO;
1139 if (HWIF(drive)->ide_dma_on(drive)) return -EIO; 1140 if (HWIF(drive)->ide_dma_on(drive)) return -EIO;
1140 } else { 1141 } else {
1141 if (__ide_dma_off(drive)) 1142 if (__ide_dma_off(drive))