diff options
| -rw-r--r-- | embassy-macros/src/lib.rs | 8 | ||||
| -rw-r--r-- | embassy/src/executor/mod.rs | 2 | ||||
| -rw-r--r-- | embassy/src/executor/raw.rs | 2 | ||||
| -rw-r--r-- | embassy/src/executor/run_queue.rs | 2 | ||||
| -rw-r--r-- | embassy/src/executor/timer_queue.rs | 2 | ||||
| -rw-r--r-- | embassy/src/interrupt.rs | 2 | ||||
| -rw-r--r-- | embassy/src/lib.rs | 7 | ||||
| -rw-r--r-- | embassy/src/util/forever.rs | 2 |
8 files changed, 16 insertions, 11 deletions
diff --git a/embassy-macros/src/lib.rs b/embassy-macros/src/lib.rs index 5b834ff13..710c5a151 100644 --- a/embassy-macros/src/lib.rs +++ b/embassy-macros/src/lib.rs | |||
| @@ -157,17 +157,17 @@ pub fn interrupt_take(item: TokenStream) -> TokenStream { | |||
| 157 | static HANDLER: ::embassy::interrupt::Handler; | 157 | static HANDLER: ::embassy::interrupt::Handler; |
| 158 | } | 158 | } |
| 159 | 159 | ||
| 160 | let func = HANDLER.func.load(::embassy::atomic::Ordering::Acquire); | 160 | let func = HANDLER.func.load(::embassy::export::atomic::Ordering::Acquire); |
| 161 | let ctx = HANDLER.ctx.load(::embassy::atomic::Ordering::Acquire); | 161 | let ctx = HANDLER.ctx.load(::embassy::export::atomic::Ordering::Acquire); |
| 162 | if !func.is_null() { | 162 | if !func.is_null() { |
| 163 | let func: fn(*mut ()) = ::core::mem::transmute(func); | 163 | let func: fn(*mut ()) = ::core::mem::transmute(func); |
| 164 | func(ctx) | 164 | func(ctx) |
| 165 | } | 165 | } |
| 166 | } | 166 | } |
| 167 | 167 | ||
| 168 | static TAKEN: ::embassy::atomic::AtomicBool = ::embassy::atomic::AtomicBool::new(false); | 168 | static TAKEN: ::embassy::export::atomic::AtomicBool = ::embassy::export::atomic::AtomicBool::new(false); |
| 169 | 169 | ||
| 170 | if TAKEN.compare_exchange(false, true, ::embassy::atomic::Ordering::AcqRel, ::embassy::atomic::Ordering::Acquire).is_err() { | 170 | if TAKEN.compare_exchange(false, true, ::embassy::export::atomic::Ordering::AcqRel, ::embassy::export::atomic::Ordering::Acquire).is_err() { |
| 171 | panic!("IRQ Already taken"); | 171 | panic!("IRQ Already taken"); |
| 172 | } | 172 | } |
| 173 | 173 | ||
diff --git a/embassy/src/executor/mod.rs b/embassy/src/executor/mod.rs index 7a6caf702..787230c0b 100644 --- a/embassy/src/executor/mod.rs +++ b/embassy/src/executor/mod.rs | |||
| @@ -1,5 +1,6 @@ | |||
| 1 | pub use embassy_macros::task; | 1 | pub use embassy_macros::task; |
| 2 | 2 | ||
| 3 | use atomic_polyfill::Ordering; | ||
| 3 | use core::future::Future; | 4 | use core::future::Future; |
| 4 | use core::marker::PhantomData; | 5 | use core::marker::PhantomData; |
| 5 | use core::pin::Pin; | 6 | use core::pin::Pin; |
| @@ -15,7 +16,6 @@ mod util; | |||
| 15 | mod waker; | 16 | mod waker; |
| 16 | 17 | ||
| 17 | use self::util::UninitCell; | 18 | use self::util::UninitCell; |
| 18 | use crate::atomic::Ordering; | ||
| 19 | use crate::fmt::panic; | 19 | use crate::fmt::panic; |
| 20 | use crate::interrupt::{Interrupt, InterruptExt}; | 20 | use crate::interrupt::{Interrupt, InterruptExt}; |
| 21 | use crate::time::Alarm; | 21 | use crate::time::Alarm; |
diff --git a/embassy/src/executor/raw.rs b/embassy/src/executor/raw.rs index 0c947080f..84e171dff 100644 --- a/embassy/src/executor/raw.rs +++ b/embassy/src/executor/raw.rs | |||
| @@ -1,3 +1,4 @@ | |||
| 1 | use atomic_polyfill::{AtomicU32, Ordering}; | ||
| 1 | use core::cell::Cell; | 2 | use core::cell::Cell; |
| 2 | use core::cmp::min; | 3 | use core::cmp::min; |
| 3 | use core::marker::PhantomData; | 4 | use core::marker::PhantomData; |
| @@ -9,7 +10,6 @@ use super::run_queue::{RunQueue, RunQueueItem}; | |||
| 9 | use super::timer_queue::{TimerQueue, TimerQueueItem}; | 10 | use super::timer_queue::{TimerQueue, TimerQueueItem}; |
| 10 | use super::util::UninitCell; | 11 | use super::util::UninitCell; |
| 11 | use super::waker; | 12 | use super::waker; |
| 12 | use crate::atomic::{AtomicU32, Ordering}; | ||
| 13 | use crate::time::{Alarm, Instant}; | 13 | use crate::time::{Alarm, Instant}; |
| 14 | 14 | ||
| 15 | /// Task is spawned (has a future) | 15 | /// Task is spawned (has a future) |
diff --git a/embassy/src/executor/run_queue.rs b/embassy/src/executor/run_queue.rs index fb7c65e03..1d1023e51 100644 --- a/embassy/src/executor/run_queue.rs +++ b/embassy/src/executor/run_queue.rs | |||
| @@ -1,8 +1,8 @@ | |||
| 1 | use atomic_polyfill::{AtomicPtr, Ordering}; | ||
| 1 | use core::ptr; | 2 | use core::ptr; |
| 2 | use core::ptr::NonNull; | 3 | use core::ptr::NonNull; |
| 3 | 4 | ||
| 4 | use super::raw::Task; | 5 | use super::raw::Task; |
| 5 | use crate::atomic::{AtomicPtr, Ordering}; | ||
| 6 | 6 | ||
| 7 | pub(crate) struct RunQueueItem { | 7 | pub(crate) struct RunQueueItem { |
| 8 | next: AtomicPtr<Task>, | 8 | next: AtomicPtr<Task>, |
diff --git a/embassy/src/executor/timer_queue.rs b/embassy/src/executor/timer_queue.rs index bd043aeb5..d72eb93b1 100644 --- a/embassy/src/executor/timer_queue.rs +++ b/embassy/src/executor/timer_queue.rs | |||
| @@ -1,10 +1,10 @@ | |||
| 1 | use atomic_polyfill::{AtomicPtr, Ordering}; | ||
| 1 | use core::cell::Cell; | 2 | use core::cell::Cell; |
| 2 | use core::cmp::min; | 3 | use core::cmp::min; |
| 3 | use core::ptr; | 4 | use core::ptr; |
| 4 | use core::ptr::NonNull; | 5 | use core::ptr::NonNull; |
| 5 | 6 | ||
| 6 | use super::raw::{Task, STATE_TIMER_QUEUED}; | 7 | use super::raw::{Task, STATE_TIMER_QUEUED}; |
| 7 | use crate::atomic::{AtomicPtr, Ordering}; | ||
| 8 | use crate::time::Instant; | 8 | use crate::time::Instant; |
| 9 | 9 | ||
| 10 | pub(crate) struct TimerQueueItem { | 10 | pub(crate) struct TimerQueueItem { |
diff --git a/embassy/src/interrupt.rs b/embassy/src/interrupt.rs index 6491a57d9..013e722e6 100644 --- a/embassy/src/interrupt.rs +++ b/embassy/src/interrupt.rs | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | use core::ptr; | 1 | use core::ptr; |
| 2 | use cortex_m::peripheral::NVIC; | 2 | use cortex_m::peripheral::NVIC; |
| 3 | 3 | ||
| 4 | use crate::atomic::{AtomicBool, AtomicPtr, Ordering}; | 4 | use atomic_polyfill::{AtomicBool, AtomicPtr, Ordering}; |
| 5 | 5 | ||
| 6 | pub use embassy_macros::interrupt_declare as declare; | 6 | pub use embassy_macros::interrupt_declare as declare; |
| 7 | pub use embassy_macros::interrupt_take as take; | 7 | pub use embassy_macros::interrupt_take as take; |
diff --git a/embassy/src/lib.rs b/embassy/src/lib.rs index 55c8d8575..b6fefc9f7 100644 --- a/embassy/src/lib.rs +++ b/embassy/src/lib.rs | |||
| @@ -18,4 +18,9 @@ pub mod time; | |||
| 18 | pub mod util; | 18 | pub mod util; |
| 19 | 19 | ||
| 20 | pub use embassy_traits as traits; | 20 | pub use embassy_traits as traits; |
| 21 | pub use atomic_polyfill as atomic; | 21 | |
| 22 | #[doc(hidden)] | ||
| 23 | /// Implementation details for embassy macros. DO NOT USE. | ||
| 24 | pub mod export { | ||
| 25 | pub use atomic_polyfill as atomic; | ||
| 26 | } | ||
diff --git a/embassy/src/util/forever.rs b/embassy/src/util/forever.rs index fac3c260b..ac23a3ce3 100644 --- a/embassy/src/util/forever.rs +++ b/embassy/src/util/forever.rs | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | use core::cell::UnsafeCell; | 1 | use core::cell::UnsafeCell; |
| 2 | use core::mem::MaybeUninit; | 2 | use core::mem::MaybeUninit; |
| 3 | 3 | ||
| 4 | use crate::atomic::{AtomicBool, Ordering}; | 4 | use atomic_polyfill::{AtomicBool, Ordering}; |
| 5 | 5 | ||
| 6 | pub struct Forever<T> { | 6 | pub struct Forever<T> { |
| 7 | used: AtomicBool, | 7 | used: AtomicBool, |
