On Fri, Apr 24, 2015 at 3:36 PM, Kevin Cernekee cernekee@chromium.org wrote:
regcache_sync() and regcache_sync_region() currently assume that the hardware has just emerged from a clean reset, and that all registers are in their default states. But that isn't the only possibility; the device may have been in a different state in which the registers were inaccessible but have retained their contents, e.g. clock gating.
So we will extend the more versatile of the two functions, regcache_sync_region(), to let the caller decide what assumptions should be made.
One driver that can benefit from this is adau1977, which has hacks to overwrite the registers that regcache_sync() might have missed. Also, the powerdown pin on tas571x does not reset the register contents either, so a similar feature will be required by that driver.
This commit just adds the new argument by changing the function declarations and call sites, but doesn't wire it up yet.
The last two lines of the changelog were inadvertently carried over from an older version of the patch, and should be deleted. Will fix in V3.