diff options
author | Maxime Chevallier <maxime.chevallier@smile.fr> | 2018-01-24 09:10:47 -0500 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2018-01-24 10:03:13 -0500 |
commit | 162f8debc01f48ac984ed6d7291743053ec90271 (patch) | |
tree | 18672497a16093a6c28bf3d3ea8d64895387049a | |
parent | f68a7dcb91b7957c5bb1c3e347775332af719519 (diff) |
spi: a3700: Remove endianness swapping functions when accessing FIFOs
Fixes the following sparse warnings :
line 504: warning: incorrect type in assignment (different base types)
line 504: expected unsigned int [unsigned] [usertype] val
line 504: got restricted __le32 [usertype] <noident>
line 527: warning: cast to restricted __le32
This is solved by removing endian-converson functions, since the
converted values are going through readl/writel anyway, which take care
of the conversion.
Fixes: 6fd6fd68c9e2 ("spi: armada-3700: Fix padding when sending not 4-byte aligned data")
Signed-off-by: Maxime Chevallier <maxime.chevallier@smile.fr>
Reviewed-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r-- | drivers/spi/spi-armada-3700.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/spi/spi-armada-3700.c b/drivers/spi/spi-armada-3700.c index fdc35dabcda2..f32b83c7209f 100644 --- a/drivers/spi/spi-armada-3700.c +++ b/drivers/spi/spi-armada-3700.c | |||
@@ -493,7 +493,7 @@ static int a3700_spi_fifo_write(struct a3700_spi *a3700_spi) | |||
493 | u32 val; | 493 | u32 val; |
494 | 494 | ||
495 | while (!a3700_is_wfifo_full(a3700_spi) && a3700_spi->buf_len) { | 495 | while (!a3700_is_wfifo_full(a3700_spi) && a3700_spi->buf_len) { |
496 | val = cpu_to_le32(*(u32 *)a3700_spi->tx_buf); | 496 | val = *(u32 *)a3700_spi->tx_buf; |
497 | spireg_write(a3700_spi, A3700_SPI_DATA_OUT_REG, val); | 497 | spireg_write(a3700_spi, A3700_SPI_DATA_OUT_REG, val); |
498 | a3700_spi->buf_len -= 4; | 498 | a3700_spi->buf_len -= 4; |
499 | a3700_spi->tx_buf += 4; | 499 | a3700_spi->tx_buf += 4; |
@@ -516,9 +516,8 @@ static int a3700_spi_fifo_read(struct a3700_spi *a3700_spi) | |||
516 | while (!a3700_is_rfifo_empty(a3700_spi) && a3700_spi->buf_len) { | 516 | while (!a3700_is_rfifo_empty(a3700_spi) && a3700_spi->buf_len) { |
517 | val = spireg_read(a3700_spi, A3700_SPI_DATA_IN_REG); | 517 | val = spireg_read(a3700_spi, A3700_SPI_DATA_IN_REG); |
518 | if (a3700_spi->buf_len >= 4) { | 518 | if (a3700_spi->buf_len >= 4) { |
519 | u32 data = le32_to_cpu(val); | ||
520 | 519 | ||
521 | memcpy(a3700_spi->rx_buf, &data, 4); | 520 | memcpy(a3700_spi->rx_buf, &val, 4); |
522 | 521 | ||
523 | a3700_spi->buf_len -= 4; | 522 | a3700_spi->buf_len -= 4; |
524 | a3700_spi->rx_buf += 4; | 523 | a3700_spi->rx_buf += 4; |