Lines Matching refs:fwnode

84 	fwnode_init(&dn->fwnode, &acpi_data_fwnode_ops);
104 &dn->fwnode))
107 &dn->fwnode)) {
704 acpi_device_data_of_node(const struct fwnode_handle *fwnode)
706 if (is_acpi_device_node(fwnode)) {
707 const struct acpi_device *adev = to_acpi_device_node(fwnode);
710 if (is_acpi_data_node(fwnode)) {
711 const struct acpi_data_node *dn = to_acpi_data_node(fwnode);
719 * @fwnode: Firmware node to get the property from.
723 int acpi_node_prop_get(const struct fwnode_handle *fwnode,
726 return acpi_data_get_property(acpi_device_data_of_node(fwnode),
775 acpi_fwnode_get_named_child_node(const struct fwnode_handle *fwnode,
780 fwnode_for_each_child_node(fwnode, child) {
836 args->fwnode = ref_fwnode;
849 * @fwnode: Firmware node to get the property from
883 int __acpi_node_get_property_reference(const struct fwnode_handle *fwnode,
893 data = acpi_device_data_of_node(fwnode);
914 args->fwnode = acpi_fwnode_handle(device);
1157 * @fwnode: Firmware node to get the property from.
1167 static int acpi_node_prop_read(const struct fwnode_handle *fwnode,
1171 return acpi_data_prop_read(acpi_device_data_of_node(fwnode),
1192 * acpi_get_next_subnode - Return the next child node handle for a fwnode
1193 * @fwnode: Firmware node to find the next child node for.
1196 struct fwnode_handle *acpi_get_next_subnode(const struct fwnode_handle *fwnode,
1199 struct acpi_device *adev = to_acpi_device_node(fwnode);
1212 const struct acpi_data_node *data = to_acpi_data_node(fwnode);
1222 * of the common fwnode shared by device_nodes and data_nodes.
1224 adev = to_acpi_device_node(fwnode);
1245 return &dn->fwnode;
1251 * acpi_node_get_parent - Return parent fwnode of this fwnode
1252 * @fwnode: Firmware node whose parent to get
1258 acpi_node_get_parent(const struct fwnode_handle *fwnode)
1260 if (is_acpi_data_node(fwnode)) {
1262 return to_acpi_data_node(fwnode)->parent;
1264 if (is_acpi_device_node(fwnode)) {
1267 parent = acpi_dev_parent(to_acpi_device_node(fwnode));
1279 static bool is_acpi_graph_node(struct fwnode_handle *fwnode,
1285 if (!len || !is_acpi_data_node(fwnode))
1288 name = to_acpi_data_node(fwnode)->name;
1290 return (fwnode_property_present(fwnode, "reg") &&
1292 fwnode_property_present(fwnode, str);
1297 * @fwnode: Pointer to the parent firmware node
1300 * Looks up next endpoint ACPI firmware node below a given @fwnode. Returns
1305 const struct fwnode_handle *fwnode, struct fwnode_handle *prev)
1312 port = fwnode_get_next_child_node(fwnode, port);
1332 port = fwnode_get_next_child_node(fwnode, port);
1354 * @fwnode: device fwnode
1362 const struct fwnode_handle *fwnode, const char *prop_name,
1367 fwnode_for_each_child_node(fwnode, child) {
1390 struct fwnode_handle *fwnode;
1402 if (!is_acpi_device_node(args.fwnode))
1403 return args.nargs ? NULL : args.fwnode;
1412 fwnode = args.fwnode;
1416 fwnode = acpi_graph_get_child_prop_value(fwnode, "port", port_nr);
1418 return acpi_graph_get_child_prop_value(fwnode, "endpoint", endpoint_nr);
1421 static bool acpi_fwnode_device_is_available(const struct fwnode_handle *fwnode)
1423 if (!is_acpi_device_node(fwnode))
1426 return acpi_device_is_present(to_acpi_device_node(fwnode));
1430 acpi_fwnode_device_get_match_data(const struct fwnode_handle *fwnode,
1436 static bool acpi_fwnode_device_dma_supported(const struct fwnode_handle *fwnode)
1438 return acpi_dma_supported(to_acpi_device_node(fwnode));
1442 acpi_fwnode_device_get_dma_attr(const struct fwnode_handle *fwnode)
1444 return acpi_get_dma_attr(to_acpi_device_node(fwnode));
1447 static bool acpi_fwnode_property_present(const struct fwnode_handle *fwnode,
1450 return !acpi_node_prop_get(fwnode, propname, NULL);
1454 acpi_fwnode_property_read_int_array(const struct fwnode_handle *fwnode,
1478 return acpi_node_prop_read(fwnode, propname, type, val, nval);
1482 acpi_fwnode_property_read_string_array(const struct fwnode_handle *fwnode,
1486 return acpi_node_prop_read(fwnode, propname, DEV_PROP_STRING,
1491 acpi_fwnode_get_reference_args(const struct fwnode_handle *fwnode,
1496 return __acpi_node_get_property_reference(fwnode, prop, index,
1500 static const char *acpi_fwnode_get_name(const struct fwnode_handle *fwnode)
1506 parent = fwnode_get_parent(fwnode);
1512 if (is_acpi_data_node(fwnode)) {
1513 const struct acpi_data_node *dn = to_acpi_data_node(fwnode);
1518 adev = to_acpi_device_node(fwnode);
1526 acpi_fwnode_get_name_prefix(const struct fwnode_handle *fwnode)
1531 parent = fwnode_get_parent(fwnode);
1547 acpi_fwnode_get_parent(struct fwnode_handle *fwnode)
1549 return acpi_node_get_parent(fwnode);
1552 static int acpi_fwnode_graph_parse_endpoint(const struct fwnode_handle *fwnode,
1555 struct fwnode_handle *port_fwnode = fwnode_get_parent(fwnode);
1557 endpoint->local_fwnode = fwnode;
1561 if (fwnode_property_read_u32(fwnode, "reg", &endpoint->id))
1562 fwnode_property_read_u32(fwnode, "endpoint", &endpoint->id);
1567 static int acpi_fwnode_irq_get(const struct fwnode_handle *fwnode,
1573 ret = acpi_irq_get(ACPI_HANDLE_FWNODE(fwnode), index, &res);
1612 bool is_acpi_device_node(const struct fwnode_handle *fwnode)
1614 return !IS_ERR_OR_NULL(fwnode) &&
1615 fwnode->ops == &acpi_device_fwnode_ops;
1619 bool is_acpi_data_node(const struct fwnode_handle *fwnode)
1621 return !IS_ERR_OR_NULL(fwnode) && fwnode->ops == &acpi_data_fwnode_ops;