-
Notifications
You must be signed in to change notification settings - Fork 72
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Kernel build fails on kernel 6.6.20+rpt-rpi-v7 (armv7l) (bookworm) #54
Comments
I fixed this by running ./uninstall.sh in the driver directory, installing the 6.6 kernel, then re-running ./install.sh. This may help for you. |
Doesn't work for me , you can install the latest kernel but it will fail again when you try build the wm8960 kernel module in 6.6.20. 6.1: 6.6: int snd_soc_of_get_dai_name(struct device_node *of_node, |
I made a quick and dirty fix so that the module could be compiled under 6.6.20+rpt-rpi-v7 diff --git a/wm8960-soundcard.c b/wm8960-soundcard.c diff --git a/wm8960.c b/wm8960.c -static int wm8960_i2c_probe(struct i2c_client *i2c, |
I can confirm this appears to work, although I am dubious about removing a parameter from a function. (The patch did not work for me, and I had to edit the code manually based on the patch.) |
DKMS make.log for wm8960-soundcard-1.0 for kernel 6.6.20+rpt-rpi-v7 (armv7l)
Sun Mar 17 09:03:42 AM CET 2024
make: Entering directory '/usr/src/linux-headers-6.6.20+rpt-rpi-v7'
CC [M] /var/lib/dkms/wm8960-soundcard/1.0/build/wm8960.o
CC [M] /var/lib/dkms/wm8960-soundcard/1.0/build/wm8960-soundcard.o
/var/lib/dkms/wm8960-soundcard/1.0/build/wm8960-soundcard.c: In function ‘asoc_simple_parse_dai’:
/var/lib/dkms/wm8960-soundcard/1.0/build/wm8960-soundcard.c:92:15: error: too few arguments to function ‘snd_soc_of_get_dai_name’
92 | ret = snd_soc_of_get_dai_name(node, &dlc->dai_name);
| ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/src/linux-headers-6.6.20+rpt-common-rpi/include/sound/simple_card.h:12,
from /var/lib/dkms/wm8960-soundcard/1.0/build/wm8960-soundcard.c:15:
/usr/src/linux-headers-6.6.20+rpt-common-rpi/include/sound/soc.h:1335:5: note: declared here
1335 | int snd_soc_of_get_dai_name(struct device_node of_node,
| ^~~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [/usr/src/linux-headers-6.6.20+rpt-common-rpi/scripts/Makefile.build:248: /var/lib/dkms/wm8960-soundcard/1.0/build/wm8960-soundcard.o] Erro
r 1
make[2]: *** Waiting for unfinished jobs....
/var/lib/dkms/wm8960-soundcard/1.0/build/wm8960.c:1527:21: error: initialization of ‘int ()(struct i2c_client *)’ from incompatible pointer type ‘int (
*)(struct i2c_client *, const struct i2c_device_id *)’ [-Werror=incompatible-pointer-types]
1527 | .probe = wm8960_i2c_probe,
| ^~~~~~~~~~~~~~~~
/var/lib/dkms/wm8960-soundcard/1.0/build/wm8960.c:1527:21: note: (near initialization for ‘wm8960_i2c_driver.probe’)
/var/lib/dkms/wm8960-soundcard/1.0/build/wm8960.c: In function ‘wm8960_hw_params’:
/var/lib/dkms/wm8960-soundcard/1.0/build/wm8960.c:882:20: warning: this statement may fall through [-Wimplicit-fallthrough=]
882 | if ((iface & 0x3) != 0) {
| ^
/var/lib/dkms/wm8960-soundcard/1.0/build/wm8960.c:887:9: note: here
887 | default:
| ^~~~~~~
cc1: some warnings being treated as errors
make[2]: *** [/usr/src/linux-headers-6.6.20+rpt-common-rpi/scripts/Makefile.build:248: /var/lib/dkms/wm8960-soundcard/1.0/build/wm8960.o] Error 1
make[1]: *** [/usr/src/linux-headers-6.6.20+rpt-common-rpi/Makefile:1938: /var/lib/dkms/wm8960-soundcard/1.0/build] Error 2
make: *** [/usr/src/linux-headers-6.6.20+rpt-common-rpi/Makefile:246: __sub-make] Error 2
make: Leaving directory '/usr/src/linux-headers-6.6.20+rpt-rpi-v7'
The text was updated successfully, but these errors were encountered: