Commit b1918fbb authored by Eric Blake's avatar Eric Blake Committed by Markus Armbruster
Browse files

chardev: Drop useless ChardevDummy type



Commit d0d7708b made ChardevDummy be an empty wrapper type around
ChardevCommon.  But there is no technical reason for this indirection,
so simplify the code by directly using the base type.

Also change the fallback assignment to assign u.null rather than
u.data, since a future patch will remove the data member of the C
struct generated for QAPI unions.

Signed-off-by: default avatarEric Blake <eblake@redhat.com>
Reviewed-by: default avatarDaniel P. Berrange <berrange@redhat.com>
Message-Id: <1457106160-23614-1-git-send-email-eblake@redhat.com>
Signed-off-by: default avatarMarkus Armbruster <armbru@redhat.com>
parent 10f75907
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -567,7 +567,7 @@ static CharDriverState *chr_baum_init(const char *id,
                                      ChardevReturn *ret,
                                      Error **errp)
{
    ChardevCommon *common = qapi_ChardevDummy_base(backend->u.braille);
    ChardevCommon *common = backend->u.braille;
    BaumDriverState *baum;
    CharDriverState *chr;
    brlapi_handle_t *handle;
+1 −1
Original line number Diff line number Diff line
@@ -68,7 +68,7 @@ static CharDriverState *qemu_chr_open_msmouse(const char *id,
                                              ChardevReturn *ret,
                                              Error **errp)
{
    ChardevCommon *common = qapi_ChardevDummy_base(backend->u.msmouse);
    ChardevCommon *common = backend->u.msmouse;
    CharDriverState *chr;

    chr = qemu_chr_alloc(common, errp);
+6 −9
Original line number Diff line number Diff line
@@ -3323,23 +3323,20 @@
#
# Since: 1.4 (testdev since 2.2)
##
{ 'struct': 'ChardevDummy', 'data': { },
  'base': 'ChardevCommon' }

{ 'union': 'ChardevBackend', 'data': { 'file'   : 'ChardevFile',
                                       'serial' : 'ChardevHostdev',
                                       'parallel': 'ChardevHostdev',
                                       'pipe'   : 'ChardevHostdev',
                                       'socket' : 'ChardevSocket',
                                       'udp'    : 'ChardevUdp',
                                       'pty'    : 'ChardevDummy',
                                       'null'   : 'ChardevDummy',
                                       'pty'    : 'ChardevCommon',
                                       'null'   : 'ChardevCommon',
                                       'mux'    : 'ChardevMux',
                                       'msmouse': 'ChardevDummy',
                                       'braille': 'ChardevDummy',
                                       'testdev': 'ChardevDummy',
                                       'msmouse': 'ChardevCommon',
                                       'braille': 'ChardevCommon',
                                       'testdev': 'ChardevCommon',
                                       'stdio'  : 'ChardevStdio',
                                       'console': 'ChardevDummy',
                                       'console': 'ChardevCommon',
                                       'spicevmc' : 'ChardevSpiceChannel',
                                       'spiceport' : 'ChardevSpicePort',
                                       'vc'     : 'ChardevVC',
+4 −4
Original line number Diff line number Diff line
@@ -420,7 +420,7 @@ static CharDriverState *qemu_chr_open_null(const char *id,
                                           Error **errp)
{
    CharDriverState *chr;
    ChardevCommon *common = qapi_ChardevDummy_base(backend->u.null);
    ChardevCommon *common = backend->u.null;

    chr = qemu_chr_alloc(common, errp);
    if (!chr) {
@@ -1366,7 +1366,7 @@ static CharDriverState *qemu_chr_open_pty(const char *id,
    PtyCharDriver *s;
    int master_fd, slave_fd;
    char pty_name[PATH_MAX];
    ChardevCommon *common = qapi_ChardevDummy_base(backend->u.pty);
    ChardevCommon *common = backend->u.pty;

    master_fd = qemu_openpty_raw(&slave_fd, pty_name);
    if (master_fd < 0) {
@@ -2183,7 +2183,7 @@ static CharDriverState *qemu_chr_open_win_con(const char *id,
                                              ChardevReturn *ret,
                                              Error **errp)
{
    ChardevCommon *common = qapi_ChardevDummy_base(backend->u.console);
    ChardevCommon *common = backend->u.console;
    return qemu_chr_open_win_file(GetStdHandle(STD_OUTPUT_HANDLE),
                                  common, errp);
}
@@ -3817,7 +3817,7 @@ CharDriverState *qemu_chr_new_from_opts(QemuOpts *opts,
    } else {
        ChardevCommon *cc = g_new0(ChardevCommon, 1);
        qemu_chr_parse_common(opts, cc);
        backend->u.data = cc;
        backend->u.null = cc; /* Any ChardevCommon member would work */
    }

    ret = qmp_chardev_add(bid ? bid : id, backend, errp);