All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lars Marowsky-Bree <lmb@suse.de>
To: Andreas Gruenbacher <agruen@suse.de>,
	Andreas Dilger <adilger@clusterfs.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: RFC: Testing for kernel features in external modules
Date: Fri, 25 Jun 2004 11:04:13 +0200	[thread overview]
Message-ID: <20040625090413.GM3956@marowsky-bree.de> (raw)
In-Reply-To: <200406251032.22797.agruen@suse.de>

On 2004-06-25T10:32:22,
   Andreas Gruenbacher <agruen@suse.de> said:

> I disagree. I don't think we want to clutter the code with feature
> definitions that have no known users. That doesn't age/scale very
> well. It's easy enough to test for features in the external module.

True enough, but how do you propose to do that? I do understand the pain
of the external module builds who have to try and support the vanilla
kernel plus several vendor trees.

Yes, of course, we could end up with a autoconf like approach for
building them, but ... you know ... that's sort of ugly.

Having a list of defines to document the version of a specific API in
the kernel, and a set of defines pre-fixed with <vendor>_ to document
vendor tree extensions may not be the worst thing:

- if the vendor backports a given feature + API from mainstream, the
  define can be set to match the mainstream version;
- If vendor introduces a vendor API extension, the vendor extension
  would come into play.
- If the vendor API eventually merges with the mainstream API again, the
  vendor define goes away again and rule 1 applies.

This should age pretty well - as soon as an external code tree drops
support for a given version, they can clean out all the #ifdefs they had
based on this.

Now the granularity of the API versioning is interesting - per .h is too
coarse, and per-call would be too fine. But I'm sure someone could come
up with a sane proposal here.


Sincerely,
    Lars Marowsky-Brée <lmb@suse.de>

-- 
High Availability & Clustering	    \ ever tried. ever failed. no matter.
SUSE Labs, Research and Development | try again. fail again. fail better.
SUSE LINUX AG - A Novell company    \ 	-- Samuel Beckett


  reply	other threads:[~2004-06-25  9:06 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-06-24 20:30 RFC: Testing for kernel features in external modules Sam Ravnborg
2004-06-24 20:24 ` Patrick McFarland
2004-06-24 20:49   ` Sam Ravnborg
2004-06-24 20:35 ` Andreas Dilger
2004-06-24 21:07   ` Gerd Knorr
2004-06-24 21:23   ` Sam Ravnborg
2004-06-25  8:32   ` Andreas Gruenbacher
2004-06-25  9:04     ` Lars Marowsky-Bree [this message]
2004-06-26 23:48       ` Adrian Bunk

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=20040625090413.GM3956@marowsky-bree.de \
    --to=lmb@suse.de \
    --cc=adilger@clusterfs.com \
    --cc=agruen@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.