But the device is accessed like a file...
Not exactly. It is opened and closed like a file but from there on it is mmaped and prodded with IOCTLs, neither of which are file accesses.
I don't think you can handle IOCTLs or mmaps from a user mode daemon. I think these have to be done from kernel mode. (I'm happy to be corrected, I'm a kernel driver guy and don't get out to user mode much.)
I think a hack to the existing driver is the 'easiest' approach here. Unless Hugo tells us what he has up his sleeve...
Cheers,
Rex.