Message ID | 20230517-fix-clk-index-v2-1-1b686cefcb7e@baylibre.com |
---|---|
State | New |
Headers | show |
Series | Fix and clean MT8365 clock indexes | expand |
On Fri, May 26, 2023 at 10:54:04AM +0200, Alexandre Mergnat wrote: > On 25/05/2023 19:51, Conor Dooley wrote: > > On Thu, May 25, 2023 at 04:50:27PM +0200, Alexandre Mergnat wrote: > > > The “mcu_pm_bclk_ck_cg” clock is used by co-processors and should not be > > > added to the kernel driver, otherwise the CPU just halt and the board is > > > rebooted by the wathdog. > > > > > > Instead, add the "aes_top0_bclk_ck_cg" missing clock to prevent > > > re-shuffling index and then preserve the ABI. > > > > How does this preserve the ABI exactly? Please describe exactly what you > > mean by that. > > I mean that reduce the impact of the change compared to the v1 where I've > changed the index of the following defines to be clean. Oh, you can't do that at all as you probably discovered! > > Also, what about any other users of these definitions, outside of Linux? > > The clock driver and bindings are only a couple of kernel versions old, I'm > pretty sure no one is using it. Pretty sure, or sure? > Also, if someone use CLK_IFR_MCU_PM_BK > define, I'm wondering how his CPU is working since Mediatek told me that > shouldn't be used, and after some try, I confirm. Maybe that person is actually using the index to make sure that the clock at that index is left untouched. > I've a question: If something is wrong in the binding, you don't fix it to > avoid ABI change ? I don't quite get what you mean by "wrong". These header files just define a set of arbitrary meanings, since the clock numbers are really just something that developers came up with rather than being lifted from a TRM. They don't prescribe behaviour for each of these clocks, or that these clocks should actually be used - just a simple "this number means this clock". It sounds more like a driver or devicetree is _using_ the number incorrectly, but that does not make the binding wrong :) > TBH, I just try to clean the binding. I can fix the driver index issue > (patch 2/2) without fixing the binding if you prefer. But IMHO, keep an > unusable define isn't great... I, at least, would prefer that. Thanks, Conor.
diff --git a/include/dt-bindings/clock/mediatek,mt8365-clk.h b/include/dt-bindings/clock/mediatek,mt8365-clk.h index f9aff1775810..0a841e7cc1c3 100644 --- a/include/dt-bindings/clock/mediatek,mt8365-clk.h +++ b/include/dt-bindings/clock/mediatek,mt8365-clk.h @@ -199,7 +199,7 @@ #define CLK_IFR_PWRAP_TMR 46 #define CLK_IFR_PWRAP_SPI 47 #define CLK_IFR_PWRAP_SYS 48 -#define CLK_IFR_MCU_PM_BK 49 +#define CLK_IFR_AES_TOP0_BK 49 #define CLK_IFR_IRRX_26M 50 #define CLK_IFR_IRRX_32K 51 #define CLK_IFR_I2C0_AXI 52
The “mcu_pm_bclk_ck_cg” clock is used by co-processors and should not be added to the kernel driver, otherwise the CPU just halt and the board is rebooted by the wathdog. Instead, add the "aes_top0_bclk_ck_cg" missing clock to prevent re-shuffling index and then preserve the ABI. Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com> --- include/dt-bindings/clock/mediatek,mt8365-clk.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)