- /*
- 352 * 创建类example,class_create函数执行成功后,在/sys/class目录下
- 353 * 就会出现一个名为example的目录。
- 354 */
- 355 example_class = class_create(THIS_MODULE, EXAMPLE_DEVICE_CLASS_NAME);
首先 得先
对应的drive结构体进行初始化,后在调用这个。
- 363 /*
- 364 * 创建设备,device_create函数执行成功后,会生成/dev/example文件
- 365 * 和/sys/class/example/example目录及相关文件。
- 366 * 注意device的类型是struct device,代表一个设备。
- 367 */
- 368 device = device_create(example_class, NULL, dev, "%s", EXAMPLE_DEVICE_FILE_NAME);
- 376 /*
- 377 * 创建属性文件,对应的属性操作函数由dev_attr_val指定。
- 378 */
- 379 retval = device_create_file(device, &dev_attr_val);
这个device——create——file 创建属性文件
- 386 /*
- 387 * 将example_dev保存在设备私有数据区中。
- 388 */
- 389 dev_set_drvdata(device, example_dev);
- 390
- 391 /*
- 392 * 创建proc节点。
- 393 */
- 394 example_create_proc();