drivers/spi/spi-fsl-dspi.c:261:17: sparse: sparse: incorrect type in assignment (different base types)

From: kbuild test robot
Date: Wed May 27 2020 - 16:53:15 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: b0c3ba31be3e45a130e13b278cf3b90f69bda6f6
commit: 6c1c26ecd9a31c24f9ea7dfb174528141dd32361 spi: spi-fsl-dspi: Accelerate transfers using larger word size if possible
date: 3 months ago
config: arm64-randconfig-s031-20200527 (attached as .config)
compiler: aarch64-linux-gcc (GCC) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.1-240-gf0fe1cd9-dirty
git checkout 6c1c26ecd9a31c24f9ea7dfb174528141dd32361
# save the attached .config to linux build tree
make W=1 C=1 ARCH=arm64 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'

If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp@xxxxxxxxx>


sparse warnings: (new ones prefixed by >>)

>> drivers/spi/spi-fsl-dspi.c:261:17: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __be32 [usertype] @@
drivers/spi/spi-fsl-dspi.c:261:17: sparse: expected unsigned int [usertype]
drivers/spi/spi-fsl-dspi.c:261:17: sparse: got restricted __be32 [usertype]
drivers/spi/spi-fsl-dspi.c:267:28: sparse: sparse: cast to restricted __be32
>> drivers/spi/spi-fsl-dspi.c:273:17: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned int [usertype] @@ got restricted __be16 [usertype] @@
drivers/spi/spi-fsl-dspi.c:273:17: sparse: expected unsigned int [usertype]
drivers/spi/spi-fsl-dspi.c:273:17: sparse: got restricted __be16 [usertype]
drivers/spi/spi-fsl-dspi.c:279:28: sparse: sparse: cast to restricted __be16

vim +261 drivers/spi/spi-fsl-dspi.c

258
259 static void dspi_8on32_host_to_dev(struct fsl_dspi *dspi, u32 *txdata)
260 {
> 261 *txdata = cpu_to_be32(*(u32 *)dspi->tx);
262 dspi->tx += sizeof(u32);
263 }
264
265 static void dspi_8on32_dev_to_host(struct fsl_dspi *dspi, u32 rxdata)
266 {
267 *(u32 *)dspi->rx = be32_to_cpu(rxdata);
268 dspi->rx += sizeof(u32);
269 }
270
271 static void dspi_8on16_host_to_dev(struct fsl_dspi *dspi, u32 *txdata)
272 {
> 273 *txdata = cpu_to_be16(*(u16 *)dspi->tx);
274 dspi->tx += sizeof(u16);
275 }
276

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip