[PATCH v2] usb: dwc2: add bus suspend/resume for dwc2
Felipe Balbi
balbi at ti.com
Thu Nov 6 09:40:11 PST 2014
On Thu, Nov 06, 2014 at 06:21:42PM +0100, Romain Perier wrote:
> Hi Kever,
>
>
> 2014-11-06 2:30 GMT+01:00 Kever Yang <kever.yang at rock-chips.com>:
> >
> > +static int _dwc2_hcd_suspend(struct usb_hcd *hcd)
> > +{
> > + struct dwc2_hsotg *hsotg = dwc2_hcd_to_hsotg(hcd);
> > + u32 hprt0;
> > +
> > + if (!((hsotg->op_state == OTG_STATE_B_HOST) ||
> > + (hsotg->op_state == OTG_STATE_A_HOST)))
> > + return 0;
> > +
> > + if (hsotg->lx_state != DWC2_L0)
> > + return 0;
> > +
> > + hprt0 = dwc2_read_hprt0(hsotg);
> > + if (hprt0 & HPRT0_CONNSTS)
> > + dwc2_port_suspend(hsotg, 1);
> > +
> > + return 0;
> > +}
> > +
> > +static int _dwc2_hcd_resume(struct usb_hcd *hcd)
> > +{
> > + struct dwc2_hsotg *hsotg = dwc2_hcd_to_hsotg(hcd);
> > + u32 hprt0;
> > +
> > + if (!((hsotg->op_state == OTG_STATE_B_HOST) ||
> > + (hsotg->op_state == OTG_STATE_A_HOST)))
> > + return 0;
> > +
> > + if (hsotg->lx_state != DWC2_L2)
> > + return 0;
> > +
> > + hprt0 = dwc2_read_hprt0(hsotg);
> > + if ((hprt0 & HPRT0_CONNSTS) && (hprt0 & HPRT0_SUSP))
> > + dwc2_port_resume(hsotg);
> > +
> > + return 0;
> > +}
>
> Could you also define these functions under #ifdef CONFIG_PM ?
please don't. I'm actually considering ripping all ifdefs from all these
drivers and also stop using SIMPLE_DEV_PM_OPS or any of its friends.
There's really nobody today would would build a kernel with CONFIG_PM.
--
balbi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-rockchip/attachments/20141106/94d179e1/attachment.sig>
More information about the Linux-rockchip
mailing list