Commit 63ac8517 authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab Committed by Jonathan Corbet

docs: kernel-doc.rst: better describe kernel-doc arguments

Add a new section to describe kernel-doc arguments,
adding examples about how identation should happen, as failing
to do that causes Sphinx to do the wrong thing.
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
Signed-off-by: default avatarJonathan Corbet <corbet@lwn.net>
parent 012e93cb
...@@ -112,16 +112,17 @@ Example kernel-doc function comment:: ...@@ -112,16 +112,17 @@ Example kernel-doc function comment::
/** /**
* foobar() - Brief description of foobar. * foobar() - Brief description of foobar.
* @arg: Description of argument of foobar. * @argument1: Description of parameter argument1 of foobar.
* @argument2: Description of parameter argument2 of foobar.
* *
* Longer description of foobar. * Longer description of foobar.
* *
* Return: Description of return value of foobar. * Return: Description of return value of foobar.
*/ */
int foobar(int arg) int foobar(int argument1, char *argument2)
The format is similar for documentation for structures, enums, paragraphs, The format is similar for documentation for structures, enums, paragraphs,
etc. See the sections below for details. etc. See the sections below for specific details of each type.
The kernel-doc structure is extracted from the comments, and proper `Sphinx C The kernel-doc structure is extracted from the comments, and proper `Sphinx C
Domain`_ function and type descriptions with anchors are generated for them. The Domain`_ function and type descriptions with anchors are generated for them. The
...@@ -130,6 +131,43 @@ cross-references. See below for details. ...@@ -130,6 +131,43 @@ cross-references. See below for details.
.. _Sphinx C Domain: http://www.sphinx-doc.org/en/stable/domains.html .. _Sphinx C Domain: http://www.sphinx-doc.org/en/stable/domains.html
Parameters and member arguments
-------------------------------
The kernel-doc function comments describe each parameter to the function and
function typedefs or each member of struct/union, in order, with the
``@argument:`` descriptions. For each non-private member argument, one
``@argument`` definition is needed.
The ``@argument:`` descriptions begin on the very next line following
the opening brief function description line, with no intervening blank
comment lines.
The ``@argument:`` descriptions may span multiple lines.
.. note::
If the ``@argument`` description has multiple lines, the continuation
of the description should be starting exactly at the same column as
the previous line, e. g.::
* @argument: some long description
* that continues on next lines
or::
* @argument:
* some long description
* that continues on next lines
If a function or typedef parameter argument is ``...`` (e. g. a variable
number of arguments), its description should be listed in kernel-doc
notation as::
* @...: description
Highlights and cross-references Highlights and cross-references
------------------------------- -------------------------------
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment