aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDániel Buga <[email protected]>2025-02-03 17:20:35 +0100
committerDániel Buga <[email protected]>2025-02-03 17:20:35 +0100
commit37b180c61eb58515561fb59e0d4fc558cc8d5e53 (patch)
tree602f8dcace5532f4b892e5cff379d6b99c02c4ed
parentc65b6db318da7ecbe888a0a66b85d9ffb28106f0 (diff)
Allow inlining on time driver boundary
-rw-r--r--embassy-time-driver/src/lib.rs4
-rw-r--r--embassy-time/src/instant.rs1
2 files changed, 5 insertions, 0 deletions
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" {
139} 139}
140 140
141/// See [`Driver::now`] 141/// See [`Driver::now`]
142#[inline]
142pub fn now() -> u64 { 143pub fn now() -> u64 {
143 unsafe { _embassy_time_now() } 144 unsafe { _embassy_time_now() }
144} 145}
145 146
146/// Schedule the given waker to be woken at `at`. 147/// Schedule the given waker to be woken at `at`.
148#[inline]
147pub fn schedule_wake(at: u64, waker: &Waker) { 149pub fn schedule_wake(at: u64, waker: &Waker) {
148 unsafe { _embassy_time_schedule_wake(at, waker) } 150 unsafe { _embassy_time_schedule_wake(at, waker) }
149} 151}
@@ -157,11 +159,13 @@ macro_rules! time_driver_impl {
157 static $name: $t = $val; 159 static $name: $t = $val;
158 160
159 #[no_mangle] 161 #[no_mangle]
162 #[inline]
160 fn _embassy_time_now() -> u64 { 163 fn _embassy_time_now() -> u64 {
161 <$t as $crate::Driver>::now(&$name) 164 <$t as $crate::Driver>::now(&$name)
162 } 165 }
163 166
164 #[no_mangle] 167 #[no_mangle]
168 #[inline]
165 fn _embassy_time_schedule_wake(at: u64, waker: &core::task::Waker) { 169 fn _embassy_time_schedule_wake(at: u64, waker: &core::task::Waker) {
166 <$t as $crate::Driver>::schedule_wake(&$name, at, waker); 170 <$t as $crate::Driver>::schedule_wake(&$name, at, waker);
167 } 171 }
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 {
17 pub const MAX: Instant = Instant { ticks: u64::MAX }; 17 pub const MAX: Instant = Instant { ticks: u64::MAX };
18 18
19 /// Returns an Instant representing the current time. 19 /// Returns an Instant representing the current time.
20 #[inline]
20 pub fn now() -> Instant { 21 pub fn now() -> Instant {
21 Instant { 22 Instant {
22 ticks: embassy_time_driver::now(), 23 ticks: embassy_time_driver::now(),