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