Commit b70447aa authored by KONRAD Frederic's avatar KONRAD Frederic Committed by Mark Cave-Ayland
Browse files

grlib, apbuart: get rid of the old-style create function

parent 948caec8
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
/*
 * QEMU GRLIB APB UART Emulator
 *
 * Copyright (c) 2010-2011 AdaCore
 * Copyright (c) 2010-2019 AdaCore
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
@@ -23,6 +23,7 @@
 */

#include "qemu/osdep.h"
#include "hw/sparc/grlib.h"
#include "hw/sysbus.h"
#include "chardev/char-fe.h"

@@ -68,7 +69,6 @@

#define FIFO_LENGTH 1024

#define TYPE_GRLIB_APB_UART "grlib,apbuart"
#define GRLIB_APB_UART(obj) \
    OBJECT_CHECK(UART, (obj), TYPE_GRLIB_APB_UART)

+8 −1
Original line number Diff line number Diff line
@@ -47,6 +47,9 @@

#define MAX_PILS 16

#define LEON3_UART_OFFSET  (0x80000100)
#define LEON3_UART_IRQ     (3)

#define LEON3_IRQMP_OFFSET (0x80000200)

#define LEON3_TIMER_OFFSET (0x80000300)
@@ -239,7 +242,11 @@ static void leon3_generic_hw_init(MachineState *machine)

    /* Allocate uart */
    if (serial_hd(0)) {
        grlib_apbuart_create(0x80000100, serial_hd(0), cpu_irqs[3]);
        dev = qdev_create(NULL, TYPE_GRLIB_APB_UART);
        qdev_prop_set_chr(dev, "chrdev", serial_hd(0));
        qdev_init_nofail(dev);
        sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, LEON3_UART_OFFSET);
        sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, cpu_irqs[LEON3_UART_IRQ]);
    }
}

+1 −19
Original line number Diff line number Diff line
@@ -45,24 +45,6 @@ void grlib_irqmp_ack(DeviceState *dev, int intno);
#define TYPE_GRLIB_GPTIMER "grlib,gptimer"

/* APB UART */

static inline
DeviceState *grlib_apbuart_create(hwaddr  base,
                                  Chardev    *serial,
                                  qemu_irq            irq)
{
    DeviceState *dev;

    dev = qdev_create(NULL, "grlib,apbuart");
    qdev_prop_set_chr(dev, "chrdev", serial);

    qdev_init_nofail(dev);

    sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, base);

    sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, irq);

    return dev;
}
#define TYPE_GRLIB_APB_UART "grlib,apbuart"

#endif /* GRLIB_H */