linux-clk.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 2/5] clk: x86: Change name from ST to FCH
       [not found] <20200713010001.18976-1-akshu.agrawal@amd.com>
@ 2020-07-13  0:59 ` Akshu Agrawal
  2020-07-16  0:42   ` Stephen Boyd
  2020-07-13  0:59 ` [PATCH 4/5] clk: x86: Support RV architecture Akshu Agrawal
  1 sibling, 1 reply; 7+ messages in thread
From: Akshu Agrawal @ 2020-07-13  0:59 UTC (permalink / raw)
  To: akshu.agrawal
  Cc: sboyd, Michael Turquette, Rahul Tanwar,
	open list:COMMON CLK FRAMEWORK, open list

AMD SoC general pupose clk is present in new platforms with
minor differences. We can reuse the same clk driver for other
platforms. Hence, changing name from ST(SoC) to FCH(IP)

Signed-off-by: Akshu Agrawal <akshu.agrawal@amd.com>
---
 drivers/clk/x86/Makefile                |  2 +-
 drivers/clk/x86/{clk-st.c => clk-fch.c} | 26 ++++++++++++-------------
 2 files changed, 14 insertions(+), 14 deletions(-)
 rename drivers/clk/x86/{clk-st.c => clk-fch.c} (73%)

diff --git a/drivers/clk/x86/Makefile b/drivers/clk/x86/Makefile
index 7c774ea7ddeb..18564efdc651 100644
--- a/drivers/clk/x86/Makefile
+++ b/drivers/clk/x86/Makefile
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: GPL-2.0-only
 obj-$(CONFIG_PMC_ATOM)		+= clk-pmc-atom.o
-obj-$(CONFIG_X86_AMD_PLATFORM_DEVICE)	+= clk-st.o
+obj-$(CONFIG_X86_AMD_PLATFORM_DEVICE)	+= clk-fch.o
 clk-x86-lpss-objs		:= clk-lpt.o
 obj-$(CONFIG_X86_INTEL_LPSS)	+= clk-x86-lpss.o
 obj-$(CONFIG_CLK_LGM_CGU)	+= clk-cgu.o clk-cgu-pll.o clk-lgm.o
diff --git a/drivers/clk/x86/clk-st.c b/drivers/clk/x86/clk-fch.c
similarity index 73%
rename from drivers/clk/x86/clk-st.c
rename to drivers/clk/x86/clk-fch.c
index 25d4b97aff9b..b252f0cf0628 100644
--- a/drivers/clk/x86/clk-st.c
+++ b/drivers/clk/x86/clk-fch.c
@@ -8,7 +8,7 @@
 #include <linux/clk.h>
 #include <linux/clkdev.h>
 #include <linux/clk-provider.h>
-#include <linux/platform_data/clk-st.h>
+#include <linux/platform_data/clk-fch.h>
 #include <linux/platform_device.h>
 
 /* Clock Driving Strength 2 register */
@@ -29,12 +29,12 @@
 static const char * const clk_oscout1_parents[] = { "clk48MHz", "clk25MHz" };
 static struct clk_hw *hws[ST_MAX_CLKS];
 
-static int st_clk_probe(struct platform_device *pdev)
+static int fch_clk_probe(struct platform_device *pdev)
 {
-	struct st_clk_data *st_data;
+	struct fch_clk_data *fch_data;
 
-	st_data = dev_get_platdata(&pdev->dev);
-	if (!st_data || !st_data->base)
+	fch_data = dev_get_platdata(&pdev->dev);
+	if (!fch_data || !fch_data->base)
 		return -EINVAL;
 
 	hws[ST_CLK_48M] = clk_hw_register_fixed_rate(NULL, "clk48MHz", NULL, 0,
@@ -44,12 +44,12 @@ static int st_clk_probe(struct platform_device *pdev)
 
 	hws[ST_CLK_MUX] = clk_hw_register_mux(NULL, "oscout1_mux",
 		clk_oscout1_parents, ARRAY_SIZE(clk_oscout1_parents),
-		0, st_data->base + CLKDRVSTR2, OSCOUT1CLK25MHZ, 3, 0, NULL);
+		0, fch_data->base + CLKDRVSTR2, OSCOUT1CLK25MHZ, 3, 0, NULL);
 
 	clk_set_parent(hws[ST_CLK_MUX]->clk, hws[ST_CLK_48M]->clk);
 
 	hws[ST_CLK_GATE] = clk_hw_register_gate(NULL, "oscout1", "oscout1_mux",
-		0, st_data->base + MISCCLKCNTL1, OSCCLKENB,
+		0, fch_data->base + MISCCLKCNTL1, OSCCLKENB,
 		CLK_GATE_SET_TO_DISABLE, NULL);
 
 	devm_clk_hw_register_clkdev(&pdev->dev, hws[ST_CLK_GATE], "oscout1",
@@ -58,7 +58,7 @@ static int st_clk_probe(struct platform_device *pdev)
 	return 0;
 }
 
-static int st_clk_remove(struct platform_device *pdev)
+static int fch_clk_remove(struct platform_device *pdev)
 {
 	int i;
 
@@ -67,12 +67,12 @@ static int st_clk_remove(struct platform_device *pdev)
 	return 0;
 }
 
-static struct platform_driver st_clk_driver = {
+static struct platform_driver fch_clk_driver = {
 	.driver = {
-		.name = "clk-st",
+		.name = "clk-fch",
 		.suppress_bind_attrs = true,
 	},
-	.probe = st_clk_probe,
-	.remove = st_clk_remove,
+	.probe = fch_clk_probe,
+	.remove = fch_clk_remove,
 };
-builtin_platform_driver(st_clk_driver);
+builtin_platform_driver(fch_clk_driver);
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 4/5] clk: x86: Support RV architecture
       [not found] <20200713010001.18976-1-akshu.agrawal@amd.com>
  2020-07-13  0:59 ` [PATCH 2/5] clk: x86: Change name from ST to FCH Akshu Agrawal
