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