From 35a46c75c5eb577c9c780340cdbc92d844d1eaca Mon Sep 17 00:00:00 2001 From: Jan Kiszka Date: Mon, 13 Jun 2016 19:17:10 +0200 Subject: [PATCH] arm: Remove irq field from pending_irq Always identical to virt_id. Signed-off-by: Jan Kiszka --- hypervisor/arch/arm/gic-v2.c | 2 +- hypervisor/arch/arm/gic-v3.c | 2 +- hypervisor/arch/arm/include/asm/irqchip.h | 5 ----- hypervisor/arch/arm/irqchip.c | 4 ---- 4 files changed, 2 insertions(+), 11 deletions(-) diff --git a/hypervisor/arch/arm/gic-v2.c b/hypervisor/arch/arm/gic-v2.c index 88024b4..ce5a61c 100644 --- a/hypervisor/arch/arm/gic-v2.c +++ b/hypervisor/arch/arm/gic-v2.c @@ -267,7 +267,7 @@ static int gic_inject_irq(struct per_cpu *cpu_data, struct pending_irq *irq) if (!is_sgi(irq->virt_id)) { lr |= GICH_LR_HW_BIT; - lr |= irq->type.irq << GICH_LR_PHYS_ID_SHIFT; + lr |= irq->virt_id << GICH_LR_PHYS_ID_SHIFT; } gic_write_lr(first_free, lr); diff --git a/hypervisor/arch/arm/gic-v3.c b/hypervisor/arch/arm/gic-v3.c index 710813c..6beab34 100644 --- a/hypervisor/arch/arm/gic-v3.c +++ b/hypervisor/arch/arm/gic-v3.c @@ -389,7 +389,7 @@ static int gic_inject_irq(struct per_cpu *cpu_data, struct pending_irq *irq) lr |= ICH_LR_PENDING; if (!is_sgi(irq->virt_id)) { lr |= ICH_LR_HW_BIT; - lr |= (u64)irq->type.irq << ICH_LR_PHYS_ID_SHIFT; + lr |= (u64)irq->virt_id << ICH_LR_PHYS_ID_SHIFT; } gic_write_lr(free_lr, lr); diff --git a/hypervisor/arch/arm/include/asm/irqchip.h b/hypervisor/arch/arm/include/asm/irqchip.h index 6d94c19..65d4d4f 100644 --- a/hypervisor/arch/arm/include/asm/irqchip.h +++ b/hypervisor/arch/arm/include/asm/irqchip.h @@ -64,11 +64,6 @@ struct irqchip_ops { struct pending_irq { u32 virt_id; - union { - /* Physical id, when hw is 1 */ - u16 irq; - } type; - struct pending_irq *next; struct pending_irq *prev; } __attribute__((packed)); diff --git a/hypervisor/arch/arm/irqchip.c b/hypervisor/arch/arm/irqchip.c index d2dc445..a4e2d99 100644 --- a/hypervisor/arch/arm/irqchip.c +++ b/hypervisor/arch/arm/irqchip.c @@ -135,10 +135,6 @@ int irqchip_set_pending(struct per_cpu *cpu_data, u32 irq_id, bool try_inject) pending.virt_id = irq_id; - if (!is_sgi(irq_id)) { - pending.type.irq = irq_id; - } - if (try_inject && irqchip.inject_irq(cpu_data, &pending) == 0) return 0; -- 2.39.2