Clean-up and work towards supporting newer kernels

The module doesn't work for me with 3.5 kernels.

I've managed to get it to at least build, and thought that change would at least be useful to feed back.