Commit 97274d0c authored by Peter Maydell's avatar Peter Maydell
Browse files

hw/char/exynos4210_uart.c: Remove unneeded handling of NULL chardev



The handling of NULL chardevs in exynos4210_uart_create() is now
all unnecessary: we don't need to create 'null' chardevs, and we
don't need to enforce a bounds check on serial_hd().

Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
Reviewed-by: default avatarPhilippe Mathieu-Daudé <f4bug@amsat.org>
Reviewed-by: default avatarThomas Huth <thuth@redhat.com>
Message-id: 20180420145249.32435-10-peter.maydell@linaro.org
parent fc38a112
Loading
Loading
Loading
Loading
+0 −20
Original line number Diff line number Diff line
@@ -589,28 +589,8 @@ DeviceState *exynos4210_uart_create(hwaddr addr,
    DeviceState  *dev;
    SysBusDevice *bus;

    const char chr_name[] = "serial";
    char label[ARRAY_SIZE(chr_name) + 1];

    dev = qdev_create(NULL, TYPE_EXYNOS4210_UART);

    if (!chr) {
        if (channel >= MAX_SERIAL_PORTS) {
            error_report("Only %d serial ports are supported by QEMU",
                         MAX_SERIAL_PORTS);
            exit(1);
        }
        chr = serial_hd(channel);
        if (!chr) {
            snprintf(label, ARRAY_SIZE(label), "%s%d", chr_name, channel);
            chr = qemu_chr_new(label, "null");
            if (!(chr)) {
                error_report("Can't assign serial port to UART%d", channel);
                exit(1);
            }
        }
    }

    qdev_prop_set_chr(dev, "chardev", chr);
    qdev_prop_set_uint32(dev, "channel", channel);
    qdev_prop_set_uint32(dev, "rx-size", fifo_size);