[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 7/7] hw: Simplify using sysbus_init_irqs() [manual]
From: |
Peter Maydell |
Subject: |
Re: [PATCH v2 7/7] hw: Simplify using sysbus_init_irqs() [manual] |
Date: |
Thu, 1 Jun 2023 11:19:14 +0100 |
On Thu, 1 Jun 2023 at 10:48, Philippe Mathieu-Daudé <philmd@linaro.org> wrote:
>
> Audit the sysbus_init_irq() calls and manually convert
> to sysbus_init_irqs() when a loop is involved.
>
> In omap2_intc_init(), the parent_intr[] array contains
> 2 elements: use ARRAY_SIZE() to iterate over.
>
> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> diff --git a/hw/timer/renesas_tmr.c b/hw/timer/renesas_tmr.c
> index c15f654738..dd2929d6e7 100644
> --- a/hw/timer/renesas_tmr.c
> +++ b/hw/timer/renesas_tmr.c
> @@ -428,17 +428,14 @@ static void rtmr_init(Object *obj)
> {
> SysBusDevice *d = SYS_BUS_DEVICE(obj);
> RTMRState *tmr = RTMR(obj);
> - int i;
>
> memory_region_init_io(&tmr->memory, OBJECT(tmr), &tmr_ops,
> tmr, "renesas-tmr", 0x10);
> sysbus_init_mmio(d, &tmr->memory);
>
> - for (i = 0; i < ARRAY_SIZE(tmr->ovi); i++) {
> - sysbus_init_irq(d, &tmr->cmia[i]);
> - sysbus_init_irq(d, &tmr->cmib[i]);
> - sysbus_init_irq(d, &tmr->ovi[i]);
> - }
> + sysbus_init_irqs(d, tmr->cmia, ARRAY_SIZE(tmr->cmia));
> + sysbus_init_irqs(d, tmr->cmib, ARRAY_SIZE(tmr->cmib));
> + sysbus_init_irqs(d, tmr->ovi, ARRAY_SIZE(tmr->ovi));
Doesn't this change the order of the IRQs? Previously
we had channel 0 CMIA, channel 0 CMIA, channel 0 OVI,
channel 1 CMIA, channel 1 CMIB, channel 1 OVI. Now
we have channel 0 CMIA, channel 1 CMIA, channel 0 CMIB,
channel 1 CMIB, channel 0 OVI, channel 1 OVI. So they'll
get miswired in the board code now...
thanks
-- PMM
- [PATCH v2 0/7] hw/sysbus: Add sysbus_init_irqs and reduce SYSBUS_DEVICE_GPIO_IRQ scope, Philippe Mathieu-Daudé, 2023/06/01
- [PATCH v2 1/7] hw/arm/xlnx-versal: Do not open-code sysbus_connect_irq(), Philippe Mathieu-Daudé, 2023/06/01
- [PATCH v2 2/7] hw/usb/xlnx: Do not open-code sysbus_pass_irq(), Philippe Mathieu-Daudé, 2023/06/01
- [PATCH v2 3/7] hw/sysbus: Introduce sysbus_init_irqs(), Philippe Mathieu-Daudé, 2023/06/01
- [PATCH v2 4/7] hw/usb/hcd-xhci: Use sysbus_init_irqs(), Philippe Mathieu-Daudé, 2023/06/01
- [PATCH v2 5/7] hw/sysbus: Make SYSBUS_DEVICE_GPIO_IRQ API internal, Philippe Mathieu-Daudé, 2023/06/01
- [PATCH v2 7/7] hw: Simplify using sysbus_init_irqs() [manual], Philippe Mathieu-Daudé, 2023/06/01
- Re: [PATCH v2 7/7] hw: Simplify using sysbus_init_irqs() [manual],
Peter Maydell <=
- [PATCH v2 6/7] hw: Simplify using sysbus_init_irqs() [automatic], Philippe Mathieu-Daudé, 2023/06/01