]> git.proxmox.com Git - qemu.git/commitdiff
chardev: add braille support to qapi
authorGerd Hoffmann <kraxel@redhat.com>
Thu, 21 Feb 2013 11:56:10 +0000 (12:56 +0100)
committerGerd Hoffmann <kraxel@redhat.com>
Wed, 13 Mar 2013 09:27:46 +0000 (10:27 +0100)
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>
backends/baum.c
include/char/char.h
qapi-schema.json
qemu-char.c

index 9063aea2cf7681d8b102134623f772b10e46e8e1..d7d658c2248d00ae4cf746aa430aeda919ab325c 100644 (file)
@@ -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);
index 80e8e30e159bcd1b6db8340ba8036ae63c804e87..d6a03513bf43e844ddc050a2327724e994abecb2 100644 (file)
@@ -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
index 86c04dc9ffb9204cd8dce7e3d90d26b89a671f6c..3c5c0fbc276f388342c650a74057bd812ebb8780 100644 (file)
                                        'pty'    : 'ChardevDummy',
                                        'null'   : 'ChardevDummy',
                                        'mux'    : 'ChardevMux',
-                                       'msmouse': 'ChardevDummy' } }
+                                       'msmouse': 'ChardevDummy',
+                                       'braille': 'ChardevDummy' } }
 
 ##
 # @ChardevReturn:
index e860ba30aa2d3e3934614043a2b2b694a70539cb..1692aa836781c6a4fa41eddeef6b7e32b2f704d4 100644 (file)
@@ -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;