Hello Jun,
Thanks for the reply.I have checked for the unresolved function symbols like
"printk" and "register_chrdev", and found that they are present in /proc/ksyms.
So it appears to me that I may be compiling the module with incorrect
parameters.
Below is the Makefile for the Loadable Module:
/*****************************************************************************************************************/
CROSS_COMPILE=
/backup/buildroot-QuickMIPS/build/staging_dir/bin/mipsel-uclibc-
TARGET = example_driver
INCLUDE = /backup/buildroot-QuickMIPS/build/linux-2.4.20/include
CC = $(CROSS_COMPILE)gcc -I${INCLUDE}
CFLAGS = -DMODVERSIONS -I${INCLUDE}/linux/modversions.h
${TARGET}.o: ${TARGET}.c
.PHONY: clean
clean:
rm -rf ${TARGET}.o
/****************************************************************************************************************/
Do you think that I need to modify the makefile or add some more options to
CFLAGS.
I have ensured that the kernel is compiled with "module-option" turned
on.
Also my module uses symbol versioning (sometimes called module
versioning).
I use the following lines of code at the start of header file to accomplish
this:
/*************************************************************************************************************/
#if defined (CONFIG_MODVERSIONS) && ! defined (MODVERSIONS)
#include <linux/modversions.h>
#define MODVERSIONS
#endif
/*************************************************************************************************************/
I have successfully cross-compiled user-space applications on the target
platform. Only when i do the kernel work, this unresolved symbol (like printk,
register_chrdev, etc..) phenomenon happens.
ADEEL MALIK,
-----Original Message-----
From: linux-mips-bounce@linux-mips.org
[mailto:linux-mips-bounce@linux-mips.org]On Behalf Of Jun Sun
Sent: Wednesday, August 27, 2003 9:51 PM
To: Adeel Malik
Cc: linux-mips@linux-mips.org; jsun@mvista.com
Subject: Re: Information required
On Wed, Aug 27, 2003 at 07:30:26PM +0500, Adeel Malik wrote:
> Hi All,
> I am involved in Embedded Linux Development for MIPS Processor. I
> need to write a device driver for a MIPS Target Platform. When I insmod
the
> driver.o file, the linux bash script running on the target hardware
gives me
> the error message like ;
> 1. unable to resolve the printk function
> 2. unable to resolve the register_chardev function
> etc.
> Can you plz give me the direction as to how to proceed to tackle
this
> situation.
Make sure your kernel compiled with module option turned on.
Does it use module version (CONFIG_MODVERSIONS)?
If so, add -DMODVERSIONS -include
$(KERNEL_PATH)/include/linux/modversions.h
to your CFLAGS.
Jun