On 12 October 2015 at 22:15, Rafael J. Wysocki <rjw@xxxxxxxxxxxxx> wrote: > On Wednesday, September 30, 2015 02:44:29 AM Rafael J. Wysocki wrote: >> From: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> >> >> The pm_request_idle() in pm_generic_complete() is pointless as it is >> called with the runtime PM usage counter different from zero (bumped >> up by the core during the prepare phase of system suspend) and the >> core calls pm_runtime_put() for all devices after executing their >> complete callbacks, so drop it. >> >> This allows the PCI PM layer to use pm_generic_complete() too. >> >> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> >> --- >> >> On top of https://patchwork.kernel.org/patch/7291251/ . > > Due to the lack of comments for the last several days (which I'm taking as > the lack of objections), I'm tentatively queing this up for v4.4. > > Please let me know if there are any problems with that. Looks good to me, so unless it's too late you may add my reviewed-by tag. Reviewed-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Kind regards Uffe > > Thanks, > Rafael > > >> --- >> drivers/base/power/generic_ops.c | 6 ------ >> drivers/pci/pci-driver.c | 9 ++------- >> 2 files changed, 2 insertions(+), 13 deletions(-) >> >> Index: linux-pm/drivers/base/power/generic_ops.c >> =================================================================== >> --- linux-pm.orig/drivers/base/power/generic_ops.c >> +++ linux-pm/drivers/base/power/generic_ops.c >> @@ -296,11 +296,5 @@ void pm_generic_complete(struct device * >> >> if (drv && drv->pm && drv->pm->complete) >> drv->pm->complete(dev); >> - >> - /* >> - * Let runtime PM try to suspend devices that haven't been in use before >> - * going into the system-wide sleep state we're resuming from. >> - */ >> - pm_request_idle(dev); >> } >> #endif /* CONFIG_PM_SLEEP */ >> Index: linux-pm/drivers/pci/pci-driver.c >> =================================================================== >> --- linux-pm.orig/drivers/pci/pci-driver.c >> +++ linux-pm/drivers/pci/pci-driver.c >> @@ -686,13 +686,8 @@ static int pci_pm_prepare(struct device >> >> static void pci_pm_complete(struct device *dev) >> { >> - struct device_driver *drv = dev->driver; >> - struct pci_dev *pci_dev = to_pci_dev(dev); >> - >> - pci_dev_complete_resume(pci_dev); >> - >> - if (drv && drv->pm && drv->pm->complete) >> - drv->pm->complete(dev); >> + pci_dev_complete_resume(to_pci_dev(dev)); >> + pm_generic_complete(dev); >> } >> >> #else /* !CONFIG_PM_SLEEP */ >> >> -- >> To unsubscribe from this list: send the line "unsubscribe linux-pm" in >> the body of a message to majordomo@xxxxxxxxxxxxxxx >> More majordomo info at http://vger.kernel.org/majordomo-info.html > > -- > I speak only for myself. > Rafael J. Wysocki, Intel Open Source Technology Center. > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html