Re: [PATCH v2 1/7] dt-bindings: Add support for export-symbols node
David Gibson <[email protected]> Mon, 8 Sep 2025 14:44:03 +1000
| Newsgroups | org.kernel.vger.devicetree-compiler,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <aL5fEzN2S058oSAI@zatzit> |
On Wed, Jun 18, 2025 at 03:24:07PM +0530, Ayush Singh wrote: > > On 6/18/25 15:02, Herve Codina wrote: > > Hi Krzysztof, > > > > On Wed, 4 Jun 2025 20:35:51 +0200 > > Krzysztof Kozlowski <[email protected]> wrote: > > > > ... > > > > > > Symbols are exported only when an overlay is applied on the node where the > > > > export-symbols node is available. Those symbols are visible only from the > > > > overlay applied. Symbols exported thanks to export-symbols are not global > > > > to the all device-tree (it is not __symbols__) but local to a node. > > > > > > > > If an overlay is applied at connector1 node, it can use the 'connector' > > > > symbols and thanks to export-symbols, the 'connector' symbol will be > > > > resolved to foo_connector. > > > > > > > > If the overlay is applied at connector2 node, the 'connector' symbol is then > > > > resolved to bar_connector. > > > OK, this explains a lot. Unless I missed it, would be nice to include it > > > in binding description. > > Sure, I will add something in the next iteration. > > > > ... > > > > > > > > +patternProperties: > > > > > > + "^[a-zA-Z_]?[a-zA-Z0-9_]*$": > > > > > This messes up with coding style which I would prefer keep intact. > > > > > Basically these properties will be using label style. > > > > Yes, those properties remap phandles. > > > > > > > > Their names are the name of the label used from the overlay and their > > > > values are the phandle mapped. > > > > > > > > You already have this kind properties using label style in __symbols__, > > > > __fixups__, __local_fixups__ nodes. > > > I have them in DTB, but I don't have these in DTS. The exported-symbols > > > would be in the DTS and that is what coding style is about. > > > > > I think export-symbols has to be in DTS. > > Maybe it could be described in an other way in order to avoid the coding style > > issue you reported. > > > > Hardware: > > i2c0 from SoC --------- connector 1, I2C A signals > > i2c1 from SoC --------- connector 1, I2C B signals > > > > connector1 { > > export-symbols { > > i2c_a = <&i2c0>; > > i2c_b = <&i2c1>; > > }; > > }; > > > > In order to avoid the coding style issue, this could be replace > > with: > > connector1 { > > export-symbols { > > symbol-names = "i2c_a", "i2c_b"; > > symbols = <&i2c0>, <&i2c1>; > > }; > > }; > > > > Krzysztof, Rob, do you think this could be accepted ? > > > > Ayush, David, do you thing this could be easily implemented in fdtoverlay ? > > > > Best regards, > > Hervé > > > > Well, it is possible. > > However, on connectors like pb2 header, there will be 50-100 export symbols. > So it will start becoming difficult to maintain. > > Additionally, the further away we move from __symbols__ style, the more > difficult the implementation will become since we can currently very easily > piggy-back on __symbols__ resolution implementation. I think that should be a non-goal. Current __symbols__ resolution was a quick hack. Design what makes sense rather than being tied to the ugly past. -- David Gibson (he or they) | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you, not the other way | around. http://www.ozlabs.org/~dgibson
signature.asc
(application/pgp-signature, 833 B)
-----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEO+dNsU4E3yXUXRK2zQJF27ox2GcFAmi+XxIACgkQzQJF27ox 2GeRBw//R3k0RWzq0QCFmnitALPrVvhXXVB/fSiSyqxkmkeN7zORxOWE+kuz1YUe VbZC3hZtI+BJ5espIa8InwO+1/NhleVks8lSEJ+b/eDfNvTtAq2PbI39jRzGODOV 8XUHau+Ma+/MSSeDDZm+WWmn87EEKHH2JIfSOXRB1p+Pxv+1spD5iZDXfm5kcMPv zQ66vCkwyiGLzy15a0NP6kXaAbMB3/vMnRmEP1iRr07PJaTrvffoTbdcpsXNByOy nx4XndA/9yDnOgEAkSs1iBtHdjL6fEdv0a0+iAiQfQbRqsEWAtZuVXdIY+UjgKPY rRSefxji/jcrHmq/B78XORNZ7Nb8SON32Y3y4/mUf5Brl1VQGu3f3Nui675AHHbb 1c+Jwh/LcLfER8jiJkF3zfZghL2AE6xS8Uz6lXyxKuo8a49AciihQznHAZKz/FcY V7g9Gr140bC5Sy2D1NTBbGhnohE0kujCk8guMRljOvVbC7uYPWt1EmcVkUywQQCH L0C61/d8wWPkDrKVZQWnE6Jc57UVVxFn/wPI3PAzuFb3W/yomj1rpZDAplIWpB5K 5rOBWTe9A6OoREjsW/+0Q8BPRKHMg7sbsqP2fCGjFzskXaqBQLXTclJpy8FkHRcD 1wMDVArGkQMSgaIsx1LG0ev0T6KRumSo5TJkD7NxmN4cC8O1Mq4= =aIlq -----END PGP SIGNATURE-----