All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
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

  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.