Userspace or kernelspace driver once again

Tom Mitchell niftylinkern at niftyegg.com
Fri Apr 26 21:23:15 EDT 2024


You asked what it depends on.
On Sun, Apr 21, 2024 at 5:36 AM Patryk <pbiel7 at gmail.com> 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



More information about the Kernelnewbies mailing list