Main issue was current kernels do not define SERIAL_PORT_DFNS for i386, so that had to be added to serial26.c (conditionally). The second issue I had was $(PWD) isn't set right when calling make -C agrsm (outside of the agrsm directory, as happens when in uclibc's buildroot). The attached patch addresses both. Thanks. -Brad
diff -ruN agrsm-20070804.orig/Makefile agrsm-20070804/Makefile --- agrsm-20070804.orig/Makefile 2007-08-03 23:06:45.000000000 -0400 +++ agrsm-20070804/Makefile 2007-08-30 15:07:14.000000000 -0400 @@ -22,8 +22,10 @@ obj-m += agrmodem.o agrserial.o +MSRC_DIR = $(shell pwd) + module: - make -C $(KERNEL_DIR) SUBDIRS=$(PWD) modules + make -C $(KERNEL_DIR) SUBDIRS=$(MSRC_DIR) modules $(obj)/agrsm_core.o: $(obj)/agrmodemlib.o objcopy --weaken-symbol=LXHardwareInfoCreate \ diff -ruN agrsm-20070804.orig/serial26.c agrsm-20070804/serial26.c --- agrsm-20070804.orig/serial26.c 2007-08-03 23:11:05.000000000 -0400 +++ agrsm-20070804/serial26.c 2007-08-30 15:07:20.000000000 -0400 @@ -190,6 +190,24 @@ #include <asm/serial.h> +#ifndef SERIAL_PORT_DFNS +/* Standard COM flags (except for COM4, because of the 8514 problem) */ +#ifdef CONFIG_SERIAL_DETECT_IRQ +#define STD_COM_FLAGS (ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST | ASYNC_AUTO_IRQ) +#define STD_COM4_FLAGS (ASYNC_BOOT_AUTOCONF | ASYNC_AUTO_IRQ) +#else +#define STD_COM_FLAGS (ASYNC_BOOT_AUTOCONF | ASYNC_SKIP_TEST) +#define STD_COM4_FLAGS ASYNC_BOOT_AUTOCONF +#endif + +#define SERIAL_PORT_DFNS \ + /* UART CLK PORT IRQ FLAGS */ \ + { 0, BASE_BAUD, 0x3F8, 4, STD_COM_FLAGS }, /* ttyS0 */ \ + { 0, BASE_BAUD, 0x2F8, 3, STD_COM_FLAGS }, /* ttyS1 */ \ + { 0, BASE_BAUD, 0x3E8, 4, STD_COM_FLAGS }, /* ttyS2 */ \ + { 0, BASE_BAUD, 0x2E8, 3, STD_COM4_FLAGS }, /* ttyS3 */ +#endif /* SERIAL_PORT_DFNS */ + static struct old_serial_port old_serial_port[] = { SERIAL_PORT_DFNS /* defined in asm/serial.h */ };