netdev
[Top] [All Lists]

Re: 3c59x.c

To: Alexey Kuznetosv <kuznet@xxxxxxxxxxxxx>
Subject: Re: 3c59x.c
From: Andrew Morton <andrewm@xxxxxxxxxx>
Date: Mon, 27 Mar 2000 14:49:39 +0000
Cc: Donald Becker <becker@xxxxxxxxx>, netdev@xxxxxxxxxxx
References: <Pine.LNX.4.10.10003261100590.783-100000@xxxxxxxxxxxxx> from "Donald Becker" at Mar 27, 2000 12:13:19 AM <E12ZXe0-0004ZI-00@xxxxxxxxxxxxx>
Sender: owner-netdev@xxxxxxxxxxx
Alexey Kuznetosv wrote:
> 
> Donald, I apologize, but I daresay you seems to have short memory.

uh-oh.

Guys, we all know there's a lot of history.  Could we please just
concentrate on the future?  There are drivers to be got going, no?

> ...
> Actually, it would be not so bad, if _you_ prepared this patch,

If Don has the bandwidth for this it would be very good.

One of the great plusses of his influence is that all the drivers have
basically the same structure.  If he could use his experience and
knowledge to prepare a reference driver for the 2.4 framework, others
could follow that.

This is something I have been struggling with recently - many of the
drivers are subtly different wrt their interworking with the higher
layer.

Of course, copying another driver is one way of getting the job done. 
The other is to actually understand what is going on.  AFAIK there is no
description of the softnet<->driver interface which allows driver
writers to gain this understanding.  A simple functional API description
doesn't cut it - we need to know what the dynamic relationships are,
what serialisation guarantees the higher layer makes, etc.

Simply looking at the code isn't a good solution here because:

1: All driver maintainers need to do it and they may make mistakes and

2: Maintainers don't know what behaviour is a permanent part of the
interface and what behaviour is incidental and may be taken away.

Yes, I know of davem's email and Jamal's doc.  They're not enough.  The
lack of this architectural description will adversely affect Linux's
overall quality.  Is doing so, in fact.

WTFM :-)


-- 
-akpm-

<Prev in Thread] Current Thread [Next in Thread>