close
1. master.c
#include<linux/kernel.h>
#include<linux/module.h>
#include<linux/init.h>
#ifdef MODDEP
#include "slave.h"
#else
#include<linux/kmod.h>
#endif
int __init master_init(void) {
printk("Master Hello\n");
#ifdef MODDEP
slave_test();
#else
request_module("slave");
#endif
return 0;
}
void __exit master_exit(void) {
printk("Master Bye\n");
}
module_init(master_init);
module_exit(master_exit);
2. slave.c
#include<linux/kernel.h>
#include<linux/module.h>
#include<linux/init.h>
void slave_test(void) {
printk("slave_test()\n");
}
EXPORT_SYMBOL(slave_test);
int __init slave_init(void) {
printk("Slave Hello\n");
return 0;
}
void __exit slave_exit(void) {
printk("Slave Bye\n");
}
module_init(slave_init);
module_exit(slave_exit);
3. slave.h
void slave_test(void);
4.Makefile
obj-m += master.o
obj-m += slave.o
#EXTRA_CFLAGS +=-DMODDEP
文章標籤
全站熱搜