mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 18:51:56 -04:00
pnp: change pnp bus pm_ops to invoke pnp driver dev_pm_ops if specified
pnp_bus_suspend() and pnp_bus_resume() invoke legacy pm_ops from pnp_driver. Changed pnp_bus_suspend() and pnp_bus_resume() to check if pnp driver has dev_pm_ops and call. If dev_pm_ops don't exist, then call use legacy pm_ops. Without this change, pnp_driver dev_pm_ops will not get called. In addition to the pnp driver bus pm_ops change to invoke driver dev_pm_ops, this patch set contains changes to rtc-cmos, tpm_tis, and apple-gmux pnp drivers to convert from legacy pm_ops to dev_pm_ops. This patch (of 4): pnp_bus_suspend() and pnp_bus_resume() invoke legacy pm_ops from pnp_driver. Changed pnp_bus_suspend() and pnp_bus_resume() to check if pnp driver has dev_pm_ops and call. If dev_pm_ops don't exist, then call use legacy pm_ops. Without this change, pnp_driver dev_pm_ops will not get called. Signed-off-by: Shuah Khan <[email protected]> Cc: Matthew Garrett <[email protected]> Cc: Leonidas Da Silva Barbosa <[email protected]> Cc: Ashley Lai <[email protected]> Cc: Rajiv Andrade <[email protected]> Cc: Marcel Selhorst <[email protected]> Cc: Sirrix AG <[email protected]> Cc: Alessandro Zummo <[email protected]> Cc: "Rafael J. Wysocki" <[email protected]> Cc: Bjorn Helgaas <[email protected]> Cc: Grant Likely <[email protected]> Cc: Rob Herring <[email protected]> Cc: Peter Hüwe <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
This commit is contained in:
parent
2bff24a370
commit
729377d559
1 changed files with 13 additions and 0 deletions
|
|
@ -163,6 +163,13 @@ static int __pnp_bus_suspend(struct device *dev, pm_message_t state)
|
|||
if (!pnp_drv)
|
||||
return 0;
|
||||
|
||||
if (pnp_drv->driver.pm && pnp_drv->driver.pm->suspend) {
|
||||
error = pnp_drv->driver.pm->suspend(dev);
|
||||
suspend_report_result(pnp_drv->driver.pm->suspend, error);
|
||||
if (error)
|
||||
return error;
|
||||
}
|
||||
|
||||
if (pnp_drv->suspend) {
|
||||
error = pnp_drv->suspend(pnp_dev, state);
|
||||
if (error)
|
||||
|
|
@ -211,6 +218,12 @@ static int pnp_bus_resume(struct device *dev)
|
|||
return error;
|
||||
}
|
||||
|
||||
if (pnp_drv->driver.pm && pnp_drv->driver.pm->resume) {
|
||||
error = pnp_drv->driver.pm->resume(dev);
|
||||
if (error)
|
||||
return error;
|
||||
}
|
||||
|
||||
if (pnp_drv->resume) {
|
||||
error = pnp_drv->resume(pnp_dev);
|
||||
if (error)
|
||||
|
|
|
|||
Loading…
Reference in a new issue