Lines Matching defs:adev

453 int acpi_dev_add_driver_gpios(struct acpi_device *adev,
456 if (adev && gpios) {
457 adev->driver_gpios = gpios;
464 void acpi_dev_remove_driver_gpios(struct acpi_device *adev)
466 if (adev)
467 adev->driver_gpios = NULL;
502 static bool acpi_get_driver_gpio_data(struct acpi_device *adev,
509 if (!adev->driver_gpios)
512 for (gm = adev->driver_gpios; gm->name; gm++)
516 args->fwnode = acpi_fwnode_handle(adev);
596 struct device *dev = &info->adev->dev;
697 struct acpi_device *adev = lookup->info.adev;
703 ret = acpi_dev_get_resources(adev, &res_list,
731 struct acpi_device *adev = to_acpi_device_node(fwnode);
733 if (!adev)
736 if (!acpi_get_driver_gpio_data(adev, propname, index, &args,
753 lookup->info.adev = to_acpi_device_node(args.fwnode);
761 * @adev: pointer to a ACPI device to get GPIO from
766 * Function goes through ACPI resources for @adev and based on @index looks
781 static struct gpio_desc *acpi_get_gpiod_by_index(struct acpi_device *adev,
788 if (!adev)
795 dev_dbg(&adev->dev, "GPIO: looking up %s\n", propname);
797 ret = acpi_gpio_property_lookup(acpi_fwnode_handle(adev),
802 dev_dbg(&adev->dev, "GPIO: _DSD returned %s %d %d %u\n",
803 dev_name(&lookup.info.adev->dev), lookup.index,
806 dev_dbg(&adev->dev, "GPIO: looking up %d in _CRS\n", index);
807 lookup.info.adev = adev;
814 static bool acpi_can_fallback_to_crs(struct acpi_device *adev,
818 if (acpi_dev_has_props(adev) || adev->driver_gpios)
830 struct acpi_device *adev = ACPI_COMPANION(dev);
846 desc = acpi_get_gpiod_by_index(adev, propname, idx, &info);
855 if (!acpi_can_fallback_to_crs(adev, con_id))
858 desc = acpi_get_gpiod_by_index(adev, NULL, idx, &info);
894 struct acpi_device *adev;
897 adev = to_acpi_device_node(fwnode);
898 if (adev)
899 return acpi_get_gpiod_by_index(adev, propname, index, info);
920 * @adev: pointer to a ACPI device to get IRQ from
936 int acpi_dev_gpio_irq_get_by(struct acpi_device *adev, const char *name, int index)
946 desc = acpi_get_gpiod_by_index(adev, name, i, &info);
981 dev_dbg(&adev->dev, "IRQ %d already in use\n", irq);
1315 struct acpi_device *adev = ACPI_COMPANION(dev);
1332 ret = acpi_dev_get_property(adev, propname, ACPI_TYPE_ANY,
1339 } else if (adev->driver_gpios) {
1340 for (gm = adev->driver_gpios; gm->name; gm++)
1355 if (!acpi_can_fallback_to_crs(adev, con_id))
1359 acpi_dev_get_resources(adev, &resource_list,