diff options
Diffstat (limited to 'drivers/pci/pci.c')
-rw-r--r-- | drivers/pci/pci.c | 25 |
1 files changed, 3 insertions, 22 deletions
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index 710c8a29be0d..b714d787bddd 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c | |||
@@ -937,14 +937,13 @@ pci_save_state(struct pci_dev *dev) | |||
937 | * pci_restore_state - Restore the saved state of a PCI device | 937 | * pci_restore_state - Restore the saved state of a PCI device |
938 | * @dev: - PCI device that we're dealing with | 938 | * @dev: - PCI device that we're dealing with |
939 | */ | 939 | */ |
940 | int | 940 | void pci_restore_state(struct pci_dev *dev) |
941 | pci_restore_state(struct pci_dev *dev) | ||
942 | { | 941 | { |
943 | int i; | 942 | int i; |
944 | u32 val; | 943 | u32 val; |
945 | 944 | ||
946 | if (!dev->state_saved) | 945 | if (!dev->state_saved) |
947 | return 0; | 946 | return; |
948 | 947 | ||
949 | /* PCI Express register must be restored first */ | 948 | /* PCI Express register must be restored first */ |
950 | pci_restore_pcie_state(dev); | 949 | pci_restore_pcie_state(dev); |
@@ -968,8 +967,6 @@ pci_restore_state(struct pci_dev *dev) | |||
968 | pci_restore_iov_state(dev); | 967 | pci_restore_iov_state(dev); |
969 | 968 | ||
970 | dev->state_saved = false; | 969 | dev->state_saved = false; |
971 | |||
972 | return 0; | ||
973 | } | 970 | } |
974 | 971 | ||
975 | static int do_pci_enable_device(struct pci_dev *dev, int bars) | 972 | static int do_pci_enable_device(struct pci_dev *dev, int bars) |
@@ -1300,22 +1297,6 @@ bool pci_check_pme_status(struct pci_dev *dev) | |||
1300 | return ret; | 1297 | return ret; |
1301 | } | 1298 | } |
1302 | 1299 | ||
1303 | /* | ||
1304 | * Time to wait before the system can be put into a sleep state after reporting | ||
1305 | * a wakeup event signaled by a PCI device. | ||
1306 | */ | ||
1307 | #define PCI_WAKEUP_COOLDOWN 100 | ||
1308 | |||
1309 | /** | ||
1310 | * pci_wakeup_event - Report a wakeup event related to a given PCI device. | ||
1311 | * @dev: Device to report the wakeup event for. | ||
1312 | */ | ||
1313 | void pci_wakeup_event(struct pci_dev *dev) | ||
1314 | { | ||
1315 | if (device_may_wakeup(&dev->dev)) | ||
1316 | pm_wakeup_event(&dev->dev, PCI_WAKEUP_COOLDOWN); | ||
1317 | } | ||
1318 | |||
1319 | /** | 1300 | /** |
1320 | * pci_pme_wakeup - Wake up a PCI device if its PME Status bit is set. | 1301 | * pci_pme_wakeup - Wake up a PCI device if its PME Status bit is set. |
1321 | * @dev: Device to handle. | 1302 | * @dev: Device to handle. |
@@ -1327,8 +1308,8 @@ void pci_wakeup_event(struct pci_dev *dev) | |||
1327 | static int pci_pme_wakeup(struct pci_dev *dev, void *ign) | 1308 | static int pci_pme_wakeup(struct pci_dev *dev, void *ign) |
1328 | { | 1309 | { |
1329 | if (pci_check_pme_status(dev)) { | 1310 | if (pci_check_pme_status(dev)) { |
1330 | pm_request_resume(&dev->dev); | ||
1331 | pci_wakeup_event(dev); | 1311 | pci_wakeup_event(dev); |
1312 | pm_request_resume(&dev->dev); | ||
1332 | } | 1313 | } |
1333 | return 0; | 1314 | return 0; |
1334 | } | 1315 | } |