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>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 14 Mar 2018 12:21:00 +0800
From:   kbuild test robot <lkp@...el.com>
To:     Manu Gautam <mgautam@...eaurora.org>
Cc:     kbuild-all@...org, Felipe Balbi <balbi@...nel.org>,
        Rob Herring <robh+dt@...nel.org>,
        linux-arm-msm@...r.kernel.org, linux-usb@...r.kernel.org,
        Manu Gautam <mgautam@...eaurora.org>,
        Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
        open list <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH v1 2/2] usb: dwc3: Add Qualcomm DWC3 glue driver

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

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