ANN: Linux 2.2 driver compatibility toolkit

From: Jeff Garzik (
Date: Mon Jun 10 2002 - 16:40:18 EST

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

README attached.

                        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.

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

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

This archive was generated by hypermail 2b29 : Sat Jun 15 2002 - 22:00:19 EST