[xlnx:master 59/60] drivers/clk/clk-xlnx-clock-wizard-v.c:119:43: sparse: sparse: cast removes address space '<asn:2>' of expression

kernel test robot lkp at intel.com
Tue Feb 9 02:24:05 EST 2021


Hi Vishal,

First bad commit (maybe != root cause):

tree:   https://github.com/Xilinx/linux-xlnx master
head:   043f8a226a752a1dd11f7ff64cee6dbe7334d394
commit: c0b33b8ccd38096c815f2dd39746044d0aa079d3 [59/60] staging: xlnxsync: Fix the uapi header license
config: h8300-randconfig-s031-20210209 (attached as .config)
compiler: h8300-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.3-215-g0fb77bb6-dirty
        # https://github.com/Xilinx/linux-xlnx/commit/c0b33b8ccd38096c815f2dd39746044d0aa079d3
        git remote add xlnx https://github.com/Xilinx/linux-xlnx
        git fetch --no-tags xlnx master
        git checkout c0b33b8ccd38096c815f2dd39746044d0aa079d3
        # 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=h8300 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp at intel.com>


"sparse warnings: (new ones prefixed by >>)"
>> drivers/clk/clk-xlnx-clock-wizard-v.c:119:43: sparse: sparse: cast removes address space '<asn:2>' of expression
   drivers/clk/clk-xlnx-clock-wizard-v.c:149:43: sparse: sparse: cast removes address space '<asn:2>' of expression
   drivers/clk/clk-xlnx-clock-wizard-v.c: note: in included file (through arch/h8300/include/asm/io.h, include/linux/io.h):
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   drivers/clk/clk-xlnx-clock-wizard-v.c: note: in included file (through include/linux/io.h):
   arch/h8300/include/asm/io.h:26:18: sparse: sparse: cast removes address space '<asn:2>' of expression
   arch/h8300/include/asm/io.h:26:18: sparse: sparse: cast removes address space '<asn:2>' of expression
   drivers/clk/clk-xlnx-clock-wizard-v.c: note: in included file (through arch/h8300/include/asm/io.h, include/linux/io.h):
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   drivers/clk/clk-xlnx-clock-wizard-v.c: note: in included file (through include/linux/io.h):
   arch/h8300/include/asm/io.h:26:18: sparse: sparse: cast removes address space '<asn:2>' of expression
   arch/h8300/include/asm/io.h:26:18: sparse: sparse: cast removes address space '<asn:2>' of expression
   drivers/clk/clk-xlnx-clock-wizard-v.c: note: in included file (through arch/h8300/include/asm/io.h, include/linux/io.h):
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   drivers/clk/clk-xlnx-clock-wizard-v.c: note: in included file (through include/linux/io.h):
   arch/h8300/include/asm/io.h:26:18: sparse: sparse: cast removes address space '<asn:2>' of expression
   arch/h8300/include/asm/io.h:26:18: sparse: sparse: cast removes address space '<asn:2>' of expression
   drivers/clk/clk-xlnx-clock-wizard-v.c: note: in included file (through arch/h8300/include/asm/io.h, include/linux/io.h):
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   drivers/clk/clk-xlnx-clock-wizard-v.c: note: in included file (through include/linux/io.h):
   arch/h8300/include/asm/io.h:26:18: sparse: sparse: cast removes address space '<asn:2>' of expression
   arch/h8300/include/asm/io.h:26:18: sparse: sparse: cast removes address space '<asn:2>' of expression
   drivers/clk/clk-xlnx-clock-wizard-v.c: note: in included file (through arch/h8300/include/asm/io.h, include/linux/io.h):
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   drivers/clk/clk-xlnx-clock-wizard-v.c: note: in included file (through include/linux/io.h):
   arch/h8300/include/asm/io.h:26:18: sparse: sparse: cast removes address space '<asn:2>' of expression
   arch/h8300/include/asm/io.h:26:18: sparse: sparse: cast removes address space '<asn:2>' of expression
   drivers/clk/clk-xlnx-clock-wizard-v.c: note: in included file (through arch/h8300/include/asm/io.h, include/linux/io.h):
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   drivers/clk/clk-xlnx-clock-wizard-v.c: note: in included file (through include/linux/io.h):
   arch/h8300/include/asm/io.h:26:18: sparse: sparse: cast removes address space '<asn:2>' of expression
   arch/h8300/include/asm/io.h:26:18: sparse: sparse: cast removes address space '<asn:2>' of expression
   drivers/clk/clk-xlnx-clock-wizard-v.c: note: in included file (through arch/h8300/include/asm/io.h, include/linux/io.h):
   include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int [usertype] b @@     got restricted __le32 [usertype] @@
   include/asm-generic/io.h:225:22: sparse:     expected unsigned int [usertype] b
   include/asm-generic/io.h:225:22: sparse:     got restricted __le32 [usertype]
   drivers/clk/clk-xlnx-clock-wizard-v.c: note: in included file (through include/linux/io.h):
   arch/h8300/include/asm/io.h:44:11: sparse: sparse: cast removes address space '<asn:2>' of expression
   drivers/clk/clk-xlnx-clock-wizard-v.c: note: in included file (through arch/h8300/include/asm/io.h, include/linux/io.h):
   include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int [usertype] b @@     got restricted __le32 [usertype] @@
   include/asm-generic/io.h:225:22: sparse:     expected unsigned int [usertype] b
   include/asm-generic/io.h:225:22: sparse:     got restricted __le32 [usertype]
   drivers/clk/clk-xlnx-clock-wizard-v.c: note: in included file (through include/linux/io.h):
   arch/h8300/include/asm/io.h:44:11: sparse: sparse: cast removes address space '<asn:2>' of expression
   drivers/clk/clk-xlnx-clock-wizard-v.c: note: in included file (through arch/h8300/include/asm/io.h, include/linux/io.h):
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   drivers/clk/clk-xlnx-clock-wizard-v.c: note: in included file (through include/linux/io.h):
   arch/h8300/include/asm/io.h:26:18: sparse: sparse: cast removes address space '<asn:2>' of expression
   arch/h8300/include/asm/io.h:26:18: sparse: sparse: cast removes address space '<asn:2>' of expression
   drivers/clk/clk-xlnx-clock-wizard-v.c: note: in included file (through arch/h8300/include/asm/io.h, include/linux/io.h):
   include/asm-generic/io.h:225:22: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int [usertype] b @@     got restricted __le32 [usertype] @@
   include/asm-generic/io.h:225:22: sparse:     expected unsigned int [usertype] b
   include/asm-generic/io.h:225:22: sparse:     got restricted __le32 [usertype]
   drivers/clk/clk-xlnx-clock-wizard-v.c: note: in included file (through include/linux/io.h):
   arch/h8300/include/asm/io.h:44:11: sparse: sparse: cast removes address space '<asn:2>' of expression
   drivers/clk/clk-xlnx-clock-wizard-v.c: note: in included file (through arch/h8300/include/asm/io.h, include/linux/io.h):
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   include/asm-generic/io.h:179:15: sparse: sparse: cast to restricted __le32
   drivers/clk/clk-xlnx-clock-wizard-v.c: note: in included file (through include/linux/io.h):
   arch/h8300/include/asm/io.h:26:18: sparse: sparse: cast removes address space '<asn:2>' of expression
   arch/h8300/include/asm/io.h:26:18: sparse: sparse: cast removes address space '<asn:2>' of expression
   drivers/clk/clk-xlnx-clock-wizard-v.c: note: in included file (through arch/h8300/include/asm/io.h, include/linux/io.h):

vim +119 drivers/clk/clk-xlnx-clock-wizard-v.c

a7f1c7dfe2600b Shubhrajyoti Datta 2020-03-31  113  
a7f1c7dfe2600b Shubhrajyoti Datta 2020-03-31  114  static unsigned long clk_wzrd_recalc_rate(struct clk_hw *hw,
a7f1c7dfe2600b Shubhrajyoti Datta 2020-03-31  115  					  unsigned long parent_rate)
a7f1c7dfe2600b Shubhrajyoti Datta 2020-03-31  116  {
a7f1c7dfe2600b Shubhrajyoti Datta 2020-03-31  117  	struct clk_wzrd_divider *divider = to_clk_wzrd_divider(hw);
a7f1c7dfe2600b Shubhrajyoti Datta 2020-03-31  118  	void __iomem *div_addr =
a7f1c7dfe2600b Shubhrajyoti Datta 2020-03-31 @119  			(void __iomem *)((u64)divider->base + divider->offset);
a7f1c7dfe2600b Shubhrajyoti Datta 2020-03-31  120  	unsigned int vall, valh;
a7f1c7dfe2600b Shubhrajyoti Datta 2020-03-31  121  	u32 div;
a7f1c7dfe2600b Shubhrajyoti Datta 2020-03-31  122  	u32 p5en, edge, prediv2;
a7f1c7dfe2600b Shubhrajyoti Datta 2020-03-31  123  	u32 all;
a7f1c7dfe2600b Shubhrajyoti Datta 2020-03-31  124  
a7f1c7dfe2600b Shubhrajyoti Datta 2020-03-31  125  	edge = !!(readl(div_addr) & BIT(8));
a7f1c7dfe2600b Shubhrajyoti Datta 2020-03-31  126  	p5en = !!(readl(div_addr) & BIT(13));
a7f1c7dfe2600b Shubhrajyoti Datta 2020-03-31  127  	prediv2 = !!(readl(div_addr) & BIT(11));
a7f1c7dfe2600b Shubhrajyoti Datta 2020-03-31  128  	vall = readl(div_addr + 4) & 0xff;
a7f1c7dfe2600b Shubhrajyoti Datta 2020-03-31  129  	valh = readl(div_addr + 4) >> 8;
a7f1c7dfe2600b Shubhrajyoti Datta 2020-03-31  130  	all = valh + vall + edge;
a7f1c7dfe2600b Shubhrajyoti Datta 2020-03-31  131  	if (!all)
a7f1c7dfe2600b Shubhrajyoti Datta 2020-03-31  132  		all = 1;
a7f1c7dfe2600b Shubhrajyoti Datta 2020-03-31  133  	div = (prediv2 + 1) * (all + (prediv2 * p5en) / 2);
a7f1c7dfe2600b Shubhrajyoti Datta 2020-03-31  134  	return  DIV_ROUND_UP_ULL((u64)parent_rate, div);
a7f1c7dfe2600b Shubhrajyoti Datta 2020-03-31  135  }
a7f1c7dfe2600b Shubhrajyoti Datta 2020-03-31  136  

:::::: The code at line 119 was first introduced by commit
:::::: a7f1c7dfe2600b52aaec17d35e0a4c75d4102930 clocking-wizard: Add versal clocking wizard support

:::::: TO: Shubhrajyoti Datta <shubhrajyoti.datta at xilinx.com>
:::::: CC: Michal Simek <michal.simek at xilinx.com>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 19790 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20210209/b764703b/attachment-0001.gz>


More information about the linux-arm-kernel mailing list