]> err.no Git - linux-2.6/blobdiff - drivers/ata/sata_mv.c
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/jk/spufs into...
[linux-2.6] / drivers / ata / sata_mv.c
index 04b571764aff4f82499386234431fbf188b73b81..6ebebde8454a939b3e564c15998cd624ca363261 100644 (file)
@@ -870,7 +870,7 @@ static void mv_start_dma(struct ata_port *ap, void __iomem *port_mmio,
                struct mv_host_priv *hpriv = ap->host->private_data;
                int hard_port = mv_hardport_from_port(ap->port_no);
                void __iomem *hc_mmio = mv_hc_base_from_port(
-                               ap->host->iomap[MV_PRIMARY_BAR], hard_port);
+                                       mv_host_base(ap->host), hard_port);
                u32 hc_irq_cause, ipending;
 
                /* clear EDMA event indicators, if any */
@@ -1158,17 +1158,13 @@ static int mv_port_start(struct ata_port *ap)
        struct mv_port_priv *pp;
        void __iomem *port_mmio = mv_ap_base(ap);
        unsigned long flags;
-       int tag, rc;
+       int tag;
 
        pp = devm_kzalloc(dev, sizeof(*pp), GFP_KERNEL);
        if (!pp)
                return -ENOMEM;
        ap->private_data = pp;
 
-       rc = ata_pad_alloc(ap, dev);
-       if (rc)
-               return rc;
-
        pp->crqb = dma_pool_alloc(hpriv->crqb_pool, GFP_KERNEL, &pp->crqb_dma);
        if (!pp->crqb)
                return -ENOMEM;
@@ -1542,7 +1538,7 @@ static void mv_err_intr(struct ata_port *ap, struct ata_queued_cmd *qc)
                eh_freeze_mask = EDMA_EH_FREEZE_5;
 
                if (edma_err_cause & EDMA_ERR_SELF_DIS_5) {
-                       struct mv_port_priv *pp = ap->private_data;
+                       pp = ap->private_data;
                        pp->pp_flags &= ~MV_PP_FLAG_EDMA_EN;
                        ata_ehi_push_desc(ehi, "EDMA self-disable");
                }
@@ -1550,7 +1546,7 @@ static void mv_err_intr(struct ata_port *ap, struct ata_queued_cmd *qc)
                eh_freeze_mask = EDMA_EH_FREEZE;
 
                if (edma_err_cause & EDMA_ERR_SELF_DIS) {
-                       struct mv_port_priv *pp = ap->private_data;
+                       pp = ap->private_data;
                        pp->pp_flags &= ~MV_PP_FLAG_EDMA_EN;
                        ata_ehi_push_desc(ehi, "EDMA self-disable");
                }
@@ -2951,7 +2947,8 @@ static int mv_platform_probe(struct platform_device *pdev)
        hpriv->n_ports = n_ports;
 
        host->iomap = NULL;
-       hpriv->base = ioremap(res->start, res->end - res->start + 1);
+       hpriv->base = devm_ioremap(&pdev->dev, res->start,
+                                  res->end - res->start + 1);
        hpriv->base -= MV_SATAHC0_REG_BASE;
 
        rc = mv_create_dma_pools(hpriv, &pdev->dev);
@@ -2983,11 +2980,8 @@ static int __devexit mv_platform_remove(struct platform_device *pdev)
 {
        struct device *dev = &pdev->dev;
        struct ata_host *host = dev_get_drvdata(dev);
-       struct mv_host_priv *hpriv = host->private_data;
-       void __iomem *base = hpriv->base;
 
        ata_host_detach(host);
-       iounmap(base);
        return 0;
 }
 
@@ -3198,6 +3192,7 @@ MODULE_DESCRIPTION("SCSI low-level driver for Marvell SATA controllers");
 MODULE_LICENSE("GPL");
 MODULE_DEVICE_TABLE(pci, mv_pci_tbl);
 MODULE_VERSION(DRV_VERSION);
+MODULE_ALIAS("platform:sata_mv");
 
 #ifdef CONFIG_PCI
 module_param(msi, int, 0444);