Lines Matching full:agpio
187 struct acpi_resource_gpio **agpio) in acpi_gpio_get_irq_resource() argument
198 *agpio = gpio; in acpi_gpio_get_irq_resource()
207 * @agpio: Pointer to a &struct acpi_resource_gpio to store the output pointer
210 struct acpi_resource_gpio **agpio) in acpi_gpio_get_io_resource() argument
221 *agpio = gpio; in acpi_gpio_get_io_resource()
263 acpi_gpio_to_gpiod_flags(const struct acpi_resource_gpio *agpio, int polarity) in acpi_gpio_to_gpiod_flags() argument
266 if (agpio->connection_type == ACPI_RESOURCE_GPIO_TYPE_INT) in acpi_gpio_to_gpiod_flags()
269 switch (agpio->io_restriction) { in acpi_gpio_to_gpiod_flags()
282 switch (agpio->pin_config) { in acpi_gpio_to_gpiod_flags()
303 struct acpi_resource_gpio *agpio, in acpi_request_own_gpiod() argument
308 enum gpiod_flags flags = acpi_gpio_to_gpiod_flags(agpio, polarity); in acpi_request_own_gpiod()
309 unsigned int pin = agpio->pin_table[index]; in acpi_request_own_gpiod()
318 ret = gpio_set_debounce_timeout(desc, agpio->debounce_timeout * 10); in acpi_request_own_gpiod()
364 struct acpi_resource_gpio *agpio) in acpi_gpio_irq_is_wake() argument
366 unsigned int pin = agpio->pin_table[0]; in acpi_gpio_irq_is_wake()
368 if (agpio->wake_capable != ACPI_WAKE_CAPABLE) in acpi_gpio_irq_is_wake()
385 struct acpi_resource_gpio *agpio; in acpi_gpiochip_alloc_event() local
393 if (!acpi_gpio_get_irq_resource(ares, &agpio)) in acpi_gpiochip_alloc_event()
397 pin = agpio->pin_table[0]; in acpi_gpiochip_alloc_event()
402 agpio->triggering == ACPI_EDGE_SENSITIVE ? 'E' : 'L', in acpi_gpiochip_alloc_event()
414 desc = acpi_request_own_gpiod(chip, agpio, 0, "ACPI:Event"); in acpi_gpiochip_alloc_event()
448 if (agpio->triggering == ACPI_LEVEL_SENSITIVE) { in acpi_gpiochip_alloc_event()
449 if (agpio->polarity == ACPI_ACTIVE_HIGH) in acpi_gpiochip_alloc_event()
454 switch (agpio->polarity) { in acpi_gpiochip_alloc_event()
471 event->irq_is_wake = acpi_gpio_irq_is_wake(chip->parent, agpio); in acpi_gpiochip_alloc_event()
733 const struct acpi_resource_gpio *agpio = &ares->data.gpio; in acpi_populate_gpio_lookup() local
734 bool gpioint = agpio->connection_type == ACPI_RESOURCE_GPIO_TYPE_INT; in acpi_populate_gpio_lookup()
745 if (pin_index >= agpio->pin_table_length) in acpi_populate_gpio_lookup()
749 desc = gpio_to_desc(agpio->pin_table[pin_index]); in acpi_populate_gpio_lookup()
751 desc = acpi_get_gpiod(agpio->resource_source.string_ptr, in acpi_populate_gpio_lookup()
752 agpio->pin_table[pin_index]); in acpi_populate_gpio_lookup()
754 lookup->info.pin_config = agpio->pin_config; in acpi_populate_gpio_lookup()
755 lookup->info.debounce = agpio->debounce_timeout; in acpi_populate_gpio_lookup()
757 lookup->info.wake_capable = agpio->wake_capable == ACPI_WAKE_CAPABLE; in acpi_populate_gpio_lookup()
767 lookup->info.polarity = agpio->polarity; in acpi_populate_gpio_lookup()
768 lookup->info.triggering = agpio->triggering; in acpi_populate_gpio_lookup()
773 lookup->info.flags = acpi_gpio_to_gpiod_flags(agpio, lookup->info.polarity); in acpi_populate_gpio_lookup()
1101 struct acpi_resource_gpio *agpio; in acpi_gpio_adr_space_handler() local
1118 agpio = &ares->data.gpio; in acpi_gpio_adr_space_handler()
1120 if (WARN_ON(agpio->io_restriction == ACPI_IO_RESTRICT_INPUT && in acpi_gpio_adr_space_handler()
1126 length = min_t(u16, agpio->pin_table_length, pin_index + bits); in acpi_gpio_adr_space_handler()
1128 unsigned int pin = agpio->pin_table[i]; in acpi_gpio_adr_space_handler()
1149 if (!found && agpio->shareable == ACPI_SHARED && in acpi_gpio_adr_space_handler()
1163 desc = acpi_request_own_gpiod(chip, agpio, i, "ACPI:OpRegion"); in acpi_gpio_adr_space_handler()