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