On Tue, 21 Oct 2025, [email protected] wrote:
From: Marc-André Lureau <[email protected]>

The actual backend is "Chardev", CharBackend is the frontend side of it,
let's rename it for readability.

Signed-off-by: Marc-André Lureau <[email protected]>
---
chardev/chardev-internal.h           |  12 +-
include/chardev/char-fe.h            |  67 +++++----
include/chardev/char.h               |   4 +-
include/hw/char/avr_usart.h          |   2 +-
include/hw/char/bcm2835_aux.h        |   2 +-
include/hw/char/cadence_uart.h       |   2 +-
include/hw/char/cmsdk-apb-uart.h     |   2 +-
include/hw/char/digic-uart.h         |   2 +-
include/hw/char/escc.h               |   2 +-
include/hw/char/goldfish_tty.h       |   2 +-
include/hw/char/ibex_uart.h          |   2 +-
include/hw/char/imx_serial.h         |   2 +-
include/hw/char/max78000_uart.h      |   2 +-
include/hw/char/nrf51_uart.h         |   2 +-
include/hw/char/parallel.h           |   2 +-
include/hw/char/pl011.h              |   2 +-
include/hw/char/renesas_sci.h        |   2 +-
include/hw/char/riscv_htif.h         |   2 +-
include/hw/char/serial.h             |   2 +-
include/hw/char/shakti_uart.h        |   2 +-
include/hw/char/sifive_uart.h        |   2 +-
include/hw/char/stm32f2xx_usart.h    |   2 +-
include/hw/char/stm32l4x5_usart.h    |   2 +-
include/hw/misc/ivshmem-flat.h       |   2 +-
include/hw/qdev-properties-system.h  |   2 +-
include/hw/virtio/vhost-user-base.h  |   2 +-
include/hw/virtio/vhost-user-blk.h   |   2 +-
include/hw/virtio/vhost-user-fs.h    |   2 +-
include/hw/virtio/vhost-user-scmi.h  |   2 +-
include/hw/virtio/vhost-user-vsock.h |   2 +-
include/hw/virtio/vhost-user.h       |   8 +-
include/hw/virtio/virtio-gpu.h       |   2 +-
include/hw/virtio/virtio-scsi.h      |   2 +-
include/system/qtest.h               |   4 +-
include/system/vhost-user-backend.h  |   2 +-
monitor/monitor-internal.h           |   2 +-
backends/cryptodev-vhost-user.c      |   2 +-
backends/rng-egd.c                   |   2 +-
backends/tpm/tpm_emulator.c          |   4 +-
chardev/char-fe.c                    | 142 +++++++++----------
chardev/char-hub.c                   |  18 +--
chardev/char-mux.c                   |  40 +++---
chardev/char.c                       |   8 +-
gdbstub/system.c                     |   2 +-
hw/arm/strongarm.c                   |   2 +-
hw/char/debugcon.c                   |   2 +-
hw/char/exynos4210_uart.c            |   2 +-
hw/char/grlib_apbuart.c              |   2 +-
hw/char/ipoctal232.c                 |   2 +-
hw/char/mcf_uart.c                   |   2 +-
hw/char/sclpconsole-lm.c             |   2 +-
hw/char/sclpconsole.c                |   2 +-
hw/char/sh_serial.c                  |   2 +-
hw/char/spapr_vty.c                  |   2 +-
hw/char/terminal3270.c               |   2 +-
hw/char/virtio-console.c             |   2 +-
hw/char/xen_console.c                |   2 +-
hw/char/xilinx_uartlite.c            |   2 +-
hw/core/qdev-properties-system.c     |  16 +--
hw/ipmi/ipmi_bmc_extern.c            |   2 +-
hw/mips/boston.c                     |   2 +-
hw/mips/malta.c                      |   2 +-
hw/misc/ivshmem-pci.c                |   2 +-
hw/ppc/spapr_rtas.c                  |   2 +-
hw/riscv/riscv_hart.c                |   2 +-
hw/usb/ccid-card-passthru.c          |   2 +-
hw/usb/dev-serial.c                  |   2 +-
hw/usb/redirect.c                    |   2 +-
hw/virtio/vhost-stub.c               |   2 +-
hw/virtio/vhost-user.c               |  20 +--
net/colo-compare.c                   |  10 +-
net/filter-mirror.c                  |   4 +-
net/passt.c                          |   2 +-
net/slirp.c                          |   2 +-
net/vhost-user.c                     |   2 +-
semihosting/console.c                |   6 +-
system/qtest.c                       |  20 +--
target/hppa/sys_helper.c             |   2 +-
target/xtensa/xtensa-semi.c          |   2 +-
tests/qtest/vhost-user-test.c        |  16 +--
tests/unit/test-char.c               | 198 +++++++++++++--------------
tests/unit/test-yank.c               |  12 +-
rust/bindings/src/lib.rs             |   4 +-
rust/chardev/src/bindings.rs         |   6 +-
rust/chardev/src/chardev.rs          |  26 ++--
rust/hw/char/pl011/src/device.rs     |  12 +-
rust/hw/core/src/qdev.rs             |   2 +-
87 files changed, 392 insertions(+), 393 deletions(-)

diff --git a/chardev/chardev-internal.h b/chardev/chardev-internal.h
index 9752dd75f7..8ea10414ab 100644
--- a/chardev/chardev-internal.h
+++ b/chardev/chardev-internal.h
@@ -37,9 +37,9 @@
struct MuxChardev {
    Chardev parent;
    /* Linked frontends */
-    CharBackend *backends[MAX_MUX];
-    /* Linked backend */
-    CharBackend chr;
+    CharFrontend *frontends[MAX_MUX];
+    /* frontend of the underlying muxed chardev */
+    CharFrontend chr;
    unsigned long mux_bitset;
    int focus;
    bool term_got_escape;
@@ -64,8 +64,8 @@ typedef struct HubCharBackend HubCharBackend;
 * `hub->backends` array
 */
struct HubCharBackend {
-    HubChardev   *hub;
-    CharBackend  be;
+    HubChardev *hub;
+    CharFrontend fe;
    unsigned int be_ind;
};

@@ -108,7 +108,7 @@ DECLARE_INSTANCE_CHECKER(HubChardev, HUB_CHARDEV,
#define CHARDEV_IS_HUB(chr)                                \
    object_dynamic_cast(OBJECT(chr), TYPE_CHARDEV_HUB)

-bool mux_chr_attach_frontend(MuxChardev *d, CharBackend *b,
+bool mux_chr_attach_frontend(MuxChardev *d, CharFrontend *c,
                             unsigned int *tag, Error **errp);
bool mux_chr_detach_frontend(MuxChardev *d, unsigned int tag);
void mux_set_focus(Chardev *chr, unsigned int focus);
diff --git a/include/chardev/char-fe.h b/include/chardev/char-fe.h
index 8ef05b3dd0..cb28692f38 100644
--- a/include/chardev/char-fe.h
+++ b/include/chardev/char-fe.h
@@ -8,12 +8,12 @@ typedef void IOEventHandler(void *opaque, QEMUChrEvent event);
typedef int BackendChangeHandler(void *opaque);

/**
- * struct CharBackend - back end as seen by front end
+ * struct CharFrontend - back end as seen by front end

I stopped here, haven't read the rest of the patch but the above comment seems to become inconsistent. Which is the front end and back end now?

Regards,
BALATON Zoltan

Reply via email to