[PATCH 1/2] rtc-imxdi: Support for i.MX53

From: Roland Stigge
Date: Tue Oct 16 2012 - 10:52:12 EST


This patch enables support for i.MX53 in addition to i.MX25

Signed-off-by: Roland Stigge <stigge@xxxxxxxxx>
---
drivers/rtc/Kconfig | 2 +-
drivers/rtc/rtc-imxdi.c | 25 ++++++++++++++++---------
2 files changed, 17 insertions(+), 10 deletions(-)

--- linux-2.6.orig/drivers/rtc/Kconfig
+++ linux-2.6/drivers/rtc/Kconfig
@@ -768,7 +768,7 @@ config RTC_DRV_DAVINCI

config RTC_DRV_IMXDI
tristate "Freescale IMX DryIce Real Time Clock"
- depends on SOC_IMX25
+ depends on SOC_IMX25 || SOC_IMX53
help
Support for Freescale IMX DryIce RTC

--- linux-2.6.orig/drivers/rtc/rtc-imxdi.c
+++ linux-2.6/drivers/rtc/rtc-imxdi.c
@@ -37,6 +37,7 @@
#include <linux/rtc.h>
#include <linux/sched.h>
#include <linux/workqueue.h>
+#include <mach/hardware.h>

/* DryIce Register Definitions */

@@ -402,11 +403,13 @@ static int dryice_rtc_probe(struct platf

mutex_init(&imxdi->write_mutex);

- imxdi->clk = clk_get(&pdev->dev, NULL);
- if (IS_ERR(imxdi->clk))
- return PTR_ERR(imxdi->clk);
- clk_prepare_enable(imxdi->clk);
-
+ /* For IMX53, RTC is available always */
+ if (cpu_is_mx25()) {
+ imxdi->clk = clk_get(&pdev->dev, NULL);
+ if (IS_ERR(imxdi->clk))
+ return PTR_ERR(imxdi->clk);
+ clk_prepare_enable(imxdi->clk);
+ }
/*
* Initialize dryice hardware
*/
@@ -470,8 +473,10 @@ static int dryice_rtc_probe(struct platf
return 0;

err:
- clk_disable_unprepare(imxdi->clk);
- clk_put(imxdi->clk);
+ if (cpu_is_mx25()) {
+ clk_disable_unprepare(imxdi->clk);
+ clk_put(imxdi->clk);
+ }

return rc;
}
@@ -487,8 +492,10 @@ static int __devexit dryice_rtc_remove(s

rtc_device_unregister(imxdi->rtc);

- clk_disable_unprepare(imxdi->clk);
- clk_put(imxdi->clk);
+ if (cpu_is_mx25()) {
+ clk_disable_unprepare(imxdi->clk);
+ clk_put(imxdi->clk);
+ }

return 0;
}
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/