Article 5A5Y5 "disagrees about version of symbol" after changing struct spi_device.

"disagrees about version of symbol" after changing struct spi_device.

by
sheld
from LinuxQuestions.org on (#5A5Y5)
Hi,

I am studying SPI device driver using my RPi4.
I added a member variable in struct spi_device in spi.h to see
if the variable I added in .dts (Device Tree) comes in spi.c as intended:
***********************************************
struct spi_device {
struct device dev;
struct spi_controller *controller;
struct spi_controller *master;
u32 max_speed_hz;
u32 debug_sheld; // ---------> for testing

...
}
***********************************************

Then I compiled the kernel to see what happens in spi.c and spidev.c like this,
rebooted my RPi4, and tried to load spidev.ko module.
But, this error happens:
***********************************************

pi@raspberrypi:~/git_repository/Kernel/linux-5.4.59/drivers/spi $ sudo insmod spidev.ko
insmod: ERROR: could not insert module spidev.ko: Invalid parameters

***********************************************

I checked kernel log using dmesg :
***********************************************
[ 81.717199] spidev: disagrees about version of symbol spi_sync
[ 81.717211] spidev: Unknown symbol spi_sync (err -22)
[ 81.717248] spidev: disagrees about version of symbol spi_setup
[ 81.717257] spidev: Unknown symbol spi_setup (err -22)
[ 81.717278] spidev: disagrees about version of symbol __spi_register_driver
[ 81.717287] spidev: Unknown symbol __spi_register_driver (err -22)
[ 81.717311] spidev: disagrees about version of symbol spi_slave_abort
[ 81.717320] spidev: Unknown symbol spi_slave_abort (err -22)
[ 310.352225] spidev: disagrees about version of symbol spi_sync
[ 310.352237] spidev: Unknown symbol spi_sync (err -22)
[ 310.352274] spidev: disagrees about version of symbol spi_setup
[ 310.352283] spidev: Unknown symbol spi_setup (err -22)
[ 310.352305] spidev: disagrees about version of symbol __spi_register_driver
[ 310.352314] spidev: Unknown symbol __spi_register_driver (err -22)
[ 310.352338] spidev: disagrees about version of symbol spi_slave_abort
[ 310.352347] spidev: Unknown symbol spi_slave_abort (err -22)
[ 649.449228] spidev: disagrees about version of symbol spi_sync
[ 649.449244] spidev: Unknown symbol spi_sync (err -22)
[ 649.449291] spidev: disagrees about version of symbol spi_setup
[ 649.449303] spidev: Unknown symbol spi_setup (err -22)
[ 649.449332] spidev: disagrees about version of symbol __spi_register_driver
[ 649.449343] spidev: Unknown symbol __spi_register_driver (err -22)
[ 649.449375] spidev: disagrees about version of symbol spi_slave_abort
[ 649.449386] spidev: Unknown symbol spi_slave_abort (err -22)

***********************************************

There hasn't been any problem when I change something in spi.c or spidev.c,
but I don't know why it happens with a modification to struct spi_device.

Can somebody help me to solve this, please?

Thanks.latest?d=yIl2AUoC8zA latest?i=8UsstLbbcTQ:z86MmogQ7JY:F7zBnMy latest?i=8UsstLbbcTQ:z86MmogQ7JY:V_sGLiP latest?d=qj6IDK7rITs latest?i=8UsstLbbcTQ:z86MmogQ7JY:gIN9vFw8UsstLbbcTQ
External Content
Source RSS or Atom Feed
Feed Location https://feeds.feedburner.com/linuxquestions/latest
Feed Title LinuxQuestions.org
Feed Link https://www.linuxquestions.org/questions/
Reply 0 comments