[PATCH v8 0/7] document types of hardware control for V4L2

From: Mauro Carvalho Chehab
Date: Tue Oct 10 2017 - 07:47:24 EST


On Kernel 2.6.39, the omap3 driver was introduced together with a new way
to control complex V4L2 devices used on embedded systems, but this was
never documented, as the original idea were to have "soon" support for
standard apps to use it as well, via libv4l, but that didn't happen so far.

Also, it is not possible for an userspace applicatin to detect the kind of
control a device supports.

This series fill the gap, by documenting the new type of hardware
control and adding a way for userspace to detect if the device can be
used or not by an standard V4L2 application.

Notes:
====

1) For the sake of better review, this series start with the addition of a
glossary, as requested by Laurent. Please notice, however, that
the glossary there references some new captions that will only be added
by subsequent patches. So, when this series get applied, the glossary
patch should actually be merged after the patches that introduce those
new captions, in order to avoid warnings for non-existing references.

2) This series doesn't contain patches that actually use the new flag.
This will be added after such patch gets reviewed.

v8:
- Addressed Hans and Sakari's comments. Hopefully, we'll all agree
with this one :-)
- Added :term:`foo` references at the glossary and at the first time a
term appears inside a V4L2 section.
I opted to not replace all occurences for a couple of reasons:
a) it sounded overkill to me;
b) if we decide to change some term, there will be a lot
more stuff to be fixed, specially for terms in plural,
as a plural for :term:`device` would be
:term:`devices <device>`.
Once we set this patchset into a stone, it could make sense to
run some script that would replace every other occurrence of the
glossary terms within Documentation/media/uapi/v4l to link to
the glossary reference - but let's postpone this to be applied
on a separate patchset.
Btw, it probably makes sense to make the glossary as a general
media book glossary - but again, this is out of topic for this
patchset.

v7:
- Altered some nomenclature at the glossary as suggested by Hans
and used git-filter to change it on all patches.

v6:
- Some editorial changes based on comments from Hans and Sakari.

v5:
- Added more terms to the glossary
- Adjusted some wording as proposed by Hans on a few patches
and added his ack on others

v4:

- Addressed Hans comments for v2;
- Fixed broken references at the glossary.rst

v3:

- Add a glossary to be used by the new documentation about hardware control;
- Add a patch removing minor number range
- Use glossary terms at open.rst
- Split the notice about subdev-API on vdev-centric, as this change
will require further discussions.

v2:

- added a patch at the beginning of the series better defining the
device node naming rules;
- better defined the differenes between device hardware and V4L2 device node
as suggested by Laurent and with changes proposed by Hans and Sakari
- changed the caps flag to indicate MC-centric devices
- removed the final patch that would use the new caps flag. I'll write it
once we agree on the new caps flag.

Mauro Carvalho Chehab (7):
media: add glossary.rst with a glossary of terms used at V4L2 spec
media: open.rst: better document device node naming
media: open.rst: remove the minor number range
media: open.rst: document vdevnode-centric and mc-centric types
media: open.rst: Adjust some terms to match the glossary
media: videodev2: add a flag for MC-centric devices
media: open.rst: add a notice about subdev-API on vdev-centric

Documentation/media/uapi/v4l/glossary.rst | 167 +++++++++++++++++++++++
Documentation/media/uapi/v4l/open.rst | 158 +++++++++++++++++----
Documentation/media/uapi/v4l/v4l2.rst | 1 +
Documentation/media/uapi/v4l/vidioc-querycap.rst | 5 +
Documentation/media/videodev2.h.rst.exceptions | 1 +
include/uapi/linux/videodev2.h | 2 +
6 files changed, 309 insertions(+), 25 deletions(-)
create mode 100644 Documentation/media/uapi/v4l/glossary.rst

--
2.13.6