All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 00/10] PCI DT header refactoring and compile test improvements
@ 2018-03-21 14:42 Lorenzo Pieralisi
  2018-03-21 14:42 ` [PATCH v2 01/10] PCI: kirin: Remove unnecessary asm/compiler.h include Lorenzo Pieralisi
                   ` (10 more replies)
  0 siblings, 11 replies; 21+ messages in thread
From: Lorenzo Pieralisi @ 2018-03-21 14:42 UTC (permalink / raw)
  To: linux-pci
  Cc: Lorenzo Pieralisi, Bjorn Helgaas, Rob Herring, Linus Walleij,
	Xiaowei Song, Ray Jui, Scott Branden, Jon Mason, Jingoo Han,
	Joao Pinto, Thomas Petazzoni, Tanmay Inamdar, Shawn Lin,
	Ley Foon Tan, Fengguang Wu

Rebased/reworked a patch series previously posted by Rob Herring[1].

v1 -> v2:
	- Rebased against v4.16-rc1
	- Refactored/split patches

[1] https://marc.info/?l=linux-pci&m=152043736711658&w=2

Original cover letter
---------------------

This started with just moving private functions from of_pci.h to
drivers/pci/pci.h, but I was annoyed with trying to build all the right
configs, so I enabled COMPILE_TEST on a bunch of drivers. Then I fixed
the fallout from doing that. I'm sending this as all one series, but
really there is no dependency for the header refactoring patch.

Needless to say, this series is *compile tested* only. This is based on 
Bjorn's for-linus branch (and the of_pci.h fix there).

Rob

Fengguang Wu (4):
  PCI: kirin: struct kirin_pcie_driver can be static
  PCI: faraday: struct faraday_pci_variant can be static
  PCI: rcar: Fix semicolon.cocci warnings
  PCI: v3-semi: Fix semicolon.cocci warnings

Rob Herring (6):
  PCI: kirin: Remove unnecessary asm/compiler.h include
  PCI: iproc: Remove dependency on ARM specific struct pci_sys_data
  PCI: kirin: Fix missing dependency on PCI_MSI_IRQ_DOMAIN
  PCI: Improve host drivers compile test coverage
  PCI: dwc: Move CONFIG_PCI depends to menu
  PCI: Move private DT related functions into private header

 drivers/pci/dwc/Kconfig                | 42 +++++++++++++---------------------
 drivers/pci/dwc/pci-dra7xx.c           |  1 +
 drivers/pci/dwc/pcie-designware-host.c |  1 +
 drivers/pci/dwc/pcie-kirin.c           |  3 +--
 drivers/pci/host/Kconfig               | 32 ++++++++++++--------------
 drivers/pci/host/pci-aardvark.c        |  2 ++
 drivers/pci/host/pci-ftpci100.c        |  6 +++--
 drivers/pci/host/pci-mvebu.c           |  2 ++
 drivers/pci/host/pci-rcar-gen2.c       |  2 ++
 drivers/pci/host/pci-tegra.c           |  2 ++
 drivers/pci/host/pci-v3-semi.c         |  4 +++-
 drivers/pci/host/pci-xgene.c           |  2 ++
 drivers/pci/host/pcie-altera.c         |  2 ++
 drivers/pci/host/pcie-iproc-bcma.c     |  3 +--
 drivers/pci/host/pcie-iproc-platform.c |  1 +
 drivers/pci/host/pcie-iproc.c          | 19 ++-------------
 drivers/pci/host/pcie-iproc.h          |  4 ----
 drivers/pci/host/pcie-mediatek.c       |  2 ++
 drivers/pci/host/pcie-rcar.c           |  4 +++-
 drivers/pci/host/pcie-rockchip.c       |  2 ++
 drivers/pci/host/pcie-xilinx-nwl.c     |  2 ++
 drivers/pci/host/pcie-xilinx.c         |  2 ++
 drivers/pci/pci.h                      | 40 ++++++++++++++++++++++++++++++++
 include/linux/of_pci.h                 | 34 ---------------------------
 24 files changed, 108 insertions(+), 106 deletions(-)

-- 
2.15.0

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

* [PATCH v2 01/10] PCI: kirin: Remove unnecessary asm/compiler.h include
  2018-03-21 14:42 [PATCH v2 00/10] PCI DT header refactoring and compile test improvements Lorenzo Pieralisi
@ 2018-03-21 14:42 ` Lorenzo Pieralisi
  2018-03-21 14:42 ` [PATCH v2 02/10] PCI: iproc: Remove dependency on ARM specific struct pci_sys_data Lorenzo Pieralisi
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 21+ messages in thread
From: Lorenzo Pieralisi @ 2018-03-21 14:42 UTC (permalink / raw)
  To: linux-pci
  Cc: Rob Herring, Lorenzo Pieralisi, Bjorn Helgaas, Linus Walleij,
	Xiaowei Song, Ray Jui, Scott Branden, Jon Mason, Jingoo Han,
	Joao Pinto, Thomas Petazzoni, Tanmay Inamdar, Shawn Lin,
	Ley Foon Tan, Fengguang Wu

From: Rob Herring <robh@kernel.org>

compiler.h is unnecessary and doesn't exist on some arches, so remove
it.

Signed-off-by: Rob Herring <robh@kernel.org>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
---
 drivers/pci/dwc/pcie-kirin.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/pci/dwc/pcie-kirin.c b/drivers/pci/dwc/pcie-kirin.c
index 13d839bd6160..dcc8cedf6e17 100644
--- a/drivers/pci/dwc/pcie-kirin.c
+++ b/drivers/pci/dwc/pcie-kirin.c
@@ -8,7 +8,6 @@
  * Author: Xiaowei Song <songxiaowei@huawei.com>
  */
 
-#include <asm/compiler.h>
 #include <linux/compiler.h>
 #include <linux/clk.h>
 #include <linux/delay.h>
-- 
2.15.0

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

