Linux USB
 help / color / mirror / Atom feed
From: kbuild test robot <lkp@intel.com>
To: Douglas Anderson <dianders@chromium.org>
Cc: kbuild-all@01.org, linux-usb@vger.kernel.org,
	linux-omap@vger.kernel.org,
	Felipe Balbi <felipe.balbi@linux.intel.com>,
	Yunzhi Li <lyz@rock-chips.com>
Subject: [balbi-usb:testing/next 19/42] drivers/usb/dwc2/core_intr.c:448:25: error: 'struct dwc2_hsotg' has no member named 'phy_reset_work'
Date: Thu, 25 Apr 2019 21:13:08 +0800	[thread overview]
Message-ID: <201904252107.obtIzehz%lkp@intel.com> (raw)

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

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb.git testing/next
head:   2e3cfcbbb1403feeac5949f32dcd2724de3ff40c
commit: a0a493835f9a2e4c690c41145def88223997db2b [19/42] usb: dwc2: optionally assert phy reset when waking up
config: x86_64-randconfig-x000-201916 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
        git checkout a0a493835f9a2e4c690c41145def88223997db2b
        # save the attached .config to linux build tree
        make ARCH=x86_64 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   drivers/usb/dwc2/core_intr.c: In function 'dwc2_handle_wakeup_detected_intr':
>> drivers/usb/dwc2/core_intr.c:448:25: error: 'struct dwc2_hsotg' has no member named 'phy_reset_work'
        schedule_work(&hsotg->phy_reset_work);
                            ^~

vim +448 drivers/usb/dwc2/core_intr.c

   388	
   389	/*
   390	 * This interrupt indicates that the DWC_otg controller has detected a
   391	 * resume or remote wakeup sequence. If the DWC_otg controller is in
   392	 * low power mode, the handler must brings the controller out of low
   393	 * power mode. The controller automatically begins resume signaling.
   394	 * The handler schedules a time to stop resume signaling.
   395	 */
   396	static void dwc2_handle_wakeup_detected_intr(struct dwc2_hsotg *hsotg)
   397	{
   398		int ret;
   399	
   400		/* Clear interrupt */
   401		dwc2_writel(hsotg, GINTSTS_WKUPINT, GINTSTS);
   402	
   403		dev_dbg(hsotg->dev, "++Resume or Remote Wakeup Detected Interrupt++\n");
   404		dev_dbg(hsotg->dev, "%s lxstate = %d\n", __func__, hsotg->lx_state);
   405	
   406		if (hsotg->lx_state == DWC2_L1) {
   407			dwc2_wakeup_from_lpm_l1(hsotg);
   408			return;
   409		}
   410	
   411		if (dwc2_is_device_mode(hsotg)) {
   412			dev_dbg(hsotg->dev, "DSTS=0x%0x\n",
   413				dwc2_readl(hsotg, DSTS));
   414			if (hsotg->lx_state == DWC2_L2) {
   415				u32 dctl = dwc2_readl(hsotg, DCTL);
   416	
   417				/* Clear Remote Wakeup Signaling */
   418				dctl &= ~DCTL_RMTWKUPSIG;
   419				dwc2_writel(hsotg, dctl, DCTL);
   420				ret = dwc2_exit_partial_power_down(hsotg, true);
   421				if (ret && (ret != -ENOTSUPP))
   422					dev_err(hsotg->dev, "exit power_down failed\n");
   423	
   424				call_gadget(hsotg, resume);
   425			}
   426			/* Change to L0 state */
   427			hsotg->lx_state = DWC2_L0;
   428		} else {
   429			if (hsotg->params.power_down)
   430				return;
   431	
   432			if (hsotg->lx_state != DWC2_L1) {
   433				u32 pcgcctl = dwc2_readl(hsotg, PCGCTL);
   434	
   435				/* Restart the Phy Clock */
   436				pcgcctl &= ~PCGCTL_STOPPCLK;
   437				dwc2_writel(hsotg, pcgcctl, PCGCTL);
   438	
   439				/*
   440				 * If we've got this quirk then the PHY is stuck upon
   441				 * wakeup.  Assert reset.  This will propagate out and
   442				 * eventually we'll re-enumerate the device.  Not great
   443				 * but the best we can do.  We can't call phy_reset()
   444				 * at interrupt time but there's no hurry, so we'll
   445				 * schedule it for later.
   446				 */
   447				if (hsotg->reset_phy_on_wake)
 > 448					schedule_work(&hsotg->phy_reset_work);
   449	
   450				mod_timer(&hsotg->wkp_timer,
   451					  jiffies + msecs_to_jiffies(71));
   452			} else {
   453				/* Change to L0 state */
   454				hsotg->lx_state = DWC2_L0;
   455			}
   456		}
   457	}
   458	

---
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: 24568 bytes --]

             reply	other threads:[~2019-04-25 13:14 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-25 13:13 kbuild test robot [this message]
2019-04-25 15:02 ` [balbi-usb:testing/next 19/42] drivers/usb/dwc2/core_intr.c:448:25: error: 'struct dwc2_hsotg' has no member named 'phy_reset_work' Doug Anderson
2019-04-25 15:41   ` Doug Anderson

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=201904252107.obtIzehz%lkp@intel.com \
    --to=lkp@intel.com \
    --cc=dianders@chromium.org \
    --cc=felipe.balbi@linux.intel.com \
    --cc=kbuild-all@01.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=lyz@rock-chips.com \
    /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