Skip to content

Commit 97ad961

Browse files
committed
make steal const and not take
1 parent 6baaf6a commit 97ad961

1 file changed

Lines changed: 53 additions & 48 deletions

File tree

cortex-m/src/peripheral/mod.rs

Lines changed: 53 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -168,60 +168,65 @@ impl Peripherals {
168168
})
169169
}
170170

171+
/// Steal the peripherals without marking them as taken.
172+
pub const unsafe fn const_steal() -> Self {
173+
Peripherals {
174+
#[cfg(feature = "cm7")]
175+
AC: AC {
176+
_marker: PhantomData,
177+
},
178+
CBP: CBP {
179+
_marker: PhantomData,
180+
},
181+
CPUID: CPUID {
182+
_marker: PhantomData,
183+
},
184+
DCB: DCB {
185+
_marker: PhantomData,
186+
},
187+
DWT: DWT {
188+
_marker: PhantomData,
189+
},
190+
FPB: FPB {
191+
_marker: PhantomData,
192+
},
193+
FPU: FPU {
194+
_marker: PhantomData,
195+
},
196+
ICB: ICB {
197+
_marker: PhantomData,
198+
},
199+
ITM: ITM {
200+
_marker: PhantomData,
201+
},
202+
MPU: MPU {
203+
_marker: PhantomData,
204+
},
205+
NVIC: NVIC {
206+
_marker: PhantomData,
207+
},
208+
SAU: SAU {
209+
_marker: PhantomData,
210+
},
211+
SCB: SCB {
212+
_marker: PhantomData,
213+
},
214+
SYST: SYST {
215+
_marker: PhantomData,
216+
},
217+
TPIU: TPIU {
218+
_marker: PhantomData,
219+
},
220+
}
221+
}
222+
171223
/// Unchecked version of `Peripherals::take`
172224
#[inline]
173225
pub unsafe fn steal() -> Self {
174226
unsafe {
175227
TAKEN = true;
176228

177-
Peripherals {
178-
#[cfg(feature = "cm7")]
179-
AC: AC {
180-
_marker: PhantomData,
181-
},
182-
CBP: CBP {
183-
_marker: PhantomData,
184-
},
185-
CPUID: CPUID {
186-
_marker: PhantomData,
187-
},
188-
DCB: DCB {
189-
_marker: PhantomData,
190-
},
191-
DWT: DWT {
192-
_marker: PhantomData,
193-
},
194-
FPB: FPB {
195-
_marker: PhantomData,
196-
},
197-
FPU: FPU {
198-
_marker: PhantomData,
199-
},
200-
ICB: ICB {
201-
_marker: PhantomData,
202-
},
203-
ITM: ITM {
204-
_marker: PhantomData,
205-
},
206-
MPU: MPU {
207-
_marker: PhantomData,
208-
},
209-
NVIC: NVIC {
210-
_marker: PhantomData,
211-
},
212-
SAU: SAU {
213-
_marker: PhantomData,
214-
},
215-
SCB: SCB {
216-
_marker: PhantomData,
217-
},
218-
SYST: SYST {
219-
_marker: PhantomData,
220-
},
221-
TPIU: TPIU {
222-
_marker: PhantomData,
223-
},
224-
}
229+
Self::const_steal()
225230
}
226231
}
227232
}

0 commit comments

Comments
 (0)