Disabling a driver from kernel

I’m working on disabling a SGTL5000 audio codec driver from the kernel, I have given its entry as CONFIG_SND_SOC_SGTL5000=n , but after building the defconfig file, it is not reflected in .config , It still remains as CONFIG_SND_SOC_SGTL5000=y. When i do changes for other drivers it gets reflected, but whatever the change i do in defconfig regarding SGTL5000, it remains same as CONFIG_SND_SOC_SGTL5000=y in .config file. Could you please help me with this?

Hello!

The SGTL5000 codec is selected/enabled by default when config option for the Tegra soundcard is enabled. Can you try removing the SND_SOC_SGTL5000 option from this file?

Regards,
Jon

Btw, if you disabled this by manual edit of the .config file, the result might be different than if you use a menu-based editor. The Kconfig system understands dependencies, but a manual edit does not. I don’t know if this is the case, but perhaps what @jonathanh is mentioning is related to not using a Kconfig-aware editor. I prefer “make nconfig”, many people use “make menuconfig”. What method were you using to disable that config item?

Yes so if you use a menu based editor for configuring the kernel, which I agree is better than editing the defconfig file directly, you will have to disable the entire Tegra sound card in order to disable the SGTL5000 because the sound card is selecting the codec. That is why I was suggesting that the Kconfig file itself should be edited before editing the defconfig (via a menu editor or directly).

Now thinking more about this, we should probably not be selecting the SGTL5000 codec via the Tegra sound card Kconfig option, because not all users will use this codec.

Regards,
Jon

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.