drm/i915/pmu: add pmu_to_i915() helper
authorJani Nikula <jani.nikula@intel.com>
Mon, 23 Oct 2023 15:02:54 +0000 (18:02 +0300)
committerJani Nikula <jani.nikula@intel.com>
Mon, 30 Oct 2023 16:19:53 +0000 (18:19 +0200)
It's tedious to duplicate the container_of() everywhere. Add a helper.

Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20231023150256.438331-1-jani.nikula@intel.com
drivers/gpu/drm/i915/i915_pmu.c

index f861863eb7c15ad23f45f0542b0bcf347be95c40..52e42d7f23ec70459f57fbefe59ad70f82f65e72 100644 (file)
 static cpumask_t i915_pmu_cpumask;
 static unsigned int i915_pmu_target_cpu = -1;
 
+static struct drm_i915_private *pmu_to_i915(struct i915_pmu *pmu)
+{
+       return container_of(pmu, struct drm_i915_private, pmu);
+}
+
 static u8 engine_config_sample(u64 config)
 {
        return config & I915_PMU_SAMPLE_MASK;
@@ -141,7 +146,7 @@ static u32 frequency_enabled_mask(void)
 
 static bool pmu_needs_timer(struct i915_pmu *pmu)
 {
-       struct drm_i915_private *i915 = container_of(pmu, typeof(*i915), pmu);
+       struct drm_i915_private *i915 = pmu_to_i915(pmu);
        u32 enable;
 
        /*
@@ -251,7 +256,7 @@ static u64 get_rc6(struct intel_gt *gt)
 
 static void init_rc6(struct i915_pmu *pmu)
 {
-       struct drm_i915_private *i915 = container_of(pmu, typeof(*i915), pmu);
+       struct drm_i915_private *i915 = pmu_to_i915(pmu);
        struct intel_gt *gt;
        unsigned int i;
 
@@ -982,7 +987,7 @@ add_pmu_attr(struct perf_pmu_events_attr *attr, const char *name,
 static struct attribute **
 create_event_attributes(struct i915_pmu *pmu)
 {
-       struct drm_i915_private *i915 = container_of(pmu, typeof(*i915), pmu);
+       struct drm_i915_private *i915 = pmu_to_i915(pmu);
        static const struct {
                unsigned int counter;
                const char *name;