On 08-02-19, 11:18, Rafael J. Wysocki wrote: > Obviously, all I2C transfers need to take place either before > suspending the I2C controller or after resuming it. Right. But all I am saying is that it is the responsibility of the cpufreq core/driver to make sure we call ->init() only when the resources are available to be used. For example during driver load, we defer probe if resources aren't available and that makes sure ->init() gets called when we can actually change the frequency. Shouldn't the same be true during resume? That is make sure all resources are in place before ->init() gets called ? -- viresh