]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
PM: runtime: Simplify pm_runtime_get_if_active() usage
authorSakari Ailus <sakari.ailus@linux.intel.com>
Thu, 21 Aug 2025 16:28:32 +0000 (12:28 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 28 Aug 2025 14:28:42 +0000 (16:28 +0200)
commitac2e62cab0977960420a0f4b3197932591a104f8
tree791472eabe460328b84f6e60f4f3d01eb351924a
parentc0f179c1547ffc2c27053f81a637972dc1c135f2
PM: runtime: Simplify pm_runtime_get_if_active() usage

[ Upstream commit c0ef3df8dbaef51ee4cfd58a471adf2eaee6f6b3 ]

There are two ways to opportunistically increment a device's runtime PM
usage count, calling either pm_runtime_get_if_active() or
pm_runtime_get_if_in_use(). The former has an argument to tell whether to
ignore the usage count or not, and the latter simply calls the former with
ign_usage_count set to false. The other users that want to ignore the
usage_count will have to explicitly set that argument to true which is a
bit cumbersome.

To make this function more practical to use, remove the ign_usage_count
argument from the function. The main implementation is in a static
function called pm_runtime_get_conditional() and implementations of
pm_runtime_get_if_active() and pm_runtime_get_if_in_use() are moved to
runtime.c.

Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Reviewed-by: Alex Elder <elder@linaro.org>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Acked-by: Takashi Iwai <tiwai@suse.de> # sound/
Reviewed-by: Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com> # drivers/accel/ivpu/
Acked-by: Rodrigo Vivi <rodrigo.vivi@intel.com> # drivers/gpu/drm/i915/
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Acked-by: Bjorn Helgaas <bhelgaas@google.com> # drivers/pci/
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
[ Removed changes to code that didn't exist in older trees ]
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Documentation/power/runtime_pm.rst
drivers/base/power/runtime.c
drivers/gpu/drm/i915/intel_runtime_pm.c
drivers/media/i2c/ccs/ccs-core.c
drivers/net/ipa/ipa_smp2p.c
drivers/pci/pci.c
drivers/ufs/core/ufshcd-priv.h
include/linux/pm_runtime.h
sound/hda/hdac_device.c