Adding the header file is interesting for several reasons:
1) It makes MC documentation consistend with other parts;
2) The header file can be used as a quick index to all API
elements;
3) The cross-reference check helps to identify symbols that
aren't documented.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
The function that replace references add a "\ " at the end of
references, to avoid the ReST markup parser to not identify
them as references. That works fine except for the end of lines,
as a sequence of { '\', ' ', '\n' } characters makes Sphinx
to ignore the end of line. So, strip those escape/spaces at the
end of lines.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Changesets:
eaa0b96bbb ("[media] media: Add video statistics computation functions")
and
1179aab13d ("[media] media: Add video processing entity functions")
added some new elements to the "media entity types" table at the
DocBook. We need to do the same at the reST version, in order to
keep it in sync with the DocBook version.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
leaved content unchanged, only improved markup and references
* more man-like sections (add Name section)
* defined target for each stuct field description
* replace constant with ":ref:" to (field) description
Signed-off-by: Markus Heiser <markus.heiser@darmarIT.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
This is the reST migration of media's CEC part. The migration is based
on media_tree's cec branch:
https://git.linuxtv.org/media_tree.gitc7169ad * cec media_tree/cec [media] DocBook/media: add CEC documentation
Signed-off-by: Markus Heiser <markus.heiser@darmarIT.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Changeset 811c6d6a42 ("[media] V4L: fix the Z16 format definition")
fixed the definition for DocBook, but we need to replicate it
also to ReST.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Changeset 8c9f46095176 ("[media] DocBook: mention the memory type to
be set for all streaming I/O") updated the media DocBook to mention
the need of filling the memory types. We need to keep the ReST
doc updated to such change.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Commit 707e65831d3b("[media] DocBook: add dmabuf as streaming I/O
in VIDIOC_REQBUFS description") added DMABUF to reqbufs description,
but, as we're migrating to ReST markup, we need to keep it in sync
with the change.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
The name of the subsystem is "media", and not "linux_tv". Also,
as we plan to add other stuff there in the future, let's
rename also the media uAPI book to media_uapi, to make it
clearer.
No functional changes.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
The kernel-include directive is needed to include the auto generated rst
content from a build (pre-) process. E.g. the linux_tv Makefile
generates intermediate reST-files from header files. Since there is a O=
option:
make O=dir [targets] Locate all output files in "dir"
We need to include intermediate reST files from arbitrary (O=/tmp/foo)
locations:
The 'kernel-include' reST-directive is a replacement for the 'include'
directive. The 'kernel-include' directive expand environment variables
in the path name and allows to include files from arbitrary locations.
.. hint::
Including files from arbitrary locations (e.g. from '/etc') is a
security risk for builders. This is why the 'include' directive from
docutils *prohibit* pathnames pointing to locations *above* the
filesystem tree where the reST document with the include directive is
placed.
Substrings of the form $name or ${name} are replaced by the value of
environment variable name. Malformed variable names and references to
non-existing variables are left unchanged.
Signed-off-by: Markus Heiser <markus.heiser@darmarIT.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Cleanup the Makefile and handle the V=1 flag and make it
to work when specifying an output directory with O=dir
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
After checking that all enum fields are documented at the
corresponding table on the rst file, let's point to the
table, instead of ignore the symbols.
A few symbols are not meant to be documented, as they're
deprecated stuff. keep ignoring them.
One enum field is not documented. Either it is obsolete
or a documentation gap. So, produce warnings for it.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
The content of those macros are all declared at the v4l2-std-id
table. So, point to it.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Now that the reference problems were solved, let's not
ignore anymore the pix formats, as all of them are already
documented.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Several references were not converted right. That's why
so many symbols were lost when parsing videodev2.h header.
Fix them.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
This file comes from the uAPI definitions for V4L2, with is dynamic
and updated on almost every Kernel version. So, this file
needs to be auto-updated, as otherwise the documentation will
become obsolete too early.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Add one extra escape character to avoid those warnings:
Documentation/linux_tv/videodev2.h.rst:6: WARNING: Inline substitution_reference start-string without end-string.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
At videodev2.h, we have hundreds of symbols that don't
currently have a reference yet. Let's ignore for how, while
we don't improve those cross-refs.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
We should not let comments to mangle with the symbols
parsing. Unfortunately, videodev2.h has lots of those
in the middle of enums and structs. So, we need to improve
our parser to discard them.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
This file comes from the uAPI definition header, and
should be auto-generated, to be in sync with Kernel changes.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
This file comes from the uAPI definition header, and
should be auto-generated, to be in sync with Kernel changes.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
This file comes from the uAPI definition header, and
should be auto-generated, to be in sync with Kernel changes.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
This is an auto-generated header. Remove the hardcoded one
and do the right thing here.
NOTE: this is a deprecated API. So, we won't make any
effort to try identifying the meaning of this obscure
API that is used only on a legacy driver.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
The typedef handler should do two things to be generic:
1) parse typedef enums;
2) accept both possible syntaxes:
typedef struct foo { .. } foo_t;
typedef struct { .. } foo_t;
Unfortunately, this is needed to parse some legacy DVB
files, like dvb/audio.h.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
When typedef is used on its multiline format, we need to
also parse enum and struct in the same line.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Be more formal about the valid symbols that are expected by
the parser, to match what c language expects.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
The dmx.h header has two things that causes the parser to
break while handling enums:
per-header enums and the '{' starts on a new line
Both makes the parser to get lexical marks to be detected
as if they were symbols.
Fix it.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
As we had to escape the symbols for the ReST markup to not do
the wrong thing, the logic to discover start/end of strings
are not trivial. Improve the end delimiter detection, in order
to highlight more occurrences of the strings.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
This file is auto-generated with DocBook, from the uapi header.
Do the same with Sphinx.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
This script parses a header file and converts it into a
parsed-literal block, creating references for ioctls,
defines, typedefs, enums and structs.
It also allow an external file to modify the rules, in
order to fix the expressions.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
There's no need for all caps at its name. As the book title is
now showing at the top of each page, let's use Camel Case, to
make it less bold.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
The V4L2 is the only part of the doc that has the word "Specification"
and mentions its version on the title.
Having the version there was important in the past, while we were
getting rid of V4L version 1. But, as v1 is long gone, all it lasts
is history (with is, btw, covered on the spec). So, no need to keep
the version on its title.
So, rename it, to be more generic and look like the remaining
of the document.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
The Digital TV section is ackward for two reasons:
1) it is the only one with everything in upper case;
2) its name is associated with the European digital TV standard.
Rename the part name, and add a notice that it refers to what's
known as "DVB API".
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
The tables were not properly converted. It looked a little
ackward already at DocBook, but the conversion made it worse.
Fix them.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
When I wrote the MC next gen patches, I also improved the media
controller documentation and added documentation for
MEDIA_IOC_G_TOPOLOGY, but I forgot to add the credits on that
time.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>