linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Luis R. Rodriguez" <lrodriguez@atheros.com>
To: Arnaud Lacombe <lacombar@gmail.com>
Cc: "linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>,
	Luis Rodriguez <Luis.Rodriguez@Atheros.com>
Subject: Re: [PATCH 28/44] compat: avoid using `#include_next' directive in compat headers
Date: Tue, 23 Nov 2010 09:57:51 -0800	[thread overview]
Message-ID: <20101123175751.GC29396@tux> (raw)
In-Reply-To: <AANLkTikQpeudU=e_3DZf=+gaFy4_=xNgyFCdJcsADjNB@mail.gmail.com>

On Mon, Nov 22, 2010 at 07:22:28PM -0800, Luis R. Rodriguez wrote:
> On Mon, Nov 22, 2010 at 6:40 PM, Arnaud Lacombe <lacombar@gmail.com> wrote:
> > Hi,
> >
> > On Mon, Nov 22, 2010 at 9:32 PM, Luis R. Rodriguez
> > <lrodriguez@atheros.com> wrote:
> >> On Mon, Nov 22, 2010 at 6:19 PM, Arnaud Lacombe <lacombar@gmail.com> wrote:
> >>> Hi,
> >>>
> >>> On Mon, Nov 22, 2010 at 1:09 PM, Luis R. Rodriguez
> >>> <lrodriguez@atheros.com> wrote:
> >>>> On Sun, Nov 21, 2010 at 5:36 PM, Arnaud Lacombe <lacombar@gmail.com> wrote:
> >>>>> [...]
> >>>>> The compat headers should be at the end of the include list, so that
> >>>>> the kernel headers get included first, and the compat one will only be
> >>>>> when the kernel does not provide the header. This is the only sane way
> >>>>> to override kernel provided stuff. That said, there is certainly a
> >>>>> use-case I missed.
> >>>>
> >>>> Agreed, but you are missing the purpose of the trick used here.
> >>> certainly :)
> >>>
> >>>> The
> >>>> purpose of the include_next was so that we can name our own
> >>>> <linux/pm_qos_params.h> which is part of compat and these directories
> >>>> *will* get a priority over the kernel's so that way we can avoid
> >>>> ifdef'ing all includes for the same file on the upstream code.
> >>> I'm not sure to get what you mean by "we can avoid ifdef'ing all
> >>> includes for the same file on the upstream code", can you details ?
> >>
> >> Ah, that's right, you don't see or use compat-wireless likely. Ok, so
> >> what we do for backporting the 802.11 subsystem, Bluetooth and some
> >> Ethernet drivers is we take the stock upstream files, stuff them into
> >> a new directory, and then apply a series of patches to them to get the
> >> files to properly compile. The patches address all things that was not
> >> possible to backport through compat.git. Header file changes is one of
> >> the typical things we run into. If a new header file is added to newer
> >> kernels we can play a hack for older kernels and leave the code intact
> >> and introduce our own include/linux/foo.h through compat by prefering
> >> the local path over the kernel's path. If we're on newer kernels
> >> though include_next will go on the search path and find the kernel's
> >> own header file.
> >>
> > Is there any reason you want the compat's include directory to be
> > *before* the kernel include directory ?
> 
> Hm, yeah but I forget why. It'll come to me.

Ah, OK so its because we provide our own mac80211.h, and new cfg80211.h

  Luis

  reply	other threads:[~2010-11-23 17:57 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-11-10  2:19 [PATCH 00/44] Compat Arnaud Lacombe
2010-11-10  2:19 ` [PATCH 01/44] compat/2.6.17: add header's skeleton Arnaud Lacombe
2010-11-10  2:19 ` [PATCH 02/44] compat/2.6.17: add compat macro for `NET_SKB_PAD' Arnaud Lacombe
2010-11-10  2:19 ` [PATCH 03/44] compat/2.6.18: add compat skeleton for the `hwrng' API Arnaud Lacombe
2010-11-10  2:19 ` [PATCH 04/44] compat/2.6.18: add compat inline for netdev_alloc_skb() Arnaud Lacombe
2010-11-10 21:53   ` Luis R. Rodriguez
2010-11-10 21:58     ` Arnaud Lacombe
2010-11-10  2:19 ` [PATCH 05/44] compat/2.6.19: fix comment Arnaud Lacombe
2010-11-10  2:19 ` [PATCH 06/44] compat/2.6.19: add typedef for `bool' and `true'/`false' Arnaud Lacombe
2010-11-10  2:19 ` [PATCH 07/44] compat/2.6.19: rework compat macro to kmem_cache_destroy() Arnaud Lacombe
2010-11-10 21:57   ` Luis R. Rodriguez
2010-11-10  2:19 ` [PATCH 08/44] compat/2.6.20: add header's skeleton Arnaud Lacombe
2010-11-10  2:19 ` [PATCH 09/44] compat/2.6.20: add compat macro for `struct delayed_work' Arnaud Lacombe
2010-11-10  2:19 ` [PATCH 10/44] compat/2.6.23: add compat inline for notifier_{from,to}_errno() Arnaud Lacombe
2010-11-10  2:19 ` [PATCH 11/44] compat/2.6.24: add compat macro for sk_alloc() Arnaud Lacombe
2010-11-10  2:19 ` [PATCH 12/44] compat/2.6.25: don't include <linux/hw_random.h> prior to 2.6.18 Arnaud Lacombe
2010-11-10  2:19 ` [PATCH 13/44] compat/2.6.25: don't include <linux/{io,leds}.h> prior to 2.6.17 Arnaud Lacombe
2010-11-10  2:19 ` [PATCH 14/44] compat/2.6.25: conditionally defines `__WARN' Arnaud Lacombe
2010-11-10  2:19 ` [PATCH 15/44] compat/2.6.25: add compat macro for ip_route_output_key() Arnaud Lacombe
2010-11-10  2:19 ` [PATCH 16/44] compat/2.6.29: don't include <linux/if_link.h> prior to 2.6.19 Arnaud Lacombe
2010-11-10  2:19 ` [PATCH 17/44] compat/2.6.29: const'ify compat inline to dev_get_stats() Arnaud Lacombe
2010-11-10  2:20 ` [PATCH 18/44] compat/2.6.31: gather all the threaded IRQ backport together Arnaud Lacombe
2010-11-10  2:20 ` [PATCH 19/44] compat/2.6.31: fix threaded irq backport wrt. INIT_WORK() macro Arnaud Lacombe
2010-11-10  2:20 ` [PATCH 20/44] compat/2.6.32: fix compat inline to flush_delayed_work() Arnaud Lacombe
2010-11-10  2:20 ` [PATCH 21/44] compat/2.6.32: add compat macros for sysctl helpers Arnaud Lacombe
2010-11-10  2:20 ` [PATCH 22/44] compat/2.6.33: add compat macro to BUILD_BUG_ON_NOT_POWER_OF_2() Arnaud Lacombe
2010-11-10  2:20 ` [PATCH 23/44] compat/2.6.33: fix pcmcia include Arnaud Lacombe
2010-11-10  2:20 ` [PATCH 24/44] compat/2.6.33: don't export prototype for pccard_loop_tuple() Arnaud Lacombe
2010-11-10  2:20 ` [PATCH 25/44] compat/2.6.36: `va_list' needs <stdarg.h> Arnaud Lacombe
2010-11-10  2:20 ` [PATCH 26/44] compat: remove a couple of macro definition protection Arnaud Lacombe
2010-11-10  2:20 ` [PATCH 27/44] compat/2.6.33: remove macro not in mainline Arnaud Lacombe
2010-11-10 22:22   ` Luis R. Rodriguez
2010-11-10  2:20 ` [PATCH 28/44] compat: avoid using `#include_next' directive in compat headers Arnaud Lacombe
2010-11-10 22:23   ` Felix Fietkau
2010-11-10 22:24   ` Luis R. Rodriguez
2010-11-22  1:36     ` Arnaud Lacombe
2010-11-22 18:09       ` Luis R. Rodriguez
2010-11-23  2:19         ` Arnaud Lacombe
2010-11-23  2:32           ` Luis R. Rodriguez
2010-11-23  2:40             ` Arnaud Lacombe
2010-11-23  3:22               ` Luis R. Rodriguez
2010-11-23 17:57                 ` Luis R. Rodriguez [this message]
2010-11-10  2:20 ` [PATCH 29/44] compat/2.6.22: rework `uninitialized_var' and `__maybe_unused' macros Arnaud Lacombe
2010-11-10  2:20 ` [PATCH 30/44] compat/2.6.22: nuke pci_{clear,set}_mwi() Arnaud Lacombe
2010-11-10 22:27   ` Luis R. Rodriguez
2010-11-10  2:20 ` [PATCH 31/44] compat/2.6.22: add compat for couple of TCP accessors Arnaud Lacombe
2010-11-22  1:28   ` Arnaud Lacombe
2010-11-10  2:20 ` [PATCH 32/44] compat/2.6.22: add compat inline for ip_hdrlen() Arnaud Lacombe
2010-11-10  2:20 ` [PATCH 33/44] compat/2.6.22: constify skb_transport_header()'s argument Arnaud Lacombe
2010-11-10  2:20 ` [PATCH 34/44] compat/2.6.24: move 'struct net' to its own compat header Arnaud Lacombe
2010-11-10  2:20 ` [PATCH 35/44] compat/2.6.26: {U,}SHORT_MAX/SHORT_MIN have been deprecated Arnaud Lacombe
2010-11-10  2:20 ` [PATCH 36/44] compat/2.6.26: move unaligned backport to its own header Arnaud Lacombe
2010-11-10 22:30   ` Luis R. Rodriguez
2010-11-10  2:20 ` [PATCH 37/44] compat/2.6.2{7,8}: fix definition for IEEE80211_HT_CAP_DSSSCCK40 Arnaud Lacombe
2010-11-10  2:20 ` [PATCH 38/44] compat/2.6.2{8,9}: fix tracepoint macros Arnaud Lacombe
2010-11-10  2:20 ` [PATCH 39/44] compat/2.6.29: protect headers inclusion Arnaud Lacombe
2010-11-10  2:20 ` [PATCH 40/44] compat/2.6.29: don't waste space around DIV_ROUND_CLOSEST() Arnaud Lacombe
2010-11-10  2:20 ` [PATCH 41/44] compat/2.6.29: fix typos Arnaud Lacombe
2010-11-10  2:20 ` [PATCH 42/44] compat/2.6.{21,30}: make dev_set_uevent_suppress() a no-op for <2.6.21 Arnaud Lacombe
2010-11-10  2:20 ` [PATCH 43/44] compat/2.6.{19,31}: fix threaded irq backport for <2.6.19 Arnaud Lacombe
2010-11-10  2:20 ` [PATCH 44/44] compat/2.6.35: 2.6.35 does not define `SHRT_MIN' Arnaud Lacombe
2010-11-10 22:37 ` [PATCH 00/44] Compat Luis R. Rodriguez

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=20101123175751.GC29396@tux \
    --to=lrodriguez@atheros.com \
    --cc=Luis.Rodriguez@Atheros.com \
    --cc=lacombar@gmail.com \
    --cc=linux-wireless@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).