Merge linux 3.x kernel support into master branch