diff options
| author | Dario Nieuwenhuis <[email protected]> | 2025-07-23 14:40:19 +0000 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-07-23 14:40:19 +0000 |
| commit | db5a7bacef590716af687a5a78ecac7582f63934 (patch) | |
| tree | 97bf60877a65654b18134c13aa0ceb40414026ea | |
| parent | f63e2fe7d41ad8939eea9525a83f6b60472b6f4f (diff) | |
| parent | 2be8be074764f292822ddf022cc81a5d441ad28d (diff) | |
Merge pull request #4427 from clubby789/unsafe-op
HAL: Use `unsafe` block in IRQ handler
| -rw-r--r-- | embassy-imxrt/src/lib.rs | 8 | ||||
| -rw-r--r-- | embassy-mspm0/src/lib.rs | 10 | ||||
| -rw-r--r-- | embassy-nrf/src/lib.rs | 10 | ||||
| -rw-r--r-- | embassy-rp/src/lib.rs | 10 | ||||
| -rw-r--r-- | embassy-stm32/src/lib.rs | 10 |
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)])? |
