[alsa-devel] Fix section mismatch in wm8995.c

Dimitris Papastamos dp at opensource.wolfsonmicro.com
Wed Jan 12 11:00:59 CET 2011


On Tue, 2011-01-11 at 18:48 +0100, Takashi Iwai wrote:
> At Tue, 11 Jan 2011 17:33:49 +0000,
> Mark Brown wrote:
> > 
> > On Tue, Jan 11, 2011 at 06:32:32PM +0100, Takashi Iwai wrote:
> > > Mark Brown wrote:
> > 
> > > > The array is ~25k so it's not a completely trivial amount of memory,
> > > > unfortunately.
> > 
> > > Hm.  But, it's same for (some) other codecs, no?
> > > If we do annotate something, we should mark all these at once.
> > 
> > In principle, though since it requires per driver checking for
> > references and so on it's not as simple as just going through and
> > annotating.  It's partly tied in with the cache stuff, things that are
> > fully using that can be converted over easily.  And of course many of
> > the devices have much smaller register maps so it's much less of an
> > issue.
> 
> 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 is, the data that shall be deleted shouldn't be kept in a
> structure that might be referred later from other places.

For the LZO and the rbtree compression, a copy of the defaults cache is
kept and that is used in the syncing functionality.  Only the flat cache
is using reg_cache_default directly which is never marked as
__devinitconst.

Thanks,
Dimitris



More information about the Alsa-devel mailing list