ANN: Linux 2.2 driver compatibility toolkit

Jeff Garzik (jgarzik@mandrakesoft.com)
Mon, 10 Jun 2002 17:40:18 -0400


This is a multi-part message in MIME format.
--------------040305050700050907000705
Content-Type: text/plain; charset=us-ascii; format=flowed
Content-Transfer-Encoding: 7bit

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.

kcompat24 1.0.0 is now available for download at
http://prdownloads.sourceforge.net/gkernel/kcompat24-1.0.0.tar.gz?download

README attached.

--------------040305050700050907000705
Content-Type: text/plain;
name="README.txt"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="README.txt"

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 <jgarzik@mandrakesoft.com>, Maintainer

--------------040305050700050907000705--

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