• Home
  • Raw
  • Download

Lines Matching refs:new

1265 static int irq_setup_forced_threading(struct irqaction *new)  in irq_setup_forced_threading()  argument
1269 if (new->flags & (IRQF_NO_THREAD | IRQF_PERCPU | IRQF_ONESHOT)) in irq_setup_forced_threading()
1276 if (new->handler == irq_default_primary_handler) in irq_setup_forced_threading()
1279 new->flags |= IRQF_ONESHOT; in irq_setup_forced_threading()
1286 if (new->handler && new->thread_fn) { in irq_setup_forced_threading()
1288 new->secondary = kzalloc(sizeof(struct irqaction), GFP_KERNEL); in irq_setup_forced_threading()
1289 if (!new->secondary) in irq_setup_forced_threading()
1291 new->secondary->handler = irq_forced_secondary_handler; in irq_setup_forced_threading()
1292 new->secondary->thread_fn = new->thread_fn; in irq_setup_forced_threading()
1293 new->secondary->dev_id = new->dev_id; in irq_setup_forced_threading()
1294 new->secondary->irq = new->irq; in irq_setup_forced_threading()
1295 new->secondary->name = new->name; in irq_setup_forced_threading()
1298 set_bit(IRQTF_FORCED_THREAD, &new->thread_flags); in irq_setup_forced_threading()
1299 new->thread_fn = new->handler; in irq_setup_forced_threading()
1300 new->handler = irq_default_primary_handler; in irq_setup_forced_threading()
1355 setup_irq_thread(struct irqaction *new, unsigned int irq, bool secondary) in setup_irq_thread() argument
1360 t = kthread_create(irq_thread, new, "irq/%d-%s", irq, in setup_irq_thread()
1361 new->name); in setup_irq_thread()
1363 t = kthread_create(irq_thread, new, "irq/%d-s-%s", irq, in setup_irq_thread()
1364 new->name); in setup_irq_thread()
1377 new->thread = get_task_struct(t); in setup_irq_thread()
1387 set_bit(IRQTF_AFFINITY, &new->thread_flags); in setup_irq_thread()
1406 __setup_irq(unsigned int irq, struct irq_desc *desc, struct irqaction *new) in __setup_irq() argument
1420 new->irq = irq; in __setup_irq()
1426 if (!(new->flags & IRQF_TRIGGER_MASK)) in __setup_irq()
1427 new->flags |= irqd_get_trigger_type(&desc->irq_data); in __setup_irq()
1435 if (!new->thread_fn) { in __setup_irq()
1444 new->handler = irq_nested_primary_handler; in __setup_irq()
1447 ret = irq_setup_forced_threading(new); in __setup_irq()
1458 if (new->thread_fn && !nested) { in __setup_irq()
1459 ret = setup_irq_thread(new, irq, false); in __setup_irq()
1462 if (new->secondary) { in __setup_irq()
1463 ret = setup_irq_thread(new->secondary, irq, true); in __setup_irq()
1479 new->flags &= ~IRQF_ONESHOT; in __setup_irq()
1502 new->name, irq, desc->irq_data.chip->name); in __setup_irq()
1529 new->name, irq, desc->irq_data.chip->name); in __setup_irq()
1541 oldtype = new->flags & IRQF_TRIGGER_MASK; in __setup_irq()
1545 if (!((old->flags & new->flags) & IRQF_SHARED) || in __setup_irq()
1546 (oldtype != (new->flags & IRQF_TRIGGER_MASK)) || in __setup_irq()
1547 ((old->flags ^ new->flags) & IRQF_ONESHOT)) in __setup_irq()
1552 (new->flags & IRQF_PERCPU)) in __setup_irq()
1574 if (new->flags & IRQF_ONESHOT) { in __setup_irq()
1603 new->thread_mask = 1UL << ffz(thread_mask); in __setup_irq()
1605 } else if (new->handler == irq_default_primary_handler && in __setup_irq()
1623 new->name, irq); in __setup_irq()
1630 if (new->flags & IRQF_TRIGGER_MASK) { in __setup_irq()
1632 new->flags & IRQF_TRIGGER_MASK); in __setup_irq()
1657 if (new->flags & IRQF_PERCPU) { in __setup_irq()
1662 if (new->flags & IRQF_ONESHOT) in __setup_irq()
1666 if (new->flags & IRQF_NOBALANCING) { in __setup_irq()
1671 if (!(new->flags & IRQF_NO_AUTOEN) && in __setup_irq()
1681 WARN_ON_ONCE(new->flags & IRQF_SHARED); in __setup_irq()
1686 } else if (new->flags & IRQF_TRIGGER_MASK) { in __setup_irq()
1687 unsigned int nmsk = new->flags & IRQF_TRIGGER_MASK; in __setup_irq()
1696 *old_ptr = new; in __setup_irq()
1698 irq_pm_install_action(desc, new); in __setup_irq()
1717 irq_setup_timings(desc, new); in __setup_irq()
1719 wake_up_and_wait_for_irq_thread_ready(desc, new); in __setup_irq()
1720 wake_up_and_wait_for_irq_thread_ready(desc, new->secondary); in __setup_irq()
1723 new->dir = NULL; in __setup_irq()
1724 register_handler_proc(irq, new); in __setup_irq()
1728 if (!(new->flags & IRQF_PROBE_SHARED)) { in __setup_irq()
1730 irq, new->flags, new->name, old->flags, old->name); in __setup_irq()
1747 if (new->thread) { in __setup_irq()
1748 struct task_struct *t = new->thread; in __setup_irq()
1750 new->thread = NULL; in __setup_irq()
1754 if (new->secondary && new->secondary->thread) { in __setup_irq()
1755 struct task_struct *t = new->secondary->thread; in __setup_irq()
1757 new->secondary->thread = NULL; in __setup_irq()