spi: spi-imx: spi_imx_buf_rx_swap_u32(): fix sparse warning: use swab32s() instead...
authorMarc Kleine-Budde <mkl@pengutronix.de>
Mon, 2 May 2022 17:54:52 +0000 (19:54 +0200)
committerMark Brown <broonie@kernel.org>
Mon, 9 May 2022 17:18:11 +0000 (18:18 +0100)
This patch fixes the following sparse warning by using a swab32s()
instead of a cpu_to_be32(). The driver is used on little endian
systems only and we really want to swap the bytes.

| drivers/spi/spi-imx.c:305:29: warning: incorrect type in assignment (different base types)
| drivers/spi/spi-imx.c:305:29:    expected unsigned int val
| drivers/spi/spi-imx.c:305:29:    got restricted __be32 [usertype]
| drivers/spi/spi-imx.c:361:21: warning: incorrect type in assignment (different base types)
| drivers/spi/spi-imx.c:361:21:    expected unsigned int [assigned] [usertype] val
| drivers/spi/spi-imx.c:361:21:    got restricted __be32 [usertype]

Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Link: https://lore.kernel.org/r/20220502175457.1977983-5-mkl@pengutronix.de
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/spi/spi-imx.c

index 895c751..86391f8 100644 (file)
@@ -298,7 +298,7 @@ static void spi_imx_buf_rx_swap_u32(struct spi_imx_data *spi_imx)
 #ifdef __LITTLE_ENDIAN
                bytes_per_word = spi_imx_bytes_per_word(spi_imx->bits_per_word);
                if (bytes_per_word == 1)
-                       val = cpu_to_be32(val);
+                       swab32s(&val);
                else if (bytes_per_word == 2)
                        val = (val << 16) | (val >> 16);
 #endif
@@ -354,7 +354,7 @@ static void spi_imx_buf_tx_swap_u32(struct spi_imx_data *spi_imx)
        bytes_per_word = spi_imx_bytes_per_word(spi_imx->bits_per_word);
 
        if (bytes_per_word == 1)
-               val = cpu_to_be32(val);
+               swab32s(&val);
        else if (bytes_per_word == 2)
                val = (val << 16) | (val >> 16);
 #endif