diff options
author | Marc-André Lureau <marcandre.lureau@redhat.com> | 2016-10-21 16:07:45 +0300 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2017-01-27 18:07:58 +0100 |
commit | 0b812f31925f2ed50eb54d2be6ac9291bf67b890 (patch) | |
tree | 8a51007dff4c1b2d7a6d004a06ac53a6059c0358 /backends | |
parent | bd1caa3f8e8e63b9ac4cbcbee5a2dee3587fd852 (diff) |
char: use a const CharDriver
No need to allocate & copy fields, let's use static const struct instead.
Add an alias field to the CharDriver structure to cover the cases where
we previously registered a driver twice under two names.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'backends')
-rw-r--r-- | backends/baum.c | 8 | ||||
-rw-r--r-- | backends/msmouse.c | 7 | ||||
-rw-r--r-- | backends/testdev.c | 7 |
3 files changed, 16 insertions, 6 deletions
diff --git a/backends/baum.c b/backends/baum.c index b045ef49c5..2e404a11cc 100644 --- a/backends/baum.c +++ b/backends/baum.c @@ -671,8 +671,12 @@ fail_handle: static void register_types(void) { - register_char_driver("braille", CHARDEV_BACKEND_KIND_BRAILLE, NULL, - chr_baum_init); + static const CharDriver driver = { + .kind = CHARDEV_BACKEND_KIND_BRAILLE, + .create = chr_baum_init, + }; + + register_char_driver(&driver); } type_init(register_types); diff --git a/backends/msmouse.c b/backends/msmouse.c index 733ca80f48..2490b2c073 100644 --- a/backends/msmouse.c +++ b/backends/msmouse.c @@ -179,8 +179,11 @@ static CharDriverState *qemu_chr_open_msmouse(const char *id, static void register_types(void) { - register_char_driver("msmouse", CHARDEV_BACKEND_KIND_MSMOUSE, NULL, - qemu_chr_open_msmouse); + static const CharDriver driver = { + .kind = CHARDEV_BACKEND_KIND_MSMOUSE, + .create = qemu_chr_open_msmouse, + }; + register_char_driver(&driver); } type_init(register_types); diff --git a/backends/testdev.c b/backends/testdev.c index 60156e320e..cd25094f86 100644 --- a/backends/testdev.c +++ b/backends/testdev.c @@ -130,8 +130,11 @@ static CharDriverState *chr_testdev_init(const char *id, static void register_types(void) { - register_char_driver("testdev", CHARDEV_BACKEND_KIND_TESTDEV, NULL, - chr_testdev_init); + static const CharDriver driver = { + .kind = CHARDEV_BACKEND_KIND_TESTDEV, + .create = chr_testdev_init, + }; + register_char_driver(&driver); } type_init(register_types); |