Lines Matching defs:mctl
37 struct media_ctl *mctl;
52 mctl = kzalloc(sizeof(*mctl), GFP_KERNEL);
53 if (!mctl)
56 mctl->media_dev = mdev;
59 mctl->media_entity.function = MEDIA_ENT_F_AUDIO_PLAYBACK;
60 mctl->media_pad.flags = MEDIA_PAD_FL_SOURCE;
64 mctl->media_entity.function = MEDIA_ENT_F_AUDIO_CAPTURE;
65 mctl->media_pad.flags = MEDIA_PAD_FL_SINK;
68 mctl->media_entity.name = pcm->name;
69 media_entity_pads_init(&mctl->media_entity, 1, &mctl->media_pad);
70 ret = media_device_register_entity(mctl->media_dev,
71 &mctl->media_entity);
75 mctl->intf_devnode = media_devnode_create(mdev, intf_type, 0,
78 if (!mctl->intf_devnode) {
82 mctl->intf_link = media_create_intf_link(&mctl->media_entity,
83 &mctl->intf_devnode->intf,
85 if (!mctl->intf_link) {
95 &mctl->media_entity, 0,
103 subs->media_ctl = mctl;
107 media_remove_intf_link(mctl->intf_link);
109 media_devnode_remove(mctl->intf_devnode);
111 media_device_unregister_entity(&mctl->media_entity);
113 kfree(mctl);
119 struct media_ctl *mctl = subs->media_ctl;
121 if (mctl) {
124 mdev = mctl->media_dev;
126 media_devnode_remove(mctl->intf_devnode);
127 media_device_unregister_entity(&mctl->media_entity);
128 media_entity_cleanup(&mctl->media_entity);
130 kfree(mctl);
137 struct media_ctl *mctl = subs->media_ctl;
140 if (!mctl)
143 mutex_lock(&mctl->media_dev->graph_mutex);
144 if (mctl->media_dev->enable_source)
145 ret = mctl->media_dev->enable_source(&mctl->media_entity,
146 &mctl->media_pipe);
147 mutex_unlock(&mctl->media_dev->graph_mutex);
153 struct media_ctl *mctl = subs->media_ctl;
155 if (!mctl)
158 mutex_lock(&mctl->media_dev->graph_mutex);
159 if (mctl->media_dev->disable_source)
160 mctl->media_dev->disable_source(&mctl->media_entity);
161 mutex_unlock(&mctl->media_dev->graph_mutex);
170 struct media_mixer_ctl *mctl;
193 mctl = kzalloc(sizeof(*mctl), GFP_KERNEL);
194 if (!mctl)
197 mctl->media_dev = mdev;
198 mctl->media_entity.function = MEDIA_ENT_F_AUDIO_MIXER;
199 mctl->media_entity.name = chip->card->mixername;
200 mctl->media_pad[0].flags = MEDIA_PAD_FL_SINK;
201 mctl->media_pad[1].flags = MEDIA_PAD_FL_SOURCE;
202 mctl->media_pad[2].flags = MEDIA_PAD_FL_SOURCE;
203 media_entity_pads_init(&mctl->media_entity, MEDIA_MIXER_PAD_MAX,
204 mctl->media_pad);
205 ret = media_device_register_entity(mctl->media_dev,
206 &mctl->media_entity);
208 kfree(mctl);
212 mctl->intf_link = media_create_intf_link(&mctl->media_entity,
215 if (!mctl->intf_link) {
216 media_device_unregister_entity(&mctl->media_entity);
217 media_entity_cleanup(&mctl->media_entity);
218 kfree(mctl);
221 mctl->intf_devnode = ctl_intf;
222 mixer->media_mixer_ctl = mctl;
236 struct media_mixer_ctl *mctl;
238 mctl = mixer->media_mixer_ctl;
243 media_device_unregister_entity(&mctl->media_entity);
244 media_entity_cleanup(&mctl->media_entity);
246 kfree(mctl);