Skip to content
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

build kernel 4.20 #2

Open
antonellocaroli opened this issue Feb 9, 2019 · 3 comments
Open

build kernel 4.20 #2

antonellocaroli opened this issue Feb 9, 2019 · 3 comments

Comments

@antonellocaroli
Copy link

the build fails with the 4.20 kernel, it has suggestions

@MichaIng
Copy link

@antonellocaroli
I guess some more info is required, e.g. the exact build output and error message.

Where did you actually get kernel v4.20 from? 🙂

Take care that the gcc version needs to match the one from cat /proc/version, perhaps that is different with your kernel version.

@antonellocaroli
Copy link
Author

@MichaIng

make -C /media/catalyst/Raspberry64/kernel/kernel-GentooplayerB-rcu/lib/modules/4.20.6-GentooplayerB-rcu-v8+/source SUBDIRS=/media/catalyst/Raspberry64/I-Sabre-K2M KBUILD_VERBOSE=0 modules make[1]: ingresso nella directory "/media/catalyst/Raspberry64/linux" CC [M] /media/catalyst/Raspberry64/I-Sabre-K2M/i-sabre-codec.o /media/catalyst/Raspberry64/I-Sabre-K2M/i-sabre-codec.c: In function ‘i_sabre_codec_dai_startup_slave’: /media/catalyst/Raspberry64/I-Sabre-K2M/i-sabre-codec.c:156:35: error: ‘struct snd_soc_dai’ has no member named ‘codec’ struct snd_soc_codec *codec = dai->codec; ^~ In file included from ./include/linux/i2c.h:30, from /media/catalyst/Raspberry64/I-Sabre-K2M/i-sabre-codec.c:21: /media/catalyst/Raspberry64/I-Sabre-K2M/i-sabre-codec.c:162:16: error: dereferencing pointer to incomplete type ‘struct snd_soc_codec’ dev_err(codec->dev, "Failed to setup rates constraints: %d\n", ret); ^~ ./include/linux/device.h:1453:11: note: in definition of macro ‘dev_err’ _dev_err(dev, dev_fmt(fmt), ##__VA_ARGS__) ^~~ /media/catalyst/Raspberry64/I-Sabre-K2M/i-sabre-codec.c: In function ‘i_sabre_codec_dai_startup’: /media/catalyst/Raspberry64/I-Sabre-K2M/i-sabre-codec.c:171:40: error: ‘struct snd_soc_dai’ has no member named ‘codec’ struct snd_soc_codec *codec = dai->codec; ^~ /media/catalyst/Raspberry64/I-Sabre-K2M/i-sabre-codec.c:173:8: error: implicit declaration of function ‘snd_soc_codec_get_drvdata’; did you mean ‘snd_soc_dai_get_drvdata’? [-Werror=implicit-function-declaration] = snd_soc_codec_get_drvdata(codec); ^~~~~~~~~~~~~~~~~~~~~~~~~ snd_soc_dai_get_drvdata /media/catalyst/Raspberry64/I-Sabre-K2M/i-sabre-codec.c:173:8: warning: initialization of ‘struct i_sabre_codec_priv *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion] /media/catalyst/Raspberry64/I-Sabre-K2M/i-sabre-codec.c: In function ‘i_sabre_codec_hw_params’: /media/catalyst/Raspberry64/I-Sabre-K2M/i-sabre-codec.c:188:40: error: ‘struct snd_soc_dai’ has no member named ‘codec’ struct snd_soc_codec *codec = dai->codec; ^~ /media/catalyst/Raspberry64/I-Sabre-K2M/i-sabre-codec.c:190:8: warning: initialization of ‘struct i_sabre_codec_priv *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion] = snd_soc_codec_get_drvdata(codec); ^~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ./include/linux/i2c.h:30, from /media/catalyst/Raspberry64/I-Sabre-K2M/i-sabre-codec.c:21: /media/catalyst/Raspberry64/I-Sabre-K2M/i-sabre-codec.c:194:15: error: dereferencing pointer to incomplete type ‘struct snd_soc_codec’ dev_dbg(codec->dev, "hw_params %u Hz, %u channels\n", ^~ ./include/linux/device.h:1471:26: note: in definition of macro ‘dev_dbg’ dev_printk(KERN_DEBUG, dev, dev_fmt(fmt), ##__VA_ARGS__); \ ^~~ /media/catalyst/Raspberry64/I-Sabre-K2M/i-sabre-codec.c:220:3: error: implicit declaration of function ‘snd_soc_update_bits’; did you mean ‘snd_ac97_update_bits’? [-Werror=implicit-function-declaration] snd_soc_update_bits(codec, ISABRECODEC_REG_10, 0x01, 0x00); ^~~~~~~~~~~~~~~~~~~ snd_ac97_update_bits /media/catalyst/Raspberry64/I-Sabre-K2M/i-sabre-codec.c: In function ‘i_sabre_codec_set_fmt’: /media/catalyst/Raspberry64/I-Sabre-K2M/i-sabre-codec.c:234:40: error: ‘struct snd_soc_dai’ has no member named ‘codec’ struct snd_soc_codec *codec = dai->codec; ^~ /media/catalyst/Raspberry64/I-Sabre-K2M/i-sabre-codec.c:236:8: warning: initialization of ‘struct i_sabre_codec_priv *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion] = snd_soc_codec_get_drvdata(codec); ^~~~~~~~~~~~~~~~~~~~~~~~~ /media/catalyst/Raspberry64/I-Sabre-K2M/i-sabre-codec.c: In function ‘i_sabre_codec_dac_mute’: /media/catalyst/Raspberry64/I-Sabre-K2M/i-sabre-codec.c:262:35: error: ‘struct snd_soc_dai’ has no member named ‘codec’ struct snd_soc_codec *codec = dai->codec; ^~ /media/catalyst/Raspberry64/I-Sabre-K2M/i-sabre-codec.c: At top level: /media/catalyst/Raspberry64/I-Sabre-K2M/i-sabre-codec.c:296:15: error: variable ‘i_sabre_codec_codec_driver’ has initializer but incomplete type static struct snd_soc_codec_driver i_sabre_codec_codec_driver = { ^~~~~~~~~~~~~~~~~~~~ /media/catalyst/Raspberry64/I-Sabre-K2M/i-sabre-codec.c:297:3: error: ‘struct snd_soc_codec_driver’ has no member named ‘component_driver’ .component_driver = { ^~~~~~~~~~~~~~~~ /media/catalyst/Raspberry64/I-Sabre-K2M/i-sabre-codec.c:297:22: error: extra brace group at end of initializer .component_driver = { ^ /media/catalyst/Raspberry64/I-Sabre-K2M/i-sabre-codec.c:297:22: note: (near initialization for ‘i_sabre_codec_codec_driver’) /media/catalyst/Raspberry64/I-Sabre-K2M/i-sabre-codec.c:297:22: warning: excess elements in struct initializer /media/catalyst/Raspberry64/I-Sabre-K2M/i-sabre-codec.c:297:22: note: (near initialization for ‘i_sabre_codec_codec_driver’) /media/catalyst/Raspberry64/I-Sabre-K2M/i-sabre-codec.c: In function ‘i_sabre_codec_probe’: /media/catalyst/Raspberry64/I-Sabre-K2M/i-sabre-codec.c:335:8: error: implicit declaration of function ‘snd_soc_register_codec’; did you mean ‘snd_soc_register_dai’? [-Werror=implicit-function-declaration] ret = snd_soc_register_codec(dev, ^~~~~~~~~~~~~~~~~~~~~~ snd_soc_register_dai /media/catalyst/Raspberry64/I-Sabre-K2M/i-sabre-codec.c: In function ‘i_sabre_codec_remove’: /media/catalyst/Raspberry64/I-Sabre-K2M/i-sabre-codec.c:347:2: error: implicit declaration of function ‘snd_soc_unregister_codec’; did you mean ‘snd_soc_unregister_card’? [-Werror=implicit-function-declaration] snd_soc_unregister_codec(dev); ^~~~~~~~~~~~~~~~~~~~~~~~ snd_soc_unregister_card /media/catalyst/Raspberry64/I-Sabre-K2M/i-sabre-codec.c: At top level: /media/catalyst/Raspberry64/I-Sabre-K2M/i-sabre-codec.c:296:36: error: storage size of ‘i_sabre_codec_codec_driver’ isn’t known static struct snd_soc_codec_driver i_sabre_codec_codec_driver = { ^~~~~~~~~~~~~~~~~~~~~~~~~~

https://github.com/raspberrypi/linux/tree/rpi-4.20.y

@MichaIng
Copy link

i-sabre-codec.c:156:35: error: ‘struct snd_soc_dai’ has no member named ‘codec’

Okay this will be helpful.

Only thing I can say is that, if there is no real reason for using Kernel 4.20, I wouldn't do it. It is not even used in the RPi firmware next branch (currently on 4.19): https://github.com/raspberrypi/firmware/tree/next
And the master and stable branches are on 4.14. So errors like this are not too unlikely, I guess.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants