aboutsummaryrefslogtreecommitdiff
path: root/embassy-usb/src/class
diff options
context:
space:
mode:
Diffstat (limited to 'embassy-usb/src/class')
-rw-r--r--embassy-usb/src/class/cdc_acm.rs5
-rw-r--r--embassy-usb/src/class/uac1/speaker.rs5
2 files changed, 4 insertions, 6 deletions
diff --git a/embassy-usb/src/class/cdc_acm.rs b/embassy-usb/src/class/cdc_acm.rs
index 2823e522e..c5b1a56fe 100644
--- a/embassy-usb/src/class/cdc_acm.rs
+++ b/embassy-usb/src/class/cdc_acm.rs
@@ -1,7 +1,7 @@
1//! CDC-ACM class implementation, aka Serial over USB. 1//! CDC-ACM class implementation, aka Serial over USB.
2 2
3use core::cell::{Cell, RefCell}; 3use core::cell::{Cell, RefCell};
4use core::future::poll_fn; 4use core::future::{poll_fn, Future};
5use core::mem::{self, MaybeUninit}; 5use core::mem::{self, MaybeUninit};
6use core::sync::atomic::{AtomicBool, Ordering}; 6use core::sync::atomic::{AtomicBool, Ordering};
7use core::task::Poll; 7use core::task::Poll;
@@ -108,7 +108,7 @@ impl Default for ControlShared {
108} 108}
109 109
110impl ControlShared { 110impl ControlShared {
111 async fn changed(&self) { 111 fn changed(&self) -> impl Future<Output = ()> + '_ {
112 poll_fn(|cx| { 112 poll_fn(|cx| {
113 if self.changed.load(Ordering::Relaxed) { 113 if self.changed.load(Ordering::Relaxed) {
114 self.changed.store(false, Ordering::Relaxed); 114 self.changed.store(false, Ordering::Relaxed);
@@ -118,7 +118,6 @@ impl ControlShared {
118 Poll::Pending 118 Poll::Pending
119 } 119 }
120 }) 120 })
121 .await;
122 } 121 }
123} 122}
124 123
diff --git a/embassy-usb/src/class/uac1/speaker.rs b/embassy-usb/src/class/uac1/speaker.rs
index 6c3a4e378..25de25d9c 100644
--- a/embassy-usb/src/class/uac1/speaker.rs
+++ b/embassy-usb/src/class/uac1/speaker.rs
@@ -11,7 +11,7 @@
11//! The class provides volume and mute controls for each channel. 11//! The class provides volume and mute controls for each channel.
12 12
13use core::cell::{Cell, RefCell}; 13use core::cell::{Cell, RefCell};
14use core::future::poll_fn; 14use core::future::{poll_fn, Future};
15use core::marker::PhantomData; 15use core::marker::PhantomData;
16use core::sync::atomic::{AtomicBool, AtomicU32, Ordering}; 16use core::sync::atomic::{AtomicBool, AtomicU32, Ordering};
17use core::task::Poll; 17use core::task::Poll;
@@ -389,7 +389,7 @@ impl<'d> Default for SharedControl<'d> {
389} 389}
390 390
391impl<'d> SharedControl<'d> { 391impl<'d> SharedControl<'d> {
392 async fn changed(&self) { 392 fn changed(&self) -> impl Future<Output = ()> + '_ {
393 poll_fn(|context| { 393 poll_fn(|context| {
394 if self.changed.load(Ordering::Relaxed) { 394 if self.changed.load(Ordering::Relaxed) {
395 self.changed.store(false, Ordering::Relaxed); 395 self.changed.store(false, Ordering::Relaxed);
@@ -399,7 +399,6 @@ impl<'d> SharedControl<'d> {
399 Poll::Pending 399 Poll::Pending
400 } 400 }
401 }) 401 })
402 .await;
403 } 402 }
404} 403}
405 404