qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 2/2] hw/isa/vt82c686.c: Embed i8259 irq in device state inste


From: Bernhard Beschow
Subject: Re: [PATCH 2/2] hw/isa/vt82c686.c: Embed i8259 irq in device state instead of allocating
Date: Tue, 02 Jul 2024 18:44:31 +0000


Am 29. Juni 2024 20:01:54 UTC schrieb BALATON Zoltan <balaton@eik.bme.hu>:
>To avoid a warning about unfreed qemu_irq embed the i8259 irq in the
>device state instead of allocating it.
>
>Signed-off-by: BALATON Zoltan <balaton@eik.bme.hu>
>---
> hw/isa/vt82c686.c | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
>diff --git a/hw/isa/vt82c686.c b/hw/isa/vt82c686.c
>index 8582ac0322..834051abeb 100644
>--- a/hw/isa/vt82c686.c
>+++ b/hw/isa/vt82c686.c
>@@ -592,6 +592,8 @@ OBJECT_DECLARE_SIMPLE_TYPE(ViaISAState, VIA_ISA)
> 
> struct ViaISAState {
>     PCIDevice dev;
>+
>+    IRQState i8259_irq;

Rename s/i8259/intr/ to match the pin name of the chip? Same for commit message 
and subject.

For consistency with piix4 it might be cleaner to export the pin. Though not 
need at the moment since it has no users.

With the renaming applied:
Reviewed-by: Bernhard Beschow <shentey@gmail.com>

>     qemu_irq cpu_intr;
>     qemu_irq *isa_irqs_in;
>     uint16_t irq_state[ISA_NUM_IRQS];
>@@ -715,13 +717,12 @@ static void via_isa_realize(PCIDevice *d, Error **errp)
>     ViaISAState *s = VIA_ISA(d);
>     DeviceState *dev = DEVICE(d);
>     PCIBus *pci_bus = pci_get_bus(d);
>-    qemu_irq *isa_irq;
>     ISABus *isa_bus;
>     int i;
> 
>     qdev_init_gpio_out(dev, &s->cpu_intr, 1);
>     qdev_init_gpio_in_named(dev, via_isa_pirq, "pirq", PCI_NUM_PINS);
>-    isa_irq = qemu_allocate_irqs(via_isa_request_i8259_irq, s, 1);
>+    qemu_init_irq(&s->i8259_irq, via_isa_request_i8259_irq, s, 0);
>     isa_bus = isa_bus_new(dev, pci_address_space(d), pci_address_space_io(d),
>                           errp);
> 
>@@ -729,7 +730,7 @@ static void via_isa_realize(PCIDevice *d, Error **errp)
>         return;
>     }
> 
>-    s->isa_irqs_in = i8259_init(isa_bus, *isa_irq);
>+    s->isa_irqs_in = i8259_init(isa_bus, &s->i8259_irq);
>     isa_bus_register_input_irqs(isa_bus, s->isa_irqs_in);
>     i8254_pit_init(isa_bus, 0x40, 0, NULL);
>     i8257_dma_init(OBJECT(d), isa_bus, 0);



reply via email to

[Prev in Thread] Current Thread [Next in Thread]