I have a raspberry pi 3B+ board that used to have Kernel 4.19 in it, we used custom device overlays for external ADC/DAC/multiplexers. I installed Fedora IoT 33 (with kernel 5.10) in it. After making necessary changes in config.txt and added their custom device overlays. I got the board up and running. The older image (with kernel 4.19) creates three iio_devices in it by loading their respective drivers (which are the drivers for ADC/DAC). The Fedora IoT image creates only two iio_devices.
By inspecting the kernel drivers, I found that the third driver i.e. the driver for ti-dac082s085 is not included in the fedora IoT (since I didn’t find it in /lib/modules/kernel/drivers directory). I tried to compile the third driver on my Fedora workstation by taking the linux of the board from the vendor and then cross-compiled it with gcc linaro 7.5.0. The build process generated a ti-dac082s085 driver. But when I try to insert the driver in the board, I am getting the following error:
[ 153.497191] Unable to handle kernel paging request at virtual address 7e94df34
[ 153.497558] pgd = 690369f6
[ 153.497692] [7e94df34] *pgd=00000000
…
…
…
[ 67.994996] PC is at ftrace_cmp_ips+
I am not able to identify that from where the ftrace_cmp_ips function is called and why I am getting this error?
Is there any problem in the cross-compiling procedure which I followed?