snd_printd("unknown ioctl = 0x%x\n", cmd); 
snd_printdd("unknown ioctl = 0x%x\n", cmd); 
static long snd_ctl_ioctl(struct file *file, unsigned int cmd, unsigned long arg){	snd_ctl_file_t *ctl;	snd_card_t *card;	struct list_head *list;	snd_kctl_ioctl_t *p;	void __user *argp = (void __user *)arg;	int __user *ip = argp;	int err;	ctl = file->private_data;	card = ctl->card;	snd_assert(card != NULL, return -ENXIO);	switch (cmd) {	case SNDRV_CTL_IOCTL_PVERSION:		return put_user(SNDRV_CTL_VERSION, ip) ? -EFAULT : 0;	case SNDRV_CTL_IOCTL_CARD_INFO:		return snd_ctl_card_info(card, ctl, cmd, argp);	case SNDRV_CTL_IOCTL_ELEM_LIST:		return snd_ctl_elem_list(ctl->card, argp);	case SNDRV_CTL_IOCTL_ELEM_INFO:		return snd_ctl_elem_info_user(ctl, argp);	case SNDRV_CTL_IOCTL_ELEM_READ:		return snd_ctl_elem_read_user(ctl->card, argp);	case SNDRV_CTL_IOCTL_ELEM_WRITE:		return snd_ctl_elem_write_user(ctl, argp);	case SNDRV_CTL_IOCTL_ELEM_LOCK:		return snd_ctl_elem_lock(ctl, argp);	case SNDRV_CTL_IOCTL_ELEM_UNLOCK:		return snd_ctl_elem_unlock(ctl, argp);	case SNDRV_CTL_IOCTL_ELEM_ADD:		return snd_ctl_elem_add_user(ctl, argp, 0);	case SNDRV_CTL_IOCTL_ELEM_REPLACE:		return snd_ctl_elem_add_user(ctl, argp, 1);	case SNDRV_CTL_IOCTL_ELEM_REMOVE:		return snd_ctl_elem_remove(ctl, argp);	case SNDRV_CTL_IOCTL_SUBSCRIBE_EVENTS:		return snd_ctl_subscribe_events(ctl, ip);	case SNDRV_CTL_IOCTL_POWER:		if (get_user(err, ip))			return -EFAULT;		if (!capable(CAP_SYS_ADMIN))			return -EPERM;#ifdef CONFIG_PM		if (card->pm_suspend && card->pm_resume) {			snd_power_lock(card);			err = snd_ctl_set_power_state(card, err);			snd_power_unlock(card);		} else#endif			err = -ENOPROTOOPT;		return err;	case SNDRV_CTL_IOCTL_POWER_STATE:#ifdef CONFIG_PM		return put_user(card->power_state, ip) ? -EFAULT : 0;#else		return put_user(SNDRV_CTL_POWER_D0, ip) ? -EFAULT : 0;#endif	}	down_read(&snd_ioctl_rwsem);	list_for_each(list, &snd_control_ioctls) {		p = list_entry(list, snd_kctl_ioctl_t, list);		err = p->fioctl(card, ctl, cmd, arg);		if (err != -ENOIOCTLCMD) {			up_read(&snd_ioctl_rwsem);			return err;		}	}	up_read(&snd_ioctl_rwsem);	snd_printd("unknown ioctl = 0x%x\n", cmd);	return -ENOTTY;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/6d85be612d8b6a6730d19e742329e5ffa60eafdd/control.c/clean/sound/core/control.c