Hi Hui-Ping,

kernel test robot noticed the following build warnings:

[auto build test WARNING on mtd/nand/next]
[also build test WARNING on linus/master v6.11-rc4 next-20240820]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    
https://github.com/intel-lab-lkp/linux/commits/Hui-Ping-Chen/dt-bindings-mtd-nuvoton-ma35d1-nand-add-new-bindings/20240819-172155
base:   https://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git nand/next
patch link:    
https://lore.kernel.org/r/20240819092037.110260-3-hpchen0nvt%40gmail.com
patch subject: [PATCH v2 2/2] mtd: rawnand: nuvoton: add new driver for the 
Nuvoton MA35 SoC
config: parisc-randconfig-r123-20240820 
(https://download.01.org/0day-ci/archive/20240820/202408201329.v0sof3es-...@intel.com/config)
compiler: hppa-linux-gcc (GCC) 14.1.0
reproduce: 
(https://download.01.org/0day-ci/archive/20240820/202408201329.v0sof3es-...@intel.com/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 <l...@intel.com>
| Closes: 
https://lore.kernel.org/oe-kbuild-all/202408201329.v0sof3es-...@intel.com/

sparse warnings: (new ones prefixed by >>)
   drivers/mtd/nand/raw/nuvoton_ma35d1_nand.c:231:20: sparse: sparse: cast 
removes address space '__iomem' of expression
>> drivers/mtd/nand/raw/nuvoton_ma35d1_nand.c:736:20: sparse: sparse: incorrect 
>> type in initializer (different address spaces) @@     expected unsigned char 
>> [usertype] *ptr @@     got unsigned char [noderef] [usertype] __iomem * @@
   drivers/mtd/nand/raw/nuvoton_ma35d1_nand.c:736:20: sparse:     expected 
unsigned char [usertype] *ptr
   drivers/mtd/nand/raw/nuvoton_ma35d1_nand.c:736:20: sparse:     got unsigned 
char [noderef] [usertype] __iomem *
>> drivers/mtd/nand/raw/nuvoton_ma35d1_nand.c:764:22: sparse: sparse: incorrect 
>> type in initializer (different address spaces) @@     expected char *ptr @@  
>>    got char [noderef] __iomem * @@
   drivers/mtd/nand/raw/nuvoton_ma35d1_nand.c:764:22: sparse:     expected char 
*ptr
   drivers/mtd/nand/raw/nuvoton_ma35d1_nand.c:764:22: sparse:     got char 
[noderef] __iomem *
   drivers/mtd/nand/raw/nuvoton_ma35d1_nand.c:803:22: sparse: sparse: incorrect 
type in initializer (different address spaces) @@     expected char *ptr @@     
got char [noderef] __iomem * @@
   drivers/mtd/nand/raw/nuvoton_ma35d1_nand.c:803:22: sparse:     expected char 
*ptr
   drivers/mtd/nand/raw/nuvoton_ma35d1_nand.c:803:22: sparse:     got char 
[noderef] __iomem *
   drivers/mtd/nand/raw/nuvoton_ma35d1_nand.c:506:28: sparse: sparse: incorrect 
type in initializer (different address spaces) @@     expected unsigned char 
[usertype] *ptr @@     got unsigned char [noderef] [usertype] __iomem * @@
   drivers/mtd/nand/raw/nuvoton_ma35d1_nand.c:506:28: sparse:     expected 
unsigned char [usertype] *ptr
   drivers/mtd/nand/raw/nuvoton_ma35d1_nand.c:506:28: sparse:     got unsigned 
char [noderef] [usertype] __iomem *
   drivers/mtd/nand/raw/nuvoton_ma35d1_nand.c:506:28: sparse: sparse: incorrect 
type in initializer (different address spaces) @@     expected unsigned char 
[usertype] *ptr @@     got unsigned char [noderef] [usertype] __iomem * @@
   drivers/mtd/nand/raw/nuvoton_ma35d1_nand.c:506:28: sparse:     expected 
unsigned char [usertype] *ptr
   drivers/mtd/nand/raw/nuvoton_ma35d1_nand.c:506:28: sparse:     got unsigned 
char [noderef] [usertype] __iomem *
   drivers/mtd/nand/raw/nuvoton_ma35d1_nand.c:506:28: sparse: sparse: incorrect 
type in initializer (different address spaces) @@     expected unsigned char 
[usertype] *ptr @@     got unsigned char [noderef] [usertype] __iomem * @@
   drivers/mtd/nand/raw/nuvoton_ma35d1_nand.c:506:28: sparse:     expected 
unsigned char [usertype] *ptr
   drivers/mtd/nand/raw/nuvoton_ma35d1_nand.c:506:28: sparse:     got unsigned 
char [noderef] [usertype] __iomem *
   drivers/mtd/nand/raw/nuvoton_ma35d1_nand.c:506:28: sparse: sparse: incorrect 
type in initializer (different address spaces) @@     expected unsigned char 
[usertype] *ptr @@     got unsigned char [noderef] [usertype] __iomem * @@
   drivers/mtd/nand/raw/nuvoton_ma35d1_nand.c:506:28: sparse:     expected 
unsigned char [usertype] *ptr
   drivers/mtd/nand/raw/nuvoton_ma35d1_nand.c:506:28: sparse:     got unsigned 
char [noderef] [usertype] __iomem *

vim +736 drivers/mtd/nand/raw/nuvoton_ma35d1_nand.c

   731  
   732  static int ma35_nand_write_page_hwecc(struct nand_chip *chip, const u8 
*buf,
   733                                        int oob_required, int page)
   734  {
   735          struct ma35_nand_info *nand = nand_get_controller_data(chip);
 > 736          u8 *ptr = (u8 __iomem *)(nand->regs + MA35_NFI_REG_NANDRA0);
   737          struct mtd_info *mtd = nand_to_mtd(chip);
   738          u8 *ecc_calc = chip->ecc.calc_buf;
   739  
   740          memset((void *)ptr, 0xFF, mtd->oobsize);
   741          memcpy((void *)ptr, (void *)chip->oob_poi, mtd->oobsize - 
chip->ecc.total);
   742  
   743          ma35_nand_command(chip, NAND_CMD_SEQIN, 0, page);
   744          ma35_nand_dma_transfer(chip, buf, mtd->writesize, 0x1);
   745          ma35_nand_command(chip, NAND_CMD_PAGEPROG, -1, -1);
   746          ma35_waitfunc(chip);
   747  
   748          /* Copy parity code in NANDRA to calc */
   749          memcpy((void *)ecc_calc,
   750                  (void *)(ptr + (mtd->oobsize - chip->ecc.total)),
   751                  chip->ecc.total);
   752  
   753          /* Copy parity code in calc to oob_poi */
   754          memcpy((void *)(chip->oob_poi + (mtd->oobsize - 
chip->ecc.total)),
   755                  (void *)ecc_calc, chip->ecc.total);
   756  
   757          return 0;
   758  }
   759  
   760  static int ma35_nand_read_page_hwecc_oob_first(struct nand_chip *chip, 
u8 *buf,
   761                                                  int oob_required, int 
page)
   762  {
   763          struct ma35_nand_info *nand = nand_get_controller_data(chip);
 > 764          char *ptr = (char __iomem *)(nand->regs + MA35_NFI_REG_NANDRA0);
   765          struct mtd_info *mtd = nand_to_mtd(chip);
   766  
   767          /* 1. read the OOB area  */
   768          ma35_nand_command(chip, NAND_CMD_READOOB, 0, page);
   769          ma35_nand_read_buf(chip, chip->oob_poi, mtd->oobsize);
   770  
   771          /* 2. copy OOB data to NANDRA for page read */
   772          memcpy((void *)ptr, (void *)chip->oob_poi, mtd->oobsize);
   773  
   774          if ((*(ptr+2) != 0) && (*(ptr+3) != 0))
   775                  memset((void *)buf, 0xff, mtd->writesize);
   776          else {
   777                  /* 3. read data from nand */
   778                  ma35_nand_command(chip, NAND_CMD_READ0, 0, page);
   779                  ma35_nand_dma_transfer(chip, buf, mtd->writesize, 0x0);
   780  
   781                  /* 4. restore OOB data from SMRA */
   782                  memcpy((void *)chip->oob_poi, (void *)ptr, 
mtd->oobsize);
   783          }
   784  
   785          return 0;
   786  }
   787  

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

Reply via email to