From: Krzysztof Kozlowski <krzk@kernel.org>
To: Dario Binacchi <dario.binacchi@amarulasolutions.com>,
Rob Herring <robh@kernel.org>
Cc: linux-kernel@vger.kernel.org, Peng Fan <peng.fan@nxp.com>,
Stephen Boyd <sboyd@kernel.org>, Shawn Guo <shawnguo@kernel.org>,
linux-amarula@amarulasolutions.com,
Abel Vesa <abelvesa@kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>,
Conor Dooley <conor+dt@kernel.org>,
Fabio Estevam <festevam@gmail.com>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Michael Turquette <mturquette@baylibre.com>,
Pengutronix Kernel Team <kernel@pengutronix.de>,
Sascha Hauer <s.hauer@pengutronix.de>,
devicetree@vger.kernel.org, imx@lists.linux.dev,
linux-arm-kernel@lists.infradead.org, linux-clk@vger.kernel.org
Subject: Re: [PATCH v12 16/19] dt-bindings: clock: imx8m-clock: add PLLs
Date: Tue, 13 May 2025 15:31:30 +0200 [thread overview]
Message-ID: <d421a6e8-e72c-48d9-8806-09724723b5d8@kernel.org> (raw)
In-Reply-To: <CABGWkvq4a73hvCWG-P_+arc3R-pnr5NVfcGPDTGEoW1doPt2qg@mail.gmail.com>
On 09/05/2025 20:22, Dario Binacchi wrote:
> On Fri, May 9, 2025 at 6:25 PM Rob Herring <robh@kernel.org> wrote:
>>
>> On Thu, Apr 24, 2025 at 08:21:46AM +0200, Dario Binacchi wrote:
>>> Though adding the PLLs to clocks and clock-names properties will break
>>> the ABI, it is required to accurately describe the hardware. Indeed,
>>> the Clock Control Module (CCM) receives clocks from the PLLs and
>>> oscillators and generates clocks for on-chip peripherals.
>>>
>>> Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
>>> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
>>>
>>> ---
>>>
>>> (no changes since v11)
>>>
>>> Changes in v11:
>>> - Fix conflict while rebasing on master
>>>
>>> Changes in v7:
>>> - Add 'Reviewed-by' tag of Krzysztof Kozlowski
>>>
>>> Changes in v6:
>>> - New
>>>
>>> .../bindings/clock/imx8m-clock.yaml | 27 ++++++++++++++-----
>>> 1 file changed, 21 insertions(+), 6 deletions(-)
>>>
>>> diff --git a/Documentation/devicetree/bindings/clock/imx8m-clock.yaml b/Documentation/devicetree/bindings/clock/imx8m-clock.yaml
>>> index 4fec55832702..e83f08abd44c 100644
>>> --- a/Documentation/devicetree/bindings/clock/imx8m-clock.yaml
>>> +++ b/Documentation/devicetree/bindings/clock/imx8m-clock.yaml
>>> @@ -29,12 +29,12 @@ properties:
>>> maxItems: 2
>>>
>>> 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@30380000 (fsl,imx8mm-ccm): clock-names: ['osc_32k', 'osc_24m', 'clk_ext1', 'clk_ext2', 'clk_ext3', 'clk_ext4'] is too short
>> 120 clock-controller@30380000 (fsl,imx8mp-ccm): clock-names: ['osc_32k', 'osc_24m', 'clk_ext1', 'clk_ext2', 'clk_ext3', 'clk_ext4'] is too short
>> 61 clock-controller@30360000 (fsl,imx8mm-anatop): 'clocks' is a required property
>> 61 clock-controller@30360000 (fsl,imx8mm-anatop): 'clock-names' is a required property
>> 60 clock-controller@30360000 (fsl,imx8mp-anatop): 'clocks' is a required property
>> 60 clock-controller@30360000 (fsl,imx8mp-anatop): 'clock-names' is a required property
>> 36 clock-controller@30380000 (fsl,imx8mp-ccm): clocks: [[35], [36], [37], [38], [39], [40]] is too short
>> 36 clock-controller@30380000 (fsl,imx8mm-ccm): clocks: [[24], [25], [26], [27], [28], [29]] is too short
>> 32 clock-controller@30380000 (fsl,imx8mp-ccm): clocks: [[34], [35], [36], [37], [38], [39]] is too short
>> 28 clock-controller@30380000 (fsl,imx8mm-ccm): clocks: [[22], [23], [24], [25], [26], [27]] is too short
>> 26 clock-controller@30380000 (fsl,imx8mn-ccm): clock-names: ['osc_32k', 'osc_24m', 'clk_ext1', 'clk_ext2', 'clk_ext3', 'clk_ext4'] is too short
>> 17 clock-controller@30360000 (fsl,imx8mq-anatop): 'clocks' is a required property
>> 17 clock-controller@30360000 (fsl,imx8mq-anatop): 'clock-names' is a required property
>> 14 clock-controller@30380000 (fsl,imx8mp-ccm): clocks: [[44], [45], [46], [47], [48], [49]] is too short
>> 14 clock-controller@30380000 (fsl,imx8mm-ccm): clocks: [[23], [24], [25], [26], [27], [28]] is too short
>> 13 clock-controller@30360000 (fsl,imx8mn-anatop): 'clocks' is a required property
>> 13 clock-controller@30360000 (fsl,imx8mn-anatop): 'clock-names' is a required property
>> 12 clock-controller@30380000 (fsl,imx8mm-ccm): clocks: [[26], [27], [28], [29], [30], [31]] is too short
>> 10 clock-controller@30380000 (fsl,imx8mp-ccm): clocks: [[38], [39], [40], [41], [42], [43]] is too short
>> 8 clock-controller@30380000 (fsl,imx8mn-ccm): clocks: [[22], [23], [24], [25], [26], [27]] is too short
>> 8 clock-controller@30380000 (fsl,imx8mn-ccm): clocks: [[20], [21], [22], [23], [24], [25]] is too short
>> 8 clock-controller@30380000 (fsl,imx8mm-ccm): clocks: [[34], [35], [36], [37], [38], [39]] is too short
>> 8 clock-controller@30380000 (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@30380000 (fsl,imx8mp-ccm): clocks: [[41], [42], [43], [44], [45], [46]] is too short
>> 6 clock-controller@30380000 (fsl,imx8mn-ccm): clocks: [[24], [25], [26], [27], [28], [29]] is too short
>> 4 clock-controller@30380000 (fsl,imx8mp-ccm): clocks: [[43], [44], [45], [46], [47], [48]] is too short
>> 4 clock-controller@30380000 (fsl,imx8mp-ccm): clocks: [[40], [41], [42], [43], [44], [45]] is too short
>> 4 clock-controller@30380000 (fsl,imx8mp-ccm): clocks: [[36], [37], [38], [39], [40], [41]] is too short
>> 4 clock-controller@30380000 (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:
... and I objected to that ABI break:
https://lore.kernel.org/linux-devicetree/gbymcmoya7dfmedq4nkopqpswh63d2ujxl2elc2x7x325b75bu@anp36sdya43v/
to which you replied "correct hardware description". Now I admit, I
should not give the review tag, because that's really poor reason to:
1. break ABI
2. break users
3. break boot as it turns out
I have impression that at later stage I actually NAKed entire patchset
on the basis of being obsolete... but never mind.
I am quite picky reviewer but once I cut people slack, some poor
explanation about ABI beak is added to commit msg but no one else cares
and it bites back. We keep repeating that it is the platform's
maintainer decision but apparently still people don't know it.
Quite a lesson for me. Anyway, I am dissapointed, regardless of my
review, that this patchset could not actually keep backward compatibility.
My recommendation to Abel is to drop entire patchset.
If there is going to be any re-submits (v13), please kindly drop my
Reviewed-by from this and next patch breaking the ABI.
Best regards,
Krzysztof
next prev parent reply other threads:[~2025-05-13 13:31 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-24 6:21 [PATCH v12 00/19] Support spread spectrum clocking for i.MX8M PLLs Dario Binacchi
2025-04-24 6:21 ` [PATCH v12 01/19] dt-bindings: clock: imx8mm: add VIDEO_PLL clocks Dario Binacchi
2025-04-24 6:21 ` [PATCH v12 03/19] dt-bindings: clock: imx8mp: " Dario Binacchi
2025-04-24 6:21 ` [PATCH v12 05/19] dt-bindings: clock: imx8m-anatop: add oscillators and PLLs Dario Binacchi
2025-05-13 13:35 ` Krzysztof Kozlowski
2025-04-24 6:21 ` [PATCH v12 06/19] arm64: dts: imx8mm: add anatop clocks Dario Binacchi
2025-04-24 6:21 ` [PATCH v12 07/19] arm64: dts: imx8mn: " Dario Binacchi
2025-04-24 6:21 ` [PATCH v12 08/19] arm64: dts: imx8mp: " Dario Binacchi
2025-04-24 6:21 ` [PATCH v12 09/19] arm64: dts: imx8mq: " Dario Binacchi
2025-04-24 6:21 ` [PATCH v12 15/19] arm64: dts: imx8mp-aristainetos3a-som-v1: don't replicate clk properties Dario Binacchi
2025-04-24 6:21 ` [PATCH v12 16/19] dt-bindings: clock: imx8m-clock: add PLLs Dario Binacchi
2025-05-09 16:25 ` Rob Herring
2025-05-09 18:22 ` Dario Binacchi
2025-05-13 13:24 ` Abel Vesa
2025-05-13 13:33 ` Krzysztof Kozlowski
2025-05-13 13:31 ` Krzysztof Kozlowski [this message]
2025-05-13 13:35 ` Krzysztof Kozlowski
2025-04-24 6:21 ` [PATCH v12 17/19] arm64: dts: imx8mm: add PLLs to clock controller module (CCM) Dario Binacchi
2025-04-24 6:21 ` [PATCH v12 18/19] arm64: dts: imx8mn: " Dario Binacchi
2025-04-24 6:21 ` [PATCH v12 19/19] arm64: dts: imx8mp: " Dario Binacchi
2025-05-05 7:52 ` (subset) [PATCH v12 00/19] Support spread spectrum clocking for i.MX8M PLLs Abel Vesa
2025-05-08 8:32 ` Dario Binacchi
2025-05-09 12:01 ` Shawn Guo
2025-05-09 12:43 ` Dario Binacchi
2025-05-13 13:34 ` Krzysztof Kozlowski
2025-05-23 15:19 ` Dario Binacchi
2025-05-27 18:42 ` Krzysztof Kozlowski
2025-05-27 19:32 ` Dario Binacchi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=d421a6e8-e72c-48d9-8806-09724723b5d8@kernel.org \
--to=krzk@kernel.org \
--cc=abelvesa@kernel.org \
--cc=conor+dt@kernel.org \
--cc=dario.binacchi@amarulasolutions.com \
--cc=devicetree@vger.kernel.org \
--cc=festevam@gmail.com \
--cc=imx@lists.linux.dev \
--cc=kernel@pengutronix.de \
--cc=krzk+dt@kernel.org \
--cc=krzysztof.kozlowski@linaro.org \
--cc=linux-amarula@amarulasolutions.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mturquette@baylibre.com \
--cc=peng.fan@nxp.com \
--cc=robh@kernel.org \
--cc=s.hauer@pengutronix.de \
--cc=sboyd@kernel.org \
--cc=shawnguo@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox