On Fri 12 Nov 19:58 CST 2021, Bartosz Dudziak wrote: > diff --git a/drivers/clk/qcom/mmcc-msm8974.c b/drivers/clk/qcom/mmcc-msm8974.c [..] > static int mmcc_msm8974_probe(struct platform_device *pdev) > { > struct regmap *regmap; > + const struct of_device_id *match; > + > + match = of_match_device(mmcc_msm8974_match_table, &pdev->dev); Could you please use of_device_get_match_data() instead? > + if (!match) As a general suggestion; I don't see how we would end up here with !match, but if we somehow do it would be during development and you would have an easier time debugging this by hitting a NULL pointer dereference with a callstack, than tracking down why your clocks are missing... Thanks, Bjorn > + return -ENODEV; > > - regmap = qcom_cc_map(pdev, &mmcc_msm8974_desc); > + regmap = qcom_cc_map(pdev, match->data); > if (IS_ERR(regmap)) > return PTR_ERR(regmap); > > - clk_pll_configure_sr_hpm_lp(&mmpll1, regmap, &mmpll1_config, true); > - clk_pll_configure_sr_hpm_lp(&mmpll3, regmap, &mmpll3_config, false); > + if (match->data == &mmcc_msm8974_desc) { > + clk_pll_configure_sr_hpm_lp(&mmpll1, regmap, &mmpll1_config, true); > + clk_pll_configure_sr_hpm_lp(&mmpll3, regmap, &mmpll3_config, false); > + } else { > + msm8226_clock_override(); > + } > > - return qcom_cc_really_probe(pdev, &mmcc_msm8974_desc, regmap); > + return qcom_cc_really_probe(pdev, match->data, regmap); > } > > static struct platform_driver mmcc_msm8974_driver = { > -- > 2.25.1 >