[alsa-devel] [alsa-cvslog] alsa-kernel: cmipci: disable "Modem" control on version 39 or newer chips

Thierry Vignaud tvignaud at mandriva.com
Mon Dec 10 14:02:43 CET 2007


Clemens Ladisch <clemens at ladisch.de> writes:

> changeset:   5582:5082de4abb26
> tag:         tip
> user:        cladisch
> date:        Mon Dec 10 12:28:52 2007 +0100
> files:       pci/cmipci.c
> description:
> cmipci: disable "Modem" control on version 39 or newer chips
> 
> On version 39 or newer chips, we better remove the "Modem" control
> because this register bit now mutes the front channels of the
> multichannel stream.

shouldn't that deserve a comment in the code?
 
> diff -r eb09731e73d7 -r 5082de4abb26 pci/cmipci.c
> --- a/pci/cmipci.c	Mon Dec 03 17:08:40 2007 +0100
> +++ b/pci/cmipci.c	Mon Dec 10 12:28:52 2007 +0100
> @@ -2651,10 +2651,8 @@ static struct snd_kcontrol_new snd_cmipc
>  };
>  
>  /* card control switches */
> -static struct snd_kcontrol_new snd_cmipci_control_switches[] __devinitdata = {
> -	// DEFINE_CARD_SWITCH("Joystick", joystick), /* now module option */
> -	DEFINE_CARD_SWITCH("Modem", modem),
> -};
> +static struct snd_kcontrol_new snd_cmipci_modem_switch __devinitdata =
> +DEFINE_CARD_SWITCH("Modem", modem);
>  
>  
>  static int __devinit snd_cmipci_mixer_new(struct cmipci *cm, int pcm_spdif_device)
> @@ -2735,9 +2733,9 @@ static int __devinit snd_cmipci_mixer_ne
>  	}
>  
>  	/* card switches */
> -	sw = snd_cmipci_control_switches;
> -	for (idx = 0; idx < ARRAY_SIZE(snd_cmipci_control_switches); idx++, sw++) {
> -		err = snd_ctl_add(cm->card, snd_ctl_new1(sw, cm));
> +	if (cm->chip_version < 39) {
> +		err = snd_ctl_add(cm->card,
> +				  snd_ctl_new1(&snd_cmipci_modem_switch, cm));
>  		if (err < 0)
>  			return err;
>  	}
> 
> 
> -------------------------------------------------------------------------
> SF.Net email is sponsored by:
> Check out the new SourceForge.net Marketplace.
> It's the best place to buy or sell services for
> just about anything Open Source.
> http://sourceforge.net/services/buy/index.php
> _______________________________________________
> Alsa-cvslog mailing list
> Alsa-cvslog at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/alsa-cvslog


More information about the Alsa-devel mailing list