summaryrefslogtreecommitdiff
path: root/embassy-hal-common/src/usb/usb_serial.rs
diff options
context:
space:
mode:
authorDario Nieuwenhuis <dirbaio@dirbaio.net>2021-07-29 14:08:32 +0200
committerDario Nieuwenhuis <dirbaio@dirbaio.net>2021-08-02 19:55:04 +0200
commitaf87031d62ca9ee5e7dd44cba297f3d171ec0708 (patch)
tree82f43b826d016c0a2b9a86ec6f27a1f0d5fd63d5 /embassy-hal-common/src/usb/usb_serial.rs
parentde207764aee0dd9c23bd02f92b55a55babd47b1a (diff)
downloadembassy-af87031d62ca9ee5e7dd44cba297f3d171ec0708.zip
hal-common: remove Pin in PeripheralMutex
Diffstat (limited to 'embassy-hal-common/src/usb/usb_serial.rs')
-rw-r--r--embassy-hal-common/src/usb/usb_serial.rs10
1 files changed, 4 insertions, 6 deletions
diff --git a/embassy-hal-common/src/usb/usb_serial.rs b/embassy-hal-common/src/usb/usb_serial.rs
index a229b200..8b27152b 100644
--- a/embassy-hal-common/src/usb/usb_serial.rs
+++ b/embassy-hal-common/src/usb/usb_serial.rs
@@ -10,9 +10,10 @@ use usb_device::class_prelude::*;
use usb_device::UsbError;
use super::cdc_acm::CdcAcmClass;
+use super::StateInner;
use crate::peripheral::PeripheralMutex;
use crate::ring_buffer::RingBuffer;
-use crate::usb::{ClassSet, SerialState, State, USBInterrupt};
+use crate::usb::{ClassSet, SerialState, USBInterrupt};
pub struct ReadInterface<'a, 'bus, 'c, I, B, T, INT>
where
@@ -22,7 +23,7 @@ where
INT: USBInterrupt,
{
// Don't you dare moving out `PeripheralMutex`
- pub(crate) inner: &'a RefCell<PeripheralMutex<State<'bus, B, T, INT>>>,
+ pub(crate) inner: &'a RefCell<PeripheralMutex<'bus, StateInner<'bus, B, T, INT>>>,
pub(crate) _buf_lifetime: PhantomData<&'c T>,
pub(crate) _index: PhantomData<I>,
}
@@ -39,7 +40,7 @@ where
INT: USBInterrupt,
{
// Don't you dare moving out `PeripheralMutex`
- pub(crate) inner: &'a RefCell<PeripheralMutex<State<'bus, B, T, INT>>>,
+ pub(crate) inner: &'a RefCell<PeripheralMutex<'bus, StateInner<'bus, B, T, INT>>>,
pub(crate) _buf_lifetime: PhantomData<&'c T>,
pub(crate) _index: PhantomData<I>,
}
@@ -54,7 +55,6 @@ where
fn poll_fill_buf(self: Pin<&mut Self>, cx: &mut Context<'_>) -> Poll<io::Result<&[u8]>> {
let this = self.get_mut();
let mut mutex = this.inner.borrow_mut();
- let mutex = unsafe { Pin::new_unchecked(&mut *mutex) };
mutex.with(|state| {
let serial = state.classes.get_serial();
let serial = Pin::new(serial);
@@ -76,7 +76,6 @@ where
fn consume(self: Pin<&mut Self>, amt: usize) {
let this = self.get_mut();
let mut mutex = this.inner.borrow_mut();
- let mutex = unsafe { Pin::new_unchecked(&mut *mutex) };
mutex.with(|state| {
let serial = state.classes.get_serial();
let serial = Pin::new(serial);
@@ -100,7 +99,6 @@ where
) -> Poll<io::Result<usize>> {
let this = self.get_mut();
let mut mutex = this.inner.borrow_mut();
- let mutex = unsafe { Pin::new_unchecked(&mut *mutex) };
mutex.with(|state| {
let serial = state.classes.get_serial();
let serial = Pin::new(serial);