| From e893de59a4982791368b3ce412bc67dd601a88a0 Mon Sep 17 00:00:00 2001 |
| From: Maurus Cuelenaere <mcuelenaere@gmail.com> |
| Date: Fri, 4 Jun 2010 14:14:44 -0700 |
| Subject: rtc: s3c: initialize driver data before using it |
| |
| From: Maurus Cuelenaere <mcuelenaere@gmail.com> |
| |
| commit e893de59a4982791368b3ce412bc67dd601a88a0 upstream. |
| |
| s3c_rtc_setfreq() uses the platform driver data to derive struct rtc_device, |
| so make sure drvdata is set _before_ s3c_rtc_setfreq() is called. |
| |
| Signed-off-by: Maurus Cuelenaere <mcuelenaere@gmail.com> |
| Cc: Paul Gortmaker <p_gortmaker@yahoo.com> |
| Cc: Alessandro Zummo <a.zummo@towertech.it> |
| Cc: Maurus Cuelenaere <mcuelenaere@gmail.com> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| drivers/rtc/rtc-s3c.c | 5 +++-- |
| 1 file changed, 3 insertions(+), 2 deletions(-) |
| |
| --- a/drivers/rtc/rtc-s3c.c |
| +++ b/drivers/rtc/rtc-s3c.c |
| @@ -456,8 +456,6 @@ static int __devinit s3c_rtc_probe(struc |
| pr_debug("s3c2410_rtc: RTCCON=%02x\n", |
| readb(s3c_rtc_base + S3C2410_RTCCON)); |
| |
| - s3c_rtc_setfreq(&pdev->dev, 1); |
| - |
| device_init_wakeup(&pdev->dev, 1); |
| |
| /* register RTC and exit */ |
| @@ -474,6 +472,9 @@ static int __devinit s3c_rtc_probe(struc |
| rtc->max_user_freq = 128; |
| |
| platform_set_drvdata(pdev, rtc); |
| + |
| + s3c_rtc_setfreq(&pdev->dev, 1); |
| + |
| return 0; |
| |
| err_nortc: |