From 478f1187c2f5e41e231284c8f3d27bdbacf59e18 Mon Sep 17 00:00:00 2001 From: sys64738 Date: Fri, 30 Jul 2021 17:57:30 +0000 Subject: [PATCH] Update 'Linux kernel modules' --- Linux-kernel-modules.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Linux-kernel-modules.md b/Linux-kernel-modules.md index 4e4013d..5b44272 100644 --- a/Linux-kernel-modules.md +++ b/Linux-kernel-modules.md @@ -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.