On 06/30/2014 05:51 AM, Ben Chan wrote:> > Hi Michalis, > > Thanks for your help. I'm happy to collaborate if you're interested > too. I'm not the author of the driver, so my knowledge is limited to > what I've read from the code and how we use it on Chrome OS.
So how do you use it on the Chrome OS? > But I do > have the hardware for testing certain portions (e.g. USB but not SDIO) > of the driver. And I can help review and test patches. > That's great, which particular hardware do you have? My online search for hardware available to buy was unsuccessful. > Excluding those false positives, most of the checkpatch warnings are > now fixed. The remaining tasks include adding help messages to Kconfig > and commenting the spinlock usage in the code. They are not done yet > as I have to read and understand the code first. > The locks defined in gdm_sdio.h are used to protect the lists that reside in the same structure from concurrent access. These lists contain objects that are used to communicate with the controller. I have not reviewed the USB code yet, but I expect it to be pretty similar. Except from the above, there is the issue I mentioned earlier about netlink. In particular, the driver defines a custom control interface based on ioctl and netlink. However their implementation has the following issues: - Uses on the SIOCDEVPRIVATE ioctl (obsolete). - Uses a custom netlink address (should be using netlink generic). - Uses a custom netlink event notification mechanism (should be using the one defined in net/wimax.h). - The implementation was only partially complete. Only a minor fraction of the FSM was implemented, and even that is actually broken. I put together a patch that removes the old interface and I am currently working on replacing it with the one defined in net/wimax.h. We'll probably need to do some testing on the actual hardware for this one, but I'll get back to you as soon as I have a better idea on the details. Michalis _______________________________________________ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel