RE: [PATCH] staging: unisys/visorbus: add __init/__exit annotations
From: Kershner, David A
Date: Wed Sep 27 2017 - 14:53:00 EST
> -----Original Message-----
> From: Arnd Bergmann [mailto:arnd@xxxxxxxx]
> Sent: Friday, September 15, 2017 3:23 PM
> To: Kershner, David A <David.Kershner@xxxxxxxxxx>; Greg Kroah-Hartman
> <gregkh@xxxxxxxxxxxxxxxxxxx>
> Cc: Arnd Bergmann <arnd@xxxxxxxx>; Sell, Timothy C
> <Timothy.Sell@xxxxxxxxxx>; Wadgaonkar, Sameer Laxmikant
> <Sameer.Wadgaonkar@xxxxxxxxxx>; Binder, David Anthony
> <David.Binder@xxxxxxxxxx>; Thompson, Bryan E.
> <bryan.thompson@xxxxxxxxxx>; *S-Par-Maintainer
> <SParMaintainer@xxxxxxxxxx>; devel@xxxxxxxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx
> Subject: [PATCH] staging: unisys/visorbus: add __init/__exit annotations
>
> gcc-4.6 causes a harmless warning about the init function:
>
> WARNING: vmlinux.o(.text+0xed62c2): Section mismatch in reference from
> the function init_unisys() to the function
.init.text:visorutil_spar_detect()
> The function init_unisys() references
> the function __init visorutil_spar_detect().
> This is often because init_unisys lacks a __init
> annotation or the annotation of visorutil_spar_detect is wrong.
>
> It appears that newer versions inline visorutil_spar_detect(),
> end up with an empty __init section. This marks the module
> entry points as __init and __exit respectively, which avoids
> the warning and slightly reduces the runtime code size.
>
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
Acked-by: David Kershner <david.kershner@xxxxxxxxxx>
Thanks,
David Kershner
> ---
> drivers/staging/unisys/visorbus/visorchipset.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/staging/unisys/visorbus/visorchipset.c
> b/drivers/staging/unisys/visorbus/visorchipset.c
> index 74cce4f1a7bd..27ecf6fb49fd 100644
> --- a/drivers/staging/unisys/visorbus/visorchipset.c
> +++ b/drivers/staging/unisys/visorbus/visorchipset.c
> @@ -1826,7 +1826,7 @@ static __init int visorutil_spar_detect(void)
> return 0;
> }
>
> -static int init_unisys(void)
> +static int __init init_unisys(void)
> {
> int result;
>
> @@ -1841,7 +1841,7 @@ static int init_unisys(void)
> return 0;
> };
>
> -static void exit_unisys(void)
> +static void __exit exit_unisys(void)
> {
> acpi_bus_unregister_driver(&unisys_acpi_driver);
> }
> --
> 2.9.0
Attachment:
smime.p7s
Description: S/MIME cryptographic signature