Date: Thu, 14 Dec 2000 04:22:42 -0800 From: Mike Smith <msmith@freebsd.org> To: Nicolas Souchu <nsouch@alcove.fr> Cc: hackers@FreeBSD.ORG Subject: Re: Partial start on pci + serial/parallel cards Message-ID: <200012141222.eBECMg901853@mass.osd.bsdi.com> In-Reply-To: Your message of "Thu, 14 Dec 2000 12:57:39 %2B0100." <20001214125739.C16207@wiliam.alcove-int>
next in thread | previous in thread | raw e-mail | index | archive | help
> > : This is something I don't understand. If ppc_puc is a PCI driver why don't
> > : you put in the pci directory and let ppc_isa in isa one?
> >
> > Because in FreeBSD you put all the files for a driver in one
> > directory. In NetBSD you'd do things the way you are talking about.
> > sio and ppc break this rule right now.
>
> I'm sure that this subject has been discussion many times on the lists.
> I'm also sure that there's a good reason for this, otherwise it wouldn't be
> your choice (you is the team). But as it is the opposite of my personal
> feeling, could you give me one reason for this in few words?
The desire was to put all of the files related to a given driver in one
place, so that when you're working on the code, you have it all in front
of you, as opposed to having to chase it down all over the tree. This
matches well with the functional separation in FreeBSD; the interface
between drivers and busses is well defined, wheras the interfaces between
bus attachments and driver cores is left to the driver developer.
Thus the things that are closely tied together at the software level (ie.
driver bus attachments and their cores) are kept physically close
together.
> Is it for maintainance purpose, so you can remove the whole driver if
> not anymore supported for example? NetBSD is architecture independent
> oriented, so I guess their choice is also good from there point of view...
There are good arguments for doing things each way. One valid criticism
of our approach is that if you change the interface between a bus and
drivers, you have to go and track down all of the code which interfaces
with the bus. We help work around this through the convention of naming
all driver bus attachments as <drivername>_<busname>.c, so a simple
'locate _<busname>.c' will find them all.
Regards,
--
... every activity meets with opposition, everyone who acts has his
rivals and unfortunately opponents also. But not because people want
to be opponents, rather because the tasks and relationships force
people to take different points of view. [Dr. Fritz Todt]
V I C T O R Y N O T V E N G E A N C E
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200012141222.eBECMg901853>
