Lines Matching refs:new
889 static void irq_setup_forced_threading(struct irqaction *new) in irq_setup_forced_threading() argument
893 if (new->flags & (IRQF_NO_THREAD | IRQF_PERCPU | IRQF_ONESHOT)) in irq_setup_forced_threading()
896 new->flags |= IRQF_ONESHOT; in irq_setup_forced_threading()
898 if (!new->thread_fn) { in irq_setup_forced_threading()
899 set_bit(IRQTF_FORCED_THREAD, &new->thread_flags); in irq_setup_forced_threading()
900 new->thread_fn = new->handler; in irq_setup_forced_threading()
901 new->handler = irq_default_primary_handler; in irq_setup_forced_threading()
910 __setup_irq(unsigned int irq, struct irq_desc *desc, struct irqaction *new) in __setup_irq() argument
931 if (!new->thread_fn) { in __setup_irq()
940 new->handler = irq_nested_primary_handler; in __setup_irq()
943 irq_setup_forced_threading(new); in __setup_irq()
951 if (new->thread_fn && !nested) { in __setup_irq()
954 t = kthread_create(irq_thread, new, "irq/%d-%s", irq, in __setup_irq()
955 new->name); in __setup_irq()
966 new->thread = t; in __setup_irq()
976 set_bit(IRQTF_AFFINITY, &new->thread_flags); in __setup_irq()
994 new->flags &= ~IRQF_ONESHOT; in __setup_irq()
1010 if (!((old->flags & new->flags) & IRQF_SHARED) || in __setup_irq()
1011 ((old->flags ^ new->flags) & IRQF_TRIGGER_MASK) || in __setup_irq()
1012 ((old->flags ^ new->flags) & IRQF_ONESHOT)) in __setup_irq()
1017 (new->flags & IRQF_PERCPU)) in __setup_irq()
1039 if (new->flags & IRQF_ONESHOT) { in __setup_irq()
1068 new->thread_mask = 1 << ffz(thread_mask); in __setup_irq()
1070 } else if (new->handler == irq_default_primary_handler && in __setup_irq()
1097 if (new->flags & IRQF_TRIGGER_MASK) { in __setup_irq()
1099 new->flags & IRQF_TRIGGER_MASK); in __setup_irq()
1109 if (new->flags & IRQF_PERCPU) { in __setup_irq()
1114 if (new->flags & IRQF_ONESHOT) in __setup_irq()
1124 if (new->flags & IRQF_NOBALANCING) { in __setup_irq()
1132 } else if (new->flags & IRQF_TRIGGER_MASK) { in __setup_irq()
1133 unsigned int nmsk = new->flags & IRQF_TRIGGER_MASK; in __setup_irq()
1142 new->irq = irq; in __setup_irq()
1143 *old_ptr = new; in __setup_irq()
1164 if (new->thread) in __setup_irq()
1165 wake_up_process(new->thread); in __setup_irq()
1168 new->dir = NULL; in __setup_irq()
1169 register_handler_proc(irq, new); in __setup_irq()
1175 if (!(new->flags & IRQF_PROBE_SHARED)) { in __setup_irq()
1177 irq, new->flags, new->name, old->flags, old->name); in __setup_irq()
1189 if (new->thread) { in __setup_irq()
1190 struct task_struct *t = new->thread; in __setup_irq()
1192 new->thread = NULL; in __setup_irq()