diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2015-09-29 15:49:06 +0200 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2015-10-19 10:13:07 +0200 |
commit | fa19d02539a56ac20d03b2eef775be7ffcdd695a (patch) | |
tree | a8dfdc56f6d7fe38c1426254c3269d0d1c2077ba /ui | |
parent | 68145e178ac200a27b5f0ab342da80cf60ddd576 (diff) | |
download | qemu-fa19d02539a56ac20d03b2eef775be7ffcdd695a.zip qemu-fa19d02539a56ac20d03b2eef775be7ffcdd695a.tar.gz qemu-fa19d02539a56ac20d03b2eef775be7ffcdd695a.tar.bz2 |
qemu-char: convert vc backend to data-driven creation
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'ui')
-rw-r--r-- | ui/console.c | 10 | ||||
-rw-r--r-- | ui/gtk.c | 2 |
2 files changed, 7 insertions, 5 deletions
diff --git a/ui/console.c b/ui/console.c index aee6f21..cf649b2 100644 --- a/ui/console.c +++ b/ui/console.c @@ -1962,7 +1962,7 @@ static void text_console_do_init(CharDriverState *chr, DisplayState *ds) chr->init(chr); } -static CharDriverState *text_console_init(ChardevVC *vc) +static CharDriverState *text_console_init(ChardevVC *vc, Error **errp) { CharDriverState *chr; QemuConsole *s; @@ -1993,6 +1993,7 @@ static CharDriverState *text_console_init(ChardevVC *vc) if (!s) { g_free(chr); + error_setg(errp, "cannot create text console"); return NULL; } @@ -2012,9 +2013,10 @@ static CharDriverState *text_console_init(ChardevVC *vc) static VcHandler *vc_handler = text_console_init; -CharDriverState *vc_init(ChardevVC *vc) +static CharDriverState *vc_init(const char *id, ChardevBackend *backend, + ChardevReturn *ret, Error **errp) { - return vc_handler(vc); + return vc_handler(backend->vc, errp); } void register_vc_handler(VcHandler *handler) @@ -2094,7 +2096,7 @@ static void register_types(void) { type_register_static(&qemu_console_info); register_char_driver("vc", CHARDEV_BACKEND_KIND_VC, qemu_chr_parse_vc, - NULL); + vc_init); } type_init(register_types); @@ -1591,7 +1591,7 @@ static int gd_vc_chr_write(CharDriverState *chr, const uint8_t *buf, int len) static int nb_vcs; static CharDriverState *vcs[MAX_VCS]; -static CharDriverState *gd_vc_handler(ChardevVC *unused) +static CharDriverState *gd_vc_handler(ChardevVC *unused, Error **errp) { CharDriverState *chr; |