Re: [PATCH v5 02/10] dt-bindings: clock: Add required "interconnect-cells" property
From: Krzysztof Kozlowski <hidden>
Date: 2025-09-17 00:35:49
Also in:
linux-arm-kernel, linux-arm-msm, linux-clk, linux-pm, lkml, netdev
On 16/09/2025 16:03, Luo Jie wrote:
On 9/12/2025 5:16 PM, Krzysztof Kozlowski wrote:quoted
On 12/09/2025 11:13, Konrad Dybcio wrote:quoted
On 9/12/25 9:04 AM, Krzysztof Kozlowski wrote:quoted
On Tue, Sep 09, 2025 at 09:39:11PM +0800, Luo Jie wrote:quoted
The Networking Subsystem (NSS) clock controller acts as both a clock provider and an interconnect provider. The #interconnect-cells property is mandatory in the Device Tree Source (DTS) to ensure that client drivers, such as the PPE driver, can correctly acquire ICC clocks from the NSS ICC provider. Although this property is already present in the NSS CC node of the DTS for CMN PLL for IPQ9574 SoC which is currently supported, it was previously omitted from the list of required properties in the bindings documentation. Adding this as a required property is not expected to break the ABI for currently supported SoC. Marking #interconnect-cells as required to comply with Device Tree (DT) binding requirements for interconnect providers.DT bindings do not require interconnect-cells, so that's not a correct reason. Drop them from required properties."Mark #interconnect-cells as required to allow consuming the provided interconnect endpoints"?The point is they do not have to be required.The reason for adding this property as required is to enforce the DTS to define this important resource correctly. If this property is missed from the DTS, the client driver such as PPE driver will not be able to initialize correctly. This is necessary irrespective of whether these clocks are enabled by bootloader or not. The IPQ9574 SoC DTS defines this property even though the property was not marked as mandatory in the bindings, and hence the PPE driver is working. By now marking it as required, we can enforce that DTS files going forward for newer SoC (IPQ5424 and later) are properly defining this resource. This prevents any DTS misconfiguration and improves bindings validation as new SoCs are introduced.
So you explain to the DT maintainer how the DT works. Well, thank you, everyday I can learn something. You wasted a lot of our (multiple maintainers) time in the past, so I will just NAK your patches instead of wasting time again. Best regards, Krzysztof