clk: qcom: apcs-msm8916: use clk_parent_data to specify the parent
authorNiklas Cassel <niklas.cassel@linaro.org>
Fri, 3 Jan 2020 11:14:29 +0000 (12:14 +0100)
committerStephen Boyd <sboyd@kernel.org>
Sun, 5 Jan 2020 07:15:47 +0000 (23:15 -0800)
Allow accessing the parent clock names required for the driver operation
by using the device tree 'clock-names' property, while falling back to
the previous method of using names in the global name space.

This permits extending the driver to other platforms without having to
modify its source code.

Co-developed-by: Jorge Ramirez-Ortiz <jorge.ramirez-ortiz@linaro.org>
Signed-off-by: Jorge Ramirez-Ortiz <jorge.ramirez-ortiz@linaro.org>
Signed-off-by: Niklas Cassel <niklas.cassel@linaro.org>
Link: https://lkml.kernel.org/r/20200103111429.1347-1-nks@flawful.org
Tested-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
drivers/clk/qcom/apcs-msm8916.c

index 46061b3..cf69a97 100644 (file)
@@ -19,9 +19,9 @@
 
 static const u32 gpll0_a53cc_map[] = { 4, 5 };
 
-static const char * const gpll0_a53cc[] = {
-       "gpll0_vote",
-       "a53pll",
+static const struct clk_parent_data pdata[] = {
+       { .fw_name = "aux", .name = "gpll0_vote", },
+       { .fw_name = "pll", .name = "a53pll", },
 };
 
 /*
@@ -62,8 +62,8 @@ static int qcom_apcs_msm8916_clk_probe(struct platform_device *pdev)
                return -ENOMEM;
 
        init.name = "a53mux";
-       init.parent_names = gpll0_a53cc;
-       init.num_parents = ARRAY_SIZE(gpll0_a53cc);
+       init.parent_data = pdata;
+       init.num_parents = ARRAY_SIZE(pdata);
        init.ops = &clk_regmap_mux_div_ops;
        init.flags = CLK_SET_RATE_PARENT;