70,023
社区成员




#include<linux/init.h>//init&exit相关宏
#include<linux/kernel.h>
#include<linux/module.h>//所有模块都需要的头文件
#include<linux/errno.h>
MODULE_LICENSE("GPL");/*声明*/
MODULE_AUTHOR("Jack Chen");/*作者*/
MODULE_DESCRIPTION("hello module,simple module");//描述
MODULE_VERSION("1.0");//版本号
//MODULE_DEVICE_TABLE("usb");//支持的设备
static int initvalue = 0;
static char *initname = NULL;
module_param(initvalue,int, S_IRUGO);
module_param(initname,charp,S_IRUGO);
/*模块初始化函数*/
static int __init hello_init(void)
{
printk(KERN_ALERT"initvalue = %d initname = %s\n",initvalue,initname);
printk(KERN_ALERT "(init)Hello,World!\n");
try_module_get(THIS_MODULE);
return 0;
}
/*模块退出清除函数*/
static void __exit hello_exit(void)
{
printk(KERN_ALERT "(exit)Bye,World!\n");
module_put(THIS_MODULE);
}
int add_intergar(int a,int b)
{
return a+b;
}
module_init(hello_init);/*模块初始化*/
module_exit(hello_exit);/*模块退出*/