[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <AANLkTi=QdfdhVcK2tddsaLYzatJEr6KRRoU5pMqKZwte@mail.gmail.com>
Date: Sun, 21 Nov 2010 08:32:05 +0800
From: Adrian Chadd <adrian@...ebsd.org>
To: "Luis R. Rodriguez" <lrodriguez@...eros.com>
Cc: Greg KH <greg@...ah.com>, linux-kernel@...r.kernel.org,
linux-wireless <linux-wireless@...r.kernel.org>,
David Miller <davem@...emloft.net>,
"John W. Linville" <linville@...driver.com>,
Stephen Hemminger <shemminger@...tta.com>,
"Perez-Gonzalez, Inaky" <inaky.perez-gonzalez@...el.com>,
Charles Marker <Charles.Marker@...eros.com>,
Jouni Malinen <Jouni.Malinen@...eros.com>,
Kevin Hayes <kevin@...eros.com>,
Zhifeng Cai <zhifeng.cai@...eros.com>,
Don Breslin <Don.Breslin@...eros.com>,
Doug Dahlby <Doug.Dahlby@...eros.com>,
Julia Lawall <julia@...u.dk>
Subject: Re: Challenges with doing hardware bring up with Linux first
On 19 November 2010 00:53, Luis R. Rodriguez <lrodriguez@...eros.com> wrote:
>> Also, please review the past multi-os driver initiatives that have
>> sprung up over the years (about 1 every 10 years it seems). Please
>> learn from the past as to why those have failed every single time, and
>> why we don't want to even try to do that again.
>
> :-) thanks, just testing waters to see what's possible and what
> direction to focus more on.
Being involved atm in the "re-multi-OS'ing" of ath code (ie, merging
some ath9k bits and pieces back into FreeBSD's HAL), I really
appreciate how the bulk of the hardware-fiddling bits are OS agnostic.
There's some messiness surrounding the 802.11 stack flags (which the
FreeBSD HAL "indirects" via HAL flags, hiding away some of the
net80211 internals) but a lot of the net80211 stuff is still tightly
integrated with the HAL. There's some platform specific stuff in
hardware twiddling functions (eg "am I a 40mhz channel? Am i a 2ghz
channel") but so far it's been straightforward to translate the
macros.
Now that I've just begun testing (what seems like!) functioning 11n
TX/RX in my HAL, I plan on starting to merge in more ath9k related
driver code in. I'll provide some more feedback to the ath9k-devel
list as I do this. I'm hoping that large chunks of the hardware
related code (eg AR9002 calibration) can be thrown in with very minor
changes.
But so far, I have this to say:
* decoupling the hardware twiddling stuff from OS/802.11 stack
specific stuff is helpful;
* some of the base types are different (eg integer type layout, bool,
etc), but that's relatively straightforward to merge over;
* keeping the bits that need locking in "higher level" files (ie,
separate from hardware twiddling as much as possible) is also helpful.
* trying to make the actual interface related code (eg "if_ath.c" in
FreeBSD; it's been broken out in ath9k) platform agnostic is likely
very difficult and a path to the parent posters "fail."
Adrian
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists