✗ Fi.CI.CHECKPATCH: warning for fix CONFIG_DRM_USE_DYNAMIC_DEBUG=y (rev3)
Patchwork
patchwork at emeril.freedesktop.org
Sun Jan 26 18:35:11 UTC 2025
== 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
More information about the Intel-gfx
mailing list