What is Linux Staging Tree
Linux Staging Tree (Staging) is a directory placed under drivers/staging that is used to hold stand-alone drivers and filesystems that are not ready to be merged into main portion of kernel for various technical reasons.
My first task was to see if there are drivers in staging directory that need to be deleted or if there is little work to be done so they can be moved to the main part of kernel.
I used git history to see if someone was working on those drivers and making “real” change or just simple fixes like coccinelle, sparse, smatch or checkpatch fixes. So I first sorted drivers into 3 groups based on work flow on these drivers:
- Actively worked on with “real” changes
- Actively worked on with style cleanups
- Not actively worked on
Then I looked up TODO lists (list of things that need to be done in order to move driver out of staging) of drivers and sorted them by how much is done in TODO :
- TODO not completed
- TODO almost completed or completed
- No TODO
From those two sorted lists I concluded which drivers might be deleted or need a little work to be moved out of staging:
- rtl8192e – since there was no support for this driver in the main part of kernel, it will remain in staging.
- ste_rmi4 – same as rtl8192e.
- gs_fpgaboot – I ask maintainers and cc-ed staging list on mail but I got no response, so I don’t know if that means no one works on that driver and it can be deleted.
Move out of staging:
- panel – I ask on mailing list what needs to be done and sent patches for the driver based on suggestions by other developers. Now it’s ready to be moved out of staging
- wlan-ng – I was told by maintainers that a lot of things needs to be done, so it will remain in staging.
- skein – There are still checkpatch warnings and I think one TODO task (add/pass test vectors
),but most of the work is already done.