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 드라이버를 추가하려고 합니다.

DKMS 패키지를 만들기 위해 해당 Linux 소스에서 ad525x_dpot.c, ad525x_dpot.h을 가져왔습니다 .ad525x_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

두 개의 별도 커널 모듈을 갖기 위해 두 개의 DKMS 패키지로 ad525x_dpot.o분할 해야 했습니다 .ad525x_dpot-i2c.o

관련 정보