void msm_pcie_destroy_irq(unsigned int irq) { int pos = irq - MSM_PCIE_MSI_INT(0); dynamic_irq_cleanup(irq); clear_bit(pos, msi_irq_in_use); }
void destroy_irq(unsigned int irq) { int pos = irq - IRQ_IMX_MSI_0; dynamic_irq_cleanup(irq); clear_bit(pos, msi_irq_in_use); }
void destroy_irq(unsigned int irq) { int pos = irq - IRQ_AURORA_MSI_START; dynamic_irq_cleanup(irq); clear_bit(pos, msi_irq_in_use); }
void destroy_irq(unsigned int irq) { unsigned long flags; spin_lock_irqsave(&available_irqs_lock, flags); available_irqs |= (1UL << irq); dynamic_irq_cleanup(irq); spin_unlock_irqrestore(&available_irqs_lock, flags); }
void destroy_and_reserve_irq(unsigned int irq) { unsigned long flags; dynamic_irq_cleanup(irq); spin_lock_irqsave(&vector_lock, flags); __clear_irq_vector(irq); irq_status[irq] = IRQ_RSVD; spin_unlock_irqrestore(&vector_lock, flags); }
/* * Release the msi irq resource from a pcie controller */ static void pcie_msi_destroy_irq(struct pcie_port *pp, unsigned int irq) { int pos = irq - pp->msi_irq_base; BUG_ON(!(pp->msi_irq_in_use & (1 << pos))); dynamic_irq_cleanup(irq); spin_lock_irqsave(&pp->conf_lock, pp->flags); pp->msi_irq_in_use &= ~(1 << pos); spin_unlock_irqrestore(&pp->conf_lock, pp->flags); PCIE_INFO("pcie destry irq %d, pos %d\n", irq, pos); }
static void free_desc(unsigned int irq) { dynamic_irq_cleanup(irq); }
void destroy_irq(unsigned int irq) { dynamic_irq_cleanup(irq); clear_irq_vector(irq); }