I am currently dealing with two devices connected to the I2C bus within an embedded system running Linux. I am using an exisiting driver for the first device, a camera. For the second device, I have successfully implemented a userspace program with which I can communicate with the second device. So far, both devices seem to coexist happily. However, almost all I2C devices have their own driver module. Thus, I am wondering what the advantages of a driver module are. I had a look at the following thread...
http://stackoverflow.com/questions/149032/when-should-i-write-a-linux-kernel-module
... but without conclusion.
Thus, what would be the advantage of writing a I2C driver module over a userspace implementation?
Regards, Stefan