summaryrefslogtreecommitdiff
path: root/ports
diff options
context:
space:
mode:
authormicroDev <70126934+microDev1@users.noreply.github.com>2020-12-28 20:04:00 +0530
committermicroDev <70126934+microDev1@users.noreply.github.com>2020-12-28 20:04:00 +0530
commitdc332baa87bf1fa3d777ffe31c7dc29b24a6a142 (patch)
tree262e8ee4cfd6a1e4895d3fd97695ff87a41f61ca /ports
parent1b7fbaf31eb84ce718fc715dc09a32b010eac9b5 (diff)
update common_hal_reset_pin()
Diffstat (limited to 'ports')
-rw-r--r--ports/atmel-samd/common-hal/microcontroller/Pin.c3
-rw-r--r--ports/esp32s2/common-hal/busio/SPI.c8
-rw-r--r--ports/esp32s2/common-hal/microcontroller/Pin.c3
-rw-r--r--ports/litex/common-hal/microcontroller/Pin.c3
-rw-r--r--ports/mimxrt10xx/common-hal/busio/SPI.c9
-rw-r--r--ports/mimxrt10xx/common-hal/busio/UART.c10
-rw-r--r--ports/mimxrt10xx/common-hal/microcontroller/Pin.c3
-rw-r--r--ports/nrf/common-hal/microcontroller/Pin.c3
-rw-r--r--ports/stm/common-hal/microcontroller/Pin.c3
9 files changed, 27 insertions, 18 deletions
diff --git a/ports/atmel-samd/common-hal/microcontroller/Pin.c b/ports/atmel-samd/common-hal/microcontroller/Pin.c
index 7dd87a3b2..564d037e0 100644
--- a/ports/atmel-samd/common-hal/microcontroller/Pin.c
+++ b/ports/atmel-samd/common-hal/microcontroller/Pin.c
@@ -169,6 +169,9 @@ void common_hal_never_reset_pin(const mcu_pin_obj_t* pin) {
}
void common_hal_reset_pin(const mcu_pin_obj_t* pin) {
+ if (pin == NULL) {
+ return;
+ }
reset_pin_number(pin->number);
}
diff --git a/ports/esp32s2/common-hal/busio/SPI.c b/ports/esp32s2/common-hal/busio/SPI.c
index 562881585..62f47999c 100644
--- a/ports/esp32s2/common-hal/busio/SPI.c
+++ b/ports/esp32s2/common-hal/busio/SPI.c
@@ -248,12 +248,8 @@ void common_hal_busio_spi_deinit(busio_spi_obj_t *self) {
spi_bus_free(self->host_id);
common_hal_reset_pin(self->clock_pin);
- if (self->MOSI_pin != NULL) {
- common_hal_reset_pin(self->MOSI_pin);
- }
- if (self->MISO_pin != NULL) {
- common_hal_reset_pin(self->MISO_pin);
- }
+ common_hal_reset_pin(self->MOSI_pin);
+ common_hal_reset_pin(self->MISO_pin);
self->clock_pin = NULL;
self->MISO_pin = NULL;
self->MOSI_pin = NULL;
diff --git a/ports/esp32s2/common-hal/microcontroller/Pin.c b/ports/esp32s2/common-hal/microcontroller/Pin.c
index 81dfa1308..26bd6c16b 100644
--- a/ports/esp32s2/common-hal/microcontroller/Pin.c
+++ b/ports/esp32s2/common-hal/microcontroller/Pin.c
@@ -89,6 +89,9 @@ void reset_pin_number(gpio_num_t pin_number) {
}
void common_hal_reset_pin(const mcu_pin_obj_t* pin) {
+ if (pin == NULL) {
+ return;
+ }
reset_pin_number(pin->number);
}
diff --git a/ports/litex/common-hal/microcontroller/Pin.c b/ports/litex/common-hal/microcontroller/Pin.c
index 38601e0d3..4d088a076 100644
--- a/ports/litex/common-hal/microcontroller/Pin.c
+++ b/ports/litex/common-hal/microcontroller/Pin.c
@@ -42,6 +42,9 @@ void reset_pin_number(uint8_t pin_port, uint8_t pin_number) {
}
void common_hal_reset_pin(const mcu_pin_obj_t* pin) {
+ if (pin == NULL) {
+ return;
+ }
reset_pin_number(0, pin->number);
}
diff --git a/ports/mimxrt10xx/common-hal/busio/SPI.c b/ports/mimxrt10xx/common-hal/busio/SPI.c
index 8fe1b799d..ce7cbea7e 100644
--- a/ports/mimxrt10xx/common-hal/busio/SPI.c
+++ b/ports/mimxrt10xx/common-hal/busio/SPI.c
@@ -220,12 +220,9 @@ void common_hal_busio_spi_deinit(busio_spi_obj_t *self) {
never_reset_spi[self->clock->bank_idx - 1] = false;
common_hal_reset_pin(self->clock->pin);
- if (self->mosi != NULL) {
- common_hal_reset_pin(self->mosi->pin);
- }
- if (self->miso != NULL) {
- common_hal_reset_pin(self->miso->pin);
- }
+ common_hal_reset_pin(self->mosi->pin);
+ common_hal_reset_pin(self->miso->pin);
+
self->clock = NULL;
self->mosi = NULL;
self->miso = NULL;
diff --git a/ports/mimxrt10xx/common-hal/busio/UART.c b/ports/mimxrt10xx/common-hal/busio/UART.c
index db5582d15..03a6e8f3e 100644
--- a/ports/mimxrt10xx/common-hal/busio/UART.c
+++ b/ports/mimxrt10xx/common-hal/busio/UART.c
@@ -295,12 +295,10 @@ void common_hal_busio_uart_deinit(busio_uart_obj_t *self) {
LPUART_Deinit(self->uart);
gc_free(self->ringbuf);
- if (self->rx) {
- common_hal_reset_pin(self->rx->pin);
- }
- if (self->tx) {
- common_hal_reset_pin(self->tx->pin);
- }
+
+ common_hal_reset_pin(self->rx->pin);
+ common_hal_reset_pin(self->tx->pin);
+
self->rx = NULL;
self->tx = NULL;
diff --git a/ports/mimxrt10xx/common-hal/microcontroller/Pin.c b/ports/mimxrt10xx/common-hal/microcontroller/Pin.c
index a005924e2..50970f8e2 100644
--- a/ports/mimxrt10xx/common-hal/microcontroller/Pin.c
+++ b/ports/mimxrt10xx/common-hal/microcontroller/Pin.c
@@ -67,6 +67,9 @@ void reset_all_pins(void) {
// Since i.MX pins need extra register and reset information to reset properly,
// resetting pins by number alone has been removed.
void common_hal_reset_pin(const mcu_pin_obj_t* pin) {
+ if (pin == NULL) {
+ return;
+ }
never_reset_pins[pin->mux_idx] = false;
claimed_pins[pin->mux_idx] = false;
*(uint32_t*)pin->mux_reg = pin->mux_reset;
diff --git a/ports/nrf/common-hal/microcontroller/Pin.c b/ports/nrf/common-hal/microcontroller/Pin.c
index bc7ff831a..23d6e23bf 100644
--- a/ports/nrf/common-hal/microcontroller/Pin.c
+++ b/ports/nrf/common-hal/microcontroller/Pin.c
@@ -134,6 +134,9 @@ void common_hal_never_reset_pin(const mcu_pin_obj_t* pin) {
}
void common_hal_reset_pin(const mcu_pin_obj_t* pin) {
+ if (pin == NULL) {
+ return;
+ }
reset_pin_number(pin->number);
}
diff --git a/ports/stm/common-hal/microcontroller/Pin.c b/ports/stm/common-hal/microcontroller/Pin.c
index 0e333c71c..37c202d86 100644
--- a/ports/stm/common-hal/microcontroller/Pin.c
+++ b/ports/stm/common-hal/microcontroller/Pin.c
@@ -125,6 +125,9 @@ void common_hal_never_reset_pin(const mcu_pin_obj_t* pin) {
}
void common_hal_reset_pin(const mcu_pin_obj_t* pin) {
+ if (pin == NULL) {
+ return;
+ }
reset_pin_number(pin->port, pin->number);
}