Unverified Commit 1f1d979f authored by Andy Shevchenko's avatar Andy Shevchenko Committed by Mark Brown
Browse files

spi: Simplify conditionals in spi_set_cs()



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: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://patch.msgid.link/20250331093915.4041600-1-andriy.shevchenko@linux.intel.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent dd8a9807
Loading
Loading
Loading
Loading
+4 −6
Original line number Diff line number Diff line
@@ -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;

	/*