Lines Matching refs:tree
313 struct hdac_widget_tree *tree = codec->widgets; in widget_tree_free() local
316 if (!tree) in widget_tree_free()
318 free_widget_node(tree->afg, &widget_afg_group); in widget_tree_free()
319 if (tree->nodes) { in widget_tree_free()
320 for (p = tree->nodes; *p; p++) in widget_tree_free()
322 kfree(tree->nodes); in widget_tree_free()
324 if (tree->root) in widget_tree_free()
325 kobject_put(tree->root); in widget_tree_free()
326 kfree(tree); in widget_tree_free()
355 struct hdac_widget_tree *tree; in widget_tree_create() local
359 tree = codec->widgets = kzalloc(sizeof(*tree), GFP_KERNEL); in widget_tree_create()
360 if (!tree) in widget_tree_create()
363 tree->root = kobject_create_and_add("widgets", &codec->dev.kobj); in widget_tree_create()
364 if (!tree->root) in widget_tree_create()
367 tree->nodes = kcalloc(codec->num_nodes + 1, sizeof(*tree->nodes), in widget_tree_create()
369 if (!tree->nodes) in widget_tree_create()
373 err = add_widget_node(tree->root, nid, &widget_node_group, in widget_tree_create()
374 &tree->nodes[i]); in widget_tree_create()
380 err = add_widget_node(tree->root, codec->afg, in widget_tree_create()
381 &widget_afg_group, &tree->afg); in widget_tree_create()
386 kobject_uevent(tree->root, KOBJ_CHANGE); in widget_tree_create()