Message ID | 20220812043424.4078034-1-peng.fan@oss.nxp.com |
---|---|
Headers | show |
Series | i2c-imx-lpi2c: add IPG clock | expand |
> Subject: Re: [PATCH 0/6] i2c-imx-lpi2c: add IPG clock > > On 15/08/2022 03:52, Peng Fan wrote: > > Hi Krzysztof, > > > >> Subject: Re: [PATCH 0/6] i2c-imx-lpi2c: add IPG clock > >> > >> On 12/08/2022 07:34, Peng Fan (OSS) wrote: > >>> From: Peng Fan <peng.fan@nxp.com> > >>> > >>> The i.MX LPI2C needs PER and IPG clock, not just PER or IPG clock. > >>> This patch is to enable both PER and IPG clock for imx-i2c-lpi2c. > >> > >> This patchset breaks the ABI and is not bisectable. The justification > >> is very limited (one sentence), so not really enough. > > > > ARM32 i.MX7ULP and ARM64 i.MX8QXP/i.MX8ULP all need to use two > clocks, > > PER and IPG. But current dt-bindings and dts, use one clock. > > > > This patchset includes dts changes patch 4 and patch 5. > > Patch 6 is to update driver use two clocks. > > > > I think the patch order in this patchset would not break git bisect, > > it just break ABI. But I not find good way how could not break ABI, > > because only use one clock is wrong whether in dt-bindings or dtbs. > > Driver changes always go via separate branch than DTS, so your patch > breaks git bisect. I already pointed it out in other patch. This is not really > acceptable. Breaking ABI is another problem which could be justified with > your explanation in other cases... but not in this one, since it is easy to make > it backwards compatible, I see. But the current binding and dts using one clk is really wrong. Anyway, I could make it backwards compatible. Thanks, Peng. > > > Should I use a fixes tag to dt-bindings, then break ABI is allowed? > > No. For such patch ABI break is also not allowed in that case. Just make the > driver backwards compatible and both problems - non bisectability and ABI > break - go away. > > Best regards, > Krzysztof
On 16/08/2022 11:43, Peng Fan wrote: >> No. For such patch ABI break is also not allowed in that case. Just make the >> driver backwards compatible and both problems - non bisectability and ABI >> break - go away. > > One more point that I am not very clear about > "non bisectability and ABI break " > > ABI, I suppose you mean dt-binding, right? > The I2C bindings and dts update will go through different tree, I think. So > dtbs_check may fail considering the PR merge order. ABI break means breaking Application Binary Interface, so out of tree DTS conforming to old bindings stop working with new kernel. ABI is described by bindings and implemented by driver. You broke it in the driver. Best regards, Krzysztof
From: Peng Fan <peng.fan@nxp.com> The i.MX LPI2C needs PER and IPG clock, not just PER or IPG clock. This patch is to enable both PER and IPG clock for imx-i2c-lpi2c. Peng Fan (6): dt-bindings: i2c: i2c-imx-lpi2c: add ipg clk dt-bindings: i2c: i2c-imx-lpi2c: add dmas property dt-bindings: i2c: i2c-imx-lpi2c: add i.MX93 arm64: dts: imx8-ss-dma: add IPG clock for i2c ARM: dts: imx7ulp: Add PER clock for lpi2c i2c: imx-lpi2c: handle IPG clock .../bindings/i2c/i2c-imx-lpi2c.yaml | 20 +++++++-- arch/arm/boot/dts/imx7ulp.dtsi | 10 +++-- .../arm64/boot/dts/freescale/imx8-ss-dma.dtsi | 20 +++++---- drivers/i2c/busses/i2c-imx-lpi2c.c | 41 ++++++++++++++----- 4 files changed, 66 insertions(+), 25 deletions(-)