Lines Matching refs:event

29 		 "Run edge _AEI event-handlers at boot: 0=no, 1=yes, -1=auto");
50 * struct acpi_gpio_event - ACPI GPIO event handler data
56 * @irq: Linux IRQ number for the event, for request_irq() / free_irq()
60 * @desc: struct gpio_desc for the GPIO pin for this event
122 * OpRegions before the event handlers can run. This list contains GPIO chips
191 struct acpi_gpio_event *event = data;
193 acpi_evaluate_object(event->handle, NULL, NULL, NULL);
200 struct acpi_gpio_event *event = data;
202 acpi_execute_simple_method(event->handle, NULL, event->pin);
253 struct acpi_gpio_event *event)
258 ret = request_threaded_irq(event->irq, NULL, event->handler,
259 event->irqflags | IRQF_ONESHOT, "ACPI:Event", event);
261 dev_err(parent, "Failed to setup interrupt handler for %d\n", event->irq);
265 if (event->irq_is_wake)
266 enable_irq_wake(event->irq);
268 event->irq_requested = true;
272 (event->irqflags & (IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING))) {
273 value = gpiod_get_raw_value_cansleep(event->desc);
274 if (((event->irqflags & IRQF_TRIGGER_RISING) && value == 1) ||
275 ((event->irqflags & IRQF_TRIGGER_FALLING) && value == 0))
276 event->handler(event->irq, event);
282 struct acpi_gpio_event *event;
284 list_for_each_entry(event, &acpi_gpio->events, node)
285 acpi_gpiochip_request_irq(acpi_gpio, event);
413 struct acpi_gpio_event *event;
469 event = kzalloc(sizeof(*event), GFP_KERNEL);
470 if (!event)
473 event->irqflags = IRQF_ONESHOT;
476 event->irqflags |= IRQF_TRIGGER_HIGH;
478 event->irqflags |= IRQF_TRIGGER_LOW;
482 event->irqflags |= IRQF_TRIGGER_RISING;
485 event->irqflags |= IRQF_TRIGGER_FALLING;
488 event->irqflags |= IRQF_TRIGGER_RISING |
494 event->handle = evt_handle;
495 event->handler = handler;
496 event->irq = irq;
497 event->irq_is_wake = acpi_gpio_irq_is_wake(chip->parent, agpio);
498 event->pin = pin;
499 event->desc = desc;
501 list_add_tail(&event->node, &acpi_gpio->events);
518 * handled by ACPI event methods which need to be called from the GPIO
520 * GPIO pins have ACPI event methods and assigns interrupt handlers that calls
521 * the ACPI event methods for those pins.
562 * acpi_gpiochip_free_interrupts() - Free GPIO ACPI event interrupts.
565 * Free interrupts associated with GPIO ACPI event method for the given
571 struct acpi_gpio_event *event, *ep;
591 list_for_each_entry_safe_reverse(event, ep, &acpi_gpio->events, node) {
592 if (event->irq_requested) {
593 if (event->irq_is_wake)
594 disable_irq_wake(event->irq);
596 free_irq(event->irq, event);
599 gpiochip_unlock_as_irq(chip, event->pin);
600 gpiochip_free_own_desc(event->desc);
601 list_del(&event->node);
602 kfree(event);
1174 * event but only if the access here is ACPI_READ. In that
1175 * case we "borrow" the event GPIO instead.
1179 struct acpi_gpio_event *event;
1181 list_for_each_entry(event, &achip->events, node) {
1182 if (event->pin == pin) {
1183 desc = event->desc;
1545 * event handler on INT33FFC:02 pin 12, causing spurious wakeups.
1559 * event handler on INT33FF:01 pin 0, causing spurious wakeups.
1580 * event handler on INT33FC:02 pin 28, causing spurious wakeups.
1595 * event handler on INT33FF:01 pin 0, causing spurious wakeups.
1661 * a "dolby" button. At the ACPI level an _AEI event-handler