All of lore.kernel.org
 help / color / mirror / Atom feed
* drivers/clk/clk-hsdk-pll.c:407:24: sparse: expected void
@ 2020-07-10  4:12 ` kernel test robot
  0 siblings, 0 replies; 5+ messages in thread
From: kernel test robot @ 2020-07-10  4:12 UTC (permalink / raw)
  To: Stephen Boyd; +Cc: kbuild-all, linux-kernel, Mark Brown, Arnd Bergmann

[-- Attachment #1: Type: text/plain, Size: 6486 bytes --]

Hi Stephen,

First bad commit (maybe != root cause):

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   0bddd227f3dc55975e2b8dfa7fc6f959b062a2c7
commit: bbd7ffdbef6888459f301c5889f3b14ada38b913 clk: Allow the common clk framework to be selectable
date:   9 weeks ago
config: openrisc-randconfig-s031-20200710 (attached as .config)
compiler: or1k-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-37-gc9676a3b-dirty
        git checkout bbd7ffdbef6888459f301c5889f3b14ada38b913
        # 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=openrisc 

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/clk/clk-hsdk-pll.c:407:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *addr @@     got void [noderef] <asn:2> *spec_regs @@
>> drivers/clk/clk-hsdk-pll.c:407:24: sparse:     expected void *addr
   drivers/clk/clk-hsdk-pll.c:407:24: sparse:     got void [noderef] <asn:2> *spec_regs
   drivers/clk/clk-hsdk-pll.c:409:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *addr @@     got void [noderef] <asn:2> *regs @@
   drivers/clk/clk-hsdk-pll.c:409:24: sparse:     expected void *addr
   drivers/clk/clk-hsdk-pll.c:409:24: sparse:     got void [noderef] <asn:2> *regs

vim +407 drivers/clk/clk-hsdk-pll.c

daeeb438c052e3 Eugeniy Paltsev 2017-08-25  353  
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  354  static void __init of_hsdk_pll_clk_setup(struct device_node *node)
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  355  {
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  356  	int ret;
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  357  	const char *parent_name;
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  358  	unsigned int num_parents;
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  359  	struct hsdk_pll_clk *pll_clk;
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  360  	struct clk_init_data init = { };
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  361  
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  362  	pll_clk = kzalloc(sizeof(*pll_clk), GFP_KERNEL);
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  363  	if (!pll_clk)
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  364  		return;
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  365  
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  366  	pll_clk->regs = of_iomap(node, 0);
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  367  	if (!pll_clk->regs) {
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  368  		pr_err("failed to map pll registers\n");
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  369  		goto err_free_pll_clk;
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  370  	}
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  371  
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  372  	pll_clk->spec_regs = of_iomap(node, 1);
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  373  	if (!pll_clk->spec_regs) {
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  374  		pr_err("failed to map pll registers\n");
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  375  		goto err_unmap_comm_regs;
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  376  	}
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  377  
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  378  	init.name = node->name;
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  379  	init.ops = &hsdk_pll_ops;
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  380  	parent_name = of_clk_get_parent_name(node, 0);
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  381  	init.parent_names = &parent_name;
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  382  	num_parents = of_clk_get_parent_count(node);
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  383  	if (num_parents > CGU_PLL_SOURCE_MAX) {
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  384  		pr_err("too much clock parents: %u\n", num_parents);
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  385  		goto err_unmap_spec_regs;
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  386  	}
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  387  	init.num_parents = num_parents;
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  388  
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  389  	pll_clk->hw.init = &init;
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  390  	pll_clk->pll_devdata = &core_pll_devdata;
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  391  
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  392  	ret = clk_hw_register(NULL, &pll_clk->hw);
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  393  	if (ret) {
e665f029a283af Rob Herring     2018-08-28  394  		pr_err("failed to register %pOFn clock\n", node);
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  395  		goto err_unmap_spec_regs;
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  396  	}
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  397  
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  398  	ret = of_clk_add_hw_provider(node, of_clk_hw_simple_get, &pll_clk->hw);
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  399  	if (ret) {
e665f029a283af Rob Herring     2018-08-28  400  		pr_err("failed to add hw provider for %pOFn clock\n", node);
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  401  		goto err_unmap_spec_regs;
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  402  	}
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  403  
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  404  	return;
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  405  
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  406  err_unmap_spec_regs:
daeeb438c052e3 Eugeniy Paltsev 2017-08-25 @407  	iounmap(pll_clk->spec_regs);
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  408  err_unmap_comm_regs:
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  409  	iounmap(pll_clk->regs);
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  410  err_free_pll_clk:
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  411  	kfree(pll_clk);
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  412  }
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  413  

:::::: The code at line 407 was first introduced by commit
:::::: daeeb438c052e3763617c636943e07a8f3684e9e ARC: clk: introduce HSDK pll driver

:::::: TO: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
:::::: CC: Stephen Boyd <sboyd@codeaurora.org>

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

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 26145 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* drivers/clk/clk-hsdk-pll.c:407:24: sparse: expected void
@ 2020-07-10  4:12 ` kernel test robot
  0 siblings, 0 replies; 5+ messages in thread
