summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab+huawei@kernel.org>2025-12-16 15:26:16 +0100
committerJonathan Corbet <corbet@lwn.net>2025-12-22 14:43:25 -0700
commitb580fa304c858e35020f02ed733fa1108fa6de48 (patch)
treec1175168883b67078548778c6940435905d5fc98
parent8deb5d725b48ccc0af27bbe924a657db288a215e (diff)
docs: kernel-doc.rst: document the new "var" kernel-doc markup
Add a description containing the new syntax to document variables within kernel-doc markups. Reviewed-by: Randy Dunlap <rdunlap@infradead.org> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Message-ID: <aa0e3abcd6882a62f3ab9c34033c60fca1c44604.1765894964.git.mchehab+huawei@kernel.org>
-rw-r--r--Documentation/doc-guide/kernel-doc.rst25
1 files changed, 21 insertions, 4 deletions
diff --git a/Documentation/doc-guide/kernel-doc.rst b/Documentation/doc-guide/kernel-doc.rst
index 2e18a810f98b..0de0e344e10d 100644
--- a/Documentation/doc-guide/kernel-doc.rst
+++ b/Documentation/doc-guide/kernel-doc.rst
@@ -342,6 +342,18 @@ Typedefs with function prototypes can also be documented::
*/
typedef void (*type_name)(struct v4l2_ctrl *arg1, void *arg2);
+Variables documentation
+-----------------------
+
+The general format of a kernel-doc variable comment is::
+
+ /**
+ * var var_name - Brief description.
+ *
+ * Description of the var_name variable.
+ */
+ extern int var_name;
+
Object-like macro documentation
-------------------------------
@@ -463,14 +475,18 @@ through the following syntax::
For further details, please refer to the `Sphinx C Domain`_ documentation.
+.. note::
+ Variables aren't automatically cross referenced. For those, you need to
+ explicitly add a C domain cross-reference.
+
Overview documentation comments
-------------------------------
To facilitate having source code and comments close together, you can include
kernel-doc documentation blocks that are free-form comments instead of being
-kernel-doc for functions, structures, unions, enums, or typedefs. This could be
-used for something like a theory of operation for a driver or library code, for
-example.
+kernel-doc for functions, structures, unions, enums, typedefs or variables.
+This could be used for something like a theory of operation for a driver or
+library code, for example.
This is done by using a ``DOC:`` section keyword with a section title.
@@ -538,7 +554,8 @@ identifiers: *[ function/type ...]*
Include documentation for each *function* and *type* in *source*.
If no *function* is specified, the documentation for all functions
and types in the *source* will be included.
- *type* can be a ``struct``, ``union``, ``enum``, or ``typedef`` identifier.
+ *type* can be a ``struct``, ``union``, ``enum``, ``typedef`` or ``var``
+ identifier.
Examples::