Patchwork [4/6] sata_mv: move the PCI bar description initialization code from mv_init_host to mv_pci_init_one

login
register
mail settings
Submitter Saeed Bishara
Date Dec. 6, 2009, 4:26 p.m.
Message ID <1260116782-31714-4-git-send-email-saeed@marvell.com>
Download mbox | patch
Permalink /patch/40431/
State Not Applicable
Delegated to: David Miller
Headers show

Comments

Saeed Bishara - Dec. 6, 2009, 4:26 p.m.
the mv_init_host will be used to initialize the host hw on resume. the PCI bar description need to be initialized only once when the device probed.

Signed-off-by: Saeed Bishara <saeed@marvell.com>
---
 drivers/ata/sata_mv.c |   19 ++++++++++---------
 1 files changed, 10 insertions(+), 9 deletions(-)

Patch

diff --git a/drivers/ata/sata_mv.c b/drivers/ata/sata_mv.c
index 17a138b..3eadbd5 100755
--- a/drivers/ata/sata_mv.c
+++ b/drivers/ata/sata_mv.c
@@ -3910,14 +3910,6 @@  static int mv_init_host(struct ata_host *host, unsigned int board_idx)
 		void __iomem *port_mmio = mv_port_base(mmio, port);
 
 		mv_port_init(&ap->ioaddr, port_mmio);
-
-#ifdef CONFIG_PCI
-		if (!IS_SOC(hpriv)) {
-			unsigned int offset = port_mmio - mmio;
-			ata_port_pbar_desc(ap, MV_PRIMARY_BAR, -1, "mmio");
-			ata_port_pbar_desc(ap, MV_PRIMARY_BAR, offset, "port");
-		}
-#endif
 	}
 
 	for (hc = 0; hc < n_hc; hc++) {
@@ -4268,7 +4260,7 @@  static int mv_pci_init_one(struct pci_dev *pdev,
 	const struct ata_port_info *ppi[] = { &mv_port_info[board_idx], NULL };
 	struct ata_host *host;
 	struct mv_host_priv *hpriv;
-	int n_ports, rc;
+	int n_ports, port, rc;
 
 	if (!printed_version++)
 		dev_printk(KERN_INFO, &pdev->dev, "version " DRV_VERSION "\n");
@@ -4304,6 +4296,15 @@  static int mv_pci_init_one(struct pci_dev *pdev,
 	if (rc)
 		return rc;
 
+	for (port = 0; port < host->n_ports; port++) {
+		struct ata_port *ap = host->ports[port];
+		void __iomem *port_mmio = mv_port_base(hpriv->base, port);
+		unsigned int offset = port_mmio - hpriv->base;
+
+		ata_port_pbar_desc(ap, MV_PRIMARY_BAR, -1, "mmio");
+		ata_port_pbar_desc(ap, MV_PRIMARY_BAR, offset, "port");
+	}
+
 	/* initialize adapter */
 	rc = mv_init_host(host, board_idx);
 	if (rc)