Re: Adding Serial Drivers to Linux Kernels

Tigran Aivazian (tigran@sco.COM)
Wed, 8 Sep 1999 13:11:01 +0100 (BST)


Hello,

You said:

> As an example of what we want, when running "make config" and requesting
> Serial Card support, the Chase card should come up as an option and
> work, irrespective of the kernel version.

Have a look at drivers/char/Config.in file. In it you will find a clause:

if [ "$CONFIG_SERIAL_NONSTANDARD" = "y" ]; then
tristate 'Comtrol Rocketport support' CONFIG_ROCKETPORT
tristate 'Digiboard Intelligent Async Support' CONFIG_DIGIEPCA
.....

since your boards presumably do not have the standard UART, they should be
added within CONFIG_SERIAL_NONSTANDARD.

Then, edit drivers/char/Makefile and do something like this:

ifeq ($(CONFIG_CHASE_BOARDXXX),y)
O_OBJS += chase_boardxxx.o
else
ifeq ($(CONFIG_CHASE_BOARDXXX),m)
M_OBJS += chase_boardxxx.o
endif
endif

(obviously I invented the names CONFIG_CHASE_BOARDXXX and chase_boardxxx
which you should replace with the real ones.)

Then, edit Documentation/Configure.help and add some text to serve as help
for the corresponding CONFIG_CHASE_... configuration options.

Then, put your source code in drivers/char and everything should work.

What do you mean by "irrespective of the kernel version"? If you enable
kernel module versioning and your driver is compiled as a module it should
work (or fail correctly) independent of the kernel version but I would
advise against relying on that. Since your driver source will be present
in drivers/char (under GPL, of course) there is no problem with
recompiling it.

Hope this helps,
------
Tigran A. Aivazian | http://www.sco.com
Escalations Research Group | tel: +44-(0)1923-813796
Santa Cruz Operation Ltd | http://www.ocston.org/~tigran

-
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/