Re: question about driver built-in kernel

From: Greg KH
Date: Fri Nov 18 2005 - 20:35:11 EST


On Thu, Nov 17, 2005 at 05:18:34PM -0700, yiding_wang@xxxxxxxxxxx wrote:
> We have two driver modules to support our hardware for some
> applications. Both modules worked fine as loadable modules. Now I need
> to build both drivers in kernel 2.6.11-8. I have changed configuration
> file and make file. Both drivers are built OK with kernel together.

Have a pointer to the source for these drivers?

> 1, Because both drivers were loaded as module before, the entry point
> for both driver is "init_module()". Since both drivers are built in
> kernel, the entry name is conflicting. Changing one entry point name
> will make driver built OK. However, I am concerned that loading kernel
> will not pick up the driver with changed entry point name. What is the
> best way to handle this situation?

Make your init module function static, like all other kernel drivers.

> 2, One of built-in driver requires to be loaded before the second one.
> Because these two drivers are not belong to any existing group, such
> as network, scsi, where is the best place these two driver can be
> specified for loading sequence? I checked init.d and rc* files but did
> not figure out proper place to handle the requirement.

The linker specifies the loading order.

hope this helps,

greg k-h
-
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/