watchdog: bfin: use new common Blackfin watchdog header
[safe/jmp/linux-2.6] / drivers / ata / pata_scc.c
index 77ff829..6f6193b 100644 (file)
@@ -265,7 +265,7 @@ unsigned long scc_mode_filter(struct ata_device *adev, unsigned long mask)
                printk(KERN_INFO "%s: limit ATAPI UDMA to UDMA4\n", DRV_NAME);
                mask &= ~(0xE0 << ATA_SHIFT_UDMA);
        }
-       return ata_bmdma_mode_filter(adev, mask);
+       return mask;
 }
 
 /**
@@ -416,6 +416,17 @@ static void scc_dev_select (struct ata_port *ap, unsigned int device)
 }
 
 /**
+ *     scc_set_devctl - Write device control reg
+ *     @ap: port where the device is
+ *     @ctl: value to write
+ */
+
+static void scc_set_devctl(struct ata_port *ap, u8 ctl)
+{
+       out_be32(ap->ioaddr.ctl_addr, ctl);
+}
+
+/**
  *     scc_bmdma_setup - Set up PCI IDE BMDMA transaction
  *     @qc: Info associated with this ATA transaction.
  *
@@ -430,7 +441,7 @@ static void scc_bmdma_setup (struct ata_queued_cmd *qc)
        void __iomem *mmio = ap->ioaddr.bmdma_addr;
 
        /* load PRD table addr */
-       out_be32(mmio + SCC_DMA_TABLE_OFS, ap->prd_dma);
+       out_be32(mmio + SCC_DMA_TABLE_OFS, ap->bmdma_prd_dma);
 
        /* specify data direction, triple-check start bit is clear */
        dmactl = in_be32(mmio + SCC_DMA_CMD);
@@ -817,54 +828,6 @@ static unsigned int scc_data_xfer (struct ata_device *dev, unsigned char *buf,
 }
 
 /**
- *     scc_irq_on - Enable interrupts on a port.
- *     @ap: Port on which interrupts are enabled.
- *
- *     Note: Original code is ata_sff_irq_on().
- */
-
-static u8 scc_irq_on (struct ata_port *ap)
-{
-       struct ata_ioports *ioaddr = &ap->ioaddr;
-       u8 tmp;
-
-       ap->ctl &= ~ATA_NIEN;
-       ap->last_ctl = ap->ctl;
-
-       out_be32(ioaddr->ctl_addr, ap->ctl);
-       tmp = ata_wait_idle(ap);
-
-       ap->ops->sff_irq_clear(ap);
-
-       return tmp;
-}
-
-/**
- *     scc_freeze - Freeze BMDMA controller port
- *     @ap: port to freeze
- *
- *     Note: Original code is ata_sff_freeze().
- */
-
-static void scc_freeze (struct ata_port *ap)
-{
-       struct ata_ioports *ioaddr = &ap->ioaddr;
-
-       ap->ctl |= ATA_NIEN;
-       ap->last_ctl = ap->ctl;
-
-       out_be32(ioaddr->ctl_addr, ap->ctl);
-
-       /* Under certain circumstances, some controllers raise IRQ on
-        * ATA_NIEN manipulation.  Also, many controllers fail to mask
-        * previously pending IRQ on ATA_NIEN assertion.  Clear it.
-        */
-       ap->ops->sff_check_status(ap);
-
-       ap->ops->sff_irq_clear(ap);
-}
-
-/**
  *     scc_pata_prereset - prepare for reset
  *     @ap: ATA port to be reset
  *     @deadline: deadline jiffies for the operation
@@ -929,7 +892,7 @@ static void scc_irq_clear (struct ata_port *ap)
  *     scc_port_start - Set port up for dma.
  *     @ap: Port to initialize
  *
- *     Allocate space for PRD table using ata_port_start().
+ *     Allocate space for PRD table using ata_bmdma_port_start().
  *     Set PRD table address for PTERADD. (PRD Transfer End Read)
  */
 
@@ -938,11 +901,11 @@ static int scc_port_start (struct ata_port *ap)
        void __iomem *mmio = ap->ioaddr.bmdma_addr;
        int rc;
 
-       rc = ata_port_start(ap);
+       rc = ata_bmdma_port_start(ap);
        if (rc)
                return rc;
 
-       out_be32(mmio + SCC_DMA_PTERADD, ap->prd_dma);
+       out_be32(mmio + SCC_DMA_PTERADD, ap->bmdma_prd_dma);
        return 0;
 }
 
@@ -977,6 +940,7 @@ static struct ata_port_operations scc_pata_ops = {
        .sff_check_status       = scc_check_status,
        .sff_check_altstatus    = scc_check_altstatus,
        .sff_dev_select         = scc_dev_select,
+       .sff_set_devctl         = scc_set_devctl,
 
        .bmdma_setup            = scc_bmdma_setup,
        .bmdma_start            = scc_bmdma_start,
@@ -984,14 +948,11 @@ static struct ata_port_operations scc_pata_ops = {
        .bmdma_status           = scc_bmdma_status,
        .sff_data_xfer          = scc_data_xfer,
 
-       .freeze                 = scc_freeze,
        .prereset               = scc_pata_prereset,
        .softreset              = scc_softreset,
        .postreset              = scc_postreset,
-       .post_internal_cmd      = scc_bmdma_stop,
 
        .sff_irq_clear          = scc_irq_clear,
-       .sff_irq_on             = scc_irq_on,
 
        .port_start             = scc_port_start,
        .port_stop              = scc_port_stop,