All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Marc-André Lureau" <marcandre.lureau@gmail.com>
To: Paolo Bonzini <pbonzini@redhat.com>, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH v2 19/41] char: remove class kind field
Date: Tue, 31 Jan 2017 09:08:15 +0000	[thread overview]
Message-ID: <CAJ+F1CL1reqXTC+qvhcjKbNt2YSFd=R37A7ZidiVJdFXv7nhdQ@mail.gmail.com> (raw)
In-Reply-To: <68c0ebae-7559-80eb-23fc-f8acc218a6d3@redhat.com>

Hi

On Tue, Jan 31, 2017 at 12:08 AM Paolo Bonzini <pbonzini@redhat.com> wrote:

>
>
> 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.lureau@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?
>
>
For the reason I gave in the patch summary: qapi_free_ChardevBackend()
dispatch based on ChardevBackendKind enum, not on Chardev object type.

-- 
Marc-André Lureau

  reply	other threads:[~2017-01-31  9:08 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-30 13:39 [Qemu-devel] [PATCH v2 00/41] chardev: qom clean-up and split in various backend files Marc-André Lureau
2017-01-30 13:39 ` [Qemu-devel] [PATCH v2 01/41] MAINTAINERS: add myself to qemu-char.c Marc-André Lureau
2017-01-30 19:33   ` Paolo Bonzini
2017-01-30 13:39 ` [Qemu-devel] [PATCH v2 02/41] spice-qemu-char: convert to finalize Marc-André Lureau
2017-01-30 13:39 ` [Qemu-devel] [PATCH v2 03/41] baum: " Marc-André Lureau
2017-01-30 13:39 ` [Qemu-devel] [PATCH v2 04/41] msmouse: " Marc-André Lureau
2017-01-30 13:39 ` [Qemu-devel] [PATCH v2 05/41] mux: " Marc-André Lureau
2017-01-30 13:39 ` [Qemu-devel] [PATCH v2 06/41] char-udp: " Marc-André Lureau
2017-01-30 13:39 ` [Qemu-devel] [PATCH v2 07/41] char-socket: " Marc-André Lureau
2017-01-30 13:39 ` [Qemu-devel] [PATCH v2 08/41] char-pty: " Marc-André Lureau
2017-01-30 13:39 ` [Qemu-devel] [PATCH v2 09/41] char-ringbuf: " Marc-André Lureau
2017-01-30 13:39 ` [Qemu-devel] [PATCH v2 10/41] char-parallel: convert parallel " Marc-André Lureau
2017-01-30 13:39 ` [Qemu-devel] [PATCH v2 11/41] char-stdio: convert " Marc-André Lureau
2017-01-30 13:39 ` [Qemu-devel] [PATCH v2 12/41] char-win-stdio: " Marc-André Lureau
2017-01-30 13:39 ` [Qemu-devel] [PATCH v2 13/41] char-win: do not override chr_free Marc-André Lureau
2017-01-30 13:39 ` [Qemu-devel] [PATCH v2 14/41] char-win: convert to finalize Marc-André Lureau
2017-01-30 13:39 ` [Qemu-devel] [PATCH v2 15/41] char-fd: " Marc-André Lureau
2017-01-30 13:39 ` [Qemu-devel] [PATCH v2 16/41] char: remove chr_free Marc-André Lureau
2017-01-30 13:39 ` [Qemu-devel] [PATCH v2 17/41] char: get rid of CharDriver Marc-André Lureau
2017-01-30 19:50   ` Eric Blake
2017-01-30 13:39 ` [Qemu-devel] [PATCH v2 18/41] char: rename remaining CharDriver to Chardev Marc-André Lureau
2017-01-30 13:39 ` [Qemu-devel] [PATCH v2 19/41] char: remove class kind field Marc-André Lureau
2017-01-30 19:57   ` Eric Blake
2017-01-30 20:06   ` Paolo Bonzini
2017-01-31  9:08     ` Marc-André Lureau [this message]
2017-01-31 11:23       ` Marc-André Lureau
2017-01-31 15:32         ` Paolo Bonzini
2017-01-31 15:32       ` Paolo Bonzini
2017-01-30 13:39 ` [Qemu-devel] [PATCH v2 20/41] char: move to chardev/ Marc-André Lureau
2017-01-30 13:39 ` [Qemu-devel] [PATCH v2 21/41] char: create chardev-obj-y Marc-André Lureau
2017-01-30 13:39 ` [Qemu-devel] [PATCH v2 22/41] char: make null_chr_write() the default method Marc-André Lureau
2017-01-30 13:39 ` [Qemu-devel] [PATCH v2 23/41] char: move null chardev to its own file Marc-André Lureau
2017-01-30 19:58   ` Eric Blake
2017-01-30 13:39 ` [Qemu-devel] [PATCH v2 24/41] char: move mux " Marc-André Lureau
2017-01-30 20:04   ` Eric Blake
2017-01-30 13:39 ` [Qemu-devel] [PATCH v2 25/41] char: move ringbuf/memory " Marc-André Lureau
2017-01-30 20:04   ` Eric Blake
2017-01-30 13:39 ` [Qemu-devel] [PATCH v2 26/41] char: rename and move to header CHR_READ_BUF_LEN Marc-André Lureau
2017-01-30 13:39 ` [Qemu-devel] [PATCH v2 27/41] char: remove unused READ_RETRIES Marc-André Lureau
2017-01-30 13:39 ` [Qemu-devel] [PATCH v2 28/41] char: move QIOChannel-related stuff to char-io.h Marc-André Lureau
2017-01-30 20:07   ` Eric Blake
2017-01-30 13:39 ` [Qemu-devel] [PATCH v2 29/41] char: move fd chardev in its own file Marc-André Lureau
2017-01-30 13:39 ` [Qemu-devel] [PATCH v2 30/41] char: move win chardev base class " Marc-André Lureau
2017-01-30 13:39 ` [Qemu-devel] [PATCH v2 31/41] char: move win-stdio into " Marc-André Lureau
2017-01-30 13:39 ` [Qemu-devel] [PATCH v2 32/41] char: move socket chardev to " Marc-André Lureau
2017-01-30 13:39 ` [Qemu-devel] [PATCH v2 33/41] char: move udp chardev in " Marc-André Lureau
2017-01-30 13:39 ` [Qemu-devel] [PATCH v2 34/41] char: move file " Marc-André Lureau
2017-01-30 13:39 ` [Qemu-devel] [PATCH v2 35/41] char: move stdio " Marc-André Lureau
2017-01-30 13:39 ` [Qemu-devel] [PATCH v2 36/41] char: move console " Marc-André Lureau
2017-01-30 13:39 ` [Qemu-devel] [PATCH v2 37/41] char: move pipe chardev " Marc-André Lureau
2017-01-30 13:39 ` [Qemu-devel] [PATCH v2 38/41] char: move pty " Marc-André Lureau
2017-01-30 13:39 ` [Qemu-devel] [PATCH v2 39/41] char: move serial chardev to " Marc-André Lureau
2017-01-30 13:39 ` [Qemu-devel] [PATCH v2 40/41] char: move parallel chardev in " Marc-André Lureau
2017-01-30 13:39 ` [Qemu-devel] [PATCH v2 41/41] char: headers clean-up Marc-André Lureau
2017-01-30 14:43 ` [Qemu-devel] [PATCH v2 00/41] chardev: qom clean-up and split in various backend files no-reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAJ+F1CL1reqXTC+qvhcjKbNt2YSFd=R37A7ZidiVJdFXv7nhdQ@mail.gmail.com' \
    --to=marcandre.lureau@gmail.com \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.