On Sat, 12 Aug 2000, Russell King - ARM Linux Admin wrote:

> Nicolas Pitre writes:
> > This function is referenced by the module_init() macro.  This allows for
> > the linker to automatically build a list of pointers for all
> > initialization functions to be called upon booting the kernel.  The order
> > for those calls is the same as the link order.
> > 
> > The right solution would require linux/arch/arm/kernel/kernel.o to be
> > linked before any drivers.
> 
> Ah, but it is, and it appears at the head of the initcall list.

You are right.  Here is the real problem:

linux/init/main.c:

#ifdef CONFIG_USB
        usb_init();  /* Do this before doing initcalls, so that we can make
                        usbcore initialize here, and all drivers initialize later */
#endif

So hw_sa1100_init() must not be called from the initcall list but way
before.  My next patch will fix this.


Nicolas


unsubscribe: body of `unsubscribe linux-arm' to [EMAIL PROTECTED]
++        Please use [EMAIL PROTECTED] for           ++
++                        kernel-related discussions.                      ++

Reply via email to