This series is nearly all maintenance: it refactors/splits functions, tightens an internal callchain, drops linked-listing where an array,length is already available, reduces verbose=3 logging for usability, and reorganizes several structs for better organization.
Getting these into linux-next for integration testing would clear the deck for fixing Dynamic-debug classmaps, which is needed to restore the un-BROKEN status of DRM_USE_DYNAMIC_DEBUG. Theyre on master at v7.1-rc2 The "modules" intersection is on the re-composing of struct ddebug_info, which is a member in struct module, and maps a module's __dyndbg* elf sections. The user visible change to /proc/dynamic_debug/control is s/class unknown/class:_UNKNOWN_/, which is a more visible/greppable indication of incomplete class definitions. Coder visible change is to drop the enum ddebug_class_map_type's unused vals - namely: DD_CLASS_TYPE_DISJOINT_NAMES & DD_CLASS_TYPE_LEVEL_NAMES These allowed more symbolic named inputs: echo +DRM_UT_CORE > /sys/module/drm/parameters/debug But theyre unused 3 years later, and probably not worth keeping. With a removal commit in the log, its easy enough to restore them later. Signed-off-by: Jim Cromie <[email protected]> --- Jim Cromie (17): dyndbg: factor ddebug_match_desc out from ddebug_change dyndbg: add stub macro for DECLARE_DYNDBG_CLASSMAP dyndbg: reword "class unknown," to "class:_UNKNOWN_" dyndbg: make ddebug_class_param union members same size dyndbg: drop NUM_TYPE_ARRAY dyndbg: tweak pr_fmt to avoid expansion conflicts dyndbg: reduce verbose/debug clutter dyndbg: refactor param_set_dyndbg_classes and below dyndbg: tighten fn-sig of ddebug_apply_class_bitmap dyndbg: replace classmap list with a vector dyndbg: macrofy a 2-index for-loop pattern dyndbg,module: make proper substructs in _ddebug_info dyndbg: move mod_name down from struct ddebug_table to _ddebug_info dyndbg: hoist classmap-filter-by-modname up to ddebug_add_module dyndbg-API: remove DD_CLASS_TYPE_(DISJOINT|LEVEL)_NAMES and code selftests-dyndbg: add a dynamic_debug run_tests target dyndbg: change __dynamic_func_call_cls* macros into expressions MAINTAINERS | 1 + include/linux/dynamic_debug.h | 106 ++--- kernel/module/main.c | 12 +- lib/dynamic_debug.c | 504 ++++++++++----------- lib/test_dynamic_debug.c | 28 +- tools/testing/selftests/Makefile | 1 + tools/testing/selftests/dynamic_debug/Makefile | 9 + tools/testing/selftests/dynamic_debug/config | 7 + .../selftests/dynamic_debug/dyndbg_selftest.sh | 257 +++++++++++ 9 files changed, 582 insertions(+), 343 deletions(-) --- base-commit: 6d35786de28116ecf78797a62b84e6bf3c45aa5a change-id: 20260504-dd-cleanups-2-5c37432d5c03 Best regards, -- Jim Cromie <[email protected]>

