RE: [PATCH 1/1] PCI/ACPI: Remove Hyper-V special case in pcibios_root_bridge_prepare()
From: Michael Kelley
Date: Thu Oct 22 2026 - 13:14:39 EST
From: Rafael J. Wysocki (Intel) <rafael@xxxxxxxxxx> Sent: Tuesday, September 29, 2026 11:23 AM
>
> 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>
Is anything else needed for this patch? I presume it should
be picked up in the PCI tree.
Michael
>
> > ---
> > 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
> >