diff --git a/include/sysemu/char.h b/include/sysemu/char.h index da0e7dd494..5e5594f305 100644 --- a/include/sysemu/char.h +++ b/include/sysemu/char.h @@ -184,13 +184,6 @@ Chardev *qemu_chr_new_noreplay(const char *label, const char *filename); */ void qemu_chr_delete(Chardev *chr); -/** - * @qemu_chr_free: - * - * Destroy a character backend. - */ -void qemu_chr_free(Chardev *chr); - /** * @qemu_chr_fe_set_echo: * @@ -496,7 +489,6 @@ typedef struct ChardevClass { int (*set_msgfds)(Chardev *s, int *fds, int num); int (*chr_add_client)(Chardev *chr, int fd); int (*chr_wait_connected)(Chardev *chr, Error **errp); - void (*chr_free)(Chardev *chr); void (*chr_disconnect)(Chardev *chr); void (*chr_accept_input)(Chardev *chr); void (*chr_set_echo)(Chardev *chr, bool echo); diff --git a/qemu-char.c b/qemu-char.c index 3d0d690999..c239418c25 100644 --- a/qemu-char.c +++ b/qemu-char.c @@ -4371,18 +4371,10 @@ void qemu_chr_fe_disconnect(CharBackend *be) } } -void qemu_chr_free(Chardev *chr) -{ - if (CHARDEV_GET_CLASS(chr)->chr_free) { - CHARDEV_GET_CLASS(chr)->chr_free(chr); - } - object_unref(OBJECT(chr)); -} - void qemu_chr_delete(Chardev *chr) { QTAILQ_REMOVE(&chardevs, chr, next); - qemu_chr_free(chr); + object_unref(OBJECT(chr)); } ChardevInfoList *qmp_query_chardev(Error **errp)