Re: [PATCH v2 1/7] dt-bindings: Add support for export-symbols node
Ayush Singh <[email protected]>
| Newsgroups | org.kernel.vger.devicetree-compiler,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
On 8/18/25 22:35, Rob Herring wrote: > On Sun, Aug 17, 2025 at 3:42 AM Ayush Singh <[email protected]> wrote: >> On 8/17/25 13:52, Krzysztof Kozlowski wrote: >> >>> On 17/08/2025 10:18, Ayush Singh wrote: >>>>>>> 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. >>>>> And the first syntax solves this how? I don't see the practical difference. >>>> Well, I was more worried about matching which phandle belongs to which >>>> symbol easily. Let us assume that 2 symbols will be in each line (after >>>> accounting for the indention and 80 char limit) and we have 70 symbols, >>>> so 35 lines. To check which phandle belongs to the 2nd symbol on line >>>> 25th line of symbol-names, well, you would at the best case need to >>>> have something like relative line numbers in your editor. Then you know >>>> that the 35th line from the current one is where you need to look. >>>> >>>> In the current syntax, the symbol name and phandle are on the same line. >>>> So well, easy to see which symbols refers to which phandle. >>> OK, that's valid point. Any ideas how to solve it without introducing >>> underscores for properties? >>> >>> Best regards, >>> Krzysztof >> >> Well, we can modify `get_phandle_from_symbols_node` to allow matching >> `*_*` to `*-*`. And we can do the same in devicetree easily enough. Not >> sure if implicit loose matching like that are the best idea. >> >> Zephyr does something similar for compatible strings. It pretty much >> replaces the all non alphanumeric characters with `_` in compatible >> string match. Although that is more to do with the limitation they are >> working with, i.e. the devicetree being converted to static headers >> instead of being runtime thing. > This is just going from bad to worse... If there's a real need to use > underscores, then use underscores. But that's all beside the point. I > didn't like v1 and nothing has changed in v2 to change that. > > This looks like continuing down the path of working around DTB format > limitations like DT overlays originally did (which both David (IIRC) > and I think was a mistake). But now instead of somewhat hidden, > generated data, you're adding manually written/maintained data. I > don't have any suggestion currently how to avoid that other than we > need to rev the DTB format which no one really wants to hear. Maybe > there's some other solution, but I don't have one ATM. > > Rob Well, if anyone decides to do a v2 of DTB, I would love to help in any way I can. Best Regards, Ayush Singh