public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
From: Jeff Garzik <jgarzik@pobox.com>
To: Luben Tuikov <luben_tuikov@adaptec.com>
Cc: Andi Kleen <ak@muc.de>, linux-scsi@vger.kernel.org
Subject: Re: [ANNOUNCE] Adaptec SAS/SATA device driver [17/27]
Date: Thu, 17 Feb 2005 17:03:18 -0500	[thread overview]
Message-ID: <421514A6.3030908@pobox.com> (raw)
In-Reply-To: <421509BC.3090708@adaptec.com>

Luben Tuikov wrote:
> Yes, that's true.  The driver was written to compile for 2.4 as well
> as for 2.6.


Typically what you want to do is target 2.6, and isolate/emulate missing 
functionality in 2.4.x in a compatibility file.  This compatibility 
file/lib would not exist in 2.6 kernel, but you can give it to vendors 
or distros to ship.  An example of this, called "kcompat", can be found 
at http://sourceforge.net/projects/gkernel/

Another approach, which I took with libata, is to design the code such 
that there are minimal differences between 2.4 and 2.6.  Granted, 
though, with the upcoming NCQ and transport class changes, those 
differences increase.

Either way, cross-OS and cross-kernel-version compatibility stuff needs 
to be carefully examined, and as much excised as possible.  After many 
years, we have found that such portions of code often hide bugs.

We _do_ recognize that it's a bit painful for hardware vendors trying to 
support various Linux versions, but if you plan for it up front, the 
pain can be minimized.  I support libata on both 2.4 and 2.6 
concurrently, for example.

Remember, we have all these "weird" requirements because all source code 
merged into the Linux kernel lives on for many years after the 
hardware's end-of-life.  We need to ensure that source code is 
maintain-able even if the hardware vendor abandons a Linux driver.

	Jeff



      reply	other threads:[~2005-02-17 22:03 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-02-17 17:37 [ANNOUNCE] Adaptec SAS/SATA device driver [17/27] Luben Tuikov
2005-02-17 21:08 ` Andi Kleen
2005-02-17 21:16   ` Luben Tuikov
2005-02-17 22:03     ` Jeff Garzik [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=421514A6.3030908@pobox.com \
    --to=jgarzik@pobox.com \
    --cc=ak@muc.de \
    --cc=linux-scsi@vger.kernel.org \
    --cc=luben_tuikov@adaptec.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox