]> www.infradead.org Git - users/willy/linux.git/commitdiff
spi: Simplify conditionals in spi_set_cs()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Mon, 31 Mar 2025 09:39:15 +0000 (12:39 +0300)
committerMark Brown <broonie@kernel.org>
Sun, 6 Apr 2025 22:26:08 +0000 (23:26 +0100)
First of all, the (foo && bar) || (!foo && !bar) when foo and bar
are booleans is equivalent to (foo == bar). Second, reuse variable
that holds already the calculation of the SPI CS mode to be
active-high. No functional changes intended.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://patch.msgid.link/20250331093915.4041600-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi.c

index 90e27729ef6b22adb6958060d9d72240c3246489..00b81d81c09af1aa7fbecd5269c2f4b97157d44e 100644 (file)
@@ -1076,10 +1076,8 @@ static void spi_set_cs(struct spi_device *spi, bool enable, bool force)
         * Avoid calling into the driver (or doing delays) if the chip select
         * isn't actually changing from the last time this was called.
         */
-       if (!force && ((enable && spi->controller->last_cs_index_mask == spi->cs_index_mask &&
-                       spi_is_last_cs(spi)) ||
-                      (!enable && spi->controller->last_cs_index_mask == spi->cs_index_mask &&
-                       !spi_is_last_cs(spi))) &&
+       if (!force && (enable == spi_is_last_cs(spi)) &&
+           (spi->controller->last_cs_index_mask == spi->cs_index_mask) &&
            (spi->controller->last_cs_mode_high == (spi->mode & SPI_CS_HIGH)))
                return;
 
@@ -1088,9 +1086,9 @@ static void spi_set_cs(struct spi_device *spi, bool enable, bool force)
        spi->controller->last_cs_index_mask = spi->cs_index_mask;
        for (idx = 0; idx < SPI_CS_CNT_MAX; idx++)
                spi->controller->last_cs[idx] = enable ? spi_get_chipselect(spi, 0) : SPI_INVALID_CS;
-       spi->controller->last_cs_mode_high = spi->mode & SPI_CS_HIGH;
 
-       if (spi->mode & SPI_CS_HIGH)
+       spi->controller->last_cs_mode_high = spi->mode & SPI_CS_HIGH;
+       if (spi->controller->last_cs_mode_high)
                enable = !enable;
 
        /*