how kernel detect device and make proble() called?

Kok, Auke auke-jan.h.kok at
Thu Nov 13 20:55:28 UTC 2008

hong zhang wrote:
> List,
> Example is PCI ethernet card. how kernel knows NIC is inserted to PCI bus and call .probe?

the answer is in the question:

> static struct pci_driver e1000_driver = {
> 	.name     = e1000_driver_name,
> 	.id_table = e1000_pci_tbl,

this entry contains a list of device IDs that this driver claims to support. IOW
when the PCI system probes the PCI bus and discovers all the PCI device IDs, it
knows that the driver described by 'e1000_driver' claims to support it.

There are great documents online on PCI bus discovery and the linux driver system,
please read those. They explain all of this.


More information about the devel mailing list