Message ID | 20210723102825.1790112-4-marcandre.lureau@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | chardev fixes | expand |
On 7/23/21 12:28 PM, marcandre.lureau@redhat.com wrote: > From: Marc-André Lureau <marcandre.lureau@redhat.com> > > "chr_option_parsed" is only implemented by the "mux" chardev, we can > specialize the code there to avoid the needless generic class method. > > Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> > --- > include/chardev/char.h | 1 - > chardev/char-mux.c | 6 ++---- > 2 files changed, 2 insertions(+), 5 deletions(-) Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
On Fri, Jul 23, 2021 at 02:28:24PM +0400, marcandre.lureau@redhat.com wrote: > From: Marc-André Lureau <marcandre.lureau@redhat.com> > > "chr_option_parsed" is only implemented by the "mux" chardev, we can > specialize the code there to avoid the needless generic class method. > > Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> > --- > include/chardev/char.h | 1 - > chardev/char-mux.c | 6 ++---- > 2 files changed, 2 insertions(+), 5 deletions(-) Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Regards, Daniel
diff --git a/include/chardev/char.h b/include/chardev/char.h index 7c0444f90d..589e7fe46d 100644 --- a/include/chardev/char.h +++ b/include/chardev/char.h @@ -273,7 +273,6 @@ struct ChardevClass { void (*chr_set_echo)(Chardev *chr, bool echo); void (*chr_set_fe_open)(Chardev *chr, int fe_open); void (*chr_be_event)(Chardev *s, QEMUChrEvent event); - void (*chr_options_parsed)(Chardev *chr); }; Chardev *qemu_chardev_new(const char *id, const char *typename, diff --git a/chardev/char-mux.c b/chardev/char-mux.c index 5baf419010..ada0c6866f 100644 --- a/chardev/char-mux.c +++ b/chardev/char-mux.c @@ -386,10 +386,9 @@ void suspend_mux_open(void) static int chardev_options_parsed_cb(Object *child, void *opaque) { Chardev *chr = (Chardev *)child; - ChardevClass *class = CHARDEV_GET_CLASS(chr); - if (!chr->be_open && class->chr_options_parsed) { - class->chr_options_parsed(chr); + if (!chr->be_open && CHARDEV_IS_MUX(chr)) { + open_muxes(chr); } return 0; @@ -412,7 +411,6 @@ static void char_mux_class_init(ObjectClass *oc, void *data) cc->chr_accept_input = mux_chr_accept_input; cc->chr_add_watch = mux_chr_add_watch; cc->chr_be_event = mux_chr_be_event; - cc->chr_options_parsed = open_muxes; cc->chr_update_read_handler = mux_chr_update_read_handlers; }