Messages in this thread Patch in this message | | | From | Martin Rodriguez Reboredo <> | Subject | [PATCH] rust: add this_module macro | Date | Tue, 31 Jan 2023 10:08:41 -0300 |
| |
Adds a Rust equivalent to the handy THIS_MODULE macro from C.
Signed-off-by: Martin Rodriguez Reboredo <yakoyoku@gmail.com> --- 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
| |