Hi Manu,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on v4.16-rc4]
[also build test ERROR on next-20180313]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]

url:    
https://github.com/0day-ci/linux/commits/Manu-Gautam/dt-bindings-usb-Update-documentation-for-Qualcomm-DWC3-driver/20180314-095557
config: sparc64-allmodconfig (attached as .config)
compiler: sparc64-linux-gnu-gcc (Debian 7.2.0-11) 7.2.0
reproduce:
        wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=sparc64 

All errors (new ones prefixed by >>):

   drivers/usb/dwc3/dwc3-qcom.c: In function 'dwc3_qcom_probe':
>> drivers/usb/dwc3/dwc3-qcom.c:407:33: error: implicit declaration of function 
>> 'of_clk_get_parent_count'; did you mean 'clk_get_parent'? 
>> [-Werror=implicit-function-declaration]
     ret = dwc3_qcom_clk_init(qcom, of_clk_get_parent_count(np));
                                    ^~~~~~~~~~~~~~~~~~~~~~~
                                    clk_get_parent
   cc1: some warnings being treated as errors

vim +407 drivers/usb/dwc3/dwc3-qcom.c

   380  
   381  static int dwc3_qcom_probe(struct platform_device *pdev)
   382  {
   383          struct device_node      *np = pdev->dev.of_node, *dwc3_np;
   384          struct dwc3_qcom        *qcom;
   385          struct resource         *res;
   386          int                     irq, ret, i;
   387          bool                    ignore_pipe_clk;
   388  
   389          qcom = devm_kzalloc(&pdev->dev, sizeof(*qcom), GFP_KERNEL);
   390          if (!qcom)
   391                  return -ENOMEM;
   392  
   393          platform_set_drvdata(pdev, qcom);
   394          qcom->dev = &pdev->dev;
   395  
   396          qcom->resets = 
of_reset_control_array_get_optional_exclusive(np);
   397          if (IS_ERR(qcom->resets)) {
   398                  ret = PTR_ERR(qcom->resets);
   399                  dev_err(&pdev->dev, "failed to get resets, err=%d\n", 
ret);
   400                  return ret;
   401          }
   402  
   403          ret = reset_control_deassert(qcom->resets);
   404          if (ret)
   405                  goto reset_put;
   406  
 > 407          ret = dwc3_qcom_clk_init(qcom, of_clk_get_parent_count(np));
   408          if (ret) {
   409                  dev_err(qcom->dev, "failed to get clocks\n");
   410                  goto reset_assert;
   411          }
   412  
   413          res = platform_get_resource_byname(pdev, IORESOURCE_MEM, 
"qscratch");
   414          qcom->qscratch_base = devm_ioremap_resource(qcom->dev, res);
   415          if (IS_ERR(qcom->qscratch_base)) {
   416                  dev_err(qcom->dev, "failed to map qscratch - %d\n", 
ret);
   417                  ret = PTR_ERR(qcom->qscratch_base);
   418                  goto clk_disable;
   419          }
   420  
   421          irq = platform_get_irq_byname(pdev, "hs_phy_irq");
   422          if (irq > 0) {
   423                  ret = devm_request_threaded_irq(qcom->dev, irq, NULL,
   424                                          qcom_dwc3_resume_irq,
   425                                          IRQF_TRIGGER_HIGH | 
IRQF_ONESHOT,
   426                                          "qcom_dwc3 HS", qcom);
   427                  if (ret) {
   428                          dev_err(qcom->dev, "hs_phy_irq failed: %d\n", 
ret);
   429                          goto clk_disable;
   430                  }
   431          }
   432  
   433          irq = platform_get_irq_byname(pdev, "dp_hs_phy_irq");
   434          if (irq > 0) {
   435                  irq_set_status_flags(irq, IRQ_NOAUTOEN);
   436                  ret = devm_request_threaded_irq(qcom->dev, irq, NULL,
   437                                          qcom_dwc3_resume_irq,
   438                                          IRQF_TRIGGER_HIGH | 
IRQF_ONESHOT,
   439                                          "qcom_dwc3 DP_HS", qcom);
   440                  if (ret) {
   441                          dev_err(qcom->dev, "dp_hs_phy_irq failed: 
%d\n", ret);
   442                          goto clk_disable;
   443                  }
   444                  qcom->dp_hs_phy_irq = irq;
   445          }
   446  
   447          irq = platform_get_irq_byname(pdev, "dm_hs_phy_irq");
   448          if (irq > 0) {
   449                  irq_set_status_flags(irq, IRQ_NOAUTOEN);
   450                  ret = devm_request_threaded_irq(qcom->dev, irq, NULL,
   451                                          qcom_dwc3_resume_irq,
   452                                          IRQF_TRIGGER_HIGH | 
IRQF_ONESHOT,
   453                                          "qcom_dwc3 DM_HS", qcom);
   454                  if (ret) {
   455                          dev_err(qcom->dev, "dm_hs_phy_irq failed: 
%d\n", ret);
   456                          goto clk_disable;
   457                  }
   458                  qcom->dm_hs_phy_irq = irq;
   459          }
   460  
   461          irq = platform_get_irq_byname(pdev, "ss_phy_irq");
   462          if (irq > 0) {
   463                  irq_set_status_flags(irq, IRQ_NOAUTOEN);
   464                  ret = devm_request_threaded_irq(qcom->dev, irq, NULL,
   465                                          qcom_dwc3_resume_irq,
   466                                          IRQF_TRIGGER_HIGH | 
IRQF_ONESHOT,
   467                                          "qcom_dwc3 SS", qcom);
   468                  if (ret) {
   469                          dev_err(qcom->dev, "ss_phy_irq failed: %d\n", 
ret);
   470                          goto clk_disable;
   471                  }
   472                  qcom->ss_phy_irq = irq;
   473          }
   474  
   475          dwc3_np = of_get_child_by_name(np, "dwc3");
   476          if (!dwc3_np) {
   477                  dev_err(qcom->dev, "failed to find dwc3 core child\n");
   478                  ret = -ENODEV;
   479                  goto clk_disable;
   480          }
   481  
   482          /*
   483           * Disable pipe_clk requirement if specified. Used when dwc3
   484           * operates without SSPHY and only HS/FS/LS modes are supported.
   485           */
   486          ignore_pipe_clk = device_property_read_bool(qcom->dev,
   487                                  "qcom,select-utmi-as-pipe-clk");
   488          if (ignore_pipe_clk)
   489                  dwc3_qcom_select_utmi_clk(qcom);
   490  
   491          ret = of_platform_populate(np, NULL, NULL, qcom->dev);
   492          if (ret) {
   493                  dev_err(qcom->dev, "failed to register dwc3 core - 
%d\n", ret);
   494                  goto clk_disable;
   495          }
   496  
   497          qcom->dwc3 = of_find_device_by_node(dwc3_np);
   498          if (!qcom->dwc3) {
   499                  dev_err(&pdev->dev, "failed to get dwc3 platform 
device\n");
   500                  goto depopulate;
   501          }
   502  
   503          qcom->mode = usb_get_dr_mode(&qcom->dwc3->dev);
   504  
   505          /* register extcon to override vbus later on mode switch */
   506          if (qcom->mode == USB_DR_MODE_OTG) {
   507                  ret = dwc3_qcom_register_extcon(qcom);
   508                  if (ret)
   509                          goto depopulate;
   510          } else if (qcom->mode == USB_DR_MODE_PERIPHERAL) {
   511                  /* enable vbus override for device mode */
   512                  dwc3_qcom_vbus_overrride_enable(qcom, true);
   513          }
   514  
   515          device_init_wakeup(&pdev->dev, 1);
   516          qcom->is_suspended = false;
   517          pm_runtime_set_active(qcom->dev);
   518          pm_runtime_enable(qcom->dev);
   519  
   520          return 0;
   521  
   522  depopulate:
   523          of_platform_depopulate(&pdev->dev);
   524  clk_disable:
   525          for (i = qcom->num_clocks - 1; i >= 0; i--) {
   526                  clk_disable_unprepare(qcom->clks[i]);
   527                  clk_put(qcom->clks[i]);
   528          }
   529  reset_assert:
   530          reset_control_assert(qcom->resets);
   531  reset_put:
   532          reset_control_put(qcom->resets);
   533  
   534          return ret;
   535  }
   536  

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip

Reply via email to