Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7cb59509 authored by Hans Verkuil's avatar Hans Verkuil Committed by Mauro Carvalho Chehab
Browse files

[media] v4l2-framework: update documentation



'parent' was renamed to 'dev_parent'. Clarify how/when this should be used.

Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
Acked-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent e5715cfb
Loading
Loading
Loading
Loading
+11 −6
Original line number Diff line number Diff line
@@ -574,9 +574,13 @@ of the video device exits.
The default video_device_release() callback just calls kfree to free the
allocated memory.

There is also a video_device_release_empty() function that does nothing
(is empty) and can be used if the struct is embedded and there is nothing
to do when it is released.

You should also set these fields:

- v4l2_dev: set to the v4l2_device parent device.
- v4l2_dev: must be set to the v4l2_device parent device.

- name: set to something descriptive and unique.

@@ -613,15 +617,16 @@ You should also set these fields:
  If you want to have a separate priority state per (group of) device node(s),
  then you can point it to your own struct v4l2_prio_state.

- parent: you only set this if v4l2_device was registered with NULL as
- dev_parent: you only set this if v4l2_device was registered with NULL as
  the parent device struct. This only happens in cases where one hardware
  device has multiple PCI devices that all share the same v4l2_device core.

  The cx88 driver is an example of this: one core v4l2_device struct, but
  it is used by both an raw video PCI device (cx8800) and a MPEG PCI device
  (cx8802). Since the v4l2_device cannot be associated with a particular
  PCI device it is setup without a parent device. But when the struct
  video_device is setup you do know which parent PCI device to use.
  it is used by both a raw video PCI device (cx8800) and a MPEG PCI device
  (cx8802). Since the v4l2_device cannot be associated with two PCI devices
  at the same time it is setup without a parent device. But when the struct
  video_device is initialized you *do* know which parent PCI device to use and
  so you set dev_device to the correct PCI device.

- flags: optional. Set to V4L2_FL_USE_FH_PRIO if you want to let the framework
  handle the VIDIOC_G/S_PRIORITY ioctls. This requires that you use struct