Skip site navigation (1)Skip section navigation (2)
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 wh=
y 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=
=2E..

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,
-- =

=2E.. 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>