cpu_is_mx6* and imx_silicon_revision access static variables only initialized in imx_init(). Use the alternative functions instead, that will always consult the hardware to determine the version. This requires us to know beforehand that we run on an i.MX6, but this is a given when probing the imx6-ccm driver. Other instances of this issue were removed in 37bc313add40 ("clk: imx6: fix use of cpu_is_mx6* before they are initialized"), but this instance was reintroduced as part of b534f79112f0 ("clk: imx6: Fix procedure to switch the parent of LDB_DI_CLK"). This change only affects i.MX6D/Q SoCs with exactly revision 1.0 and aligns their behavior to that of the Linux clock driver. Fixes: b534f79112f0 ("clk: imx6: Fix procedure to switch the parent of LDB_DI_CLK") Signed-off-by: Ahmad Fatoum <a.fatoum@xxxxxxxxxxxxxx> --- drivers/clk/imx/clk-imx6.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/clk/imx/clk-imx6.c b/drivers/clk/imx/clk-imx6.c index 6935a8e85292..e3afcf7858bb 100644 --- a/drivers/clk/imx/clk-imx6.c +++ b/drivers/clk/imx/clk-imx6.c @@ -60,8 +60,8 @@ static inline int cpu_mx6_is_plus(void) /* Audio/Video PLL post dividers don't work on i.MX6q revision 1.0 */ static inline int cpu_has_working_video_pll_post_div(void) { - return !((cpu_is_mx6q() || cpu_is_mx6d()) && - imx_silicon_revision() == IMX_CHIP_REV_1_0); + return !((cpu_mx6_is_mx6q() || cpu_mx6_is_mx6d()) && + __imx6_cpu_revision() == IMX_CHIP_REV_1_0); } /* i.MX6 Quad/Dual/DualLite/Solo are all affected */ -- 2.30.2 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox