Re: [PATCH 1/1] PCI/ACPI: Remove Hyper-V special case in pcibios_root_bridge_prepare()
From: Rafael J. Wysocki (Intel)
Date: Tue Sep 29 2026 - 14:25:17 EST
On Tue, Sep 29, 2026 at 8:11 PM Michael Kelley <mhkelley58@xxxxxxxxx> wrote:
>
> pcibios_root_bridge_prepare() currently has code to handle Hyper-V
> guest root bridges with the sysdata parent field set to NULL. While
> this special case existed when commit 7d40c0f70d92 ("arm64: PCI:
> Support root bridge preparation for Hyper-V") was accepted, more
> recent commit 8d21732475c6 ("PCI: hv: Propagate coherence from VMbus
> device to PCI device") always sets the sysdata parent field to a
> non-NULL value.
>
> No harm is caused by leaving the special case in place, even
> though it is no longer needed. But in the interest of overall
> code cleanliness, remove it.
>
> Signed-off-by: Michael Kelley <mhklinux@xxxxxxxxxxx>
Acked-by: Rafael J. Wysocki (Intel) <rafael@xxxxxxxxxx>
> ---
> This patch does not just do a revert of 7d40c0f70d92 because
> an intervening commit moved the code to a new source code
> file.
>
> drivers/pci/pci-acpi.c | 12 +-----------
> 1 file changed, 1 insertion(+), 11 deletions(-)
>
> diff --git a/drivers/pci/pci-acpi.c b/drivers/pci/pci-acpi.c
> index 42d545edd7fa..452a90317c58 100644
> --- a/drivers/pci/pci-acpi.c
> +++ b/drivers/pci/pci-acpi.c
> @@ -1572,17 +1572,7 @@ int pcibios_root_bridge_prepare(struct pci_host_bridge *bridge)
> return 0;
>
> cfg = bridge->bus->sysdata;
> -
> - /*
> - * On Hyper-V there is no corresponding ACPI device for a root bridge,
> - * therefore ->parent is set as NULL by the driver. And set 'adev' as
> - * NULL in this case because there is no proper ACPI device.
> - */
> - if (!cfg->parent)
> - adev = NULL;
> - else
> - adev = to_acpi_device(cfg->parent);
> -
> + adev = to_acpi_device(cfg->parent);
> bus_dev = &bridge->bus->dev;
>
> ACPI_COMPANION_SET(&bridge->dev, adev);
> --
> 2.25.1
>