Lines Matching refs:fwnode
79 dn->fwnode.ops = &acpi_data_fwnode_ops;
99 &dn->fwnode))
102 &dn->fwnode)) {
545 acpi_device_data_of_node(const struct fwnode_handle *fwnode)
547 if (is_acpi_device_node(fwnode)) {
548 const struct acpi_device *adev = to_acpi_device_node(fwnode);
550 } else if (is_acpi_data_node(fwnode)) {
551 const struct acpi_data_node *dn = to_acpi_data_node(fwnode);
559 * @fwnode: Firmware node to get the property from.
563 int acpi_node_prop_get(const struct fwnode_handle *fwnode,
566 return acpi_data_get_property(acpi_device_data_of_node(fwnode),
615 acpi_fwnode_get_named_child_node(const struct fwnode_handle *fwnode,
620 fwnode_for_each_child_node(fwnode, child) {
637 * @fwnode: Firmware node to get the property from
671 int __acpi_node_get_property_reference(const struct fwnode_handle *fwnode,
681 data = acpi_device_data_of_node(fwnode);
704 args->fwnode = acpi_fwnode_handle(device);
769 args->fwnode = ref_fwnode;
1016 * @fwnode: Firmware node to get the property from.
1026 int acpi_node_prop_read(const struct fwnode_handle *fwnode,
1030 return acpi_data_prop_read(acpi_device_data_of_node(fwnode),
1035 * acpi_get_next_subnode - Return the next child node handle for a fwnode
1036 * @fwnode: Firmware node to find the next child node for.
1039 struct fwnode_handle *acpi_get_next_subnode(const struct fwnode_handle *fwnode,
1042 const struct acpi_device *adev = to_acpi_device_node(fwnode);
1074 const struct acpi_data_node *data = to_acpi_data_node(fwnode);
1082 * of the common fwnode shared by device_nodes and data_nodes.
1084 adev = to_acpi_device_node(fwnode);
1105 return &dn->fwnode;
1111 * acpi_node_get_parent - Return parent fwnode of this fwnode
1112 * @fwnode: Firmware node whose parent to get
1117 struct fwnode_handle *acpi_node_get_parent(const struct fwnode_handle *fwnode)
1119 if (is_acpi_data_node(fwnode)) {
1121 return to_acpi_data_node(fwnode)->parent;
1122 } else if (is_acpi_device_node(fwnode)) {
1123 struct device *dev = to_acpi_device_node(fwnode)->dev.parent;
1136 static bool is_acpi_graph_node(struct fwnode_handle *fwnode,
1142 if (!len || !is_acpi_data_node(fwnode))
1145 name = to_acpi_data_node(fwnode)->name;
1147 return (fwnode_property_present(fwnode, "reg") &&
1149 fwnode_property_present(fwnode, str);
1154 * @fwnode: Pointer to the parent firmware node
1157 * Looks up next endpoint ACPI firmware node below a given @fwnode. Returns
1162 const struct fwnode_handle *fwnode, struct fwnode_handle *prev)
1169 port = fwnode_get_next_child_node(fwnode, port);
1189 port = fwnode_get_next_child_node(fwnode, port);
1211 * @fwnode: device fwnode
1219 const struct fwnode_handle *fwnode, const char *prop_name,
1224 fwnode_for_each_child_node(fwnode, child) {
1240 * @fwnode: Endpoint firmware node pointing to a remote device
1248 struct fwnode_handle *fwnode;
1260 if (!is_acpi_device_node(args.fwnode))
1261 return args.nargs ? NULL : args.fwnode;
1270 fwnode = args.fwnode;
1274 fwnode = acpi_graph_get_child_prop_value(fwnode, "port", port_nr);
1276 return acpi_graph_get_child_prop_value(fwnode, "endpoint", endpoint_nr);
1279 static bool acpi_fwnode_device_is_available(const struct fwnode_handle *fwnode)
1281 if (!is_acpi_device_node(fwnode))
1284 return acpi_device_is_present(to_acpi_device_node(fwnode));
1287 static bool acpi_fwnode_property_present(const struct fwnode_handle *fwnode,
1290 return !acpi_node_prop_get(fwnode, propname, NULL);
1294 acpi_fwnode_property_read_int_array(const struct fwnode_handle *fwnode,
1318 return acpi_node_prop_read(fwnode, propname, type, val, nval);
1322 acpi_fwnode_property_read_string_array(const struct fwnode_handle *fwnode,
1326 return acpi_node_prop_read(fwnode, propname, DEV_PROP_STRING,
1331 acpi_fwnode_get_reference_args(const struct fwnode_handle *fwnode,
1336 return __acpi_node_get_property_reference(fwnode, prop, index,
1340 static const char *acpi_fwnode_get_name(const struct fwnode_handle *fwnode)
1346 parent = fwnode_get_parent(fwnode);
1352 if (is_acpi_data_node(fwnode)) {
1353 const struct acpi_data_node *dn = to_acpi_data_node(fwnode);
1358 adev = to_acpi_device_node(fwnode);
1366 acpi_fwnode_get_name_prefix(const struct fwnode_handle *fwnode)
1371 parent = fwnode_get_parent(fwnode);
1387 acpi_fwnode_get_parent(struct fwnode_handle *fwnode)
1389 return acpi_node_get_parent(fwnode);
1392 static int acpi_fwnode_graph_parse_endpoint(const struct fwnode_handle *fwnode,
1395 struct fwnode_handle *port_fwnode = fwnode_get_parent(fwnode);
1397 endpoint->local_fwnode = fwnode;
1401 if (fwnode_property_read_u32(fwnode, "reg", &endpoint->id))
1402 fwnode_property_read_u32(fwnode, "endpoint", &endpoint->id);
1408 acpi_fwnode_device_get_match_data(const struct fwnode_handle *fwnode,
1442 bool is_acpi_device_node(const struct fwnode_handle *fwnode)
1444 return !IS_ERR_OR_NULL(fwnode) &&
1445 fwnode->ops == &acpi_device_fwnode_ops;
1449 bool is_acpi_data_node(const struct fwnode_handle *fwnode)
1451 return !IS_ERR_OR_NULL(fwnode) && fwnode->ops == &acpi_data_fwnode_ops;