You asked what it depends on. On Sun, Apr 21, 2024 at 5:36 AM Patryk <pbiel7@xxxxxxxxx> wrote: > > Suppose that you want to use a driver that controls fans ,let's say > max31785. You have two options to chose: > - kernel space driver that is already available in mainline linux > - userspace driver that comes from Hardware Abstraction Layer library > that also has an implementation, the library is a primary hardware > access library used by all our projects > > What would you choose? And why? And if "it depends..." then depends on > what actually? In this case the timing of the I2C/SMBUS lines and the hardware you interface wiht; to and from. It is "rare" to have hardware specific to I2C/SMBUS in the same way that a UART or USB device controller of a PC does the details of "bit banging" against strict timing requirements that cannot be interrupted for the most part. It gets interesting if the device is also bidirectional and can have concurrent send and receive lines. What host do you want to work on? The resources of the host sets the stage. This may cover a lot of what you need to know. https://www.cast-inc.com/sites/default/files/pdfs/2023-06/cast_i2c-smbus-amd.pdf _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies