On Wed, Sep 7, 2022 at 8:37 PM Bjorn Helgaas <helgaas@xxxxxxxxxx> wrote: > > On Wed, Aug 31, 2022 at 10:15:54AM +0200, Robert Richter wrote: > > A lookup of a host bridge's corresponding acpi device (struct > > acpi_device) is not possible, for example: > > > > adev = ACPI_COMPANION(&host_bridge->dev); > > > > This could be useful to find a host bridge's fwnode handle and to > > determine and call additional host bridge ACPI parameters and methods > > such as HID/CID or _UID. > > > > Make this work by linking the host bridge to its ACPI fw node. > > s/acpi device/ACPI device/ to match other "ACPI" usage > s/fw node/fwnode/ (if it should match "fwnode handle" above) > > I guess this patch makes ACPI_COMPANION() work where it didn't before, > right? E.g., the two ACPI_COMPANION() uses added by this series > (cxl_find_next_rch() and cxl_restricted_host_probe()). > > I'm not really clear on the strategy of when we should use acpi_device > vs acpi_handle, acpi_handle should be used for interactions with the ACPICA code, like when AML is evaluated, and acpi_device for pretty much everything else. > but does this mean there's code in places like > pci_root.c that should be reworked to take advantage of this? That > code evaluates _DSM and _OSC, but I think it currently uses > acpi_handle for that. That's fine.