Re: [PATCH 2/8] VMCI: dma dg: add MMIO access to registers

From: kernel test robot
Date: Wed Feb 02 2022 - 16:18:32 EST


Hi Jorgen,

I love your patch! Perhaps something to improve:

[auto build test WARNING on char-misc/char-misc-testing]
[also build test WARNING on linux/master linus/master v5.17-rc2 next-20220202]
[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]

url: https://github.com/0day-ci/linux/commits/Jorgen-Hansen/VMCI-dma-dg-Add-support-for-DMA-datagrams/20220202-230034
base: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git 7ab004dbcbee38b8a70798835d3ffcd97a985a5e
config: i386-randconfig-s002 (https://download.01.org/0day-ci/archive/20220203/202202030509.ZJep87ms-lkp@xxxxxxxxx/config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.4-dirty
# https://github.com/0day-ci/linux/commit/f2afd39bab80c2e42ac789f6d949d779411df928
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Jorgen-Hansen/VMCI-dma-dg-Add-support-for-DMA-datagrams/20220202-230034
git checkout f2afd39bab80c2e42ac789f6d949d779411df928
# save the config file to linux build tree
mkdir build_dir
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=i386 SHELL=/bin/bash drivers/misc/vmw_vmci/

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/misc/vmw_vmci/vmci_guest.c:96:45: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got char * @@
drivers/misc/vmw_vmci/vmci_guest.c:96:45: sparse: expected void const volatile [noderef] __iomem *addr
drivers/misc/vmw_vmci/vmci_guest.c:96:45: sparse: got char *
>> drivers/misc/vmw_vmci/vmci_guest.c:93:14: sparse: sparse: symbol 'vmci_read_reg' was not declared. Should it be static?
>> drivers/misc/vmw_vmci/vmci_guest.c:103:44: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got char * @@
drivers/misc/vmw_vmci/vmci_guest.c:103:44: sparse: expected void volatile [noderef] __iomem *addr
drivers/misc/vmw_vmci/vmci_guest.c:103:44: sparse: got char *
>> drivers/misc/vmw_vmci/vmci_guest.c:100:6: sparse: sparse: symbol 'vmci_write_reg' was not declared. Should it be static?
>> drivers/misc/vmw_vmci/vmci_guest.c:473:27: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected char *mmio_base @@ got void [noderef] __iomem * @@
drivers/misc/vmw_vmci/vmci_guest.c:473:27: sparse: expected char *mmio_base
drivers/misc/vmw_vmci/vmci_guest.c:473:27: sparse: got void [noderef] __iomem *

Please review and possibly fold the followup patch.

vim +96 drivers/misc/vmw_vmci/vmci_guest.c

92
> 93 unsigned int vmci_read_reg(struct vmci_guest_device *dev, u32 reg)
94 {
95 if (dev->mmio_base != NULL)
> 96 return readl(dev->mmio_base + reg);
97 return ioread32(dev->iobase + reg);
98 }
99
> 100 void vmci_write_reg(struct vmci_guest_device *dev, u32 val, u32 reg)
101 {
102 if (dev->mmio_base != NULL)
> 103 writel(val, dev->mmio_base + reg);
104 else
105 iowrite32(val, dev->iobase + reg);
106 }
107

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