* [PATCH v2 02/10] PCI: iproc: Remove dependency on ARM specific struct pci_sys_data
  2018-03-21 14:42 [PATCH v2 00/10] PCI DT header refactoring and compile test improvements Lorenzo Pieralisi
  2018-03-21 14:42 ` [PATCH v2 01/10] PCI: kirin: Remove unnecessary asm/compiler.h include Lorenzo Pieralisi
@ 2018-03-21 14:42 ` Lorenzo Pieralisi
  2018-03-21 21:16   ` Bjorn Helgaas
  2018-03-21 14:42 ` [PATCH v2 03/10] PCI: kirin: Fix missing dependency on PCI_MSI_IRQ_DOMAIN Lorenzo Pieralisi
                   ` (8 subsequent siblings)
  10 siblings, 1 reply; 21+ messages in thread
From: Lorenzo Pieralisi @ 2018-03-21 14:42 UTC (permalink / raw)
  To: linux-pci
  Cc: Rob Herring, Lorenzo Pieralisi, Bjorn Helgaas, Linus Walleij,
	Xiaowei Song, Ray Jui, Scott Branden, Jon Mason, Jingoo Han,
	Joao Pinto, Thomas Petazzoni, Tanmay Inamdar, Shawn Lin,
	Ley Foon Tan, Fengguang Wu

From: Rob Herring <robh@kernel.org>

The iproc driver is using ARM's struct pci_sys_data simply to store a
private data pointer. This is completely unnecessary, so store the
private data directly in bus->sysdata as is done on arm64.

Signed-off-by: Rob Herring <robh@kernel.org>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Acked-by: Scott Branden <scott.branden@broadcom.com>
---
 drivers/pci/host/pcie-iproc-bcma.c |  3 +--
 drivers/pci/host/pcie-iproc.c      | 19 ++-----------------
 drivers/pci/host/pcie-iproc.h      |  4 ----
 3 files changed, 3 insertions(+), 23 deletions(-)

diff --git a/drivers/pci/host/pcie-iproc-bcma.c b/drivers/pci/host/pcie-iproc-bcma.c
index 603c83429cb3..aa55b064f64d 100644
--- a/drivers/pci/host/pcie-iproc-bcma.c
+++ b/drivers/pci/host/pcie-iproc-bcma.c
@@ -25,8 +25,7 @@ DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_BROADCOM, 0x8012, bcma_pcie2_fixup_class);
 
 static int iproc_pcie_bcma_map_irq(const struct pci_dev *dev, u8 slot, u8 pin)
 {
-	struct pci_sys_data *sys = dev->sysdata;
-	struct iproc_pcie *pcie = sys->private_data;
+	struct iproc_pcie *pcie = dev->sysdata;
 	struct bcma_device *bdev = container_of(pcie->dev, struct bcma_device, dev);
 
 	return bcma_core_irq(bdev, 5);
diff --git a/drivers/pci/host/pcie-iproc.c b/drivers/pci/host/pcie-iproc.c
index cbb095481cdc..3c76c5fa4f32 100644
--- a/drivers/pci/host/pcie-iproc.c
+++ b/drivers/pci/host/pcie-iproc.c
@@ -377,14 +377,7 @@ static const u16 iproc_pcie_reg_paxc_v2[] = {
 
 static inline struct iproc_pcie *iproc_data(struct pci_bus *bus)
 {
-	struct iproc_pcie *pcie;
-#ifdef CONFIG_ARM
-	struct pci_sys_data *sys = bus->sysdata;
-
-	pcie = sys->private_data;
-#else
-	pcie = bus->sysdata;
-#endif
+	struct iproc_pcie *pcie = bus->sysdata;
 	return pcie;
 }
 
@@ -1331,7 +1324,6 @@ int iproc_pcie_setup(struct iproc_pcie *pcie, struct list_head *res)
 {
 	struct device *dev;
 	int ret;
-	void *sysdata;
 	struct pci_bus *child;
 	struct pci_host_bridge *host = pci_host_bridge_from_priv(pcie);
 
@@ -1376,13 +1368,6 @@ int iproc_pcie_setup(struct iproc_pcie *pcie, struct list_head *res)
 			goto err_power_off_phy;
 	}
 
-#ifdef CONFIG_ARM
-	pcie->sysdata.private_data = pcie;
-	sysdata = &pcie->sysdata;
-#else
-	sysdata = pcie;
-#endif
-
 	ret = iproc_pcie_check_link(pcie);
 	if (ret) {
 		dev_err(dev, "no PCIe EP device detected\n");
@@ -1399,7 +1384,7 @@ int iproc_pcie_setup(struct iproc_pcie *pcie, struct list_head *res)
 	host->busnr = 0;
 	host->dev.parent = dev;
 	host->ops = &iproc_pcie_ops;
-	host->sysdata = sysdata;
+	host->sysdata = pcie;
 	host->map_irq = pcie->map_irq;
 	host->swizzle_irq = pci_common_swizzle;
 
diff --git a/drivers/pci/host/pcie-iproc.h b/drivers/pci/host/pcie-iproc.h
index d55f56a186cd..814b600b383a 100644
--- a/drivers/pci/host/pcie-iproc.h
+++ b/drivers/pci/host/pcie-iproc.h
@@ -54,7 +54,6 @@ struct iproc_msi;
  * @reg_offsets: register offsets
  * @base: PCIe host controller I/O register base
  * @base_addr: PCIe host controller register base physical address
- * @sysdata: Per PCI controller data (ARM-specific)
  * @root_bus: pointer to root bus
  * @phy: optional PHY device that controls the Serdes
  * @map_irq: function callback to map interrupts
@@ -80,9 +79,6 @@ struct iproc_pcie {
 	u16 *reg_offsets;
 	void __iomem *base;
 	phys_addr_t base_addr;
-#ifdef CONFIG_ARM
-	struct pci_sys_data sysdata;
-#endif
 	struct resource mem;
 	struct pci_bus *root_bus;
 	struct phy *phy;
-- 
2.15.0

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

* [PATCH v2 03/10] PCI: kirin: Fix missing dependency on PCI_MSI_IRQ_DOMAIN
  2018-03-21 14:42 [PATCH v2 00/10] PCI DT header refactoring and compile test improvements Lorenzo Pieralisi
  2018-03-21 14:42 ` [PATCH v2 01/10] PCI: kirin: Remove unnecessary asm/compiler.h include Lorenzo Pieralisi
  2018-03-21 14:42 ` [PATCH v2 02/10] PCI: iproc: Remove dependency on ARM specific struct pci_sys_data Lorenzo Pieralisi
@ 2018-03-21 14:42 ` Lorenzo Pieralisi
  2018-03-21 14:42 ` [PATCH v2 04/10] PCI: kirin: struct kirin_pcie_driver can be static Lorenzo Pieralisi
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 21+ messages in thread
From: Lorenzo Pieralisi @ 2018-03-21 14:42 UTC (permalink / raw)
  To: linux-pci
  Cc: Rob Herring, Lorenzo Pieralisi, Bjorn Helgaas, Linus Walleij,
	Xiaowei Song, Ray Jui, Scott Branden, Jon Mason, Jingoo Han,
	Joao Pinto, Thomas Petazzoni, Tanmay Inamdar, Shawn Lin,
	Ley Foon Tan, Fengguang Wu

From: Rob Herring <robh@kernel.org>

PCIE_DW_HOST depends on PCI_MSI_IRQ_DOMAIN and since kirin selects
PCIE_DW_HOST, it must also depend on PCI_MSI_IRQ_DOMAIN. This was found
by 0-day once building on all arches was enabled.

Signed-off-by: Rob Herring <robh@kernel.org>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
---
 drivers/pci/dwc/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/pci/dwc/Kconfig b/drivers/pci/dwc/Kconfig
index 0f666b1ce289..2f3f5c50aa48 100644
--- a/drivers/pci/dwc/Kconfig
+++ b/drivers/pci/dwc/Kconfig
@@ -176,6 +176,7 @@ config PCIE_ARTPEC6_EP
 config PCIE_KIRIN
 	depends on OF && ARM64
 	bool "HiSilicon Kirin series SoCs PCIe controllers"
+	depends on PCI_MSI_IRQ_DOMAIN
 	depends on PCI
 	select PCIEPORTBUS
 	select PCIE_DW_HOST
-- 
2.15.0

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

* [PATCH v2 04/10] PCI: kirin: struct kirin_pcie_driver can be static
  2018-03-21 14:42 [PATCH v2 00/10] PCI DT header refactoring and compile test improvements Lorenzo Pieralisi
                   ` (2 preceding siblings ...)
  2018-03-21 14:42 ` [PATCH v2 03/10] PCI: kirin: Fix missing dependency on PCI_MSI_IRQ_DOMAIN Lorenzo Pieralisi
@ 2018-03-21 14:42 ` Lorenzo Pieralisi
  2018-03-27 17:44   ` Bjorn Helgaas
  2018-03-21 14:42 ` [PATCH v2 05/10] PCI: faraday: struct faraday_pci_variant " Lorenzo Pieralisi
                   ` (6 subsequent siblings)
  10 siblings, 1 reply; 21+ messages in thread
From: Lorenzo Pieralisi @ 2018-03-21 14:42 UTC (permalink / raw)
  To: linux-pci
  Cc: Fengguang Wu, Rob Herring, Lorenzo Pieralisi, Bjorn Helgaas,
	Linus Walleij, Xiaowei Song, Ray Jui, Scott Branden, Jon Mason,
	Jingoo Han, Joao Pinto, Thomas Petazzoni, Tanmay Inamdar,
	Shawn Lin, Ley Foon Tan

From: Fengguang Wu <fengguang.wu@intel.com>

This was generated from 0-day builder.

Signed-off-by: Fengguang Wu <fengguang.wu@intel.com>
[robh: add commit msg]
Signed-off-by: Rob Herring <robh@kernel.org>
[lorenzo.pieralisi@arm.com: reworked the commit log]
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
---
 drivers/pci/dwc/pcie-kirin.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pci/dwc/pcie-kirin.c b/drivers/pci/dwc/pcie-kirin.c
index dcc8cedf6e17..a6b88c7f6e3e 100644
--- a/drivers/pci/dwc/pcie-kirin.c
+++ b/drivers/pci/dwc/pcie-kirin.c
@@ -504,7 +504,7 @@ static const struct of_device_id kirin_pcie_match[] = {
 	{},
 };
 
-struct platform_driver kirin_pcie_driver = {
+static struct platform_driver kirin_pcie_driver = {
 	.probe			= kirin_pcie_probe,
 	.driver			= {
 		.name			= "kirin-pcie",
-- 
2.15.0

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

* [PATCH v2 05/10] PCI: faraday: struct faraday_pci_variant can be static
  2018-03-21 14:42 [PATCH v2 00/10] PCI DT header refactoring and compile test improvements Lorenzo Pieralisi
                   ` (3 preceding siblings ...)
  2018-03-21 14:42 ` [PATCH v2 04/10] PCI: kirin: struct kirin_pcie_driver can be static Lorenzo Pieralisi
@ 2018-03-21 14:42 ` Lorenzo Pieralisi
  2018-03-22 10:46   ` Linus Walleij
  2018-03-21 14:42 ` [PATCH v2 06/10] PCI: rcar: Fix semicolon.cocci warnings Lorenzo Pieralisi
                   ` (5 subsequent siblings)
  10 siblings, 1 reply; 21+ messages in thread
From: Lorenzo Pieralisi @ 2018-03-21 14:42 UTC (permalink / raw)
  To: linux-pci
  Cc: Fengguang Wu, Lorenzo Pieralisi, Bjorn Helgaas, Rob Herring,
	Linus Walleij, Xiaowei Song, Ray Jui, Scott Branden, Jon Mason,
	Jingoo Han, Joao Pinto, Thomas Petazzoni, Tanmay Inamdar,
	Shawn Lin, Ley Foon Tan

From: Fengguang Wu <fengguang.wu@intel.com>

This was generated from 0-day builder.

Signed-off-by: Fengguang Wu <fengguang.wu@intel.com>
[lorenzo.pieralisi@arm.com: reworked/split patch]
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
---
 drivers/pci/host/pci-ftpci100.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/pci/host/pci-ftpci100.c b/drivers/pci/host/pci-ftpci100.c
index b9617d1c1d48..5008fd87956a 100644
--- a/drivers/pci/host/pci-ftpci100.c
+++ b/drivers/pci/host/pci-ftpci100.c
@@ -586,11 +586,11 @@ static int faraday_pci_probe(struct platform_device *pdev)
  * We encode bridge variants here, we have at least two so it doesn't
  * hurt to have infrastructure to encompass future variants as well.
  */
-const struct faraday_pci_variant faraday_regular = {
+static const struct faraday_pci_variant faraday_regular = {
 	.cascaded_irq = true,
 };
 
-const struct faraday_pci_variant faraday_dual = {
+static const struct faraday_pci_variant faraday_dual = {
 	.cascaded_irq = false,
 };
 
-- 
2.15.0

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

* [PATCH v2 06/10] PCI: rcar: Fix semicolon.cocci warnings
  2018-03-21 14:42 [PATCH v2 00/10] PCI DT header refactoring and compile test improvements Lorenzo Pieralisi
                   ` (4 preceding siblings ...)
  2018-03-21 14:42 ` [PATCH v2 05/10] PCI: faraday: struct faraday_pci_variant " Lorenzo Pieralisi
@ 2018-03-21 14:42 ` Lorenzo Pieralisi
  2018-03-21 14:42 ` [PATCH v2 07/10] PCI: v3-semi: " Lorenzo Pieralisi
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 21+ messages in thread
From: Lorenzo Pieralisi @ 2018-03-21 14:42 UTC (permalink / raw)
  To: linux-pci
  Cc: Fengguang Wu, Julia Lawall, Rob Herring, Lorenzo Pieralisi,
	Bjorn Helgaas, Linus Walleij, Xiaowei Song, Ray Jui,
	Scott Branden, Jon Mason, Jingoo Han, Joao Pinto,
	Thomas Petazzoni, Tanmay Inamdar, Shawn Lin, Ley Foon Tan

From: Fengguang Wu <fengguang.wu@intel.com>

Remove unneeded semicolon.

Generated by: scripts/coccinelle/misc/semicolon.cocci

Signed-off-by: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: Julia Lawall <julia.lawall@lip6.fr>
Signed-off-by: Rob Herring <robh@kernel.org>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
---
 drivers/pci/host/pcie-rcar.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pci/host/pcie-rcar.c b/drivers/pci/host/pcie-rcar.c
index b4c4aad2cf66..6ab28f29ac6a 100644
--- a/drivers/pci/host/pcie-rcar.c
+++ b/drivers/pci/host/pcie-rcar.c
@@ -435,7 +435,7 @@ static void rcar_pcie_force_speedup(struct rcar_pcie *pcie)
 		}
 
 		msleep(1);
-	};
+	}
 
 	dev_err(dev, "Speed change timed out\n");
 
-- 
2.15.0

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

* [PATCH v2 07/10] PCI: v3-semi: Fix semicolon.cocci warnings
  2018-03-21 14:42 [PATCH v2 00/10] PCI DT header refactoring and compile test improvements Lorenzo Pieralisi
                   ` (5 preceding siblings ...)
  2018-03-21 14:42 ` [PATCH v2 06/10] PCI: rcar: Fix semicolon.cocci warnings Lorenzo Pieralisi
@ 2018-03-21 14:42 ` Lorenzo Pieralisi
  2018-03-22 10:27   ` Linus Walleij
  2018-03-21 14:42 ` [PATCH v2 08/10] PCI: Improve host drivers compile test coverage Lorenzo Pieralisi
                   ` (3 subsequent siblings)
  10 siblings, 1 reply; 21+ messages in thread
From: Lorenzo Pieralisi @ 2018-03-21 14:42 UTC (permalink / raw)
  To: linux-pci
  Cc: Fengguang Wu, Rob Herring, Lorenzo Pieralisi, Bjorn Helgaas,
	Linus Walleij, Xiaowei Song, Ray Jui, Scott Branden, Jon Mason,
	Jingoo Han, Joao Pinto, Thomas Petazzoni, Tanmay Inamdar,
	Shawn Lin, Ley Foon Tan

From: Fengguang Wu <fengguang.wu@intel.com>

drivers/pci/host/pci-v3-semi.c:676:2-3: Unneeded semicolon

Remove unneeded semicolon.

Generated by: scripts/coccinelle/misc/semicolon.cocci

Signed-off-by: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: Rob Herring <robh@kernel.org>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
---
 drivers/pci/host/pci-v3-semi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pci/host/pci-v3-semi.c b/drivers/pci/host/pci-v3-semi.c
index 7fef64869d19..0a4dea796663 100644
--- a/drivers/pci/host/pci-v3-semi.c
+++ b/drivers/pci/host/pci-v3-semi.c
@@ -673,7 +673,7 @@ static int v3_get_dma_range_config(struct v3_pci *v3,
 		dev_err(v3->dev, "illegal dma memory chunk size\n");
 		return -EINVAL;
 		break;
-	};
+	}
 	val |= V3_PCI_MAP_M_REG_EN | V3_PCI_MAP_M_ENABLE;
 	*pci_map = val;
 
-- 
2.15.0

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

* [PATCH v2 08/10] PCI: Improve host drivers compile test coverage
  2018-03-21 14:42 [PATCH v2 00/10] PCI DT header refactoring and compile test improvements Lorenzo Pieralisi
                   ` (6 preceding siblings ...)
  2018-03-21 14:42 ` [PATCH v2 07/10] PCI: v3-semi: " Lorenzo Pieralisi
@ 2018-03-21 14:42 ` Lorenzo Pieralisi
  2018-03-21 17:58   ` Scott Branden
  2018-03-21 14:42 ` [PATCH v2 09/10] PCI: dwc: Move CONFIG_PCI depends to menu Lorenzo Pieralisi
                   ` (2 subsequent siblings)
  10 siblings, 1 reply; 21+ messages in thread
From: Lorenzo Pieralisi @ 2018-03-21 14:42 UTC (permalink / raw)
  To: linux-pci
  Cc: Rob Herring, Lorenzo Pieralisi, Bjorn Helgaas, Linus Walleij,
	Xiaowei Song, Ray Jui, Scott Branden, Jon Mason, Jingoo Han,
	Joao Pinto, Thomas Petazzoni, Tanmay Inamdar, Shawn Lin,
	Ley Foon Tan, Fengguang Wu

From: Rob Herring <robh@kernel.org>

Add COMPILE_TEST on driver config options with it. Some ARM drivers
still have arch dependencies, so we have to keep those dependent on ARM.

Link: https://lkml.kernel.org/r/20180307154243.3205-8-robh@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org>
[lorenzo.pieralisi@arm.com: reworked the BCM_IPROC dependency]
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
---
 drivers/pci/dwc/Kconfig  | 24 ++++++++++++------------
 drivers/pci/host/Kconfig | 32 +++++++++++++++-----------------
 2 files changed, 27 insertions(+), 29 deletions(-)

diff --git a/drivers/pci/dwc/Kconfig b/drivers/pci/dwc/Kconfig
index 2f3f5c50aa48..6f2b653146bb 100644
--- a/drivers/pci/dwc/Kconfig
+++ b/drivers/pci/dwc/Kconfig
@@ -66,7 +66,7 @@ config PCIE_DW_PLAT
 config PCI_EXYNOS
 	bool "Samsung Exynos PCIe controller"
 	depends on PCI
-	depends on SOC_EXYNOS5440
+	depends on SOC_EXYNOS5440 || COMPILE_TEST
 	depends on PCI_MSI_IRQ_DOMAIN
 	select PCIEPORTBUS
 	select PCIE_DW_HOST
@@ -74,7 +74,7 @@ config PCI_EXYNOS
 config PCI_IMX6
 	bool "Freescale i.MX6 PCIe controller"
 	depends on PCI
-	depends on SOC_IMX6Q
+	depends on SOC_IMX6Q || (ARM && COMPILE_TEST)
 	depends on PCI_MSI_IRQ_DOMAIN
 	select PCIEPORTBUS
 	select PCIE_DW_HOST
@@ -82,7 +82,7 @@ config PCI_IMX6
 config PCIE_SPEAR13XX
 	bool "STMicroelectronics SPEAr PCIe controller"
 	depends on PCI
-	depends on ARCH_SPEAR13XX
+	depends on ARCH_SPEAR13XX || COMPILE_TEST
 	depends on PCI_MSI_IRQ_DOMAIN
 	select PCIEPORTBUS
 	select PCIE_DW_HOST
@@ -92,7 +92,7 @@ config PCIE_SPEAR13XX
 config PCI_KEYSTONE
 	bool "TI Keystone PCIe controller"
 	depends on PCI
-	depends on ARCH_KEYSTONE
+	depends on ARCH_KEYSTONE || (ARM && COMPILE_TEST)
 	depends on PCI_MSI_IRQ_DOMAIN
 	select PCIEPORTBUS
 	select PCIE_DW_HOST
@@ -105,7 +105,7 @@ config PCI_KEYSTONE
 config PCI_LAYERSCAPE
 	bool "Freescale Layerscape PCIe controller"
 	depends on PCI
-	depends on OF && (ARM || ARCH_LAYERSCAPE)
+	depends on OF && (ARM || ARCH_LAYERSCAPE || COMPILE_TEST)
 	depends on PCI_MSI_IRQ_DOMAIN
 	select MFD_SYSCON
 	select PCIE_DW_HOST
@@ -113,7 +113,7 @@ config PCI_LAYERSCAPE
 	  Say Y here if you want PCIe controller support on Layerscape SoCs.
 
 config PCI_HISI
-	depends on OF && ARM64
+	depends on OF && (ARM64 || COMPILE_TEST)
 	bool "HiSilicon Hip05 and Hip06 SoCs PCIe controllers"
 	depends on PCI
 	depends on PCI_MSI_IRQ_DOMAIN
@@ -127,7 +127,7 @@ config PCI_HISI
 config PCIE_QCOM
 	bool "Qualcomm PCIe controller"
 	depends on PCI
-	depends on ARCH_QCOM && OF
+	depends on OF && (ARCH_QCOM || COMPILE_TEST)
 	depends on PCI_MSI_IRQ_DOMAIN
 	select PCIEPORTBUS
 	select PCIE_DW_HOST
@@ -139,7 +139,7 @@ config PCIE_QCOM
 config PCIE_ARMADA_8K
 	bool "Marvell Armada-8K PCIe controller"
 	depends on PCI
-	depends on ARCH_MVEBU
+	depends on ARCH_MVEBU || COMPILE_TEST
 	depends on PCI_MSI_IRQ_DOMAIN
 	select PCIEPORTBUS
 	select PCIE_DW_HOST
@@ -154,7 +154,7 @@ config PCIE_ARTPEC6
 
 config PCIE_ARTPEC6_HOST
 	bool "Axis ARTPEC-6 PCIe controller Host Mode"
-	depends on MACH_ARTPEC6
+	depends on MACH_ARTPEC6 || COMPILE_TEST
 	depends on PCI && PCI_MSI_IRQ_DOMAIN
 	select PCIEPORTBUS
 	select PCIE_DW_HOST
@@ -165,7 +165,7 @@ config PCIE_ARTPEC6_HOST
 
 config PCIE_ARTPEC6_EP
 	bool "Axis ARTPEC-6 PCIe controller Endpoint Mode"
-	depends on MACH_ARTPEC6
+	depends on MACH_ARTPEC6 || COMPILE_TEST
 	depends on PCI_ENDPOINT
 	select PCIE_DW_EP
 	select PCIE_ARTPEC6
@@ -174,7 +174,7 @@ config PCIE_ARTPEC6_EP
 	  endpoint mode. This uses the DesignWare core.
 
 config PCIE_KIRIN
-	depends on OF && ARM64
+	depends on OF && (ARM64 || COMPILE_TEST)
 	bool "HiSilicon Kirin series SoCs PCIe controllers"
 	depends on PCI_MSI_IRQ_DOMAIN
 	depends on PCI
@@ -186,7 +186,7 @@ config PCIE_KIRIN
 
 config PCIE_HISI_STB
 	bool "HiSilicon STB SoCs PCIe controllers"
-	depends on ARCH_HISI
+	depends on ARCH_HISI || COMPILE_TEST
 	depends on PCI
 	depends on PCI_MSI_IRQ_DOMAIN
 	select PCIEPORTBUS
diff --git a/drivers/pci/host/Kconfig b/drivers/pci/host/Kconfig
index 0d0177ce436c..bf62119d6339 100644
--- a/drivers/pci/host/Kconfig
+++ b/drivers/pci/host/Kconfig
@@ -5,13 +5,13 @@ menu "PCI host controller drivers"
 
 config PCI_MVEBU
 	bool "Marvell EBU PCIe controller"
-	depends on ARCH_MVEBU || ARCH_DOVE
+	depends on ARCH_MVEBU || ARCH_DOVE || COMPILE_TEST
 	depends on ARM
 	depends on OF
 
 config PCI_AARDVARK
 	bool "Aardvark PCIe controller"
-	depends on ARCH_MVEBU && ARM64
+	depends on (ARCH_MVEBU && ARM64) || COMPILE_TEST
 	depends on OF
 	depends on PCI_MSI_IRQ_DOMAIN
 	help
@@ -21,7 +21,7 @@ config PCI_AARDVARK
 
 config PCIE_XILINX_NWL
 	bool "NWL PCIe Core"
-	depends on ARCH_ZYNQMP
+	depends on ARCH_ZYNQMP || COMPILE_TEST
 	depends on PCI_MSI_IRQ_DOMAIN
 	help
 	 Say 'Y' here if you want kernel support for Xilinx
@@ -32,12 +32,12 @@ config PCIE_XILINX_NWL
 config PCI_FTPCI100
 	bool "Faraday Technology FTPCI100 PCI controller"
 	depends on OF
-	depends on ARM
 	default ARCH_GEMINI
 
 config PCI_TEGRA
 	bool "NVIDIA Tegra PCIe controller"
 	depends on ARCH_TEGRA
+	depends on ARCH_TEGRA || COMPILE_TEST
 	depends on PCI_MSI_IRQ_DOMAIN
 	help
 	  Say Y here if you want support for the PCIe host controller found
@@ -45,8 +45,8 @@ config PCI_TEGRA
 
 config PCI_RCAR_GEN2
 	bool "Renesas R-Car Gen2 Internal PCI controller"
-	depends on ARM
 	depends on ARCH_RENESAS || COMPILE_TEST
+	depends on ARM
 	help
 	  Say Y here if you want internal PCI support on R-Car Gen2 SoC.
 	  There are 3 internal PCI controllers available with a single
@@ -54,7 +54,7 @@ config PCI_RCAR_GEN2
 
 config PCIE_RCAR
 	bool "Renesas R-Car PCIe controller"
-	depends on ARCH_RENESAS || (ARM && COMPILE_TEST)
+	depends on ARCH_RENESAS || COMPILE_TEST
 	depends on PCI_MSI_IRQ_DOMAIN
 	help
 	  Say Y here if you want PCIe controller support on R-Car SoCs.
@@ -65,7 +65,7 @@ config PCI_HOST_COMMON
 
 config PCI_HOST_GENERIC
 	bool "Generic PCI host controller"
-	depends on (ARM || ARM64) && OF
+	depends on OF
 	select PCI_HOST_COMMON
 	select IRQ_DOMAIN
 	help
@@ -74,14 +74,14 @@ config PCI_HOST_GENERIC
 
 config PCIE_XILINX
 	bool "Xilinx AXI PCIe host bridge support"
-	depends on ARCH_ZYNQ || MICROBLAZE || (MIPS && PCI_DRIVERS_GENERIC)
+	depends on ARCH_ZYNQ || MICROBLAZE || (MIPS && PCI_DRIVERS_GENERIC) || COMPILE_TEST
 	help
 	  Say 'Y' here if you want kernel to support the Xilinx AXI PCIe
 	  Host Bridge driver.
 
 config PCI_XGENE
 	bool "X-Gene PCIe controller"
-	depends on ARM64
+	depends on ARM64 || COMPILE_TEST
 	depends on OF || (ACPI && PCI_QUIRKS)
 	select PCIEPORTBUS
 	help
@@ -101,7 +101,7 @@ config PCI_XGENE_MSI
 config PCI_V3_SEMI
 	bool "V3 Semiconductor PCI controller"
 	depends on OF
-	depends on ARM
+	depends on ARM || COMPILE_TEST
 	default ARCH_INTEGRATOR_AP
 
 config PCI_VERSATILE
@@ -128,7 +128,7 @@ config PCIE_IPROC_PLATFORM
 
 config PCIE_IPROC_BCMA
 	tristate "Broadcom iProc PCIe BCMA bus driver"
-	depends on ARM && (ARCH_BCM_IPROC || COMPILE_TEST)
+	depends on (ARM && ARCH_BCM_IPROC) || COMPILE_TEST
 	select PCIE_IPROC
 	select BCMA
 	default ARCH_BCM_5301X
@@ -147,8 +147,7 @@ config PCIE_IPROC_MSI
 
 config PCIE_ALTERA
 	bool "Altera PCIe controller"
-	depends on ARM || NIOS2
-	depends on OF_PCI
+	depends on ARM || NIOS2 || COMPILE_TEST
 	select PCI_DOMAINS
 	help
 	  Say Y here if you want to enable PCIe controller support on Altera
@@ -164,7 +163,7 @@ config PCIE_ALTERA_MSI
 
 config PCI_HOST_THUNDER_PEM
 	bool "Cavium Thunder PCIe controller to off-chip devices"
-	depends on ARM64
+	depends on ARM64 || COMPILE_TEST
 	depends on OF || (ACPI && PCI_QUIRKS)
 	select PCI_HOST_COMMON
 	help
@@ -172,7 +171,7 @@ config PCI_HOST_THUNDER_PEM
 
 config PCI_HOST_THUNDER_ECAM
 	bool "Cavium Thunder ECAM controller to on-chip devices on pass-1.x silicon"
-	depends on ARM64
+	depends on ARM64 || COMPILE_TEST
 	depends on OF || (ACPI && PCI_QUIRKS)
 	select PCI_HOST_COMMON
 	help
@@ -191,9 +190,8 @@ config PCIE_ROCKCHIP
 
 config PCIE_MEDIATEK
 	bool "MediaTek PCIe controller"
-	depends on (ARM || ARM64) && (ARCH_MEDIATEK || COMPILE_TEST)
+	depends on ARCH_MEDIATEK || COMPILE_TEST
 	depends on OF
-	depends on PCI
 	select PCIEPORTBUS
 	help
 	  Say Y here if you want to enable PCIe controller support on
-- 
2.15.0

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

* [PATCH v2 09/10] PCI: dwc: Move CONFIG_PCI depends to menu
  2018-03-21 14:42 [PATCH v2 00/10] PCI DT header refactoring and compile test improvements Lorenzo Pieralisi
                   ` (7 preceding siblings ...)
  2018-03-21 14:42 ` [PATCH v2 08/10] PCI: Improve host drivers compile test coverage Lorenzo Pieralisi
@ 2018-03-21 14:42 ` Lorenzo Pieralisi
  2018-03-24 14:03   ` Jingoo Han
  2018-03-21 14:42 ` [PATCH v2 10/10] PCI: Move private DT related functions into private header Lorenzo Pieralisi
  2018-03-21 21:19 ` [PATCH v2 00/10] PCI DT header refactoring and compile test improvements Bjorn Helgaas
  10 siblings, 1 reply; 21+ messages in thread
From: Lorenzo Pieralisi @ 2018-03-21 14:42 UTC (permalink / raw)
  To: linux-pci
  Cc: Rob Herring, Lorenzo Pieralisi, Bjorn Helgaas, Linus Walleij,
	Xiaowei Song, Ray Jui, Scott Branden, Jon Mason, Jingoo Han,
	Joao Pinto, Thomas Petazzoni, Tanmay Inamdar, Shawn Lin,
	Ley Foon Tan, Fengguang Wu

From: Rob Herring <robh@kernel.org>

There's no need for every config option to explicitly depend on
CONFIG_PCI, so move it out of individual option to the menu option.

Signed-off-by: Rob Herring <robh@kernel.org>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
---
 drivers/pci/dwc/Kconfig | 17 +++--------------
 1 file changed, 3 insertions(+), 14 deletions(-)

diff --git a/drivers/pci/dwc/Kconfig b/drivers/pci/dwc/Kconfig
index 6f2b653146bb..2902544f5834 100644
--- a/drivers/pci/dwc/Kconfig
+++ b/drivers/pci/dwc/Kconfig
@@ -1,13 +1,13 @@
 # SPDX-License-Identifier: GPL-2.0
 
 menu "DesignWare PCI Core Support"
+	depends on PCI
 
 config PCIE_DW
 	bool
 
 config PCIE_DW_HOST
         bool
-	depends on PCI
 	depends on PCI_MSI_IRQ_DOMAIN
         select PCIE_DW
 
@@ -22,7 +22,7 @@ config PCI_DRA7XX
 config PCI_DRA7XX_HOST
 	bool "TI DRA7xx PCIe controller Host Mode"
 	depends on SOC_DRA7XX || COMPILE_TEST
-	depends on PCI && PCI_MSI_IRQ_DOMAIN
+	depends on PCI_MSI_IRQ_DOMAIN
 	depends on OF && HAS_IOMEM && TI_PIPE3
 	select PCIE_DW_HOST
 	select PCI_DRA7XX
@@ -52,7 +52,6 @@ config PCI_DRA7XX_EP
 
 config PCIE_DW_PLAT
 	bool "Platform bus based DesignWare PCIe Controller"
-	depends on PCI
 	depends on PCI_MSI_IRQ_DOMAIN
 	select PCIE_DW_HOST
 	---help---
@@ -65,7 +64,6 @@ config PCIE_DW_PLAT
 
 config PCI_EXYNOS
 	bool "Samsung Exynos PCIe controller"
-	depends on PCI
 	depends on SOC_EXYNOS5440 || COMPILE_TEST
 	depends on PCI_MSI_IRQ_DOMAIN
 	select PCIEPORTBUS
@@ -73,7 +71,6 @@ config PCI_EXYNOS
 
 config PCI_IMX6
 	bool "Freescale i.MX6 PCIe controller"
-	depends on PCI
 	depends on SOC_IMX6Q || (ARM && COMPILE_TEST)
 	depends on PCI_MSI_IRQ_DOMAIN
 	select PCIEPORTBUS
@@ -81,7 +78,6 @@ config PCI_IMX6
 
 config PCIE_SPEAR13XX
 	bool "STMicroelectronics SPEAr PCIe controller"
-	depends on PCI
 	depends on ARCH_SPEAR13XX || COMPILE_TEST
 	depends on PCI_MSI_IRQ_DOMAIN
 	select PCIEPORTBUS
@@ -91,7 +87,6 @@ config PCIE_SPEAR13XX
 
 config PCI_KEYSTONE
 	bool "TI Keystone PCIe controller"
-	depends on PCI
 	depends on ARCH_KEYSTONE || (ARM && COMPILE_TEST)
 	depends on PCI_MSI_IRQ_DOMAIN
 	select PCIEPORTBUS
@@ -104,7 +99,6 @@ config PCI_KEYSTONE
 
 config PCI_LAYERSCAPE
 	bool "Freescale Layerscape PCIe controller"
-	depends on PCI
 	depends on OF && (ARM || ARCH_LAYERSCAPE || COMPILE_TEST)
 	depends on PCI_MSI_IRQ_DOMAIN
 	select MFD_SYSCON
@@ -115,7 +109,6 @@ config PCI_LAYERSCAPE
 config PCI_HISI
 	depends on OF && (ARM64 || COMPILE_TEST)
 	bool "HiSilicon Hip05 and Hip06 SoCs PCIe controllers"
-	depends on PCI
 	depends on PCI_MSI_IRQ_DOMAIN
 	select PCIEPORTBUS
 	select PCIE_DW_HOST
@@ -126,7 +119,6 @@ config PCI_HISI
 
 config PCIE_QCOM
 	bool "Qualcomm PCIe controller"
-	depends on PCI
 	depends on OF && (ARCH_QCOM || COMPILE_TEST)
 	depends on PCI_MSI_IRQ_DOMAIN
 	select PCIEPORTBUS
@@ -138,7 +130,6 @@ config PCIE_QCOM
 
 config PCIE_ARMADA_8K
 	bool "Marvell Armada-8K PCIe controller"
-	depends on PCI
 	depends on ARCH_MVEBU || COMPILE_TEST
 	depends on PCI_MSI_IRQ_DOMAIN
 	select PCIEPORTBUS
@@ -155,7 +146,7 @@ config PCIE_ARTPEC6
 config PCIE_ARTPEC6_HOST
 	bool "Axis ARTPEC-6 PCIe controller Host Mode"
 	depends on MACH_ARTPEC6 || COMPILE_TEST
-	depends on PCI && PCI_MSI_IRQ_DOMAIN
+	depends on PCI_MSI_IRQ_DOMAIN
 	select PCIEPORTBUS
 	select PCIE_DW_HOST
 	select PCIE_ARTPEC6
@@ -177,7 +168,6 @@ config PCIE_KIRIN
 	depends on OF && (ARM64 || COMPILE_TEST)
 	bool "HiSilicon Kirin series SoCs PCIe controllers"
 	depends on PCI_MSI_IRQ_DOMAIN
-	depends on PCI
 	select PCIEPORTBUS
 	select PCIE_DW_HOST
 	help
@@ -187,7 +177,6 @@ config PCIE_KIRIN
 config PCIE_HISI_STB
 	bool "HiSilicon STB SoCs PCIe controllers"
 	depends on ARCH_HISI || COMPILE_TEST
-	depends on PCI
 	depends on PCI_MSI_IRQ_DOMAIN
 	select PCIEPORTBUS
 	select PCIE_DW_HOST
-- 
2.15.0

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

* [PATCH v2 10/10] PCI: Move private DT related functions into private header
  2018-03-21 14:42 [PATCH v2 00/10] PCI DT header refactoring and compile test improvements Lorenzo Pieralisi
                   ` (8 preceding siblings ...)
  2018-03-21 14:42 ` [PATCH v2 09/10] PCI: dwc: Move CONFIG_PCI depends to menu Lorenzo Pieralisi
@ 2018-03-21 14:42 ` Lorenzo Pieralisi
  2018-03-24 14:07   ` Jingoo Han
  2018-03-21 21:19 ` [PATCH v2 00/10] PCI DT header refactoring and compile test improvements Bjorn Helgaas
  10 siblings, 1 reply; 21+ messages in thread
