[alsa-devel] [FIXED PATCH - ice1724 1/1] ALSA: ice1724 - Create capture pcm only for ADC-enabled configurations

Takashi Iwai tiwai at suse.de
Wed Jan 11 09:10:41 CET 2012


At Tue, 10 Jan 2012 20:45:28 +0100,
pavel.hofman at ivitera.com wrote:
> 
> From: Pavel Hofman <pavel.hofman at ivitera.com>
> 
> Add the capture pcm only if there is at least one ADC configured in
> the SYSCONF register.
> 
> Signed-off-by: Pavel Hofman <pavel.hofman at ivitera.com>

Applied all three patches now.  Thanks.


Takashi


> diff --git a/sound/pci/ice1712/envy24ht.h b/sound/pci/ice1712/envy24ht.h
> index a0c5e00..4ca33a8 100644
> --- a/sound/pci/ice1712/envy24ht.h
> +++ b/sound/pci/ice1712/envy24ht.h
> @@ -66,6 +66,7 @@ enum {
>  #define     VT1724_CFG_CLOCK384  0x40	/* 16.9344Mhz, 44.1kHz*384 */
>  #define   VT1724_CFG_MPU401	0x20		/* MPU401 UARTs */
>  #define   VT1724_CFG_ADC_MASK	0x0c	/* one, two or one and S/PDIF, stereo ADCs */
> +#define   VT1724_CFG_ADC_NONE	0x0c	/* no ADCs */
>  #define   VT1724_CFG_DAC_MASK	0x03	/* one, two, three, four stereo DACs */
>  
>  #define VT1724_REG_AC97_CFG		0x05	/* byte */
> diff --git a/sound/pci/ice1712/ice1724.c b/sound/pci/ice1712/ice1724.c
> index 9e18d3a..e797823 100644
> --- a/sound/pci/ice1712/ice1724.c
> +++ b/sound/pci/ice1712/ice1724.c
> @@ -1117,14 +1117,21 @@ static struct snd_pcm_ops snd_vt1724_capture_pro_ops = {
>  static int __devinit snd_vt1724_pcm_profi(struct snd_ice1712 *ice, int device)
>  {
>  	struct snd_pcm *pcm;
> -	int err;
> +	int capt, err;
>  
> -	err = snd_pcm_new(ice->card, "ICE1724", device, 1, 1, &pcm);
> +	if ((ice->eeprom.data[ICE_EEP2_SYSCONF] & VT1724_CFG_ADC_MASK) ==
> +	    VT1724_CFG_ADC_NONE)
> +		capt = 0;
> +	else
> +		capt = 1;
> +	err = snd_pcm_new(ice->card, "ICE1724", device, 1, capt, &pcm);
>  	if (err < 0)
>  		return err;
>  
>  	snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_PLAYBACK, &snd_vt1724_playback_pro_ops);
> -	snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE, &snd_vt1724_capture_pro_ops);
> +	if (capt)
> +		snd_pcm_set_ops(pcm, SNDRV_PCM_STREAM_CAPTURE,
> +			&snd_vt1724_capture_pro_ops);
>  
>  	pcm->private_data = ice;
>  	pcm->info_flags = 0;
> -- 
> 1.7.0.4
> 


More information about the Alsa-devel mailing list