aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/rtc/rtc-imxdi.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/rtc/rtc-imxdi.c')
-rw-r--r--drivers/rtc/rtc-imxdi.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/rtc/rtc-imxdi.c b/drivers/rtc/rtc-imxdi.c
index 891cd6c61d0a..18a4f0dd78a3 100644
--- a/drivers/rtc/rtc-imxdi.c
+++ b/drivers/rtc/rtc-imxdi.c
@@ -37,6 +37,7 @@
37#include <linux/rtc.h> 37#include <linux/rtc.h>
38#include <linux/sched.h> 38#include <linux/sched.h>
39#include <linux/workqueue.h> 39#include <linux/workqueue.h>
40#include <linux/of.h>
40 41
41/* DryIce Register Definitions */ 42/* DryIce Register Definitions */
42 43
@@ -392,6 +393,8 @@ static int dryice_rtc_probe(struct platform_device *pdev)
392 if (imxdi->ioaddr == NULL) 393 if (imxdi->ioaddr == NULL)
393 return -ENOMEM; 394 return -ENOMEM;
394 395
396 spin_lock_init(&imxdi->irq_lock);
397
395 imxdi->irq = platform_get_irq(pdev, 0); 398 imxdi->irq = platform_get_irq(pdev, 0);
396 if (imxdi->irq < 0) 399 if (imxdi->irq < 0)
397 return imxdi->irq; 400 return imxdi->irq;
@@ -493,10 +496,20 @@ static int __devexit dryice_rtc_remove(struct platform_device *pdev)
493 return 0; 496 return 0;
494} 497}
495 498
499#ifdef CONFIG_OF
500static const struct of_device_id dryice_dt_ids[] = {
501 { .compatible = "fsl,imx25-rtc" },
502 { /* sentinel */ }
503};
504
505MODULE_DEVICE_TABLE(of, dryice_dt_ids);
506#endif
507
496static struct platform_driver dryice_rtc_driver = { 508static struct platform_driver dryice_rtc_driver = {
497 .driver = { 509 .driver = {
498 .name = "imxdi_rtc", 510 .name = "imxdi_rtc",
499 .owner = THIS_MODULE, 511 .owner = THIS_MODULE,
512 .of_match_table = of_match_ptr(dryice_dt_ids),
500 }, 513 },
501 .remove = __devexit_p(dryice_rtc_remove), 514 .remove = __devexit_p(dryice_rtc_remove),
502}; 515};