Lines Matching refs:opts
1076 struct f_midi_opts *opts = to_f_midi_opts(item); in midi_attr_release() local
1078 usb_put_function_instance(&opts->func_inst); in midi_attr_release()
1088 struct f_midi_opts *opts = to_f_midi_opts(item); \
1091 mutex_lock(&opts->lock); \
1092 result = sprintf(page, "%d\n", opts->name); \
1093 mutex_unlock(&opts->lock); \
1101 struct f_midi_opts *opts = to_f_midi_opts(item); \
1105 mutex_lock(&opts->lock); \
1106 if (opts->refcnt > 1) { \
1119 opts->name = num; \
1123 mutex_unlock(&opts->lock); \
1137 struct f_midi_opts *opts = to_f_midi_opts(item); in f_midi_opts_id_show() local
1140 mutex_lock(&opts->lock); in f_midi_opts_id_show()
1141 if (opts->id) { in f_midi_opts_id_show()
1142 result = strlcpy(page, opts->id, PAGE_SIZE); in f_midi_opts_id_show()
1148 mutex_unlock(&opts->lock); in f_midi_opts_id_show()
1156 struct f_midi_opts *opts = to_f_midi_opts(item); in f_midi_opts_id_store() local
1160 mutex_lock(&opts->lock); in f_midi_opts_id_store()
1161 if (opts->refcnt > 1) { in f_midi_opts_id_store()
1171 if (opts->id_allocated) in f_midi_opts_id_store()
1172 kfree(opts->id); in f_midi_opts_id_store()
1173 opts->id = c; in f_midi_opts_id_store()
1174 opts->id_allocated = true; in f_midi_opts_id_store()
1177 mutex_unlock(&opts->lock); in f_midi_opts_id_store()
1201 struct f_midi_opts *opts; in f_midi_free_inst() local
1204 opts = container_of(f, struct f_midi_opts, func_inst); in f_midi_free_inst()
1206 mutex_lock(&opts->lock); in f_midi_free_inst()
1207 if (!--opts->refcnt) { in f_midi_free_inst()
1210 mutex_unlock(&opts->lock); in f_midi_free_inst()
1213 if (opts->id_allocated) in f_midi_free_inst()
1214 kfree(opts->id); in f_midi_free_inst()
1215 kfree(opts); in f_midi_free_inst()
1280 struct f_midi_opts *opts; in f_midi_alloc_inst() local
1282 opts = kzalloc(sizeof(*opts), GFP_KERNEL); in f_midi_alloc_inst()
1283 if (!opts) in f_midi_alloc_inst()
1286 mutex_init(&opts->lock); in f_midi_alloc_inst()
1287 opts->func_inst.free_func_inst = f_midi_free_inst; in f_midi_alloc_inst()
1288 opts->index = SNDRV_DEFAULT_IDX1; in f_midi_alloc_inst()
1289 opts->id = SNDRV_DEFAULT_STR1; in f_midi_alloc_inst()
1290 opts->buflen = 512; in f_midi_alloc_inst()
1291 opts->qlen = 32; in f_midi_alloc_inst()
1292 opts->in_ports = 1; in f_midi_alloc_inst()
1293 opts->out_ports = 1; in f_midi_alloc_inst()
1294 opts->refcnt = 1; in f_midi_alloc_inst()
1296 if (create_alsa_device(&opts->func_inst)) { in f_midi_alloc_inst()
1297 kfree(opts); in f_midi_alloc_inst()
1301 config_group_init_type_name(&opts->func_inst.group, "", in f_midi_alloc_inst()
1304 return &opts->func_inst; in f_midi_alloc_inst()
1310 struct f_midi_opts *opts; in f_midi_free() local
1314 opts = container_of(f->fi, struct f_midi_opts, func_inst); in f_midi_free()
1315 mutex_lock(&opts->lock); in f_midi_free()
1321 opts->func_inst.f = NULL; in f_midi_free()
1323 mutex_unlock(&opts->lock); in f_midi_free()
1326 f_midi_free_inst(&opts->func_inst); in f_midi_free()
1356 struct f_midi_opts *opts; in f_midi_alloc() local
1359 opts = container_of(fi, struct f_midi_opts, func_inst); in f_midi_alloc()
1361 mutex_lock(&opts->lock); in f_midi_alloc()
1363 if (opts->in_ports > MAX_PORTS || opts->out_ports > MAX_PORTS) { in f_midi_alloc()
1369 midi = kzalloc(struct_size(midi, in_ports_array, opts->in_ports), in f_midi_alloc()
1376 for (i = 0; i < opts->in_ports; i++) in f_midi_alloc()
1380 midi->id = kstrdup(opts->id, GFP_KERNEL); in f_midi_alloc()
1381 if (opts->id && !midi->id) { in f_midi_alloc()
1385 midi->in_ports = opts->in_ports; in f_midi_alloc()
1386 midi->out_ports = opts->out_ports; in f_midi_alloc()
1387 midi->index = opts->index; in f_midi_alloc()
1388 midi->buflen = opts->buflen; in f_midi_alloc()
1389 midi->qlen = opts->qlen; in f_midi_alloc()
1399 ++opts->refcnt; in f_midi_alloc()
1400 mutex_unlock(&opts->lock); in f_midi_alloc()
1413 mutex_unlock(&opts->lock); in f_midi_alloc()