[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20251110220430.726665-3-corbet@lwn.net>
Date: Mon, 10 Nov 2025 15:04:30 -0700
From: Jonathan Corbet <corbet@....net>
To: linux-doc@...r.kernel.org
Cc: linux-kernel@...r.kernel.org,
Mauro Carvalho Chehab <mchehab+huawei@...nel.org>,
Akira Yokosawa <akiyks@...il.com>,
Jani Nikula <jani.nikula@...ux.intel.com>,
Jonathan Corbet <corbet@....net>
Subject: [PATCH 2/2] docs: bring some order to our Python module hierarchy
Now that we have tools/lib/python for our Python modules, turn them into
proper packages with a single namespace so that everything can just use
tools/lib/python in sys.path. No functional change.
Signed-off-by: Jonathan Corbet <corbet@....net>
---
Documentation/sphinx/kernel_abi.py | 4 ++--
Documentation/sphinx/kernel_include.py | 4 ++--
Documentation/sphinx/kerneldoc.py | 6 +++---
scripts/kernel-doc.py | 6 +++---
tools/docs/check-variable-fonts.py | 4 ++--
tools/docs/get_abi.py | 10 +++++-----
tools/docs/parse-headers.py | 6 +++---
tools/docs/sphinx-build-wrapper | 5 ++---
tools/docs/sphinx-pre-install | 4 ++--
tools/lib/python/__init__.py | 0
tools/lib/python/abi/__init__.py | 0
tools/lib/python/abi/abi_parser.py | 2 +-
tools/lib/python/abi/abi_regex.py | 4 ++--
tools/lib/python/abi/system_symbols.py | 2 +-
tools/lib/python/kdoc/__init__.py | 0
tools/lib/python/kdoc/kdoc_files.py | 4 ++--
tools/lib/python/kdoc/kdoc_output.py | 4 ++--
tools/lib/python/kdoc/kdoc_parser.py | 4 ++--
18 files changed, 34 insertions(+), 35 deletions(-)
create mode 100644 tools/lib/python/__init__.py
create mode 100644 tools/lib/python/abi/__init__.py
create mode 100644 tools/lib/python/kdoc/__init__.py
diff --git a/Documentation/sphinx/kernel_abi.py b/Documentation/sphinx/kernel_abi.py
index 7ec832da8444..5667f207d175 100644
--- a/Documentation/sphinx/kernel_abi.py
+++ b/Documentation/sphinx/kernel_abi.py
@@ -43,9 +43,9 @@ from sphinx.util.docutils import switch_source_input
from sphinx.util import logging
srctree = os.path.abspath(os.environ["srctree"])
-sys.path.insert(0, os.path.join(srctree, "tools/lib/python/abi"))
+sys.path.insert(0, os.path.join(srctree, "tools/lib/python"))
-from abi_parser import AbiParser
+from abi.abi_parser import AbiParser
__version__ = "1.0"
diff --git a/Documentation/sphinx/kernel_include.py b/Documentation/sphinx/kernel_include.py
index a12455daa6d7..626762ff6af3 100755
--- a/Documentation/sphinx/kernel_include.py
+++ b/Documentation/sphinx/kernel_include.py
@@ -97,9 +97,9 @@ from docutils.parsers.rst.directives.body import CodeBlock, NumberLines
from sphinx.util import logging
srctree = os.path.abspath(os.environ["srctree"])
-sys.path.insert(0, os.path.join(srctree, "tools/lib/python/kdoc"))
+sys.path.insert(0, os.path.join(srctree, "tools/lib/python"))
-from parse_data_structs import ParseDataStructs
+from kdoc.parse_data_structs import ParseDataStructs
__version__ = "1.0"
logger = logging.getLogger(__name__)
diff --git a/Documentation/sphinx/kerneldoc.py b/Documentation/sphinx/kerneldoc.py
index 56f382a6bdf1..d8cdf068ef35 100644
--- a/Documentation/sphinx/kerneldoc.py
+++ b/Documentation/sphinx/kerneldoc.py
@@ -42,10 +42,10 @@ from sphinx.util import logging
from pprint import pformat
srctree = os.path.abspath(os.environ["srctree"])
-sys.path.insert(0, os.path.join(srctree, "tools/lib/python/kdoc"))
+sys.path.insert(0, os.path.join(srctree, "tools/lib/python"))
-from kdoc_files import KernelFiles
-from kdoc_output import RestFormat
+from kdoc.kdoc_files import KernelFiles
+from kdoc.kdoc_output import RestFormat
__version__ = '1.0'
kfiles = None
diff --git a/scripts/kernel-doc.py b/scripts/kernel-doc.py
index bb24bbf73167..7a1eaf986bcd 100755
--- a/scripts/kernel-doc.py
+++ b/scripts/kernel-doc.py
@@ -111,7 +111,7 @@ import sys
# Import Python modules
-LIB_DIR = "../tools/lib/python/kdoc"
+LIB_DIR = "../tools/lib/python"
SRC_DIR = os.path.dirname(os.path.realpath(__file__))
sys.path.insert(0, os.path.join(SRC_DIR, LIB_DIR))
@@ -292,8 +292,8 @@ def main():
logger.warning("Python 3.7 or later is required for correct results")
# Import kernel-doc libraries only after checking Python version
- from kdoc_files import KernelFiles # pylint: disable=C0415
- from kdoc_output import RestFormat, ManFormat # pylint: disable=C0415
+ from kdoc.kdoc_files import KernelFiles # pylint: disable=C0415
+ from kdoc.kdoc_output import RestFormat, ManFormat # pylint: disable=C0415
if args.man:
out_style = ManFormat(modulename=args.modulename)
diff --git a/tools/docs/check-variable-fonts.py b/tools/docs/check-variable-fonts.py
index c48bb05dad82..958d5a745724 100755
--- a/tools/docs/check-variable-fonts.py
+++ b/tools/docs/check-variable-fonts.py
@@ -17,9 +17,9 @@ import sys
import os.path
src_dir = os.path.dirname(os.path.realpath(__file__))
-sys.path.insert(0, os.path.join(src_dir, '../lib/python/kdoc'))
+sys.path.insert(0, os.path.join(src_dir, '../lib/python'))
-from latex_fonts import LatexFontChecker
+from kdoc.latex_fonts import LatexFontChecker
checker = LatexFontChecker()
diff --git a/tools/docs/get_abi.py b/tools/docs/get_abi.py
index e0abfe12fac7..2f0b99401f26 100755
--- a/tools/docs/get_abi.py
+++ b/tools/docs/get_abi.py
@@ -14,15 +14,15 @@ import sys
# Import Python modules
-LIB_DIR = "../lib/python/abi"
+LIB_DIR = "../lib/python"
SRC_DIR = os.path.dirname(os.path.realpath(__file__))
sys.path.insert(0, os.path.join(SRC_DIR, LIB_DIR))
-from abi_parser import AbiParser # pylint: disable=C0413
-from abi_regex import AbiRegex # pylint: disable=C0413
-from helpers import ABI_DIR, DEBUG_HELP # pylint: disable=C0413
-from system_symbols import SystemSymbols # pylint: disable=C0413
+from abi.abi_parser import AbiParser # pylint: disable=C0413
+from abi.abi_regex import AbiRegex # pylint: disable=C0413
+from abi.helpers import ABI_DIR, DEBUG_HELP # pylint: disable=C0413
+from abi.system_symbols import SystemSymbols # pylint: disable=C0413
# Command line classes
diff --git a/tools/docs/parse-headers.py b/tools/docs/parse-headers.py
index ed9cf2bf22de..436acea4c6ca 100755
--- a/tools/docs/parse-headers.py
+++ b/tools/docs/parse-headers.py
@@ -28,9 +28,9 @@ import argparse, sys
import os.path
src_dir = os.path.dirname(os.path.realpath(__file__))
-sys.path.insert(0, os.path.join(src_dir, '../lib/python/kdoc'))
-from parse_data_structs import ParseDataStructs
-from enrich_formatter import EnrichFormatter
+sys.path.insert(0, os.path.join(src_dir, '../lib/python'))
+from kdoc.parse_data_structs import ParseDataStructs
+from kdoc.enrich_formatter import EnrichFormatter
def main():
"""Main function"""
diff --git a/tools/docs/sphinx-build-wrapper b/tools/docs/sphinx-build-wrapper
index ce0b1b5292da..d4943d952e2a 100755
--- a/tools/docs/sphinx-build-wrapper
+++ b/tools/docs/sphinx-build-wrapper
@@ -61,10 +61,9 @@ LIB_DIR = "../lib/python"
SRC_DIR = os.path.dirname(os.path.realpath(__file__))
sys.path.insert(0, os.path.join(SRC_DIR, LIB_DIR))
-sys.path.insert(0, os.path.join(SRC_DIR, LIB_DIR + '/kdoc')) # temporary
-from python_version import PythonVersion
-from latex_fonts import LatexFontChecker
+from kdoc.python_version import PythonVersion
+from kdoc.latex_fonts import LatexFontChecker
from jobserver import JobserverExec # pylint: disable=C0413,C0411,E0401
#
diff --git a/tools/docs/sphinx-pre-install b/tools/docs/sphinx-pre-install
index d8c9fb76948d..965c9b093a41 100755
--- a/tools/docs/sphinx-pre-install
+++ b/tools/docs/sphinx-pre-install
@@ -35,8 +35,8 @@ from glob import glob
import os.path
src_dir = os.path.dirname(os.path.realpath(__file__))
-sys.path.insert(0, os.path.join(src_dir, '../lib/python/kdoc'))
-from python_version import PythonVersion
+sys.path.insert(0, os.path.join(src_dir, '../lib/python'))
+from kdoc.python_version import PythonVersion
RECOMMENDED_VERSION = PythonVersion("3.4.3").version
MIN_PYTHON_VERSION = PythonVersion("3.7").version
diff --git a/tools/lib/python/__init__.py b/tools/lib/python/__init__.py
new file mode 100644
index 000000000000..e69de29bb2d1
diff --git a/tools/lib/python/abi/__init__.py b/tools/lib/python/abi/__init__.py
new file mode 100644
index 000000000000..e69de29bb2d1
diff --git a/tools/lib/python/abi/abi_parser.py b/tools/lib/python/abi/abi_parser.py
index 66a738013ce1..9b8db70067ef 100644
--- a/tools/lib/python/abi/abi_parser.py
+++ b/tools/lib/python/abi/abi_parser.py
@@ -17,7 +17,7 @@ from random import randrange, seed
# Import Python modules
-from helpers import AbiDebug, ABI_DIR
+from abi.helpers import AbiDebug, ABI_DIR
class AbiParser:
diff --git a/tools/lib/python/abi/abi_regex.py b/tools/lib/python/abi/abi_regex.py
index 8a57846cbc69..d5553206de3c 100644
--- a/tools/lib/python/abi/abi_regex.py
+++ b/tools/lib/python/abi/abi_regex.py
@@ -12,8 +12,8 @@ import sys
from pprint import pformat
-from abi_parser import AbiParser
-from helpers import AbiDebug
+from abi.abi_parser import AbiParser
+from abi.helpers import AbiDebug
class AbiRegex(AbiParser):
"""Extends AbiParser to search ABI nodes with regular expressions"""
diff --git a/tools/lib/python/abi/system_symbols.py b/tools/lib/python/abi/system_symbols.py
index f15c94a6e33c..4a2554da217b 100644
--- a/tools/lib/python/abi/system_symbols.py
+++ b/tools/lib/python/abi/system_symbols.py
@@ -15,7 +15,7 @@ from concurrent import futures
from datetime import datetime
from random import shuffle
-from helpers import AbiDebug
+from abi.helpers import AbiDebug
class SystemSymbols:
"""Stores arguments for the class and initialize class vars"""
diff --git a/tools/lib/python/kdoc/__init__.py b/tools/lib/python/kdoc/__init__.py
new file mode 100644
index 000000000000..e69de29bb2d1
diff --git a/tools/lib/python/kdoc/kdoc_files.py b/tools/lib/python/kdoc/kdoc_files.py
index 061c033f32da..8170ab22e598 100644
--- a/tools/lib/python/kdoc/kdoc_files.py
+++ b/tools/lib/python/kdoc/kdoc_files.py
@@ -13,8 +13,8 @@ import logging
import os
import re
-from kdoc_parser import KernelDoc
-from kdoc_output import OutputFormat
+from kdoc.kdoc_parser import KernelDoc
+from kdoc.kdoc_output import OutputFormat
class GlobSourceFiles:
diff --git a/tools/lib/python/kdoc/kdoc_output.py b/tools/lib/python/kdoc/kdoc_output.py
index 58f115059e93..14378953301b 100644
--- a/tools/lib/python/kdoc/kdoc_output.py
+++ b/tools/lib/python/kdoc/kdoc_output.py
@@ -19,8 +19,8 @@ import os
import re
from datetime import datetime
-from kdoc_parser import KernelDoc, type_param
-from kdoc_re import KernRe
+from kdoc.kdoc_parser import KernelDoc, type_param
+from kdoc.kdoc_re import KernRe
function_pointer = KernRe(r"([^\(]*\(\*)\s*\)\s*\(([^\)]*)\)", cache=False)
diff --git a/tools/lib/python/kdoc/kdoc_parser.py b/tools/lib/python/kdoc/kdoc_parser.py
index f7dbb0868367..c0cc714d4d6f 100644
--- a/tools/lib/python/kdoc/kdoc_parser.py
+++ b/tools/lib/python/kdoc/kdoc_parser.py
@@ -16,8 +16,8 @@ import sys
import re
from pprint import pformat
-from kdoc_re import NestedMatch, KernRe
-from kdoc_item import KdocItem
+from kdoc.kdoc_re import NestedMatch, KernRe
+from kdoc.kdoc_item import KdocItem
#
# Regular expressions used to parse kernel-doc markups at KernelDoc class.
--
2.51.0
Powered by blists - more mailing lists