Re: [PATCH] ALSA: ASoc: Add regulator support to CS4270 codec driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Nov 25, 2009 at 03:01:39PM +0000, Mark Brown wrote:
> On Wed, Nov 25, 2009 at 03:36:27PM +0100, Daniel Mack wrote:
> 
> >  static int cs4270_dai_mute(struct snd_soc_dai *dai, int mute)
> >  {
> >  	struct snd_soc_codec *codec = dai->codec;
> >  	struct cs4270_private *cs4270 = codec->private_data;
> > -	int reg6;
> > +	int reg6, err;
> >  
> >  	reg6 = snd_soc_read(codec, CS4270_MUTE);
> >  
> >  	if (mute)
> >  		reg6 |= CS4270_MUTE_DAC_A | CS4270_MUTE_DAC_B;
> >  	else {
> > +		if (cs4270->va_reg)
> > +			regulator_enable(cs4270->va_reg);
> > +
> 
> This looks wrong - why is the power being controlled in the mute
> function?  If nothing else this is going to break recording since the
> CODEC will only be unmuted during playback which means power will be cut
> during record.

Ok - which place would you suggest for it? Is there an ASoC callback I
can hook on to tell me when the whole codec isn't used anymore? I can
only see startup/shutdown, but I would need to my own snd_pc_substream
handling login in there. Other drivers do that in the probe/remove
functions, but that won't suffice for my board as we want VA disabled
whenever possible.

Daniel

_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux