lkml.org 
[lkml]   [2013]   [Jul]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] usb: gadget: fotg210-udc: Remove bogus __init/__exit annotations
On 07/11/2013 01:45 AM, Geert Uytterhoeven wrote:

> When builtin (CONFIG_USB_FOTG210_UDC=y):

> LD drivers/usb/gadget/built-in.o
> WARNING: drivers/usb/gadget/built-in.o(.data+0xbf8): Section mismatch in reference from the variable fotg210_driver to the function .init.text:fotg210_udc_probe()
> The variable fotg210_driver references
> the function __init fotg210_udc_probe()
> If the reference is valid then annotate the
> variable with __init* or __refdata (see linux/init.h) or name the variable:
> *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

> LD drivers/usb/built-in.o
> WARNING: drivers/usb/built-in.o(.data+0x14684): Section mismatch in reference from the variable fotg210_driver to the function .init.text:fotg210_udc_probe()
> The variable fotg210_driver references
> the function __init fotg210_udc_probe()
> If the reference is valid then annotate the
> variable with __init* or __refdata (see linux/init.h) or name the variable:
> *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

> LD drivers/built-in.o
> WARNING: drivers/built-in.o(.data+0x8b0c8): Section mismatch in reference from the variable fotg210_driver to the function .init.text:fotg210_udc_probe()
> The variable fotg210_driver references
> the function __init fotg210_udc_probe()
> If the reference is valid then annotate the
> variable with __init* or __refdata (see linux/init.h) or name the variable:
> *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

> CHK include/generated/uapi/linux/version.h
> LINK vmlinux
> LD vmlinux.o
> MODPOST vmlinux.o
> WARNING: vmlinux.o(.data+0xc6730): Section mismatch in reference from the variable fotg210_driver to the function .init.text:fotg210_udc_probe()
> The variable fotg210_driver references
> the function __init fotg210_udc_probe()
> If the reference is valid then annotate the
> variable with __init* or __refdata (see linux/init.h) or name the variable:
> *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console

> GEN .version
> CHK include/generated/compile.h
> UPD include/generated/compile.h
> CC init/version.o
> LD init/built-in.o
> `.exit.text' referenced in section `.data' of drivers/built-in.o: defined in discarded section `.exit.text' of drivers/built-in.o
> make[3]: *** [vmlinux] Error 1

> Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
> ---
> drivers/usb/gadget/fotg210-udc.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)

> diff --git a/drivers/usb/gadget/fotg210-udc.c b/drivers/usb/gadget/fotg210-udc.c
> index cce5535..10cd18d 100644
> --- a/drivers/usb/gadget/fotg210-udc.c
> +++ b/drivers/usb/gadget/fotg210-udc.c
> @@ -1074,7 +1074,7 @@ static struct usb_gadget_ops fotg210_gadget_ops = {
> .udc_stop = fotg210_udc_stop,
> };
>
> -static int __exit fotg210_udc_remove(struct platform_device *pdev)
> +static int fotg210_udc_remove(struct platform_device *pdev)

I think you can leave __exit annotation here, if you enclose the
reference in the driver structure in __exit_p()...

WBR, Sergei



\
 
 \ /
  Last update: 2013-07-11 00:21    [W:0.049 / U:0.164 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site