Hi folks, Here's a small but a different set of patches for making two relatively minor changes to runtime PM API. I restarted version numbering as this is meaningfully different from the previous set. pm_runtime_get_if_active() loses its second argument as it only made sense to have ign_usage_count argument true. The other change is also small but it has an effect on callers: pm_runtime_put_autosuspend() will, in the future, be re-purposed to include a call to pm_runtime_mark_last_busy() as well. Before this, current users of the function are moved to __pm_runtime_put_autosuspend() (added by this patchset) which will continue to have the current behaviour. I haven't included the conversion patches in this set as I only want to do that once this set has been approved and merged. The tree specific patches can be found here, on linux-next master (there are some V4L2 patches there, too, please ignore them for now): <URL:https://git.kernel.org/pub/scm/linux/kernel/git/sailus/linux-next.git/log/? Later on, users calling pm_runtime_mark_last_busy() immediately followed by __pm_runtime_put_autosuspend() will be switched back to pm_runtime_put_autosuspend() once its behaviour change has been done (a patch near top of that branch). I'll provide these once the preceding ones have been merged. Comments are welcome. since v4: - patch 1: Squash patch 2 <URL:https://lists.freedesktop.org/archives/dri-devel/2024-January/438739.html>. - patch 1: Add to documentation of pm_runtime_get_if_{active,in_use} that if PM runtime is disabled, an error is returned and the usage_count remains unmodified. - patch 1: Fix spelling of "explicitly" in the commit message. - Use upper case "PM:" prefix in subject. since v3: - patch 1: Drop the previously added documentation on driver use of pm_runtime_get_conditional(). - Add a patch to make pm_runtime_get_conditional() static, including switching i915 to pm_runtime_get_if_{active,in_use}. since v2: - Rebase on v6.8-rc1 (no changes). - Add Rodrigo's Reviewed-by: to the 1st patch. since v1: - patch 1: Rename __pm_runtime_get_conditional() as pm_runtime_get_conditional(). - patch 1: Reword documentation on driver use of pm_runtime_get_conditional(). Sakari Ailus (2): PM: runtime: Simplify pm_runtime_get_if_active() usage PM: runtime: Add pm_runtime_put_autosuspend() replacement Documentation/power/runtime_pm.rst | 22 +++++++++------- drivers/accel/ivpu/ivpu_pm.c | 2 +- drivers/base/power/runtime.c | 35 +++++++++++++++++++++++-- drivers/gpu/drm/i915/intel_runtime_pm.c | 5 +++- drivers/gpu/drm/xe/xe_pm.c | 2 +- drivers/media/i2c/ccs/ccs-core.c | 2 +- drivers/media/i2c/ov64a40.c | 2 +- drivers/media/i2c/thp7312.c | 2 +- drivers/net/ipa/ipa_smp2p.c | 2 +- drivers/pci/pci.c | 2 +- include/linux/pm_runtime.h | 30 ++++++++++----------- sound/hda/hdac_device.c | 2 +- 12 files changed, 73 insertions(+), 35 deletions(-) -- 2.39.2