1、入口
解释:资源的申请
// 申请资源的入口函数
static int __init hello_init(void)// 存储类型 数据类型 指定存放段 函数名(形参)
{
// 此为最基本的入口函数,无任何其他功能
return 0;
}
module_init(hello_init);// 入口:申请资源 本质:回调自己写的函数
// static:限定作用域,延长生命周期
2、出口
解释:资源的释放
// 释放资源的出口函数(顺序与申请资源相反)
static void __exit hello_exit(void)
{
}
module_exit(hello_exit);// 出口:释放资源
3、许可证
解释:GPL(如果我们是自己写一个模块,是需要开源的,因为Linux系统是开源的,所以需要写许可协议)
MODULE_LICENSE("GPL"); // 许可证:公共许可协议(开源协议)
ps:此篇为最基本的驱动模块三要素。