diff mbox

[3/3] clk-mstp: add backwards comapt for indicies field

Message ID 1392314571-30107-3-git-send-email-ben.dooks@codethink.co.uk (mailing list archive)
State Superseded
Headers show

Commit Message

Ben Dooks Feb. 13, 2014, 6:02 p.m. UTC
Add comaptibiltiy for older device trees by checking to see if
the clock-indicies property is there and falling back to the
older renesas,clock-indices field.

Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
---
 drivers/clk/shmobile/clk-mstp.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

Comments

Laurent Pinchart Feb. 13, 2014, 11:15 p.m. UTC | #1
Hi Ben,

Thank you for the patch.

On Thursday 13 February 2014 18:02:51 Ben Dooks wrote:
> Add comaptibiltiy for older device trees by checking to see if
> the clock-indicies property is there and falling back to the
> older renesas,clock-indices field.

I would drop this patch. The Renesas clocks DT bindings are too new (v3.14-
rc1, and for multiplatform kernels only) to be considered as stable in my 
opinion.

> Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
> ---
>  drivers/clk/shmobile/clk-mstp.c | 9 +++++++--
>  1 file changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/clk/shmobile/clk-mstp.c
> b/drivers/clk/shmobile/clk-mstp.c index 95a2aa7..d1ee757 100644
> --- a/drivers/clk/shmobile/clk-mstp.c
> +++ b/drivers/clk/shmobile/clk-mstp.c
> @@ -156,6 +156,7 @@ cpg_mstp_clock_register(const char *name, const char
> *parent_name, static void __init cpg_mstp_clocks_init(struct device_node
> *np)
>  {
>  	struct mstp_clock_group *group;
> +	const char *idxname;
>  	struct clk **clks;
>  	unsigned int i;
> 
> @@ -184,6 +185,11 @@ static void __init cpg_mstp_clocks_init(struct
> device_node *np) for (i = 0; i < MSTP_MAX_CLOCKS; ++i)
>  		clks[i] = ERR_PTR(-ENOENT);
> 
> +	if (of_find_property(np, "clock-indices"))
> +		idxname = "clock-indices";
> +	else
> +		idxname = "renesas,clock-indices";
> +
>  	for (i = 0; i < MSTP_MAX_CLOCKS; ++i) {
>  		const char *parent_name;
>  		const char *name;
> @@ -197,8 +203,7 @@ static void __init cpg_mstp_clocks_init(struct
> device_node *np) continue;
> 
>  		parent_name = of_clk_get_parent_name(np, i);
> -		ret = of_property_read_u32_index(np, "clock-indices", i,
> -						 &clkidx);
> +		ret = of_property_read_u32_index(np, idxname, i, &clkidx);
>  		if (parent_name == NULL || ret < 0)
>  			break;
Ben Dooks Feb. 14, 2014, 10:27 a.m. UTC | #2
On 13/02/14 23:15, Laurent Pinchart wrote:
> Hi Ben,
>
> Thank you for the patch.
>
> On Thursday 13 February 2014 18:02:51 Ben Dooks wrote:
>> Add comaptibiltiy for older device trees by checking to see if
>> the clock-indicies property is there and falling back to the
>> older renesas,clock-indices field.
>
> I would drop this patch. The Renesas clocks DT bindings are too new (v3.14-
> rc1, and for multiplatform kernels only) to be considered as stable in my
> opinion.

Ok, Magnus earlier was all in favour of not breaking things.
Laurent Pinchart Feb. 14, 2014, 2:36 p.m. UTC | #3
Hi Ben,

On Friday 14 February 2014 10:27:01 Ben Dooks wrote:
> On 13/02/14 23:15, Laurent Pinchart wrote:
> > On Thursday 13 February 2014 18:02:51 Ben Dooks wrote:
> >> Add comaptibiltiy for older device trees by checking to see if
> >> the clock-indicies property is there and falling back to the
> >> older renesas,clock-indices field.
> > 
> > I would drop this patch. The Renesas clocks DT bindings are too new
> > (v3.14-rc1, and for multiplatform kernels only) to be considered as stable
> > in my opinion.
> 
> Ok, Magnus earlier was all in favour of not breaking things.

I'm not too much for breaking things either ;-) We really need to discuss the 
general DT bindings stability problem though.
Mike Turquette Feb. 23, 2014, 8:23 p.m. UTC | #4
Quoting Laurent Pinchart (2014-02-13 15:15:19)
> Hi Ben,
> 
> Thank you for the patch.
> 
> On Thursday 13 February 2014 18:02:51 Ben Dooks wrote:
> > Add comaptibiltiy for older device trees by checking to see if
> > the clock-indicies property is there and falling back to the
> > older renesas,clock-indices field.
> 
> I would drop this patch. The Renesas clocks DT bindings are too new (v3.14-
> rc1, and for multiplatform kernels only) to be considered as stable in my 
> opinion.

I agree. It does take a little time and practice to know how to shape
the binding.

Regards,
Mike

> 
> > Signed-off-by: Ben Dooks <ben.dooks@codethink.co.uk>
> > ---
> >  drivers/clk/shmobile/clk-mstp.c | 9 +++++++--
> >  1 file changed, 7 insertions(+), 2 deletions(-)
> > 
> > diff --git a/drivers/clk/shmobile/clk-mstp.c
> > b/drivers/clk/shmobile/clk-mstp.c index 95a2aa7..d1ee757 100644
> > --- a/drivers/clk/shmobile/clk-mstp.c
> > +++ b/drivers/clk/shmobile/clk-mstp.c
> > @@ -156,6 +156,7 @@ cpg_mstp_clock_register(const char *name, const char
> > *parent_name, static void __init cpg_mstp_clocks_init(struct device_node
> > *np)
> >  {
> >       struct mstp_clock_group *group;
> > +     const char *idxname;
> >       struct clk **clks;
> >       unsigned int i;
> > 
> > @@ -184,6 +185,11 @@ static void __init cpg_mstp_clocks_init(struct
> > device_node *np) for (i = 0; i < MSTP_MAX_CLOCKS; ++i)
> >               clks[i] = ERR_PTR(-ENOENT);
> > 
> > +     if (of_find_property(np, "clock-indices"))
> > +             idxname = "clock-indices";
> > +     else
> > +             idxname = "renesas,clock-indices";
> > +
> >       for (i = 0; i < MSTP_MAX_CLOCKS; ++i) {
> >               const char *parent_name;
> >               const char *name;
> > @@ -197,8 +203,7 @@ static void __init cpg_mstp_clocks_init(struct
> > device_node *np) continue;
> > 
> >               parent_name = of_clk_get_parent_name(np, i);
> > -             ret = of_property_read_u32_index(np, "clock-indices", i,
> > -                                              &clkidx);
> > +             ret = of_property_read_u32_index(np, idxname, i, &clkidx);
> >               if (parent_name == NULL || ret < 0)
> >                       break;
> 
> -- 
> Regards,
> 
> Laurent Pinchart
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-sh" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Ben Dooks March 6, 2014, 7:06 p.m. UTC | #5
On 13/02/14 23:15, Laurent Pinchart wrote:
> Hi Ben,
>
> Thank you for the patch.
>
> On Thursday 13 February 2014 18:02:51 Ben Dooks wrote:
>> Add comaptibiltiy for older device trees by checking to see if
>> the clock-indicies property is there and falling back to the
>> older renesas,clock-indices field.
>
> I would drop this patch. The Renesas clocks DT bindings are too new (v3.14-
> rc1, and for multiplatform kernels only) to be considered as stable in my
> opinion.

I think this may be required as the current amount of
development work being done means that either we need
to be at a point where we can merge the driver change
via Simon's tree, or to put the compatibility in and
hope the driver update goes in first before we merge
the dts/dtsi changes.

I'm not sure which is the best way to do this?
Laurent Pinchart March 7, 2014, 10:10 a.m. UTC | #6
Hi Ben,

On Thursday 06 March 2014 19:06:35 Ben Dooks wrote:
> On 13/02/14 23:15, Laurent Pinchart wrote:
> > Hi Ben,
> > 
> > Thank you for the patch.
> > 
> > On Thursday 13 February 2014 18:02:51 Ben Dooks wrote:
> >> Add comaptibiltiy for older device trees by checking to see if
> >> the clock-indicies property is there and falling back to the
> >> older renesas,clock-indices field.
> > 
> > I would drop this patch. The Renesas clocks DT bindings are too new
> > (v3.14-rc1, and for multiplatform kernels only) to be considered as stable
> > in my opinion.
> 
> I think this may be required as the current amount of development work being
> done means that either we need to be at a point where we can merge the
> driver change via Simon's tree, or to put the compatibility in and hope the
> driver update goes in first before we merge the dts/dtsi changes.
> 
> I'm not sure which is the best way to do this?

I assume that backward compat will get the most votes, so I won't fight 
against it :-)
diff mbox

Patch

diff --git a/drivers/clk/shmobile/clk-mstp.c b/drivers/clk/shmobile/clk-mstp.c
index 95a2aa7..d1ee757 100644
--- a/drivers/clk/shmobile/clk-mstp.c
+++ b/drivers/clk/shmobile/clk-mstp.c
@@ -156,6 +156,7 @@  cpg_mstp_clock_register(const char *name, const char *parent_name,
 static void __init cpg_mstp_clocks_init(struct device_node *np)
 {
 	struct mstp_clock_group *group;
+	const char *idxname;
 	struct clk **clks;
 	unsigned int i;
 
@@ -184,6 +185,11 @@  static void __init cpg_mstp_clocks_init(struct device_node *np)
 	for (i = 0; i < MSTP_MAX_CLOCKS; ++i)
 		clks[i] = ERR_PTR(-ENOENT);
 
+	if (of_find_property(np, "clock-indices"))
+		idxname = "clock-indices";
+	else
+		idxname = "renesas,clock-indices";
+
 	for (i = 0; i < MSTP_MAX_CLOCKS; ++i) {
 		const char *parent_name;
 		const char *name;
@@ -197,8 +203,7 @@  static void __init cpg_mstp_clocks_init(struct device_node *np)
 			continue;
 
 		parent_name = of_clk_get_parent_name(np, i);
-		ret = of_property_read_u32_index(np, "clock-indices", i,
-						 &clkidx);
+		ret = of_property_read_u32_index(np, idxname, i, &clkidx);
 		if (parent_name == NULL || ret < 0)
 			break;