2019-05-06 19:33:02

by Randy Dunlap

[permalink] [raw]
Subject: [PATCH -next] x86: olpc: fix section mismatch warning

From: Randy Dunlap <[email protected]>

Fix section mismatch warning:

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

All calls to olpc_dt_compatible_match() are from __init functions,
so it can be marked __init also.

Signed-off-by: Randy Dunlap <[email protected]>
Cc: [email protected]
Cc: Rob Herring <[email protected]>
---
arch/x86/platform/olpc/olpc_dt.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

--- linux-next-20190506.orig/arch/x86/platform/olpc/olpc_dt.c
+++ linux-next-20190506/arch/x86/platform/olpc/olpc_dt.c
@@ -220,7 +220,7 @@ static u32 __init olpc_dt_get_board_revi
return be32_to_cpu(rev);
}

-int olpc_dt_compatible_match(phandle node, const char *compat)
+int __init olpc_dt_compatible_match(phandle node, const char *compat)
{
char buf[64], *p;
int plen, len;



2019-05-06 21:08:32

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH -next] x86: olpc: fix section mismatch warning

+Lubomir

On Mon, May 6, 2019 at 2:31 PM Randy Dunlap <[email protected]> wrote:
>
> From: Randy Dunlap <[email protected]>
>
> Fix section mismatch warning:
>
> WARNING: vmlinux.o(.text+0x36e00): Section mismatch in reference from the function olpc_dt_compatible_match() to the function .init.text:olpc_dt_getproperty()
> The function olpc_dt_compatible_match() references
> the function __init olpc_dt_getproperty().
> This is often because olpc_dt_compatible_match lacks a __init
> annotation or the annotation of olpc_dt_getproperty is wrong.
>
> All calls to olpc_dt_compatible_match() are from __init functions,
> so it can be marked __init also.
>
> Signed-off-by: Randy Dunlap <[email protected]>
> Cc: [email protected]
> Cc: Rob Herring <[email protected]>

Fixes: a7a9bacb9a32 ("x86/platform/olpc: Use a correct version when
making up a battery node")
Acked-by: Rob Herring <[email protected]>

2019-05-07 07:52:02

by Lubomir Rintel

[permalink] [raw]
Subject: Re: [PATCH -next] x86: olpc: fix section mismatch warning

On Mon, 2019-05-06 at 16:06 -0500, Rob Herring wrote:
> +Lubomir
>
> On Mon, May 6, 2019 at 2:31 PM Randy Dunlap <[email protected]> wrote:
> > From: Randy Dunlap <[email protected]>
> >
> > Fix section mismatch warning:
> >
> > WARNING: vmlinux.o(.text+0x36e00): Section mismatch in reference from the function olpc_dt_compatible_match() to the function .init.text:olpc_dt_getproperty()
> > The function olpc_dt_compatible_match() references
> > the function __init olpc_dt_getproperty().
> > This is often because olpc_dt_compatible_match lacks a __init
> > annotation or the annotation of olpc_dt_getproperty is wrong.
> >
> > All calls to olpc_dt_compatible_match() are from __init functions,
> > so it can be marked __init also.
> >
> > Signed-off-by: Randy Dunlap <[email protected]>
> > Cc: [email protected]
> > Cc: Rob Herring <[email protected]>
>
> Fixes: a7a9bacb9a32 ("x86/platform/olpc: Use a correct version when
> making up a battery node")
> Acked-by: Rob Herring <[email protected]>

Thanks for this. Which tree does this apply to? I can't see the patch
that introduce the problem in x86's for-next? I've a mostly equivalent
patch lined up with an intent to send it over to x86 once the faulty
commit reaches it:

https://lists.01.org/pipermail/kbuild-all/2019-April/060269.html

In any case;

Reviewed-by: Lubomir Rintel <[email protected]>

> -int olpc_dt_compatible_match(phandle node, const char *compat)
> +int __init olpc_dt_compatible_match(phandle node, const char *compat)

My patch also marks olpc_dt_compatible_match() static. It should still
be done if this one ends up being applied.

Lubo