simple examples of how to

Tuesday, October 4, 2011

[Linux Device Driver] intel ixgbe source code analysis (part1: where is the entry?)

ixgbe

[ixgbe_main.c] ixgbe_init_module called

[ixgbe_main.c] dca_register_notify called

[ixgbe_main.c] pci_register_driver called
-->

[ixgbe_main.c] ixgbe_probe called # here actual initialization of ethernet device is performed
/**
* ixgbe_probe - Device Initialization Routine
* @pdev: PCI device information struct
* @ent: entry in ixgbe_pci_tbl
*
* Returns 0 on success, negative on failure
*
* ixgbe_probe initializes an adapter identified by a pci_dev structure.
* The OS initialization, configuring of the adapter private structure,
* and a hardware reset occur.
**/



#endif
static struct pci_driver ixgbe_driver = {
.name = ixgbe_driver_name,
.id_table = ixgbe_pci_tbl,
.probe = ixgbe_probe,
.remove = __devexit_p(ixgbe_remove),
#ifdef CONFIG_PM
.suspend = ixgbe_suspend,
.resume = ixgbe_resume,
#endif
#ifndef USE_REBOOT_NOTIFIER
.shutdown = ixgbe_shutdown,
#endif
#ifdef HAVE_PCI_ERS
.err_handler = &ixgbe_err_handler
#endif
};

No comments:

Post a Comment