All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/7] PCI: artpec: Cleanups
@ 2016-10-12 13:28 Bjorn Helgaas
  2016-10-12 13:29 ` [PATCH v2 1/7] PCI: artpec6: Add local struct device pointers Bjorn Helgaas
                   ` (7 more replies)
  0 siblings, 8 replies; 10+ messages in thread
From: Bjorn Helgaas @ 2016-10-12 13:28 UTC (permalink / raw)
  To: Jesper Nilsson, Niklas Cassel; +Cc: linux-pci, linux-arm-kernel

  - Add local "dev" pointers to reduce repetition of things like
    "&pdev->dev".

  - Remove platform drvdata because it appears unused (we called
    platform_set_drvdata() but not platform_get_drvdata()).

  - Use generic DesignWare accessors when possible.

  - Add register accessors to encapsulate regmap usage.

  - Pass device-specific struct to internal functions for consistency.

Nothing here should change the behavior of the driver.

Changes from v1:
  I dropped the following patch because it was a lot of churn for
  questionable benefit:
    PCI: artpec6: Name private struct pointer "artpec6" consistently

---

Bjorn Helgaas (7):
      PCI: artpec6: Add local struct device pointers
      PCI: artpec6: Remove unused platform data
      PCI: artpec6: Add register accessors
      PCI: artpec6: Use generic DesignWare accessors
      PCI: artpec6: Remove unnecessary artpec6_pcie_link_up()
      PCI: artpec6: Pass device-specific struct to internal functions
      PCI: artpec6: Add resource name comments


 drivers/pci/host/pcie-artpec6.c |  115 ++++++++++++++++++++-------------------
 1 file changed, 59 insertions(+), 56 deletions(-)

^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH v2 1/7] PCI: artpec6: Add local struct device pointers
  2016-10-12 13:28 [PATCH v2 0/7] PCI: artpec: Cleanups Bjorn Helgaas
@ 2016-10-12 13:29 ` Bjorn Helgaas
  2016-10-12 13:29 ` [PATCH v2 2/7] PCI: artpec6: Remove unused platform data Bjorn Helgaas
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 10+ messages in thread
From: Bjorn Helgaas @ 2016-10-12 13:29 UTC (permalink / raw)
  To: Jesper Nilsson, Niklas Cassel; +Cc: linux-pci, linux-arm-kernel

Use a local "struct device *dev" for brevity and consistency with other
drivers.  No functional change intended.

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Jesper Nilsson <jesper.nilsson@axis.com>
---
 drivers/pci/host/pcie-artpec6.c |   21 +++++++++++----------
 1 file changed, 11 insertions(+), 10 deletions(-)

