aboutsummaryrefslogtreecommitdiffstats
path: root/README
diff options
context:
space:
mode:
authorHauke Mehrtens2010-05-14 13:20:16 -0500
committerLuis R. Rodriguez2010-05-14 15:17:48 -0500
commit43d9513236c570400b6fa4a3fd4bb4dc12d23ba5 (patch)
treeb849ec0b2716324571af3c5ba624a64bdf5f632c /README
parentbb8b900c9b38d9e7e07511d330ff371269df1944 (diff)
downloadcompat-wireless-43d9513236c570400b6fa4a3fd4bb4dc12d23ba5.tar.gz
compat-wireless-43d9513236c570400b6fa4a3fd4bb4dc12d23ba5.tar.xz
compat-wireless-43d9513236c570400b6fa4a3fd4bb4dc12d23ba5.zip
compat-wireless: Update Readme to reflect changes
* A description of the differences of the stable and the normal version of compat wireless was added. * Some outdated parts are now up to date * replaceing the developing section with version in the wiki These changes are needed because some people are tiring to build their own compat-wireless version based on wireless-testing and some people choose compat-wireless stable based on their currently running kernel version. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Diffstat (limited to 'README')
-rw-r--r--README181
1 files changed, 147 insertions, 34 deletions
diff --git a/README b/README
index 88b16b4..62986e8 100644
--- a/README
+++ b/README
@@ -8,11 +8,6 @@ It is technically possible to support kernels < 2.6.25 but more
8work is required for that. 8work is required for that.
9It also provides Linux bluetooth subsystem enhancements for kernels 2.6.27 and above. 9It also provides Linux bluetooth subsystem enhancements for kernels 2.6.27 and above.
10 10
11If you'd like to keep the wireless-testing git repository local as well,
12please read out git-guide which explains how to achieve this:
13
14http://wireless.kernel.org/en/developers/git-guide
15
16With a local git repository you can update the compatibility package yourself. 11With a local git repository you can update the compatibility package yourself.
17For more information on how to do this please refer the Developers section below. 12For more information on how to do this please refer the Developers section below.
18 13
@@ -30,13 +25,30 @@ Subscribe to the wiki page to get updates on the documentation.
30Where to get the latest 25Where to get the latest
31----------------------- 26-----------------------
32 27
33This package lets you build your own 'latest', all you need is a local git repository 28This package lets you build your own 'latest', all you need is a local git
34checkout of wireless-testing.git. However since not many users are expected to keep 29repository. This way is documented in the Developers section of this document.
35a local git repository of wireless-testing we provide daily snapshots of this 30However since not many users are expected to keep a local git repository we
36package + the wireless subsystem code. You can find the latest snapshot at: 31provide daily snapshots of this package + the wireless and bluetooth subsystem
32code. You can find the latest snapshot at:
37 33
34linux-next.git version:
38http://wireless.kernel.org/en/users/Download 35http://wireless.kernel.org/en/users/Download
39 36
37stable version:
38http://wireless.kernel.org/en/users/Download/stable/
39
40Versions
41--------
42
43There are two different versions of this package available.
44 * Version based on latest linux-next.git tree named compat-wireless-YYYY-MM-DD.tar.bz2
45 * Version based on linux-2.6-stable.git tree named compat-wireless-2.6.CC.DD.tar.bz2
46
47Both versions should work for every kernel > 2.6.25. The differences are the
48code they are containing. The version based on linux-next.git contains the
49wireless and bluetooth subsystem out of linux-next.git and the stable version
50the wireless subsystem out of the corresponding linux stable version.
51
40Selecting your driver 52Selecting your driver
41--------------------- 53---------------------
42 54
@@ -72,7 +84,7 @@ Load:
72Reboot unless you know what you are doing. 84Reboot unless you know what you are doing.
73 85
74 86
75Bluetooth modules can be seperately compiled and installed using below commands 87Bluetooth modules can be separately compiled and installed using below commands
76 88
77Build: 89Build:
78 make bt 90 make bt
@@ -130,7 +142,7 @@ Non-wireless drivers
130-------------------- 142--------------------
131 143
132To support b43 ssb is also provided, and since ssb is also provided 144To support b43 ssb is also provided, and since ssb is also provided
133we provide b44 (the ethernet driverl). 145we provide b44 (the ethernet driver).
134 146
135The new rfkill drivers also provided and backported. 147The new rfkill drivers also provided and backported.
136 148
@@ -156,7 +168,7 @@ Why?
156 168
157For users or developers stuck on older kernels that want to help test or 169For users or developers stuck on older kernels that want to help test or
158patch wireless work. Additionally if you're on a recent kernel this lets 170patch wireless work. Additionally if you're on a recent kernel this lets
159you get the latest and greatest wireless-testing git work without much effort. 171you get the latest and greatest linux-next git work without much effort.
160This may mean new drivers for some users. Last but not least we hope this 172This may mean new drivers for some users. Last but not least we hope this
161will encourage vendors and developers to post patches upstream first 173will encourage vendors and developers to post patches upstream first
162rather than forking or maintaining their own mac80211 releases with 174rather than forking or maintaining their own mac80211 releases with
@@ -197,7 +209,7 @@ Here you see the list of changes to all wireless drivers, the wireless core and
197 209
198http://git.kernel.org/?p=linux/kernel/git/linville/wireless-testing.git;a=log; 210http://git.kernel.org/?p=linux/kernel/git/linville/wireless-testing.git;a=log;
199 211
200This views all the changes on the 'everything' branch of wireless-testing.git. 212This views all the changes on wireless-testing.git.
201 213
202License 214License
203------- 215-------
@@ -211,38 +223,139 @@ Developers
211---------- 223----------
212 224
213Compatibility work goes into compat/compat.[ch]. If using those files do 225Compatibility work goes into compat/compat.[ch]. If using those files do
214not suffice additional actual code changes can go into compat/compat.diff. 226not suffice additional actual code changes can go into patches/*.patch.
215 227
216If you have your own wireless-testing git tree, before running admin-update.sh 228An extended and more up to date version can be found at:
217be sure to set your GIT_TREE variable. For example:
218 229
219export GIT_TREE=/home/mcgrof/wireless-testing/ 230http://wireless.kernel.org/en/users/Download/hacking
220 231
221scripts/admin-clean.sh - Cleans the compat-wireless-2.6 tree 232This section deals with development details of compat-wireless and the other
222scripts/admin-update.sh - Updates compat-wireless-2.6 with your git tree 233trees it uses. If you want to make your own compat-wireless tarballs, or if you
223scripts/admin-refresh.sh - Does the above two 234see something busted with compat-wireless or just want to add something new or
235an enhancement this is the guide for you.
224 236
225TODO 237Git trees you will need
226---- 238-----------------------
227 239
228* Compatibilty work for 2.6.18 --> 2.6.21 240compat-wireless backports both the bluetooth and 802.11 subsystems down to older
241kernels. To be able to synchronize backporting the latest and greatest the
242linux-next.git tree is used as its main source for kernel updates. General Linux
243kernel compatibility is addressed through a general kernel compatibility tree,
244compat.git. compat-wireless then has its own tree for specific wireless
245compatibility. You will then need to checkout three trees to start hacking on
246compat-wireless:
229 247
230Patches for compatibility work 248git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
231------------------------------ 249git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/compat.git
250git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/compat-wireless-2.6.git
232 251
233Please send patches against: 252Linux next
253----------
234 254
235git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/compat-wireless-2.6.git 255The linux-next.git tree brings all subsystems being worked on for the next
256kernel release into one tree. So if the current rc kernel is 2.6.33-rc5, this
257means linux-next will have what people today are working on for the 2.6.34
258kernel release.
259
260compat.git
261----------
262
263The compat git tree is a general kernel compatibility layer which can be shared
264amongst different compatibility projects, or drivers. compat-wireless is just
265one of the kernel compatibility projects using compat.git. compat.git builds a
266general compatibility module, compat, and any additional modules to let you get
267new general kernel updates from future kernels on your old kernels.
236 268
237To: Luis R. Rodriguez <mcgrof@winlab.rutgers.edu> 269compat.git modules
238CC: linux-wireless@vger.kernel.org 270------------------
239Subject: [PATCH] compat-2.6: backport foo
240 271
241Patches for drivers 272compat.git provides a few modules and headers to help with general kernel
273compatibility.
274
275compat
276------
277
278Provides all exported symbols implemented in each respective kernel
279compat-2.6.xy.c files. Upon module load it just initializes the Linux kernel's
280''power management Quality Of Service'' (aka '''pm-qos''') Interface interface
281added as of the 2.6.24 kernel. No other things are initialized, the rest of the
282compat module just acts as a library of exported symbols.
283
284compat_firmware_class
285---------------------
286
287Another module which compat.git provides is a backport of the firmware_class
288module which got updated recently newer with a new request_firmware_nowait()
289to allow better asynchronous firmware uploading. This was added as of the 2.6.33
290kernel. The firmware_class module has been backported into a new module called
291compat_firmware_class. A separate module has been defined instead of a direct
292replacement for firmware_class since your system may have old drivers which use
293the old request_firmware_nowait() and would bust if they used the new
294request_firmware_nowait(). The compat_firmware_class module registers its own
295sysfs subsystem and as such also gets udev events sent through a separate
296subsystem. Because of this a new udev rules file is required and provided.
297
298compat-wireless.git
242------------------- 299-------------------
243 300
244If you'd like to send patches for a driver though you can send it using our 301Anything that is not general kernel compatibility but instead specific to 802.11
245Submitting Patches guideline: 302or bluetooth goes into compat-wireless.git. After you've cloned all three trees,
303linux-next.git, compat.git and compat-wireless.git you need to change into the
304compat-wireless directory and tell compat-wireless where you linux-next and
305compat.git trees are. You do this with environment variables GIT_TREE and
306GIT_COMPAT_TREE. You can do for example:
307
308export GIT_TREE=/home/user/wireless-testing/
309export GIT_COMPAT_TREE=/home/users/compat.git/
310
311Then you can update your local sources based on these linux-next.git and
312compat.git trees:
313
314scripts/admin-clean.sh - Cleans the compat-wireless-2.6 tree
315scripts/admin-update.sh - Updates compat-wireless-2.6 with your git tree
316scripts/admin-refresh.sh - Does the above two
317
318Adding new drivers
319------------------
320
321Most new drivers are enabled for compilation. If see a driver you would like
322enabled try it into the mix, test them and if they work enable them and send
323the respective patches.
324
325Sending patches
326---------------
327
328Remember there are three trees. linux-next itself is a conglomeration of kernel
329git trees itself, so patches for linux-next.git should be sent to each
330respective subsystem for which the patches are targeted for. So for example for
331802.11 you will want to send them to John Linville and cc linux-wireless, for
332further guidelines on this see the Submitting Patches guidelines for 802.11.
333http://wireless.kernel.org/en/developers/Documentation/SubmittingPatches
334As another example, for bluetooth you will want to send them to Marcel
335Holtmann and cc the linux-bluetooth mailing list. If your patch touches on
336others areas of the kernel refer to the MAINTAINERS file on the kernel.
337
338For compat.git and compat-wireless.git please send patches against to:
246 339
247http://wireless.kernel.org/en/developers/SubmittingPatches 340To: Luis R. Rodriguez <mcgrof@kernel.org>
341CC: linux-wireless@vger.kernel.org, linux-bluetooth@vger.kernel.org
342Subject: [PATCH] compat-2.6: fix foo
343
344For patches for compat.git please use a subject like the following:
345
346Subject: [PATCH] compat: fix foo
347
348For compat-wireless.git please use a subject like the following:
349
350Subject: [PATCH] compat-wireless: fix foo
351
352Patches are preferred sent with a clear commit log entry, if unfamiliar with
353how to send patches please refer to
354http://wireless.kernel.org/en/developers/Documentation/git-guide.
355
356
357TODO
358-----
359 * Dialog (make menuconfig) option for this package
360 * Compatibility work for 2.6.18 --> 2.6.25
248 361