From: Lorenzo Pieralisi @ 2018-03-21 14:42 UTC (permalink / raw)
  To: linux-pci
  Cc: Rob Herring, Lorenzo Pieralisi, Bjorn Helgaas, Linus Walleij,
	Xiaowei Song, Ray Jui, Scott Branden, Jon Mason, Jingoo Han,
	Joao Pinto, Thomas Petazzoni, Tanmay Inamdar, Shawn Lin,
	Ley Foon Tan, Fengguang Wu

From: Rob Herring <robh@kernel.org>

The functions in linux/of_pci.h are primarily used by host bridge
drivers, so they can be private to drivers/pci/.

The remaining functions are still used mostly in host bridge drivers
that still live in arch specific code. Hopefully someday, those will get
moved into drivers/pci as well.

Signed-off-by: Rob Herring <robh@kernel.org>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
---
 drivers/pci/dwc/pci-dra7xx.c           |  1 +
 drivers/pci/dwc/pcie-designware-host.c |  1 +
 drivers/pci/host/pci-aardvark.c        |  2 ++
 drivers/pci/host/pci-ftpci100.c        |  2 ++
 drivers/pci/host/pci-mvebu.c           |  2 ++
 drivers/pci/host/pci-rcar-gen2.c       |  2 ++
 drivers/pci/host/pci-tegra.c           |  2 ++
 drivers/pci/host/pci-v3-semi.c         |  2 ++
 drivers/pci/host/pci-xgene.c           |  2 ++
 drivers/pci/host/pcie-altera.c         |  2 ++
 drivers/pci/host/pcie-iproc-platform.c |  1 +
 drivers/pci/host/pcie-mediatek.c       |  2 ++
 drivers/pci/host/pcie-rcar.c           |  2 ++
 drivers/pci/host/pcie-rockchip.c       |  2 ++
 drivers/pci/host/pcie-xilinx-nwl.c     |  2 ++
 drivers/pci/host/pcie-xilinx.c         |  2 ++
 drivers/pci/pci.h                      | 40 ++++++++++++++++++++++++++++++++++
 include/linux/of_pci.h                 | 34 -----------------------------
 18 files changed, 69 insertions(+), 34 deletions(-)

