From 1ade30812abfdd1c161a155fd54b0dd594c217ee Mon Sep 17 00:00:00 2001 From: Andi Shyti Date: Tue, 10 May 2022 16:04:47 +0200 Subject: [PATCH] drm/i915/gt: Fix use of static in macro mismatch The INTEL_GT_RPS_SYSFS_ATTR was creating to different structures but. When called with the "static" keyword this is affecting only the first structure, while the second is created as non static. Move the static keyword inside the macros to affect both the structures. Reported-by: Jani Nikula Fixes: 56a709cf77468 ("drm/i915/gt: Create per-tile RPS sysfs interfaces") Signed-off-by: Andi Shyti Reviewed-by: Jani Nikula Link: https://patchwork.freedesktop.org/patch/msgid/20220510140447.80200-1-andi.shyti@linux.intel.com --- drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c b/drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c index e92990d..f76b6cf 100644 --- a/drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c +++ b/drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c @@ -457,22 +457,23 @@ static ssize_t vlv_rpe_freq_mhz_show(struct device *dev, } #define INTEL_GT_RPS_SYSFS_ATTR(_name, _mode, _show, _store) \ - struct device_attribute dev_attr_gt_##_name = __ATTR(gt_##_name, _mode, _show, _store); \ - struct device_attribute dev_attr_rps_##_name = __ATTR(rps_##_name, _mode, _show, _store) + static struct device_attribute dev_attr_gt_##_name = __ATTR(gt_##_name, _mode, _show, _store); \ + static struct device_attribute dev_attr_rps_##_name = __ATTR(rps_##_name, _mode, _show, _store) #define INTEL_GT_RPS_SYSFS_ATTR_RO(_name) \ INTEL_GT_RPS_SYSFS_ATTR(_name, 0444, _name##_show, NULL) #define INTEL_GT_RPS_SYSFS_ATTR_RW(_name) \ INTEL_GT_RPS_SYSFS_ATTR(_name, 0644, _name##_show, _name##_store) -static INTEL_GT_RPS_SYSFS_ATTR_RO(act_freq_mhz); -static INTEL_GT_RPS_SYSFS_ATTR_RO(cur_freq_mhz); -static INTEL_GT_RPS_SYSFS_ATTR_RW(boost_freq_mhz); -static INTEL_GT_RPS_SYSFS_ATTR_RO(RP0_freq_mhz); -static INTEL_GT_RPS_SYSFS_ATTR_RO(RP1_freq_mhz); -static INTEL_GT_RPS_SYSFS_ATTR_RO(RPn_freq_mhz); -static INTEL_GT_RPS_SYSFS_ATTR_RW(max_freq_mhz); -static INTEL_GT_RPS_SYSFS_ATTR_RW(min_freq_mhz); +/* The below macros generate static structures */ +INTEL_GT_RPS_SYSFS_ATTR_RO(act_freq_mhz); +INTEL_GT_RPS_SYSFS_ATTR_RO(cur_freq_mhz); +INTEL_GT_RPS_SYSFS_ATTR_RW(boost_freq_mhz); +INTEL_GT_RPS_SYSFS_ATTR_RO(RP0_freq_mhz); +INTEL_GT_RPS_SYSFS_ATTR_RO(RP1_freq_mhz); +INTEL_GT_RPS_SYSFS_ATTR_RO(RPn_freq_mhz); +INTEL_GT_RPS_SYSFS_ATTR_RW(max_freq_mhz); +INTEL_GT_RPS_SYSFS_ATTR_RW(min_freq_mhz); static DEVICE_ATTR_RO(vlv_rpe_freq_mhz); -- 2.7.4