logo

qmk_firmware

custom branch of QMK firmware git clone https://anongit.hacktivis.me/git/qmk_firmware.git
commit: daa777d6fb655c5fe16df4b3f1e89a37ab35dc57
parent e69be076fc1da66e7cebbb5f4f7ad9ddb851d687
Author: Nick Brassel <nick@tzarc.org>
Date:   Thu, 18 Jul 2024 08:59:08 +1000

[WIP] Adds bus acquire/release semantics to SPI start/stop. (#23439)


Diffstat:

Mplatforms/chibios/drivers/spi_master.c9+++++++++
1 file changed, 9 insertions(+), 0 deletions(-)

diff --git a/platforms/chibios/drivers/spi_master.c b/platforms/chibios/drivers/spi_master.c @@ -64,9 +64,14 @@ __attribute__((weak)) void spi_init(void) { } bool spi_start(pin_t slavePin, bool lsbFirst, uint8_t mode, uint16_t divisor) { +#if (SPI_USE_MUTUAL_EXCLUSION == TRUE) + spiAcquireBus(&SPI_DRIVER); +#endif // (SPI_USE_MUTUAL_EXCLUSION == TRUE) + if (spiStarted) { return false; } + #if SPI_SELECT_MODE != SPI_SELECT_MODE_NONE if (slavePin == NO_PIN) { return false; @@ -326,4 +331,8 @@ void spi_stop(void) { spiStop(&SPI_DRIVER); spiStarted = false; } + +#if (SPI_USE_MUTUAL_EXCLUSION == TRUE) + spiReleaseBus(&SPI_DRIVER); +#endif // (SPI_USE_MUTUAL_EXCLUSION == TRUE) }