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

Takashi Iwai tiwai at suse.de
Wed Jan 12 11:03:21 CET 2011


At Wed, 12 Jan 2011 10:00:59 +0000,
Dimitris Papastamos wrote:
> 
> 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.

But in theory, the cache method can fall back to flat if no
corresponding compression is available.  Thus no strong-type check is
possible in such a case.


Takashi


More information about the Alsa-devel mailing list