Message ID | 20250304173555.2496-2-dakr@kernel.org (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Initial Nova Core series | expand |
On Tue, Mar 04, 2025 at 06:34:48PM +0100, Danilo Krummrich wrote: > The `LocalModule` type is the type of the module created by `module!`, > `module_pci_driver!`, `module_platform_driver!`, etc. > > Since the exact type of the module is sometimes generated on the fly by > the listed macros, provide an alias. > > This is first used by the `module_firmware!` macro introduced in a > subsequent patch. So generally speaking for any patches, they are not patches once they land to the Git and theoretically you cannot presume any order. So cut out hairs the last sentence should be just: "The first use for this will be module_firmware!" > > Suggested-by: Alice Ryhl <aliceryhl@google.com> > Signed-off-by: Danilo Krummrich <dakr@kernel.org> > --- You can speak about subsequent patches here but not in the commit message. > rust/macros/module.rs | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/rust/macros/module.rs b/rust/macros/module.rs > index cdf94f4982df..6ba9210677c5 100644 > --- a/rust/macros/module.rs > +++ b/rust/macros/module.rs > @@ -228,6 +228,8 @@ pub(crate) fn module(ts: TokenStream) -> TokenStream { > kernel::ThisModule::from_ptr(core::ptr::null_mut()) > }}; > > + type LocalModule = {type_}; > + nit: I'd document this as: // The `LocalModule` type is the type of the module created by `module!`, // `module_pci_driver!`, `module_platform_driver!`, etc. ;-) > impl kernel::ModuleMetadata for {type_} {{ > const NAME: &'static kernel::str::CStr = kernel::c_str!(\"{name}\"); > }} > -- > 2.48.1 > > BR, Jarkko
diff --git a/rust/macros/module.rs b/rust/macros/module.rs index cdf94f4982df..6ba9210677c5 100644 --- a/rust/macros/module.rs +++ b/rust/macros/module.rs @@ -228,6 +228,8 @@ pub(crate) fn module(ts: TokenStream) -> TokenStream { kernel::ThisModule::from_ptr(core::ptr::null_mut()) }}; + type LocalModule = {type_}; + impl kernel::ModuleMetadata for {type_} {{ const NAME: &'static kernel::str::CStr = kernel::c_str!(\"{name}\"); }}
The `LocalModule` type is the type of the module created by `module!`, `module_pci_driver!`, `module_platform_driver!`, etc. Since the exact type of the module is sometimes generated on the fly by the listed macros, provide an alias. This is first used by the `module_firmware!` macro introduced in a subsequent patch. Suggested-by: Alice Ryhl <aliceryhl@google.com> Signed-off-by: Danilo Krummrich <dakr@kernel.org> --- rust/macros/module.rs | 2 ++ 1 file changed, 2 insertions(+)