diff --git a/drivers/pci/dwc/pci-dra7xx.c b/drivers/pci/dwc/pci-dra7xx.c
index ed8558d638e5..620709d38a64 100644
--- a/drivers/pci/dwc/pci-dra7xx.c
+++ b/drivers/pci/dwc/pci-dra7xx.c
@@ -27,6 +27,7 @@
 #include <linux/mfd/syscon.h>
 #include <linux/regmap.h>
 
+#include "../pci.h"
 #include "pcie-designware.h"
 
 /* PCIe controller wrapper DRA7XX configuration registers */
diff --git a/drivers/pci/dwc/pcie-designware-host.c b/drivers/pci/dwc/pcie-designware-host.c
index 8de2d5c69b1d..17faa4c04dd6 100644
--- a/drivers/pci/dwc/pcie-designware-host.c
+++ b/drivers/pci/dwc/pcie-designware-host.c
@@ -14,6 +14,7 @@
 #include <linux/pci_regs.h>
 #include <linux/platform_device.h>
 
+#include "../pci.h"
 #include "pcie-designware.h"
 
 static struct pci_ops dw_pcie_ops;
diff --git a/drivers/pci/host/pci-aardvark.c b/drivers/pci/host/pci-aardvark.c
index b04d37b3c5de..55b94911bc9a 100644
--- a/drivers/pci/host/pci-aardvark.c
+++ b/drivers/pci/host/pci-aardvark.c
@@ -19,6 +19,8 @@
 #include <linux/of_address.h>
 #include <linux/of_pci.h>
 
+#include "../pci.h"
+
 /* PCIe core registers */
 #define PCIE_CORE_CMD_STATUS_REG				0x4
 #define     PCIE_CORE_CMD_IO_ACCESS_EN				BIT(0)
diff --git a/drivers/pci/host/pci-ftpci100.c b/drivers/pci/host/pci-ftpci100.c
index 5008fd87956a..474faa2e922e 100644
--- a/drivers/pci/host/pci-ftpci100.c
+++ b/drivers/pci/host/pci-ftpci100.c
@@ -28,6 +28,8 @@
 #include <linux/irq.h>
 #include <linux/clk.h>
 
+#include "../pci.h"
+
 /*
  * Special configuration registers directly in the first few words
  * in I/O space.
diff --git a/drivers/pci/host/pci-mvebu.c b/drivers/pci/host/pci-mvebu.c
index 5d4dccfc9d81..23e270839e6a 100644
--- a/drivers/pci/host/pci-mvebu.c
+++ b/drivers/pci/host/pci-mvebu.c
@@ -21,6 +21,8 @@
 #include <linux/of_pci.h>
 #include <linux/of_platform.h>
 
+#include "../pci.h"
+
 /*
  * PCIe unit register offsets.
  */
diff --git a/drivers/pci/host/pci-rcar-gen2.c b/drivers/pci/host/pci-rcar-gen2.c
index a28370bb2b2a..0cb00f2edc89 100644
--- a/drivers/pci/host/pci-rcar-gen2.c
+++ b/drivers/pci/host/pci-rcar-gen2.c
@@ -21,6 +21,8 @@
 #include <linux/sizes.h>
 #include <linux/slab.h>
 
+#include "../pci.h"
+
 /* AHB-PCI Bridge PCI communication registers */
 #define RCAR_AHBPCI_PCICOM_OFFSET	0x800
 
