f9cdbc57 | 15-Apr-2025 |
Mauro Carvalho Chehab <mchehab+huawei@kernel.org> |
scripts/lib/kdoc/kdoc_parser.py: move states to a separate class
States are really enums. on Python, enums are actually classes, as can be seen at: https://docs.python.org/3/library/enum.html
Yet,
scripts/lib/kdoc/kdoc_parser.py: move states to a separate class
States are really enums. on Python, enums are actually classes, as can be seen at: https://docs.python.org/3/library/enum.html
Yet, I can't see any advantage of derivating the class from enum class here. So, just place the states on a separate class.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/00cb4e0b8a1545bf7c4401b58213841db5cba2e2.1744685912.git.mchehab+huawei@kernel.org
show more ...
|
de258fa8 | 08-Apr-2025 |
Sean Anderson <sean.anderson@linux.dev> |
scripts: kernel-doc: fix parsing function-like typedefs (again)
Typedefs like
typedef struct phylink_pcs *(*pcs_xlate_t)(const u64 *args);
have a typedef_type that ends with a * and therefore
scripts: kernel-doc: fix parsing function-like typedefs (again)
Typedefs like
typedef struct phylink_pcs *(*pcs_xlate_t)(const u64 *args);
have a typedef_type that ends with a * and therefore has no word boundary. Add an extra clause for the final group of the typedef_type so we only require a word boundary if we match a word.
[mchehab: modify also kernel-doc.py, as we're deprecating the perl version]
Fixes: 7d2c6b1edf79 ("scripts: kernel-doc: fix parsing function-like typedefs") Signed-off-by: Sean Anderson <sean.anderson@linux.dev> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/e0abb103c73a96d76602d909f60ab8fd6e2fd0bd.1744106242.git.mchehab+huawei@kernel.org
show more ...
|
04a383ce | 08-Apr-2025 |
Mauro Carvalho Chehab <mchehab+huawei@kernel.org> |
scripts/kernel-doc.py: Rename the kernel doc Re class to KernRe
Using just "Re" makes it harder to distinguish from the native "re" class. So, let's rename it.
Signed-off-by: Mauro Carvalho Chehab
scripts/kernel-doc.py: Rename the kernel doc Re class to KernRe
Using just "Re" makes it harder to distinguish from the native "re" class. So, let's rename it.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/4e095ecd5235a3e811ddcf5bad4cfb92f1da0a4a.1744106242.git.mchehab+huawei@kernel.org
show more ...
|
16740c29 | 08-Apr-2025 |
Mauro Carvalho Chehab <mchehab+huawei@kernel.org> |
scripts/kernel_doc.py: better handle exported symbols
Change the logic which detects internal/external symbols in a way that we can re-use it when calling via Sphinx extension.
While here, remove a
scripts/kernel_doc.py: better handle exported symbols
Change the logic which detects internal/external symbols in a way that we can re-use it when calling via Sphinx extension.
While here, remove an unused self.config var and let it clearer that self.config variables are read-only. This helps to allow handling multiple times in parallel if ever needed.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/6a69ba8d2b7ee6a6427abb53e60d09bd4d3565ee.1744106242.git.mchehab+huawei@kernel.org
show more ...
|
a566ba5a | 08-Apr-2025 |
Mauro Carvalho Chehab <mchehab+huawei@kernel.org> |
scripts/lib/kdoc/kdoc_files.py: allow filtering output per fname
For kerneldoc Sphinx extension, it is useful to display parsed results only from a single file. Change the logic at KernelFiles.msg()
scripts/lib/kdoc/kdoc_files.py: allow filtering output per fname
For kerneldoc Sphinx extension, it is useful to display parsed results only from a single file. Change the logic at KernelFiles.msg() to allow such usage.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/9f5c0ff2568f34532ca99465fb378241d831d39f.1744106242.git.mchehab+huawei@kernel.org
show more ...
|
11afeab6 | 08-Apr-2025 |
Mauro Carvalho Chehab <mchehab+huawei@kernel.org> |
scripts/kernel-doc.py: Properly handle Werror and exit codes
The original kernel-doc script has a logic to return warnings as errors, and to report the number of warnings found, if in verbose mode.
scripts/kernel-doc.py: Properly handle Werror and exit codes
The original kernel-doc script has a logic to return warnings as errors, and to report the number of warnings found, if in verbose mode.
Implement it to be fully compatible with the original script.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/de33b0cebd9fdf82d8b221bcfe41db7269286222.1744106242.git.mchehab+huawei@kernel.org
show more ...
|
e4b2bd90 | 08-Apr-2025 |
Mauro Carvalho Chehab <mchehab+huawei@kernel.org> |
scripts/lib/kdoc/kdoc_parser.py: remove a python 3.9 dependency
str.removesuffix() was added on Python 3.9, but rstrip() actually does the same thing, as we just want to remove a single character. I
scripts/lib/kdoc/kdoc_parser.py: remove a python 3.9 dependency
str.removesuffix() was added on Python 3.9, but rstrip() actually does the same thing, as we just want to remove a single character. It is also shorter.
So, use it.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/f64cc4adef107ada26da4bfb7e4b7002dd783173.1744106242.git.mchehab+huawei@kernel.org
show more ...
|
91d00bd5 | 08-Apr-2025 |
Mauro Carvalho Chehab <mchehab+huawei@kernel.org> |
scripts/kernel-doc.py: properly handle KBUILD_BUILD_TIMESTAMP
The logic that handles KBUILD_BUILD_TIMESTAMP is wrong, and adds a dependency of a third party module (dateutil).
Fix it.
Signed-off-b
scripts/kernel-doc.py: properly handle KBUILD_BUILD_TIMESTAMP
The logic that handles KBUILD_BUILD_TIMESTAMP is wrong, and adds a dependency of a third party module (dateutil).
Fix it.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/ffc70a1b741b010365ed82f31611018f24f91ce7.1744106242.git.mchehab+huawei@kernel.org
show more ...
|
2ab867a4 | 08-Apr-2025 |
Mauro Carvalho Chehab <mchehab+huawei@kernel.org> |
scripts/kernel-doc.py: move modulename to man class
Only man output requires a modulename. Move its definition to the man class.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Sig
scripts/kernel-doc.py: move modulename to man class
Only man output requires a modulename. Move its definition to the man class.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/583085e3885b0075d16ef9961b4f2ad870f30a55.1744106242.git.mchehab+huawei@kernel.org
show more ...
|
78ea748f | 08-Apr-2025 |
Mauro Carvalho Chehab <mchehab+huawei@kernel.org> |
scripts/lib/kdoc/kdoc_parser.py: fix Python compat with < v3.13
- str.replace count was introduced only in Python 3.13; - before Python 3.13, f-string dict arguments can't use the same delimiter o
scripts/lib/kdoc/kdoc_parser.py: fix Python compat with < v3.13
- str.replace count was introduced only in Python 3.13; - before Python 3.13, f-string dict arguments can't use the same delimiter of the main string.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/e2b8e8361294558dae09236e4b8fbea5d86be5a3.1744106242.git.mchehab+huawei@kernel.org
show more ...
|
485f6f79 | 08-Apr-2025 |
Mauro Carvalho Chehab <mchehab+huawei@kernel.org> |
scripts/kernel-doc.py: adjust some coding style issues
Make pylint happier by adding some missing documentation and addressing a couple of pylint warnings.
Signed-off-by: Mauro Carvalho Chehab <mch
scripts/kernel-doc.py: adjust some coding style issues
Make pylint happier by adding some missing documentation and addressing a couple of pylint warnings.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/0f9d5473105e4c09c6c41e3db72cc63f1d4d55f9.1744106242.git.mchehab+huawei@kernel.org
show more ...
|
43ecfe6b | 08-Apr-2025 |
Mauro Carvalho Chehab <mchehab+huawei@kernel.org> |
scripts/kernel-doc.py: Set an output format for --none
Now that warnings output is deferred to the output plugin, we need to have an output style for none as well.
So, use the OutputFormat base cla
scripts/kernel-doc.py: Set an output format for --none
Now that warnings output is deferred to the output plugin, we need to have an output style for none as well.
So, use the OutputFormat base class on such cases.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/caa1089e16f4609f792ff26731ad9e9c3a6f6b1d.1744106242.git.mchehab+huawei@kernel.org
show more ...
|
9cbc2d3b | 08-Apr-2025 |
Mauro Carvalho Chehab <mchehab+huawei@kernel.org> |
scripts/kernel-doc.py: postpone warnings to the output plugin
We don't want to have warnings displayed for symbols that weren't output. So, postpone warnings print to the output plugin, where symbol
scripts/kernel-doc.py: postpone warnings to the output plugin
We don't want to have warnings displayed for symbols that weren't output. So, postpone warnings print to the output plugin, where symbol output is validated.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/e6344711e390cf22af02a56bb5dd51ca67c0afb6.1744106242.git.mchehab+huawei@kernel.org
show more ...
|
9235ec5e | 08-Apr-2025 |
Mauro Carvalho Chehab <mchehab+huawei@kernel.org> |
scripts/kernel-doc.py: properly handle out_section for ReST
There is a difference at the way DOC sections are output with the include mode. Handle such difference properly.
Signed-off-by: Mauro Car
scripts/kernel-doc.py: properly handle out_section for ReST
There is a difference at the way DOC sections are output with the include mode. Handle such difference properly.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/935d00c6a7c45b25a8be72fad6183fe5a8476cd2.1744106242.git.mchehab+huawei@kernel.org
show more ...
|
408269ae | 08-Apr-2025 |
Mauro Carvalho Chehab <mchehab+huawei@kernel.org> |
scripts/kernel-doc.py: fix handling of doc output check
The filtering logic was seeking for the DOC name to check for symbols, but such data is stored only inside a section. Add it to the output_dec
scripts/kernel-doc.py: fix handling of doc output check
The filtering logic was seeking for the DOC name to check for symbols, but such data is stored only inside a section. Add it to the output_declaration, as it is quicker/easier to check the declaration name than to check inside each section.
While here, make sure that the output for both ReST and man after filtering will be similar to what kernel-doc Perl version does.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/6d8b77af85295452c0191863ea1041f4195aeaaf.1744106242.git.mchehab+huawei@kernel.org
show more ...
|
c3597ab2 | 08-Apr-2025 |
Mauro Carvalho Chehab <mchehab+huawei@kernel.org> |
scripts/kernel-doc.py: fix line number output
With the Pyhton version, the actual output happens after parsing, from records stored at self.entries.
Ensure that line numbers will be properly stored
scripts/kernel-doc.py: fix line number output
With the Pyhton version, the actual output happens after parsing, from records stored at self.entries.
Ensure that line numbers will be properly stored there and that they'll produce the desired results at the ReST output.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/5182a531d14b5fe9e1fc5da5f9dae05d66852a60.1744106242.git.mchehab+huawei@kernel.org
show more ...
|
0873e554 | 08-Apr-2025 |
Mauro Carvalho Chehab <mchehab+huawei@kernel.org> |
scripts/kernel-doc.py: implement support for -no-doc-sections
The venerable kernel-doc Perl script has a number of options that aren't properly documented. Among them, there is -no-doc-sections, whi
scripts/kernel-doc.py: implement support for -no-doc-sections
The venerable kernel-doc Perl script has a number of options that aren't properly documented. Among them, there is -no-doc-sections, which is used by the Sphinx extension.
Implement support for it.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/06b18a32142b44d5ba8b41ac64a76c02b03b4969.1744106242.git.mchehab+huawei@kernel.org
show more ...
|
799b0d2a | 08-Apr-2025 |
Mauro Carvalho Chehab <mchehab+huawei@kernel.org> |
scripts/kernel-doc.py: move file lists to the parser function
Instead of setting file lists at __init__ time, move it to the actual parsing function. This allows adding more files to be parsed in re
scripts/kernel-doc.py: move file lists to the parser function
Instead of setting file lists at __init__ time, move it to the actual parsing function. This allows adding more files to be parsed in real time, by calling parse function multiple times.
With the new way, the export_files logic was rewritten to avoid parsing twice EXPORT_SYMBOL for partial matches.
Please notice that, with this logic, it can still read the same file twice when export_file is used.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/ab10bc94050406ce6536d4944b5d718ecd70812f.1744106242.git.mchehab+huawei@kernel.org
show more ...
|
4fa5e411 | 08-Apr-2025 |
Mauro Carvalho Chehab <mchehab+huawei@kernel.org> |
scripts/kernel-doc.py: convert message output to an interactor
Instead of directly printing output messages, change kdoc classes to return an interactor with the output message, letting the actual d
scripts/kernel-doc.py: convert message output to an interactor
Instead of directly printing output messages, change kdoc classes to return an interactor with the output message, letting the actual display to happen at the command-line command.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/557304c8458f1fb4aa2e833f4bdaff953094ddcb.1744106242.git.mchehab+huawei@kernel.org
show more ...
|
1d6fea64 | 08-Apr-2025 |
Mauro Carvalho Chehab <mchehab+huawei@kernel.org> |
scripts/kernel-doc.py: move output classes to a separate file
In preparation for letting kerneldoc Sphinx extension to import Python libraries, move kernel-doc output logic to a separate file.
Sign
scripts/kernel-doc.py: move output classes to a separate file
In preparation for letting kerneldoc Sphinx extension to import Python libraries, move kernel-doc output logic to a separate file.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/81087eff25d11c265019a8631f7fc8d3904795d0.1744106242.git.mchehab+huawei@kernel.org
show more ...
|
ee13b3f3 | 08-Apr-2025 |
Mauro Carvalho Chehab <mchehab+huawei@kernel.org> |
scripts/kernel-doc.py: move KernelFiles class to a separate file
The KernelFiles class is the main dispatcher which parses each source file.
In preparation for letting kerneldoc Sphinx extension to
scripts/kernel-doc.py: move KernelFiles class to a separate file
The KernelFiles class is the main dispatcher which parses each source file.
In preparation for letting kerneldoc Sphinx extension to import Python libraries, move regex ancillary classes to a separate file.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/80bc855e128a9ff0a11df5afe9ba71775dfc9a0f.1744106241.git.mchehab+huawei@kernel.org
show more ...
|
d966dc65 | 08-Apr-2025 |
Mauro Carvalho Chehab <mchehab+huawei@kernel.org> |
scripts/kernel-doc.py: move KernelDoc class to a separate file
In preparation for letting kerneldoc Sphinx extension to import Python libraries, move regex ancillary classes to a separate file.
Sig
scripts/kernel-doc.py: move KernelDoc class to a separate file
In preparation for letting kerneldoc Sphinx extension to import Python libraries, move regex ancillary classes to a separate file.
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Link: https://lore.kernel.org/r/c76df228504e711c6b4bcd23d5a0ea1fda678cda.1744106241.git.mchehab+huawei@kernel.org
show more ...
|