Mark Brown wrote: > When devices use dev_pm_ops the I2C API is implementing standard functionality > for integration with runtime PM and for checking for the presence of a per > device op. The PM core provides pm_generic_ functions implementing this > behaviour - use them to reduce coupling with future PM updates. > > Signed-off-by: Mark Brown <broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx> > --- > drivers/i2c/i2c-core.c | 68 ++++++++++++++--------------------------------- > 1 files changed, 20 insertions(+), 48 deletions(-) > > diff --git a/drivers/i2c/i2c-core.c b/drivers/i2c/i2c-core.c > index 6b4cc56..6793c51 100644 > --- a/drivers/i2c/i2c-core.c > +++ b/drivers/i2c/i2c-core.c > @@ -196,88 +196,60 @@ static int i2c_device_pm_suspend(struct device *dev) > { > const struct dev_pm_ops *pm = dev->driver ? dev->driver->pm : NULL; > > - if (pm) { > - if (pm_runtime_suspended(dev)) > - return 0; > - else > - return pm->suspend ? pm->suspend(dev) : 0; > - } > - > - return i2c_legacy_suspend(dev, PMSG_SUSPEND); > + if (pm) > + return pm_generic_suspend(dev); pm_generic_suspend() and others needs to be externed in linux/pm_runtime.h? -- Sent by an employee of the Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum. _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm