Lines Matching refs:node
3 * Software nodes for the firmware node framework.
18 const struct software_node *node;
52 software_node_to_swnode(const struct software_node *node)
57 if (!node)
64 if (swnode->node == node)
78 return swnode ? swnode->node : NULL;
82 struct fwnode_handle *software_node_fwnode(const struct software_node *node)
84 struct swnode *swnode = software_node_to_swnode(node);
371 return !!property_entry_get(swnode->node->properties, propname);
381 return property_entry_read_int_array(swnode->node->properties, propname,
391 return property_entry_read_string_array(swnode->node->properties,
497 prop = property_entry_get(swnode->node->properties, propname);
517 refnode = software_node_fwnode(ref->node);
522 error = property_entry_read_int_array(ref->node->properties,
563 * software_node_find_by_name - Find software node by name
564 * @parent: Parent of the software node
565 * @name: Name of the software node
567 * The function will find a node that is child of @parent and that is named
568 * @name. If no node is found, the function returns NULL.
585 if (parent == swnode->node->parent && swnode->node->name &&
586 !strcmp(name, swnode->node->name)) {
595 return swnode ? swnode->node : NULL;
600 software_node_register_properties(struct software_node *node,
609 node->properties = props;
626 property_entries_free(swnode->node->properties);
627 kfree(swnode->node);
639 swnode_register(const struct software_node *node, struct swnode *parent,
659 swnode->node = node;
669 if (node->name)
672 "%s", node->name);
676 "node%d", swnode->id);
690 property_entries_free(node->properties);
739 * @node_group: NULL terminated array of software node pointers to be registered
765 * @node_group: NULL terminated array of software node pointers to be unregistered
782 * software_node_register - Register static software node
783 * @node: The software node to be registered
785 int software_node_register(const struct software_node *node)
787 struct swnode *parent = software_node_to_swnode(node->parent);
789 if (software_node_to_swnode(node))
792 if (node->parent && !parent)
795 return PTR_ERR_OR_ZERO(swnode_register(node, parent, 0));
800 * software_node_unregister - Unregister static software node
801 * @node: The software node to be unregistered
803 void software_node_unregister(const struct software_node *node)
807 swnode = software_node_to_swnode(node);
817 struct software_node *node;
829 node = kzalloc(sizeof(*node), GFP_KERNEL);
830 if (!node)
833 ret = software_node_register_properties(node, properties);
835 kfree(node);
839 node->parent = p ? p->node : NULL;
841 return swnode_register(node, p, 1);