diff options
author | Peter Crosthwaite | 2014-06-18 09:56:31 +0200 |
---|---|---|
committer | Andreas Färber | 2014-07-01 04:02:53 +0200 |
commit | f173d57a4cd3bb2a8362fe376cd9fd776b2f57d5 (patch) | |
tree | f4b392449f53293e948ec32edbbfc01865bb78ca /include | |
parent | hw: Fix qemu_allocate_irqs() leaks (diff) | |
download | qemu-f173d57a4cd3bb2a8362fe376cd9fd776b2f57d5.tar.gz qemu-f173d57a4cd3bb2a8362fe376cd9fd776b2f57d5.tar.xz qemu-f173d57a4cd3bb2a8362fe376cd9fd776b2f57d5.zip |
irq: Allocate IRQs individually
Allocate each IRQ individually on array allocations. This prepares for
QOMification of IRQs, where pointers to individual IRQs may be taken
and handed around for usage as QOM Links. The g_renew() scheme used here
is too fragile and would break all existing links should an IRQ list
be extended.
We now have to pass the IRQ count to qemu_free_irqs(). We have so few
call sites however, so this change is reasonably trivial.
Cc: agarcia@igalia.com
Cc: mst@redhat.com
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Acked-by: Alberto Garcia <agarcia@igalia.com>
Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
Signed-off-by: Andreas Färber <afaerber@suse.de>
Diffstat (limited to 'include')
-rw-r--r-- | include/hw/irq.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/hw/irq.h b/include/hw/irq.h index d08bc02a0d..9f34c96aab 100644 --- a/include/hw/irq.h +++ b/include/hw/irq.h @@ -42,7 +42,7 @@ qemu_irq qemu_allocate_irq(qemu_irq_handler handler, void *opaque, int n); qemu_irq *qemu_extend_irqs(qemu_irq *old, int n_old, qemu_irq_handler handler, void *opaque, int n); -void qemu_free_irqs(qemu_irq *s); +void qemu_free_irqs(qemu_irq *s, int n); void qemu_free_irq(qemu_irq irq); /* Returns a new IRQ with opposite polarity. */ |