Signed-off-by: Jan Beulich --- a/xen/arch/x86/hpet.c +++ b/xen/arch/x86/hpet.c @@ -296,7 +296,7 @@ static void hpet_msi_ack(unsigned int ir { struct irq_desc *desc = irq_to_desc(irq); - irq_complete_move(&desc); + irq_complete_move(desc); move_native_irq(irq); ack_APIC_irq(); } --- a/xen/arch/x86/io_apic.c +++ b/xen/arch/x86/io_apic.c @@ -513,9 +513,8 @@ static void send_cleanup_vector(struct i cfg->move_in_progress = 0; } -void irq_complete_move(struct irq_desc **descp) +void irq_complete_move(struct irq_desc *desc) { - struct irq_desc *desc = *descp; struct irq_cfg *cfg = desc->chip_data; unsigned vector, me; @@ -1564,7 +1563,7 @@ static void ack_edge_ioapic_irq(unsigned { struct irq_desc *desc = irq_to_desc(irq); - irq_complete_move(&desc); + irq_complete_move(desc); move_native_irq(irq); if ((desc->status & (IRQ_PENDING | IRQ_DISABLED)) @@ -1643,7 +1642,7 @@ static void mask_and_ack_level_ioapic_ir int i; struct irq_desc *desc = irq_to_desc(irq); - irq_complete_move(&desc); + irq_complete_move(desc); if ( ioapic_ack_new ) return; @@ -1816,7 +1815,7 @@ static void ack_msi_irq(unsigned int irq { struct irq_desc *desc = irq_to_desc(irq); - irq_complete_move(&desc); + irq_complete_move(desc); move_native_irq(irq); if ( msi_maskable_irq(desc->msi_desc) ) --- a/xen/drivers/passthrough/amd/iommu_init.c +++ b/xen/drivers/passthrough/amd/iommu_init.c @@ -424,7 +424,7 @@ static void iommu_msi_mask(unsigned int struct amd_iommu *iommu = irq_to_iommu[irq]; struct irq_desc *desc = irq_to_desc(irq); - irq_complete_move(&desc); + irq_complete_move(desc); /* FIXME: do not support mask bits at the moment */ if ( iommu->maskbit ) --- a/xen/drivers/passthrough/vtd/iommu.c +++ b/xen/drivers/passthrough/vtd/iommu.c @@ -957,7 +957,7 @@ static void dma_msi_mask(unsigned int ir struct iommu *iommu = irq_to_iommu[irq]; struct irq_desc *desc = irq_to_desc(irq); - irq_complete_move(&desc); + irq_complete_move(desc); /* mask it */ spin_lock_irqsave(&iommu->register_lock, flags); --- a/xen/include/asm-x86/irq.h +++ b/xen/include/asm-x86/irq.h @@ -148,7 +148,7 @@ int create_irq(void); void destroy_irq(unsigned int irq); struct irq_desc; -extern void irq_complete_move(struct irq_desc **descp); +extern void irq_complete_move(struct irq_desc *); extern struct irq_desc *irq_desc;