gbmodule 177 drivers/staging/greybus/audio_module.c static int gb_audio_add_mgmt_connection(struct gbaudio_module_info *gbmodule, gbmodule 184 drivers/staging/greybus/audio_module.c if (gbmodule->mgmt_connection) { gbmodule 195 drivers/staging/greybus/audio_module.c greybus_set_drvdata(bundle, gbmodule); gbmodule 196 drivers/staging/greybus/audio_module.c gbmodule->mgmt_connection = connection; gbmodule 201 drivers/staging/greybus/audio_module.c static int gb_audio_add_data_connection(struct gbaudio_module_info *gbmodule, gbmodule 208 drivers/staging/greybus/audio_module.c dai = devm_kzalloc(gbmodule->dev, sizeof(*dai), GFP_KERNEL); gbmodule 216 drivers/staging/greybus/audio_module.c devm_kfree(gbmodule->dev, dai); gbmodule 220 drivers/staging/greybus/audio_module.c greybus_set_drvdata(bundle, gbmodule); gbmodule 224 drivers/staging/greybus/audio_module.c list_add(&dai->list, &gbmodule->data_list); gbmodule 237 drivers/staging/greybus/audio_module.c struct gbaudio_module_info *gbmodule; gbmodule 252 drivers/staging/greybus/audio_module.c gbmodule = devm_kzalloc(dev, sizeof(*gbmodule), GFP_KERNEL); gbmodule 253 drivers/staging/greybus/audio_module.c if (!gbmodule) gbmodule 256 drivers/staging/greybus/audio_module.c gbmodule->num_data_connections = bundle->num_cports - 1; gbmodule 257 drivers/staging/greybus/audio_module.c INIT_LIST_HEAD(&gbmodule->data_list); gbmodule 258 drivers/staging/greybus/audio_module.c INIT_LIST_HEAD(&gbmodule->widget_list); gbmodule 259 drivers/staging/greybus/audio_module.c INIT_LIST_HEAD(&gbmodule->ctl_list); gbmodule 260 drivers/staging/greybus/audio_module.c INIT_LIST_HEAD(&gbmodule->widget_ctl_list); gbmodule 261 drivers/staging/greybus/audio_module.c gbmodule->dev = dev; gbmodule 262 drivers/staging/greybus/audio_module.c snprintf(gbmodule->name, NAME_SIZE, "%s.%s", dev->driver->name, gbmodule 264 drivers/staging/greybus/audio_module.c greybus_set_drvdata(bundle, gbmodule); gbmodule 272 drivers/staging/greybus/audio_module.c ret = gb_audio_add_mgmt_connection(gbmodule, cport_desc, gbmodule 278 drivers/staging/greybus/audio_module.c ret = gb_audio_add_data_connection(gbmodule, cport_desc, gbmodule 292 drivers/staging/greybus/audio_module.c if (!gbmodule->mgmt_connection) { gbmodule 299 drivers/staging/greybus/audio_module.c ret = gb_connection_enable(gbmodule->mgmt_connection); gbmodule 304 drivers/staging/greybus/audio_module.c gbmodule->dev_id = gbmodule->mgmt_connection->intf->interface_id; gbmodule 310 drivers/staging/greybus/audio_module.c ret = gb_audio_gb_get_topology(gbmodule->mgmt_connection, &topology); gbmodule 317 drivers/staging/greybus/audio_module.c ret = gbaudio_tplg_parse_data(gbmodule, topology); gbmodule 323 drivers/staging/greybus/audio_module.c gbmodule->topology = topology; gbmodule 326 drivers/staging/greybus/audio_module.c list_for_each_entry(dai, &gbmodule->data_list, list) { gbmodule 337 drivers/staging/greybus/audio_module.c ret = gbaudio_register_module(gbmodule); gbmodule 344 drivers/staging/greybus/audio_module.c strlcpy(desc.name, gbmodule->name, GB_AUDIO_MANAGER_MODULE_NAME_LEN); gbmodule 347 drivers/staging/greybus/audio_module.c desc.intf_id = gbmodule->dev_id; gbmodule 348 drivers/staging/greybus/audio_module.c desc.op_devices = gbmodule->op_devices; gbmodule 349 drivers/staging/greybus/audio_module.c desc.ip_devices = gbmodule->ip_devices; gbmodule 350 drivers/staging/greybus/audio_module.c gbmodule->manager_id = gb_audio_manager_add(&desc); gbmodule 352 drivers/staging/greybus/audio_module.c dev_dbg(dev, "Add GB Audio device:%s\n", gbmodule->name); gbmodule 359 drivers/staging/greybus/audio_module.c list_for_each_entry_safe(dai, _dai, &gbmodule->data_list, list) gbmodule 361 drivers/staging/greybus/audio_module.c gbaudio_tplg_release(gbmodule); gbmodule 362 drivers/staging/greybus/audio_module.c gbmodule->topology = NULL; gbmodule 368 drivers/staging/greybus/audio_module.c gb_connection_disable(gbmodule->mgmt_connection); gbmodule 371 drivers/staging/greybus/audio_module.c list_for_each_entry_safe(dai, _dai, &gbmodule->data_list, list) { gbmodule 377 drivers/staging/greybus/audio_module.c if (gbmodule->mgmt_connection) gbmodule 378 drivers/staging/greybus/audio_module.c gb_connection_destroy(gbmodule->mgmt_connection); gbmodule 380 drivers/staging/greybus/audio_module.c devm_kfree(dev, gbmodule); gbmodule 387 drivers/staging/greybus/audio_module.c struct gbaudio_module_info *gbmodule = greybus_get_drvdata(bundle); gbmodule 393 drivers/staging/greybus/audio_module.c gbaudio_unregister_module(gbmodule); gbmodule 396 drivers/staging/greybus/audio_module.c gb_audio_manager_remove(gbmodule->manager_id); gbmodule 398 drivers/staging/greybus/audio_module.c gbaudio_tplg_release(gbmodule); gbmodule 399 drivers/staging/greybus/audio_module.c kfree(gbmodule->topology); gbmodule 400 drivers/staging/greybus/audio_module.c gbmodule->topology = NULL; gbmodule 401 drivers/staging/greybus/audio_module.c gb_connection_disable(gbmodule->mgmt_connection); gbmodule 402 drivers/staging/greybus/audio_module.c list_for_each_entry_safe(dai, _dai, &gbmodule->data_list, list) { gbmodule 406 drivers/staging/greybus/audio_module.c devm_kfree(gbmodule->dev, dai); gbmodule 408 drivers/staging/greybus/audio_module.c gb_connection_destroy(gbmodule->mgmt_connection); gbmodule 409 drivers/staging/greybus/audio_module.c gbmodule->mgmt_connection = NULL; gbmodule 411 drivers/staging/greybus/audio_module.c devm_kfree(&bundle->dev, gbmodule); gbmodule 424 drivers/staging/greybus/audio_module.c struct gbaudio_module_info *gbmodule = greybus_get_drvdata(bundle); gbmodule 427 drivers/staging/greybus/audio_module.c list_for_each_entry(dai, &gbmodule->data_list, list) gbmodule 430 drivers/staging/greybus/audio_module.c gb_connection_disable(gbmodule->mgmt_connection); gbmodule 438 drivers/staging/greybus/audio_module.c struct gbaudio_module_info *gbmodule = greybus_get_drvdata(bundle); gbmodule 442 drivers/staging/greybus/audio_module.c ret = gb_connection_enable(gbmodule->mgmt_connection); gbmodule 448 drivers/staging/greybus/audio_module.c list_for_each_entry(dai, &gbmodule->data_list, list) {