[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH-for-5.1 1/3] hw/ide/ahci: Use qdev gpio rather than qemu_allo
From: |
Alistair Francis |
Subject: |
Re: [PATCH-for-5.1 1/3] hw/ide/ahci: Use qdev gpio rather than qemu_allocate_irqs() |
Date: |
Mon, 13 Apr 2020 15:13:13 -0700 |
On Sun, Apr 12, 2020 at 2:29 PM Philippe Mathieu-Daudé <address@hidden> wrote:
>
> 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>
Reviewed-by: Alistair Francis <address@hidden>
Alistair
> ---
> 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
>
>