| From 9061cb407d41fcdee9f89776ea128b28ccce3ae7 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Thu, 18 Sep 2025 13:54:55 +0200 |
| Subject: scripts: kdoc_parser.py: warn about Python version only once |
| |
| From: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> |
| |
| [ Upstream commit ade9b9576e2f000fb2ef0ac3bcd26e1167fd813b ] |
| |
| When running kernel-doc over multiple documents, it emits |
| one error message per file with is not what we want: |
| |
| $ python3.6 scripts/kernel-doc.py . --none |
| ... |
| Warning: ./include/trace/events/swiotlb.h:0 Python 3.7 or later is required for correct results |
| Warning: ./include/trace/events/iommu.h:0 Python 3.7 or later is required for correct results |
| Warning: ./include/trace/events/sock.h:0 Python 3.7 or later is required for correct results |
| ... |
| |
| Change the logic to warn it only once at the library: |
| |
| $ python3.6 scripts/kernel-doc.py . --none |
| Warning: Python 3.7 or later is required for correct results |
| Warning: ./include/cxl/features.h:0 Python 3.7 or later is required for correct results |
| |
| When running from command line, it warns twice, but that sounds |
| ok. |
| |
| Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> |
| Message-ID: <68e54cf8b1201d1f683aad9bc710a99421910356.1758196090.git.mchehab+huawei@kernel.org> |
| Signed-off-by: Jonathan Corbet <corbet@lwn.net> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| scripts/lib/kdoc/kdoc_parser.py | 7 ++++++- |
| 1 file changed, 6 insertions(+), 1 deletion(-) |
| |
| diff --git a/scripts/lib/kdoc/kdoc_parser.py b/scripts/lib/kdoc/kdoc_parser.py |
| index 2376f180b1fa9..89d920e0b65ca 100644 |
| --- a/scripts/lib/kdoc/kdoc_parser.py |
| +++ b/scripts/lib/kdoc/kdoc_parser.py |
| @@ -350,6 +350,7 @@ class KernelEntry: |
| self.section = SECTION_DEFAULT |
| self._contents = [] |
| |
| +python_warning = False |
| |
| class KernelDoc: |
| """ |
| @@ -383,9 +384,13 @@ class KernelDoc: |
| # We need Python 3.7 for its "dicts remember the insertion |
| # order" guarantee |
| # |
| - if sys.version_info.major == 3 and sys.version_info.minor < 7: |
| + global python_warning |
| + if (not python_warning and |
| + sys.version_info.major == 3 and sys.version_info.minor < 7): |
| + |
| self.emit_msg(0, |
| 'Python 3.7 or later is required for correct results') |
| + python_warning = True |
| |
| def emit_msg(self, ln, msg, warning=True): |
| """Emit a message""" |
| -- |
| 2.51.0 |
| |