CC: [email protected]
CC: [email protected]
CC: [email protected]
CC: Felipe Balbi <[email protected]>
TO: Martin Blumenstingl <[email protected]>
CC: Felipe Balbi <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git 
testing/next
head:   a1ff2f6769e39055e973b068070aeea0b3bcd90f
commit: 602fb68e303fb96c9e4a5eb5f25ad0ce999df37d [40/48] usb: dwc2: Add missing 
cleanups when usb_add_gadget_udc() fails
:::::: branch date: 32 hours ago
:::::: commit date: 32 hours ago
config: h8300-randconfig-s031-20200726 (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.2-93-g4c6cbe55-dirty
        git checkout 602fb68e303fb96c9e4a5eb5f25ad0ce999df37d
        # 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 <[email protected]>


sparse warnings: (new ones prefixed by >>)

>> drivers/usb/dwc2/platform.c:593:1: sparse: sparse: unused label 
>> 'error_debugfs'
   drivers/usb/dwc2/platform.c: note: in included file (through 
arch/h8300/include/asm/io.h, include/linux/scatterlist.h, 
include/linux/dma-mapping.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/usb/dwc2/platform.c: note: in included file (through 
include/linux/scatterlist.h, include/linux/dma-mapping.h):
   arch/h8300/include/asm/io.h:26:18: sparse: sparse: cast removes address 
space '__iomem' of expression
   arch/h8300/include/asm/io.h:26:18: sparse: sparse: cast removes address 
space '__iomem' of expression
   drivers/usb/dwc2/platform.c: note: in included file (through 
arch/h8300/include/asm/io.h, include/linux/scatterlist.h, 
include/linux/dma-mapping.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/usb/dwc2/platform.c: note: in included file (through 
include/linux/scatterlist.h, include/linux/dma-mapping.h):
   arch/h8300/include/asm/io.h:26:18: sparse: sparse: cast removes address 
space '__iomem' of expression
   arch/h8300/include/asm/io.h:26:18: sparse: sparse: cast removes address 
space '__iomem' of expression
   drivers/usb/dwc2/platform.c: note: in included file (through 
arch/h8300/include/asm/io.h, include/linux/scatterlist.h, 
include/linux/dma-mapping.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/usb/dwc2/platform.c: note: in included file (through 
include/linux/scatterlist.h, include/linux/dma-mapping.h):
   arch/h8300/include/asm/io.h:26:18: sparse: sparse: cast removes address 
space '__iomem' of expression
   arch/h8300/include/asm/io.h:26:18: sparse: sparse: cast removes address 
space '__iomem' of expression
   drivers/usb/dwc2/platform.c: note: in included file (through 
arch/h8300/include/asm/io.h, include/linux/scatterlist.h, 
include/linux/dma-mapping.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/usb/dwc2/platform.c: note: in included file (through 
include/linux/scatterlist.h, include/linux/dma-mapping.h):
   arch/h8300/include/asm/io.h:44:11: sparse: sparse: cast removes address 
space '__iomem' of expression
   drivers/usb/dwc2/platform.c: note: in included file (through 
arch/h8300/include/asm/io.h, include/linux/scatterlist.h, 
include/linux/dma-mapping.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/usb/dwc2/platform.c: note: in included file (through 
include/linux/scatterlist.h, include/linux/dma-mapping.h):
   arch/h8300/include/asm/io.h:44:11: sparse: sparse: cast removes address 
space '__iomem' of expression
   drivers/usb/dwc2/platform.c: note: in included file (through 
arch/h8300/include/asm/io.h, include/linux/scatterlist.h, 
include/linux/dma-mapping.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/usb/dwc2/platform.c: note: in included file (through 
include/linux/scatterlist.h, include/linux/dma-mapping.h):
   arch/h8300/include/asm/io.h:26:18: sparse: sparse: cast removes address 
space '__iomem' of expression
   arch/h8300/include/asm/io.h:26:18: sparse: sparse: cast removes address 
space '__iomem' of expression
   drivers/usb/dwc2/platform.c: note: in included file (through 
arch/h8300/include/asm/io.h, include/linux/scatterlist.h, 
include/linux/dma-mapping.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/usb/dwc2/platform.c: note: in included file (through 
include/linux/scatterlist.h, include/linux/dma-mapping.h):
   arch/h8300/include/asm/io.h:26:18: sparse: sparse: cast removes address 
space '__iomem' of expression
   arch/h8300/include/asm/io.h:26:18: sparse: sparse: cast removes address 
space '__iomem' of expression
   drivers/usb/dwc2/platform.c: note: in included file (through 
arch/h8300/include/asm/io.h, include/linux/scatterlist.h, 
include/linux/dma-mapping.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/usb/dwc2/platform.c: note: in included file (through 
include/linux/scatterlist.h, include/linux/dma-mapping.h):
   arch/h8300/include/asm/io.h:44:11: sparse: sparse: cast removes address 
space '__iomem' of expression
   drivers/usb/dwc2/platform.c: note: in included file (through 
arch/h8300/include/asm/io.h, include/linux/scatterlist.h, 
include/linux/dma-mapping.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/usb/dwc2/platform.c: note: in included file (through 
include/linux/scatterlist.h, include/linux/dma-mapping.h):
   arch/h8300/include/asm/io.h:44:11: sparse: sparse: cast removes address 
space '__iomem' of expression
   drivers/usb/dwc2/platform.c: note: in included file (through 
arch/h8300/include/asm/io.h, include/linux/scatterlist.h, 
include/linux/dma-mapping.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/usb/dwc2/platform.c: note: in included file (through 
include/linux/scatterlist.h, include/linux/dma-mapping.h):
   arch/h8300/include/asm/io.h:26:18: sparse: sparse: cast removes address 
space '__iomem' of expression
   arch/h8300/include/asm/io.h:26:18: sparse: sparse: cast removes address 
space '__iomem' of expression
   drivers/usb/dwc2/platform.c: note: in included file (through 
arch/h8300/include/asm/io.h, include/linux/scatterlist.h, 
include/linux/dma-mapping.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/usb/dwc2/platform.c: note: in included file (through 
include/linux/scatterlist.h, include/linux/dma-mapping.h):
   arch/h8300/include/asm/io.h:44:11: sparse: sparse: cast removes address 
space '__iomem' of expression
   drivers/usb/dwc2/platform.c: note: in included file (through 
arch/h8300/include/asm/io.h, include/linux/scatterlist.h, 
include/linux/dma-mapping.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/usb/dwc2/platform.c: note: in included file (through 
include/linux/scatterlist.h, include/linux/dma-mapping.h):
   arch/h8300/include/asm/io.h:44:11: sparse: sparse: cast removes address 
space '__iomem' of expression
   drivers/usb/dwc2/platform.c: note: in included file (through 
arch/h8300/include/asm/io.h, include/linux/scatterlist.h, 
include/linux/dma-mapping.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

# 
https://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git/commit/?id=602fb68e303fb96c9e4a5eb5f25ad0ce999df37d
git remote add balbi-usb 
https://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git
git remote update balbi-usb
git checkout 602fb68e303fb96c9e4a5eb5f25ad0ce999df37d
vim +/error_debugfs +593 drivers/usb/dwc2/platform.c

65dc2e72528610 drivers/usb/dwc2/platform.c     Minas Harutyunyan       
2020-05-21  396  
5b9974b13e3648 drivers/staging/dwc2/platform.c Matthijs Kooijman       
2013-04-22  397  /**
5b9974b13e3648 drivers/staging/dwc2/platform.c Matthijs Kooijman       
2013-04-22  398   * dwc2_driver_probe() - Called when the DWC_otg core is bound 
to the DWC_otg
5b9974b13e3648 drivers/staging/dwc2/platform.c Matthijs Kooijman       
2013-04-22  399   * driver
5b9974b13e3648 drivers/staging/dwc2/platform.c Matthijs Kooijman       
2013-04-22  400   *
5b9974b13e3648 drivers/staging/dwc2/platform.c Matthijs Kooijman       
2013-04-22  401   * @dev: Platform device
5b9974b13e3648 drivers/staging/dwc2/platform.c Matthijs Kooijman       
2013-04-22  402   *
5b9974b13e3648 drivers/staging/dwc2/platform.c Matthijs Kooijman       
2013-04-22  403   * This routine creates the driver components required to 
control the device
5b9974b13e3648 drivers/staging/dwc2/platform.c Matthijs Kooijman       
2013-04-22  404   * (core, HCD, and PCD) and initializes the device. The driver 
components are
5b9974b13e3648 drivers/staging/dwc2/platform.c Matthijs Kooijman       
2013-04-22  405   * stored in a dwc2_hsotg structure. A reference to the 
dwc2_hsotg is saved
5b9974b13e3648 drivers/staging/dwc2/platform.c Matthijs Kooijman       
2013-04-22  406   * in the device private data. This allows the driver to 
access the dwc2_hsotg
5b9974b13e3648 drivers/staging/dwc2/platform.c Matthijs Kooijman       
2013-04-22  407   * structure on subsequent calls to driver methods for this 
device.
5b9974b13e3648 drivers/staging/dwc2/platform.c Matthijs Kooijman       
2013-04-22  408   */
5b9974b13e3648 drivers/staging/dwc2/platform.c Matthijs Kooijman       
2013-04-22  409  static int dwc2_driver_probe(struct platform_device *dev)
5b9974b13e3648 drivers/staging/dwc2/platform.c Matthijs Kooijman       
2013-04-22  410  {
5b9974b13e3648 drivers/staging/dwc2/platform.c Matthijs Kooijman       
2013-04-22  411          struct dwc2_hsotg *hsotg;
5b9974b13e3648 drivers/staging/dwc2/platform.c Matthijs Kooijman       
2013-04-22  412          struct resource *res;
5b9974b13e3648 drivers/staging/dwc2/platform.c Matthijs Kooijman       
2013-04-22  413          int retval;
5b9974b13e3648 drivers/staging/dwc2/platform.c Matthijs Kooijman       
2013-04-22  414  
5b9974b13e3648 drivers/staging/dwc2/platform.c Matthijs Kooijman       
2013-04-22  415          hsotg = devm_kzalloc(&dev->dev, sizeof(*hsotg), 
GFP_KERNEL);
5b9974b13e3648 drivers/staging/dwc2/platform.c Matthijs Kooijman       
2013-04-22  416          if (!hsotg)
5b9974b13e3648 drivers/staging/dwc2/platform.c Matthijs Kooijman       
2013-04-22  417                  return -ENOMEM;
5b9974b13e3648 drivers/staging/dwc2/platform.c Matthijs Kooijman       
2013-04-22  418  
5b9974b13e3648 drivers/staging/dwc2/platform.c Matthijs Kooijman       
2013-04-22  419          hsotg->dev = &dev->dev;
5b9974b13e3648 drivers/staging/dwc2/platform.c Matthijs Kooijman       
2013-04-22  420  
642f2ecc092f4d drivers/staging/dwc2/platform.c Matthijs Kooijman       
2013-05-17  421          /*
642f2ecc092f4d drivers/staging/dwc2/platform.c Matthijs Kooijman       
2013-05-17  422           * Use reasonable defaults so platforms don't have to 
provide these.
642f2ecc092f4d drivers/staging/dwc2/platform.c Matthijs Kooijman       
2013-05-17  423           */
642f2ecc092f4d drivers/staging/dwc2/platform.c Matthijs Kooijman       
2013-05-17  424          if (!dev->dev.dma_mask)
642f2ecc092f4d drivers/staging/dwc2/platform.c Matthijs Kooijman       
2013-05-17  425                  dev->dev.dma_mask = 
&dev->dev.coherent_dma_mask;
4cdbb4ff7fe456 drivers/staging/dwc2/platform.c Russell King            
2013-06-10  426          retval = dma_set_coherent_mask(&dev->dev, 
DMA_BIT_MASK(32));
42c6a25235677a drivers/usb/dwc2/platform.c     Stefan Wahren           
2018-02-12  427          if (retval) {
42c6a25235677a drivers/usb/dwc2/platform.c     Stefan Wahren           
2018-02-12  428                  dev_err(&dev->dev, "can't set coherent DMA 
mask: %d\n", retval);
4cdbb4ff7fe456 drivers/staging/dwc2/platform.c Russell King            
2013-06-10  429                  return retval;
42c6a25235677a drivers/usb/dwc2/platform.c     Stefan Wahren           
2018-02-12  430          }
642f2ecc092f4d drivers/staging/dwc2/platform.c Matthijs Kooijman       
2013-05-17  431  
5bf7e2883f1242 drivers/usb/dwc2/platform.c     Dejin Zheng             
2020-03-24  432          hsotg->regs = 
devm_platform_get_and_ioremap_resource(dev, 0, &res);
5b9974b13e3648 drivers/staging/dwc2/platform.c Matthijs Kooijman       
2013-04-22  433          if (IS_ERR(hsotg->regs))
5b9974b13e3648 drivers/staging/dwc2/platform.c Matthijs Kooijman       
2013-04-22  434                  return PTR_ERR(hsotg->regs);
5b9974b13e3648 drivers/staging/dwc2/platform.c Matthijs Kooijman       
2013-04-22  435  
5b9974b13e3648 drivers/staging/dwc2/platform.c Matthijs Kooijman       
2013-04-22  436          dev_dbg(&dev->dev, "mapped PA %08lx to VA %p\n",
5b9974b13e3648 drivers/staging/dwc2/platform.c Matthijs Kooijman       
2013-04-22  437                  (unsigned long)res->start, hsotg->regs);
5b9974b13e3648 drivers/staging/dwc2/platform.c Matthijs Kooijman       
2013-04-22  438  
09a75e85779014 drivers/usb/dwc2/platform.c     Marek Szyprowski        
2015-10-14  439          retval = dwc2_lowlevel_hw_init(hsotg);
ecb176c63ac49d drivers/usb/dwc2/platform.c     Mian Yousaf Kaukab      
2015-04-29  440          if (retval)
ecb176c63ac49d drivers/usb/dwc2/platform.c     Mian Yousaf Kaukab      
2015-04-29  441                  return retval;
ecb176c63ac49d drivers/usb/dwc2/platform.c     Mian Yousaf Kaukab      
2015-04-29  442  
09a75e85779014 drivers/usb/dwc2/platform.c     Marek Szyprowski        
2015-10-14  443          spin_lock_init(&hsotg->lock);
09a75e85779014 drivers/usb/dwc2/platform.c     Marek Szyprowski        
2015-10-14  444  
a40a00318c7fcd drivers/usb/dwc2/platform.c     Heiko Stübner           
2015-12-18  445          hsotg->irq = platform_get_irq(dev, 0);
b33f37064b743d drivers/usb/dwc2/platform.c     Stephen Boyd            
2019-07-30  446          if (hsotg->irq < 0)
a40a00318c7fcd drivers/usb/dwc2/platform.c     Heiko Stübner           
2015-12-18  447                  return hsotg->irq;
f74875dc36135e drivers/usb/dwc2/platform.c     Stefan Wahren           
2015-11-12  448  
f74875dc36135e drivers/usb/dwc2/platform.c     Stefan Wahren           
2015-11-12  449          dev_dbg(hsotg->dev, "registering common handler for 
irq%d\n",
a40a00318c7fcd drivers/usb/dwc2/platform.c     Heiko Stübner           
2015-12-18  450                  hsotg->irq);
a40a00318c7fcd drivers/usb/dwc2/platform.c     Heiko Stübner           
2015-12-18  451          retval = devm_request_irq(hsotg->dev, hsotg->irq,
f74875dc36135e drivers/usb/dwc2/platform.c     Stefan Wahren           
2015-11-12  452                                    dwc2_handle_common_intr, 
IRQF_SHARED,
f74875dc36135e drivers/usb/dwc2/platform.c     Stefan Wahren           
2015-11-12  453                                    dev_name(hsotg->dev), hsotg);
f74875dc36135e drivers/usb/dwc2/platform.c     Stefan Wahren           
2015-11-12  454          if (retval)
f74875dc36135e drivers/usb/dwc2/platform.c     Stefan Wahren           
2015-11-12  455                  return retval;
f74875dc36135e drivers/usb/dwc2/platform.c     Stefan Wahren           
2015-11-12  456  
e0f681c2c11a25 drivers/usb/dwc2/platform.c     Fabrice Gasnier         
2018-09-05  457          hsotg->vbus_supply = 
devm_regulator_get_optional(hsotg->dev, "vbus");
e0f681c2c11a25 drivers/usb/dwc2/platform.c     Fabrice Gasnier         
2018-09-05  458          if (IS_ERR(hsotg->vbus_supply)) {
e0f681c2c11a25 drivers/usb/dwc2/platform.c     Fabrice Gasnier         
2018-09-05  459                  retval = PTR_ERR(hsotg->vbus_supply);
e0f681c2c11a25 drivers/usb/dwc2/platform.c     Fabrice Gasnier         
2018-09-05  460                  hsotg->vbus_supply = NULL;
e0f681c2c11a25 drivers/usb/dwc2/platform.c     Fabrice Gasnier         
2018-09-05  461                  if (retval != -ENODEV)
e0f681c2c11a25 drivers/usb/dwc2/platform.c     Fabrice Gasnier         
2018-09-05  462                          return retval;
e0f681c2c11a25 drivers/usb/dwc2/platform.c     Fabrice Gasnier         
2018-09-05  463          }
e0f681c2c11a25 drivers/usb/dwc2/platform.c     Fabrice Gasnier         
2018-09-05  464  
09a75e85779014 drivers/usb/dwc2/platform.c     Marek Szyprowski        
2015-10-14  465          retval = dwc2_lowlevel_hw_enable(hsotg);
09a75e85779014 drivers/usb/dwc2/platform.c     Marek Szyprowski        
2015-10-14  466          if (retval)
09a75e85779014 drivers/usb/dwc2/platform.c     Marek Szyprowski        
2015-10-14  467                  return retval;
09a75e85779014 drivers/usb/dwc2/platform.c     Marek Szyprowski        
2015-10-14  468  
d9707490077bee drivers/usb/dwc2/platform.c     Bruno Meirelles Herrera 
2018-08-27  469          hsotg->needs_byte_swap = 
dwc2_check_core_endianness(hsotg);
d9707490077bee drivers/usb/dwc2/platform.c     Bruno Meirelles Herrera 
2018-08-27  470  
5268ed9d2e3b52 drivers/usb/dwc2/platform.c     John Youn               
2015-12-17  471          retval = dwc2_get_dr_mode(hsotg);
5268ed9d2e3b52 drivers/usb/dwc2/platform.c     John Youn               
2015-12-17  472          if (retval)
a6ef3e02542a33 drivers/usb/dwc2/platform.c     John Youn               
2016-04-27  473                  goto error;
5268ed9d2e3b52 drivers/usb/dwc2/platform.c     John Youn               
2015-12-17  474  
c846b03ff76714 drivers/usb/dwc2/platform.c     Douglas Anderson        
2019-05-20  475          hsotg->need_phy_for_wake =
c846b03ff76714 drivers/usb/dwc2/platform.c     Douglas Anderson        
2019-05-20  476                  of_property_read_bool(dev->dev.of_node,
c846b03ff76714 drivers/usb/dwc2/platform.c     Douglas Anderson        
2019-05-20  477                                        
"snps,need-phy-for-wake");
c846b03ff76714 drivers/usb/dwc2/platform.c     Douglas Anderson        
2019-05-20  478  
65dc2e72528610 drivers/usb/dwc2/platform.c     Minas Harutyunyan       
2020-05-21  479          /*
65dc2e72528610 drivers/usb/dwc2/platform.c     Minas Harutyunyan       
2020-05-21  480           * Before performing any core related operations
65dc2e72528610 drivers/usb/dwc2/platform.c     Minas Harutyunyan       
2020-05-21  481           * check core version.
65dc2e72528610 drivers/usb/dwc2/platform.c     Minas Harutyunyan       
2020-05-21  482           */
65dc2e72528610 drivers/usb/dwc2/platform.c     Minas Harutyunyan       
2020-05-21  483          retval = dwc2_check_core_version(hsotg);
65dc2e72528610 drivers/usb/dwc2/platform.c     Minas Harutyunyan       
2020-05-21  484          if (retval)
65dc2e72528610 drivers/usb/dwc2/platform.c     Minas Harutyunyan       
2020-05-21  485                  goto error;
65dc2e72528610 drivers/usb/dwc2/platform.c     Minas Harutyunyan       
2020-05-21  486  
03b32e4c9bd1b5 drivers/usb/dwc2/platform.c     John Youn               
2016-01-11  487          /*
03b32e4c9bd1b5 drivers/usb/dwc2/platform.c     John Youn               
2016-01-11  488           * Reset before dwc2_get_hwparams() then it could get 
power-on real
03b32e4c9bd1b5 drivers/usb/dwc2/platform.c     John Youn               
2016-01-11  489           * reset value form registers.
03b32e4c9bd1b5 drivers/usb/dwc2/platform.c     John Youn               
2016-01-11  490           */
13b1f8e25bfd1d drivers/usb/dwc2/platform.c     Vardan Mikayelyan       
2018-02-16  491          retval = dwc2_core_reset(hsotg, false);
13b1f8e25bfd1d drivers/usb/dwc2/platform.c     Vardan Mikayelyan       
2018-02-16  492          if (retval)
13b1f8e25bfd1d drivers/usb/dwc2/platform.c     Vardan Mikayelyan       
2018-02-16  493                  goto error;
03b32e4c9bd1b5 drivers/usb/dwc2/platform.c     John Youn               
2016-01-11  494  
03b32e4c9bd1b5 drivers/usb/dwc2/platform.c     John Youn               
2016-01-11  495          /* Detect config values from hardware */
09a75e85779014 drivers/usb/dwc2/platform.c     Marek Szyprowski        
2015-10-14  496          retval = dwc2_get_hwparams(hsotg);
09a75e85779014 drivers/usb/dwc2/platform.c     Marek Szyprowski        
2015-10-14  497          if (retval)
09a75e85779014 drivers/usb/dwc2/platform.c     Marek Szyprowski        
2015-10-14  498                  goto error;
09a75e85779014 drivers/usb/dwc2/platform.c     Marek Szyprowski        
2015-10-14  499  
13b1f8e25bfd1d drivers/usb/dwc2/platform.c     Vardan Mikayelyan       
2018-02-16  500          /*
13b1f8e25bfd1d drivers/usb/dwc2/platform.c     Vardan Mikayelyan       
2018-02-16  501           * For OTG cores, set the force mode bits to reflect 
the value
13b1f8e25bfd1d drivers/usb/dwc2/platform.c     Vardan Mikayelyan       
2018-02-16  502           * of dr_mode. Force mode bits should not be touched 
at any
13b1f8e25bfd1d drivers/usb/dwc2/platform.c     Vardan Mikayelyan       
2018-02-16  503           * other time after this.
13b1f8e25bfd1d drivers/usb/dwc2/platform.c     Vardan Mikayelyan       
2018-02-16  504           */
25362d318371e1 drivers/usb/dwc2/platform.c     John Youn               
2015-12-17  505          dwc2_force_dr_mode(hsotg);
263b7fb557f797 drivers/usb/dwc2/platform.c     John Youn               
2015-12-17  506  
334bbd4ebe1b34 drivers/usb/dwc2/platform.c     John Youn               
2016-11-03  507          retval = dwc2_init_params(hsotg);
334bbd4ebe1b34 drivers/usb/dwc2/platform.c     John Youn               
2016-11-03  508          if (retval)
334bbd4ebe1b34 drivers/usb/dwc2/platform.c     John Youn               
2016-11-03  509                  goto error;
334bbd4ebe1b34 drivers/usb/dwc2/platform.c     John Youn               
2016-11-03  510  
a415083a11cc76 drivers/usb/dwc2/platform.c     Amelie Delaunay         
2020-01-24  511          if (hsotg->params.activate_stm_id_vb_detection) {
a415083a11cc76 drivers/usb/dwc2/platform.c     Amelie Delaunay         
2020-01-24  512                  u32 ggpio;
a415083a11cc76 drivers/usb/dwc2/platform.c     Amelie Delaunay         
2020-01-24  513  
a415083a11cc76 drivers/usb/dwc2/platform.c     Amelie Delaunay         
2020-01-24  514                  hsotg->usb33d = devm_regulator_get(hsotg->dev, 
"usb33d");
a415083a11cc76 drivers/usb/dwc2/platform.c     Amelie Delaunay         
2020-01-24  515                  if (IS_ERR(hsotg->usb33d)) {
a415083a11cc76 drivers/usb/dwc2/platform.c     Amelie Delaunay         
2020-01-24  516                          retval = PTR_ERR(hsotg->usb33d);
a415083a11cc76 drivers/usb/dwc2/platform.c     Amelie Delaunay         
2020-01-24  517                          if (retval != -EPROBE_DEFER)
a415083a11cc76 drivers/usb/dwc2/platform.c     Amelie Delaunay         
2020-01-24  518                                  dev_err(hsotg->dev,
a415083a11cc76 drivers/usb/dwc2/platform.c     Amelie Delaunay         
2020-01-24  519                                          "failed to request 
usb33d supply: %d\n",
a415083a11cc76 drivers/usb/dwc2/platform.c     Amelie Delaunay         
2020-01-24  520                                          retval);
a415083a11cc76 drivers/usb/dwc2/platform.c     Amelie Delaunay         
2020-01-24  521                          goto error;
a415083a11cc76 drivers/usb/dwc2/platform.c     Amelie Delaunay         
2020-01-24  522                  }
a415083a11cc76 drivers/usb/dwc2/platform.c     Amelie Delaunay         
2020-01-24  523                  retval = regulator_enable(hsotg->usb33d);
a415083a11cc76 drivers/usb/dwc2/platform.c     Amelie Delaunay         
2020-01-24  524                  if (retval) {
a415083a11cc76 drivers/usb/dwc2/platform.c     Amelie Delaunay         
2020-01-24  525                          dev_err(hsotg->dev,
a415083a11cc76 drivers/usb/dwc2/platform.c     Amelie Delaunay         
2020-01-24  526                                  "failed to enable usb33d 
supply: %d\n", retval);
a415083a11cc76 drivers/usb/dwc2/platform.c     Amelie Delaunay         
2020-01-24  527                          goto error;
a415083a11cc76 drivers/usb/dwc2/platform.c     Amelie Delaunay         
2020-01-24  528                  }
a415083a11cc76 drivers/usb/dwc2/platform.c     Amelie Delaunay         
2020-01-24  529  
a415083a11cc76 drivers/usb/dwc2/platform.c     Amelie Delaunay         
2020-01-24  530                  ggpio = dwc2_readl(hsotg, GGPIO);
a415083a11cc76 drivers/usb/dwc2/platform.c     Amelie Delaunay         
2020-01-24  531                  ggpio |= GGPIO_STM32_OTG_GCCFG_IDEN;
a415083a11cc76 drivers/usb/dwc2/platform.c     Amelie Delaunay         
2020-01-24  532                  ggpio |= GGPIO_STM32_OTG_GCCFG_VBDEN;
a415083a11cc76 drivers/usb/dwc2/platform.c     Amelie Delaunay         
2020-01-24  533                  dwc2_writel(hsotg, ggpio, GGPIO);
a415083a11cc76 drivers/usb/dwc2/platform.c     Amelie Delaunay         
2020-01-24  534          }
a415083a11cc76 drivers/usb/dwc2/platform.c     Amelie Delaunay         
2020-01-24  535  
e39af88f18dfe9 drivers/usb/dwc2/platform.c     Marek Szyprowski        
2015-03-10  536          if (hsotg->dr_mode != USB_DR_MODE_HOST) {
f3768997013e1c drivers/usb/dwc2/platform.c     Vardan Mikayelyan       
2017-12-25  537                  retval = dwc2_gadget_init(hsotg);
117777b2c3bb96 drivers/usb/dwc2/platform.c     Dinh Nguyen             
2014-11-11  538                  if (retval)
a415083a11cc76 drivers/usb/dwc2/platform.c     Amelie Delaunay         
2020-01-24  539                          goto error_init;
e39af88f18dfe9 drivers/usb/dwc2/platform.c     Marek Szyprowski        
2015-03-10  540                  hsotg->gadget_enabled = 1;
e39af88f18dfe9 drivers/usb/dwc2/platform.c     Marek Szyprowski        
2015-03-10  541          }
e39af88f18dfe9 drivers/usb/dwc2/platform.c     Marek Szyprowski        
2015-03-10  542  
c846b03ff76714 drivers/usb/dwc2/platform.c     Douglas Anderson        
2019-05-20  543          /*
c846b03ff76714 drivers/usb/dwc2/platform.c     Douglas Anderson        
2019-05-20  544           * If we need PHY for wakeup we must be wakeup capable.
c846b03ff76714 drivers/usb/dwc2/platform.c     Douglas Anderson        
2019-05-20  545           * When we have a device that can wake without the PHY 
we
c846b03ff76714 drivers/usb/dwc2/platform.c     Douglas Anderson        
2019-05-20  546           * can adjust this condition.
c846b03ff76714 drivers/usb/dwc2/platform.c     Douglas Anderson        
2019-05-20  547           */
c846b03ff76714 drivers/usb/dwc2/platform.c     Douglas Anderson        
2019-05-20  548          if (hsotg->need_phy_for_wake)
c846b03ff76714 drivers/usb/dwc2/platform.c     Douglas Anderson        
2019-05-20  549                  device_set_wakeup_capable(&dev->dev, true);
c846b03ff76714 drivers/usb/dwc2/platform.c     Douglas Anderson        
2019-05-20  550  
c40cf7705e13d2 drivers/usb/dwc2/platform.c     Douglas Anderson        
2019-04-16  551          hsotg->reset_phy_on_wake =
c40cf7705e13d2 drivers/usb/dwc2/platform.c     Douglas Anderson        
2019-04-16  552                  of_property_read_bool(dev->dev.of_node,
c40cf7705e13d2 drivers/usb/dwc2/platform.c     Douglas Anderson        
2019-04-16  553                                        
"snps,reset-phy-on-wake");
c40cf7705e13d2 drivers/usb/dwc2/platform.c     Douglas Anderson        
2019-04-16  554          if (hsotg->reset_phy_on_wake && !hsotg->phy) {
c40cf7705e13d2 drivers/usb/dwc2/platform.c     Douglas Anderson        
2019-04-16  555                  dev_warn(hsotg->dev,
c40cf7705e13d2 drivers/usb/dwc2/platform.c     Douglas Anderson        
2019-04-16  556                           "Quirk reset-phy-on-wake only 
supports generic PHYs\n");
c40cf7705e13d2 drivers/usb/dwc2/platform.c     Douglas Anderson        
2019-04-16  557                  hsotg->reset_phy_on_wake = false;
c40cf7705e13d2 drivers/usb/dwc2/platform.c     Douglas Anderson        
2019-04-16  558          }
c40cf7705e13d2 drivers/usb/dwc2/platform.c     Douglas Anderson        
2019-04-16  559  
e39af88f18dfe9 drivers/usb/dwc2/platform.c     Marek Szyprowski        
2015-03-10  560          if (hsotg->dr_mode != USB_DR_MODE_PERIPHERAL) {
4fe160d51e4226 drivers/usb/dwc2/platform.c     Heiner Kallweit         
2017-01-25  561                  retval = dwc2_hcd_init(hsotg);
e39af88f18dfe9 drivers/usb/dwc2/platform.c     Marek Szyprowski        
2015-03-10  562                  if (retval) {
e39af88f18dfe9 drivers/usb/dwc2/platform.c     Marek Szyprowski        
2015-03-10  563                          if (hsotg->gadget_enabled)
1f91b4cc03556b drivers/usb/dwc2/platform.c     Felipe Balbi            
2015-08-06  564                                  dwc2_hsotg_remove(hsotg);
a415083a11cc76 drivers/usb/dwc2/platform.c     Amelie Delaunay         
2020-01-24  565                          goto error_init;
e39af88f18dfe9 drivers/usb/dwc2/platform.c     Marek Szyprowski        
2015-03-10  566                  }
e39af88f18dfe9 drivers/usb/dwc2/platform.c     Marek Szyprowski        
2015-03-10  567                  hsotg->hcd_enabled = 1;
e39af88f18dfe9 drivers/usb/dwc2/platform.c     Marek Szyprowski        
2015-03-10  568          }
5b9974b13e3648 drivers/staging/dwc2/platform.c Matthijs Kooijman       
2013-04-22  569  
5b9974b13e3648 drivers/staging/dwc2/platform.c Matthijs Kooijman       
2013-04-22  570          platform_set_drvdata(dev, hsotg);
20fe440982e72d drivers/usb/dwc2/platform.c     Vardan Mikayelyan       
2018-02-16  571          hsotg->hibernated = 0;
5b9974b13e3648 drivers/staging/dwc2/platform.c Matthijs Kooijman       
2013-04-22  572  
f91eea447ac32d drivers/usb/dwc2/platform.c     Mian Yousaf Kaukab      
2015-04-29  573          dwc2_debugfs_init(hsotg);
f91eea447ac32d drivers/usb/dwc2/platform.c     Mian Yousaf Kaukab      
2015-04-29  574  
09a75e85779014 drivers/usb/dwc2/platform.c     Marek Szyprowski        
2015-10-14  575          /* Gadget code manages lowlevel hw on its own */
09a75e85779014 drivers/usb/dwc2/platform.c     Marek Szyprowski        
2015-10-14  576          if (hsotg->dr_mode == USB_DR_MODE_PERIPHERAL)
09a75e85779014 drivers/usb/dwc2/platform.c     Marek Szyprowski        
2015-10-14  577                  dwc2_lowlevel_hw_disable(hsotg);
09a75e85779014 drivers/usb/dwc2/platform.c     Marek Szyprowski        
2015-10-14  578  
207324a321a866 drivers/usb/dwc2/platform.c     Minas Harutyunyan       
2020-06-09  579  #if IS_ENABLED(CONFIG_USB_DWC2_PERIPHERAL) || \
207324a321a866 drivers/usb/dwc2/platform.c     Minas Harutyunyan       
2020-06-09  580          IS_ENABLED(CONFIG_USB_DWC2_DUAL_ROLE)
207324a321a866 drivers/usb/dwc2/platform.c     Minas Harutyunyan       
2020-06-09  581          /* Postponed adding a new gadget to the udc class 
driver list */
207324a321a866 drivers/usb/dwc2/platform.c     Minas Harutyunyan       
2020-06-09  582          if (hsotg->gadget_enabled) {
207324a321a866 drivers/usb/dwc2/platform.c     Minas Harutyunyan       
2020-06-09  583                  retval = usb_add_gadget_udc(hsotg->dev, 
&hsotg->gadget);
207324a321a866 drivers/usb/dwc2/platform.c     Minas Harutyunyan       
2020-06-09  584                  if (retval) {
ac66bc02b04eeb drivers/usb/dwc2/platform.c     Marek Szyprowski        
2020-07-16  585                          hsotg->gadget.udc = NULL;
207324a321a866 drivers/usb/dwc2/platform.c     Minas Harutyunyan       
2020-06-09  586                          dwc2_hsotg_remove(hsotg);
602fb68e303fb9 drivers/usb/dwc2/platform.c     Martin Blumenstingl     
2020-07-04  587                          goto error_debugfs;
207324a321a866 drivers/usb/dwc2/platform.c     Minas Harutyunyan       
2020-06-09  588                  }
207324a321a866 drivers/usb/dwc2/platform.c     Minas Harutyunyan       
2020-06-09  589          }
207324a321a866 drivers/usb/dwc2/platform.c     Minas Harutyunyan       
2020-06-09  590  #endif /* CONFIG_USB_DWC2_PERIPHERAL || 
CONFIG_USB_DWC2_DUAL_ROLE */
09a75e85779014 drivers/usb/dwc2/platform.c     Marek Szyprowski        
2015-10-14  591          return 0;
09a75e85779014 drivers/usb/dwc2/platform.c     Marek Szyprowski        
2015-10-14  592  
602fb68e303fb9 drivers/usb/dwc2/platform.c     Martin Blumenstingl     
2020-07-04 @593  error_debugfs:
602fb68e303fb9 drivers/usb/dwc2/platform.c     Martin Blumenstingl     
2020-07-04  594          dwc2_debugfs_exit(hsotg);
602fb68e303fb9 drivers/usb/dwc2/platform.c     Martin Blumenstingl     
2020-07-04  595          if (hsotg->hcd_enabled)
602fb68e303fb9 drivers/usb/dwc2/platform.c     Martin Blumenstingl     
2020-07-04  596                  dwc2_hcd_remove(hsotg);
a415083a11cc76 drivers/usb/dwc2/platform.c     Amelie Delaunay         
2020-01-24  597  error_init:
a415083a11cc76 drivers/usb/dwc2/platform.c     Amelie Delaunay         
2020-01-24  598          if (hsotg->params.activate_stm_id_vb_detection)
a415083a11cc76 drivers/usb/dwc2/platform.c     Amelie Delaunay         
2020-01-24  599                  regulator_disable(hsotg->usb33d);
09a75e85779014 drivers/usb/dwc2/platform.c     Marek Szyprowski        
2015-10-14  600  error:
ac66bc02b04eeb drivers/usb/dwc2/platform.c     Marek Szyprowski        
2020-07-16  601          if (hsotg->dr_mode != USB_DR_MODE_PERIPHERAL)
09a75e85779014 drivers/usb/dwc2/platform.c     Marek Szyprowski        
2015-10-14  602                  dwc2_lowlevel_hw_disable(hsotg);
5b9974b13e3648 drivers/staging/dwc2/platform.c Matthijs Kooijman       
2013-04-22  603          return retval;
5b9974b13e3648 drivers/staging/dwc2/platform.c Matthijs Kooijman       
2013-04-22  604  }
5b9974b13e3648 drivers/staging/dwc2/platform.c Matthijs Kooijman       
2013-04-22  605  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]

Attachment: .config.gz
Description: application/gzip

_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to