== Series Details ==

Series: fix CONFIG_DRM_USE_DYNAMIC_DEBUG=y (rev3)
URL   : https://patchwork.freedesktop.org/series/135705/
State : warning

== Summary ==

Error: dim checkpatch failed
0303dbb9b927 docs/dyndbg: update examples \012 to \n
dd0c22d6cf73 test-dyndbg: fixup CLASSMAP usage error
e192a085128f dyndbg: reword "class unknown," to "class:_UNKNOWN_"
8a7373dd9070 dyndbg: make ddebug_class_param union members same size
19c32ffee87c dyndbg: replace classmap list with a vector
1b8179aea6e6 dyndbg: ddebug_apply_class_bitmap - add module arg, select on it
99d2e5c03a31 dyndbg: split param_set_dyndbg_classes to _module & wrapper fns
9b460f0d8577 dyndbg: drop NUM_TYPE_ARRAY
0617f1fe65c1 dyndbg: reduce verbose/debug clutter
c536e2d99b72 dyndbg: silence debugs with no-change updates
09017a660ccf dyndbg: tighten ddebug_class_name() 1st arg type
88003ef00273 dyndbg: tighten fn-sig of ddebug_apply_class_bitmap
1ae5c85bf707 dyndbg: reduce verbose=3 messages in ddebug_add_module
60d3a7dcdfb6 dyndbg-API: remove DD_CLASS_TYPE_(DISJOINT|LEVEL)_NAMES and code
83105033661d checkpatch: add an exception to the do-while wrapper advice
0a607d3c89dc dyndbg-API: replace DECLARE_DYNDBG_CLASSMAP
-:239: CHECK:MACRO_ARG_REUSE: Macro argument reuse '_var' - possible 
side-effects?
#239: FILE: include/linux/dynamic_debug.h:113:
+#define DYNDBG_CLASSMAP_DEFINE(_var, _mapty, _base, ...)               \
+       static const char *_var##_classnames[] = { __VA_ARGS__ };       \
+       extern struct ddebug_class_map _var;                            \
+       struct ddebug_class_map __aligned(8) __used                     \
+               __section("__dyndbg_classes") _var = {                  \
+               .mod = THIS_MODULE,                                     \
+               .mod_name = KBUILD_MODNAME,                             \
+               .base = (_base),                                        \
+               .map_type = (_mapty),                                   \
+               .length = ARRAY_SIZE(_var##_classnames),                \
+               .class_names = _var##_classnames,                       \
+       };                                                              \
+       EXPORT_SYMBOL(_var)

-:279: CHECK:MACRO_ARG_REUSE: Macro argument reuse '_var' - possible 
side-effects?
#279: FILE: include/linux/dynamic_debug.h:159:
+#define DYNDBG_CLASSMAP_USE_(_var, _uname)                             \
+       extern struct ddebug_class_map _var;                            \
+       static struct ddebug_class_user __aligned(8) __used             \
+       __section("__dyndbg_class_users") _uname = {                    \
+               .mod_name = KBUILD_MODNAME,                             \
+               .map = &(_var),                                         \
+       }

-:861: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does 
MAINTAINERS need updating?
#861: 
new file mode 100644

total: 0 errors, 1 warnings, 2 checks, 653 lines checked
84c316fac294 dyndbg: check DYNDBG_CLASSMAP_DEFINE args at compile-time
-:26: ERROR:MULTISTATEMENT_MACRO_USE_DO_WHILE: Macros with multiple statements 
should be enclosed in a do - while loop
#26: FILE: include/linux/dynamic_debug.h:102:
+#define __DYNDBG_CLASSMAP_CHECK(_clnames, _base)                       \
+       static_assert(((_base) >= 0 && (_base) < _DPRINTK_CLASS_DFLT),  \
+                     "_base must be in 0..62");                        \
+       static_assert(ARRAY_SIZE(_clnames) > 0,                         \
+                     "classnames array size must be > 0");             \
+       static_assert((ARRAY_SIZE(_clnames) + (_base)) < _DPRINTK_CLASS_DFLT, \
+                     "_base + classnames.length exceeds range")

-:26: CHECK:MACRO_ARG_REUSE: Macro argument reuse '_clnames' - possible 
side-effects?
#26: FILE: include/linux/dynamic_debug.h:102:
+#define __DYNDBG_CLASSMAP_CHECK(_clnames, _base)                       \
+       static_assert(((_base) >= 0 && (_base) < _DPRINTK_CLASS_DFLT),  \
+                     "_base must be in 0..62");                        \
+       static_assert(ARRAY_SIZE(_clnames) > 0,                         \
+                     "classnames array size must be > 0");             \
+       static_assert((ARRAY_SIZE(_clnames) + (_base)) < _DPRINTK_CLASS_DFLT, \
+                     "_base + classnames.length exceeds range")

-:26: CHECK:MACRO_ARG_REUSE: Macro argument reuse '_base' - possible 
side-effects?
#26: FILE: include/linux/dynamic_debug.h:102:
+#define __DYNDBG_CLASSMAP_CHECK(_clnames, _base)                       \
+       static_assert(((_base) >= 0 && (_base) < _DPRINTK_CLASS_DFLT),  \
+                     "_base must be in 0..62");                        \
+       static_assert(ARRAY_SIZE(_clnames) > 0,                         \
+                     "classnames array size must be > 0");             \
+       static_assert((ARRAY_SIZE(_clnames) + (_base)) < _DPRINTK_CLASS_DFLT, \
+                     "_base + classnames.length exceeds range")

total: 1 errors, 0 warnings, 2 checks, 40 lines checked
d77abbe61691 dyndbg: add/use for_subvec() to reduce boilerplate
-:28: CHECK:MACRO_ARG_REUSE: Macro argument reuse '_i' - possible side-effects?
#28: FILE: lib/dynamic_debug.c:170:
+#define for_subvec(_i, _sp, _box, _vec)                                       \
+       for ((_i) = 0, (_sp) = (_box)->_vec;                           \
+            (_i) < (_box)->num_##_vec;                                \
+            (_i)++, (_sp)++)

-:28: CHECK:MACRO_ARG_REUSE: Macro argument reuse '_sp' - possible side-effects?
#28: FILE: lib/dynamic_debug.c:170:
+#define for_subvec(_i, _sp, _box, _vec)                                       \
+       for ((_i) = 0, (_sp) = (_box)->_vec;                           \
+            (_i) < (_box)->num_##_vec;                                \
+            (_i)++, (_sp)++)

-:28: CHECK:MACRO_ARG_REUSE: Macro argument reuse '_box' - possible 
side-effects?
#28: FILE: lib/dynamic_debug.c:170:
+#define for_subvec(_i, _sp, _box, _vec)                                       \
+       for ((_i) = 0, (_sp) = (_box)->_vec;                           \
+            (_i) < (_box)->num_##_vec;                                \
+            (_i)++, (_sp)++)

-:28: CHECK:MACRO_ARG_PRECEDENCE: Macro argument '_vec' may be better as 
'(_vec)' to avoid precedence issues
#28: FILE: lib/dynamic_debug.c:170:
+#define for_subvec(_i, _sp, _box, _vec)                                       \
+       for ((_i) = 0, (_sp) = (_box)->_vec;                           \
+            (_i) < (_box)->num_##_vec;                                \
+            (_i)++, (_sp)++)

total: 0 errors, 0 warnings, 4 checks, 84 lines checked
e82cbb462917 dyndbg: make proper substructs in _ddebug_info
3c06ad390a66 dyndbg: drop premature optimization in ddebug_add_module
19107a1cc14c dyndbg: allow ddebug_add_module to fail
-:62: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis
#62: FILE: lib/dynamic_debug.c:1250:
+static int ddebug_attach_user_module_classes(struct ddebug_table *dt,
+                                             const struct _ddebug_info *di,

total: 0 errors, 0 warnings, 1 checks, 99 lines checked
a4c400b80ad5 dyndbg: rework ddebug_attach_*module_classes()
-:56: CHECK:MACRO_ARG_REUSE: Macro argument reuse '_dst' - possible 
side-effects?
#56: FILE: lib/dynamic_debug.c:1225:
+#define dd_mark_vector_subrange(_i, _dst, _sp, _box, _vec) ({          \
+       int nc = 0;                                                     \
+       for_subvec(_i, _sp, _box, _vec) {                               \
+               if (!strcmp((_sp)->mod_name, (_dst)->mod_name)) {       \
+                       if (!nc++)                                      \
+                               (_dst)->info._vec.start = (_sp);        \
+               } else {                                                \
+                       if (nc)                                         \
+                               break; /* end of consecutive matches */ \
+               }                                                       \
+       }                                                               \
+       (_dst)->info._vec.len = nc;                                     \
+})

