[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 2/3] hw/mips/mips_int: Use qdev gpio rather than qemu_allocate
From: |
Philippe Mathieu-Daudé |
Subject: |
[PATCH v2 2/3] hw/mips/mips_int: Use qdev gpio rather than qemu_allocate_irqs() |
Date: |
Tue, 12 May 2020 09:48:12 +0200 |
Switch to using the qdev gpio API which is preferred over
qemu_allocate_irqs(). One step to eventually deprecate and
remove qemu_allocate_irqs() one day.
Patch created mechanically using spatch with this script
inspired from commit d6ef883d9d7:
@@
typedef qemu_irq;
identifier irqs, handler;
expression opaque, count, i;
@@
- qemu_irq *irqs;
...
- irqs = qemu_allocate_irqs(handler, opaque, count);
+ qdev_init_gpio_in(DEVICE(opaque), handler, count);
<+...
- irqs[i]
+ qdev_get_gpio_in(DEVICE(opaque), i)
...+>
?- g_free(irqs);
Fixes: Coverity CID 1421934 RESOURCE_LEAK
Inspired-by: Peter Maydell <address@hidden>
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
---
hw/mips/mips_int.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/hw/mips/mips_int.c b/hw/mips/mips_int.c
index 796730b11d..91788c51a9 100644
--- a/hw/mips/mips_int.c
+++ b/hw/mips/mips_int.c
@@ -74,14 +74,12 @@ static void cpu_mips_irq_request(void *opaque, int irq, int
level)
void cpu_mips_irq_init_cpu(MIPSCPU *cpu)
{
CPUMIPSState *env = &cpu->env;
- qemu_irq *qi;
int i;
- qi = qemu_allocate_irqs(cpu_mips_irq_request, cpu, 8);
+ qdev_init_gpio_in(DEVICE(cpu), cpu_mips_irq_request, 8);
for (i = 0; i < 8; i++) {
- env->irq[i] = qi[i];
+ env->irq[i] = qdev_get_gpio_in(DEVICE(cpu), i);
}
- g_free(qi);
}
void cpu_mips_soft_irq(CPUMIPSState *env, int irq, int level)
--
2.21.3