aboutsummaryrefslogtreecommitdiff
path: root/pkgs/patches-linux-5.15/0002-PCI-mvebu-Remove-custom-mvebu_pci_host_probe-functio.patch
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/patches-linux-5.15/0002-PCI-mvebu-Remove-custom-mvebu_pci_host_probe-functio.patch')
-rw-r--r--pkgs/patches-linux-5.15/0002-PCI-mvebu-Remove-custom-mvebu_pci_host_probe-functio.patch82
1 files changed, 82 insertions, 0 deletions
diff --git a/pkgs/patches-linux-5.15/0002-PCI-mvebu-Remove-custom-mvebu_pci_host_probe-functio.patch b/pkgs/patches-linux-5.15/0002-PCI-mvebu-Remove-custom-mvebu_pci_host_probe-functio.patch
new file mode 100644
index 0000000..ea40f97
--- /dev/null
+++ b/pkgs/patches-linux-5.15/0002-PCI-mvebu-Remove-custom-mvebu_pci_host_probe-functio.patch
@@ -0,0 +1,82 @@
+From 74c5cf43b5e5de7832075264762c9ea85ef06b0a Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Pali=20Roh=C3=A1r?= <pali@kernel.org>
+Date: Tue, 16 Nov 2021 20:19:52 +0100
+Subject: [PATCH 02/90] PCI: mvebu: Remove custom mvebu_pci_host_probe()
+ function
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Now after pci_ioremap_io() usage was replaced by devm_pci_remap_iospace()
+function, there is no need to use custom mvebu_pci_host_probe() function.
+Current implementation of mvebu_pci_host_probe() is same as standard PCI
+core functionn pci_host_probe(). So replace mvebu_pci_host_probe() call by
+pci_host_probe() and remove custom mvebu_pci_host_probe() function.
+
+Signed-off-by: Pali Rohár <pali@kernel.org>
+---
+ drivers/pci/controller/pci-mvebu.c | 41 +-----------------------------
+ 1 file changed, 1 insertion(+), 40 deletions(-)
+
+diff --git a/drivers/pci/controller/pci-mvebu.c b/drivers/pci/controller/pci-mvebu.c
+index 12661311853b..9cbf10d6fc30 100644
+--- a/drivers/pci/controller/pci-mvebu.c
++++ b/drivers/pci/controller/pci-mvebu.c
+@@ -1095,45 +1095,6 @@ static int mvebu_pcie_parse_request_resources(struct mvebu_pcie *pcie)
+ return 0;
+ }
+
+-/*
+- * This is a copy of pci_host_probe(), except that it does the I/O
+- * remap as the last step, once we are sure we won't fail.
+- *
+- * It should be removed once the I/O remap error handling issue has
+- * been sorted out.
+- */
+-static int mvebu_pci_host_probe(struct pci_host_bridge *bridge)
+-{
+- struct pci_bus *bus, *child;
+- int ret;
+-
+- ret = pci_scan_root_bus_bridge(bridge);
+- if (ret < 0) {
+- dev_err(bridge->dev.parent, "Scanning root bridge failed");
+- return ret;
+- }
+-
+- bus = bridge->bus;
+-
+- /*
+- * We insert PCI resources into the iomem_resource and
+- * ioport_resource trees in either pci_bus_claim_resources()
+- * or pci_bus_assign_resources().
+- */
+- if (pci_has_flag(PCI_PROBE_ONLY)) {
+- pci_bus_claim_resources(bus);
+- } else {
+- pci_bus_size_bridges(bus);
+- pci_bus_assign_resources(bus);
+-
+- list_for_each_entry(child, &bus->children, node)
+- pcie_bus_configure_settings(child);
+- }
+-
+- pci_bus_add_devices(bus);
+- return 0;
+-}
+-
+ static int mvebu_pcie_probe(struct platform_device *pdev)
+ {
+ struct device *dev = &pdev->dev;
+@@ -1293,7 +1254,7 @@ static int mvebu_pcie_probe(struct platform_device *pdev)
+ bridge->ops = &mvebu_pcie_ops;
+ bridge->align_resource = mvebu_pcie_align_resource;
+
+- return mvebu_pci_host_probe(bridge);
++ return pci_host_probe(bridge);
+ }
+
+ static const struct of_device_id mvebu_pcie_of_match_table[] = {
+--
+2.34.1
+