Commit Graph

602009 Commits

Author SHA1 Message Date
Markus Heiser 037763785a doc-rst: add kernel-include directive
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>
2016-07-08 09:31:04 -03:00
Markus Heiser 580e96c78b doc-rst: auto-generate: fixed include "output/*.h.rst" content
Include auto-generate reST header files. BTW fixed linux_tv/Makefile.

Signed-off-by: Markus Heiser <markus.heiser@darmarIT.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-08 09:31:04 -03:00
Mauro Carvalho Chehab 573720f07b doc-rst: linux_tv/Makefile: Honor quiet mode
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>
2016-07-08 09:31:03 -03:00
Mauro Carvalho Chehab 249e5ba0be doc-rst: videodev2.h: add cross-references for defines
Remove most of ignore stuff for defines, pointing them to the
proper tables/sections.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-08 09:31:02 -03:00
Mauro Carvalho Chehab 194acc56f2 doc-rst: document enum symbols
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>
2016-07-08 09:31:02 -03:00
Mauro Carvalho Chehab 5ed759819f doc-rst: videodev2.h: don't ignore V4L2_STD macros
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>
2016-07-08 09:31:01 -03:00
Mauro Carvalho Chehab 9aff73d2e4 doc-rst: linux_tv: Don't ignore pix formats
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>
2016-07-08 09:31:01 -03:00
Mauro Carvalho Chehab 6aeb3f676a doc-rst: fix some badly converted references
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>
2016-07-08 09:30:55 -03:00
Mauro Carvalho Chehab 9f97b3066c doc-rst: autogenerate videodev2.h.rst file
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>
2016-07-07 15:30:55 -03:00
Mauro Carvalho Chehab 153234c47c doc-rst: parse-headers: don't do substituition references
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>
2016-07-07 15:13:17 -03:00
Mauro Carvalho Chehab 526b884831 doc-rst: parse-headers: add an option to ignore enum symbols
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>
2016-07-07 15:13:07 -03:00
Mauro Carvalho Chehab 034e6c8e72 doc-rst: parse-headers: better handle comments at the source code
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>
2016-07-07 15:12:48 -03:00
Mauro Carvalho Chehab 447654d67c doc-rst: auto-generate video.h.rst
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>
2016-07-07 08:47:24 -03:00
Mauro Carvalho Chehab 0c02966b13 doc-rst: auto-generate net.h.rst
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>
2016-07-07 08:33:38 -03:00
Mauro Carvalho Chehab 34fb803092 doc-rst: auto-generate ca.h.rst
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>
2016-07-07 08:20:42 -03:00
Mauro Carvalho Chehab 8a6199c6b2 doc-rst: auto-generate audio.h.rst
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>
2016-07-07 08:20:42 -03:00
Mauro Carvalho Chehab ada66bc105 doc-rst: auto-generate dmx.h.rst
This file should be auto-generated from the header files,
and not hardcoded.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-07 08:20:40 -03:00
Mauro Carvalho Chehab 4ff916a0c9 doc-rst: parse-headers: fix multiline typedef handler
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>
2016-07-07 08:12:57 -03:00
Mauro Carvalho Chehab 6c4c7dadb4 doc-rst: parse-headers: better handle typedefs
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>
2016-07-07 07:22:20 -03:00
Mauro Carvalho Chehab 9c80c74563 doc-rst: parse-headers: be more formal about the valid symbols
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>
2016-07-07 07:08:32 -03:00
Mauro Carvalho Chehab 9afe51129b doc-rst: fix parsing comments and '{' on a separate line
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>
2016-07-07 06:54:00 -03:00
Mauro Carvalho Chehab 7d95fa8d66 doc-dst: parse-headers: highlight deprecated comments
When something is deprecated, highlight it, as we want it
to be clearer to the reader.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-07 06:36:46 -03:00
Mauro Carvalho Chehab 6fe79d1ede doc-rst: parse-headers: improve delimiters to detect symbols
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>
2016-07-07 06:36:46 -03:00
Mauro Carvalho Chehab 1ae6439538 doc-rst: auto-build the frontend.h.rst
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>
2016-07-07 06:36:45 -03:00
Mauro Carvalho Chehab dabf8be33b doc-rst: add parse-headers.pl script
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>
2016-07-07 05:53:06 -03:00
Mauro Carvalho Chehab 39ab63237f doc-rst: linux_tv/index: Rename the book name
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>
2016-07-06 08:31:53 -03:00
Mauro Carvalho Chehab 62acdf3554 doc-rst: v4l2: Rename the V4L2 API title
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>
2016-07-06 08:31:53 -03:00
Mauro Carvalho Chehab 86191cd762 doc-rst: Rename the title of the Digital TV section
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>
2016-07-06 08:20:52 -03:00
Mauro Carvalho Chehab 1c719e648d doc-rst: remote_controllers: fix conversion issues
Make it look like V4L, DVB and MC docbooks initial page.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-06 08:09:58 -03:00
Mauro Carvalho Chehab df94711d32 doc-rst: gen-errors: Improve table layout
Add a :widths: at the flat-table, to make it to look nicer.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-06 07:58:20 -03:00
Mauro Carvalho Chehab 2ceb5d7bc9 doc-rst: media-ioc-enum-entities: better format the table
Add a :widths: at the flat-table, to improve the visual.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-06 07:55:55 -03:00
Mauro Carvalho Chehab 8926814ec7 doc-rst: media-ioc-g-topology: Fix tables
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>
2016-07-06 07:40:01 -03:00
Mauro Carvalho Chehab 8c1cc62a52 doc-rst: mediactl: fix some wrong cross references
Those cross references should point to media control syscalls,
and not to V4L ones.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-05 17:12:37 -03:00
Mauro Carvalho Chehab 32ad2075a4 doc-rst: media-controller-model: fix a typo
Remove a 'm' at the end of the last phrase.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-05 17:05:03 -03:00
Mauro Carvalho Chehab 9336831ec4 doc-rst: media-controller.rst: add missing copy symbol
Just like V4L and DVB parts, add the copyright symbol.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-05 17:02:45 -03:00
Mauro Carvalho Chehab 965a718a8b doc-rst: media-controller: missing credits
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>
2016-07-05 16:58:53 -03:00
Mauro Carvalho Chehab 83f9a55a22 doc-rst: media-controller: fix conversion issues
Make it look just like v4l and DVB parts.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-05 16:55:06 -03:00
Mauro Carvalho Chehab ea02106611 doc-rst: intro: remove obsolete headers
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>
2016-07-05 16:36:22 -03:00
Mauro Carvalho Chehab 534f3d0e86 doc-rst: dvb/intro: Better show the needed include blocks
The include blocks were not properly displayed. Fix it.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-05 16:36:21 -03:00
Mauro Carvalho Chehab e9b72b2744 doc-rst: fix intro_files/dvbstb.png image
The png image was not base64 decoded correctly.
Fix it.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-05 16:36:21 -03:00
Mauro Carvalho Chehab 32b37440dd doc-rst: dvbapi: Fix conversion issues
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>
2016-07-05 16:36:20 -03:00
Mauro Carvalho Chehab b97cd1496d doc-rst: dev-overlay: fix the last warning
Fixes this warning:

