Use new macro to create a sysfs control bitmap knob to control print-to-trace in: /sys/module/drm/parameters/trace todo: reconsider this api, ie a single macro expecting both debug & trace terms (2 each), followed by a single description and the bitmap-spec:: Good: declares bitmap once for both interfaces Bad: arg-type/count handling (expecting 4 args) is ugly, especially preceding the bitmap-init var-args. Signed-off-by: Jim Cromie <jim.cromie@xxxxxxxxx> --- drivers/gpu/drm/drm_print.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/drivers/gpu/drm/drm_print.c b/drivers/gpu/drm/drm_print.c index ce662d0f339b..7b49fbc5e21d 100644 --- a/drivers/gpu/drm/drm_print.c +++ b/drivers/gpu/drm/drm_print.c @@ -73,6 +73,25 @@ DEFINE_DYNAMIC_DEBUG_CATEGORIES(debug, __drm_debug, [7] = { DRM_DBG_CAT_LEASE }, [8] = { DRM_DBG_CAT_DP }, [9] = { DRM_DBG_CAT_DRMRES }); + +#ifdef CONFIG_TRACING +unsigned long __drm_trace; +EXPORT_SYMBOL(__drm_trace); +DEFINE_DYNAMIC_DEBUG_TRACE_CATEGORIES(trace, __drm_trace, + DRM_DEBUG_DESC, + [0] = { DRM_DBG_CAT_CORE }, + [1] = { DRM_DBG_CAT_DRIVER }, + [2] = { DRM_DBG_CAT_KMS }, + [3] = { DRM_DBG_CAT_PRIME }, + [4] = { DRM_DBG_CAT_ATOMIC }, + [5] = { DRM_DBG_CAT_VBL }, + [6] = { DRM_DBG_CAT_STATE }, + [7] = { DRM_DBG_CAT_LEASE }, + [8] = { DRM_DBG_CAT_DP }, + [9] = { DRM_DBG_CAT_DRMRES }); + +struct trace_array *trace_arr; +#endif #endif void __drm_puts_coredump(struct drm_printer *p, const char *str) -- 2.31.1