Hi, 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.
Thanks,
-- Ashish
---------------------------------------------------------------------------- || Linux Is User Friendly, It's Just Selective About Who It's Friends Are || ----------------------------------------------------------------------------