From: kernel test robot @ 2020-07-10  4:12 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 6593 bytes --]

Hi Stephen,

First bad commit (maybe != root cause):

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   0bddd227f3dc55975e2b8dfa7fc6f959b062a2c7
commit: bbd7ffdbef6888459f301c5889f3b14ada38b913 clk: Allow the common clk framework to be selectable
date:   9 weeks ago
config: openrisc-randconfig-s031-20200710 (attached as .config)
compiler: or1k-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-37-gc9676a3b-dirty
        git checkout bbd7ffdbef6888459f301c5889f3b14ada38b913
        # 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=openrisc 

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/clk/clk-hsdk-pll.c:407:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *addr @@     got void [noderef] <asn:2> *spec_regs @@
>> drivers/clk/clk-hsdk-pll.c:407:24: sparse:     expected void *addr
   drivers/clk/clk-hsdk-pll.c:407:24: sparse:     got void [noderef] <asn:2> *spec_regs
   drivers/clk/clk-hsdk-pll.c:409:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *addr @@     got void [noderef] <asn:2> *regs @@
   drivers/clk/clk-hsdk-pll.c:409:24: sparse:     expected void *addr
   drivers/clk/clk-hsdk-pll.c:409:24: sparse:     got void [noderef] <asn:2> *regs

vim +407 drivers/clk/clk-hsdk-pll.c

daeeb438c052e3 Eugeniy Paltsev 2017-08-25  353  
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  354  static void __init of_hsdk_pll_clk_setup(struct device_node *node)
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  355  {
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  356  	int ret;
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  357  	const char *parent_name;
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  358  	unsigned int num_parents;
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  359  	struct hsdk_pll_clk *pll_clk;
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  360  	struct clk_init_data init = { };
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  361  
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  362  	pll_clk = kzalloc(sizeof(*pll_clk), GFP_KERNEL);
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  363  	if (!pll_clk)
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  364  		return;
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  365  
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  366  	pll_clk->regs = of_iomap(node, 0);
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  367  	if (!pll_clk->regs) {
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  368  		pr_err("failed to map pll registers\n");
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  369  		goto err_free_pll_clk;
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  370  	}
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  371  
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  372  	pll_clk->spec_regs = of_iomap(node, 1);
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  373  	if (!pll_clk->spec_regs) {
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  374  		pr_err("failed to map pll registers\n");
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  375  		goto err_unmap_comm_regs;
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  376  	}
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  377  
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  378  	init.name = node->name;
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  379  	init.ops = &hsdk_pll_ops;
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  380  	parent_name = of_clk_get_parent_name(node, 0);
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  381  	init.parent_names = &parent_name;
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  382  	num_parents = of_clk_get_parent_count(node);
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  383  	if (num_parents > CGU_PLL_SOURCE_MAX) {
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  384  		pr_err("too much clock parents: %u\n", num_parents);
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  385  		goto err_unmap_spec_regs;
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  386  	}
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  387  	init.num_parents = num_parents;
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  388  
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  389  	pll_clk->hw.init = &init;
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  390  	pll_clk->pll_devdata = &core_pll_devdata;
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  391  
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  392  	ret = clk_hw_register(NULL, &pll_clk->hw);
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  393  	if (ret) {
e665f029a283af Rob Herring     2018-08-28  394  		pr_err("failed to register %pOFn clock\n", node);
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  395  		goto err_unmap_spec_regs;
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  396  	}
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  397  
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  398  	ret = of_clk_add_hw_provider(node, of_clk_hw_simple_get, &pll_clk->hw);
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  399  	if (ret) {
e665f029a283af Rob Herring     2018-08-28  400  		pr_err("failed to add hw provider for %pOFn clock\n", node);
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  401  		goto err_unmap_spec_regs;
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  402  	}
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  403  
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  404  	return;
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  405  
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  406  err_unmap_spec_regs:
daeeb438c052e3 Eugeniy Paltsev 2017-08-25 @407  	iounmap(pll_clk->spec_regs);
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  408  err_unmap_comm_regs:
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  409  	iounmap(pll_clk->regs);
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  410  err_free_pll_clk:
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  411  	kfree(pll_clk);
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  412  }
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  413  

