Message ID | 20250320185238.447458-38-jim.cromie@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Fix CONFIG_DRM_USE_DYNAMIC_DEBUG=y | expand |
Le 20/03/2025 à 19:52, Jim Cromie a écrit : > Invoke DYNAMIC_DEBUG_CLASSMAP_PARAM to hook drm.debug (__drm_debug) to the > DRM_UT_* classmap, replacing the ad-hoc wiring previously doing it. > > Add DRM_CLASSMAP_* adapter macros to selectively use > DYNAMIC_DEBUG_CLASSMAP_* when DRM_USE_DYNAMIC_DEBUG=y is configured. > > Signed-off-by: Jim Cromie <jim.cromie@gmail.com> Reviewed-by: Louis Chauvet <louis.chauvet@bootlin.com> > --- > drivers/gpu/drm/drm_print.c | 8 ++------ > include/drm/drm_print.h | 4 ++++ > 2 files changed, 6 insertions(+), 6 deletions(-) > > diff --git a/drivers/gpu/drm/drm_print.c b/drivers/gpu/drm/drm_print.c > index a3b70d104afa..46d53fe30204 100644 > --- a/drivers/gpu/drm/drm_print.c > +++ b/drivers/gpu/drm/drm_print.c > @@ -69,12 +69,8 @@ DRM_CLASSMAP_DEFINE(drm_debug_classes, DD_CLASS_TYPE_DISJOINT_BITS, > "DRM_UT_DP", > "DRM_UT_DRMRES"); > > -static struct ddebug_class_param drm_debug_bitmap = { > - .bits = &__drm_debug, > - .flags = "p", > - .map = &drm_debug_classes, > -}; > -module_param_cb(debug, ¶m_ops_dyndbg_classes, &drm_debug_bitmap, 0600); > +DRM_CLASSMAP_PARAM_REF(debug, __drm_debug, drm_debug_classes, p); > + > #endif > > void __drm_puts_coredump(struct drm_printer *p, const char *str) > diff --git a/include/drm/drm_print.h b/include/drm/drm_print.h > index e86ebb716b4c..8758449491b8 100644 > --- a/include/drm/drm_print.h > +++ b/include/drm/drm_print.h > @@ -144,9 +144,13 @@ enum drm_debug_category { > #ifdef CONFIG_DRM_USE_DYNAMIC_DEBUG > #define DRM_CLASSMAP_DEFINE(...) DYNAMIC_DEBUG_CLASSMAP_DEFINE(__VA_ARGS__) > #define DRM_CLASSMAP_USE(name) DYNAMIC_DEBUG_CLASSMAP_USE(name) > +#define DRM_CLASSMAP_PARAM_REF(...) DYNAMIC_DEBUG_CLASSMAP_PARAM_REF(__VA_ARGS__) > +#define DRM_CLASSMAP_PARAM(...) DYNAMIC_DEBUG_CLASSMAP_PARAM(__VA_ARGS__) > #else > #define DRM_CLASSMAP_DEFINE(...) > #define DRM_CLASSMAP_USE(name) > +#define DRM_CLASSMAP_PARAM_REF(...) > +#define DRM_CLASSMAP_PARAM(...) > #endif > > static inline bool drm_debug_enabled_raw(enum drm_debug_category category)
diff --git a/drivers/gpu/drm/drm_print.c b/drivers/gpu/drm/drm_print.c index a3b70d104afa..46d53fe30204 100644 --- a/drivers/gpu/drm/drm_print.c +++ b/drivers/gpu/drm/drm_print.c @@ -69,12 +69,8 @@ DRM_CLASSMAP_DEFINE(drm_debug_classes, DD_CLASS_TYPE_DISJOINT_BITS, "DRM_UT_DP", "DRM_UT_DRMRES"); -static struct ddebug_class_param drm_debug_bitmap = { - .bits = &__drm_debug, - .flags = "p", - .map = &drm_debug_classes, -}; -module_param_cb(debug, ¶m_ops_dyndbg_classes, &drm_debug_bitmap, 0600); +DRM_CLASSMAP_PARAM_REF(debug, __drm_debug, drm_debug_classes, p); + #endif void __drm_puts_coredump(struct drm_printer *p, const char *str) diff --git a/include/drm/drm_print.h b/include/drm/drm_print.h index e86ebb716b4c..8758449491b8 100644 --- a/include/drm/drm_print.h +++ b/include/drm/drm_print.h @@ -144,9 +144,13 @@ enum drm_debug_category { #ifdef CONFIG_DRM_USE_DYNAMIC_DEBUG #define DRM_CLASSMAP_DEFINE(...) DYNAMIC_DEBUG_CLASSMAP_DEFINE(__VA_ARGS__) #define DRM_CLASSMAP_USE(name) DYNAMIC_DEBUG_CLASSMAP_USE(name) +#define DRM_CLASSMAP_PARAM_REF(...) DYNAMIC_DEBUG_CLASSMAP_PARAM_REF(__VA_ARGS__) +#define DRM_CLASSMAP_PARAM(...) DYNAMIC_DEBUG_CLASSMAP_PARAM(__VA_ARGS__) #else #define DRM_CLASSMAP_DEFINE(...) #define DRM_CLASSMAP_USE(name) +#define DRM_CLASSMAP_PARAM_REF(...) +#define DRM_CLASSMAP_PARAM(...) #endif static inline bool drm_debug_enabled_raw(enum drm_debug_category category)
Invoke DYNAMIC_DEBUG_CLASSMAP_PARAM to hook drm.debug (__drm_debug) to the DRM_UT_* classmap, replacing the ad-hoc wiring previously doing it. Add DRM_CLASSMAP_* adapter macros to selectively use DYNAMIC_DEBUG_CLASSMAP_* when DRM_USE_DYNAMIC_DEBUG=y is configured. Signed-off-by: Jim Cromie <jim.cromie@gmail.com> --- drivers/gpu/drm/drm_print.c | 8 ++------ include/drm/drm_print.h | 4 ++++ 2 files changed, 6 insertions(+), 6 deletions(-)