PCI: dwc: move CONFIG_PCI depends to menu
Subsystems (7)
Rob Herring
maintainerPATCH v3 1/2 PCI: dwc: move CONFIG_PCI depends to menu
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.
---
Looks like these 2 patches slipped thru the cracks.
drivers/pci/dwc/Kconfig | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-)
drivers/pci/dwc/Kconfig +3 -14
@@ -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 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 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 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 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) depends on PCI_MSI_IRQ_DOMAIN select MFD_SYSCON
@@ -115,7 +109,6 @@ config PCI_LAYERSCAPE config PCI_HISI depends on OF && ARM64 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 ARCH_QCOM && OF 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 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 - 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 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 - depends on PCI depends on PCI_MSI_IRQ_DOMAIN select PCIEPORTBUS select PCIE_DW_HOST
Signature · 1 line
2.17.0
Rob Herring
maintainerPATCH v3 2/2 PCI: Move private DT related functions into private header
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.
---
Looks like these 2 patches slipped thru the cracks.
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(-)
drivers/pci/dwc/pci-dra7xx.c +1 -0
@@ -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 */
drivers/pci/dwc/pcie-designware-host.c +1 -0
@@ -15,6 +15,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;
drivers/pci/host/pci-aardvark.c +2 -0
@@ -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)
drivers/pci/host/pci-ftpci100.c +2 -0
@@ -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.
drivers/pci/host/pci-mvebu.c +2 -0
@@ -21,6 +21,8 @@#include <linux/of_pci.h> #include <linux/of_platform.h> +#include "../pci.h" +/* * PCIe unit register offsets. */
drivers/pci/host/pci-rcar-gen2.c +2 -0
@@ -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
drivers/pci/host/pci-tegra.c +2 -0
@@ -40,6 +40,8 @@#include <soc/tegra/cpuidle.h> #include <soc/tegra/pmc.h> +#include "../pci.h" +#define INT_PCI_MSI_NR (8 * 32)/* register definitions */
drivers/pci/host/pci-v3-semi.c +2 -0
@@ -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
drivers/pci/host/pci-xgene.c +2 -0
@@ -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
drivers/pci/host/pcie-altera.c +2 -0
@@ -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
drivers/pci/host/pcie-iproc-platform.c +1 -0
@@ -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[] = {
drivers/pci/host/pcie-mediatek.c +2 -0
@@ -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
drivers/pci/host/pcie-rcar.c +2 -0
@@ -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)
drivers/pci/host/pcie-rockchip.c +2 -0
@@ -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.
drivers/pci/host/pcie-xilinx-nwl.c +2 -0
@@ -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
drivers/pci/host/pcie-xilinx.c +2 -0
@@ -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
drivers/pci/pci.h +40 -0
@@ -407,4 +407,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 */
include/linux/of_pci.h +0 -34
@@ -13,9 +13,6 @@ struct device_node;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_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,
@@ -32,18 +29,6 @@ static inline int of_pci_get_devfn(struct device_node *np)return -EINVAL ; } -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)
@@ -51,12 +36,6 @@ 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
@@ -70,17 +49,4 @@ of_irq_parse_and_map_pci(const struct pci_dev *dev, u8 slot, u8 pin) }#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
Signature · 1 line
2.17.0
Re: [PATCH v3 2/2] PCI: Move private DT related functions into private header
Quoted 9 lines · Rob Herring
The functions in
linux/of_pci.hare primarily used by host bridge drivers, so they can be private todrivers/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/pcias well.Acked-by Jingoo Han <[email protected]>Signed-off-by Rob Herring <[email protected]>
Nice patch!
Yours,
Linus Walleij
Lorenzo Pieralisi
AppliedQuoted 7 lines · Rob Herring
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.Acked-by Jingoo Han <[email protected]>Signed-off-by Rob Herring <[email protected]>---
Looks like these 2 patches slipped thru the cracks.
I have applied both of them to pci/dwc for v4.18, thanks.
Lorenzo
Quoted 131 lines
drivers/pci/dwc/Kconfig | 17 +++-------------- 1 file changed, 3 insertions(+), 14 deletions(-)drivers/pci/dwc/Kconfig +3
-14@@ -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 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 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 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 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) depends on PCI_MSI_IRQ_DOMAIN select MFD_SYSCON@@ -115,7 +109,6 @@ config PCI_LAYERSCAPE config PCI_HISI depends on OF && ARM64 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 ARCH_QCOM && OF 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 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 - 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 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 - depends on PCI depends on PCI_MSI_IRQ_DOMAIN select PCIEPORTBUS select PCIE_DW_HOSTSignature · 1 line
2.17.0