virtio-console: Properly initialise class methods
The earlier code really was a hack: initialising class methods in an object init function as noted by Anthony. The motivation for that was to not have the virtio-serial-bus call into the callback functions if there was no chardev backend registered. However, that really wasn't a worthwhile optimisation, and definitely not one that was well-implemented. Get rid of it. Reported-by: Anthony Liguori <aliguori@us.ibm.com> Signed-off-by: Amit Shah <amit.shah@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
parent
6640422c17
commit
05e7af694c
|
@ -120,9 +120,6 @@ static int virtconsole_initfn(VirtIOSerialPort *port)
|
||||||
if (vcon->chr) {
|
if (vcon->chr) {
|
||||||
qemu_chr_add_handlers(vcon->chr, chr_can_read, chr_read, chr_event,
|
qemu_chr_add_handlers(vcon->chr, chr_can_read, chr_read, chr_event,
|
||||||
vcon);
|
vcon);
|
||||||
info->have_data = flush_buf;
|
|
||||||
info->guest_open = guest_open;
|
|
||||||
info->guest_close = guest_close;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -149,6 +146,9 @@ static VirtIOSerialPortInfo virtconsole_info = {
|
||||||
.is_console = true,
|
.is_console = true,
|
||||||
.init = virtconsole_initfn,
|
.init = virtconsole_initfn,
|
||||||
.exit = virtconsole_exitfn,
|
.exit = virtconsole_exitfn,
|
||||||
|
.have_data = flush_buf,
|
||||||
|
.guest_open = guest_open,
|
||||||
|
.guest_close = guest_close,
|
||||||
.qdev.props = (Property[]) {
|
.qdev.props = (Property[]) {
|
||||||
DEFINE_PROP_CHR("chardev", VirtConsole, chr),
|
DEFINE_PROP_CHR("chardev", VirtConsole, chr),
|
||||||
DEFINE_PROP_END_OF_LIST(),
|
DEFINE_PROP_END_OF_LIST(),
|
||||||
|
@ -166,6 +166,9 @@ static VirtIOSerialPortInfo virtserialport_info = {
|
||||||
.qdev.size = sizeof(VirtConsole),
|
.qdev.size = sizeof(VirtConsole),
|
||||||
.init = virtconsole_initfn,
|
.init = virtconsole_initfn,
|
||||||
.exit = virtconsole_exitfn,
|
.exit = virtconsole_exitfn,
|
||||||
|
.have_data = flush_buf,
|
||||||
|
.guest_open = guest_open,
|
||||||
|
.guest_close = guest_close,
|
||||||
.qdev.props = (Property[]) {
|
.qdev.props = (Property[]) {
|
||||||
DEFINE_PROP_CHR("chardev", VirtConsole, chr),
|
DEFINE_PROP_CHR("chardev", VirtConsole, chr),
|
||||||
DEFINE_PROP_END_OF_LIST(),
|
DEFINE_PROP_END_OF_LIST(),
|
||||||
|
|
Loading…
Reference in a new issue