diff --git a/drivers/pci/host/pci-tegra.c b/drivers/pci/host/pci-tegra.c
index dd9b3bcc41c3..8292f763a49b 100644
--- a/drivers/pci/host/pci-tegra.c
+++ b/drivers/pci/host/pci-tegra.c
@@ -38,6 +38,8 @@
 #include <soc/tegra/cpuidle.h>
 #include <soc/tegra/pmc.h>
 
+#include "../pci.h"
+
 #define INT_PCI_MSI_NR (8 * 32)
 
 /* register definitions */
diff --git a/drivers/pci/host/pci-v3-semi.c b/drivers/pci/host/pci-v3-semi.c
index 0a4dea796663..04bf53d02f23 100644
--- a/drivers/pci/host/pci-v3-semi.c
+++ b/drivers/pci/host/pci-v3-semi.c
@@ -33,6 +33,8 @@
 #include <linux/regmap.h>
 #include <linux/clk.h>
 
+#include "../pci.h"
+
 #define V3_PCI_VENDOR			0x00000000
 #define V3_PCI_DEVICE			0x00000002
 #define V3_PCI_CMD			0x00000004
diff --git a/drivers/pci/host/pci-xgene.c b/drivers/pci/host/pci-xgene.c
index 0a0d7ee6d3c9..648a50243022 100644
--- a/drivers/pci/host/pci-xgene.c
+++ b/drivers/pci/host/pci-xgene.c
@@ -22,6 +22,8 @@
 #include <linux/platform_device.h>
 #include <linux/slab.h>
 
+#include "../pci.h"
+
 #define PCIECORE_CTLANDSTATUS		0x50
 #define PIM1_1L				0x80
 #define IBAR2				0x98
diff --git a/drivers/pci/host/pcie-altera.c b/drivers/pci/host/pcie-altera.c
index 2235f4760951..3292c20abe40 100644
--- a/drivers/pci/host/pcie-altera.c
+++ b/drivers/pci/host/pcie-altera.c
@@ -17,6 +17,8 @@
 #include <linux/platform_device.h>
 #include <linux/slab.h>
 
+#include "../pci.h"
+
 #define RP_TX_REG0			0x2000
 #define RP_TX_REG1			0x2004
 #define RP_TX_CNTRL			0x2008
diff --git a/drivers/pci/host/pcie-iproc-platform.c b/drivers/pci/host/pcie-iproc-platform.c
index e764a2a2693c..fb23fdf919c8 100644
--- a/drivers/pci/host/pcie-iproc-platform.c
+++ b/drivers/pci/host/pcie-iproc-platform.c
@@ -16,6 +16,7 @@
 #include <linux/of_platform.h>
 #include <linux/phy/phy.h>
 
+#include "../pci.h"
 #include "pcie-iproc.h"
 
 static const struct of_device_id iproc_pcie_of_match_table[] = {
diff --git a/drivers/pci/host/pcie-mediatek.c b/drivers/pci/host/pcie-mediatek.c
index a8b20c5012a9..5b3da5856ca2 100644
--- a/drivers/pci/host/pcie-mediatek.c
+++ b/drivers/pci/host/pcie-mediatek.c
@@ -22,6 +22,8 @@
 #include <linux/pm_runtime.h>
 #include <linux/reset.h>
 
+#include "../pci.h"
+
 /* PCIe shared registers */
 #define PCIE_SYS_CFG		0x00
 #define PCIE_INT_ENABLE		0x0c
diff --git a/drivers/pci/host/pcie-rcar.c b/drivers/pci/host/pcie-rcar.c
index 6ab28f29ac6a..9629ec039deb 100644
--- a/drivers/pci/host/pcie-rcar.c
+++ b/drivers/pci/host/pcie-rcar.c
@@ -28,6 +28,8 @@
 #include <linux/pm_runtime.h>
 #include <linux/slab.h>
 
+#include "../pci.h"
+
 #define PCIECAR			0x000010
 #define PCIECCTLR		0x000018
 #define  CONFIG_SEND_ENABLE	(1 << 31)
diff --git a/drivers/pci/host/pcie-rockchip.c b/drivers/pci/host/pcie-rockchip.c
index f1e8f97ea1fb..daf9120a4350 100644
--- a/drivers/pci/host/pcie-rockchip.c
+++ b/drivers/pci/host/pcie-rockchip.c
@@ -36,6 +36,8 @@
 #include <linux/reset.h>
 #include <linux/regmap.h>
 
+#include "../pci.h"
+
 /*
  * The upper 16 bits of PCIE_CLIENT_CONFIG are a write mask for the lower 16
  * bits.  This allows atomic updates of the register without locking.
diff --git a/drivers/pci/host/pcie-xilinx-nwl.c b/drivers/pci/host/pcie-xilinx-nwl.c
index 0acaf483d031..7702d68abbdc 100644
--- a/drivers/pci/host/pcie-xilinx-nwl.c
+++ b/drivers/pci/host/pcie-xilinx-nwl.c
@@ -21,6 +21,8 @@
 #include <linux/platform_device.h>
 #include <linux/irqchip/chained_irq.h>
 
+#include "../pci.h"
+
 /* Bridge core config registers */
 #define BRCFG_PCIE_RX0			0x00000000
 #define BRCFG_INTERRUPT			0x00000010
diff --git a/drivers/pci/host/pcie-xilinx.c b/drivers/pci/host/pcie-xilinx.c
index 0ad188effc09..ec193e930caa 100644
--- a/drivers/pci/host/pcie-xilinx.c
+++ b/drivers/pci/host/pcie-xilinx.c
@@ -23,6 +23,8 @@
 #include <linux/pci.h>
 #include <linux/platform_device.h>
 
+#include "../pci.h"
+
 /* Register definitions */
 #define XILINX_PCIE_REG_BIR		0x00000130
 #define XILINX_PCIE_REG_IDR		0x00000138
diff --git a/drivers/pci/pci.h b/drivers/pci/pci.h
index fcd81911b127..d1b91c26b0d4 100644
--- a/drivers/pci/pci.h
+++ b/drivers/pci/pci.h
@@ -396,4 +396,44 @@ static inline u64 pci_rebar_size_to_bytes(int size)
 	return 1ULL << (size + 20);
 }
 
+struct device_node;
+
+#ifdef CONFIG_OF
+int of_pci_parse_bus_range(struct device_node *node, struct resource *res);
+int of_get_pci_domain_nr(struct device_node *node);
+int of_pci_get_max_link_speed(struct device_node *node);
+
+#else
+static inline int
+of_pci_parse_bus_range(struct device_node *node, struct resource *res)
+{
+	return -EINVAL;
+}
+
+static inline int
+of_get_pci_domain_nr(struct device_node *node)
+{
+	return -1;
+}
+
+static inline int
+of_pci_get_max_link_speed(struct device_node *node)
+{
+	return -EINVAL;
+}
+#endif /* CONFIG_OF */
+
+#if defined(CONFIG_OF_ADDRESS)
+int of_pci_get_host_bridge_resources(struct device_node *dev,
+			unsigned char busno, unsigned char bus_max,
+			struct list_head *resources, resource_size_t *io_base);
+#else
+static inline int of_pci_get_host_bridge_resources(struct device_node *dev,
+			unsigned char busno, unsigned char bus_max,
+			struct list_head *resources, resource_size_t *io_base)
+{
+	return -EINVAL;
+}
+#endif
+
 #endif /* DRIVERS_PCI_H */
diff --git a/include/linux/of_pci.h b/include/linux/of_pci.h
index 88865e0ebf4d..41155181ecbd 100644
--- a/include/linux/of_pci.h
+++ b/include/linux/of_pci.h
@@ -14,9 +14,6 @@ struct device_node *of_pci_find_child_device(struct device_node *parent,
 					     unsigned int devfn);
 int of_pci_get_devfn(struct device_node *np);
 int of_irq_parse_and_map_pci(const struct pci_dev *dev, u8 slot, u8 pin);
-int of_pci_parse_bus_range(struct device_node *node, struct resource *res);
-int of_get_pci_domain_nr(struct device_node *node);
-int of_pci_get_max_link_speed(struct device_node *node);
 void of_pci_check_probe_only(void);
 int of_pci_map_rid(struct device_node *np, u32 rid,
 		   const char *map_name, const char *map_mask_name,
@@ -39,18 +36,6 @@ of_irq_parse_and_map_pci(const struct pci_dev *dev, u8 slot, u8 pin)
 	return 0;
 }
 
-static inline int
-of_pci_parse_bus_range(struct device_node *node, struct resource *res)
-{
-	return -EINVAL;
-}
-
-static inline int
-of_get_pci_domain_nr(struct device_node *node)
-{
-	return -1;
-}
-
 static inline int of_pci_map_rid(struct device_node *np, u32 rid,
 			const char *map_name, const char *map_mask_name,
 			struct device_node **target, u32 *id_out)
@@ -58,26 +43,7 @@ static inline int of_pci_map_rid(struct device_node *np, u32 rid,
 	return -EINVAL;
 }
 
-static inline int
-of_pci_get_max_link_speed(struct device_node *node)
-{
-	return -EINVAL;
-}
-
 static inline void of_pci_check_probe_only(void) { }
 #endif
 
-#if defined(CONFIG_OF_ADDRESS)
-int of_pci_get_host_bridge_resources(struct device_node *dev,
-			unsigned char busno, unsigned char bus_max,
-			struct list_head *resources, resource_size_t *io_base);
-#else
-static inline int of_pci_get_host_bridge_resources(struct device_node *dev,
-			unsigned char busno, unsigned char bus_max,
-			struct list_head *resources, resource_size_t *io_base)
-{
-	return -EINVAL;
-}
-#endif
-
 #endif
-- 
2.15.0

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

* Re: [PATCH v2 08/10] PCI: Improve host drivers compile test coverage
  2018-03-21 14:42 ` [PATCH v2 08/10] PCI: Improve host drivers compile test coverage Lorenzo Pieralisi
@ 2018-03-21 17:58   ` Scott Branden
  0 siblings, 0 replies; 21+ messages in thread
From: Scott Branden @ 2018-03-21 17:58 UTC (permalink / raw)
  To: Lorenzo Pieralisi, linux-pci
  Cc: Rob Herring, Bjorn Helgaas, Linus Walleij, Xiaowei Song, Ray Jui,
	Scott Branden, Jon Mason, Jingoo Han, Joao Pinto,
	Thomas Petazzoni, Tanmay Inamdar, Shawn Lin, Ley Foon Tan,
	Fengguang Wu

Looks good.


