Re: [PATCH 2/2] clk: qcom: Add MSM8226 Multimedia Clock Controller support
From: Bjorn Andersson <hidden>
Date: 2021-12-06 16:16:11
Also in:
linux-arm-msm, linux-clk, lkml
From: Bjorn Andersson <hidden>
Date: 2021-12-06 16:16:11
Also in:
linux-arm-msm, linux-clk, lkml
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