Messages in this thread | | | Subject | Re: [PATCH] rtc: rtc-puv3: Add __devinit and __devexit markers for probe and remove | From | Guan Xuetao <> | Date | Tue, 18 Oct 2011 15:22:21 +0800 |
| |
Hi Axel, The patch yield following warnings:
WARNING: drivers/rtc/built-in.o(.data+0x90): Section mismatch in reference from the variable puv3_rtcdrv to the function .devinit.text:puv3_rtc_probe() The variable puv3_rtcdrv references the function __devinit puv3_rtc_probe() If the reference is valid then annotate the variable with __init* or __refdata (see linux/init.h) or name the variable: *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console
WARNING: drivers/rtc/built-in.o(.data+0x94): Section mismatch in reference from the variable puv3_rtcdrv to the function .devexit.text:puv3_rtc_remove() The variable puv3_rtcdrv references the function __devexit puv3_rtc_remove() If the reference is valid then annotate the variable with __exit* (see linux/init.h) or name the variable: *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console
WARNING: drivers/built-in.o(.data+0x6c04): Section mismatch in reference from the variable puv3_rtcdrv to the function .devinit.text:puv3_rtc_probe() The variable puv3_rtcdrv references the function __devinit puv3_rtc_probe() If the reference is valid then annotate the variable with __init* or __refdata (see linux/init.h) or name the variable: *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console
WARNING: drivers/built-in.o(.data+0x6c08): Section mismatch in reference from the variable puv3_rtcdrv to the function .devexit.text:puv3_rtc_remove() The variable puv3_rtcdrv references the function __devexit puv3_rtc_remove() If the reference is valid then annotate the variable with __exit* (see linux/init.h) or name the variable: *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console
WARNING: vmlinux.o(.data+0x1126c): Section mismatch in reference from the variable puv3_rtcdrv to the function .devinit.text:puv3_rtc_probe() The variable puv3_rtcdrv references the function __devinit puv3_rtc_probe() If the reference is valid then annotate the variable with __init* or __refdata (see linux/init.h) or name the variable: *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console
WARNING: vmlinux.o(.data+0x11270): Section mismatch in reference from the variable puv3_rtcdrv to the function .devexit.text:puv3_rtc_remove() The variable puv3_rtcdrv references the function __devexit puv3_rtc_remove() If the reference is valid then annotate the variable with __exit* (see linux/init.h) or name the variable: *driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console
For puv3_rtc_probe, I think it should be in the white-list, but warnings are yielded. For puv3_rtc_remove, the warning could be disappeared by modifying __devexit to __exit, however is it proper?
Also, Cc: Michal Marek <mmarek@suse.cz> Cc: Arnd Bergmann <arnd@arndb.de>
Any advice is appreciated, thanks.
Guan Xuetao
On Wed, 2011-10-05 at 22:29 +0800, Axel Lin wrote: > Signed-off-by: Axel Lin <axel.lin@gmail.com> > --- > drivers/rtc/rtc-puv3.c | 4 ++-- > 1 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/rtc/rtc-puv3.c b/drivers/rtc/rtc-puv3.c > index b3eba3c..e4b6880 100644 > --- a/drivers/rtc/rtc-puv3.c > +++ b/drivers/rtc/rtc-puv3.c > @@ -220,7 +220,7 @@ static void puv3_rtc_enable(struct platform_device *pdev, int en) > } > } > > -static int puv3_rtc_remove(struct platform_device *dev) > +static int __devexit puv3_rtc_remove(struct platform_device *dev) > { > struct rtc_device *rtc = platform_get_drvdata(dev); > > @@ -236,7 +236,7 @@ static int puv3_rtc_remove(struct platform_device *dev) > return 0; > } > > -static int puv3_rtc_probe(struct platform_device *pdev) > +static int __devinit puv3_rtc_probe(struct platform_device *pdev) > { > struct rtc_device *rtc; > struct resource *res;
| |