clk: qcom: hfpll: Allow matching pdata
authorAdam Skladowski <a39.skl@gmail.com>
Sat, 12 Aug 2023 11:24:46 +0000 (13:24 +0200)
committerBjorn Andersson <andersson@kernel.org>
Wed, 13 Sep 2023 19:07:59 +0000 (12:07 -0700)
HFPLL driver can be used to drive PLLs also on different SoCs like MSM8976
On MSM8976 each PLL gets it own different configuration,
add matching pdata to driver to support multiple configurations.

Signed-off-by: Adam Skladowski <a39.skl@gmail.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org>
Link: https://lore.kernel.org/r/20230812112534.8610-4-a39.skl@gmail.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
drivers/clk/qcom/hfpll.c

index f4d7800..47325eb 100644 (file)
@@ -6,6 +6,7 @@
 #include <linux/module.h>
 #include <linux/platform_device.h>
 #include <linux/of.h>
+#include <linux/of_device.h>
 #include <linux/clk.h>
 #include <linux/clk-provider.h>
 #include <linux/regmap.h>
@@ -32,7 +33,7 @@ static const struct hfpll_data hdata = {
 };
 
 static const struct of_device_id qcom_hfpll_match_table[] = {
-       { .compatible = "qcom,hfpll" },
+       { .compatible = "qcom,hfpll", .data = &hdata },
        { }
 };
 MODULE_DEVICE_TABLE(of, qcom_hfpll_match_table);
@@ -83,7 +84,7 @@ static int qcom_hfpll_probe(struct platform_device *pdev)
 
        init.parent_data = &pdata;
 
-       h->d = &hdata;
+       h->d = of_device_get_match_data(&pdev->dev);
        h->clkr.hw.init = &init;
        spin_lock_init(&h->lock);