Re: [PATCH v2 3/7] rust: cpufreq: always inline functions using build_assert with arguments

From: Alice Ryhl

Date: Fri Nov 28 2025 - 04:32:52 EST


On Fri, Nov 28, 2025 at 11:42:55AM +0530, Viresh Kumar wrote:
> On 28-11-25, 11:11, Alexandre Courbot wrote:
> > `build_assert` relies on the compiler to optimize out its error path.
> > Functions using it with its arguments must thus always be inlined,
> > otherwise the error path of `build_assert` might not be optimized out,
> > triggering a build error.
> >
> > Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx>
> > ---
> > rust/kernel/cpufreq.rs | 2 ++
> > 1 file changed, 2 insertions(+)
> >
> > diff --git a/rust/kernel/cpufreq.rs b/rust/kernel/cpufreq.rs
> > index 1a555fcb120a..df5d9f6f43f3 100644
> > --- a/rust/kernel/cpufreq.rs
> > +++ b/rust/kernel/cpufreq.rs
> > @@ -1015,6 +1015,8 @@ impl<T: Driver> Registration<T> {
> > ..pin_init::zeroed()
> > };
> >
> > + // Always inline to optimize out error path of `build_assert`.
> > + #[inline(always)]
> > const fn copy_name(name: &'static CStr) -> [c_char; CPUFREQ_NAME_LEN] {
> > let src = name.to_bytes_with_nul();
> > let mut dst = [0; CPUFREQ_NAME_LEN];
>
> Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx>
>
> Lemme know if you want me to pick this instead.

There's no reason these can't be picked up independently, so it would be
fine if you pick up this one.

Alice