aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDinu Blanovschi <[email protected]>2024-10-22 16:23:17 +0200
committerDinu Blanovschi <[email protected]>2024-10-22 16:23:17 +0200
commit5c23c789ee2776ea022957b82480dad6d0d0f660 (patch)
tree22402dc31f2e64e792cf6f468e2004c0c429d47e
parent82a438a0379b70b6df4bb72750267fa51ed787ab (diff)
fix
-rw-r--r--embassy-stm32/src/lib.rs25
1 files changed, 21 insertions, 4 deletions
diff --git a/embassy-stm32/src/lib.rs b/embassy-stm32/src/lib.rs
index c59174988..de68c54dc 100644
--- a/embassy-stm32/src/lib.rs
+++ b/embassy-stm32/src/lib.rs
@@ -188,13 +188,30 @@ macro_rules! bind_interrupts {
188 )* 188 )*
189 } 189 }
190 190
191 $( 191 $crate::bind_interrupts!(@__generate_impls $name $(#[cfg($cond_irq)])? $irq => $(
192 $(#[cfg($cond_irq)])?
193 $(#[cfg($cond_handler)])? 192 $(#[cfg($cond_handler)])?
194 unsafe impl $crate::interrupt::typelevel::Binding<$crate::interrupt::typelevel::$irq, $handler> for $name {} 193 $handler;
195 )* 194 )*);
196 )* 195 )*
197 }; 196 };
197
198 (@__generate_single_impl $name:ident $(#[cfg($cond_irq:meta)])? $irq:ident => $(#[cfg($cond_handler:meta)])? $handler:ty;) => {
199 #[cfg(all(
200 $($cond_irq,)?
201 $($cond_handler,)?
202 ))]
203 unsafe impl $crate::interrupt::typelevel::Binding<$crate::interrupt::typelevel::$irq, $handler> for $name {}
204 };
205
206 (@__generate_impls $name:ident $(#[cfg($cond_irq:meta)])? $irq:ident => $(#[cfg($cond_handler:meta)])? $handler:ty;) => {
207 $crate::bind_interrupts!(@__generate_single_impl $name $(#[cfg($cond_irq)])? $irq => $(#[cfg($cond_handler)])? $handler;);
208 };
209
210 (@__generate_impls $name:ident $(#[cfg($cond_irq:meta)])? $irq:ident => $(#[cfg($cond_handler:meta)])? $handler:ty; $(tail:tt)*) => {
211 $crate::bind_interrupts!(@__generate_single_impl $name $(#[cfg($cond_irq)])? $irq => $(#[cfg($cond_handler)])? $handler;);
212
213 $crate::bind_interrupts!(@__generate_impls $name $(#[cfg($cond_irq)])? $irq => $(tail)*);
214 };
198} 215}
199 216
200// Reexports 217// Reexports