All of lore.kernel.org
 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 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.