Quoting Jani Nikula (2023-12-05 09:15:45-03:00) >Reduce the duplication. By the way, is it too ambitious to dream of a to_i915() using generics? -- Gustavo Sousa > >Signed-off-by: Jani Nikula <jani.nikula@xxxxxxxxx> >--- > drivers/gpu/drm/i915/intel_runtime_pm.c | 24 ++++++++++-------------- > 1 file changed, 10 insertions(+), 14 deletions(-) > >diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c b/drivers/gpu/drm/i915/intel_runtime_pm.c >index 91491111dbd5..860b51b56a92 100644 >--- a/drivers/gpu/drm/i915/intel_runtime_pm.c >+++ b/drivers/gpu/drm/i915/intel_runtime_pm.c >@@ -50,6 +50,11 @@ > * present for a given platform. > */ > >+static struct drm_i915_private *rpm_to_i915(struct intel_runtime_pm *rpm) >+{ >+ return container_of(rpm, struct drm_i915_private, runtime_pm); >+} >+ > #if IS_ENABLED(CONFIG_DRM_I915_DEBUG_RUNTIME_PM) > > static void init_intel_runtime_pm_wakeref(struct intel_runtime_pm *rpm) >@@ -158,9 +163,7 @@ intel_runtime_pm_release(struct intel_runtime_pm *rpm, int wakelock) > static intel_wakeref_t __intel_runtime_pm_get(struct intel_runtime_pm *rpm, > bool wakelock) > { >- struct drm_i915_private *i915 = container_of(rpm, >- struct drm_i915_private, >- runtime_pm); >+ struct drm_i915_private *i915 = rpm_to_i915(rpm); > int ret; > > ret = pm_runtime_get_sync(rpm->kdev); >@@ -365,9 +368,7 @@ void intel_runtime_pm_put(struct intel_runtime_pm *rpm, intel_wakeref_t wref) > */ > void intel_runtime_pm_enable(struct intel_runtime_pm *rpm) > { >- struct drm_i915_private *i915 = container_of(rpm, >- struct drm_i915_private, >- runtime_pm); >+ struct drm_i915_private *i915 = rpm_to_i915(rpm); > struct device *kdev = rpm->kdev; > > /* >@@ -420,9 +421,7 @@ void intel_runtime_pm_enable(struct intel_runtime_pm *rpm) > > void intel_runtime_pm_disable(struct intel_runtime_pm *rpm) > { >- struct drm_i915_private *i915 = container_of(rpm, >- struct drm_i915_private, >- runtime_pm); >+ struct drm_i915_private *i915 = rpm_to_i915(rpm); > struct device *kdev = rpm->kdev; > > /* Transfer rpm ownership back to core */ >@@ -437,9 +436,7 @@ void intel_runtime_pm_disable(struct intel_runtime_pm *rpm) > > void intel_runtime_pm_driver_release(struct intel_runtime_pm *rpm) > { >- struct drm_i915_private *i915 = container_of(rpm, >- struct drm_i915_private, >- runtime_pm); >+ struct drm_i915_private *i915 = rpm_to_i915(rpm); > int count = atomic_read(&rpm->wakeref_count); > > intel_wakeref_auto_fini(&rpm->userfault_wakeref); >@@ -458,8 +455,7 @@ void intel_runtime_pm_driver_last_release(struct intel_runtime_pm *rpm) > > void intel_runtime_pm_init_early(struct intel_runtime_pm *rpm) > { >- struct drm_i915_private *i915 = >- container_of(rpm, struct drm_i915_private, runtime_pm); >+ struct drm_i915_private *i915 = rpm_to_i915(rpm); > struct pci_dev *pdev = to_pci_dev(i915->drm.dev); > struct device *kdev = &pdev->dev; > >-- >2.39.2 >