//本驱动包含模块的介绍 参数 导出符号
#include <linux/init.h>
#include <linux/module.h>
static int num = 2;
static char *name = "hello_world";
static int hello_init(void)
{
printk("this is the first driver programmer\n");
printk("num = %d, name =%s\n ", num, name);
return 0;
}
static void hello_exit(void)
{
printk("EXIT , googbye!\n");
}
module_init(hello_init);
module_exit(hello_exit);
module_param(num, int, 0664);
module_param(name, charp, 0774);
MODULE_AUTHOR("ZHANLI");
//MODULE_LICENSE("Dual BSD/GPL");
MODULE_LICENSE("GPL");
MODULE_DESCRIPTION("this is the fisrt driver code");
MODULE_ALIAS("HELLO_ALISA");
module_param的第三个参数 的权限 other 不能为写
加载模块 insmod XX.ko
卸载模块 rmmod XX
导出符号的函数为EXPORT_SYMBOL(函数名);
使用了EXPORT_SYMBOL(); 表示其他驱动模块可以调用本驱动模块的这个函数。
使用moduleinfo命令可以获得模块的信息
例如 moduleinfo XX.ko,可以获得模块的作者,文件名,描述 license 别名 及其他。