mirror of https://github.com/proxmox/mirror_qemu
serial: refactor device creation
Turn serial_init into an inline function. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>master
parent
cd1b8a8b0d
commit
e22cf21efd
14
hw/pc.h
14
hw/pc.h
|
@ -17,7 +17,19 @@ SerialState *serial_mm_init (target_phys_addr_t base, int it_shift,
|
||||||
qemu_irq irq, int baudbase,
|
qemu_irq irq, int baudbase,
|
||||||
CharDriverState *chr, int ioregister,
|
CharDriverState *chr, int ioregister,
|
||||||
int be);
|
int be);
|
||||||
SerialState *serial_isa_init(int index, CharDriverState *chr);
|
static inline bool serial_isa_init(int index, CharDriverState *chr)
|
||||||
|
{
|
||||||
|
ISADevice *dev;
|
||||||
|
|
||||||
|
dev = isa_create("isa-serial");
|
||||||
|
qdev_prop_set_uint32(&dev->qdev, "index", index);
|
||||||
|
qdev_prop_set_chr(&dev->qdev, "chardev", chr);
|
||||||
|
if (qdev_init(&dev->qdev) < 0) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
void serial_set_frequency(SerialState *s, uint32_t frequency);
|
void serial_set_frequency(SerialState *s, uint32_t frequency);
|
||||||
|
|
||||||
/* parallel.c */
|
/* parallel.c */
|
||||||
|
|
12
hw/serial.c
12
hw/serial.c
|
@ -782,18 +782,6 @@ static int serial_isa_initfn(ISADevice *dev)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
SerialState *serial_isa_init(int index, CharDriverState *chr)
|
|
||||||
{
|
|
||||||
ISADevice *dev;
|
|
||||||
|
|
||||||
dev = isa_create("isa-serial");
|
|
||||||
qdev_prop_set_uint32(&dev->qdev, "index", index);
|
|
||||||
qdev_prop_set_chr(&dev->qdev, "chardev", chr);
|
|
||||||
if (qdev_init(&dev->qdev) < 0)
|
|
||||||
return NULL;
|
|
||||||
return &DO_UPCAST(ISASerialState, dev, dev)->state;
|
|
||||||
}
|
|
||||||
|
|
||||||
static const VMStateDescription vmstate_isa_serial = {
|
static const VMStateDescription vmstate_isa_serial = {
|
||||||
.name = "serial",
|
.name = "serial",
|
||||||
.version_id = 3,
|
.version_id = 3,
|
||||||
|
|
Loading…
Reference in New Issue