Linux内核驱动开发与调试技术详解
1. 驱动开发基础
在驱动开发中,一些基础的函数和结构起着关键作用。例如,在初始化驱动时,会涉及到一些文件操作结构的定义和赋值。以下是一个简单的示例:
.llseek = seq_lseek, /* Built-in helper function */
.release = seq_release, /* Built-in helper funciton */
};
static int __init
mydrv_init(void)
{
/* ... */
/* Replace the assignment to entry->read_proc in Listing C.1,
with a more fundamental assignment to entry->proc_fops. So
instead of doing "entry->read_proc = readme_proc;", do the
following: */
entry->proc_fops = &mydrv_proc_fops;
/* ... */
}
这里展示了如何将 entry 的 proc_fops 赋值为 mydrv_proc_fops ,替代了之前直接赋值 read_proc 的方式。
2. NVRAM 驱动更新
超级会员免费看
订阅专栏 解锁全文
1639

被折叠的 条评论
为什么被折叠?



