Re: device driver init during bootup

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

The kernel doesn't store any information about
'correct' drivers. It calls the init functions of all
drivers that you choose to include while building. The
driver then interfaces with PCI (or any other bus)
module to claim and initialize the appropriate
devices.

Generic IDE driver initialization (ide_init()) is done
from device_init(). In turn, ide_init() calls the init
function of one or more configured h/w drivers. 

init_scsi() is called from do_initcalls() to
initialize the generic SCSI driver. H/w sepecific SCSI
drivers are initialized through
init_this_scsi_driver() calls (also called from
do_initcalls()).
 
Hope this helps,
Ravi.


--- anurekh saxena <anurekh@calsoftinc.com> wrote:
>  hi,
>  i was going through the PCI interface in the Linux
> 2.4 kernel and got very
> confused about how the drivers fit into the whole
> scene. I understand that
> the kernel maintains a table starting with the bus
> and all the devices and
> bridges connected to it ,but during boot time when
> are the drivers(example
> IDE,SCSI etc)  loaded . I mean does the kernel call
> each drivers startup
> routine to see if its the correct driver, or is this
> information stored
> somewhere .
> regards
>  anurekh
> 


__________________________________________________
Do You Yahoo!?
Check out Yahoo! Shopping and Yahoo! Auctions for all of
your unique holiday gifts! Buy at http://shopping.yahoo.com
or bid at http://auctions.yahoo.com
--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
IRC Channel:   irc.openprojects.net / #kernelnewbies
Web Page:      http://www.kernelnewbies.org/



[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux