Lines Matching defs:adev

96  * @adev: reference to ACPI device which consumes GPIO resource
107 struct acpi_device *adev;
607 int acpi_dev_add_driver_gpios(struct acpi_device *adev,
610 if (adev && gpios) {
611 adev->driver_gpios = gpios;
618 void acpi_dev_remove_driver_gpios(struct acpi_device *adev)
620 if (adev)
621 adev->driver_gpios = NULL;
625 static void acpi_dev_release_driver_gpios(void *adev)
627 acpi_dev_remove_driver_gpios(adev);
633 struct acpi_device *adev = ACPI_COMPANION(dev);
636 ret = acpi_dev_add_driver_gpios(adev, gpios);
640 return devm_add_action_or_reset(dev, acpi_dev_release_driver_gpios, adev);
644 static bool acpi_get_driver_gpio_data(struct acpi_device *adev,
651 if (!adev || !adev->driver_gpios)
654 for (gm = adev->driver_gpios; gm->name; gm++)
658 args->fwnode = acpi_fwnode_handle(adev);
705 struct device *dev = &info->adev->dev;
786 lookup->info.wake_capable = acpi_gpio_irq_is_wake(&lookup->info.adev->dev, agpio);
811 struct acpi_device *adev = lookup->info.adev;
817 ret = acpi_dev_get_resources(adev, &res_list,
845 struct acpi_device *adev;
847 adev = to_acpi_device_node(fwnode);
848 if (!acpi_get_driver_gpio_data(adev, propname, index, &args, &quirks))
864 lookup->info.adev = to_acpi_device_node(args.fwnode);
872 * @adev: pointer to a ACPI device to get GPIO from
877 * Function goes through ACPI resources for @adev and based on @index looks
892 static struct gpio_desc *acpi_get_gpiod_by_index(struct acpi_device *adev,
900 if (!adev)
907 dev_dbg(&adev->dev, "GPIO: looking up %s\n", propname);
909 ret = acpi_gpio_property_lookup(acpi_fwnode_handle(adev),
914 dev_dbg(&adev->dev, "GPIO: _DSD returned %s %d %u %u\n",
915 dev_name(&lookup.info.adev->dev), lookup.index,
918 dev_dbg(&adev->dev, "GPIO: looking up %d in _CRS\n", index);
919 lookup.info.adev = adev;
965 static bool acpi_can_fallback_to_crs(struct acpi_device *adev,
969 if (acpi_dev_has_props(adev) || adev->driver_gpios)
981 struct acpi_device *adev = to_acpi_device_node(fwnode);
997 if (adev)
998 desc = acpi_get_gpiod_by_index(adev,
1011 if (!adev || !acpi_can_fallback_to_crs(adev, con_id))
1014 desc = acpi_get_gpiod_by_index(adev, NULL, idx, &info);
1021 dev_dbg(&adev->dev, "refusing GpioInt() entry when doing GPIOD_OUT_* lookup\n");
1032 * @adev: pointer to a ACPI device to get IRQ from
1052 int acpi_dev_gpio_irq_wake_get_by(struct acpi_device *adev, const char *name, int index,
1063 desc = acpi_get_gpiod_by_index(adev, name, i, &info);
1107 dev_dbg(&adev->dev, "IRQ %d already in use\n", irq);
1336 struct acpi_device *adev;
1342 adev = ACPI_COMPANION(chip->parent);
1343 if (!adev)
1357 status = acpi_attach_data(adev->handle, acpi_gpio_chip_dh, acpi_gpio);
1366 acpi_dev_clear_dependencies(adev);
1439 struct acpi_device *adev = ACPI_COMPANION(dev);
1456 ret = acpi_dev_get_property(adev, propname, ACPI_TYPE_ANY,
1463 } else if (adev->driver_gpios) {
1464 for (gm = adev->driver_gpios; gm->name; gm++)
1479 if (!acpi_can_fallback_to_crs(adev, con_id))
1483 acpi_dev_get_resources(adev, &resource_list,