On Mon, Sep 04, 2006 at 10:35:09AM +0200, Johannes Berg wrote: > wireless.c and driver WE support in its current form must die.
I doubt you'll have anyone argue this point; not even JT. I doubt he cares how WE is ultimately implemented, only that things continue to "just work". The problems you've just enumerated with WE aren't actually the fault of WE per se, but rather an internal kernel API problem -- Wireless drivers currently handle the WE ioctls directly, and thus all have their own quirks. (Or as you put it, a userspace API dictated internal APIs. It may have been GoodEnough(tm) then, but it isn't any longer, eh?) While a new userspace API will eventually open up more possibilities, the real benefit of d80211/nl80211 is its middle/thunk layer, simplifying driver development considerably through its shared code (and 802.11 stack), and generally enforcing a separation of userspace from device drivers and the current mess that's a result. But then you already explained all of this (and I completely agree with your enumeration of the benefits) I won't shed any tears to see WE (the userspace API) superceded (as long as its replacement is genuinely better rather than simply different) and I'll dance for joy when the internal wireless APIs get replaced and wireless drivers no longer directly interact with userspace -- but keep in mind that these are two independent scenarios. Treat WE as a userspace API, not an internal API. From d80211/nl80211's perspective, the code necessary to support the latest WE-21 proposal is trivial[1], and in the mean time, WE-21 fixes several real, current problems that affect users *now*, necessitating a solution *now*. Meanwhile. I look at this and can't but help think about ALSA. How long did it take to get ALSA merged into the kernel, despite it being that much MoreBetter(tm) than the in-kernel OSSFree drivers/APIs, each with their own userspace interactions and thus behaivoral quirks and bugs? And how many in-kernel OSS drivers still remain because of problems with (or missing) ALSA drivers? (And how many quirks still remain with the alsa-oss emulation?) - Solomon [1] Generic WE support is 2K/37K [mid-layer] lines in one of the codebases I maintain, and that includes full compatibility with WE-8 through WE-21. -- Solomon Peachy pizza at shaftnet dot org Melbourne, FL ^^ (mail/jabber/gtalk) ^^ Quidquid latine dictum sit, altum viditur. ICQ: 1318344
pgpySCvkwL6HX.pgp
Description: PGP signature