Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3f8958cf authored by Jarkko Nikula's avatar Jarkko Nikula Committed by Mark Brown
Browse files

spi: atmel: Remove needless bits_per_word and speed_hz tests



SPI core validates both bits_per_word and speed_hz transfer parameters and
defaults to spi->bits_per_word and spi->max_speed_hz in case these per
transfer parameters are not set. This makes possible to remove two if
statements and remove one code block that is never executed.

Signed-off-by: default avatarJarkko Nikula <jarkko.nikula@linux.intel.com>
Acked-by: default avatarNicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent aab7826f
Loading
Loading
Loading
Loading
+6 −15
Original line number Diff line number Diff line
@@ -871,14 +871,7 @@ static int atmel_spi_set_xfer_speed(struct atmel_spi *as,
	 * Calculate the lowest divider that satisfies the
	 * constraint, assuming div32/fdiv/mbz == 0.
	 */
	if (xfer->speed_hz)
	scbr = DIV_ROUND_UP(bus_hz, xfer->speed_hz);
	else
		/*
		 * This can happend if max_speed is null.
		 * In this case, we set the lowest possible speed
		 */
		scbr = 0xff;

	/*
	 * If the resulting divider doesn't fit into the
@@ -1300,7 +1293,6 @@ static int atmel_spi_one_transfer(struct spi_master *master,
		return -EINVAL;
	}

	if (xfer->bits_per_word) {
	asd = spi->controller_state;
	bits = (asd->csr >> 4) & 0xf;
	if (bits != xfer->bits_per_word - 8) {
@@ -1308,7 +1300,6 @@ static int atmel_spi_one_transfer(struct spi_master *master,
			"you can't yet change bits_per_word in transfers\n");
		return -ENOPROTOOPT;
	}
	}

	/*
	 * DMA map early, for performance (empties dcache ASAP) and