[PATCH] xics/icp_natives: add __init to marker icp_native_init()
This should fix the following warning: LD arch/powerpc/sysdev/xics/built-in.o WARNING: arch/powerpc/sysdev/xics/built-in.o(.text+0x1310): Section mismatch in reference from the function .icp_native_init() to the function .init.text:.icp_native_init_one_node() The function .icp_native_init() references the function __init .icp_native_init_one_node(). This is often because .icp_native_init lacks a __init annotation or the annotation of .icp_native_init_one_node is wrong. icp_native_init() is only referenced in `arch/powerpc/sysdev/xics/xics-common.c' by xics_init() which is itself marked with __init. = not built-tested = Reported-by: Timur Tabi ti...@freescale.com Signed-off-by: Arnaud Lacombe lacom...@gmail.com --- arch/powerpc/sysdev/xics/icp-native.c |2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/arch/powerpc/sysdev/xics/icp-native.c b/arch/powerpc/sysdev/xics/icp-native.c index 50e32af..4c79b6f 100644 --- a/arch/powerpc/sysdev/xics/icp-native.c +++ b/arch/powerpc/sysdev/xics/icp-native.c @@ -276,7 +276,7 @@ static const struct icp_ops icp_native_ops = { #endif }; -int icp_native_init(void) +int __init icp_native_init(void) { struct device_node *np; u32 indx = 0; -- 1.7.6.153.g78432 ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [PATCH] xics/icp_natives: add __init to marker icp_native_init()
Arnaud Lacombe wrote: This should fix the following warning: LD arch/powerpc/sysdev/xics/built-in.o WARNING: arch/powerpc/sysdev/xics/built-in.o(.text+0x1310): Section mismatch in reference from the function .icp_native_init() to the function .init.text:.icp_native_init_one_node() The function .icp_native_init() references the function __init .icp_native_init_one_node(). This is often because .icp_native_init lacks a __init annotation or the annotation of .icp_native_init_one_node is wrong. icp_native_init() is only referenced in `arch/powerpc/sysdev/xics/xics-common.c' by xics_init() which is itself marked with __init. = not built-tested = Reported-by: Timur Tabi ti...@freescale.com Signed-off-by: Arnaud Lacombe lacom...@gmail.com Acked-by: Timur Tabi ti...@freescale.com This warning still appears, though: WARNING: arch/powerpc/sysdev/built-in.o(.text+0xf6b8): Section mismatch in reference from the function .ics_rtas_init() to the function .init.text:.xics_register_ics() The function .ics_rtas_init() references the function __init .xics_register_ics(). This is often because .ics_rtas_init lacks a __init annotation or the annotation of .xics_register_ics is wrong. To fix this warning, you'll also need: diff --git a/arch/powerpc/sysdev/xics/ics-rtas.c b/arch/powerpc/sysdev/xics/ics- index c782f85..a125721 100644 --- a/arch/powerpc/sysdev/xics/ics-rtas.c +++ b/arch/powerpc/sysdev/xics/ics-rtas.c @@ -213,7 +213,7 @@ static int ics_rtas_host_match(struct ics *ics, struct devic return !of_device_is_compatible(node, chrp,iic); } -int ics_rtas_init(void) +int __init ics_rtas_init(void) { ibm_get_xive = rtas_token(ibm,get-xive); ibm_set_xive = rtas_token(ibm,set-xive); However, now we get another similar warning: WARNING: drivers/built-in.o(.text+0x259c484): Section mismatch in reference from the function .tc3589x_keypad_open() to the function .devinit.text:.tc3589x_keypad_init_key_hardware() The function .tc3589x_keypad_open() references the function __devinit .tc3589x_keypad_init_key_hardware(). This is often because .tc3589x_keypad_open lacks a __devinit annotation or the annotation of .tc3589x_keypad_init_key_hardware is wrong. I'm not sure what to do at this point, because I have a suspicion that adding __devinit to tc3589x_keypad_open() is wrong. -- Timur Tabi Linux kernel developer at Freescale ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [PATCH] xics/icp_natives: add __init to marker icp_native_init()
Hi, On Thu, Aug 25, 2011 at 3:24 PM, Timur Tabi ti...@freescale.com wrote: Arnaud Lacombe wrote: This should fix the following warning: LD arch/powerpc/sysdev/xics/built-in.o WARNING: arch/powerpc/sysdev/xics/built-in.o(.text+0x1310): Section mismatch in reference from the function .icp_native_init() to the function .init.text:.icp_native_init_one_node() The function .icp_native_init() references the function __init .icp_native_init_one_node(). This is often because .icp_native_init lacks a __init annotation or the annotation of .icp_native_init_one_node is wrong. icp_native_init() is only referenced in `arch/powerpc/sysdev/xics/xics-common.c' by xics_init() which is itself marked with __init. = not built-tested = Reported-by: Timur Tabi ti...@freescale.com Signed-off-by: Arnaud Lacombe lacom...@gmail.com Acked-by: Timur Tabi ti...@freescale.com This warning still appears, though: WARNING: arch/powerpc/sysdev/built-in.o(.text+0xf6b8): Section mismatch in reference from the function .ics_rtas_init() to the function .init.text:.xics_register_ics() The function .ics_rtas_init() references the function __init .xics_register_ics(). This is often because .ics_rtas_init lacks a __init annotation or the annotation of .xics_register_ics is wrong. he, chain-reaction :) To fix this warning, you'll also need: diff --git a/arch/powerpc/sysdev/xics/ics-rtas.c b/arch/powerpc/sysdev/xics/ics- index c782f85..a125721 100644 --- a/arch/powerpc/sysdev/xics/ics-rtas.c +++ b/arch/powerpc/sysdev/xics/ics-rtas.c @@ -213,7 +213,7 @@ static int ics_rtas_host_match(struct ics *ics, struct devic return !of_device_is_compatible(node, chrp,iic); } -int ics_rtas_init(void) +int __init ics_rtas_init(void) { ibm_get_xive = rtas_token(ibm,get-xive); ibm_set_xive = rtas_token(ibm,set-xive); However, now we get another similar warning: WARNING: drivers/built-in.o(.text+0x259c484): Section mismatch in reference from the function .tc3589x_keypad_open() to the function .devinit.text:.tc3589x_keypad_init_key_hardware() The function .tc3589x_keypad_open() references the function __devinit .tc3589x_keypad_init_key_hardware(). This is often because .tc3589x_keypad_open lacks a __devinit annotation or the annotation of .tc3589x_keypad_init_key_hardware is wrong. I'm not sure what to do at this point, because I have a suspicion that adding __devinit to tc3589x_keypad_open() is wrong. tc3589x_keypad_init_key_hardware() annotation looks plain wrong. - Arnaud -- Timur Tabi Linux kernel developer at Freescale ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev