Hi, After this chat on #qemu IRC: 13:20 <stsquad> so what is the difference between a IOReadHandler and IOEventHandler? 13:25 <f4bug> stsquad: one is in-band and the other out-of-band? 13:26 <stsquad> f4bug: ahh yes it seems so - connect/disconnect etc... 13:27 <f4bug> see QEMUChrEvent for IOEventHandler
I thought it might be a good opportunity to make the IOEventHandler typedef meaning more obvious, by using the QEMUChrEvent enum. To be able to build I had to explicit a 'default' case when frontends use a switch(event) case and do not handle all events. Then I used a coccinelle spatch to change the various IOEventHandler. I don't think the last patch can be split, but suggestions are welcome! Regards, Phil. PD: I use git-publish. To avoid spamming too much, I'm using per-patch Cc tag, after the '---' separator. This way each recipient should get the cover and the specific patches of interests, + the last one. Sent with: 'git publish --suppress-cc=cccmd' Cc: "Gonglei (Arei)" <[email protected]> Cc: "Marc-André Lureau" <[email protected]> Cc: Paolo Bonzini <[email protected]> Cc: "Alex Bennée" <[email protected]> Cc: "Philippe Mathieu-Daudé" <[email protected]> Cc: Andrzej Zaborowski <[email protected]> Cc: Peter Maydell <[email protected]> Cc: "Michael S. Tsirkin" <[email protected]> Cc: Kevin Wolf <[email protected]> Cc: Max Reitz <[email protected]> Cc: "Edgar E. Iglesias" <[email protected]> Cc: Alistair Francis <[email protected]> Cc: Antony Pavlov <[email protected]> Cc: Igor Mitsyanko <[email protected]> Cc: Fabien Chouteau <[email protected]> Cc: KONRAD Frederic <[email protected]> Cc: Peter Chubb <[email protected]> Cc: Alberto Garcia <[email protected]> Cc: Michael Walle <[email protected]> Cc: Thomas Huth <[email protected]> Cc: Joel Stanley <[email protected]> Cc: Cornelia Huck <[email protected]> Cc: Halil Pasic <[email protected]> Cc: Christian Borntraeger <[email protected]> Cc: Laurent Vivier <[email protected]> Cc: Amit Shah <[email protected]> Cc: Corey Minyard <[email protected]> Cc: Paul Burton <[email protected]> Cc: Aleksandar Rikalo <[email protected]> Cc: Aurelien Jarno <[email protected]> Cc: Aleksandar Markovic <[email protected]> Cc: Palmer Dabbelt <[email protected]> Cc: Sagar Karandikar <[email protected]> Cc: Bastian Koppelmann <[email protected]> Cc: Gerd Hoffmann <[email protected]> Cc: Samuel Thibault <[email protected]> Cc: "Dr. David Alan Gilbert" <[email protected]> Cc: Markus Armbruster <[email protected]> Cc: Zhang Chen <[email protected]> Cc: Li Zhijian <[email protected]> Cc: Jason Wang <[email protected]> Cc: [email protected] Cc: [email protected] Cc: [email protected] Cc: [email protected] Philippe Mathieu-Daudé (14): hw/ipmi: Remove unnecessary declarations chardev/char: Explicit we ignore some QEMUChrEvent in IOEventHandler vhost-user: Explicit we ignore some QEMUChrEvent in IOEventHandler virtio-console: Explicit we ignore some QEMUChrEvent in IOEventHandler hw/ipmi: Explicit we ignore some QEMUChrEvent in IOEventHandler hw/usb/dev-serial: Explicit we ignore few QEMUChrEvent in IOEventHandler ccid-card-passthru: Explicit we ignore QEMUChrEvent in IOEventHandler hw/usb/redirect: Explicit we ignore few QEMUChrEvent in IOEventHandler monitor/qmp: Explicit we ignore few QEMUChrEvent in IOEventHandler monitor/hmp: Explicit we ignore a QEMUChrEvent in IOEventHandler net/vhost-user: Explicit we ignore few QEMUChrEvent in IOEventHandler vhost-user-blk: Explicit we ignore few QEMUChrEvent in IOEventHandler hw/char/terminal3270: Explicit ignored QEMUChrEvent in IOEventHandler chardev: Use QEMUChrEvent enum in IOEventHandler typedef include/chardev/char-fe.h | 2 +- include/chardev/char-mux.h | 2 +- include/chardev/char.h | 4 ++-- backends/cryptodev-vhost-user.c | 5 ++++- chardev/char-mux.c | 8 ++++---- chardev/char.c | 7 +++++-- gdbstub.c | 2 +- hw/arm/pxa2xx.c | 2 +- hw/arm/strongarm.c | 2 +- hw/block/vhost-user-blk.c | 5 ++++- hw/char/cadence_uart.c | 2 +- hw/char/digic-uart.c | 2 +- hw/char/escc.c | 2 +- hw/char/etraxfs_ser.c | 2 +- hw/char/exynos4210_uart.c | 2 +- hw/char/grlib_apbuart.c | 2 +- hw/char/imx_serial.c | 2 +- hw/char/ipoctal232.c | 2 +- hw/char/lm32_juart.c | 2 +- hw/char/lm32_uart.c | 2 +- hw/char/mcf_uart.c | 2 +- hw/char/milkymist-uart.c | 2 +- hw/char/nrf51_uart.c | 2 +- hw/char/pl011.c | 2 +- hw/char/serial.c | 2 +- hw/char/sh_serial.c | 2 +- hw/char/terminal3270.c | 5 ++++- hw/char/virtio-console.c | 5 ++++- hw/char/xilinx_uartlite.c | 2 +- hw/ipmi/ipmi_bmc_extern.c | 10 +++++----- hw/mips/boston.c | 2 +- hw/mips/mips_malta.c | 2 +- hw/riscv/riscv_htif.c | 2 +- hw/riscv/sifive_uart.c | 2 +- hw/usb/ccid-card-passthru.c | 5 ++++- hw/usb/dev-serial.c | 5 ++++- hw/usb/redirect.c | 5 ++++- monitor/hmp.c | 6 +++++- monitor/qmp.c | 5 ++++- net/filter-mirror.c | 2 +- net/vhost-user.c | 7 +++++-- qtest.c | 2 +- tests/test-char.c | 6 +++--- tests/vhost-user-test.c | 2 +- 44 files changed, 90 insertions(+), 56 deletions(-) -- 2.21.0
