Message ID | 20250320185238.447458-39-jim.cromie@gmail.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Fix CONFIG_DRM_USE_DYNAMIC_DEBUG=y | expand |
Le 20/03/2025 à 19:52, Jim Cromie a écrit : > With CONFIG_DRM_USE_DYNAMIC_DEBUG=y, __drm_printfn_dbg() gets an > unused variable warning/error on 'category', even though the usage > follows immediately, in drm_debug_enabled(category). > > For static-key optimized dyndbg, the macro doesn't actually check the > category var, since the static-key patches in the proper state. The > compiler evidently sees this lack of reference and complains. > > So this drops the local var and refs the field directly in the > macro-call, which avoids the warning/error. > > Signed-off-by: Jim Cromie <jim.cromie@gmail.com> Reviewed-by: Louis Chauvet <louis.chauvet@bootlin.com> I believe I can merge it before the entire series. Does anyone have any objections? > --- > drivers/gpu/drm/drm_print.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/drivers/gpu/drm/drm_print.c b/drivers/gpu/drm/drm_print.c > index 46d53fe30204..41ad11247b48 100644 > --- a/drivers/gpu/drm/drm_print.c > +++ b/drivers/gpu/drm/drm_print.c > @@ -212,9 +212,8 @@ void __drm_printfn_dbg(struct drm_printer *p, struct va_format *vaf) > { > const struct drm_device *drm = p->arg; > const struct device *dev = drm ? drm->dev : NULL; > - enum drm_debug_category category = p->category; > > - if (!__drm_debug_enabled(category)) > + if (!__drm_debug_enabled(p->category)) > return; > > __drm_dev_vprintk(dev, KERN_DEBUG, p->origin, p->prefix, vaf);
diff --git a/drivers/gpu/drm/drm_print.c b/drivers/gpu/drm/drm_print.c index 46d53fe30204..41ad11247b48 100644 --- a/drivers/gpu/drm/drm_print.c +++ b/drivers/gpu/drm/drm_print.c @@ -212,9 +212,8 @@ void __drm_printfn_dbg(struct drm_printer *p, struct va_format *vaf) { const struct drm_device *drm = p->arg; const struct device *dev = drm ? drm->dev : NULL; - enum drm_debug_category category = p->category; - if (!__drm_debug_enabled(category)) + if (!__drm_debug_enabled(p->category)) return; __drm_dev_vprintk(dev, KERN_DEBUG, p->origin, p->prefix, vaf);
With CONFIG_DRM_USE_DYNAMIC_DEBUG=y, __drm_printfn_dbg() gets an unused variable warning/error on 'category', even though the usage follows immediately, in drm_debug_enabled(category). For static-key optimized dyndbg, the macro doesn't actually check the category var, since the static-key patches in the proper state. The compiler evidently sees this lack of reference and complains. So this drops the local var and refs the field directly in the macro-call, which avoids the warning/error. Signed-off-by: Jim Cromie <jim.cromie@gmail.com> --- drivers/gpu/drm/drm_print.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)