The jump_label API assumes that the static keys will be allocated as top-level static variables. Nothing wrong with that, but this makes it slightly awkward when trying to embed the static key inside another structure. The user ends up diving into the internals of the API, making the result a bit awkward.
This series adds the usual DECLARE/INIT macros that make it possible to embed the key in macros, as well as initialize it correctly. As an example, the dynamic_debug.h file is converted to this API. The ulterior motive behind that patch is this[1] bit of KVM/ARM, which is using such a construct and could use the cleanup. Patches on top of arm64/for-next/core, which already contains some jump label changes. [1] https://git.kernel.org/cgit/linux/kernel/git/kvmarm/kvmarm.git/commit/?h=queue&id=db6ca86d92d9d8f8e0bf9c1210a90ddf70e76136 Marc Zyngier (2): jump_labels: Add API to deal with keys embedded in structures dynamic_debug: Use updated jump label API Documentation/static-keys.txt | 19 +++++++++++++++++++ include/linux/dynamic_debug.h | 22 ++++++++++------------ include/linux/jump_label.h | 21 ++++++++++++++++++--- 3 files changed, 47 insertions(+), 15 deletions(-) -- 2.1.4

