Serial Device Driver Entry Hooks

From: Keith James Robertson (kjrobert@abio.com)
Date: Thu Jan 20 2000 - 19:03:59 EST


Greetings,

I am developing a device driver for a serial device. However, I am
confused by stacking of the lower level serial drivers and how to
interface with the appropriate one and have been unable to find much
documentation on serial drivers. A solution to all of my questions
would likely be solved by someone pointing me to a kernel space serial
device driver that requires looking at and changing values in the serial
UART control registers (ie device supports multiple speeds, pnp).

That said... here are my questions.

1) There appears to be two 'drivers':

a) linux/drivers/char/generic_serial.[ch]
b) linux/drivers/char/serial.c and its associated serial.h in
linux/include/asm...

Which one of these drivers is appropriate to 'link' too?

2) With the exception of register_device and unregister_device in
serial.c neither of these files export and functions that I can find in
/proc/ksyms. How can I attach to the lower device driver to send and
recieve through the serial port, change UART settings, etc.
register_serial and unregister_serial appear to be only for configuring
new serial ports at run time (ie PCMCIA)

3) Is this the right way to even go about the driver? It doesn't seem
logical to modify the UART registers directly as I would assume there is
some kernel space routines to do this for you.

Thanks

Keith Robertson
University of Waterloo
Canada

P.S. I am not currently subscribed to the linux-kernel mailing list.
Please reply to kjrobert@abio.com . I am using 2.2.x although I am
willing and interested to hear about solutions in 2.3.39 and up too.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun Jan 23 2000 - 21:00:24 EST