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]

 



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,
        },
};

Best regards,
Jingoo Han


--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




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

  Powered by Linux