lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:   Tue, 18 Aug 2020 19:00:45 +0800
From:   kernel test robot <lkp@...el.com>
To:     Luc Van Oostenryck <luc.vanoostenryck@...il.com>
Cc:     kbuild-all@...ts.01.org, linux-kernel@...r.kernel.org
Subject: drivers/usb/gadget/udc/fsl_udc_core.c:2423:33: sparse: sparse: cast
 removes address space '__iomem' of expression

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   06a4ec1d9dc652e17ee3ac2ceb6c7cf6c2b75cdd
commit: 670d0a4b10704667765f7d18f7592993d02783aa sparse: use identifiers to define address spaces
date:   9 weeks ago
config: powerpc-randconfig-s031-20200818 (attached as .config)
compiler: powerpc-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-180-g49f7e13a-dirty
        git checkout 670d0a4b10704667765f7d18f7592993d02783aa
        # 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=powerpc 

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


sparse warnings: (new ones prefixed by >>)

   drivers/usb/gadget/udc/fsl_udc_core.c:70:33: sparse: sparse: incorrect type in initializer (different base types) @@     expected restricted __le16 [usertype] wMaxPacketSize @@     got int @@
   drivers/usb/gadget/udc/fsl_udc_core.c:70:33: sparse:     expected restricted __le16 [usertype] wMaxPacketSize
   drivers/usb/gadget/udc/fsl_udc_core.c:70:33: sparse:     got int
   drivers/usb/gadget/udc/fsl_udc_core.c:1365:33: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned short [usertype] @@     got restricted __le16 [usertype] @@
   drivers/usb/gadget/udc/fsl_udc_core.c:1365:33: sparse:     expected unsigned short [usertype]
   drivers/usb/gadget/udc/fsl_udc_core.c:1365:33: sparse:     got restricted __le16 [usertype]
   drivers/usb/gadget/udc/fsl_udc_core.c:1581:32: sparse: sparse: cast to restricted __le32
   drivers/usb/gadget/udc/fsl_udc_core.c:1581:32: sparse: sparse: cast to restricted __le32
   drivers/usb/gadget/udc/fsl_udc_core.c:1581:32: sparse: sparse: cast to restricted __le32
   drivers/usb/gadget/udc/fsl_udc_core.c:1581:32: sparse: sparse: cast to restricted __le32
   drivers/usb/gadget/udc/fsl_udc_core.c:1581:32: sparse: sparse: cast to restricted __le32
   drivers/usb/gadget/udc/fsl_udc_core.c:1581:32: sparse: sparse: cast to restricted __le32
   drivers/usb/gadget/udc/fsl_udc_core.c:1582:30: sparse: sparse: cast to restricted __le32
   drivers/usb/gadget/udc/fsl_udc_core.c:1582:30: sparse: sparse: cast to restricted __le32
   drivers/usb/gadget/udc/fsl_udc_core.c:1582:30: sparse: sparse: cast to restricted __le32
   drivers/usb/gadget/udc/fsl_udc_core.c:1582:30: sparse: sparse: cast to restricted __le32
   drivers/usb/gadget/udc/fsl_udc_core.c:1582:30: sparse: sparse: cast to restricted __le32
   drivers/usb/gadget/udc/fsl_udc_core.c:1582:30: sparse: sparse: cast to restricted __le32
>> drivers/usb/gadget/udc/fsl_udc_core.c:2423:33: sparse: sparse: cast removes address space '__iomem' of expression
>> drivers/usb/gadget/udc/fsl_udc_core.c:2423:30: sparse: sparse: incorrect type in assignment (different address spaces) @@     expected struct usb_sys_interface [noderef] __iomem *static [toplevel] usb_sys_regs @@     got void * @@
>> drivers/usb/gadget/udc/fsl_udc_core.c:2423:30: sparse:     expected struct usb_sys_interface [noderef] __iomem *static [toplevel] usb_sys_regs
   drivers/usb/gadget/udc/fsl_udc_core.c:2423:30: sparse:     got void *
   drivers/usb/gadget/udc/fsl_udc_core.c:1781:20: sparse: sparse: context imbalance in 'reset_queues' - unexpected unlock
--
   drivers/usb/gadget/udc/fsl_qe_udc.c:67:33: sparse: sparse: incorrect type in initializer (different base types) @@     expected restricted __le16 [usertype] wMaxPacketSize @@     got int @@
   drivers/usb/gadget/udc/fsl_qe_udc.c:67:33: sparse:     expected restricted __le16 [usertype] wMaxPacketSize
   drivers/usb/gadget/udc/fsl_qe_udc.c:67:33: sparse:     got int
>> drivers/usb/gadget/udc/fsl_qe_udc.c:148:52: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be16 [noderef] __iomem * @@
>> drivers/usb/gadget/udc/fsl_qe_udc.c:148:52: sparse:     expected unsigned short const volatile [noderef] [usertype] __iomem *addr
>> drivers/usb/gadget/udc/fsl_qe_udc.c:148:52: sparse:     got restricted __be16 [noderef] __iomem *
>> drivers/usb/gadget/udc/fsl_qe_udc.c:155:42: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short volatile [noderef] [usertype] __iomem *addr @@     got restricted __be16 [noderef] __iomem * @@
>> drivers/usb/gadget/udc/fsl_qe_udc.c:155:42: sparse:     expected unsigned short volatile [noderef] [usertype] __iomem *addr
   drivers/usb/gadget/udc/fsl_qe_udc.c:155:42: sparse:     got restricted __be16 [noderef] __iomem *
   drivers/usb/gadget/udc/fsl_qe_udc.c:165:52: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be16 [noderef] __iomem * @@
   drivers/usb/gadget/udc/fsl_qe_udc.c:165:52: sparse:     expected unsigned short const volatile [noderef] [usertype] __iomem *addr
   drivers/usb/gadget/udc/fsl_qe_udc.c:165:52: sparse:     got restricted __be16 [noderef] __iomem *
   drivers/usb/gadget/udc/fsl_qe_udc.c:172:42: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short volatile [noderef] [usertype] __iomem *addr @@     got restricted __be16 [noderef] __iomem * @@
   drivers/usb/gadget/udc/fsl_qe_udc.c:172:42: sparse:     expected unsigned short volatile [noderef] [usertype] __iomem *addr
   drivers/usb/gadget/udc/fsl_qe_udc.c:172:42: sparse:     got restricted __be16 [noderef] __iomem *
   drivers/usb/gadget/udc/fsl_qe_udc.c:193:17: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short volatile [noderef] [usertype] __iomem *addr @@     got restricted __be16 [noderef] __iomem * @@
   drivers/usb/gadget/udc/fsl_qe_udc.c:193:17: sparse:     expected unsigned short volatile [noderef] [usertype] __iomem *addr
   drivers/usb/gadget/udc/fsl_qe_udc.c:193:17: sparse:     got restricted __be16 [noderef] __iomem *
   drivers/usb/gadget/udc/fsl_qe_udc.c:193:17: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be16 [noderef] __iomem * @@
   drivers/usb/gadget/udc/fsl_qe_udc.c:193:17: sparse:     expected unsigned short const volatile [noderef] [usertype] __iomem *addr
   drivers/usb/gadget/udc/fsl_qe_udc.c:193:17: sparse:     got restricted __be16 [noderef] __iomem *
   drivers/usb/gadget/udc/fsl_qe_udc.c:197:17: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short volatile [noderef] [usertype] __iomem *addr @@     got restricted __be16 [noderef] __iomem * @@
   drivers/usb/gadget/udc/fsl_qe_udc.c:197:17: sparse:     expected unsigned short volatile [noderef] [usertype] __iomem *addr
   drivers/usb/gadget/udc/fsl_qe_udc.c:197:17: sparse:     got restricted __be16 [noderef] __iomem *
   drivers/usb/gadget/udc/fsl_qe_udc.c:197:17: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be16 [noderef] __iomem * @@
   drivers/usb/gadget/udc/fsl_qe_udc.c:197:17: sparse:     expected unsigned short const volatile [noderef] [usertype] __iomem *addr
   drivers/usb/gadget/udc/fsl_qe_udc.c:197:17: sparse:     got restricted __be16 [noderef] __iomem *
   drivers/usb/gadget/udc/fsl_qe_udc.c:210:17: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short volatile [noderef] [usertype] __iomem *addr @@     got restricted __be16 [noderef] __iomem * @@
   drivers/usb/gadget/udc/fsl_qe_udc.c:210:17: sparse:     expected unsigned short volatile [noderef] [usertype] __iomem *addr
   drivers/usb/gadget/udc/fsl_qe_udc.c:210:17: sparse:     got restricted __be16 [noderef] __iomem *
   drivers/usb/gadget/udc/fsl_qe_udc.c:210:17: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be16 [noderef] __iomem * @@
   drivers/usb/gadget/udc/fsl_qe_udc.c:210:17: sparse:     expected unsigned short const volatile [noderef] [usertype] __iomem *addr
   drivers/usb/gadget/udc/fsl_qe_udc.c:210:17: sparse:     got restricted __be16 [noderef] __iomem *
   drivers/usb/gadget/udc/fsl_qe_udc.c:214:30: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short volatile [noderef] [usertype] __iomem *addr @@     got restricted __be16 [noderef] __iomem * @@
   drivers/usb/gadget/udc/fsl_qe_udc.c:214:30: sparse:     expected unsigned short volatile [noderef] [usertype] __iomem *addr
   drivers/usb/gadget/udc/fsl_qe_udc.c:214:30: sparse:     got restricted __be16 [noderef] __iomem *
   drivers/usb/gadget/udc/fsl_qe_udc.c:216:17: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short volatile [noderef] [usertype] __iomem *addr @@     got restricted __be16 [noderef] __iomem * @@
   drivers/usb/gadget/udc/fsl_qe_udc.c:216:17: sparse:     expected unsigned short volatile [noderef] [usertype] __iomem *addr
   drivers/usb/gadget/udc/fsl_qe_udc.c:216:17: sparse:     got restricted __be16 [noderef] __iomem *
   drivers/usb/gadget/udc/fsl_qe_udc.c:216:17: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be16 [noderef] __iomem * @@
   drivers/usb/gadget/udc/fsl_qe_udc.c:216:17: sparse:     expected unsigned short const volatile [noderef] [usertype] __iomem *addr
   drivers/usb/gadget/udc/fsl_qe_udc.c:216:17: sparse:     got restricted __be16 [noderef] __iomem *
>> drivers/usb/gadget/udc/fsl_qe_udc.c:302:27: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
>> drivers/usb/gadget/udc/fsl_qe_udc.c:302:27: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
>> drivers/usb/gadget/udc/fsl_qe_udc.c:302:27: sparse:     got restricted __be32 [noderef] __iomem *
   drivers/usb/gadget/udc/fsl_qe_udc.c:317:51: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be16 [noderef] __iomem * @@
   drivers/usb/gadget/udc/fsl_qe_udc.c:317:51: sparse:     expected unsigned short const volatile [noderef] [usertype] __iomem *addr
   drivers/usb/gadget/udc/fsl_qe_udc.c:317:51: sparse:     got restricted __be16 [noderef] __iomem *
   drivers/usb/gadget/udc/fsl_qe_udc.c:334:42: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short volatile [noderef] [usertype] __iomem *addr @@     got restricted __be16 [noderef] __iomem * @@
   drivers/usb/gadget/udc/fsl_qe_udc.c:334:42: sparse:     expected unsigned short volatile [noderef] [usertype] __iomem *addr
   drivers/usb/gadget/udc/fsl_qe_udc.c:334:42: sparse:     got restricted __be16 [noderef] __iomem *
   drivers/usb/gadget/udc/fsl_qe_udc.c:387:27: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/usb/gadget/udc/fsl_qe_udc.c:387:27: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   drivers/usb/gadget/udc/fsl_qe_udc.c:387:27: sparse:     got restricted __be32 [noderef] __iomem *
   drivers/usb/gadget/udc/fsl_qe_udc.c:391:19: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/usb/gadget/udc/fsl_qe_udc.c:391:19: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   drivers/usb/gadget/udc/fsl_qe_udc.c:391:19: sparse:     got restricted __be32 [noderef] __iomem *
   drivers/usb/gadget/udc/fsl_qe_udc.c:396:27: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/usb/gadget/udc/fsl_qe_udc.c:396:27: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   drivers/usb/gadget/udc/fsl_qe_udc.c:396:27: sparse:     got restricted __be32 [noderef] __iomem *
   drivers/usb/gadget/udc/fsl_qe_udc.c:400:19: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/usb/gadget/udc/fsl_qe_udc.c:400:19: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   drivers/usb/gadget/udc/fsl_qe_udc.c:400:19: sparse:     got restricted __be32 [noderef] __iomem *
   drivers/usb/gadget/udc/fsl_qe_udc.c:456:27: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/usb/gadget/udc/fsl_qe_udc.c:456:27: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   drivers/usb/gadget/udc/fsl_qe_udc.c:456:27: sparse:     got restricted __be32 [noderef] __iomem *
   drivers/usb/gadget/udc/fsl_qe_udc.c:461:19: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/usb/gadget/udc/fsl_qe_udc.c:461:19: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   drivers/usb/gadget/udc/fsl_qe_udc.c:461:19: sparse:     got restricted __be32 [noderef] __iomem *
   drivers/usb/gadget/udc/fsl_qe_udc.c:506:42: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short volatile [noderef] [usertype] __iomem *addr @@     got restricted __be16 [noderef] __iomem * @@
   drivers/usb/gadget/udc/fsl_qe_udc.c:506:42: sparse:     expected unsigned short volatile [noderef] [usertype] __iomem *addr
   drivers/usb/gadget/udc/fsl_qe_udc.c:506:42: sparse:     got restricted __be16 [noderef] __iomem *
   drivers/usb/gadget/udc/fsl_qe_udc.c:770:25: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be16 [noderef] __iomem * @@
   drivers/usb/gadget/udc/fsl_qe_udc.c:770:25: sparse:     expected unsigned short const volatile [noderef] [usertype] __iomem *addr
   drivers/usb/gadget/udc/fsl_qe_udc.c:770:25: sparse:     got restricted __be16 [noderef] __iomem *
   drivers/usb/gadget/udc/fsl_qe_udc.c:771:30: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short volatile [noderef] [usertype] __iomem *addr @@     got restricted __be16 [noderef] __iomem * @@
   drivers/usb/gadget/udc/fsl_qe_udc.c:771:30: sparse:     expected unsigned short volatile [noderef] [usertype] __iomem *addr
   drivers/usb/gadget/udc/fsl_qe_udc.c:771:30: sparse:     got restricted __be16 [noderef] __iomem *
