All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/6] PCI: armada: Cleanups
@ 2016-10-12 13:25 Bjorn Helgaas
  2016-10-12 13:25 ` [PATCH v2 1/6] PCI: armada: Remove unused platform data Bjorn Helgaas
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: Bjorn Helgaas @ 2016-10-12 13:25 UTC (permalink / raw)
  To: Thomas Petazzoni; +Cc: linux-pci

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

  - Remove redundant struct members.

  - Use generic DesignWare accessors when possible.

  - 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 patches because they were a lot of churn for
  questionable benefit:
    PCI: armada: Name private struct pointer "armada8k" consistently
    PCI: armada: Add register accessors

---

Bjorn Helgaas (6):
      PCI: armada: Remove unused platform data
      PCI: armada: Add local base pointer
      PCI: armada: Remove redundant struct armada8k_pcie.base
      PCI: armada: Use generic DesignWare accessors
      PCI: armada: Pass device-specific struct to internal functions
      PCI: armada: Reorder struct armada8k_pcie


 drivers/pci/host/pcie-armada8k.c |   78 ++++++++++++++++++--------------------
 1 file changed, 37 insertions(+), 41 deletions(-)

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

* [PATCH v2 1/6] PCI: armada: Remove unused platform data
  2016-10-12 13:25 [PATCH v2 0/6] PCI: armada: Cleanups Bjorn Helgaas
@ 2016-10-12 13:25 ` Bjorn Helgaas
  2016-10-12 13:25 ` [PATCH v2 2/6] PCI: armada: Add local base pointer Bjorn Helgaas
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Bjorn Helgaas @ 2016-10-12 13:25 UTC (permalink / raw)
  To: Thomas Petazzoni; +Cc: linux-pci

The armada 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>
Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 drivers/pci/host/pcie-armada8k.c |    1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/pci/host/pcie-armada8k.c b/drivers/pci/host/pcie-armada8k.c
index 0f4f570..b97ba97 100644
--- a/drivers/pci/host/pcie-armada8k.c
+++ b/drivers/pci/host/pcie-armada8k.c
@@ -217,7 +217,6 @@ static int armada8k_pcie_probe(struct platform_device *pdev)
 
 	pp = &pcie->pp;
 	pp->dev = dev;
-	platform_set_drvdata(pdev, pcie);
 
 	/* Get the dw-pcie unit configuration/control registers base. */
 	base = platform_get_resource_byname(pdev, IORESOURCE_MEM, "ctrl");


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

* [PATCH v2 2/6] PCI: armada: Add local base pointer
  2016-10-12 13:25 [PATCH v2 0/6] PCI: armada: Cleanups Bjorn Helgaas
  2016-10-12 13:25 ` [PATCH v2 1/6] PCI: armada: Remove unused platform data Bjorn Helgaas
@ 2016-10-12 13:25 ` Bjorn Helgaas
  2016-10-12 13:25 ` [PATCH v2 3/6] PCI: armada: Remove redundant struct armada8k_pcie.base Bjorn Helgaas
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Bjorn Helgaas @ 2016-10-12 13:25 UTC (permalink / raw)
  To: Thomas Petazzoni; +Cc: linux-pci

Add a local "base" pointer, as is done for other uses, to simplify a
subsequent patch.  No functional change intended.

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
---
 drivers/pci/host/pcie-armada8k.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/pci/host/pcie-armada8k.c b/drivers/pci/host/pcie-armada8k.c
index b97ba97..121f6c8 100644
--- a/drivers/pci/host/pcie-armada8k.c
+++ b/drivers/pci/host/pcie-armada8k.c
@@ -73,10 +73,11 @@ struct armada8k_pcie {
 static int armada8k_pcie_link_up(struct pcie_port *pp)
 {
 	struct armada8k_pcie *pcie = to_armada8k_pcie(pp);
+	void __iomem *base = pcie->base;
 	u32 reg;
 	u32 mask = PCIE_GLB_STS_RDLH_LINK_UP | PCIE_GLB_STS_PHY_LINK_UP;
 
-	reg = readl(pcie->base + PCIE_GLOBAL_STATUS_REG);
+	reg = readl(base + PCIE_GLOBAL_STATUS_REG);
 
 	if ((reg & mask) == mask)
 		return 1;


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

* [PATCH v2 3/6] PCI: armada: Remove redundant struct armada8k_pcie.base
  2016-10-12 13:25 [PATCH v2 0/6] PCI: armada: Cleanups Bjorn Helgaas
  2016-10-12 13:25 ` [PATCH v2 1/6] PCI: armada: Remove unused platform data Bjorn Helgaas
  2016-10-12 13:25 ` [PATCH v2 2/6] PCI: armada: Add local base pointer Bjorn Helgaas
@ 2016-10-12 13:25 ` Bjorn Helgaas
  2016-10-12 13:25 ` [PATCH v2 4/6] PCI: armada: Use generic DesignWare accessors Bjorn Helgaas
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Bjorn Helgaas @ 2016-10-12 13:25 UTC (permalink / raw)
  To: Thomas Petazzoni; +Cc: linux-pci

The struct armada8k_pcie.base pointer is always a constant offset from
struct pcie_port.dbi_base.  Encode that offset in the register macros so we
don't need to maintain the armada8k_pcie.base pointer.  No functional
change intended.

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 drivers/pci/host/pcie-armada8k.c |   25 +++++++++++--------------
 1 file changed, 11 insertions(+), 14 deletions(-)

diff --git a/drivers/pci/host/pcie-armada8k.c b/drivers/pci/host/pcie-armada8k.c
index 121f6c8..cfa50f5 100644
--- a/drivers/pci/host/pcie-armada8k.c
+++ b/drivers/pci/host/pcie-armada8k.c
@@ -29,34 +29,33 @@
 #include "pcie-designware.h"
 
 struct armada8k_pcie {
-	void __iomem *base;
 	struct clk *clk;
 	struct pcie_port pp;
 };
 
 #define PCIE_VENDOR_REGS_OFFSET		0x8000
 
-#define PCIE_GLOBAL_CONTROL_REG		0x0
+#define PCIE_GLOBAL_CONTROL_REG		(PCIE_VENDOR_REGS_OFFSET + 0x0)
 #define PCIE_APP_LTSSM_EN		BIT(2)
 #define PCIE_DEVICE_TYPE_SHIFT		4
 #define PCIE_DEVICE_TYPE_MASK		0xF
 #define PCIE_DEVICE_TYPE_RC		0x4 /* Root complex */
 
-#define PCIE_GLOBAL_STATUS_REG		0x8
+#define PCIE_GLOBAL_STATUS_REG		(PCIE_VENDOR_REGS_OFFSET + 0x8)
 #define PCIE_GLB_STS_RDLH_LINK_UP	BIT(1)
 #define PCIE_GLB_STS_PHY_LINK_UP	BIT(9)
 
-#define PCIE_GLOBAL_INT_CAUSE1_REG	0x1C
-#define PCIE_GLOBAL_INT_MASK1_REG	0x20
+#define PCIE_GLOBAL_INT_CAUSE1_REG	(PCIE_VENDOR_REGS_OFFSET + 0x1C)
+#define PCIE_GLOBAL_INT_MASK1_REG	(PCIE_VENDOR_REGS_OFFSET + 0x20)
 #define PCIE_INT_A_ASSERT_MASK		BIT(9)
 #define PCIE_INT_B_ASSERT_MASK		BIT(10)
 #define PCIE_INT_C_ASSERT_MASK		BIT(11)
 #define PCIE_INT_D_ASSERT_MASK		BIT(12)
 
-#define PCIE_ARCACHE_TRC_REG		0x50
-#define PCIE_AWCACHE_TRC_REG		0x54
-#define PCIE_ARUSER_REG			0x5C
-#define PCIE_AWUSER_REG			0x60
+#define PCIE_ARCACHE_TRC_REG		(PCIE_VENDOR_REGS_OFFSET + 0x50)
+#define PCIE_AWCACHE_TRC_REG		(PCIE_VENDOR_REGS_OFFSET + 0x54)
+#define PCIE_ARUSER_REG			(PCIE_VENDOR_REGS_OFFSET + 0x5C)
+#define PCIE_AWUSER_REG			(PCIE_VENDOR_REGS_OFFSET + 0x60)
 /*
  * AR/AW Cache defauls: Normal memory, Write-Back, Read / Write
  * allocate
@@ -73,7 +72,7 @@ struct armada8k_pcie {
 static int armada8k_pcie_link_up(struct pcie_port *pp)
 {
 	struct armada8k_pcie *pcie = to_armada8k_pcie(pp);
-	void __iomem *base = pcie->base;
+	void __iomem *base = pcie->pp.dbi_base;
 	u32 reg;
 	u32 mask = PCIE_GLB_STS_RDLH_LINK_UP | PCIE_GLB_STS_PHY_LINK_UP;
 
@@ -89,7 +88,7 @@ static int armada8k_pcie_link_up(struct pcie_port *pp)
 static void armada8k_pcie_establish_link(struct pcie_port *pp)
 {
 	struct armada8k_pcie *pcie = to_armada8k_pcie(pp);
-	void __iomem *base = pcie->base;
+	void __iomem *base = pcie->pp.dbi_base;
 	u32 reg;
 
 	if (!dw_pcie_link_up(pp)) {
@@ -148,7 +147,7 @@ static irqreturn_t armada8k_pcie_irq_handler(int irq, void *arg)
 {
 	struct pcie_port *pp = arg;
 	struct armada8k_pcie *pcie = to_armada8k_pcie(pp);
-	void __iomem *base = pcie->base;
+	void __iomem *base = pcie->pp.dbi_base;
 	u32 val;
 
 	/*
@@ -228,8 +227,6 @@ static int armada8k_pcie_probe(struct platform_device *pdev)
 		goto fail;
 	}
 
-	pcie->base = pp->dbi_base + PCIE_VENDOR_REGS_OFFSET;
-
 	ret = armada8k_add_pcie_port(pp, pdev);
 	if (ret)
 		goto fail;


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

* [PATCH v2 4/6] PCI: armada: Use generic DesignWare accessors
  2016-10-12 13:25 [PATCH v2 0/6] PCI: armada: Cleanups Bjorn Helgaas
                   ` (2 preceding siblings ...)
  2016-10-12 13:25 ` [PATCH v2 3/6] PCI: armada: Remove redundant struct armada8k_pcie.base Bjorn Helgaas
@ 2016-10-12 13:25 ` Bjorn Helgaas
  2016-10-12 13:25 ` [PATCH v2 5/6] PCI: armada: Pass device-specific struct to internal functions Bjorn Helgaas
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Bjorn Helgaas @ 2016-10-12 13:25 UTC (permalink / raw)
  To: Thomas Petazzoni; +Cc: linux-pci

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>
---
 drivers/pci/host/pcie-armada8k.c |   40 ++++++++++++++++----------------------
 1 file changed, 17 insertions(+), 23 deletions(-)

diff --git a/drivers/pci/host/pcie-armada8k.c b/drivers/pci/host/pcie-armada8k.c
index cfa50f5..a5faa02 100644
--- a/drivers/pci/host/pcie-armada8k.c
+++ b/drivers/pci/host/pcie-armada8k.c
@@ -71,12 +71,10 @@ struct armada8k_pcie {
 
 static int armada8k_pcie_link_up(struct pcie_port *pp)
 {
-	struct armada8k_pcie *pcie = to_armada8k_pcie(pp);
-	void __iomem *base = pcie->pp.dbi_base;
 	u32 reg;
 	u32 mask = PCIE_GLB_STS_RDLH_LINK_UP | PCIE_GLB_STS_PHY_LINK_UP;
 
-	reg = readl(base + PCIE_GLOBAL_STATUS_REG);
+	reg = dw_pcie_readl_rc(pp, PCIE_GLOBAL_STATUS_REG);
 
 	if ((reg & mask) == mask)
 		return 1;
@@ -87,49 +85,47 @@ static int armada8k_pcie_link_up(struct pcie_port *pp)
 
 static void armada8k_pcie_establish_link(struct pcie_port *pp)
 {
-	struct armada8k_pcie *pcie = to_armada8k_pcie(pp);
-	void __iomem *base = pcie->pp.dbi_base;
 	u32 reg;
 
 	if (!dw_pcie_link_up(pp)) {
 		/* Disable LTSSM state machine to enable configuration */
-		reg = readl(base + PCIE_GLOBAL_CONTROL_REG);
+		reg = dw_pcie_readl_rc(pp, PCIE_GLOBAL_CONTROL_REG);
 		reg &= ~(PCIE_APP_LTSSM_EN);
-		writel(reg, base + PCIE_GLOBAL_CONTROL_REG);
+		dw_pcie_writel_rc(pp, PCIE_GLOBAL_CONTROL_REG, reg);
 	}
 
 	/* Set the device to root complex mode */
-	reg = readl(base + PCIE_GLOBAL_CONTROL_REG);
+	reg = dw_pcie_readl_rc(pp, PCIE_GLOBAL_CONTROL_REG);
 	reg &= ~(PCIE_DEVICE_TYPE_MASK << PCIE_DEVICE_TYPE_SHIFT);
 	reg |= PCIE_DEVICE_TYPE_RC << PCIE_DEVICE_TYPE_SHIFT;
-	writel(reg, base + PCIE_GLOBAL_CONTROL_REG);
+	dw_pcie_writel_rc(pp, PCIE_GLOBAL_CONTROL_REG, reg);
 
 	/* Set the PCIe master AxCache attributes */
-	writel(ARCACHE_DEFAULT_VALUE, base + PCIE_ARCACHE_TRC_REG);
-	writel(AWCACHE_DEFAULT_VALUE, base + PCIE_AWCACHE_TRC_REG);
+	dw_pcie_writel_rc(pp, PCIE_ARCACHE_TRC_REG, ARCACHE_DEFAULT_VALUE);
+	dw_pcie_writel_rc(pp, PCIE_AWCACHE_TRC_REG, AWCACHE_DEFAULT_VALUE);
 
 	/* Set the PCIe master AxDomain attributes */
-	reg = readl(base + PCIE_ARUSER_REG);
+	reg = dw_pcie_readl_rc(pp, PCIE_ARUSER_REG);
 	reg &= ~(AX_USER_DOMAIN_MASK << AX_USER_DOMAIN_SHIFT);
 	reg |= DOMAIN_OUTER_SHAREABLE << AX_USER_DOMAIN_SHIFT;
-	writel(reg, base + PCIE_ARUSER_REG);
+	dw_pcie_writel_rc(pp, PCIE_ARUSER_REG, reg);
 
-	reg = readl(base + PCIE_AWUSER_REG);
+	reg = dw_pcie_readl_rc(pp, PCIE_AWUSER_REG);
 	reg &= ~(AX_USER_DOMAIN_MASK << AX_USER_DOMAIN_SHIFT);
 	reg |= DOMAIN_OUTER_SHAREABLE << AX_USER_DOMAIN_SHIFT;
-	writel(reg, base + PCIE_AWUSER_REG);
+	dw_pcie_writel_rc(pp, PCIE_AWUSER_REG, reg);
 
 	/* Enable INT A-D interrupts */
-	reg = readl(base + PCIE_GLOBAL_INT_MASK1_REG);
+	reg = dw_pcie_readl_rc(pp, PCIE_GLOBAL_INT_MASK1_REG);
 	reg |= PCIE_INT_A_ASSERT_MASK | PCIE_INT_B_ASSERT_MASK |
 	       PCIE_INT_C_ASSERT_MASK | PCIE_INT_D_ASSERT_MASK;
-	writel(reg, base + PCIE_GLOBAL_INT_MASK1_REG);
+	dw_pcie_writel_rc(pp, PCIE_GLOBAL_INT_MASK1_REG, reg);
 
 	if (!dw_pcie_link_up(pp)) {
 		/* Configuration done. Start LTSSM */
-		reg = readl(base + PCIE_GLOBAL_CONTROL_REG);
+		reg = dw_pcie_readl_rc(pp, PCIE_GLOBAL_CONTROL_REG);
 		reg |= PCIE_APP_LTSSM_EN;
-		writel(reg, base + PCIE_GLOBAL_CONTROL_REG);
+		dw_pcie_writel_rc(pp, PCIE_GLOBAL_CONTROL_REG, reg);
 	}
 
 	/* Wait until the link becomes active again */
@@ -146,8 +142,6 @@ static void armada8k_pcie_host_init(struct pcie_port *pp)
 static irqreturn_t armada8k_pcie_irq_handler(int irq, void *arg)
 {
 	struct pcie_port *pp = arg;
-	struct armada8k_pcie *pcie = to_armada8k_pcie(pp);
-	void __iomem *base = pcie->pp.dbi_base;
 	u32 val;
 
 	/*
@@ -155,8 +149,8 @@ static irqreturn_t armada8k_pcie_irq_handler(int irq, void *arg)
 	 * PCI device. However, they are also latched into the PCIe
 	 * controller, so we simply discard them.
 	 */
-	val = readl(base + PCIE_GLOBAL_INT_CAUSE1_REG);
-	writel(val, base + PCIE_GLOBAL_INT_CAUSE1_REG);
+	val = dw_pcie_readl_rc(pp, PCIE_GLOBAL_INT_CAUSE1_REG);
+	dw_pcie_writel_rc(pp, PCIE_GLOBAL_INT_CAUSE1_REG, val);
 
 	return IRQ_HANDLED;
 }


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

* [PATCH v2 5/6] PCI: armada: Pass device-specific struct to internal functions
  2016-10-12 13:25 [PATCH v2 0/6] PCI: armada: Cleanups Bjorn Helgaas
                   ` (3 preceding siblings ...)
  2016-10-12 13:25 ` [PATCH v2 4/6] PCI: armada: Use generic DesignWare accessors Bjorn Helgaas
@ 2016-10-12 13:25 ` Bjorn Helgaas
  2016-10-12 13:26 ` [PATCH v2 6/6] PCI: armada: Reorder struct armada8k_pcie Bjorn Helgaas
  2016-10-12 16:04 ` [PATCH v2 0/6] PCI: armada: Cleanups Bjorn Helgaas
  6 siblings, 0 replies; 8+ messages in thread
From: Bjorn Helgaas @ 2016-10-12 13:25 UTC (permalink / raw)
  To: Thomas Petazzoni; +Cc: linux-pci

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>
Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 drivers/pci/host/pcie-armada8k.c |   17 +++++++++++------
 1 file changed, 11 insertions(+), 6 deletions(-)

diff --git a/drivers/pci/host/pcie-armada8k.c b/drivers/pci/host/pcie-armada8k.c
index a5faa02..63297ed 100644
--- a/drivers/pci/host/pcie-armada8k.c
+++ b/drivers/pci/host/pcie-armada8k.c
@@ -83,8 +83,9 @@ static int armada8k_pcie_link_up(struct pcie_port *pp)
 	return 0;
 }
 
-static void armada8k_pcie_establish_link(struct pcie_port *pp)
+static void armada8k_pcie_establish_link(struct armada8k_pcie *pcie)
 {
+	struct pcie_port *pp = &pcie->pp;
 	u32 reg;
 
 	if (!dw_pcie_link_up(pp)) {
@@ -135,13 +136,16 @@ static void armada8k_pcie_establish_link(struct pcie_port *pp)
 
 static void armada8k_pcie_host_init(struct pcie_port *pp)
 {
+	struct armada8k_pcie *pcie = to_armada8k_pcie(pp);
+
 	dw_pcie_setup_rc(pp);
-	armada8k_pcie_establish_link(pp);
+	armada8k_pcie_establish_link(pcie);
 }
 
 static irqreturn_t armada8k_pcie_irq_handler(int irq, void *arg)
 {
-	struct pcie_port *pp = arg;
+	struct armada8k_pcie *pcie = arg;
+	struct pcie_port *pp = &pcie->pp;
 	u32 val;
 
 	/*
@@ -160,9 +164,10 @@ static struct pcie_host_ops armada8k_pcie_host_ops = {
 	.host_init = armada8k_pcie_host_init,
 };
 
-static int armada8k_add_pcie_port(struct pcie_port *pp,
+static int armada8k_add_pcie_port(struct armada8k_pcie *pcie,
 				  struct platform_device *pdev)
 {
+	struct pcie_port *pp = &pcie->pp;
 	struct device *dev = &pdev->dev;
 	int ret;
 
@@ -176,7 +181,7 @@ static int armada8k_add_pcie_port(struct pcie_port *pp,
 	}
 
 	ret = devm_request_irq(dev, pp->irq, armada8k_pcie_irq_handler,
-			       IRQF_SHARED, "armada8k-pcie", pp);
+			       IRQF_SHARED, "armada8k-pcie", pcie);
 	if (ret) {
 		dev_err(dev, "failed to request irq %d\n", pp->irq);
 		return ret;
@@ -221,7 +226,7 @@ static int armada8k_pcie_probe(struct platform_device *pdev)
 		goto fail;
 	}
 
-	ret = armada8k_add_pcie_port(pp, pdev);
+	ret = armada8k_add_pcie_port(pcie, pdev);
 	if (ret)
 		goto fail;
 


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

* [PATCH v2 6/6] PCI: armada: Reorder struct armada8k_pcie
  2016-10-12 13:25 [PATCH v2 0/6] PCI: armada: Cleanups Bjorn Helgaas
                   ` (4 preceding siblings ...)
  2016-10-12 13:25 ` [PATCH v2 5/6] PCI: armada: Pass device-specific struct to internal functions Bjorn Helgaas
@ 2016-10-12 13:26 ` Bjorn Helgaas
  2016-10-12 16:04 ` [PATCH v2 0/6] PCI: armada: Cleanups Bjorn Helgaas
  6 siblings, 0 replies; 8+ messages in thread
From: Bjorn Helgaas @ 2016-10-12 13:26 UTC (permalink / raw)
  To: Thomas Petazzoni; +Cc: linux-pci

Reorder the device-specific struct to put the DesignWare generic struct
pcie_port first.  No functional change intended.

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 drivers/pci/host/pcie-armada8k.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pci/host/pcie-armada8k.c b/drivers/pci/host/pcie-armada8k.c
index 63297ed..0ac0f18 100644
--- a/drivers/pci/host/pcie-armada8k.c
+++ b/drivers/pci/host/pcie-armada8k.c
@@ -29,8 +29,8 @@
 #include "pcie-designware.h"
 
 struct armada8k_pcie {
+	struct pcie_port pp;		/* pp.dbi_base is DT ctrl */
 	struct clk *clk;
-	struct pcie_port pp;
 };
 
 #define PCIE_VENDOR_REGS_OFFSET		0x8000


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

* Re: [PATCH v2 0/6] PCI: armada: Cleanups
  2016-10-12 13:25 [PATCH v2 0/6] PCI: armada: Cleanups Bjorn Helgaas
                   ` (5 preceding siblings ...)
  2016-10-12 13:26 ` [PATCH v2 6/6] PCI: armada: Reorder struct armada8k_pcie Bjorn Helgaas
@ 2016-10-12 16:04 ` Bjorn Helgaas
  6 siblings, 0 replies; 8+ messages in thread
From: Bjorn Helgaas @ 2016-10-12 16:04 UTC (permalink / raw)
  To: Bjorn Helgaas; +Cc: Thomas Petazzoni, linux-pci

On Wed, Oct 12, 2016 at 08:25:11AM -0500, Bjorn Helgaas wrote:
>   - Remove platform drvdata because it appears unused (we called
>     platform_set_drvdata() but not platform_get_drvdata()).
> 
>   - Remove redundant struct members.
> 
>   - Use generic DesignWare accessors when possible.
> 
>   - 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 patches because they were a lot of churn for
>   questionable benefit:
>     PCI: armada: Name private struct pointer "armada8k" consistently
>     PCI: armada: Add register accessors
> 
> ---
> 
> Bjorn Helgaas (6):
>       PCI: armada: Remove unused platform data
>       PCI: armada: Add local base pointer
>       PCI: armada: Remove redundant struct armada8k_pcie.base
>       PCI: armada: Use generic DesignWare accessors
>       PCI: armada: Pass device-specific struct to internal functions
>       PCI: armada: Reorder struct armada8k_pcie
> 
> 
>  drivers/pci/host/pcie-armada8k.c |   78 ++++++++++++++++++--------------------

I applied these to pci/host-armada 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] 8+ messages in thread

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

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-10-12 13:25 [PATCH v2 0/6] PCI: armada: Cleanups Bjorn Helgaas
2016-10-12 13:25 ` [PATCH v2 1/6] PCI: armada: Remove unused platform data Bjorn Helgaas
2016-10-12 13:25 ` [PATCH v2 2/6] PCI: armada: Add local base pointer Bjorn Helgaas
2016-10-12 13:25 ` [PATCH v2 3/6] PCI: armada: Remove redundant struct armada8k_pcie.base Bjorn Helgaas
2016-10-12 13:25 ` [PATCH v2 4/6] PCI: armada: Use generic DesignWare accessors Bjorn Helgaas
2016-10-12 13:25 ` [PATCH v2 5/6] PCI: armada: Pass device-specific struct to internal functions Bjorn Helgaas
2016-10-12 13:26 ` [PATCH v2 6/6] PCI: armada: Reorder struct armada8k_pcie Bjorn Helgaas
2016-10-12 16:04 ` [PATCH v2 0/6] PCI: armada: Cleanups Bjorn Helgaas

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.