Lines Matching full:glue
223 /* Glue between IRQ affinity notifiers and CPU rmaps */
239 struct irq_glue *glue; in free_irq_cpu_rmap() local
246 glue = rmap->obj[index]; in free_irq_cpu_rmap()
247 if (glue) in free_irq_cpu_rmap()
248 irq_set_affinity_notifier(glue->notify.irq, NULL); in free_irq_cpu_rmap()
265 struct irq_glue *glue = in irq_cpu_rmap_notify() local
269 rc = cpu_rmap_update(glue->rmap, glue->index, mask); in irq_cpu_rmap_notify()
280 struct irq_glue *glue = in irq_cpu_rmap_release() local
283 glue->rmap->obj[glue->index] = NULL; in irq_cpu_rmap_release()
284 cpu_rmap_put(glue->rmap); in irq_cpu_rmap_release()
285 kfree(glue); in irq_cpu_rmap_release()
312 struct irq_glue *glue = kzalloc(sizeof(*glue), GFP_KERNEL); in irq_cpu_rmap_add() local
315 if (!glue) in irq_cpu_rmap_add()
317 glue->notify.notify = irq_cpu_rmap_notify; in irq_cpu_rmap_add()
318 glue->notify.release = irq_cpu_rmap_release; in irq_cpu_rmap_add()
319 glue->rmap = rmap; in irq_cpu_rmap_add()
321 rc = cpu_rmap_add(rmap, glue); in irq_cpu_rmap_add()
325 glue->index = rc; in irq_cpu_rmap_add()
326 rc = irq_set_affinity_notifier(irq, &glue->notify); in irq_cpu_rmap_add()
333 rmap->obj[glue->index] = NULL; in irq_cpu_rmap_add()
335 cpu_rmap_put(glue->rmap); in irq_cpu_rmap_add()
336 kfree(glue); in irq_cpu_rmap_add()