Loading sound/soc/soc-pcm.c +24 −0 Original line number Diff line number Diff line Loading @@ -2569,6 +2569,28 @@ static int dpcm_fe_dai_prepare(struct snd_pcm_substream *substream) return ret; } static int soc_pcm_compat_ioctl(struct snd_pcm_substream *substream, unsigned int cmd, void *arg) { struct snd_soc_pcm_runtime *rtd = substream->private_data; struct snd_soc_component *component; struct snd_soc_rtdcom_list *rtdcom; for_each_rtdcom(rtd, rtdcom) { component = rtdcom->component; if (!component->driver->ops || !component->driver->ops->compat_ioctl) continue; /* FIXME: use 1st ioctl */ return component->driver->ops->compat_ioctl( substream, cmd, arg); } return snd_pcm_lib_ioctl(substream, cmd, arg); } static int soc_pcm_ioctl(struct snd_pcm_substream *substream, unsigned int cmd, void *arg) { Loading Loading @@ -3193,6 +3215,7 @@ int soc_new_pcm(struct snd_soc_pcm_runtime *rtd, int num) rtd->ops.close = dpcm_fe_dai_close; rtd->ops.pointer = soc_pcm_pointer; rtd->ops.ioctl = soc_pcm_ioctl; rtd->ops.compat_ioctl = soc_pcm_compat_ioctl; } else { rtd->ops.open = soc_pcm_open; rtd->ops.hw_params = soc_pcm_hw_params; Loading @@ -3202,6 +3225,7 @@ int soc_new_pcm(struct snd_soc_pcm_runtime *rtd, int num) rtd->ops.close = soc_pcm_close; rtd->ops.pointer = soc_pcm_pointer; rtd->ops.ioctl = soc_pcm_ioctl; rtd->ops.compat_ioctl = soc_pcm_compat_ioctl; } for_each_rtdcom(rtd, rtdcom) { Loading Loading
sound/soc/soc-pcm.c +24 −0 Original line number Diff line number Diff line Loading @@ -2569,6 +2569,28 @@ static int dpcm_fe_dai_prepare(struct snd_pcm_substream *substream) return ret; } static int soc_pcm_compat_ioctl(struct snd_pcm_substream *substream, unsigned int cmd, void *arg) { struct snd_soc_pcm_runtime *rtd = substream->private_data; struct snd_soc_component *component; struct snd_soc_rtdcom_list *rtdcom; for_each_rtdcom(rtd, rtdcom) { component = rtdcom->component; if (!component->driver->ops || !component->driver->ops->compat_ioctl) continue; /* FIXME: use 1st ioctl */ return component->driver->ops->compat_ioctl( substream, cmd, arg); } return snd_pcm_lib_ioctl(substream, cmd, arg); } static int soc_pcm_ioctl(struct snd_pcm_substream *substream, unsigned int cmd, void *arg) { Loading Loading @@ -3193,6 +3215,7 @@ int soc_new_pcm(struct snd_soc_pcm_runtime *rtd, int num) rtd->ops.close = dpcm_fe_dai_close; rtd->ops.pointer = soc_pcm_pointer; rtd->ops.ioctl = soc_pcm_ioctl; rtd->ops.compat_ioctl = soc_pcm_compat_ioctl; } else { rtd->ops.open = soc_pcm_open; rtd->ops.hw_params = soc_pcm_hw_params; Loading @@ -3202,6 +3225,7 @@ int soc_new_pcm(struct snd_soc_pcm_runtime *rtd, int num) rtd->ops.close = soc_pcm_close; rtd->ops.pointer = soc_pcm_pointer; rtd->ops.ioctl = soc_pcm_ioctl; rtd->ops.compat_ioctl = soc_pcm_compat_ioctl; } for_each_rtdcom(rtd, rtdcom) { Loading