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
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]>
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