Re: [PATCH 1/7] dt-bindings: Add support for export-symbols node

From: Luca Ceresoli
Date: Mon Dec 09 2024 - 12:27:35 EST


Hi Hervé,

On Mon, 9 Dec 2024 16:18:19 +0100
Herve Codina <herve.codina@xxxxxxxxxxx> wrote:

> An export-symbols node allows to export symbols for symbols resolution
> performed when applying a device tree overlay.
>
> When a device tree overlay is applied on a node having an export-symbols
> node, symbols listed in the export-symbols node are used to resolve
> undefined symbols referenced from the overlay.
>
> This allows:
> - Referencing symbols from an device tree overlay without the need to
> know the full base board. Only the connector definition is needed.
>
> - Using the exact same overlay on several connectors available on a given
> board.
>
> For instance, the following description is supported with the
> export-symbols node:
> - Base device tree board A:
> ...
> foo_connector: connector1 {
> export-symbols {
> connector = <&foo_connector>;
> };
> };
>
> bar_connector: connector2 {
> export-symbols {
> connector = <&bar_connector>;
> };
> };
> ...
>
> - Base device tree board B:
> ...
> front_connector: addon-connector {
> export-symbols {
> connector = <&front_connector>;
> };
> };
> ...
>
> - Overlay describing an addon board the can be connected on connectors:
> ...
> node {
> ...
> connector = <&connector>;
> ...
> };
> ...
>
> Thanks to the export-symbols node, the overlay can be applied on
> connector1 or connector2 available on board A but also on
> addon-connector available on board B.
>
> Signed-off-by: Herve Codina <herve.codina@xxxxxxxxxxx>
> ---
> .../devicetree/bindings/export-symbols.yaml | 43 +++++++++++++++++++
> 1 file changed, 43 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/export-symbols.yaml
>
> diff --git a/Documentation/devicetree/bindings/export-symbols.yaml b/Documentation/devicetree/bindings/export-symbols.yaml
> new file mode 100644
> index 000000000000..0e404eff8937
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/export-symbols.yaml
> @@ -0,0 +1,43 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/export-symbols.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Export symbols
> +
> +maintainers:
> + - Herve Codina <herve.codina@xxxxxxxxxxx>
> +
> +description: |
> + An export-symbols node allows to export symbols for symbols resolution
> + performed when applying a device tree overlay.
> +
> + When a device tree overlay is applied on a node having an export-symbols
> + node, symbols listed in the export-symbols node are used to resolve undefined
> + symbols referenced from the overlay.
> +
> +properties:
> + $nodename:
> + const: export-symbols
> +
> +patternProperties:
> + "^[a-zA-Z_]?[a-zA-Z0-9_]*$":

I think the '?' should not be there: "^[a-zA-Z_][a-zA-Z0-9_]*$".

Otherwise LGTM.

Luca

--
Luca Ceresoli, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com