Friday, September 04, 2009

Linux Driver Migration

I have spent more than 1 week to migrate the wireless network driver from Linux version 2.6.15 to 2.6.28. It’s not an easy job. As usual, there are modifications required for the driver to work with newer Linux version. First of all, you need to compile the source code and ensure there is no complaint generated from the compilation process. I have encounter that the cross-compiler toolchain created with different GCC compiler may behave differently and generate different warnings and errors. Base on my observation, the higher the Linux version, the less tolerant the operating system to the driver’s coding errors.

Some of my conclusions from the migration:
- The core of Linux network devices driver has made significant modifications. Check it at ./net/core directory.
- The older compiler will be more stable compared to the newer compiler at least less warnings will be generated.

No comments: