From: kernel test robot <lkp@intel.com>
To: Tony Huang <tonyhuang.sunplus@gmail.com>,
robh+dt@kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, derek.kiernan@xilinx.com,
dragan.cvetic@xilinx.com, arnd@arndb.de,
gregkh@linuxfoundation.org
Cc: kbuild-all@lists.01.org, tony.huang@sunplus.com,
wells.lu@sunplus.com, Tony Huang <tonyhuang.sunplus@gmail.com>
Subject: Re: [PATCH v5 2/2] misc: Add iop driver for Sunplus SP7021
Date: Sun, 26 Dec 2021 19:29:46 +0800 [thread overview]
Message-ID: <202112261932.8hwlDwCu-lkp@intel.com> (raw)
In-Reply-To: <75e44cae76b74b16c1e178d2d6bb18a332179bc9.1640332430.git.tonyhuang.sunplus@gmail.com>
Hi Tony,
I love your patch! Perhaps something to improve:
[auto build test WARNING on char-misc/char-misc-testing]
[also build test WARNING on robh/for-next linux/master linus/master v5.16-rc6 next-20211224]
[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/Tony-Huang/Add-iop-driver-for-Sunplus-SP7021/20211224-163743
base: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git 1bb866dcb8cf5054de88f592fc0ec1f275ad9d63
config: powerpc64-randconfig-s032-20211226 (https://download.01.org/0day-ci/archive/20211226/202112261932.8hwlDwCu-lkp@intel.com/config)
compiler: powerpc64le-linux-gcc (GCC) 11.2.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.4-dirty
# https://github.com/0day-ci/linux/commit/a75af7615fe0101c6f3742afc005a39c66b00864
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Tony-Huang/Add-iop-driver-for-Sunplus-SP7021/20211224-163743
git checkout a75af7615fe0101c6f3742afc005a39c66b00864
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=powerpc SHELL=/bin/bash drivers/misc/ drivers/pinctrl/nuvoton/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
sparse warnings: (new ones prefixed by >>)
drivers/misc/sunplus_iop.c:94:39: sparse: sparse: cast removes address space '__iomem' of expression
drivers/misc/sunplus_iop.c:95:43: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/misc/sunplus_iop.c:100:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *p @@ got void [noderef] __iomem *[assigned] iop_kernel_base @@
drivers/misc/sunplus_iop.c:100:16: sparse: expected void *p
drivers/misc/sunplus_iop.c:100:16: sparse: got void [noderef] __iomem *[assigned] iop_kernel_base
drivers/misc/sunplus_iop.c:101:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *p @@ got void [noderef] __iomem *[assigned] iop_kernel_base @@
drivers/misc/sunplus_iop.c:101:16: sparse: expected void *p
drivers/misc/sunplus_iop.c:101:16: sparse: got void [noderef] __iomem *[assigned] iop_kernel_base
drivers/misc/sunplus_iop.c:103:47: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/misc/sunplus_iop.c:103:47: sparse: expected void volatile [noderef] __iomem *addr
drivers/misc/sunplus_iop.c:103:47: sparse: got unsigned int *
drivers/misc/sunplus_iop.c:105:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/misc/sunplus_iop.c:105:22: sparse: expected void const volatile [noderef] __iomem *addr
drivers/misc/sunplus_iop.c:105:22: sparse: got unsigned int *
drivers/misc/sunplus_iop.c:107:22: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/misc/sunplus_iop.c:107:22: sparse: expected void volatile [noderef] __iomem *addr
drivers/misc/sunplus_iop.c:107:22: sparse: got unsigned int *
drivers/misc/sunplus_iop.c:109:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/misc/sunplus_iop.c:109:22: sparse: expected void const volatile [noderef] __iomem *addr
drivers/misc/sunplus_iop.c:109:22: sparse: got unsigned int *
drivers/misc/sunplus_iop.c:111:22: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/misc/sunplus_iop.c:111:22: sparse: expected void volatile [noderef] __iomem *addr
drivers/misc/sunplus_iop.c:111:22: sparse: got unsigned int *
drivers/misc/sunplus_iop.c:113:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/misc/sunplus_iop.c:113:22: sparse: expected void const volatile [noderef] __iomem *addr
drivers/misc/sunplus_iop.c:113:22: sparse: got unsigned int *
drivers/misc/sunplus_iop.c:115:22: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/misc/sunplus_iop.c:115:22: sparse: expected void volatile [noderef] __iomem *addr
drivers/misc/sunplus_iop.c:115:22: sparse: got unsigned int *
drivers/misc/sunplus_iop.c:118:22: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/misc/sunplus_iop.c:118:22: sparse: expected void volatile [noderef] __iomem *addr
drivers/misc/sunplus_iop.c:118:22: sparse: got unsigned int *
drivers/misc/sunplus_iop.c:120:22: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/misc/sunplus_iop.c:120:22: sparse: expected void volatile [noderef] __iomem *addr
drivers/misc/sunplus_iop.c:120:22: sparse: got unsigned int *
drivers/misc/sunplus_iop.c:122:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/misc/sunplus_iop.c:122:22: sparse: expected void const volatile [noderef] __iomem *addr
drivers/misc/sunplus_iop.c:122:22: sparse: got unsigned int *
drivers/misc/sunplus_iop.c:124:22: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/misc/sunplus_iop.c:124:22: sparse: expected void volatile [noderef] __iomem *addr
drivers/misc/sunplus_iop.c:124:22: sparse: got unsigned int *
drivers/misc/sunplus_iop.c:130:39: sparse: sparse: cast removes address space '__iomem' of expression
drivers/misc/sunplus_iop.c:131:43: sparse: sparse: cast removes address space '__iomem' of expression
drivers/misc/sunplus_iop.c:136:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *p @@ got void [noderef] __iomem *[assigned] iop_kernel_base @@
drivers/misc/sunplus_iop.c:136:16: sparse: expected void *p
drivers/misc/sunplus_iop.c:136:16: sparse: got void [noderef] __iomem *[assigned] iop_kernel_base
drivers/misc/sunplus_iop.c:137:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *p @@ got void [noderef] __iomem *[assigned] iop_kernel_base @@
drivers/misc/sunplus_iop.c:137:16: sparse: expected void *p
drivers/misc/sunplus_iop.c:137:16: sparse: got void [noderef] __iomem *[assigned] iop_kernel_base
drivers/misc/sunplus_iop.c:139:47: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/misc/sunplus_iop.c:139:47: sparse: expected void volatile [noderef] __iomem *addr
drivers/misc/sunplus_iop.c:139:47: sparse: got unsigned int *
drivers/misc/sunplus_iop.c:141:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/misc/sunplus_iop.c:141:22: sparse: expected void const volatile [noderef] __iomem *addr
drivers/misc/sunplus_iop.c:141:22: sparse: got unsigned int *
drivers/misc/sunplus_iop.c:143:22: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/misc/sunplus_iop.c:143:22: sparse: expected void volatile [noderef] __iomem *addr
drivers/misc/sunplus_iop.c:143:22: sparse: got unsigned int *
drivers/misc/sunplus_iop.c:145:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/misc/sunplus_iop.c:145:22: sparse: expected void const volatile [noderef] __iomem *addr
drivers/misc/sunplus_iop.c:145:22: sparse: got unsigned int *
drivers/misc/sunplus_iop.c:147:22: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/misc/sunplus_iop.c:147:22: sparse: expected void volatile [noderef] __iomem *addr
drivers/misc/sunplus_iop.c:147:22: sparse: got unsigned int *
drivers/misc/sunplus_iop.c:149:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/misc/sunplus_iop.c:149:22: sparse: expected void const volatile [noderef] __iomem *addr
drivers/misc/sunplus_iop.c:149:22: sparse: got unsigned int *
drivers/misc/sunplus_iop.c:151:22: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/misc/sunplus_iop.c:151:22: sparse: expected void volatile [noderef] __iomem *addr
drivers/misc/sunplus_iop.c:151:22: sparse: got unsigned int *
drivers/misc/sunplus_iop.c:154:22: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/misc/sunplus_iop.c:154:22: sparse: expected void volatile [noderef] __iomem *addr
drivers/misc/sunplus_iop.c:154:22: sparse: got unsigned int *
drivers/misc/sunplus_iop.c:156:22: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/misc/sunplus_iop.c:156:22: sparse: expected void volatile [noderef] __iomem *addr
drivers/misc/sunplus_iop.c:156:22: sparse: got unsigned int *
drivers/misc/sunplus_iop.c:158:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/misc/sunplus_iop.c:158:22: sparse: expected void const volatile [noderef] __iomem *addr
drivers/misc/sunplus_iop.c:158:22: sparse: got unsigned int *
drivers/misc/sunplus_iop.c:160:22: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/misc/sunplus_iop.c:160:22: sparse: expected void volatile [noderef] __iomem *addr
drivers/misc/sunplus_iop.c:160:22: sparse: got unsigned int *
drivers/misc/sunplus_iop.c:171:39: sparse: sparse: cast removes address space '__iomem' of expression
drivers/misc/sunplus_iop.c:172:43: sparse: sparse: cast removes address space '__iomem' of expression
drivers/misc/sunplus_iop.c:173:47: sparse: sparse: cast removes address space '__iomem' of expression
drivers/misc/sunplus_iop.c:177:47: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/misc/sunplus_iop.c:177:47: sparse: expected void volatile [noderef] __iomem *addr
drivers/misc/sunplus_iop.c:177:47: sparse: got unsigned int *
drivers/misc/sunplus_iop.c:179:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/misc/sunplus_iop.c:179:22: sparse: expected void const volatile [noderef] __iomem *addr
drivers/misc/sunplus_iop.c:179:22: sparse: got unsigned int *
drivers/misc/sunplus_iop.c:181:22: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/misc/sunplus_iop.c:181:22: sparse: expected void volatile [noderef] __iomem *addr
drivers/misc/sunplus_iop.c:181:22: sparse: got unsigned int *
drivers/misc/sunplus_iop.c:183:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/misc/sunplus_iop.c:183:22: sparse: expected void const volatile [noderef] __iomem *addr
drivers/misc/sunplus_iop.c:183:22: sparse: got unsigned int *
drivers/misc/sunplus_iop.c:185:22: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/misc/sunplus_iop.c:185:22: sparse: expected void volatile [noderef] __iomem *addr
drivers/misc/sunplus_iop.c:185:22: sparse: got unsigned int *
drivers/misc/sunplus_iop.c:188:29: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/misc/sunplus_iop.c:188:29: sparse: expected void volatile [noderef] __iomem *addr
drivers/misc/sunplus_iop.c:188:29: sparse: got unsigned int *
vim +100 drivers/misc/sunplus_iop.c
91
92 static void sp_iop_normal_mode(struct sp_iop *iop)
93 {
94 struct regs_iop *p_iop_reg = (struct regs_iop *)iop->iop_regs;
95 struct regs_moon0 *p_moon0_reg = (struct regs_moon0 *)iop->moon0_regs;
96 void __iomem *iop_kernel_base;
97 unsigned int reg;
98
99 iop_kernel_base = ioremap(iop->iop_mem_start, NORMAL_CODE_MAX_SIZE);
> 100 memset(iop_kernel_base, 0, NORMAL_CODE_MAX_SIZE);
101 memcpy(iop_kernel_base, iop->iop_normal_code, NORMAL_CODE_MAX_SIZE);
102
103 writel(0x00100010, &p_moon0_reg->clken[0]);
104
105 reg = readl(&p_iop_reg->iop_control);
106 reg |= 0x01;
107 writel(reg, &p_iop_reg->iop_control);
108
109 reg = readl(&p_iop_reg->iop_control);
110 reg &= ~(0x8000);
111 writel(reg, &p_iop_reg->iop_control);
112
113 reg = readl(&p_iop_reg->iop_control);
114 reg |= 0x0200;//disable watchdog event reset IOP
115 writel(reg, &p_iop_reg->iop_control);
116
117 reg = (iop->iop_mem_start & 0xFFFF);
118 writel(reg, &p_iop_reg->iop_base_adr_l);
119 reg = (iop->iop_mem_start >> 16);
120 writel(reg, &p_iop_reg->iop_base_adr_h);
121
122 reg = readl(&p_iop_reg->iop_control);
123 reg &= ~(0x01);
124 writel(reg, &p_iop_reg->iop_control);
125 iop->mode = 0;
126 }
127
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH v5 2/2] misc: Add iop driver for Sunplus SP7021
Date: Sun, 26 Dec 2021 19:29:46 +0800 [thread overview]
Message-ID: <202112261932.8hwlDwCu-lkp@intel.com> (raw)
In-Reply-To: <75e44cae76b74b16c1e178d2d6bb18a332179bc9.1640332430.git.tonyhuang.sunplus@gmail.com>
[-- Attachment #1: Type: text/plain, Size: 15837 bytes --]
Hi Tony,
I love your patch! Perhaps something to improve:
[auto build test WARNING on char-misc/char-misc-testing]
[also build test WARNING on robh/for-next linux/master linus/master v5.16-rc6 next-20211224]
[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/Tony-Huang/Add-iop-driver-for-Sunplus-SP7021/20211224-163743
base: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc.git 1bb866dcb8cf5054de88f592fc0ec1f275ad9d63
config: powerpc64-randconfig-s032-20211226 (https://download.01.org/0day-ci/archive/20211226/202112261932.8hwlDwCu-lkp(a)intel.com/config)
compiler: powerpc64le-linux-gcc (GCC) 11.2.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.4-dirty
# https://github.com/0day-ci/linux/commit/a75af7615fe0101c6f3742afc005a39c66b00864
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Tony-Huang/Add-iop-driver-for-Sunplus-SP7021/20211224-163743
git checkout a75af7615fe0101c6f3742afc005a39c66b00864
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=powerpc SHELL=/bin/bash drivers/misc/ drivers/pinctrl/nuvoton/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
sparse warnings: (new ones prefixed by >>)
drivers/misc/sunplus_iop.c:94:39: sparse: sparse: cast removes address space '__iomem' of expression
drivers/misc/sunplus_iop.c:95:43: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/misc/sunplus_iop.c:100:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *p @@ got void [noderef] __iomem *[assigned] iop_kernel_base @@
drivers/misc/sunplus_iop.c:100:16: sparse: expected void *p
drivers/misc/sunplus_iop.c:100:16: sparse: got void [noderef] __iomem *[assigned] iop_kernel_base
drivers/misc/sunplus_iop.c:101:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *p @@ got void [noderef] __iomem *[assigned] iop_kernel_base @@
drivers/misc/sunplus_iop.c:101:16: sparse: expected void *p
drivers/misc/sunplus_iop.c:101:16: sparse: got void [noderef] __iomem *[assigned] iop_kernel_base
drivers/misc/sunplus_iop.c:103:47: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/misc/sunplus_iop.c:103:47: sparse: expected void volatile [noderef] __iomem *addr
drivers/misc/sunplus_iop.c:103:47: sparse: got unsigned int *
drivers/misc/sunplus_iop.c:105:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/misc/sunplus_iop.c:105:22: sparse: expected void const volatile [noderef] __iomem *addr
drivers/misc/sunplus_iop.c:105:22: sparse: got unsigned int *
drivers/misc/sunplus_iop.c:107:22: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/misc/sunplus_iop.c:107:22: sparse: expected void volatile [noderef] __iomem *addr
drivers/misc/sunplus_iop.c:107:22: sparse: got unsigned int *
drivers/misc/sunplus_iop.c:109:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/misc/sunplus_iop.c:109:22: sparse: expected void const volatile [noderef] __iomem *addr
drivers/misc/sunplus_iop.c:109:22: sparse: got unsigned int *
drivers/misc/sunplus_iop.c:111:22: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/misc/sunplus_iop.c:111:22: sparse: expected void volatile [noderef] __iomem *addr
drivers/misc/sunplus_iop.c:111:22: sparse: got unsigned int *
drivers/misc/sunplus_iop.c:113:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/misc/sunplus_iop.c:113:22: sparse: expected void const volatile [noderef] __iomem *addr
drivers/misc/sunplus_iop.c:113:22: sparse: got unsigned int *
drivers/misc/sunplus_iop.c:115:22: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/misc/sunplus_iop.c:115:22: sparse: expected void volatile [noderef] __iomem *addr
drivers/misc/sunplus_iop.c:115:22: sparse: got unsigned int *
drivers/misc/sunplus_iop.c:118:22: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/misc/sunplus_iop.c:118:22: sparse: expected void volatile [noderef] __iomem *addr
drivers/misc/sunplus_iop.c:118:22: sparse: got unsigned int *
drivers/misc/sunplus_iop.c:120:22: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/misc/sunplus_iop.c:120:22: sparse: expected void volatile [noderef] __iomem *addr
drivers/misc/sunplus_iop.c:120:22: sparse: got unsigned int *
drivers/misc/sunplus_iop.c:122:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/misc/sunplus_iop.c:122:22: sparse: expected void const volatile [noderef] __iomem *addr
drivers/misc/sunplus_iop.c:122:22: sparse: got unsigned int *
drivers/misc/sunplus_iop.c:124:22: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/misc/sunplus_iop.c:124:22: sparse: expected void volatile [noderef] __iomem *addr
drivers/misc/sunplus_iop.c:124:22: sparse: got unsigned int *
drivers/misc/sunplus_iop.c:130:39: sparse: sparse: cast removes address space '__iomem' of expression
drivers/misc/sunplus_iop.c:131:43: sparse: sparse: cast removes address space '__iomem' of expression
drivers/misc/sunplus_iop.c:136:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *p @@ got void [noderef] __iomem *[assigned] iop_kernel_base @@
drivers/misc/sunplus_iop.c:136:16: sparse: expected void *p
drivers/misc/sunplus_iop.c:136:16: sparse: got void [noderef] __iomem *[assigned] iop_kernel_base
drivers/misc/sunplus_iop.c:137:16: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void *p @@ got void [noderef] __iomem *[assigned] iop_kernel_base @@
drivers/misc/sunplus_iop.c:137:16: sparse: expected void *p
drivers/misc/sunplus_iop.c:137:16: sparse: got void [noderef] __iomem *[assigned] iop_kernel_base
drivers/misc/sunplus_iop.c:139:47: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/misc/sunplus_iop.c:139:47: sparse: expected void volatile [noderef] __iomem *addr
drivers/misc/sunplus_iop.c:139:47: sparse: got unsigned int *
drivers/misc/sunplus_iop.c:141:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/misc/sunplus_iop.c:141:22: sparse: expected void const volatile [noderef] __iomem *addr
drivers/misc/sunplus_iop.c:141:22: sparse: got unsigned int *
drivers/misc/sunplus_iop.c:143:22: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/misc/sunplus_iop.c:143:22: sparse: expected void volatile [noderef] __iomem *addr
drivers/misc/sunplus_iop.c:143:22: sparse: got unsigned int *
drivers/misc/sunplus_iop.c:145:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/misc/sunplus_iop.c:145:22: sparse: expected void const volatile [noderef] __iomem *addr
drivers/misc/sunplus_iop.c:145:22: sparse: got unsigned int *
drivers/misc/sunplus_iop.c:147:22: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/misc/sunplus_iop.c:147:22: sparse: expected void volatile [noderef] __iomem *addr
drivers/misc/sunplus_iop.c:147:22: sparse: got unsigned int *
drivers/misc/sunplus_iop.c:149:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/misc/sunplus_iop.c:149:22: sparse: expected void const volatile [noderef] __iomem *addr
drivers/misc/sunplus_iop.c:149:22: sparse: got unsigned int *
drivers/misc/sunplus_iop.c:151:22: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/misc/sunplus_iop.c:151:22: sparse: expected void volatile [noderef] __iomem *addr
drivers/misc/sunplus_iop.c:151:22: sparse: got unsigned int *
drivers/misc/sunplus_iop.c:154:22: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/misc/sunplus_iop.c:154:22: sparse: expected void volatile [noderef] __iomem *addr
drivers/misc/sunplus_iop.c:154:22: sparse: got unsigned int *
drivers/misc/sunplus_iop.c:156:22: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/misc/sunplus_iop.c:156:22: sparse: expected void volatile [noderef] __iomem *addr
drivers/misc/sunplus_iop.c:156:22: sparse: got unsigned int *
drivers/misc/sunplus_iop.c:158:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/misc/sunplus_iop.c:158:22: sparse: expected void const volatile [noderef] __iomem *addr
drivers/misc/sunplus_iop.c:158:22: sparse: got unsigned int *
drivers/misc/sunplus_iop.c:160:22: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/misc/sunplus_iop.c:160:22: sparse: expected void volatile [noderef] __iomem *addr
drivers/misc/sunplus_iop.c:160:22: sparse: got unsigned int *
drivers/misc/sunplus_iop.c:171:39: sparse: sparse: cast removes address space '__iomem' of expression
drivers/misc/sunplus_iop.c:172:43: sparse: sparse: cast removes address space '__iomem' of expression
drivers/misc/sunplus_iop.c:173:47: sparse: sparse: cast removes address space '__iomem' of expression
drivers/misc/sunplus_iop.c:177:47: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/misc/sunplus_iop.c:177:47: sparse: expected void volatile [noderef] __iomem *addr
drivers/misc/sunplus_iop.c:177:47: sparse: got unsigned int *
drivers/misc/sunplus_iop.c:179:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/misc/sunplus_iop.c:179:22: sparse: expected void const volatile [noderef] __iomem *addr
drivers/misc/sunplus_iop.c:179:22: sparse: got unsigned int *
drivers/misc/sunplus_iop.c:181:22: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/misc/sunplus_iop.c:181:22: sparse: expected void volatile [noderef] __iomem *addr
drivers/misc/sunplus_iop.c:181:22: sparse: got unsigned int *
drivers/misc/sunplus_iop.c:183:22: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void const volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/misc/sunplus_iop.c:183:22: sparse: expected void const volatile [noderef] __iomem *addr
drivers/misc/sunplus_iop.c:183:22: sparse: got unsigned int *
drivers/misc/sunplus_iop.c:185:22: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/misc/sunplus_iop.c:185:22: sparse: expected void volatile [noderef] __iomem *addr
drivers/misc/sunplus_iop.c:185:22: sparse: got unsigned int *
drivers/misc/sunplus_iop.c:188:29: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got unsigned int * @@
drivers/misc/sunplus_iop.c:188:29: sparse: expected void volatile [noderef] __iomem *addr
drivers/misc/sunplus_iop.c:188:29: sparse: got unsigned int *
vim +100 drivers/misc/sunplus_iop.c
91
92 static void sp_iop_normal_mode(struct sp_iop *iop)
93 {
94 struct regs_iop *p_iop_reg = (struct regs_iop *)iop->iop_regs;
95 struct regs_moon0 *p_moon0_reg = (struct regs_moon0 *)iop->moon0_regs;
96 void __iomem *iop_kernel_base;
97 unsigned int reg;
98
99 iop_kernel_base = ioremap(iop->iop_mem_start, NORMAL_CODE_MAX_SIZE);
> 100 memset(iop_kernel_base, 0, NORMAL_CODE_MAX_SIZE);
101 memcpy(iop_kernel_base, iop->iop_normal_code, NORMAL_CODE_MAX_SIZE);
102
103 writel(0x00100010, &p_moon0_reg->clken[0]);
104
105 reg = readl(&p_iop_reg->iop_control);
106 reg |= 0x01;
107 writel(reg, &p_iop_reg->iop_control);
108
109 reg = readl(&p_iop_reg->iop_control);
110 reg &= ~(0x8000);
111 writel(reg, &p_iop_reg->iop_control);
112
113 reg = readl(&p_iop_reg->iop_control);
114 reg |= 0x0200;//disable watchdog event reset IOP
115 writel(reg, &p_iop_reg->iop_control);
116
117 reg = (iop->iop_mem_start & 0xFFFF);
118 writel(reg, &p_iop_reg->iop_base_adr_l);
119 reg = (iop->iop_mem_start >> 16);
120 writel(reg, &p_iop_reg->iop_base_adr_h);
121
122 reg = readl(&p_iop_reg->iop_control);
123 reg &= ~(0x01);
124 writel(reg, &p_iop_reg->iop_control);
125 iop->mode = 0;
126 }
127
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
next prev parent reply other threads:[~2021-12-26 11:30 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-24 8:35 [PATCH v5 0/2] Add iop driver for Sunplus SP7021 Tony Huang
2021-12-24 8:35 ` [PATCH v5 1/2] dt-binding: misc: Add iop yaml file " Tony Huang
2021-12-27 16:43 ` Rob Herring
2021-12-29 1:57 ` Tony Huang 黃懷厚
2021-12-24 8:35 ` [PATCH v5 2/2] misc: Add iop driver " Tony Huang
2021-12-24 9:30 ` Greg KH
2021-12-26 11:29 ` kernel test robot [this message]
2021-12-26 11:29 ` kernel test robot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202112261932.8hwlDwCu-lkp@intel.com \
--to=lkp@intel.com \
--cc=arnd@arndb.de \
--cc=derek.kiernan@xilinx.com \
--cc=devicetree@vger.kernel.org \
--cc=dragan.cvetic@xilinx.com \
--cc=gregkh@linuxfoundation.org \
--cc=kbuild-all@lists.01.org \
--cc=linux-kernel@vger.kernel.org \
--cc=robh+dt@kernel.org \
--cc=tony.huang@sunplus.com \
--cc=tonyhuang.sunplus@gmail.com \
--cc=wells.lu@sunplus.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.