From patchwork Tue Sep 25 09:56:26 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [v2] rtc: i.MX dryice: Add devicetree support Date: Mon, 24 Sep 2012 23:56:26 -0000 From: Sascha Hauer X-Patchwork-Id: 186751 Message-Id: <1348566986-9603-1-git-send-email-s.hauer@pengutronix.de> To: rtc-linux@googlegroups.com Cc: Alessandro Zummo , kernel@pengutronix.de, linux-arm-kernel@lists.infradead.org, Shawn Guo , Sascha Hauer Add devicetree probing, fixing some whitespace damage along the way. Signed-off-by: Sascha Hauer Reviewed-by: Shawn Guo --- changes since v1: - document 'intrerrupts' property as mandatory, because the driver needs it. Documentation/devicetree/bindings/rtc/imx-di.txt | 19 +++++++++++++++++++ drivers/rtc/rtc-imxdi.c | 12 +++++++++--- 2 files changed, 28 insertions(+), 3 deletions(-) create mode 100644 Documentation/devicetree/bindings/rtc/imx-di.txt diff --git a/Documentation/devicetree/bindings/rtc/imx-di.txt b/Documentation/devicetree/bindings/rtc/imx-di.txt new file mode 100644 index 0000000..42b92b5 --- /dev/null +++ b/Documentation/devicetree/bindings/rtc/imx-di.txt @@ -0,0 +1,19 @@ +* i.MX25 dryice Real Time Clock controller + +This RTC is part of the i.MX25 dryice module. Documentation for this +unit is not publically available. This binding only makes use of the +RTC. + +Required properties: +- compatible: should be "fsl,imx25-rtc" +- reg: physical base address of the controller and length of memory mapped + region. +- interrupts: interrupt source for the dryice module + +Example: + + dryice@53ffc000 { + compatible = "fsl,imx25-dryice", "fsl,imx25-rtc"; + reg = <0x53ffc000 0x4000>; + interrupts = <25>; + }; diff --git a/drivers/rtc/rtc-imxdi.c b/drivers/rtc/rtc-imxdi.c index 891cd6c..b2fe920 100644 --- a/drivers/rtc/rtc-imxdi.c +++ b/drivers/rtc/rtc-imxdi.c @@ -493,11 +493,17 @@ static int __devexit dryice_rtc_remove(struct platform_device *pdev) return 0; } +static const struct of_device_id of_dryice_rtc_match[] = { + { .compatible = "fsl,imx25-rtc", }, + { }, +}; + static struct platform_driver dryice_rtc_driver = { .driver = { - .name = "imxdi_rtc", - .owner = THIS_MODULE, - }, + .name = "imxdi_rtc", + .owner = THIS_MODULE, + .of_match_table = of_dryice_rtc_match, + }, .remove = __devexit_p(dryice_rtc_remove), };