diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2007-10-16 16:29:55 -0400 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2007-10-16 16:29:55 -0400 |
commit | 0ae2e178652753ae1797d407755a3505f7c1d2a7 (patch) | |
tree | fa725edcfb4b9752ebf2aa49a3e42e158537d4ed /drivers/ide/pci/cs5530.c | |
parent | b8b739d3361c16773a30fe5c0360336bbc19f435 (diff) |
ide: remove ->ide_dma_check (take 2)
* Add IDE_HFLAG_TRUST_BIOS_FOR_DMA host flag for host drivers that depend
on BIOS for programming device/controller for DMA. Set it in cy82c693,
generic, ns87415, opti621 and trm290 host drivers.
* Add IDE_HFLAG_VDMA host flag for host drivers using VDMA. Set it in cs5520
host driver.
* Teach ide_tune_dma() about IDE_HFLAG_TRUST_BIOS_FOR_DMA flag.
* Add generic ide_dma_check() helper and remove all open coded ->ide_dma_check
implementations. Fix all places checking for presence of ->ide_dma_check
hook to check for ->ide_dma_on instead.
* Remove no longer needed code from config_drive_for_dma().
* Make ide_tune_dma() static.
v2:
* Fix config_drive_for_dma() return values.
* Fix ide-dma.c build for CONFIG_BLK_DEV_IDEDMA_PCI=n by adding
dummy config_drive_for_dma() inline.
* Fix IDE_HFLAG_TRUST_BIOS_FOR_DMA handling in ide_dma_check().
* Fix init_hwif_it8213() comment.
There should be no functionality changes caused by this patch.
Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide/pci/cs5530.c')
-rw-r--r-- | drivers/ide/pci/cs5530.c | 20 |
1 files changed, 1 insertions, 19 deletions
diff --git a/drivers/ide/pci/cs5530.c b/drivers/ide/pci/cs5530.c index 1c82cd51f6d5..d37db0d7547c 100644 --- a/drivers/ide/pci/cs5530.c +++ b/drivers/ide/pci/cs5530.c | |||
@@ -104,24 +104,6 @@ out: | |||
104 | return mask; | 104 | return mask; |
105 | } | 105 | } |
106 | 106 | ||
107 | /** | ||
108 | * cs5530_config_dma - set DMA/UDMA mode | ||
109 | * @drive: drive to tune | ||
110 | * | ||
111 | * cs5530_config_dma() handles setting of DMA/UDMA mode | ||
112 | * for both the chipset and drive. | ||
113 | */ | ||
114 | |||
115 | static int cs5530_config_dma(ide_drive_t *drive) | ||
116 | { | ||
117 | if (ide_tune_dma(drive)) | ||
118 | return 0; | ||
119 | |||
120 | ide_set_max_pio(drive); | ||
121 | |||
122 | return -1; | ||
123 | } | ||
124 | |||
125 | static void cs5530_set_dma_mode(ide_drive_t *drive, const u8 mode) | 107 | static void cs5530_set_dma_mode(ide_drive_t *drive, const u8 mode) |
126 | { | 108 | { |
127 | unsigned long basereg; | 109 | unsigned long basereg; |
@@ -288,7 +270,7 @@ static void __devinit init_hwif_cs5530 (ide_hwif_t *hwif) | |||
288 | hwif->mwdma_mask = 0x07; | 270 | hwif->mwdma_mask = 0x07; |
289 | 271 | ||
290 | hwif->udma_filter = cs5530_udma_filter; | 272 | hwif->udma_filter = cs5530_udma_filter; |
291 | hwif->ide_dma_check = &cs5530_config_dma; | 273 | |
292 | if (!noautodma) | 274 | if (!noautodma) |
293 | hwif->autodma = 1; | 275 | hwif->autodma = 1; |
294 | hwif->drives[0].autodma = hwif->autodma; | 276 | hwif->drives[0].autodma = hwif->autodma; |