Message ID | 1288686807.19912.2.camel@mola |
---|---|
State | Superseded |
Headers | show |
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; }
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(-)