From: Yoan Picchi <yoan.picchi@foss.arm.com>
To: "Juraj Linkeš" <juraj.linkes@pantheon.tech>,
thomas@monjalon.net, Honnappa.Nagarahalli@arm.com,
jspewock@iol.unh.edu, probb@iol.unh.edu, paul.szczepanek@arm.com
Cc: dev@dpdk.org
Subject: Re: [PATCH v7 10/21] dts: config docstring update
Date: Tue, 21 Nov 2023 15:08:47 +0000 [thread overview]
Message-ID: <6f683d61-996c-47de-b7f6-e1213a32c4c9@foss.arm.com> (raw)
In-Reply-To: <20231115130959.39420-11-juraj.linkes@pantheon.tech>
On 11/15/23 13:09, Juraj Linkeš wrote:
> Format according to the Google format and PEP257, with slight
> deviations.
>
> Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
> ---
> dts/framework/config/__init__.py | 371 ++++++++++++++++++++++++++-----
> dts/framework/config/types.py | 132 +++++++++++
> 2 files changed, 446 insertions(+), 57 deletions(-)
> create mode 100644 dts/framework/config/types.py
>
> diff --git a/dts/framework/config/__init__.py b/dts/framework/config/__init__.py
> index 2044c82611..0aa149a53d 100644
> --- a/dts/framework/config/__init__.py
> +++ b/dts/framework/config/__init__.py
> @@ -3,8 +3,34 @@
> # Copyright(c) 2022-2023 University of New Hampshire
> # Copyright(c) 2023 PANTHEON.tech s.r.o.
>
> -"""
> -Yaml config parsing methods
> +"""Testbed configuration and test suite specification.
> +
> +This package offers classes that hold real-time information about the testbed, hold test run
> +configuration describing the tested testbed and a loader function, :func:`load_config`, which loads
> +the YAML test run configuration file
> +and validates it according to :download:`the schema <conf_yaml_schema.json>`.
> +
> +The YAML test run configuration file is parsed into a dictionary, parts of which are used throughout
> +this package. The allowed keys and types inside this dictionary are defined in
> +the :doc:`types <framework.config.types>` module.
> +
> +The test run configuration has two main sections:
> +
> + * The :class:`ExecutionConfiguration` which defines what tests are going to be run
> + and how DPDK will be built. It also references the testbed where these tests and DPDK
> + are going to be run,
> + * The nodes of the testbed are defined in the other section,
> + a :class:`list` of :class:`NodeConfiguration` objects.
> +
> +The real-time information about testbed is supposed to be gathered at runtime.
> +
> +The classes defined in this package make heavy use of :mod:`dataclasses`.
> +All of them use slots and are frozen:
> +
> + * Slots enables some optimizations, by pre-allocating space for the defined
> + attributes in the underlying data structure,
> + * Frozen makes the object immutable. This enables further optimizations,
> + and makes it thread safe should we every want to move in that direction.
every -> ever ?
> """
>
> import json
> @@ -12,11 +38,20 @@
> import pathlib
> from dataclasses import dataclass
> from enum import auto, unique
> -from typing import Any, TypedDict, Union
> +from typing import Union
>
> import warlock # type: ignore[import]
> import yaml
>
> +from framework.config.types import (
> + BuildTargetConfigDict,
> + ConfigurationDict,
> + ExecutionConfigDict,
> + NodeConfigDict,
> + PortConfigDict,
> + TestSuiteConfigDict,
> + TrafficGeneratorConfigDict,
> +)
> from framework.exception import ConfigurationError
> from framework.settings import SETTINGS
> from framework.utils import StrEnum
> @@ -24,55 +59,97 @@
>
> @unique
> class Architecture(StrEnum):
> + r"""The supported architectures of :class:`~framework.testbed_model.node.Node`\s."""
> +
> + #:
> i686 = auto()
> + #:
> x86_64 = auto()
> + #:
> x86_32 = auto()
> + #:
> arm64 = auto()
> + #:
> ppc64le = auto()
>
>
> @unique
> class OS(StrEnum):
> + r"""The supported operating systems of :class:`~framework.testbed_model.node.Node`\s."""
> +
> + #:
> linux = auto()
> + #:
> freebsd = auto()
> + #:
> windows = auto()
>
>
> @unique
> class CPUType(StrEnum):
> + r"""The supported CPUs of :class:`~framework.testbed_model.node.Node`\s."""
> +
> + #:
> native = auto()
> + #:
> armv8a = auto()
> + #:
> dpaa2 = auto()
> + #:
> thunderx = auto()
> + #:
> xgene1 = auto()
>
>
> @unique
> class Compiler(StrEnum):
> + r"""The supported compilers of :class:`~framework.testbed_model.node.Node`\s."""
> +
> + #:
> gcc = auto()
> + #:
> clang = auto()
> + #:
> icc = auto()
> + #:
> msvc = auto()
>
>
> @unique
> class TrafficGeneratorType(StrEnum):
> + """The supported traffic generators."""
> +
> + #:
> SCAPY = auto()
>
>
> -# Slots enables some optimizations, by pre-allocating space for the defined
> -# attributes in the underlying data structure.
> -#
> -# Frozen makes the object immutable. This enables further optimizations,
> -# and makes it thread safe should we every want to move in that direction.
> @dataclass(slots=True, frozen=True)
> class HugepageConfiguration:
> + r"""The hugepage configuration of :class:`~framework.testbed_model.node.Node`\s.
> +
> + Attributes:
> + amount: The number of hugepages.
> + force_first_numa: If :data:`True`, the hugepages will be configured on the first NUMA node.
> + """
> +
> amount: int
> force_first_numa: bool
>
>
> @dataclass(slots=True, frozen=True)
> class PortConfig:
> + r"""The port configuration of :class:`~framework.testbed_model.node.Node`\s.
> +
> + Attributes:
> + node: The :class:`~framework.testbed_model.node.Node` where this port exists.
> + pci: The PCI address of the port.
> + os_driver_for_dpdk: The operating system driver name for use with DPDK.
> + os_driver: The operating system driver name when the operating system controls the port.
> + peer_node: The :class:`~framework.testbed_model.node.Node` of the port
> + connected to this port.
> + peer_pci: The PCI address of the port connected to this port.
> + """
> +
> node: str
> pci: str
> os_driver_for_dpdk: str
> @@ -81,18 +158,44 @@ class PortConfig:
> peer_pci: str
>
> @staticmethod
> - def from_dict(node: str, d: dict) -> "PortConfig":
> + def from_dict(node: str, d: PortConfigDict) -> "PortConfig":
> + """A convenience method that creates the object from fewer inputs.
> +
> + Args:
> + node: The node where this port exists.
> + d: The configuration dictionary.
> +
> + Returns:
> + The port configuration instance.
> + """
> return PortConfig(node=node, **d)
>
>
> @dataclass(slots=True, frozen=True)
> class TrafficGeneratorConfig:
> + """The configuration of traffic generators.
> +
> + The class will be expanded when more configuration is needed.
> +
> + Attributes:
> + traffic_generator_type: The type of the traffic generator.
> + """
> +
> traffic_generator_type: TrafficGeneratorType
>
> @staticmethod
> - def from_dict(d: dict) -> "ScapyTrafficGeneratorConfig":
> - # This looks useless now, but is designed to allow expansion to traffic
> - # generators that require more configuration later.
> + def from_dict(d: TrafficGeneratorConfigDict) -> "ScapyTrafficGeneratorConfig":
> + """A convenience method that produces traffic generator config of the proper type.
> +
> + Args:
> + d: The configuration dictionary.
> +
> + Returns:
> + The traffic generator configuration instance.
> +
> + Raises:
> + ConfigurationError: An unknown traffic generator type was encountered.
> + """
> match TrafficGeneratorType(d["type"]):
> case TrafficGeneratorType.SCAPY:
> return ScapyTrafficGeneratorConfig(
> @@ -106,11 +209,31 @@ def from_dict(d: dict) -> "ScapyTrafficGeneratorConfig":
>
> @dataclass(slots=True, frozen=True)
> class ScapyTrafficGeneratorConfig(TrafficGeneratorConfig):
> + """Scapy traffic generator specific configuration."""
> +
> pass
>
>
> @dataclass(slots=True, frozen=True)
> class NodeConfiguration:
> + r"""The configuration of :class:`~framework.testbed_model.node.Node`\s.
> +
> + Attributes:
> + name: The name of the :class:`~framework.testbed_model.node.Node`.
> + hostname: The hostname of the :class:`~framework.testbed_model.node.Node`.
> + Can be an IP or a domain name.
> + user: The name of the user used to connect to
> + the :class:`~framework.testbed_model.node.Node`.
> + password: The password of the user. The use of passwords is heavily discouraged.
> + Please use keys instead.
> + arch: The architecture of the :class:`~framework.testbed_model.node.Node`.
> + os: The operating system of the :class:`~framework.testbed_model.node.Node`.
> + lcores: A comma delimited list of logical cores to use when running DPDK.
> + use_first_core: If :data:`True`, the first logical core won't be used.
> + hugepages: An optional hugepage configuration.
> + ports: The ports that can be used in testing.
> + """
> +
> name: str
> hostname: str
> user: str
> @@ -123,57 +246,91 @@ class NodeConfiguration:
> ports: list[PortConfig]
>
> @staticmethod
> - def from_dict(d: dict) -> Union["SutNodeConfiguration", "TGNodeConfiguration"]:
> - hugepage_config = d.get("hugepages")
> - if hugepage_config:
> - if "force_first_numa" not in hugepage_config:
> - hugepage_config["force_first_numa"] = False
> - hugepage_config = HugepageConfiguration(**hugepage_config)
> -
> - common_config = {
> - "name": d["name"],
> - "hostname": d["hostname"],
> - "user": d["user"],
> - "password": d.get("password"),
> - "arch": Architecture(d["arch"]),
> - "os": OS(d["os"]),
> - "lcores": d.get("lcores", "1"),
> - "use_first_core": d.get("use_first_core", False),
> - "hugepages": hugepage_config,
> - "ports": [PortConfig.from_dict(d["name"], port) for port in d["ports"]],
> - }
> -
> + def from_dict(
> + d: NodeConfigDict,
> + ) -> Union["SutNodeConfiguration", "TGNodeConfiguration"]:
> + """A convenience method that processes the inputs before creating a specialized instance.
> +
> + Args:
> + d: The configuration dictionary.
> +
> + Returns:
> + Either an SUT or TG configuration instance.
> + """
> + hugepage_config = None
> + if "hugepages" in d:
> + hugepage_config_dict = d["hugepages"]
> + if "force_first_numa" not in hugepage_config_dict:
> + hugepage_config_dict["force_first_numa"] = False
> + hugepage_config = HugepageConfiguration(**hugepage_config_dict)
> +
> + # The calls here contain duplicated code which is here because Mypy doesn't
> + # properly support dictionary unpacking with TypedDicts
> if "traffic_generator" in d:
> return TGNodeConfiguration(
> + name=d["name"],
> + hostname=d["hostname"],
> + user=d["user"],
> + password=d.get("password"),
> + arch=Architecture(d["arch"]),
> + os=OS(d["os"]),
> + lcores=d.get("lcores", "1"),
> + use_first_core=d.get("use_first_core", False),
> + hugepages=hugepage_config,
> + ports=[PortConfig.from_dict(d["name"], port) for port in d["ports"]],
> traffic_generator=TrafficGeneratorConfig.from_dict(
> d["traffic_generator"]
> ),
> - **common_config,
> )
> else:
> return SutNodeConfiguration(
> - memory_channels=d.get("memory_channels", 1), **common_config
> + name=d["name"],
> + hostname=d["hostname"],
> + user=d["user"],
> + password=d.get("password"),
> + arch=Architecture(d["arch"]),
> + os=OS(d["os"]),
> + lcores=d.get("lcores", "1"),
> + use_first_core=d.get("use_first_core", False),
> + hugepages=hugepage_config,
> + ports=[PortConfig.from_dict(d["name"], port) for port in d["ports"]],
> + memory_channels=d.get("memory_channels", 1),
> )
>
>
> @dataclass(slots=True, frozen=True)
> class SutNodeConfiguration(NodeConfiguration):
> + """:class:`~framework.testbed_model.sut_node.SutNode` specific configuration.
> +
> + Attributes:
> + memory_channels: The number of memory channels to use when running DPDK.
> + """
> +
> memory_channels: int
>
>
> @dataclass(slots=True, frozen=True)
> class TGNodeConfiguration(NodeConfiguration):
> + """:class:`~framework.testbed_model.tg_node.TGNode` specific configuration.
> +
> + Attributes:
> + traffic_generator: The configuration of the traffic generator present on the TG node.
> + """
> +
> traffic_generator: ScapyTrafficGeneratorConfig
>
>
> @dataclass(slots=True, frozen=True)
> class NodeInfo:
> - """Class to hold important versions within the node.
> -
> - This class, unlike the NodeConfiguration class, cannot be generated at the start.
> - This is because we need to initialize a connection with the node before we can
> - collect the information needed in this class. Therefore, it cannot be a part of
> - the configuration class above.
> + """Supplemental node information.
> +
> + Attributes:
> + os_name: The name of the running operating system of
> + the :class:`~framework.testbed_model.node.Node`.
> + os_version: The version of the running operating system of
> + the :class:`~framework.testbed_model.node.Node`.
> + kernel_version: The kernel version of the running operating system of
> + the :class:`~framework.testbed_model.node.Node`.
> """
>
> os_name: str
> @@ -183,6 +340,20 @@ class NodeInfo:
>
> @dataclass(slots=True, frozen=True)
> class BuildTargetConfiguration:
> + """DPDK build configuration.
> +
> + The configuration used for building DPDK.
> +
> + Attributes:
> + arch: The target architecture to build for.
> + os: The target os to build for.
> + cpu: The target CPU to build for.
> + compiler: The compiler executable to use.
> + compiler_wrapper: This string will be put in front of the compiler when
> + executing the build. Useful for adding wrapper commands, such as ``ccache``.
> + name: The name of the compiler.
> + """
> +
> arch: Architecture
> os: OS
> cpu: CPUType
> @@ -191,7 +362,18 @@ class BuildTargetConfiguration:
> name: str
>
> @staticmethod
> - def from_dict(d: dict) -> "BuildTargetConfiguration":
> + def from_dict(d: BuildTargetConfigDict) -> "BuildTargetConfiguration":
> + r"""A convenience method that processes the inputs before creating an instance.
> +
> + `arch`, `os`, `cpu` and `compiler` are converted to :class:`Enum`\s and
> + `name` is constructed from `arch`, `os`, `cpu` and `compiler`.
> +
> + Args:
> + d: The configuration dictionary.
> +
> + Returns:
> + The build target configuration instance.
> + """
> return BuildTargetConfiguration(
> arch=Architecture(d["arch"]),
> os=OS(d["os"]),
> @@ -204,23 +386,29 @@ def from_dict(d: dict) -> "BuildTargetConfiguration":
>
> @dataclass(slots=True, frozen=True)
> class BuildTargetInfo:
> - """Class to hold important versions within the build target.
> + """Various versions and other information about a build target.
>
> - This is very similar to the NodeInfo class, it just instead holds information
> - for the build target.
> + Attributes:
> + dpdk_version: The DPDK version that was built.
> + compiler_version: The version of the compiler used to build DPDK.
> """
>
> dpdk_version: str
> compiler_version: str
>
>
> -class TestSuiteConfigDict(TypedDict):
> - suite: str
> - cases: list[str]
> -
> -
> @dataclass(slots=True, frozen=True)
> class TestSuiteConfig:
> + """Test suite configuration.
> +
> + Information about a single test suite to be executed.
> +
> + Attributes:
> + test_suite: The name of the test suite module without the starting ``TestSuite_``.
> + test_cases: The names of test cases from this test suite to execute.
> + If empty, all test cases will be executed.
> + """
> +
> test_suite: str
> test_cases: list[str]
>
> @@ -228,6 +416,14 @@ class TestSuiteConfig:
> def from_dict(
> entry: str | TestSuiteConfigDict,
> ) -> "TestSuiteConfig":
> + """Create an instance from two different types.
> +
> + Args:
> + entry: Either a suite name or a dictionary containing the config.
> +
> + Returns:
> + The test suite configuration instance.
> + """
> if isinstance(entry, str):
> return TestSuiteConfig(test_suite=entry, test_cases=[])
> elif isinstance(entry, dict):
> @@ -238,19 +434,49 @@ def from_dict(
>
> @dataclass(slots=True, frozen=True)
> class ExecutionConfiguration:
> + """The configuration of an execution.
> +
> + The configuration contains testbed information, what tests to execute
> + and with what DPDK build.
> +
> + Attributes:
> + build_targets: A list of DPDK builds to test.
> + perf: Whether to run performance tests.
> + func: Whether to run functional tests.
> + skip_smoke_tests: Whether to skip smoke tests.
> + test_suites: The names of test suites and/or test cases to execute.
> + system_under_test_node: The SUT node to use in this execution.
> + traffic_generator_node: The TG node to use in this execution.
> + vdevs: The names of virtual devices to test.
> + """
> +
> build_targets: list[BuildTargetConfiguration]
> perf: bool
> func: bool
> + skip_smoke_tests: bool
> test_suites: list[TestSuiteConfig]
> system_under_test_node: SutNodeConfiguration
> traffic_generator_node: TGNodeConfiguration
> vdevs: list[str]
> - skip_smoke_tests: bool
>
> @staticmethod
> def from_dict(
> - d: dict, node_map: dict[str, Union[SutNodeConfiguration | TGNodeConfiguration]]
> + d: ExecutionConfigDict,
> + node_map: dict[str, Union[SutNodeConfiguration | TGNodeConfiguration]],
> ) -> "ExecutionConfiguration":
> + """A convenience method that processes the inputs before creating an instance.
> +
> + The build target and the test suite config is transformed into their respective objects.
is -> are
> + SUT and TG configuration are taken from `node_map`. The other (:class:`bool`) attributes are
configuration*s*
> + just stored.
> +
> + Args:
> + d: The configuration dictionary.
> + node_map: A dictionary mapping node names to their config objects.
> +
> + Returns:
> + The execution configuration instance.
> + """
> build_targets: list[BuildTargetConfiguration] = list(
> map(BuildTargetConfiguration.from_dict, d["build_targets"])
> )
> @@ -291,10 +517,31 @@ def from_dict(
>
> @dataclass(slots=True, frozen=True)
> class Configuration:
> + """DTS testbed and test configuration.
> +
> + The node configuration is not stored in this object. Rather, all used node configurations
> + are stored inside the execution configuration where the nodes are actually used.
> +
> + Attributes:
> + executions: Execution configurations.
> + """
> +
> executions: list[ExecutionConfiguration]
>
> @staticmethod
> - def from_dict(d: dict) -> "Configuration":
> + def from_dict(d: ConfigurationDict) -> "Configuration":
> + """A convenience method that processes the inputs before creating an instance.
> +
> + Build target and test suite config is transformed into their respective objects.
is -> are
> + SUT and TG configuration are taken from `node_map`. The other (:class:`bool`) attributes are
configuration*s*
> + just stored.
> +
> + Args:
> + d: The configuration dictionary.
> +
> + Returns:
> + The whole configuration instance.
> + """
> nodes: list[Union[SutNodeConfiguration | TGNodeConfiguration]] = list(
> map(NodeConfiguration.from_dict, d["nodes"])
> )
> @@ -313,9 +560,17 @@ def from_dict(d: dict) -> "Configuration":
>
>
> def load_config() -> Configuration:
> - """
> - Loads the configuration file and the configuration file schema,
> - validates the configuration file, and creates a configuration object.
> + """Load DTS test run configuration from a file.
> +
> + Load the YAML test run configuration file
> + and :download:`the configuration file schema <conf_yaml_schema.json>`,
> + validate the test run configuration file, and create a test run configuration object.
> +
> + The YAML test run configuration file is specified in the :option:`--config-file` command line
> + argument or the :envvar:`DTS_CFG_FILE` environment variable.
> +
> + Returns:
> + The parsed test run configuration.
> """
> with open(SETTINGS.config_file_path, "r") as f:
> config_data = yaml.safe_load(f)
> @@ -326,6 +581,8 @@ def load_config() -> Configuration:
>
> with open(schema_path, "r") as f:
> schema = json.load(f)
> - config: dict[str, Any] = warlock.model_factory(schema, name="_Config")(config_data)
> - config_obj: Configuration = Configuration.from_dict(dict(config))
> + config = warlock.model_factory(schema, name="_Config")(config_data)
> + config_obj: Configuration = Configuration.from_dict(
> + dict(config) # type: ignore[arg-type]
> + )
> return config_obj
> diff --git a/dts/framework/config/types.py b/dts/framework/config/types.py
> new file mode 100644
> index 0000000000..1927910d88
> --- /dev/null
> +++ b/dts/framework/config/types.py
> @@ -0,0 +1,132 @@
> +# SPDX-License-Identifier: BSD-3-Clause
> +# Copyright(c) 2023 PANTHEON.tech s.r.o.
> +
> +"""Configuration dictionary contents specification.
> +
> +These type definitions serve as documentation of the configuration dictionary contents.
> +
> +The definitions use the built-in :class:`~typing.TypedDict` construct.
> +"""
> +
> +from typing import TypedDict
> +
> +
> +class PortConfigDict(TypedDict):
> + """Allowed keys and values."""
> +
> + #:
> + pci: str
> + #:
> + os_driver_for_dpdk: str
> + #:
> + os_driver: str
> + #:
> + peer_node: str
> + #:
> + peer_pci: str
> +
> +
> +class TrafficGeneratorConfigDict(TypedDict):
> + """Allowed keys and values."""
> +
> + #:
> + type: str
> +
> +
> +class HugepageConfigurationDict(TypedDict):
> + """Allowed keys and values."""
> +
> + #:
> + amount: int
> + #:
> + force_first_numa: bool
> +
> +
> +class NodeConfigDict(TypedDict):
> + """Allowed keys and values."""
> +
> + #:
> + hugepages: HugepageConfigurationDict
> + #:
> + name: str
> + #:
> + hostname: str
> + #:
> + user: str
> + #:
> + password: str
> + #:
> + arch: str
> + #:
> + os: str
> + #:
> + lcores: str
> + #:
> + use_first_core: bool
> + #:
> + ports: list[PortConfigDict]
> + #:
> + memory_channels: int
> + #:
> + traffic_generator: TrafficGeneratorConfigDict
> +
> +
> +class BuildTargetConfigDict(TypedDict):
> + """Allowed keys and values."""
> +
> + #:
> + arch: str
> + #:
> + os: str
> + #:
> + cpu: str
> + #:
> + compiler: str
> + #:
> + compiler_wrapper: str
> +
> +
> +class TestSuiteConfigDict(TypedDict):
> + """Allowed keys and values."""
> +
> + #:
> + suite: str
> + #:
> + cases: list[str]
> +
> +
> +class ExecutionSUTConfigDict(TypedDict):
> + """Allowed keys and values."""
> +
> + #:
> + node_name: str
> + #:
> + vdevs: list[str]
> +
> +
> +class ExecutionConfigDict(TypedDict):
> + """Allowed keys and values."""
> +
> + #:
> + build_targets: list[BuildTargetConfigDict]
> + #:
> + perf: bool
> + #:
> + func: bool
> + #:
> + skip_smoke_tests: bool
> + #:
> + test_suites: TestSuiteConfigDict
> + #:
> + system_under_test_node: ExecutionSUTConfigDict
> + #:
> + traffic_generator_node: str
> +
> +
> +class ConfigurationDict(TypedDict):
> + """Allowed keys and values."""
> +
> + #:
> + nodes: list[NodeConfigDict]
> + #:
> + executions: list[ExecutionConfigDict]
next prev parent reply other threads:[~2023-11-21 15:08 UTC|newest]
Thread overview: 393+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-23 10:40 [RFC PATCH v1 0/4] dts: add dts api docs Juraj Linkeš
2023-03-23 10:40 ` [RFC PATCH v1 1/4] dts: code adjustments for sphinx Juraj Linkeš
2023-03-23 10:40 ` [RFC PATCH v1 2/4] dts: add doc generation dependencies Juraj Linkeš
2023-03-23 10:40 ` [RFC PATCH v1 3/4] dts: add doc generation Juraj Linkeš
2023-03-23 10:40 ` [RFC PATCH v1 4/4] dts: format docstrigs to google format Juraj Linkeš
2023-04-28 19:33 ` Jeremy Spewock
2023-04-03 9:17 ` [RFC PATCH v1 0/4] dts: add dts api docs Juraj Linkeš
2023-04-03 9:42 ` Bruce Richardson
2023-04-25 8:20 ` Juraj Linkeš
2023-04-25 8:44 ` Bruce Richardson
2023-04-25 8:57 ` Juraj Linkeš
2023-04-25 9:43 ` Bruce Richardson
2023-05-03 11:33 ` Juraj Linkeš
2023-05-04 12:37 ` [RFC PATCH v2 " Juraj Linkeš
2023-05-04 12:37 ` [RFC PATCH v2 1/4] dts: code adjustments for sphinx Juraj Linkeš
2023-05-04 12:37 ` [RFC PATCH v2 2/4] dts: add doc generation dependencies Juraj Linkeš
2023-05-04 12:37 ` [RFC PATCH v2 3/4] dts: add doc generation Juraj Linkeš
2023-05-04 12:45 ` Bruce Richardson
2023-05-05 7:53 ` Juraj Linkeš
2023-05-05 10:24 ` Bruce Richardson
2023-05-05 10:41 ` Juraj Linkeš
2023-05-05 10:56 ` Bruce Richardson
2023-05-05 11:13 ` Juraj Linkeš
2023-05-05 13:28 ` Bruce Richardson
2023-05-09 9:23 ` Juraj Linkeš
2023-05-09 9:40 ` Bruce Richardson
2023-05-10 12:19 ` Juraj Linkeš
2023-05-04 12:37 ` [RFC PATCH v2 4/4] dts: format docstrigs to google format Juraj Linkeš
2023-05-05 14:06 ` [RFC PATCH v2 0/4] dts: add dts api docs Bruce Richardson
2023-05-09 15:28 ` Juraj Linkeš
2023-05-11 8:55 ` Juraj Linkeš
2023-05-11 9:14 ` [RFC PATCH v3 " Juraj Linkeš
2023-05-11 9:14 ` [RFC PATCH v3 1/4] dts: code adjustments for sphinx Juraj Linkeš
2023-05-11 9:14 ` [RFC PATCH v3 2/4] dts: add doc generation dependencies Juraj Linkeš
2023-05-11 9:14 ` [RFC PATCH v3 3/4] dts: add doc generation Juraj Linkeš
2023-05-11 9:14 ` [RFC PATCH v3 4/4] dts: format docstrigs to google format Juraj Linkeš
2023-06-21 18:27 ` Jeremy Spewock
2023-05-17 16:56 ` [RFC PATCH v3 0/4] dts: add dts api docs Bruce Richardson
2023-05-22 9:17 ` Juraj Linkeš
2023-08-31 10:04 ` [RFC PATCH v4 " Juraj Linkeš
2023-08-31 10:04 ` [RFC PATCH v4 1/4] dts: code adjustments for sphinx Juraj Linkeš
2023-10-22 14:30 ` Yoan Picchi
2023-10-23 6:44 ` Juraj Linkeš
2023-10-23 11:52 ` Yoan Picchi
2023-10-24 6:39 ` Juraj Linkeš
2023-10-24 12:21 ` Yoan Picchi
2023-08-31 10:04 ` [RFC PATCH v4 2/4] dts: add doc generation dependencies Juraj Linkeš
2023-10-27 15:27 ` Yoan Picchi
2023-08-31 10:04 ` [RFC PATCH v4 3/4] dts: add doc generation Juraj Linkeš
2023-09-20 7:08 ` Juraj Linkeš
2023-10-26 16:43 ` Yoan Picchi
2023-10-27 9:52 ` Juraj Linkeš
2023-08-31 10:04 ` [RFC PATCH v4 4/4] dts: format docstrigs to google format Juraj Linkeš
2023-09-01 17:02 ` Jeremy Spewock
2023-10-31 12:10 ` Yoan Picchi
2023-11-02 10:17 ` Juraj Linkeš
2023-11-06 17:15 ` [PATCH v5 00/23] dts: add dts api docs Juraj Linkeš
2023-11-06 17:15 ` [PATCH v5 01/23] dts: code adjustments for doc generation Juraj Linkeš
2023-11-08 13:35 ` Yoan Picchi
2023-11-15 7:46 ` Juraj Linkeš
2023-11-06 17:15 ` [PATCH v5 02/23] dts: add docstring checker Juraj Linkeš
2023-11-07 17:38 ` Yoan Picchi
2023-11-06 17:15 ` [PATCH v5 03/23] dts: add basic developer docs Juraj Linkeš
2023-11-07 14:39 ` Yoan Picchi
2023-11-08 9:01 ` Juraj Linkeš
2023-11-06 17:15 ` [PATCH v5 04/23] dts: exceptions docstring update Juraj Linkeš
2023-11-06 17:15 ` [PATCH v5 05/23] dts: settings " Juraj Linkeš
2023-11-06 17:15 ` [PATCH v5 06/23] dts: logger and " Juraj Linkeš
2023-11-06 17:15 ` [PATCH v5 07/23] dts: dts runner and main " Juraj Linkeš
2023-11-06 17:15 ` [PATCH v5 08/23] dts: test suite " Juraj Linkeš
2023-11-06 17:15 ` [PATCH v5 09/23] dts: test result " Juraj Linkeš
2023-11-06 17:15 ` [PATCH v5 10/23] dts: config " Juraj Linkeš
2023-11-06 17:15 ` [PATCH v5 11/23] dts: remote session " Juraj Linkeš
2023-11-06 17:15 ` [PATCH v5 12/23] dts: interactive " Juraj Linkeš
2023-11-06 17:15 ` [PATCH v5 13/23] dts: port and virtual device " Juraj Linkeš
2023-11-06 17:15 ` [PATCH v5 14/23] dts: cpu " Juraj Linkeš
2023-11-06 17:15 ` [PATCH v5 15/23] dts: os session " Juraj Linkeš
2023-11-06 17:15 ` [PATCH v5 16/23] dts: posix and linux sessions " Juraj Linkeš
2023-11-06 17:15 ` [PATCH v5 17/23] dts: node " Juraj Linkeš
2023-11-06 17:15 ` [PATCH v5 18/23] dts: sut and tg nodes " Juraj Linkeš
2023-11-06 17:15 ` [PATCH v5 19/23] dts: base traffic generators " Juraj Linkeš
2023-11-06 17:15 ` [PATCH v5 20/23] dts: scapy tg " Juraj Linkeš
2023-11-06 17:15 ` [PATCH v5 21/23] dts: test suites " Juraj Linkeš
2023-11-06 17:16 ` [PATCH v5 22/23] dts: add doc generation dependencies Juraj Linkeš
2023-11-06 17:16 ` [PATCH v5 23/23] dts: add doc generation Juraj Linkeš
2023-11-08 12:53 ` [PATCH v6 01/23] dts: code adjustments for " Juraj Linkeš
2023-11-08 12:53 ` [PATCH v6 02/23] dts: add docstring checker Juraj Linkeš
2023-11-08 12:53 ` [PATCH v6 03/23] dts: add basic developer docs Juraj Linkeš
2023-11-08 12:53 ` [PATCH v6 04/23] dts: exceptions docstring update Juraj Linkeš
2023-11-08 12:53 ` [PATCH v6 05/23] dts: settings " Juraj Linkeš
2023-11-08 16:17 ` Yoan Picchi
2023-11-15 10:09 ` Juraj Linkeš
2023-11-08 12:53 ` [PATCH v6 06/23] dts: logger and " Juraj Linkeš
2023-11-08 17:14 ` Yoan Picchi
2023-11-15 10:11 ` Juraj Linkeš
2023-11-08 12:53 ` [PATCH v6 07/23] dts: dts runner and main " Juraj Linkeš
2023-11-08 12:53 ` [PATCH v6 08/23] dts: test suite " Juraj Linkeš
2023-11-08 12:53 ` [PATCH v6 09/23] dts: test result " Juraj Linkeš
2023-11-08 12:53 ` [PATCH v6 10/23] dts: config " Juraj Linkeš
2023-11-08 12:53 ` [PATCH v6 11/23] dts: remote session " Juraj Linkeš
2023-11-08 12:53 ` [PATCH v6 12/23] dts: interactive " Juraj Linkeš
2023-11-08 12:53 ` [PATCH v6 13/23] dts: port and virtual device " Juraj Linkeš
2023-11-08 12:53 ` [PATCH v6 14/23] dts: cpu " Juraj Linkeš
2023-11-08 12:53 ` [PATCH v6 15/23] dts: os session " Juraj Linkeš
2023-11-08 12:53 ` [PATCH v6 16/23] dts: posix and linux sessions " Juraj Linkeš
2023-11-08 12:53 ` [PATCH v6 17/23] dts: node " Juraj Linkeš
2023-11-08 12:53 ` [PATCH v6 18/23] dts: sut and tg nodes " Juraj Linkeš
2023-11-08 12:53 ` [PATCH v6 19/23] dts: base traffic generators " Juraj Linkeš
2023-11-08 12:53 ` [PATCH v6 20/23] dts: scapy tg " Juraj Linkeš
2023-11-08 12:53 ` [PATCH v6 21/23] dts: test suites " Juraj Linkeš
2023-11-08 12:53 ` [PATCH v6 22/23] dts: add doc generation dependencies Juraj Linkeš
2023-11-08 16:00 ` Yoan Picchi
2023-11-15 10:00 ` Juraj Linkeš
2023-11-08 12:53 ` [PATCH v6 23/23] dts: add doc generation Juraj Linkeš
2023-11-15 13:09 ` [PATCH v7 00/21] dts: docstrings update Juraj Linkeš
2023-11-15 13:09 ` [PATCH v7 01/21] dts: code adjustments for doc generation Juraj Linkeš
2023-11-16 21:04 ` Jeremy Spewock
2023-11-20 16:10 ` Juraj Linkeš
2023-11-20 16:02 ` Yoan Picchi
2023-11-15 13:09 ` [PATCH v7 02/21] dts: add docstring checker Juraj Linkeš
2023-11-20 16:03 ` Yoan Picchi
2023-11-15 13:09 ` [PATCH v7 03/21] dts: add basic developer docs Juraj Linkeš
2023-11-20 16:03 ` Yoan Picchi
2023-11-15 13:09 ` [PATCH v7 04/21] dts: exceptions docstring update Juraj Linkeš
2023-11-20 16:22 ` Yoan Picchi
2023-11-20 16:35 ` Juraj Linkeš
2023-11-15 13:09 ` [PATCH v7 05/21] dts: settings " Juraj Linkeš
2023-11-15 13:09 ` [PATCH v7 06/21] dts: logger and utils " Juraj Linkeš
2023-11-20 16:23 ` Yoan Picchi
2023-11-20 16:36 ` Juraj Linkeš
2023-11-15 13:09 ` [PATCH v7 07/21] dts: dts runner and main " Juraj Linkeš
2023-11-16 21:51 ` Jeremy Spewock
2023-11-20 16:13 ` Juraj Linkeš
2023-11-20 17:43 ` Yoan Picchi
2023-11-21 9:10 ` Juraj Linkeš
2023-11-15 13:09 ` [PATCH v7 08/21] dts: test suite " Juraj Linkeš
2023-11-16 22:16 ` Jeremy Spewock
2023-11-20 16:25 ` Juraj Linkeš
2023-11-15 13:09 ` [PATCH v7 09/21] dts: test result " Juraj Linkeš
2023-11-16 22:47 ` Jeremy Spewock
2023-11-20 16:33 ` Juraj Linkeš
2023-11-30 21:20 ` Jeremy Spewock
2023-11-15 13:09 ` [PATCH v7 10/21] dts: config " Juraj Linkeš
2023-11-21 15:08 ` Yoan Picchi [this message]
2023-11-22 10:42 ` Juraj Linkeš
2023-11-15 13:09 ` [PATCH v7 11/21] dts: remote session " Juraj Linkeš
2023-11-21 15:36 ` Yoan Picchi
2023-11-22 11:13 ` Juraj Linkeš
2023-11-22 11:25 ` Yoan Picchi
2023-11-15 13:09 ` [PATCH v7 12/21] dts: interactive " Juraj Linkeš
2023-11-15 13:09 ` [PATCH v7 13/21] dts: port and virtual device " Juraj Linkeš
2023-11-15 13:09 ` [PATCH v7 14/21] dts: cpu " Juraj Linkeš
2023-11-21 17:45 ` Yoan Picchi
2023-11-22 11:18 ` Juraj Linkeš
2023-11-15 13:09 ` [PATCH v7 15/21] dts: os session " Juraj Linkeš
2023-11-22 11:50 ` Yoan Picchi
2023-11-22 13:27 ` Juraj Linkeš
2023-11-15 13:09 ` [PATCH v7 16/21] dts: posix and linux sessions " Juraj Linkeš
2023-11-22 13:24 ` Yoan Picchi
2023-11-22 13:35 ` Juraj Linkeš
2023-11-15 13:09 ` [PATCH v7 17/21] dts: node " Juraj Linkeš
2023-11-22 12:18 ` Yoan Picchi
2023-11-22 13:28 ` Juraj Linkeš
2023-11-15 13:09 ` [PATCH v7 18/21] dts: sut and tg nodes " Juraj Linkeš
2023-11-22 13:12 ` Yoan Picchi
2023-11-22 13:34 ` Juraj Linkeš
2023-11-15 13:09 ` [PATCH v7 19/21] dts: base traffic generators " Juraj Linkeš
2023-11-21 16:20 ` Yoan Picchi
2023-11-22 11:38 ` Juraj Linkeš
2023-11-22 11:56 ` Yoan Picchi
2023-11-22 13:11 ` Juraj Linkeš
2023-11-15 13:09 ` [PATCH v7 20/21] dts: scapy tg " Juraj Linkeš
2023-11-21 16:33 ` Yoan Picchi
2023-11-22 13:18 ` Juraj Linkeš
2023-11-15 13:09 ` [PATCH v7 21/21] dts: test suites " Juraj Linkeš
2023-11-16 17:36 ` Yoan Picchi
2023-11-20 10:17 ` Juraj Linkeš
2023-11-20 12:50 ` Yoan Picchi
2023-11-22 13:40 ` Juraj Linkeš
2023-11-23 15:13 ` [PATCH v8 00/21] dts: docstrings update Juraj Linkeš
2023-11-23 15:13 ` [PATCH v8 01/21] dts: code adjustments for doc generation Juraj Linkeš
2023-11-23 15:13 ` [PATCH v8 02/21] dts: add docstring checker Juraj Linkeš
2023-11-23 15:13 ` [PATCH v8 03/21] dts: add basic developer docs Juraj Linkeš
2023-11-23 15:13 ` [PATCH v8 04/21] dts: exceptions docstring update Juraj Linkeš
2023-11-23 15:13 ` [PATCH v8 05/21] dts: settings " Juraj Linkeš
2023-11-23 15:13 ` [PATCH v8 06/21] dts: logger and utils " Juraj Linkeš
2023-11-23 15:13 ` [PATCH v8 07/21] dts: dts runner and main " Juraj Linkeš
2023-11-23 15:13 ` [PATCH v8 08/21] dts: test suite " Juraj Linkeš
2023-11-23 15:13 ` [PATCH v8 09/21] dts: test result " Juraj Linkeš
2023-11-23 15:13 ` [PATCH v8 10/21] dts: config " Juraj Linkeš
2023-11-23 15:13 ` [PATCH v8 11/21] dts: remote session " Juraj Linkeš
2023-11-23 15:13 ` [PATCH v8 12/21] dts: interactive " Juraj Linkeš
2023-11-30 21:49 ` Jeremy Spewock
2023-12-04 9:50 ` Juraj Linkeš
2023-11-23 15:13 ` [PATCH v8 13/21] dts: port and virtual device " Juraj Linkeš
2023-11-23 15:13 ` [PATCH v8 14/21] dts: cpu " Juraj Linkeš
2023-11-23 15:13 ` [PATCH v8 15/21] dts: os session " Juraj Linkeš
2023-12-01 17:33 ` Jeremy Spewock
2023-12-04 9:53 ` Juraj Linkeš
2023-11-23 15:13 ` [PATCH v8 16/21] dts: posix and linux sessions " Juraj Linkeš
2023-11-23 15:13 ` [PATCH v8 17/21] dts: node " Juraj Linkeš
2023-11-23 15:13 ` [PATCH v8 18/21] dts: sut and tg nodes " Juraj Linkeš
2023-12-01 18:06 ` Jeremy Spewock
2023-12-04 10:02 ` Juraj Linkeš
2023-12-04 11:02 ` Bruce Richardson
2023-11-23 15:13 ` [PATCH v8 19/21] dts: base traffic generators " Juraj Linkeš
2023-12-01 18:05 ` Jeremy Spewock
2023-12-04 10:03 ` Juraj Linkeš
2023-11-23 15:13 ` [PATCH v8 20/21] dts: scapy tg " Juraj Linkeš
2023-12-01 18:17 ` Jeremy Spewock
2023-12-04 10:07 ` Juraj Linkeš
2023-11-23 15:13 ` [PATCH v8 21/21] dts: test suites " Juraj Linkeš
2023-12-01 16:00 ` [PATCH v8 00/21] dts: docstrings update Yoan Picchi
2023-12-01 18:23 ` Jeremy Spewock
2023-12-04 10:24 ` [PATCH v9 " Juraj Linkeš
2023-12-04 10:24 ` [PATCH v9 01/21] dts: code adjustments for doc generation Juraj Linkeš
2023-12-04 10:24 ` [PATCH v9 02/21] dts: add docstring checker Juraj Linkeš
2023-12-04 10:24 ` [PATCH v9 03/21] dts: add basic developer docs Juraj Linkeš
2023-12-04 10:24 ` [PATCH v9 04/21] dts: exceptions docstring update Juraj Linkeš
2023-12-04 10:24 ` [PATCH v9 05/21] dts: settings " Juraj Linkeš
2023-12-04 10:24 ` [PATCH v9 06/21] dts: logger and utils " Juraj Linkeš
2023-12-04 10:24 ` [PATCH v9 07/21] dts: dts runner and main " Juraj Linkeš
2023-12-04 10:24 ` [PATCH v9 08/21] dts: test suite " Juraj Linkeš
2023-12-04 10:24 ` [PATCH v9 09/21] dts: test result " Juraj Linkeš
2023-12-04 10:24 ` [PATCH v9 10/21] dts: config " Juraj Linkeš
2023-12-04 10:24 ` [PATCH v9 11/21] dts: remote session " Juraj Linkeš
2023-12-04 10:24 ` [PATCH v9 12/21] dts: interactive " Juraj Linkeš
2023-12-04 10:24 ` [PATCH v9 13/21] dts: port and virtual device " Juraj Linkeš
2023-12-04 10:24 ` [PATCH v9 14/21] dts: cpu " Juraj Linkeš
2023-12-04 10:24 ` [PATCH v9 15/21] dts: os session " Juraj Linkeš
2023-12-04 10:24 ` [PATCH v9 16/21] dts: posix and linux sessions " Juraj Linkeš
2023-12-04 10:24 ` [PATCH v9 17/21] dts: node " Juraj Linkeš
2023-12-04 10:24 ` [PATCH v9 18/21] dts: sut and tg nodes " Juraj Linkeš
2023-12-04 10:24 ` [PATCH v9 19/21] dts: base traffic generators " Juraj Linkeš
2023-12-04 10:24 ` [PATCH v9 20/21] dts: scapy tg " Juraj Linkeš
2023-12-04 10:24 ` [PATCH v9 21/21] dts: test suites " Juraj Linkeš
2023-12-05 18:39 ` Jeremy Spewock
2023-12-21 11:48 ` [PATCH v9 00/21] dts: docstrings update Thomas Monjalon
2023-11-15 13:36 ` [PATCH v1 0/2] dts: api docs generation Juraj Linkeš
2023-11-15 13:36 ` [PATCH v1 1/2] dts: add doc generation dependencies Juraj Linkeš
2023-11-15 13:36 ` [PATCH v1 2/2] dts: add doc generation Juraj Linkeš
2024-01-22 12:00 ` [PATCH v2 0/3] dts: API docs generation Juraj Linkeš
2024-01-22 12:00 ` [PATCH v2 1/3] dts: add doc generation dependencies Juraj Linkeš
2024-01-22 12:00 ` [PATCH v2 2/3] dts: add API doc sources Juraj Linkeš
2024-01-22 12:00 ` [PATCH v2 3/3] dts: add API doc generation Juraj Linkeš
2024-01-22 16:35 ` [PATCH v3 0/3] dts: API docs generation Juraj Linkeš
2024-01-22 16:35 ` [PATCH v3 1/3] dts: add doc generation dependencies Juraj Linkeš
2024-01-22 16:35 ` [PATCH v3 2/3] dts: add API doc sources Juraj Linkeš
2024-01-22 16:35 ` [PATCH v3 3/3] dts: add API doc generation Juraj Linkeš
2024-01-29 17:09 ` Jeremy Spewock
[not found] ` <CAJvnSUCNjo0p-yhROF1MNLKhjiAw2QTyTHO2hpOaVVUn0xnJ0A@mail.gmail.com>
2024-02-29 18:12 ` Nicholas Pratte
2024-04-12 10:14 ` [PATCH v4 0/3] dts: API docs generation Juraj Linkeš
2024-04-12 10:14 ` [PATCH v4 1/3] dts: add doc generation dependencies Juraj Linkeš
2024-05-31 10:42 ` Luca Vizzarro
2024-06-14 14:32 ` Jeremy Spewock
2024-04-12 10:14 ` [PATCH v4 2/3] dts: add API doc sources Juraj Linkeš
2024-05-31 10:43 ` Luca Vizzarro
2024-06-14 14:32 ` Jeremy Spewock
2024-04-12 10:14 ` [PATCH v4 3/3] dts: add API doc generation Juraj Linkeš
2024-05-31 10:43 ` Luca Vizzarro
2024-04-29 13:49 ` [PATCH v4 0/3] dts: API docs generation Jeremy Spewock
2024-04-29 14:12 ` Patrick Robb
2024-06-24 13:26 ` [PATCH v5 0/4] " Juraj Linkeš
2024-06-24 13:26 ` [PATCH v5 1/4] dts: update params and parser docstrings Juraj Linkeš
2024-06-24 13:26 ` [PATCH v5 2/4] dts: add doc generation dependencies Juraj Linkeš
2024-06-24 13:26 ` [PATCH v5 3/4] dts: add API doc sources Juraj Linkeš
2024-06-24 13:26 ` [PATCH v5 4/4] dts: add API doc generation Juraj Linkeš
2024-06-24 13:45 ` [PATCH v6 0/4] dts: API docs generation Juraj Linkeš
2024-06-24 13:45 ` [PATCH v6 1/4] dts: update params and parser docstrings Juraj Linkeš
2024-06-24 13:45 ` [PATCH v6 2/4] dts: add doc generation dependencies Juraj Linkeš
2024-06-24 13:45 ` [PATCH v6 3/4] dts: add API doc sources Juraj Linkeš
2024-06-24 13:46 ` [PATCH v6 4/4] dts: add API doc generation Juraj Linkeš
2024-06-24 13:53 ` Bruce Richardson
2024-06-24 14:08 ` Juraj Linkeš
2024-06-24 14:25 ` Thomas Monjalon
2024-06-24 14:25 ` [PATCH v7 0/4] dts: API docs generation Juraj Linkeš
2024-06-24 14:25 ` [PATCH v7 1/4] dts: update params and parser docstrings Juraj Linkeš
2024-06-24 15:37 ` Luca Vizzarro
2024-06-24 14:25 ` [PATCH v7 2/4] dts: add doc generation dependencies Juraj Linkeš
2024-06-24 14:25 ` [PATCH v7 3/4] dts: add API doc sources Juraj Linkeš
2024-06-24 14:25 ` [PATCH v7 4/4] dts: add API doc generation Juraj Linkeš
2024-07-12 8:57 ` [PATCH v8 0/5] dts: API docs generation Juraj Linkeš
2024-07-12 8:57 ` [PATCH v8 1/5] dts: update params and parser docstrings Juraj Linkeš
2024-07-12 8:57 ` [PATCH v8 2/5] dts: add doc generation dependencies Juraj Linkeš
2024-07-12 8:57 ` [PATCH v8 3/5] dts: add API doc sources Juraj Linkeš
2024-07-12 8:57 ` [PATCH v8 4/5] doc: guides and API meson improvements Juraj Linkeš
2024-07-30 13:28 ` Thomas Monjalon
2024-08-01 10:02 ` Juraj Linkeš
2024-07-12 8:57 ` [PATCH v8 5/5] dts: add API doc generation Juraj Linkeš
2024-07-30 13:51 ` Thomas Monjalon
2024-08-01 13:03 ` Juraj Linkeš
2024-08-01 15:07 ` Thomas Monjalon
2024-08-02 10:48 ` Juraj Linkeš
2024-08-02 13:53 ` Thomas Monjalon
2024-08-05 9:04 ` Juraj Linkeš
2024-08-01 9:18 ` [PATCH v9 0/5] dts: API docs generation Juraj Linkeš
2024-08-01 9:18 ` [PATCH v9 1/5] dts: update params and parser docstrings Juraj Linkeš
2024-08-01 9:18 ` [PATCH v9 2/5] dts: add doc generation dependencies Juraj Linkeš
2024-08-01 9:18 ` [PATCH v9 3/5] dts: add API doc sources Juraj Linkeš
2024-08-01 9:18 ` [PATCH v9 4/5] doc: guides and API meson improvements Juraj Linkeš
2024-08-01 9:18 ` [PATCH v9 5/5] dts: add API doc generation Juraj Linkeš
2024-08-01 9:37 ` [PATCH v10 0/5] dts: API docs generation Juraj Linkeš
2024-08-01 9:37 ` [PATCH v10 1/5] dts: update params and parser docstrings Juraj Linkeš
2024-08-01 9:37 ` [PATCH v10 2/5] dts: add doc generation dependencies Juraj Linkeš
2024-08-01 9:37 ` [PATCH v10 3/5] dts: add API doc sources Juraj Linkeš
2024-08-01 9:37 ` [PATCH v10 4/5] doc: guides and API meson improvements Juraj Linkeš
2024-08-01 9:37 ` [PATCH v10 5/5] dts: add API doc generation Juraj Linkeš
2024-08-05 13:59 ` [PATCH v11 0/5] dts: API docs generation Juraj Linkeš
2024-08-05 13:59 ` [PATCH v11 1/5] dts: update params and parser docstrings Juraj Linkeš
2024-08-05 13:59 ` [PATCH v11 2/5] dts: add doc generation dependencies Juraj Linkeš
2024-08-05 13:59 ` [PATCH v11 3/5] dts: add API doc sources Juraj Linkeš
2024-08-05 13:59 ` [PATCH v11 4/5] doc: meson doc API build dir variable Juraj Linkeš
2024-08-05 13:59 ` [PATCH v11 5/5] dts: add API doc generation Juraj Linkeš
2024-08-06 6:13 ` [PATCH v12 0/5] dts: API docs generation Juraj Linkeš
2024-08-06 6:13 ` [PATCH v12 1/5] dts: update params and parser docstrings Juraj Linkeš
2024-08-06 6:13 ` [PATCH v12 2/5] dts: add doc generation dependencies Juraj Linkeš
2024-08-06 6:13 ` [PATCH v12 3/5] dts: add API doc sources Juraj Linkeš
2024-08-06 6:14 ` [PATCH v12 4/5] doc: meson doc API build dir variable Juraj Linkeš
2024-08-06 6:14 ` [PATCH v12 5/5] dts: add API doc generation Juraj Linkeš
2024-08-06 8:46 ` [PATCH v13 0/6] API docs generation Juraj Linkeš
2024-08-06 8:46 ` [PATCH v13 1/6] dts: update params and parser docstrings Juraj Linkeš
2024-08-06 8:46 ` [PATCH v13 2/6] dts: replace the or operator in third party types Juraj Linkeš
2024-08-06 8:46 ` [PATCH v13 3/6] dts: add doc generation dependencies Juraj Linkeš
2024-08-06 8:46 ` [PATCH v13 4/6] dts: add API doc sources Juraj Linkeš
2024-08-06 8:46 ` [PATCH v13 5/6] doc: meson doc API build dir variable Juraj Linkeš
2024-08-06 8:46 ` [PATCH v13 6/6] dts: add API doc generation Juraj Linkeš
2024-08-06 11:17 ` [PATCH v14 0/6] API docs generation Juraj Linkeš
2024-08-06 11:17 ` [PATCH v14 1/6] dts: update params and parser docstrings Juraj Linkeš
2024-08-06 11:17 ` [PATCH v14 2/6] dts: replace the or operator in third party types Juraj Linkeš
2024-08-06 11:17 ` [PATCH v14 3/6] dts: add doc generation dependencies Juraj Linkeš
2024-08-06 11:17 ` [PATCH v14 4/6] dts: add API doc sources Juraj Linkeš
2024-08-06 11:17 ` [PATCH v14 5/6] doc: meson doc API build dir variable Juraj Linkeš
2024-08-06 11:17 ` [PATCH v14 6/6] dts: add API doc generation Juraj Linkeš
2024-08-06 15:19 ` [PATCH v15 0/5] API docs generation Juraj Linkeš
2024-08-06 15:19 ` [PATCH v15 1/5] dts: update params and parser docstrings Juraj Linkeš
2024-08-06 15:19 ` [PATCH v15 2/5] dts: replace the or operator in third party types Juraj Linkeš
2024-08-07 13:34 ` Luca Vizzarro
2024-08-07 14:24 ` Juraj Linkeš
2024-08-06 15:19 ` [PATCH v15 3/5] dts: add doc generation dependencies Juraj Linkeš
2024-08-06 15:19 ` [PATCH v15 4/5] dts: add API doc sources Juraj Linkeš
2024-08-06 15:19 ` [PATCH v15 5/5] dts: add API doc generation Juraj Linkeš
2024-08-07 10:41 ` Thomas Monjalon
2024-08-07 12:03 ` Juraj Linkeš
2024-08-07 12:27 ` Thomas Monjalon
2024-08-07 13:12 ` Juraj Linkeš
2024-08-08 12:27 ` Thomas Monjalon
2024-08-08 8:54 ` [PATCH v16 0/5] API docs generation Juraj Linkeš
2024-08-08 8:54 ` [PATCH v16 1/5] dts: update params and parser docstrings Juraj Linkeš
2024-08-09 18:31 ` Jeremy Spewock
2024-08-08 8:54 ` [PATCH v16 2/5] dts: replace the or operator in third party types Juraj Linkeš
2024-08-09 19:03 ` Jeremy Spewock
2024-08-12 7:58 ` Juraj Linkeš
2024-08-08 8:54 ` [PATCH v16 3/5] dts: add doc generation dependencies Juraj Linkeš
2024-08-09 19:04 ` Jeremy Spewock
2024-08-08 8:54 ` [PATCH v16 4/5] dts: add API doc sources Juraj Linkeš
2024-08-08 8:54 ` [PATCH v16 5/5] dts: add API doc generation Juraj Linkeš
2024-08-09 19:04 ` Jeremy Spewock
2024-08-12 8:08 ` Juraj Linkeš
2024-08-14 15:05 ` [PATCH v17 0/5] API docs generation Juraj Linkeš
2024-08-14 15:05 ` [PATCH v17 1/5] dts: update params and parser docstrings Juraj Linkeš
2024-08-14 18:50 ` Jeremy Spewock
2024-08-14 15:05 ` [PATCH v17 2/5] dts: replace the or operator in third party types Juraj Linkeš
2024-08-14 18:50 ` Jeremy Spewock
2024-08-14 15:05 ` [PATCH v17 3/5] dts: add doc generation dependencies Juraj Linkeš
2024-08-14 18:50 ` Jeremy Spewock
2024-08-14 15:05 ` [PATCH v17 4/5] dts: add API doc sources Juraj Linkeš
2024-08-14 15:05 ` [PATCH v17 5/5] dts: add API doc generation Juraj Linkeš
2024-08-14 18:50 ` Jeremy Spewock
2024-08-19 14:37 ` Dean Marx
2024-08-19 17:53 ` Dean Marx
2024-08-20 8:31 ` Juraj Linkeš
2024-08-19 17:49 ` Dean Marx
2024-08-20 13:18 ` [PATCH v18 0/5] API docs generation Juraj Linkeš
2024-08-20 13:18 ` [PATCH v18 1/5] dts: update params and parser docstrings Juraj Linkeš
2024-08-20 13:18 ` [PATCH v18 2/5] dts: replace the or operator in third party types Juraj Linkeš
2024-08-20 13:18 ` [PATCH v18 3/5] dts: add doc generation dependencies Juraj Linkeš
2024-08-20 13:18 ` [PATCH v18 4/5] dts: add API doc sources Juraj Linkeš
2024-08-20 13:18 ` [PATCH v18 5/5] dts: add API doc generation Juraj Linkeš
2024-08-21 15:02 ` [PATCH v19 0/5] DTS API docs generation Juraj Linkeš
2024-08-21 15:02 ` [PATCH v19 1/5] dts: update params and parser docstrings Juraj Linkeš
2024-08-21 15:02 ` [PATCH v19 2/5] dts: replace the or operator in third party types Juraj Linkeš
2024-09-02 10:56 ` Luca Vizzarro
2024-08-21 15:02 ` [PATCH v19 3/5] dts: add doc generation dependencies Juraj Linkeš
2024-09-02 10:56 ` Luca Vizzarro
2024-08-21 15:02 ` [PATCH v19 4/5] dts: add API doc sources Juraj Linkeš
2024-08-21 15:02 ` [PATCH v19 5/5] dts: add API doc generation Juraj Linkeš
2024-08-21 15:24 ` Dean Marx
2024-09-02 10:57 ` Luca Vizzarro
2024-09-12 20:09 ` Thomas Monjalon
2024-09-16 8:51 ` Juraj Linkeš
2024-09-16 12:48 ` Thomas Monjalon
2024-09-17 15:10 ` Juraj Linkeš
2024-09-18 7:38 ` [PATCH v19 0/5] DTS API docs generation Juraj Linkeš
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=6f683d61-996c-47de-b7f6-e1213a32c4c9@foss.arm.com \
--to=yoan.picchi@foss.arm.com \
--cc=Honnappa.Nagarahalli@arm.com \
--cc=dev@dpdk.org \
--cc=jspewock@iol.unh.edu \
--cc=juraj.linkes@pantheon.tech \
--cc=paul.szczepanek@arm.com \
--cc=probb@iol.unh.edu \
--cc=thomas@monjalon.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).