From 0172cc159deaf811b4fab3b525f3f3961684e1ea Mon Sep 17 00:00:00 2001 From: Andrzej Puzdrowski Date: Fri, 12 Mar 2021 14:56:42 +0100 Subject: [PATCH] drivers/flash/flash_stm32_qspi: integrate WP service into write/erase Flash write protection services were integrated into erase and write procedures. This is step required for fixing following issue: Multi-threading flash access is not supported by flash_write_protection_set(). flash_write_protection_set() will be deprecated Signed-off-by: Andrzej Puzdrowski --- drivers/flash/flash_stm32_qspi.c | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/drivers/flash/flash_stm32_qspi.c b/drivers/flash/flash_stm32_qspi.c index 2dc1b52d9ce..5be2497b595 100644 --- a/drivers/flash/flash_stm32_qspi.c +++ b/drivers/flash/flash_stm32_qspi.c @@ -78,7 +78,6 @@ struct flash_stm32_qspi_data { struct jesd216_erase_type erase_types[JESD216_NUM_ERASE_TYPES]; /* Number of bytes per page */ uint16_t page_size; - bool write_protection; int cmd_status; struct stream dma; }; @@ -285,13 +284,8 @@ static int qspi_wait_until_ready(const struct device *dev) static int flash_stm32_qspi_write(const struct device *dev, off_t addr, const void *data, size_t size) { - struct flash_stm32_qspi_data *dev_data = DEV_DATA(dev); int ret = 0; - if (dev_data->write_protection) { - return -EACCES; - } - if (!qspi_address_is_valid(dev, addr, size)) { LOG_DBG("Error: address or size exceeds expected values: " "addr 0x%lx, size %zu", (long)addr, size); @@ -361,10 +355,6 @@ static int flash_stm32_qspi_erase(const struct device *dev, off_t addr, struct flash_stm32_qspi_data *dev_data = DEV_DATA(dev); int ret = 0; - if (dev_data->write_protection) { - return -EACCES; - } - if (!qspi_address_is_valid(dev, addr, size)) { LOG_DBG("Error: address or size exceeds expected values: " "addr 0x%lx, size %zu", (long)addr, size); @@ -435,9 +425,8 @@ static int flash_stm32_qspi_erase(const struct device *dev, off_t addr, static int flash_stm32_qspi_write_protection_set(const struct device *dev, bool write_protect) { - struct flash_stm32_qspi_data *dev_data = DEV_DATA(dev); - - dev_data->write_protection = write_protect; + ARG_UNUSED(dev); + ARG_UNUSED(write_protect); return 0; }