Make Driver::disable async and fix comment

This commit is contained in:
alexmoon
2022-04-12 17:51:50 -04:00
parent 7fde3abd5d
commit 2915e858ba
3 changed files with 11 additions and 7 deletions

View File

@ -208,6 +208,7 @@ pub struct Bus<'d, T: Instance> {
impl<'d, T: Instance> driver::Bus for Bus<'d, T> {
type EnableFuture<'a> = impl Future<Output = ()> + 'a where Self: 'a;
type DisableFuture<'a> = impl Future<Output = ()> + 'a where Self: 'a;
type PollFuture<'a> = impl Future<Output = Event> + 'a where Self: 'a;
type RemoteWakeupFuture<'a> = impl Future<Output = Result<(), Unsupported>> + 'a where Self: 'a;
@ -248,9 +249,11 @@ impl<'d, T: Instance> driver::Bus for Bus<'d, T> {
}
}
fn disable(&mut self) {
let regs = T::regs();
regs.enable.write(|x| x.enable().disabled());
fn disable(&mut self) -> Self::DisableFuture<'_> {
async move {
let regs = T::regs();
regs.enable.write(|x| x.enable().disabled());
}
}
fn poll<'a>(&'a mut self) -> Self::PollFuture<'a> {