mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-07 01:33:56 -06:00
hw/irq: Introduce qemu_init_irqs() helper
While qemu_init_irq() initialize a single IRQ, qemu_init_irqs() initialize an array of them. Suggested-by: Bernhard Beschow <shentey@gmail.com> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20250121155526.29982-2-philmd@linaro.org>
This commit is contained in:
parent
70bc20311f
commit
c17943b00f
2 changed files with 19 additions and 0 deletions
|
@ -49,6 +49,14 @@ void qemu_init_irq(IRQState *irq, qemu_irq_handler handler, void *opaque,
|
||||||
init_irq_fields(irq, handler, opaque, n);
|
init_irq_fields(irq, handler, opaque, n);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void qemu_init_irqs(IRQState irq[], size_t count,
|
||||||
|
qemu_irq_handler handler, void *opaque)
|
||||||
|
{
|
||||||
|
for (size_t i = 0; i < count; i++) {
|
||||||
|
qemu_init_irq(&irq[i], handler, opaque, i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
qemu_irq *qemu_extend_irqs(qemu_irq *old, int n_old, qemu_irq_handler handler,
|
qemu_irq *qemu_extend_irqs(qemu_irq *old, int n_old, qemu_irq_handler handler,
|
||||||
void *opaque, int n)
|
void *opaque, int n)
|
||||||
{
|
{
|
||||||
|
|
|
@ -41,6 +41,17 @@ static inline void qemu_irq_pulse(qemu_irq irq)
|
||||||
void qemu_init_irq(IRQState *irq, qemu_irq_handler handler, void *opaque,
|
void qemu_init_irq(IRQState *irq, qemu_irq_handler handler, void *opaque,
|
||||||
int n);
|
int n);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* qemu_init_irqs: Initialize an array of IRQs.
|
||||||
|
*
|
||||||
|
* @irq: Array of IRQs to initialize
|
||||||
|
* @count: number of IRQs to initialize
|
||||||
|
* @handler: handler to assign to each IRQ
|
||||||
|
* @opaque: opaque data to pass to @handler
|
||||||
|
*/
|
||||||
|
void qemu_init_irqs(IRQState irq[], size_t count,
|
||||||
|
qemu_irq_handler handler, void *opaque);
|
||||||
|
|
||||||
/* Returns an array of N IRQs. Each IRQ is assigned the argument handler and
|
/* Returns an array of N IRQs. Each IRQ is assigned the argument handler and
|
||||||
* opaque data.
|
* opaque data.
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue