我正在为Linux内核编写模块,并且我想在init函数中创建一些设备节点
int init_module(void) { Major = register_chrdev(0, DEVICE_NAME, &fops); // Now I want to create device nodes with the returned major number }
我还希望内核为我的第一个节点分配一个次要编号,然后由我自己分配其他节点的次要编号。
我该如何在代码中做到这一点。我不想使用mknod从外壳创建设备
要更好地控制设备编号和设备创建,您可以执行以下步骤(而不是register_chrdev()):
register_chrdev()
alloc_chrdev_region()
class_create()
cdev_init()
cdev_add()
device_create()
mknod
网上可能有很多这样的例子,这里是其中之一。