mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-26 00:41:17 +00:00
39 lines
1.4 KiB
Diff
39 lines
1.4 KiB
Diff
|
From: Sergio Paracuellos <sergio.paracuellos@gmail.com>
|
||
|
Date: Tue, 7 Dec 2021 11:49:20 +0100
|
||
|
Subject: [PATCH] PCI: Let pcibios_root_bridge_prepare() access bridge->windows
|
||
|
|
||
|
When pci_register_host_bridge() is called, bridge->windows are already
|
||
|
available. However these windows are being moved temporarily from there.
|
||
|
|
||
|
To let pcibios_root_bridge_prepare() have access to these windows, move the
|
||
|
windows movement after calling this function. This is useful for the MIPS
|
||
|
ralink mt7621 platform so it can set up I/O coherence units and avoid
|
||
|
custom MIPS code in the mt7621 PCIe controller driver.
|
||
|
|
||
|
Link: https://lore.kernel.org/r/20211207104924.21327-2-sergio.paracuellos@gmail.com
|
||
|
Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
|
||
|
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
|
||
|
Acked-by: Arnd Bergmann <arnd@arndb.de>
|
||
|
---
|
||
|
|
||
|
--- a/drivers/pci/probe.c
|
||
|
+++ b/drivers/pci/probe.c
|
||
|
@@ -898,8 +898,6 @@ static int pci_register_host_bridge(stru
|
||
|
|
||
|
bridge->bus = bus;
|
||
|
|
||
|
- /* Temporarily move resources off the list */
|
||
|
- list_splice_init(&bridge->windows, &resources);
|
||
|
bus->sysdata = bridge->sysdata;
|
||
|
bus->ops = bridge->ops;
|
||
|
bus->number = bus->busn_res.start = bridge->busnr;
|
||
|
@@ -925,6 +923,8 @@ static int pci_register_host_bridge(stru
|
||
|
if (err)
|
||
|
goto free;
|
||
|
|
||
|
+ /* Temporarily move resources off the list */
|
||
|
+ list_splice_init(&bridge->windows, &resources);
|
||
|
err = device_add(&bridge->dev);
|
||
|
if (err) {
|
||
|
put_device(&bridge->dev);
|