Lines Matching refs:event

27 		 "Run edge _AEI event-handlers at boot: 0=no, 1=yes, -1=auto");
41 * struct acpi_gpio_event - ACPI GPIO event handler data
47 * @irq: Linux IRQ number for the event, for request_irq() / free_irq()
51 * @desc: struct gpio_desc for the GPIO pin for this event
89 * OpRegions before the event handlers can run. This list contains GPIO chips
133 struct acpi_gpio_event *event = data;
135 acpi_evaluate_object(event->handle, NULL, NULL, NULL);
142 struct acpi_gpio_event *event = data;
144 acpi_execute_simple_method(event->handle, NULL, event->pin);
172 struct acpi_gpio_event *event)
176 ret = request_threaded_irq(event->irq, NULL, event->handler,
177 event->irqflags | IRQF_ONESHOT, "ACPI:Event", event);
181 event->irq);
185 if (event->irq_is_wake)
186 enable_irq_wake(event->irq);
188 event->irq_requested = true;
192 (event->irqflags & (IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING))) {
193 value = gpiod_get_raw_value_cansleep(event->desc);
194 if (((event->irqflags & IRQF_TRIGGER_RISING) && value == 1) ||
195 ((event->irqflags & IRQF_TRIGGER_FALLING) && value == 0))
196 event->handler(event->irq, event);
202 struct acpi_gpio_event *event;
204 list_for_each_entry(event, &acpi_gpio->events, node)
205 acpi_gpiochip_request_irq(acpi_gpio, event);
267 struct acpi_gpio_event *event;
318 event = kzalloc(sizeof(*event), GFP_KERNEL);
319 if (!event)
322 event->irqflags = IRQF_ONESHOT;
325 event->irqflags |= IRQF_TRIGGER_HIGH;
327 event->irqflags |= IRQF_TRIGGER_LOW;
331 event->irqflags |= IRQF_TRIGGER_RISING;
334 event->irqflags |= IRQF_TRIGGER_FALLING;
337 event->irqflags |= IRQF_TRIGGER_RISING |
343 event->handle = evt_handle;
344 event->handler = handler;
345 event->irq = irq;
346 event->irq_is_wake = acpi_gpio_irq_is_wake(chip->parent, agpio);
347 event->pin = pin;
348 event->desc = desc;
350 list_add_tail(&event->node, &acpi_gpio->events);
367 * handled by ACPI event methods which need to be called from the GPIO
369 * GPIO pins have ACPI event methods and assigns interrupt handlers that calls
370 * the ACPI event methods for those pins.
408 * acpi_gpiochip_free_interrupts() - Free GPIO ACPI event interrupts.
411 * Free interrupts associated with GPIO ACPI event method for the given
417 struct acpi_gpio_event *event, *ep;
437 list_for_each_entry_safe_reverse(event, ep, &acpi_gpio->events, node) {
438 if (event->irq_requested) {
439 if (event->irq_is_wake)
440 disable_irq_wake(event->irq);
442 free_irq(event->irq, event);
445 gpiochip_unlock_as_irq(chip, event->pin);
446 gpiochip_free_own_desc(event->desc);
447 list_del(&event->node);
448 kfree(event);
1044 * event but only if the access here is ACPI_READ. In that
1045 * case we "borrow" the event GPIO instead.
1049 struct acpi_gpio_event *event;
1051 list_for_each_entry(event, &achip->events, node) {
1052 if (event->pin == pin) {
1053 desc = event->desc;
1421 * event handler on INT33FFC:02 pin 12, causing spurious wakeups.
1435 * event handler on INT33FF:01 pin 0, causing spurious wakeups.
1456 * event handler on INT33FC:02 pin 28, causing spurious wakeups.
1471 * event handler on INT33FF:01 pin 0, causing spurious wakeups.