@ 2020-07-13  0:59 ` Akshu Agrawal
  2020-07-16  1:03   ` Stephen Boyd
  1 sibling, 1 reply; 7+ messages in thread
From: Akshu Agrawal @ 2020-07-13  0:59 UTC (permalink / raw)
  To: akshu.agrawal
  Cc: sboyd, Michael Turquette, open list:COMMON CLK FRAMEWORK, open list

There is minor difference between previous family of SoC and
the current one. Which is the there is only 48Mh fixed clk.
There is no mux and no option to select another freq as there in previous.

Signed-off-by: Akshu Agrawal <akshu.agrawal@amd.com>
---
 drivers/clk/x86/clk-fch.c | 55 ++++++++++++++++++++++++++++-----------
 1 file changed, 40 insertions(+), 15 deletions(-)

diff --git a/drivers/clk/x86/clk-fch.c b/drivers/clk/x86/clk-fch.c
index b252f0cf0628..a8aac71a3b65 100644
--- a/drivers/clk/x86/clk-fch.c
+++ b/drivers/clk/x86/clk-fch.c
@@ -26,6 +26,10 @@
 #define ST_CLK_GATE	3
 #define ST_MAX_CLKS	4
 
+#define RV_CLK_48M	0
+#define RV_CLK_GATE	1
+#define RV_MAX_CLKS	2
+
 static const char * const clk_oscout1_parents[] = { "clk48MHz", "clk25MHz" };
 static struct clk_hw *hws[ST_MAX_CLKS];
 
@@ -37,23 +41,36 @@ static int fch_clk_probe(struct platform_device *pdev)
 	if (!fch_data || !fch_data->base)
 		return -EINVAL;
 