:::::: The code at line 407 was first introduced by commit
:::::: daeeb438c052e3763617c636943e07a8f3684e9e ARC: clk: introduce HSDK pll driver

:::::: TO: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
:::::: CC: Stephen Boyd <sboyd@codeaurora.org>

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

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 26145 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: drivers/clk/clk-hsdk-pll.c:407:24: sparse: expected void
  2020-07-10  4:12 ` kernel test robot
@ 2020-07-21 10:22   ` Stephen Boyd
  -1 siblings, 0 replies; 5+ messages in thread
From: Stephen Boyd @ 2020-07-21 10:22 UTC (permalink / raw)
  To: kernel test robot; +Cc: kbuild-all, linux-kernel, Mark Brown, Arnd Bergmann

Quoting kernel test robot (2020-07-09 21:12:29)
> Hi Stephen,
> 
> First bad commit (maybe != root cause):
> 
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head:   0bddd227f3dc55975e2b8dfa7fc6f959b062a2c7
> commit: bbd7ffdbef6888459f301c5889f3b14ada38b913 clk: Allow the common clk framework to be selectable
> date:   9 weeks ago
> config: openrisc-randconfig-s031-20200710 (attached as .config)
> compiler: or1k-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-37-gc9676a3b-dirty
>         git checkout bbd7ffdbef6888459f301c5889f3b14ada38b913
>         # 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=openrisc 
> 
> 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/clk/clk-hsdk-pll.c:407:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *addr @@     got void [noderef] <asn:2> *spec_regs @@
> >> drivers/clk/clk-hsdk-pll.c:407:24: sparse:     expected void *addr
>    drivers/clk/clk-hsdk-pll.c:407:24: sparse:     got void [noderef] <asn:2> *spec_regs
>    drivers/clk/clk-hsdk-pll.c:409:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *addr @@     got void [noderef] <asn:2> *regs @@
>    drivers/clk/clk-hsdk-pll.c:409:24: sparse:     expected void *addr
>    drivers/clk/clk-hsdk-pll.c:409:24: sparse:     got void [noderef] <asn:2> *regs

