Lines Matching refs:desc
490 struct of_intc_desc *desc, *temp_desc; in of_irq_init() local
504 desc = kzalloc(sizeof(*desc), GFP_KERNEL); in of_irq_init()
505 if (WARN_ON(!desc)) { in of_irq_init()
510 desc->dev = of_node_get(np); in of_irq_init()
511 desc->interrupt_parent = of_irq_find_parent(np); in of_irq_init()
512 if (desc->interrupt_parent == np) in of_irq_init()
513 desc->interrupt_parent = NULL; in of_irq_init()
514 list_add_tail(&desc->list, &intc_desc_list); in of_irq_init()
528 list_for_each_entry_safe(desc, temp_desc, &intc_desc_list, list) { in of_irq_init()
533 if (desc->interrupt_parent != parent) in of_irq_init()
536 list_del(&desc->list); in of_irq_init()
537 match = of_match_node(matches, desc->dev); in of_irq_init()
541 kfree(desc); in of_irq_init()
547 desc->dev, desc->interrupt_parent); in of_irq_init()
549 ret = irq_init_cb(desc->dev, desc->interrupt_parent); in of_irq_init()
551 kfree(desc); in of_irq_init()
559 list_add_tail(&desc->list, &intc_parent_list); in of_irq_init()
563 desc = list_first_entry_or_null(&intc_parent_list, in of_irq_init()
564 typeof(*desc), list); in of_irq_init()
565 if (!desc) { in of_irq_init()
569 list_del(&desc->list); in of_irq_init()
570 parent = desc->dev; in of_irq_init()
571 kfree(desc); in of_irq_init()
574 list_for_each_entry_safe(desc, temp_desc, &intc_parent_list, list) { in of_irq_init()
575 list_del(&desc->list); in of_irq_init()
576 kfree(desc); in of_irq_init()
579 list_for_each_entry_safe(desc, temp_desc, &intc_desc_list, list) { in of_irq_init()
580 list_del(&desc->list); in of_irq_init()
581 of_node_put(desc->dev); in of_irq_init()
582 kfree(desc); in of_irq_init()