Patchwork [v3] rtc: stmp3xxx: Add simple binding for the stmp3xxx-rtc

login
register
mail settings
Submitter Shawn Guo
Date June 26, 2012, 8:35 a.m.
Message ID <1340699726-7852-1-git-send-email-shawn.guo@linaro.org>
Download mbox | patch
Permalink /patch/167338/
State New
Headers show

Comments

Shawn Guo - June 26, 2012, 8:35 a.m.
From: Marek Vasut <marex@denx.de>

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Alessandro Zummo <a.zummo@towertech.it>
Cc: devicetree-discuss@lists.ozlabs.org
Cc: Grant Likely <grant.likely@secretlab.ca>
Cc: rtc-linux@googlegroups.com
Acked-by: Rob Herring <rob.herring@calxeda.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
---
Changes since v2:

* Back out the dts changes from the patch, so that it could be merged
  through rtc tree if that's the case.

* The first interrupt has to be rtc alarm interrupt, and that's the
  only one that driver tries to get.  Fix binding document for that.

 .../devicetree/bindings/rtc/stmp3xxx-rtc.txt       |   16 ++++++++++++++++
 drivers/rtc/rtc-stmp3xxx.c                         |    8 ++++++++
 2 files changed, 24 insertions(+), 0 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/rtc/stmp3xxx-rtc.txt
Shawn Guo - July 3, 2012, 7:43 a.m.
Hi Alessandro,

I queued this one on mxs arch tree.  Please let me know if you have
problem with that.

Regards,
Shawn

On Tue, Jun 26, 2012 at 04:35:26PM +0800, Shawn Guo wrote:
> From: Marek Vasut <marex@denx.de>
> 
> Signed-off-by: Marek Vasut <marex@denx.de>
> Cc: Alessandro Zummo <a.zummo@towertech.it>
> Cc: devicetree-discuss@lists.ozlabs.org
> Cc: Grant Likely <grant.likely@secretlab.ca>
> Cc: rtc-linux@googlegroups.com
> Acked-by: Rob Herring <rob.herring@calxeda.com>
> Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
> ---
> Changes since v2:
> 
> * Back out the dts changes from the patch, so that it could be merged
>   through rtc tree if that's the case.
> 
> * The first interrupt has to be rtc alarm interrupt, and that's the
>   only one that driver tries to get.  Fix binding document for that.
> 
>  .../devicetree/bindings/rtc/stmp3xxx-rtc.txt       |   16 ++++++++++++++++
>  drivers/rtc/rtc-stmp3xxx.c                         |    8 ++++++++
>  2 files changed, 24 insertions(+), 0 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/rtc/stmp3xxx-rtc.txt
> 
> diff --git a/Documentation/devicetree/bindings/rtc/stmp3xxx-rtc.txt b/Documentation/devicetree/bindings/rtc/stmp3xxx-rtc.txt
> new file mode 100644
> index 0000000..b800070
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/rtc/stmp3xxx-rtc.txt
> @@ -0,0 +1,16 @@
> +* STMP3xxx/i.MX28 Time Clock controller
> +
> +Required properties:
> +- compatible: should be one of the following.
> +    * "fsl,stmp3xxx-rtc"
> +- reg: physical base address of the controller and length of memory mapped
> +  region.
> +- interrupts: rtc alarm interrupt
> +
> +Example:
> +
> +rtc@80056000 {
> +	compatible = "fsl,imx28-rtc", "fsl,stmp3xxx-rtc";
> +	reg = <0x80056000 2000>;
> +	interrupts = <29>;
> +};
> diff --git a/drivers/rtc/rtc-stmp3xxx.c b/drivers/rtc/rtc-stmp3xxx.c
> index 1028786..739ef556 100644
> --- a/drivers/rtc/rtc-stmp3xxx.c
> +++ b/drivers/rtc/rtc-stmp3xxx.c
> @@ -25,6 +25,7 @@
>  #include <linux/interrupt.h>
>  #include <linux/rtc.h>
>  #include <linux/slab.h>
> +#include <linux/of_device.h>
>  
>  #include <mach/common.h>
>  
> @@ -265,6 +266,12 @@ static int stmp3xxx_rtc_resume(struct platform_device *dev)
>  #define stmp3xxx_rtc_resume	NULL
>  #endif
>  
> +static const struct of_device_id rtc_dt_ids[] = {
> +	{ .compatible = "fsl,stmp3xxx-rtc", },
> +	{ /* sentinel */ }
> +};
> +MODULE_DEVICE_TABLE(of, rtc_dt_ids);
> +
>  static struct platform_driver stmp3xxx_rtcdrv = {
>  	.probe		= stmp3xxx_rtc_probe,
>  	.remove		= stmp3xxx_rtc_remove,
> @@ -273,6 +280,7 @@ static struct platform_driver stmp3xxx_rtcdrv = {
>  	.driver		= {
>  		.name	= "stmp3xxx-rtc",
>  		.owner	= THIS_MODULE,
> +		.of_match_table = rtc_dt_ids,
>  	},
>  };
>  
> -- 
> 1.7.5.4
> 
>

Patch

diff --git a/Documentation/devicetree/bindings/rtc/stmp3xxx-rtc.txt b/Documentation/devicetree/bindings/rtc/stmp3xxx-rtc.txt
new file mode 100644
index 0000000..b800070
--- /dev/null
+++ b/Documentation/devicetree/bindings/rtc/stmp3xxx-rtc.txt
@@ -0,0 +1,16 @@ 
+* STMP3xxx/i.MX28 Time Clock controller
+
+Required properties:
+- compatible: should be one of the following.
+    * "fsl,stmp3xxx-rtc"
+- reg: physical base address of the controller and length of memory mapped
+  region.
+- interrupts: rtc alarm interrupt
+
+Example:
+
+rtc@80056000 {
+	compatible = "fsl,imx28-rtc", "fsl,stmp3xxx-rtc";
+	reg = <0x80056000 2000>;
+	interrupts = <29>;
+};
diff --git a/drivers/rtc/rtc-stmp3xxx.c b/drivers/rtc/rtc-stmp3xxx.c
index 1028786..739ef556 100644
--- a/drivers/rtc/rtc-stmp3xxx.c
+++ b/drivers/rtc/rtc-stmp3xxx.c
@@ -25,6 +25,7 @@ 
 #include <linux/interrupt.h>
 #include <linux/rtc.h>
 #include <linux/slab.h>
+#include <linux/of_device.h>
 
 #include <mach/common.h>
 
@@ -265,6 +266,12 @@  static int stmp3xxx_rtc_resume(struct platform_device *dev)
 #define stmp3xxx_rtc_resume	NULL
 #endif
 
+static const struct of_device_id rtc_dt_ids[] = {
+	{ .compatible = "fsl,stmp3xxx-rtc", },
+	{ /* sentinel */ }
+};
+MODULE_DEVICE_TABLE(of, rtc_dt_ids);
+
 static struct platform_driver stmp3xxx_rtcdrv = {
 	.probe		= stmp3xxx_rtc_probe,
 	.remove		= stmp3xxx_rtc_remove,
@@ -273,6 +280,7 @@  static struct platform_driver stmp3xxx_rtcdrv = {
 	.driver		= {
 		.name	= "stmp3xxx-rtc",
 		.owner	= THIS_MODULE,
+		.of_match_table = rtc_dt_ids,
 	},
 };