Re: [Q]: Linux and real device drivers

Brian Swetland (swetland@be.com)
Mon, 27 Sep 1999 04:32:07 -0700


[David Weinehall <tao@acc.umu.se>]
> > I hope not! That's downright embarassing.
>
> Sure, but it's more embarassing to get into the situation Microsoft has
> with an API that never is obsoleted, because someone might still run old
> drivers...

There's a world of difference between NEVER changing the driver API
(dragging the ball and chain of indefinate backward compatibility) and
avoiding needlessly breaking things :-)

One *could* perhaps instead of matching modules against the kernel using
the kernel version, match them using an api_version that's updated when
the driver APIs change.

Of course this goes back to the whole issue of driver docs -- if the
APIs driver writers use aren't documented it's somewhat hard to determine
when they change.

Writing drivers is a lot easier when you can glance over the docs and
see what functionality the kernel provides. Of course the nice thing
about open source is if you're curious about how or why these things
work you can dig into the sources and see how they're implemented,
rather than trusting the evil closed-source OS vendor to tell the
truth and/or get it right. If I can get up-to-date docs, I can write
drivers a lot faster without having to examine a bunch of other drivers
and kernel source to try to put together a picture of How It All Works(tm).

I'm a bit perplexed at the "It should be hard to install new drivers so
that the users will learn stuff" and "It should be hard to write drivers
so that developers will learn stuff" attitudes. That the kernel sources
are there for anyone to look at, learn from, and contribute too is very
nice. To force everyone to wade through 'em just because "they should"
seems to be a bit much. I'm not even going to touch the "Documentation
will lead to poor code" argument -- that's just insane :-)

All, of course, in my humble opinion,

Brian

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/