>> drivers/usb/gadget/udc/fsl_qe_udc.c:836:68: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
>> drivers/usb/gadget/udc/fsl_qe_udc.c:836:68: sparse:     expected unsigned int const volatile [noderef] [usertype] __iomem *addr
   drivers/usb/gadget/udc/fsl_qe_udc.c:836:68: sparse:     got restricted __be32 [noderef] __iomem *
   drivers/usb/gadget/udc/fsl_qe_udc.c:964:68: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/usb/gadget/udc/fsl_qe_udc.c:964:68: sparse:     expected unsigned int const volatile [noderef] [usertype] __iomem *addr
   drivers/usb/gadget/udc/fsl_qe_udc.c:964:68: sparse:     got restricted __be32 [noderef] __iomem *
   drivers/usb/gadget/udc/fsl_qe_udc.c:1074:33: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be16 [noderef] __iomem * @@
   drivers/usb/gadget/udc/fsl_qe_udc.c:1074:33: sparse:     expected unsigned short const volatile [noderef] [usertype] __iomem *addr
   drivers/usb/gadget/udc/fsl_qe_udc.c:1074:33: sparse:     got restricted __be16 [noderef] __iomem *
   drivers/usb/gadget/udc/fsl_qe_udc.c:1075:22: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short volatile [noderef] [usertype] __iomem *addr @@     got restricted __be16 [noderef] __iomem * @@
   drivers/usb/gadget/udc/fsl_qe_udc.c:1075:22: sparse:     expected unsigned short volatile [noderef] [usertype] __iomem *addr
   drivers/usb/gadget/udc/fsl_qe_udc.c:1075:22: sparse:     got restricted __be16 [noderef] __iomem *
   drivers/usb/gadget/udc/fsl_qe_udc.c:1089:27: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/usb/gadget/udc/fsl_qe_udc.c:1089:27: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   drivers/usb/gadget/udc/fsl_qe_udc.c:1089:27: sparse:     got restricted __be32 [noderef] __iomem *
   drivers/usb/gadget/udc/fsl_qe_udc.c:1114:30: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short volatile [noderef] [usertype] __iomem *addr @@     got restricted __be16 [noderef] __iomem * @@
   drivers/usb/gadget/udc/fsl_qe_udc.c:1114:30: sparse:     expected unsigned short volatile [noderef] [usertype] __iomem *addr
   drivers/usb/gadget/udc/fsl_qe_udc.c:1114:30: sparse:     got restricted __be16 [noderef] __iomem *
   drivers/usb/gadget/udc/fsl_qe_udc.c:1124:30: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short volatile [noderef] [usertype] __iomem *addr @@     got restricted __be16 [noderef] __iomem * @@
   drivers/usb/gadget/udc/fsl_qe_udc.c:1124:30: sparse:     expected unsigned short volatile [noderef] [usertype] __iomem *addr
   drivers/usb/gadget/udc/fsl_qe_udc.c:1124:30: sparse:     got restricted __be16 [noderef] __iomem *
   drivers/usb/gadget/udc/fsl_qe_udc.c:1367:27: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/usb/gadget/udc/fsl_qe_udc.c:1367:27: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   drivers/usb/gadget/udc/fsl_qe_udc.c:1367:27: sparse:     got restricted __be32 [noderef] __iomem *
   drivers/usb/gadget/udc/fsl_qe_udc.c:1431:27: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/usb/gadget/udc/fsl_qe_udc.c:1431:27: sparse:     expected unsigned int volatile [noderef] [usertype] __iomem *addr
   drivers/usb/gadget/udc/fsl_qe_udc.c:1431:27: sparse:     got restricted __be32 [noderef] __iomem *
   drivers/usb/gadget/udc/fsl_qe_udc.c:1490:60: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/usb/gadget/udc/fsl_qe_udc.c:1490:60: sparse:     expected unsigned int const volatile [noderef] [usertype] __iomem *addr
   drivers/usb/gadget/udc/fsl_qe_udc.c:1490:60: sparse:     got restricted __be32 [noderef] __iomem *
   drivers/usb/gadget/udc/fsl_qe_udc.c:2287:22: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short volatile [noderef] [usertype] __iomem *addr @@     got restricted __be16 [noderef] __iomem * @@
   drivers/usb/gadget/udc/fsl_qe_udc.c:2287:22: sparse:     expected unsigned short volatile [noderef] [usertype] __iomem *addr
   drivers/usb/gadget/udc/fsl_qe_udc.c:2287:22: sparse:     got restricted __be16 [noderef] __iomem *
   drivers/usb/gadget/udc/fsl_qe_udc.c:2288:22: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short volatile [noderef] [usertype] __iomem *addr @@     got restricted __be16 [noderef] __iomem * @@
   drivers/usb/gadget/udc/fsl_qe_udc.c:2288:22: sparse:     expected unsigned short volatile [noderef] [usertype] __iomem *addr
   drivers/usb/gadget/udc/fsl_qe_udc.c:2288:22: sparse:     got restricted __be16 [noderef] __iomem *
   drivers/usb/gadget/udc/fsl_qe_udc.c:1960:56: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be16 [noderef] __iomem * @@
   drivers/usb/gadget/udc/fsl_qe_udc.c:1960:56: sparse:     expected unsigned short const volatile [noderef] [usertype] __iomem *addr
   drivers/usb/gadget/udc/fsl_qe_udc.c:1960:56: sparse:     got restricted __be16 [noderef] __iomem *
   drivers/usb/gadget/udc/fsl_qe_udc.c:1978:30: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned short [usertype] @@     got restricted __le16 [usertype] @@
   drivers/usb/gadget/udc/fsl_qe_udc.c:1978:30: sparse:     expected unsigned short [usertype]
   drivers/usb/gadget/udc/fsl_qe_udc.c:1978:30: sparse:     got restricted __le16 [usertype]
   drivers/usb/gadget/udc/fsl_qe_udc.c:2174:62: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/usb/gadget/udc/fsl_qe_udc.c:2174:62: sparse:     expected unsigned int const volatile [noderef] [usertype] __iomem *addr
   drivers/usb/gadget/udc/fsl_qe_udc.c:2174:62: sparse:     got restricted __be32 [noderef] __iomem *
   drivers/usb/gadget/udc/fsl_qe_udc.c:2199:62: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned int const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be32 [noderef] __iomem * @@
   drivers/usb/gadget/udc/fsl_qe_udc.c:2199:62: sparse:     expected unsigned int const volatile [noderef] [usertype] __iomem *addr
   drivers/usb/gadget/udc/fsl_qe_udc.c:2199:62: sparse:     got restricted __be32 [noderef] __iomem *
   drivers/usb/gadget/udc/fsl_qe_udc.c:2220:31: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be16 [noderef] __iomem * @@
   drivers/usb/gadget/udc/fsl_qe_udc.c:2220:31: sparse:     expected unsigned short const volatile [noderef] [usertype] __iomem *addr
   drivers/usb/gadget/udc/fsl_qe_udc.c:2220:31: sparse:     got restricted __be16 [noderef] __iomem *
   drivers/usb/gadget/udc/fsl_qe_udc.c:2221:29: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short const volatile [noderef] [usertype] __iomem *addr @@     got restricted __be16 [noderef] __iomem * @@
   drivers/usb/gadget/udc/fsl_qe_udc.c:2221:29: sparse:     expected unsigned short const volatile [noderef] [usertype] __iomem *addr
   drivers/usb/gadget/udc/fsl_qe_udc.c:2221:29: sparse:     got restricted __be16 [noderef] __iomem *
   drivers/usb/gadget/udc/fsl_qe_udc.c:2223:22: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short volatile [noderef] [usertype] __iomem *addr @@     got restricted __be16 [noderef] __iomem * @@
   drivers/usb/gadget/udc/fsl_qe_udc.c:2223:22: sparse:     expected unsigned short volatile [noderef] [usertype] __iomem *addr
   drivers/usb/gadget/udc/fsl_qe_udc.c:2223:22: sparse:     got restricted __be16 [noderef] __iomem *
   drivers/usb/gadget/udc/fsl_qe_udc.c:2343:16: sparse: sparse: incorrect type in assignment (different base types) @@     expected unsigned int [usertype] offset @@     got restricted __be32 const [usertype] @@
   drivers/usb/gadget/udc/fsl_qe_udc.c:2343:16: sparse:     expected unsigned int [usertype] offset
   drivers/usb/gadget/udc/fsl_qe_udc.c:2343:16: sparse:     got restricted __be32 const [usertype]
   drivers/usb/gadget/udc/fsl_qe_udc.c:2390:19: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short volatile [noderef] [usertype] __iomem *addr @@     got restricted __be16 [noderef] __iomem * @@
   drivers/usb/gadget/udc/fsl_qe_udc.c:2390:19: sparse:     expected unsigned short volatile [noderef] [usertype] __iomem *addr
   drivers/usb/gadget/udc/fsl_qe_udc.c:2390:19: sparse:     got restricted __be16 [noderef] __iomem *
   drivers/usb/gadget/udc/fsl_qe_udc.c:2392:19: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short volatile [noderef] [usertype] __iomem *addr @@     got restricted __be16 [noderef] __iomem * @@
   drivers/usb/gadget/udc/fsl_qe_udc.c:2392:19: sparse:     expected unsigned short volatile [noderef] [usertype] __iomem *addr
   drivers/usb/gadget/udc/fsl_qe_udc.c:2392:19: sparse:     got restricted __be16 [noderef] __iomem *
   drivers/usb/gadget/udc/fsl_qe_udc.c:2071:28: sparse: sparse: context imbalance in 'setup_received_handle' - unexpected unlock
--
>> arch/powerpc/platforms/8xx/micropatch.c:328:34: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected void volatile [noderef] __iomem *d @@     got unsigned char * @@
>> arch/powerpc/platforms/8xx/micropatch.c:328:34: sparse:     expected void volatile [noderef] __iomem *d
   arch/powerpc/platforms/8xx/micropatch.c:328:34: sparse:     got unsigned char *
>> arch/powerpc/platforms/8xx/micropatch.c:333:19: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned short volatile [noderef] [usertype] __iomem *addr @@     got unsigned short * @@
>> arch/powerpc/platforms/8xx/micropatch.c:333:19: sparse:     expected unsigned short volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/8xx/micropatch.c:333:19: sparse:     got unsigned short *
   arch/powerpc/platforms/8xx/micropatch.c:346:27: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned short volatile [noderef] [usertype] __iomem *addr @@     got unsigned short * @@
   arch/powerpc/platforms/8xx/micropatch.c:346:27: sparse:     expected unsigned short volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/8xx/micropatch.c:346:27: sparse:     got unsigned short *
>> arch/powerpc/platforms/8xx/micropatch.c:350:27: sparse: sparse: incorrect type in argument 1 (different base types) @@     expected unsigned short volatile [noderef] [usertype] __iomem *addr @@     got restricted __be16 * @@
   arch/powerpc/platforms/8xx/micropatch.c:350:27: sparse:     expected unsigned short volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/8xx/micropatch.c:350:27: sparse:     got restricted __be16 *
   arch/powerpc/platforms/8xx/micropatch.c:356:35: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned short volatile [noderef] [usertype] __iomem *addr @@     got unsigned short * @@
   arch/powerpc/platforms/8xx/micropatch.c:356:35: sparse:     expected unsigned short volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/8xx/micropatch.c:356:35: sparse:     got unsigned short *
   arch/powerpc/platforms/8xx/micropatch.c:364:27: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned short volatile [noderef] [usertype] __iomem *addr @@     got unsigned short * @@
   arch/powerpc/platforms/8xx/micropatch.c:364:27: sparse:     expected unsigned short volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/8xx/micropatch.c:364:27: sparse:     got unsigned short *
   arch/powerpc/platforms/8xx/micropatch.c:366:27: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned short volatile [noderef] [usertype] __iomem *addr @@     got unsigned short * @@
   arch/powerpc/platforms/8xx/micropatch.c:366:27: sparse:     expected unsigned short volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/8xx/micropatch.c:366:27: sparse:     got unsigned short *
   arch/powerpc/platforms/8xx/micropatch.c:369:19: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned short volatile [noderef] [usertype] __iomem *addr @@     got unsigned short * @@
   arch/powerpc/platforms/8xx/micropatch.c:369:19: sparse:     expected unsigned short volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/8xx/micropatch.c:369:19: sparse:     got unsigned short *
   arch/powerpc/platforms/8xx/micropatch.c:370:19: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned short volatile [noderef] [usertype] __iomem *addr @@     got unsigned short * @@
   arch/powerpc/platforms/8xx/micropatch.c:370:19: sparse:     expected unsigned short volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/8xx/micropatch.c:370:19: sparse:     got unsigned short *
   arch/powerpc/platforms/8xx/micropatch.c:371:19: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned short volatile [noderef] [usertype] __iomem *addr @@     got unsigned short * @@
   arch/powerpc/platforms/8xx/micropatch.c:371:19: sparse:     expected unsigned short volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/8xx/micropatch.c:371:19: sparse:     got unsigned short *
   arch/powerpc/platforms/8xx/micropatch.c:372:19: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned short volatile [noderef] [usertype] __iomem *addr @@     got unsigned short * @@
   arch/powerpc/platforms/8xx/micropatch.c:372:19: sparse:     expected unsigned short volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/8xx/micropatch.c:372:19: sparse:     got unsigned short *
   arch/powerpc/platforms/8xx/micropatch.c:374:19: sparse: sparse: incorrect type in argument 1 (different address spaces) @@     expected unsigned short volatile [noderef] [usertype] __iomem *addr @@     got unsigned short * @@
   arch/powerpc/platforms/8xx/micropatch.c:374:19: sparse:     expected unsigned short volatile [noderef] [usertype] __iomem *addr
   arch/powerpc/platforms/8xx/micropatch.c:374:19: sparse:     got unsigned short *

# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=670d0a4b10704667765f7d18f7592993d02783aa
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 670d0a4b10704667765f7d18f7592993d02783aa
vim +/__iomem +2423 drivers/usb/gadget/udc/fsl_udc_core.c

