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()
1221 struct f_midi_opts *opts; in f_midi_alloc_inst() local
1223 opts = kzalloc(sizeof(*opts), GFP_KERNEL); in f_midi_alloc_inst()
1224 if (!opts) in f_midi_alloc_inst()
1227 mutex_init(&opts->lock); in f_midi_alloc_inst()
1228 opts->func_inst.free_func_inst = f_midi_free_inst; in f_midi_alloc_inst()
1229 opts->index = SNDRV_DEFAULT_IDX1; in f_midi_alloc_inst()
1230 opts->id = SNDRV_DEFAULT_STR1; in f_midi_alloc_inst()
1231 opts->buflen = 512; in f_midi_alloc_inst()
1232 opts->qlen = 32; in f_midi_alloc_inst()
1233 opts->in_ports = 1; in f_midi_alloc_inst()
1234 opts->out_ports = 1; in f_midi_alloc_inst()
1235 opts->refcnt = 1; in f_midi_alloc_inst()
1237 config_group_init_type_name(&opts->func_inst.group, "", in f_midi_alloc_inst()
1240 return &opts->func_inst; in f_midi_alloc_inst()
1246 struct f_midi_opts *opts; in f_midi_free() local
1250 opts = container_of(f->fi, struct f_midi_opts, func_inst); in f_midi_free()
1251 mutex_lock(&opts->lock); in f_midi_free()
1258 mutex_unlock(&opts->lock); in f_midi_free()
1261 f_midi_free_inst(&opts->func_inst); in f_midi_free()
1291 struct f_midi_opts *opts; in f_midi_alloc() local
1294 opts = container_of(fi, struct f_midi_opts, func_inst); in f_midi_alloc()
1296 mutex_lock(&opts->lock); in f_midi_alloc()
1298 if (opts->in_ports > MAX_PORTS || opts->out_ports > MAX_PORTS) { in f_midi_alloc()
1304 midi = kzalloc(struct_size(midi, in_ports_array, opts->in_ports), in f_midi_alloc()
1311 for (i = 0; i < opts->in_ports; i++) in f_midi_alloc()
1315 midi->id = kstrdup(opts->id, GFP_KERNEL); in f_midi_alloc()
1316 if (opts->id && !midi->id) { in f_midi_alloc()
1320 midi->in_ports = opts->in_ports; in f_midi_alloc()
1321 midi->out_ports = opts->out_ports; in f_midi_alloc()
1322 midi->index = opts->index; in f_midi_alloc()
1323 midi->buflen = opts->buflen; in f_midi_alloc()
1324 midi->qlen = opts->qlen; in f_midi_alloc()
1334 ++opts->refcnt; in f_midi_alloc()
1335 mutex_unlock(&opts->lock); in f_midi_alloc()
1347 mutex_unlock(&opts->lock); in f_midi_alloc()