[alsa-devel] What is correct way to put conditional stuff in ASoC codec driver?

Ashish Chavan ashish.chavan at kpitcummins.com
Thu Jun 30 14:46:30 CEST 2011

   I am working on updating ASoC codec driver for Dialog's DA7210 codec
(sound/soc/codec/da7210.c). This update would be a major functionality update in
nature. In fact we already have a feature complete driver for this codec but
there are two main issues with that driver,

(1) It was developed(and tested) for a quite old kernel version (2.6.28)
(2) It was written in custom(non standard) way and not suitable for direct 
submission to kernel

Our final goal is to pull in all missing features from this custom driver in to 
existing mainline driver. I have already created few patches for basic functions 
but I am bit confused at one point. Some of the features supported by this codec 
have inter dependency, e.g. ALC can be used only if NOISE SUPRESSION is disabled. 
So ideally, all controls related to ALC should be either disabled or not added at 
all, if NOISE SUPRESSION to be used. There are few other features having similar 
kind of dependency.

I just want to know what is the correct way to handle this in ASoC codec driver?
Looking at the existing codec drivers, it seems that having conditional defines 
is not common here. As We just want to support static configuration of such 
features, is it a good idea to add sub menu options in driver's Kconfig to 
enable/disable such features and use them within code?

Any pointer(s) to existing code are most welcome.


-- Ashish

|| Linux Is User Friendly, It's Just Selective About Who It's Friends Are ||

More information about the Alsa-devel mailing list