diff options
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.patch | 82 |
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 + |