Add the Rust infrastructure to integrate with the dynamic debug
infrastructure.

Static keys are not used for now, as the full bindings are missing
for those. A follow-up series will add that.
Also custom classes are not supported yet, but could be added on top.

Patches 1-4: Generic Rust preparation patches.
Patches 5-7: C dynamic debug preparation patches.
Patches 8: Rust Dynamic debug infrastructure.
Patches 9-11: Rust Dynamic debug enablement.

Signed-off-by: Thomas Weißschuh <[email protected]>
---
Thomas Weißschuh (11):
      rust: print: use CStr for __LOG_PREFIX
      rust: sync: atomic: Add Atomic<u{8,16}>
      rust: num: Add Bounded::USABLE_BITS
      samples: rust_print: add debug messages
      dyndbg: use u32 for struct _ddebug bitfields
      dyndbg: make _ddebug::flags its own field
      dyndbg: use READ_ONCE()/WRITE_ONCE() to access descriptor flags
      rust: add support for dynamic debug
      rust: print: enable dynamic debug for pr_debug!()
      rust: device: remove logging methods
      rust: device: enable dynamic debug for dev_dbg!()

 MAINTAINERS                          |   1 +
 include/linux/dynamic_debug.h        |  13 +-
 lib/dynamic_debug.c                  |  24 ++--
 rust/bindings/bindings_helper.h      |   1 +
 rust/kernel/device.rs                | 175 +++++++++++------------
 rust/kernel/dynamic_debug.rs         | 264 +++++++++++++++++++++++++++++++++++
 rust/kernel/lib.rs                   |   6 +-
 rust/kernel/num/bounded.rs           |   3 +
 rust/kernel/print.rs                 |  21 +--
 rust/kernel/sync/atomic/predefine.rs |  44 ++++--
 rust/macros/module.rs                |   4 +-
 samples/rust/Makefile                |   2 +
 samples/rust/rust_print_main.rs      |   2 +
 scripts/rustdoc_test_gen.rs          |   4 +-
 14 files changed, 428 insertions(+), 136 deletions(-)
---
base-commit: 2dee3d3adcadcc57d62ba6608cd02f50b0c10264
change-id: 20260921-rust-dyndbg-17b822f24894

Best regards,
--  
Thomas Weißschuh <[email protected]>


Reply via email to