diff mbox series

[v1,2/2] spi: stm32-qspi: Refactor dual flash mode enable check in ->setup()

Message ID 20220830182821.47919-2-andriy.shevchenko@linux.intel.com
State Accepted
Commit c9448aa41ac7dd223a6bef79e71d6c168593ebb7
Headers show
Series [v1,1/2] spi: stm32-qspi: Replace of_gpio_named_count() by gpiod_count() | expand

Commit Message

Andy Shevchenko Aug. 30, 2022, 6:28 p.m. UTC
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>
---
 drivers/spi/spi-stm32-qspi.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Comments

Patrice CHOTARD Aug. 31, 2022, 8:03 a.m. UTC | #1
HI Andy

On 8/30/22 20:28, Andy Shevchenko wrote:
> 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>
> ---
>  drivers/spi/spi-stm32-qspi.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/drivers/spi/spi-stm32-qspi.c b/drivers/spi/spi-stm32-qspi.c
> index 5858f5f9c758..9131660c1afb 100644
> --- a/drivers/spi/spi-stm32-qspi.c
> +++ b/drivers/spi/spi-stm32-qspi.c
> @@ -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");
>  	}

Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>

Thanks
Patrice
diff mbox series

Patch

diff --git a/drivers/spi/spi-stm32-qspi.c b/drivers/spi/spi-stm32-qspi.c
index 5858f5f9c758..9131660c1afb 100644
--- a/drivers/spi/spi-stm32-qspi.c
+++ b/drivers/spi/spi-stm32-qspi.c
@@ -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");
 	}