83722bc9430424d drivers/usb/gadget/fsl_udc_core.c     Anatolij Gustschin         2011-04-18  2386  
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2387  	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
4365831dadfeeeb drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-06-06  2388  	if (!res) {
23d7cd040e1f431 drivers/usb/gadget/fsl_usb2_udc.c     Will Newton                2008-08-12  2389  		ret = -ENXIO;
23d7cd040e1f431 drivers/usb/gadget/fsl_usb2_udc.c     Will Newton                2008-08-12  2390  		goto err_kfree;
4365831dadfeeeb drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-06-06  2391  	}
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2392  
83722bc9430424d drivers/usb/gadget/fsl_udc_core.c     Anatolij Gustschin         2011-04-18  2393  	if (pdata->operating_mode == FSL_USB2_DR_DEVICE) {
28f65c11f2ffb39 drivers/usb/gadget/fsl_udc_core.c     Joe Perches                2011-06-09  2394  		if (!request_mem_region(res->start, resource_size(res),
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2395  					driver_name)) {
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2396  			ERR("request mem region for %s failed\n", pdev->name);
23d7cd040e1f431 drivers/usb/gadget/fsl_usb2_udc.c     Will Newton                2008-08-12  2397  			ret = -EBUSY;
23d7cd040e1f431 drivers/usb/gadget/fsl_usb2_udc.c     Will Newton                2008-08-12  2398  			goto err_kfree;
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2399  		}
83722bc9430424d drivers/usb/gadget/fsl_udc_core.c     Anatolij Gustschin         2011-04-18  2400  	}
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2401  
54e4026b64a9703 drivers/usb/gadget/fsl_udc_core.c     Guennadi Liakhovetski      2009-04-15  2402  	dr_regs = ioremap(res->start, resource_size(res));
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2403  	if (!dr_regs) {
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2404  		ret = -ENOMEM;
23d7cd040e1f431 drivers/usb/gadget/fsl_usb2_udc.c     Will Newton                2008-08-12  2405  		goto err_release_mem_region;
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2406  	}
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2407  
bbb9f94cf9e9e1c drivers/usb/gadget/udc/fsl_udc_core.c Felipe Balbi               2014-07-16  2408  	pdata->regs = (void __iomem *)dr_regs;
2ea6698d7b9266d drivers/usb/gadget/fsl_udc_core.c     Anatolij Gustschin         2011-04-18  2409  
2ea6698d7b9266d drivers/usb/gadget/fsl_udc_core.c     Anatolij Gustschin         2011-04-18  2410  	/*
2ea6698d7b9266d drivers/usb/gadget/fsl_udc_core.c     Anatolij Gustschin         2011-04-18  2411  	 * do platform specific init: check the clock, grab/config pins, etc.
2ea6698d7b9266d drivers/usb/gadget/fsl_udc_core.c     Anatolij Gustschin         2011-04-18  2412  	 */
2ea6698d7b9266d drivers/usb/gadget/fsl_udc_core.c     Anatolij Gustschin         2011-04-18  2413  	if (pdata->init && pdata->init(pdev)) {
2ea6698d7b9266d drivers/usb/gadget/fsl_udc_core.c     Anatolij Gustschin         2011-04-18  2414  		ret = -ENODEV;
2ea6698d7b9266d drivers/usb/gadget/fsl_udc_core.c     Anatolij Gustschin         2011-04-18  2415  		goto err_iounmap_noclk;
2ea6698d7b9266d drivers/usb/gadget/fsl_udc_core.c     Anatolij Gustschin         2011-04-18  2416  	}
2ea6698d7b9266d drivers/usb/gadget/fsl_udc_core.c     Anatolij Gustschin         2011-04-18  2417  
2ea6698d7b9266d drivers/usb/gadget/fsl_udc_core.c     Anatolij Gustschin         2011-04-18  2418  	/* Set accessors only after pdata->init() ! */
3140d5b26643092 drivers/usb/gadget/fsl_udc_core.c     Anatolij Gustschin         2011-06-25  2419  	fsl_set_accessors(pdata);
09ba0def9aefc16 drivers/usb/gadget/fsl_udc_core.c     Anatolij Gustschin         2011-04-18  2420  
54e4026b64a9703 drivers/usb/gadget/fsl_udc_core.c     Guennadi Liakhovetski      2009-04-15  2421  #ifndef CONFIG_ARCH_MXC
2ea6698d7b9266d drivers/usb/gadget/fsl_udc_core.c     Anatolij Gustschin         2011-04-18  2422  	if (pdata->have_sysif_regs)
8981d76a2cf4c46 drivers/usb/gadget/fsl_udc_core.c     Shaohui Xie                2011-11-07 @2423  		usb_sys_regs = (void *)dr_regs + USB_DR_SYS_OFFSET;
54e4026b64a9703 drivers/usb/gadget/fsl_udc_core.c     Guennadi Liakhovetski      2009-04-15  2424  #endif
54e4026b64a9703 drivers/usb/gadget/fsl_udc_core.c     Guennadi Liakhovetski      2009-04-15  2425  
54e4026b64a9703 drivers/usb/gadget/fsl_udc_core.c     Guennadi Liakhovetski      2009-04-15  2426  	/* Initialize USB clocks */
54e4026b64a9703 drivers/usb/gadget/fsl_udc_core.c     Guennadi Liakhovetski      2009-04-15  2427  	ret = fsl_udc_clk_init(pdev);
54e4026b64a9703 drivers/usb/gadget/fsl_udc_core.c     Guennadi Liakhovetski      2009-04-15  2428  	if (ret < 0)
54e4026b64a9703 drivers/usb/gadget/fsl_udc_core.c     Guennadi Liakhovetski      2009-04-15  2429  		goto err_iounmap_noclk;
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2430  
4365831dadfeeeb drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-06-06  2431  	/* Read Device Controller Capability Parameters register */
4365831dadfeeeb drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-06-06  2432  	dccparams = fsl_readl(&dr_regs->dccparams);
4365831dadfeeeb drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-06-06  2433  	if (!(dccparams & DCCPARAMS_DC)) {
4365831dadfeeeb drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-06-06  2434  		ERR("This SOC doesn't support device role\n");
4365831dadfeeeb drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-06-06  2435  		ret = -ENODEV;
23d7cd040e1f431 drivers/usb/gadget/fsl_usb2_udc.c     Will Newton                2008-08-12  2436  		goto err_iounmap;
4365831dadfeeeb drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-06-06  2437  	}
4365831dadfeeeb drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-06-06  2438  	/* Get max device endpoints */
4365831dadfeeeb drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-06-06  2439  	/* DEN is bidirectional ep number, max_ep doubles the number */
4365831dadfeeeb drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-06-06  2440  	udc_controller->max_ep = (dccparams & DCCPARAMS_DEN_MASK) * 2;
4365831dadfeeeb drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-06-06  2441  
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2442  	udc_controller->irq = platform_get_irq(pdev, 0);
4cda340a455b425 drivers/usb/gadget/udc/fsl_udc_core.c Tang Bin                   2020-04-10  2443  	if (udc_controller->irq <= 0) {
4cda340a455b425 drivers/usb/gadget/udc/fsl_udc_core.c Tang Bin                   2020-04-10  2444  		ret = udc_controller->irq ? : -ENODEV;
23d7cd040e1f431 drivers/usb/gadget/fsl_usb2_udc.c     Will Newton                2008-08-12  2445  		goto err_iounmap;
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2446  	}
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2447  
37b5453dd4dafcc drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-06-07  2448  	ret = request_irq(udc_controller->irq, fsl_udc_irq, IRQF_SHARED,
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2449  			driver_name, udc_controller);
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2450  	if (ret != 0) {
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2451  		ERR("cannot request irq %d err %d\n",
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2452  				udc_controller->irq, ret);
23d7cd040e1f431 drivers/usb/gadget/fsl_usb2_udc.c     Will Newton                2008-08-12  2453  		goto err_iounmap;
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2454  	}
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2455  
4365831dadfeeeb drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-06-06  2456  	/* Initialize the udc structure including QH member and other member */
4365831dadfeeeb drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-06-06  2457  	if (struct_udc_setup(udc_controller, pdev)) {
4365831dadfeeeb drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-06-06  2458  		ERR("Can't initialize udc data structure\n");
4365831dadfeeeb drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-06-06  2459  		ret = -ENOMEM;
23d7cd040e1f431 drivers/usb/gadget/fsl_usb2_udc.c     Will Newton                2008-08-12  2460  		goto err_free_irq;
4365831dadfeeeb drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-06-06  2461  	}
4365831dadfeeeb drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-06-06  2462  
ded017ee6c7b90f drivers/usb/gadget/fsl_udc_core.c     Kishon Vijay Abraham I     2012-06-26  2463  	if (IS_ERR_OR_NULL(udc_controller->transceiver)) {
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2464  		/* initialize usb hw reg except for regs for EP,
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2465  		 * leave usbintr reg untouched */
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2466  		dr_controller_setup(udc_controller);
83722bc9430424d drivers/usb/gadget/fsl_udc_core.c     Anatolij Gustschin         2011-04-18  2467  	}
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2468  
c2c9caa94748657 drivers/usb/gadget/fsl_udc_core.c     Peter Chen                 2013-01-17  2469  	ret = fsl_udc_clk_finalize(pdev);
c2c9caa94748657 drivers/usb/gadget/fsl_udc_core.c     Peter Chen                 2013-01-17  2470  	if (ret)
c2c9caa94748657 drivers/usb/gadget/fsl_udc_core.c     Peter Chen                 2013-01-17  2471  		goto err_free_irq;
54e4026b64a9703 drivers/usb/gadget/fsl_udc_core.c     Guennadi Liakhovetski      2009-04-15  2472  
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2473  	/* Setup gadget structure */
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2474  	udc_controller->gadget.ops = &fsl_gadget_ops;
d327ab5b6d660d6 drivers/usb/gadget/fsl_udc_core.c     Michal Nazarewicz          2011-11-19  2475  	udc_controller->gadget.max_speed = USB_SPEED_HIGH;
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2476  	udc_controller->gadget.ep0 = &udc_controller->eps[0].ep;
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2477  	INIT_LIST_HEAD(&udc_controller->gadget.ep_list);
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2478  	udc_controller->gadget.speed = USB_SPEED_UNKNOWN;
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2479  	udc_controller->gadget.name = driver_name;
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2480  
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2481  	/* Setup gadget.dev and register with kernel */
0031a06e2f07ab0 drivers/usb/gadget/fsl_usb2_udc.c     Kay Sievers                2008-05-02  2482  	dev_set_name(&udc_controller->gadget.dev, "gadget");
cb4baf104b11458 drivers/usb/gadget/fsl_udc_core.c     Alexandre Pereira da Silva 2012-06-26  2483  	udc_controller->gadget.dev.of_node = pdev->dev.of_node;
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2484  
ded017ee6c7b90f drivers/usb/gadget/fsl_udc_core.c     Kishon Vijay Abraham I     2012-06-26  2485  	if (!IS_ERR_OR_NULL(udc_controller->transceiver))
83722bc9430424d drivers/usb/gadget/fsl_udc_core.c     Anatolij Gustschin         2011-04-18  2486  		udc_controller->gadget.is_otg = 1;
83722bc9430424d drivers/usb/gadget/fsl_udc_core.c     Anatolij Gustschin         2011-04-18  2487  
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2488  	/* setup QH and epctrl for ep0 */
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2489  	ep0_setup(udc_controller);
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2490  
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2491  	/* setup udc->eps[] for ep0 */
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2492  	struct_ep_setup(udc_controller, 0, "ep0", 0);
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2493  	/* for ep0: the desc defined here;
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2494  	 * for other eps, gadget layer called ep_enable with defined desc
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2495  	 */
80e91fd59bc5291 drivers/usb/gadget/fsl_udc_core.c     Christoph Fritz            2012-06-04  2496  	udc_controller->eps[0].ep.desc = &fsl_ep0_desc;
e117e742d310683 drivers/usb/gadget/fsl_udc_core.c     Robert Baldyga             2013-12-13  2497  	usb_ep_set_maxpacket_limit(&udc_controller->eps[0].ep,
e117e742d310683 drivers/usb/gadget/fsl_udc_core.c     Robert Baldyga             2013-12-13  2498  				   USB_MAX_CTRL_PAYLOAD);
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2499  
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2500  	/* setup the udc->eps[] for non-control endpoints and link
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2501  	 * to gadget.ep_list */
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2502  	for (i = 1; i < (int)(udc_controller->max_ep / 2); i++) {
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2503  		char name[14];
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2504  
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2505  		sprintf(name, "ep%dout", i);
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2506  		struct_ep_setup(udc_controller, i * 2, name, 1);
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2507  		sprintf(name, "ep%din", i);
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2508  		struct_ep_setup(udc_controller, i * 2 + 1, name, 1);
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2509  	}
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2510  
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2511  	/* use dma_pool for TD management */
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2512  	udc_controller->td_pool = dma_pool_create("udc_td", &pdev->dev,
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2513  			sizeof(struct ep_td_struct),
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2514  			DTD_ALIGNMENT, UDC_DMA_BOUNDARY);
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2515  	if (udc_controller->td_pool == NULL) {
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2516  		ret = -ENOMEM;
eab35c4e6d952c9 drivers/usb/gadget/fsl_udc_core.c     Felipe Balbi               2013-01-24  2517  		goto err_free_irq;
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2518  	}
0f91349b89f37df drivers/usb/gadget/fsl_udc_core.c     Sebastian Andrzej Siewior  2011-06-28  2519  
0e4d65e5292ed76 drivers/usb/gadget/fsl_udc_core.c     Felipe Balbi               2013-02-26  2520  	ret = usb_add_gadget_udc_release(&pdev->dev, &udc_controller->gadget,
0e4d65e5292ed76 drivers/usb/gadget/fsl_udc_core.c     Felipe Balbi               2013-02-26  2521  			fsl_udc_release);
0f91349b89f37df drivers/usb/gadget/fsl_udc_core.c     Sebastian Andrzej Siewior  2011-06-28  2522  	if (ret)
0f91349b89f37df drivers/usb/gadget/fsl_udc_core.c     Sebastian Andrzej Siewior  2011-06-28  2523  		goto err_del_udc;
0f91349b89f37df drivers/usb/gadget/fsl_udc_core.c     Sebastian Andrzej Siewior  2011-06-28  2524  
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2525  	create_proc_file();
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2526  	return 0;
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2527  
0f91349b89f37df drivers/usb/gadget/fsl_udc_core.c     Sebastian Andrzej Siewior  2011-06-28  2528  err_del_udc:
0f91349b89f37df drivers/usb/gadget/fsl_udc_core.c     Sebastian Andrzej Siewior  2011-06-28  2529  	dma_pool_destroy(udc_controller->td_pool);
23d7cd040e1f431 drivers/usb/gadget/fsl_usb2_udc.c     Will Newton                2008-08-12  2530  err_free_irq:
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2531  	free_irq(udc_controller->irq, udc_controller);
23d7cd040e1f431 drivers/usb/gadget/fsl_usb2_udc.c     Will Newton                2008-08-12  2532  err_iounmap:
2ea6698d7b9266d drivers/usb/gadget/fsl_udc_core.c     Anatolij Gustschin         2011-04-18  2533  	if (pdata->exit)
2ea6698d7b9266d drivers/usb/gadget/fsl_udc_core.c     Anatolij Gustschin         2011-04-18  2534  		pdata->exit(pdev);
54e4026b64a9703 drivers/usb/gadget/fsl_udc_core.c     Guennadi Liakhovetski      2009-04-15  2535  	fsl_udc_clk_release();
54e4026b64a9703 drivers/usb/gadget/fsl_udc_core.c     Guennadi Liakhovetski      2009-04-15  2536  err_iounmap_noclk:
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2537  	iounmap(dr_regs);
23d7cd040e1f431 drivers/usb/gadget/fsl_usb2_udc.c     Will Newton                2008-08-12  2538  err_release_mem_region:
83722bc9430424d drivers/usb/gadget/fsl_udc_core.c     Anatolij Gustschin         2011-04-18  2539  	if (pdata->operating_mode == FSL_USB2_DR_DEVICE)
28f65c11f2ffb39 drivers/usb/gadget/fsl_udc_core.c     Joe Perches                2011-06-09  2540  		release_mem_region(res->start, resource_size(res));
23d7cd040e1f431 drivers/usb/gadget/fsl_usb2_udc.c     Will Newton                2008-08-12  2541  err_kfree:
4365831dadfeeeb drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-06-06  2542  	kfree(udc_controller);
23d7cd040e1f431 drivers/usb/gadget/fsl_usb2_udc.c     Will Newton                2008-08-12  2543  	udc_controller = NULL;
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2544  	return ret;
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2545  }
b504882da539c17 drivers/usb/gadget/fsl_usb2_udc.c     Li Yang                    2007-04-23  2546  

:::::: The code at line 2423 was first introduced by commit
:::::: 8981d76a2cf4c46333d9a18176a6eee337a71146 powerpc/usb: fix type cast for address of ioremap to compatible with 64-bit

:::::: TO: Shaohui Xie <Shaohui.Xie@...escale.com>
:::::: CC: Greg Kroah-Hartman <gregkh@...e.de>

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

Download attachment ".config.gz" of type "application/gzip" (32203 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