aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDario Nieuwenhuis <[email protected]>2025-07-23 14:40:19 +0000
committerGitHub <[email protected]>2025-07-23 14:40:19 +0000
commitdb5a7bacef590716af687a5a78ecac7582f63934 (patch)
tree97bf60877a65654b18134c13aa0ceb40414026ea
parentf63e2fe7d41ad8939eea9525a83f6b60472b6f4f (diff)
parent2be8be074764f292822ddf022cc81a5d441ad28d (diff)
Merge pull request #4427 from clubby789/unsafe-op
HAL: Use `unsafe` block in IRQ handler
-rw-r--r--embassy-imxrt/src/lib.rs8
-rw-r--r--embassy-mspm0/src/lib.rs10
-rw-r--r--embassy-nrf/src/lib.rs10
-rw-r--r--embassy-rp/src/lib.rs10
-rw-r--r--embassy-stm32/src/lib.rs10
5 files changed, 29 insertions, 19 deletions
diff --git a/embassy-imxrt/src/lib.rs b/embassy-imxrt/src/lib.rs
index 5846afe5c..a3437c655 100644
--- a/embassy-imxrt/src/lib.rs
+++ b/embassy-imxrt/src/lib.rs
@@ -76,9 +76,11 @@ macro_rules! bind_interrupts {
76 #[allow(non_snake_case)] 76 #[allow(non_snake_case)]
77 #[no_mangle] 77 #[no_mangle]
78 unsafe extern "C" fn $irq() { 78 unsafe extern "C" fn $irq() {
79 $( 79 unsafe {
80 <$handler as $crate::interrupt::typelevel::Handler<$crate::interrupt::typelevel::$irq>>::on_interrupt(); 80 $(
81 )* 81 <$handler as $crate::interrupt::typelevel::Handler<$crate::interrupt::typelevel::$irq>>::on_interrupt();
82 )*
83 }
82 } 84 }
83 85
84 $( 86 $(
diff --git a/embassy-mspm0/src/lib.rs b/embassy-mspm0/src/lib.rs
index bb8d91403..629ebfa1f 100644
--- a/embassy-mspm0/src/lib.rs
+++ b/embassy-mspm0/src/lib.rs
@@ -111,11 +111,13 @@ macro_rules! bind_interrupts {
111 #[no_mangle] 111 #[no_mangle]
112 $(#[cfg($cond_irq)])? 112 $(#[cfg($cond_irq)])?
113 unsafe extern "C" fn $irq() { 113 unsafe extern "C" fn $irq() {
114 $( 114 unsafe {
115 $(#[cfg($cond_handler)])? 115 $(
116 <$handler as $crate::interrupt::typelevel::Handler<$crate::interrupt::typelevel::$irq>>::on_interrupt(); 116 $(#[cfg($cond_handler)])?
117 <$handler as $crate::interrupt::typelevel::Handler<$crate::interrupt::typelevel::$irq>>::on_interrupt();
117 118
118 )* 119 )*
120 }
119 } 121 }
120 122
121 $(#[cfg($cond_irq)])? 123 $(#[cfg($cond_irq)])?
diff --git a/embassy-nrf/src/lib.rs b/embassy-nrf/src/lib.rs
index 8a88051b4..ba8206d13 100644
--- a/embassy-nrf/src/lib.rs
+++ b/embassy-nrf/src/lib.rs
@@ -240,11 +240,13 @@ macro_rules! bind_interrupts {
240 #[no_mangle] 240 #[no_mangle]
241 $(#[cfg($cond_irq)])? 241 $(#[cfg($cond_irq)])?
242 unsafe extern "C" fn $irq() { 242 unsafe extern "C" fn $irq() {
243 $( 243 unsafe {
244 $(#[cfg($cond_handler)])? 244 $(
245 <$handler as $crate::interrupt::typelevel::Handler<$crate::interrupt::typelevel::$irq>>::on_interrupt(); 245 $(#[cfg($cond_handler)])?
246 <$handler as $crate::interrupt::typelevel::Handler<$crate::interrupt::typelevel::$irq>>::on_interrupt();
246 247
247 )* 248 )*
249 }
248 } 250 }
249 251
250 $(#[cfg($cond_irq)])? 252 $(#[cfg($cond_irq)])?
diff --git a/embassy-rp/src/lib.rs b/embassy-rp/src/lib.rs
index f3c5a35bb..9c450b6dc 100644
--- a/embassy-rp/src/lib.rs
+++ b/embassy-rp/src/lib.rs
@@ -189,11 +189,13 @@ macro_rules! bind_interrupts {
189 #[no_mangle] 189 #[no_mangle]
190 $(#[cfg($cond_irq)])? 190 $(#[cfg($cond_irq)])?
191 unsafe extern "C" fn $irq() { 191 unsafe extern "C" fn $irq() {
192 $( 192 unsafe {
193 $(#[cfg($cond_handler)])? 193 $(
194 <$handler as $crate::interrupt::typelevel::Handler<$crate::interrupt::typelevel::$irq>>::on_interrupt(); 194 $(#[cfg($cond_handler)])?
195 <$handler as $crate::interrupt::typelevel::Handler<$crate::interrupt::typelevel::$irq>>::on_interrupt();
195 196
196 )* 197 )*
198 }
197 } 199 }
198 200
199 $(#[cfg($cond_irq)])? 201 $(#[cfg($cond_irq)])?
diff --git a/embassy-stm32/src/lib.rs b/embassy-stm32/src/lib.rs
index 700905850..c7a33ed72 100644
--- a/embassy-stm32/src/lib.rs
+++ b/embassy-stm32/src/lib.rs
@@ -196,11 +196,13 @@ macro_rules! bind_interrupts {
196 $(#[cfg($cond_irq)])? 196 $(#[cfg($cond_irq)])?
197 $(#[doc = $doc])* 197 $(#[doc = $doc])*
198 unsafe extern "C" fn $irq() { 198 unsafe extern "C" fn $irq() {
199 $( 199 unsafe {
200 $(#[cfg($cond_handler)])? 200 $(
201 <$handler as $crate::interrupt::typelevel::Handler<$crate::interrupt::typelevel::$irq>>::on_interrupt(); 201 $(#[cfg($cond_handler)])?
202 <$handler as $crate::interrupt::typelevel::Handler<$crate::interrupt::typelevel::$irq>>::on_interrupt();
202 203
203 )* 204 )*
205 }
204 } 206 }
205 207
206 $(#[cfg($cond_irq)])? 208 $(#[cfg($cond_irq)])?