aboutsummaryrefslogtreecommitdiff
path: root/hw/arm
diff options
context:
space:
mode:
authorPhilippe Mathieu-Daudé <philmd@linaro.org>2023-02-20 12:51:09 +0100
committerPeter Maydell <peter.maydell@linaro.org>2023-02-27 13:27:05 +0000
commitb7f93098d1899c88eec4026b0a2118c94cbdefc9 (patch)
tree1920e3cbe01b4aa18a5460bfd9f2b306051c8190 /hw/arm
parent11f2ee1db6ed333a74a71fa38ce66fda926e230d (diff)
downloadqemu-b7f93098d1899c88eec4026b0a2118c94cbdefc9.zip
qemu-b7f93098d1899c88eec4026b0a2118c94cbdefc9.tar.gz
qemu-b7f93098d1899c88eec4026b0a2118c94cbdefc9.tar.bz2
hw/char/pl011: Open-code pl011_luminary_create()
pl011_luminary_create() is only used for the Stellaris board, open-code it. Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-id: 20230220115114.25237-4-philmd@linaro.org Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'hw/arm')
-rw-r--r--hw/arm/stellaris.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/hw/arm/stellaris.c b/hw/arm/stellaris.c
index 67a2293..f7e99ba 100644
--- a/hw/arm/stellaris.c
+++ b/hw/arm/stellaris.c
@@ -1146,9 +1146,14 @@ static void stellaris_init(MachineState *ms, stellaris_board_info *board)
for (i = 0; i < 4; i++) {
if (board->dc2 & (1 << i)) {
- pl011_luminary_create(0x4000c000 + i * 0x1000,
- qdev_get_gpio_in(nvic, uart_irq[i]),
- serial_hd(i));
+ SysBusDevice *sbd;
+
+ dev = qdev_new("pl011_luminary");
+ sbd = SYS_BUS_DEVICE(dev);
+ qdev_prop_set_chr(dev, "chardev", serial_hd(i));
+ sysbus_realize_and_unref(sbd, &error_fatal);
+ sysbus_mmio_map(sbd, 0, 0x4000c000 + i * 0x1000);
+ sysbus_connect_irq(sbd, 0, qdev_get_gpio_in(nvic, uart_irq[i]));
}
}
if (board->dc2 & (1 << 4)) {