mirror of
https://github.com/torvalds/linux.git
synced 2026-05-05 23:05:25 -04:00
PM: runtime: Mark last busy stamp in pm_request_autosuspend()
Set device's last busy timestamp to current time in pm_request_autosuspend(). Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Link: https://patch.msgid.link/20250616061212.2286741-6-sakari.ailus@linux.intel.com Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
committed by
Rafael J. Wysocki
parent
08071e64cb
commit
18c1fe53d1
@@ -354,9 +354,9 @@ drivers/base/power/runtime.c and include/linux/pm_runtime.h:
|
||||
success or error code if the request has not been queued up
|
||||
|
||||
`int pm_request_autosuspend(struct device *dev);`
|
||||
- schedule the execution of the subsystem-level suspend callback for the
|
||||
device when the autosuspend delay has expired; if the delay has already
|
||||
expired then the work item is queued up immediately
|
||||
- Call pm_runtime_mark_last_busy() and schedule the execution of the
|
||||
subsystem-level suspend callback for the device when the autosuspend delay
|
||||
expires
|
||||
|
||||
`int pm_schedule_suspend(struct device *dev, unsigned int delay);`
|
||||
- schedule the execution of the subsystem-level suspend callback for the
|
||||
|
||||
@@ -448,11 +448,12 @@ static inline int pm_request_resume(struct device *dev)
|
||||
}
|
||||
|
||||
/**
|
||||
* pm_request_autosuspend - Queue up autosuspend of a device.
|
||||
* pm_request_autosuspend - Update the last access time and queue up autosuspend
|
||||
* of a device.
|
||||
* @dev: Target device.
|
||||
*
|
||||
* Queue up a work item to run an equivalent pm_runtime_autosuspend() for @dev
|
||||
* asynchronously.
|
||||
* Update the last access time of a device and queue up a work item to run an
|
||||
* equivalent pm_runtime_autosuspend() for @dev asynchronously.
|
||||
*
|
||||
* Return:
|
||||
* * 0: Success.
|
||||
@@ -467,6 +468,7 @@ static inline int pm_request_resume(struct device *dev)
|
||||
*/
|
||||
static inline int pm_request_autosuspend(struct device *dev)
|
||||
{
|
||||
pm_runtime_mark_last_busy(dev);
|
||||
return __pm_runtime_suspend(dev, RPM_ASYNC | RPM_AUTO);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user