On Sat, Dec 30, 2023 at 02:04:04PM +0100, Konrad Dybcio wrote: > Instead of magically poking at the bit0 of branch clocks' CBCR, use > the newly introduced helper. > > Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@xxxxxxxxxx> > Signed-off-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxx> > --- > diff --git a/drivers/clk/qcom/camcc-sc8280xp.c b/drivers/clk/qcom/camcc-sc8280xp.c > index 3dcd79b01515..94db130b85e2 100644 > --- a/drivers/clk/qcom/camcc-sc8280xp.c > +++ b/drivers/clk/qcom/camcc-sc8280xp.c > @@ -3010,10 +3010,8 @@ static int camcc_sc8280xp_probe(struct platform_device *pdev) > clk_lucid_pll_configure(&camcc_pll6, regmap, &camcc_pll6_config); > clk_lucid_pll_configure(&camcc_pll7, regmap, &camcc_pll7_config); > > - /* > - * Keep camcc_gdsc_clk always enabled: > - */ > - regmap_update_bits(regmap, 0xc1e4, BIT(0), 1); > + /* Keep the critical clocks always-on */ > + qcom_branch_set_clk_en(regmap, 0xc1e4); /* CAMCC_GDSC_CLK */ I still think something along the lines of /* Keep some clocks always on */ is preferred as it is far from obvious why a camera clock would be considered "critical". Or perhaps you can come up with a better description of why we've decided not to model these clocks and just leave them ungated. > > ret = qcom_cc_really_probe(pdev, &camcc_sc8280xp_desc, regmap); > if (ret) Johan