diff --git a/qemu/saimaa.c b/qemu/saimaa.c index b0e3dd2..482899e 100644 --- a/qemu/saimaa.c +++ b/qemu/saimaa.c @@ -91,11 +91,7 @@ static void saimaa_uart_init(Object *obj) static void saimaa_uart_realize(DeviceState *dev, Error **errp) { - SaimaaUartState *s = SAIMAA_UART(dev); - if (!qemu_chr_fe_backend_connected(&s->chr)) { - error_setg(errp, "saimaa-uart: chardev property was not set"); - return; - } + /* backend wired directly in machine init; nothing to check */ } /* ---- machine ---- */ @@ -148,11 +144,12 @@ static void saimaa_machine_init(MachineState *machine) sysbus_mmio_map(SYS_BUS_DEVICE(gic), 0, SAIMAA_GICD_BASE); sysbus_mmio_map(SYS_BUS_DEVICE(gic), 1, SAIMAA_GICC_BASE); - /* UART: stdio */ + /* UART: stdio (direct backend, no property dance) */ DeviceState *uart = qdev_new(TYPE_SAIMAA_UART); - qdev_prop_set_chr(uart, "chardev", serial_hd(0)); sysbus_realize(SYS_BUS_DEVICE(uart), &error_fatal); sysbus_mmio_map(SYS_BUS_DEVICE(uart), 0, SAIMAA_UART_BASE); + qemu_chr_fe_init(&SAIMAA_UART(uart)->chr, serial_hd(0), + &error_abort); /* SDHCI + eMMC image */ DeviceState *sdhci = qdev_new(TYPE_SYSBUS_SDHCI);