While the qemu-storage-daemon command line is still considered unstable, let's change --chardev from the old QemuOpts-based parser to QAPI, so that it becomes a simple mapping of chardev-add to the command line and will fit in a future fully QAPIfied command line without later incompatible changes or additional compatibility glue.
Kevin Wolf (6): char/stdio: Fix QMP default for 'signal' char: Factor out qemu_chr_print_types() qapi: Remove wrapper struct for simple unions qapi: Optionally parse simple unions as flat tests/qapi-schema: Flat representation of simple unions qemu-storage-daemon: Use qmp_chardev_add() for --chardev qapi/char.json | 6 +- docs/devel/qapi-code-gen.txt | 43 +++++++--- include/chardev/char.h | 1 + include/qapi/visitor-impl.h | 3 + include/qapi/visitor.h | 10 +++ backends/tpm/tpm_emulator.c | 3 +- backends/tpm/tpm_passthrough.c | 4 +- block/crypto.c | 3 +- block/qcow2.c | 9 +- block/vmdk.c | 14 ++-- blockdev.c | 36 ++++---- chardev/char-file.c | 5 +- chardev/char-mux.c | 5 +- chardev/char-parallel.c | 5 +- chardev/char-pipe.c | 7 +- chardev/char-ringbuf.c | 5 +- chardev/char-serial.c | 5 +- chardev/char-socket.c | 13 ++- chardev/char-stdio.c | 9 +- chardev/char-udp.c | 11 +-- chardev/char.c | 27 +++--- chardev/msmouse.c | 4 +- chardev/wctablet.c | 4 +- hw/core/numa.c | 6 +- hw/display/xenfb.c | 8 +- hw/input/hid.c | 8 +- hw/input/ps2.c | 6 +- hw/input/virtio-input-hid.c | 8 +- hw/mem/pc-dimm.c | 18 ++-- hw/virtio/virtio-mem-pci.c | 3 +- hw/virtio/virtio-pmem-pci.c | 3 +- monitor/hmp-cmds.c | 14 ++-- qapi/qapi-visit-core.c | 10 +++ qemu-keymap.c | 2 +- replay/replay-input.c | 46 +++++----- storage-daemon/qemu-storage-daemon.c | 47 +++++++++-- tests/test-char.c | 12 ++- tests/test-clone-visitor.c | 14 ++-- tests/test-qmp-cmds.c | 2 +- tests/test-qobject-input-visitor.c | 24 +++--- tests/test-qobject-output-visitor.c | 24 +++--- ui/console.c | 5 +- ui/input-keymap.c | 12 +-- ui/input-legacy.c | 12 +-- ui/input.c | 43 +++++----- util/qemu-sockets.c | 8 +- scripts/qapi/expr.py | 7 +- scripts/qapi/introspect.py | 7 +- scripts/qapi/schema.py | 63 +++++++++++--- scripts/qapi/visit.py | 36 ++++++++ tests/qapi-schema/doc-good.out | 8 +- tests/qapi-schema/flat-union-allow-flat.err | 2 + tests/qapi-schema/flat-union-allow-flat.json | 10 +++ tests/qapi-schema/flat-union-allow-flat.out | 0 tests/qapi-schema/meson.build | 4 + tests/qapi-schema/qapi-schema-test.json | 10 +++ tests/qapi-schema/qapi-schema-test.out | 84 +++++++------------ tests/qapi-schema/union-allow-flat-bad.err | 2 + tests/qapi-schema/union-allow-flat-bad.json | 5 ++ tests/qapi-schema/union-allow-flat-bad.out | 0 .../union-allow-flat-builtin-type.err | 2 + .../union-allow-flat-builtin-type.json | 5 ++ .../union-allow-flat-builtin-type.out | 0 tests/qapi-schema/union-clash-member.err | 2 + tests/qapi-schema/union-clash-member.json | 6 ++ tests/qapi-schema/union-clash-member.out | 0 66 files changed, 484 insertions(+), 336 deletions(-) create mode 100644 tests/qapi-schema/flat-union-allow-flat.err create mode 100644 tests/qapi-schema/flat-union-allow-flat.json create mode 100644 tests/qapi-schema/flat-union-allow-flat.out create mode 100644 tests/qapi-schema/union-allow-flat-bad.err create mode 100644 tests/qapi-schema/union-allow-flat-bad.json create mode 100644 tests/qapi-schema/union-allow-flat-bad.out create mode 100644 tests/qapi-schema/union-allow-flat-builtin-type.err create mode 100644 tests/qapi-schema/union-allow-flat-builtin-type.json create mode 100644 tests/qapi-schema/union-allow-flat-builtin-type.out create mode 100644 tests/qapi-schema/union-clash-member.err create mode 100644 tests/qapi-schema/union-clash-member.json create mode 100644 tests/qapi-schema/union-clash-member.out -- 2.28.0