Recompiling 8xx uart driver as loadable module
From: nam ho <hidden>
Date: 2006-12-08 15:10:41
Greeting all, I am developing my application on TQM8xxL with linux kernel 2.6.11.7 and tosatti.patch file. It can run on TQM8xxL. But I want to recompile uart driver as loadable module, there are problem while linking object file belows: _ I configured kernel to supporting loadable module: # # Loadable module support # CONFIG_MODULES=y CONFIG_MODULE_UNLOAD=y CONFIG_MODULE_FORCE_UNLOAD=y CONFIG_OBSOLETE_MODPARM=y CONFIG_MODVERSIONS=y # CONFIG_MODULE_SRCVERSION_ALL is not set CONFIG_KMOD=y _ And configured uart driver as loadable module: # # Character devices # # CONFIG_VT is not set # CONFIG_SERIAL_NONSTANDARD is not set # # Serial drivers # # CONFIG_SERIAL_8250 is not set # # Non-8250 serial port support # CONFIG_SERIAL_CORE=m CONFIG_SERIAL_CPM=m CONFIG_UNIX98_PTYS=y # CONFIG_LEGACY_PTYS is not set _ And after compiling kernel image successful, I compiled modules, these following warning appeared: [root@main linux-2.6.11.7_src]# make ARCH=ppc CROSS_COMPILE=ppc_8xx- modules CHK include/linux/version.h make[1]: `arch/ppc/kernel/asm-offsets.s' is up to date. CC [M] drivers/serial/serial_core.o CC [M] drivers/serial/cpm_uart/cpm_uart_core.o drivers/serial/cpm_uart/cpm_uart_core.c:732: warning: `cpm_uart_init_smc' defined but not used drivers/serial/cpm_uart/cpm_uart_core.c:671: warning: `cpm_uart_init_scc' defined but not used CC [M] drivers/serial/cpm_uart/cpm_uart_cpm1.o LD [M] drivers/serial/cpm_uart/cpm_uart.o Building modules, stage 2. MODPOST *** Warning: "cpm_setbrg" [drivers/serial/cpm_uart/cpm_uart.ko] undefined! *** Warning: "m8xx_cpm_hostalloc" [drivers/serial/cpm_uart/cpm_uart.ko] undefined! *** Warning: "cpmp" [drivers/serial/cpm_uart/cpm_uart.ko] undefined! CC drivers/serial/cpm_uart/cpm_uart.mod.o LD [M] drivers/serial/cpm_uart/cpm_uart.ko CC drivers/serial/serial_core.mod.o LD [M] drivers/serial/serial_core.ko [root@main linux-2.6.11.7_src]# _ I don't know why It can't linking with the symbols cpm_setbrg, m8xx_cpm_hostalloc, cpmp. Although these were implemented on commproc.c and has been compiled as commproc.o in arch/ppc/8xx_io/ folder of kernel source file. Anyone can help me to fix it. Thanks, Nam Ho. ____________________________________________________________________________________ Want to start your own business? Learn how on Yahoo! Small Business. http://smallbusiness.yahoo.com/r-index