【发布时间】:2016-01-15 21:28:13
【问题描述】:
我正在为 Linux 创建我的第一个 PCIe 驱动程序,并且对 pci_set_drvdata() 函数使用哪种结构有疑问。
PCIe 硬件是内部构建的,我们将使用 DMA 向设备发送数据和从设备发送数据。它不是声卡或任何其他需要插入内核的子系统。
当我查看示例时,似乎有一个特定的struct 需要填写,然后发送到pci_set_drvdata()。
这个案例我应该填写什么?我是否只是忽略这一点并发送一个空白结构?我在任何 PCIe 驱动程序中所指的行是:
struct structure_in_question *my_struct;
my_struct = kzalloc( sizeof(*my_struct), GFP_KERNEL) );
这通常在probe() 函数中找到。
【问题讨论】: