Lines Matching +full:entry +full:- +full:name
1 // SPDX-License-Identifier: GPL-2.0-or-later
47 for (i = 0; i < elem->num_args; i++) in attr_show_args()
48 p += sprintf(p, "Name: %s\n%s%s%sDescription: %s\n\n", in attr_show_args()
49 elem->args[i].name, in attr_show_args()
50 elem->args[i].def ? "Default: " : "", in attr_show_args()
51 elem->args[i].def ? elem->args[i].def : "", in attr_show_args()
52 elem->args[i].def ? "\n" : "", in attr_show_args()
53 elem->args[i].desc); in attr_show_args()
55 return p - buf; in attr_show_args()
65 struct dsp_element_entry *entry = in mISDN_dsp_dev_release() local
67 list_del(&entry->list); in mISDN_dsp_dev_release()
68 kfree(entry); in mISDN_dsp_dev_release()
73 struct dsp_element_entry *entry; in mISDN_dsp_element_register() local
77 return -EINVAL; in mISDN_dsp_element_register()
79 entry = kzalloc(sizeof(struct dsp_element_entry), GFP_ATOMIC); in mISDN_dsp_element_register()
80 if (!entry) in mISDN_dsp_element_register()
81 return -ENOMEM; in mISDN_dsp_element_register()
83 entry->elem = elem; in mISDN_dsp_element_register()
85 entry->dev.class = elements_class; in mISDN_dsp_element_register()
86 entry->dev.release = mISDN_dsp_dev_release; in mISDN_dsp_element_register()
87 dev_set_drvdata(&entry->dev, elem); in mISDN_dsp_element_register()
88 dev_set_name(&entry->dev, "%s", elem->name); in mISDN_dsp_element_register()
89 ret = device_register(&entry->dev); in mISDN_dsp_element_register()
92 __func__, elem->name); in mISDN_dsp_element_register()
95 list_add_tail(&entry->list, &dsp_elements); in mISDN_dsp_element_register()
98 ret = device_create_file(&entry->dev, in mISDN_dsp_element_register()
108 printk(KERN_DEBUG "%s: %s registered\n", __func__, elem->name); in mISDN_dsp_element_register()
114 device_unregister(&entry->dev); in mISDN_dsp_element_register()
117 kfree(entry); in mISDN_dsp_element_register()
124 struct dsp_element_entry *entry, *n; in mISDN_dsp_element_unregister() local
129 list_for_each_entry_safe(entry, n, &dsp_elements, list) in mISDN_dsp_element_unregister()
130 if (entry->elem == elem) { in mISDN_dsp_element_unregister()
131 device_unregister(&entry->dev); in mISDN_dsp_element_unregister()
134 __func__, elem->name); in mISDN_dsp_element_unregister()
138 printk(KERN_ERR "%s: element %s not in list.\n", __func__, elem->name); in mISDN_dsp_element_unregister()
159 struct dsp_element_entry *entry, *n; in dsp_pipeline_module_exit() local
165 list_for_each_entry_safe(entry, n, &dsp_elements, list) { in dsp_pipeline_module_exit()
166 list_del(&entry->list); in dsp_pipeline_module_exit()
168 __func__, entry->elem->name); in dsp_pipeline_module_exit()
169 kfree(entry); in dsp_pipeline_module_exit()
180 return -EINVAL; in dsp_pipeline_init()
182 INIT_LIST_HEAD(&pipeline->list); in dsp_pipeline_init()
193 struct dsp_pipeline_entry *entry, *n; in _dsp_pipeline_destroy() local
195 list_for_each_entry_safe(entry, n, &pipeline->list, list) { in _dsp_pipeline_destroy()
196 list_del(&entry->list); in _dsp_pipeline_destroy()
197 if (entry->elem == dsp_hwec) in _dsp_pipeline_destroy()
201 entry->elem->free(entry->p); in _dsp_pipeline_destroy()
202 kfree(entry); in _dsp_pipeline_destroy()
222 char *dup, *tok, *name, *args; in dsp_pipeline_build() local
223 struct dsp_element_entry *entry, *n; in dsp_pipeline_build() local
228 return -EINVAL; in dsp_pipeline_build()
230 if (!list_empty(&pipeline->list)) in dsp_pipeline_build()
239 name = strsep(&tok, "("); in dsp_pipeline_build()
244 list_for_each_entry_safe(entry, n, &dsp_elements, list) in dsp_pipeline_build()
245 if (!strcmp(entry->elem->name, name)) { in dsp_pipeline_build()
246 elem = entry->elem; in dsp_pipeline_build()
252 "entry to pipeline: %s (out of " in dsp_pipeline_build()
253 "memory)\n", __func__, elem->name); in dsp_pipeline_build()
257 pipeline_entry->elem = elem; in dsp_pipeline_build()
264 list_add_tail(&pipeline_entry->list, in dsp_pipeline_build()
265 &pipeline->list); in dsp_pipeline_build()
267 pipeline_entry->p = elem->new(args); in dsp_pipeline_build()
268 if (pipeline_entry->p) { in dsp_pipeline_build()
269 list_add_tail(&pipeline_entry-> in dsp_pipeline_build()
270 list, &pipeline->list); in dsp_pipeline_build()
274 __func__, name, args ? in dsp_pipeline_build()
280 "to add entry to pipeline: " in dsp_pipeline_build()
282 __func__, elem->name); in dsp_pipeline_build()
295 "%s\n", __func__, name); in dsp_pipeline_build()
301 if (!list_empty(&pipeline->list)) in dsp_pipeline_build()
302 pipeline->inuse = 1; in dsp_pipeline_build()
304 pipeline->inuse = 0; in dsp_pipeline_build()
316 struct dsp_pipeline_entry *entry; in dsp_pipeline_process_tx() local
321 list_for_each_entry(entry, &pipeline->list, list) in dsp_pipeline_process_tx()
322 if (entry->elem->process_tx) in dsp_pipeline_process_tx()
323 entry->elem->process_tx(entry->p, data, len); in dsp_pipeline_process_tx()
329 struct dsp_pipeline_entry *entry; in dsp_pipeline_process_rx() local
334 list_for_each_entry_reverse(entry, &pipeline->list, list) in dsp_pipeline_process_rx()
335 if (entry->elem->process_rx) in dsp_pipeline_process_rx()
336 entry->elem->process_rx(entry->p, data, len, txlen); in dsp_pipeline_process_rx()