On Tue, Sep 29, 2026 at 11:10:56AM -0700, Michael Kelley 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 <[email protected]>
> ---
> 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
>
I was trying to find a case where any new driver would have started using the
NULL case
but couldn't find any.
Reviewed-by: Saurabh Sengar <[email protected]>