rtc: rtc-max6902 - set driver data in max6902_probe()
authorAxel Lin <axel.lin@gmail.com>
Thu, 13 Jan 2011 01:00:09 +0000 (17:00 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Thu, 13 Jan 2011 16:03:12 +0000 (08:03 -0800)
Current implementation does not set driver data in max6902_probe(), thus
calling platform_get_drvdata(spi) in max6902_remove() returns NULL.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Cc: Alessandro Zummo <a.zummo@towertech.it>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/rtc/rtc-max6902.c

index 657403ebd54a81fe7ddeda43d2c693234f148c81..0ec3f588a255dc1abe0cff5bc900cded2bdc8b59 100644 (file)
@@ -139,12 +139,13 @@ static int __devinit max6902_probe(struct spi_device *spi)
        if (IS_ERR(rtc))
                return PTR_ERR(rtc);
 
+       dev_set_drvdata(&spi->dev, rtc);
        return 0;
 }
 
 static int __devexit max6902_remove(struct spi_device *spi)
 {
-       struct rtc_device *rtc = platform_get_drvdata(spi);
+       struct rtc_device *rtc = dev_get_drvdata(&spi->dev);
 
        rtc_device_unregister(rtc);
        return 0;