Lines Matching refs:action

46 static void warn_no_thread(unsigned int irq, struct irqaction *action)  in warn_no_thread()  argument
48 if (test_and_set_bit(IRQTF_WARNED, &action->thread_flags)) in warn_no_thread()
52 "but no thread function available.", irq, action->name); in warn_no_thread()
55 void __irq_wake_thread(struct irq_desc *desc, struct irqaction *action) in __irq_wake_thread() argument
62 if (action->thread->flags & PF_EXITING) in __irq_wake_thread()
69 if (test_and_set_bit(IRQTF_RUNTHREAD, &action->thread_flags)) in __irq_wake_thread()
117 desc->threads_oneshot |= action->thread_mask; in __irq_wake_thread()
130 wake_up_process(action->thread); in __irq_wake_thread()
134 handle_irq_event_percpu(struct irq_desc *desc, struct irqaction *action) in handle_irq_event_percpu() argument
142 trace_irq_handler_entry(irq, action); in handle_irq_event_percpu()
143 res = action->handler(irq, action->dev_id); in handle_irq_event_percpu()
144 trace_irq_handler_exit(irq, action, res); in handle_irq_event_percpu()
147 irq, action->handler)) in handle_irq_event_percpu()
156 if (unlikely(!action->thread_fn)) { in handle_irq_event_percpu()
157 warn_no_thread(irq, action); in handle_irq_event_percpu()
161 __irq_wake_thread(desc, action); in handle_irq_event_percpu()
165 flags |= action->flags; in handle_irq_event_percpu()
173 action = action->next; in handle_irq_event_percpu()
174 } while (action); in handle_irq_event_percpu()
185 struct irqaction *action = desc->action; in handle_irq_event() local
192 ret = handle_irq_event_percpu(desc, action); in handle_irq_event()