On Fri, Feb 23, 2018 at 5:11 PM, Enric Balletbo i Serra <enric.balle...@collabora.com> wrote: > From: Joseph Lo <jose...@nvidia.com> > > The cros_ec_i2c driver is still active after it had suspended or before it > resumes. Besides that, it also tried to transfer data even after the I2C > host had been suspended. This will lead the system to crash. > > During the test, we also observe that the EC needs to be resumed earlier > due to some status polling from the EC FW (e.g. battery status). So we > move the PM ops to late stage to make it work normally.
> -static SIMPLE_DEV_PM_OPS(cros_ec_i2c_pm_ops, cros_ec_i2c_suspend, > - cros_ec_i2c_resume); > +const struct dev_pm_ops cros_ec_i2c_pm_ops = { > + SET_LATE_SYSTEM_SLEEP_PM_OPS(cros_ec_i2c_suspend, cros_ec_i2c_resume) > +}; Why static disappeared? -- With Best Regards, Andy Shevchenko