[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH-for-5.1 1/3] hw/ide/ahci: Use qdev gpio rather than qemu_allocate
From: |
Philippe Mathieu-Daudé |
Subject: |
[PATCH-for-5.1 1/3] hw/ide/ahci: Use qdev gpio rather than qemu_allocate_irqs() |
Date: |
Sun, 12 Apr 2020 23:29:41 +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);
Inspired-by: Peter Maydell <address@hidden>
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
---
hw/ide/ahci.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/hw/ide/ahci.c b/hw/ide/ahci.c
index 13d91e109a..ef0a0a22ee 100644
--- a/hw/ide/ahci.c
+++ b/hw/ide/ahci.c
@@ -1534,19 +1534,18 @@ void ahci_init(AHCIState *s, DeviceState *qdev)
void ahci_realize(AHCIState *s, DeviceState *qdev, AddressSpace *as, int ports)
{
- qemu_irq *irqs;
int i;
s->as = as;
s->ports = ports;
s->dev = g_new0(AHCIDevice, ports);
ahci_reg_init(s);
- irqs = qemu_allocate_irqs(ahci_irq_set, s, s->ports);
+ qdev_init_gpio_in(DEVICE(s), ahci_irq_set, s->ports);
for (i = 0; i < s->ports; i++) {
AHCIDevice *ad = &s->dev[i];
ide_bus_new(&ad->port, sizeof(ad->port), qdev, i, 1);
- ide_init2(&ad->port, irqs[i]);
+ ide_init2(&ad->port, qdev_get_gpio_in(DEVICE(s), i));
ad->hba = s;
ad->port_no = i;
@@ -1554,7 +1553,6 @@ void ahci_realize(AHCIState *s, DeviceState *qdev,
AddressSpace *as, int ports)
ad->port.dma->ops = &ahci_dma_ops;
ide_register_restart_cb(&ad->port);
}
- g_free(irqs);
}
void ahci_uninit(AHCIState *s)
--
2.21.1