clk: imx: Add 'CLK_SET_RATE_NO_REPARENT' for composite-7ulp
authorJacky Bai <ping.bai@nxp.com>
Tue, 14 Sep 2021 06:52:04 +0000 (14:52 +0800)
committerAbel Vesa <abel.vesa@nxp.com>
Thu, 30 Sep 2021 13:22:55 +0000 (16:22 +0300)
For the imx_composite-7ulp clock type, The clock parent should
be changed explicitly by end user of this clock, if the the
'CLK_SET_RATE_NO_REPARENT' flag is not set, when user want to
set a clock frequency that can NOT get from HW accurately, then
the clock's parent will be switch to another clock parent sometimes.
This is NOT what we expected and introduced some additional debug
effort, so add the 'CLK_SET_RATE_NO_REPARENT' to avoid such unexpected
result.

Signed-off-by: Jacky Bai <ping.bai@nxp.com>
Reviewed-by: Abel Vesa <abel.vesa@nxp.com>
Link: https://lore.kernel.org/r/20210914065208.3582128-6-ping.bai@nxp.com
Signed-off-by: Abel Vesa <abel.vesa@nxp.com>
drivers/clk/imx/clk-composite-7ulp.c

index 92908ee..9ce8c63 100644 (file)
@@ -131,7 +131,7 @@ static struct clk_hw *imx_ulp_clk_hw_composite(const char *name,
                                       mux_hw, &clk_mux_ops, fd_hw,
                                       &clk_fractional_divider_ops, gate_hw,
                                       has_swrst ? &pcc_gate_ops : &clk_gate_ops, CLK_SET_RATE_GATE |
-                                      CLK_SET_PARENT_GATE);
+                                      CLK_SET_PARENT_GATE | CLK_SET_RATE_NO_REPARENT);
        if (IS_ERR(hw)) {
                kfree(mux);
                kfree(fd);