[PATCH] rust: add this_module macro
From: Martin Rodriguez Reboredo <hidden>
Date: 2023-01-31 13:08:59
Also in:
lkml
Subsystem:
rust, the rest · Maintainers:
Miguel Ojeda, Linus Torvalds
From: Martin Rodriguez Reboredo <hidden>
Date: 2023-01-31 13:08:59
Also in:
lkml
Subsystem:
rust, the rest · Maintainers:
Miguel Ojeda, Linus Torvalds
Adds a Rust equivalent to the handy THIS_MODULE macro from C. Signed-off-by: Martin Rodriguez Reboredo <redacted> --- rust/kernel/lib.rs | 12 ++++++++++++ 1 file changed, 12 insertions(+)
diff --git a/rust/kernel/lib.rs b/rust/kernel/lib.rs
index e0b0e953907d..afb6b0390426 100644
--- a/rust/kernel/lib.rs
+++ b/rust/kernel/lib.rs@@ -80,6 +80,18 @@ impl ThisModule { } } +/// Returns the current module. +#[macro_export] +macro_rules! this_module { + () => { + if cfg!(MODULE) { + Some(unsafe { $crate::ThisModule::from_ptr(&mut $crate::bindings::__this_module) }) + } else { + None + } + }; +} + #[cfg(not(any(testlib, test)))] #[panic_handler] fn panic(info: &core::panic::PanicInfo<'_>) -> ! {
--
2.39.1