Skip to contentSkip to conversation

clk: shmobile: clk-mstp: change to using clock-indices

PATCH New Ben Dooks 4 participants 8 messages Apr 15, 2014 – May 12, 2014

Subsystems (4)
lore
Share & tools
lore

Ben Dooks

author
#0 lore raw

PATCH 1/1 clk: shmobile: clk-mstp: change to using clock-indices

With the addition of clock-indices, we need to change the renesas clock implementation to use these instead of the local definition of "renesas,clock-indices".

Since this will break booting with older device trees, we add a simple auto-detection of which properties are present.

---
 .../devicetree/bindings/clock/renesas,cpg-mstp-clocks.txt        | 2 +-
 drivers/clk/shmobile/clk-mstp.c                                  | 9 +++++++--
 2 files changed, 8 insertions(+), 3 deletions(-)
Documentation/devicetree/bindings/clock/renesas,cpg-mstp-clocks.txt +1 -1
index 5992dce..02a25d9 100644
@@ -43,7 +43,7 @@ Example
 		clock-output-names =
 			"tpu0", "mmcif1", "sdhi3", "sdhi2",
 			 "sdhi1", "sdhi0", "mmcif0";
-		renesas,clock-indices = <
+		clock-indices = <
 			R8A7790_CLK_TPU0 R8A7790_CLK_MMCIF1 R8A7790_CLK_SDHI3
 			R8A7790_CLK_SDHI2 R8A7790_CLK_SDHI1 R8A7790_CLK_SDHI0
 			R8A7790_CLK_MMCIF0
drivers/clk/shmobile/clk-mstp.c +7 -2
index 2e5810c..1f6324e 100644
@@ -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", &i))
+		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, "renesas,clock-indices", i,
-						 &clkidx);
+		ret = of_property_read_u32_index(np, idxname, i, &clkidx);
 		if (parent_name == NULL || ret < 0)
 			break;
 
Signature · 1 line
1.9.1
#1 lore raw

PATCH 1/1 clk: shmobile: clk-mstp: change to using clock-indices

Hi Ben,

Quoted 6 lines · Ben Dooks

With the addition of clock-indices, we need to change the renesas clock implementation to use these instead of the local definition of "renesas,clock-indices".

Since this will break booting with older device trees, we add a simple auto-detection of which properties are present.

Thanks for your patch!

Quoted 1 line

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

#2 lore raw

PATCH 1/1 clk: shmobile: clk-mstp: change to using clock-indices

In reply to Ben Dooks

Documentation/devicetree/bindings/clock/renesas,cpg-mstp-clocks.txt

Quoted 17 lines · Ben Dooks

With the addition of clock-indices, we need to change the renesas clock implementation to use these instead of the local definition of "renesas,clock-indices".

Since this will break booting with older device trees, we add a simple auto-detection of which properties are present.

---
 .../devicetree/bindings/clock/renesas,cpg-mstp-clocks.txt        | 2 +-
 drivers/clk/shmobile/clk-mstp.c                                  | 9 +++++++--
 2 files changed, 8 insertions(+), 3 deletions(-)
Documentation/devicetree/bindings/clock/renesas,cpg-mstp-clocks.txt +0 -0
index 5992dce..02a25d9 100644

What about mentioning the old binding as deprecated in this file...

Documentation/devicetree/bindings/clock/renesas,cpg-mstp-clocks.txt

Quoted 5 lines
Documentation/devicetree/bindings/clock/renesas,cpg-mstp-clocks.txt +4 -0
+	if (of_find_property(np, "clock-indices", &i))
+		idxname = "clock-indices";
+	else
+		idxname = "renesas,clock-indices";

...and here in the code? It might also be a tad more intuitive to check for the depracted binding, and if not found, use the new one as default, i.e. switch the logic of the if block. Very minor nit, though.

But in general,

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140428/cc9f5c3c/attachment.sig>

#3 lore raw

PATCH 1/1 clk: shmobile: clk-mstp: change to using clock-indices

Hi Wolfram,

Quoted 6 lines · Wolfram Sang

drivers/clk/shmobile/clk-mstp.c static void __init cpg_mstp_clocks_init(struct device_node *np) · line 191

Quoted 4 lines
drivers/clk/shmobile/clk-mstp.c +4 -0
+     if (of_find_property(np, "clock-indices", &i))
+             idxname = "clock-indices";
+     else
+             idxname = "renesas,clock-indices";

...and here in the code? It might also be a tad more intuitive to check

Thanks, a comment never hurts.

Quoted 2 lines

for the depracted binding, and if not found, use the new one as default, i.e. switch the logic of the if block. Very minor nit, though.

I think checking for the new one first is the right thing to do.

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that.
-- Linus TorvaldsH

#4 lore raw

PATCH 1/1 clk: shmobile: clk-mstp: change to using clock-indices

In reply to Ben Dooks

Quoting Ben Dooks (2014-04-15 09:06:34)

Quoted 8 lines

With the addition of clock-indices, we need to change the renesas clock implementation to use these instead of the local definition of "renesas,clock-indices".

Since this will break booting with older device trees, we add a simple auto-detection of which properties are present.

I'm fine to take this into clk-fixes, destined for 3.15-rc5. Does that solve the issues on your end? Do you still need me to host a stable topic branch for you? I'm happy to do that if needed.

Regards,
Mike

Quoted 55 lines
---
 .../devicetree/bindings/clock/renesas,cpg-mstp-clocks.txt        | 2 +-
 drivers/clk/shmobile/clk-mstp.c                                  | 9 +++++++--
 2 files changed, 8 insertions(+), 3 deletions(-)
Documentation/devicetree/bindings/clock/renesas,cpg-mstp-clocks.txt +1 -1
index 5992dce..02a25d9 100644
@@ -43,7 +43,7 @@ Example
                clock-output-names =
                        "tpu0", "mmcif1", "sdhi3", "sdhi2",
                         "sdhi1", "sdhi0", "mmcif0";
-               renesas,clock-indices = <
+               clock-indices = <
                        R8A7790_CLK_TPU0 R8A7790_CLK_MMCIF1 R8A7790_CLK_SDHI3
                        R8A7790_CLK_SDHI2 R8A7790_CLK_SDHI1 R8A7790_CLK_SDHI0
                        R8A7790_CLK_MMCIF0
drivers/clk/shmobile/clk-mstp.c +7 -2
index 2e5810c..1f6324e 100644
@@ -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", &i))
+               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, "renesas,clock-indices", i,
-                                                &clkidx);
+               ret = of_property_read_u32_index(np, idxname, i, &clkidx);
                if (parent_name == NULL || ret < 0)
                        break;
 
Signature · 1 line
1.9.1
#5 lore raw

PATCH 1/1 clk: shmobile: clk-mstp: change to using clock-indices

Hi Mike,

Quoted 11 lines · Mike Turquette

Quoting Ben Dooks (2014-04-15 09:06:34)

Quoted 8 lines

With the addition of clock-indices, we need to change the renesas clock implementation to use these instead of the local definition of "renesas,clock-indices".

Since this will break booting with older device trees, we add a simple auto-detection of which properties are present.

I'm fine to take this into clk-fixes, destined for 3.15-rc5. Does that

Thanks!

Quoted 2 lines

solve the issues on your end? Do you still need me to host a stable topic branch for you? I'm happy to do that if needed.

As Simon will be on holidays until rc5, I think he can just use rc5 as the stable base for further fixes.

Thanks again!

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

#6 lore raw

PATCH 1/1 clk: shmobile: clk-mstp: change to using clock-indices

Hi Mike,

Quoted 6 lines · Geert Uytterhoeven
Quoted 5 lines · Mike Turquette

Quoting Ben Dooks (2014-04-15 09:06:34)

Quoted 4 lines

With the addition of clock-indices, we need to change the renesas clock implementation to use these instead of the local definition of "renesas,clock-indices".

Quoted 8 lines
Quoted 6 lines
Quoted 4 lines

Since this will break booting with older device trees, we add a simple auto-detection of which properties are present.

I'm fine to take this into clk-fixes, destined for 3.15-rc5. Does that

Thanks!

It seems this missed rc5?
Can you please submit for rc6?

Thanks again!

Quoted 5 lines
Quoted 2 lines

solve the issues on your end? Do you still need me to host a stable topic branch for you? I'm happy to do that if needed.

As Simon will be on holidays until rc5, I think he can just use rc5 as the stable base for further fixes.

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

#7 lore raw

PATCH 1/1 clk: shmobile: clk-mstp: change to using clock-indices

Quoting Geert Uytterhoeven (2014-05-12 01:31:41)

Quoted 12 lines

Hi Mike,

Quoted 9 lines · Geert Uytterhoeven
Quoted 8 lines · Mike Turquette

Quoting Ben Dooks (2014-04-15 09:06:34)

Quoted 7 lines

With the addition of clock-indices, we need to change the renesas clock implementation to use these instead of the local definition of "renesas,clock-indices".

Since this will break booting with older device trees, we add a simple auto-detection of which properties are present.

Quoted 8 lines
Quoted 5 lines
Quoted 3 lines
Quoted 1 line

I'm fine to take this into clk-fixes, destined for 3.15-rc5. Does that

Thanks!

It seems this missed rc5?
Can you please submit for rc6?

Yes, I will send out the PR for that today. This fix has already landed in clk-next as I merge the clk-fixes branch into clk-next regularly.

Regards,
Mike

Quoted 19 lines

Thanks again!

Quoted 5 lines
Quoted 2 lines

solve the issues on your end? Do you still need me to host a stable topic branch for you? I'm happy to do that if needed.

As Simon will be on holidays until rc5, I think he can just use rc5 as the stable base for further fixes.

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds