[Q] Extra keyboard as module

Tom Bjorkholm (tomb@tomb.mydata.se)
Thu, 21 Mar 1996 18:32:45 +0100 (MET)


I have written a device driver for an application keyboard.
I want to convert this device driver to a loadable module,
but I haven't found a way to insert the characters from the
module into the tty input queue.

With the driver compiled into the kernel, the following
code inserts escape sequences into the input queue of the
current virtual console.

---- code for non-module ----

/* insert escape sequence esc_seq into the tty input queue */
/* based on keyboard and console drivers */

static void tty_insert_esc(unsigned char *esc_seq, int esc_seq_length)
{
int j;
struct tty_struct *tty = console_driver.table[fg_console];
for(j=0; j < esc_seq_length; j++) {
tty_insert_flip_char(tty, esc_seq[j], 0);
}
wake_up(&keypress_wait);
tty_schedule_flip(tty);
}

---- end of code for non-module ----

When this is compiles as a module I have the following undefined symbols
during insmod: fg_console, keypress_wait, console_driver.

Is there an alternative way to do this in a module?
(I haven't found any exported symbols with promising names).

If this cannot be done in a module, then I suggest that the above function
should be added to the console/keyboard code and exported as a symbol
to modules.

Thank you in advance,

Tom

-- 
---------------------------------------------------------------
Tom Bjorkholm           MYDATA automation AB  
tel: +46 8 629 09 00    Karlsbodavagen 39     
fax: +46 8 629 09 09    S-161 70 Bromma, Sweden