2017-09-16 20:42:45

by Arnd Bergmann

[permalink] [raw]
Subject: [PATCH] gpio: omap: omap_gpio_show_rev is not __init

The probe function calls omap_gpio_show_rev(), which on most
compilers is inlined, but on the old gcc-4.6 is not, causing
a valid warning about the incorrect __init annotation:

WARNING: vmlinux.o(.text+0x40f614): Section mismatch in reference from the function omap_gpio_probe() to the function .init.text:omap_gpio_show_rev()
The function omap_gpio_probe() references
the function __init omap_gpio_show_rev().
This is often because omap_gpio_probe lacks a __init
annotation or the annotation of omap_gpio_show_rev is wrong.

This removes the __init.

Signed-off-by: Arnd Bergmann <[email protected]>
---
drivers/gpio/gpio-omap.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpio/gpio-omap.c b/drivers/gpio/gpio-omap.c
index dbf869fb63ce..22d7d4838265 100644
--- a/drivers/gpio/gpio-omap.c
+++ b/drivers/gpio/gpio-omap.c
@@ -1010,7 +1010,7 @@ static void omap_gpio_set(struct gpio_chip *chip, unsigned offset, int value)

/*---------------------------------------------------------------------*/

-static void __init omap_gpio_show_rev(struct gpio_bank *bank)
+static void omap_gpio_show_rev(struct gpio_bank *bank)
{
static bool called;
u32 rev;
--
2.9.0


2017-09-18 18:17:52

by Santosh Shilimkar

[permalink] [raw]
Subject: Re: [PATCH] gpio: omap: omap_gpio_show_rev is not __init


On 9/16/2017 1:42 PM, Arnd Bergmann wrote:
> The probe function calls omap_gpio_show_rev(), which on most
> compilers is inlined, but on the old gcc-4.6 is not, causing
> a valid warning about the incorrect __init annotation:
>
> WARNING: vmlinux.o(.text+0x40f614): Section mismatch in reference from the function omap_gpio_probe() to the function .init.text:omap_gpio_show_rev()
> The function omap_gpio_probe() references
> the function __init omap_gpio_show_rev().
> This is often because omap_gpio_probe lacks a __init
> annotation or the annotation of omap_gpio_show_rev is wrong.
>
> This removes the __init.
>
> Signed-off-by: Arnd Bergmann <[email protected]>
> ---
Acked-by: Santosh Shilimkar <[email protected]>

2017-09-21 12:02:43

by Linus Walleij

[permalink] [raw]
Subject: Re: [PATCH] gpio: omap: omap_gpio_show_rev is not __init

On Sat, Sep 16, 2017 at 10:42 PM, Arnd Bergmann <[email protected]> wrote:

> The probe function calls omap_gpio_show_rev(), which on most
> compilers is inlined, but on the old gcc-4.6 is not, causing
> a valid warning about the incorrect __init annotation:
>
> WARNING: vmlinux.o(.text+0x40f614): Section mismatch in reference from the function omap_gpio_probe() to the function .init.text:omap_gpio_show_rev()
> The function omap_gpio_probe() references
> the function __init omap_gpio_show_rev().
> This is often because omap_gpio_probe lacks a __init
> annotation or the annotation of omap_gpio_show_rev is wrong.
>
> This removes the __init.
>
> Signed-off-by: Arnd Bergmann <[email protected]>

Patch applied for fixes.

Yours,
Linus Walleij