From 4f10178f3d7673e5ab5412b4e60b15eddef9717b Mon Sep 17 00:00:00 2001 From: Georgij Cernysiov Date: Fri, 13 May 2022 10:19:43 +0200 Subject: [PATCH] drivers: flash: stm32: qspi: use ternary and asserts in quad prepare Use ternary operation and asserts to reduce the footprint and code size. Signed-off-by: Georgij Cernysiov --- drivers/flash/flash_stm32_qspi.c | 33 +++++++++++--------------------- 1 file changed, 11 insertions(+), 22 deletions(-) diff --git a/drivers/flash/flash_stm32_qspi.c b/drivers/flash/flash_stm32_qspi.c index 0d9832c1078..e2d4f43d6d1 100644 --- a/drivers/flash/flash_stm32_qspi.c +++ b/drivers/flash/flash_stm32_qspi.c @@ -137,18 +137,13 @@ static inline int qspi_prepare_quad_read(const struct device *dev, { struct flash_stm32_qspi_data *dev_data = dev->data; - switch (dev_data->mode) { - case JESD216_MODE_114: - cmd->AddressMode = QSPI_ADDRESS_1_LINE; - break; - case JESD216_MODE_144: - cmd->AddressMode = QSPI_ADDRESS_4_LINES; - break; - default: - return -ENOTSUP; - } + __ASSERT_NO_MSG(dev_data->mode == JESD216_MODE_114 || + dev_data->mode == JESD216_MODE_144); cmd->Instruction = dev_data->qspi_read_cmd; + cmd->AddressMode = ((dev_data->mode == JESD216_MODE_114) + ? QSPI_ADDRESS_1_LINE + : QSPI_ADDRESS_4_LINES); cmd->DataMode = QSPI_DATA_4_LINES; cmd->DummyCycles = dev_data->qspi_read_cmd_latency; @@ -160,19 +155,13 @@ static inline int qspi_prepare_quad_program(const struct device *dev, { struct flash_stm32_qspi_data *dev_data = dev->data; + __ASSERT_NO_MSG(dev_data->qspi_write_cmd == SPI_NOR_CMD_PP_1_1_4 || + dev_data->qspi_write_cmd == SPI_NOR_CMD_PP_1_4_4); + cmd->Instruction = dev_data->qspi_write_cmd; - - switch (cmd->Instruction) { - case SPI_NOR_CMD_PP_1_1_4: - cmd->AddressMode = QSPI_ADDRESS_1_LINE; - break; - case SPI_NOR_CMD_PP_1_4_4: - cmd->AddressMode = QSPI_ADDRESS_4_LINES; - break; - default: - return -ENOTSUP; - } - + cmd->AddressMode = ((cmd->Instruction == SPI_NOR_CMD_PP_1_1_4) + ? QSPI_ADDRESS_1_LINE + : QSPI_ADDRESS_4_LINES); cmd->DataMode = QSPI_DATA_4_LINES; cmd->DummyCycles = 0;