Hi Bartosz, are you planning to work on this? If not I can pick it up and make a v2. Please let me know! Regards Luca On Montag, 6. Dezember 2021 17:12:20 CET Bjorn Andersson wrote: > 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 = {