aboutsummaryrefslogtreecommitdiff
path: root/embassy-stm32
diff options
context:
space:
mode:
authorTobias Naumann <[email protected]>2025-05-16 13:05:35 +0200
committerTobias Naumann <[email protected]>2025-05-16 13:05:35 +0200
commit466e1ee9eff2a40f562b0f970e3afcdeac017cfb (patch)
tree9c12ec499336c1ddc49e00572ac490e0873e1820 /embassy-stm32
parentee23412d91ce7b1482532016c4baee9425d897e2 (diff)
Impl Drop for stm32 Rng
Diffstat (limited to 'embassy-stm32')
-rw-r--r--embassy-stm32/src/rng.rs9
1 files changed, 9 insertions, 0 deletions
diff --git a/embassy-stm32/src/rng.rs b/embassy-stm32/src/rng.rs
index 250a08a39..8fa1b3a9d 100644
--- a/embassy-stm32/src/rng.rs
+++ b/embassy-stm32/src/rng.rs
@@ -186,6 +186,15 @@ impl<'d, T: Instance> Rng<'d, T> {
186 } 186 }
187} 187}
188 188
189impl<'d, T: Instance> Drop for Rng<'d, T> {
190 fn drop(&mut self) {
191 T::regs().cr().modify(|reg| {
192 reg.set_rngen(false);
193 });
194 rcc::disable::<T>();
195 }
196}
197
189impl<'d, T: Instance> RngCore for Rng<'d, T> { 198impl<'d, T: Instance> RngCore for Rng<'d, T> {
190 fn next_u32(&mut self) -> u32 { 199 fn next_u32(&mut self) -> u32 {
191 loop { 200 loop {