snd_ca0106_ptr_write(emu, SPDIF_SELECT2, 0, 0x000b0000); 
snd_ca0106_ptr_write(emu, SPDIF_SELECT2, 0, 0x000f0000); 
static int snd_ca0106_shared_spdif_put(snd_kcontrol_t * kcontrol,					snd_ctl_elem_value_t * ucontrol){	ca0106_t *emu = snd_kcontrol_chip(kcontrol);	unsigned int val;	int change = 0;	u32 mask;	val = ucontrol->value.enumerated.item[0] ;	change = (emu->spdif_enable != val);	if (change) {		emu->spdif_enable = val;		if (val == 1) {			/* Digital */			snd_ca0106_ptr_write(emu, SPDIF_SELECT1, 0, 0xf);			snd_ca0106_ptr_write(emu, SPDIF_SELECT2, 0, 0x0b000000);			snd_ca0106_ptr_write(emu, CAPTURE_CONTROL, 0,				snd_ca0106_ptr_read(emu, CAPTURE_CONTROL, 0) & ~0x1000);			mask = inl(emu->port + GPIO) & ~0x101;			outl(mask, emu->port + GPIO);		} else {			/* Analog */			snd_ca0106_ptr_write(emu, SPDIF_SELECT1, 0, 0xf);			snd_ca0106_ptr_write(emu, SPDIF_SELECT2, 0, 0x000b0000);			snd_ca0106_ptr_write(emu, CAPTURE_CONTROL, 0,				snd_ca0106_ptr_read(emu, CAPTURE_CONTROL, 0) | 0x1000);			mask = inl(emu->port + GPIO) | 0x101;			outl(mask, emu->port + GPIO);		}	}        return change;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/1f82941e82422fcb15d63431e163bf4f0b9389d9/ca0106_mixer.c/clean/sound/pci/ca0106/ca0106_mixer.c