thesofproject / linux

Linux kernel source tree
Other
91 stars 131 forks source link

[BUG] Kernel fails to build when CONFIG_SND_HDA_GENERIC_LEDS not defined #2251

Closed maaarghk closed 4 years ago

maaarghk commented 4 years ago

Describe the bug The symbols snd_hda_gen_add_mute_led_cdev and snd_hda_gen_add_micmute_led_cdev are exported within an #ifdef block: start of block end

However, they are later used without checking the same config variable - example

End result is modpost states undefined symbols and compilation fails.

To Reproduce Attempt to build snd modules with a .config file where CONFIG_SND_HDA_GENERIC_LEDS is not defined

Reproduction Rate deterministic

Expected behavior Module is built without HDA Generic LEDs functionality

Environment 1) Branch name and commit hash of the 2 repositories: sof (firmware/topology) and linux (kernel driver).

kv2019i commented 4 years ago

@maaarghk How did you create the failing .config? I checked Takashi's patch "ALSA: hda: generic: Add a helper for mic-mute LED with LED classdev" and it specifically adds a "select SND_HDA_GENERIC_LEDS" for all HDMI codec drivers that use snd_hda_gen_add_micmute_led_cdev(). So it should not be possible to create a .config file where GENERIC_LEDS is disabled but e.g. SND_HDA_CODEC_CONEXANT is enabled.

maaarghk commented 4 years ago

Hi, use case was compiling a dkms module from this repo, which automatically uses current running kernel's config. Although I understand in this situation patches should perhaps be expected.

plbossart commented 4 years ago

closing since there's not much we can do without info.