All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andreas Hindborg <a.hindborg@kernel.org>
To: Luis Chamberlain <mcgrof@kernel.org>,
	Petr Pavlu <petr.pavlu@suse.com>,
	Sami Tolvanen <samitolvanen@google.com>,
	Daniel Gomez <da.gomez@samsung.com>
Cc: "Miguel Ojeda" <ojeda@kernel.org>,
	"Alex Gaynor" <alex.gaynor@gmail.com>,
	"Boqun Feng" <boqun.feng@gmail.com>,
	"Gary Guo" <gary@garyguo.net>,
	"Björn Roy Baron" <bjorn3_gh@protonmail.com>,
	"Benno Lossin" <benno.lossin@proton.me>,
	"Alice Ryhl" <aliceryhl@google.com>,
	"Masahiro Yamada" <masahiroy@kernel.org>,
	"Nathan Chancellor" <nathan@kernel.org>,
	"Nicolas Schier" <nicolas@fjasle.eu>,
	"Trevor Gross" <tmgross@umich.edu>,
	"Adam Bratschi-Kaye" <ark.email@gmail.com>,
	rust-for-linux@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-kbuild@vger.kernel.org, linux-modules@vger.kernel.org
Subject: Re: [PATCH v3 0/4] rust: extend `module!` macro with integer parameter support
Date: Fri, 13 Dec 2024 13:28:27 +0100	[thread overview]
Message-ID: <87bjxfephw.fsf@kernel.org> (raw)
In-Reply-To: <20241213-module-params-v3-v3-0-485a015ac2cf@kernel.org> (Andreas Hindborg's message of "Fri, 13 Dec 2024 12:30:45 +0100")


Hi Luis, Petr, Sami, Dani,

I just noticed that I failed in email and forgot to add you to the
recipient list of this series. Do you want a resend, or is this
sufficient?

Best regards,
Andreas Hindborg


"Andreas Hindborg" <a.hindborg@kernel.org> writes:

> This series extends the `module!` macro with support module parameters. It
> also adds some string to integer parsing functions and updates `BStr` with
> a method to strip a string prefix.
>
> This series stated out as code by Adam Bratschi-Kaye lifted from the original
> `rust` branch [1].
>
> Link: https://github.com/Rust-for-Linux/linux/tree/bc22545f38d74473cfef3e9fd65432733435b79f [1]
> Signed-off-by: Andreas Hindborg <a.hindborg@kernel.org>
> ---
> Changes since v2 [1]:
> - use `SyncUnsafeCell` rather than `static mut` and simplify parameter access
> - remove `Display` bound from `ModuleParam`
> - automatically generate documentation for `PARAM_OPS_.*`
> - remove `as *const _ as *mut_` phrasing
> - inline parameter name in struct instantiation in  `emit_params`
> - move `RacyKernelParam` out of macro template
> - use C string literals rather than byte string literals with explicit null
> - template out `__{name}_{param_name}` in `emit_param`
> - indent template in `emit_params`
> - use let-else expression in `emit_params` to get rid of an indentation level
> - document `expect_string_field`
> - move invication of `impl_int_module_param` to be closer to macro def
> - move attributes after docs in `make_param_ops`
> - rename `impl_module_param` to impl_int_module_param`
> - use `ty` instead of `ident` in `impl_parse_int`
> - use `BStr` instead of `&str` for string manipulation
> - move string parsing functions to seperate patch and add examples, fix bugs
> - degrade comment about future support from doc comment to regular comment
> - remove std lib path from `Sized` marker
> - update documentation for `trait ModuleParam`
>
> Changes since v1 [2]:
> - Remove support for params without values (`NOARG_ALLOWED`).
> - Improve documentation for `try_from_param_arg`.
> - Use prelude import.
> - Refactor `try_from_param_arg` to return `Result`.
> - Refactor `ParseInt::from_str` to return `Result`.
> - Move C callable functions out of `ModuleParam` trait.
> - Rename literal string field parser to `expect_string_field`.
> - Move parameter parsing from generation to parsing stage.
> - Use absolute type paths in macro code.
> - Inline `kparam`and `read_func` values.
> - Resolve TODO regarding alignment attributes.
> - Remove unnecessary unsafe blocks in macro code.
> - Improve error message for unrecognized parameter types.
> - Do not use `self` receiver when reading parameter value.
> - Add parameter documentation to `module!` macro.
> - Use empty `enum` for parameter type.
> - Use `addr_of_mut` to get address of parameter value variable.
> - Enabled building of docs for for `module_param` module.
>
> Link: https://lore.kernel.org/rust-for-linux/20240705111455.142790-1-nmi@metaspace.dk/ [2]
> Link: https://lore.kernel.org/all/20240819133345.3438739-1-nmi@metaspace.dk/ [1]
>
> ---
>
> ---
> Andreas Hindborg (4):
>       rust: str: implement `PartialEq` for `BStr`
>       rust: str: implement `strip_prefix` for `BStr`
>       rust: str: add radix prefixed integer parsing functions
>       rust: add parameter support to the `module!` macro
>
>  rust/kernel/lib.rs           |   2 +
>  rust/kernel/module_param.rs  | 238 +++++++++++++++++++++++++++++++++++++++++++
>  rust/kernel/str.rs           | 138 +++++++++++++++++++++++++
>  rust/macros/helpers.rs       |  10 ++
>  rust/macros/lib.rs           |  31 ++++++
>  rust/macros/module.rs        | 188 ++++++++++++++++++++++++++++++----
>  samples/rust/rust_minimal.rs |  10 ++
>  scripts/Makefile.build       |   2 +-
>  8 files changed, 600 insertions(+), 19 deletions(-)
> ---
> base-commit: fac04efc5c793dccbd07e2d59af9f90b7fc0dca4
> change-id: 20241211-module-params-v3-ae7e5c8d8b5a
>
> Best regards,


  parent reply	other threads:[~2024-12-13 12:28 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <xK59-BGgPeRPn4PEeT498C5hexwXQ1H5sDle5WuMs3OtTzS0cA4NTRiBh1zLr_4p6o64eXKYOlEka_xzUHG5jA==@protonmail.internalid>
2024-12-13 11:30 ` [PATCH v3 0/4] rust: extend `module!` macro with integer parameter support Andreas Hindborg
2024-12-13 11:30   ` [PATCH v3 1/4] rust: str: implement `PartialEq` for `BStr` Andreas Hindborg
2024-12-13 12:49     ` Alice Ryhl
2024-12-13 11:30   ` [PATCH v3 2/4] rust: str: implement `strip_prefix` " Andreas Hindborg
2024-12-13 11:30   ` [PATCH v3 3/4] rust: str: add radix prefixed integer parsing functions Andreas Hindborg
2024-12-13 11:30   ` [PATCH v3 4/4] rust: add parameter support to the `module!` macro Andreas Hindborg
2024-12-13 11:46     ` Greg KH
2024-12-13 12:42       ` Andreas Hindborg
2024-12-13 12:54     ` Miguel Ojeda
2024-12-13 13:17       ` Andreas Hindborg
2024-12-13 17:14         ` Miguel Ojeda
2025-01-08 12:45           ` Andreas Hindborg
2025-01-08 13:17             ` Alice Ryhl
2025-01-08 13:43             ` Miguel Ojeda
2025-01-08 14:20               ` Andreas Hindborg
2024-12-13 11:43   ` [PATCH v3 0/4] rust: extend `module!` macro with integer parameter support Greg KH
2024-12-13 12:24     ` Andreas Hindborg
2024-12-13 12:48       ` Alice Ryhl
2024-12-13 12:57         ` Andreas Hindborg
2024-12-17 14:09           ` Simona Vetter
2024-12-13 14:23       ` Greg KH
2024-12-13 15:38         ` Andreas Hindborg
2024-12-13 16:05           ` Greg KH
2024-12-16  9:51             ` Andreas Hindborg
2024-12-16 12:14               ` Greg KH
2024-12-16 12:23                 ` Greg KH
2024-12-16 13:02                   ` Andreas Hindborg
2024-12-16 13:02                 ` Andreas Hindborg
2024-12-16 14:43                   ` Jens Axboe
2024-12-16 15:03                     ` Greg KH
2024-12-16 15:08                       ` Jens Axboe
2024-12-16 15:39                         ` Miguel Ojeda
2024-12-16 15:48                           ` Miguel Ojeda
2024-12-18  2:16                             ` Josh Triplett
2024-12-13 12:28   ` Andreas Hindborg [this message]
2024-12-13 19:41     ` Luis Chamberlain

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87bjxfephw.fsf@kernel.org \
    --to=a.hindborg@kernel.org \
    --cc=alex.gaynor@gmail.com \
    --cc=aliceryhl@google.com \
    --cc=ark.email@gmail.com \
    --cc=benno.lossin@proton.me \
    --cc=bjorn3_gh@protonmail.com \
    --cc=boqun.feng@gmail.com \
    --cc=da.gomez@samsung.com \
    --cc=gary@garyguo.net \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-modules@vger.kernel.org \
    --cc=masahiroy@kernel.org \
    --cc=mcgrof@kernel.org \
    --cc=nathan@kernel.org \
    --cc=nicolas@fjasle.eu \
    --cc=ojeda@kernel.org \
    --cc=petr.pavlu@suse.com \
    --cc=rust-for-linux@vger.kernel.org \
    --cc=samitolvanen@google.com \
    --cc=tmgross@umich.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.