remove claim, add Priority.as_ceiling

This commit is contained in:
Jorge Aparicio 2017-04-19 17:21:13 -05:00
parent 0827c40a26
commit 4e6818eb2c
3 changed files with 14 additions and 28 deletions

View file

@ -18,7 +18,7 @@ use cortex_m::interrupt::Nr;
#[cfg(not(thumbv6m))]
use cortex_m::register::{basepri, basepri_max};
use static_ref::Ref;
use typenum::{Cmp, Equal, Unsigned};
use typenum::{Cmp, Unsigned};
#[cfg(not(thumbv6m))]
use typenum::{Greater, Less};
@ -74,19 +74,6 @@ impl<T, CEILING> Resource<T, C<CEILING>> {
unsafe { Ref::new(&*self.data.get()) }
}
/// Claims the resource at the task with highest priority
///
/// This operation is zero cost and doesn't impose any additional blocking
pub fn claim<'task, PRIORITY>(
&'static self,
_priority: &'task P<PRIORITY>,
) -> Ref<'task, T>
where
CEILING: Cmp<PRIORITY, Output = Equal>,
{
unsafe { Ref::new(&*self.data.get()) }
}
/// Locks the resource for the duration of the critical section `f`
///
/// For the duration of the critical section, tasks whose priority level is
@ -161,17 +148,6 @@ impl<Periph, CEILING> Peripheral<Periph, C<CEILING>> {
unsafe { Ref::new(&*self.peripheral.get()) }
}
/// See [Resource.claim](./struct.Resource.html#method.claim)
pub fn claim<'task, PRIORITY>(
&'static self,
_priority: &'task P<PRIORITY>,
) -> Ref<'task, Periph>
where
CEILING: Cmp<PRIORITY, Output = Equal>,
{
unsafe { Ref::new(&*self.peripheral.get()) }
}
/// See [Resource.lock](./struct.Resource.html#method.lock)
#[cfg(not(thumbv6m))]
pub fn lock<R, PRIORITY, F>(&'static self, _priority: &P<PRIORITY>, f: F) -> R