Lines Matching full:agpio
183 struct acpi_resource_gpio **agpio) in acpi_gpio_get_irq_resource() argument
194 *agpio = gpio; in acpi_gpio_get_irq_resource()
203 * @agpio: Pointer to a &struct acpi_resource_gpio to store the output pointer
206 struct acpi_resource_gpio **agpio) in acpi_gpio_get_io_resource() argument
217 *agpio = gpio; in acpi_gpio_get_io_resource()
260 acpi_gpio_to_gpiod_flags(const struct acpi_resource_gpio *agpio, int polarity) in acpi_gpio_to_gpiod_flags() argument
263 if (agpio->connection_type == ACPI_RESOURCE_GPIO_TYPE_INT) in acpi_gpio_to_gpiod_flags()
266 switch (agpio->io_restriction) { in acpi_gpio_to_gpiod_flags()
279 switch (agpio->pin_config) { in acpi_gpio_to_gpiod_flags()
300 struct acpi_resource_gpio *agpio, in acpi_request_own_gpiod() argument
305 enum gpiod_flags flags = acpi_gpio_to_gpiod_flags(agpio, polarity); in acpi_request_own_gpiod()
306 unsigned int pin = agpio->pin_table[index]; in acpi_request_own_gpiod()
314 ret = gpio_set_debounce_timeout(desc, agpio->debounce_timeout); in acpi_request_own_gpiod()
359 struct acpi_resource_gpio *agpio) in acpi_gpio_irq_is_wake() argument
361 int pin = agpio->pin_table[0]; in acpi_gpio_irq_is_wake()
363 if (agpio->wake_capable != ACPI_WAKE_CAPABLE) in acpi_gpio_irq_is_wake()
380 struct acpi_resource_gpio *agpio; in acpi_gpiochip_alloc_event() local
387 if (!acpi_gpio_get_irq_resource(ares, &agpio)) in acpi_gpiochip_alloc_event()
391 pin = agpio->pin_table[0]; in acpi_gpiochip_alloc_event()
396 agpio->triggering == ACPI_EDGE_SENSITIVE ? 'E' : 'L', in acpi_gpiochip_alloc_event()
408 desc = acpi_request_own_gpiod(chip, agpio, 0, "ACPI:Event"); in acpi_gpiochip_alloc_event()
437 if (agpio->triggering == ACPI_LEVEL_SENSITIVE) { in acpi_gpiochip_alloc_event()
438 if (agpio->polarity == ACPI_ACTIVE_HIGH) in acpi_gpiochip_alloc_event()
443 switch (agpio->polarity) { in acpi_gpiochip_alloc_event()
460 event->irq_is_wake = acpi_gpio_irq_is_wake(chip->parent, agpio); in acpi_gpiochip_alloc_event()
731 const struct acpi_resource_gpio *agpio = &ares->data.gpio; in acpi_populate_gpio_lookup() local
732 bool gpioint = agpio->connection_type == ACPI_RESOURCE_GPIO_TYPE_INT; in acpi_populate_gpio_lookup()
743 if (pin_index >= agpio->pin_table_length) in acpi_populate_gpio_lookup()
747 desc = gpio_to_desc(agpio->pin_table[pin_index]); in acpi_populate_gpio_lookup()
749 desc = acpi_get_gpiod(agpio->resource_source.string_ptr, in acpi_populate_gpio_lookup()
750 agpio->pin_table[pin_index]); 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()
764 lookup->info.polarity = agpio->polarity; in acpi_populate_gpio_lookup()
765 lookup->info.triggering = agpio->triggering; in acpi_populate_gpio_lookup()
770 lookup->info.flags = acpi_gpio_to_gpiod_flags(agpio, lookup->info.polarity); in acpi_populate_gpio_lookup()
1082 struct acpi_resource_gpio *agpio; in acpi_gpio_adr_space_handler() local
1099 agpio = &ares->data.gpio; in acpi_gpio_adr_space_handler()
1101 if (WARN_ON(agpio->io_restriction == ACPI_IO_RESTRICT_INPUT && in acpi_gpio_adr_space_handler()
1107 length = min_t(u16, agpio->pin_table_length, pin_index + bits); in acpi_gpio_adr_space_handler()
1109 int pin = agpio->pin_table[i]; in acpi_gpio_adr_space_handler()
1130 if (!found && agpio->shareable == ACPI_SHARED && in acpi_gpio_adr_space_handler()
1144 desc = acpi_request_own_gpiod(chip, agpio, i, "ACPI:OpRegion"); in acpi_gpio_adr_space_handler()