4,436
社区成员
发帖
与我相关
我的任务
分享
// Module A (mod_a.c)
#include<linux/init.h>
#include<linux/module.h>
#include<linux/kernel.h>
static int func1(void)
{
printk("In Func: %s...\n",__func__);
return 0;
}
// Export symbol func1
EXPORT_SYMBOL(func1);
static int __init hello_init(void)
{
printk("Module 1,Init!\n");
return 0;
}
static void __exit hello_exit(void)
{
printk("Module 1,Exit!\n");
}
module_init(hello_init);
module_exit(hello_exit);
// Module B (mod_b.c)
#include<linux/init.h>
#include<linux/kernel.h>
#include<linux/module.h>
static int func2(void)
{
extern int func1(void);
func1();
printk("In Func: %s...\n",__func__);
return 0;
}
static int __init hello_init(void)
{
printk("Module 2,Init!\n");
func2();
return 0;
}
static void __exit hello_exit(void)
{
printk("Module 2,Exit!\n");
}
module_init(hello_init);
module_exit(hello_exit);
#ifeq ($(KERNELRELEASE),)
#export MMZ_SRC_BASE=$(PWD)
#endif
include $(PWD)/../Makefile.param
obj-m := -DEXPORT_SYMTAB
obj-m := eeprom.o
eeprom-y += eeprom_drv.o
EXTRA_CFLAGS += -D$(HI_FPGA) -D$(CHIP_ARCH) -DEXPORT_SYMTAB
EXTRA_CFLAGS += -I$(PWD)/../gpio-i2c
default:
@make -C $(LINUXROOT) M=$(PWD) modules
clean:
@make -C $(LINUXROOT) M=$(PWD) clean
include $(PWD)/../Makefile.param
KBUILD_EXTRA_SYMBOLS = $(PWD)/../gpio-i2c/Module.symvers
obj-m := m240.o
m240-y += mdin240.o audio.o de.o fifo.o hdmicec.o hdmitx_i2c.o hdmitx_timer.o\
mdincec.o txvidp.o vmode.o crc16.o edid.o\
hdcp.o hdmitx.o hdmitx_isr.o infofrm.o mddc.o\
mdinapi.o sha.o vmtables.o
EXTRA_CFLAGS += -D$(HI_FPGA)
EXTRA_CFLAGS += -I$(PWD)/../gpio-i2c
default:
@make -C $(LINUXROOT) M=$(PWD) modules
clean:
@make -C $(LINUXROOT) M=$(PWD) clean