From patchwork Tue Nov 2 08:33:27 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: rtc: rtc-max6902 - set driver data in max6902_probe() From: Axel Lin X-Patchwork-Id: 69866 Message-Id: <1288686807.19912.2.camel@mola> To: linux-kernel Cc: Alessandro Zummo , rtc-linux@googlegroups.com, Andrew Morton Date: Tue, 02 Nov 2010 16:33:27 +0800 Current implementation does not set driver data in max6902_probe(), thus calling platform_get_drvdata(spi) in max6902_remove() returns NULL. Since this is a spi driver, use spi_set_drvdata/spi_get_drvdata to set/get driver data. Signed-off-by: Axel Lin --- drivers/rtc/rtc-max6902.c | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/drivers/rtc/rtc-max6902.c b/drivers/rtc/rtc-max6902.c index 657403e..23faecb 100644 --- a/drivers/rtc/rtc-max6902.c +++ b/drivers/rtc/rtc-max6902.c @@ -138,15 +138,17 @@ static int __devinit max6902_probe(struct spi_device *spi) &spi->dev, &max6902_rtc_ops, THIS_MODULE); if (IS_ERR(rtc)) return PTR_ERR(rtc); + spi_set_drvdata(spi, rtc); return 0; } static int __devexit max6902_remove(struct spi_device *spi) { - struct rtc_device *rtc = platform_get_drvdata(spi); + struct rtc_device *rtc = spi_get_drvdata(spi); rtc_device_unregister(rtc); + spi_set_drvdata(spi, NULL); return 0; }