Lines Matching full:lookup
725 struct acpi_gpio_lookup *lookup = data; in acpi_populate_gpio_lookup() local
730 if (!lookup->desc) { in acpi_populate_gpio_lookup()
736 if (lookup->info.quirks & ACPI_GPIO_QUIRK_ONLY_GPIOIO && gpioint) in acpi_populate_gpio_lookup()
737 lookup->index++; in acpi_populate_gpio_lookup()
739 if (lookup->n++ != lookup->index) in acpi_populate_gpio_lookup()
742 pin_index = lookup->pin_index; in acpi_populate_gpio_lookup()
746 if (lookup->info.quirks & ACPI_GPIO_QUIRK_ABSOLUTE_NUMBER) in acpi_populate_gpio_lookup()
751 lookup->desc = desc; in acpi_populate_gpio_lookup()
752 lookup->info.pin_config = agpio->pin_config; in acpi_populate_gpio_lookup()
753 lookup->info.debounce = agpio->debounce_timeout; in acpi_populate_gpio_lookup()
754 lookup->info.gpioint = gpioint; in acpi_populate_gpio_lookup()
763 if (lookup->info.gpioint) { in acpi_populate_gpio_lookup()
764 lookup->info.polarity = agpio->polarity; in acpi_populate_gpio_lookup()
765 lookup->info.triggering = agpio->triggering; in acpi_populate_gpio_lookup()
767 lookup->info.polarity = lookup->active_low; in acpi_populate_gpio_lookup()
770 lookup->info.flags = acpi_gpio_to_gpiod_flags(agpio, lookup->info.polarity); in acpi_populate_gpio_lookup()
776 static int acpi_gpio_resource_lookup(struct acpi_gpio_lookup *lookup, in acpi_gpio_resource_lookup() argument
779 struct acpi_device *adev = lookup->info.adev; in acpi_gpio_resource_lookup()
787 lookup); in acpi_gpio_resource_lookup()
793 if (!lookup->desc) in acpi_gpio_resource_lookup()
797 *info = lookup->info; in acpi_gpio_resource_lookup()
803 struct acpi_gpio_lookup *lookup) in acpi_gpio_property_lookup() argument
823 * The property was found and resolved, so need to lookup the GPIO based in acpi_gpio_property_lookup()
831 lookup->index = args.args[0]; in acpi_gpio_property_lookup()
832 lookup->pin_index = args.args[1]; in acpi_gpio_property_lookup()
833 lookup->active_low = !!args.args[2]; in acpi_gpio_property_lookup()
835 lookup->info.adev = to_acpi_device_node(args.fwnode); in acpi_gpio_property_lookup()
836 lookup->info.quirks = quirks; in acpi_gpio_property_lookup()
867 struct acpi_gpio_lookup lookup; in acpi_get_gpiod_by_index() local
873 memset(&lookup, 0, sizeof(lookup)); in acpi_get_gpiod_by_index()
874 lookup.index = index; in acpi_get_gpiod_by_index()
880 propname, index, &lookup); in acpi_get_gpiod_by_index()
885 dev_name(&lookup.info.adev->dev), lookup.index, in acpi_get_gpiod_by_index()
886 lookup.pin_index, lookup.active_low); in acpi_get_gpiod_by_index()
889 lookup.info.adev = adev; in acpi_get_gpiod_by_index()
892 ret = acpi_gpio_resource_lookup(&lookup, info); in acpi_get_gpiod_by_index()
893 return ret ? ERR_PTR(ret) : lookup.desc; in acpi_get_gpiod_by_index()
947 dev_dbg(dev, "refusing GpioInt() entry when doing GPIOD_OUT_* lookup\n"); in acpi_find_gpio()
965 * GPIO lookup to get to the GPIO resource with the relevant information and use
975 struct acpi_gpio_lookup lookup; in acpi_node_get_gpiod() local
989 memset(&lookup, 0, sizeof(lookup)); in acpi_node_get_gpiod()
990 lookup.index = index; in acpi_node_get_gpiod()
992 ret = acpi_gpio_property_lookup(fwnode, propname, index, &lookup); in acpi_node_get_gpiod()
996 ret = acpi_gpio_resource_lookup(&lookup, info); in acpi_node_get_gpiod()
997 return ret ? ERR_PTR(ret) : lookup.desc; in acpi_node_get_gpiod()