Next issue I've had references these two functions "kmap_atomic" and "kunmap_atomic" which apparently no longer accepts two arguments in kernel-3.6 + onward
for example
kmap_atomic(sg->page, KM_IRQ0)
kunmap_atomic(buf, KM_IRQ0)
edited to
kmap_atomic(sg->page)
kunmap_atomic(buf)
compiles and runs without error. best to allow the driver development team update and test, this works as a temporary measure at least.