Lines Matching defs:fwnode

96 	fwnode_init(&dn->fwnode, &acpi_data_fwnode_ops);
116 &dn->fwnode))
119 &dn->fwnode)) {
716 acpi_device_data_of_node(const struct fwnode_handle *fwnode)
718 if (is_acpi_device_node(fwnode)) {
719 const struct acpi_device *adev = to_acpi_device_node(fwnode);
722 if (is_acpi_data_node(fwnode)) {
723 const struct acpi_data_node *dn = to_acpi_data_node(fwnode);
731 * @fwnode: Firmware node to get the property from.
735 int acpi_node_prop_get(const struct fwnode_handle *fwnode,
738 return acpi_data_get_property(acpi_device_data_of_node(fwnode),
787 acpi_fwnode_get_named_child_node(const struct fwnode_handle *fwnode,
792 fwnode_for_each_child_node(fwnode, child) {
836 args->fwnode = ref_fwnode;
847 static struct fwnode_handle *acpi_parse_string_ref(const struct fwnode_handle *fwnode,
855 if (is_acpi_device_node(fwnode)) {
856 scope = to_acpi_device_node(fwnode)->handle;
857 } else if (is_acpi_data_node(fwnode)) {
858 scope = to_acpi_data_node(fwnode)->handle;
860 pr_debug("Bad node type for node %pfw\n", fwnode);
882 return &dn->fwnode;
887 * @fwnode: Firmware node to get the property from
921 int __acpi_node_get_property_reference(const struct fwnode_handle *fwnode,
932 data = acpi_device_data_of_node(fwnode);
953 args->fwnode = acpi_fwnode_handle(device);
961 ref_fwnode = acpi_parse_string_ref(fwnode, obj->string.pointer);
965 args->fwnode = ref_fwnode;
1011 ref_fwnode = acpi_parse_string_ref(fwnode,
1228 * @fwnode: Firmware node to get the property from.
1238 static int acpi_node_prop_read(const struct fwnode_handle *fwnode,
1242 return acpi_data_prop_read(acpi_device_data_of_node(fwnode),
1263 * acpi_get_next_subnode - Return the next child node handle for a fwnode
1264 * @fwnode: Firmware node to find the next child node for.
1267 struct fwnode_handle *acpi_get_next_subnode(const struct fwnode_handle *fwnode,
1270 struct acpi_device *adev = to_acpi_device_node(fwnode);
1283 const struct acpi_data_node *data = to_acpi_data_node(fwnode);
1293 * of the common fwnode shared by device_nodes and data_nodes.
1295 adev = to_acpi_device_node(fwnode);
1316 return &dn->fwnode;
1322 * acpi_node_get_parent - Return parent fwnode of this fwnode
1323 * @fwnode: Firmware node whose parent to get
1329 acpi_node_get_parent(const struct fwnode_handle *fwnode)
1331 if (is_acpi_data_node(fwnode)) {
1333 return to_acpi_data_node(fwnode)->parent;
1335 if (is_acpi_device_node(fwnode)) {
1338 parent = acpi_dev_parent(to_acpi_device_node(fwnode));
1350 static bool is_acpi_graph_node(struct fwnode_handle *fwnode,
1356 if (!len || !is_acpi_data_node(fwnode))
1359 name = to_acpi_data_node(fwnode)->name;
1361 return (fwnode_property_present(fwnode, "reg") &&
1363 fwnode_property_present(fwnode, str);
1368 * @fwnode: Pointer to the parent firmware node
1371 * Looks up next endpoint ACPI firmware node below a given @fwnode. Returns
1376 const struct fwnode_handle *fwnode, struct fwnode_handle *prev)
1383 port = fwnode_get_next_child_node(fwnode, port);
1403 port = fwnode_get_next_child_node(fwnode, port);
1425 * @fwnode: device fwnode
1433 const struct fwnode_handle *fwnode, const char *prop_name,
1438 fwnode_for_each_child_node(fwnode, child) {
1461 struct fwnode_handle *fwnode;
1473 if (!is_acpi_device_node(args.fwnode))
1474 return args.nargs ? NULL : args.fwnode;
1483 fwnode = args.fwnode;
1487 fwnode = acpi_graph_get_child_prop_value(fwnode, "port", port_nr);
1489 return acpi_graph_get_child_prop_value(fwnode, "endpoint", endpoint_nr);
1492 static bool acpi_fwnode_device_is_available(const struct fwnode_handle *fwnode)
1494 if (!is_acpi_device_node(fwnode))
1497 return acpi_device_is_present(to_acpi_device_node(fwnode));
1501 acpi_fwnode_device_get_match_data(const struct fwnode_handle *fwnode,
1507 static bool acpi_fwnode_device_dma_supported(const struct fwnode_handle *fwnode)
1509 return acpi_dma_supported(to_acpi_device_node(fwnode));
1513 acpi_fwnode_device_get_dma_attr(const struct fwnode_handle *fwnode)
1515 return acpi_get_dma_attr(to_acpi_device_node(fwnode));
1518 static bool acpi_fwnode_property_present(const struct fwnode_handle *fwnode,
1521 return !acpi_node_prop_get(fwnode, propname, NULL);
1525 acpi_fwnode_property_read_int_array(const struct fwnode_handle *fwnode,
1549 return acpi_node_prop_read(fwnode, propname, type, val, nval);
1553 acpi_fwnode_property_read_string_array(const struct fwnode_handle *fwnode,
1557 return acpi_node_prop_read(fwnode, propname, DEV_PROP_STRING,
1562 acpi_fwnode_get_reference_args(const struct fwnode_handle *fwnode,
1567 return __acpi_node_get_property_reference(fwnode, prop, index,
1571 static const char *acpi_fwnode_get_name(const struct fwnode_handle *fwnode)
1577 parent = fwnode_get_parent(fwnode);
1583 if (is_acpi_data_node(fwnode)) {
1584 const struct acpi_data_node *dn = to_acpi_data_node(fwnode);
1589 adev = to_acpi_device_node(fwnode);
1597 acpi_fwnode_get_name_prefix(const struct fwnode_handle *fwnode)
1602 parent = fwnode_get_parent(fwnode);
1618 acpi_fwnode_get_parent(struct fwnode_handle *fwnode)
1620 return acpi_node_get_parent(fwnode);
1623 static int acpi_fwnode_graph_parse_endpoint(const struct fwnode_handle *fwnode,
1626 struct fwnode_handle *port_fwnode = fwnode_get_parent(fwnode);
1628 endpoint->local_fwnode = fwnode;
1632 if (fwnode_property_read_u32(fwnode, "reg", &endpoint->id))
1633 fwnode_property_read_u32(fwnode, "endpoint", &endpoint->id);
1638 static int acpi_fwnode_irq_get(const struct fwnode_handle *fwnode,
1644 ret = acpi_irq_get(ACPI_HANDLE_FWNODE(fwnode), index, &res);
1683 bool is_acpi_device_node(const struct fwnode_handle *fwnode)
1685 return !IS_ERR_OR_NULL(fwnode) &&
1686 fwnode->ops == &acpi_device_fwnode_ops;
1690 bool is_acpi_data_node(const struct fwnode_handle *fwnode)
1692 return !IS_ERR_OR_NULL(fwnode) && fwnode->ops == &acpi_data_fwnode_ops;