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 27008e2ea5af..101a96718acd 100644
--- a/drivers/pci/probe.c
+++ b/drivers/pci/probe.c
@@ -1038,6 +1038,7 @@ static int pci_register_host_bridge(struct 
pci_host_bridge *bridge)
        if (err)
                goto free;
 
+       dev_set_async_shutdown(&bridge->dev);
        /* Temporarily move resources off the list */
        list_splice_init(&bridge->windows, &resources);
        err = device_add(&bridge->dev);
@@ -2748,6 +2749,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);
 
        platform_pci_configure_wake(dev);
 
-- 
2.55.0


Reply via email to