Patchwork Re: [PATCH] rtc: rtc-ds1390/rtc-ds3234/rtc-m41t94: eliminate compile warning

login
register
mail settings
Submitter Dennis Aberilla
Date March 17, 2011, 3:04 a.m.
Message ID <694698.37646.qm@web120506.mail.ne1.yahoo.com>
Download mbox | patch
Permalink /patch/87332/
State New
Headers show

Comments

Dennis Aberilla - March 17, 2011, 3:04 a.m.
Hi Axel, that doesn't seem to make sense to me since "platform_get_drvdata" is (from include/linux/platform_device.h):

#define platform_get_drvdata(_dev)      dev_get_drvdata(&(_dev)->dev)

|Dennis


--- On Thu, 24/2/11, Axel Lin <axel.lin@gmail.com> wrote:

From: Axel Lin <axel.lin@gmail.com>
Subject: [PATCH] rtc: rtc-ds1390/rtc-ds3234/rtc-m41t94: eliminate compile warning
To: linux-kernel@vger.kernel.org
Cc: "Mark Jackson" <mpfj@mimc.co.uk>, "Dennis Aberilla" <denzzzhome@yahoo.com>, "Kim B. Heino" <Kim.Heino@bluegiga.com>, "Alessandro Zummo" <a.zummo@towertech.it>, "Thomas Gleixner" <tglx@linutronix.de>, rtc-linux@googlegroups.com
Received: Thursday, 24 February, 2011, 9:28 AM

Eliminate the following compile warning:
drivers/rtc/rtc-ds1390.c: In function 'ds1390_remove':
drivers/rtc/rtc-ds1390.c:161: warning: passing argument 1 of 'platform_get_drvdata' from incompatible pointer type
drivers/rtc/rtc-ds3234.c: In function 'ds3234_remove':
drivers/rtc/rtc-ds3234.c:161: warning: passing argument 1 of 'platform_get_drvdata' from incompatible pointer type
drivers/rtc/rtc-m41t94.c: In function 'm41t94_remove':
drivers/rtc/rtc-m41t94.c:139: warning: passing argument 1 of 'platform_get_drvdata' from incompatible pointer type

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Cc: Mark Jackson <mpfj@mimc.co.uk>
Cc: Dennis Aberilla <denzzzhome@yahoo.com>
Cc: Kim B. Heino <Kim.Heino@bluegiga.com>
---
 drivers/rtc/rtc-ds1390.c |    2 +-
 drivers/rtc/rtc-ds3234.c |    2 +-
 drivers/rtc/rtc-m41t94.c |    2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)
Axel Lin - March 17, 2011, 5:49 a.m.
hi Dennis,

2011/3/17 Dennis Aberilla <denzzzhome@yahoo.com>:
> Hi Axel, that doesn't seem to make sense to me since "platform_get_drvdata" is (from include/linux/platform_device.h):
>
> #define platform_get_drvdata(_dev)      dev_get_drvdata(&(_dev)->dev)

These drivers are registered as spi drivers, not platform drivers.
How about using spi_get_drvdata instead.

Regards,
Axel

Patch

diff --git a/drivers/rtc/rtc-ds1390.c b/drivers/rtc/rtc-ds1390.c
index 26a86d2..4832248 100644
--- a/drivers/rtc/rtc-ds1390.c
+++ b/drivers/rtc/rtc-ds1390.c
@@ -158,7 +158,7 @@  static int __devinit ds1390_probe(struct spi_device *spi)
 
 static int __devexit ds1390_remove(struct spi_device *spi)
 {
-    struct ds1390 *chip = platform_get_drvdata(spi);
+    struct ds1390 *chip = dev_get_drvdata(&spi->dev);
 
     rtc_device_unregister(chip->rtc);
     kfree(chip);
diff --git a/drivers/rtc/rtc-ds3234.c b/drivers/rtc/rtc-ds3234.c
index a774ca3..07a558e 100644
--- a/drivers/rtc/rtc-ds3234.c
+++ b/drivers/rtc/rtc-ds3234.c
@@ -158,7 +158,7 @@  static int __devinit ds3234_probe(struct spi_device *spi)
 
 static int __devexit ds3234_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;
diff --git a/drivers/rtc/rtc-m41t94.c b/drivers/rtc/rtc-m41t94.c
index c8c97a4..21e6091 100644
--- a/drivers/rtc/rtc-m41t94.c
+++ b/drivers/rtc/rtc-m41t94.c
@@ -136,7 +136,7 @@  static int __devinit m41t94_probe(struct spi_device *spi)
 
 static int __devexit m41t94_remove(struct spi_device *spi)
 {
-    struct rtc_device *rtc = platform_get_drvdata(spi);
+    struct rtc_device *rtc = dev_get_drvdata(&spi->dev);
 
     if (rtc)
         rtc_device_unregister(rtc);