Documentation/linux_tv/media/v4l/dev-overlay.rst:247: WARNING: Title underline too short.

struct v4l2_clip [4]_
----------------

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-05 16:27:26 -03:00
Mauro Carvalho Chehab c104290b95 doc-rst: dmabuf: Fix the cross-reference
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>
2016-07-05 16:27:26 -03:00
Mauro Carvalho Chehab 5929cb1769 doc-rst: linux_tv: use :cpp:function:: on all syscalls
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>
2016-07-05 16:27:25 -03:00
Mauro Carvalho Chehab 15e7d6158e doc-rst: linux_tv: don't use uppercases for syscall sections
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>
2016-07-05 15:15:57 -03:00
Markus Heiser 4eb40f14dc doc-rst: customize RTD theme, captions & inline literal
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>
2016-07-05 14:39:51 -03:00
Markus Heiser 9abaf979ab doc-rst: customize RTD theme, table & full width
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>
2016-07-05 14:39:51 -03:00
Mauro Carvalho Chehab 5d55cd2ee7 doc-rst: remove Documentation/linux_tv/conf.py file
This file is actually not used to build the media uAPI docbook.
So, remove it.

Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>
2016-07-05 14:39:36 -03:00
Markus Heiser bc21467114 doc-rst: boilerplate HTML theme customization
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>
2016-07-05 14:38:49 -03:00
Mauro Carvalho Chehab fc833980e3 doc-rst: linux_tv: dvb: put return value at the end
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>
2016-07-05 11:36:55 -03:00