class_device_create(sound_class, MKDEV(major, minor), device, "%s", name); 
class_device_create(sound_class, NULL, MKDEV(major, minor), device, "%s", name); 
int snd_register_device(int type, snd_card_t * card, int dev, snd_minor_t * reg, const char *name){	int minor = snd_kernel_minor(type, card, dev);	snd_minor_t *preg;	struct device *device = NULL;	if (minor < 0)		return minor;	snd_assert(name, return -EINVAL);	preg = (snd_minor_t *)kmalloc(sizeof(snd_minor_t) + strlen(name) + 1, GFP_KERNEL);	if (preg == NULL)		return -ENOMEM;	*preg = *reg;	preg->number = minor;	preg->device = dev;	strcpy(preg->name, name);	down(&sound_mutex);	if (snd_minor_search(minor)) {		up(&sound_mutex);		kfree(preg);		return -EBUSY;	}	list_add_tail(&preg->list, &snd_minors_hash[SNDRV_MINOR_CARD(minor)]);	if (strncmp(name, "controlC", 8) || card->number >= cards_limit)		devfs_mk_cdev(MKDEV(major, minor), S_IFCHR | device_mode, "snd/%s", name);	if (card)		device = card->dev;	class_device_create(sound_class, MKDEV(major, minor), device, "%s", name);	up(&sound_mutex);	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/53f4654272df7c51064825024340554b39c9efba/sound.c/clean/sound/core/sound.c