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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html