aboutsummaryrefslogtreecommitdiff
path: root/backends
diff options
context:
space:
mode:
authorMarc-André Lureau <marcandre.lureau@redhat.com>2016-10-21 16:07:45 +0300
committerPaolo Bonzini <pbonzini@redhat.com>2017-01-27 18:07:58 +0100
commit0b812f31925f2ed50eb54d2be6ac9291bf67b890 (patch)
tree8a51007dff4c1b2d7a6d004a06ac53a6059c0358 /backends
parentbd1caa3f8e8e63b9ac4cbcbee5a2dee3587fd852 (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.c8
-rw-r--r--backends/msmouse.c7
-rw-r--r--backends/testdev.c7
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);