diff options
author | Gerd Hoffmann <kraxel@redhat.com> | 2013-02-21 12:56:10 +0100 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2013-03-13 10:27:46 +0100 |
commit | 2d57286da6e57aacf3b2d0d3354d543ed100a485 (patch) | |
tree | 1d02fcd7ca61a39c77de585a8fe6ed5ca3a96bfa | |
parent | f5a51cab2afd1124f0988081207d506fbec629b4 (diff) |
chardev: add braille support to qapi
This patch adds 'braille' support to qapi and also switches over
the braille chardev initialization to the new qapi code path.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
-rw-r--r-- | backends/baum.c | 4 | ||||
-rw-r--r-- | include/char/char.h | 3 | ||||
-rw-r--r-- | qapi-schema.json | 3 | ||||
-rw-r--r-- | qemu-char.c | 5 |
4 files changed, 12 insertions, 3 deletions
diff --git a/backends/baum.c b/backends/baum.c index 9063aea2cf..d7d658c224 100644 --- a/backends/baum.c +++ b/backends/baum.c @@ -561,7 +561,7 @@ static void baum_close(struct CharDriverState *chr) g_free(baum); } -static CharDriverState *chr_baum_init(QemuOpts *opts) +CharDriverState *chr_baum_init(void) { BaumDriverState *baum; CharDriverState *chr; @@ -627,7 +627,7 @@ fail_handle: static void register_types(void) { - register_char_driver("braille", chr_baum_init); + register_char_driver_qapi("braille", CHARDEV_BACKEND_KIND_BRAILLE, NULL); } type_init(register_types); diff --git a/include/char/char.h b/include/char/char.h index 80e8e30e15..d6a03513bf 100644 --- a/include/char/char.h +++ b/include/char/char.h @@ -264,4 +264,7 @@ CharDriverState *qemu_char_get_next_serial(void); /* msmouse */ CharDriverState *qemu_chr_open_msmouse(void); +/* baum.c */ +CharDriverState *chr_baum_init(void); + #endif diff --git a/qapi-schema.json b/qapi-schema.json index 86c04dc9ff..3c5c0fbc27 100644 --- a/qapi-schema.json +++ b/qapi-schema.json @@ -3211,7 +3211,8 @@ 'pty' : 'ChardevDummy', 'null' : 'ChardevDummy', 'mux' : 'ChardevMux', - 'msmouse': 'ChardevDummy' } } + 'msmouse': 'ChardevDummy', + 'braille': 'ChardevDummy' } } ## # @ChardevReturn: diff --git a/qemu-char.c b/qemu-char.c index e860ba30aa..1692aa8367 100644 --- a/qemu-char.c +++ b/qemu-char.c @@ -3722,6 +3722,11 @@ ChardevReturn *qmp_chardev_add(const char *id, ChardevBackend *backend, case CHARDEV_BACKEND_KIND_MSMOUSE: chr = qemu_chr_open_msmouse(); break; +#ifdef CONFIG_BRLAPI + case CHARDEV_BACKEND_KIND_BRAILLE: + chr = chr_baum_init(); + break; +#endif default: error_setg(errp, "unknown chardev backend (%d)", backend->kind); break; |