I have a camera driver consisting of one source file and two headers. It relies on V4L2.
I am attempting to compile this driver on the Raspberry Pi 4B and add it to my existing Raspberry Pi OS installation. I am running the latest Lite version of Raspberry Pi OS found here. Linux kernel version 5.10.63-v8+.
I have already compiled the .dtbo and added it to /boot/overlays.
Makefile:
obj-m += ar1335_mcu.o
KDIR = /lib/modules/$(shell uname -r)/build
all:
make -C $(KDIR) M=$(shell pwd) modules
clean:
make -C $(KDIR) M=$(shell pwd) clean
I run make
and the corresponding ar1335_mcu.ko
is created.
I then run sudo insmod ar1335_mcu.ko
and it errors with:
insmod: ERROR: could not insert module ar1335_mcu.ko: Unknown symbol in module
Running dmesg | tail
shows:
[13375.259670] ar1335_mcu: Unknown symbol v4l2_fwnode_endpoint_parse (err -2)
So it is not finding the v4l2 function v4l2_fwnode_endpoint_parse
. How do I fix this? I have already done sudo apt install libv4l-dev
. Is there a missing step in my process to compile the driver module?