b04a6b9d39
PCI: dwc: Make ATU accessors private
...
The ATU registers are only accessed in pcie-designware.c and can be private
to it.
Link: https://lore.kernel.org/r/20200821035420.380495-34-robh@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org >
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Jingoo Han <jingoohan1@gmail.com >
Cc: Gustavo Pimentel <gustavo.pimentel@synopsys.com >
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Bjorn Helgaas <bhelgaas@google.com >
2020-09-08 16:37:02 +01:00
903d69f83c
PCI: dwc: Remove read_dbi2 code
...
The DBI2 appears to be write-only and there's no read accesses in the code
anyways, so let's remove all the read_dbi2 related code.
Link: https://lore.kernel.org/r/20200821035420.380495-33-robh@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org >
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Murali Karicheri <m-karicheri2@ti.com >
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Bjorn Helgaas <bhelgaas@google.com >
Cc: Jingoo Han <jingoohan1@gmail.com >
Cc: Gustavo Pimentel <gustavo.pimentel@synopsys.com >
2020-09-08 16:37:02 +01:00
84667a416d
PCI: dwc/tegra: Use common Designware port logic register definitions
...
The Tegra driver has its own defines for common Designware Port Logic
registers. Convert it to use the standard register definitions.
Link: https://lore.kernel.org/r/20200821035420.380495-32-robh@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org >
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Jingoo Han <jingoohan1@gmail.com >
Cc: Gustavo Pimentel <gustavo.pimentel@synopsys.com >
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Bjorn Helgaas <bhelgaas@google.com >
Cc: Thierry Reding <thierry.reding@gmail.com >
Cc: Jonathan Hunter <jonathanh@nvidia.com >
Cc: linux-tegra@vger.kernel.org
2020-09-08 16:37:02 +01:00
fb76523271
PCI: dwc: Remove hardcoded PCI_CAP_ID_EXP offset
...
While the Designware controller appears to hard code the PCI_CAP_ID_EXP
capability register at 0x70, there's no need to hard code this in the
driver as it is discoverable.
Link: https://lore.kernel.org/r/20200821035420.380495-31-robh@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org >
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Kishon Vijay Abraham I <kishon@ti.com >
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Bjorn Helgaas <bhelgaas@google.com >
Cc: Murali Karicheri <m-karicheri2@ti.com >
Cc: Pratyush Anand <pratyush.anand@gmail.com >
Cc: linux-omap@vger.kernel.org
2020-09-08 16:37:02 +01:00
7b87ddc04b
PCI: dwc/qcom: Use common PCI register definitions
...
The QCom driver has its own defines for common PCI config space
registers. It also hard codes the capability register offsets which are
discoverable. Convert it to use the standard register definitions.
Link: https://lore.kernel.org/r/20200821035420.380495-30-robh@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org >
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Stanimir Varbanov <svarbanov@mm-sol.com >
Cc: Andy Gross <agross@kernel.org >
Cc: Bjorn Andersson <bjorn.andersson@linaro.org >
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Bjorn Helgaas <bhelgaas@google.com >
Cc: linux-arm-msm@vger.kernel.org
2020-09-08 16:37:02 +01:00
201a8df899
PCI: dwc/imx6: Use common PCI register definitions
...
The i.MX6 driver has its own defines for common PCI config space
registers. It also hard codes the capability register offsets which are
discoverable. Convert it to use the standard register definitions.
Link: https://lore.kernel.org/r/20200821035420.380495-29-robh@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org >
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Richard Zhu <hongxing.zhu@nxp.com >
Cc: Lucas Stach <l.stach@pengutronix.de >
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Bjorn Helgaas <bhelgaas@google.com >
Cc: Shawn Guo <shawnguo@kernel.org >
Cc: Sascha Hauer <s.hauer@pengutronix.de >
Cc: Pengutronix Kernel Team <kernel@pengutronix.de >
Cc: Fabio Estevam <festevam@gmail.com >
Cc: NXP Linux Team <linux-imx@nxp.com >
2020-09-08 16:37:02 +01:00
2f2cea1ea7
PCI: dwc/meson: Rework PCI config and DW port logic register accesses
...
The meson 'elbi' registers are just the Designware 'dbi' space and all
the registers accessed are either standard PCI config space or DWC port
logic registers. Convert the accesses to use the common defines and
register accessors.
Link: https://lore.kernel.org/r/20200821035420.380495-28-robh@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org >
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Yue Wang <yue.wang@Amlogic.com >
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Bjorn Helgaas <bhelgaas@google.com >
Cc: Kevin Hilman <khilman@baylibre.com >
Cc: Jingoo Han <jingoohan1@gmail.com >
Cc: Gustavo Pimentel <gustavo.pimentel@synopsys.com >
Cc: linux-amlogic@lists.infradead.org
2020-09-08 16:37:02 +01:00
15efab2b89
PCI: dwc/meson: Drop unnecessary RC config space initialization
...
The common Designware init already initializes the RC PCI_COMMAND, BAR0
and BAR1 registers.
The only difference here is the common code sets SERR. If clearing SERR
is what's desired, then the Meson driver should do that instead.
Link: https://lore.kernel.org/r/20200821035420.380495-27-robh@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org >
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Yue Wang <yue.wang@Amlogic.com >
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Bjorn Helgaas <bhelgaas@google.com >
Cc: Kevin Hilman <khilman@baylibre.com >
Cc: linux-amlogic@lists.infradead.org
2020-09-08 16:37:02 +01:00
244c40cc28
PCI: dwc/meson: Drop the duplicate number of lanes setup
...
The meson lanes initialization is the same DWC port logic registers as
in dw_pcie_setup(). We just need to initialize 'num_lanes' to 1 to do
the same init.
dw_pcie_setup_rc() sets the PORT_LOGIC_SPEED_CHANGE bit, so setting it
can be dropped.
Link: https://lore.kernel.org/r/20200821035420.380495-26-robh@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org >
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Yue Wang <yue.wang@Amlogic.com >
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Bjorn Helgaas <bhelgaas@google.com >
Cc: Kevin Hilman <khilman@baylibre.com >
Cc: Neil Armstrong <narmstrong@baylibre.com >
Cc: Jerome Brunet <jbrunet@baylibre.com >
Cc: Martin Blumenstingl <martin.blumenstingl@googlemail.com >
Cc: linux-amlogic@lists.infradead.org
2020-09-08 16:37:02 +01:00
cff9244432
PCI: dwc: Ensure FAST_LINK_MODE is cleared
...
"Fast Link Mode" is a simulation environment speed up setting which should
never be set and the default is not set. However some Amlogic platforms
have it set (by firmware presumably). See commit 87dccf0932
("PCI:
amlogic: meson: Don't use FAST_LINK_MODE to set up link") for more
information. Let's clear it in core DWC code so we can drop some vendor
specific code.
Link: https://lore.kernel.org/r/20200821035420.380495-25-robh@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org >
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Jingoo Han <jingoohan1@gmail.com >
Cc: Gustavo Pimentel <gustavo.pimentel@synopsys.com >
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Bjorn Helgaas <bhelgaas@google.com >
2020-09-08 16:37:02 +01:00
6ffc02d236
PCI: dwc: Add a 'num_lanes' field to struct dw_pcie
...
Add a 'num_lanes' field to allow drivers to provide a the number of lanes
if not in DT or using a custom DT property. A driver can provide a
non-zero value which is used if the DT doesn't have a 'num-lanes'
property.
Link: https://lore.kernel.org/r/20200821035420.380495-24-robh@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org >
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Jingoo Han <jingoohan1@gmail.com >
Cc: Gustavo Pimentel <gustavo.pimentel@synopsys.com >
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Bjorn Helgaas <bhelgaas@google.com >
2020-09-08 16:37:08 +01:00
574523dcfc
PCI: dwc/imx6: Remove duplicate define PCIE_LINK_WIDTH_SPEED_CONTROL
...
PCIE_LINK_WIDTH_SPEED_CONTROL is already defined in pcie-designware.h,
so remove it from the i.MX6 driver.
Link: https://lore.kernel.org/r/20200821035420.380495-23-robh@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org >
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Richard Zhu <hongxing.zhu@nxp.com >
Cc: Lucas Stach <l.stach@pengutronix.de >
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Bjorn Helgaas <bhelgaas@google.com >
Cc: Shawn Guo <shawnguo@kernel.org >
Cc: Sascha Hauer <s.hauer@pengutronix.de >
Cc: Pengutronix Kernel Team <kernel@pengutronix.de >
Cc: Fabio Estevam <festevam@gmail.com >
Cc: NXP Linux Team <linux-imx@nxp.com >
2020-09-08 16:37:02 +01:00
cf627713e3
PCI: dwc: Check CONFIG_PCI_MSI inside dw_pcie_msi_init()
...
Move the IS_ENABLED(CONFIG_PCI_MSI) check into dw_pcie_msi_init()
instead of duplicating it in all the drivers.
Link: https://lore.kernel.org/r/20200821035420.380495-22-robh@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org >
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Richard Zhu <hongxing.zhu@nxp.com >
Cc: Lucas Stach <l.stach@pengutronix.de >
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Bjorn Helgaas <bhelgaas@google.com >
Cc: Shawn Guo <shawnguo@kernel.org >
Cc: Sascha Hauer <s.hauer@pengutronix.de >
Cc: Pengutronix Kernel Team <kernel@pengutronix.de >
Cc: Fabio Estevam <festevam@gmail.com >
Cc: NXP Linux Team <linux-imx@nxp.com >
Cc: Yue Wang <yue.wang@Amlogic.com >
Cc: Kevin Hilman <khilman@baylibre.com >
Cc: Jesper Nilsson <jesper.nilsson@axis.com >
Cc: Jingoo Han <jingoohan1@gmail.com >
Cc: Gustavo Pimentel <gustavo.pimentel@synopsys.com >
Cc: Xiaowei Song <songxiaowei@hisilicon.com >
Cc: Binghui Wang <wangbinghui@hisilicon.com >
Cc: Stanimir Varbanov <svarbanov@mm-sol.com >
Cc: Andy Gross <agross@kernel.org >
Cc: Bjorn Andersson <bjorn.andersson@linaro.org >
Cc: Kunihiko Hayashi <hayashi.kunihiko@socionext.com >
Cc: Masahiro Yamada <yamada.masahiro@socionext.com >
Cc: linux-amlogic@lists.infradead.org
Cc: linux-arm-kernel@axis.com
Cc: linux-arm-msm@vger.kernel.org
2020-09-08 16:37:02 +01:00
421063efaf
PCI: dwc/keystone: Drop duplicated 'num-viewport'
...
The DWC core driver already parses and stores the 'num-viewport' DT
property, so there is no need for the Keystone driver to store it.
Link: https://lore.kernel.org/r/20200821035420.380495-21-robh@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org >
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Murali Karicheri <m-karicheri2@ti.com >
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Bjorn Helgaas <bhelgaas@google.com >
2020-09-08 16:37:02 +01:00
2ef6b06a04
PCI: dwc: Simplify config space handling
...
The config space is divided in half for type 0 and type 1 accesses, but
this is pointless as there's only one iATU window which is
reconfigured on each access.
The only platform doing something custom is TI Keystone (surprise!).
It does its own mapping of the config space to avoid spliting the
config space and never actually uses va_cfg1_base as it has its own
config space accessors. With the splitting removed, Keystone can use the
default mapping of config space.
Link: https://lore.kernel.org/r/20200821035420.380495-20-robh@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org >
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Murali Karicheri <m-karicheri2@ti.com >
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Bjorn Helgaas <bhelgaas@google.com >
Cc: Jingoo Han <jingoohan1@gmail.com >
Cc: Gustavo Pimentel <gustavo.pimentel@synopsys.com >
2020-09-08 16:37:02 +01:00
0f71c60ffd
PCI: dwc: Remove storing of PCI resources
...
The PCI bridge resources are stored in pci_host_bridge.windows, so
there's no need to store them in a DWC specific struct. There's also no
need to parse the resources and store them a 2nd time as they are mainly
used for one time setup of iATU windows.
Link: https://lore.kernel.org/r/20200821035420.380495-19-robh@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org >
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Murali Karicheri <m-karicheri2@ti.com >
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Bjorn Helgaas <bhelgaas@google.com >
Cc: Jonathan Chocron <jonnyc@amazon.com >
Cc: Jingoo Han <jingoohan1@gmail.com >
Cc: Gustavo Pimentel <gustavo.pimentel@synopsys.com >
2020-09-08 16:37:02 +01:00
5808d43e7c
PCI: dwc: Remove root_bus pointer
...
The pci_host_bridge struct already has a pointer to its pci_bus, so
let's convert the one user to use the bridge struct and remove the
private 'root_bus' pointer.
Link: https://lore.kernel.org/r/20200821035420.380495-18-robh@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org >
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Jingoo Han <jingoohan1@gmail.com >
Cc: Gustavo Pimentel <gustavo.pimentel@synopsys.com >
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Bjorn Helgaas <bhelgaas@google.com >
Cc: Thierry Reding <thierry.reding@gmail.com >
Cc: Jonathan Hunter <jonathanh@nvidia.com >
Cc: linux-tegra@vger.kernel.org
2020-09-08 16:37:02 +01:00
1df7930548
PCI: dwc: Convert to use pci_host_probe()
...
Now that there are no more .scan_bus() callbacks, we can remove it and just
use pci_host_probe().
Link: https://lore.kernel.org/r/20200821035420.380495-17-robh@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org >
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Jingoo Han <jingoohan1@gmail.com >
Cc: Gustavo Pimentel <gustavo.pimentel@synopsys.com >
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Bjorn Helgaas <bhelgaas@google.com >
2020-09-08 16:37:02 +01:00
6ab15b5e70
PCI: dwc: keystone: Convert .scan_bus() callback to use add_bus
...
TI keystone is the only Designware driver using .scan_bus(). This
function pointer is the only thing preventing the Designware driver from
using pci_host_probe(). Let's use the pci_ops.add_bus hook instead.
Link: https://lore.kernel.org/r/20200821035420.380495-16-robh@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org >
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Murali Karicheri <m-karicheri2@ti.com >
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Bjorn Helgaas <bhelgaas@google.com >
2020-09-08 16:37:02 +01:00
c2b0c098fb
PCI: dwc: Use generic config accessors
...
Now that all the platforms with custom config access handling define
their own pci_ops, let's split the default config accessors to use
different pci_ops for root and child buses. With this, we can use the
generic config accessors. The child bus accesses mainly require a
.map_bus() hook to reconfigure the iATU on each config space access.
Link: https://lore.kernel.org/r/20200821035420.380495-14-robh@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org >
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Jingoo Han <jingoohan1@gmail.com >
Cc: Gustavo Pimentel <gustavo.pimentel@synopsys.com >
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Bjorn Helgaas <bhelgaas@google.com >
2020-09-08 16:37:02 +01:00
7975c8cc8e
PCI: dwc: Remove dwc specific config accessor ops
...
Now that all the drivers needing custom config accessors have been
converted to define their own pci_ops, we can remove the DWC specific
function callbacks {rd,wr}_{own,other}_conf.
Link: https://lore.kernel.org/r/20200821035420.380495-13-robh@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org >
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Jingoo Han <jingoohan1@gmail.com >
Cc: Gustavo Pimentel <gustavo.pimentel@synopsys.com >
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Bjorn Helgaas <bhelgaas@google.com >
2020-09-08 16:37:02 +01:00
c4a42ee9ac
PCI: dwc: histb: Use pci_ops for root config space accessors
...
Now that DWC drivers can setup their own pci_ops for the root and child
buses, convert the HiSilicon histb driver to use the standard pci_ops
for root bus config accesses.
Link: https://lore.kernel.org/r/20200821035420.380495-12-robh@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org >
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Shawn Guo <shawn.guo@linaro.org >
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Bjorn Helgaas <bhelgaas@google.com >
2020-09-08 16:37:02 +01:00
08d2209e79
PCI: dwc: exynos: Use pci_ops for root config space accessors
...
Now that DWC drivers can setup their own pci_ops for the root and child
buses, convert the Samsung Exynos driver to use the standard pci_ops for
root bus config accesses.
Link: https://lore.kernel.org/r/20200821035420.380495-11-robh@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org >
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Jingoo Han <jingoohan1@gmail.com >
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Bjorn Helgaas <bhelgaas@google.com >
Cc: Kukjin Kim <kgene@kernel.org >
Cc: Krzysztof Kozlowski <krzk@kernel.org >
Cc: linux-samsung-soc@vger.kernel.org
2020-09-08 16:37:02 +01:00
6408e6a7f9
PCI: dwc: kirin: Use pci_ops for root config space accessors
...
Now that DWC drivers can setup their own pci_ops for the root and child
buses, convert the HiSilicon Kirin driver to use the standard pci_ops
for root bus config accesses.
Link: https://lore.kernel.org/r/20200821035420.380495-10-robh@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org >
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Xiaowei Song <songxiaowei@hisilicon.com >
Cc: Binghui Wang <wangbinghui@hisilicon.com >
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Bjorn Helgaas <bhelgaas@google.com >
2020-09-08 16:37:02 +01:00
e0ceb8f90b
PCI: dwc: meson: Use pci_ops for root config space accessors
...
Now that DWC drivers can setup their own pci_ops for the root and child
buses, convert the Amlogic meson driver to use the standard pci_ops for
root bus config accesses.
Link: https://lore.kernel.org/r/20200821035420.380495-9-robh@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org >
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Yue Wang <yue.wang@Amlogic.com >
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Bjorn Helgaas <bhelgaas@google.com >
Cc: Kevin Hilman <khilman@baylibre.com >
Cc: linux-amlogic@lists.infradead.org
2020-09-08 16:37:02 +01:00
692ccce7f0
PCI: dwc: tegra: Use pci_ops for root config space accessors
...
Now that DWC drivers can setup their own pci_ops for the root and child
buses, convert the Tegra driver to use the standard pci_ops for root
bus config accesses.
Link: https://lore.kernel.org/r/20200821035420.380495-8-robh@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org >
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Bjorn Helgaas <bhelgaas@google.com >
Cc: Thierry Reding <thierry.reding@gmail.com >
Cc: Jonathan Hunter <jonathanh@nvidia.com >
Cc: linux-tegra@vger.kernel.org
2020-09-08 16:37:02 +01:00
10a797c6e5
PCI: dwc: keystone: Use pci_ops for config space accessors
...
Now that DWC drivers can setup their own pci_ops for the root and child
buses, convert the TI Keystone driver to use the standard pci_ops for
config accesses.
Link: https://lore.kernel.org/r/20200821035420.380495-7-robh@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org >
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Murali Karicheri <m-karicheri2@ti.com >
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Bjorn Helgaas <bhelgaas@google.com >
2020-09-08 16:37:02 +01:00
fffbb0ba8e
PCI: dwc: al: Use pci_ops for child config space accessors
...
Now that DWC drivers can setup their own pci_ops for the root and child
buses, convert the Amazon driver to use the standard pci_ops for child
bus config accesses.
Link: https://lore.kernel.org/r/20200821035420.380495-6-robh@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org >
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Jonathan Chocron <jonnyc@amazon.com >
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Bjorn Helgaas <bhelgaas@google.com >
2020-09-08 16:37:02 +01:00
27e7ed0181
PCI: dwc: Add a default pci_ops.map_bus for root port
...
The Designware root port config space is memory mapped accesses via the
DBI space by default. Add a common implementation
dw_pcie_own_conf_map_bus() for platforms to use.
Link: https://lore.kernel.org/r/20200821035420.380495-5-robh@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org >
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Jingoo Han <jingoohan1@gmail.com >
Cc: Gustavo Pimentel <gustavo.pimentel@synopsys.com >
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Bjorn Helgaas <bhelgaas@google.com >
2020-09-08 16:36:50 +01:00
61660dbf08
PCI: imx6: Do not output error message when devm_clk_get() failed with -EPROBE_DEFER
...
When devm_clk_get() returns -EPROBE_DEFER, i.MX6 PCI driver should
NOT print error message, use dev_err_probe() to handle it.
Link: https://lore.kernel.org/r/1597109364-4739-1-git-send-email-Anson.Huang@nxp.com
Signed-off-by: Anson Huang <Anson.Huang@nxp.com >
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Reviewed-by: Lucas Stach <l.stach@pengutronix.de >
2020-09-07 15:37:02 +01:00
73abd0bf89
PCI: imx6: Use fallthrough pseudo-keyword
...
Replace the existing /* fall through */ comments and its variants with
the new pseudo-keyword macro fallthrough[1]. Also, remove unnecessary
fall-through markings when it is the case.
[1] https://www.kernel.org/doc/html/v5.7/process/deprecated.html?highlight=fallthrough#implicit-switch-case-fall-through
Link: https://lore.kernel.org/r/20200722031903.GA3711@embeddedor
Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org >
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
2020-09-07 15:22:30 +01:00
d3d4d028af
PCI: qcom: Make sure PCIe is reset before init for rev 2.1.0
...
Qsdk U-Boot can incorrectly leave the PCIe interface in an undefined
state if bootm command is used instead of bootipq. This is caused by the
not deinit of PCIe when bootm is called. Reset the PCIe before init
anyway to fix this U-Boot bug.
Link: https://lore.kernel.org/r/20200901124955.137-1-ansuelsmth@gmail.com
Fixes: 82a823833f
("PCI: qcom: Add Qualcomm PCIe controller driver")
Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com >
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org >
Cc: stable@vger.kernel.org # v4.19+
2020-09-07 11:58:20 +01:00
d27b1cdc10
PCI: tegra: No need to check return value of debugfs_create() functions
...
When calling debugfs functions, there is no need to ever check the
return value. The function can work or not, but the code logic should
never do something different based on this.
Link: https://lore.kernel.org/r/20200818133739.463193-1-gregkh@linuxfoundation.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Acked-by: Thierry Reding <treding@nvidia.com >
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Rob Herring <robh@kernel.org >
Cc: Bjorn Helgaas <bhelgaas@google.com >
Cc: Thierry Reding <thierry.reding@gmail.com >
Cc: Jonathan Hunter <jonathanh@nvidia.com >
Cc: Vidya Sagar <vidyas@nvidia.com >
Cc: Andrew Murray <amurray@thegoodpenguin.co.uk >
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
Cc: linux-pci@vger.kernel.org
Cc: linux-tegra@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
2020-09-07 10:47:45 +01:00
444ddca524
PCI: dwc: Allow overriding bridge pci_ops
...
In preparation to allow drivers to set their own root and child pci_ops
instead of using the DWC specific config space ops, we need to make
the pci_host_bridge pointer available and move setting the bridge->ops
and bridge->child_ops pointer to before the .host_init() hook.
Link: https://lore.kernel.org/r/20200821035420.380495-4-robh@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org >
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Jingoo Han <jingoohan1@gmail.com >
Cc: Gustavo Pimentel <gustavo.pimentel@synopsys.com >
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Bjorn Helgaas <bhelgaas@google.com >
2020-09-07 10:30:38 +01:00
f81c770df7
PCI: dwc: Use DBI accessors instead of own config accessors
...
The Designware DBI space contains the root bus bridge config space.
Platforms needing custom {rd,wr}_own_conf functions are also the ones
needing custom {read,write}_dbi ops functions and the access sequences
are the same.
Replace all dw_pcie_{rd,wr}_own_conf() calls with the DBI variants in
preparation to remove dw_pcie_{rd,wr}_own_conf().
Link: https://lore.kernel.org/r/20200821035420.380495-3-robh@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org >
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Jingoo Han <jingoohan1@gmail.com >
Cc: Gustavo Pimentel <gustavo.pimentel@synopsys.com >
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Bjorn Helgaas <bhelgaas@google.com >
2020-09-07 10:30:38 +01:00
16270a9235
PCI: designware-ep: Fix the Header Type check
...
The current check will result in the multiple function device
fails to initialize. So fix the check by masking out the
multiple function bit.
Link: https://lore.kernel.org/r/20200818092746.24366-1-Zhiqiang.Hou@nxp.com
Fixes: 0b24134f78
("PCI: dwc: Add validation that PCIe core is set to correct mode")
Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com >
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Reviewed-by: Rob Herring <robh@kernel.org >
2020-09-07 10:25:22 +01:00
6f119ec8d9
Merge branch 'pci/irq-error'
...
- Remove redundant logging for platform_get_irq() errors (Krzysztof
Wilczyński)
* pci/irq-error:
PCI: Remove dev_err() when handing an error from platform_get_irq()
2020-08-05 18:24:22 -05:00
65c2bc6ce9
Merge branch 'pci/doc'
...
- Fix several kerneldoc warnings (Krzysztof Kozlowski)
* pci/doc:
PCI: Fix kerneldoc warnings
2020-08-05 18:24:22 -05:00
49e427e6bd
Merge branch 'pci/host-probe-refactor'
...
- Use pci_host_bridge.windows list directly instead of splicing in a
temporary list for cadence, mvebu, host-common (Rob Herring)
- Use pci_host_probe() instead of open-coding all the pieces for altera,
brcmstb, iproc, mobiveil, rcar, rockchip, tegra, v3, versatile, xgene,
xilinx, xilinx-nwl (Rob Herring)
- Convert to devm_platform_ioremap_resource_byname() instead of open-coding
platform_get_resource_byname() and devm_ioremap_resource() for altera,
cadence, mediatek, rockchip, tegra, xgene (Dejin Zheng)
- Convert to devm_platform_ioremap_resource() instead of open-coding
platform_get_resource() and devm_ioremap_resource() for aardvark,
brcmstb, exynos, ftpci100, versatile (Dejin Zheng)
- Remove redundant error messages from devm_pci_remap_cfg_resource()
callers (Dejin Zheng)
- Drop useless PCI_ENABLE_PROC_DOMAINS from versatile driver (Rob Herring)
- Default host bridge parent device to the platform device (Rob Herring)
- Drop unnecessary zeroing of host bridge fields (Rob Herring)
- Use pci_is_root_bus() instead of tracking root bus number separately in
aardvark, designware (imx6, keystone, designware-host), mobiveil,
xilinx-nwl, xilinx, rockchip, rcar (Rob Herring)
- Set host bridge bus number in pci_scan_root_bus_bridge() instead of each
driver for aardvark, designware-host, host-common, mediatek, rcar, tegra,
v3-semi (Rob Herring)
- Use bridge resources instead of parsing DT 'ranges' again for cadence
(Rob Herring)
- Remove private bus number and range from cadence (Rob Herring)
- Use devm_pci_alloc_host_bridge() to simplify rcar (Rob Herring)
- Use struct pci_host_bridge.windows list directly rather than a temporary
(Rob Herring)
- Reduce OF "missing non-prefetchable window" from error to warning message
(Rob Herring)
- Convert rcar-gen2 from old Arm-specific pci_common_init_dev() to new
arch-independent interfaces (Rob Herring)
- Move DT resource setup into devm_pci_alloc_host_bridge() (Rob Herring)
- Set bridge map_irq and swizzle_irq to default functions; drivers that
don't support legacy IRQs (iproc) need to undo this (Rob Herring)
* pci/host-probe-refactor:
PCI: Set bridge map_irq and swizzle_irq to default functions
PCI: Move DT resource setup into devm_pci_alloc_host_bridge()
PCI: rcar-gen2: Convert to use modern host bridge probe functions
PCI: of: Reduce missing non-prefetchable memory region to a warning
PCI: rcar: Use struct pci_host_bridge.windows list directly
PCI: rcar: Use devm_pci_alloc_host_bridge()
PCI: cadence: Remove private bus number and range storage
PCI: cadence: Use bridge resources for outbound window setup
PCI: Move setting pci_host_bridge.busnr out of host drivers
PCI: rcar: Use pci_is_root_bus() to check if bus is root bus
PCI: rockchip: Use pci_is_root_bus() to check if bus is root bus
PCI: xilinx: Use pci_is_root_bus() to check if bus is root bus
PCI: xilinx-nwl: Use pci_is_root_bus() to check if bus is root bus
PCI: mobiveil: Use pci_is_root_bus() to check if bus is root bus
PCI: designware: Use pci_is_root_bus() to check if bus is root bus
PCI: aardvark: Use pci_is_root_bus() to check if bus is root bus
PCI: Drop unnecessary zeroing of bridge fields
PCI: Set default bridge parent device
PCI: versatile: Drop flag PCI_ENABLE_PROC_DOMAINS
PCI: controller: Remove duplicate error message
PCI: controller: Convert to devm_platform_ioremap_resource()
PCI: controller: Convert to devm_platform_ioremap_resource_byname()
PCI: xilinx: Use pci_host_probe() to register host
PCI: xilinx-nwl: Use pci_host_probe() to register host
PCI: rockchip: Use pci_host_probe() to register host
PCI: rcar: Use pci_host_probe() to register host
PCI: iproc: Use pci_host_probe() to register host
PCI: altera: Use pci_host_probe() to register host
PCI: xgene: Use pci_host_probe() to register host
PCI: versatile: Use pci_host_probe() to register host
PCI: v3: Use pci_host_probe() to register host
PCI: tegra: Use pci_host_probe() to register host
PCI: mobiveil: Use pci_host_probe() to register host
PCI: brcmstb: Use pci_host_probe() to register host
PCI: host-common: Use struct pci_host_bridge.windows list directly
PCI: mvebu: Use struct pci_host_bridge.windows list directly
PCI: cadence: Use struct pci_host_bridge.windows list directly
# Conflicts:
# drivers/pci/controller/cadence/pcie-cadence-host.c
2020-08-05 18:24:21 -05:00
21c04e050e
Merge branch 'remotes/lorenzo/pci/runtime-pm'
...
- Fix runtime power management imbalance for cadence, dra7xx, qcom, rcar
(Dinghao Liu)
* remotes/lorenzo/pci/runtime-pm:
PCI: rcar: Fix runtime PM imbalance on error
PCI: qcom: Fix runtime PM imbalance on error
PCI: cadence: Fix runtime PM imbalance on error
PCI: dwc: pci-dra7xx: Fix runtime PM imbalance on error
2020-08-05 18:24:20 -05:00
26418025ce
Merge branch 'remotes/lorenzo/pci/dwc'
...
- Add qcom ipq806x support (Ansuel Smith)
- Support max-link-speed DT property for qcom (Sham Muthayyan)
- Use PCI core #defines instead of adding qcom-specific ones (Ansuel Smith)
- Convert to devm_platform_ioremap_resource_byname() instead of open-coding
platform_get_resource_byname() and devm_ioremap_resource() for dra7xx,
keystone, artpec6, designware-plat, histb, intel-gw, kirin, qcom,
uniphier (Dejin Zheng)
- Remove non-ECAM HiSilicon hip05/hip06 driver (Rob Herring)
* remotes/lorenzo/pci/dwc:
PCI: dwc: hisi: Remove non-ECAM HiSilicon hip05/hip06 driver
PCI: dwc: Convert to devm_platform_ioremap_resource_byname()
PCI: qcom: Replace define with standard value
PCI: qcom: Support pci speed set for ipq806x
dt-bindings: PCI: qcom: Add ipq8064 rev 2 variant
PCI: qcom: Add ipq8064 rev2 variant
PCI: qcom: Add support for tx term offset for rev 2.1.0
PCI: qcom: Define some PARF params needed for ipq8064 SoC
PCI: qcom: Use bulk clk api and assert on error
dt-bindings: PCI: qcom: Add ext reset
PCI: qcom: Add missing reset for ipq806x
PCI: qcom: Change duplicate PCI reset to phy reset
dt-bindings: PCI: qcom: Add missing clks
PCI: qcom: Add missing ipq806x clocks in PCIe driver
2020-08-05 18:24:18 -05:00
9b41d19aff
PCI: Fix kerneldoc warnings
...
Fix kerneldoc warnings, e.g.,
$ make W=1 drivers/pci/
drivers/pci/ats.c:196: warning: Function parameter or member 'pdev' not described in 'pci_enable_pri'
drivers/pci/ats.c:196: warning: Function parameter or member 'reqs' not described in 'pci_enable_pri'
...
Link: https://lore.kernel.org/r/20200729201224.26799-2-krzk@kernel.org
Link: https://lore.kernel.org/r/20200729201224.26799-3-krzk@kernel.org
Link: https://lore.kernel.org/r/20200729201224.26799-4-krzk@kernel.org
Link: https://lore.kernel.org/r/20200729201224.26799-5-krzk@kernel.org
Link: https://lore.kernel.org/r/20200729201224.26799-6-krzk@kernel.org
Link: https://lore.kernel.org/r/20200729201224.26799-7-krzk@kernel.org
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org >
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com >
2020-08-05 18:23:14 -05:00
b64aa11eb2
PCI: Set bridge map_irq and swizzle_irq to default functions
...
The majority of DT based host drivers use the default .map_irq() and
.swizzle_irq() functions, so let's initialize the function pointers to
the default and drop setting them in the host drivers.
Drivers like iProc which don't support legacy interrupts need to set
.map_irq() back to NULL.
Link: https://lore.kernel.org/r/20200722022514.1283916-20-robh@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org >
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Acked-by: Bjorn Helgaas <bhelgaas@google.com >
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Bjorn Helgaas <bhelgaas@google.com >
2020-08-04 16:36:30 +01:00
669cbc7081
PCI: Move DT resource setup into devm_pci_alloc_host_bridge()
...
Now that pci_parse_request_of_pci_ranges() callers just setup
pci_host_bridge.windows and dma_ranges directly and don't need the bus
range returned, we can just initialize them when allocating the
pci_host_bridge struct.
With this, pci_parse_request_of_pci_ranges() becomes a static function.
Link: https://lore.kernel.org/r/20200722022514.1283916-19-robh@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org >
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Acked-by: Bjorn Helgaas <bhelgaas@google.com >
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Bjorn Helgaas <bhelgaas@google.com >
2020-08-04 16:36:30 +01:00
caecb05c80
PCI: Remove dev_err() when handing an error from platform_get_irq()
...
There is no need to call the dev_err() function directly to print a
custom message when handling an error from either the platform_get_irq() or
platform_get_irq_byname() functions as both are going to display an
appropriate error message in case of a failure.
This change is as per suggestions from Coccinelle, e.g.,
drivers/pci/controller/dwc/pcie-armada8k.c:252:2-9: line 252 is
redundant because platform_get_irq() already prints an error
[bhelgaas: squashed into one commit]
Suggested-by: Bjorn Helgaas <bhelgaas@google.com >
Link: https://lore.kernel.org/r/20200802142601.1635926-2-kw@linux.com
Link: https://lore.kernel.org/r/20200802142601.1635926-3-kw@linux.com
Link: https://lore.kernel.org/r/20200802142601.1635926-4-kw@linux.com
Link: https://lore.kernel.org/r/20200802142601.1635926-5-kw@linux.com
Link: https://lore.kernel.org/r/20200802142601.1635926-6-kw@linux.com
Link: https://lore.kernel.org/r/20200802142601.1635926-7-kw@linux.com
Link: https://lore.kernel.org/r/20200802142601.1635926-8-kw@linux.com
Link: https://lore.kernel.org/r/20200802142601.1635926-9-kw@linux.com
Link: https://lore.kernel.org/r/20200802142601.1635926-10-kw@linux.com
Link: https://lore.kernel.org/r/20200803071040.1663662-1-kw@linux.com
Signed-off-by: Krzysztof Wilczyński <kw@linux.com >
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com >
Reviewed-by: Ley Foon Tan <ley.foon.tan@intel.com > # altera
Acked-by: Jesper Nilsson <jesper.nilsson@axis.com > # dwc
2020-08-03 09:26:03 -05:00
c2fa6cf76d
PCI: dwc: hisi: Remove non-ECAM HiSilicon hip05/hip06 driver
...
The HiSilicon non-ECAM PCIe has been broken since March 2016 commit
7e57fd1444
("PCI: designware: Move Root Complex setup code to
dw_pcie_setup_rc()"). The reason is this commit moved the iATU setup code
from dw_pcie_host_init() to dw_pcie_setup_rc(), but the hisi driver never
calls dw_pcie_setup_rc(). The result is the PCI memory space is never
configured and the driver can't work. It's also clear it has an iATU as
the config space accesses use it.
There's also no dts file using either "hisilicon,hip05-pcie" or
"hisilicon,hip06-pcie".
Link: https://lore.kernel.org/r/20200724224204.3249055-1-robh@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org >
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Zhou Wang <wangzhou1@hisilicon.com >
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Bjorn Helgaas <bhelgaas@google.com >
2020-07-27 17:06:32 +01:00
4f5c883d78
PCI: Move setting pci_host_bridge.busnr out of host drivers
...
Most host drivers only parse the DT bus range to set the root bus number
in pci_host_bridge.busnr. The ones that don't set busnr are buggy in
that they ignore what's in DT. Let's set busnr in pci_scan_root_bus_bridge()
where we already check for the bus resource and remove setting it in
host drivers.
Link: https://lore.kernel.org/r/20200722022514.1283916-12-robh@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org >
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Acked-by: Bjorn Helgaas <bhelgaas@google.com >
Cc: Jingoo Han <jingoohan1@gmail.com >
Cc: Gustavo Pimentel <gustavo.pimentel@synopsys.com >
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Bjorn Helgaas <bhelgaas@google.com >
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com >
Cc: Will Deacon <will@kernel.org >
Cc: Thierry Reding <thierry.reding@gmail.com >
Cc: Jonathan Hunter <jonathanh@nvidia.com >
Cc: Linus Walleij <linus.walleij@linaro.org >
Cc: Ryder Lee <ryder.lee@mediatek.com >
Cc: Marek Vasut <marek.vasut+renesas@gmail.com >
Cc: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com >
Cc: linux-tegra@vger.kernel.org
Cc: linux-mediatek@lists.infradead.org
Cc: linux-renesas-soc@vger.kernel.org
2020-07-23 17:13:06 +01:00
5525493866
PCI: designware: Use pci_is_root_bus() to check if bus is root bus
...
Use pci_is_root_bus() rather than tracking the root bus number to
determine if the bus is the root bus or not. This removes storing
duplicated data as well as the need for the host bridge driver to have
to care about the bus numbers in most cases.
Link: https://lore.kernel.org/r/20200722022514.1283916-6-robh@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org >
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Acked-by: Bjorn Helgaas <bhelgaas@google.com >
Cc: Richard Zhu <hongxing.zhu@nxp.com >
Cc: Lucas Stach <l.stach@pengutronix.de >
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Bjorn Helgaas <bhelgaas@google.com >
Cc: Shawn Guo <shawnguo@kernel.org >
Cc: Sascha Hauer <s.hauer@pengutronix.de >
Cc: Pengutronix Kernel Team <kernel@pengutronix.de >
Cc: Fabio Estevam <festevam@gmail.com >
Cc: NXP Linux Team <linux-imx@nxp.com >
Cc: Murali Karicheri <m-karicheri2@ti.com >
Cc: Jingoo Han <jingoohan1@gmail.com >
Cc: Gustavo Pimentel <gustavo.pimentel@synopsys.com >
2020-07-23 11:20:50 +01:00
6a589900d0
PCI: Set default bridge parent device
...
The host bridge's parent device is always the platform device. As we
already have a pointer to it in the devres functions, let's initialize
the parent device. Drivers can still override the parent if desired.
Link: https://lore.kernel.org/r/20200722022514.1283916-3-robh@kernel.org
Signed-off-by: Rob Herring <robh@kernel.org >
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Acked-by: Bjorn Helgaas <bhelgaas@google.com >
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Cc: Bjorn Helgaas <bhelgaas@google.com >
2020-07-23 11:20:49 +01:00
da30e8bc9a
PCI: controller: Remove duplicate error message
...
devm_pci_remap_cfg_resource() will print an error message by itself when
goes wrong, so remove the duplicate error message.
Link: https://lore.kernel.org/r/20200526150954.4729-1-zhengdejin5@gmail.com
Signed-off-by: Dejin Zheng <zhengdejin5@gmail.com >
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com >
Reviewed-by: Rob Herring <robh@kernel.org >
2020-07-23 11:08:43 +01:00