[PATCH] xics/icp_natives: add __init to marker icp_native_init()

2011-08-25 Thread Arnaud Lacombe
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()

2011-08-25 Thread Timur Tabi
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()

2011-08-25 Thread Arnaud Lacombe
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