On 30/01/2017 08:39, Marc-André Lureau wrote:
> The class kind is necessary to lookup the chardev name in
> qmp_chardev_add() after calling qemu_chr_new_from_opts() and to set
> the appropriate ChardevBackend (mainly to free the right
> fields).
> 
> qemu_chr_new_from_opts() can be changed to use a non-qmp function
> using the chardev class typename. Introduce qemu_chardev_add() to be
> called from qemu_chr_new_from_opts() and remove the class chardev kind
> field. Set the backend->type in the parse callback (when non-common
> fields are added).
> 
> Signed-off-by: Marc-André Lureau <marcandre.lur...@redhat.com>
> ---
>  include/sysemu/char.h |  1 -
>  backends/baum.c       |  1 -
>  backends/msmouse.c    |  1 -
>  backends/testdev.c    |  1 -
>  qemu-char.c           | 99 
> +++++++++++++++++++++++++--------------------------
>  spice-qemu-char.c     |  4 +--
>  ui/console.c          |  2 +-
>  ui/gtk.c              |  1 -
>  8 files changed, 51 insertions(+), 59 deletions(-)

I am not sure about this patch.  Why not remove backend->type
altogether, and instead look at ChardevClass with object_dynamic_cast?

Paolo

Reply via email to