Next-generation rt2x00 drivers and the wireless-testing tree

Live forum: http://rt2x00.serialmonkey.com/viewtopic.php?t=5199

markryde

09-02-2009 07:10:52

Hello,

In the download page it says

"While the mainline kernel has the driver tree, it is not the latest version.
The development tree, for several reasons, can only be pulled along with the full
kernel sources using the git content tracker."

see http//rt2x00.serialmonkey.com/wiki/index.php/Downloads

I just wonder what are these reasons ? there is the kernel wireless-testing tree,
for the latest, bleeding-edge development of wireless drivers and stack.
I believe that most vendors (if not all) use this tree (wireless-testing) for
developing their drivers. For example, drivers/net/wireless/iwlwifi branch for Intel wireless drivers.
What is the ratio of holding a git separate tree and not using the wireless-testing tree? Is there
some reason for it? I will appreaciate if somebody can write 2-3 sentences
about it.

Regards,
Mark

IvD

09-02-2009 10:07:42

linux-2.6.git contains all patches for the next full kernel release, when the first rcX is released of a particular kernel tree, the merge window is closed for the subsequent kernel version. (Which means that subsequent version will be behind the latest rt2x00 development version).

wireless-testing.git and rt2x00.git are closely matched version-wise. To be precise rt2x00.git only has a few patches more then wireless-testing.git. The reason why I keep rt2x00.git open is to have very experimental and incomplete code in there. For example, when I was working on HW crypto, rt2x00.git contained the HW crypto patches + fixes for those patches until all code was complete and working on my testsystem. At the moment rt2x00.git contains the incomplete rt2800pci and rt2800usb drivers. Since they are not complete and not working I don't send then to wireless-testing. When patches hit wireless-testing they appear very rapidly in Fedora development kernels, which in turn increases the number of users which complain that the driver isn't working (while I know it isn't working, because the driver/feature isn't complete).

When a feature/driver is complete I merge all patches which belong to eachother and send them upstream to wireless-testing where they can be tested by a broader audience. Overall trivial patches are send to wireless-testing the same day as I merge them into rt2x00.git, other patches which I am not sure of if the provided change would be the final version which I want upstream can stay a few days in rt2x00.git, until I made up my mind about the exact change.

IvD

09-02-2009 10:35:32

What I forgot to mention, the part you quoted from the downloads page is about the usage of git and the requirement for pulling an entire kernel tree, while the legacy driver is provided through a hourly tar.gz snapshot and a cvs repository. The reason behind that decision was that it took too much of my time to create a tarball containing backwards compatibility patches to allow rt2x00/mac80211 on older kernels (similar to the package Intel provided for their drivers at that time). This rt2x00 backwards compatibility package was provided by me at first, but due to the high maintenance cost I stopped with, later other linux-wireless developers have made a similar package containing all drivers in wireless-testing (the compat-wireless package)