Skip to content

Commit e842ec4

Browse files
authored
Slight GPIO cleanup, un-stabilize Io (#3021)
* Clean up, add fixme * Destabilize Io, add inherent set_interrupt_handler * Explicitly mark functions, not the impl block
1 parent 2bb0a55 commit e842ec4

File tree

13 files changed

+148
-197
lines changed

13 files changed

+148
-197
lines changed

esp-hal/src/gpio/interconnect.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
//! Peripheral signal interconnect using IOMUX or GPIOMUX.
22
3+
// FIXME: https://github.com/esp-rs/esp-hal/issues/2954 The GPIO implementation does not contain any
4+
// locking. This is okay there, because the implementation uses either W1TS/W1TC
5+
// registers to set certain bits, or separate registers for each pin - and there
6+
// can only be one instance of every GPIO struct in safe code. However, with the
7+
// interconnect module we allow multiple handles, which means possible RMW
8+
// operations on the pin registers cause data races.
9+
310
use crate::{
411
gpio::{
512
self,

0 commit comments

Comments
 (0)