Lines Matching refs:lookup
644 struct acpi_gpio_lookup *lookup = data; in acpi_populate_gpio_lookup() local
649 if (!lookup->desc) { in acpi_populate_gpio_lookup()
655 if (lookup->info.quirks & ACPI_GPIO_QUIRK_ONLY_GPIOIO && gpioint) in acpi_populate_gpio_lookup()
656 lookup->index++; in acpi_populate_gpio_lookup()
658 if (lookup->n++ != lookup->index) in acpi_populate_gpio_lookup()
661 pin_index = lookup->pin_index; in acpi_populate_gpio_lookup()
665 if (lookup->info.quirks & ACPI_GPIO_QUIRK_ABSOLUTE_NUMBER) in acpi_populate_gpio_lookup()
670 lookup->desc = desc; in acpi_populate_gpio_lookup()
671 lookup->info.pin_config = agpio->pin_config; in acpi_populate_gpio_lookup()
672 lookup->info.gpioint = gpioint; in acpi_populate_gpio_lookup()
681 if (lookup->info.gpioint) { in acpi_populate_gpio_lookup()
682 lookup->info.flags = GPIOD_IN; in acpi_populate_gpio_lookup()
683 lookup->info.polarity = agpio->polarity; in acpi_populate_gpio_lookup()
684 lookup->info.triggering = agpio->triggering; in acpi_populate_gpio_lookup()
686 lookup->info.flags = acpi_gpio_to_gpiod_flags(agpio); in acpi_populate_gpio_lookup()
687 lookup->info.polarity = lookup->active_low; in acpi_populate_gpio_lookup()
694 static int acpi_gpio_resource_lookup(struct acpi_gpio_lookup *lookup, in acpi_gpio_resource_lookup() argument
697 struct acpi_device *adev = lookup->info.adev; in acpi_gpio_resource_lookup()
705 lookup); in acpi_gpio_resource_lookup()
711 if (!lookup->desc) in acpi_gpio_resource_lookup()
715 *info = lookup->info; in acpi_gpio_resource_lookup()
721 struct acpi_gpio_lookup *lookup) in acpi_gpio_property_lookup() argument
749 lookup->index = args.args[0]; in acpi_gpio_property_lookup()
750 lookup->pin_index = args.args[1]; in acpi_gpio_property_lookup()
751 lookup->active_low = !!args.args[2]; in acpi_gpio_property_lookup()
753 lookup->info.adev = to_acpi_device_node(args.fwnode); in acpi_gpio_property_lookup()
754 lookup->info.quirks = quirks; in acpi_gpio_property_lookup()
785 struct acpi_gpio_lookup lookup; in acpi_get_gpiod_by_index() local
791 memset(&lookup, 0, sizeof(lookup)); in acpi_get_gpiod_by_index()
792 lookup.index = index; in acpi_get_gpiod_by_index()
798 propname, index, &lookup); in acpi_get_gpiod_by_index()
803 dev_name(&lookup.info.adev->dev), lookup.index, in acpi_get_gpiod_by_index()
804 lookup.pin_index, lookup.active_low); in acpi_get_gpiod_by_index()
807 lookup.info.adev = adev; in acpi_get_gpiod_by_index()
810 ret = acpi_gpio_resource_lookup(&lookup, info); in acpi_get_gpiod_by_index()
811 return ret ? ERR_PTR(ret) : lookup.desc; in acpi_get_gpiod_by_index()
893 struct acpi_gpio_lookup lookup; in acpi_node_get_gpiod() local
907 memset(&lookup, 0, sizeof(lookup)); in acpi_node_get_gpiod()
908 lookup.index = index; in acpi_node_get_gpiod()
910 ret = acpi_gpio_property_lookup(fwnode, propname, index, &lookup); in acpi_node_get_gpiod()
914 ret = acpi_gpio_resource_lookup(&lookup, info); in acpi_node_get_gpiod()
915 return ret ? ERR_PTR(ret) : lookup.desc; in acpi_node_get_gpiod()