[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <afbdf05d-2306-40c8-bdcd-964d1d5d9865@kernel.org>
Date: Tue, 13 May 2025 15:33:24 +0200
From: Krzysztof Kozlowski <krzk@...nel.org>
To: Abel Vesa <abel.vesa@...aro.org>,
Dario Binacchi <dario.binacchi@...rulasolutions.com>,
Stephen Boyd <sboyd@...nel.org>, Shawn Guo <shawnguo@...nel.org>
Cc: Rob Herring <robh@...nel.org>, linux-kernel@...r.kernel.org,
Peng Fan <peng.fan@....com>, linux-amarula@...rulasolutions.com,
Abel Vesa <abelvesa@...nel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>,
Conor Dooley <conor+dt@...nel.org>, Fabio Estevam <festevam@...il.com>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Michael Turquette <mturquette@...libre.com>,
Pengutronix Kernel Team <kernel@...gutronix.de>,
Sascha Hauer <s.hauer@...gutronix.de>, devicetree@...r.kernel.org,
imx@...ts.linux.dev, linux-arm-kernel@...ts.infradead.org,
linux-clk@...r.kernel.org
Subject: Re: [PATCH v12 16/19] dt-bindings: clock: imx8m-clock: add PLLs
On 13/05/2025 15:24, Abel Vesa wrote:
>>>> clocks:
>>>> - minItems: 6
>>>> - maxItems: 7
>>>> + minItems: 7
>>>
>>> Increasing the minimum entries looks like an ABI break to me. The .dts
>>> files not being in linux-next confirms that (from 0 warnings in
>>> mainline):
>>>
>>> arch/arm64/boot/dts/freescale:859:50
>>> 122 clock-controller@...80000 (fsl,imx8mm-ccm): clock-names: ['osc_32k', 'osc_24m', 'clk_ext1', 'clk_ext2', 'clk_ext3', 'clk_ext4'] is too short
>>> 120 clock-controller@...80000 (fsl,imx8mp-ccm): clock-names: ['osc_32k', 'osc_24m', 'clk_ext1', 'clk_ext2', 'clk_ext3', 'clk_ext4'] is too short
>>> 61 clock-controller@...60000 (fsl,imx8mm-anatop): 'clocks' is a required property
>>> 61 clock-controller@...60000 (fsl,imx8mm-anatop): 'clock-names' is a required property
>>> 60 clock-controller@...60000 (fsl,imx8mp-anatop): 'clocks' is a required property
>>> 60 clock-controller@...60000 (fsl,imx8mp-anatop): 'clock-names' is a required property
>>> 36 clock-controller@...80000 (fsl,imx8mp-ccm): clocks: [[35], [36], [37], [38], [39], [40]] is too short
>>> 36 clock-controller@...80000 (fsl,imx8mm-ccm): clocks: [[24], [25], [26], [27], [28], [29]] is too short
>>> 32 clock-controller@...80000 (fsl,imx8mp-ccm): clocks: [[34], [35], [36], [37], [38], [39]] is too short
>>> 28 clock-controller@...80000 (fsl,imx8mm-ccm): clocks: [[22], [23], [24], [25], [26], [27]] is too short
>>> 26 clock-controller@...80000 (fsl,imx8mn-ccm): clock-names: ['osc_32k', 'osc_24m', 'clk_ext1', 'clk_ext2', 'clk_ext3', 'clk_ext4'] is too short
>>> 17 clock-controller@...60000 (fsl,imx8mq-anatop): 'clocks' is a required property
>>> 17 clock-controller@...60000 (fsl,imx8mq-anatop): 'clock-names' is a required property
>>> 14 clock-controller@...80000 (fsl,imx8mp-ccm): clocks: [[44], [45], [46], [47], [48], [49]] is too short
>>> 14 clock-controller@...80000 (fsl,imx8mm-ccm): clocks: [[23], [24], [25], [26], [27], [28]] is too short
>>> 13 clock-controller@...60000 (fsl,imx8mn-anatop): 'clocks' is a required property
>>> 13 clock-controller@...60000 (fsl,imx8mn-anatop): 'clock-names' is a required property
>>> 12 clock-controller@...80000 (fsl,imx8mm-ccm): clocks: [[26], [27], [28], [29], [30], [31]] is too short
>>> 10 clock-controller@...80000 (fsl,imx8mp-ccm): clocks: [[38], [39], [40], [41], [42], [43]] is too short
>>> 8 clock-controller@...80000 (fsl,imx8mn-ccm): clocks: [[22], [23], [24], [25], [26], [27]] is too short
>>> 8 clock-controller@...80000 (fsl,imx8mn-ccm): clocks: [[20], [21], [22], [23], [24], [25]] is too short
>>> 8 clock-controller@...80000 (fsl,imx8mm-ccm): clocks: [[34], [35], [36], [37], [38], [39]] is too short
>>> 8 clock-controller@...80000 (fsl,imx8mm-ccm): clocks: [[28], [29], [30], [31], [32], [33]] is too short
>>> 8 bcrmf@1 (brcm,bcm4329-fmac): $nodename:0: 'bcrmf@1' does not match '^wifi(@.*)?$'
>>> 6 clock-controller@...80000 (fsl,imx8mp-ccm): clocks: [[41], [42], [43], [44], [45], [46]] is too short
>>> 6 clock-controller@...80000 (fsl,imx8mn-ccm): clocks: [[24], [25], [26], [27], [28], [29]] is too short
>>> 4 clock-controller@...80000 (fsl,imx8mp-ccm): clocks: [[43], [44], [45], [46], [47], [48]] is too short
>>> 4 clock-controller@...80000 (fsl,imx8mp-ccm): clocks: [[40], [41], [42], [43], [44], [45]] is too short
>>> 4 clock-controller@...80000 (fsl,imx8mp-ccm): clocks: [[36], [37], [38], [39], [40], [41]] is too short
>>> 4 clock-controller@...80000 (fsl,imx8mm-ccm): clocks: [[35], [36], [37], [38], [39], [40]] is too short
>>>
>>> Please fix the binding or drop what's been applied so far.
>>
>> Abel and Shawn are already aware of the issue:
>>
>> https://lore.kernel.org/all/CABGWkvqfyH=dcuw6EDZaFVVebj8SZhJF0P944+mmzL5YK3-Pug@mail.gmail.com/
>
> So Shawn suggested I pick up the dts patches from this series as well.
>
Sorry, I am against of it.
This patchset breaks the ABI. If platform maintainer is happy with ABI
break, it is happy with all the complains from users, all boot failures,
all the issues. The solution is not to put DTS into driver's subsystem.
The solution would have been not to break ABI, but if that's ok for
platform maintainer then live with the results: broken boots.
DTS must go via arm-soc DTS branch.
> I'm waiting for another -next to get merged and if there are still
> issues, I'll ask Stephen to ignore the pull request I already sent.
>
Best regards,
Krzysztof
Powered by blists - more mailing lists