aboutsummaryrefslogtreecommitdiff
path: root/embassy-stm32/src/sdmmc/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'embassy-stm32/src/sdmmc/mod.rs')
-rw-r--r--embassy-stm32/src/sdmmc/mod.rs13
1 files changed, 7 insertions, 6 deletions
diff --git a/embassy-stm32/src/sdmmc/mod.rs b/embassy-stm32/src/sdmmc/mod.rs
index e716fc348..cfe18ef52 100644
--- a/embassy-stm32/src/sdmmc/mod.rs
+++ b/embassy-stm32/src/sdmmc/mod.rs
@@ -142,34 +142,34 @@ impl Default for Signalling {
142 142
143const fn aligned_mut(x: &mut [u32]) -> &mut Aligned<A4, [u8]> { 143const fn aligned_mut(x: &mut [u32]) -> &mut Aligned<A4, [u8]> {
144 let len = x.len() * 4; 144 let len = x.len() * 4;
145 unsafe { core::mem::transmute(slice::from_raw_parts_mut(x.as_mut_ptr() as _, len)) } 145 unsafe { core::mem::transmute(slice::from_raw_parts_mut(x.as_mut_ptr() as *mut u8, len)) }
146} 146}
147 147
148const fn slice8_mut(x: &mut [u32]) -> &mut [u8] { 148const fn slice8_mut(x: &mut [u32]) -> &mut [u8] {
149 let len = x.len() * 4; 149 let len = x.len() * 4;
150 unsafe { slice::from_raw_parts_mut(x.as_mut_ptr() as _, len) } 150 unsafe { slice::from_raw_parts_mut(x.as_mut_ptr() as *mut u8, len) }
151} 151}
152 152
153#[allow(unused)] 153#[allow(unused)]
154const fn slice32_mut(x: &mut Aligned<A4, [u8]>) -> &mut [u32] { 154const fn slice32_mut(x: &mut Aligned<A4, [u8]>) -> &mut [u32] {
155 let len = (size_of_val(x) + 4 - 1) / 4; 155 let len = (size_of_val(x) + 4 - 1) / 4;
156 unsafe { slice::from_raw_parts_mut(x as *mut Aligned<A4, [u8]> as *mut _, len) } 156 unsafe { slice::from_raw_parts_mut(x as *mut Aligned<A4, [u8]> as *mut u32, len) }
157} 157}
158 158
159const fn aligned_ref(x: &[u32]) -> &Aligned<A4, [u8]> { 159const fn aligned_ref(x: &[u32]) -> &Aligned<A4, [u8]> {
160 let len = x.len() * 4; 160 let len = x.len() * 4;
161 unsafe { core::mem::transmute(slice::from_raw_parts(x.as_ptr() as _, len)) } 161 unsafe { core::mem::transmute(slice::from_raw_parts(x.as_ptr() as *const u8, len)) }
162} 162}
163 163
164const fn slice8_ref(x: &[u32]) -> &[u8] { 164const fn slice8_ref(x: &[u32]) -> &[u8] {
165 let len = x.len() * 4; 165 let len = x.len() * 4;
166 unsafe { slice::from_raw_parts(x.as_ptr() as _, len) } 166 unsafe { slice::from_raw_parts(x.as_ptr() as *const u8, len) }
167} 167}
168 168
169#[allow(unused)] 169#[allow(unused)]
170const fn slice32_ref(x: &Aligned<A4, [u8]>) -> &[u32] { 170const fn slice32_ref(x: &Aligned<A4, [u8]>) -> &[u32] {
171 let len = (size_of_val(x) + 4 - 1) / 4; 171 let len = (size_of_val(x) + 4 - 1) / 4;
172 unsafe { slice::from_raw_parts(x as *const Aligned<A4, [u8]> as *const _, len) } 172 unsafe { slice::from_raw_parts(x as *const Aligned<A4, [u8]> as *const u32, len) }
173} 173}
174 174
175/// Errors 175/// Errors
@@ -1179,6 +1179,7 @@ impl<'d> Drop for Sdmmc<'d> {
1179 fn drop(&mut self) { 1179 fn drop(&mut self) {
1180 // T::Interrupt::disable(); 1180 // T::Interrupt::disable();
1181 self.on_drop(); 1181 self.on_drop();
1182 self.info.rcc.disable_without_stop();
1182 1183
1183 critical_section::with(|_| { 1184 critical_section::with(|_| {
1184 self.clk.set_as_disconnected(); 1185 self.clk.set_as_disconnected();