学习linux网络设备时,你可能会遇到加载与卸载的问题,这里列举了多种加载与卸载的命令,在这里小编拿出来和大家分享一下。望能给大家一些帮助。
如果linux网络设备(包括wireless)是PCI规范的,则先是向内核注册该PCI设备(pci_register_driver),然后由pci_driver数据结构中的probe函数指针所指向的侦测函数来初始化该PCI设备,并且同时注册和初始化该linux网络设备。
如果linux网络设备(包括wireless)是PCMCIA规范的,则先是向内核注册该PCMCIA设备(register_pccard_driver),然后driver_info_t数据结构中的attach函数指针所指向的侦测函数来初始化该PCMCIA设备,并且同时注册和初始化该linux网络设备。
staticint__inittg3_init(void) { //先注册成PCI设备,并初始化,如果是其他的ESIA,PCMCIA,用其他函数 returnpci_module_init(&tg3_driver); } staticvoid__exittg3_cleanup(void) { pci_unregister_driver(&tg3_driver);//注销PCI设备 } module_init(tg3_init);//驱动模块的加载 module_exit(tg3_cleanup);//驱动模块的卸载
linux网络设备申明为PCI设备:
staticstructpci_drivertg3_driver ={ .name =DRV_MODULE_NAME , .id_table =tg3_pci_tbl ,//此驱动所支持的网卡系列,vendor_id,device_id .probe =tg3_init_one ,//初始化linux网络设备的回调函数 .remove =__devexit_p (tg3_remove_one),//注销linux网络设备的回调函数 .suspend =tg3_suspend ,//设备挂起函数 .resume =tg3_resume //设备恢复函数 };
相关文章
标签:系统运维