* [PATCH 1/4] spi: spi-fsl-dspi: Fix casting warnings
@ 2024-09-27 13:28 Hardevsinh Palaniya
2024-09-27 13:28 ` [PATCH 2/4] spi: spi-fsl-qspi: " Hardevsinh Palaniya
` (2 more replies)
0 siblings, 3 replies; 10+ messages in thread
From: Hardevsinh Palaniya @ 2024-09-27 13:28 UTC (permalink / raw)
To: linux-spi, olteanv, broonie
Cc: Hardevsinh Palaniya, Han Xu, Shawn Guo, Sascha Hauer,
Pengutronix Kernel Team, Fabio Estevam, Haibo Chen, Yogesh Gaur,
imx, linux-kernel, linux-arm-kernel
Sparse warnings:
drivers/spi/spi-fsl-dspi.c:283:17: warning: incorrect type in assignment (different base types)
drivers/spi/spi-fsl-dspi.c:283:17: expected unsigned int [usertype]
drivers/spi/spi-fsl-dspi.c:283:17: got restricted __be32 [usertype]
drivers/spi/spi-fsl-dspi.c:289:28: warning: cast to restricted __be32
drivers/spi/spi-fsl-dspi.c:289:28: warning: cast to restricted __be32
drivers/spi/spi-fsl-dspi.c:289:28: warning: cast to restricted __be32
drivers/spi/spi-fsl-dspi.c:289:28: warning: cast to restricted __be32
drivers/spi/spi-fsl-dspi.c:289:28: warning: cast to restricted __be32
drivers/spi/spi-fsl-dspi.c:289:28: warning: cast to restricted __be32
drivers/spi/spi-fsl-dspi.c:295:17: warning: incorrect type in assignment (different base types)
drivers/spi/spi-fsl-dspi.c:295:17: expected unsigned int [usertype]
drivers/spi/spi-fsl-dspi.c:295:17: got restricted __be16 [usertype]
drivers/spi/spi-fsl-dspi.c:301:28: warning: cast to restricted __be16
drivers/spi/spi-fsl-dspi.c:301:28: warning: cast to restricted __be16
drivers/spi/spi-fsl-dspi.c:301:28: warning: cast to restricted __be16
drivers/spi/spi-fsl-dspi.c:301:28: warning: cast to restricted __be16
Signed-off-by: Hardevsinh Palaniya <hardevsinh.palaniya@siliconsignals.io>
---
drivers/spi/spi-fsl-dspi.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/spi/spi-fsl-dspi.c b/drivers/spi/spi-fsl-dspi.c
index 191de1917f83..e34588679514 100644
--- a/drivers/spi/spi-fsl-dspi.c
+++ b/drivers/spi/spi-fsl-dspi.c
@@ -280,25 +280,25 @@ static void dspi_native_dev_to_host(struct fsl_dspi *dspi, u32 rxdata)
static void dspi_8on32_host_to_dev(struct fsl_dspi *dspi, u32 *txdata)
{
- *txdata = cpu_to_be32(*(u32 *)dspi->tx);
+ *txdata = (__force u32)cpu_to_be32(*(u32 *)dspi->tx);
dspi->tx += sizeof(u32);
}
static void dspi_8on32_dev_to_host(struct fsl_dspi *dspi, u32 rxdata)
{
- *(u32 *)dspi->rx = be32_to_cpu(rxdata);
+ *(u32 *)dspi->rx = be32_to_cpu((__force __be32)rxdata);
dspi->rx += sizeof(u32);
}
static void dspi_8on16_host_to_dev(struct fsl_dspi *dspi, u32 *txdata)
{
- *txdata = cpu_to_be16(*(u16 *)dspi->tx);
+ *txdata = (__force u32)cpu_to_be16(*(u16 *)dspi->tx);
dspi->tx += sizeof(u16);
}
static void dspi_8on16_dev_to_host(struct fsl_dspi *dspi, u32 rxdata)
{
- *(u16 *)dspi->rx = be16_to_cpu(rxdata);
+ *(u16 *)dspi->rx = be16_to_cpu((__force __be16)rxdata);
dspi->rx += sizeof(u16);
}
--
2.43.0
^ permalink raw reply related [flat|nested] 10+ messages in thread* [PATCH 2/4] spi: spi-fsl-qspi: Fix casting warnings 2024-09-27 13:28 [PATCH 1/4] spi: spi-fsl-dspi: Fix casting warnings Hardevsinh Palaniya @ 2024-09-27 13:28 ` Hardevsinh Palaniya 2024-09-27 15:40 ` Frank Li 2024-09-27 13:28 ` [PATCH 3/4] spi: spi-imx: " Hardevsinh Palaniya 2024-09-27 13:28 ` [PATCH 4/4] spi: spi-nxp-fspi: " Hardevsinh Palaniya 2 siblings, 1 reply; 10+ messages in thread From: Hardevsinh Palaniya @ 2024-09-27 13:28 UTC (permalink / raw) To: linux-spi, olteanv, broonie Cc: Hardevsinh Palaniya, Han Xu, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, Haibo Chen, Yogesh Gaur, imx, linux-kernel, linux-arm-kernel Sparse warnings: drivers/spi/spi-fsl-qspi.c:635:25: warning: cast from restricted __be32 Signed-off-by: Hardevsinh Palaniya <hardevsinh.palaniya@siliconsignals.io> --- drivers/spi/spi-fsl-qspi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/spi/spi-fsl-qspi.c b/drivers/spi/spi-fsl-qspi.c index 79bac30e79af..e4a2a6049e33 100644 --- a/drivers/spi/spi-fsl-qspi.c +++ b/drivers/spi/spi-fsl-qspi.c @@ -632,7 +632,7 @@ static int fsl_qspi_readl_poll_tout(struct fsl_qspi *q, void __iomem *base, u32 reg; if (!q->devtype_data->little_endian) - mask = (u32)cpu_to_be32(mask); + mask =(__force u32)cpu_to_be32(mask); return readl_poll_timeout(base, reg, !(reg & mask), delay_us, timeout_us); -- 2.43.0 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH 2/4] spi: spi-fsl-qspi: Fix casting warnings 2024-09-27 13:28 ` [PATCH 2/4] spi: spi-fsl-qspi: " Hardevsinh Palaniya @ 2024-09-27 15:40 ` Frank Li 2024-09-28 6:11 ` Hardevsinh Palaniya 0 siblings, 1 reply; 10+ messages in thread From: Frank Li @ 2024-09-27 15:40 UTC (permalink / raw) To: Hardevsinh Palaniya Cc: linux-spi, olteanv, broonie, Han Xu, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, Haibo Chen, Yogesh Gaur, imx, linux-kernel, linux-arm-kernel On Fri, Sep 27, 2024 at 06:58:33PM +0530, Hardevsinh Palaniya wrote: > Sparse warnings: > > drivers/spi/spi-fsl-qspi.c:635:25: warning: cast from restricted __be32 > > Signed-off-by: Hardevsinh Palaniya <hardevsinh.palaniya@siliconsignals.io> > --- > drivers/spi/spi-fsl-qspi.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/spi/spi-fsl-qspi.c b/drivers/spi/spi-fsl-qspi.c > index 79bac30e79af..e4a2a6049e33 100644 > --- a/drivers/spi/spi-fsl-qspi.c > +++ b/drivers/spi/spi-fsl-qspi.c > @@ -632,7 +632,7 @@ static int fsl_qspi_readl_poll_tout(struct fsl_qspi *q, void __iomem *base, > u32 reg; > > if (!q->devtype_data->little_endian) > - mask = (u32)cpu_to_be32(mask); > + mask =(__force u32)cpu_to_be32(mask); Most this kind warning report the real problem. I don't suggest fix as it the 'if branch' should be removed. and simple return read_poll_timeout(qspi_readl, reg, !(reg & mask), delay_us, timeout_us, q, base); qspi_readl() already handle endian problem. Frank > > return readl_poll_timeout(base, reg, !(reg & mask), delay_us, > timeout_us); > -- > 2.43.0 > ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/4] spi: spi-fsl-qspi: Fix casting warnings 2024-09-27 15:40 ` Frank Li @ 2024-09-28 6:11 ` Hardevsinh Palaniya 2024-09-30 5:21 ` Hardevsinh Palaniya 0 siblings, 1 reply; 10+ messages in thread From: Hardevsinh Palaniya @ 2024-09-28 6:11 UTC (permalink / raw) To: Frank Li Cc: linux-spi@vger.kernel.org, olteanv@gmail.com, broonie@kernel.org, Han Xu, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, Haibo Chen, Yogesh Gaur, imx@lists.linux.dev, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Hi Frank, Thanks for the suggestions >> if (!q->devtype_data->little_endian) >> - mask = (u32)cpu_to_be32(mask); >> + mask =(__force u32)cpu_to_be32(mask); > >Most this kind warning report the real problem. I don't suggest fix as it I’m curious about the types of real problems that might arise >the 'if branch' should be removed. > >and simple > >return read_poll_timeout(qspi_readl, reg, !(reg & mask), delay_us, timeout_us, > q, base); > >qspi_readl() already handle endian problem. I agree , it is a good approach since qspi_readl() already handles the endian issue I will change it to your approach. > >Frank Best Regards, Hardev ________________________________________ From: Frank Li <Frank.li@nxp.com> Sent: Friday, September 27, 2024 9:10 PM To: Hardevsinh Palaniya <hardevsinh.palaniya@siliconsignals.io> Cc: linux-spi@vger.kernel.org <linux-spi@vger.kernel.org>; olteanv@gmail.com <olteanv@gmail.com>; broonie@kernel.org <broonie@kernel.org>; Han Xu <han.xu@nxp.com>; Shawn Guo <shawnguo@kernel.org>; Sascha Hauer <s.hauer@pengutronix.de>; Pengutronix Kernel Team <kernel@pengutronix.de>; Fabio Estevam <festevam@gmail.com>; Haibo Chen <haibo.chen@nxp.com>; Yogesh Gaur <yogeshgaur.83@gmail.com>; imx@lists.linux.dev <imx@lists.linux.dev>; linux-kernel@vger.kernel.org <linux-kernel@vger.kernel.org>; linux-arm-kernel@lists.infradead.org <linux-arm-kernel@lists.infradead.org> Subject: Re: [PATCH 2/4] spi: spi-fsl-qspi: Fix casting warnings CAUTION: This email originated from outside the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe. On Fri, Sep 27, 2024 at 06:58:33PM +0530, Hardevsinh Palaniya wrote: > Sparse warnings: > > drivers/spi/spi-fsl-qspi.c:635:25: warning: cast from restricted __be32 > > Signed-off-by: Hardevsinh Palaniya <hardevsinh.palaniya@siliconsignals.io> > --- > drivers/spi/spi-fsl-qspi.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/spi/spi-fsl-qspi.c b/drivers/spi/spi-fsl-qspi.c > index 79bac30e79af..e4a2a6049e33 100644 > --- a/drivers/spi/spi-fsl-qspi.c > +++ b/drivers/spi/spi-fsl-qspi.c > @@ -632,7 +632,7 @@ static int fsl_qspi_readl_poll_tout(struct fsl_qspi *q, void __iomem *base, > u32 reg; > > if (!q->devtype_data->little_endian) > - mask = (u32)cpu_to_be32(mask); > + mask =(__force u32)cpu_to_be32(mask); Most this kind warning report the real problem. I don't suggest fix as it the 'if branch' should be removed. and simple return read_poll_timeout(qspi_readl, reg, !(reg & mask), delay_us, timeout_us, q, base); qspi_readl() already handle endian problem. Frank > > return readl_poll_timeout(base, reg, !(reg & mask), delay_us, > timeout_us); > -- > 2.43.0 > ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 2/4] spi: spi-fsl-qspi: Fix casting warnings 2024-09-28 6:11 ` Hardevsinh Palaniya @ 2024-09-30 5:21 ` Hardevsinh Palaniya 0 siblings, 0 replies; 10+ messages in thread From: Hardevsinh Palaniya @ 2024-09-30 5:21 UTC (permalink / raw) To: Frank Li Cc: linux-spi@vger.kernel.org, olteanv@gmail.com, broonie@kernel.org, Han Xu, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, Haibo Chen, Yogesh Gaur, imx@lists.linux.dev, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Hi Frank, >> if (!q->devtype_data->little_endian) >> - mask = (u32)cpu_to_be32(mask); >> + mask =(__force u32)cpu_to_be32(mask); > >Most this kind warning report the real problem. I don't suggest fix as it Should I drop patches 2 and 4 as per your suggestion. >the 'if branch' should be removed. > >and simple > >return read_poll_timeout(qspi_readl, reg, !(reg & mask), delay_us, timeout_us, q, base); > >qspi_readl() already handle endian problem. would you prefer I resend them with the changes you've recommended? Best Regards, Hardev ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 3/4] spi: spi-imx: Fix casting warnings 2024-09-27 13:28 [PATCH 1/4] spi: spi-fsl-dspi: Fix casting warnings Hardevsinh Palaniya 2024-09-27 13:28 ` [PATCH 2/4] spi: spi-fsl-qspi: " Hardevsinh Palaniya @ 2024-09-27 13:28 ` Hardevsinh Palaniya 2024-09-27 16:53 ` Frank Li 2024-09-27 13:28 ` [PATCH 4/4] spi: spi-nxp-fspi: " Hardevsinh Palaniya 2 siblings, 1 reply; 10+ messages in thread From: Hardevsinh Palaniya @ 2024-09-27 13:28 UTC (permalink / raw) To: linux-spi, olteanv, broonie Cc: Hardevsinh Palaniya, Han Xu, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, Haibo Chen, Yogesh Gaur, imx, linux-kernel, linux-arm-kernel 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@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); 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; } -- 2.43.0 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH 3/4] spi: spi-imx: Fix casting warnings 2024-09-27 13:28 ` [PATCH 3/4] spi: spi-imx: " Hardevsinh Palaniya @ 2024-09-27 16:53 ` Frank Li 2024-09-28 6:16 ` Hardevsinh Palaniya 0 siblings, 1 reply; 10+ messages in thread From: Frank Li @ 2024-09-27 16:53 UTC (permalink / raw) To: Hardevsinh Palaniya Cc: linux-spi, olteanv, broonie, Han Xu, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, Haibo Chen, Yogesh Gaur, imx, linux-kernel, linux-arm-kernel 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@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 > ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 3/4] spi: spi-imx: Fix casting warnings 2024-09-27 16:53 ` Frank Li @ 2024-09-28 6:16 ` Hardevsinh Palaniya 0 siblings, 0 replies; 10+ messages in thread From: Hardevsinh Palaniya @ 2024-09-28 6:16 UTC (permalink / raw) To: Frank Li Cc: linux-spi@vger.kernel.org, olteanv@gmail.com, broonie@kernel.org, Han Xu, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, Haibo Chen, Yogesh Gaur, imx@lists.linux.dev, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org Hi Frank, Thanks for suggestions >> 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. I agree , i will update with ioread32be >> >> 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. I will remove > >below writel change to iowrite32be(). Sure > >Frank Best Regards, Hardev ________________________________________ From: Frank Li <Frank.li@nxp.com> Sent: Friday, September 27, 2024 10:23 PM To: Hardevsinh Palaniya <hardevsinh.palaniya@siliconsignals.io> Cc: linux-spi@vger.kernel.org <linux-spi@vger.kernel.org>; olteanv@gmail.com <olteanv@gmail.com>; broonie@kernel.org <broonie@kernel.org>; Han Xu <han.xu@nxp.com>; Shawn Guo <shawnguo@kernel.org>; Sascha Hauer <s.hauer@pengutronix.de>; Pengutronix Kernel Team <kernel@pengutronix.de>; Fabio Estevam <festevam@gmail.com>; Haibo Chen <haibo.chen@nxp.com>; Yogesh Gaur <yogeshgaur.83@gmail.com>; imx@lists.linux.dev <imx@lists.linux.dev>; linux-kernel@vger.kernel.org <linux-kernel@vger.kernel.org>; linux-arm-kernel@lists.infradead.org <linux-arm-kernel@lists.infradead.org> Subject: Re: [PATCH 3/4] spi: spi-imx: Fix casting warnings CAUTION: This email originated from outside the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe. 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@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 > ^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 4/4] spi: spi-nxp-fspi: Fix casting warnings 2024-09-27 13:28 [PATCH 1/4] spi: spi-fsl-dspi: Fix casting warnings Hardevsinh Palaniya 2024-09-27 13:28 ` [PATCH 2/4] spi: spi-fsl-qspi: " Hardevsinh Palaniya 2024-09-27 13:28 ` [PATCH 3/4] spi: spi-imx: " Hardevsinh Palaniya @ 2024-09-27 13:28 ` Hardevsinh Palaniya 2024-09-27 15:47 ` Frank Li 2 siblings, 1 reply; 10+ messages in thread From: Hardevsinh Palaniya @ 2024-09-27 13:28 UTC (permalink / raw) To: linux-spi, olteanv, broonie Cc: Hardevsinh Palaniya, Han Xu, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, Haibo Chen, Yogesh Gaur, imx, linux-kernel, linux-arm-kernel Sparse warnings: drivers/spi/spi-nxp-fspi.c:512:25: warning: cast from restricted __be32 Signed-off-by: Hardevsinh Palaniya <hardevsinh.palaniya@siliconsignals.io> --- drivers/spi/spi-nxp-fspi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/spi/spi-nxp-fspi.c b/drivers/spi/spi-nxp-fspi.c index 6585b19a4866..f602bfd11426 100644 --- a/drivers/spi/spi-nxp-fspi.c +++ b/drivers/spi/spi-nxp-fspi.c @@ -509,7 +509,7 @@ static int fspi_readl_poll_tout(struct nxp_fspi *f, void __iomem *base, u32 reg; if (!f->devtype_data->little_endian) - mask = (u32)cpu_to_be32(mask); + mask = (__force u32)cpu_to_be32(mask); if (c) return readl_poll_timeout(base, reg, (reg & mask), -- 2.43.0 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH 4/4] spi: spi-nxp-fspi: Fix casting warnings 2024-09-27 13:28 ` [PATCH 4/4] spi: spi-nxp-fspi: " Hardevsinh Palaniya @ 2024-09-27 15:47 ` Frank Li 0 siblings, 0 replies; 10+ messages in thread From: Frank Li @ 2024-09-27 15:47 UTC (permalink / raw) To: Hardevsinh Palaniya Cc: linux-spi, olteanv, broonie, Han Xu, Shawn Guo, Sascha Hauer, Pengutronix Kernel Team, Fabio Estevam, Haibo Chen, Yogesh Gaur, imx, linux-kernel, linux-arm-kernel On Fri, Sep 27, 2024 at 06:58:35PM +0530, Hardevsinh Palaniya wrote: > Sparse warnings: > > drivers/spi/spi-nxp-fspi.c:512:25: warning: cast from restricted __be32 > > Signed-off-by: Hardevsinh Palaniya <hardevsinh.palaniya@siliconsignals.io> > --- > drivers/spi/spi-nxp-fspi.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/spi/spi-nxp-fspi.c b/drivers/spi/spi-nxp-fspi.c > index 6585b19a4866..f602bfd11426 100644 > --- a/drivers/spi/spi-nxp-fspi.c > +++ b/drivers/spi/spi-nxp-fspi.c > @@ -509,7 +509,7 @@ static int fspi_readl_poll_tout(struct nxp_fspi *f, void __iomem *base, > u32 reg; > > if (!f->devtype_data->little_endian) > - mask = (u32)cpu_to_be32(mask); > + mask = (__force u32)cpu_to_be32(mask); See patch 2's comments. Frank > > if (c) > return readl_poll_timeout(base, reg, (reg & mask), > -- > 2.43.0 > ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2024-09-30 5:22 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-09-27 13:28 [PATCH 1/4] spi: spi-fsl-dspi: Fix casting warnings Hardevsinh Palaniya 2024-09-27 13:28 ` [PATCH 2/4] spi: spi-fsl-qspi: " Hardevsinh Palaniya 2024-09-27 15:40 ` Frank Li 2024-09-28 6:11 ` Hardevsinh Palaniya 2024-09-30 5:21 ` Hardevsinh Palaniya 2024-09-27 13:28 ` [PATCH 3/4] spi: spi-imx: " Hardevsinh Palaniya 2024-09-27 16:53 ` Frank Li 2024-09-28 6:16 ` Hardevsinh Palaniya 2024-09-27 13:28 ` [PATCH 4/4] spi: spi-nxp-fspi: " Hardevsinh Palaniya 2024-09-27 15:47 ` Frank Li
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox