Like its async suspend support, allow PCI device shutdown to be performed
asynchronously to reduce shutdown time.

Signed-off-by: David Jeffery <[email protected]>
Signed-off-by: Stuart Hayes <[email protected]>
Tested-by: Laurence Oberman <[email protected]>
Reviewed-by: Martin K. Petersen <[email protected]>
Reviewed-by: Pasha Tatashin <[email protected]>
Reviewed-by: Bjorn Helgaas <[email protected]>
---
 drivers/pci/probe.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
index b63cd0c310bc..7cf3dabc885e 100644
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -1045,6 +1045,7 @@ static int pci_register_host_bridge(struct 
pci_host_bridge *bridge)
 
        bus->bridge = get_device(&bridge->dev);
        device_enable_async_suspend(bus->bridge);
+       dev_set_async_shutdown(bus->bridge);
        pci_set_bus_of_node(bus);
        pci_set_bus_msi_domain(bus);
        if (bridge->msi_domain && !dev_get_msi_domain(&bus->dev) &&
@@ -2753,6 +2754,7 @@ void pci_device_add(struct pci_dev *dev, struct pci_bus 
*bus)
        pci_reassigndev_resource_alignment(dev);
 
        pci_init_capabilities(dev);
+       dev_set_async_shutdown(&dev->dev);
 
        /*
         * Add the device to our list of discovered devices
-- 
2.54.0


Reply via email to