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>
The video, audio and OSD APIs are obsolete. V4L2 should be
used instead. So, remove them from this intro item.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
The conversion of this file didn't happen too well. We want
the items numbered, and format it just like what we did with
part 1 of the document.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Fixes this warning:
Documentation/linux_tv/media/v4l/dmabuf.rst:150: WARNING: undefined label: vidioc_dqbuf (if the link has no caption the label must precede a section header)
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
Now that we have one syscall per page, using :cpp:function::
cleans up almost all warnings, with is a great thing.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
On the syscall conversions, we used uppercase for the sections,
but this is too bold. So, convert them to Camel Case, as it
looks visually better.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
The layout of (table) captions in the RTD theme is a bit ugly and the
bordered, red colored of inline literals is a bit to gaudy. The
requirements has been discussed in the ML [1].
captions:
- captions should have 100% (not 85%) font size
- hide the permalink symbol as long as link is not hovered
inline literal:
- drop the borderbox and red color
[1] http://article.gmane.org/gmane.linux.drivers.video-input-infrastructure/101099
Signed-off-by: Markus Heiser <markus.heiser@darmarIT.de>
The default table layout of the RTD theme does not fit for vast tables,
like the ones we have in the linux_tv project. This has been discussed
on the ML [1].
The RTD theme is a two column layout, with a navigation column on the
left and a content column on the right:
content column
RTD theme's default is 800px as max width for the content, but we have
tables with tons of columns, which need the full width of the
view-port (BTW: *full width* is what DocBook's HTML is).
table
- sequences of whitespace should collapse into a single whitespace.
- make the overflow auto (scrollbar if needed)
- align caption "left" ("center" is unsuitable on vast tables)
[1] http://article.gmane.org/gmane.linux.kernel/2216509
Signed-off-by: Markus Heiser <markus.heiser@darmarIT.de>
Implements the minimal boilerplate for Sphinx HTML theme customization.
Signed-off-by: Markus Heiser <markus.heiser@darmarIT.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
On some syscall descriptions, the tables are described after
the return value. Do that inside descriptions.
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>