diff options
Diffstat (limited to 'drivers/ide/pci/scc_pata.c')
-rw-r--r-- | drivers/ide/pci/scc_pata.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/drivers/ide/pci/scc_pata.c b/drivers/ide/pci/scc_pata.c index c30b0c44c70..5117c11134c 100644 --- a/drivers/ide/pci/scc_pata.c +++ b/drivers/ide/pci/scc_pata.c | |||
@@ -317,14 +317,14 @@ static int scc_dma_setup(ide_drive_t *drive) | |||
317 | 317 | ||
318 | 318 | ||
319 | /** | 319 | /** |
320 | * scc_ide_dma_end - Stop DMA | 320 | * scc_dma_end - Stop DMA |
321 | * @drive: IDE drive | 321 | * @drive: IDE drive |
322 | * | 322 | * |
323 | * Check and clear INT Status register. | 323 | * Check and clear INT Status register. |
324 | * Then call __ide_dma_end(). | 324 | * Then call __ide_dma_end(). |
325 | */ | 325 | */ |
326 | 326 | ||
327 | static int scc_ide_dma_end(ide_drive_t * drive) | 327 | static int scc_dma_end(ide_drive_t *drive) |
328 | { | 328 | { |
329 | ide_hwif_t *hwif = HWIF(drive); | 329 | ide_hwif_t *hwif = HWIF(drive); |
330 | unsigned long intsts_port = hwif->dma_base + 0x014; | 330 | unsigned long intsts_port = hwif->dma_base + 0x014; |
@@ -692,10 +692,6 @@ static void __devinit init_hwif_scc(ide_hwif_t *hwif) | |||
692 | /* PTERADD */ | 692 | /* PTERADD */ |
693 | out_be32((void __iomem *)(hwif->dma_base + 0x018), hwif->dmatable_dma); | 693 | out_be32((void __iomem *)(hwif->dma_base + 0x018), hwif->dmatable_dma); |
694 | 694 | ||
695 | hwif->dma_setup = scc_dma_setup; | ||
696 | hwif->ide_dma_end = scc_ide_dma_end; | ||
697 | hwif->ide_dma_test_irq = scc_dma_test_irq; | ||
698 | |||
699 | if (in_be32((void __iomem *)(hwif->config_data + 0xff0)) & CCKCTRL_ATACLKOEN) | 695 | if (in_be32((void __iomem *)(hwif->config_data + 0xff0)) & CCKCTRL_ATACLKOEN) |
700 | hwif->ultra_mask = ATA_UDMA6; /* 133MHz */ | 696 | hwif->ultra_mask = ATA_UDMA6; /* 133MHz */ |
701 | else | 697 | else |
@@ -709,12 +705,19 @@ static const struct ide_port_ops scc_port_ops = { | |||
709 | .cable_detect = scc_cable_detect, | 705 | .cable_detect = scc_cable_detect, |
710 | }; | 706 | }; |
711 | 707 | ||
708 | static struct ide_dma_ops scc_dma_ops = { | ||
709 | .dma_setup = scc_dma_setup, | ||
710 | .dma_end = scc_dma_end, | ||
711 | .dma_test_irq = scc_dma_test_irq, | ||
712 | }; | ||
713 | |||
712 | #define DECLARE_SCC_DEV(name_str) \ | 714 | #define DECLARE_SCC_DEV(name_str) \ |
713 | { \ | 715 | { \ |
714 | .name = name_str, \ | 716 | .name = name_str, \ |
715 | .init_iops = init_iops_scc, \ | 717 | .init_iops = init_iops_scc, \ |
716 | .init_hwif = init_hwif_scc, \ | 718 | .init_hwif = init_hwif_scc, \ |
717 | .port_ops = &scc_port_ops, \ | 719 | .port_ops = &scc_port_ops, \ |
720 | .dma_ops = &scc_dma_ops, \ | ||
718 | .host_flags = IDE_HFLAG_SINGLE, \ | 721 | .host_flags = IDE_HFLAG_SINGLE, \ |
719 | .pio_mask = ATA_PIO4, \ | 722 | .pio_mask = ATA_PIO4, \ |
720 | } | 723 | } |