PCI: ACPI: Drop acpi_pci_bus
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Sat, 18 Sep 2021 12:53:44 +0000 (14:53 +0200)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 27 Sep 2021 15:00:21 +0000 (17:00 +0200)
commit4795448117824cc4900d696f17d1516c56371045
tree3f3ba72dcc26da0a017860c6782cf1523994671a
parent5816b3e6577eaa676ceb00a848f0fd65fe2adc29
PCI: ACPI: Drop acpi_pci_bus

The acpi_pci_bus structure was used primarily for running
acpi_pci_find_companion() during PCI device objects registration,
but after commit 375553a93201 ("PCI: Setup ACPI fwnode early and at
the same time with OF") that function is called by pci_setup_device()
via pci_set_acpi_fwnode(), which happens before calling
pci_device_add() on the new PCI device object, so its ACPI companion
has been set already when acpi_device_notify() runs and it will never
call ->find_companion() from acpi_pci_bus.

For this reason, modify acpi_device_notify() and
acpi_device_notify_remove() to call pci_acpi_setup() and
pci_acpi_cleanup(), respectively, directly on PCI device objects
and drop acpi_pci_bus altogether.

While at it, notice that pci_acpi_setup() and pci_acpi_cleanup()
can obtain the ACPI companion pointer, which is guaranteed to not
be NULL, from their callers and modify them to work that way so
as to reduce the number of redundant checks somewhat.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Tested-by: Ferry Toth <fntoth@gmail.com>
drivers/acpi/glue.c
drivers/pci/pci-acpi.c
include/linux/pci-acpi.h