drivers/dma/sun6i-dma.c:244:45: sparse: sparse: incorrect type in argument 1 (different address spaces)

From: kernel test robot
Date: Mon Aug 24 2020 - 15:13:18 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: d012a7190fc1fd72ed48911e77ca97ba4521bccd
commit: 670d0a4b10704667765f7d18f7592993d02783aa sparse: use identifiers to define address spaces
date: 10 weeks ago
config: m68k-randconfig-s031-20200824 (attached as .config)
compiler: m68k-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# apt-get install sparse
# sparse version: v0.6.2-191-g10164920-dirty
git checkout 670d0a4b10704667765f7d18f7592993d02783aa
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=m68k

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


sparse warnings: (new ones prefixed by >>)

drivers/dma/sun6i-dma.c:297:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/sun6i-dma.c:302:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/sun6i-dma.c:348:15: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/sun6i-dma.c:349:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/sun6i-dma.c:455:19: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/sun6i-dma.c:459:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/sun6i-dma.c:461:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/sun6i-dma.c:462:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/sun6i-dma.c:544:26: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/sun6i-dma.c:551:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/sun6i-dma.c:848:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/sun6i-dma.c:871:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/sun6i-dma.c:911:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/sun6i-dma.c:912:17: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/sun6i-dma.c:228:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/sun6i-dma.c:228:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/sun6i-dma.c:228:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/sun6i-dma.c:228:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/sun6i-dma.c:228:9: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/dma/sun6i-dma.c:244:45: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *address @@ got void [noderef] __iomem *base @@
drivers/dma/sun6i-dma.c:244:45: sparse: expected void *address
drivers/dma/sun6i-dma.c:244:45: sparse: got void [noderef] __iomem *base
drivers/dma/sun6i-dma.c:246:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/sun6i-dma.c:246:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/sun6i-dma.c:246:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/sun6i-dma.c:246:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/sun6i-dma.c:246:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/sun6i-dma.c:246:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/sun6i-dma.c:246:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/sun6i-dma.c:246:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/sun6i-dma.c:1029:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/sun6i-dma.c:1030:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/sun6i-dma.c:1029:9: sparse: sparse: cast removes address space '__iomem' of expression
drivers/dma/sun6i-dma.c:1030:9: sparse: sparse: cast removes address space '__iomem' of expression

# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=670d0a4b10704667765f7d18f7592993d02783aa
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 670d0a4b10704667765f7d18f7592993d02783aa
vim +244 drivers/dma/sun6i-dma.c

555859308723d8 Maxime Ripard 2014-07-17 240
555859308723d8 Maxime Ripard 2014-07-17 241 static inline void sun6i_dma_dump_chan_regs(struct sun6i_dma_dev *sdev,
555859308723d8 Maxime Ripard 2014-07-17 242 struct sun6i_pchan *pchan)
555859308723d8 Maxime Ripard 2014-07-17 243 {
42c0d54e623695 Vinod Koul 2014-07-28 @244 phys_addr_t reg = virt_to_phys(pchan->base);
555859308723d8 Maxime Ripard 2014-07-17 245
555859308723d8 Maxime Ripard 2014-07-17 246 dev_dbg(sdev->slave.dev, "Chan %d reg: %pa\n"
555859308723d8 Maxime Ripard 2014-07-17 247 "\t___en(%04x): \t0x%08x\n"
555859308723d8 Maxime Ripard 2014-07-17 248 "\tpause(%04x): \t0x%08x\n"
555859308723d8 Maxime Ripard 2014-07-17 249 "\tstart(%04x): \t0x%08x\n"
555859308723d8 Maxime Ripard 2014-07-17 250 "\t__cfg(%04x): \t0x%08x\n"
555859308723d8 Maxime Ripard 2014-07-17 251 "\t__src(%04x): \t0x%08x\n"
555859308723d8 Maxime Ripard 2014-07-17 252 "\t__dst(%04x): \t0x%08x\n"
555859308723d8 Maxime Ripard 2014-07-17 253 "\tcount(%04x): \t0x%08x\n"
555859308723d8 Maxime Ripard 2014-07-17 254 "\t_para(%04x): \t0x%08x\n\n",
555859308723d8 Maxime Ripard 2014-07-17 255 pchan->idx, &reg,
555859308723d8 Maxime Ripard 2014-07-17 256 DMA_CHAN_ENABLE,
555859308723d8 Maxime Ripard 2014-07-17 257 readl(pchan->base + DMA_CHAN_ENABLE),
555859308723d8 Maxime Ripard 2014-07-17 258 DMA_CHAN_PAUSE,
555859308723d8 Maxime Ripard 2014-07-17 259 readl(pchan->base + DMA_CHAN_PAUSE),
555859308723d8 Maxime Ripard 2014-07-17 260 DMA_CHAN_LLI_ADDR,
555859308723d8 Maxime Ripard 2014-07-17 261 readl(pchan->base + DMA_CHAN_LLI_ADDR),
555859308723d8 Maxime Ripard 2014-07-17 262 DMA_CHAN_CUR_CFG,
555859308723d8 Maxime Ripard 2014-07-17 263 readl(pchan->base + DMA_CHAN_CUR_CFG),
555859308723d8 Maxime Ripard 2014-07-17 264 DMA_CHAN_CUR_SRC,
555859308723d8 Maxime Ripard 2014-07-17 265 readl(pchan->base + DMA_CHAN_CUR_SRC),
555859308723d8 Maxime Ripard 2014-07-17 266 DMA_CHAN_CUR_DST,
555859308723d8 Maxime Ripard 2014-07-17 267 readl(pchan->base + DMA_CHAN_CUR_DST),
555859308723d8 Maxime Ripard 2014-07-17 268 DMA_CHAN_CUR_CNT,
555859308723d8 Maxime Ripard 2014-07-17 269 readl(pchan->base + DMA_CHAN_CUR_CNT),
555859308723d8 Maxime Ripard 2014-07-17 270 DMA_CHAN_CUR_PARA,
555859308723d8 Maxime Ripard 2014-07-17 271 readl(pchan->base + DMA_CHAN_CUR_PARA));
555859308723d8 Maxime Ripard 2014-07-17 272 }
555859308723d8 Maxime Ripard 2014-07-17 273

:::::: The code at line 244 was first introduced by commit
:::::: 42c0d54e62369584f2491f072f405602ff504e0e dmaengine: sun6i: fix build failure on x86, xilinx targets

:::::: TO: Vinod Koul <vinod.koul@xxxxxxxxx>
:::::: CC: Vinod Koul <vinod.koul@xxxxxxxxx>

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

Attachment: .config.gz
Description: application/gzip