linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/3] making rtc cores from s3c6410 and exynos3250 both work
@ 2016-07-09  9:23 Randy Li
  2016-07-09  9:23 ` [PATCH 1/3] Revert "drivers/rtc/rtc-s3c.c: add .needs_src_clk to s3c6410 RTC data" Randy Li
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Randy Li @ 2016-07-09  9:23 UTC (permalink / raw)
  To: linux-arm-kernel

The 8792f7772f4f40ffc68bad5f28311205584b734d would just make those
platform using rtc core from exynos3250 work but have a huge 
effect on those platforms using the rtc core from s3c6410.
These patches would fix this problem.

Randy Li (3):
  Revert "drivers/rtc/rtc-s3c.c: add .needs_src_clk to s3c6410 RTC data"
  rtc: s3c: add device data for samsung,exynos3250-rtc
  ARM: dts: exynos: correct the rtc compatible value for exynos5

 arch/arm/boot/dts/exynos3250.dtsi |  2 +-
 arch/arm/boot/dts/exynos5.dtsi    |  2 +-
 drivers/rtc/rtc-s3c.c             | 15 +++++++++++++--
 3 files changed, 15 insertions(+), 4 deletions(-)

-- 
2.7.4

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

* [PATCH 1/3] Revert "drivers/rtc/rtc-s3c.c: add .needs_src_clk to s3c6410 RTC data"
  2016-07-09  9:23 [PATCH 0/3] making rtc cores from s3c6410 and exynos3250 both work Randy Li
@ 2016-07-09  9:23 ` Randy Li
  2016-07-11  5:48   ` Krzysztof Kozlowski
  2016-07-09  9:23 ` [PATCH 2/3] rtc: s3c: add device data for samsung,exynos3250-rtc Randy Li
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 8+ messages in thread
From: Randy Li @ 2016-07-09  9:23 UTC (permalink / raw)
  To: linux-arm-kernel

This reverts commit 8792f7772f4f40ffc68bad5f28311205584b734d.
The s3c6410 rtc don't use rtc_src property, that property is designed
for Exynos5250 and Exynos5440. The problem reported in the commit
I mentioned should be fixed in the other way.

Signed-off-by: Randy Li <ayaka@soulik.info>
---
 drivers/rtc/rtc-s3c.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/rtc/rtc-s3c.c b/drivers/rtc/rtc-s3c.c