On 18-03-21 07:42 AM, Lorenzo Pieralisi wrote:
> From: Rob Herring <robh@kernel.org>
>
> Add COMPILE_TEST on driver config options with it. Some ARM drivers
> still have arch dependencies, so we have to keep those dependent on ARM.
>
> Link: https://lkml.kernel.org/r/20180307154243.3205-8-robh@kernel.org
> Signed-off-by: Rob Herring <robh@kernel.org>
> [lorenzo.pieralisi@arm.com: reworked the BCM_IPROC dependency]
> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Acked-by: Scott Branden <scott.branden@broadcom.com>
> ---
>   drivers/pci/dwc/Kconfig  | 24 ++++++++++++------------
>   drivers/pci/host/Kconfig | 32 +++++++++++++++-----------------
>   2 files changed, 27 insertions(+), 29 deletions(-)
>
> diff --git a/drivers/pci/dwc/Kconfig b/drivers/pci/dwc/Kconfig
> index 2f3f5c50aa48..6f2b653146bb 100644
> --- a/drivers/pci/dwc/Kconfig
> +++ b/drivers/pci/dwc/Kconfig
> @@ -66,7 +66,7 @@ config PCIE_DW_PLAT
>   config PCI_EXYNOS
>   	bool "Samsung Exynos PCIe controller"
>   	depends on PCI
> -	depends on SOC_EXYNOS5440
> +	depends on SOC_EXYNOS5440 || COMPILE_TEST
>   	depends on PCI_MSI_IRQ_DOMAIN
>   	select PCIEPORTBUS
>   	select PCIE_DW_HOST
> @@ -74,7 +74,7 @@ config PCI_EXYNOS
>   config PCI_IMX6
>   	bool "Freescale i.MX6 PCIe controller"
>   	depends on PCI
> -	depends on SOC_IMX6Q
> +	depends on SOC_IMX6Q || (ARM && COMPILE_TEST)
>   	depends on PCI_MSI_IRQ_DOMAIN
>   	select PCIEPORTBUS
>   	select PCIE_DW_HOST
> @@ -82,7 +82,7 @@ config PCI_IMX6
>   config PCIE_SPEAR13XX
>   	bool "STMicroelectronics SPEAr PCIe controller"
>   	depends on PCI
> -	depends on ARCH_SPEAR13XX
> +	depends on ARCH_SPEAR13XX || COMPILE_TEST
>   	depends on PCI_MSI_IRQ_DOMAIN
>   	select PCIEPORTBUS
>   	select PCIE_DW_HOST
> @@ -92,7 +92,7 @@ config PCIE_SPEAR13XX
>   config PCI_KEYSTONE
>   	bool "TI Keystone PCIe controller"
>   	depends on PCI
> -	depends on ARCH_KEYSTONE
> +	depends on ARCH_KEYSTONE || (ARM && COMPILE_TEST)
>   	depends on PCI_MSI_IRQ_DOMAIN
>   	select PCIEPORTBUS
>   	select PCIE_DW_HOST
> @@ -105,7 +105,7 @@ config PCI_KEYSTONE
>   config PCI_LAYERSCAPE
>   	bool "Freescale Layerscape PCIe controller"
>   	depends on PCI
> -	depends on OF && (ARM || ARCH_LAYERSCAPE)
> +	depends on OF && (ARM || ARCH_LAYERSCAPE || COMPILE_TEST)
>   	depends on PCI_MSI_IRQ_DOMAIN
>   	select MFD_SYSCON
>   	select PCIE_DW_HOST
> @@ -113,7 +113,7 @@ config PCI_LAYERSCAPE
>   	  Say Y here if you want PCIe controller support on Layerscape SoCs.
>   
>   config PCI_HISI
> -	depends on OF && ARM64
> +	depends on OF && (ARM64 || COMPILE_TEST)
>   	bool "HiSilicon Hip05 and Hip06 SoCs PCIe controllers"
>   	depends on PCI
>   	depends on PCI_MSI_IRQ_DOMAIN
> @@ -127,7 +127,7 @@ config PCI_HISI
>   config PCIE_QCOM
>   	bool "Qualcomm PCIe controller"
>   	depends on PCI
> -	depends on ARCH_QCOM && OF
> +	depends on OF && (ARCH_QCOM || COMPILE_TEST)
>   	depends on PCI_MSI_IRQ_DOMAIN
>   	select PCIEPORTBUS
>   	select PCIE_DW_HOST
> @@ -139,7 +139,7 @@ config PCIE_QCOM
>   config PCIE_ARMADA_8K
>   	bool "Marvell Armada-8K PCIe controller"
>   	depends on PCI
> -	depends on ARCH_MVEBU
> +	depends on ARCH_MVEBU || COMPILE_TEST
>   	depends on PCI_MSI_IRQ_DOMAIN
>   	select PCIEPORTBUS
>   	select PCIE_DW_HOST
> @@ -154,7 +154,7 @@ config PCIE_ARTPEC6
>   
>   config PCIE_ARTPEC6_HOST
>   	bool "Axis ARTPEC-6 PCIe controller Host Mode"
> -	depends on MACH_ARTPEC6
> +	depends on MACH_ARTPEC6 || COMPILE_TEST
>   	depends on PCI && PCI_MSI_IRQ_DOMAIN
>   	select PCIEPORTBUS
>   	select PCIE_DW_HOST
> @@ -165,7 +165,7 @@ config PCIE_ARTPEC6_HOST
>   
>   config PCIE_ARTPEC6_EP
>   	bool "Axis ARTPEC-6 PCIe controller Endpoint Mode"
> -	depends on MACH_ARTPEC6
> +	depends on MACH_ARTPEC6 || COMPILE_TEST
>   	depends on PCI_ENDPOINT
>   	select PCIE_DW_EP
>   	select PCIE_ARTPEC6
> @@ -174,7 +174,7 @@ config PCIE_ARTPEC6_EP
>   	  endpoint mode. This uses the DesignWare core.
>   
>   config PCIE_KIRIN
> -	depends on OF && ARM64
> +	depends on OF && (ARM64 || COMPILE_TEST)
>   	bool "HiSilicon Kirin series SoCs PCIe controllers"
>   	depends on PCI_MSI_IRQ_DOMAIN
>   	depends on PCI
> @@ -186,7 +186,7 @@ config PCIE_KIRIN
>   
>   config PCIE_HISI_STB
>   	bool "HiSilicon STB SoCs PCIe controllers"
> -	depends on ARCH_HISI
> +	depends on ARCH_HISI || COMPILE_TEST
>   	depends on PCI
>   	depends on PCI_MSI_IRQ_DOMAIN
>   	select PCIEPORTBUS
> diff --git a/drivers/pci/host/Kconfig b/drivers/pci/host/Kconfig
> index 0d0177ce436c..bf62119d6339 100644
> --- a/drivers/pci/host/Kconfig
> +++ b/drivers/pci/host/Kconfig
> @@ -5,13 +5,13 @@ menu "PCI host controller drivers"
>   
>   config PCI_MVEBU
>   	bool "Marvell EBU PCIe controller"
> -	depends on ARCH_MVEBU || ARCH_DOVE
> +	depends on ARCH_MVEBU || ARCH_DOVE || COMPILE_TEST
>   	depends on ARM
>   	depends on OF
>   
>   config PCI_AARDVARK
>   	bool "Aardvark PCIe controller"
> -	depends on ARCH_MVEBU && ARM64
> +	depends on (ARCH_MVEBU && ARM64) || COMPILE_TEST
>   	depends on OF
>   	depends on PCI_MSI_IRQ_DOMAIN
>   	help
> @@ -21,7 +21,7 @@ config PCI_AARDVARK
>   
>   config PCIE_XILINX_NWL
>   	bool "NWL PCIe Core"
> -	depends on ARCH_ZYNQMP
> +	depends on ARCH_ZYNQMP || COMPILE_TEST
>   	depends on PCI_MSI_IRQ_DOMAIN
>   	help
>   	 Say 'Y' here if you want kernel support for Xilinx
> @@ -32,12 +32,12 @@ config PCIE_XILINX_NWL
>   config PCI_FTPCI100
>   	bool "Faraday Technology FTPCI100 PCI controller"
>   	depends on OF
> -	depends on ARM
>   	default ARCH_GEMINI
>   
>   config PCI_TEGRA
>   	bool "NVIDIA Tegra PCIe controller"
>   	depends on ARCH_TEGRA
> +	depends on ARCH_TEGRA || COMPILE_TEST
>   	depends on PCI_MSI_IRQ_DOMAIN
>   	help
>   	  Say Y here if you want support for the PCIe host controller found
> @@ -45,8 +45,8 @@ config PCI_TEGRA
>   
>   config PCI_RCAR_GEN2
>   	bool "Renesas R-Car Gen2 Internal PCI controller"
> -	depends on ARM
>   	depends on ARCH_RENESAS || COMPILE_TEST
> +	depends on ARM
>   	help
>   	  Say Y here if you want internal PCI support on R-Car Gen2 SoC.
>   	  There are 3 internal PCI controllers available with a single
> @@ -54,7 +54,7 @@ config PCI_RCAR_GEN2
>   
>   config PCIE_RCAR
>   	bool "Renesas R-Car PCIe controller"
> -	depends on ARCH_RENESAS || (ARM && COMPILE_TEST)
> +	depends on ARCH_RENESAS || COMPILE_TEST
>   	depends on PCI_MSI_IRQ_DOMAIN
>   	help
>   	  Say Y here if you want PCIe controller support on R-Car SoCs.
> @@ -65,7 +65,7 @@ config PCI_HOST_COMMON
>   
>   config PCI_HOST_GENERIC
>   	bool "Generic PCI host controller"
> -	depends on (ARM || ARM64) && OF
> +	depends on OF
>   	select PCI_HOST_COMMON
>   	select IRQ_DOMAIN
>   	help
> @@ -74,14 +74,14 @@ config PCI_HOST_GENERIC
>   
>   config PCIE_XILINX
>   	bool "Xilinx AXI PCIe host bridge support"
> -	depends on ARCH_ZYNQ || MICROBLAZE || (MIPS && PCI_DRIVERS_GENERIC)
> +	depends on ARCH_ZYNQ || MICROBLAZE || (MIPS && PCI_DRIVERS_GENERIC) || COMPILE_TEST
>   	help
>   	  Say 'Y' here if you want kernel to support the Xilinx AXI PCIe
>   	  Host Bridge driver.
>   
>   config PCI_XGENE
>   	bool "X-Gene PCIe controller"
> -	depends on ARM64
> +	depends on ARM64 || COMPILE_TEST
>   	depends on OF || (ACPI && PCI_QUIRKS)
>   	select PCIEPORTBUS
>   	help
> @@ -101,7 +101,7 @@ config PCI_XGENE_MSI
>   config PCI_V3_SEMI
>   	bool "V3 Semiconductor PCI controller"
>   	depends on OF
> -	depends on ARM
> +	depends on ARM || COMPILE_TEST
>   	default ARCH_INTEGRATOR_AP
>   
>   config PCI_VERSATILE
> @@ -128,7 +128,7 @@ config PCIE_IPROC_PLATFORM
>   
>   config PCIE_IPROC_BCMA
>   	tristate "Broadcom iProc PCIe BCMA bus driver"
> -	depends on ARM && (ARCH_BCM_IPROC || COMPILE_TEST)
> +	depends on (ARM && ARCH_BCM_IPROC) || COMPILE_TEST
change is correct now.  Thanks.
>   	select PCIE_IPROC
>   	select BCMA
>   	default ARCH_BCM_5301X
> @@ -147,8 +147,7 @@ config PCIE_IPROC_MSI
>   
>   config PCIE_ALTERA
>   	bool "Altera PCIe controller"
> -	depends on ARM || NIOS2
> -	depends on OF_PCI
> +	depends on ARM || NIOS2 || COMPILE_TEST
>   	select PCI_DOMAINS
>   	help
>   	  Say Y here if you want to enable PCIe controller support on Altera
> @@ -164,7 +163,7 @@ config PCIE_ALTERA_MSI
>   
>   config PCI_HOST_THUNDER_PEM
>   	bool "Cavium Thunder PCIe controller to off-chip devices"
> -	depends on ARM64
> +	depends on ARM64 || COMPILE_TEST
>   	depends on OF || (ACPI && PCI_QUIRKS)
>   	select PCI_HOST_COMMON
>   	help
> @@ -172,7 +171,7 @@ config PCI_HOST_THUNDER_PEM
>   
>   config PCI_HOST_THUNDER_ECAM
>   	bool "Cavium Thunder ECAM controller to on-chip devices on pass-1.x silicon"
> -	depends on ARM64
> +	depends on ARM64 || COMPILE_TEST
>   	depends on OF || (ACPI && PCI_QUIRKS)
>   	select PCI_HOST_COMMON
>   	help
> @@ -191,9 +190,8 @@ config PCIE_ROCKCHIP
>   
>   config PCIE_MEDIATEK
>   	bool "MediaTek PCIe controller"
> -	depends on (ARM || ARM64) && (ARCH_MEDIATEK || COMPILE_TEST)
> +	depends on ARCH_MEDIATEK || COMPILE_TEST
>   	depends on OF
> -	depends on PCI
>   	select PCIEPORTBUS
>   	help
>   	  Say Y here if you want to enable PCIe controller support on

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

* Re: [PATCH v2 02/10] PCI: iproc: Remove dependency on ARM specific struct pci_sys_data
  2018-03-21 14:42 ` [PATCH v2 02/10] PCI: iproc: Remove dependency on ARM specific struct pci_sys_data Lorenzo Pieralisi
@ 2018-03-21 21:16   ` Bjorn Helgaas
  2018-03-27 16:39     ` Rob Herring
  0 siblings, 1 reply; 21+ messages in thread
From: Bjorn Helgaas @ 2018-03-21 21:16 UTC (permalink / raw)
  To: Lorenzo Pieralisi
  Cc: linux-pci, Rob Herring, Bjorn Helgaas, Linus Walleij,
	Xiaowei Song, Ray Jui, Scott Branden, Jon Mason, Jingoo Han,
	Joao Pinto, Thomas Petazzoni, Tanmay Inamdar, Shawn Lin,
	Ley Foon Tan, Fengguang Wu

On Wed, Mar 21, 2018 at 02:42:46PM +0000, Lorenzo Pieralisi wrote:
> From: Rob Herring <robh@kernel.org>
> 
> The iproc driver is using ARM's struct pci_sys_data simply to store a
> private data pointer. This is completely unnecessary, so store the
> private data directly in bus->sysdata as is done on arm64.

Oh, thank you, this is awesome!

struct pci_sys_data is still referenced in mvebu and rcar.  I didn't
look closely enough to see if they could be similarly simplified.

I guess not, because they use pci_common_init_dev().  They look
tantalizingly close to being able to use pci_scan_root_bus_bridge()
like everybody else, though.

Bjorn

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

* Re: [PATCH v2 00/10] PCI DT header refactoring and compile test improvements
  2018-03-21 14:42 [PATCH v2 00/10] PCI DT header refactoring and compile test improvements Lorenzo Pieralisi
                   ` (9 preceding siblings ...)
  2018-03-21 14:42 ` [PATCH v2 10/10] PCI: Move private DT related functions into private header Lorenzo Pieralisi
@ 2018-03-21 21:19 ` Bjorn Helgaas
  2018-03-27 16:34   ` Rob Herring
  10 siblings, 1 reply; 21+ messages in thread
From: Bjorn Helgaas @ 2018-03-21 21:19 UTC (permalink / raw)
  To: Lorenzo Pieralisi
  Cc: linux-pci, Bjorn Helgaas, Rob Herring, Linus Walleij,
	Xiaowei Song, Ray Jui, Scott Branden, Jon Mason, Jingoo Han,
	Joao Pinto, Thomas Petazzoni, Tanmay Inamdar, Shawn Lin,
	Ley Foon Tan, Fengguang Wu

On Wed, Mar 21, 2018 at 02:42:44PM +0000, Lorenzo Pieralisi wrote:
> Rebased/reworked a patch series previously posted by Rob Herring[1].
> 
> v1 -> v2:
> 	- Rebased against v4.16-rc1
> 	- Refactored/split patches
> 
> [1] https://marc.info/?l=linux-pci&m=152043736711658&w=2
> 
> Original cover letter
> ---------------------
> 
> This started with just moving private functions from of_pci.h to
> drivers/pci/pci.h, but I was annoyed with trying to build all the right
> configs, so I enabled COMPILE_TEST on a bunch of drivers. Then I fixed
> the fallout from doing that. I'm sending this as all one series, but
> really there is no dependency for the header refactoring patch.
> 
> Needless to say, this series is *compile tested* only. This is based on 
> Bjorn's for-linus branch (and the of_pci.h fix there).
> 
> Rob
> 
> Fengguang Wu (4):
>   PCI: kirin: struct kirin_pcie_driver can be static
>   PCI: faraday: struct faraday_pci_variant can be static
>   PCI: rcar: Fix semicolon.cocci warnings
>   PCI: v3-semi: Fix semicolon.cocci warnings

If these titles were "Make XXX static" and "Remove unnecessary
semicolon" they would read the same as all the others, i.e., they
would start with a verb and contain a little more information.  "Fix
XXX warnings" is not really very informative all by itself.

Bjorn

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

* Re: [PATCH v2 07/10] PCI: v3-semi: Fix semicolon.cocci warnings
  2018-03-21 14:42 ` [PATCH v2 07/10] PCI: v3-semi: " Lorenzo Pieralisi
@ 2018-03-22 10:27   ` Linus Walleij
  0 siblings, 0 replies; 21+ messages in thread
From: Linus Walleij @ 2018-03-22 10:27 UTC (permalink / raw)
  To: Lorenzo Pieralisi
  Cc: linux-pci, Fengguang Wu, Rob Herring, Bjorn Helgaas,
	Xiaowei Song, Ray Jui, Scott Branden, Jon Mason, Jingoo Han,
	Joao Pinto, Thomas Petazzoni, Tanmay Inamdar, Shawn Lin,
	Ley Foon Tan

On Wed, Mar 21, 2018 at 3:42 PM, Lorenzo Pieralisi
<lorenzo.pieralisi@arm.com> wrote:

> From: Fengguang Wu <fengguang.wu@intel.com>
>
> drivers/pci/host/pci-v3-semi.c:676:2-3: Unneeded semicolon
>
> Remove unneeded semicolon.
>
> Generated by: scripts/coccinelle/misc/semicolon.cocci
>
> Signed-off-by: Fengguang Wu <fengguang.wu@intel.com>
> Signed-off-by: Rob Herring <robh@kernel.org>
> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>

Reviewed-by: Linus Walleij <linus.walleij@linaro.org>

Yours,
Linus Walleij

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

* Re: [PATCH v2 05/10] PCI: faraday: struct faraday_pci_variant can be static
  2018-03-21 14:42 ` [PATCH v2 05/10] PCI: faraday: struct faraday_pci_variant " Lorenzo Pieralisi
@ 2018-03-22 10:46   ` Linus Walleij
  0 siblings, 0 replies; 21+ messages in thread
From: Linus Walleij @ 2018-03-22 10:46 UTC (permalink / raw)
  To: Lorenzo Pieralisi
  Cc: linux-pci, Fengguang Wu, Bjorn Helgaas, Rob Herring,
	Xiaowei Song, Ray Jui, Scott Branden, Jon Mason, Jingoo Han,
	Joao Pinto, Thomas Petazzoni, Tanmay Inamdar, Shawn Lin,
	Ley Foon Tan

On Wed, Mar 21, 2018 at 3:42 PM, Lorenzo Pieralisi
<lorenzo.pieralisi@arm.com> wrote:

> From: Fengguang Wu <fengguang.wu@intel.com>
>
> This was generated from 0-day builder.
>
> Signed-off-by: Fengguang Wu <fengguang.wu@intel.com>
> [lorenzo.pieralisi@arm.com: reworked/split patch]
> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>

Reviewed-by: Linus Walleij <linus.walleij@linaro.org>

Yours,
Linus Walleij

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

* Re: [PATCH v2 09/10] PCI: dwc: Move CONFIG_PCI depends to menu
  2018-03-21 14:42 ` [PATCH v2 09/10] PCI: dwc: Move CONFIG_PCI depends to menu Lorenzo Pieralisi
@ 2018-03-24 14:03   ` Jingoo Han
  0 siblings, 0 replies; 21+ messages in thread
From: Jingoo Han @ 2018-03-24 14:03 UTC (permalink / raw)
  To: 'Lorenzo Pieralisi', linux-pci
  Cc: 'Rob Herring', 'Bjorn Helgaas',
	'Linus Walleij', 'Xiaowei Song',
	'Ray Jui', 'Scott Branden', 'Jon Mason',
	'Joao Pinto', 'Thomas Petazzoni',
	'Tanmay Inamdar', 'Shawn Lin',
	'Ley Foon Tan', 'Fengguang Wu'

On Wednesday, March 21, 2018 10:43 AM, Lorenzo Pieralisi wrote:
>
> From: Rob Herring <robh@kernel.org>
> 
> There's no need for every config option to explicitly depend on
> CONFIG_PCI, so move it out of individual option to the menu option.
> 
> Signed-off-by: Rob Herring <robh@kernel.org>
> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>

Acked-by: Jingoo Han <jingoohan1@gmail.com>

It looks good.

Best regards,
Jingoo Han

> ---
>  drivers/pci/dwc/Kconfig | 17 +++--------------
>  1 file changed, 3 insertions(+), 14 deletions(-)
> 
> diff --git a/drivers/pci/dwc/Kconfig b/drivers/pci/dwc/Kconfig
> index 6f2b653146bb..2902544f5834 100644
> --- a/drivers/pci/dwc/Kconfig
> +++ b/drivers/pci/dwc/Kconfig
> @@ -1,13 +1,13 @@
>  # SPDX-License-Identifier: GPL-2.0
> 
>  menu "DesignWare PCI Core Support"
> +	depends on PCI
> 
>  config PCIE_DW
>  	bool
> 
>  config PCIE_DW_HOST
>          bool
> -	depends on PCI
>  	depends on PCI_MSI_IRQ_DOMAIN
>          select PCIE_DW
> 
> @@ -22,7 +22,7 @@ config PCI_DRA7XX
>  config PCI_DRA7XX_HOST
>  	bool "TI DRA7xx PCIe controller Host Mode"
>  	depends on SOC_DRA7XX || COMPILE_TEST
> -	depends on PCI && PCI_MSI_IRQ_DOMAIN
> +	depends on PCI_MSI_IRQ_DOMAIN
>  	depends on OF && HAS_IOMEM && TI_PIPE3
>  	select PCIE_DW_HOST
>  	select PCI_DRA7XX
> @@ -52,7 +52,6 @@ config PCI_DRA7XX_EP
> 
>  config PCIE_DW_PLAT
>  	bool "Platform bus based DesignWare PCIe Controller"
> -	depends on PCI
>  	depends on PCI_MSI_IRQ_DOMAIN
>  	select PCIE_DW_HOST
>  	---help---
> @@ -65,7 +64,6 @@ config PCIE_DW_PLAT
> 
>  config PCI_EXYNOS
>  	bool "Samsung Exynos PCIe controller"
> -	depends on PCI
>  	depends on SOC_EXYNOS5440 || COMPILE_TEST
>  	depends on PCI_MSI_IRQ_DOMAIN
>  	select PCIEPORTBUS
> @@ -73,7 +71,6 @@ config PCI_EXYNOS
> 
>  config PCI_IMX6
>  	bool "Freescale i.MX6 PCIe controller"
> -	depends on PCI
>  	depends on SOC_IMX6Q || (ARM && COMPILE_TEST)
>  	depends on PCI_MSI_IRQ_DOMAIN
>  	select PCIEPORTBUS
> @@ -81,7 +78,6 @@ config PCI_IMX6
> 
>  config PCIE_SPEAR13XX
>  	bool "STMicroelectronics SPEAr PCIe controller"
> -	depends on PCI
>  	depends on ARCH_SPEAR13XX || COMPILE_TEST
>  	depends on PCI_MSI_IRQ_DOMAIN
>  	select PCIEPORTBUS
> @@ -91,7 +87,6 @@ config PCIE_SPEAR13XX
> 
>  config PCI_KEYSTONE
>  	bool "TI Keystone PCIe controller"
> -	depends on PCI
>  	depends on ARCH_KEYSTONE || (ARM && COMPILE_TEST)
>  	depends on PCI_MSI_IRQ_DOMAIN
>  	select PCIEPORTBUS
> @@ -104,7 +99,6 @@ config PCI_KEYSTONE
> 
>  config PCI_LAYERSCAPE
>  	bool "Freescale Layerscape PCIe controller"
> -	depends on PCI
>  	depends on OF && (ARM || ARCH_LAYERSCAPE || COMPILE_TEST)
>  	depends on PCI_MSI_IRQ_DOMAIN
>  	select MFD_SYSCON
> @@ -115,7 +109,6 @@ config PCI_LAYERSCAPE
>  config PCI_HISI
>  	depends on OF && (ARM64 || COMPILE_TEST)
>  	bool "HiSilicon Hip05 and Hip06 SoCs PCIe controllers"
> -	depends on PCI
>  	depends on PCI_MSI_IRQ_DOMAIN
>  	select PCIEPORTBUS
>  	select PCIE_DW_HOST
> @@ -126,7 +119,6 @@ config PCI_HISI
> 
>  config PCIE_QCOM
>  	bool "Qualcomm PCIe controller"
> -	depends on PCI
>  	depends on OF && (ARCH_QCOM || COMPILE_TEST)
>  	depends on PCI_MSI_IRQ_DOMAIN
>  	select PCIEPORTBUS
> @@ -138,7 +130,6 @@ config PCIE_QCOM
> 
>  config PCIE_ARMADA_8K
>  	bool "Marvell Armada-8K PCIe controller"
> -	depends on PCI
>  	depends on ARCH_MVEBU || COMPILE_TEST
>  	depends on PCI_MSI_IRQ_DOMAIN
>  	select PCIEPORTBUS
> @@ -155,7 +146,7 @@ config PCIE_ARTPEC6
>  config PCIE_ARTPEC6_HOST
>  	bool "Axis ARTPEC-6 PCIe controller Host Mode"
>  	depends on MACH_ARTPEC6 || COMPILE_TEST
> -	depends on PCI && PCI_MSI_IRQ_DOMAIN
> +	depends on PCI_MSI_IRQ_DOMAIN
>  	select PCIEPORTBUS
>  	select PCIE_DW_HOST
>  	select PCIE_ARTPEC6
> @@ -177,7 +168,6 @@ config PCIE_KIRIN
>  	depends on OF && (ARM64 || COMPILE_TEST)
>  	bool "HiSilicon Kirin series SoCs PCIe controllers"
>  	depends on PCI_MSI_IRQ_DOMAIN
> -	depends on PCI
>  	select PCIEPORTBUS
>  	select PCIE_DW_HOST
>  	help
> @@ -187,7 +177,6 @@ config PCIE_KIRIN
>  config PCIE_HISI_STB
>  	bool "HiSilicon STB SoCs PCIe controllers"
>  	depends on ARCH_HISI || COMPILE_TEST
> -	depends on PCI
>  	depends on PCI_MSI_IRQ_DOMAIN
>  	select PCIEPORTBUS
>  	select PCIE_DW_HOST
> --
> 2.15.0

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

* Re: [PATCH v2 10/10] PCI: Move private DT related functions into private header
  2018-03-21 14:42 ` [PATCH v2 10/10] PCI: Move private DT related functions into private header Lorenzo Pieralisi
@ 2018-03-24 14:07   ` Jingoo Han
  0 siblings, 0 replies; 21+ messages in thread
From: Jingoo Han @ 2018-03-24 14:07 UTC (permalink / raw)
  To: 'Lorenzo Pieralisi', linux-pci
  Cc: 'Rob Herring', 'Bjorn Helgaas',
	'Linus Walleij', 'Xiaowei Song',
	'Ray Jui', 'Scott Branden', 'Jon Mason',
	'Joao Pinto', 'Thomas Petazzoni',
	'Tanmay Inamdar', 'Shawn Lin',
	'Ley Foon Tan', 'Fengguang Wu'

On Wednesday, March 21, 2018 10:43 AM, Lorenzo Pieralisi wrote:
> 
> From: Rob Herring <robh@kernel.org>
> 
> The functions in linux/of_pci.h are primarily used by host bridge
> drivers, so they can be private to drivers/pci/.
> 
> The remaining functions are still used mostly in host bridge drivers
> that still live in arch specific code. Hopefully someday, those will get
> moved into drivers/pci as well.
> 
> Signed-off-by: Rob Herring <robh@kernel.org>
> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>

Acked-by: Jingoo Han <jingoohan1@gmail.com>

Best regards,
Jingoo Han


> ---
>  drivers/pci/dwc/pci-dra7xx.c           |  1 +
>  drivers/pci/dwc/pcie-designware-host.c |  1 +
>  drivers/pci/host/pci-aardvark.c        |  2 ++
>  drivers/pci/host/pci-ftpci100.c        |  2 ++
>  drivers/pci/host/pci-mvebu.c           |  2 ++
>  drivers/pci/host/pci-rcar-gen2.c       |  2 ++
>  drivers/pci/host/pci-tegra.c           |  2 ++
>  drivers/pci/host/pci-v3-semi.c         |  2 ++
>  drivers/pci/host/pci-xgene.c           |  2 ++
>  drivers/pci/host/pcie-altera.c         |  2 ++
>  drivers/pci/host/pcie-iproc-platform.c |  1 +
>  drivers/pci/host/pcie-mediatek.c       |  2 ++
>  drivers/pci/host/pcie-rcar.c           |  2 ++
>  drivers/pci/host/pcie-rockchip.c       |  2 ++
>  drivers/pci/host/pcie-xilinx-nwl.c     |  2 ++
>  drivers/pci/host/pcie-xilinx.c         |  2 ++
>  drivers/pci/pci.h                      | 40
> ++++++++++++++++++++++++++++++++++
>  include/linux/of_pci.h                 | 34 -----------------------------
>  18 files changed, 69 insertions(+), 34 deletions(-)
> 

<.....>

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

* Re: [PATCH v2 00/10] PCI DT header refactoring and compile test improvements
  2018-03-21 21:19 ` [PATCH v2 00/10] PCI DT header refactoring and compile test improvements Bjorn Helgaas
@ 2018-03-27 16:34   ` Rob Herring
  0 siblings, 0 replies; 21+ messages in thread
From: Rob Herring @ 2018-03-27 16:34 UTC (permalink / raw)
  To: Bjorn Helgaas, Fengguang Wu
  Cc: Lorenzo Pieralisi, linux-pci, Bjorn Helgaas, Linus Walleij,
	Xiaowei Song, Ray Jui, Scott Branden, Jon Mason, Jingoo Han,
	Joao Pinto, Thomas Petazzoni, Tanmay Inamdar, Shawn Lin,
	Ley Foon Tan

On Wed, Mar 21, 2018 at 4:19 PM, Bjorn Helgaas <helgaas@kernel.org> wrote:
> On Wed, Mar 21, 2018 at 02:42:44PM +0000, Lorenzo Pieralisi wrote:
>> Rebased/reworked a patch series previously posted by Rob Herring[1].
>>
>> v1 -> v2:
>>       - Rebased against v4.16-rc1
>>       - Refactored/split patches
>>
>> [1] https://marc.info/?l=linux-pci&m=152043736711658&w=2
>>
>> Original cover letter
>> ---------------------
>>
>> This started with just moving private functions from of_pci.h to
>> drivers/pci/pci.h, but I was annoyed with trying to build all the right
>> configs, so I enabled COMPILE_TEST on a bunch of drivers. Then I fixed
>> the fallout from doing that. I'm sending this as all one series, but
>> really there is no dependency for the header refactoring patch.
>>
>> Needless to say, this series is *compile tested* only. This is based on
>> Bjorn's for-linus branch (and the of_pci.h fix there).
>>
>> Rob
>>
>> Fengguang Wu (4):
>>   PCI: kirin: struct kirin_pcie_driver can be static
>>   PCI: faraday: struct faraday_pci_variant can be static
>>   PCI: rcar: Fix semicolon.cocci warnings
>>   PCI: v3-semi: Fix semicolon.cocci warnings
>
> If these titles were "Make XXX static" and "Remove unnecessary
> semicolon" they would read the same as all the others, i.e., they
> would start with a verb and contain a little more information.  "Fix
> XXX warnings" is not really very informative all by itself.

Not sure who you are directing the comment to, but they are generated
patches. Fixing what generates them would be more useful than
maintainers fixing up the commit messages. Of course, following the
varied whims of different maintainers is probably not scriptable.

Rob

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

* Re: [PATCH v2 02/10] PCI: iproc: Remove dependency on ARM specific struct pci_sys_data
  2018-03-21 21:16   ` Bjorn Helgaas
@ 2018-03-27 16:39     ` Rob Herring
  0 siblings, 0 replies; 21+ messages in thread
From: Rob Herring @ 2018-03-27 16:39 UTC (permalink / raw)
  To: Bjorn Helgaas
  Cc: Lorenzo Pieralisi, linux-pci, Bjorn Helgaas, Linus Walleij,
	Xiaowei Song, Ray Jui, Scott Branden, Jon Mason, Jingoo Han,
	Joao Pinto, Thomas Petazzoni, Tanmay Inamdar, Shawn Lin,
	Ley Foon Tan, Fengguang Wu

On Wed, Mar 21, 2018 at 4:16 PM, Bjorn Helgaas <helgaas@kernel.org> wrote:
> On Wed, Mar 21, 2018 at 02:42:46PM +0000, Lorenzo Pieralisi wrote:
>> From: Rob Herring <robh@kernel.org>
>>
>> The iproc driver is using ARM's struct pci_sys_data simply to store a
>> private data pointer. This is completely unnecessary, so store the
>> private data directly in bus->sysdata as is done on arm64.
>
> Oh, thank you, this is awesome!
>
> struct pci_sys_data is still referenced in mvebu and rcar.  I didn't
> look closely enough to see if they could be similarly simplified.

I did.

> I guess not, because they use pci_common_init_dev().  They look
> tantalizingly close to being able to use pci_scan_root_bus_bridge()
> like everybody else, though.

Yes, that is the problem. It shouldn't be hard, just needs someone
with h/w to test.

Rob

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

* Re: [PATCH v2 04/10] PCI: kirin: struct kirin_pcie_driver can be static
  2018-03-21 14:42 ` [PATCH v2 04/10] PCI: kirin: struct kirin_pcie_driver can be static Lorenzo Pieralisi
@ 2018-03-27 17:44   ` Bjorn Helgaas
  0 siblings, 0 replies; 21+ messages in thread
From: Bjorn Helgaas @ 2018-03-27 17:44 UTC (permalink / raw)
  To: Lorenzo Pieralisi
  Cc: linux-pci, Fengguang Wu, Rob Herring, Bjorn Helgaas,
	Linus Walleij, Xiaowei Song, Ray Jui, Scott Branden, Jon Mason,
	Jingoo Han, Joao Pinto, Thomas Petazzoni, Tanmay Inamdar,
	Shawn Lin, Ley Foon Tan, Ingo Molnar

[+cc Ingo]

On Wed, Mar 21, 2018 at 02:42:48PM +0000, Lorenzo Pieralisi wrote:
> From: Fengguang Wu <fengguang.wu@intel.com>
> 
> This was generated from 0-day builder.
> 
> Signed-off-by: Fengguang Wu <fengguang.wu@intel.com>

Hi Fengguang,

These patches to make things static are awesome :)

There might be a small way to make them even better: change the title
from "struct xxx can be static" to "Make struct xxx static" so it
starts with a capitalized verb and tells what the patch does (not just
what is possible).

This is based on Ingo's suggestions about changelogs [1].

It might be just my personal preference, but I also like to see a
non-empty changelog, even for trivial patches like this, because the
title and the body serve separate semantic purposes and neither should
be empty even if they are both the same.  E.g.,

  PCI: kirin: Make struct kirin_pcie_driver static

  Struct kirin_pcie_driver is only referenced inside pcie-kirin.c, so
  make it static.

  Signed-off-by: ...

[1] http://lkml.kernel.org/r/20120711080446.GA17713@gmail.com

> [robh: add commit msg]
> Signed-off-by: Rob Herring <robh@kernel.org>
> [lorenzo.pieralisi@arm.com: reworked the commit log]
> Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
> ---
>  drivers/pci/dwc/pcie-kirin.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/pci/dwc/pcie-kirin.c b/drivers/pci/dwc/pcie-kirin.c
> index dcc8cedf6e17..a6b88c7f6e3e 100644
> --- a/drivers/pci/dwc/pcie-kirin.c
> +++ b/drivers/pci/dwc/pcie-kirin.c
> @@ -504,7 +504,7 @@ static const struct of_device_id kirin_pcie_match[] = {
>  	{},
>  };
>  
> -struct platform_driver kirin_pcie_driver = {
> +static struct platform_driver kirin_pcie_driver = {
>  	.probe			= kirin_pcie_probe,
>  	.driver			= {
>  		.name			= "kirin-pcie",
> -- 
> 2.15.0
> 

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

end of thread, other threads:[~2018-03-27 17:44 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-03-21 14:42 [PATCH v2 00/10] PCI DT header refactoring and compile test improvements Lorenzo Pieralisi
2018-03-21 14:42 ` [PATCH v2 01/10] PCI: kirin: Remove unnecessary asm/compiler.h include Lorenzo Pieralisi
2018-03-21 14:42 ` [PATCH v2 02/10] PCI: iproc: Remove dependency on ARM specific struct pci_sys_data Lorenzo Pieralisi
2018-03-21 21:16   ` Bjorn Helgaas
2018-03-27 16:39     ` Rob Herring
2018-03-21 14:42 ` [PATCH v2 03/10] PCI: kirin: Fix missing dependency on PCI_MSI_IRQ_DOMAIN Lorenzo Pieralisi
2018-03-21 14:42 ` [PATCH v2 04/10] PCI: kirin: struct kirin_pcie_driver can be static Lorenzo Pieralisi
2018-03-27 17:44   ` Bjorn Helgaas
2018-03-21 14:42 ` [PATCH v2 05/10] PCI: faraday: struct faraday_pci_variant " Lorenzo Pieralisi
2018-03-22 10:46   ` Linus Walleij
2018-03-21 14:42 ` [PATCH v2 06/10] PCI: rcar: Fix semicolon.cocci warnings Lorenzo Pieralisi
2018-03-21 14:42 ` [PATCH v2 07/10] PCI: v3-semi: " Lorenzo Pieralisi
2018-03-22 10:27   ` Linus Walleij
2018-03-21 14:42 ` [PATCH v2 08/10] PCI: Improve host drivers compile test coverage Lorenzo Pieralisi
2018-03-21 17:58   ` Scott Branden
2018-03-21 14:42 ` [PATCH v2 09/10] PCI: dwc: Move CONFIG_PCI depends to menu Lorenzo Pieralisi
2018-03-24 14:03   ` Jingoo Han
2018-03-21 14:42 ` [PATCH v2 10/10] PCI: Move private DT related functions into private header Lorenzo Pieralisi
2018-03-24 14:07   ` Jingoo Han
2018-03-21 21:19 ` [PATCH v2 00/10] PCI DT header refactoring and compile test improvements Bjorn Helgaas
2018-03-27 16:34   ` Rob Herring

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.