linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: kbuild test robot <lkp@intel.com>
To: Manu Gautam <mgautam@codeaurora.org>
Cc: kbuild-all@01.org, Felipe Balbi <balbi@kernel.org>,
	Rob Herring <robh+dt@kernel.org>,
	linux-arm-msm@vger.kernel.org, linux-usb@vger.kernel.org,
	Manu Gautam <mgautam@codeaurora.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	open list <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v1 2/2] usb: dwc3: Add Qualcomm DWC3 glue driver
Date: Wed, 14 Mar 2018 12:21:00 +0800	[thread overview]
Message-ID: <201803141207.PrtuNDJJ%fengguang.wu@intel.com> (raw)
In-Reply-To: <1520937362-28777-2-git-send-email-mgautam@codeaurora.org>

[-- Attachment #1: Type: text/plain, Size: 6668 bytes --]

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 #2: .config.gz --]
[-- Type: application/gzip, Size: 53375 bytes --]

  parent reply	other threads:[~2018-03-14  4:22 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-13 10:36 [PATCH v1 1/2] dt-bindings: usb: Update documentation for Qualcomm DWC3 driver Manu Gautam
2018-03-13 10:36 ` [PATCH v1 2/2] usb: dwc3: Add Qualcomm DWC3 glue driver Manu Gautam
2018-03-13 11:08   ` Felipe Balbi
2018-03-14  4:39     ` Manu Gautam
2018-03-14  8:50       ` Felipe Balbi
2018-03-14 13:40         ` Heikki Krogerus
2018-03-15  8:16         ` Manu Gautam
2018-03-14  4:21   ` kbuild test robot [this message]
2018-03-14 10:46   ` kbuild test robot
2018-03-18 12:49 ` [PATCH v1 1/2] dt-bindings: usb: Update documentation for Qualcomm DWC3 driver Rob Herring
2018-03-19  4:20   ` Manu Gautam

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201803141207.PrtuNDJJ%fengguang.wu@intel.com \
    --to=lkp@intel.com \
    --cc=balbi@kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=kbuild-all@01.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=mgautam@codeaurora.org \
    --cc=robh+dt@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).