From 995bfd01699e20a62c4f3d22dca9de74098b8c50 Mon Sep 17 00:00:00 2001 From: doryan Date: Fri, 25 Apr 2025 15:40:19 +0400 Subject: [PATCH] feat: separate constructor for UsbDevice and UsbBusAllocator --- src/types/usb_device.rs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/types/usb_device.rs b/src/types/usb_device.rs index e10b858..89d98a7 100644 --- a/src/types/usb_device.rs +++ b/src/types/usb_device.rs @@ -83,14 +83,19 @@ pub(crate) const ONE_MS_16_MGHZ: u32 = 16000; impl UsbDevice { #[inline] - pub fn create_usb_allocator(pll: PLL, usb: USB_DEVICE) -> UsbBusAllocator { - UsbBusAllocator::new(Self { + pub fn new(pll: PLL, usb: USB_DEVICE) -> Self { + Self { pll: Mutex::new(pll), usb: Mutex::new(usb), ep_table: [USBEndpoint::default(); L], pending_ins: Mutex::new(Cell::new(0u8)), dpram_already_used: 0, - }) + } + } + + #[inline] + pub fn into_usb_allocator(self) -> UsbBusAllocator { + UsbBusAllocator::new(self) } #[inline(always)]