index d01ad7e..5dc18ca 100644
--- a/drivers/rtc/rtc-s3c.c
+++ b/drivers/rtc/rtc-s3c.c
@@ -801,7 +801,6 @@ static struct s3c_rtc_data const s3c2443_rtc_data = {
 
 static struct s3c_rtc_data const s3c6410_rtc_data = {
 	.max_user_freq		= 32768,
-	.needs_src_clk		= true,
 	.irq_handler		= s3c6410_rtc_irq,
 	.set_freq		= s3c6410_rtc_setfreq,
 	.enable_tick		= s3c6410_rtc_enable_tick,
-- 
2.7.4

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

* [PATCH 2/3] rtc: s3c: add device data for samsung,exynos3250-rtc
  2016-07-09  9:23 [PATCH 0/3] making rtc cores from s3c6410 and exynos3250 both work Randy Li
  2016-07-09  9:23 ` [PATCH 1/3] Revert "drivers/rtc/rtc-s3c.c: add .needs_src_clk to s3c6410 RTC data" Randy Li
@ 2016-07-09  9:23 ` Randy Li
  2016-07-11  5:49   ` Krzysztof Kozlowski
  2016-07-09  9:23 ` [PATCH 3/3] ARM: dts: exynos: correct the rtc compatible value for exynos5 Randy Li
  2016-07-11  5:46 ` [PATCH 0/3] making rtc cores from s3c6410 and exynos3250 both work Krzysztof Kozlowski
  3 siblings, 1 reply; 8+ messages in thread
From: Randy Li @ 2016-07-09  9:23 UTC (permalink / raw)
  To: linux-arm-kernel

The device data for samsung,exynos3250-rtc and samsung,s3c6410-rtc
are just have a difference, but keeping using the same device data
would cause the platform using the other IP core not work.

Signed-off-by: Randy Li <ayaka@soulik.info>
---
 drivers/rtc/rtc-s3c.c | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/drivers/rtc/rtc-s3c.c b/drivers/rtc/rtc-s3c.c
index 5dc18ca..e9f6151 100644
--- a/drivers/rtc/rtc-s3c.c
+++ b/drivers/rtc/rtc-s3c.c
@@ -810,6 +810,18 @@ static struct s3c_rtc_data const s3c6410_rtc_data = {
 	.disable		= s3c6410_rtc_disable,
 };
 
+static struct s3c_rtc_data const exynos3250_rtc_data = {
+	.max_user_freq		= 32768,
+	.needs_src_clk          = true,
+	.irq_handler		= s3c6410_rtc_irq,
+	.set_freq		= s3c6410_rtc_setfreq,
+	.enable_tick		= s3c6410_rtc_enable_tick,
+	.save_tick_cnt		= s3c6410_rtc_save_tick_cnt,
+	.restore_tick_cnt	= s3c6410_rtc_restore_tick_cnt,
+	.enable			= s3c24xx_rtc_enable,
+	.disable		= s3c6410_rtc_disable,
+};
+
 static const struct of_device_id s3c_rtc_dt_match[] = {
 	{
 		.compatible = "samsung,s3c2410-rtc",
@@ -825,7 +837,7 @@ static const struct of_device_id s3c_rtc_dt_match[] = {
 		.data = (void *)&s3c6410_rtc_data,
 	}, {
 		.compatible = "samsung,exynos3250-rtc",
-		.data = (void *)&s3c6410_rtc_data,
+		.data = (void *)&exynos3250_rtc_data,
 	},
 	{ /* sentinel */ },
 };
-- 
2.7.4

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

* [PATCH 3/3] ARM: dts: exynos: correct the rtc compatible value for exynos5
  2016-07-09  9:23 [PATCH 0/3] making rtc cores from s3c6410 and exynos3250 both work Randy Li
  2016-07-09  9:23 ` [PATCH 1/3] Revert "drivers/rtc/rtc-s3c.c: add .needs_src_clk to s3c6410 RTC data" Randy Li
  2016-07-09  9:23 ` [PATCH 2/3] rtc: s3c: add device data for samsung,exynos3250-rtc Randy Li
@ 2016-07-09  9:23 ` Randy Li
  2016-07-11  5:52   ` Krzysztof Kozlowski
  2016-07-11  5:46 ` [PATCH 0/3] making rtc cores from s3c6410 and exynos3250 both work Krzysztof Kozlowski
  3 siblings, 1 reply; 8+ messages in thread
From: Randy Li @ 2016-07-09  9:23 UTC (permalink / raw)
  To: linux-arm-kernel

Those platforms are reported to use the same rtc IP core
as exynos3250's.

Signed-off-by: Randy Li <ayaka@soulik.info>
---
 arch/arm/boot/dts/exynos3250.dtsi | 2 +-
 arch/arm/boot/dts/exynos5.dtsi    | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm/boot/dts/exynos3250.dtsi b/arch/arm/boot/dts/exynos3250.dtsi
index 62f3dcd..cdd69a0 100644
--- a/arch/arm/boot/dts/exynos3250.dtsi
+++ b/arch/arm/boot/dts/exynos3250.dtsi
@@ -208,7 +208,7 @@
 		};
 
 		rtc: rtc at 10070000 {
-			compatible = "samsung,s3c6410-rtc";
+			compatible = "samsung,exynos3250-rtc";
 			reg = <0x10070000 0x100>;
 			interrupts = <0 73 0>, <0 74 0>;
 			interrupt-parent = <&pmu_system_controller>;
diff --git a/arch/arm/boot/dts/exynos5.dtsi b/arch/arm/boot/dts/exynos5.dtsi
index d5c0f18..71a1ad2 100644
--- a/arch/arm/boot/dts/exynos5.dtsi
+++ b/arch/arm/boot/dts/exynos5.dtsi
@@ -88,7 +88,7 @@
 	};
 
 	rtc: rtc at 101E0000 {
-		compatible = "samsung,s3c6410-rtc";
+		compatible = "samsung,exynos3250-rtc";
 		reg = <0x101E0000 0x100>;
 		interrupts = <0 43 0>, <0 44 0>;
 		status = "disabled";
-- 
2.7.4

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

* [PATCH 0/3] making rtc cores from s3c6410 and exynos3250 both work
  2016-07-09  9:23 [PATCH 0/3] making rtc cores from s3c6410 and exynos3250 both work Randy Li
                   ` (2 preceding siblings ...)
  2016-07-09  9:23 ` [PATCH 3/3] ARM: dts: exynos: correct the rtc compatible value for exynos5 Randy Li
@ 2016-07-11  5:46 ` Krzysztof Kozlowski
  3 siblings, 0 replies; 8+ messages in thread
From: Krzysztof Kozlowski @ 2016-07-11  5:46 UTC (permalink / raw)
  To: linux-arm-kernel

On 07/09/2016 11:23 AM, Randy Li wrote:
> The 8792f7772f4f40ffc68bad5f28311205584b734d would just make those
> platform using rtc core from exynos3250 work but have a huge 
> effect on those platforms using the rtc core from s3c6410.
> These patches would fix this problem.
> 

Which problem? What huge effect? On which platforms? You didn't describe
it...

Your change breaks the ABI and is not compatible with current bindings
documentation.

Best regards,
Krzysztof

> Randy Li (3):
>   Revert "drivers/rtc/rtc-s3c.c: add .needs_src_clk to s3c6410 RTC data"
>   rtc: s3c: add device data for samsung,exynos3250-rtc
>   ARM: dts: exynos: correct the rtc compatible value for exynos5
> 
>  arch/arm/boot/dts/exynos3250.dtsi |  2 +-
>  arch/arm/boot/dts/exynos5.dtsi    |  2 +-
>  drivers/rtc/rtc-s3c.c             | 15 +++++++++++++--
>  3 files changed, 15 insertions(+), 4 deletions(-)
> 

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

* [PATCH 1/3] Revert "drivers/rtc/rtc-s3c.c: add .needs_src_clk to s3c6410 RTC data"
  2016-07-09  9:23 ` [PATCH 1/3] Revert "drivers/rtc/rtc-s3c.c: add .needs_src_clk to s3c6410 RTC data" Randy Li
@ 2016-07-11  5:48   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 8+ messages in thread
From: Krzysztof Kozlowski @ 2016-07-11  5:48 UTC (permalink / raw)
  To: linux-arm-kernel

On 07/09/2016 11:23 AM, Randy Li wrote:
> This reverts commit 8792f7772f4f40ffc68bad5f28311205584b734d.
> The s3c6410 rtc don't use rtc_src property, that property is designed
> for Exynos5250 and Exynos5440. The problem reported in the commit
> I mentioned should be fixed in the other way.

... so you break in this commit all the newer platforms because the
rtc_src clock won't be enabled.

Does not look right.

Best regards,
Krzysztof

> 
> Signed-off-by: Randy Li <ayaka@soulik.info>
> ---
>  drivers/rtc/rtc-s3c.c | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/drivers/rtc/rtc-s3c.c b/drivers/rtc/rtc-s3c.c
> index d01ad7e..5dc18ca 100644
> --- a/drivers/rtc/rtc-s3c.c
> +++ b/drivers/rtc/rtc-s3c.c
> @@ -801,7 +801,6 @@ static struct s3c_rtc_data const s3c2443_rtc_data = {
>  
>  static struct s3c_rtc_data const s3c6410_rtc_data = {
>  	.max_user_freq		= 32768,
> -	.needs_src_clk		= true,
>  	.irq_handler		= s3c6410_rtc_irq,
>  	.set_freq		= s3c6410_rtc_setfreq,
>  	.enable_tick		= s3c6410_rtc_enable_tick,
> 

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

* [PATCH 2/3] rtc: s3c: add device data for samsung,exynos3250-rtc
  2016-07-09  9:23 ` [PATCH 2/3] rtc: s3c: add device data for samsung,exynos3250-rtc Randy Li
@ 2016-07-11  5:49   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 8+ messages in thread
From: Krzysztof Kozlowski @ 2016-07-11  5:49 UTC (permalink / raw)
  To: linux-arm-kernel

On 07/09/2016 11:23 AM, Randy Li wrote:
> The device data for samsung,exynos3250-rtc and samsung,s3c6410-rtc
> are just have a difference, but keeping using the same device data
> would cause the platform using the other IP core not work.

I cannot understand what you wanted to say here. Please rephrase it.

Why not just reverting a42e6eae457837d6a5925f4926f5ba05ccf44f89?

Best regards,
Krzysztof

> 
> Signed-off-by: Randy Li <ayaka@soulik.info>
> ---
>  drivers/rtc/rtc-s3c.c | 14 +++++++++++++-
>  1 file changed, 13 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/rtc/rtc-s3c.c b/drivers/rtc/rtc-s3c.c
> index 5dc18ca..e9f6151 100644
> --- a/drivers/rtc/rtc-s3c.c
> +++ b/drivers/rtc/rtc-s3c.c
> @@ -810,6 +810,18 @@ static struct s3c_rtc_data const s3c6410_rtc_data = {
>  	.disable		= s3c6410_rtc_disable,
>  };
>  
> +static struct s3c_rtc_data const exynos3250_rtc_data = {
> +	.max_user_freq		= 32768,
> +	.needs_src_clk          = true,
> +	.irq_handler		= s3c6410_rtc_irq,
> +	.set_freq		= s3c6410_rtc_setfreq,
> +	.enable_tick		= s3c6410_rtc_enable_tick,
> +	.save_tick_cnt		= s3c6410_rtc_save_tick_cnt,
> +	.restore_tick_cnt	= s3c6410_rtc_restore_tick_cnt,
> +	.enable			= s3c24xx_rtc_enable,
> +	.disable		= s3c6410_rtc_disable,
> +};
> +
>  static const struct of_device_id s3c_rtc_dt_match[] = {
>  	{
>  		.compatible = "samsung,s3c2410-rtc",
> @@ -825,7 +837,7 @@ static const struct of_device_id s3c_rtc_dt_match[] = {
>  		.data = (void *)&s3c6410_rtc_data,
>  	}, {
>  		.compatible = "samsung,exynos3250-rtc",
> -		.data = (void *)&s3c6410_rtc_data,
> +		.data = (void *)&exynos3250_rtc_data,
>  	},
>  	{ /* sentinel */ },
>  };
> 

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

* [PATCH 3/3] ARM: dts: exynos: correct the rtc compatible value for exynos5
  2016-07-09  9:23 ` [PATCH 3/3] ARM: dts: exynos: correct the rtc compatible value for exynos5 Randy Li
@ 2016-07-11  5:52   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 8+ messages in thread
From: Krzysztof Kozlowski @ 2016-07-11  5:52 UTC (permalink / raw)
  To: linux-arm-kernel

On 07/09/2016 11:23 AM, Randy Li wrote:
> Those platforms are reported to use the same rtc IP core
> as exynos3250's.

Insufficient. Exynos4 also has to be updated. Actually all SoC from SoC
family requires rtc src clock. I think S3C6410 also requires it but I
don't have all the data necessary to confirm this.

Best regards,
Krzysztof

> 
> Signed-off-by: Randy Li <ayaka@soulik.info>
> ---
>  arch/arm/boot/dts/exynos3250.dtsi | 2 +-
>  arch/arm/boot/dts/exynos5.dtsi    | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/exynos3250.dtsi b/arch/arm/boot/dts/exynos3250.dtsi
> index 62f3dcd..cdd69a0 100644
> --- a/arch/arm/boot/dts/exynos3250.dtsi
> +++ b/arch/arm/boot/dts/exynos3250.dtsi
> @@ -208,7 +208,7 @@
>  		};
>  
>  		rtc: rtc at 10070000 {
> -			compatible = "samsung,s3c6410-rtc";
> +			compatible = "samsung,exynos3250-rtc";
>  			reg = <0x10070000 0x100>;
>  			interrupts = <0 73 0>, <0 74 0>;
>  			interrupt-parent = <&pmu_system_controller>;
> diff --git a/arch/arm/boot/dts/exynos5.dtsi b/arch/arm/boot/dts/exynos5.dtsi
> index d5c0f18..71a1ad2 100644
> --- a/arch/arm/boot/dts/exynos5.dtsi
> +++ b/arch/arm/boot/dts/exynos5.dtsi
> @@ -88,7 +88,7 @@
>  	};
>  
>  	rtc: rtc at 101E0000 {
> -		compatible = "samsung,s3c6410-rtc";
> +		compatible = "samsung,exynos3250-rtc";
>  		reg = <0x101E0000 0x100>;
>  		interrupts = <0 43 0>, <0 44 0>;
>  		status = "disabled";
> 

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

end of thread, other threads:[~2016-07-11  5:52 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-07-09  9:23 [PATCH 0/3] making rtc cores from s3c6410 and exynos3250 both work Randy Li
2016-07-09  9:23 ` [PATCH 1/3] Revert "drivers/rtc/rtc-s3c.c: add .needs_src_clk to s3c6410 RTC data" Randy Li
2016-07-11  5:48   ` Krzysztof Kozlowski
2016-07-09  9:23 ` [PATCH 2/3] rtc: s3c: add device data for samsung,exynos3250-rtc Randy Li
2016-07-11  5:49   ` Krzysztof Kozlowski
2016-07-09  9:23 ` [PATCH 3/3] ARM: dts: exynos: correct the rtc compatible value for exynos5 Randy Li
2016-07-11  5:52   ` Krzysztof Kozlowski
2016-07-11  5:46 ` [PATCH 0/3] making rtc cores from s3c6410 and exynos3250 both work Krzysztof Kozlowski

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).