• Lukas Wunner's avatar
    ACPI / bus: Make acpi_get_first_physical_node() public · daae45ca
    Lukas Wunner authored
    Following the fwnode of a device is currently a one-way road: We provide
    ACPI_COMPANION() to obtain the fwnode but there's no (public) method to
    do the reverse. Granted, there may be multiple physical_nodes, but often
    the first one in the list is sufficient.
    
    A handy function to obtain it was introduced with commit 3b95bd16
    ("ACPI: introduce a function to find the first physical device"), but
    currently it's only available internally.
    
    We're about to add an EFI Device Path parser which needs this function.
    Consider the following device path: ACPI(PNP0A03,0)/PCI(28,2)/PCI(0,0)
    The PCI root is encoded as an ACPI device in the path, so the parser
    has to find the corresponding ACPI device, then find its physical node,
    find the PCI bridge in slot 1c (decimal 28), function 2 below it and
    finally find the PCI device in slot 0, function 0.
    
    To this end, make acpi_get_first_physical_node() public.
    Signed-off-by: default avatarLukas Wunner <lukas@wunner.de>
    Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
    daae45ca
internal.h 8.07 KB