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

Reply via email to