Lines Matching refs:opts
1084 struct f_midi_opts *opts = to_f_midi_opts(item); in midi_attr_release() local
1086 usb_put_function_instance(&opts->func_inst); in midi_attr_release()
1096 struct f_midi_opts *opts = to_f_midi_opts(item); \
1099 mutex_lock(&opts->lock); \
1100 result = sprintf(page, "%u\n", opts->name); \
1101 mutex_unlock(&opts->lock); \
1109 struct f_midi_opts *opts = to_f_midi_opts(item); \
1113 mutex_lock(&opts->lock); \
1114 if (opts->refcnt > 1) { \
1127 opts->name = num; \
1131 mutex_unlock(&opts->lock); \
1140 struct f_midi_opts *opts = to_f_midi_opts(item); \
1143 mutex_lock(&opts->lock); \
1144 result = sprintf(page, "%d\n", opts->name); \
1145 mutex_unlock(&opts->lock); \
1153 struct f_midi_opts *opts = to_f_midi_opts(item); \
1157 mutex_lock(&opts->lock); \
1158 if (opts->refcnt > 1) { \
1171 opts->name = num; \
1175 mutex_unlock(&opts->lock); \
1189 struct f_midi_opts *opts = to_f_midi_opts(item); in f_midi_opts_id_show() local
1192 mutex_lock(&opts->lock); in f_midi_opts_id_show()
1193 if (opts->id) { in f_midi_opts_id_show()
1194 result = strscpy(page, opts->id, PAGE_SIZE); in f_midi_opts_id_show()
1200 mutex_unlock(&opts->lock); in f_midi_opts_id_show()
1208 struct f_midi_opts *opts = to_f_midi_opts(item); in f_midi_opts_id_store() local
1212 mutex_lock(&opts->lock); in f_midi_opts_id_store()
1213 if (opts->refcnt > 1) { in f_midi_opts_id_store()
1223 if (opts->id_allocated) in f_midi_opts_id_store()
1224 kfree(opts->id); in f_midi_opts_id_store()
1225 opts->id = c; in f_midi_opts_id_store()
1226 opts->id_allocated = true; in f_midi_opts_id_store()
1229 mutex_unlock(&opts->lock); in f_midi_opts_id_store()
1253 struct f_midi_opts *opts; in f_midi_free_inst() local
1256 opts = container_of(f, struct f_midi_opts, func_inst); in f_midi_free_inst()
1258 mutex_lock(&opts->lock); in f_midi_free_inst()
1259 if (!--opts->refcnt) { in f_midi_free_inst()
1262 mutex_unlock(&opts->lock); in f_midi_free_inst()
1265 if (opts->id_allocated) in f_midi_free_inst()
1266 kfree(opts->id); in f_midi_free_inst()
1267 kfree(opts); in f_midi_free_inst()
1273 struct f_midi_opts *opts; in f_midi_alloc_inst() local
1275 opts = kzalloc(sizeof(*opts), GFP_KERNEL); in f_midi_alloc_inst()
1276 if (!opts) in f_midi_alloc_inst()
1279 mutex_init(&opts->lock); in f_midi_alloc_inst()
1280 opts->func_inst.free_func_inst = f_midi_free_inst; in f_midi_alloc_inst()
1281 opts->index = SNDRV_DEFAULT_IDX1; in f_midi_alloc_inst()
1282 opts->id = SNDRV_DEFAULT_STR1; in f_midi_alloc_inst()
1283 opts->buflen = 512; in f_midi_alloc_inst()
1284 opts->qlen = 32; in f_midi_alloc_inst()
1285 opts->in_ports = 1; in f_midi_alloc_inst()
1286 opts->out_ports = 1; in f_midi_alloc_inst()
1287 opts->refcnt = 1; in f_midi_alloc_inst()
1289 config_group_init_type_name(&opts->func_inst.group, "", in f_midi_alloc_inst()
1292 return &opts->func_inst; in f_midi_alloc_inst()
1298 struct f_midi_opts *opts; in f_midi_free() local
1302 opts = container_of(f->fi, struct f_midi_opts, func_inst); in f_midi_free()
1303 mutex_lock(&opts->lock); in f_midi_free()
1310 mutex_unlock(&opts->lock); in f_midi_free()
1313 f_midi_free_inst(&opts->func_inst); in f_midi_free()
1343 struct f_midi_opts *opts; in f_midi_alloc() local
1346 opts = container_of(fi, struct f_midi_opts, func_inst); in f_midi_alloc()
1348 mutex_lock(&opts->lock); in f_midi_alloc()
1350 if (opts->in_ports > MAX_PORTS || opts->out_ports > MAX_PORTS) { in f_midi_alloc()
1356 midi = kzalloc(struct_size(midi, in_ports_array, opts->in_ports), in f_midi_alloc()
1362 midi->in_ports = opts->in_ports; in f_midi_alloc()
1364 for (i = 0; i < opts->in_ports; i++) in f_midi_alloc()
1368 midi->id = kstrdup(opts->id, GFP_KERNEL); in f_midi_alloc()
1369 if (opts->id && !midi->id) { in f_midi_alloc()
1373 midi->out_ports = opts->out_ports; in f_midi_alloc()
1374 midi->index = opts->index; in f_midi_alloc()
1375 midi->buflen = opts->buflen; in f_midi_alloc()
1376 midi->qlen = opts->qlen; in f_midi_alloc()
1386 ++opts->refcnt; in f_midi_alloc()
1387 mutex_unlock(&opts->lock); in f_midi_alloc()
1403 mutex_unlock(&opts->lock); in f_midi_alloc()