Lines Matching refs:fwnode
84 fwnode_init(&dn->fwnode, &acpi_data_fwnode_ops); in acpi_nondev_subnode_extract()
104 &dn->fwnode)) in acpi_nondev_subnode_extract()
107 &dn->fwnode)) { in acpi_nondev_subnode_extract()
704 acpi_device_data_of_node(const struct fwnode_handle *fwnode) in acpi_device_data_of_node() argument
706 if (is_acpi_device_node(fwnode)) { in acpi_device_data_of_node()
707 const struct acpi_device *adev = to_acpi_device_node(fwnode); in acpi_device_data_of_node()
710 if (is_acpi_data_node(fwnode)) { in acpi_device_data_of_node()
711 const struct acpi_data_node *dn = to_acpi_data_node(fwnode); in acpi_device_data_of_node()
723 int acpi_node_prop_get(const struct fwnode_handle *fwnode, in acpi_node_prop_get() argument
726 return acpi_data_get_property(acpi_device_data_of_node(fwnode), in acpi_node_prop_get()
775 acpi_fwnode_get_named_child_node(const struct fwnode_handle *fwnode, in acpi_fwnode_get_named_child_node() argument
780 fwnode_for_each_child_node(fwnode, child) { in acpi_fwnode_get_named_child_node()
836 args->fwnode = ref_fwnode; in acpi_get_ref_args()
882 int __acpi_node_get_property_reference(const struct fwnode_handle *fwnode, in __acpi_node_get_property_reference() argument
892 data = acpi_device_data_of_node(fwnode); in __acpi_node_get_property_reference()
910 args->fwnode = acpi_fwnode_handle(device); in __acpi_node_get_property_reference()
1162 static int acpi_node_prop_read(const struct fwnode_handle *fwnode, in acpi_node_prop_read() argument
1166 return acpi_data_prop_read(acpi_device_data_of_node(fwnode), in acpi_node_prop_read()
1191 struct fwnode_handle *acpi_get_next_subnode(const struct fwnode_handle *fwnode, in acpi_get_next_subnode() argument
1194 struct acpi_device *adev = to_acpi_device_node(fwnode); in acpi_get_next_subnode()
1207 const struct acpi_data_node *data = to_acpi_data_node(fwnode); in acpi_get_next_subnode()
1219 adev = to_acpi_device_node(fwnode); in acpi_get_next_subnode()
1240 return &dn->fwnode; in acpi_get_next_subnode()
1253 acpi_node_get_parent(const struct fwnode_handle *fwnode) in acpi_node_get_parent() argument
1255 if (is_acpi_data_node(fwnode)) { in acpi_node_get_parent()
1257 return to_acpi_data_node(fwnode)->parent; in acpi_node_get_parent()
1259 if (is_acpi_device_node(fwnode)) { in acpi_node_get_parent()
1262 parent = acpi_dev_parent(to_acpi_device_node(fwnode)); in acpi_node_get_parent()
1274 static bool is_acpi_graph_node(struct fwnode_handle *fwnode, in is_acpi_graph_node() argument
1280 if (!len || !is_acpi_data_node(fwnode)) in is_acpi_graph_node()
1283 name = to_acpi_data_node(fwnode)->name; in is_acpi_graph_node()
1285 return (fwnode_property_present(fwnode, "reg") && in is_acpi_graph_node()
1287 fwnode_property_present(fwnode, str); in is_acpi_graph_node()
1300 const struct fwnode_handle *fwnode, struct fwnode_handle *prev) in acpi_graph_get_next_endpoint() argument
1307 port = fwnode_get_next_child_node(fwnode, port); in acpi_graph_get_next_endpoint()
1327 port = fwnode_get_next_child_node(fwnode, port); in acpi_graph_get_next_endpoint()
1357 const struct fwnode_handle *fwnode, const char *prop_name, in acpi_graph_get_child_prop_value() argument
1362 fwnode_for_each_child_node(fwnode, child) { in acpi_graph_get_child_prop_value()
1385 struct fwnode_handle *fwnode; in acpi_graph_get_remote_endpoint() local
1397 if (!is_acpi_device_node(args.fwnode)) in acpi_graph_get_remote_endpoint()
1398 return args.nargs ? NULL : args.fwnode; in acpi_graph_get_remote_endpoint()
1407 fwnode = args.fwnode; in acpi_graph_get_remote_endpoint()
1411 fwnode = acpi_graph_get_child_prop_value(fwnode, "port", port_nr); in acpi_graph_get_remote_endpoint()
1413 return acpi_graph_get_child_prop_value(fwnode, "endpoint", endpoint_nr); in acpi_graph_get_remote_endpoint()
1416 static bool acpi_fwnode_device_is_available(const struct fwnode_handle *fwnode) in acpi_fwnode_device_is_available() argument
1418 if (!is_acpi_device_node(fwnode)) in acpi_fwnode_device_is_available()
1421 return acpi_device_is_present(to_acpi_device_node(fwnode)); in acpi_fwnode_device_is_available()
1425 acpi_fwnode_device_get_match_data(const struct fwnode_handle *fwnode, in acpi_fwnode_device_get_match_data() argument
1431 static bool acpi_fwnode_device_dma_supported(const struct fwnode_handle *fwnode) in acpi_fwnode_device_dma_supported() argument
1433 return acpi_dma_supported(to_acpi_device_node(fwnode)); in acpi_fwnode_device_dma_supported()
1437 acpi_fwnode_device_get_dma_attr(const struct fwnode_handle *fwnode) in acpi_fwnode_device_get_dma_attr() argument
1439 return acpi_get_dma_attr(to_acpi_device_node(fwnode)); in acpi_fwnode_device_get_dma_attr()
1442 static bool acpi_fwnode_property_present(const struct fwnode_handle *fwnode, in acpi_fwnode_property_present() argument
1445 return !acpi_node_prop_get(fwnode, propname, NULL); in acpi_fwnode_property_present()
1449 acpi_fwnode_property_read_int_array(const struct fwnode_handle *fwnode, in acpi_fwnode_property_read_int_array() argument
1473 return acpi_node_prop_read(fwnode, propname, type, val, nval); in acpi_fwnode_property_read_int_array()
1477 acpi_fwnode_property_read_string_array(const struct fwnode_handle *fwnode, in acpi_fwnode_property_read_string_array() argument
1481 return acpi_node_prop_read(fwnode, propname, DEV_PROP_STRING, in acpi_fwnode_property_read_string_array()
1486 acpi_fwnode_get_reference_args(const struct fwnode_handle *fwnode, in acpi_fwnode_get_reference_args() argument
1491 return __acpi_node_get_property_reference(fwnode, prop, index, in acpi_fwnode_get_reference_args()
1495 static const char *acpi_fwnode_get_name(const struct fwnode_handle *fwnode) in acpi_fwnode_get_name() argument
1501 parent = fwnode_get_parent(fwnode); in acpi_fwnode_get_name()
1507 if (is_acpi_data_node(fwnode)) { in acpi_fwnode_get_name()
1508 const struct acpi_data_node *dn = to_acpi_data_node(fwnode); in acpi_fwnode_get_name()
1513 adev = to_acpi_device_node(fwnode); in acpi_fwnode_get_name()
1521 acpi_fwnode_get_name_prefix(const struct fwnode_handle *fwnode) in acpi_fwnode_get_name_prefix() argument
1526 parent = fwnode_get_parent(fwnode); in acpi_fwnode_get_name_prefix()
1542 acpi_fwnode_get_parent(struct fwnode_handle *fwnode) in acpi_fwnode_get_parent() argument
1544 return acpi_node_get_parent(fwnode); in acpi_fwnode_get_parent()
1547 static int acpi_fwnode_graph_parse_endpoint(const struct fwnode_handle *fwnode, in acpi_fwnode_graph_parse_endpoint() argument
1550 struct fwnode_handle *port_fwnode = fwnode_get_parent(fwnode); in acpi_fwnode_graph_parse_endpoint()
1552 endpoint->local_fwnode = fwnode; in acpi_fwnode_graph_parse_endpoint()
1556 if (fwnode_property_read_u32(fwnode, "reg", &endpoint->id)) in acpi_fwnode_graph_parse_endpoint()
1557 fwnode_property_read_u32(fwnode, "endpoint", &endpoint->id); in acpi_fwnode_graph_parse_endpoint()
1562 static int acpi_fwnode_irq_get(const struct fwnode_handle *fwnode, in acpi_fwnode_irq_get() argument
1568 ret = acpi_irq_get(ACPI_HANDLE_FWNODE(fwnode), index, &res); in acpi_fwnode_irq_get()
1607 bool is_acpi_device_node(const struct fwnode_handle *fwnode) in is_acpi_device_node() argument
1609 return !IS_ERR_OR_NULL(fwnode) && in is_acpi_device_node()
1610 fwnode->ops == &acpi_device_fwnode_ops; in is_acpi_device_node()
1614 bool is_acpi_data_node(const struct fwnode_handle *fwnode) in is_acpi_data_node() argument
1616 return !IS_ERR_OR_NULL(fwnode) && fwnode->ops == &acpi_data_fwnode_ops; in is_acpi_data_node()