Lines Matching defs:adev
296 static void acpi_init_of_compatible(struct acpi_device *adev)
301 ret = acpi_data_get_property_array(&adev->data, "compatible",
304 ret = acpi_dev_get_property(adev, "compatible",
309 parent = acpi_dev_parent(adev);
316 adev->data.of_compatible = of_compatible;
319 adev->flags.of_compatible_ok = 1;
533 void acpi_init_properties(struct acpi_device *adev)
540 INIT_LIST_HEAD(&adev->data.properties);
541 INIT_LIST_HEAD(&adev->data.subnodes);
543 if (!adev->handle)
550 list_for_each_entry(hwid, &adev->pnp.ids, list) {
557 status = acpi_evaluate_object_typed(adev->handle, "_DSD", NULL, &buf,
562 if (acpi_extract_properties(adev->handle, buf.pointer, &adev->data)) {
563 adev->data.pointer = buf.pointer;
565 acpi_init_of_compatible(adev);
567 if (acpi_enumerate_nondev_subnodes(adev->handle, 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);
580 if (acpi_of && !adev->flags.of_compatible_ok)
581 acpi_handle_info(adev->handle,
584 if (!adev->data.pointer)
585 acpi_extract_apple_properties(adev);
621 void acpi_free_properties(struct acpi_device *adev)
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);
691 * @adev: ACPI device to get the property from.
696 int acpi_dev_get_property(const struct acpi_device *adev, const char *name,
699 return adev ? acpi_data_get_property(&adev->data, name, type, obj) : -EINVAL;
707 const struct acpi_device *adev = to_acpi_device_node(fwnode);
708 return &adev->data;
858 * target object in @args->adev. If the reference includes arguments, store
1175 static int stop_on_next(struct acpi_device *adev, void *data)
1180 *ret_p = adev;
1185 if (*ret_p == adev)
1199 struct acpi_device *adev = to_acpi_device_node(fwnode);
1201 if ((!child || is_acpi_device_node(child)) && adev) {
1204 acpi_dev_for_each_child(adev, stop_on_next, &child_adev);
1219 * hierarchical _DSD properties. Make sure the adev pointer is
1224 adev = to_acpi_device_node(fwnode);
1225 if (adev)
1226 head = &adev->data.subnodes;
1502 const struct acpi_device *adev;
1518 adev = to_acpi_device_node(fwnode);
1519 if (WARN_ON(!adev))
1522 return acpi_device_bid(adev);