如何用2.6.30.4编译模块驱动?
同样的驱动源码在2.6.25.8可以编译过去,为什么用2.6.30.4出现问题,
请问有什么解决办法?
[root@localhost evdo]# make CC=/opt/EmbedSky/4.3.3/bin/arm-linux-gcc-4.3.3 LD=/opt/EmbedSky/4.3.3/bin/arm-linux-ld TARGET=xscale-be-elf ARCH=arm V=1
make -C /opt/EmbedSky/linux-2.6.30.4/ M=/opt/EmbedSky/evdo modules
make[1]: Entering directory `/opt/EmbedSky/linux-2.6.30.4'
test -e include/linux/autoconf.h -a -e include/config/auto.conf || ( \
echo; \
echo " ERROR: Kernel configuration is invalid."; \
echo " include/linux/autoconf.h or include/config/auto.conf are missing."; \
echo " Run 'make oldconfig && make prepare' on kernel src to fix it."; \
echo; \
/bin/false)
mkdir -p /opt/EmbedSky/evdo/.tmp_versions ; rm -f /opt/EmbedSky/evdo/.tmp_versions/*
WARNING: Symbol version dump /opt/EmbedSky/linux-2.6.30.4/Module.symvers
is missing; modules will have no dependencies and modversions.
make -f scripts/Makefile.build obj=/opt/EmbedSky/evdo
/opt/EmbedSky/4.3.3/bin/arm-linux-gcc-4.3.3 -Wp,-MD,/opt/EmbedSky/evdo/.usb-serial.o.d -nostdinc -isystem /opt/EmbedSky/4.3.3/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/include -Iinclude -I/opt/EmbedSky/linux-2.6.30.4/arch/arm/include -include include/linux/autoconf.h -D__KERNEL__ -mlittle-endian -Iarch/arm/mach-s3c2410/include -Iarch/arm/mach-s3c2400/include -Iarch/arm/mach-s3c2412/include -Iarch/arm/mach-s3c2440/include -Iarch/arm/mach-s3c2442/include -Iarch/arm/mach-s3c2443/include -Iarch/arm/plat-s3c24xx/include -Iarch/arm/plat-s3c/include -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -fno-delete-null-pointer-checks -O2 -marm -fno-omit-frame-pointer -mapcs -mno-sched-prolog -mabi=aapcs-linux -mno-thumb-interwork -D__LINUX_ARM_ARCH__=4 -march=armv4t -mtune=arm9tdmi -msoft-float -Uarm -fno-stack-protector -fno-omit-frame-pointer -fno-optimize-sibling-calls -Wdeclaration-after-statement -Wno-pointer-sign -fno-strict-overflow -DMODULE -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(usb_serial)" -D"KBUILD_MODNAME=KBUILD_STR(ztemt)" -c -o /opt/EmbedSky/evdo/usb-serial.o /opt/EmbedSky/evdo/usb-serial.c
/opt/EmbedSky/evdo/usb-serial.c: In function 'destroy_serial':
/opt/EmbedSky/evdo/usb-serial.c:159: error: 'struct usb_serial_driver' has no member named 'shutdown'
/opt/EmbedSky/evdo/usb-serial.c:165: error: 'struct usb_serial_port' has no member named 'open_count'
/opt/EmbedSky/evdo/usb-serial.c: In function 'serial_open':
/opt/EmbedSky/evdo/usb-serial.c:246: error: 'struct usb_serial_port' has no member named 'open_count'
/opt/EmbedSky/evdo/usb-serial.c:251: error: 'struct usb_serial_port' has no member named 'tty'
/opt/EmbedSky/evdo/usb-serial.c:253: error: 'struct usb_serial_port' has no member named 'open_count'
/opt/EmbedSky/evdo/usb-serial.c:265: warning: passing argument 1 of 'serial->type->open' from incompatible pointer type
/opt/EmbedSky/evdo/usb-serial.c:265: warning: passing argument 2 of 'serial->type->open' from incompatible pointer type
/opt/EmbedSky/evdo/usb-serial.c:265: error: too few arguments to function 'serial->type->open'
/opt/EmbedSky/evdo/usb-serial.c:276: error: 'struct usb_serial_port' has no member named 'open_count'
/opt/EmbedSky/evdo/usb-serial.c:278: error: 'struct usb_serial_port' has no member named 'tty'
/opt/EmbedSky/evdo/usb-serial.c: In function 'serial_close':
/opt/EmbedSky/evdo/usb-serial.c:357: error: 'struct usb_serial_port' has no member named 'open_count'
/opt/EmbedSky/evdo/usb-serial.c:371: error: 'struct usb_serial_port' has no member named 'open_count'
/opt/EmbedSky/evdo/usb-serial.c:372: error: 'struct usb_serial_port' has no member named 'open_count'
/opt/EmbedSky/evdo/usb-serial.c:375: warning: passing argument 1 of 'port->serial/evdo/usb-serial.c:413: warning: passing argument 3 of 'port->serial->type->write' makes pointer from integer without a cast
/opt/EmbedSky/evdo/usb-serial.c:413: error: too few arguments to function 'port->serial->type->write'
/opt/EmbedSky/evdo/usb-serial.c: In function 'serial_write_room':
/opt/EmbedSky/evdo/usb-serial.c:429: error: 'struct usb_serial_port' has no member named 'open_count'
/opt/EmbedSky/evdo/usb-serial.c:435: warning: passing argument 1 of 'port->serial->type->write_room' from incompatible pointer type
/opt/EmbedSky/evdo/usb-serial.c: In function 'serial_chars_in_buffer':
/opt/EmbedSky/evdo/usb-serial.c:451: error: 'struct usb_serial_port' has no member named 'open_count'
/opt/EmbedSky/evdo/usb-serial.c:457: warning: passing argument 1 of 'port->serial->type->chars_in_buffer' from incompatible pointer type
/opt/EmbedSky/evdo/usb-serial.c: In function 'serial_throttle':
/opt/EmbedSky/evdo/usb-serial.c:472: error: 'struct usb_serial_port' has no member named 'open_count'
/opt/EmbedSky/evdo/usb-serial.c:479: warning: passing argument 1 of 'port->serial->type->throttle' from incompatible pointer type
/opt/EmbedSky/evdo/usb-serial.c: In function 'serial_unthrottle':
/opt/EmbedSky/evdo/usb-serial.c:491: error: 'struct usb_serial_port' has no member named 'open_count'
/opt/EmbedSky/evdo/usb-serial.c:498: warning: passing argument 1 of 'port->serial->type->unthrottle' from incompatible pointer type
/opt/EmbedSky/evdo/usb-serial.c: In function 'serial_ioctl':
/opt/EmbedSky/evdo/usb-serial.c:511: error: 'struct usb_serial_port' has no member named 'open_count'
/opt/EmbedSky/evdo/usb-serial.c:518: warning: passing argument 1 of 'port->serial->type->ioctl' from incompatible pointer type
/opt/EmbedSky/evdo/usb-serial.c: In function 'serial_set_termios':
/opt/EmbedSky/evdo/usb-serial.c:535: error: 'struct usb_serial_port' has no member named 'open_count'
/opt/EmbedSky/evdo/usb-serial.c:542: warning: passing argument 1 of 'port->serial->type->set_termios' from incompatible pointer type
/opt/EmbedSky/evdo/usb-serial.c:542: warning: passing argument 2 of 'port->serial->type->set_termios' from incompatible pointer type
/opt/EmbedSky/evdo/usb-serial.c:542: error: too few arguments to function 'port->serial->type->set_termios'
/opt/EmbedSky/evdo/usb-serial.c: In function 'serial_break':
/opt/EmbedSky/evdo/usb-serial.c:554: error: 'struct usb_serial_port' has no member named 'open_count'
/opt/EmbedSky/evdo/usb-serial.c:561: warning: passing argument 1 of 'port->serial->type->break_ctl' from incompatible pointer type
/opt/EmbedSky/evdo/usb-serial.c: In function 'serial_tiocmget':
/opt/EmbedSky/evdo/usb-serial.c:629: error: 'struct usb_serial_port' has no member named 'open_count'
/opt/EmbedSky/evdo/usb-serial.c:635: warning: passing argument 1 of 'port->serial->type->tiocmget' from incompatible pointer type
/opt/EmbedSky/evdo/usb-serial.c: In function 'serial_tiocmset':
/opt/EmbedSky/evdo/usb-serial.c:651: error: 'struct usb_serial_port' has no member named 'open_count'
/opt/EmbedSky/evdo/usb-serial.c:657: warning: passing argument 1 of 'port->serial->type->tiocmset' from incompatible pointer type
/opt/EmbedSky/evdo/usb-serial.c: In function 'usb_serial_port_work':
/opt/EmbedSky/evdo/usb-serial.c:697: error: 'struct usb_serial_port' has no member named 'tty'
/opt/EmbedSky/evdo/usb-serial.c: In function 'port_release':
/opt/EmbedSky/evdo/usb-serial.c:709: error: 'struct device' has no member named 'bus_id'
/opt/EmbedSky/evdo/usb-serial.c: In function 'usb_serial_probe':
/opt/EmbedSky/evdo/usb-serial.c:1182: error: 'struct device' has no member named 'bus_id'
/opt/EmbedSky/evdo/usb-serial.c:1182: error: 'struct device' has no member named 'bus_id'
/opt/EmbedSky/evdo/usb-serial.c:1183: error: 'struct device' has no member named 'bus_id'
/opt/EmbedSky/evdo/usb-serial.c: In function 'usb_serial_disconnect':
/opt/EmbedSky/evdo/usb-serial.c:1257: error: 'struct usb_serial_port' has no member named 'tty'
/opt/EmbedSky/evdo/usb-serial.c:1258: error: 'struct usb_serial_port' has no member named 'tty'
/opt/EmbedSky/evdo/usb-serial.c: At top level:
/opt/EmbedSky/evdo/usb-serial.c:1281: warning: initialization from incompatible pointer type
/opt/EmbedSky/evdo/usb-serial.c:1284: warning: initialization from incompatible pointer type
/opt/EmbedSky/evdo/usb-serial.c:1286: error: unknown field 'read_proc' specified in initializer
/opt/EmbedSky/evdo/usb-serial.c: In function 'usb_serial_init':
/opt/EmbedSky/evdo/usb-serial.c:1352: error: implicit declaration of function 'info'
/opt/EmbedSky/evdo/usb-serial.c: In function 'fixup_generic':
/opt/EmbedSky/evdo/usb-serial.c:1406: error: 'struct usb_serial_driver' has no member named 'shutdown'
/opt/EmbedSky/evdo/usb-serial.c:1406: error: 'struct usb_serial_driver' has no member named 'shutdown'
/opt/EmbedSky/evdo/usb-serial.c:1406: error: 'usb_serial_generic_shutdown' undeclared (first use in this function)
/opt/EmbedSky/evdo/usb-serial.c:1406: error: (Each undeclared identifier is reported only once
/opt/EmbedSky/evdo/usb-serial.c:1406: error: for each function it appears in.)
make[2]: *** [/opt/EmbedSky/evdo/usb-serial.o] 错误 1
make[1]: *** [_module_/opt/EmbedSky/evdo] 错误 2
make[1]: Leaving directory `/opt/EmbedSky/linux-2.6.30.4'
make: *** [modules] 错误 2