From: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> This is Vidya's work; I started splitting it into separate patches. This is based on v6 (https://lore.kernel.org/r/20240418174043.3750240-1-vidyas@xxxxxxxxxx) but is missing a few pieces, so it's not complete yet. I just wanted to show the idea of what I had in mind. The missing pieces are: - Set PCI_REASSIGN_ALL_BUS if !PCI_PROBE_ONLY - Use bridge->preserve_config instead of PCI_PROBE_ONLY - Change to use pci_assign_unassigned_root_bus_resources() instead of pci_bus_size_bridge() and pci_bus_assign_resources() Bjorn Helgaas (3): PCI: Move PRESERVE_BOOT_CONFIG _DSM evaluation to pci_register_host_bridge() PCI: of: Add of_pci_preserve_config() for per-host bridge support PCI: Unify ACPI and DT 'preserve config' support drivers/acpi/pci_root.c | 12 --------- drivers/pci/of.c | 60 ++++++++++++++++++++++++++++++++--------- drivers/pci/pci-acpi.c | 22 +++++++++++++++ drivers/pci/pci.h | 12 +++++++++ drivers/pci/probe.c | 14 ++++++++++ 5 files changed, 95 insertions(+), 25 deletions(-) -- 2.34.1