subdevice;/* Subsystem ID's or PCI_ANY_ID */__u32class,class_mask;/* (class,subclass,prog-if) triplet */kernel_ulong_tdriver_data;/* Data private to the driver */__u32 override_only;
pci_set_drvdata(pci, card); dev++; return 0; 1. 2. 3. 上面的代码中,卡的记录被保存了。这个指针也会在remove回调函数和电源管理回调函数中使用。 析构函数 析构函数,remove回调,单纯移除卡的实例。然后ALSA中间层会自动释放所有的附加组件; 它会定义如下: static void __devexit snd_mychip_remove(st...
这使得如果所有 pci_device_id 条目具有非零 driver_data 值,则 driver_data 字段是强制性的。 一旦添加,驱动程序的探测例程将为其 pci_ids 列表中列出的任何未声明的PCI设备调用。 驱动程序退出时,只需调用 pci_unregister_driver(),PCI层将自动为该驱动程序处理的所有设备调用删除hook。 1.1 驱动程序函数/数据...
内存映射,获取中断device_hw_start(xx_device);//这个函数主要是往寄存器中写一些值,复位硬件,开中断,打开DMA等//把设备指针地址放入PCI设备中的设备指针中,便于后面调用pci_get_drvdatapci_set_drvdata(pci_dev, FCswitch);return0;
void*pci_get_drvdata(structpci_dev*pdev);voidpci_set_drvdata((structpci_dev*pdev,void*data); 使能/禁止 PCI 设备: intpci_enable_device(structpci_dev*pdev);intpci_disable_device(structpci_dev*pdev); 设置主总线为 DMA 模式: voidpci_set_master(structpci_dev*pdev); ...
1、 pci_set_drvdata(pdev, rm); 设置驱动私有数据 2、 pci_enable_device(pdev) 同时初始化memory和IO类型的BAR 3、 pci_request_regions(pdev, DEVICE_NAME) 对PCI区进行标记 ,标记该区域已经分配出去 4、 pci_set_dma_mask(pdev, DMA_BIT_MASK(48)); ...
pci_module_init()内联函数,确保驱动程序正确的初始化以及错误处理 pci_resource_start()返回pci地址范围的总线起始地址 pci_resource_end()返回pci地址范围的总线终止地址 pci_resource_len()返回pci地址范围的长度,以字节为单位 pci_set_drvdata()为pci_dev设置私有数据指针 pci_get_drvdata()从pci_dev结构中得...
如果网络设备(包括wireless)是PCMCIA规范的,则先是向内核注册该PCMCIA设备(register_pccard_driver),然后driver_info_t数据结构中的attach函数指针所指向的侦测函数来初始化该PCMCIA设备,并且同时注册和初始化该网络设备。1. 申明为PCI设备: static struct pci_driver tg3_driver = { .name = DRV_MODULE_...
27、e_regi on s(pci_dev); kfree( private);pci_set_drvdata(pci_dev,NULL);pci_disable_device(pci_dev);配过的资源,根据自己代码的需要进行具体的操作/总之模块卸载函数的职责就是释放一切分PCI设备的探测(probe)-j static int _devinit pci_probe( struct pci_dev *pci_dev, const struct pci_devi...
进入DPDK源代码中的drivers/bus/pci/linux/pci.c中的函数,上代码: #definePCI_MAX_RESOURCE 6/** pci扫描文件系统下的resource文件 * @param filename 通常为/sys/bus/pci/devices/[pci_addr]/resource文件 * @param dev[out] dpdk中对一个pci设备的抽象*/staticintpci_parse_sysfs_resource(constchar*file...