2002-06-10 21:43:21

by Jeff Garzik

[permalink] [raw]
Subject: ANN: Linux 2.2 driver compatibility toolkit


kcompat24 toolkit version 1.0.0

This toolkit is designed to enable vendors and other Linux device
driver programmers to target their device drivers at the Linux 2.4.x
driver API, while still supporting the older Linux 2.2.x kernels.

This toolkit may be used in two ways:
1) Compile kcompat24.[ch] as a separate kernel module. #include
kcompat24.h in your code. Use this when building more than one 2.4.x
driver in a 2.2.x kernel.

2) Define the cpp symbol KCOMPAT_INCLUDED in your source code, and
#include kcompat24.c in your code. All code, including kcompat24 code,
is compiled into a single ".o" kernel module.

The target audience is programmers, as there is practically no
documentation for this package. The intention of kcompat24 is to
be a drop-in compatibility module that requires no code changes to a
standard Linux 2.4.x driver. (note: that is the goal. some changes
in 2.4.x APIs occasionally require compatibility macros added to the
driver source)

Note, this code has been developed and tested mainly with PCI network
drivers. Thus, the PCI and network APIs are best represented.
It may require some additions in order to get other kernel driver
APIs to work seamlessly.

If you modify this code, please send additions back to the author
(in "diff -u" patch form) so that they may be incorporated in the
next release.

Credits:
Jes Sorensen -- bug fixes, update to more recent kernel APIs
(work sponsored by ServGate)
Ted T'so -- much compatibility code from serial.c
Donald Becker -- a little bit of compat code, I think
Jeff Garzik <[email protected]>, Maintainer


Attachments:
README.txt (1.57 kB)

2002-06-11 17:07:58

by Ion Badulescu

[permalink] [raw]
Subject: Re: ANN: Linux 2.2 driver compatibility toolkit

On Mon, 10 Jun 2002 17:40:18 -0400, Jeff Garzik <[email protected]> wrote:
>
> Don't load your drivers up with 2.2.x compatibility junk. Write a 2.4.x
> driver... and use this toolkit to make it work under 2.2.

Now, if you could get Alan to include it in 2.2.next, that would be even
better. I could probably drop 90% of the cruft I have in starfire-kcomp22.h...

Ion

--
It is better to keep your mouth shut and be thought a fool,
than to open it and remove all doubt.

2002-06-12 22:50:48

by Jeff Garzik

[permalink] [raw]
Subject: Re: ANN: Linux 2.2 driver compatibility toolkit

Ion Badulescu wrote:
> On Mon, 10 Jun 2002 17:40:18 -0400, Jeff Garzik <[email protected]> wrote:
>
>>Don't load your drivers up with 2.2.x compatibility junk. Write a 2.4.x
>>driver... and use this toolkit to make it work under 2.2.
>
>
> Now, if you could get Alan to include it in 2.2.next, that would be even
> better. I could probably drop 90% of the cruft I have in starfire-kcomp22.h...



Absolutely.... I haven't mentioned this to Alan specifically, but it is
indeed a direction I would like to go. A good step would be getting
your help to make sure that starfire works with kcompat24 (perhaps with
minor patching) :) If we have tested patches ready for 2.2 that will
go a long way towards winning Alan's acceptance, I'm sure.

Another idea I just had: a good way to introduce kcompat24 to 2.2 is to
use it to add a few 2.4.x-only net drivers to 2.2. That way nothing
changes [initially], only additions are made.

Jeff