Messages in this thread Patch in this message | | | Subject | [PATCH] rtc: rtc-max6902 - set driver data in max6902_probe() | From | Axel Lin <> | 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 <axel.lin@gmail.com> --- 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; } -- 1.7.2
| |