Lines Matching defs:data
19 static int acpi_data_get_property_array(const struct acpi_device_data *data,
53 /* ACPI _DSD data subnodes GUID: dbb8e3e6-5886-4ba6-8795-1319f52a966b */
64 struct acpi_device_data *data,
68 struct acpi_device_data *data);
86 INIT_LIST_HEAD(&dn->data.properties);
87 INIT_LIST_HEAD(&dn->data.subnodes);
89 result = acpi_extract_properties(handle, desc, &dn->data);
103 && acpi_enumerate_nondev_subnodes(scope, desc, &dn->data,
106 } else if (acpi_enumerate_nondev_subnodes(NULL, desc, &dn->data,
113 dn->data.pointer = desc;
119 acpi_handle_debug(handle, "Invalid properties/subnodes data, skipping\n");
213 struct acpi_device_data *data,
218 /* Look for the ACPI data subnodes GUID. */
238 return acpi_add_nondev_subnodes(scope, links, &data->subnodes,
301 ret = acpi_data_get_property_array(&adev->data, "compatible",
316 adev->data.of_compatible = of_compatible;
335 acpi_data_add_props(struct acpi_device_data *data, const guid_t *guid,
345 list_add_tail(&props->list, &data->properties);
355 static void acpi_untie_nondev_subnodes(struct acpi_device_data *data)
359 list_for_each_entry(dn, &data->subnodes, sibling) {
362 acpi_untie_nondev_subnodes(&dn->data);
366 static bool acpi_tie_nondev_subnodes(struct acpi_device_data *data)
370 list_for_each_entry(dn, &data->subnodes, sibling) {
376 acpi_handle_err(dn->handle, "Can't tag data node\n");
380 ret = acpi_tie_nondev_subnodes(&dn->data);
389 struct acpi_device_data *data,
480 list_add(&props->list, &data->properties);
486 struct acpi_device_data *data)
512 acpi_data_add_buffer_props(scope, data, properties);
526 acpi_data_add_props(data, (const guid_t *)guid->buffer.pointer,
530 return !list_empty(&data->properties);
540 INIT_LIST_HEAD(&adev->data.properties);
541 INIT_LIST_HEAD(&adev->data.subnodes);
562 if (acpi_extract_properties(adev->handle, buf.pointer, &adev->data)) {
563 adev->data.pointer = buf.pointer;
568 &adev->data, acpi_fwnode_handle(adev)))
569 adev->data.pointer = buf.pointer;
571 if (!adev->data.pointer) {
572 acpi_handle_debug(adev->handle, "Invalid _DSD data, skipping\n");
575 if (!acpi_tie_nondev_subnodes(&adev->data))
576 acpi_untie_nondev_subnodes(&adev->data);
584 if (!adev->data.pointer)
596 /* Buffer data properties were separately allocated */
612 acpi_destroy_nondev_subnodes(&dn->data.subnodes);
615 ACPI_FREE((void *)dn->data.pointer);
616 acpi_free_device_properties(&dn->data.properties);
623 acpi_untie_nondev_subnodes(&adev->data);
624 acpi_destroy_nondev_subnodes(&adev->data.subnodes);
625 ACPI_FREE((void *)adev->data.pointer);
626 adev->data.of_compatible = NULL;
627 adev->data.pointer = NULL;
628 acpi_free_device_properties(&adev->data.properties);
633 * @data: ACPI device deta object to get the property from
642 * freed by the ACPI core automatically during the removal of @data.
649 static int acpi_data_get_property(const struct acpi_device_data *data,
655 if (!data || !name)
658 if (!data->pointer || list_empty(&data->properties))
661 list_for_each_entry(props, &data->properties, list) {
699 return adev ? acpi_data_get_property(&adev->data, name, type, obj) : -EINVAL;
708 return &adev->data;
712 return &dn->data;
733 * @data: ACPI data object to get the property from
742 * freed by the ACPI core automatically during the removal of @data.
750 static int acpi_data_get_property_array(const struct acpi_device_data *data,
758 ret = acpi_data_get_property(data, name, ACPI_TYPE_PACKAGE, &prop);
803 * Find the referred data extension node under the
889 const struct acpi_device_data *data;
893 data = acpi_device_data_of_node(fwnode);
894 if (!data)
897 ret = acpi_data_get_property(data, propname, ACPI_TYPE_ANY, &obj);
973 static int acpi_data_prop_read_single(const struct acpi_device_data *data,
981 ret = acpi_data_get_property(data, propname, ACPI_TYPE_INTEGER, &obj);
983 ret = acpi_data_get_property(data, propname, ACPI_TYPE_STRING, &obj);
1067 static int acpi_data_prop_read(const struct acpi_device_data *data,
1077 ret = acpi_data_prop_read_single(data, propname, proptype, val);
1092 ret = acpi_data_get_property_array(data, propname, ACPI_TYPE_ANY, &obj);
1094 ret = acpi_data_get_property(data, propname, ACPI_TYPE_BUFFER,
1175 static int stop_on_next(struct acpi_device *adev, void *data)
1177 struct acpi_device **ret_p = data;
1212 const struct acpi_data_node *data = to_acpi_data_node(fwnode);
1218 * We can have a combination of device and data nodes, e.g. with
1220 * restored before going through data nodes, otherwise we will
1226 head = &adev->data.subnodes;
1227 else if (data)
1228 head = &data->data.subnodes;
1254 * Returns parent node of an ACPI device or data firmware node or %NULL if
1261 /* All data nodes have parent pointer so just return that */
1542 /* ACPI device or data node. */