Message ID | 20221107175510.361051-3-paul@crapouillou.net (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | None | expand |
On Mon, Nov 07, 2022 at 05:55:10PM +0000, Paul Cercueil wrote: > Instead of defining two versions of intel_sysfs_rc6_init(), one for each > value of CONFIG_PM, add a check on !IS_ENABLED(CONFIG_PM) early in the > function. This will allow the compiler to automatically drop the dead > code when CONFIG_PM is disabled, without having to use #ifdef guards. Making the RC6 to depend on the CONFIG_PM is probably an historical mistake and probably the right solution is simply to remove that dependency. > > This has the advantage of always compiling these functions in, > independently of any Kconfig option. Thanks to that, bugs and other > regressions are subsequently easier to catch. > > Signed-off-by: Paul Cercueil <paul@crapouillou.net> > --- > Cc: Jani Nikula <jani.nikula@linux.intel.com> > Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> > Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> > Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com> > Cc: intel-gfx@lists.freedesktop.org > --- > drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c | 8 +------- > 1 file changed, 1 insertion(+), 7 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 2b5f05b31187..decf892a4508 100644 > --- a/drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c > +++ b/drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c > @@ -164,7 +164,6 @@ sysfs_gt_attribute_r_func(struct kobject *kobj, struct attribute *attr, > NULL); \ > INTEL_GT_ATTR_RO(_name) > > -#ifdef CONFIG_PM > static u32 get_residency(struct intel_gt *gt, i915_reg_t reg) > { > intel_wakeref_t wakeref; > @@ -300,7 +299,7 @@ static void intel_sysfs_rc6_init(struct intel_gt *gt, struct kobject *kobj) > { > int ret; > > - if (!HAS_RC6(gt->i915)) > + if (!IS_ENABLED(CONFIG_PM) || !HAS_RC6(gt->i915)) > return; > > ret = __intel_gt_sysfs_create_group(kobj, rc6_attr_group); > @@ -329,11 +328,6 @@ static void intel_sysfs_rc6_init(struct intel_gt *gt, struct kobject *kobj) > gt->info.id, ERR_PTR(ret)); > } > } > -#else > -static void intel_sysfs_rc6_init(struct intel_gt *gt, struct kobject *kobj) > -{ > -} > -#endif /* CONFIG_PM */ > > static u32 __act_freq_mhz_show(struct intel_gt *gt) > { > -- > 2.35.1 >
Hi Rodrigo, Le lun. 7 nov. 2022 à 15:31:49 -0500, Rodrigo Vivi <rodrigo.vivi@intel.com> a écrit : > On Mon, Nov 07, 2022 at 05:55:10PM +0000, Paul Cercueil wrote: >> Instead of defining two versions of intel_sysfs_rc6_init(), one for >> each >> value of CONFIG_PM, add a check on !IS_ENABLED(CONFIG_PM) early in >> the >> function. This will allow the compiler to automatically drop the >> dead >> code when CONFIG_PM is disabled, without having to use #ifdef >> guards. > > Making the RC6 to depend on the CONFIG_PM is probably an historical > mistake and probably the right solution is simply to remove that > dependency. I don't know anything about i915, so the best I can do is update the code without changing the functionality. Then someone with a better understanding can send a patch to remove the check on CONFIG_PM. Cheers, -Paul >> >> This has the advantage of always compiling these functions in, >> independently of any Kconfig option. Thanks to that, bugs and other >> regressions are subsequently easier to catch. >> >> Signed-off-by: Paul Cercueil <paul@crapouillou.net> >> --- >> Cc: Jani Nikula <jani.nikula@linux.intel.com> >> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> >> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> >> Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com> >> Cc: intel-gfx@lists.freedesktop.org >> --- >> drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c | 8 +------- >> 1 file changed, 1 insertion(+), 7 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 2b5f05b31187..decf892a4508 100644 >> --- a/drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c >> +++ b/drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c >> @@ -164,7 +164,6 @@ sysfs_gt_attribute_r_func(struct kobject *kobj, >> struct attribute *attr, >> NULL); \ >> INTEL_GT_ATTR_RO(_name) >> >> -#ifdef CONFIG_PM >> static u32 get_residency(struct intel_gt *gt, i915_reg_t reg) >> { >> intel_wakeref_t wakeref; >> @@ -300,7 +299,7 @@ static void intel_sysfs_rc6_init(struct >> intel_gt *gt, struct kobject *kobj) >> { >> int ret; >> >> - if (!HAS_RC6(gt->i915)) >> + if (!IS_ENABLED(CONFIG_PM) || !HAS_RC6(gt->i915)) >> return; >> >> ret = __intel_gt_sysfs_create_group(kobj, rc6_attr_group); >> @@ -329,11 +328,6 @@ static void intel_sysfs_rc6_init(struct >> intel_gt *gt, struct kobject *kobj) >> gt->info.id, ERR_PTR(ret)); >> } >> } >> -#else >> -static void intel_sysfs_rc6_init(struct intel_gt *gt, struct >> kobject *kobj) >> -{ >> -} >> -#endif /* CONFIG_PM */ >> >> static u32 __act_freq_mhz_show(struct intel_gt *gt) >> { >> -- >> 2.35.1 >>
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 2b5f05b31187..decf892a4508 100644 --- a/drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c +++ b/drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c @@ -164,7 +164,6 @@ sysfs_gt_attribute_r_func(struct kobject *kobj, struct attribute *attr, NULL); \ INTEL_GT_ATTR_RO(_name) -#ifdef CONFIG_PM static u32 get_residency(struct intel_gt *gt, i915_reg_t reg) { intel_wakeref_t wakeref; @@ -300,7 +299,7 @@ static void intel_sysfs_rc6_init(struct intel_gt *gt, struct kobject *kobj) { int ret; - if (!HAS_RC6(gt->i915)) + if (!IS_ENABLED(CONFIG_PM) || !HAS_RC6(gt->i915)) return; ret = __intel_gt_sysfs_create_group(kobj, rc6_attr_group); @@ -329,11 +328,6 @@ static void intel_sysfs_rc6_init(struct intel_gt *gt, struct kobject *kobj) gt->info.id, ERR_PTR(ret)); } } -#else -static void intel_sysfs_rc6_init(struct intel_gt *gt, struct kobject *kobj) -{ -} -#endif /* CONFIG_PM */ static u32 __act_freq_mhz_show(struct intel_gt *gt) {
Instead of defining two versions of intel_sysfs_rc6_init(), one for each value of CONFIG_PM, add a check on !IS_ENABLED(CONFIG_PM) early in the function. This will allow the compiler to automatically drop the dead code when CONFIG_PM is disabled, without having to use #ifdef guards. This has the advantage of always compiling these functions in, independently of any Kconfig option. Thanks to that, bugs and other regressions are subsequently easier to catch. Signed-off-by: Paul Cercueil <paul@crapouillou.net> --- Cc: Jani Nikula <jani.nikula@linux.intel.com> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com> Cc: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com> Cc: intel-gfx@lists.freedesktop.org --- drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-)