Update 'Linux kernel modules'

Triss 2021-07-30 17:57:30 +00:00
parent 83d3c3c71c
commit 478f1187c2
1 changed files with 8 additions and 0 deletions

@ -1,5 +1,13 @@
### Available modules
Currently, 5 modules exist:
* `dmj`: This module is responsible for binding to the [USB vendor interface](USB-config-%26-command-protocol), handling the low-level command transfer protocol, exposing this functionality to the other modules, and auto-loading the other modules when their functionality is available on the device. Not to be used directly.
* `dmj-char` implements a character device driver (`/dev/dmj-*`), exposing the USB vendor interface (in use by the kernel) to userspace. Mainly for use with [`dmctl`](dmctl), not to be used directly.
* `spi-dmj` exposes a SPI controller to the kernel. If the `spidev` module has been loaded (load it using `modprobe`), a `/dev/spidevA.B` device should be available to access the device's SPI bus.
* `i2c-dmj` exposes an I2C controller to the kernel. If the `i2c-dev` module has been loaded (load it using `modprobe`), a `/dev/i2c-BUSNUM` device should be available to access the device's I2C bus.
* `dmj-hwmon` implements the temperature sensor functionality as a Linux hardware monitoring device. Its readout should be available in the output of the `sensors` command, from the `lm_sensors` package.
### Compiling and loading the modules
The source code of the modules can be found in the `host/modules/` folder in the source tree. A `Makefile` is made available to compile these for the Linux kernel you are currently running. Linux 5.4 and up have been tested to work.