OK. Here we go: make -C /usr/src/linux/ SUBDIRS=/home/desktop/Desktop/AgereSoftModem-2.1.40SuSE9.1-20070630 modules make[1]: Entrando no diretório `/usr/src/linux-headers-2.6.20-16-generic' CC [M] /home/desktop/Desktop/AgereSoftModem-2.1.40SuSE9.1-20070630/agrsoftmodem.o /home/desktop/Desktop/AgereSoftModem-2.1.40SuSE9.1-20070630/agrsoftmodem.c: In function ‘SetAgrModemInterface’: /home/desktop/Desktop/AgereSoftModem-2.1.40SuSE9.1-20070630/agrsoftmodem.c:106: warning: implicit declaration of function ‘inter_module_get_request’ /home/desktop/Desktop/AgereSoftModem-2.1.40SuSE9.1-20070630/agrsoftmodem.c:106: warning: assignment makes pointer from integer without a cast /home/desktop/Desktop/AgereSoftModem-2.1.40SuSE9.1-20070630/agrsoftmodem.c:109: warning: implicit declaration of function ‘inter_module_put’ /home/desktop/Desktop/AgereSoftModem-2.1.40SuSE9.1-20070630/agrsoftmodem.c: In function ‘modem_init_module’: /home/desktop/Desktop/AgereSoftModem-2.1.40SuSE9.1-20070630/agrsoftmodem.c:139: warning: implicit declaration of function ‘inter_module_register’ /home/desktop/Desktop/AgereSoftModem-2.1.40SuSE9.1-20070630/agrsoftmodem.c: In function ‘modem_cleanup_module’: /home/desktop/Desktop/AgereSoftModem-2.1.40SuSE9.1-20070630/agrsoftmodem.c:151: warning: implicit declaration of function ‘inter_module_unregister’ /home/desktop/Desktop/AgereSoftModem-2.1.40SuSE9.1-20070630/agrsoftmodem.c: In function ‘x_request_irq’: /home/desktop/Desktop/AgereSoftModem-2.1.40SuSE9.1-20070630/agrsoftmodem.c:226: warning: passing argument 2 of ‘request_irq’ from incompatible pointer type /home/desktop/Desktop/AgereSoftModem-2.1.40SuSE9.1-20070630/agrsoftmodem.c:370:53: error: macro "INIT_WORK" passed 3 arguments, but takes just 2 /home/desktop/Desktop/AgereSoftModem-2.1.40SuSE9.1-20070630/agrsoftmodem.c: In function ‘x_task_queue_init’: /home/desktop/Desktop/AgereSoftModem-2.1.40SuSE9.1-20070630/agrsoftmodem.c:370: error: ‘INIT_WORK’ undeclared (first use in this function) /home/desktop/Desktop/AgereSoftModem-2.1.40SuSE9.1-20070630/agrsoftmodem.c:370: error: (Each undeclared identifier is reported only once /home/desktop/Desktop/AgereSoftModem-2.1.40SuSE9.1-20070630/agrsoftmodem.c:370: error: for each function it appears in.) /home/desktop/Desktop/AgereSoftModem-2.1.40SuSE9.1-20070630/agrsoftmodem.c:369: warning: unused variable ‘x_tqueue’ make[2]: ** [/home/desktop/Desktop/AgereSoftModem-2.1.40SuSE9.1-20070630/agrsoftmodem.o] Erro 1 make[1]: ** [_module_/home/desktop/Desktop/AgereSoftModem-2.1.40SuSE9.1-20070630] Erro 2 make[1]: Saindo do diretório `/usr/src/linux-headers-2.6.20-16-generic' make: ** [module] Erro 2 > -- -----------> Now with the updated driver (agrsm): CC [M] /home/desktop/Desktop/agrsm/agrsoftmodem.o /home/desktop/Desktop/agrsm/agrsoftmodem.c: In function ‘SetAgrModemInterface’: /home/desktop/Desktop/agrsm/agrsoftmodem.c:103: warning: implicit declaration of function ‘inter_module_get_request’ /home/desktop/Desktop/agrsm/agrsoftmodem.c:103: warning: assignment makes pointer from integer without a cast /home/desktop/Desktop/agrsm/agrsoftmodem.c:106: warning: implicit declaration of function ‘inter_module_put’ /home/desktop/Desktop/agrsm/agrsoftmodem.c: In function ‘modem_init_module’: /home/desktop/Desktop/agrsm/agrsoftmodem.c:136: warning: implicit declaration of function ‘inter_module_register’ /home/desktop/Desktop/agrsm/agrsoftmodem.c: In function ‘modem_cleanup_module’: /home/desktop/Desktop/agrsm/agrsoftmodem.c:148: warning: implicit declaration of function ‘inter_module_unregister’ /home/desktop/Desktop/agrsm/agrsoftmodem.c: In function ‘x_request_irq’: /home/desktop/Desktop/agrsm/agrsoftmodem.c:223: warning: passing argument 2 of ‘request_irq’ from incompatible pointer type /home/desktop/Desktop/agrsm/agrsoftmodem.c:367:53: error: macro "INIT_WORK" passed 3 arguments, but takes just 2 /home/desktop/Desktop/agrsm/agrsoftmodem.c: In function ‘x_task_queue_init’: /home/desktop/Desktop/agrsm/agrsoftmodem.c:367: error: ‘INIT_WORK’ undeclared (first use in this function) /home/desktop/Desktop/agrsm/agrsoftmodem.c:367: error: (Each undeclared identifier is reported only once /home/desktop/Desktop/agrsm/agrsoftmodem.c:367: error: for each function it appears in.) /home/desktop/Desktop/agrsm/agrsoftmodem.c:366: warning: unused variable ‘x_tqueue’ make[2]: ** [/home/desktop/Desktop/agrsm/agrsoftmodem.o] Erro 1 make[1]: ** [_module_/home/desktop/Desktop/agrsm] Erro 2 make[1]: Saindo do diretório `/usr/src/linux-headers-2.6.20-16-generic' make: ** [module] Erro 2 > -- The errors seems to be the same. What 'comment out' means here? I didn't get it. Here's my serial.h: <--------------------- /* * include/asm-i386/serial.h */ /* * This assumes you have a 1.8432 MHz clock for your UART. * * It'd be nice if someone built a serial card with a 24.576 MHz * clock, since the 16550A is capable of handling a top speed of 1.5 * megabits/second; but this requires the faster clock. */ #define BASE_BAUD ( 1843200 / 16 ) /* 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 */ ----------------> Thx. Stan