Lines Matching refs:tree
321 struct hdac_widget_tree *tree = codec->widgets; in widget_tree_free() local
324 if (!tree) in widget_tree_free()
326 free_widget_node(tree->afg, &widget_afg_group); in widget_tree_free()
327 if (tree->nodes) { in widget_tree_free()
328 for (p = tree->nodes; *p; p++) in widget_tree_free()
330 kfree(tree->nodes); in widget_tree_free()
332 kobject_put(tree->root); in widget_tree_free()
333 kfree(tree); in widget_tree_free()
362 struct hdac_widget_tree *tree; in widget_tree_create() local
366 tree = codec->widgets = kzalloc(sizeof(*tree), GFP_KERNEL); in widget_tree_create()
367 if (!tree) in widget_tree_create()
370 tree->root = kobject_create_and_add("widgets", &codec->dev.kobj); in widget_tree_create()
371 if (!tree->root) in widget_tree_create()
374 tree->nodes = kcalloc(codec->num_nodes + 1, sizeof(*tree->nodes), in widget_tree_create()
376 if (!tree->nodes) in widget_tree_create()
380 err = add_widget_node(tree->root, nid, &widget_node_group, in widget_tree_create()
381 &tree->nodes[i]); in widget_tree_create()
387 err = add_widget_node(tree->root, codec->afg, in widget_tree_create()
388 &widget_afg_group, &tree->afg); in widget_tree_create()
393 kobject_uevent(tree->root, KOBJ_CHANGE); in widget_tree_create()