✗ Fi.CI.CHECKPATCH: warning for fix CONFIG_DRM_USE_DYNAMIC_DEBUG=y (rev3)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



== 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





[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux