summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/base/power/main.c5
-rw-r--r--include/linux/pm.h1
2 files changed, 5 insertions, 1 deletions
diff --git a/drivers/base/power/main.c b/drivers/base/power/main.c
index 6a33dd85c04..bf6d932d996 100644
--- a/drivers/base/power/main.c
+++ b/drivers/base/power/main.c
@@ -817,7 +817,10 @@ static void device_complete(struct device *dev, pm_message_t state)
device_unlock(dev);
- pm_runtime_put(dev);
+ if (dev->power.resume_noidle)
+ pm_runtime_put_noidle(dev);
+ else
+ pm_runtime_put(dev);
}
/**
diff --git a/include/linux/pm.h b/include/linux/pm.h
index a224c7f5c37..d72e7b30afe 100644
--- a/include/linux/pm.h
+++ b/include/linux/pm.h
@@ -560,6 +560,7 @@ struct dev_pm_info {
unsigned long suspended_jiffies;
unsigned long accounting_timestamp;
#endif
+ bool resume_noidle;
struct pm_subsys_data *subsys_data; /* Owned by the subsystem. */
struct dev_pm_qos *qos;
};