Почему драйвер устройства I2C не отображается в / sys / bus / i2c / drivers?

Начиная с образа ubuntu-18.04.2-preinstalled-server-arm64 + raspi3.img.xz ( https://wiki.ubuntu.com/ARM/RaspberryPi ), я пытаюсь добавьте драйвер ad225x_dpot I2C, который не был включен во время сборки ядра.

Я взял ad525x_dpot.c, ad525x_dpot.h, ad525x_dpot-i2c.c из соответствующего источника linux для создания пакета DKMS.

dkms.conf:

PACKAGE_NAME="ad525x_dpot"
PACKAGE_VERSION="0.10"
MAKE[0]="make all KVERSION=$kernelver"
CLEAN="make clean"
BUILT_MODULE_NAME[0]="ad525x_dpot"
DEST_MODULE_LOCATION[0]="/kernel/drivers/misc"
AUTOINSTALL="yes"

Makefile:

obj-m := ad525x_dpot.o ad525x_dpot-i2c.o
KVERSION := $(shell uname -r)

all:
    $(MAKE) -C /lib/modules/$(KVERSION)/build M=$(PWD) modules

clean:
    $(MAKE) -C /lib/modules/$(KVERSION)/build M=$(PWD) clean

Модуль ad525x_dpot может быть загружен с помощью modprobe и показан в lsmod, но не в /sys/bus/i2c/drivers. В системном журнале есть несколько предупреждений.

ad525x_dpot: loading out-of-tree module taints kernel.
ad525x_dpot: module verification failed: signature and/or required key missing - tainting kernel

Почему это не отображается в /sys/bus/i2c/drivers?

Я пытался загрузить аналогичный модуль ядра ad799x, который поставляется с ядром. Оно появляется в /sys/bus/i2c/drivers/ad799x (ни одно из устройств не определено для использования ad799x, поэтому оно не связано с деревом устройств или конфигурацией платы).

0
задан 25 June 2019 в 15:18

1 ответ

Пришлось разделить ad525x_dpot.o и ad525x_dpot-i2c.o на два пакета DKMS, чтобы иметь два отдельных модуля ядра.

0
ответ дан 25 June 2019 в 15:18

Другие вопросы по тегам:

Похожие вопросы: