linux-device-driver – cdev_alloc和cdev_init之间的区别是什么

我正在创建一个角色设备.我发现了两种初始化char设备的方法

cdev_alloc

cdev_init

根据书,如果我在我的设备结构中嵌入struct cdev,那么我应该使用cdev_init

谁能告诉我他们之间有什么区别?

最佳答案 根据linux设备驱动程序第3版.

cdev_alloc()是一个较旧的机制.这用于在你的字符驱动程序模块的运行时获取cdev结构.然后你必须手动将操作分配给ops变量到cdev结构.但是cdev_init是新机制,我们必须通过cdev结构变量(或已经初始化的cdev结构指针)和文件操作变量,有关信息,请转到此处

http://lwn.net/Kernel/LDD3/

第3章

点赞