From 37b180c61eb58515561fb59e0d4fc558cc8d5e53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?D=C3=A1niel=20Buga?= Date: Mon, 3 Feb 2025 17:20:35 +0100 Subject: [PATCH] Allow inlining on time driver boundary --- embassy-time-driver/src/lib.rs | 4 ++++ embassy-time/src/instant.rs | 1 + 2 files changed, 5 insertions(+) diff --git a/embassy-time-driver/src/lib.rs b/embassy-time-driver/src/lib.rs index f198a3ead..32cb68296 100644 --- a/embassy-time-driver/src/lib.rs +++ b/embassy-time-driver/src/lib.rs @@ -139,11 +139,13 @@ extern "Rust" { } /// See [`Driver::now`] +#[inline] pub fn now() -> u64 { unsafe { _embassy_time_now() } } /// Schedule the given waker to be woken at `at`. +#[inline] pub fn schedule_wake(at: u64, waker: &Waker) { unsafe { _embassy_time_schedule_wake(at, waker) } } @@ -157,11 +159,13 @@ macro_rules! time_driver_impl { static $name: $t = $val; #[no_mangle] + #[inline] fn _embassy_time_now() -> u64 { <$t as $crate::Driver>::now(&$name) } #[no_mangle] + #[inline] fn _embassy_time_schedule_wake(at: u64, waker: &core::task::Waker) { <$t as $crate::Driver>::schedule_wake(&$name, at, waker); } diff --git a/embassy-time/src/instant.rs b/embassy-time/src/instant.rs index 909f1b173..cae80e51f 100644 --- a/embassy-time/src/instant.rs +++ b/embassy-time/src/instant.rs @@ -17,6 +17,7 @@ impl Instant { pub const MAX: Instant = Instant { ticks: u64::MAX }; /// Returns an Instant representing the current time. + #[inline] pub fn now() -> Instant { Instant { ticks: embassy_time_driver::now(),