Re: [PATCH] usb: dwc3: pci: add CONFIG_PM_SLEEP to suspend/resume functions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On Fri, Aug 02, 2013 at 05:04:17PM +0900, Jingoo Han wrote:
> On Friday, August 02, 2013 4:50 PM, Felipe Balbi wrote:
> > On Fri, Aug 02, 2013 at 04:47:04PM +0900, Jingoo Han wrote:
> > > On Friday, August 02, 2013 4:38 PM, Felipe Balbi wrote:
> > > > On Fri, Aug 02, 2013 at 04:33:12PM +0900, Jingoo Han wrote:
> 
> 
> [...]
> 
> > > > > -#ifdef CONFIG_PM
> > > > > +#ifdef CONFIG_PM_SLEEP
> > > > >  static int dwc3_pci_suspend(struct device *dev)
> > > > >  {
> > > > >  	struct pci_dev	*pci = to_pci_dev(dev);
> > > > > @@ -244,7 +244,7 @@ static const struct dev_pm_ops dwc3_pci_dev_pm_ops = {
> > > > >  #define DEV_PM_OPS	(&dwc3_pci_dev_pm_ops)
> > > > >  #else
> > > > >  #define DEV_PM_OPS	NULL
> > > > > -#endif /* CONFIG_PM */
> > > > > +#endif /* CONFIG_PM_SLEEP */
> > > >
> > > > if you're going to do this, we can get rid of the whole DEV_PM_OPS thing
> > > > :-)
> > >
> > > Hi Balbi,
> > >
> > > Sorry, I cannot catch up with what you mean. :(
> > > Then, is this patch not necessary?
> > > Please, let me know what I should do. :)
> > 
> > it is necessary, what's not necessary is the #else part there. We can
> > remove the definition of DEV_PM_OPS and assign &dwc3_pci_dev_pm_ops
> > directly to .pm. :-)
> 
> OK. Then do you mean the following? :)
> If I am wrong, please let me know.
> Thank you.
> 
> #ifdef CONFIG_PM_SLEEP
> static int dwc3_pci_suspend(struct device *dev)
> {
>         struct pci_dev  *pci = to_pci_dev(dev);
> 
>         pci_disable_device(pci);
> 
>         return 0;
> }
> 
> static int dwc3_pci_resume(struct device *dev)
> {
>         struct pci_dev  *pci = to_pci_dev(dev);
>         int             ret;
> 
>         ret = pci_enable_device(pci);
>         if (ret) {
>                 dev_err(dev, "can't re-enable device --> %d\n", ret);
>                 return ret;
>         }
> 
>         pci_set_master(pci);
> 
>         return 0;
> }
> #endif /* CONFIG_PM_SLEEP */
> 
> static const struct dev_pm_ops dwc3_pci_dev_pm_ops = {
>         SET_SYSTEM_SLEEP_PM_OPS(dwc3_pci_suspend, dwc3_pci_resume)
> };
> 
> static struct pci_driver dwc3_pci_driver = {
>         .name           = "dwc3-pci",
>         .id_table       = dwc3_pci_id_table,
>         .probe          = dwc3_pci_probe,
>         .remove         = dwc3_pci_remove,
>         .driver         = {
>                 .pm     = &dwc3_pci_dev_pm_ops,
>         },
> };

spot on ;-)

-- 
balbi

Attachment: signature.asc
Description: Digital signature


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux