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

