Re: [PATCH] rust/time: Add Delta::from_nanos()
From: Onur Özkan
Date: Sun Nov 16 2025 - 01:48:25 EST
On Fri, 14 Nov 2025 13:42:06 -0500
Lyude Paul <lyude@xxxxxxxxxx> wrote:
> Since rvkms is going to need to create its own Delta instances, and we
> already have functions for creating Delta with every other unit of
> time.
>
> Signed-off-by: Lyude Paul <lyude@xxxxxxxxxx>
> ---
> rust/kernel/time.rs | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/rust/kernel/time.rs b/rust/kernel/time.rs
> index 6ea98dfcd0278..2b096e5a61cda 100644
> --- a/rust/kernel/time.rs
> +++ b/rust/kernel/time.rs
> @@ -363,6 +363,12 @@ impl Delta {
> /// A span of time equal to zero.
> pub const ZERO: Self = Self { nanos: 0 };
>
> + /// Create a new [`Delta`] from a number of nanoseconds.
> + #[inline]
> + pub const fn from_nanos(nanos: i64) -> Self {
> + Self { nanos }
> + }
> +
I wonder if it makes sense to remove all the `from_*` functions from
`Delta` and replace them all with something like this:
pub const fn from_duration(duration: Duration) -> Self {
Self {
nanos: duration.as_nanos(),
}
}
What do you think?
> /// Create a new [`Delta`] from a number of microseconds.
> ///
> /// The `micros` can range from -9_223_372_036_854_775 to
> 9_223_372_036_854_775.
>
> base-commit: 5935461b458463ee51aac8d95c25d7a5e1de8c4d