diff options
author | Philippe Mathieu-Daudé <philmd@linaro.org> | 2023-09-22 19:00:32 +0200 |
---|---|---|
committer | Philippe Mathieu-Daudé <philmd@linaro.org> | 2024-02-26 18:40:09 +0100 |
commit | 1cfe4614283ad0a284ded19e0d1d7be88071b588 (patch) | |
tree | bb49f59f0ffa785be72f605a8e8fdb888f16171f /hw/arm | |
parent | c2093660d99dc88dc5638297c42467e8e9d6466c (diff) | |
download | qemu-1cfe4614283ad0a284ded19e0d1d7be88071b588.zip qemu-1cfe4614283ad0a284ded19e0d1d7be88071b588.tar.gz qemu-1cfe4614283ad0a284ded19e0d1d7be88071b588.tar.bz2 |
hw/arm/exynos4210: Inline sysbus_create_varargs(EXYNOS4210_FIMD)
We want to set another qdev property (a link) for the FIMD
device, we can not use sysbus_create_varargs() which only
passes sysbus base address and IRQs as arguments. Inline
it so we can set the link property in the next commit.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20240216153517.49422-4-philmd@linaro.org>
Diffstat (limited to 'hw/arm')
-rw-r--r-- | hw/arm/exynos4210.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/hw/arm/exynos4210.c b/hw/arm/exynos4210.c index 57c77b1..ab18836 100644 --- a/hw/arm/exynos4210.c +++ b/hw/arm/exynos4210.c @@ -769,11 +769,13 @@ static void exynos4210_realize(DeviceState *socdev, Error **errp) } /*** Display controller (FIMD) ***/ - sysbus_create_varargs("exynos4210.fimd", EXYNOS4210_FIMD0_BASE_ADDR, - s->irq_table[exynos4210_get_irq(11, 0)], - s->irq_table[exynos4210_get_irq(11, 1)], - s->irq_table[exynos4210_get_irq(11, 2)], - NULL); + dev = qdev_new("exynos4210.fimd"); + busdev = SYS_BUS_DEVICE(dev); + sysbus_realize_and_unref(busdev, &error_fatal); + sysbus_mmio_map(busdev, 0, EXYNOS4210_FIMD0_BASE_ADDR); + for (n = 0; n < 3; n++) { + sysbus_connect_irq(busdev, n, s->irq_table[exynos4210_get_irq(11, n)]); + } sysbus_create_simple(TYPE_EXYNOS4210_EHCI, EXYNOS4210_EHCI_BASE_ADDR, s->irq_table[exynos4210_get_irq(28, 3)]); |