From 14ba22f09558bc0291602bfb5b8760eec13cf9f8 Mon Sep 17 00:00:00 2001 From: Joakim Andersson Date: Fri, 4 Oct 2024 11:57:18 +0200 Subject: [PATCH 1/2] [nrf fromtree] drivers: nrf_qspi_nor: Fix build without multithreading Fix build of nrf_qspi_nor flash driver without multithreading enabled. This is required for builds like mcuboot. Signed-off-by: Joakim Andersson (cherry picked from commit 14c896b647f782982afcb438ae3392eca4daab36) --- drivers/flash/nrf_qspi_nor.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/flash/nrf_qspi_nor.c b/drivers/flash/nrf_qspi_nor.c index 0c4faf99dff2..44fcc6b76293 100644 --- a/drivers/flash/nrf_qspi_nor.c +++ b/drivers/flash/nrf_qspi_nor.c @@ -487,7 +487,9 @@ static int qspi_wait_while_writing(const struct device *dev, k_timeout_t poll_pe int rc; do { +#ifdef CONFIG_MULTITHREADING k_sleep(poll_period); +#endif rc = qspi_rdsr(dev, 1); } while ((rc >= 0) && ((rc & SPI_NOR_WIP_BIT) != 0U)); From e4a1cdc562ffc354ecbdbc05bbb1821e8ce1d726 Mon Sep 17 00:00:00 2001 From: Joakim Andersson Date: Fri, 4 Oct 2024 11:57:18 +0200 Subject: [PATCH 2/2] [nrf fromtree] drivers: nrf_qspi_nor: Check poll period before sleep Check that the poll period is non-zero before sleeping. Signed-off-by: Joakim Andersson (cherry picked from commit d794d58d64ce3fc3b3c1be0f9c0129d5150ab401) --- drivers/flash/nrf_qspi_nor.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/flash/nrf_qspi_nor.c b/drivers/flash/nrf_qspi_nor.c index 44fcc6b76293..73213a1ce301 100644 --- a/drivers/flash/nrf_qspi_nor.c +++ b/drivers/flash/nrf_qspi_nor.c @@ -488,7 +488,9 @@ static int qspi_wait_while_writing(const struct device *dev, k_timeout_t poll_pe do { #ifdef CONFIG_MULTITHREADING - k_sleep(poll_period); + if (!K_TIMEOUT_EQ(poll_period, K_NO_WAIT)) { + k_sleep(poll_period); + } #endif rc = qspi_rdsr(dev, 1); } while ((rc >= 0)