aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDario Nieuwenhuis <[email protected]>2025-05-16 14:36:35 +0200
committerGitHub <[email protected]>2025-05-16 14:36:35 +0200
commita32e665f6333b1bbfb01b120e680b86296d124a2 (patch)
tree9c12ec499336c1ddc49e00572ac490e0873e1820
parentee23412d91ce7b1482532016c4baee9425d897e2 (diff)
parent466e1ee9eff2a40f562b0f970e3afcdeac017cfb (diff)
Merge pull request #4214 from embedded-rust-iml/feature/drop-impl-for-stm32-rng
Impl Drop for stm32 Rng
-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 {