-:56: CHECK:MACRO_ARG_REUSE: Macro argument reuse '_sp' - possible side-effects?
#56: FILE: lib/dynamic_debug.c:1225:
+#define dd_mark_vector_subrange(_i, _dst, _sp, _box, _vec) ({          \
+       int nc = 0;                                                     \
+       for_subvec(_i, _sp, _box, _vec) {                               \
+               if (!strcmp((_sp)->mod_name, (_dst)->mod_name)) {       \
+                       if (!nc++)                                      \
+                               (_dst)->info._vec.start = (_sp);        \
+               } else {                                                \
+                       if (nc)                                         \
+                               break; /* end of consecutive matches */ \
+               }                                                       \
+       }                                                               \
+       (_dst)->info._vec.len = nc;                                     \
+})

-:56: CHECK:MACRO_ARG_REUSE: Macro argument reuse '_vec' - possible 
side-effects?
#56: FILE: lib/dynamic_debug.c:1225:
+#define dd_mark_vector_subrange(_i, _dst, _sp, _box, _vec) ({          \
+       int nc = 0;                                                     \
+       for_subvec(_i, _sp, _box, _vec) {                               \
+               if (!strcmp((_sp)->mod_name, (_dst)->mod_name)) {       \
+                       if (!nc++)                                      \
+                               (_dst)->info._vec.start = (_sp);        \
+               } else {                                                \
+                       if (nc)                                         \
+                               break; /* end of consecutive matches */ \
+               }                                                       \
+       }                                                               \
+       (_dst)->info._vec.len = nc;                                     \
+})

total: 0 errors, 0 warnings, 3 checks, 145 lines checked
e58f75362a44 dyndbg: fail modprobe on ddebug_class_range_overlap()
e01160049d93 dyndbg: hoist the range-overlap checks
484a8ae9f2e0 ddebug: cleanup-range-overlap fails
d33bcccea2b1 dyndbg-test: change do_prints testpoint to accept a loopct
0dda84e6e3a1 selftests-dyndbg: add tools/testing/selftests/dynamic_debug/*
-:78: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does 
MAINTAINERS need updating?
#78: 
new file mode 100644

total: 0 errors, 1 warnings, 0 checks, 281 lines checked
ae8e2421ce5e dyndbg-API: promote DYNDBG_CLASSMAP_PARAM to API
a0e9a779c5a9 dyndbg-doc: add classmap info to howto
d82f21b2932e dyndbg: treat comma as a token separator
cdfa907bffed selftests-dyndbg: add comma_terminator_tests
ec2b9480dbee dyndbg: split multi-query strings with %
c8dc2220b06c selftests-dyndbg: test_percent_splitting
752ea068daf9 docs/dyndbg: explain new delimiters: comma, percent
f6eec0294239 selftests-dyndbg: add test_mod_submod
e3e07e982ce7 docs/dyndbg: explain flags parse 1st
baf3223d8634 dyndbg: change __dynamic_func_call_cls* macros into expressions
-:34: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'id' - possible side-effects?
#34: FILE: include/linux/dynamic_debug.h:334:
+#define __dynamic_func_call_cls(id, cls, fmt, func, ...) ({    \
+       DEFINE_DYNAMIC_DEBUG_METADATA_CLS(id, cls, fmt);        \
        if (DYNAMIC_DEBUG_BRANCH(id))                           \
+               func(&(id), ##__VA_ARGS__);                     \
+})

-:46: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'id' - possible side-effects?
#46: FILE: include/linux/dynamic_debug.h:343:
+#define __dynamic_func_call_cls_no_desc(id, cls, fmt, func, ...) ({    \
        DEFINE_DYNAMIC_DEBUG_METADATA_CLS(id, cls, fmt);                \
        if (DYNAMIC_DEBUG_BRANCH(id))                                   \
                func(__VA_ARGS__);                                      \
+})

total: 0 errors, 0 warnings, 2 checks, 26 lines checked
675ec446ee8b dyndbg: drop "protection" of class'd pr_debugs from legacy queries
985e089200c5 drm: use correct ccflags-y spelling
f09f78b3f7ca checkpatch: dont warn about unused macro arg on empty body
6c183703f5a3 drm-dyndbg: adapt drm core to use dyndbg classmaps-v2
eddec3407bca drm-dyndbg: adapt DRM to invoke DYNDBG_CLASSMAP_PARAM
29f155c36338 drm-print: fix config-dependent unused variable
90a21e7b9e91 drm-dyndbg: DRM_CLASSMAP_USE in amdgpu driver
dc90f08f3585 drm-dyndbg: DRM_CLASSMAP_USE in i915 driver
56f77c209737 drm-dyndbg: DRM_CLASSMAP_USE in drm_crtc_helper
3897fb4e081f drm-dyndbg: DRM_CLASSMAP_USE in drm_dp_helper
8620edc0c0b2 drm-dyndbg: DRM_CLASSMAP_USE in nouveau
9edc39593919 drm-dyndbg: add DRM_CLASSMAP_USE to Xe driver
5854b92ef3ae drm-dyndbg: add DRM_CLASSMAP_USE to virtio_gpu
80b98a307eeb drm-dyndbg: add DRM_CLASSMAP_USE to simpledrm
b439db2453ea drm-dyndbg: add DRM_CLASSMAP_USE to bochs
63d592028f72 drm-dyndbg: add DRM_CLASSMAP_USE to etnaviv
49d554460e5f drm-dyndbg: add DRM_CLASSMAP_USE to gma500 driver
e8c11311de7e drm-dyndbg: add DRM_CLASSMAP_USE to radeon
9985c65c6de3 drm-dyndbg: add DRM_CLASSMAP_USE to vmwgfx driver
946e697a7459 drm-dyndbg: add DRM_CLASSMAP_USE to vkms driver
d3cdfa2d6a02 drm-dyndbg: add DRM_CLASSMAP_USE to udl driver
9c458a152af1 drm-dyndbg: add DRM_CLASSMAP_USE to mgag200 driver
3d83a3bf67a1 drm-dyndbg: add DRM_CLASSMAP_USE to the gud driver
94e16ee1cb2e drm-dyndbg: add DRM_CLASSMAP_USE to the qxl driver
29453f60fe51 drm-dyndbg: add DRM_CLASSMAP_USE to the drm_gem_shmem_helper driver
cb22402ff4e7 drm: restore CONFIG_DRM_USE_DYNAMIC_DEBUG un-BROKEN


Reply via email to