-	hws[ST_CLK_48M] = clk_hw_register_fixed_rate(NULL, "clk48MHz", NULL, 0,
-						     48000000);
-	hws[ST_CLK_25M] = clk_hw_register_fixed_rate(NULL, "clk25MHz", NULL, 0,
-						     25000000);
+	if (!fch_data->is_rv) {
+		hws[ST_CLK_48M] = clk_hw_register_fixed_rate(NULL, "clk48MHz",
+			NULL, 0, 48000000);
+		hws[ST_CLK_25M] = clk_hw_register_fixed_rate(NULL, "clk25MHz",
+			NULL, 0, 25000000);
+
+		hws[ST_CLK_MUX] = clk_hw_register_mux(NULL, "oscout1_mux",
+			clk_oscout1_parents, ARRAY_SIZE(clk_oscout1_parents),
+			0, fch_data->base + CLKDRVSTR2, OSCOUT1CLK25MHZ, 3, 0,
+			NULL);
+
+		clk_set_parent(hws[ST_CLK_MUX]->clk, hws[ST_CLK_48M]->clk);
 
-	hws[ST_CLK_MUX] = clk_hw_register_mux(NULL, "oscout1_mux",
-		clk_oscout1_parents, ARRAY_SIZE(clk_oscout1_parents),
-		0, fch_data->base + CLKDRVSTR2, OSCOUT1CLK25MHZ, 3, 0, NULL);
+		hws[ST_CLK_GATE] = clk_hw_register_gate(NULL, "oscout1",
+			"oscout1_mux", 0, fch_data->base + MISCCLKCNTL1,
+			OSCCLKENB, CLK_GATE_SET_TO_DISABLE, NULL);
 
-	clk_set_parent(hws[ST_CLK_MUX]->clk, hws[ST_CLK_48M]->clk);
+		devm_clk_hw_register_clkdev(&pdev->dev, hws[ST_CLK_GATE],
+			"oscout1", NULL);
+	} else {
+		hws[RV_CLK_48M] = clk_hw_register_fixed_rate(NULL, "clk48MHz",
+			NULL, 0, 48000000);
 
-	hws[ST_CLK_GATE] = clk_hw_register_gate(NULL, "oscout1", "oscout1_mux",
-		0, fch_data->base + MISCCLKCNTL1, OSCCLKENB,
-		CLK_GATE_SET_TO_DISABLE, NULL);
+		hws[RV_CLK_GATE] = clk_hw_register_gate(NULL, "oscout1",
+			"clk48MHz", 0, fch_data->base + MISCCLKCNTL1,
+			OSCCLKENB, CLK_GATE_SET_TO_DISABLE, NULL);
 
-	devm_clk_hw_register_clkdev(&pdev->dev, hws[ST_CLK_GATE], "oscout1",
-				    NULL);
+		devm_clk_hw_register_clkdev(&pdev->dev, hws[RV_CLK_GATE],
+			"oscout1", NULL);
+	}
 
 	return 0;
 }
@@ -61,9 +78,17 @@ static int fch_clk_probe(struct platform_device *pdev)
 static int fch_clk_remove(struct platform_device *pdev)
 {
 	int i;
+	struct fch_clk_data *fch_data;
+
+	fch_data = dev_get_platdata(&pdev->dev);
 
-	for (i = 0; i < ST_MAX_CLKS; i++)
-		clk_hw_unregister(hws[i]);
+	if (!fch_data->is_rv) {
+		for (i = 0; i < ST_MAX_CLKS; i++)
+			clk_hw_unregister(hws[i]);
+	} else {
+		for (i = 0; i < RV_MAX_CLKS; i++)
+			clk_hw_unregister(hws[i]);
+	}
 	return 0;
 }
 
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH 2/5] clk: x86: Change name from ST to FCH
  2020-07-13  0:59 ` [PATCH 2/5] clk: x86: Change name from ST to FCH Akshu Agrawal
@ 2020-07-16  0:42   ` Stephen Boyd
  2020-07-20  4:59     ` Agrawal, Akshu
  0 siblings, 1 reply; 7+ messages in thread
From: Stephen Boyd @ 2020-07-16  0:42 UTC (permalink / raw)
  To: akshu.agrawal; +Cc: Michael Turquette, Rahul Tanwar, linux-clk, linux-kernel

Quoting Akshu Agrawal (2020-07-12 17:59:50)
> diff --git a/drivers/clk/x86/clk-st.c b/drivers/clk/x86/clk-fch.c
> similarity index 73%
> rename from drivers/clk/x86/clk-st.c
> rename to drivers/clk/x86/clk-fch.c
> index 25d4b97aff9b..b252f0cf0628 100644
> --- a/drivers/clk/x86/clk-st.c
> +++ b/drivers/clk/x86/clk-fch.c
> @@ -8,7 +8,7 @@
>  #include <linux/clk.h>
>  #include <linux/clkdev.h>
>  #include <linux/clk-provider.h>
> -#include <linux/platform_data/clk-st.h>
> +#include <linux/platform_data/clk-fch.h>

Is this file moved somewhere?

>  #include <linux/platform_device.h>
>  
>  /* Clock Driving Strength 2 register */

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 4/5] clk: x86: Support RV architecture
  2020-07-13  0:59 ` [PATCH 4/5] clk: x86: Support RV architecture Akshu Agrawal
