Lines Matching refs:fwnode
18 struct fwnode_handle fwnode;
39 bool is_software_node(const struct fwnode_handle *fwnode)
41 return !IS_ERR_OR_NULL(fwnode) && fwnode->ops == &software_node_ops;
51 struct swnode, fwnode) : NULL; \
56 struct fwnode_handle *fwnode = dev_fwnode(dev);
58 if (!fwnode)
61 if (!is_software_node(fwnode))
62 fwnode = fwnode->secondary;
64 return to_swnode(fwnode);
90 const struct software_node *to_software_node(const struct fwnode_handle *fwnode)
92 const struct swnode *swnode = to_swnode(fwnode);
102 return swnode ? &swnode->fwnode : NULL;
364 /* fwnode operations */
366 static struct fwnode_handle *software_node_get(struct fwnode_handle *fwnode)
368 struct swnode *swnode = to_swnode(fwnode);
372 return &swnode->fwnode;
375 static void software_node_put(struct fwnode_handle *fwnode)
377 struct swnode *swnode = to_swnode(fwnode);
382 static bool software_node_property_present(const struct fwnode_handle *fwnode,
385 struct swnode *swnode = to_swnode(fwnode);
390 static int software_node_read_int_array(const struct fwnode_handle *fwnode,
395 struct swnode *swnode = to_swnode(fwnode);
401 static int software_node_read_string_array(const struct fwnode_handle *fwnode,
405 struct swnode *swnode = to_swnode(fwnode);
412 software_node_get_name(const struct fwnode_handle *fwnode)
414 const struct swnode *swnode = to_swnode(fwnode);
420 software_node_get_name_prefix(const struct fwnode_handle *fwnode)
425 parent = fwnode_get_parent(fwnode);
441 software_node_get_parent(const struct fwnode_handle *fwnode)
443 struct swnode *swnode = to_swnode(fwnode);
448 return fwnode_handle_get(&swnode->parent->fwnode);
452 software_node_get_next_child(const struct fwnode_handle *fwnode,
455 struct swnode *p = to_swnode(fwnode);
470 return fwnode_handle_get(&c->fwnode);
474 software_node_get_named_child_node(const struct fwnode_handle *fwnode,
477 struct swnode *swnode = to_swnode(fwnode);
486 return &child->fwnode;
493 software_node_get_reference_args(const struct fwnode_handle *fwnode,
498 struct swnode *swnode = to_swnode(fwnode);
547 args->fwnode = software_node_get(refnode);
564 * fwnode ports have naming style "port@", so we search for any
577 software_node_graph_get_next_endpoint(const struct fwnode_handle *fwnode,
580 struct swnode *swnode = to_swnode(fwnode);
591 parent = software_node_get_named_child_node(fwnode, "ports");
593 parent = software_node_get(&swnode->fwnode);
612 software_node_graph_get_remote_endpoint(const struct fwnode_handle *fwnode)
614 struct swnode *swnode = to_swnode(fwnode);
631 software_node_graph_get_port_parent(struct fwnode_handle *fwnode)
633 struct swnode *swnode = to_swnode(fwnode);
639 return swnode ? software_node_get(&swnode->fwnode) : NULL;
643 software_node_graph_parse_endpoint(const struct fwnode_handle *fwnode,
646 struct swnode *swnode = to_swnode(fwnode);
660 endpoint->local_fwnode = fwnode;
793 fwnode_init(&swnode->fwnode, &software_node_ops);
822 return &swnode->fwnode;
912 fwnode_remove_software_node(&swnode->fwnode);
920 struct fwnode_handle *fwnode;
937 fwnode = swnode_register(node, p, 1);
938 if (IS_ERR(fwnode))
941 return fwnode;
945 void fwnode_remove_software_node(struct fwnode_handle *fwnode)
947 struct swnode *swnode = to_swnode(fwnode);
985 set_secondary_fwnode(dev, &swnode->fwnode);
1043 struct fwnode_handle *fwnode;
1048 fwnode = fwnode_create_software_node(properties, p);
1049 if (IS_ERR(fwnode))
1050 return PTR_ERR(fwnode);
1052 to_swnode(fwnode)->managed = true;
1053 set_secondary_fwnode(dev, fwnode);