It is not "essential" for the boot process, but is a requirement for this driver to be initialize before the system is "ready". If I do postpone the drivers initialization to the startup script then this just cause it to take longer before the system is "ready". Ideally I would like to start the drivers initialization early in the boot process this way it is ready by the time everything else has booted.
I have ran across a kernel configuration option, CONFIG_PCI_MULTITHREAD_PROBE (
http://elinux.org/Threaded_Device_Probing), but it doesn't seem to be supported any more. Is there any patches available for the 2.6.30 kernel that would provide similar functionality?
I know that the 2.6.30 kernel supports asynchronous function calls. Is there any why to make the PCI code used asynchronous function calls to probe and initialize PCI devices and drivers, i.e. through a patch?