diff options
author | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2008-04-26 16:25:24 -0400 |
---|---|---|
committer | Bartlomiej Zolnierkiewicz <bzolnier@gmail.com> | 2008-04-26 16:25:24 -0400 |
commit | 5e37bdc081a980dd0d669e6387bcf15ca9666f81 (patch) | |
tree | d842166c3bd23fbf3dfba0ccaa0f9ed5cc3096db /drivers/ide/pci/tc86c001.c | |
parent | 1fd1890594bd355a4217f5658a34763e77decee3 (diff) |
ide: add struct ide_dma_ops (take 3)
Add struct ide_dma_ops and convert core code + drivers to use it.
While at it:
* Drop "ide_" prefix from ->ide_dma_end and ->ide_dma_test_irq methods.
* Drop "ide_" "infixes" from DMA methods.
* au1xxx-ide.c:
- use auide_dma_{test_irq,end}() directly in auide_dma_timeout()
* pdc202xx_old.c:
- drop "old_" "infixes" from DMA methods
* siimage.c:
- add siimage_dma_test_irq() helper
- print SATA warning in siimage_init_one()
* Remove no longer needed ->init_hwif implementations.
v2:
* Changes based on review from Sergei:
- s/siimage_ide_dma_test_irq/siimage_dma_test_irq/
- s/drive->hwif/hwif/ in idefloppy_pc_intr().
- fix patch description w.r.t. au1xxx-ide changes
- fix au1xxx-ide build
- fix naming for cmd64*_dma_ops
- drop "ide_" and "old_" infixes
- s/hpt3xxx_dma_ops/hpt37x_dma_ops/
- s/hpt370x_dma_ops/hpt370_dma_ops/
- use correct DMA ops for HPT302/N, HPT371/N and HPT374
- s/it821x_smart_dma_ops/it821x_pass_through_dma_ops/
v3:
* Two bugs slipped in v2 (noticed by Sergei):
- use correct DMA ops for HPT374 (for real this time)
- handle HPT370/HPT370A properly
Acked-by: Sergei Shtylyov <sshtylyov@ru.mvista.com>
Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Diffstat (limited to 'drivers/ide/pci/tc86c001.c')
-rw-r--r-- | drivers/ide/pci/tc86c001.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/ide/pci/tc86c001.c b/drivers/ide/pci/tc86c001.c index 14ce400a0eaf..4ce240db3263 100644 --- a/drivers/ide/pci/tc86c001.c +++ b/drivers/ide/pci/tc86c001.c | |||
@@ -168,8 +168,6 @@ static void __devinit init_hwif_tc86c001(ide_hwif_t *hwif) | |||
168 | 168 | ||
169 | /* Sector Count Register limit */ | 169 | /* Sector Count Register limit */ |
170 | hwif->rqsize = 0xffff; | 170 | hwif->rqsize = 0xffff; |
171 | |||
172 | hwif->dma_start = &tc86c001_dma_start; | ||
173 | } | 171 | } |
174 | 172 | ||
175 | static unsigned int __devinit init_chipset_tc86c001(struct pci_dev *dev, | 173 | static unsigned int __devinit init_chipset_tc86c001(struct pci_dev *dev, |
@@ -188,11 +186,16 @@ static const struct ide_port_ops tc86c001_port_ops = { | |||
188 | .cable_detect = tc86c001_cable_detect, | 186 | .cable_detect = tc86c001_cable_detect, |
189 | }; | 187 | }; |
190 | 188 | ||
189 | static struct ide_dma_ops tc86c001_dma_ops = { | ||
190 | .dma_start = tc86c001_dma_start, | ||
191 | }; | ||
192 | |||
191 | static const struct ide_port_info tc86c001_chipset __devinitdata = { | 193 | static const struct ide_port_info tc86c001_chipset __devinitdata = { |
192 | .name = "TC86C001", | 194 | .name = "TC86C001", |
193 | .init_chipset = init_chipset_tc86c001, | 195 | .init_chipset = init_chipset_tc86c001, |
194 | .init_hwif = init_hwif_tc86c001, | 196 | .init_hwif = init_hwif_tc86c001, |
195 | .port_ops = &tc86c001_port_ops, | 197 | .port_ops = &tc86c001_port_ops, |
198 | .dma_ops = &tc86c001_dma_ops, | ||
196 | .host_flags = IDE_HFLAG_SINGLE | IDE_HFLAG_OFF_BOARD | | 199 | .host_flags = IDE_HFLAG_SINGLE | IDE_HFLAG_OFF_BOARD | |
197 | IDE_HFLAG_ABUSE_SET_DMA_MODE, | 200 | IDE_HFLAG_ABUSE_SET_DMA_MODE, |
198 | .pio_mask = ATA_PIO4, | 201 | .pio_mask = ATA_PIO4, |