[usb:usb-testing 7/9] drivers/usb/isp1760/isp1760-hcd.c:485:42: sparse: sparse: incorrect type in argument 1 (different address spaces)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



tree:   https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git usb-testing
head:   83a9d2a05296bf5a5fee13206dc4499a40978908
commit: 54dacbcc6b8921a211bd736d2f208d3c78594241 [7/9] usb: isp1760: move to regmap for register access
config: h8300-randconfig-s032-20210506 (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-341-g8af24329-dirty
        # https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git/commit/?id=54dacbcc6b8921a211bd736d2f208d3c78594241
        git remote add usb https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb.git
        git fetch --no-tags usb usb-testing
        git checkout 54dacbcc6b8921a211bd736d2f208d3c78594241
        # 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__' W=1 ARCH=h8300 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>


sparse warnings: (new ones prefixed by >>)
   drivers/usb/isp1760/isp1760-hcd.c:246:32: sparse: sparse: cast to restricted __le32
   drivers/usb/isp1760/isp1760-hcd.c:246:32: sparse: sparse: cast to restricted __le32
   drivers/usb/isp1760/isp1760-hcd.c:246:32: sparse: sparse: cast to restricted __le32
   drivers/usb/isp1760/isp1760-hcd.c:246:32: sparse: sparse: cast to restricted __le32
   drivers/usb/isp1760/isp1760-hcd.c:246:32: sparse: sparse: cast to restricted __le32
   drivers/usb/isp1760/isp1760-hcd.c:246:32: sparse: sparse: cast to restricted __le32
   drivers/usb/isp1760/isp1760-hcd.c: note: in included file (through include/linux/io.h, include/linux/irq.h, include/asm-generic/hardirq.h, ...):
   arch/h8300/include/asm/io.h:26:18: sparse: sparse: cast removes address space '__iomem' of expression
   drivers/usb/isp1760/isp1760-hcd.c:267:23: sparse: sparse: cast to restricted __le32
   drivers/usb/isp1760/isp1760-hcd.c:267:23: sparse: sparse: cast to restricted __le32
   drivers/usb/isp1760/isp1760-hcd.c:267:23: sparse: sparse: cast to restricted __le32
   drivers/usb/isp1760/isp1760-hcd.c:267:23: sparse: sparse: cast to restricted __le32
   drivers/usb/isp1760/isp1760-hcd.c:267:23: sparse: sparse: cast to restricted __le32
   drivers/usb/isp1760/isp1760-hcd.c:267:23: sparse: sparse: cast to restricted __le32
   arch/h8300/include/asm/io.h:26:18: sparse: sparse: cast removes address space '__iomem' of expression
   drivers/usb/isp1760/isp1760-hcd.c:301:38: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int [usertype] b @@     got restricted __le32 [usertype] @@
   drivers/usb/isp1760/isp1760-hcd.c:301:38: sparse:     expected unsigned int [usertype] b
   drivers/usb/isp1760/isp1760-hcd.c:301:38: sparse:     got restricted __le32 [usertype]
   drivers/usb/isp1760/isp1760-hcd.c:322:30: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int [usertype] b @@     got restricted __le32 [usertype] @@
   drivers/usb/isp1760/isp1760-hcd.c:322:30: sparse:     expected unsigned int [usertype] b
   drivers/usb/isp1760/isp1760-hcd.c:322:30: sparse:     got restricted __le32 [usertype]
   drivers/usb/isp1760/isp1760-hcd.c:346:50: sparse: sparse: incorrect type in argument 3 (different base types) @@     expected unsigned int const [usertype] *[assigned] src @@     got restricted __dw * @@
   drivers/usb/isp1760/isp1760-hcd.c:346:50: sparse:     expected unsigned int const [usertype] *[assigned] src
   drivers/usb/isp1760/isp1760-hcd.c:346:50: sparse:     got restricted __dw *
   drivers/usb/isp1760/isp1760-hcd.c:350:60: sparse: sparse: incorrect type in argument 3 (different base types) @@     expected unsigned int const [usertype] *[assigned] src @@     got restricted __dw * @@
   drivers/usb/isp1760/isp1760-hcd.c:350:60: sparse:     expected unsigned int const [usertype] *[assigned] src
   drivers/usb/isp1760/isp1760-hcd.c:350:60: sparse:     got restricted __dw *
>> drivers/usb/isp1760/isp1760-hcd.c:485:42: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct usb_hcd *hcd @@     got void [noderef] __iomem *regs @@
   drivers/usb/isp1760/isp1760-hcd.c:485:42: sparse:     expected struct usb_hcd *hcd
   drivers/usb/isp1760/isp1760-hcd.c:485:42: sparse:     got void [noderef] __iomem *regs
   drivers/usb/isp1760/isp1760-hcd.c:486:42: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected struct usb_hcd *hcd @@     got void [noderef] __iomem *regs @@
   drivers/usb/isp1760/isp1760-hcd.c:486:42: sparse:     expected struct usb_hcd *hcd
   drivers/usb/isp1760/isp1760-hcd.c:486:42: sparse:     got void [noderef] __iomem *regs
   drivers/usb/isp1760/isp1760-hcd.c:587:18: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __dw [usertype] dw0 @@     got int @@
   drivers/usb/isp1760/isp1760-hcd.c:587:18: sparse:     expected restricted __dw [usertype] dw0
   drivers/usb/isp1760/isp1760-hcd.c:587:18: sparse:     got int
   drivers/usb/isp1760/isp1760-hcd.c:588:18: sparse: sparse: invalid assignment: |=
   drivers/usb/isp1760/isp1760-hcd.c:588:18: sparse:    left side has type restricted __dw
   drivers/usb/isp1760/isp1760-hcd.c:588:18: sparse:    right side has type unsigned int
   drivers/usb/isp1760/isp1760-hcd.c:589:18: sparse: sparse: invalid assignment: |=
   drivers/usb/isp1760/isp1760-hcd.c:589:18: sparse:    left side has type restricted __dw
   drivers/usb/isp1760/isp1760-hcd.c:589:18: sparse:    right side has type unsigned int
   drivers/usb/isp1760/isp1760-hcd.c:590:18: sparse: sparse: invalid assignment: |=
   drivers/usb/isp1760/isp1760-hcd.c:590:18: sparse:    left side has type restricted __dw
   drivers/usb/isp1760/isp1760-hcd.c:590:18: sparse:    right side has type unsigned int
   drivers/usb/isp1760/isp1760-hcd.c:593:18: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __dw [usertype] dw1 @@     got unsigned int @@
   drivers/usb/isp1760/isp1760-hcd.c:593:18: sparse:     expected restricted __dw [usertype] dw1
   drivers/usb/isp1760/isp1760-hcd.c:593:18: sparse:     got unsigned int
   drivers/usb/isp1760/isp1760-hcd.c:594:18: sparse: sparse: invalid assignment: |=
   drivers/usb/isp1760/isp1760-hcd.c:594:18: sparse:    left side has type restricted __dw
   drivers/usb/isp1760/isp1760-hcd.c:594:18: sparse:    right side has type unsigned int
   drivers/usb/isp1760/isp1760-hcd.c:595:18: sparse: sparse: invalid assignment: |=
   drivers/usb/isp1760/isp1760-hcd.c:595:18: sparse:    left side has type restricted __dw
   drivers/usb/isp1760/isp1760-hcd.c:595:18: sparse:    right side has type unsigned int
   drivers/usb/isp1760/isp1760-hcd.c:598:26: sparse: sparse: invalid assignment: |=
   drivers/usb/isp1760/isp1760-hcd.c:598:26: sparse:    left side has type restricted __dw
   drivers/usb/isp1760/isp1760-hcd.c:598:26: sparse:    right side has type unsigned int
   drivers/usb/isp1760/isp1760-hcd.c:600:26: sparse: sparse: invalid assignment: |=
   drivers/usb/isp1760/isp1760-hcd.c:600:26: sparse:    left side has type restricted __dw
   drivers/usb/isp1760/isp1760-hcd.c:600:26: sparse:    right side has type unsigned int
   drivers/usb/isp1760/isp1760-hcd.c:605:26: sparse: sparse: invalid assignment: |=
   drivers/usb/isp1760/isp1760-hcd.c:605:26: sparse:    left side has type restricted __dw
   drivers/usb/isp1760/isp1760-hcd.c:605:26: sparse:    right side has type unsigned int
   drivers/usb/isp1760/isp1760-hcd.c:607:34: sparse: sparse: invalid assignment: |=
   drivers/usb/isp1760/isp1760-hcd.c:607:34: sparse:    left side has type restricted __dw
   drivers/usb/isp1760/isp1760-hcd.c:607:34: sparse:    right side has type unsigned int
   drivers/usb/isp1760/isp1760-hcd.c:609:26: sparse: sparse: invalid assignment: |=
   drivers/usb/isp1760/isp1760-hcd.c:609:26: sparse:    left side has type restricted __dw
   drivers/usb/isp1760/isp1760-hcd.c:609:26: sparse:    right side has type unsigned int
   drivers/usb/isp1760/isp1760-hcd.c:610:26: sparse: sparse: invalid assignment: |=
   drivers/usb/isp1760/isp1760-hcd.c:610:26: sparse:    left side has type restricted __dw
   drivers/usb/isp1760/isp1760-hcd.c:610:26: sparse:    right side has type unsigned int
   drivers/usb/isp1760/isp1760-hcd.c:615:34: sparse: sparse: invalid assignment: |=
   drivers/usb/isp1760/isp1760-hcd.c:615:34: sparse:    left side has type restricted __dw
   drivers/usb/isp1760/isp1760-hcd.c:615:34: sparse:    right side has type int
   drivers/usb/isp1760/isp1760-hcd.c:620:26: sparse: sparse: invalid assignment: |=
   drivers/usb/isp1760/isp1760-hcd.c:620:26: sparse:    left side has type restricted __dw
   drivers/usb/isp1760/isp1760-hcd.c:620:26: sparse:    right side has type unsigned int
   drivers/usb/isp1760/isp1760-hcd.c:623:34: sparse: sparse: invalid assignment: |=
   drivers/usb/isp1760/isp1760-hcd.c:623:34: sparse:    left side has type restricted __dw
   drivers/usb/isp1760/isp1760-hcd.c:623:34: sparse:    right side has type unsigned int
   drivers/usb/isp1760/isp1760-hcd.c:627:18: sparse: sparse: invalid assignment: |=
   drivers/usb/isp1760/isp1760-hcd.c:627:18: sparse:    left side has type restricted __dw
   drivers/usb/isp1760/isp1760-hcd.c:627:18: sparse:    right side has type unsigned int
   drivers/usb/isp1760/isp1760-hcd.c:628:18: sparse: sparse: invalid assignment: |=
   drivers/usb/isp1760/isp1760-hcd.c:628:18: sparse:    left side has type restricted __dw
   drivers/usb/isp1760/isp1760-hcd.c:628:18: sparse:    right side has type unsigned int
   drivers/usb/isp1760/isp1760-hcd.c:631:18: sparse: sparse: invalid assignment: |=
   drivers/usb/isp1760/isp1760-hcd.c:631:18: sparse:    left side has type restricted __dw
   drivers/usb/isp1760/isp1760-hcd.c:631:18: sparse:    right side has type unsigned int
   drivers/usb/isp1760/isp1760-hcd.c:632:18: sparse: sparse: invalid assignment: |=
   drivers/usb/isp1760/isp1760-hcd.c:632:18: sparse:    left side has type restricted __dw
   drivers/usb/isp1760/isp1760-hcd.c:632:18: sparse:    right side has type unsigned int
   drivers/usb/isp1760/isp1760-hcd.c:635:34: sparse: sparse: invalid assignment: &=
   drivers/usb/isp1760/isp1760-hcd.c:635:34: sparse:    left side has type restricted __dw
   drivers/usb/isp1760/isp1760-hcd.c:635:34: sparse:    right side has type int
   drivers/usb/isp1760/isp1760-hcd.c:637:34: sparse: sparse: invalid assignment: |=
   drivers/usb/isp1760/isp1760-hcd.c:637:34: sparse:    left side has type restricted __dw
   drivers/usb/isp1760/isp1760-hcd.c:637:34: sparse:    right side has type int
   drivers/usb/isp1760/isp1760-hcd.c:640:18: sparse: sparse: invalid assignment: |=
   drivers/usb/isp1760/isp1760-hcd.c:640:18: sparse:    left side has type restricted __dw
   drivers/usb/isp1760/isp1760-hcd.c:640:18: sparse:    right side has type int
   drivers/usb/isp1760/isp1760-hcd.c:642:18: sparse: sparse: invalid assignment: |=
   drivers/usb/isp1760/isp1760-hcd.c:642:18: sparse:    left side has type restricted __dw
   drivers/usb/isp1760/isp1760-hcd.c:642:18: sparse:    right side has type int
   drivers/usb/isp1760/isp1760-hcd.c:687:26: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __dw [usertype] dw5 @@     got int @@
   drivers/usb/isp1760/isp1760-hcd.c:687:26: sparse:     expected restricted __dw [usertype] dw5
   drivers/usb/isp1760/isp1760-hcd.c:687:26: sparse:     got int
   drivers/usb/isp1760/isp1760-hcd.c:693:18: sparse: sparse: invalid assignment: |=
   drivers/usb/isp1760/isp1760-hcd.c:693:18: sparse:    left side has type restricted __dw
   drivers/usb/isp1760/isp1760-hcd.c:693:18: sparse:    right side has type unsigned int
   drivers/usb/isp1760/isp1760-hcd.c:694:18: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __dw [usertype] dw4 @@     got unsigned int [assigned] [usertype] usof @@
   drivers/usb/isp1760/isp1760-hcd.c:694:18: sparse:     expected restricted __dw [usertype] dw4
   drivers/usb/isp1760/isp1760-hcd.c:694:18: sparse:     got unsigned int [assigned] [usertype] usof
   drivers/usb/isp1760/isp1760-hcd.c:1027:13: sparse: sparse: bad assignment (>>=) to restricted __dw
   drivers/usb/isp1760/isp1760-hcd.c:1032:16: sparse: sparse: restricted __dw degrades to integer
   drivers/usb/isp1760/isp1760-hcd.c:1037:33: sparse: sparse: restricted __dw degrades to integer
   drivers/usb/isp1760/isp1760-hcd.c:1058:29: sparse: sparse: bad assignment (>>=) to restricted __dw
   drivers/usb/isp1760/isp1760-hcd.c:1071:16: sparse: sparse: restricted __dw degrades to integer
   drivers/usb/isp1760/isp1760-hcd.c:1072:24: sparse: sparse: restricted __dw degrades to integer
   drivers/usb/isp1760/isp1760-hcd.c:1074:26: sparse: sparse: restricted __dw degrades to integer
   drivers/usb/isp1760/isp1760-hcd.c:1089:17: sparse: sparse: restricted __dw degrades to integer
   drivers/usb/isp1760/isp1760-hcd.c:1089:47: sparse: sparse: restricted __dw degrades to integer
   drivers/usb/isp1760/isp1760-hcd.c:1095:14: sparse: sparse: restricted __dw degrades to integer
   drivers/usb/isp1760/isp1760-hcd.c:1095:49: sparse: sparse: restricted __dw degrades to integer
   drivers/usb/isp1760/isp1760-hcd.c:1173:40: sparse: sparse: restricted __dw degrades to integer
   drivers/usb/isp1760/isp1760-hcd.c:1176:41: sparse: sparse: restricted __dw degrades to integer
   drivers/usb/isp1760/isp1760-hcd.c:1186:38: sparse: sparse: restricted __dw degrades to integer

vim +485 drivers/usb/isp1760/isp1760-hcd.c

   463	
   464	/* one-time init, only for memory state */
   465	static int priv_init(struct usb_hcd *hcd)
   466	{
   467		struct isp1760_hcd *priv = hcd_to_priv(hcd);
   468		u32 isoc_cache;
   469		u32 isoc_thres;
   470	
   471		int i;
   472	
   473		spin_lock_init(&priv->lock);
   474	
   475		for (i = 0; i < QH_END; i++)
   476			INIT_LIST_HEAD(&priv->qh_list[i]);
   477	
   478		/*
   479		 * hw default: 1K periodic list heads, one per frame.
   480		 * periodic_size can shrink by USBCMD update if hcc_params allows.
   481		 */
   482		priv->periodic_size = DEFAULT_I_TDPS;
   483	
   484		/* controllers may cache some of the periodic schedule ... */
 > 485		isoc_cache = isp1760_hcd_read(hcd->regs, HCC_ISOC_CACHE);
   486		isoc_thres = isp1760_hcd_read(hcd->regs, HCC_ISOC_THRES);
   487	
   488		/* full frame cache */
   489		if (isoc_cache)
   490			priv->i_thresh = 8;
   491		else /* N microframes cached */
   492			priv->i_thresh = 2 + isoc_thres;
   493	
   494		return 0;
   495	}
   496	

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

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux