Resolve "Split driver into OF and PCI modules"
It was necessary to split not only files within a module, but build both modules separately because of linker errors:
multiple definition of `init_module'
and multiple definition of `cleanup_module'
Closes #332 (closed)