drivers/mtd/nand/raw/sh_flctl.c:512:24: sparse: sparse: incorrect type in argument 1 (different base types)

From: kernel test robot
Date: Mon Jul 24 2023 - 09:58:40 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 6eaae198076080886b9e7d57f4ae06fa782f90ef
commit: 548927e0312194167f7ee5de47d50c2036088cce arm64: io: Use asm-generic high level MMIO accessors
date: 1 year, 1 month ago
config: arm64-randconfig-r081-20230723 (https://download.01.org/0day-ci/archive/20230724/202307242110.JAXek08p-lkp@xxxxxxxxx/config)
compiler: aarch64-linux-gcc (GCC) 12.3.0
reproduce: (https://download.01.org/0day-ci/archive/20230724/202307242110.JAXek08p-lkp@xxxxxxxxx/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202307242110.JAXek08p-lkp@xxxxxxxxx/

sparse warnings: (new ones prefixed by >>)
drivers/mtd/nand/raw/sh_flctl.c:458:16: sparse: sparse: cast to restricted __le32
drivers/mtd/nand/raw/sh_flctl.c:458:16: sparse: sparse: cast to restricted __le32
drivers/mtd/nand/raw/sh_flctl.c:458:16: sparse: sparse: cast to restricted __le32
drivers/mtd/nand/raw/sh_flctl.c:458:16: sparse: sparse: cast to restricted __le32
drivers/mtd/nand/raw/sh_flctl.c:458:16: sparse: sparse: cast to restricted __le32
drivers/mtd/nand/raw/sh_flctl.c:458:16: sparse: sparse: cast to restricted __le32
drivers/mtd/nand/raw/sh_flctl.c:481:26: sparse: sparse: cast to restricted __be32
drivers/mtd/nand/raw/sh_flctl.c:496:38: sparse: sparse: cast to restricted __be32
>> drivers/mtd/nand/raw/sh_flctl.c:512:24: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int [usertype] value @@ got restricted __be32 [usertype] @@
drivers/mtd/nand/raw/sh_flctl.c:512:24: sparse: expected unsigned int [usertype] value
drivers/mtd/nand/raw/sh_flctl.c:512:24: sparse: got restricted __be32 [usertype]
drivers/mtd/nand/raw/sh_flctl.c:525:24: sparse: sparse: incorrect type in assignment (different base types) @@ expected unsigned long @@ got restricted __be32 [usertype] @@
drivers/mtd/nand/raw/sh_flctl.c:525:24: sparse: expected unsigned long
drivers/mtd/nand/raw/sh_flctl.c:525:24: sparse: got restricted __be32 [usertype]

vim +512 drivers/mtd/nand/raw/sh_flctl.c

6028aa01f759a1d drivers/mtd/nand/sh_flctl.c Yoshihiro Shimoda 2008-10-14 502
e8a9d8f31c592ee drivers/mtd/nand/sh_flctl.c Bastian Hecht 2012-10-19 503 static void write_fiforeg(struct sh_flctl *flctl, int rlen,
e8a9d8f31c592ee drivers/mtd/nand/sh_flctl.c Bastian Hecht 2012-10-19 504 unsigned int offset)
6028aa01f759a1d drivers/mtd/nand/sh_flctl.c Yoshihiro Shimoda 2008-10-14 505 {
6028aa01f759a1d drivers/mtd/nand/sh_flctl.c Yoshihiro Shimoda 2008-10-14 506 int i, len_4align;
e8a9d8f31c592ee drivers/mtd/nand/sh_flctl.c Bastian Hecht 2012-10-19 507 unsigned long *buf = (unsigned long *)&flctl->done_buff[offset];
6028aa01f759a1d drivers/mtd/nand/sh_flctl.c Yoshihiro Shimoda 2008-10-14 508
6028aa01f759a1d drivers/mtd/nand/sh_flctl.c Yoshihiro Shimoda 2008-10-14 509 len_4align = (rlen + 3) / 4;
6028aa01f759a1d drivers/mtd/nand/sh_flctl.c Yoshihiro Shimoda 2008-10-14 510 for (i = 0; i < len_4align; i++) {
6028aa01f759a1d drivers/mtd/nand/sh_flctl.c Yoshihiro Shimoda 2008-10-14 511 wait_wfifo_ready(flctl);
e8a9d8f31c592ee drivers/mtd/nand/sh_flctl.c Bastian Hecht 2012-10-19 @512 writel(cpu_to_be32(buf[i]), FLDTFIFO(flctl));
6028aa01f759a1d drivers/mtd/nand/sh_flctl.c Yoshihiro Shimoda 2008-10-14 513 }
6028aa01f759a1d drivers/mtd/nand/sh_flctl.c Yoshihiro Shimoda 2008-10-14 514 }
6028aa01f759a1d drivers/mtd/nand/sh_flctl.c Yoshihiro Shimoda 2008-10-14 515

:::::: The code at line 512 was first introduced by commit
:::::: e8a9d8f31c592eea89f1b0d3fd425e7a96944e88 mtd: sh_flctl: Minor cleanups

:::::: TO: Bastian Hecht <hechtb@xxxxxxxxxxxxxx>
:::::: CC: Artem Bityutskiy <artem.bityutskiy@xxxxxxxxxxxxxxx>

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki