Re: Module link

From: yh
Date: Fri Jul 07 2006 - 01:20:27 EST


Thanks Randy. Let me clarify it.

I have a driver module (NewSerialModule.ko) and I build it for module
load. This driver module uses i2c functions. It was fine to init this
module in kernel 2.4 as the i2c functions are exported in i2c Makefile.

In kernel 2.6, I loaded this module and got NULL point exception. I
checked the module map, all i2c functions are not linked. I also checked
i2c, there is no export for i2c in kernel 2.6. So, my question is how can
I link the dirvers/i2c to my driver module in drivers/char directory? How
to export a directory to be a library such as i2c? In general, how to link
another directory functions by a module in kernel 2.6?

Thank you.

Jim




> On Fri, 7 Jul 2006 13:55:39 +1000 (EST) yh@xxxxxxxxxxxxxx wrote:
>
>> Thanks for all helps. The module can now be loaded. There are some other
>> issues as descripbled as follows:
>>
>> 1. The module I used links to i2c drivers. It works fine in kernel 2.4
>> after "insmod NewModule.o", but now it has a NULL point in kernel 2.6
>> when
>> to init it. It seems that the i2c driver is not linked in the module.
>> How
>> can I link an i2c to my driver module?
>
> Sorry, I don't understand the question.
> Where is the driver source code?
>
>> 2. In kernel 2.4, when I call "insmod NewModule.o", the insmod can find
>> the path of the NewModule.o and to init the module. In 2.6 kernel, the
>> "insmod NewModule.ko" does not know the path, so I have to specify the
>> path explicitly as "insmod
>> /lib/modules/2.6.8.1/kernel/drivers/char/NewModule.ko" to make it work.
>> I
>> guess the above problem in question 1 may also related to this issue.
>> What
>> did I wrong here?
>
> In module-init-tools, insmod requires full path and modprobe
> does not (it searches for the file).
>
> ---
> ~Randy
>


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/