diff mbox series

[v4] clk: qcom: apcs-msm8916: use clk_parent_data to specify the parent

Message ID 20200103111429.1347-1-nks@flawful.org
State New
Headers show
Series [v4] clk: qcom: apcs-msm8916: use clk_parent_data to specify the parent | expand

Commit Message

Niklas Cassel Jan. 3, 2020, 11:14 a.m. UTC
From: Niklas Cassel <niklas.cassel@linaro.org>

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>
---
Changes since v3:
-Don't set dev->of_node explicitly, since the clock framework will now
automatically use the parent node pointer when needed.

Requires the following patch to the clock framework to land first:
https://patchwork.kernel.org/patch/11313639/

 drivers/clk/qcom/apcs-msm8916.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

Comments

Bjorn Andersson Jan. 3, 2020, 7:15 p.m. UTC | #1
On Fri 03 Jan 03:14 PST 2020, Niklas Cassel wrote:

> From: Niklas Cassel <niklas.cassel@linaro.org>
> 
> 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>

Tested-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>

Regards,
Bjorn

> ---
> Changes since v3:
> -Don't set dev->of_node explicitly, since the clock framework will now
> automatically use the parent node pointer when needed.
> 
> Requires the following patch to the clock framework to land first:
> https://patchwork.kernel.org/patch/11313639/
> 
>  drivers/clk/qcom/apcs-msm8916.c | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/clk/qcom/apcs-msm8916.c b/drivers/clk/qcom/apcs-msm8916.c
> index 46061b3d230e..cf69a97d0439 100644
> --- a/drivers/clk/qcom/apcs-msm8916.c
> +++ b/drivers/clk/qcom/apcs-msm8916.c
> @@ -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;
>  
> -- 
> 2.24.1
>
Niklas Cassel Jan. 7, 2020, 7:28 a.m. UTC | #2
On Sat, Jan 04, 2020 at 11:16:19PM -0800, Stephen Boyd wrote:
> Quoting Niklas Cassel (2020-01-03 03:14:29)
> > From: Niklas Cassel <niklas.cassel@linaro.org>
> > 
> > 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>
> > ---
> 
> Applied to clk-next
> 

Hello Stephen,

It has been 3 days, but I still can't find this in:
https://git.kernel.org/pub/scm/linux/kernel/git/clk/linux.git/log/?h=clk-next

Did you perhaps forget to push your branch, or am I simply being to eager? :)

Kind regards,
Niklas
diff mbox series

Patch

diff --git a/drivers/clk/qcom/apcs-msm8916.c b/drivers/clk/qcom/apcs-msm8916.c
index 46061b3d230e..cf69a97d0439 100644
--- a/drivers/clk/qcom/apcs-msm8916.c
+++ b/drivers/clk/qcom/apcs-msm8916.c
@@ -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;