As part of the cw1200 mainlining effort, I stripped two chunks out of the cw1200 driver that only had relevance relevance for older kernels:
1) Workaround for a hardware SDIO bug (needed for < 3.2)
* Formal SDIO-level quirk mainlined in 3.2-rc
* Absence results in device hang with 512-byte SDIO transfers.
2) Support for kernels < 2.6.36
* Driver utilizes the new workqueue API introduced in 2.6.36, taking
advantage of new semantics/features (WQ_HIGHPRI + WQ_CPU_INTENSIVE)
* With older kernels we need a dedicated kthread
Backports has an implementation of the new workqueue API, but it is
expressed in terms of the old API, which is inadequate for the cw1200's
needs.
Perhaps it's a lack of sufficient sleep, but I haven't quite wrapped my
head around how the bakports stuff is put together; it's radically
different that compat-wireless, which had nice orderly patch
directories. :)
Any advice on how I should proceed here? I want to do this the
RightWay, but I don't know what that is yet -- Should I just
add these two patches to the backports tree under patches/unified-drivers?
(The code chunks in question are wrapped with LINUX_VERSION_CODE tests,
so they function fine on newer kernels)
- Solomon
--
Solomon Peachy pizza at shaftnet dot org
Delray Beach, FL ^^ (email/xmpp) ^^
Quidquid latine dictum sit, altum viditur.
pgpyQA7D1EQNK.pgp
Description: PGP signature
