Lines Matching full:plugin
59 struct mixer_plugin *plugin; member
67 struct mixer_plugin *plugin = plug_data->plugin; in mixer_plug_get_elem_id() local
70 if (offset >= plugin->num_controls) { in mixer_plug_get_elem_id()
75 ctl = plugin->controls + offset; in mixer_plug_get_elem_id()
133 void mixer_plug_notifier_cb(struct mixer_plugin *plugin) in mixer_plug_notifier_cb() argument
135 plugin->event_cnt++; in mixer_plug_notifier_cb()
136 eventfd_write(plugin->eventfd, 1); in mixer_plug_notifier_cb()
144 struct mixer_plugin *plugin = plug_data->plugin; in mixer_plug_read_event() local
148 result = plugin->ops->read_event(plugin, (struct ctl_event *)ev, size); in mixer_plug_read_event()
151 plugin->event_cnt -= result / sizeof(struct snd_ctl_event); in mixer_plug_read_event()
152 if (plugin->event_cnt <= 0) { in mixer_plug_read_event()
153 plugin->event_cnt = 0; in mixer_plug_read_event()
154 eventfd_read(plugin->eventfd, &evfd); in mixer_plug_read_event()
164 struct mixer_plugin *plugin = plug_data->plugin; in mixer_plug_subscribe_events() local
168 *subscribe = plugin->subscribed; in mixer_plug_subscribe_events()
172 if (*subscribe && !plugin->subscribed) { in mixer_plug_subscribe_events()
173 plugin->ops->subscribe_events(plugin, &mixer_plug_notifier_cb); in mixer_plug_subscribe_events()
174 } else if (plugin->subscribed && !*subscribe) { in mixer_plug_subscribe_events()
175 plugin->ops->subscribe_events(plugin, NULL); in mixer_plug_subscribe_events()
177 if (plugin->event_cnt) in mixer_plug_subscribe_events()
178 eventfd_read(plugin->eventfd, &evfd); in mixer_plug_subscribe_events()
180 plugin->event_cnt = 0; in mixer_plug_subscribe_events()
183 plugin->subscribed = *subscribe; in mixer_plug_subscribe_events()
190 struct mixer_plugin *plugin = plug_data->plugin; in mixer_plug_get_poll_fd() local
192 if (plugin->eventfd != -1) { in mixer_plug_get_poll_fd()
193 pfd[count].fd = plugin->eventfd; in mixer_plug_get_poll_fd()
202 struct mixer_plugin *plugin = plug_data->plugin; in mixer_plug_tlv_write() local
206 ctl = plugin->controls + tlv->numid; in mixer_plug_tlv_write()
209 return val_tlv->put(plugin, ctl, tlv); in mixer_plug_tlv_write()
215 struct mixer_plugin *plugin = plug_data->plugin; in mixer_plug_tlv_read() local
219 ctl = plugin->controls + tlv->numid; in mixer_plug_tlv_read()
222 return val_tlv->get(plugin, ctl, tlv); in mixer_plug_tlv_read()
228 struct mixer_plugin *plugin = plug_data->plugin; in mixer_plug_elem_write() local
236 ctl = plugin->controls + ev->id.numid; in mixer_plug_elem_write()
238 return ctl->put(plugin, ctl, ev); in mixer_plug_elem_write()
244 struct mixer_plugin *plugin = plug_data->plugin; in mixer_plug_elem_read() local
252 ctl = plugin->controls + ev->id.numid; in mixer_plug_elem_read()
254 return ctl->get(plugin, ctl, ev); in mixer_plug_elem_read()
261 struct mixer_plugin *plugin = plug_data->plugin; in mixer_plug_get_elem_info() local
270 ctl = plugin->controls + einfo->id.numid; in mixer_plug_get_elem_info()
301 struct mixer_plugin *plugin = plug_data->plugin; in mixer_plug_get_elem_list() local
306 elist->count = plugin->num_controls; in mixer_plug_get_elem_list()
343 struct mixer_plugin *plugin = plug_data->plugin; in mixer_plug_close() local
346 if (plugin->event_cnt) in mixer_plug_close()
347 eventfd_read(plugin->eventfd, &evfd); in mixer_plug_close()
349 plugin->ops->close(&plugin); in mixer_plug_close()
393 /* TODO: plugin should support ioctl */ in mixer_plug_ioctl()
412 struct mixer_plugin *plugin = NULL; in mixer_plugin_open() local
472 ret = plug_data->mixer_plugin_open_fn(&plugin, card); in mixer_plugin_open()
474 fprintf(stderr, "%s: failed to open plugin, err: %d\n", in mixer_plugin_open()
479 plug_data->plugin = plugin; in mixer_plugin_open()
482 plugin->eventfd = eventfd(0, 0); in mixer_plugin_open()