static int hwdep_ioctl(struct snd_hwdep *hwdep, struct file *file, unsigned int cmd, unsigned long arg) { struct snd_efw *efw = hwdep->private_data; switch (cmd) { case SNDRV_FIREWIRE_IOCTL_GET_INFO: return hwdep_get_info(efw, (void __user *)arg); case SNDRV_FIREWIRE_IOCTL_LOCK: return hwdep_lock(efw); case SNDRV_FIREWIRE_IOCTL_UNLOCK: return hwdep_unlock(efw); default: return -ENOIOCTLCMD; } }
static int hwdep_ioctl(struct snd_hwdep *hwdep, struct file *file, unsigned int cmd, unsigned long arg) { struct snd_tscm *tscm = hwdep->private_data; switch (cmd) { case SNDRV_FIREWIRE_IOCTL_GET_INFO: return hwdep_get_info(tscm, (void __user *)arg); case SNDRV_FIREWIRE_IOCTL_LOCK: return hwdep_lock(tscm); case SNDRV_FIREWIRE_IOCTL_UNLOCK: return hwdep_unlock(tscm); case SNDRV_FIREWIRE_IOCTL_TASCAM_STATE: return tscm_hwdep_state(tscm, (void __user *)arg); default: return -ENOIOCTLCMD; } }