insmod: unresolved symbol XIo_In32/XIo_Out32

Joachim Foerster mls.JOFT at gmx.de
Sun Jul 13 17:30:15 EST 2008


Hi,

On Sat, 2008-07-12 at 15:22 -0400, Juliana Su wrote:
> Ok, so I tried mapping to in_be32( ) and out_be32( ) by changing:
> 
> #define XIo_In32(InputPtr) (*(volatile u32 *)(InputPtr)); SYNCHRONIZE_IO; 
> to
> #define XIo_In32(InputPtr) in_be32(InputPtr)
> 
> and
> 
> #define XIo_Out32(OutputPtr, Value) \
>    { (*(volatile u32 *)(OutputPtr) = Value); SYNCHRONIZE_IO; }
> to
> #define XIo_Out32(OutputPtr, Value) out_be32(OutputPtr, Value)
> 
> I made sure to include asm-ppc/io.h, too. However, I still get the same 
> unresolved symbol error message... Did I do the mapping correctly? 

Hmmm, as Grant already said, you need to replace the _implementation_
(the actual function) by macros. You replaced a #define with another
#define - and a #define is not a symbol (for the compiler, only for
cpp). So - without knowing anything about your MontaVista Linux sources
- I think that the #defines you replaced are _not_ used, instead there
have to be some function _definition_ (in xio.h) you need to replace.

As an example: Xilinx also has a xio.h in their git tree. There one
would have to replace lines 167..173 in
http://git.xilinx.com/cgi-bin/gitweb.cgi?p=linux-2.6-xlnx.git;a=blob;f=drivers/xilinx_common/xio.h;h=7b22a677bbf7769d8698d37397f2174a2cd7e2b2;hb=HEAD

 Joachim




More information about the Linuxppc-embedded mailing list