Lines Matching refs:fwnode
29 struct fwnode_handle fwnode; member
50 bool is_software_node(const struct fwnode_handle *fwnode) in is_software_node() argument
52 return !IS_ERR_OR_NULL(fwnode) && fwnode->ops == &software_node_ops; in is_software_node()
62 struct swnode, fwnode) : NULL; \
67 struct fwnode_handle *fwnode = dev_fwnode(dev); in dev_to_swnode() local
69 if (!fwnode) in dev_to_swnode()
72 if (!is_software_node(fwnode)) in dev_to_swnode()
73 fwnode = fwnode->secondary; in dev_to_swnode()
75 return to_swnode(fwnode); in dev_to_swnode()
101 const struct software_node *to_software_node(const struct fwnode_handle *fwnode) in to_software_node() argument
103 const struct swnode *swnode = to_swnode(fwnode); in to_software_node()
113 return swnode ? &swnode->fwnode : NULL; in software_node_fwnode()
377 static struct fwnode_handle *software_node_get(struct fwnode_handle *fwnode) in software_node_get() argument
379 struct swnode *swnode = to_swnode(fwnode); in software_node_get()
383 return &swnode->fwnode; in software_node_get()
386 static void software_node_put(struct fwnode_handle *fwnode) in software_node_put() argument
388 struct swnode *swnode = to_swnode(fwnode); in software_node_put()
393 static bool software_node_property_present(const struct fwnode_handle *fwnode, in software_node_property_present() argument
396 struct swnode *swnode = to_swnode(fwnode); in software_node_property_present()
401 static int software_node_read_int_array(const struct fwnode_handle *fwnode, in software_node_read_int_array() argument
406 struct swnode *swnode = to_swnode(fwnode); in software_node_read_int_array()
412 static int software_node_read_string_array(const struct fwnode_handle *fwnode, in software_node_read_string_array() argument
416 struct swnode *swnode = to_swnode(fwnode); in software_node_read_string_array()
423 software_node_get_name(const struct fwnode_handle *fwnode) in software_node_get_name() argument
425 const struct swnode *swnode = to_swnode(fwnode); in software_node_get_name()
431 software_node_get_name_prefix(const struct fwnode_handle *fwnode) in software_node_get_name_prefix() argument
436 parent = fwnode_get_parent(fwnode); in software_node_get_name_prefix()
452 software_node_get_parent(const struct fwnode_handle *fwnode) in software_node_get_parent() argument
454 struct swnode *swnode = to_swnode(fwnode); in software_node_get_parent()
459 return fwnode_handle_get(&swnode->parent->fwnode); in software_node_get_parent()
463 software_node_get_next_child(const struct fwnode_handle *fwnode, in software_node_get_next_child() argument
466 struct swnode *p = to_swnode(fwnode); in software_node_get_next_child()
481 return fwnode_handle_get(&c->fwnode); in software_node_get_next_child()
485 software_node_get_named_child_node(const struct fwnode_handle *fwnode, in software_node_get_named_child_node() argument
488 struct swnode *swnode = to_swnode(fwnode); in software_node_get_named_child_node()
497 return &child->fwnode; in software_node_get_named_child_node()
504 software_node_get_reference_args(const struct fwnode_handle *fwnode, in software_node_get_reference_args() argument
509 struct swnode *swnode = to_swnode(fwnode); in software_node_get_reference_args()
558 args->fwnode = software_node_get(refnode); in software_node_get_reference_args()
588 software_node_graph_get_next_endpoint(const struct fwnode_handle *fwnode, in software_node_graph_get_next_endpoint() argument
591 struct swnode *swnode = to_swnode(fwnode); in software_node_graph_get_next_endpoint()
602 parent = software_node_get_named_child_node(fwnode, "ports"); in software_node_graph_get_next_endpoint()
604 parent = software_node_get(&swnode->fwnode); in software_node_graph_get_next_endpoint()
623 software_node_graph_get_remote_endpoint(const struct fwnode_handle *fwnode) in software_node_graph_get_remote_endpoint() argument
625 struct swnode *swnode = to_swnode(fwnode); in software_node_graph_get_remote_endpoint()
642 software_node_graph_get_port_parent(struct fwnode_handle *fwnode) in software_node_graph_get_port_parent() argument
644 struct swnode *swnode = to_swnode(fwnode); in software_node_graph_get_port_parent()
650 return swnode ? software_node_get(&swnode->fwnode) : NULL; in software_node_graph_get_port_parent()
654 software_node_graph_parse_endpoint(const struct fwnode_handle *fwnode, in software_node_graph_parse_endpoint() argument
657 struct swnode *swnode = to_swnode(fwnode); in software_node_graph_parse_endpoint()
671 endpoint->local_fwnode = fwnode; in software_node_graph_parse_endpoint()
804 fwnode_init(&swnode->fwnode, &software_node_ops); in swnode_register()
833 return &swnode->fwnode; in swnode_register()
923 fwnode_remove_software_node(&swnode->fwnode); in software_node_unregister()
931 struct fwnode_handle *fwnode; in fwnode_create_software_node() local
948 fwnode = swnode_register(node, p, 1); in fwnode_create_software_node()
949 if (IS_ERR(fwnode)) in fwnode_create_software_node()
952 return fwnode; in fwnode_create_software_node()
956 void fwnode_remove_software_node(struct fwnode_handle *fwnode) in fwnode_remove_software_node() argument
958 struct swnode *swnode = to_swnode(fwnode); in fwnode_remove_software_node()
996 set_secondary_fwnode(dev, &swnode->fwnode); in device_add_software_node()
1054 struct fwnode_handle *fwnode; in device_create_managed_software_node() local
1059 fwnode = fwnode_create_software_node(properties, p); in device_create_managed_software_node()
1060 if (IS_ERR(fwnode)) in device_create_managed_software_node()
1061 return PTR_ERR(fwnode); in device_create_managed_software_node()
1063 to_swnode(fwnode)->managed = true; in device_create_managed_software_node()
1064 set_secondary_fwnode(dev, fwnode); in device_create_managed_software_node()