mbox series

[v2,0/2] Introduce camera subsystem

Message ID 20220106085304.795010-1-pizhenwei@bytedance.com (mailing list archive)
Headers show
Series Introduce camera subsystem | expand

Message

zhenwei pi Jan. 6, 2022, 8:53 a.m. UTC
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

Comments

zhenwei pi Jan. 10, 2022, 6:11 a.m. UTC | #1
Hi, Peter & Daniel

Sorry about that I'm not clear enough to add a new subsystem into QEMU, 
could you give me more hint?

On 1/6/22 4:53 PM, zhenwei pi wrote:
> 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
>