I2C デバイス ドライバーが /sys/bus/i2c/drivers に表示されないのはなぜですか?

I2C デバイス ドライバーが /sys/bus/i2c/drivers に表示されないのはなぜですか?

ubuntu-18.04.2-preinstalled-server-arm64+raspi3.img.xzイメージから開始します(https://wiki.ubuntu.com/ARM/RaspberryPi) カーネルのビルド中に有効になっていなかった ad525x_dpot I2C ドライバーを追加しようとしています。

対応する Linux ソースから、、ad525x_dpot.cを取得してDKMS パッケージを作成しました。ad525x_dpot.had525x_dpot-i2c.c

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"

メイクファイル:

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。syslog にいくつかの警告があります。

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ため、デバイス ツリーやボード構成とは関係ありません)。

答え1

2 つの個別のカーネル モジュールを持つために、2 つの DKMS パッケージに分割ad525x_dpot.oする必要がありました。ad525x_dpot-i2c.o

関連情報