diff --git a/drivers/pci/host/pcie-artpec6.c b/drivers/pci/host/pcie-artpec6.c
index 39bf1a6..ef2f04f 100644
--- a/drivers/pci/host/pcie-artpec6.c
+++ b/drivers/pci/host/pcie-artpec6.c
@@ -194,21 +194,22 @@ static irqreturn_t artpec6_pcie_msi_handler(int irq, void *arg)
 static int artpec6_add_pcie_port(struct pcie_port *pp,
 				 struct platform_device *pdev)
 {
+	struct device *dev = pp->dev;
 	int ret;
 
 	if (IS_ENABLED(CONFIG_PCI_MSI)) {
 		pp->msi_irq = platform_get_irq_byname(pdev, "msi");
 		if (pp->msi_irq <= 0) {
-			dev_err(&pdev->dev, "failed to get MSI irq\n");
+			dev_err(dev, "failed to get MSI irq\n");
 			return -ENODEV;
 		}
 
-		ret = devm_request_irq(&pdev->dev, pp->msi_irq,
+		ret = devm_request_irq(dev, pp->msi_irq,
 				       artpec6_pcie_msi_handler,
 				       IRQF_SHARED | IRQF_NO_THREAD,
 				       "artpec6-pcie-msi", pp);
 		if (ret) {
-			dev_err(&pdev->dev, "failed to request MSI irq\n");
+			dev_err(dev, "failed to request MSI irq\n");
 			return ret;
 		}
 	}
@@ -218,7 +219,7 @@ static int artpec6_add_pcie_port(struct pcie_port *pp,
 
 	ret = dw_pcie_host_init(pp);
 	if (ret) {
-		dev_err(&pdev->dev, "failed to initialize host\n");
+		dev_err(dev, "failed to initialize host\n");
 		return ret;
 	}
 
@@ -227,32 +228,32 @@ static int artpec6_add_pcie_port(struct pcie_port *pp,
 
 static int artpec6_pcie_probe(struct platform_device *pdev)
 {
+	struct device *dev = &pdev->dev;
 	struct artpec6_pcie *artpec6_pcie;
 	struct pcie_port *pp;
 	struct resource *dbi_base;
 	struct resource *phy_base;
 	int ret;
 
-	artpec6_pcie = devm_kzalloc(&pdev->dev, sizeof(*artpec6_pcie),
-				    GFP_KERNEL);
+	artpec6_pcie = devm_kzalloc(dev, sizeof(*artpec6_pcie), GFP_KERNEL);
 	if (!artpec6_pcie)
 		return -ENOMEM;
 
 	pp = &artpec6_pcie->pp;
-	pp->dev = &pdev->dev;
+	pp->dev = dev;
 
 	dbi_base = platform_get_resource_byname(pdev, IORESOURCE_MEM, "dbi");
-	pp->dbi_base = devm_ioremap_resource(&pdev->dev, dbi_base);
+	pp->dbi_base = devm_ioremap_resource(dev, dbi_base);
 	if (IS_ERR(pp->dbi_base))
 		return PTR_ERR(pp->dbi_base);
 
 	phy_base = platform_get_resource_byname(pdev, IORESOURCE_MEM, "phy");
-	artpec6_pcie->phy_base = devm_ioremap_resource(&pdev->dev, phy_base);
+	artpec6_pcie->phy_base = devm_ioremap_resource(dev, phy_base);
 	if (IS_ERR(artpec6_pcie->phy_base))
 		return PTR_ERR(artpec6_pcie->phy_base);
 
 	artpec6_pcie->regmap =
-		syscon_regmap_lookup_by_phandle(pdev->dev.of_node,
+		syscon_regmap_lookup_by_phandle(dev->of_node,
 						"axis,syscon-pcie");
 	if (IS_ERR(artpec6_pcie->regmap))
 		return PTR_ERR(artpec6_pcie->regmap);


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH v2 2/7] PCI: artpec6: Remove unused platform data
  2016-10-12 13:28 [PATCH v2 0/7] PCI: artpec: Cleanups Bjorn Helgaas
  2016-10-12 13:29 ` [PATCH v2 1/7] PCI: artpec6: Add local struct device pointers Bjorn Helgaas
@ 2016-10-12 13:29 ` Bjorn Helgaas
  2016-10-12 13:29 ` [PATCH v2 3/7] PCI: artpec6: Add register accessors Bjorn Helgaas
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 10+ messages in thread
From: Bjorn Helgaas @ 2016-10-12 13:29 UTC (permalink / raw)
  To: Jesper Nilsson, Niklas Cassel; +Cc: linux-pci, linux-arm-kernel

The artpec6 driver never uses the platform drvdata pointer, so don't
bother setting it.  No functional change intended.

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Jesper Nilsson <jesper.nilsson@axis.com>
---
 drivers/pci/host/pcie-artpec6.c |    1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/pci/host/pcie-artpec6.c b/drivers/pci/host/pcie-artpec6.c
index ef2f04f..9423bf0 100644
--- a/drivers/pci/host/pcie-artpec6.c
+++ b/drivers/pci/host/pcie-artpec6.c
@@ -262,7 +262,6 @@ static int artpec6_pcie_probe(struct platform_device *pdev)
 	if (ret < 0)
 		return ret;
 
-	platform_set_drvdata(pdev, artpec6_pcie);
 	return 0;
 }
 


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH v2 3/7] PCI: artpec6: Add register accessors
  2016-10-12 13:28 [PATCH v2 0/7] PCI: artpec: Cleanups Bjorn Helgaas
  2016-10-12 13:29 ` [PATCH v2 1/7] PCI: artpec6: Add local struct device pointers Bjorn Helgaas
  2016-10-12 13:29 ` [PATCH v2 2/7] PCI: artpec6: Remove unused platform data Bjorn Helgaas
@ 2016-10-12 13:29 ` Bjorn Helgaas
  2016-10-12 13:29 ` [PATCH v2 4/7] PCI: artpec6: Use generic DesignWare accessors Bjorn Helgaas
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 10+ messages in thread
From: Bjorn Helgaas @ 2016-10-12 13:29 UTC (permalink / raw)
  To: Jesper Nilsson, Niklas Cassel; +Cc: linux-pci, linux-arm-kernel

Add device-specific register accessors for consistency across host
drivers.  No functional change intended.

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Jesper Nilsson <jesper.nilsson@axis.com>
---
 drivers/pci/host/pcie-artpec6.c |   43 +++++++++++++++++++++++++--------------
 1 file changed, 28 insertions(+), 15 deletions(-)

diff --git a/drivers/pci/host/pcie-artpec6.c b/drivers/pci/host/pcie-artpec6.c
index 9423bf0..d9121c3 100644
--- a/drivers/pci/host/pcie-artpec6.c
+++ b/drivers/pci/host/pcie-artpec6.c
@@ -65,6 +65,19 @@ struct artpec6_pcie {
 
 #define ARTPEC6_CPU_TO_BUS_ADDR		0x0fffffff
 
+static u32 artpec6_pcie_readl(struct artpec6_pcie *artpec6_pcie, u32 offset)
+{
+	u32 val;
+
+	regmap_read(artpec6_pcie->regmap, offset, &val);
+	return val;
+}
+
+static void artpec6_pcie_writel(struct artpec6_pcie *artpec6_pcie, u32 offset, u32 val)
+{
+	regmap_write(artpec6_pcie->regmap, offset, val);
+}
+
 static int artpec6_pcie_establish_link(struct pcie_port *pp)
 {
 	struct artpec6_pcie *artpec6_pcie = to_artpec6_pcie(pp);
@@ -72,11 +85,11 @@ static int artpec6_pcie_establish_link(struct pcie_port *pp)
 	unsigned int retries;
 
 	/* Hold DW core in reset */
-	regmap_read(artpec6_pcie->regmap, PCIECFG, &val);
+	val = artpec6_pcie_readl(artpec6_pcie, PCIECFG);
 	val |= PCIECFG_CORE_RESET_REQ;
-	regmap_write(artpec6_pcie->regmap, PCIECFG, val);
+	artpec6_pcie_writel(artpec6_pcie, PCIECFG, val);
 
-	regmap_read(artpec6_pcie->regmap, PCIECFG, &val);
+	val = artpec6_pcie_readl(artpec6_pcie, PCIECFG);
 	val |=  PCIECFG_RISRCREN |	/* Receiver term. 50 Ohm */
 		PCIECFG_MODE_TX_DRV_EN |
 		PCIECFG_CISRREN |	/* Reference clock term. 100 Ohm */
@@ -84,27 +97,27 @@ static int artpec6_pcie_establish_link(struct pcie_port *pp)
 	val |= PCIECFG_REFCLK_ENABLE;
 	val &= ~PCIECFG_DBG_OEN;
 	val &= ~PCIECFG_CLKREQ_B;
-	regmap_write(artpec6_pcie->regmap, PCIECFG, val);
+	artpec6_pcie_writel(artpec6_pcie, PCIECFG, val);
 	usleep_range(5000, 6000);
 
-	regmap_read(artpec6_pcie->regmap, NOCCFG, &val);
+	val = artpec6_pcie_readl(artpec6_pcie, NOCCFG);
 	val |= NOCCFG_ENABLE_CLK_PCIE;
-	regmap_write(artpec6_pcie->regmap, NOCCFG, val);
+	artpec6_pcie_writel(artpec6_pcie, NOCCFG, val);
 	usleep_range(20, 30);
 
-	regmap_read(artpec6_pcie->regmap, PCIECFG, &val);
+	val = artpec6_pcie_readl(artpec6_pcie, PCIECFG);
 	val |= PCIECFG_PCLK_ENABLE | PCIECFG_PLL_ENABLE;
-	regmap_write(artpec6_pcie->regmap, PCIECFG, val);
+	artpec6_pcie_writel(artpec6_pcie, PCIECFG, val);
 	usleep_range(6000, 7000);
 
-	regmap_read(artpec6_pcie->regmap, NOCCFG, &val);
+	val = artpec6_pcie_readl(artpec6_pcie, NOCCFG);
 	val &= ~NOCCFG_POWER_PCIE_IDLEREQ;
-	regmap_write(artpec6_pcie->regmap, NOCCFG, val);
+	artpec6_pcie_writel(artpec6_pcie, NOCCFG, val);
 
 	retries = 50;
 	do {
 		usleep_range(1000, 2000);
-		regmap_read(artpec6_pcie->regmap, NOCCFG, &val);
+		val = artpec6_pcie_readl(artpec6_pcie, NOCCFG);
 		retries--;
 	} while (retries &&
 		(val & (NOCCFG_POWER_PCIE_IDLEACK | NOCCFG_POWER_PCIE_IDLE)));
@@ -117,9 +130,9 @@ static int artpec6_pcie_establish_link(struct pcie_port *pp)
 	} while (retries && !(val & PHY_COSPLLLOCK));
 
 	/* Take DW core out of reset */
-	regmap_read(artpec6_pcie->regmap, PCIECFG, &val);
+	val = artpec6_pcie_readl(artpec6_pcie, PCIECFG);
 	val &= ~PCIECFG_CORE_RESET_REQ;
-	regmap_write(artpec6_pcie->regmap, PCIECFG, val);
+	artpec6_pcie_writel(artpec6_pcie, PCIECFG, val);
 	usleep_range(100, 200);
 
 	/*
@@ -137,9 +150,9 @@ static int artpec6_pcie_establish_link(struct pcie_port *pp)
 	dw_pcie_setup_rc(pp);
 
 	/* assert LTSSM enable */
-	regmap_read(artpec6_pcie->regmap, PCIECFG, &val);
+	val = artpec6_pcie_readl(artpec6_pcie, PCIECFG);
 	val |= PCIECFG_LTSSM_ENABLE;
-	regmap_write(artpec6_pcie->regmap, PCIECFG, val);
+	artpec6_pcie_writel(artpec6_pcie, PCIECFG, val);
 
 	/* check if the link is up or not */
 	if (!dw_pcie_wait_for_link(pp))


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH v2 4/7] PCI: artpec6: Use generic DesignWare accessors
  2016-10-12 13:28 [PATCH v2 0/7] PCI: artpec: Cleanups Bjorn Helgaas
                   ` (2 preceding siblings ...)
  2016-10-12 13:29 ` [PATCH v2 3/7] PCI: artpec6: Add register accessors Bjorn Helgaas
@ 2016-10-12 13:29 ` Bjorn Helgaas
  2016-10-12 13:29 ` [PATCH v2 5/7] PCI: artpec6: Remove unnecessary artpec6_pcie_link_up() Bjorn Helgaas
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 10+ messages in thread
From: Bjorn Helgaas @ 2016-10-12 13:29 UTC (permalink / raw)
  To: Jesper Nilsson, Niklas Cassel; +Cc: linux-pci, linux-arm-kernel

The dw_pcie_readl_rc() and dw_pcie_writel_rc() interfaces already add in
pp->dbi_base, so use those instead of doing it ourselves in the armada8k
driver.  No functional change intended.

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Jesper Nilsson <jesper.nilsson@axis.com>
---
 drivers/pci/host/pcie-artpec6.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/pci/host/pcie-artpec6.c b/drivers/pci/host/pcie-artpec6.c
index d9121c3..b3829d0 100644
--- a/drivers/pci/host/pcie-artpec6.c
+++ b/drivers/pci/host/pcie-artpec6.c
@@ -139,7 +139,7 @@ static int artpec6_pcie_establish_link(struct pcie_port *pp)
 	 * Enable writing to config regs. This is required as the Synopsys
 	 * driver changes the class code. That register needs DBI write enable.
 	 */
-	writel(DBI_RO_WR_EN, pp->dbi_base + MISC_CONTROL_1_OFF);
+	dw_pcie_writel_rc(pp, MISC_CONTROL_1_OFF, DBI_RO_WR_EN);
 
 	pp->io_base &= ARTPEC6_CPU_TO_BUS_ADDR;
 	pp->mem_base &= ARTPEC6_CPU_TO_BUS_ADDR;
@@ -159,8 +159,8 @@ static int artpec6_pcie_establish_link(struct pcie_port *pp)
 		return 0;
 
 	dev_dbg(pp->dev, "DEBUG_R0: 0x%08x, DEBUG_R1: 0x%08x\n",
-		readl(pp->dbi_base + PCIE_PHY_DEBUG_R0),
-		readl(pp->dbi_base + PCIE_PHY_DEBUG_R1));
+		dw_pcie_readl_rc(pp, PCIE_PHY_DEBUG_R0),
+		dw_pcie_readl_rc(pp, PCIE_PHY_DEBUG_R1));
 
 	return -ETIMEDOUT;
 }


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH v2 5/7] PCI: artpec6: Remove unnecessary artpec6_pcie_link_up()
  2016-10-12 13:28 [PATCH v2 0/7] PCI: artpec: Cleanups Bjorn Helgaas
                   ` (3 preceding siblings ...)
  2016-10-12 13:29 ` [PATCH v2 4/7] PCI: artpec6: Use generic DesignWare accessors Bjorn Helgaas
@ 2016-10-12 13:29 ` Bjorn Helgaas
  2016-10-12 13:29 ` [PATCH v2 6/7] PCI: artpec6: Pass device-specific struct to internal functions Bjorn Helgaas
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 10+ messages in thread
From: Bjorn Helgaas @ 2016-10-12 13:29 UTC (permalink / raw)
  To: Jesper Nilsson, Niklas Cassel; +Cc: linux-pci, linux-arm-kernel

Remove artpec6_pcie_link_up(); the generic dw_pcie_link_up() does the same
thing, so we don't need a device-specific version.

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Jesper Nilsson <jesper.nilsson@axis.com>
---
 drivers/pci/host/pcie-artpec6.c |   16 ----------------
 1 file changed, 16 deletions(-)

diff --git a/drivers/pci/host/pcie-artpec6.c b/drivers/pci/host/pcie-artpec6.c
index b3829d0..d3e7a40 100644
--- a/drivers/pci/host/pcie-artpec6.c
+++ b/drivers/pci/host/pcie-artpec6.c
@@ -177,23 +177,7 @@ static void artpec6_pcie_host_init(struct pcie_port *pp)
 	artpec6_pcie_enable_interrupts(pp);
 }
 
-static int artpec6_pcie_link_up(struct pcie_port *pp)
-{
-	u32 rc;
-
-	/*
-	 * Get status from Synopsys IP
-	 * link is debug bit 36, debug register 1 starts at bit 32
-	 */
-	rc = readl(pp->dbi_base + PCIE_PHY_DEBUG_R1) & (0x1 << (36 - 32));
-	if (rc)
-		return 1;
-
-	return 0;
-}
-
 static struct pcie_host_ops artpec6_pcie_host_ops = {
-	.link_up = artpec6_pcie_link_up,
 	.host_init = artpec6_pcie_host_init,
 };
 


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH v2 6/7] PCI: artpec6: Pass device-specific struct to internal functions
  2016-10-12 13:28 [PATCH v2 0/7] PCI: artpec: Cleanups Bjorn Helgaas
                   ` (4 preceding siblings ...)
  2016-10-12 13:29 ` [PATCH v2 5/7] PCI: artpec6: Remove unnecessary artpec6_pcie_link_up() Bjorn Helgaas
@ 2016-10-12 13:29 ` Bjorn Helgaas
  2016-10-12 13:29 ` [PATCH v2 7/7] PCI: artpec6: Add resource name comments Bjorn Helgaas
  2016-10-12 16:04 ` [PATCH v2 0/7] PCI: artpec: Cleanups Bjorn Helgaas
  7 siblings, 0 replies; 10+ messages in thread
From: Bjorn Helgaas @ 2016-10-12 13:29 UTC (permalink / raw)
  To: Jesper Nilsson, Niklas Cassel; +Cc: linux-pci, linux-arm-kernel

Only interfaces used from outside the driver, e.g., those called by the
DesignWare core, need to accept pointers to the generic struct pcie_port.
Internal interfaces can accept pointers to the device-specific struct,
which makes them more straightforward.  No functional change intended.

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Jesper Nilsson <jesper.nilsson@axis.com>
---
 drivers/pci/host/pcie-artpec6.c |   24 +++++++++++++++---------
 1 file changed, 15 insertions(+), 9 deletions(-)

diff --git a/drivers/pci/host/pcie-artpec6.c b/drivers/pci/host/pcie-artpec6.c
index d3e7a40..bdfdea2 100644
--- a/drivers/pci/host/pcie-artpec6.c
+++ b/drivers/pci/host/pcie-artpec6.c
@@ -78,9 +78,9 @@ static void artpec6_pcie_writel(struct artpec6_pcie *artpec6_pcie, u32 offset, u
 	regmap_write(artpec6_pcie->regmap, offset, val);
 }
 
-static int artpec6_pcie_establish_link(struct pcie_port *pp)
+static int artpec6_pcie_establish_link(struct artpec6_pcie *artpec6_pcie)
 {
-	struct artpec6_pcie *artpec6_pcie = to_artpec6_pcie(pp);
+	struct pcie_port *pp = &artpec6_pcie->pp;
 	u32 val;
 	unsigned int retries;
 
@@ -165,16 +165,20 @@ static int artpec6_pcie_establish_link(struct pcie_port *pp)
 	return -ETIMEDOUT;
 }
 
-static void artpec6_pcie_enable_interrupts(struct pcie_port *pp)
+static void artpec6_pcie_enable_interrupts(struct artpec6_pcie *artpec6_pcie)
 {
+	struct pcie_port *pp = &artpec6_pcie->pp;
+
 	if (IS_ENABLED(CONFIG_PCI_MSI))
 		dw_pcie_msi_init(pp);
 }
 
 static void artpec6_pcie_host_init(struct pcie_port *pp)
 {
-	artpec6_pcie_establish_link(pp);
-	artpec6_pcie_enable_interrupts(pp);
+	struct artpec6_pcie *artpec6_pcie = to_artpec6_pcie(pp);
+
+	artpec6_pcie_establish_link(artpec6_pcie);
+	artpec6_pcie_enable_interrupts(artpec6_pcie);
 }
 
 static struct pcie_host_ops artpec6_pcie_host_ops = {
@@ -183,14 +187,16 @@ static struct pcie_host_ops artpec6_pcie_host_ops = {
 
 static irqreturn_t artpec6_pcie_msi_handler(int irq, void *arg)
 {
-	struct pcie_port *pp = arg;
+	struct artpec6_pcie *artpec6_pcie = arg;
+	struct pcie_port *pp = &artpec6_pcie->pp;
 
 	return dw_handle_msi_irq(pp);
 }
 
-static int artpec6_add_pcie_port(struct pcie_port *pp,
+static int artpec6_add_pcie_port(struct artpec6_pcie *artpec6_pcie,
 				 struct platform_device *pdev)
 {
+	struct pcie_port *pp = &artpec6_pcie->pp;
 	struct device *dev = pp->dev;
 	int ret;
 
@@ -204,7 +210,7 @@ static int artpec6_add_pcie_port(struct pcie_port *pp,
 		ret = devm_request_irq(dev, pp->msi_irq,
 				       artpec6_pcie_msi_handler,
 				       IRQF_SHARED | IRQF_NO_THREAD,
-				       "artpec6-pcie-msi", pp);
+				       "artpec6-pcie-msi", artpec6_pcie);
 		if (ret) {
 			dev_err(dev, "failed to request MSI irq\n");
 			return ret;
@@ -255,7 +261,7 @@ static int artpec6_pcie_probe(struct platform_device *pdev)
 	if (IS_ERR(artpec6_pcie->regmap))
 		return PTR_ERR(artpec6_pcie->regmap);
 
-	ret = artpec6_add_pcie_port(pp, pdev);
+	ret = artpec6_add_pcie_port(artpec6_pcie, pdev);
 	if (ret < 0)
 		return ret;
 


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH v2 7/7] PCI: artpec6: Add resource name comments
  2016-10-12 13:28 [PATCH v2 0/7] PCI: artpec: Cleanups Bjorn Helgaas
                   ` (5 preceding siblings ...)
  2016-10-12 13:29 ` [PATCH v2 6/7] PCI: artpec6: Pass device-specific struct to internal functions Bjorn Helgaas
@ 2016-10-12 13:29 ` Bjorn Helgaas
  2016-10-12 16:04 ` [PATCH v2 0/7] PCI: artpec: Cleanups Bjorn Helgaas
  7 siblings, 0 replies; 10+ messages in thread
From: Bjorn Helgaas @ 2016-10-12 13:29 UTC (permalink / raw)
  To: Jesper Nilsson, Niklas Cassel; +Cc: linux-pci, linux-arm-kernel

Add comments about the Device Tree source of resources.  No functional
change.

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Jesper Nilsson <jesper.nilsson@axis.com>
---
 drivers/pci/host/pcie-artpec6.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/pci/host/pcie-artpec6.c b/drivers/pci/host/pcie-artpec6.c
index bdfdea2..212786b 100644
--- a/drivers/pci/host/pcie-artpec6.c
+++ b/drivers/pci/host/pcie-artpec6.c
@@ -27,9 +27,9 @@
 #define to_artpec6_pcie(x)	container_of(x, struct artpec6_pcie, pp)
 
 struct artpec6_pcie {
-	struct pcie_port	pp;
-	struct regmap		*regmap;
-	void __iomem		*phy_base;
+	struct pcie_port	pp;		/* pp.dbi_base is DT dbi */
+	struct regmap		*regmap;	/* DT axis,syscon-pcie */
+	void __iomem		*phy_base;	/* DT phy */
 };
 
 /* PCIe Port Logic registers (memory-mapped) */


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH v2 0/7] PCI: artpec: Cleanups
  2016-10-12 13:28 [PATCH v2 0/7] PCI: artpec: Cleanups Bjorn Helgaas
                   ` (6 preceding siblings ...)
  2016-10-12 13:29 ` [PATCH v2 7/7] PCI: artpec6: Add resource name comments Bjorn Helgaas
@ 2016-10-12 16:04 ` Bjorn Helgaas
  2016-10-12 20:40   ` Jesper Nilsson
  7 siblings, 1 reply; 10+ messages in thread
From: Bjorn Helgaas @ 2016-10-12 16:04 UTC (permalink / raw)
  To: Bjorn Helgaas; +Cc: Jesper Nilsson, Niklas Cassel, linux-pci, linux-arm-kernel

On Wed, Oct 12, 2016 at 08:28:55AM -0500, Bjorn Helgaas wrote:
>   - Add local "dev" pointers to reduce repetition of things like
>     "&pdev->dev".
> 
>   - Remove platform drvdata because it appears unused (we called
>     platform_set_drvdata() but not platform_get_drvdata()).
> 
>   - Use generic DesignWare accessors when possible.
> 
>   - Add register accessors to encapsulate regmap usage.
> 
>   - Pass device-specific struct to internal functions for consistency.
> 
> Nothing here should change the behavior of the driver.
> 
> Changes from v1:
>   I dropped the following patch because it was a lot of churn for
>   questionable benefit:
>     PCI: artpec6: Name private struct pointer "artpec6" consistently
> 
> ---
> 
> Bjorn Helgaas (7):
>       PCI: artpec6: Add local struct device pointers
>       PCI: artpec6: Remove unused platform data
>       PCI: artpec6: Add register accessors
>       PCI: artpec6: Use generic DesignWare accessors
>       PCI: artpec6: Remove unnecessary artpec6_pcie_link_up()
>       PCI: artpec6: Pass device-specific struct to internal functions
>       PCI: artpec6: Add resource name comments
> 
> 
>  drivers/pci/host/pcie-artpec6.c |  115 ++++++++++++++++++++-------------------
>  1 file changed, 59 insertions(+), 56 deletions(-)

I applied these to pci/host-artpec for v4.9.  I hope to ask Linus to
pull them tomorrow, so if you see any issues, let me know soon.

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v2 0/7] PCI: artpec: Cleanups
  2016-10-12 16:04 ` [PATCH v2 0/7] PCI: artpec: Cleanups Bjorn Helgaas
@ 2016-10-12 20:40   ` Jesper Nilsson
  0 siblings, 0 replies; 10+ messages in thread
From: Jesper Nilsson @ 2016-10-12 20:40 UTC (permalink / raw)
  To: Bjorn Helgaas
  Cc: Bjorn Helgaas, Jesper Nilsson, Niklas Cassel, linux-pci,
	linux-arm-kernel

On Wed, Oct 12, 2016 at 11:04:40AM -0500, Bjorn Helgaas wrote:
> On Wed, Oct 12, 2016 at 08:28:55AM -0500, Bjorn Helgaas wrote:
> >   - Add local "dev" pointers to reduce repetition of things like
> >     "&pdev->dev".
> > 
> >   - Remove platform drvdata because it appears unused (we called
> >     platform_set_drvdata() but not platform_get_drvdata()).
> > 
> >   - Use generic DesignWare accessors when possible.
> > 
> >   - Add register accessors to encapsulate regmap usage.
> > 
> >   - Pass device-specific struct to internal functions for consistency.
> > 
> > Nothing here should change the behavior of the driver.
> > 
> > Changes from v1:
> >   I dropped the following patch because it was a lot of churn for
> >   questionable benefit:
> >     PCI: artpec6: Name private struct pointer "artpec6" consistently
> > 
> > ---
> > 
> > Bjorn Helgaas (7):
> >       PCI: artpec6: Add local struct device pointers
> >       PCI: artpec6: Remove unused platform data
> >       PCI: artpec6: Add register accessors
> >       PCI: artpec6: Use generic DesignWare accessors
> >       PCI: artpec6: Remove unnecessary artpec6_pcie_link_up()
> >       PCI: artpec6: Pass device-specific struct to internal functions
> >       PCI: artpec6: Add resource name comments
> > 
> > 
> >  drivers/pci/host/pcie-artpec6.c |  115 ++++++++++++++++++++-------------------
> >  1 file changed, 59 insertions(+), 56 deletions(-)
> 
> I applied these to pci/host-artpec for v4.9.  I hope to ask Linus to
> pull them tomorrow, so if you see any issues, let me know soon.

Looks good, although I haven't been able run a test on real hardware since I'm
currently at ELCE in Berlin... :-)

/^JN - Jesper Nilsson
-- 
               Jesper Nilsson -- jesper.nilsson@axis.com

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2016-10-12 20:40 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-10-12 13:28 [PATCH v2 0/7] PCI: artpec: Cleanups Bjorn Helgaas
2016-10-12 13:29 ` [PATCH v2 1/7] PCI: artpec6: Add local struct device pointers Bjorn Helgaas
2016-10-12 13:29 ` [PATCH v2 2/7] PCI: artpec6: Remove unused platform data Bjorn Helgaas
2016-10-12 13:29 ` [PATCH v2 3/7] PCI: artpec6: Add register accessors Bjorn Helgaas
2016-10-12 13:29 ` [PATCH v2 4/7] PCI: artpec6: Use generic DesignWare accessors Bjorn Helgaas
2016-10-12 13:29 ` [PATCH v2 5/7] PCI: artpec6: Remove unnecessary artpec6_pcie_link_up() Bjorn Helgaas
2016-10-12 13:29 ` [PATCH v2 6/7] PCI: artpec6: Pass device-specific struct to internal functions Bjorn Helgaas
2016-10-12 13:29 ` [PATCH v2 7/7] PCI: artpec6: Add resource name comments Bjorn Helgaas
2016-10-12 16:04 ` [PATCH v2 0/7] PCI: artpec: Cleanups Bjorn Helgaas
2016-10-12 20:40   ` Jesper Nilsson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.