From 0ff618472397ef6d506afe879900a27014218f81 Mon Sep 17 00:00:00 2001 From: elagil Date: Sat, 15 Mar 2025 20:28:15 +0100 Subject: [PATCH] refactor: fix build warnings --- embassy-stm32/src/usb/usb.rs | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/embassy-stm32/src/usb/usb.rs b/embassy-stm32/src/usb/usb.rs index 4675b3f1a..c00c88215 100644 --- a/embassy-stm32/src/usb/usb.rs +++ b/embassy-stm32/src/usb/usb.rs @@ -206,10 +206,6 @@ mod btable { mod btable { use super::*; - pub(super) fn write_in_tx(_index: usize, _addr: u16) {} - - pub(super) fn write_in_rx(_index: usize, _addr: u16) {} - pub(super) fn write_in_len_tx(index: usize, addr: u16, len: u16) { assert_eq!(addr & 0b11, 0); USBRAM.mem(index * 2).write_value((addr as u32) | ((len as u32) << 16)); @@ -416,11 +412,23 @@ impl<'d, T: Instance> Driver<'d, T> { let len = align_len_up(max_packet_size); let addr = self.alloc_ep_mem(len); - // ep_in_len is written when actually TXing packets. - btable::write_in_len_tx::(index, addr, 0); + #[cfg(not(any(usbram_32_2048, usbram_32_1024)))] + { + // ep_in_len is written when actually transmitting packets. + btable::write_in_tx::(index, addr); - if ep_type == EndpointType::Isochronous { - btable::write_in_len_rx::(index, addr, 0); + if ep_type == EndpointType::Isochronous { + btable::write_in_rx::(index, addr); + } + } + + #[cfg(any(usbram_32_2048, usbram_32_1024))] + { + btable::write_in_len_tx::(index, addr, 0); + + if ep_type == EndpointType::Isochronous { + btable::write_in_len_rx::(index, addr, 0); + } } EndpointBuffer {