@ 2020-07-16  1:03   ` Stephen Boyd
  2020-07-20  4:59     ` Agrawal, Akshu
  0 siblings, 1 reply; 7+ messages in thread
From: Stephen Boyd @ 2020-07-16  1:03 UTC (permalink / raw)
  To: akshu.agrawal; +Cc: Michael Turquette, linux-clk, linux-kernel

Quoting Akshu Agrawal (2020-07-12 17:59:52)
> There is minor difference between previous family of SoC and
> the current one. Which is the there is only 48Mh fixed clk.
> There is no mux and no option to select another freq as there in previous.
> 
> Signed-off-by: Akshu Agrawal <akshu.agrawal@amd.com>
> ---

I only see four out of five patches and there isn't a cover letter. I
have no idea if I can apply this change or if you're expecting me to ack
it. Please help make my life a little easier!

>  drivers/clk/x86/clk-fch.c | 55 ++++++++++++++++++++++++++++-----------
>  1 file changed, 40 insertions(+), 15 deletions(-)
> 
> diff --git a/drivers/clk/x86/clk-fch.c b/drivers/clk/x86/clk-fch.c
> index b252f0cf0628..a8aac71a3b65 100644
> --- a/drivers/clk/x86/clk-fch.c
> +++ b/drivers/clk/x86/clk-fch.c
> @@ -61,9 +78,17 @@ static int fch_clk_probe(struct platform_device *pdev)
>  static int fch_clk_remove(struct platform_device *pdev)
>  {
>         int i;
> +       struct fch_clk_data *fch_data;
> +
> +       fch_data = dev_get_platdata(&pdev->dev);
>  
> -       for (i = 0; i < ST_MAX_CLKS; i++)
> -               clk_hw_unregister(hws[i]);
> +       if (!fch_data->is_rv) {
> +               for (i = 0; i < ST_MAX_CLKS; i++)
> +                       clk_hw_unregister(hws[i]);
> +       } else {
> +               for (i = 0; i < RV_MAX_CLKS; i++)
> +                       clk_hw_unregister(hws[i]);

Can ST_MAX_CLKS or RV_MAX_CLKS be a local variable and then the loop
consolidated.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 2/5] clk: x86: Change name from ST to FCH
  2020-07-16  0:42   ` Stephen Boyd
@ 2020-07-20  4:59     ` Agrawal, Akshu
  2020-07-21  8:04       ` Stephen Boyd
  0 siblings, 1 reply; 7+ messages in thread
From: Agrawal, Akshu @ 2020-07-20  4:59 UTC (permalink / raw)
  To: Stephen Boyd, akshu.agrawal
  Cc: Michael Turquette, Rahul Tanwar, linux-clk, linux-kernel


On 7/16/2020 6:12 AM, Stephen Boyd wrote:
> Quoting Akshu Agrawal (2020-07-12 17:59:50)
>> diff --git a/drivers/clk/x86/clk-st.c b/drivers/clk/x86/clk-fch.c
>> similarity index 73%
>> rename from drivers/clk/x86/clk-st.c
>> rename to drivers/clk/x86/clk-fch.c
>> index 25d4b97aff9b..b252f0cf0628 100644
>> --- a/drivers/clk/x86/clk-st.c
>> +++ b/drivers/clk/x86/clk-fch.c
>> @@ -8,7 +8,7 @@
>>   #include <linux/clk.h>
>>   #include <linux/clkdev.h>
>>   #include <linux/clk-provider.h>
>> -#include <linux/platform_data/clk-st.h>
>> +#include <linux/platform_data/clk-fch.h>
> Is this file moved somewhere?

Renaming it from ST to FCH in previous patch of the series.

Thanks,

Akshu


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 4/5] clk: x86: Support RV architecture
  2020-07-16  1:03   ` Stephen Boyd
@ 2020-07-20  4:59     ` Agrawal, Akshu
  0 siblings, 0 replies; 7+ messages in thread
From: Agrawal, Akshu @ 2020-07-20  4:59 UTC (permalink / raw)
  To: Stephen Boyd, akshu.agrawal; +Cc: Michael Turquette, linux-clk, linux-kernel


On 7/16/2020 6:33 AM, Stephen Boyd wrote:
> Quoting Akshu Agrawal (2020-07-12 17:59:52)
>> There is minor difference between previous family of SoC and
>> the current one. Which is the there is only 48Mh fixed clk.
>> There is no mux and no option to select another freq as there in previous.
>>
>> Signed-off-by: Akshu Agrawal <akshu.agrawal@amd.com>
>> ---
> I only see four out of five patches and there isn't a cover letter. I
> have no idea if I can apply this change or if you're expecting me to ack
> it. Please help make my life a little easier!

Numbering went wrong due to another unrelated patch.

Will send another with cover letter explaining the series.

>>   drivers/clk/x86/clk-fch.c | 55 ++++++++++++++++++++++++++++-----------
>>   1 file changed, 40 insertions(+), 15 deletions(-)
>>
>> diff --git a/drivers/clk/x86/clk-fch.c b/drivers/clk/x86/clk-fch.c
>> index b252f0cf0628..a8aac71a3b65 100644
>> --- a/drivers/clk/x86/clk-fch.c
>> +++ b/drivers/clk/x86/clk-fch.c
>> @@ -61,9 +78,17 @@ static int fch_clk_probe(struct platform_device *pdev)
>>   static int fch_clk_remove(struct platform_device *pdev)
>>   {
>>          int i;
>> +       struct fch_clk_data *fch_data;
>> +
>> +       fch_data = dev_get_platdata(&pdev->dev);
>>   
>> -       for (i = 0; i < ST_MAX_CLKS; i++)
>> -               clk_hw_unregister(hws[i]);
>> +       if (!fch_data->is_rv) {
>> +               for (i = 0; i < ST_MAX_CLKS; i++)
>> +                       clk_hw_unregister(hws[i]);
>> +       } else {
>> +               for (i = 0; i < RV_MAX_CLKS; i++)
>> +                       clk_hw_unregister(hws[i]);
> Can ST_MAX_CLKS or RV_MAX_CLKS be a local variable and then the loop
> consolidated.

Yes, making the change in next series.

Thanks,

Akshu


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 2/5] clk: x86: Change name from ST to FCH
  2020-07-20  4:59     ` Agrawal, Akshu
@ 2020-07-21  8:04       ` Stephen Boyd
  0 siblings, 0 replies; 7+ messages in thread
From: Stephen Boyd @ 2020-07-21  8:04 UTC (permalink / raw)
  To: Agrawal, Akshu, akshu.agrawal
  Cc: Michael Turquette, Rahul Tanwar, linux-clk, linux-kernel

Quoting Agrawal, Akshu (2020-07-19 21:59:02)
> 
> On 7/16/2020 6:12 AM, Stephen Boyd wrote:
> > Quoting Akshu Agrawal (2020-07-12 17:59:50)
> >> diff --git a/drivers/clk/x86/clk-st.c b/drivers/clk/x86/clk-fch.c
> >> similarity index 73%
> >> rename from drivers/clk/x86/clk-st.c
> >> rename to drivers/clk/x86/clk-fch.c
> >> index 25d4b97aff9b..b252f0cf0628 100644
> >> --- a/drivers/clk/x86/clk-st.c
> >> +++ b/drivers/clk/x86/clk-fch.c
> >> @@ -8,7 +8,7 @@
> >>   #include <linux/clk.h>
> >>   #include <linux/clkdev.h>
> >>   #include <linux/clk-provider.h>
> >> -#include <linux/platform_data/clk-st.h>
> >> +#include <linux/platform_data/clk-fch.h>
> > Is this file moved somewhere?
> 
> Renaming it from ST to FCH in previous patch of the series.
> 

So it won't compile if the first patch is applied and then this patch
isn't? Please compile test each patch in succession.

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2020-07-21  8:04 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20200713010001.18976-1-akshu.agrawal@amd.com>
2020-07-13  0:59 ` [PATCH 2/5] clk: x86: Change name from ST to FCH Akshu Agrawal
2020-07-16  0:42   ` Stephen Boyd
2020-07-20  4:59     ` Agrawal, Akshu
2020-07-21  8:04       ` Stephen Boyd
2020-07-13  0:59 ` [PATCH 4/5] clk: x86: Support RV architecture Akshu Agrawal
2020-07-16  1:03   ` Stephen Boyd
2020-07-20  4:59     ` Agrawal, Akshu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).