On Tue, 2011-01-11 at 18:14 +0000, Mark Brown wrote:
On Tue, Jan 11, 2011 at 06:48:30PM +0100, Takashi Iwai wrote:
IMO, such a data should be uniquely handled -- either init-only or not. Through a quick look, snd_soc_cache_sync() may still refer to reg_cache_default. So, it's still risky to blindly set __devinitconst. (Yeah, I know it's not used right now, though ;)
That's a bug in the flat cache, it should be stashing a copy of it in the codec instance. Though it only really makes a difference for devices where you'd want to use a compressed cache anyway.
The flat cache is intentionally *not* making a copy of the defaults cache as it makes no difference in terms of memory usage. The flat cache has codec->reg_def_copy = NULL; and can work with either NULL default caches or filled in.
Thanks, Dimitris