Merge pull request #1617 from xoviat/const-rcc
stm32/rcc: allow const-propagation
This commit is contained in:
commit
eb57bb298f
@ -348,9 +348,7 @@ fn main() {
|
|||||||
g.extend(quote! {
|
g.extend(quote! {
|
||||||
impl crate::rcc::sealed::RccPeripheral for peripherals::#pname {
|
impl crate::rcc::sealed::RccPeripheral for peripherals::#pname {
|
||||||
fn frequency() -> crate::time::Hertz {
|
fn frequency() -> crate::time::Hertz {
|
||||||
critical_section::with(|_| unsafe {
|
unsafe { crate::rcc::get_freqs().#clk }
|
||||||
crate::rcc::get_freqs().#clk
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
fn enable() {
|
fn enable() {
|
||||||
critical_section::with(|_| {
|
critical_section::with(|_| {
|
||||||
|
@ -83,12 +83,12 @@ static mut CLOCK_FREQS: MaybeUninit<Clocks> = MaybeUninit::uninit();
|
|||||||
/// Safety: Sets a mutable global.
|
/// Safety: Sets a mutable global.
|
||||||
pub(crate) unsafe fn set_freqs(freqs: Clocks) {
|
pub(crate) unsafe fn set_freqs(freqs: Clocks) {
|
||||||
debug!("rcc: {:?}", freqs);
|
debug!("rcc: {:?}", freqs);
|
||||||
CLOCK_FREQS.as_mut_ptr().write(freqs);
|
CLOCK_FREQS = MaybeUninit::new(freqs);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Safety: Reads a mutable global.
|
/// Safety: Reads a mutable global.
|
||||||
pub(crate) unsafe fn get_freqs() -> &'static Clocks {
|
pub(crate) unsafe fn get_freqs() -> &'static Clocks {
|
||||||
&*CLOCK_FREQS.as_ptr()
|
CLOCK_FREQS.assume_init_ref()
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(feature = "unstable-pac")]
|
#[cfg(feature = "unstable-pac")]
|
||||||
|
Loading…
Reference in New Issue
Block a user