• Home
  • Raw
  • Download

Lines Matching refs:new

1359 static int irq_setup_forced_threading(struct irqaction *new)  in irq_setup_forced_threading()  argument
1363 if (new->flags & (IRQF_NO_THREAD | IRQF_PERCPU | IRQF_ONESHOT)) in irq_setup_forced_threading()
1370 if (new->handler == irq_default_primary_handler) in irq_setup_forced_threading()
1373 new->flags |= IRQF_ONESHOT; in irq_setup_forced_threading()
1380 if (new->handler && new->thread_fn) { in irq_setup_forced_threading()
1382 new->secondary = kzalloc(sizeof(struct irqaction), GFP_KERNEL); in irq_setup_forced_threading()
1383 if (!new->secondary) in irq_setup_forced_threading()
1385 new->secondary->handler = irq_forced_secondary_handler; in irq_setup_forced_threading()
1386 new->secondary->thread_fn = new->thread_fn; in irq_setup_forced_threading()
1387 new->secondary->dev_id = new->dev_id; in irq_setup_forced_threading()
1388 new->secondary->irq = new->irq; in irq_setup_forced_threading()
1389 new->secondary->name = new->name; in irq_setup_forced_threading()
1392 set_bit(IRQTF_FORCED_THREAD, &new->thread_flags); in irq_setup_forced_threading()
1393 new->thread_fn = new->handler; in irq_setup_forced_threading()
1394 new->handler = irq_default_primary_handler; in irq_setup_forced_threading()
1449 setup_irq_thread(struct irqaction *new, unsigned int irq, bool secondary) in setup_irq_thread() argument
1454 t = kthread_create(irq_thread, new, "irq/%d-%s", irq, in setup_irq_thread()
1455 new->name); in setup_irq_thread()
1457 t = kthread_create(irq_thread, new, "irq/%d-s-%s", irq, in setup_irq_thread()
1458 new->name); in setup_irq_thread()
1469 new->thread = get_task_struct(t); in setup_irq_thread()
1479 set_bit(IRQTF_AFFINITY, &new->thread_flags); in setup_irq_thread()
1498 __setup_irq(unsigned int irq, struct irq_desc *desc, struct irqaction *new) in __setup_irq() argument
1512 new->irq = irq; in __setup_irq()
1518 if (!(new->flags & IRQF_TRIGGER_MASK)) in __setup_irq()
1519 new->flags |= irqd_get_trigger_type(&desc->irq_data); in __setup_irq()
1527 if (!new->thread_fn) { in __setup_irq()
1536 new->handler = irq_nested_primary_handler; in __setup_irq()
1539 ret = irq_setup_forced_threading(new); in __setup_irq()
1550 if (new->thread_fn && !nested) { in __setup_irq()
1551 ret = setup_irq_thread(new, irq, false); in __setup_irq()
1554 if (new->secondary) { in __setup_irq()
1555 ret = setup_irq_thread(new->secondary, irq, true); in __setup_irq()
1571 new->flags &= ~IRQF_ONESHOT; in __setup_irq()
1594 new->name, irq, desc->irq_data.chip->name); in __setup_irq()
1621 new->name, irq, desc->irq_data.chip->name); in __setup_irq()
1633 oldtype = new->flags & IRQF_TRIGGER_MASK; in __setup_irq()
1637 if (!((old->flags & new->flags) & IRQF_SHARED) || in __setup_irq()
1638 (oldtype != (new->flags & IRQF_TRIGGER_MASK)) || in __setup_irq()
1639 ((old->flags ^ new->flags) & IRQF_ONESHOT)) in __setup_irq()
1644 (new->flags & IRQF_PERCPU)) in __setup_irq()
1666 if (new->flags & IRQF_ONESHOT) { in __setup_irq()
1695 new->thread_mask = 1UL << ffz(thread_mask); in __setup_irq()
1697 } else if (new->handler == irq_default_primary_handler && in __setup_irq()
1715 new->name, irq); in __setup_irq()
1722 if (new->flags & IRQF_TRIGGER_MASK) { in __setup_irq()
1724 new->flags & IRQF_TRIGGER_MASK); in __setup_irq()
1749 if (new->flags & IRQF_PERCPU) { in __setup_irq()
1752 if (new->flags & IRQF_NO_DEBUG) in __setup_irq()
1759 if (new->flags & IRQF_ONESHOT) in __setup_irq()
1763 if (new->flags & IRQF_NOBALANCING) { in __setup_irq()
1768 if (!(new->flags & IRQF_NO_AUTOEN) && in __setup_irq()
1778 WARN_ON_ONCE(new->flags & IRQF_SHARED); in __setup_irq()
1783 } else if (new->flags & IRQF_TRIGGER_MASK) { in __setup_irq()
1784 unsigned int nmsk = new->flags & IRQF_TRIGGER_MASK; in __setup_irq()
1793 *old_ptr = new; in __setup_irq()
1795 irq_pm_install_action(desc, new); in __setup_irq()
1814 irq_setup_timings(desc, new); in __setup_irq()
1816 wake_up_and_wait_for_irq_thread_ready(desc, new); in __setup_irq()
1817 wake_up_and_wait_for_irq_thread_ready(desc, new->secondary); in __setup_irq()
1820 new->dir = NULL; in __setup_irq()
1821 register_handler_proc(irq, new); in __setup_irq()
1825 if (!(new->flags & IRQF_PROBE_SHARED)) { in __setup_irq()
1827 irq, new->flags, new->name, old->flags, old->name); in __setup_irq()
1844 if (new->thread) { in __setup_irq()
1845 struct task_struct *t = new->thread; in __setup_irq()
1847 new->thread = NULL; in __setup_irq()
1851 if (new->secondary && new->secondary->thread) { in __setup_irq()
1852 struct task_struct *t = new->secondary->thread; in __setup_irq()
1854 new->secondary->thread = NULL; in __setup_irq()