Re: [PATCH v5 1/5] rust: module: add type `LocalModule`
From: Jarkko Sakkinen
Date: Tue Mar 04 2025 - 14:15:02 EST
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@xxxxxxxxxx>
> Signed-off-by: Danilo Krummrich <dakr@xxxxxxxxxx>
> ---
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