Looks like openrisc arch has an improper annotated version of iounmap().

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: drivers/clk/clk-hsdk-pll.c:407:24: sparse: expected void
@ 2020-07-21 10:22   ` Stephen Boyd
  0 siblings, 0 replies; 5+ messages in thread
From: Stephen Boyd @ 2020-07-21 10:22 UTC (permalink / raw)
  To: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 1944 bytes --]

Quoting kernel test robot (2020-07-09 21:12:29)
> Hi Stephen,
> 
> First bad commit (maybe != root cause):
> 
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head:   0bddd227f3dc55975e2b8dfa7fc6f959b062a2c7
> commit: bbd7ffdbef6888459f301c5889f3b14ada38b913 clk: Allow the common clk framework to be selectable
> date:   9 weeks ago
> config: openrisc-randconfig-s031-20200710 (attached as .config)
> compiler: or1k-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-37-gc9676a3b-dirty
>         git checkout bbd7ffdbef6888459f301c5889f3b14ada38b913
>         # 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=openrisc 
> 
> 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/clk/clk-hsdk-pll.c:407:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *addr @@     got void [noderef] <asn:2> *spec_regs @@
> >> drivers/clk/clk-hsdk-pll.c:407:24: sparse:     expected void *addr
>    drivers/clk/clk-hsdk-pll.c:407:24: sparse:     got void [noderef] <asn:2> *spec_regs
>    drivers/clk/clk-hsdk-pll.c:409:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *addr @@     got void [noderef] <asn:2> *regs @@
>    drivers/clk/clk-hsdk-pll.c:409:24: sparse:     expected void *addr
>    drivers/clk/clk-hsdk-pll.c:409:24: sparse:     got void [noderef] <asn:2> *regs

Looks like openrisc arch has an improper annotated version of iounmap().

^ permalink raw reply	[flat|nested] 5+ messages in thread

* drivers/clk/clk-hsdk-pll.c:407:24: sparse: expected void
@ 2020-09-20 22:38 kernel test robot
  0 siblings, 0 replies; 5+ messages in thread
From: kernel test robot @ 2020-09-20 22:38 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 7140 bytes --]

CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Stephen Boyd <sboyd@kernel.org>
CC: Mark Brown <broonie@kernel.org>
CC: Arnd Bergmann <arnd@arndb.de>

Hi Stephen,

First bad commit (maybe != root cause):

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   bdcf11de8f776152c82d2197b255c2d04603f976
commit: bbd7ffdbef6888459f301c5889f3b14ada38b913 clk: Allow the common clk framework to be selectable
date:   5 months ago
:::::: branch date: 5 hours ago
:::::: commit date: 5 months ago
config: openrisc-randconfig-s031-20200921 (attached as .config)
compiler: or1k-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-201-g24bdaac6-dirty
        git checkout bbd7ffdbef6888459f301c5889f3b14ada38b913
        # 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=openrisc 

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/clk/clk-hsdk-pll.c:407:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *addr @@     got void [noderef] <asn:2> *spec_regs @@
>> drivers/clk/clk-hsdk-pll.c:407:24: sparse:     expected void *addr
   drivers/clk/clk-hsdk-pll.c:407:24: sparse:     got void [noderef] <asn:2> *spec_regs
   drivers/clk/clk-hsdk-pll.c:409:24: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void *addr @@     got void [noderef] <asn:2> *regs @@
   drivers/clk/clk-hsdk-pll.c:409:24: sparse:     expected void *addr
   drivers/clk/clk-hsdk-pll.c:409:24: sparse:     got void [noderef] <asn:2> *regs

# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=bbd7ffdbef6888459f301c5889f3b14ada38b913
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout bbd7ffdbef6888459f301c5889f3b14ada38b913
vim +407 drivers/clk/clk-hsdk-pll.c

daeeb438c052e3 Eugeniy Paltsev 2017-08-25  353  
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  354  static void __init of_hsdk_pll_clk_setup(struct device_node *node)
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  355  {
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  356  	int ret;
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  357  	const char *parent_name;
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  358  	unsigned int num_parents;
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  359  	struct hsdk_pll_clk *pll_clk;
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  360  	struct clk_init_data init = { };
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  361  
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  362  	pll_clk = kzalloc(sizeof(*pll_clk), GFP_KERNEL);
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  363  	if (!pll_clk)
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  364  		return;
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  365  
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  366  	pll_clk->regs = of_iomap(node, 0);
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  367  	if (!pll_clk->regs) {
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  368  		pr_err("failed to map pll registers\n");
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  369  		goto err_free_pll_clk;
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  370  	}
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  371  
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  372  	pll_clk->spec_regs = of_iomap(node, 1);
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  373  	if (!pll_clk->spec_regs) {
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  374  		pr_err("failed to map pll registers\n");
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  375  		goto err_unmap_comm_regs;
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  376  	}
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  377  
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  378  	init.name = node->name;
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  379  	init.ops = &hsdk_pll_ops;
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  380  	parent_name = of_clk_get_parent_name(node, 0);
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  381  	init.parent_names = &parent_name;
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  382  	num_parents = of_clk_get_parent_count(node);
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  383  	if (num_parents > CGU_PLL_SOURCE_MAX) {
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  384  		pr_err("too much clock parents: %u\n", num_parents);
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  385  		goto err_unmap_spec_regs;
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  386  	}
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  387  	init.num_parents = num_parents;
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  388  
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  389  	pll_clk->hw.init = &init;
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  390  	pll_clk->pll_devdata = &core_pll_devdata;
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  391  
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  392  	ret = clk_hw_register(NULL, &pll_clk->hw);
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  393  	if (ret) {
e665f029a283af Rob Herring     2018-08-28  394  		pr_err("failed to register %pOFn clock\n", node);
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  395  		goto err_unmap_spec_regs;
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  396  	}
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  397  
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  398  	ret = of_clk_add_hw_provider(node, of_clk_hw_simple_get, &pll_clk->hw);
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  399  	if (ret) {
e665f029a283af Rob Herring     2018-08-28  400  		pr_err("failed to add hw provider for %pOFn clock\n", node);
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  401  		goto err_unmap_spec_regs;
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  402  	}
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  403  
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  404  	return;
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  405  
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  406  err_unmap_spec_regs:
daeeb438c052e3 Eugeniy Paltsev 2017-08-25 @407  	iounmap(pll_clk->spec_regs);
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  408  err_unmap_comm_regs:
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  409  	iounmap(pll_clk->regs);
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  410  err_free_pll_clk:
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  411  	kfree(pll_clk);
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  412  }
daeeb438c052e3 Eugeniy Paltsev 2017-08-25  413  

:::::: The code at line 407 was first introduced by commit
:::::: daeeb438c052e3763617c636943e07a8f3684e9e ARC: clk: introduce HSDK pll driver

:::::: TO: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
:::::: CC: Stephen Boyd <sboyd@codeaurora.org>

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

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 20369 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-09-20 22:38 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-10  4:12 drivers/clk/clk-hsdk-pll.c:407:24: sparse: expected void kernel test robot
2020-07-10  4:12 ` kernel test robot
2020-07-21 10:22 ` Stephen Boyd
2020-07-21 10:22   ` Stephen Boyd
2020-09-20 22:38 kernel test robot

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.