spi: stm32-qspi: Refactor dual flash mode enable check in ->setup()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Tue, 30 Aug 2022 18:28:21 +0000 (21:28 +0300)
committerMark Brown <broonie@kernel.org>
Wed, 31 Aug 2022 11:13:11 +0000 (12:13 +0100)
gpiod_count() either returns positive number of the CS or negative
error code. In the stm32_qspi_setup() we check that configuration
has enough CS for the dual flash mode and SPI mode is not changing
over the lines of the code. Taking all above into considertion,
refactor dual flash mode enable check by dropping unneeded CS check
and reusing local mode variable.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
Link: https://lore.kernel.org/r/20220830182821.47919-2-andriy.shevchenko@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-stm32-qspi.c

index 5858f5f..9131660 100644 (file)
@@ -680,8 +680,7 @@ static int stm32_qspi_setup(struct spi_device *spi)
         * Dual flash mode is only enable in case SPI_TX_OCTAL and SPI_TX_OCTAL
         * are both set in spi->mode and "cs-gpios" properties is found in DT
         */
-       if (((spi->mode & (SPI_TX_OCTAL | SPI_RX_OCTAL)) == (SPI_TX_OCTAL | SPI_RX_OCTAL)) &&
-           gpiod_count(qspi->dev, "cs")) {
+       if (mode == (SPI_TX_OCTAL | SPI_RX_OCTAL)) {
                qspi->cr_reg |= CR_DFM;
                dev_dbg(qspi->dev, "Dual flash mode enable");
        }