rust: hrtimer: Add Ktime temporarily
Add Ktime temporarily until hrtimer is refactored to use Instant and Delta types. Reviewed-by: Andreas Hindborg <a.hindborg@kernel.org> Reviewed-by: Boqun Feng <boqun.feng@gmail.com> Signed-off-by: FUJITA Tomonori <fujita.tomonori@gmail.com> Link: https://lore.kernel.org/r/20250423192857.199712-2-fujita.tomonori@gmail.com Signed-off-by: Andreas Hindborg <a.hindborg@kernel.org>
This commit is contained in:
committed by
Andreas Hindborg
parent
9c32cda43e
commit
1116f0c5ff
@@ -68,10 +68,26 @@
|
||||
//! `start` operation.
|
||||
|
||||
use super::ClockId;
|
||||
use crate::{prelude::*, time::Ktime, types::Opaque};
|
||||
use crate::{prelude::*, types::Opaque};
|
||||
use core::marker::PhantomData;
|
||||
use pin_init::PinInit;
|
||||
|
||||
/// A Rust wrapper around a `ktime_t`.
|
||||
// NOTE: Ktime is going to be removed when hrtimer is converted to Instant/Delta.
|
||||
#[repr(transparent)]
|
||||
#[derive(Copy, Clone, PartialEq, PartialOrd, Eq, Ord)]
|
||||
pub struct Ktime {
|
||||
inner: bindings::ktime_t,
|
||||
}
|
||||
|
||||
impl Ktime {
|
||||
/// Returns the number of nanoseconds.
|
||||
#[inline]
|
||||
pub fn to_ns(self) -> i64 {
|
||||
self.inner
|
||||
}
|
||||
}
|
||||
|
||||
/// A timer backed by a C `struct hrtimer`.
|
||||
///
|
||||
/// # Invariants
|
||||
|
||||
@@ -5,10 +5,10 @@ use super::HrTimer;
|
||||
use super::HrTimerCallback;
|
||||
use super::HrTimerHandle;
|
||||
use super::HrTimerPointer;
|
||||
use super::Ktime;
|
||||
use super::RawHrTimerCallback;
|
||||
use crate::sync::Arc;
|
||||
use crate::sync::ArcBorrow;
|
||||
use crate::time::Ktime;
|
||||
|
||||
/// A handle for an `Arc<HasHrTimer<T>>` returned by a call to
|
||||
/// [`HrTimerPointer::start`].
|
||||
|
||||
@@ -4,9 +4,9 @@ use super::HasHrTimer;
|
||||
use super::HrTimer;
|
||||
use super::HrTimerCallback;
|
||||
use super::HrTimerHandle;
|
||||
use super::Ktime;
|
||||
use super::RawHrTimerCallback;
|
||||
use super::UnsafeHrTimerPointer;
|
||||
use crate::time::Ktime;
|
||||
use core::pin::Pin;
|
||||
|
||||
/// A handle for a `Pin<&HasHrTimer>`. When the handle exists, the timer might be
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
use super::{
|
||||
HasHrTimer, HrTimer, HrTimerCallback, HrTimerHandle, RawHrTimerCallback, UnsafeHrTimerPointer,
|
||||
HasHrTimer, HrTimer, HrTimerCallback, HrTimerHandle, Ktime, RawHrTimerCallback,
|
||||
UnsafeHrTimerPointer,
|
||||
};
|
||||
use crate::time::Ktime;
|
||||
use core::{marker::PhantomData, pin::Pin, ptr::NonNull};
|
||||
|
||||
/// A handle for a `Pin<&mut HasHrTimer>`. When the handle exists, the timer might
|
||||
|
||||
@@ -5,9 +5,9 @@ use super::HrTimer;
|
||||
use super::HrTimerCallback;
|
||||
use super::HrTimerHandle;
|
||||
use super::HrTimerPointer;
|
||||
use super::Ktime;
|
||||
use super::RawHrTimerCallback;
|
||||
use crate::prelude::*;
|
||||
use crate::time::Ktime;
|
||||
use core::ptr::NonNull;
|
||||
|
||||
/// A handle for a [`Box<HasHrTimer<T>>`] returned by a call to
|
||||
|
||||
Reference in New Issue
Block a user