[PATCH 3/4] spi: spi-imx: Fix casting warnings
Frank Li
Frank.li at nxp.com
Fri Sep 27 09:53:02 PDT 2024
On Fri, Sep 27, 2024 at 06:58:34PM +0530, Hardevsinh Palaniya wrote:
> Sparse warnings:
>
> drivers/spi/spi-imx.c:410:19: warning: cast to restricted __be32
> drivers/spi/spi-imx.c:410:19: warning: cast to restricted __be32
> drivers/spi/spi-imx.c:410:19: warning: cast to restricted __be32
> drivers/spi/spi-imx.c:410:19: warning: cast to restricted __be32
> drivers/spi/spi-imx.c:410:19: warning: cast to restricted __be32
> drivers/spi/spi-imx.c:410:19: warning: cast to restricted __be32
> drivers/spi/spi-imx.c:439:21: warning: incorrect type in assignment (different base types)
> drivers/spi/spi-imx.c:439:21: expected unsigned int [addressable] [usertype] val
> drivers/spi/spi-imx.c:439:21: got restricted __be32 [usertype]
>
> Signed-off-by: Hardevsinh Palaniya <hardevsinh.palaniya at siliconsignals.io>
> ---
> drivers/spi/spi-imx.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/spi/spi-imx.c b/drivers/spi/spi-imx.c
> index 85bd1a82a34e..8d09d9c1c556 100644
> --- a/drivers/spi/spi-imx.c
> +++ b/drivers/spi/spi-imx.c
> @@ -407,7 +407,7 @@ static void spi_imx_buf_tx_swap(struct spi_imx_data *spi_imx)
>
> static void mx53_ecspi_rx_target(struct spi_imx_data *spi_imx)
> {
> - u32 val = be32_to_cpu(readl(spi_imx->base + MXC_CSPIRXDATA));
> + u32 val = readl(spi_imx->base + MXC_CSPIRXDATA);
be32_to_cpu() is necessary in little endian system. You can't simple remove
it. you can use ioread32be here.
>
> if (spi_imx->rx_buf) {
> int n_bytes = spi_imx->target_burst % sizeof(val);
> @@ -436,7 +436,7 @@ static void mx53_ecspi_tx_target(struct spi_imx_data *spi_imx)
> if (spi_imx->tx_buf) {
> memcpy(((u8 *)&val) + sizeof(val) - n_bytes,
> spi_imx->tx_buf, n_bytes);
> - val = cpu_to_be32(val);
> + val = (__force u32)cpu_to_be32(val);
> spi_imx->tx_buf += n_bytes;
> }
Original code logic is strange, you'd better to remove cpu_to_be32 here.
below writel change to iowrite32be().
Frank
>
> --
> 2.43.0
>
More information about the linux-arm-kernel
mailing list