Skip to contentSkip to conversation

couldn't find the kernel version the module was compiled for

DISCUSSION Rakesh jagota 2 participants 2 messages Oct 20, 2003

lore
Share & tools
lore
#0 lore raw

Hi all,
I am working on mpc8245 based board. I ahve compiled he rtc driver as a seperate modules. I have 2 function in assembly file i2c2.S. Its getting compiled but when I am inserting the module I am getting the above mentioned error.

i2c2.o: couldn't find the kernel version the module was compiled for x1226.o: Unresolved symbol load_runtime_reg
x1226.o: Unresolved symbol store_runtime_reg

The assembly file is like this:
/**************************************
*
* copyright @ Motorola, 1999
*
**************************************/

#include <linux/config.h>
#define CONFIG_HARD_I2C
#ifdef CONFIG_HARD_I2C
//#include <ppc_asm.tmpl>
#include <linux/ppc_asm.tmpl>

#include <asm/mmu.h> /**********************************************************
* function: load_runtime_reg
*
* input: r3 - value of eumbbar
* r4 - register offset in embedded utility space
*
* output: r3 - register content **********************************************************/ .text
.align 2
.globl load_runtime_reg
load_runtime_reg:

	      lwbrx r3,r4,r3
	      sync

bclr 20, 0

/****************************************************************
* function: store_runtime_reg
*
* input: r3 - value of eumbbar
* r4 - register offset in embedded utility space
* r5 - new value to be stored
* ****************************************************************/
.text
.align 2
.global store_runtime_reg
store_runtime_reg:

	      stwbrx r5,  r4, r3
	      sync
              bclr   20,0

/*
_GLOBAL(load_runtime_reg)

	      lwbrx r3,r4,r3
	      sync

bclr 20, 0

_GLOBAL(store_runtime_reg)

	      stwbrx r5,  r4, r3
	      sync
              bclr   20,0

*/
#endif /* CONFIG_HARD_I2C */

How can I avoid this.

Thanks & Regards,

rakesh

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

#1 lore raw
Quoted 5 lines · In message <[email protected]> you wrote:

I am working on mpc8245 based board. I ahve compiled he rtc driver as a seperate modules. I have 2 function in assembly file i2c2.S. Its getting compiled but when I am inserting the module I am getting the above mentioned error.

And you are absolutely sure that what you use is Linux kernel code?

Quoted 3 lines

i2c2.o: couldn't find the kernel version the module was compiled for x1226.o: Unresolved symbol load_runtime_reg
x1226.o: Unresolved symbol store_runtime_reg

...

Quoted 1 line

How can I avoid this.

To mee it seems as if you used a source file which was not intended for use with the Linux kernel, and adopted it for this purpose, but poorly. You don't mention how you build your kernel module, s owe can only speculate that there is either a problem with your source code, or (more likely) with the way you compile and link your source files into a module (like bad and/or missing compiler / linker options).

Best regards,

Wolfgang Denk

--
Software Engineering: Embedded and Realtime Systems, Embedded Linux
Phone: (+49)-8142-4596-87 Fax: (+49)-8142-4596-88 Email: [email protected] He'd been wrong, there _was_ a light at the end of the tunnel, and it
was a flamethrower. - Terry Pratchett, _Mort_

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/