From: Svetoslav S. <ga...@st...> - 2002-06-30 22:17:17
|
> On Sun, Jun 30, 2002 at 11:34:12PM +0200, Svetoslav Slavtchev wrote: > > ---- snip snap ---- > > > how did you compiled keyboard interface, > > handle_scancode and kbd_ledfunc are still in drivers/input/keybdev.c, > but they > > are removed from drivers/char/keyboard.c where they used to be > exported, > > -->> unresolved symbols in keybdev.o -->> the kernel doesn't support > keyboards > > > > any ideas > > You mentioned you run ruby code on 2.4? maybe there's your problem with > unresolved symbols.. > > i applied ruby on top of vanilla 2.5.24 and the first problem i got was > keyboard/built_in.o..there was no such file, apparently Makefiles don't > match.. > So i linked it to keybdev.o? (which was wrong) and got till atkbd.o > module. > The kernel image compiled/linked fine tho, but i didn't try it :) i've tried 2.5 as well, but with the same result, have you compiled keybdev in the kernel, or as modules, if as modules , what said depmod -a System.map at make modules_install the both functions are in keybdev.c and in normal 2.5 they are exported as symbols from drivers/char/keyboard.c but are missing in ruby in ruby they are not defined [root@svetljo v2.5]# cat ruby/linux/drivers/input/keybdev.c | grep -n3 handle_scancode 104- if (keycode > 255 || !mac_keycodes[keycode]) 105- return -1; 106- 107: handle_scancode((mac_keycodes[keycode] & 0x7f), down); 108- return 0; 109- } 110-#endif /* CONFIG_MAC_ADBKEYCODES || CONFIG_ADB_KEYBOARD */ -- 113- return -1; 114- 115- if (keycode == KEY_PAUSE) { 116: handle_scancode(0xe1, 1); 117: handle_scancode(0x1d, down); 118: handle_scancode(0x45, down); 119- return 0; 120- } 121- 122- if (keycode == KEY_SYSRQ && x86_sysrq_alt) { 123: handle_scancode(0x54, down); 124- 125- return 0; 126- } -- 133-#endif 134- 135- if (x86_keycodes[keycode] & 0x100) 136: handle_scancode(0xe0, 1); 137- 138: handle_scancode(x86_keycodes[keycode] & 0x7f, down); 139- 140- if (keycode == KEY_SYSRQ) { 141: handle_scancode(0xe0, 1); 142: handle_scancode(0x37, down); 143- } 144- 145- if (keycode == KEY_LEFTALT || keycode == KEY_RIGHTALT) [root@svetljo v2.5]#cat ruby/linux/drivers/input/keybdev.c | grep -n3 kbd_ledfunc 249-static int __init keybdev_init(void) 250-{ 251- input_register_handler(&keybdev_handler); 252: kbd_ledfunc = keybdev_ledfunc; 253- return 0; 254-} 255- 256-static void __exit keybdev_exit(void) 257-{ 258: kbd_ledfunc = NULL; 259- input_unregister_handler(&keybdev_handler); 260-} 261- [root@svetljo v2.5]# |