Subject: Re: Nee help configuring new device driver into conf.c for NetBSD 1.0
To: Brian Buhrow <buhrow@lothlorien.nfbcal.org>
From: Ken Hornstein <kenh@cmf.nrl.navy.mil>
List: tech-kern
Date: 04/10/1996 11:43:51
>speech synthesizer for NetBSD/FreeBSD.  I'm rcurrently working on a NetBSD
>1.0 i386 box, in the interests of time, and it was what was conveniently
>available to me, and I'm having a little trouble in the conf.c file.  I've
>configured the device driver as a character special device, and am using
>dev_tty_init to make conf.c aware of the device driver's existence.  I have
>a line of the form:
>
>	cdev_tty_init(NDT,dt),		/*43: Dectalk PC synthesizer*/
>
>in the conf.c file, and I have included 
>#include "dt.h"

You forgot something along the lines of:

cdev_decl(dt);

Before the devsw[] array.  This is why you're getting undefined functions;
they aren't prototyped.

>What files do I need to change when I want to incorporate a new device
>driver into the kernel?  Are there any particular sources of documentation
>on how to do this?  Grepping through the entire source tree for instances
>of comopen(), the model I've been using, yielded nothing obvious about what
>was different about that driver that made it work.

Unfortunately, it's not very well documented.  You've got nearly all of it,
though - once you get those functions prototyped, things should compile.

>	Any suggestions, helpful tips, etc. would be extremely useful.

One tip - comopen() may not be the best model.  Since the com driver hooks
into the tty subsystem, it will do things that you would likely not be
interested in doing (ie - you probably aren't going to need a tty discipline
on a speech synthesizer).  You might want to try looking at the source for
the lpt driver, as it's much simpler.

Feel free to bug me privately if you have more questions.

--Ken