aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilippe Mathieu-Daudé <philmd@linaro.org>2023-09-22 19:00:32 +0200
committerPhilippe Mathieu-Daudé <philmd@linaro.org>2024-02-26 18:40:09 +0100
commit1cfe4614283ad0a284ded19e0d1d7be88071b588 (patch)
treebb49f59f0ffa785be72f605a8e8fdb888f16171f
parentc2093660d99dc88dc5638297c42467e8e9d6466c (diff)
downloadqemu-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>
-rw-r--r--hw/arm/exynos4210.c12
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)]);