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:
Sakari Ailus
2025-06-16 09:12:11 +03:00
committed by Rafael J. Wysocki
parent 08071e64cb
commit 18c1fe53d1
2 changed files with 8 additions and 6 deletions

View File

@@ -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

View File

@@ -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);
}