1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
//! Provide atomic access to peripheral registers
//!
//! This feature is not available for all peripherals.
//! See [Section 2.1.3][section_2_1_3] of the RP2350 datasheet for details.
//!
//! [section_2_1_3]: https://rptl.io/rp2350-datasheet#atomic-rwtype
use write_volatile;
/// Perform atomic bitmask set operation on register
///
/// See [Section 2.1.3][section_2_1_3] of the RP2350 datasheet for details.
///
/// [section_2_1_3]: https://rptl.io/rp2350-datasheet#atomic-rwtype
///
/// # Safety
///
/// In addition to the requirements of [core::ptr::write_volatile],
/// `register` must point to a register providing atomic aliases.
pub unsafe
/// Perform atomic bitmask clear operation on register
///
/// See [Section 2.1.3][section_2_1_3] of the RP2350 datasheet for details.
///
/// [section_2_1_3]: https://rptl.io/rp2350-datasheet#atomic-rwtype
///
/// # Safety
///
/// In addition to the requirements of [core::ptr::write_volatile],
/// `register` must point to a register providing atomic aliases.
pub unsafe