]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/ata/pata_hpt3x3.c
[ARM] 4753/1: [AT91] Use DMA_BIT_MASK
[linux-2.6-omap-h63xx.git] / drivers / ata / pata_hpt3x3.c
index be0f05efac6d1c93a87628b37d1a3d62afc9ad4e..cb8bdb6887dea6322e22cdb20290311b5234bf0b 100644 (file)
@@ -120,7 +120,6 @@ static struct scsi_host_template hpt3x3_sht = {
 };
 
 static struct ata_port_operations hpt3x3_port_ops = {
-       .port_disable   = ata_port_disable,
        .set_piomode    = hpt3x3_set_piomode,
 #if defined(CONFIG_PATA_HPT3X3_DMA)
        .set_dmamode    = hpt3x3_set_dmamode,
@@ -153,9 +152,8 @@ static struct ata_port_operations hpt3x3_port_ops = {
        .irq_handler    = ata_interrupt,
        .irq_clear      = ata_bmdma_irq_clear,
        .irq_on         = ata_irq_on,
-       .irq_ack        = ata_irq_ack,
 
-       .port_start     = ata_port_start,
+       .port_start     = ata_sff_port_start,
 };
 
 /**
@@ -239,7 +237,8 @@ static int hpt3x3_init_one(struct pci_dev *pdev, const struct pci_device_id *id)
        base = host->iomap[4];  /* Bus mastering base */
 
        for (i = 0; i < host->n_ports; i++) {
-               struct ata_ioports *ioaddr = &host->ports[i]->ioaddr;
+               struct ata_port *ap = host->ports[i];
+               struct ata_ioports *ioaddr = &ap->ioaddr;
 
                ioaddr->cmd_addr = base + offset_cmd[i];
                ioaddr->altstatus_addr =
@@ -247,6 +246,9 @@ static int hpt3x3_init_one(struct pci_dev *pdev, const struct pci_device_id *id)
                ioaddr->scr_addr = NULL;
                ata_std_ports(ioaddr);
                ioaddr->bmdma_addr = base + 8 * i;
+
+               ata_port_pbar_desc(ap, 4, -1, "ioport");
+               ata_port_pbar_desc(ap, 4, offset_cmd[i], "cmd");
        }
        pci_set_master(pdev);
        return ata_host_activate(host, pdev->irq, ata_interrupt, IRQF_SHARED,