title: When to best implement a I2C driver module in Linux
body: <p>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...</p>
  
  <p><a href="https://stackoverflow.com/questions/149032/when-should-i-write-a-linux-kernel-module">When should I write a Linux kernel module?</a></p>
  
  <p>... but without conclusion.</p>
  
  <p>Thus, what would be the advantage of writing a I2C driver module over a userspace implementation?</p>
  
  <p>Regards,
  Stefan</p>