linux网络设备中的加载与卸载方法

运维 系统运维
这里详细讲解了linux网路设备驱动周中模块的加载和卸载,如:初始化设备的回调函数、初始化设备的回调函数、注销PCI设备等命令。

学习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网络设备。

  1. static int __init tg3_init(void)  
  2. {  
  3. //先注册成PCI设备,并初始化,如果是其他的ESIA,PCMCIA,用其他函数  
  4. return pci_module_init(&tg3_driver);  
  5. }  
  6. static void __exit tg3_cleanup(void)  
  7. {  
  8. pci_unregister_driver(&tg3_driver);//注销PCI设备  
  9. }  
  10. module_init(tg3_init); //驱动模块的加载  
  11. module_exit(tg3_cleanup); //驱动模块的卸载 

linux网络设备申明为PCI设备:

  1. static struct pci_driver tg3_driver = {  
  2. .name = DRV_MODULE_NAME,  
  3. .id_table = tg3_pci_tbl, //此驱动所支持的网卡系列,vendor_id, device_id  
  4. .probe = tg3_init_one, //初始化linux网络设备的回调函数  
  5. .remove = __devexit_p(tg3_remove_one), //注销linux网络设备的回调函数  
  6. .suspend = tg3_suspend, //设备挂起函数  
  7. .resume = tg3_resume //设备恢复函数  
  8. }; 

【编辑推荐】

  1. 如何监视Linux系统资源的使用情况
  2. 全面探寻Linux文件的各种类型
  3. 你是否了解Linux文件各种扩展名
  4. Linux压缩打包方法连载之三:bzip2, bzcat 命令
  5. Linux压缩打包方法连载之六:cpio 命令
责任编辑:薛辈辈 来源: ixpub
相关推荐

2023-05-12 07:27:24

Linux内核网络设备驱动

2020-04-20 21:22:50

网络设备网络协议计算机网络

2013-10-30 11:27:25

Linux基础网络设备

2020-11-19 09:24:18

Linux GRE配置

2021-09-09 14:54:10

Linuxbridge网络设备

2020-04-23 09:11:09

网络协议网络设备网络

2010-07-19 10:05:52

ibmdwLinux

2013-05-02 10:03:59

网络管理网络设备交换机

2022-07-12 10:01:33

网络设备供应链

2011-06-30 09:43:53

虚拟设备虚拟网络

2011-04-01 09:18:04

mrtg流量

2011-04-02 11:40:11

mrtg监控

2011-05-13 17:49:56

2015-09-08 11:03:04

Linux网络模拟IaaS

2012-02-14 13:56:01

ibmdw

2021-04-13 09:12:45

网络设备无线路由器交换机

2018-07-31 10:56:28

2022-04-07 08:34:46

网络设备路由器WiFi

2022-12-29 08:00:26

Loki网络设备

2011-03-16 09:14:01

网络设备负载均衡
点赞
收藏

51CTO技术栈公众号