static struct irq_2_iommu *irq_2_iommu_alloc(unsigned int irq) { struct irq_desc *desc; struct irq_2_iommu *irq_iommu; desc = irq_to_desc(irq); if (!desc) { printk(KERN_INFO "can not get irq_desc for %d\n", irq); return NULL; } irq_iommu = desc->irq_2_iommu; if (!irq_iommu) desc->irq_2_iommu = get_one_free_irq_2_iommu(irq_node(irq)); return desc->irq_2_iommu; }
static struct irq_2_iommu *irq_2_iommu_alloc_cpu(unsigned int irq, int cpu) { struct irq_desc *desc; struct irq_2_iommu *irq_iommu; /* * alloc irq desc if not allocated already. */ desc = irq_to_desc_alloc_cpu(irq, cpu); if (!desc) { printk(KERN_INFO "can not get irq_desc for %d\n", irq); return NULL; } irq_iommu = desc->irq_2_iommu; if (!irq_iommu) desc->irq_2_iommu = get_one_free_irq_2_iommu(cpu); return desc->irq_2_iommu; }