Date: Mon, 08 Dec 1997 17:49:06 -0800 From: Julian Elischer <julian@whistle.com> To: Karl Pielorz <kpielorz@tdx.co.uk> Cc: hackers@freebsd.org Subject: Re: Writing Device drivers for 2.2.X etc' Message-ID: <348CA392.61133CF4@whistle.com> References: <348C8223.4FF22185@tdx.co.uk>
next in thread | previous in thread | raw e-mail | index | archive | help
Karl Pielorz wrote:
>
> Hi,
>
> I'm trying to write a device driver for an ISA signal processor card - I've
> made sure there isn't one around at the moment (why re-invent the wheel? <g>)
> - and I could do with some help...
>
> I downloaded some shell scripts, which at the time looked like a good idea -
> they create a driver framework to work from (with all the code stubs written
> for probing, creating, attaching, doing IOCTL's etc.) - but the code refers to
> manually editing 'conf.c'... My 2.2.2-Release system doesn't have a conf.c ;-)
you can ignore that
that comment should be removed.. the driver you have (if you got a new
one) should add itself into the array with the cdevsw_add() call.
>
> The templates also don't seem to mention major / minor device numbers either -
> unless they 'were' taken care of in conf.c at some point in the past?
major is in CDEV_MAJOR and the request to
cdevsw_add(&dev, &${1}_cdevsw, NULL);
does this.
it's up to each routine (open, read, write, etc.)
to interpret the minor number.
the minor is available to each of these routines as:
minor(dev)
and in the sample I made an assumption that there
was a 1:1 mapping between minor numbers and the unit number of the
device
If this is not true you should change the macro:
#define UNIT(dev) minor(dev) /* assume one minor number per unit */
>
> Can anyone point the way to some up to date (i.e. 2.2.2+ etc.) info on the net
> about writing device drivers for BSD - i.e. up to date templates etc.? for
> nice simple ISA cards, or just code stubs? - Or are there any drivers in BSD
> which are nice and simple for using as templates allready?
the templates ARE up to date (pretty much) but the comment at the end is
wrong.
>
> Thanks in advance,
send me mail ifthe templates don't help.
the latest is:
http://www.freebsd.org/cgi/cvsweb.cgi/src/share/examples/drivers/make_device_driver.sh?rev=1.1>
(excuse the line-wrap)
> Karl Pielorz
> (mailto:kpielorz@tdx.co.uk)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?348CA392.61133CF4>
