Lines Matching refs:adev
201 static void acpi_init_of_compatible(struct acpi_device *adev) in acpi_init_of_compatible() argument
206 ret = acpi_data_get_property_array(&adev->data, "compatible", in acpi_init_of_compatible()
209 ret = acpi_dev_get_property(adev, "compatible", in acpi_init_of_compatible()
212 if (adev->parent in acpi_init_of_compatible()
213 && adev->parent->flags.of_compatible_ok) in acpi_init_of_compatible()
219 adev->data.of_compatible = of_compatible; in acpi_init_of_compatible()
222 adev->flags.of_compatible_ok = 1; in acpi_init_of_compatible()
265 void acpi_init_properties(struct acpi_device *adev) in acpi_init_properties() argument
272 INIT_LIST_HEAD(&adev->data.subnodes); in acpi_init_properties()
278 list_for_each_entry(hwid, &adev->pnp.ids, list) { in acpi_init_properties()
285 status = acpi_evaluate_object_typed(adev->handle, "_DSD", NULL, &buf, in acpi_init_properties()
290 if (acpi_extract_properties(buf.pointer, &adev->data)) { in acpi_init_properties()
291 adev->data.pointer = buf.pointer; in acpi_init_properties()
293 acpi_init_of_compatible(adev); in acpi_init_properties()
295 if (acpi_enumerate_nondev_subnodes(adev->handle, buf.pointer, &adev->data)) in acpi_init_properties()
296 adev->data.pointer = buf.pointer; in acpi_init_properties()
298 if (!adev->data.pointer) { in acpi_init_properties()
299 acpi_handle_debug(adev->handle, "Invalid _DSD data, skipping\n"); in acpi_init_properties()
304 if (acpi_of && !adev->flags.of_compatible_ok) in acpi_init_properties()
305 acpi_handle_info(adev->handle, in acpi_init_properties()
325 void acpi_free_properties(struct acpi_device *adev) in acpi_free_properties() argument
327 acpi_destroy_nondev_subnodes(&adev->data.subnodes); in acpi_free_properties()
328 ACPI_FREE((void *)adev->data.pointer); in acpi_free_properties()
329 adev->data.of_compatible = NULL; in acpi_free_properties()
330 adev->data.pointer = NULL; in acpi_free_properties()
331 adev->data.properties = NULL; in acpi_free_properties()
394 int acpi_dev_get_property(struct acpi_device *adev, const char *name, in acpi_dev_get_property() argument
397 return adev ? acpi_data_get_property(&adev->data, name, type, obj) : -EINVAL; in acpi_dev_get_property()
404 struct acpi_device *adev = to_acpi_device_node(fwnode); in acpi_device_data_of_node() local
405 return &adev->data; in acpi_device_data_of_node()
512 args->adev = device; in acpi_data_get_property_reference()
558 args->adev = device; in acpi_data_get_property_reference()
636 int acpi_dev_prop_read_single(struct acpi_device *adev, const char *propname, in acpi_dev_prop_read_single() argument
639 return adev ? acpi_data_prop_read_single(&adev->data, propname, proptype, val) : -EINVAL; in acpi_dev_prop_read_single()
770 int acpi_dev_prop_read(struct acpi_device *adev, const char *propname, in acpi_dev_prop_read() argument
773 return adev ? acpi_data_prop_read(&adev->data, propname, proptype, val, nval) : -EINVAL; in acpi_dev_prop_read()
803 struct acpi_device *adev = ACPI_COMPANION(dev); in acpi_get_next_subnode() local
806 if (!adev) in acpi_get_next_subnode()
810 head = &adev->children; in acpi_get_next_subnode()
815 adev = to_acpi_device_node(child); in acpi_get_next_subnode()
816 next = adev->node.next; in acpi_get_next_subnode()
821 adev = list_entry(next, struct acpi_device, node); in acpi_get_next_subnode()
823 adev = list_first_entry(head, struct acpi_device, node); in acpi_get_next_subnode()
825 return acpi_fwnode_handle(adev); in acpi_get_next_subnode()
832 head = &adev->data.subnodes; in acpi_get_next_subnode()