.iface = SNDRV_CTL_ELEM_IFACE_MIXER, 
int snd_ad1848_add_ctl(ad1848_t *chip, const char *name, int index, int type, unsigned long value){	static snd_kcontrol_new_t newctls[] = {		[AD1848_MIX_SINGLE] = {			.iface = SNDRV_CTL_ELEM_IFACE_MIXER,			.info = snd_ad1848_info_single,			.get = snd_ad1848_get_single,			.put = snd_ad1848_put_single,		},		[AD1848_MIX_DOUBLE] = {			.iface = SNDRV_CTL_ELEM_IFACE_MIXER,			.info = snd_ad1848_info_double,			.get = snd_ad1848_get_double,			.put = snd_ad1848_put_double,		},		[AD1848_MIX_CAPTURE] = {			.info = snd_ad1848_info_mux,			.get = snd_ad1848_get_mux,			.put = snd_ad1848_put_mux,		},	};	snd_kcontrol_t *ctl;	int err;	ctl = snd_ctl_new1(&newctls[type], chip);	if (! ctl)		return -ENOMEM;	strlcpy(ctl->id.name, name, sizeof(ctl->id.name));	ctl->id.index = index;	ctl->private_value = value;	if ((err = snd_ctl_add(chip->card, ctl)) < 0) {		snd_ctl_free_one(ctl);		return err;	}	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/67ed4161f60d76b3b27efc085b36357a6a90768c/ad1848_lib.c/buggy/sound/isa/ad1848/ad1848_lib.c