Re: [PATCH v8 2/2] mtd: rawnand: Add NAND controller support on Intel LGM SoC

From: kbuild test robot
Date: Tue May 19 2020 - 11:28:14 EST


Hi "Ramuthevar,Vadivel,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on robh/for-next]
[also build test WARNING on soc/for-next linus/master linux/master v5.7-rc6 next-20200518]
[cannot apply to mtd/master]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url: https://github.com/0day-ci/linux/commits/Ramuthevar-Vadivel-MuruganX/mtd-rawnand-Add-NAND-controller-support-on-Intel-LGM-SoC/20200519-191652
base: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
config: x86_64-allmodconfig (attached as .config)
reproduce:
# apt-get install sparse
# sparse version: v0.6.1-193-gb8fad4bc-dirty
# save the attached .config to linux build tree
make C=1 ARCH=x86_64 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/mtd/nand/raw/intel-nand-controller.c:439:24: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int val @@ got restricted __be3unsigned int val @@
drivers/mtd/nand/raw/intel-nand-controller.c:439:24: sparse: expected unsigned int val
>> drivers/mtd/nand/raw/intel-nand-controller.c:439:24: sparse: got restricted __be32 [usertype]
drivers/mtd/nand/raw/intel-nand-controller.c:441:24: sparse: sparse: incorrect type in argument 1 (different base types) @@ expected unsigned int val @@ got restricted __be3unsigned int val @@
drivers/mtd/nand/raw/intel-nand-controller.c:441:24: sparse: expected unsigned int val
drivers/mtd/nand/raw/intel-nand-controller.c:441:24: sparse: got restricted __be32 [usertype]

vim +439 drivers/mtd/nand/raw/intel-nand-controller.c

420
421 static int ebu_nand_write_page_hwecc(struct nand_chip *chip, const u8 *buf,
422 int oob_required, int page)
423 {
424 struct mtd_info *mtd = nand_to_mtd(chip);
425 struct ebu_nand_controller *ebu_host = nand_get_controller_data(chip);
426 void __iomem *int_sta = ebu_host->hsnand + HSNAND_INT_STA;
427 int ret, val, x;
428
429 ebu_nand_trigger(ebu_host, page, NAND_CMD_SEQIN);
430
431 ret = ebu_dma_start(ebu_host, DMA_MEM_TO_DEV, buf, mtd->writesize);
432 if (ret)
433 return ret;
434
435 if (oob_required) {
436 const u8 *pdata;
437
438 pdata = chip->oob_poi;
> 439 writel(cpu_to_be32(*pdata++), ebu_host->hsnand + HSNAND_CMSG_0);
440
441 writel(cpu_to_be32(*pdata), ebu_host->hsnand + HSNAND_CMSG_1);
442 }
443
444 ret = readl_poll_timeout_atomic(int_sta, val,
445 !(val & HSNAND_INT_STA_WR_C), 10, 1000);
446 if (ret)
447 return -EIO;
448
449 x = readl(ebu_host->hsnand + HSNAND_CTL);
450 x &= ~HSNAND_CTL_GO;
451 writel(x, ebu_host->hsnand + HSNAND_CTL);
452
453 return 0;
454 }
455

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

Attachment: .config.gz
Description: application/gzip