| Submitter | Axel Lin |
|---|---|
| Date | Nov. 2, 2010, 8:33 a.m. |
| Message ID | <1288686807.19912.2.camel@mola> |
| Download | mbox | patch |
| Permalink | /patch/69866/ |
| State | New |
| Headers | show |
Comments
Patch
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(-)