Hi, I tried to compile it but at first only lirc_sir.c compiled. The drivers/char/lirc/Makefile contains obj-$(LIRC_NNN) := lirc_nnn.o lines. These override any previously defined obj-y or obj-m defines. These lines should be obj-$(LIRC_NNN) += lirc_nnn.o instead. lirc_i2c.c does not compile: drivers/char/lirc/lirc_i2c.c: In function `get_key_asus': drivers/char/lirc/lirc_i2c.c:106: structure has no member named `name' drivers/char/lirc/lirc_i2c.c:117: structure has no member named `name' drivers/char/lirc/lirc_i2c.c: In function `set_use_inc': drivers/char/lirc/lirc_i2c.c:251: structure has no member named `inc_use' drivers/char/lirc/lirc_i2c.c:252: structure has no member named `inc_use' drivers/char/lirc/lirc_i2c.c:254: warning: `MOD_INC_USE_COUNT' is deprecated (declared at include/linux/module.h:481) drivers/char/lirc/lirc_i2c.c: In function `set_use_dec': drivers/char/lirc/lirc_i2c.c:262: structure has no member named `dec_use' drivers/char/lirc/lirc_i2c.c:263: structure has no member named `dec_use' drivers/char/lirc/lirc_i2c.c:264: warning: `MOD_DEC_USE_COUNT' is deprecated (declared at include/linux/module.h:493) drivers/char/lirc/lirc_i2c.c: At top level: drivers/char/lirc/lirc_i2c.c:292: unknown field `name' specified in initializer drivers/char/lirc/lirc_i2c.c:292: warning: initialization makes integer from pointer without a cast drivers/char/lirc/lirc_i2c.c: In function `ir_attach': drivers/char/lirc/lirc_i2c.c:311: structure has no member named `data' drivers/char/lirc/lirc_i2c.c:320: structure has no member named `name' drivers/char/lirc/lirc_i2c.c:325: structure has no member named `name' drivers/char/lirc/lirc_i2c.c:331: structure has no member named `name' drivers/char/lirc/lirc_i2c.c:336: structure has no member named `name' drivers/char/lirc/lirc_i2c.c:342: structure has no member named `name' drivers/char/lirc/lirc_i2c.c:353: structure has no member named `name' drivers/char/lirc/lirc_i2c.c:358: structure has no member named `inc_use' drivers/char/lirc/lirc_i2c.c:359: structure has no member named `inc_use' drivers/char/lirc/lirc_i2c.c: In function `ir_detach': drivers/char/lirc/lirc_i2c.c:366: structure has no member named `data' drivers/char/lirc/lirc_i2c.c:369: structure has no member named `dec_use' drivers/char/lirc/lirc_i2c.c:370: structure has no member named `dec_use' drivers/char/lirc/lirc_i2c.c: In function `ir_probe': drivers/char/lirc/lirc_i2c.c:400: structure has no member named `name' drivers/char/lirc/lirc_i2c.c:444: structure has no member named `name' drivers/char/lirc/lirc_i2c.c: At top level: drivers/char/lirc/lirc_i2c.c:459: parse error before "lirc_i2c_init" drivers/char/lirc/lirc_i2c.c:460: warning: return type defaults to `int' drivers/char/lirc/lirc_i2c.c:467: parse error before "lirc_i2c_exit" drivers/char/lirc/lirc_i2c.c:468: warning: return type defaults to `int' drivers/char/lirc/lirc_i2c.c:477: warning: type defaults to `int' in declaration of `module_init' drivers/char/lirc/lirc_i2c.c:477: warning: parameter names (without types) in function declaration drivers/char/lirc/lirc_i2c.c:477: warning: data definition has no type or storage class drivers/char/lirc/lirc_i2c.c:478: warning: type defaults to `int' in declaration of `module_exit' drivers/char/lirc/lirc_i2c.c:478: warning: parameter names (without types) in function declaration drivers/char/lirc/lirc_i2c.c:478: warning: data definition has no type or storage class make[3]: *** [drivers/char/lirc/lirc_i2c.o] Error 1 make[2]: *** [drivers/char/lirc] Error 2 make[1]: *** [drivers/char] Error 2 make: *** [drivers] Error 2 And don't use MOD_[DEC|INC]_USE_COUNT on late 2.5.x, they are deprecated. Use try_module_get()/module_put() instead. I tried to fix them, the patch is attached. Here are all the warnings after my fixes: -- Best regards, Zoltán Böszörményi --------------------- What did Hussein say about his knife? One in Bush worth two in the hand.