diff options
author | Maurus Cuelenaere <mcuelenaere@gmail.com> | 2010-06-04 17:14:44 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-06-04 18:21:44 -0400 |
commit | e893de59a4982791368b3ce412bc67dd601a88a0 (patch) | |
tree | a09a968cecca90b6c7619b91a3963194cd454435 /drivers/rtc | |
parent | b8a3c6091a2337391ed878693604d712d6420241 (diff) |
rtc: s3c: initialize driver data before using it
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>
Cc: <stable@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers/rtc')
-rw-r--r-- | drivers/rtc/rtc-s3c.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/rtc/rtc-s3c.c b/drivers/rtc/rtc-s3c.c index e5972b2c17b7..6adebf31ea69 100644 --- a/drivers/rtc/rtc-s3c.c +++ b/drivers/rtc/rtc-s3c.c | |||
@@ -495,8 +495,6 @@ static int __devinit s3c_rtc_probe(struct platform_device *pdev) | |||
495 | pr_debug("s3c2410_rtc: RTCCON=%02x\n", | 495 | pr_debug("s3c2410_rtc: RTCCON=%02x\n", |
496 | readb(s3c_rtc_base + S3C2410_RTCCON)); | 496 | readb(s3c_rtc_base + S3C2410_RTCCON)); |
497 | 497 | ||
498 | s3c_rtc_setfreq(&pdev->dev, 1); | ||
499 | |||
500 | device_init_wakeup(&pdev->dev, 1); | 498 | device_init_wakeup(&pdev->dev, 1); |
501 | 499 | ||
502 | /* register RTC and exit */ | 500 | /* register RTC and exit */ |
@@ -518,6 +516,9 @@ static int __devinit s3c_rtc_probe(struct platform_device *pdev) | |||
518 | s3c_rtc_cpu_type = platform_get_device_id(pdev)->driver_data; | 516 | s3c_rtc_cpu_type = platform_get_device_id(pdev)->driver_data; |
519 | 517 | ||
520 | platform_set_drvdata(pdev, rtc); | 518 | platform_set_drvdata(pdev, rtc); |
519 | |||
520 | s3c_rtc_setfreq(&pdev->dev, 1); | ||
521 | |||
521 | return 0; | 522 | return 0; |
522 | 523 | ||
523 | err_nortc: | 524 | err_nortc: |