summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab+huawei@kernel.org>2026-03-17 21:09:39 +0300
committerJonathan Corbet <corbet@lwn.net>2026-03-23 00:02:29 +0300
commit827b9458c9334733c598ff755bea84774ca97564 (patch)
tree9b314741c80e557f753147eab736ffb687593782
parent024e200e2a89d71dceff7d1bff8ae77b145726e0 (diff)
downloadlinux-827b9458c9334733c598ff755bea84774ca97564.tar.xz
docs: kernel-doc.rst: document private: scope propagation
This was an undefined behavior, but at least one place used private: inside a nested struct meant to not be propagated outside it. Kernel-doc now defines how this is propagated. So, document that. Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Message-ID: <bbe0ed698c21f3f930a561b885bc8a47824f7f1d.1773770483.git.mchehab+huawei@kernel.org>
-rw-r--r--Documentation/doc-guide/kernel-doc.rst6
1 files changed, 6 insertions, 0 deletions
diff --git a/Documentation/doc-guide/kernel-doc.rst b/Documentation/doc-guide/kernel-doc.rst
index 8d2c09fb36e4..1c148fe8e1f9 100644
--- a/Documentation/doc-guide/kernel-doc.rst
+++ b/Documentation/doc-guide/kernel-doc.rst
@@ -213,6 +213,10 @@ The ``private:`` and ``public:`` tags must begin immediately following a
``/*`` comment marker. They may optionally include comments between the
``:`` and the ending ``*/`` marker.
+When ``private:`` is used on nested structs, it propagates only to inner
+structs/unions.
+
+
Example::
/**
@@ -256,8 +260,10 @@ It is possible to document nested structs and unions, like::
union {
struct {
int memb1;
+ /* private: hides memb2 from documentation */
int memb2;
};
+ /* Everything here is public again, as private scope finished */
struct {
void *memb3;
int memb4;