v1 -> v2: [missing CC qemu-devel@nongnu.org, resend] Separate v1 patch set into 2 parts: Introduce camera subsystem (this one). USB desc fix and UVC. Add maintainer infomation.
v1: 1, The full picture of this patch set: +---------+ +------------+ +---------------+ |UVC(done)| |virtio(TODO)| |other HW device| +---------+ +------------+ +---------------+ | | | | +------------+ | +------------+camera(done)+-------------+ +----+-------+ | +-----------------+---------------------+ | | | +------+------+ +----+-----+ +------+------+ |builtin(done)| |v4l2(done)| |other drivers| +-------------+ +----------+ +-------------+ With this patch set, We can run a desktop VM (Ex Ubuntu-2004), several camera APPs(cheese, kamoso, guvcview and qcam) work fine. Some works still in working: 1, hot-plug 2, compat with live migration 3, several actions defined in UVC SPEC Zhenwei Pi (2): camera: Introduce camera subsystem and builtin driver camera: v4l2: Introduce v4l2 camera driver MAINTAINERS | 7 + camera/builtin.c | 717 ++++++++++++++++++++++++++++++++++++++++ camera/camera-int.h | 19 ++ camera/camera.c | 522 +++++++++++++++++++++++++++++ camera/meson.build | 20 ++ camera/trace-events | 28 ++ camera/trace.h | 1 + camera/v4l2.c | 637 +++++++++++++++++++++++++++++++++++ include/camera/camera.h | 238 +++++++++++++ meson.build | 20 +- meson_options.txt | 3 + qapi/camera.json | 101 ++++++ qapi/meson.build | 1 + qapi/qapi-schema.json | 1 + qemu-options.hx | 13 + softmmu/vl.c | 4 + 16 files changed, 2331 insertions(+), 1 deletion(-) create mode 100644 camera/builtin.c create mode 100644 camera/camera-int.h create mode 100644 camera/camera.c create mode 100644 camera/meson.build create mode 100644 camera/trace-events create mode 100644 camera/trace.h create mode 100644 camera/v4l2.c create mode 100644 include/camera/camera.h create mode 100644 qapi/camera.json -- 2.25.1