驱动模块的头文件

1、所有模块都包含这两个头文件:

  #include <linux/module.h>  #include <linux/init.h>

  module.h中包含可装载模块需要的大量的符号和定义,init.h是指定初始化和清除函数。

2、显示的标记内核模块许可证。

  MODULE_LICENSE("GPL")  如果一个模块没有显示的标记上述内核可识别的许可证,则内核会被认为这种模块会”污染“内核,从而引发用户问题。

3、#include <linux/sched.h>

  包含驱动程序使用的大部分内核API的定义,包括睡眠函数以及各种变量声明。

4、struct task_struct *current;当前进程。

5、#include <linux/version.h>  包含内核版本信息的头文件。

6、#include <linux/kernel.h>

7、字符设备头文件:<linux/cdev.h>

原文地址:https://www.cnblogs.com/hxu7373/p/3491309.html