The patch titled Subject: dynamic_debug: consolidate DEFINE_DYNAMIC_DEBUG_METADATA definitions has been added to the -mm tree. Its filename is dynamic_debug-consolidate-define_dynamic_debug_metadata-definitions.patch This patch should soon appear at http://ozlabs.org/~akpm/mmots/broken-out/dynamic_debug-consolidate-define_dynamic_debug_metadata-definitions.patch and later at http://ozlabs.org/~akpm/mmotm/broken-out/dynamic_debug-consolidate-define_dynamic_debug_metadata-definitions.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Subject: dynamic_debug: consolidate DEFINE_DYNAMIC_DEBUG_METADATA definitions Instead of defining DEFINE_DYNAMIC_DEBUG_METADATA in terms of a helper DEFINE_DYNAMIC_DEBUG_METADATA_KEY, that needs another helper dd_key_init to be properly defined, just make the various #ifdef branches define a _DPRINTK_KEY_INIT that can be used directly, similar to _DPRINTK_FLAGS_DEFAULT. Link: http://lkml.kernel.org/r/20190212214150.4807-5-linux@xxxxxxxxxxxxxxxxxx Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> Acked-by: Jason Baron <jbaron@xxxxxxxxxx> Cc: David Sterba <dsterba@xxxxxxxx> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: Ingo Molnar <mingo@xxxxxxxxxx> Cc: Petr Mladek <pmladek@xxxxxxxx> Cc: "Rafael J . Wysocki" <rafael.j.wysocki@xxxxxxxxx> Cc: Steven Rostedt <rostedt@xxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- include/linux/dynamic_debug.h | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) --- a/include/linux/dynamic_debug.h~dynamic_debug-consolidate-define_dynamic_debug_metadata-definitions +++ a/include/linux/dynamic_debug.h @@ -71,7 +71,7 @@ void __dynamic_netdev_dbg(struct _ddebug const struct net_device *dev, const char *fmt, ...); -#define DEFINE_DYNAMIC_DEBUG_METADATA_KEY(name, fmt, key, init) \ +#define DEFINE_DYNAMIC_DEBUG_METADATA(name, fmt) \ static struct _ddebug __aligned(8) \ __attribute__((section("__verbose"))) name = { \ .modname = KBUILD_MODNAME, \ @@ -80,35 +80,27 @@ void __dynamic_netdev_dbg(struct _ddebug .format = (fmt), \ .lineno = __LINE__, \ .flags = _DPRINTK_FLAGS_DEFAULT, \ - dd_key_init(key, init) \ + _DPRINTK_KEY_INIT \ } #ifdef CONFIG_JUMP_LABEL -#define dd_key_init(key, init) key = (init) - #ifdef DEBUG -#define DEFINE_DYNAMIC_DEBUG_METADATA(name, fmt) \ - DEFINE_DYNAMIC_DEBUG_METADATA_KEY(name, fmt, .key.dd_key_true, \ - (STATIC_KEY_TRUE_INIT)) + +#define _DPRINTK_KEY_INIT .key.dd_key_true = (STATIC_KEY_TRUE_INIT) #define DYNAMIC_DEBUG_BRANCH(descriptor) \ static_branch_likely(&descriptor.key.dd_key_true) #else -#define DEFINE_DYNAMIC_DEBUG_METADATA(name, fmt) \ - DEFINE_DYNAMIC_DEBUG_METADATA_KEY(name, fmt, .key.dd_key_false, \ - (STATIC_KEY_FALSE_INIT)) +#define _DPRINTK_KEY_INIT .key.dd_key_false = (STATIC_KEY_FALSE_INIT) #define DYNAMIC_DEBUG_BRANCH(descriptor) \ static_branch_unlikely(&descriptor.key.dd_key_false) #endif -#else - -#define dd_key_init(key, init) +#else /* !HAVE_JUMP_LABEL */ -#define DEFINE_DYNAMIC_DEBUG_METADATA(name, fmt) \ - DEFINE_DYNAMIC_DEBUG_METADATA_KEY(name, fmt, 0, 0) +#define _DPRINTK_KEY_INIT #ifdef DEBUG #define DYNAMIC_DEBUG_BRANCH(descriptor) \ _ Patches currently in -mm which might be from linux@xxxxxxxxxxxxxxxxxx are build_bugh-add-wrapper-for-_static_assert.patch lib-vsprintfc-move-sizeofstruct-printf_spec-next-to-its-definition.patch linux-fsh-move-member-alignment-check-next-to-definition-of-struct-filename.patch linux-deviceh-use-dynamic_debug_branch-in-dev_dbg_ratelimited.patch linux-neth-use-dynamic_debug_branch-in-net_dbg_ratelimited.patch linux-printkh-use-dynamic_debug_branch-in-pr_debug_ratelimited.patch dynamic_debug-consolidate-define_dynamic_debug_metadata-definitions.patch dynamic_debug-dont-duplicate-modname-in-ddebug_add_module.patch dynamic_debug-use-pointer-comparison-in-ddebug_remove_module.patch dynamic_debug-remove-unused-export_symbols.patch dynamic_debug-move-pr_err-from-modulec-to-ddebug_add_module.patch dynamic_debug-add-static-inline-stub-for-ddebug_add_module.patch dynamic_debug-refactor-dynamic_pr_debug-and-friends.patch btrfs-implement-btrfs_debug-in-terms-of-helper-macro.patch acpi-use-proper-dynamic_debug_branch-macro.patch acpi-remove-unused-__acpi_handle_debug-macro.patch acpi-implement-acpi_handle_debug-in-terms-of-_dynamic_func_call.patch